U.S. patent application number 13/219443 was filed with the patent office on 2013-02-28 for recommendation component for assisted electronic information processing.
This patent application is currently assigned to CBS INTERACTIVE INC.. The applicant listed for this patent is Louis Edward Miller. Invention is credited to Louis Edward Miller.
Application Number | 20130053147 13/219443 |
Document ID | / |
Family ID | 47744496 |
Filed Date | 2013-02-28 |
United States Patent
Application |
20130053147 |
Kind Code |
A1 |
Miller; Louis Edward |
February 28, 2013 |
RECOMMENDATION COMPONENT FOR ASSISTED ELECTRONIC INFORMATION
PROCESSING
Abstract
Methods for a computer implemented game are described that
provide assistance to game participants in making various game
related decisions easily and quickly. A computer-implemented system
may comprise a multimedia content module to provide multimedia
content--within a game, a game server application comprising a
player ranking module that ranks players based on and a
recommendation module to provide recommendations to participants
based on the ranking module to assist users with game play. Other
embodiments are described and claimed.
Inventors: |
Miller; Louis Edward;
(Little Egg Harbor Twp, NJ) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Miller; Louis Edward |
Little Egg Harbor Twp |
NJ |
US |
|
|
Assignee: |
CBS INTERACTIVE INC.
San Francisco
CA
|
Family ID: |
47744496 |
Appl. No.: |
13/219443 |
Filed: |
August 26, 2011 |
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
G07F 17/326
20130101 |
Class at
Publication: |
463/42 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A computer-implemented system comprising: a multimedia content
module operative to provide multimedia content related to one or
more players within a game; a game server application operative to
provide player recommendations to one or more users utilizing the
multimedia content received from the multimedia content module, the
game server comprising: a player ranking module operative to rank
one or more players based on certain of the multimedia content and
output a player ranking by corresponding player position; a player
comparison module operative to receive the player ranking by
position and compare the ranked players to a roster of players
associated with the one or more users by corresponding position; a
recommendation module operative to receive the comparison of the
ranked players to the roster of players by corresponding position
and recommending to the one or more users the ranked player when
said ranked player is ranked higher than the corresponding player
on the users roster at the corresponding position; and an action
items module operative to: determine the status of a ranked player,
the status being one of a bench player the roster of a user, a
player on the roster of another user, and a free agent not
currently on any user's roster; and replace the roster player of
the one or more users with the ranked player at the corresponding
position.
2. (canceled)
3. The computer implemented system of claim 1 further comprising a
multimedia content interface operative to receive the certain of
the multimedia information from the multimedia content and
information module and associate said multimedia information with
the corresponding player to be ranked.
4. The computer implemented system of claim 1 further comprising a
multimedia content interface operative to receive the certain of
the multimedia information from the multimedia content and
information module and associate said multimedia information with a
corresponding player on the roster of the one or more users at the
corresponding position.
5. The computer implemented system of claim 1 further comprising a
manage settings application operative to receive recommended ranked
player and display said recommended ranked player for acceptance or
rejection by the one or more users.
6. The computer implemented system of claim 1 further comprising a
manage settings application operative to allow the one or more
users to display said recommended ranked player by position.
7. A computer-implemented method comprising: providing multimedia
content related to one or more players within a game; ranking the
one or more players based on certain of the multimedia content;
outputting a ranking of each player by corresponding position;
comparing each ranked player to a roster of players associated with
the one or more users by corresponding position; determining the
status of a ranked player, the status being one of a bench player
on the roster of a user, a player on the roster of another user,
and a free agent not currently on any user's roster; recommending
to the one or more users the ranked player when said ranked player
is ranked higher than the corresponding player on the roster of the
one or more users at the corresponding position; and replacing the
roster player of the one or more users with the ranked player at
the corresponding position when the ranked player is ranked higher
than the corresponding player on the roster of the one or more
users at the corresponding position.
8. (canceled)
9. The computer-implemented method of claim 7 further comprising
receiving the certain of the multimedia information from the
multimedia content and information module and associating said
multimedia information with a corresponding player to be
ranked.
10. The computer-implemented method of claim 7 further comprising
receiving the certain of the multimedia information from the
multimedia content and information module and associating said
multimedia information with a player on the roster of the one or
more users at the corresponding position.
11. The computer-implemented method of claim 7 further comprising
receiving the recommended ranked player and displaying said
recommended ranked player for acceptance or rejection by the one or
more users.
12. The computer implemented method of claim 7 further comprising
displaying to the one or more users said recommended ranked player
by position.
13. The computer-implemented method of claim 7 wherein if the
ranked player is a bench player ranked higher than the
corresponding player on the roster of the one or more users at the
corresponding position, then the method further comprising
replacing the player on the roster of the first user with the
ranked player at the corresponding position.
14. The computer-implemented game method of claim 7 wherein the one
or more ranked player are at least three ranked players by
corresponding position, the method further comprising: determining
if any of the three ranked players has a higher ranking than the
corresponding player on the roster of a first of the one or more
users; and if the ranked player is on the roster of another user
then proposing a trade to the other user on which the first of the
three ranked players is identified as being part of the associated
roster.
15. An article of manufacture comprising a non-transitory
computer-readable storage medium containing instructions that when
executed enable a system to: provide multimedia content related to
one or more players within a game; rank the one or more players
based on certain of the multimedia content; output a ranking of
each player by corresponding position; compare each ranked player
to a roster of players associated with the one or more users by
corresponding position; determine the status of a ranked player,
the status being one of a bench player on the roster of a user, a
player on the roster of another user, and a free agent not
currently on any user's roster; and recommend to the one or more
users the ranked player when said ranked player is ranked higher
than the corresponding player on the roster of the one or more
users at the corresponding position.
16. The article of claim 15 wherein the game corresponds to a
fantasy sports game and the one or more players corresponds to
players in a real-life sporting event.
17. The article of claim 15, further comprising instructions that
when executed enable the system to replace the roster player of the
one or more users with the ranked player at the corresponding
position when the ranked player is ranked higher than the
corresponding player on the roster of the one or more users at the
corresponding position.
18. The article of claim 15, further comprising instructions that
when executed enable the system to receive the certain of the
multimedia information from the multimedia content and information
module and associate said multimedia information with a
corresponding player to be ranked.
19. The article of claim 15, further comprising instructions that
when executed enable the system to receive the recommended ranked
player and display said recommended ranked player for acceptance or
rejection by the one or more users.
20. The article of claim 15, further comprising instructions that
when executed enable the system to automatically update the roster
of the one or more users with the ranked player at the
corresponding position.
21. The computer implemented system of claim 1, the recommendation
module further operative to propose a trade for a ranked player on
the roster of another user.
22. The article of claim 15, further comprising instructions that
when executed enable the system to propose a trade for a ranked
player on the roster of another user.
Description
BACKGROUND
[0001] Electronic applications are well known and becoming
increasingly popular. In particular, certain types of electronic
applications include game experiences which mimic or track
real-life activities such as sports, hobbies, etc. These games are
provided by computer applications hosted by local servers and/or by
servers in the World Wide Web, that allow users to participate
on-line among a group of participants interested in the same type
of real-life activity.
[0002] Generally, electronic applications and in particular fantasy
sports games simulate real-life games where participants select
active players in various positions to form fantasy teams. A
fantasy sports league consists of a plurality of these fantasy
sports teams and consequently a number of these participants. Each
fantasy team in the fantasy league usually competes against all the
other teams in the fantasy league (head to head style) in scheduled
matchups or accumulates statistics in chosen categories throughout
the season (rotisserie style or ranked style). Success of a
particular fantasy team in the fantasy league is determined by the
cumulative number of points obtained by each of the fantasy players
corresponding to the performance of the real-life players during
the real-life athletic competitions. The fantasy team with the best
won-lost record compiled during a fantasy season by the
participant's fantasy team determines the winner.
[0003] Typically, real-life players from various teams within the
given sport are drafted to create a roster for a particular fantasy
team. Real-life players from different teams comprise a fantasy
sports team. This drafting process may be performed via a bidding
draft and/or a rotation draft. In a bidding draft, for example,
each fantasy sport participant is initially provided with a
specific "bankroll" of bidding units which may be used to bid
against other participants in an attempt to obtain a specific
real-life player to fill a position on a fantasy team roster. In a
rotation draft, the participants within a fantasy league determine
an order of selection, and proceed through a number of rounds to
fill out the roster of a particular number of players for each
fantasy team. Once a player has been drafted by a participant to
fill a roster of a fantasy team, that player is no longer available
to other participants within the league. Therefore, each
participant must reprioritize the available real-life players
throughout the draft process.
[0004] As in professional sports, the fantasy sports league
participants may trade players during the season for any one of a
number of reasons. These trades are made between participants for
fantasy players on other teams and/or from real-life players not
selected in the initial draft by the participants within the
fantasy sports league. A fantasy sports league typically
corresponds to the length of the representative real-life sport
with the potential exception of using a certain number of the final
regular season games of the real life sports season as the playoffs
and subsequent championship for the fantasy sports league.
[0005] During the course of a fantasy sports season, management of
a participant's roster is one of the keys to presenting a
competitive team within the league as well as providing an
opportunity to win games. However, during a gaming season a number
of situations may occur that impact the ability of the fantasy team
and associated roster of players to perform in the league. For
example, injuries to real-life players may impact the ability of
game participants to utilize players on their rosters. In addition,
the volume of statistics and information available for real-life
player performance is voluminous and difficult for game
participants to sort through. For example, statistics are available
for how a particular real-life player performs against particular
components, how they perform on artificial surfaces versus grass,
how they perform in bad weather versus good weather, etc. In
addition, third party "expert" information for both real-life teams
and players as well as fantasy sports leagues is also available to
game participants. Thus, a game participant may be overwhelmed with
the various statistics and information available to determine
roster choices for a given game. Currently, there is no mechanism
for such participants to process all or a portion of the
information available to a game participant or to provide
assistance to a game participant with roster management decisions
thereby providing an enhanced gaming experience and increased
competition among league participants. It is with respect to these
and other considerations that the present improvements have been
needed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] FIG. 1 illustrates a block diagram of a system in accordance
with an embodiment of the present disclosure.
[0007] FIG. 2 illustrates assistant general manager information and
interfaces with the user and processing module in accordance with
an embodiment of the present disclosure.
[0008] FIG. 3 illustrates an embodiment of the interface between
the multimedia content and information and the multimedia content
interface module of the assistant general manager module in
accordance with an embodiment of the present disclosure.
[0009] FIG. 4 illustrates an embodiment of the assistant general
manager recommendation module in accordance with an embodiment of
the present disclosure.
[0010] FIG. 5 illustrates an embodiment of the action items module
of the assistant general manager module in accordance with an
embodiment of the present disclosure.
[0011] FIG. 6 illustrates an embodiment of the manage settings
application associated with the assistant general manager module in
accordance with an embodiment of the present disclosure.
[0012] FIG. 7 illustrates an exemplary embodiment of a logic flow
for the assistant general manager module in accordance with an
embodiment of the present disclosure.
[0013] FIGS. 8A and 8B illustrate an exemplary embodiment of a
logic flow for the assistant general manager module in accordance
with an embodiment of the present disclosure.
[0014] FIG. 9 illustrates an embodiment of a computing
architecture.
[0015] FIG. 10 illustrates an embodiment of an exemplary
communications architecture.
DETAILED DESCRIPTION
[0016] Various embodiments are generally directed to gaming systems
and methods of playing that provide assistance to game participants
in making various roster decisions easily and quickly. This assists
game participants with difficult decisions with the goal of keeping
participants engaged in game play and maintaining competitiveness
of the game as a whole as well as the game experience for all
participants. Generally and for exemplary purposes, game play may
include various games including, but not limited to, table games,
fantasy sports games, interactive television games as well as other
simulation games. For example, fantasy sports games may be
associated with real-life sports, professional and/or amateur (e.g.
college football), having multiple games in an individual season.
The operation and function of a fantasy sports league is generally
known and typically comprises at least two fantasy teams formed of
fantasy players selected or drafted to comprise a fantasy team
roster. Each of the fantasy players represent a real-life athlete
that participates in a professional or amateur real-life sport. The
real-life statistics of each player on each fantasy team are
compiled after each real-life game. The statistics correlate to a
particular number of fantasy points as mentioned above.
[0017] Embodiments are directed to systems and methods of gaming
that provide assistance to users/participants in making various
roster decisions easily and quickly. For instance, embodiments may
comprise a multimedia content module operative to provide
multimedia content related to one or more players within a game and
a game server application operative to provide player
recommendations to one or more users utilizing the multimedia
content received from the multimedia content module. A player
ranking module may also be included which ranks one or more players
based on certain of the multimedia content and outputs a player
ranking by corresponding player position. A player comparison
module receives the player ranking by position and compares the
ranked players to a roster of players associated with the one or
more users by corresponding position. A recommendation module
receives the comparison of the ranked players to the roster of
players by corresponding position and recommends to the one or more
users the ranked player when the ranked player is ranked higher
than the corresponding player on the roster of a user at the
corresponding position.
[0018] Although the present disclosure describes gaming mechanics
that are focused on embodiments that relate to sports, these same
gaming mechanics can be used in any sort of game and gaming
mechanics where a platform utilizes data from a real time gaming
situation with the same rules, functions and mechanics described
herein, to simulate a new game based upon the same rules and
mechanics with the same data and/or different data that is being
supplied in a different way for a different purpose depending on
the type of game. For example, the gaming mechanics may comprise
any electronic game that involves interaction with a user interface
to generate multimedia feedback on an electronic platform, such as
a computing device, video game console, handheld computer, arcade
machine, and so forth. The games may include any genre based on
many factors such as game play, types of goals, art style and more,
and may include without limitation graphic adventures,
point-and-click adventures, text adventures, sports, first-person
adventures, first-person shooters, comic adventures, anime
adventures, reality interactive television based games and so
forth. It may be appreciated that any number of different games and
gaming mechanics may be implemented for a given game that provides
assistance to the user/participant to facilitate game play.
However, the embodiments are not limited in this context.
[0019] FIG. 1 illustrates a block diagram of a system 10 comprising
a plurality of users/participants 15.sub.1 . . . 15.sub.N, a
network communication system 20 that allows each of the plurality
of user/participants 15 . . . 15.sub.N to communicate with system
server(s) 30. As mentioned above, the system 10 may be configured
to support any one of a plurality of game types utilizing an
assistant General Manager ("GM") module to provide gaming
recommendations to a user/participant. However, for the purposes of
illustration, the system 10 will be described as a fantasy sports
system and each of the user/participants 15.sub.1 . . . 15.sub.N
may access the system server(s) 30 utilizing participant devices
having the exemplary computer architecture as described with
reference to FIG. 9. The network communication system 20 may be
broadly interpreted as a network of any type or an interconnection
of a plurality of networks providing bi-directional communication
between each of the users/participants and the system server(s) 30
as described with reference to FIG. 10.
[0020] As would be appreciated by those of ordinary skill in the
art, system server(s) 30 provides a platform for access to game
information and facilitates game play by each of the plurality of
user/participants 15.sub.1 . . . 15.sub.N. For example, system
server(s) 30 may store multimedia information of various players in
multimedia content and information module 40 for one or more
fantasy teams in one or more fantasy leagues including, for
example, fantasy player statistics, text data, images, audio,
video, etc. Again, the player is used herein in the context of
sports games, but may also include participants/contestants in any
type of gaming context. This information is managed by the system
server(s) 30 and accessed by users/participants in order to
facilitate game play using processing module 60. As used herein,
"statistics" includes any identifiable, measurable, monitored or
recorded action by a real-life player in the player's real-life
sport. Each real-life sport includes commonly used statistics which
translate into points associated with the fantasy sports league.
Statistics are calculated, input, or provided by one or more
databases either manually or preferably automatically and/or
electronically, i.e., by computer or similar processing devices and
stored in multimedia content and information module 40.
Electronically includes, but is not limited to computer, Internet,
or other suitable electronic processing. Automatic updating can
occur at set time intervals which may depend on the type of sport
(e.g. football may be updated once per week), customized when a
league is organized or upon request by a game user/participant. In
addition, the statistics may be provided independently by a
separate system or integrated with system 10. In further
variations, the statistics are received in real-time and/or the
player updates are generated automatically or upon request.
[0021] Included as part of the system server(s) 30 is a processing
module 60 and an assistant general manager ("GM") module 50.
Processing module 60 facilitates game play for the
users/participants 15.sub.1 . . . 15.sub.N. In various embodiments,
logic for the game processing module 50 and system 10 may be
programmed in accordance with various programming languages,
application platforms and application frameworks, including JAVA
made by Oracle Corporation, COLDFUSION made by Adobe Systems
Incorporated, .NET made by Microsoft.RTM. Corporation, WebORB for
.NET, Hypertext Preprocessor (PHP), Ruby, Python, Perl, Lisp,
Dylan, Pike, Cluster (CLU), Smalltalk, Eiffel, Ruby on Rails (RoR),
C, C++, C#, and so forth. The logic may also comprise part of a
RIA, such as a front-end of a SOA for deployment on a web browser
of a client computing device using various client side
technologies, such as an Adobe Flash platform programmed in an
object-oriented programming language such as ACTIONSCRIPT.TM. and
ADOBE.RTM. FLEX, made by Adobe Systems Incorporated. It may be
appreciated that these programming languages are provided by way of
example and not limitation. Logic for processing module 60 and
associated system 10 may be implemented using any suitable
programming language.
[0022] Assistant general manager ("GM") module 50 accesses player
information from multimedia content and information module 40 based
on requests from game users/participants 1.sub.51 . . . 1.sub.5N in
order to allow each participant to generate and modify a
participant's game profile comprised of a player roster as well as
providing the ability to manage a participant's roster for a given
competition. In particular, the assistant GM module 50 provides a
participant access to information about one or more players. For
example, once a participant accesses the assistant GM module,
information such as the contestant or player's name, upcoming
opponent, game time and day as well as access to the assistant GM
recommendation module 80 (see FIG. 2) is provided. Changes in team
line-ups may occur during a season, such as by replacement of
players for non-performance, injury, or other reasons, including
trade of roster players among game users/participants.
Additionally, players may be reserved, benched, activated or
started, as specific league rules permit.
[0023] The assistant GM module 50, multimedia content and
information module 40 as well as other components and data are
communicatively coupled via various types of communications media.
System server 30 manages operations and communication between
assistant GM module 50, multimedia content and information module
40 and processing module 60. The coordination may involve the
uni-directional or bi-directional exchange of information. For
instance, the processing module 60 may control the system server(s)
30 to manage communication in the form of signals communicated over
communications media between each of the components and/or
functions therein as well as with the user/participants 15.sub.1 .
. . 15.sub.N via network communication system 20.
[0024] A new and unique operational aspect of game system 10 in
accordance with the present disclosure as provided by the game
system server(s) 30 is directed to utilization of the assistant GM
module 50 to provide assistance to users/participants with team
management decisions from a myriad of player information easily to
facilitate game play. This is accomplished by the assistant GM
module 50 communicating with multimedia content and Information
module 40 and processing module 60 to provide user participants
15.sub.1 . . . 15.sub.N with player and roster recommendations.
[0025] FIG. 2 illustrates assistant GM module 50 and the
communication interface with each of processing module 60 and one
of a plurality of users/participants 15.sub.N. Assistant GM module
50 includes multimedia content interface 70, recommendation module
80, action module 90 and a manage settings application 100. As
mentioned above, assistant GM module 50 is configured to process
received information about players associated with a particular
game and determine which players should be recommended to a
user/participant 15N to improve the user/participant roster of
players. In particular, within the system server(s) 30, the
assistant GM module 50 identifies certain information such as, for
example, player name, upcoming opponent information, game time and
day and stores this information in multimedia content and
information module 40 which may be accessed by multimedia content
interface 70. This multimedia content and information may be
accessed by the assistant GM recommendation module 80 to provide
recommendations to a user/participant (e.g. participant 15.sub.N)
in making lineup decisions easily and quickly. A user/participant
may consider these recommendations and may or may act upon them.
Action module 90 allows the user/participant 15.sub.N with the
opportunity to act upon the recommendation provided by the
recommendation module 80 with processing module 60 via interface
55. The recommendation from recommendation module 80 may be
communicated to the user/participant 15.sub.N via an input device
again through interface 55. An input device (e.g., game controller,
keyboard, joystick, mouse, trackball, touchpad, touchscreen,
microphone, headphones, etc.) may accept control directives from
the user/participant 15.sub.N to receive and communicate
information and/or commands to processing module 60 and/or
assistant GM module 50. The processing module 60 and/or assistant
GM module 50 may be programmed to output multimedia feedback (e.g.,
audio, visual, audio/visual, tactile, olfactory, etc.) in response
to such user/participant commands using one or more output devices
(e.g., a display) to the user/participant 15.sub.N. The manage
settings application 100 of assistant GM module 50 allows each
user/participant 15.sub.N to manage various recommendations
provided by recommendation module 80. For example and as explained
in more detail below with reference to FIG. 6, a user/participant
15.sub.N may decide, in the case of a sports fantasy game, to only
view free agent suggestions provided by recommendation module 80.
In addition, a user/participant 15.sub.N may decide to allow
assistant GM module 50 to alert the user/participant of certain
deadlines (e.g. lineup submission) and/or trade offers from other
users/participants.
[0026] FIG. 3 is a block diagram illustrating the content and
interaction of multimedia content and information module 40 from
system server(s) 30 and the multimedia content interface module of
assistant GM module 50. As briefly mentioned above, multimedia
content and information module 40 includes or has access to player
information including past performance statistics, video, web sites
and/or web page addresses. The information stored or accessible by
multimedia content and information module 40 is relevant to the
particular game running on system servers 30. For example, if the
game running on system server 30 and played by users/participants
15.sub.1 . . . 15.sub.N is a fantasy sports game, various
statistics about how real-life or fantasy players perform against
certain opponents, in certain weather conditions, etc., could be
helpful for a user/participant during game play. In addition,
multimedia content and information module 40 may have access to or
temporarily store video of relevant real-life players. In the case
of fantasy sports gaming, the term "relevant player(s)" refers to
those real-life players that play positions which provide points
for a user/participant's fantasy team. For example, when the game
is a fantasy football game, real-life players such as quarterbacks,
running backs, wide receivers, etc., may produce fantasy points
based on their performance in the real-life game. However, players
such as offensive lineman, defensive lineman, etc., do not usually
have the capability to score fantasy game points. Thus, in this
situation multimedia content and information module 40 would store
and/or have access to information about relevant players; i.e.
those players capable of scoring points for a fantasy game roster
as opposed to those players that cannot score points for a fantasy
game roster.
[0027] Multimedia content and information module 40 accesses system
server 30 where the various statistics, video, web site and/or web
page addresses are stored. In particular, multimedia content
interface 40 may generate a query to a database within system
server 30 to obtain such multimedia content and/or information
associated with a particular player (e.g. player N). The database
that receives the query may be a relational database responsive to
Structured Query Language ("SQL") commands. The server may execute
a hypertext preprocessor ("PHP") script including SQL commands to
query the database for such player related information or execute a
retrieve command for information stored on an external web page,
website or combination of multiple web pages and/or websites.
Assistant GM module 50 and more particularly multimedia content
interface receives this information from multimedia content and
information module 40 and utilizes this information mainly in
recommendation module 80 to determine which, if any, of the players
1 . . . N may be compared to players on a user/participant roster
and the subject of a trade, free agent acquisition, etc. under
action module 90.
[0028] FIG. 4 illustrates the assistant GM recommendation module
which includes player ranking module 405, and player comparison
module 410. Generally, assistant GM module 80 compares player
ranking information with the players in a participant's roster to
provide the participant with fantasy player recommendations. In
particular, information about the performance of particular players
supplied by multimedia content interface 70 is input to player
ranking module 405. The particular players and the type of
information supplied by multimedia content interface 70 may be
customized by a user/participant based on the multimedia content
information module 40. The fantasy players at a particular position
are ranked by player ranking module 405 based on the received
information from multimedia content interface 70. Fantasy player
ranking module 405 may include a plurality of ranking sub-modules
405.sub.1 . . . 405.sub.N used to rank players based on various
parameters. For example, sub-module 405.sub.1 may be used to rank
all players at a particular position. Sub-module 405.sub.2 may be
used to rank only the top N number of players at a position
different from the position ranked by sub-module 405.sub.1 and so
on with respect to sub-module 405.sub.N. In this manner, the player
ranking module 405 is used to rank different players at different
positions based on game and/or participant preferences.
[0029] The ranking information is provided to player comparison
module 410 which compares the player rankings with a player roster
associated with a particular user/participant 15.sub.1 . . .
15.sub.N. These ranked players are compared to the corresponding
player at the same position on a participant's roster by player
comparison module 410. If a player is compared to a participant's
roster player at the same position and is ranked higher than the
participant's player at module 410, then the identity of the ranked
player is recommended at 406 and displayed to user/participant
15.sub.N via graphical user interface 411. The number `N` of ranked
players compared to each position of a participant's roster is
customizable and may be, for example, three or four players. Thus,
a participant has a choice of N players provided at 406 to choose
from to replace the corresponding player on the participant's
roster. This replacement may be by starting a bench player or
trading for another player as explained in more detail below. In
this manner, the assistant GM recommendation module 410 determines
if a player is of a caliber and quality to deserve a roster spot on
a participant's team.
[0030] Player comparison module 410 determines the inadequacies of
a current roster player by identifying predetermined weaknesses
including, but not limited to, injury, bye week, underperformance
based on year to date statistics which may be supplied by
multimedia content interface 70, and upcoming projections based on
performance to date against a particular opponent. In addition,
multimedia content interface 70 may also supply information to
player comparison module 410 regarding the percentages of teams
within the current fantasy league as well as other leagues that
have dropped, traded or otherwise removed a user/participant's
roster player from their respective rosters. Each of the above
considerations may be supplied to the user/participant 15.sub.N via
graphical user interface 411 in a particular order of importance.
The order of importance may be based on rules within a particular
league, or based on individual user/participant preferences.
[0031] Assistant GM recommendation module 80 would typically
provide the recommended player(s) information at 406 to a
participant who would then initiate roster replacement by anyone of
three ways: lineup changes which modifies an active player to a
reserve player; free agent acquisition based on league rules,
and/or potential trade opportunities for players on other teams.
All of the above actions are intended to provide the
user/participant with opportunities to upgrade the
user/participant's roster for the next scheduled competition
quickly and easily. With respect to potential trade opportunities,
player comparison module 410 includes rules, based on a particular
league, for trade deadlines and associated timing prior to upcoming
competitions. With respect to free agent acquisitions, player
comparison module 410 includes rules, based on a particular league,
for free agent acquisitions where no recommendation is made that
contradicts these rules. Rule variations regarding free agent
acquisition include but are not limited to the ability to add
players immediately, require a minimum time to elapse and/or
process requests at scheduled times to allow other participants the
opportunity to request the same free agent. Competing requests to
be resolved via bidding process or a rotating order.
[0032] FIG. 5 is a block diagram illustrating action items module
90 of assistant GM module 50. A function of this module, as
previously mentioned, is to carry out the replacement of a player
on a user/participant's current roster as recommended by assistant
GM recommendation module 50. In particular, submodule 90.sub.1 of
action items module 90 executes the lineup change as suggested by
assistant GM recommendation module 80 upon confirmation by
user/participant 15.sub.N. Submodule 90.sub.2 of actions items
module 90 executes a comparison of the player on the
user/participant's roster with the free agent recommendation from
assistant GM recommendation module 80. Upon user/participant
acknowledgement via a display device, submodule 90.sub.3 sends the
user/participant 15.sub.N to a new page or tab within system 10
(which may be, for example, a web page) that identifies the
recommended free agent players for adding or dropping to/from the
user/participant's roster based on the free agent recommendations
from assistant GM recommendation module 80. Another function of
action items module 90 is to execute based on user/participant
acknowledgment, a trade of a current roster player based on the
recommendation from assistant GM module 50. In particular,
submodule 90.sub.4 executes a compare of a player on the
user/participant's 15.sub.N roster to players recommended for a
trade from assistant GM module 50. Submodule 90.sub.5 provides
notification to the team the player recommended to trade for by
assistant GM module 50 that a trade opportunity is available for
the current user/participant player. Once the user/participant 15N
takes action based on the recommendation, assistant GM module 50
updates the rosters of the users/participants based on the
trade.
[0033] FIG. 6 is a block diagram of the manage settings application
100 of assistant GM module 50 which allows users/participants
15.sub.1 . . . 15.sub.N to customize their settings for a
particular game. In particular, the options submodule 110 allows a
user/participant to display or not display lineup suggestions, free
agent suggestions and/or trade suggestions from assistant GM
recommendation module 80. Submodule 120 allows users/participants
15.sub.1 . . . 15.sub.N to customize the particular pages (i.e. web
page interface) displayed within the assistant GM module 50. In
particular, the location submodule 120 provides a user/participant
to select which or all of the lineup page, sortable statistics page
and/or offer trade page to display.
[0034] Operations for the above-described game system embodiments
may be further described with reference to one or more logic flows.
It may be appreciated that the representative logic flows do not
necessarily have to be executed in the order presented, or in any
particular order, unless otherwise indicated. Moreover, various
activities described with respect to the logic flows can be
executed in serial or parallel fashion. The logic flows may be
implemented using one or more hardware elements and/or software
elements of the described embodiments or alternative elements as
desired for a given set of design and performance constraints. For
example, the logic flows may be implemented as logic (e.g.,
computer program instructions) for execution by a logic device
(e.g., a general-purpose or specific-purpose computer).
[0035] FIG. 7 illustrates an embodiment of a logic flow 500. The
logic flow 500 is representative of a general overview of some of
the operations executed by one or more embodiments of the game
system 10 and more particularly of assistant GM module 50. In the
illustrated embodiment shown in FIG. 7, the logic flow 500 provides
assistant GM module 50 with player relevant information from
multimedia content and information module 40 at step 505. This
information may be supplied for each player and by information type
depending on user/participant preferences. Assistant GM module 50
recommends changes to a user/participant's 15.sub.1 . . . 15.sub.N
lineup at block 510 as described in more detail with reference to
FIG. 8. These recommendations may or may not be executed on by the
participant. At block 520, assistant GM module 50 updates the
lineup of a user/participant with the recommended players depending
on whether or not the ranked players are ranked higher than
existing players on the user/participant's lineup and based on
whether or not the participant wants to make the recommended
line-up changes. The logic flow 500 continues to block 525 which
supplies the updated lineup for the user/participant to processing
module 60 to easily and quickly update the active roster of a
user/participant 15.sub.N.
[0036] FIGS. 8A and 8B illustrate a logic flow 800 which is an
exploded view of block 510 shown in FIG. 7. The ranking of inactive
participant lineup players at each position is compared to the
ranked players at step 810. After this comparison, a determination
is made at step 820 if the ranked players are ranked higher than
players on the user/participant's lineup at the corresponding
position. If the ranked players are not ranked higher than a player
on the user/participant's lineup, then the process proceeds to step
825 and no player is recommended to the user/participant's lineup.
If the ranked players are ranked higher than a player on the
current user/participant's lineup, then the process proceeds to
step 830 where a determination is made whether or not the ranked
player at the particular position is a bench player on the
user/participant's roster. If the ranked player is a bench player
on the user/participant's roster, then a recommendation is made to
the participant to activate the bench player at step 835 and the
process proceeds to step 865 where the inactive participant's
lineup is updated by action items module 90.
[0037] If the ranked player is not a bench player on the
user/participant current roster, then the process proceeds to step
840 of FIG. 8B where a determination is made if the ranked player,
at that position, is on an another user/participant's team. If this
condition is not satisfied, then the process proceeds to step 845
and the ranked player must be a free agent. A free agent
acquisition is recommended for the ranked player to the
user/participant and the process proceeds to step 865 where the
inactive participant lineup is updated at the preference of the
participant. If, at step 840, it is determined that the ranked
player is on another participant's team, a trade offer is
recommended to the participant for the ranked player at step 855.
At step 860, if the participant decides to execute the recommended
trade, a determination is made if the trade offer was accepted by
the other user/participant that has the ranked player on its
roster. If the trade offer was accepted and any/all other trade
approvals have been met (e.g. trades approved by commissioner,
voted on by other participants, etc.), the process proceeds to step
865 and the inactive participant lineup is updated with the ranked
player at that position. If the trade offer was not accepted by the
user/participant, the process proceeds to step 870 where the next
ranked player at that particular position is identified and the
process returns to step 820. It should be noted that each of these
steps in the process may be customized to provide player
recommendations for lineup changes, drafts, trades, etc., based on
league or game play rule preferences. In addition, the number and
details of each ranked player provided by assistant GM module 50
may be dependent on game play rules.
[0038] FIG. 9 illustrates an embodiment of an exemplary computing
architecture 900 suitable for implementing various embodiments of
the game system and methods as previously described. In particular,
the computing architecture 900 may be used by a game participant
15.sub.1 . . . 15.sub.N and/or the system server (s) and/or a
portion thereof. The computing architecture 900 includes various
common computing elements, such as one or more processors,
co-processors, memory units, chipsets, controllers, peripherals,
interfaces, oscillators, timing devices, video cards, audio cards,
multimedia input/output (I/O) components, and so forth. The
embodiments, however, are not limited to implementation by the
computing architecture 1200.
[0039] As shown in FIG. 9, the computing architecture 900 comprises
a processing unit 904, a system memory 906 and a system bus 908.
The processing unit 904 can be any of various commercially
available processors. Dual microprocessors and other
multi-processor architectures may also be employed as the
processing unit 904. The system bus 908 provides an interface for
system components including, but not limited to, the system memory
906 to the processing unit 904. The system bus 908 can be any of
several types of bus structure that may further interconnect to a
memory bus (with or without a memory controller), a peripheral bus,
and a local bus using any of a variety of commercially available
bus architectures.
[0040] The system memory 906 may include various types of memory
units to store information in system 10 and may be, for example,
read-only memory (ROM), random-access memory (RAM), dynamic RAM
(DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM),
static RAM (SRAM), programmable ROM (PROM), erasable programmable
ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash
memory, polymer memory such as ferroelectric polymer memory, ovonic
memory, phase change or ferroelectric memory,
silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or
optical cards, or any other type of media suitable for storing
information. In the illustrated embodiment shown in FIG. 9, the
system memory 906 can include non-volatile memory 910 and/or
volatile memory 912. A basic input/output system (BIOS) can be
stored in the non-volatile memory 910.
[0041] The computer 902 may include various types of
computer-readable storage media, including an internal hard disk
drive (HDD) 914, a magnetic floppy disk drive (FDD) 916 to read
from or write to a removable magnetic disk 918, and an optical disk
drive 920 to read from or write to a removable optical disk 922
(e.g., a CD-ROM or DVD). The HDD 914, FDD 916 and optical disk
drive 920 can be connected to the system bus 908 by a HDD interface
924, an FDD interface 926 and an optical drive interface 928,
respectively. The HDD interface 924 for external drive
implementations can include at least one or both of Universal
Serial Bus (USB) and IEEE 1394 interface technologies.
[0042] The drives and associated computer-readable media provide
volatile and/or nonvolatile storage of data, data structures,
computer-executable instructions, and so forth. For example, a
number of program modules can be stored in the drives and memory
units 910, 912, including an operating system 930, one or more
application programs 932, other program modules 934, and program
data 936 applicable to system 10. The one or more application
programs 932, other program modules 934, and program data 936 can
include, for example, the system 10, the systems used by
user/participants 15.sub.1 . . . 15.sub.N, and/or the game system
server(s) 30.
[0043] A user/participant 15.sub.1 . . . 15.sub.N can enter
commands and information into the computer 902 through one or more
wire/wireless input devices, for example, a keyboard 938 and a
pointing device, such as a mouse 940. Other input devices may
include a microphone, an infra-red (IR) remote control, a joystick,
a game pad, a stylus pen, touch screen, or the like. These and
other input devices are often connected to the processing unit 904
through an input device interface 942 that is coupled to the system
bus 908, but can be connected by other interfaces such as a
parallel port, IEEE 1394 serial port, a game port, a USB port, an
IR interface, and so forth.
[0044] A monitor 944 or other type of display device is also
connected to the system bus 908 via an interface, such as a video
adaptor 946 and can be used to display player recommendation
information R.sub.1 . . . R.sub.N to the one or more
user/participants 15.sub.1 . . . 15.sub.N. In addition to the
monitor 944, a computer typically includes other peripheral output
devices, such as speakers, printers, and so forth.
[0045] The computer 902 may operate in a networked environment
using logical connections via wire and/or wireless communications
to one or more remote computers, such as a remote computer 948. The
remote computer 948 can be a workstation, a server computer, a
router, a personal computer, portable computer,
microprocessor-based entertainment appliance, a peer device or
other common network node, and typically includes many or all of
the elements described relative to the computer 902, although, for
purposes of brevity, only a memory/storage device 950 is
illustrated. The logical connections depicted include wire/wireless
connectivity to a local area network (LAN) 952 and/or larger
networks, for example, a wide area network (WAN) 954. Such LAN and
WAN networking environments are commonplace in offices and
companies, and facilitate enterprise-wide computer networks, such
as intranets, all of which may connect to a global communications
network, for example, the Internet.
[0046] When used in a LAN networking environment, the computer 902
is connected to the LAN 952 through a wire and/or wireless
communication network interface or adaptor 956. The adaptor 956 can
facilitate wire and/or wireless communications to the LAN 952,
which may also include a wireless access point disposed thereon for
communicating with the wireless functionality of the adaptor
956.
[0047] When used in a WAN networking environment, the computer 502
can include a modem 958, or is connected to a communications server
on the WAN 954, or has other means for establishing communications
over the WAN 954, such as by way of the Internet. The modem 958,
which can be internal or external and a wire and/or wireless
device, connects to the system bus 908 via the input device
interface 942. In a networked environment, program modules depicted
relative to the computer 902, or portions thereof, can be stored in
the remote memory/storage device 950. It will be appreciated that
the network connections shown are exemplary and other means of
establishing a communications link between the computers can be
used.
[0048] The computer 902 is operable to communicate with wire and
wireless devices or entities using the IEEE 802 family of
standards, such as wireless devices operatively disposed in
wireless communication (e.g., IEEE 802.11 over-the-air modulation
techniques) with, for example, a printer, scanner, desktop and/or
portable computer, personal digital assistant (PDA), communications
satellite, any piece of equipment or location associated with a
wirelessly detectable tag (e.g., a kiosk, news stand, restroom),
and telephone. This includes at least Wi-Fi (or Wireless Fidelity),
WiMax, and Bluetooth.TM. wireless technologies. Thus, the
communication can be a predefined structure as with a conventional
network or simply an ad hoc communication between at least two
devices. Wi-Fi networks use radio technologies called IEEE 802.11x
(a, b, g, etc.) to provide secure, reliable, fast wireless
connectivity. A Wi-Fi network can be used to connect computers to
each other, to the Internet, and to wire networks (which use IEEE
802.3-related media and functions).
[0049] FIG. 10 illustrates a block diagram of an exemplary
communications architecture 1000 suitable for implementing various
embodiments of system 10 and associated methods as previously
described. The communications architecture 1000 includes various
common communications elements, such as a transmitter, receiver,
transceiver, radio, network interface, baseband processor, antenna,
amplifiers, filters, and so forth. The embodiments, however, are
not limited to implementation by the communications architecture
1000.
[0050] As shown in FIG. 10, the communications architecture 1000
comprises one or more clients 1302 and servers 1004. The clients
1002 may implement the systems used by the users/participants
15.sub.1 . . . 15.sub.N. The servers 1004 may implement the system
server(s) 30. The clients 1002 and the servers 1004 are operatively
connected to one or more respective client data stores 1008 and
server data stores 1010 that can be employed to store information
local to the respective clients 1002 and servers 1004, such as
cookies and/or associated contextual information.
[0051] The clients 1002 and the servers 1004 may communicate
information between each other using a communication framework
1006. The communications framework 1306 may implement any
well-known communications techniques, such as techniques suitable
for use with packet-switched networks (e.g., public networks such
as the Internet, private networks such as an enterprise intranet,
and so forth), circuit-switched networks (e.g., the public switched
telephone network), or a combination of packet-switched networks
and circuit-switched networks (with suitable gateways and
translators). The clients 1002 and the servers 1004 may include
various types of standard communication elements designed to be
interoperable with the communications framework 1006, such as one
or more communications interfaces, network interfaces, network
interface cards (NIC), radios, wireless transmitters/receivers
(transceivers), wired and/or wireless communication media, physical
connectors, and so forth. By way of example, and not limitation,
communication media includes wired communications media and
wireless communications media. Examples of wired communications
media may include a wire, cable, metal leads, printed circuit
boards (PCB), backplanes, switch fabrics, semiconductor material,
twisted-pair wire, co-axial cable, fiber optics, a propagated
signal, and so forth. Examples of wireless communications media may
include acoustic, radio-frequency (RF) spectrum, infrared and other
wireless media. One possible communication between a client 1002
and a server 1004 can be in the form of a data packet adapted to be
transmitted between two or more computer processes. The data packet
may include a cookie and/or associated contextual information, for
example.
[0052] Various embodiments may be implemented using hardware
elements, software elements, or a combination of both. Examples of
hardware elements may include devices, components, processors,
microprocessors, circuits, circuit elements (e.g., transistors,
resistors, capacitors, inductors, and so forth), integrated
circuits, application specific integrated circuits (ASIC),
programmable logic devices (PLD), digital signal processors (DSP),
field programmable gate array (FPGA), memory units, logic gates,
registers, semiconductor device, chips, microchips, chip sets, and
so forth. Examples of software elements may include software
components, programs, applications, computer programs, application
programs, system programs, machine programs, operating system
software, middleware, firmware, software modules, routines,
subroutines, functions, methods, procedures, software interfaces,
application program interfaces (API), instruction sets, computing
code, computer code, code segments, computer code segments, words,
values, symbols, or any combination thereof. Determining whether an
embodiment is implemented using hardware elements and/or software
elements may vary in accordance with any number of factors, such as
desired computational rate, power levels, heat tolerances,
processing cycle budget, input data rates, output data rates,
memory resources, data bus speeds and other design or performance
constraints, as desired for a given implementation.
[0053] Some embodiments of the system 10 and associated methods may
comprise an article of manufacture. An article of manufacture may
comprise a storage medium to store logic. Examples of a storage
medium may include one or more types of non-transitory
computer-readable storage media capable of storing electronic data,
including volatile memory or non-volatile memory, removable or
non-removable memory, erasable or non-erasable memory, writeable or
re-writeable memory, and so forth. Examples of the logic may
include various software elements, such as software components,
programs, applications, computer programs, application programs,
system programs, machine programs, operating system software,
middleware, firmware, software modules, routines, subroutines,
functions, methods, procedures, software interfaces, application
program interfaces (API), instruction sets, computing code,
computer code, code segments, computer code segments, words,
values, symbols, or any combination thereof. In one embodiment, for
example, an article of manufacture may store executable computer
program instructions that, when executed by a computer, cause the
computer to perform methods and/or operations in accordance with
the described embodiments. The executable computer program
instructions may include any suitable type of code, such as source
code, compiled code, interpreted code, executable code, static
code, dynamic code, and the like. The executable computer program
instructions may be implemented according to a predefined computer
language, manner or syntax, for instructing a computer to perform a
certain function. The instructions may be implemented using any
suitable high-level, low-level, object-oriented, visual, compiled
and/or interpreted programming language.
[0054] Some embodiments may be described using the expression "one
embodiment" or "an embodiment" along with their derivatives. These
terms mean that a particular feature, structure, or characteristic
described in connection with the embodiment is included in at least
one embodiment. The appearances of the phrase "in one embodiment"
in various places in the specification are not necessarily all
referring to the same embodiment.
[0055] Some embodiments may be described using the expression
"coupled" and "connected" along with their derivatives. These terms
are not necessarily intended as synonyms for each other. For
example, some embodiments may be described using the terms
"connected" and/or "coupled" to indicate that two or more elements
are in direct physical or electrical contact with each other. The
term "coupled," however, may also mean that two or more elements
are not in direct contact with each other, but yet still co-operate
or interact with each other.
[0056] It is emphasized that the Abstract of the Disclosure is
provided to comply with 37 C.F.R. Section 1.72(b), requiring an
abstract that will allow the reader to quickly ascertain the nature
of the technical disclosure. It is submitted with the understanding
that it will not be used to interpret or limit the scope or meaning
of the claims. In addition, in the foregoing Detailed Description,
it can be seen that various features are grouped together in a
single embodiment for the purpose of streamlining the disclosure.
This method of disclosure is not to be interpreted as reflecting an
intention that the claimed embodiments require more features than
are expressly recited in each claim. Rather, as the following
claims reflect, inventive subject matter lies in less than all
features of a single disclosed embodiment. Thus the following
claims are hereby incorporated into the Detailed Description, with
each claim standing on its own as a separate embodiment. In the
appended claims, the terms "including" and "in which" are used as
the plain-English equivalents of the respective terms "comprising"
and "wherein," respectively. Moreover, the terms "first," "second,"
"third," and so forth, are used merely as labels, and are not
intended to impose numerical requirements on their objects.
[0057] Although the subject matter has been described in language
specific to structural features and/or methodological acts, it is
to be understood that the subject matter defined in the appended
claims is not necessarily limited to the specific features or acts
described above. Rather, the specific features and acts described
above are disclosed as example forms of implementing the
claims.
* * * * *