U.S. patent number 9,270,789 [Application Number 14/260,480] was granted by the patent office on 2016-02-23 for method of and system for managing client resources and assets for activities on computing devices.
This patent grant is currently assigned to Winview, Inc.. The grantee listed for this patent is Winview, Inc.. Invention is credited to Mark K. Berner, Matt Ford, Tim Huske, David B. Lockton, Mark J. Micheli.
United States Patent |
9,270,789 |
Huske , et al. |
February 23, 2016 |
Method of and system for managing client resources and assets for
activities on computing devices
Abstract
A method of and system for enabling a distributed entertainment
system over a computing device is described herein. When
implementing a distributed entertainment system wherein the
entertainment system is directly correlated to live events or
televised programs, there are a number of issues that must be
addressed such as differing timing and channels of television
programs and separate state laws. Furthermore, there are a plethora
of varying computing device models possibly requiring
model-specific software. An "Activity Client" is provided to handle
such concerns. Furthermore, since time is of the essence for
activities based on live or televised events, it is necessary to
ensure a computing device is able to receive the necessary updates
for the program before the event begins. By providing only the
needed components instead of entire data packages, the present
invention is able to much more efficiently prepare users' computing
devices in time.
Inventors: |
Huske; Tim (Sunnyvale, CA),
Micheli; Mark J. (San Francisco, CA), Berner; Mark K.
(Santa Clara, CA), Ford; Matt (Redwood City, CA),
Lockton; David B. (Redwood City, CA) |
Applicant: |
Name |
City |
State |
Country |
Type |
Winview, Inc. |
Redwood City |
CA |
US |
|
|
Assignee: |
Winview, Inc. (Carmel,
CA)
|
Family
ID: |
37595825 |
Appl.
No.: |
14/260,480 |
Filed: |
April 24, 2014 |
Prior Publication Data
|
|
|
|
Document
Identifier |
Publication Date |
|
US 20140237025 A1 |
Aug 21, 2014 |
|
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
11472241 |
Jun 20, 2006 |
8738694 |
|
|
|
60692356 |
Jun 20, 2005 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04N
7/173 (20130101); H04N 21/4431 (20130101); H04L
67/42 (20130101); H04N 21/8173 (20130101); H04N
21/4758 (20130101); H04N 21/4781 (20130101); H04N
21/442 (20130101); H04N 21/2187 (20130101); H04N
21/4524 (20130101); H04N 21/4307 (20130101); H04L
67/18 (20130101) |
Current International
Class: |
H04L
29/06 (20060101); H04N 21/45 (20110101); H04N
7/173 (20110101); H04N 21/2187 (20110101); H04N
21/43 (20110101); H04N 21/442 (20110101); H04N
21/81 (20110101); H04N 21/478 (20110101); H04N
21/475 (20110101); H04N 21/443 (20110101) |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
|
|
|
|
|
|
|
2252021 |
|
Nov 1998 |
|
CA |
|
2252074 |
|
Nov 1998 |
|
CA |
|
2279069 |
|
Jul 1999 |
|
CA |
|
2287617 |
|
Oct 1999 |
|
CA |
|
0649102 |
|
Jun 1996 |
|
EP |
|
2364485 |
|
Jan 2002 |
|
GB |
|
11-46356 |
|
Feb 1999 |
|
JP |
|
11-239183 |
|
Aug 1999 |
|
JP |
|
2000-165840 |
|
Jun 2000 |
|
JP |
|
2000-217094 |
|
Aug 2000 |
|
JP |
|
2000-358255 |
|
Dec 2000 |
|
JP |
|
2001-28743 |
|
Jan 2001 |
|
JP |
|
2000-209563 |
|
Jul 2008 |
|
JP |
|
330242 |
|
Oct 1998 |
|
NZ |
|
01/65743 |
|
Sep 2001 |
|
WO |
|
02/003698 |
|
Oct 2002 |
|
WO |
|
2008027811 |
|
Mar 2008 |
|
WO |
|
2008115858 |
|
Sep 2008 |
|
WO |
|
Other References
"Two Way TV Patent and Filing Map"
www.twowaytv.com/version4/technologies/tech.sub.--patents.asp.
cited by applicant .
"Ark 4.0 Standard Edition, Technical Overview"
www.twowaytv.com/version4/technologies/tech.sub.--ark.sub.--professional.-
asp. cited by applicant .
"Understanding the Interactivity Between Television and Mobile
Commerce", Robert Davis and David Yung, Communications of the ACM,
Jul. 2005, vol. 48, No. 7, pp. 103-105. cited by applicant .
"Re: Multicast Based Voting System"
www.ripe.net/ripe/maillists/archives/mbone-eu-op/1997/msg00100html.
cited by applicant .
"IST and Sportal.com: Live on the Internet Sep. 14, 2004 by Clare
Spoonheim", www.isk.co.usk/NEWS/dotcom/ist.sub.--sportal.html.
cited by applicant .
"Modelling User Behavior in Networked Games by Tristan Henderson
and Saleem Bhatti", www.woodworm.cs.uml.edu/rprice/ep/henderson.
cited by applicant .
"SMS Based Voting and Survey System for Meetings",
www.abbit.be/technology/SMSSURVEY.html. cited by applicant .
"PurpleAce Launches 3GSM Ringtone Competition",
www.wirelessdevnet.com/news/2005/jan/31/news6html. cited by
applicant .
"On the Performance of Protocols for collecting Responses over a
Multiple-Access Channel", Mostafa H. Ammar and George N. Rouskas,
IEEE Inforcom '91, pp. 1490-1499, vol. 3, IEEE, New York, NY. cited
by applicant .
Merriam-Webster, "Game" definition,
<http://www.merriam-webster.com/dictionary/agme>p. 1. cited
by applicant .
Ducheneaut et al., "The Social Side of Gaming: A Study of
Interaction Patterns in a Massively Multiplayer Online Game", Palo
Alto Research Center, Nov. 2004, vol. 6, Issue 4, pp. 360-369.
cited by applicant.
|
Primary Examiner: Golabbakhsh; Ebrahim
Attorney, Agent or Firm: Haverstock & Owens LLP
Parent Case Text
RELATED APPLICATION(S)
This patent application is a continuation of co-pending U.S. patent
application Ser. No. 11/472,241, filed on Jun. 20, 2006, entitled
METHOD OF AND SYSTEM FOR MANAGING CLIENT RESOURCES AND ASSETS FOR
ACTIVITIES ON COMPUTING DEVICES which claims priority under 35
U.S.C. .sctn.119(e) of the co-owned U.S. Provisional Patent
Application No. 60/692,356, filed Jun. 20, 2005, and entitled
SYSTEMS AND METHODOLOGIES ENABLING A CELL PHONE BASED SUBSCRIPTION
SERVICE OFFERING A VARIETY OF SCHEDULED GAMES IN CONNECTION WITH
LIVE TELEVISION PROGRAMMING" which are also both hereby
incorporated by reference in their entirety.
This application is related to U.S. patent application Ser. No.
11/298,901, filed on Dec. 9, 2005 and entitled "A GAME OF SKILL
PLAYED BY REMOTE PARTICIPANTS UTILIZING WIRELESS DEVICES IN
CONNECTION WITH A COMMON GAME EVENT" and U.S. patent application
Ser. No. 11/166,596, filed on Jun. 24, 2005 and entitled "METHODS
AND APPARATUS FOR DISTRIBUTED GAMING OVER A MOBILE DEVICE" which
claims priority under 35 U.S.C. .sctn.119(e) of the U.S.
Provisional Patent Application Ser. No. 60/588,273, filed Jul. 14,
2004 and entitled "A METHODOLOGY FOR PROVIDING ALL CONTESTANTS IN
GAMES OF SKILL PLAYABLE ON CELL PHONES WITH THEIR CURRENT STANDING
WHILE RECEIVING GAME CONTROL INFORMATION ONE-WAY VIA A `BROADCAST`
TRANSMISSION," which are all incorporated by reference in their
entirety.
Claims
What is claimed is:
1. A method of implementing an entertainment service on computing
devices comprising: downloading an activity client to a computing
device; selecting and registering with an entertainment service;
loading a set of event information related to a location of the
computing device to the activity client, wherein the location
determines the set of event information to be loaded, further
wherein the location determines a geographic-specific schedule of
events, wherein the set of event information includes a schedule of
available events, further wherein the schedule of available events
includes a name of a television event, identification of an
activity to be played with the television event, a television
network and local channel offering the television event, a duration
of the television event and information relating to nature of a
prize related to the television event; selecting an event from the
activity client to participate in by a user from a list of possible
events; downloading a set of activity-specific information related
to an activity from a server to the computing device; and executing
an interactive application corresponding to the event on the
computing device.
2. The method as claimed in claim 1 wherein the activity client is
a program for managing activity information and data.
3. The method as claimed in claim 1 further comprising identifying
a user status.
4. The method as claimed in claim 3 wherein identifying the user
status includes identifying a geographic location of the computing
device.
5. The method as claimed in claim 1 wherein the activity client is
specifically designed for the computing device.
6. The method as claimed in claim 1 wherein executing the
application is in real-time, synchronized with the event.
7. The method as claimed in claim 1 further comprising displaying
the set of event information.
8. The method as claimed in claim 1 wherein the set of event
information is continually broadcast from the server and received
at the computing device.
9. The method as claimed in claim 1 wherein the set of
activity-specific information includes activity-specific
instructions and information related to nature of the activity and
event.
10. The method as claimed in claim 1 wherein an activity
interpreter resident in the activity client is used to execute the
application.
11. The method as claimed in claim 10 wherein the activity
interpreter combines the activity, event and device instructions to
execute the activity in real-time.
12. The method as claimed in claim 1 wherein the application is
selected from the group consisting of a game, a survey and a
poll.
13. The method as claimed in claim 1 wherein the computing device
is a wireless device.
14. The method as claimed in claim 1 wherein the computing device
is selected from the group consisting of a set-top box, a personal
computer, a gaming console, a laptop computer, a cell phone, a PDA
and a combination device.
15. The method as claimed in claim 1 further comprising: a.
receiving a list of assets from the server; b. comparing the list
of assets with a first set of assets on the computing device; c.
receiving only a second set of assets within the list of assets
that are not already resident on the computing device.
16. The method as claimed in claim 15 further comprising improving
efficiency by prioritizing the second set of assets.
17. The method as claimed in claim 16 wherein the second set of
assets are grouped into a set of necessary assets and a set of
preferred assets.
18. The method of claim 1 wherein the application comprises an
interactive activity.
19. The method of claim 1 wherein the entertainment service
comprises a game service.
20. The method of claim 1 wherein the entertainment service
comprises a television-related service.
21. A method of implementing an entertainment service at a server
comprising: receiving information registering with the
entertainment service from one or more computing devices;
downloading an activity client from the server to the one or more
computing devices; determining a location of each of the one or
more computing devices; for each of the one or more computing
devices, loading a set of event information related to the location
of the computing device to the activity client, wherein the
location determines the set of event information to be loaded,
further wherein the location determines a geographic-specific
schedule of events, wherein the set of event information includes a
schedule of available events, further wherein the schedule of
available events includes a name of a television event,
identification of an activity to be played with the television
event, a television network and local channel offering the
television event, a duration of the television event and
information relating to nature of a prize related to the television
event; downloading a set of activity-specific information related
to an activity from the server to one or more of the computing
devices.
22. The method of claim 21 wherein the entertainment service
comprises a game service.
23. The method of claim 21 wherein the entertainment service
comprises a television-related service.
24. The method of claim 21 further comprising executing an
application corresponding to a selected event on the computing
device.
25. The method of claim 24 wherein the application is an
interactive activity.
26. The method of claim 24 wherein the application is selected from
the group consisting of a game, a survey and a poll.
27. The method of claim 24 wherein the application is synchronized
with television programming.
28. The of claim 21 wherein downloading the set of
activity-specific information comprises: receiving a list of assets
from the server; comparing the list of assets with a first set of
assets on the computing device; and receiving only a second set of
assets within the list of assets that are not already resident on
the computing device.
29. A method of implementing an entertainment service on computing
devices comprising: downloading an activity client to a computing
device; selecting and registering with an entertainment service;
loading a set of event information related to a location of the
computing device to the activity client, wherein the location
determines the set of event information to be loaded, wherein the
set of event information includes a schedule of available events,
further wherein the schedule of available events includes a name of
a television event, identification of an activity to be played with
the television event, a television network and local channel
offering the television event, a duration of the television event
and information relating to nature of a prize related to the
television event; selecting an event from the activity client to
participate in by a user from a list of possible events;
downloading a set of event-specific information related to an
activity from a server to the computing device including: receiving
a list of assets from the server; comparing the list of assets with
a first set of assets on the computing device; receiving only a
second set of assets within the list of assets that are not already
resident on the computing device; and executing an interactive
application corresponding to the event on the computing device.
30. The method of claim 29 wherein the entertainment service
comprises a game service.
31. The method of claim 29 wherein the entertainment service
comprises a television-related service.
32. The method of claim 29 wherein the application is selected from
the group consisting of a game, a survey and a poll.
33. The method of claim 29 wherein the application is synchronized
with television programming.
34. A method of implementing an entertainment service on computing
devices comprising: selecting and registering with an entertainment
service; downloading an activity client to a computing device;
loading a set of game information related to a location of the
computing device to the activity client, wherein the location
determines the set of game information to be loaded, wherein the
set of event information includes a schedule of available events,
further wherein the schedule of available events includes a name of
a television event, identification of an activity to be played with
the television event, a television network and local channel
offering the television event, a duration of the television event
and information relating to nature of a prize related to the
television event; selecting a game from the activity client to
participate in by a user from a presented list of possible games
constructed from the set of game information; downloading a set of
activity-specific information related to an activity from a server
to the computing device; and executing an interactive application
corresponding to the game on the computing device.
35. The method of claim 34 wherein the entertainment service
comprises a game service.
36. The method of claim 34 wherein the entertainment service
comprises a television-related service.
37. The method of claim 34 wherein the application is selected from
the group consisting of a game, a survey and a poll.
38. The method of claim 34 wherein the application is synchronized
with television programming.
Description
FIELD OF THE INVENTION
The present invention relates to the field of distributed
entertainment. More specifically, the present invention relates to
the field of distributed entertainment utilizing a computing device
where the entertainment corresponds to an event.
BACKGROUND OF THE INVENTION
In the United States alone there are over 170 million registered
cell phones. With the expiration of the U.S. Pat. No. 4,592,546 to
Fascenda et al., companies are able to now use the cell phone and
other mobile communication devices utilizing a multicast network to
control television viewers in games of skill based upon predicting,
for example, what the quarterback may call on the next play. In
addition, games of skill with a common start time can be conducted
simultaneously among cell phone owners, based on classic card,
dice, trivia, and other games. In order to avoid the anti-gaming
laws in the various states, elements of chance must be virtually
non-existent in such games and the winners therefore determined by
the relative skill, experience and practice of the player in each
discrete game. In certain jurisdictions and under certain
circumstances, simultaneous games of chance can be conducted using
the same technology as games of skill.
Although the ability to play games and enjoy other activities
corresponding to current events on cell phones exists, there are a
number of issues regarding coordinating the games across a
nationwide network. Cellular networks and other networks are only
able to handle a limited amount of traffic, so when millions of
participants utilize the network at the same time for a regularly
scheduled event, there are concerns of the network being overloaded
and bogged down to a point where users do not receive necessary
data in a timely manner.
Furthermore, cell phones and other computing devices have their own
limitations as well. Although cell phone memory is increasing as is
typical with technology, cell phones still have a limited amount of
memory. Moreover, many users still have somewhat older cell phones
that have less memory than current models. In addition to the
memory limitations, there are multiple cell phone service providers
and a plethora of cell phone models using slightly different
protocols. Cell phone users are also sensitive to the time it takes
to download the necessary data to play games or enjoy
activities.
Servers of the entertainment provider also have limited resources
yet must be able to ensure the potentially millions of simultaneous
users have the necessary and proper software resident on their cell
phones in order to participate in scheduled interactive programs.
Again, servers are continuously growing more powerful, quicker and
more stable; however there is still potential to overload a server
with excessive traffic.
Additionally, other aspects of a nationwide service generate
potential issues such as multiple time zones, differing timing and
channels of television programs and separate state laws.
SUMMARY OF THE INVENTION
A method of and system for enabling a distributed entertainment
system over a computing device is described herein. When
implementing a distributed entertainment system wherein the
entertainment system is directly correlated to live events or
televised programs, there are a number of issues that must be
addressed such as differing timing and channels of television
programs and separate state laws. Furthermore, there are a plethora
of varying computing device models possibly requiring
model-specific software. An "Activity Client" is provided to handle
such concerns. Furthermore, since time is of the essence for
activities based on live or televised events, it is necessary to
ensure a computing device is able to receive the necessary updates
for the program before the event begins. By providing only the
needed components instead of entire data packages, the present
invention is able to much more efficiently prepare users' computing
devices in time.
In one aspect, a method of implementing an entertainment service on
computing devices comprises downloading an activity client to a
computing device, loading a set of event information to the
activity client, selecting an event to participate in from a list
of possible events, downloading a set of activity-specific
information from a server to the computing device and executing an
application corresponding to the event on the computing device. The
activity client is a program for managing activity information and
data. The method further comprises selecting and registering with a
television-related service. The method further comprises
identifying a user status. Identifying the user status includes
identifying a geographic location of the computing device. The
activity client is specifically designed for the computing device.
Executing the application is in real-time, synchronized with the
event. The set of event information includes a schedule of
available events. The schedule of available events includes a name
of a television event, identification of an activity to be played
with the television event, a television network and local channel
offering the television event, a duration of the television event
and information relating to nature of a prize related to the
television event. The method further comprises displaying the set
of event information. The set of event information is continually
broadcast from the server and received at the computing device. The
set of activity-specific information includes activity-specific
instructions and information related to nature of the activity and
event. An activity interpreter resident in the activity client is
used to execute the application. The activity interpreter combines
the activity, event and device instructions to execute the activity
in real-time. The application is selected from the group consisting
of a game, a survey and a poll. The computing device is a wireless
device. The computing device is selected from the group consisting
of a set-top box, a personal computer, a gaming console, a laptop
computer, a cell phone, a PDA and a combination device. The method
further comprises receiving a list of assets from the server,
comparing the list of assets with a first set of assets on the
computing device and receiving only a second set of assets within
the list of assets that are not already resident on the computing
device. The method further comprises improving efficiency by
prioritizing the second set of assets. The second set of assets are
grouped into a set of necessary assets and a set of preferred
assets.
In another aspect, a method of receiving data on a client device to
participate in a specific interactive event comprises receiving a
list of assets from a server, comparing the list of assets with the
assets on the client device and receiving only the assets within
the list of assets that are not already resident on the client
device. The method further comprises selecting an activity
corresponding to an event from a menu of events. The activity is a
game. The method further comprises requesting the list of assets
from the server that are required to participate in the specific
interactive event. The list of assets are sent from the server. The
method further comprises requesting the assets not already on the
client device. The method further comprises improving efficiency by
prioritizing the assets. The assets are grouped into a set of
necessary assets and a set of preferred assets. The client device
is a wireless device. The client device is selected from the group
consisting of a set-top box, a personal computer, a gaming console,
a laptop computer, a cell phone, a PDA and a combination
device.
In another aspect, a method of receiving data on a client device to
participate in a specific interactive event comprises sending a
request to a server from a client device to retrieve assets needed
for an activity and concurrently sending a list of the assets
currently resident on the client, comparing the list of resident
assets sent by the client with a previously generated list of
assets on the server and downloading a packet customized for the
client containing only the assets missing on the client. The method
further comprises improving efficiency by prioritizing the assets.
The assets are grouped into a set of necessary assets and a set of
preferred assets. The client device is a wireless device. The
client device is selected from the group consisting of a set-top
box, a personal computer, a gaming console, a laptop computer, a
cell phone, a PDA and a combination device.
In yet another aspect, a system for receiving data to participate
in a specific interactive event comprises a server and a client
device coupled to the server for receiving a set of
activity-specific data from the server wherein the client device
comprises a memory for storing an activity client. The activity
client is a program for managing activity information and data. The
activity client further comprises an activity interpreter. A list
of assets are utilized to determine which assets are downloaded to
the activity client. A set of necessary assets are downloaded to
the client device. The client device is a wireless device. The
client device is selected from the group consisting of a set-top
box, a personal computer, a gaming console, a laptop computer, a
cell phone, a PDA and a combination device.
In another aspect, a client device comprises a communication
interface, an activity client for receiving activity information
through the communication interface and a display for displaying
the activity information received by the activity client. The
activity client is a program for managing activity information and
data. The activity client further comprises an activity
interpreter. The activity client receives a set of assets related
to an application. The application is selected from the group
consisting of a game, a survey and a poll. A list of assets are
utilized to determine which assets are downloaded to the activity
client. Only a set of necessary assets are downloaded to the
activity client. The client device is selected from the group
consisting of a set-top box, a personal computer, a gaming console,
a laptop computer, a cell phone, a PDA and a combination device.
The activity information comprises a schedule of upcoming events,
is device-specific, is geographic-specific and is
activity-specific. A user navigates and selects an event from the
schedule of upcoming events.
In another aspect, a server device is configured to communicate
with client devices in a plurality of locations wherein the server
device provides location-specific activity information to the
client devices, wherein the client devices each store an activity
client. The server device comprises a communications interface for
communicating with the client devices, an asset module for
determining which assets each client device needs and a
distributing module for sending the assets needed to each client
device. The activity client is a program for managing activity
information and data. The activity information comprises a schedule
of upcoming events. The schedule of upcoming events is
activity-specific. The schedule of upcoming events is
device-specific. A user navigates and selects an event from the
schedule of upcoming events. The server device stores a list of
assets required for the client devices to run an application. The
server device sends the list of assets to the client devices. The
server device sends only requested assets for each client device of
the client devices. The server device compares the list of assets
with a list of client assets after each client device of the client
devices sends the list of client assets to the server device. The
server device sends only assets in the list of assets that are not
in the list of client assets for each client device of the client
devices.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a flowchart of an embodiment of utilizing an
"Activity Client" to ensure a cell phone or other computing device
is properly configured.
FIG. 2 illustrates a flowchart of an embodiment of implementing a
manifest to determine needed assets for a client computing
device.
FIG. 3 illustrates a flowchart of an alternative embodiment of
implementing a manifest to determine needed assets for a client
computing device.
FIG. 4 illustrates an exemplary manifest of the present
invention.
FIG. 5 illustrates a block diagram of an embodiment of the present
invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
A system for and method of implementing a nationwide entertainment
service on computing devices and handling the issues described
above are described herein. In some embodiments, the entertainment
service is subscription-based. The computing devices include, but
are not limited to, set-top boxes, personal computers, gaming
consoles, laptop computers, cell phones, PDAs and combination
devices such as cell phone/mp3 players.
There are over 200 separate television programming areas across the
country. The programming offerings available depend on each
individual's physical location. There are hundreds of different
printed versions of the "TV Guide," and the same television
programs will be viewed at different times and on different
television channels depending on what Designated Market Area (DMA)
a consumer is located in. Thus, the schedule of events for one
person might be entirely different from another person located just
a few miles away. Monthly and trial subscribers must be informed in
advance which television programs will have games or other
activities offered by the service concurrent with their telecast.
For example, Jeopardy might start at 4 PM ET on Channel 7 in San
Francisco, but in Chicago it starts at 6 PM ET on Channel 5, and 7
PM ET on Channel 13 in New York.
Furthermore, the schedules are continuously changing. The activity
schedule changes often and must be updated by adding new activities
as well as dropping activities which are based on TV programs that
have finished airing or are too far into the program to allow
entry.
Immediate entry into activities is also required, since time is of
the essence in getting all of the required information processed
and downloaded to the client. Moreover, since many contests or
competitions are of short duration, a competitor might be put at a
disadvantage if opportunities to earn points which determine the
winners of prizes are missed at the start of the contest, therefore
users must be permitted entry possibly seconds before the beginning
of a contest, specifically a TV program-based contest. For other
activities, such as surveys, time is not necessarily of the
essence, but it is still beneficial to users, if they do not have
long wait times before participating in an activity. As is
described further below, an improved method is described to ensure
users have the necessary components of the activity application
residing in the memory of the cell phones or computing devices in
time to play an activity from its beginning.
The legality of awarding prizes is based on 50 separate state laws.
For example, Nevada and Utah have very different gaming laws. When
games of skill are offered, each state's laws will define what
constitutes a legal game of skill. The same game playable for
prizes by a user at one location is not necessarily legal for a
user across a state line which might be across the street. It is
incumbent upon the entertainment service operator to abide by the
laws in each of the jurisdictions where it has users.
Different software is occasionally needed for different makes and
models of computing devices such as cell phones. A nationwide
entertainment service has a universe of potential users who will
utilize a wide variety of makes and models of cell phones. Many of
these devices will have different capabilities and requirements
regarding display, memory, user interface, and other technical
requirements to operate the software necessary to provide such an
entertainment service. Therefore, slightly different software is
likely required for each separate make and model of a user's
device.
A typical subscriber is able to play dozens of different TV-related
activities in a week, including football, baseball, Wheel of
Fortune.TM., The Apprentice.TM. and others. Most makes and models
of cell phones have significant limitations on the amount of
useable memory for storing downloadable application software.
Therefore, a subscriber's cell phone should not be expected to hold
in the temporary or permanent memory all of the software capable of
running dozens of separate and discreet activity applications which
might be offered by such an entertainment service. Minimizing and
managing the amount of memory required to fully enjoy the
entertainment service is essential.
The present invention utilizes a software application, referred to
as an "Activity Client." The "Activity Client" is retained in a
user's computing device's memory. A variety of methodologies are
implemented for downloading the "Activity Client" into memory of
the cell phone or other computing device utilized. In an
embodiment, the "Activity Client" is preloaded prior to purchase by
a manufacturer or carrier. In an alternative embodiment, in order
to initiate the service, a subscriber once registered, selects the
company's "Activity Client" from a menu on the cell phone or other
computing device from a list of activities, games and other
entertainment services offered by a wireless service provider such
as Verizon.TM. Wireless or Sprint.TM.. In some embodiments, if the
activity is to be participated other than on a trial basis,
registration and billing arrangements with the service will be
accomplished either on the company's internet site, or by inputting
registration information utilizing the cell phone or other
computing device.
Upon selecting the company's service from this menu, a data
connection is made to either the cellular service provider or the
company's server, and the "Activity Client" is downloaded to the
user's cell phone or other computing device. An example protocol
implemented is TCP. In the cell phone embodiment, the process of
downloading the "Activity Client" is similar to the current methods
whereby discrete cell phone activities are selected, downloaded,
and previewed or purchased.
In some embodiments, the downloaded "Activity Client" resides in
the cell phone's compact flash memory. When the user subsequently
launches the "Activity Client" on his/her cell phone or other
computing device, a data connection is made to a server. After the
user is authenticated and their entitlement level has been
determined, the authorized and geographic-specific schedule of
events is sent down to his/her phone. Using this approach, the
schedule is continuously updated while the "Activity Client" is
active.
The "Activity Client" in its default mode, utilizes the LCD on the
cell phone to display the entertainment beginning with the next
scheduled activities yet to start, generally on the half hour.
Since the registration process provides the service provider with
the make and model of each user's phone, all "Activity Client"
downloads are specific for that phone and service. Thus, for
example, if a user downloads the "Activity Client" to his Samsung
phone on a Verizon Wireless network, subsequent downloads to that
phone will function properly as they are specifically designed for
that phone.
To address the issue of numerous programming areas across the
country, in one embodiment, the legally mandated ability of the
cellular networks to accurately identify the physical location of
every cell phone is utilized. Alternatively, and when using
computing devices other than a cell phone, other information is
utilized to locate the user, such as area code, zip code, or the
billing address provided by the user. Based on the information
acquired or provided, the server selects the specific schedule of
activities, along with start times and TV channel designation for
the location for this particular user. The scheduling information
is downloaded into a template residing in the "Activity Client."
For example, a user located in the Indianapolis, Ind. television
DMA might receive a schedule which includes 9:00 pm Monday Night
Football, ABC, Channel 13.
In an alternative embodiment, another methodology is utilized
wherein specific scheduling information is continually broadcast to
all of the users' phones, either utilizing SMS messages to "wake"
the phone or, by utilizing a 3G "always on" multicast to update the
schedule continually without user intervention, as long as the
user's telephone is powered on.
The server, when determining the location of the cell phone, also
accesses information concerning each specific activity offered as
to whether or not it has been determined that the activity meets
the applicable state law requirements of the game of skill for each
particular participant. The user is then informed as to whether or
not a prize will be offered to the competitors in this activity
from their location.
In addition to containing software for enabling the continual
receipt and updating of schedules and activity playing information
specific to each user's geographic location, the "Activity Client"
has the ability to receive and hold downloaded activity-specific
data instructions from the server. Thus, when a specific activity
is selected for play by the user, for example, Monday Night
Football.TM., Wheel of Fortune.TM., or Major League Baseball.TM.,
the server downloads the activity-specific instructions into a
memory space provided for this purpose in the "Activity Client."
These activity-specific data instructions are based on the specific
genre such as football, specific event such as San Francisco 49ers
vs Dallas Cowboys and the specific computing device such as a
wireless mobile device such as Sanyo.TM. 4300. Thereafter, the
specific activity instructions temporarily reside inside the
"Activity Client" until the next activity playing session, where it
is replaced by different activity-specific data instructions
selected by the user.
In an alternative embodiment, the system described herein is used
to schedule and control duplicate activities of skill or chance
with a common scheduled start time, played simultaneously, which
are self contained, for example, not related to a television
program. Examples of such include a trivia game, or classic card,
dice, word games or games based on television clips.
FIG. 1 illustrates a flowchart of an embodiment of utilizing an
"Activity Client" to ensure a cell phone or other computing device
is properly configured. In the step 100, a user selects from a menu
provided by his web service provider or cellular service operator,
for example, Verizon Wireless.TM., Cingular.TM., or Sprint.TM., the
TV related subscription service or other service. In the step 102,
the user registers with the subscription service when necessary.
For some activities, registration is required, but for others,
registration is optional or not even available. After registration,
if necessary, the user receives a downloaded "Activity Client" into
his cell phone or other computing device, specific to the device's
make and model in the step 104. In the step 106, to access the
entertainment service, the "Activity Client" is selected by the
user from the menu, and the device connects via the cellular
network and/or internet to the service provider's server.
Alternatively, after the "Activity Client" is downloaded, the
device automatically connects to the server. In the step 108, the
server identifies the user's status as a "trial" subscriber, "ad
hoc" competitor, or "full monthly" subscriber, and identifies the
specific geographic location of the user. In the step 110, a
current schedule of all available events, by name of event, TV
network and channel offered, duration of event, and the nature of
the prize, and where appropriate, information that indicates that
the activity is able to be played for a prize in the user's locale
or not, is loaded into the "Activity Client" and displayed on the
device's LCD. In an alternative embodiment, once the "Activity
Client" is resident on the user's device, scheduling information is
continually "pushed" or "broadcast" and passively received and
updated on the "Activity Client" so that it is instantly accessed,
current and up to the minute. In the step 112, the user selects the
event he/she desires to play along with from a variety of
possibilities presented on the device. In the step 114, the
"Activity Client" software connects to the company's server, and
the activity-specific instructions for a specific device, the
nature of the activity, and the specific event are downloaded into
the "Activity Client." In the step 116, the "Activity Client" then
utilizes the activity interpreter resident in the "Activity Client"
and starts the activity application. In the step 118, the activity
interpreter that resides in the "Activity Client" combines the
activity, event, and device instructions and uses these data
instructions to execute the activity application as it unfolds in
real-time, synchronized with the television programming or live
event being viewed by the user.
Additionally, managing different types of software assets or
components required by different models of computing devices such
as cell phones offered by a variety of cellular carriers or web
service providers is described herein. To successfully participate
in an activity of skill, based on a television show or live event,
a user's cell phone needs specific software to manage, for example,
the images displayed on the LCD display, the sound effects utilized
by the activity, the activity scripts, the advertising copy and
images which are displayed interstitially during the activity, and
event-specific data generated in real-time and synchronized with
the unfolding of a television show or live event. Complexity is
further compounded by the fact that the assets change in minor or
major part from activity to activity. For example, from football to
baseball to Jeopardy.TM., there are changes to these assets. Some
cellular phones are able to retain some or all of the assets in the
phone's memory if the activity to be played was the last activity
partaken by a user. Other phones retain some or part of the assets
which are common to different genres of activities. Yet other
phones retain none of the assets. For example, a first time user or
frequent user whose assets were replaced by an upload for a
different genre of activity would likely have none of the
assets.
Regardless of what type of device is used and on whichever service,
the present invention ensures that the application in each user's
device receives all of the specific assets necessary for that
particular genre of activity for a specific scheduled event while
minimizing capacity and latency issues by assuring that only the
necessary assets which are not resident on the device for the event
are delivered on a timely basis to each cell phone. By using an
implementation that only sends necessary missing data, less
information needs to be transferred therefore there is less traffic
congestion, and users are able to receive the necessary components
on time.
Although a cell phone is used in the example above, the present
invention is not limited to cell phones. As described above and
below, the present invention is applicable to a variety of
computing devices in addition to cellular telephones.
FIG. 2 illustrates a flowchart of an embodiment of implementing a
manifest, which is a list of assets, to determine needed assets for
a client computing device. In the step 200, a user selects an
activity from a menu which triggers a program in the user's client
computing device which contacts a server and requests a manifest of
assets, from the server, that are required to participate in a
specific interactive event. The server then sends the manifest to
the client, in the step 202. In the step 204, the client then
compares the received manifest to the assets currently resident in
the computing device. The client then requests from the server the
assets it needs to have resident in the client to obtain a full
compliment of required software necessary to participate in the
activity, in the step 206. The server then sends a package
containing only the assets necessary to complete the manifest
resident on the client computing device in the step 208.
FIG. 3 illustrates a flowchart of an alternative embodiment of
implementing a manifest to determine needed assets for a client
computing device. Upon receiving input that a specific activity is
about to be undertaken, the client sends a request to the server to
retrieve all of the assets it needs for a particular activity while
also sending a listing of the assets currently resident on the
client, in the step 300. The server having previously generated the
manifest for the event, then compares the list of resident assets
sent with the request in the step 302, and then downloads a single
packet customized for the client containing only the assets missing
on the client, in the step 304.
FIG. 4 illustrates an exemplary manifest of the present invention.
Assets listed in a manifest 400, range in necessity from those that
are absolutely required to those that are preferable. To further
improve efficiency when delivering components to a user's computing
device, the manifest 400 is able to prioritize the assets for the
client device to resolve. In some embodiments, the manifest groups
the assets into two sets of assets: a first set 402 of required
assets and a second set 404 of preferable assets. Furthermore, the
assets within each group are able to be ordered utilizing
priorities ensuring that the most important assets in the group are
first. For example, the server sends the following list of assets
required for an event--A, D, and (E, F and H). The assets (E, F and
H) are grouped in the response so that the client knows that at
least one of them is necessary for the client to join the event.
Additionally, the order in which the assets are listed is able to
provide additional information to the client device about their
priority. For instance, in the example above, the asset E is the
most preferred asset 406, then F and finally H within the first set
402 of required assets. If the client has none of the assets, it is
able to only request E, depending on the current constraints such
as time remaining before the start of the event, the size of the
memory on the client device and other similar considerations.
Although the manifest used in the example above only has two levels
and five total assets, the size of the manifest is able to be
modified as desired. If three levels of groupings are preferred,
then that hierarchy is able to be implemented. Furthermore, more or
less than five assets are able to be included within the manifest,
as appropriate.
By minimizing the amount of temporary memory utilized for each
application in the client, the time necessary to load the software
to play an event is decreased, and the memory of each client is
used more efficiently. Thus, the server is able to minimize this
overhead by only sending the assets which the client specifically
needs for a specific application at a specific time. In one
embodiment, the client is provided flexibility in terms of managing
the assets it needs for the activities. In another embodiment, the
processing that needs to be performed by the client is
minimized.
FIG. 5 illustrates a block diagram of an embodiment of the present
invention. A computing device 500 such as a set-top box, personal
computer, gaming console, laptop computer, cell phone, PDA or
combination cell phone/mp3 device includes a memory 502 for storing
data. As described above, the memory 502 varies in size depending
on the type and brand of computing device, where more recently
produced computing devices have larger memories and are thus able
to store more data. However, older computing devices only store a
minimal amount of data. Within the memory an "Activity Client" 504
is stored for receiving activity-specific data 508. The
activity-specific data 508 includes instructions for a specific
computing device, the nature of the activity and the specific
event. By utilizing a manifest 514 received from a server 512,
wherein the manifest 514 includes assets for running the activity,
the computing device 500 is able to efficiently retrieve the
activity-specific data 508. A list of needed assets 516 by the
computing device 500 is sent from the computing device 500 back to
the server 512. Then, the necessary assets 518 are downloaded to
the memory 502 of the computing device 500. An activity interpreter
506 within the "Activity Client" utilizes the activity-specific
data 508 to start the activity application by combining the
activity, event and device instructions and executing the activity
in real-time. The computing device 500 also includes a display 520,
a communication interface 522 and other standard components
necessary for proper functionality. The server 512 also includes a
communications interface 524 for communicating with the client
device 500, an asset module 526 for determining which assets the
client device 500 needs and a distributing module 528 for sending
the assets needed to the client device 500.
The present invention is applicable to any communicating computing
devices such as set-top boxes, personal computers, gaming consoles,
laptop computers, cell phones, PDAs and combination devices such as
cell phone/mp3 players. The computing devices must have access to a
network, but are able to be wired or wireless. The computing
devices also are able to be mobile or stationary. Furthermore, the
network is able to include a cellular network, a web-based network
or any other information sharing network.
The activities that are able to be participated in utilizing the
present invention include, but are not limited to, games, polls,
surveys, and other interactive activities.
In one specific embodiment, a user utilizes a wireless device, such
as a cell phone to subscribe to an interactive gaming service. The
user then registers with the service and downloads an "Activity
Client" into the cell phone where the "Activity Client" is
specifically configured for that type of cell phone. Then, the cell
phone connects through the cellular network and Internet to a game
server. The game server identifies the user's status including the
specific geographical location. A current schedule of all available
events, by name of TV event, identification of the game to be
played with the TV event, TV network and channel offered, duration
of event, and the nature of the prize is then downloaded to the
"Activity Client." After a user views the schedule and other
information, the user is able to select the event they want to play
along with. Then, the "Activity Client" connects to the game server
and game-specific data is downloaded. In instances where some of
the game-specific data is already downloaded in the cell phone's
memory, only those assets that are not already there are
downloaded. Preferably, necessary assets are downloaded first and
then preferred assets are downloaded. This ensures that a user will
be able to play along with the game on time. Then, the "Activity
Client" utilizes the game interpreter resident to start the game.
The game interpreter also combines the game, event and device
instructions to execute the game in real-time while synchronized
with the television programming.
The present invention is also intended to apply to any kind of
application software which utilizes a variety of assets, where some
of the assets are maintained on a remote server such as playing
video games, listening to music and web browsing.
To utilize the present invention, a user has a computing device,
such as a cell phone, or other appropriate computing device with
which he is able to subscribe to an interactive entertainment
service. The user then registers with the service and downloads an
"Activity Client" into the computing device where the "Activity
Client" is specifically configured for that type of device. Then
the computing device connects through to a server. The server
identifies the user's status including the specific geographical
location. A current schedule of all available events, by name of TV
event, identification of the activity to be played with the TV
event, TV network and channel offered, duration of event, and the
nature of the prize is then downloaded to the "Activity Client."
After a user views the schedule and other information, the user is
able to select the event they want to play along with. Then, the
"Activity Client" connects to the server and activity-specific data
is downloaded. In instances where some of the activity-specific
data is already downloaded in the computing device's memory, only
those assets that are not already there are downloaded. Preferably,
necessary assets are downloaded first and then preferred assets are
downloaded. This ensures that a user will be able to play along
with the activity on time. Then, the "Activity Client" utilizes the
activity interpreter resident to start the activity. The activity
interpreter also combines the activity, event and device
instructions to execute the activity in real-time while
synchronized with the television programming.
In operation, a user is able to use his cell phone or other
computing device to enjoy interactive entertainment. For example,
the user scrolls through the menus and selects the interactive
entertainment desired to be played. Thereafter, downloads occur,
and instructions and options are displayed on the display so that a
user is able to read about and determine which interactive
entertainment he wants to play. After selecting the activity, again
further downloads occur to ensure the proper components are
installed on the user's computing device. For example, if it is a
Sunday afternoon at 12:50 PM PT, and a user in San Francisco,
Calif. sees that the San Francisco 49ers are playing the Oakland
Raiders at 1:00 PM PT, he is able to select that activity to play.
The user also watches the activity on television. In other
embodiments, the activity is watched on other devices such as a
computer, the cell phone or computing device itself, or live. At
1:00 PM PT, when the activity starts, the user is able to
interactively play along with what he is viewing by predicting
aspects of the activity.
Although a cell phone has been used throughout the present
specification as the main exemplary computing device, it should be
understood that any computing device is able to be used within the
described method and system.
The present invention has been described in terms of specific
embodiments incorporating details to facilitate the understanding
of principles of construction and operation of the invention. Such
reference herein to specific embodiments and details thereof is not
intended to limit the scope of the claims appended hereto. It will
be readily apparent to one skilled in the art that other various
modifications may be made in the embodiment chosen for illustration
without departing from the spirit and scope of the invention as
defined by the claims.
* * * * *
References