U.S. patent application number 13/321043 was filed with the patent office on 2012-09-27 for multiple contest scoring with flexible prediction.
Invention is credited to Michael S. Ehrlich.
Application Number | 20120244947 13/321043 |
Document ID | / |
Family ID | 43126430 |
Filed Date | 2012-09-27 |
United States Patent
Application |
20120244947 |
Kind Code |
A1 |
Ehrlich; Michael S. |
September 27, 2012 |
MULTIPLE CONTEST SCORING WITH FLEXIBLE PREDICTION
Abstract
Embodiments of the invention relate to hosting a competition on
a computing device, wherein the competition allows participants to
select a first set of predicted winners for a predetermined series
of matches in a tournament and a second set of predictions for
winners if one or more of the first set of predicted winners are
eliminated earlier than predicted. The competition may be
implemented in any suitable computing system environment,
including, but not limited to, a web-based competition hosted on a
remote server, a private or company-based competition hosted on a
private or company computer.
Inventors: |
Ehrlich; Michael S.;
(Andover, MA) |
Family ID: |
43126430 |
Appl. No.: |
13/321043 |
Filed: |
May 18, 2010 |
PCT Filed: |
May 18, 2010 |
PCT NO: |
PCT/US10/01480 |
371 Date: |
June 12, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61216449 |
May 18, 2009 |
|
|
|
Current U.S.
Class: |
463/42 ;
463/43 |
Current CPC
Class: |
G06Q 50/34 20130101;
G06Q 10/04 20130101 |
Class at
Publication: |
463/42 ;
463/43 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A computer-implemented method of hosting a competition on at
least one computer that permits an outcome prediction to be made
for a winner between two teams that were not initially picked to be
playing in a match of a tournament, the method comprising
retrieving information from a database that stores team selection
instructions for a participant in a competition, wherein the team
selection instructions for the participant provide i) an initial
outcome prediction for one or more matches of a tournament, and ii)
a relative ranking of teams that were not initially picked to be
playing in the one or more matches; and, computing, on the at least
one computer, an adjusted prediction for a match between two teams
that were not initially picked to be playing against each
other.
2. The method of claim 1, wherein the team selection instructions
are based on a default ranking.
3. The method of claim 2, wherein the participant modifies the
default ranking.
4. The method of claim 1, wherein one of the two teams playing
against each other was not initially picked.
5. The method of claim 1, wherein both teams playing against each
other were not initially picked.
6. At least one non-transitory computer-readable medium encoded
with instructions that, when executed on at least one computer,
perform a method of hosting a competition on at least one computer
that permits an outcome prediction to be made for a winner between
two teams that were not initially picked to be playing in a match
of a tournament, the method comprising retrieving information from
a database that stores team selection instructions for a
participant in a competition, wherein the team selection
instructions for the participant provide i) an initial outcome
prediction for one or more matches of a tournament, and ii) a
relative ranking of teams that were not initially picked to be
playing in the one or more matches; and, computing, on the at least
one computer, an adjusted prediction for a match between two teams
that were not initially picked to be playing against each
other.
7. At least one computer comprising: to at least one tangible
memory for storing processor-executable instructions for hosting a
competition on the at least one computer to permit an outcome
prediction to be made for a winner between two teams that were not
initially picked to be playing in a match of a tournament; and, at
least one hardware microprocessor, coupled to the memory, that
executes the processor-executable instructions to retrieve
information from a database that stores team selection instructions
for a participant in a competition, wherein the team selection
instructions for the participant provide i) an initial outcome
prediction for one or more matches of a tournament, and ii) a
relative ranking of teams that were not initially picked to be
playing in the one or more matches, and to compute an adjusted
prediction for a match between two teams that were not initially
picked to be playing against each other.
8. A method implemented on at least one computer of participating
in a competition hosted on at least one server, wherein the
competition permits an outcome prediction to be made for a winner
between two teams that were not initially picked to be playing in a
match of a tournament, the method comprising prompting, at the at
least one computer, a participant to provide team selection
instructions for a competition; receiving team selection
instructions from the participant; and, sending the team selection
instructions to the at least one server.
9. A computer-implemented method, comprising: entering participant
instructions into a database, wherein the instructions specify
predictions for each possible game in a tournament before the start
of the tournament, and after a game is completed, computing an
adjusted prediction for each game based on the participant
instructions and the game result(s).
10. A computer-implemented method, comprising: entering participant
instructions into a database, wherein the instructions specify
predictions for each possible game in a tournament, and after a
game completed, computing allocated points to the participant
wherein the points are based on both the game result(s) and the
participant instructions.
11. A computer-implemented method, comprising: entering participant
instructions into a database, wherein the instructions specify
predictions for each possible game in a tournament or wherein the
instructions specify relative team rankings for all possible
pair-wise games in a tournament, thereby providing a predicted
bracket for each participant, computing, on at least one computer,
points for each participant based on game outcomes, wherein if a
game includes at least one non-predicted team, the points for the
game are computed by accessing the participant instructions that
specify the relative rankings of the two teams in the game.
Description
RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C. 119(e)
of U.S. provisional patent application Ser. No. 61/216,449,
entitled MULTIPLE CONTEST SCORING WITH FLEXIBLE PREDICTION, filed
on May 18, 2009, which is hereby incorporated by reference herein
in its entirety.
FIELD OF INVENTION
[0002] Embodiments of the invention relate to computer-implemented
competitions.
BACKGROUND OF INVENTION
[0003] Workplace competitions where employees try to predict the
outcome of multi-contest sporting events (sports tournaments) are a
common form of entertainment and contribute to camaraderie and an
enjoyable workplace environment. In order to minimize the loss of
productivity suffered by the company due to employee time spent
participating in such competitions it is common practice to run the
competition in such a way that employees can submit an entry (list
of predictions) before the start of the tournament and then either
spend time monitoring the outcome or not spend time monitoring the
outcome if their work schedule does not permit them to do so. In
either case, no additional action is required of the employee once
his or her entry has been submitted. Because the employee (player
participant) must predict the winner of contests/matches whose
teams have not yet been chosen at the time of prediction it is
common for many of those predictions to be proven false even before
the contest is played. For example, in a "March Madness" (NCAA
Men's Basketball National Championship tournament) competition, if
the team that a player predicts to be the tournament champion is
eliminated in an early round then that player likely has at that
early time little or no chance to win the office competition
because many of his or her future predictions are already proven to
be false.
SUMMARY OF INVENTION
[0004] One embodiment of the invention is directed to a
computer-implemented method of hosting a competition on at least
one computer that permits an outcome prediction to be made for a
winner between two teams that were not initially picked to be
playing in a match of a tournament, the method comprising
retrieving information from a database that stores team selection
instructions for a participant in a competition, wherein the team
selection instructions for the participant provide i) an initial
outcome prediction for one or more matches of a tournament, and ii)
a relative ranking of teams that were not initially picked to be
playing in the one or more matches; and, computing, on the at least
one computer, an adjusted prediction for a match between two teams
that were not initially picked to be playing against each
other.
[0005] In some embodiments, the team selection instructions are
based on a default ranking. In some embodiments, the participant
modifies the default ranking. In some embodiments, one of the two
teams playing against each other was not initially picked. In some
embodiments, both teams playing against each other were not
initially picked.
[0006] Another embodiment of the invention is directed to at least
one non-transitory computer-readable medium encoded with
instructions that, when executed on at least one computer, perform
a method of hosting a competition on at least one computer that
permits an outcome prediction to be made for a winner between two
teams that were not initially picked to be playing in a match of a
tournament, the method comprising retrieving information from a
database that stores team selection instructions for a participant
in a competition, wherein the team selection instructions for the
participant provide i) an initial outcome prediction for one or
more matches of a tournament, and ii) a relative ranking of teams
that were not initially picked to be playing in the one or more
matches; and, computing, on the at least one computer, an adjusted
prediction for a match between two teams that were not initially
picked to be playing against each other.
[0007] Another embodiment of the invention is directed to at least
one computer comprising: at least one tangible memory for storing
processor-executable instructions for hosting a competition on the
at least one computer to permit an outcome prediction to be made
for a winner between two teams that were not initially picked to be
playing in a match of a tournament; and, at least one hardware
microprocessor, coupled to the memory, that executes the
processor-executable instructions to retrieve information from a
database that stores team selection instructions for a participant
in a competition, wherein the team selection instructions for the
participant provide i) an initial outcome prediction for one or
more matches of a tournament, and ii) a relative ranking of teams
that were not initially picked to be playing in the one or more
matches, and to compute an adjusted prediction for a match between
two teams that were not initially picked to be playing against each
other.
[0008] Another embodiment of the invention is directed to a method
implemented on at least one computer of participating in a
competition hosted on at least one server, wherein the competition
permits an outcome prediction to be made for a winner between two
teams that were not initially picked to be playing in a match of a
tournament, the method comprising prompting, at the at least one
computer, a participant to provide team selection instructions for
a competition; receiving team selection instructions from the
participant; and, sending the team selection instructions to the at
least one server.
[0009] Another embodiment of the invention is directed to a
computer-implemented method, comprising: entering participant
instructions into a database, wherein the instructions specify
predictions for each possible game in a tournament (before the
start of the tournament), and after a game is completed, computing
an adjusted prediction for each game based on the participant
instructions and the game result(s).
[0010] Another embodiment of the invention is directed to a
computer-implemented method, comprising: entering participant
instructions into a database, wherein the instructions specify
predictions for each possible game in a tournament, and after a
game completed, computing allocated points to the participant
wherein the points are based on both the game result(s) and the
participant instructions.
[0011] Another embodiment of the invention is directed to a
computer-implemented method, comprising: entering participant
instructions into a database, (wherein the instructions specify
predictions for each possible game in a tournament) (or wherein the
instructions specify relative team rankings for all possible
pair-wise games in a tournament), thereby providing a predicted
bracket for each participant, computing, on at least one computer,
points for each participant based on game outcomes, wherein if a
game includes at least one non-predicted team, the points for the
game are computed by accessing the participant instructions that
specify the relative rankings of the two teams in the game.
[0012] It should be appreciated that embodiments described herein
for a single participant may be used for a plurality of
participants in a single competition and thereby may be used to
provide scores, statistics, and/or identify winners of a
competition.
[0013] Accordingly, certain embodiments relate to a method of
running a competition, and/or a method of determining a competition
winner.
[0014] Some embodiments, relate to a competition wherein each
participant has a chance to score points for each game of a
tournament regardless of the outcome of all previous games, wherein
each participant selects, prior to the start of the first game, a
relative ranking for each team in the tournament, such that any
pair-wise combination of teams has a predicted outcome. In some
embodiments, the relative ranking is a default ranking. In some
embodiments, the default ranking is provided by the contest
organizer. In some embodiments, a participant selects a ranking for
each team in the tournament. In some embodiments, a participant
selects a ranking for at least one team and the remainder of the
rankings are provided by the default ranking. In some embodiments,
a participant selects at least one team ranking by filling out a
bracket, wherein.
[0015] Some embodiments are directed to a method of running a
competition to accumulate the most points by predicting the outcome
of each match in a multi-match sports tournament, wherein the
entrants in the competition are not required to provide any
information after the start of the tournament's first match,
wherein the number of points accumulated by an entrant regarding
any particular match is always in question until the particular
match has been played, wherein each participant provides, at the
outset, instructions that specify a prediction for any possible
match.
[0016] In some embodiments, the instructions are default
instructions (e.g., select default ranking). In some embodiments,
the instructions are modified default instructions. In some
embodiments, the instructions include exceptions to the default
instructions.
[0017] Some embodiments are directed to a method of running a
bracket-based single elimination tournament prediction contest
wherein the entrant's bracket is adjusted after each round using
information provided by the entrant before commencement of the
tournament.
[0018] Some embodiments are directed to a method comprising:
prompting a user for team ranking selections, wherein the
selections are provided prior to the first game in a tournament,
and sending the selections to a database that maintains the
selections during the tournament
[0019] Some embodiments are directed to a method wherein the
prompting comprises:
[0020] displaying an interface wherein the user enters information
to provide the selections.
[0021] One embodiment is directed to a method of hosting a
network-based competition comprising acts of computing and/or
awarding points based on actual match results and team ranking
information provided by a participant, wherein the team ranking
information provides predicted match outcomes and also rules for
selecting match outcomes in the event the initially predicted
matches do not occur.
[0022] Another embodiment is directed to a method of administering
a network-based competition comprising acts of prompting a
participant to provide ranking information prior to the start of a
tournament.
[0023] Another embodiment is directed to a method of competing in a
network-based competition comprising acts of accessing a server and
retrieving prompts for participant ranking instructions.
[0024] Another embodiment is directed to a method of awarding
points to a participant in a network-based competition.
[0025] Another embodiment is directed to a method for displaying
points for a participant in network-based competition.
[0026] Another embodiment is directed to a method for a participant
to access results and/or points in a network-based competition.
[0027] Another embodiment is directed to a computer system
configured to implement a competition software as described
herein.
[0028] Another embodiment is directed to computer-readable medium
comprising instructions for implementing a competition software as
described herein.
[0029] Accordingly, a user may provide a first round of predictions
that provide a higher score, but a subsequent round of predictions
that provide at least some score if one or more first predictions
are not met.
[0030] Accordingly, a primary outcome of teams and or matches will
be awarded a higher number of points, but if one or more teams are
not present for certain matches, predictions will be used to
generate lower points for alternative winning teams if they were
predicted to win based on the participant's team selection rules.
The accompanying drawings are not intended to be drawn to scale. In
the drawings, each identical or nearly identical component that is
illustrated in various figures is represented by a like numeral.
For purposes of clarity, not every component may be labeled in
every drawing. In the drawings:
BRIEF DESCRIPTION OF DRAWINGS
[0031] FIG. 1 illustrates one embodiment of a networked computing
environment in which one or more participants can access a server
capable of running a competition with flexible predictions;
and,
[0032] FIG. 2 is a flow chart of a method of operation of a
competition with flexible prediction, in accordance with one
embodiment.
DETAILED DESCRIPTION OF INVENTION
[0033] As web-based competitions have increased in popularity, the
benefit of attracting and retaining participants has increased.
Applicant has appreciated that such competitions are more
attractive if they provide participants with more opportunities to
win. Also, participants in a web-based competition are more likely
to review or update their status more times if their chance of
winning is prolonged. Systems and methods described herein provide
a way to increase traffic to a computer that hosts a network-based
competition by increasing the duration during which a participant
retains a chance of winning the competition.
[0034] For computers (e.g., servers) that are implementing a
competition (e.g., an office pool) wherein participants are awarded
points for correctly predicting the outcome of one or more contests
in an external event (e.g., games or matches in a sport
tournament), additional opportunities for the participants to win
can be provided by obtaining information that can be used to award
points for contest outcomes (e.g., match winners) that the
participants did not predict. This allows a participant in a sports
pool, for example, to retain a stake in the pool even if many of
the teams predicted to be winners by the participant are actually
eliminated early in the tournament.
[0035] Some embodiments provide a method of competition where
players predict the outcome of multiple contests where for at least
some of the contests the exact participants are not yet determined
at the time of prediction. Each player assigns some ranking to all
of the possible participants such that for any future contest, that
player's choice for winner of the contest can be determined as the
contest participant to which the player initially gave the highest
ranking. Some embodiments may employ a human interface that allows
players familiar with the traditional procedure for running such
competitions to easily compete using the new method of competition,
the player able to compete without any additional effort, but also
able to further customize his entry with some small amount of
additional effort. Some embodiments may be implemented as a
software application that can be downloaded over the internet.
[0036] Applicant has recognized that most players lose interest in
an office competition when they no longer have any chance to win,
and also tend to lose interest in the tournament or in watching
additional tournament games on television. This is undesirable from
the point of view of game sponsors (advertisers) and so there is a
need for a new method of running office competitions that allows
players to remain "alive" (still with a chance to win) longer yet
still does not require action subsequent to the initial entry
submission.
[0037] Applicant has recognized that typical competitions (e.g.,
office pools) relating to events such as sport tournaments are
based on participants making predictions for a series of matches,
where the predicted results for initial matches define the options
for subsequent matches. For example, a participant is asked to
predict a first set of winners of a first round of matches, and
then predict a second set of winners of a second round of matches
amongst the first set of winners, and so on until a final
prediction is made for the final match. A participant is awarded
points based on the number of correct winners predicted in each
round, typically with more points awarded for each correct
prediction in later rounds. Applicant has appreciated that this
scheme often results in many participants being knocked out of the
competition (e.g., having no chance of winning the competition or
being within a winning group of the competition, for example,
within the top 5%, in the top 3, in the top 5, in the top 10, or
other winning group that may be defined by the competition
organizer) if a sufficient number of his or her early predictions
are incorrect, making it impossible to accumulate any points for
subsequent matches where neither team in the match was predicted by
the participant. Applicant also has appreciated that a participant
can stay in the competition for a longer period (e.g., through more
rounds of matches) if the participant provides information that can
be used (e.g., by the computer system) to select a winner for a
match of a later round of the tournament even if the participant
had not predicted either team to be playing in the later match.
This allows points to be awarded to the participant for a later
match even if both teams predicted by the participant to be playing
in the later match were knocked out before reaching that match. In
some embodiments, the computer system can award one or more points
to a participant for every match being played in the tournament,
regardless of the outcome of the prior matches. However, the number
of points awarded for the outcome of a match may be lower for
matches where neither team was predicted to be playing by the
participant than for matches where one or both teams were predicted
to be playing.
[0038] It should be appreciated that embodiments of the invention
may be used in connection with competitions (e.g.,
computer-implemented competitions) based on predictions of the
outcomes for any tournament having two or more rounds of
elimination (of teams or individuals depending on the sport). In
some embodiments, the tournament may be a sports tournament, for
example, a soccer, basketball, football, hockey, baseball, tennis,
badminton, or other tournament. In some embodiments, a tournament
may be an elimination tournament where two teams play one or more
games and the winner proceeds to the next round whereas the loser
is eliminated. In some embodiments, a "match" as used herein refers
to the number of games required to obtain a winner and a loser. In
some embodiments, a match may be a single game (e.g., a single
basketball game) at the end of which the winner proceeds to the
next round and the loser is eliminated. In some embodiments, a
match may include two or more games (e.g., a number of games for a
tennis match, or a series of games such as a best of three, a best
of five, or a best of seven game series, e.g., for basketball or
hockey, etc.).
[0039] In some embodiments, a tournament may be represented by an
elimination bracket (a diagrammatic representation of the series of
games played during a tournament), leading to a final match. In
some embodiments, a tournament may include an initial qualifier
round to determine which teams proceed to the elimination bracket.
In some embodiments, the initial qualifier round may include
round-robin play in groups where teams or individuals within each
group play one another and the team(s)/individual(s) with the
highest (or two highest, three highest, etc.) number(s) of points
are selected to proceed to the elimination bracket.
[0040] It should be appreciated that for any tournament, the winner
of a match may be determined using any suitable metric. For
example, the winner may be the team that scores the most points. In
the event of a tie, any suitable tie-breaker may be used to
determine a winner. For example a "shoot out" at the end of a tied
soccer match where players take turns shooting against the opposing
team's goal-keeper, or "most goals scored" (e.g., during all three
First Round matches for two teams having the same win loss-draw
record during the First Round of the World Cup Soccer
Tournament).
[0041] Any number of approaches can be used to configure a computer
system to obtain and/or use participant instructions so that each
participant has a stake in the outcome of each match in a
tournament, with the possibility of being awarded at least one or a
few points for each match. In some embodiments, a participant
provides sufficient instructions, prior to the first match in the
tournament, to rank each team in the tournament. This information
is then used to compute participant points as the tournament
progresses. Accordingly, embodiments of the invention provide more
options for awarding points to participants than a traditional pool
or other competition based on predicting match outcomes. A
traditional approach involves making a predictions for each match
in a tournament, wherein the winner of a match in a first round
plays in a subsequent match against a winner of another match in
the first round. If a participant predicts that a particular team
will win at least two rounds, but that team is knocked out before
the second round, then the participant cannot win any points from
the second round match that the eliminated team was predicted to
win. In contrast, embodiments of the invention allow a substitute
prediction for a subsequent match if a team that was initially
predicted to win that match was knocked out in an earlier round. In
some embodiments, in addition to providing instructions that
identify an initial series of winners for the matches in a bracket,
the participant also provides instructions that allow points to be
awarded for substitute teams in the event that one or more of the
initially predicted winners were knocked out earlier than initially
predicted. It should be appreciated that this additional
information may be provided in any suitable form. Accordingly, a
participant may use any suitable format to provide team selection
rules that can be used to predict a winner for any possible match
that could be played during a tournament.
[0042] In some embodiments, a participant i) fills out a
traditional or typical bracket representing an initial set of
predicted winners, and ii) provides relative rankings of the teams
that could play against each other in the event one or more of the
initial set of predicted winners is knocked out earlier than
predicted. In some embodiments, a participant provides only a team
rank from first to last for all the teams in the tournament. This
set of rankings can be used to generate a set of initial picks (and
these could be displayed in some embodiments).
[0043] In some embodiments, instead of providing a series of team
ranks, a participant may provide a prediction for the winner of
each possible pair-wise match in a tournament. It should be
appreciated that this may provide more flexibility than a relative
rank for all teams, because a participant may select match outcomes
for certain combinations of teams that are not consistent with
other outcomes based only on a simple ranking system (e.g., A beats
B, B beats C, but C beats A).
[0044] In some embodiments, a participant may provide a set of
exceptions in addition to providing a relative team rank (form
first to last). In this way, an outcome of an alternative match may
be predicted based on the team rank (i.e., with the higher ranked
team predicted to beat the lower ranked team in any match) unless
an exception is provided to specifically identify a winner for a
defined match regardless of the relative rankings of the two
teams.
[0045] In some embodiments, a participant may use a default ranking
(e.g., provided by a competition organizer). The default ranking
may be based on team seeds from any source. In some embodiments, a
participant may modify the default ranking by rearranging the
relative ranking of one or a few teams in the default ranking. In
some embodiments, a participant may provide exceptions as described
above.
[0046] Accordingly, it should be appreciated that the participant
may provide team selection rules in any form, provided the
selection rules allow a program to identify a predicted winner for
any match that could theoretically be played during the
tournament.
[0047] It should be appreciated that embodiments of the invention
may be used for elimination tournaments, group play tournaments
(e.g., round robin format), other suitable formats, or any
combination thereof. In some embodiments, team selection rules may
be provided prior to the beginning of a first match of a second
part of a tournament and after the conclusion of a first part of a
tournament (e.g., after preliminary qualifier rounds). However, in
many embodiments, team selection rules are provided prior to the
start of the first match in a tournament, even if the tournament
has one or more initial rounds (e.g., group rounds) prior to an
elimination round.
[0048] As discussed herein, a participant's team selection rules
may be used to compute the participant's predictions for
alternative games that actually occur when one or more of the
initially predicted winners are knocked out early. Accordingly, a
participant may be awarded points for a winner that was predicted
based on team selection rules even if the initially predicted
winners (the predicted winners before the start of the first match)
lose earlier than predicted. However, it should be appreciated that
a participant may be awarded fewer points for a winner of a match
that was not one of the initially predicted winners, but that was
predicted using the selection rules in view of the actual teams
that played the match. It should be appreciated that the number of
points awarded for matches at different stages in the tournament
and the relative number of points awarded for each match depending
on whether the winner was an initially predicted winner or an
alternative winner predicted using the participant instructions can
be varied from competition to competition (e.g., by a competition
organizer, a competition administrator, etc.) depending on
different factors that may be adjusted to impact the extent to
which participants still have a chance to win as a tournament
progresses.
[0049] Accordingly, a participant may be awarded points for
correctly predicted outcomes. In some embodiments, a participant is
awarded a first number of points for a winning team in an
identified match, if that team was included in participant's
initial picks for winning teams. In some embodiments, a participant
is awarded a second number of points, if the team that won the
match was not one of participant's initial picks, but was
nonetheless predicted to win that match based on participant's
relative ranking of the two teams playing the match. However, it
should be appreciated that the second number of points is typically
lower than the first number of points to reflect the fact that the
winning team was essentially a backup team based on participants
rankings, rather than the participant's initial pick for that
match.
[0050] It should be appreciated that a program for running a
competition according to one of the embodiments described herein
may be implemented in any suitable computer environment. In some
embodiments, a competition may be implement on a participants
computer. In some embodiments, a competition may be implement on a
computer or server in a networked set of computers (e.g., a
private, company, or other organization network). In some
embodiments, a competition may be web-based and participants access
a remote server (e.g., using a web browser) to enter information
(e.g., identifier information and/or team selection rules),
retrieve information (e.g., personal predictions, statistics,
and/or results), download a program or part of a program to run
aspects of the competition (e.g., to enter information and/or to
run statistical predictions based on results at any stage in the
competition and participants selections). However, it should be
appreciated that certain embodiments of the invention may be
performed on any suitable computer system as aspects of the
invention are not limited in this respect. From the foregoing
overview of some embodiments, one of skill in the art can
appreciate that embodiments may be constructed based on programming
of one or more computer devices. A computer may operate in a
networked environment using logical connections to one or more
remote computers, such as a remote computer. The remote computer
may be a personal computer, a server, a router, a network PC, a
peer device or other common network node, and typically includes
many or all of the elements associated with a computer, including a
memory storage device. The logical connections may include a local
area network (LAN), a wide area network (WAN), and/or other
networks. Such networking environments are commonplace in offices,
enterprise-wide computer networks, intranets and the Internet.
[0051] FIG. 1 illustrates an example of a suitable computing system
environment that may be used in implementing some embodiments of
the invention. The computing system environment is only one example
of a suitable computing environment and is not intended to suggest
any limitation as to the scope of use or functionality of the
invention.
[0052] The non-limiting networked computing environment of FIG. 1
includes a network 100, which may be an unsecured network (e.g.,
the world wide web or Internet), a local network, a secured network
(e.g., a corporate intranet), or include a combination of two or
more thereof. Network 100 may include networked computing devices
that are physically connected. The physical connection of networked
computing devices may be made over any suitable computer
communications medium (e.g., wired or wireless communication), as
the invention is not limited in this respect. For example, when
used in a LAN networking environment, computing devices within the
network and/or accessing the network may be connected to the LAN
through a network interface or adapter. When used in a WAN
networking environment, computing devices within the network and/or
accessing the network typically include a modem or other means for
establishing communications over the WAN, such as the Internet. The
modem, which may be internal or external, may be connected to the
system bus via a user input interface, or other appropriate
mechanism. In a networked environment, program modules, or portions
thereof, may be stored in a remote memory storage device.
[0053] A computing device 110 may be connected to the network and
act as a server running the competition. The server 110 may be
connected to the network via any suitable computer communications
medium (e.g., wired or wireless communication). It should be
appreciated that any of the connections described herein may use
encrypted and/or unencrypted communications. Accordingly, in some
embodiments a system may include a combination of encrypted and
unencrypted communications. As used herein, a server may be any
computer that can be programmed to run the software and that can be
accessed by the users (e.g., over the internet, or over the company
intranet if all the users are in one location, or possibly no
inter-computer communication if all users are going to use the same
computer to make their entries).
[0054] It should be appreciated that a plurality of computing
devices at the same site or at different locations may act as
servers and networked in any suitable configuration for a
competition as aspects of the invention are not limited in this
respect.
[0055] A database 120 may be connected to server 110 and be
available to store participant instructions regarding team
selection rules for a competition. In some embodiments, the
database is directly connected to the server as shown in FIG. 1. In
other embodiments, the database is not directly connected to the
server, but may be accessed via a network (e.g., network 100).
However, in some embodiments the database is not a separate device,
but instead may be integral to the server (e.g., stored in a
non-volatile storage medium such as a hard disk drive).
[0056] It should be appreciated that in some embodiments a system
includes a plurality of databases for storing participant
instructions. Databases may be connected to each other, network
100, server 110, or any combination thereof via any suitable
computer communications medium (e.g., wired or wireless
communication).
[0057] It also should be appreciated that one or more devices of
server 110 and/or database 120 may include public or private
portals.
[0058] A competition administrator may access the server from an
administrator computing device 130. It should be appreciated that
any suitable computing system may be used by an administrator. An
administrator may establish an administrator account and configure
a local competition (e.g., an office pool). An administrator may
chose a username and password that allows the administrator to
perform administrative functions from any suitable computer.
[0059] In some embodiments, computing device 130 is connected to a
network as shown in FIG. 1. However, it should be appreciated that
computing device 130 may be directly connected to the server, as
aspects of the invention are not limited in this respect. It also
should be appreciated that a competition administrator may
interface directly with the server and not need a separate
computing device. Administrator computer 130 may be connected to
the network and/or server via any suitable computer communications
medium (e.g., wired or wireless communication). In some
embodiments, an administrator may configure scoring rules (e.g.,
the number of points awarded for each match for each round) and tie
breakers if any. In some embodiments, an administrator can maintain
an access list for participants (e.g., email addresses or other
contact information) and may contact participants to address any
administrative issues (e.g., the strength of the group password).
In some embodiments, an administrator may determine % "goodness"
for each place in the "winner group" (e.g., 1.sup.st place=60%
goodness, 2.sup.nd=30% 3.sup.rd=10% which may be used in quality
coverage and raw coverage determinations and may be used by
participants to divide up a prize such as a dollar prize). It
should be appreciated that certain embodiments relate to
statistical information that may be provided to a participant at
any stage in the competition. In some embodiments, a competition
administrator may control the types of statistical information that
is provided. In some embodiments, statistical information may be
calculated on a remote server that hosts the competition. In some
embodiments, statistical information may be calculated on a local
server or on participant's computer (e.g., using software
downloaded from a host server). However, other embodiments may be
used as aspects of the invention are not limited in this respect.
Non-limiting examples of statistical information that may be
provided include the likelihood of winning and/or the amount that
the participant is likely to win. In some embodiments, a quality
coverage may be calculated to represent the expected value of the
player's entry. For example, 25% might mean a 50% chance to win
half the pot. In some embodiments, a raw coverage may be
calculated. A raw coverage is the same as quality coverage except
that every game is considered a toss-up (meaning the experts'
perception of the strength of the teams is not taken into account).
However, other statistical information may be provided as aspects
of the invention are not limited in this respect. In some
embodiments, an administrator may run software on an administrator
computer to provide further enhanced statistics. In some
embodiments, an administrator may host a competition results page
on an administrator server while receiving match results, new
advertisement placement, and/or other information from a host
server.
[0060] In some embodiments, a group password may be sent by an
administrator to provide access. The administrator may set up a
separate password protected account for each participant and for
the administrator.
[0061] In some embodiments, an administrator (e.g., a private
office pool administrator) desiring further enhanced statistics
generation (for example, to determine that a first player has a
certain percentage chance, for example more or less than 50%, for
example 43.5%, to finish higher or lower than a second player) can
download software to host a pool on their own server and use of
their own computational power while receiving match results and
periodically receiving new advertisement placements from a host
server portal. In some embodiments, an administrator may obtain
further enhanced statistics for display by a host server
portal.
[0062] In some embodiments, a competition program may determine
when a participant no longer has a chance of winning a tournament
(e.g., based on the actual results at that point in the tournament,
the rounds/matches left to play, the participant points and
predictions, and the point totals and predictions of other
participants). A participant who no longer can win automatically
may be informed that they are "out" of the tournament in some
embodiments (e.g., by e-mail).
[0063] In some embodiments, a participant can set up a submission
(e.g., of picks and predictions) and optionally save it in an
account (e.g., a password protected account). In some embodiments,
changes to the submission can be made until the first game of the
tournament starts.
[0064] In some embodiments an administrator runs a competition
program from a server. In some embodiments, an administrator
organizes a competition on his own computer and interacts with a
host server. In some embodiments, a database may be managed on the
administrator's computer. However, other configurations may be
used. In some embodiments, the reason for distributing and/or
implementing different parts of a competition program on different
computers is to capture additional computer power. This may be
important if large numbers of participants enter a competition
(e.g., 500-1,000; 1,000-10,000; 10,000-100,000; 100,000-500,000;
500,000-1,000,000; or more); large numbers of competitions are
being implemented separately; and/or sophisticated statistical
features are provided. In some embodiments, if there are millions
of private pools it may be more efficient to determine who is "OUT"
at any given time by running certain statistical calculations on a
local server for each private pool rather than on a central server
for all pools. Accordingly, an administrator may run software on
his/her own computer to provide further enhanced statistics but
still use a host portal to display the results. In some
embodiments, the tournament will be run on a host server, but an
administrator may periodically download data to the administrator's
computer, run the simulations, and then upload the results back to
the server for display.
[0065] Participants may access the competition on the server from
any suitable remote computing device. A plurality of participants
may use different remote computing devices 140a, 140b . . . 140n.
Each device independently may be a personal computer, a work
computer, a publicly accessible computer, a laptop, or any other
computing device as aspects of the invention are not limited in
this respect. Remote computing devices 140a-140n may be connected
to the network via any suitable computer communications medium
(e.g., wired or wireless communication).
[0066] Regardless of the specific hardware used to implement
participant access to server 110, the environment illustrated by
FIG. 1 may include multiple devices, any of which may be connected
to server 110 via a network. In some embodiments, server 110 itself
may include a network of devices. Any one or more server devices
may be part of a secured network (e.g., protected by a firewall) in
some embodiments.
[0067] It should be appreciated that any of the computer
communications media referred to herein may include (whether via a
wired connection, a wireless connection or connection over any
other suitable media) one or more access points, routers, switches,
hubs, secure tunnels or other network elements to other devices on
a network (some or all of which may be secured). It also should be
appreciated that networked computing devices may communicate with
each other by unidirectional or bi-directional network links, or a
combination thereof.
[0068] FIG. 2 illustrates a non-limiting embodiment of a flow chart
of a method of operation of a computer implemented (e.g.,
network-based) competition that provides scoring opportunities for
a participant even if the participant's initial picks are knocked
out of a tournament earlier than predicted. The left side of the
dashed line include acts on a participant computer (e.g., a user or
client). Acts on the right side of the dashed line include acts on
a server (e.g., a host server or an administrator server). In FIG.
2, participant 140 contacts a competition server in act 200 (e.g.,
downloads a page from the URL) and receives a prompt in act 205
requesting team selection rules to be submitted prior to the
tournament beginning. Participant enters the rules in act 210 and
submits the rules to the tournament server in act 215. It should be
appreciated that this process may be repeated for a plurality of
participants (e.g., all the participants in a competition).
Depending on the size of the tournament, the number of participants
may range from about 5-10 to more than one million. However, any
number may participate as aspects of the invention are not limited
in this respect. For each participant, the rules define the
participant's initial picks for each match, and also provide
predictions for alternative team matchups if the participant's
initial picks are knocked out earlier than predicted. The
tournament server 110, receives the participant rules in act 220.
The participant rules may be maintained on the server (e.g., in
memory or other database on the server) or sent to a separate
database (e.g., on a separate computing device) for storage and/or
later retrieval. After the tournament has started, the competition
server checks for match results in act 225. When a match is
finished and a winner is determined, the information is received by
the server in act 230 and compared to the participant's team
selection rules in act 235. In 235, if the winner of the match was
correctly predicted (e.g., either as an initial pick or as a
recalculated prediction) by the participant, points are awarded in
240 and the participant's initial prediction is not altered for
subsequent matches. However, if the winner of the match is
determined in 235 to be different from the participant's prediction
is (e.g., either initial pick or recalculated prediction) then i)
no points are awarded (or fewer points are awarded depending on how
the scoring system is set up), and ii) the participant's
predictions are recalculated in 245 using the participant's team
selection rules for the teams that will be playing next instead of
participant's prior prediction. For each participant, this
procedure is repeated after each match (or after each round of
matches, or other parameter) until the final match is played. At
that point a winner, or set of winners may be determined in act
250.
[0069] In some embodiments, in act 205, a user is instructed to
enter one or more team selection rules (e.g., to use the left mouse
button to drag a team to where he or she wants to place it in a
bracket or a ranking table, and is told that not all sections of
the entry form are required). In some embodiments, only rankings
are required, and other sections (e.g., visual prompts) may be used
to help in producing the rankings. In some embodiments, the user
may be notified that he/she can click on a link to be shown how the
entry will be scored. In some embodiments, a user ranks the teams
from 1 to N where N is the number of teams in the tournament and
"1" corresponds to the best team. Software running in the user's
browser assists the user in creating the rankings using zero, one,
or more alternate representations, for example an elimination
bracket which displays one possible prediction of tournament
results which is consistent with the user's current choice of
rankings. However, the team selection rules may be entered in any
suitable form as described herein provided they provide rules for
selecting an initial set of winners and alternative winners for
matches that may occur if one or more of the initially predicted
winners in eliminated earlier than predicted. It should be
appreciated that the instructions to the user may be in the form of
visual prompts (e.g., generated by the browser having accessed
appropriate instructions from a host server).
[0070] In some embodiments, in act 210, a browser (e.g., Javascript
running in the browser) maintains consistency between different
sections of the entry form. The user can fill out a traditional
bracket, while doing so making implications regarding his ranking
of the teams. For example, in some embodiments the browser updates
rankings when the user alters the bracket and updates the bracket
(by removing inconsistent portions) when the user alters
rankings.
[0071] In some embodiments, in act 215, a user submits the
selection to the database and/or server (e.g., clicks on a "Submit"
button which posts data to a PHP script, or PERL script, or other
type of software running on the server).
[0072] In some embodiments, in act 220, the server acquires user
instructions (e.g., a lock on the database so that entry of the
user data is atomic). In some embodiments, after storing the user
data, the script sends an email to the user as confirmation of
entry. In some embodiments, the server stores the information on a
server database. In some embodiments, the information is sent to a
separate database. In some embodiments, user entries are stored in
a text file on the server (e.g., the text file is written by a
script running on the server). To be more space efficient with a
large number of users, a database such as an SQL database may be
used in some embodiments. In some embodiments, the data may be
stored on a hard disk drive either on the server that runs the
script or on an associated file server elsewhere.
[0073] In some embodiments, in act 225, the server monitors and/or
downloads match information from any suitable source (e.g., an RSS
feed from a news organization or a sports organization, for example
the NCAA, FIFA, etc.).
[0074] In some embodiments, in act 230, the server stores match
results in the database.
[0075] In some embodiments, in act 235, software running on the
server scores user entries and updates the database. It should be
appreciated that in some embodiments this process of scoring (e.g.,
awarding points) and updating the database may be performed
automatically (e.g., at predetermined time intervals, after a match
result is known, after a round of matches) or when prompted by an
administrator and/or user (e.g., participant), as aspects of the
invention are not limited in this respect.
[0076] In some embodiments, in act 240 and/or in act 245, after
updating current results for all players, statistical information
may be computed (e.g., all possible endings are analyzed to produce
statistics, for example identifying who still has a chance to
win).
[0077] In act 250, participants may be informed of final results
(e.g., by receiving a message such as "Tournament is over, please
check the results, and thanks for playing" or other message). This
message may be sent out by e-mail to all participants, participants
who have not previously be knocked out, or any combination of
participants, as aspects of the invention are not limited in this
respect.
[0078] It should be appreciated that one or more of these acts may
be omitted as aspects of the invention are not limited in this
respect.
[0079] It should be appreciated that a "user" as described herein
may be a participant in a competition regardless of whether it is a
private, company, or publicly accessible, or other web-based
tournament.
[0080] In some embodiments, the server may generate a bracket or
other display for the participant to review. This may be done at
any stage, for example as part of the prompt, or later after the
selections are made and the first set of winners are picked.
[0081] In some embodiments, different parts of a competition
program may be implemented on different computing devices. The
following scenarios are non-limiting embodiments and other
configurations also may be used as aspects of the invention are not
limited in this respect.
[0082] Scenario 1): A server handles everything except entry form
running in the player's browser. In an open pool where the host is
the administrator, the only action happening on some other computer
is when the player enters rankings. The player would download the
form from the host server, fill it out while assisted by the
downloaded Javascript, then submit which calls a script on the
server which saves the entry. Viewing the results would be
downloading a page from the host server.
[0083] Scenario 2): Same as scenario 1 except that the
administrator configures the private pool before players can enter.
The administrator assigns the "goodness criterion" (1.sup.st place
is 60%, 2.sup.nd place is 30%, etc) and creates a group password.
Optionally, the administrator creates a restricted access list.
[0084] Scenario 3): Same as scenario 2 except that the
administrator periodically runs software on the administrator
computer to create further enhanced statistics and then uploads the
statistics to the host server for display.
[0085] Scenario 4): The administrator downloads software and hosts
the pool on the administrator server. After the initial download,
the administrator's server need only communicate with the host
server to obtain match results and/or to update advertisement
placement.
[0086] It should be appreciated that regardless of the
configuration, a host server in a commercial setting may provide
advertisements and/or updated advertisements whenever an
administrator and/or participant computer communicates with the
host server.
[0087] Other embodiments relate to methods of designing an
configuring a competition program. For example, different
parameters may be selected to tailor a program for a particular
tournament. For example, different programs may be designed for
March Madness than for the World Cup. However, in some embodiments
a core program may be designed to be readily tailored for different
tournaments. In some embodiments, a designer may tailor the number
of teams, points per match, definition of a match (for example the
First Round of the World Cup may be defined to be two matches for
each team where the teams making it to the Round of 16 "beat" the
two teams in their group that don't make the Round of 16, and the
teams that didn't make the Round of 16 "lost" to the teams that did
make it).
[0088] Other embodiments relate to methods and devices for
delivering or distributing software for a competition as described
herein. For example, software may be distributed over the interne.
In some embodiments, an application may be installed on a host
servers. In some embodiments, a CD, DVD or other computer-storage
medium may be distributed with the application, for example if
statistical analyses are to be performed on an administrator's
computer.
[0089] The following examples provide non-limiting illustrations of
certain embodiments.
EXAMPLES
Example 1
An Employee of a Company Wishes to Run a March Madness Office
Competition
[0090] The March Madness tournament starts with 65 participants
(teams), a pair of teams playing for the right to continue in the
tournament a couple of days before the rest of the games begin; for
this example that pair of teams is considered to be a single team
in a 64 team tournament.
[0091] The employee downloads a software application that
implements an embodiment of a competition program. When run, the
software application sets up an internal company web page that
other employees of the company can access, the web page optionally
implementing password protection giving access only to players who
have been invited to join the competition.
[0092] Players use a graphical user interface (GUI) to prepare
their entries in the competition (commonly referred to as a
"bracket"). The top half of the computer screen presented by the
GUI shows the bracket, which represents the single elimination
format of March Madness. The bottom half of the computer screen
shows the player's team rankings, showing 64 teams in order
(multiple columns) from top-ranked (#1, best team) to bottom ranked
(#64, worst team). The bracket is initialized with blank inputs for
all game winners and the rankings are initialized as per the NCAA
Coaches Poll rankings.
[0093] When the player uses his computer mouse to move (drag) a
team forward in the bracket (top half of the computer screen) he
has implied that he thinks that team will win some particular game,
which also implies that he thinks that team is better than some
other team or teams, and so the software application will update
the player's team rankings (bottom half of the computer screen)
accordingly by moving the predicted winner "above" (closer to or
equal to #1) all teams that were implied to be weaker teams by the
mouse action. If the player moves a team up or down in his team
rankings then the rankings might become inconsistent with his
bracket, and so the software application will update the player's
bracket to remove the inconsistencies if any (teams predicted to
win games over another team which is above them in the rankings
will be removed from the appropriate positions in the bracket).
When the player is satisfied with his team rankings he clicks on a
submit button which enters his team rankings in the office
competition. He can choose to submit his rankings after filling out
the bracket as he has done in previous years (without using his
mouse to directly alter the rankings on the bottom half of his
computer screen) and the rankings submitted will not in any way
contradict the information contained in his bracket.
[0094] The software application will stop accepting player entries
when the first game of the tournament begins. A player's prediction
for any particular game is that the team he ranked higher of the
two teams playing will win the game. Unlike previous office
competitions where the player's prediction might not include either
of the two teams playing in a particular game, using this method of
scoring the player always has a chance to be correct until the game
is played. Players get points for each correct prediction (one
point per game in the first round, two points per game in the
second round, four points per game in the third round, eight points
per game in the fourth round, sixteen points per game in the fifth
round, and thirty-two points for the sixth round game for a maximum
total of 192 points) and the player with the most points at the end
of the tournament is declared the winner of the competition. Each
game day during the tournament, the software application retrieves
game results over the Internet and publishes office competition
standings with various statistics including which of the players
still have a chance to win the competition.
[0095] Computer simulation of one hundred random (weighted random
player brackets and weighted random game outcomes) ten-player
office competitions resulted in an average of 5.5 players remaining
(still had a chance to win) after three rounds using traditional
bracket scoring, whereas using the new rankings scoring method an
average of 8.9 players remained in the competition after three
rounds. In one simulation, to create both weighted random player
brackets and game outcomes, S2/(S1+S2) was used as the probability
that team seeded S1 (regional seed number 1-16) would beat team
seeded S2. For the final four, every game was considered to be a
toss-up. First a bracket was created for the player and then
rankings were created from the ordering implied by the bracket. The
player's rankings were not adjusted after applying the implied
rules even though such tweaking may provide a more dramatic
illustration of the benefits of obtaining participant instructions
for more than the initially predicted winners.
[0096] More people have a chance to win their office competition
for a longer time, there is prolonged interest in the tournament
games, and therefore more advertising dollars are spent to reach
larger late-tournament audiences (specifically fourth round
games).
Example 2
An Employee of a Company Wishes to Run a World Cup Soccer Office
Competition
[0097] The format of the World Cup Soccer championship is as
follows: 32 teams are arranged into eight groups of four teams per
group. In the first round of competition each team plays three
games, one game against each of the other three teams in their
group. Two teams from each group advance to the second round
(referred to as "The Round of Sixteen").
[0098] Starting with the round of sixteen the rest of the
competition is a single elimination tournament which can be
represented with a bracket similar to the one used for March
Madness. The initial positions in this bracket are determined by
the results of the first round games. The team in a group with the
best first round record is placed at some predetermined position in
the bracket and the team with the second-best first round record is
placed at some other predetermined position in the bracket. Before
the tournament begins, without knowledge of the results of the
first round games and therefore without knowledge of the initial
positions or even identities of teams in the bracket, a player
cannot know how to fill out the bracket.
[0099] The employee downloads (from the internet) and initializes
the software application (as in Example 1 above) except that the
employee configures the software application to run in World Cup
Soccer mode instead of in March Madness mode. When in World Cup
Soccer mode the GUI does not present a bracket, it only displays
rankings for the teams.
[0100] Though the application could display a bracket and maintain
consistency between rankings and bracket as in Example 1 above, it
is not necessarily required for backward compatibility with
previous years' competitions which for the World Cup Soccer
competition have not traditionally used brackets for entries. Each
office player rearranges the team rankings until he is satisfied
with his entry at which time he clicks on the submit button to
enter the competition.
[0101] The software application will stop accepting player entries
when the first game of the tournament begins. Each player receives
one point for each team he ranked in the top sixteen teams that in
fact advances to the round of sixteen. For the single elimination
portion of the tournament (round of sixteen until the end), a
player's prediction for any particular game is that the team he
ranked higher of the two teams playing will win the game. Players
get points for each correct prediction (two points per game in the
second round, the round of sixteen, four points per game in the
third round, eight points per game in the fourth round, and sixteen
points for the fifth round game for a maximum total of 80 points)
and the player with the most points at the end of the tournament is
declared the winner of the competition. Each game day during the
tournament, the software application retrieves game results over
the internet and publishes office competition standings with
various statistics including which of the players still have a
chance to win the competition.
Example 3
A Participant Wishes to Enter a Web-Based Competition Relating to
the Outcomes of a Tournament
[0102] The participant receives an email from the person in his
office who has volunteered to run the company March Madness pool
this year (the "administrator"). The participant clicks on a link
in the email which brings up a browser prompting him to enter the
group password contained in the email from the administrator. After
entering the password, the browser prompts him to create a password
protected private account for himself. The participant then
proceeds to specify an ordering of the 65 tournament teams by
dragging teams up or down in a list displayed by his browser, thus
specifying rankings of the teams in the March Madness tournament.
When finished, the participant clicks on "Submit" to enter the
competition. The user can return to his private account at any time
before the start of the tournament and make changes to his
rankings. Once the tournament has started the participant can view
how he is doing in the competition by clicking on a link to the
competition results page which was also included in the original
email from the competition administrator. The participant's entry
is scored based on his or her team rankings and the actual results
of games played in the tournament. In this example, the prediction
information and statistical calculations are stored and implemented
on a host server. However, other configurations may be used as
described herein.
[0103] It should be appreciated that though the examples
specifically refers to workplace competitions, the invention is
applicable to any competition between players whether or not the
players belonged to any particular group before joining the
competition.
[0104] Having thus described several aspects of at least one
embodiment of this invention, it is to be appreciated that various
alterations, modifications, and improvements will readily occur to
those skilled in the art.
[0105] Such alterations, modifications, and improvements are
intended to be part of this disclosure, and are intended to be
within the spirit and scope of the invention. Accordingly, the
foregoing description and drawings are by way of example only.
[0106] The above-described embodiments of the present invention can
be implemented in any of numerous ways. For example, the
embodiments may be implemented using hardware, software or a
combination thereof. One or more acts described herein may be
automated in a suitable computing environment. When implemented in
software, the software code can be executed on any suitable
processor or collection of processors, whether provided in a single
computer or distributed among multiple computers (e.g., general
purpose computers). It should be appreciated that any component or
collection of components that perform the functions described above
can be generically considered as one or more controllers that
control the above-discussed functions. The one or more controllers
can be implemented in numerous ways, such as with dedicated
hardware, or with general purpose hardware (e.g., one or more
processors) that is programmed using microcode or software to
perform the functions recited above.
[0107] Further, it should be appreciated that a computer may be
embodied in any of a number of forms, such as a rack-mounted
computer, a desktop computer, a laptop computer, or a tablet
computer. Additionally, a computer may be embedded in a device not
generally regarded as a computer but with suitable processing
capabilities, including a Personal Digital Assistant (PDA), a smart
phone or any other suitable portable or fixed electronic
device.
[0108] Also, a computer may have one or more input and output
devices. These devices can be used, among other things, to present
a user interface. Examples of output devices that can be used to
provide a user interface include printers or display screens for
visual presentation of output and speakers or other sound
generating devices for audible presentation of output. Examples of
input devices that can be used for a user interface include
keyboards, and pointing devices, such as mice, touch pads, and
digitizing tablets. As another example, a computer may receive
input information through speech recognition or in other audible
format.
[0109] Such computers may be interconnected by one or more networks
in any suitable form, including as a local area network or a wide
area network, such as an enterprise network or the Internet. Such
networks may be based on any suitable technology and may operate
according to any suitable protocol and may include wireless
networks, wired networks or fiber optic networks.
[0110] Also, the various methods or processes outlined herein may
be coded as software that is executable on one or more processors
that employ any one of a variety of operating systems or platforms.
Additionally, such software may be written using any of a number of
suitable programming languages and/or programming or scripting
tools, and also may be compiled as executable machine language code
or intermediate code that is executed on a framework or virtual
machine.
[0111] In this respect, the invention may be embodied as a computer
readable medium (or to multiple computer readable media) (e.g., a
computer memory, one or more floppy discs, compact discs, optical
discs, magnetic tapes, flash memories, circuit configurations in
Field Programmable Gate Arrays or other semiconductor devices, or
other tangible computer storage medium) encoded with one or more
programs (e.g., a plurality of instructions) that, when executed on
one or more computers or other processors, perform methods that
implement the various embodiments of the invention discussed above.
The computer readable medium or media can be transportable, such
that the program or programs stored thereon can be loaded onto one
or more different computers or other processors to implement
various aspects of the present invention as discussed above.
[0112] In this respect, it should be appreciated that one
implementation of the above-described embodiments comprises at
least one computer-readable medium encoded with a computer program
(e.g., a plurality of instructions), which, when executed on a
processor, performs some or all of the above-discussed functions of
these embodiments. As used herein, the term "computer-readable
medium" encompasses only a computer-readable medium that can be
considered to be, a machine or, a manufacture (i.e., article of
manufacture). A computer-readable medium may be, for example, a
tangible medium on which computer-readable information may be
encoded or stored, a storage medium on which computer-readable
information may be encoded or stored, and/or a non-transitory
medium on which computer-readable information may be encoded or
stored. Other non-exhaustive examples of computer-readable media
include a computer memory (e.g., a ROM, a RAM, a flash memory, or
other type of computer memory), a magnetic disc or tape, an optical
disc, and/or other types of computer-readable media that can be
considered to be a process, a machine, a manufacture, and/or a
composition of matter.
[0113] Computing devices and systems described herein may include a
variety of computer readable media. As described herein, computer
readable media can be any available media that can be accessed by
computer and includes both volatile and nonvolatile media,
removable and non-removable media. It should be appreciated that a
system memory may include computer storage media in the form of
volatile and/or nonvolatile memory such as read only memory (ROM)
and random access memory (RAM). A basic input/output system (BIOS),
containing the basic routines that help to transfer information
between elements within computer, such as during start-up, is
typically stored in ROM. RAM typically contains data and/or program
modules that are immediately accessible to and/or presently being
operated on by the processing unit.
[0114] Device drives and their associated computer storage media
discussed described herein, provide storage of computer readable
instructions, data structures, program modules and other data for a
computing device. For example, a hard disk drive may store an
operating system, application programs, other program modules, and
program data. A user may enter commands and information into a
computing device through input devices such as a keyboard and
pointing device, commonly referred to as a mouse, trackball or
touch pad. Other input devices (not shown) may include a
microphone, joystick, game pad, satellite dish, scanner, or the
like. These and other input devices are often connected to a
processing unit through a user input interface that is coupled to
the system bus, but may be connected by other interface and bus
structures, such as a parallel port, game port or a universal
serial bus (USB). A monitor or other type of display device also
may be connected to the bus via an interface, such as a video
interface. In addition to the monitor, computers may also include
other peripheral output devices such as speakers, and printers,
which may be connected through an output peripheral interface.
[0115] In addition, it should be appreciated that the reference to
a computer program which, when executed, performs the
above-discussed functions, is not limited to an application program
running on a host computer. Rather, the term computer program is
used herein in a generic sense to reference any type of computer
code (e.g., software or microcode) that can be employed to program
a processor to implement the above-discussed aspects of the present
invention.
[0116] It should be appreciated that in accordance with several
embodiments of the present invention wherein processes are
implemented in a computer readable medium, the computer implemented
processes may, during the course of their execution, receive input
manually (e.g., from a user).
[0117] The terms "program" or "software" are used herein in a
generic sense to refer to any type of computer code or set of
computer-executable instructions that can be employed to program a
computer or other processor to implement various aspects of the
present invention as discussed above. Additionally, it should be
appreciated that according to one aspect of this embodiment, one or
more computer programs that when executed perform methods of the
present invention need not reside on a single computer or
processor, but may be distributed in a modular fashion amongst a
number of different computers or processors to implement various
aspects of the present invention.
[0118] Computer-executable instructions may be in many forms, such
as program modules, executed by one or more computers or other
devices. Generally, program modules include routines, programs,
objects, components, data structures, etc. that performs particular
tasks or implement particular abstract data types. Typically the
functionality of the program modules may be combined or distributed
as desired in various embodiments.
[0119] Also, data structures may be stored in computer-readable
media in any suitable form. For simplicity of illustration, data
structures may be shown to have fields that are related through
location in the data structure. Such relationships may likewise be
achieved by assigning storage for the fields with locations in a
computer-readable medium that conveys relationship between the
fields. However, any suitable mechanism may be used to establish a
relationship between information in fields of a data structure,
including through the use of pointers, tags or other mechanisms
that establish relationship between data elements.
[0120] Various aspects of the present invention may be used alone,
in combination, or in a variety of arrangements not specifically
discussed in the embodiments described in the foregoing and is
therefore not limited in its application to the details and
arrangement of components set forth in the foregoing description or
illustrated in the drawings. For example, aspects described in one
embodiment may be combined in any manner with aspects described in
other embodiments.
[0121] Also, the invention may be embodied as a method, of which an
example has been provided. The acts performed as part of the method
may be ordered in any suitable way. Accordingly, embodiments may be
constructed in which acts are performed in an order different than
illustrated, which may include performing some acts simultaneously,
even though shown as sequential acts in illustrative
embodiments.
[0122] Use of ordinal terms such as "first," "second," "third,"
etc., in the claims to modify a claim element does not by itself
connote any priority, precedence, or order of one claim element
over another or the temporal order in which acts of a method are
performed, but are used merely as labels to distinguish one claim
element having a certain name from another element having a same
name (but for use of the ordinal term) to distinguish the claim
elements.
[0123] Also, the phraseology and terminology used herein is for the
purpose of description and should not be regarded as limiting. The
use of "including," "comprising," or "having," "containing,"
"involving," and variations thereof herein, is meant to encompass
the items listed thereafter and equivalents thereof as well as
additional items.
[0124] Having described several embodiments of the invention in
detail, various modifications and improvements will readily occur
to those skilled in the art. Such modifications and improvements
are intended to be within the spirit and scope of the invention.
Accordingly, the foregoing description is by way of example only,
and is not intended as limiting. The invention is limited only as
defined by the following claims and the equivalents thereto.
* * * * *