[go: up one dir, main page]

HK1079932A - System and method for application management through threshold events - Google Patents

System and method for application management through threshold events Download PDF

Info

Publication number
HK1079932A
HK1079932A HK05111858.3A HK05111858A HK1079932A HK 1079932 A HK1079932 A HK 1079932A HK 05111858 A HK05111858 A HK 05111858A HK 1079932 A HK1079932 A HK 1079932A
Authority
HK
Hong Kong
Prior art keywords
user
application
server
usage data
threshold event
Prior art date
Application number
HK05111858.3A
Other languages
Chinese (zh)
Inventor
P.马赫
Original Assignee
高通股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 高通股份有限公司 filed Critical 高通股份有限公司
Publication of HK1079932A publication Critical patent/HK1079932A/en

Links

Description

System and method for application management through threshold events
Background
I. Field of the invention
The present invention relates generally to computer networks and wireless communications, and more particularly to managing remote applications in a wireless communication network where threshold events occur during the execution phase of the application.
Description of the related Art
Mobile communication devices, such as cellular telephones and personal digital assistants, have computer platforms that are capable of providing more services than simple voice or data communication services. Existing mobile phones may receive "short messages" such as paging messages or e-mails. The mobile phone may also act as a web browser, allowing the user to surf the internet. The processor of an existing mobile device typically manages any resident applications, and the device processor alone executes the applications without interacting with a server or other computer device on the wireless network.
In existing wireless networks, one-way communication is very common, such as short messages like pages or e-mails downloaded from a server to a mobile device. These one-way communications typically use a limited amount of the expensive bandwidth of the cellular network. Two-way communication is reserved for voice calls between two parties in the network.
It is known that there are multi-user environments and substantially real-time interactions between personal computer devices over a wired LAN or the internet. Such interaction typically occurs through or in selective communication with a server on the internet or LAN that can store a record of the multi-user interaction for any purpose required by the host, such as application management, collection of marketing data, and distribution of software patches and updates. However, such application interaction and management is unnecessary and impractical in wireless devices due to bandwidth limitations and lack of a multi-user interaction environment.
It would therefore be advantageous to provide a system and method that allows remote application management on remote and mobile computer devices in a wireless network. Accordingly, the present invention is directed generally to providing such systems and methods.
Disclosure of Invention
The present invention is a system, method and program for providing an interactive game or application between a plurality of users located in different geographic locations, wherein the system manages the application based on threshold events occurring in the application. The threshold event may occur for a single user or for a collective group of users sharing the application.
The system includes a server connected to the wireless communication network, and optionally a database accessible by the server. The server communicates with a plurality of wireless communication devices, such as mobile phones or other handheld devices, over a wireless communication network. One or more users may launch an application by connecting to the server and selecting the application. The server identifies the user by the identification information associated with the handheld device and retrieves the appropriate level or access or application available to one or more users. The server may also send invitations to other users identified as teammates for the user, or may obtain other users for the multi-user environment as needed. If the application relates to an adversary, the server may send a list of adversaries and let the user select the adversary. After the user selects an adversary, the server may send an invitation to the adversary and set up an application between the two parties.
In one embodiment, the server selects the applications available to the user according to the user's previous application data, for example according to the score that has been reached or the duration of application usage. Thus, the server compares the application data to determine whether the user or group of users has reached a threshold event, and if so, the server may change the user's existing application, provide the user with a different level of access, or record the event that has been reached. The server or other database tracks and stores application event data for a user or group of particular remotely used applications, thereby eliminating the possibility of a user tampering with the threshold data.
In another embodiment, the server executes the selected application program, sending display information to the screen of each mobile communication device, and each user enters data from their mobile communication device, the input being sent from the mobile device to the server over the wireless communication network. The server accepts these inputs and incorporates them into the application. The output of the application is broadcast by the server to each handheld device for display while the server tracks events for multi-user interaction.
In an alternative embodiment, the selected application may be downloaded to and executed on each mobile device. In this embodiment, the user enters input, which the mobile device locally executes, and also sends application data to a server on the network. In this manner, the server-side user can determine threshold events occurring on a single mobile device.
Thus, the system, method and program provide the advantages of managing applications on remote mobile devices and controlling access to server-side applications, and provide benefits to users through server-side determination of threshold events. The present invention may be used for one or a fleet of users that are commonly applied on a device, whereby the present invention is scalable to multi-user applications. And since the application data of the mobile device is maintained at least at the server side, the data is protected from tampering by the user.
Other objects, advantages and features of the present invention will become apparent after review of the hereinafter set forth brief description of the drawings, detailed description of the invention, and the claims.
Brief Description of Drawings
Fig. 1 is an architectural diagram of a wireless communication network.
FIG. 2 is a block diagram of one embodiment of an application managed by a threshold event.
FIG. 3 is a block diagram of an alternative embodiment of an application managed by a threshold event.
FIG. 4 is a flow diagram of one embodiment of a process executing on a mobile device to receive and execute a gaming application.
Fig. 5 is a flow diagram of another embodiment of a process executing on a server of a wireless network that manages a gaming application executing on the device of fig. 4.
FIG. 6 is a flow diagram of a process executing on a mobile device executing a command during execution of an application, such as a game.
Fig. 7 is a flow chart of a server receiving and executing commands sent from the mobile device of fig. 6.
Fig. 8 is an example of application data stored in a server-side database.
Detailed Description
In the present disclosure, the terms "game" and "application" are used interchangeably, and "score" and "threshold event" are used interchangeably, with like reference numerals referring to like elements in the several views. As third generation (3G) wireless communication technologies mature, more and more service providers are beginning to update the data rate and communication performance of wireless systems. With 3G technology, transmission speeds can be as high as 2.4 megabits per second (mbps) in a fixed environment, or as high as 500 kilobits per second (kbps) in a mobile environment. This increase in transmission speed provides greater bandwidth for mobile communications and other mobile applications that can communicate data between other mobile and stationary computer devices over a wireless network.
Mobile communication devices, such as cellular telephones and personal digital assistants, have computer platforms that are capable of providing more services than simple voice or data communication services. The 3G mobile phone may act as a web browser allowing the user to surf the internet, or connect to a server and download software applications. Due to the higher rates possible in 3G cellular telephone networks, fast one-way or two-way communication is possible that allows interactive computer sessions with multiple users. Such interactive sessions may include games or other computer applications that require the mobile unit to engage in large data downloads and uploads during application execution.
This increase in bandwidth in wireless communication networks has made interactive applications with graphical displays feasible between several users, in addition to providing regular telecommunications services between these users. The wireless communication network 100 shown in fig. 1 includes a plurality of communication towers 102, each communication tower 102 being connected to a base station 104 and serving users with communication devices 106. The communication device 106 may be a cellular telephone, pager, PDA, laptop computer, or other handheld, stationary or portable communication device that uses wireless and cellular telecommunication networks. The commands and data entered by each user are sent as digital data to the communication tower 102. Communication between a user using a communication device 106 and the communication tower 102 can be based on different technologies, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), global system for mobile communications (GSM), or other protocols that can be used in a wireless communication network or a data communication network.
Data from each user is transmitted from a communication tower 102 to a Base Station (BS)104 and forwarded to a Mobile Switching Center (MSC)108, which may be connected to a Public Switched Telephone Network (PSTN) 110. The MSC108 sends the data to a server 112 that may be directly connected to the MSC108 or the PSTN 110.
Server 112 executes an application program, which may be a special-purpose computer program that analyzes data and provides responses accordingly. The response may be a graphical display, a command, or data. The response is broadcast to one or more users over the wireless communication network 100.
The application executed by the server 112 may have an architecture 200 as shown in the block diagram of fig. 2, where the application runs on the server, block 202. The application may access a database, block 204, in which application data is stored. The application communicates with an applet running on the mobile communication device via a downlink 208 or an uplink 210, block 206. The applet receives commands or data from the application and adjusts the display 212 on the communication device. The applet also receives input from the user via input device 214 and uploads the input to the application on the server. An applet may be a simple software application that runs independently on a communication device.
An alternative embodiment of the architecture 300 is shown in the block diagram of fig. 3, where a copy of the application is downloaded to each communication device, block 302, and the simpler applet runs on the server, block 304. In this embodiment, the applet on the server performs the simple task of receiving inputs from each communication device and broadcasting them to all communication devices 106 that are running the same application. The input is received by each communication device 106 and executed by an application on the communication device 106. In most instances, each application changes the graphical display on the communication device 106.
The applet on the server, block 304, is also responsible for tracking the score or threshold event and accessing the application data on the database, block 204. When the user of the communication device 1 scores from the other users of the communication device 2, the score or the event is transmitted from the communication device 1 to the server. The applet of the server receives the score or the event and broadcasts it to the communication device 2. At the end of the application, the applet stores the score or event information in the server-side database 204. By storing the score information in database 204, the system prevents possible score tampering by the user. Scores or other threshold data, such as application usage duration or other criteria of application usage, may be stored in a database, whereby the network host may provide particular services to the user(s) of the application, such as advanced application availability, contest projects, application updates, or other benefits to the user(s) upon the occurrence of a threshold event.
FIG. 4 illustrates an exemplary flow diagram of a communication device process 400 for playing a game that includes a game application availability change that occurs upon a threshold event. The user initiates the communication device process 400 by activating the communication device 106 and connecting to the server 112. The user may connect to the server 112 by dialing a predefined access number assigned to the server 112. The connection between the communication device 106 and the server 112 may also be through a predefined data communication channel and in accordance with a predefined communication protocol. After the communication device 106 is connected to the server 112, the communication device 106 sends identification information to the server 112, block 402. By way of example, the identification may be identification information of the user, such as the user's initials or Personal Identification Number (PIN), or a Mobile Identification Number (MIN) assigned to the handheld device, or an Electronic Serial Number (ESN) or device identification number (EID) of the handheld device, or a combination thereof.
After sending the identification information, the communication device 106 fits the user's menu, block 404, and displays it on the display screen of the communication device 106. The menu received by the communication device may change according to the user. The menu may be a list of applications that the user may use and may include a list of levels. The user's access to higher levels depends on the user's past performance at lower levels, which the user's scores at lower levels are preferably stored in the database 204. For applications that do not involve rewards or contests, the user's score may be stored locally in the communication device 106.
The user may select an application from the menu, block 406, and if the selected application has multiple levels, the user may also select an application level. However, in a multi-level application, server 112 may automatically determine the application level. Server 112 determines the application level by retrieving the user score associated with the application and comparing the score to a score table. The result of the comparison determines the level the user should play. Thus, if the user reaches a threshold event for a play deadline, the user's communication device 106 may be provided with an advanced game application.
After the user selects an application, the selection is sent to the server 112, and the server 112 sends the application to the communication device 106 for execution, block 408. The communication device 106 receives the application, block 410, and executes the application, block 412. Application execution on the communication device is further explained in fig. 6. The server 112 may also send applets associated with the applications described above.
Fig. 5 is an exemplary flow diagram of a server process 500 for managing a game application executing on a communication device 106. The server 112 receives the identification information from the communication device 106, block 502, and checks it against a user table or subscriber table. If the user is a subscriber or other authorized user, the server sends the menu to the communication device, block 504. If the user is a guest, the server needs to retrieve its information from its host server before allowing the user to access the system.
After the user makes the selection, the server receives the selection, block 506, and then retrieves the user's score from the database, block 508. A score is associated with each application and stored in a database. The server compares the user's score to the score table to determine whether the user is eligible to play the application or at a certain level, block 510. The server then selects an application based on the score, block 512, and sends the application to the communication device 106, block 514.
If the selected application is a team application, i.e., involving more than one user and communication device 106, the server may query the user for information about other teammates and then invite those teammates, block 518. The invitation may occur from looking up and sending a message to the other communication devices 106 indicating that they wish to play a team game when there are members. Teammate information may also be stored in a database and the server may retrieve the information from the database before inviting them.
If the selected application is a contest application, i.e., involving an adversary, the server may retrieve an adversary list from the database and send the adversary list to the communication device, block 522. The list of opponents may be predefined by all users who have played the application, or may be predefined by the user. After the user selects an opponent-the opponent may be a person or a multi-person team-the server receives the opponent selection and invites the opponent, block 526.
When both teammates and/or opponents have accepted the invitation, the server broadcasts the application to each of them, block 528, and the server executes the application or its applet, block 530. At the end of the application, the server stores the score and application information in a database, block 532.
Fig. 6 is an extension of block 412 of fig. 4. While the communication device 106 is executing the application, the communication device 106 checks whether there is an input from the user, block 602. If there is input from the user, the communication device 106 performs the input, block 604, and it also sends the input to the server, block 606. However, if the communication device 106 executes only an applet for the application, the communication device 106 may simply forward the input to the server without executing it locally. The input from each user may be sent to the server as part of a data packet that includes user identification information.
The communication device 106 may also check for commands from the server, block 608. When commands are received from the server, the communication device 106 executes them, block 610. Execution of the command may include updating a screen display, producing an audio effect, or other effect implemented with the communication device 106. The communication device 106 repeatedly executes the steps shown in fig. 6 until an input to end the application is received from the user or an end command is received from the server.
Fig. 7 is an extension of block 530 of fig. 5. When the server executes the application, the server checks for input from the user, block 532. If input is received from the user, the server executes the input, block 534, and broadcasts the resulting command to all communication devices 106 connected to the same application, block 536. The communication device 106 uses these commands to maintain synchronization with the server. If the server is executing an applet, the server uses the inputs to update its state and broadcasts the inputs to all communication devices 106 that are performing the inputs individually on each communication device.
After the server broadcasts the command to the communication device, the server 112 stores the score in its internal register, block 538. At the end of the application, the score is stored in the database. The server 112 repeatedly executes the steps shown in fig. 7 until an event for the application to end is received. The application end event may be an input from a user or other criteria known in the art.
In addition to coordinating actions and tracking scores or other threshold data between communication devices 106, server 112 may also be responsible for billing. The user may be billed for access time or per application basis.
Fig. 8 illustrates user application data 800 that may be stored in database 204. Information about the user Joe may include the applications 802 to which he subscribes, the scores 804 of each application to which he subscribes, the team 806 to which he belongs for each application, and the opponents 808 of each application to which he subscribes. If the application is not a contest application, the adversary field of the application is empty. If the application is not a team application, the team field of the application is empty.
Thus, the system may execute a multi-user competition application in which multiple teams compete against one another. For example, the user may choose to pick a basketball game with another team. When a user connects to server 112, his identification information, such as his handheld device's ESN, is sent to server 112. The server 112 validates its identification information against the database to ensure that the user has permission to access its services. The server may also ask the user to type in a PIN as part of the confirmation.
Upon determining that the user has permission to access his or her services, the server 112 provides a game menu for the user to select from. The user selects a basketball game and the selection is sent to the server. The server 112 checks whether the user belongs to a predefined team, and if the user does belong to a certain team, the server 112 sends an invitation to his teammate. The server 112 also checks the scores previously obtained by the user's team and selects the list of opponents. The list of opponents is sent to the user, who can select one opponent team. After the opponent team is selected, the server 112 sends an invitation to the members of the opponent team.
When all team members and opponents are in place, the server 112 broadcasts the game to all participants. Each communication device 106 receives a copy of the game and executes it locally. The screen display of the output from the game relayed by the server 112 is controlled locally.
During the game, each user's input is performed locally, while also being uploaded to the server. Upon receiving input from the user, the server broadcasts the input to all players in the same game. When the communication devices 106 receive these inputs, each device executes the inputs and updates its screen accordingly. For example, if user 1 enters a jump shot, his communication device 106 performs the jump shot and uploads the jump shot to the server 112 along with all supporting information. The supporting information may include the user's location, angle of the jump and strength of the jump, etc. The jump drop, and all supporting information, is received by the server 112 and broadcast by the server to all communication devices 106. Each device performs the jump and if the jump is good, each communication device displays a score for the jump as a team of users. The server 112 tracks the points during the game by receiving information from the communication device 106. At the end of the game, the server 112 stores the score in the database, and the score is available the next time the user selects the basketball game.
While the present invention has been particularly shown and described with reference to several embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Furthermore, although elements of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.

Claims (39)

1. A system for managing distributed applications residing on one or more communication devices of a wireless network by monitoring threshold events occurring in the applications, the system comprising:
a server in communication with the wireless communication network, the server including at least one application;
at least one communication device in selective communication with the server over the wireless communication network, the communication device having a user thereof that selectively executes applications and generates application usage data; and
wherein the server obtains the application usage data from the communication device, identifies the user for whom the application usage data was generated, determines whether a threshold event has occurred on the communication device based on the application usage data, and records the occurrence of the threshold event for the user.
2. The system of claim 1, wherein the server limits access to a particular application based on a particular threshold event occurring for the user.
3. The system of claim 1, wherein the server updates a resident application of the communication device based on a particular threshold event occurring for the user.
4. The system of claim 1, wherein the server broadcasts at least a portion of the application executing on the communication device.
5. The system of claim 1, wherein the server further determines whether the application usage data is for a group of users and determines the group of users prior to recording the application usage data.
6. The system of claim 1, further comprising a database in communication with the server.
7. The system of claim 6, wherein the server stores the threshold event data in the database.
8. The system of claim 1, wherein the threshold event data is a score associated with the at least one application.
9. The system of claim 1, wherein the at least one application is a multi-user game.
10. The system of claim 1, wherein the threshold event is a predetermined duration of use.
11. The system of claim 1, wherein the identification information is an electronic serial number associated with the communication device.
12. The system of claim 1, wherein the identification information is a mobile identification number associated with the communication device.
13. The system of claim 1, wherein the user is determined based on a personal identification number.
14. The system of claim 1, wherein the communication device is a cellular telephone.
15. A system for managing distributed applications on a wireless network by monitoring threshold events occurring in the applications, the system comprising:
a server means for transmitting and receiving data to and from said wireless network;
a remote communication device for selectively transmitting and receiving data over the wireless network, the remote communication device having a user thereof that selectively executes applications and generates application usage data; and
wherein the server device obtains the application usage data from the remote communication device, identifies the user for whom the application usage data was generated, determines whether a threshold event has occurred on the remote communication device based on the application usage data, and records the occurrence of the threshold event for the user.
16. A wireless communication device in selective communication with other computer devices over a wireless network, the device having at least one application resident thereon and generating application usage data, the application including at least one threshold event during execution thereof, the device also having a user selectively executing the at least one application, and the device transmitting the application usage data to another computer device over the wireless network.
17. The device of claim 16, wherein the device stores the application usage data in addition to sending the application usage data to another computer device across the wireless network.
18. The device of claim 16, wherein the device executes an application, wherein at least a portion of the application executes on another computer device on the wireless network.
19. The device of claim 16, wherein the device executes a multi-user application that executes in conjunction with other computer devices on the wireless network.
20. The device of claim 16, wherein the device is a cellular telephone.
21. A method of managing distributed applications residing on a communication device of a wireless network, the device in selective communication with at least one server over the network, the method comprising the steps of:
receiving, at the server, identification information of the user, the identification information identifying a user of the device;
retrieving user information using the identification information, the user information including threshold event data for the user; and
interacting with the device based on the threshold event data.
22. The method of claim 21, further comprising the steps of:
receiving, on the server, application usage data from the device; and
updating the user information with the received application usage data.
23. The method of claim 21, further comprising the step of determining the occurrence of a threshold event based on the received application usage data.
24. The method of claim 21, further comprising the step of recording said threshold event data in a separate database on said network.
25. The method of claim 21, further comprising the steps of:
selecting a server-resident application accessible to the user in accordance with the user information; and
and setting an access level for the application program according to the threshold event data in the user information.
26. The method of claim 21, further comprising the steps of:
selecting an application program for the user according to the user information; and
sending the application to the device.
27. The method of claim 21, wherein said step of receiving identification information is receiving a mobile identification number.
28. The method of claim 21, wherein the step of receiving identification information is receiving a personal identification number.
29. The method of claim 22, wherein the step of receiving application usage data is receiving application usage data from a game executing on the device.
30. The method of claim 22, wherein the step of receiving application usage data is receiving application usage data from a multi-user game executing on a plurality of devices.
31. The method of claim 23, wherein the threshold event data is a score of a game.
32. The method of claim 23, wherein the threshold event data is a predetermined duration of use.
33. A method of managing distributed applications residing on a communication device of a wireless network, the device in selective communication with at least one server over the network, the method comprising the steps of:
a user identification step of identifying a user of a device communicating with the server;
a data retrieval step of retrieving user information including threshold event data; and
an interaction step on the server to interact with the device, the interaction step being based on the threshold event data.
34. A computer program residing on a computer readable medium, which when executed, directs a computer in communication with one or more wireless communication devices on a wireless network to manage distributed applications residing on the communication devices of the wireless network, to perform the steps of:
receiving identification information from a device, the identification information identifying a user of the device;
retrieving user information using the identification information, the user information including threshold event data for the user; and
interacting with the device based on the threshold event data.
35. The program of claim 34, further instructing the computer to perform the steps of:
receiving application usage data from the device; and
updating the user information with the received application usage data.
36. The program of claim 35, further instructing the computer to perform the step of determining the occurrence of a threshold event based on the received application usage data.
37. The program of claim 34, further directing the computer to perform the step of recording the threshold event data in a separate database on the network.
38. The program of claim 34, further instructing the computer to perform the steps of:
selecting a resident application accessible to the user according to the user information; and
and setting an access level for the application program according to the threshold event data in the user information.
39. The program of claim 34, further instructing the computer to perform the steps of:
selecting an application program for the user according to the user information; and
sending the application to the device.
HK05111858.3A 2002-06-28 2003-06-28 System and method for application management through threshold events HK1079932A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/187,067 2002-06-28

Publications (1)

Publication Number Publication Date
HK1079932A true HK1079932A (en) 2006-04-13

Family

ID=

Similar Documents

Publication Publication Date Title
US7502610B2 (en) System and method for application management through threshold events
US9805544B2 (en) Method and system for mediating interactive services over a wireless communications network
US11786813B2 (en) Game of skill played by remote participants utilizing wireless devices in connection with a common game event
US7347781B2 (en) Method and system for reality gaming on wireless devices
US7379705B1 (en) Mobile station randomizing of message transmission timing to mitigate mass message event
KR100976288B1 (en) System and method for managing applications through threshold events
HK1079932A (en) System and method for application management through threshold events
WO2002084898A1 (en) Method and system for mediating interactive services over a wireless communications network
CN1533296A (en) Method for managing data used to run interactive software
WO2004049607A1 (en) Distributing data using a broadcast and wireless network