WO2002084898A1 - Method and system for mediating interactive services over a wireless communications network - Google Patents

Method and system for mediating interactive services over a wireless communications network Download PDF

Info

Publication number
WO2002084898A1
WO2002084898A1 PCT/US2002/011716 US0211716W WO02084898A1 WO 2002084898 A1 WO2002084898 A1 WO 2002084898A1 US 0211716 W US0211716 W US 0211716W WO 02084898 A1 WO02084898 A1 WO 02084898A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
state information
game
users
interactive
Prior art date
Application number
PCT/US2002/011716
Other languages
French (fr)
Inventor
S. Doug Hutcheson
Original Assignee
Leap Wireless International, Inc.
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
Priority claimed from US09/833,656 external-priority patent/US7035653B2/en
Priority claimed from US09/885,977 external-priority patent/US6947761B2/en
Application filed by Leap Wireless International, Inc. filed Critical Leap Wireless International, Inc.
Publication of WO2002084898A1 publication Critical patent/WO2002084898A1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/61Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor using advertising information
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/792Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for payment purposes, e.g. monthly subscriptions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/332Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/406Transmission via wireless network, e.g. pager or GSM
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5513Details of game data or player data management involving billing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/558Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by assessing the players' skills or ranking
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • A63F2300/572Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention is directed to a system and method for providing an interactive application to at least one wireless device user (300), managing the interactions with the interactive application, and managing state information related to the interactive application, to accommodate one or more users participating in an interactive application session, wherein the state information includes local state information specific to each of the one or more user's unique view of the interactive application and global state information. The system of the present invention may include a telecommunications network (10), an application server (200) in communication with the telecommunications network for managing the global state information relative to all of the users participating in the interactive application session, and at least one mobile client device in communication with the application server over the telecommunications network for managing the local state information for each of the one or more users.

Description

Method and System For Mediating Interactive Services Over a Wireless Communications Network
Field of the Invention
[1] The present invention relates to a method and system for providing interactive services over a wireless communications network and, more particularly, the present invention relates to a system and methods for controlling the state of an interactive application, and for selecting users of the interactive application, and for controlling delivery of the interactive application to the on& or more users.
Background of the Invention
[2] On-line entertainment is a popular activity. Typically, users connect to a network, such as the Internet, through a computer and enjoy computer-hosted games ranging from simple board games, like backgammon, to more complex and graphic intensive adventure games. Recently, developments in technology have enabled users to engage in multi-player, interactive sessions, such as gaming sessions, with other users who may be scattered across the globe. The ability to play a game with friends, and even strangers, who are not similarly located, creates an exciting outlet for gaming aficionados.
[3] Interactive gaming has become available to users over a wireless network. Using a mobile handset as a game controller, users play games with other players not in the same geographic area without being tied down to a computer. The enjoyment of interactive gaming, coupled with the convenience of being able to play anywhere through a mobile handset, may makes wireless interactive gaming a very exciting, and potentially profitable, opportunity for operators of wireless networks .
[4] Interactive gaming over a wireless network, however, is subject to latency and data transmission delays that create performance issues when gaming. Many known systems attempt to solve latency issues by offering only simplistic games with no graphics beyond text, or with low quality graphics that are unaffected by communication delays. These systems, however, significantly depreciate the gaming experience. In addition, many known wireless interactive gaming systems are not truly interactive. Furthermore, many systems fail to manage the game state based on factors such as the skill of the players and the features of the user devices, possibly leaving some players at a significant disadvantage. Moreover, known systems may tax network capacity and waste network resources to such a degree that network operators must charge users prohibitively high service fees to avoid significant losses. Still other systems fail to adequately mediate the environment in which the game is being played.
[5] Others have attempted to provide multi-player, interactive gaming over a network. For example, U.S. Patent No. 6,050,898 to Vange et al . discloses a computer-based interactive gaming system that uses a method for initiating and scaling a massive concurrent data transaction. The patent discloses a system and method for optimizing the transmission of computer-hosted game information over a telecommunications link, such as the Internet.
[6] European Patent Application No. 00660125.6 filed by Nokia Corporation discloses a multi-player game system using a mobile telephone and game unit. The application discloses using a mobile phone to download a game to separate game units, and discloses the linking of the multiple users using a low power radio link.
[7] European Patent Application No. 00660161.1 filed by Nokia Corporation discloses a system for profiling mobile station activity in a predictive command wireless game system. The application discloses a system and method for customizing an interactive, text-based game based on mobile station activity.
[8] No prior known systems offer a fully interactive gaming experience over an efficiently used truly wireless network, with high resolution graphics, and while managing the game state, and player matching, for a level playing experience among users. Further, such offerings are not made at a low, fixed, monthly service charge, that is not based on minutes of use.
[9] Therefore, the need exists for a real-time, interactive experience and improves the control of the transfer of game state information, and that controls the game environment, including player matching. Further, the need exists to control the game state for a level playing experience, and to control delivery of the interactive application to the user to optimize the utilization of limited network bandwidth, thereby allowing for providing of a wireless game service to end users at a flat monthly rate, rather than on a "per unit of time" basis.
Brief Description of the Drawings
[10] The present invention will now be described in connection with the following figures, in which like reference numbers refer to like elements, and wherein:
[11] Fig. 1 is a schematic diagram illustrating a wireless network-based embodiment of the present invention;
[12] Fig. 2 is a flow diagram illustrating the synchronization process of one embodiment of the present invention;
[13] Fig. 3 is a flow diagram illustrating the game mediation process of one embodiment of the present invention; and
[14] Fig. 4 is a flow diagram illustrating the network mediation process of one embodiment of the present invention.
[15] Fig. 5 is a flow diagram of a method in accordance with an embodiment of the present invention.
[16] Fig. 6 is a detailed schematic diagram of a telecommunications system in accordance with an embodiment of the present invention.
[17] Fig. 7 is a schematic diagram of a telecommunications system in accordance with an embodiment of the* present invention.
[18] Figs. 8A and 8B illustrate packet structuring for use in the present invention.
[19] Fig. 9 is a block diagram illustrating an embodiment of the present invention.
[20] Fig. 10 is a block diagram illustrating an embodiment of the .present invention.
[21] Fig. 11 is a block diagram illustrating an embodiment of the present invention.
[22] Fig. 12 is a block diagram illustrating an embodiment of the present invention.
[23] Fig. 13 is a block diagram illustrating an embodiment of the present invention. [24] Fig. 14 is a block diagram illustrating an embodiment of the present invention.
Detailed Description of the Preferred Embodiments
[25] It is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for purposes of clarity, many other elements found in typical wireless and gaming networks. Those of ordinary skill in the art will recognize that other elements are desirable and/or required in order to implement the present invention. However, because such elements are well known in the art, and because they do not facilitate a better understanding of the present invention, a discussion of such elements is not provided herein. The disclosure herein is directed to all such variations and modifications to the present invention as known, and as will be apparent, to those skilled in the art.
[26] Reference will now be made in detail to embodiments of the method and system of the present invention, examples of which are illustrated in the accompanying drawings. An embodiment of the present invention is shown in Fig. 1 as interactive system 10.
[27] In an embodiment of the present invention, the interactive system 10 may include a telecommunications network, an interactive application 200 delivered over the telecommunications network 100 to one or more users, one or more wireless access devices 300 adapted to receive and render the interactive application 200 to the user, and a game server 400.
[28] The telecommunications network may be, for example, a wireless communications network 100. Other suitable embodiments of the telecommunications network, may include, but are not limited to, the Internet, cellular, GSM, GPRS, wireless local loop ( LL) , LAN (802.11), infrared, Bluetooth, and/or any other suitable telecommunications network apparent to those of ordinary skill in the art.
[29] The interactive system 10 of the present invention may be adapted for use in conjunction with a wireless network 100 that is data capable, rather than voice only. The wireless network 100 may emply, for example, PCS, TDMA, CDMA, CDMAone, or any other suitable technology (ies) or standard (s) that are data capable. [30] As shown in Fig. 1, the wireless communications network 100 may further includes at least one base station 110, at least one base station controller
(BSC) 120, and at least one mobile switching center
(MSC) 130. As will be apparent to one of ordinary skill in the art, each base station 110 may include a transceiver capable of transmitting signals to and receiving signals from wireless access devices 300. In addition, each base station 110 may be connected
through the base station controller 120 to the mobile switching center 130.
[31] The mobile switching center 130 may be in communication with the game server 400 through the IWF 150. The IWF includes, as is apparent to those of ordinary skill in the art, the necessary equipment and conversion algorithms to permit seamless communication between the mobile switching center 130 and the mobile game server 400, in instances including potentially dissimilar protocols supporting each of those components. Other embodiments of the IWF, such as, for example, a PCE node, a PDSN node, or any other node of similar functionality, are within the scope of the present invention.
[32] The mobile switching center 130 may be linked to the public switched telephone network (PSTN) 160. Further, the mobile switching center 130 may include a home location register (HLR) 170 for identifying/verifying subscribers on the interactive system 10. Accordingly, as will be apparent to those of ordinary skill in the art, the wireless communications network 100 is adapted to allow communication between the wireless access devices 300 and the game server 400.
[33] As embodied herein, the wireless access device 300 is any user device that is adapted to interface with the wireless communications network 100 to provide a multi-player, interactive game. In the preferred embodiment, the wireless access device 300 is a mobile phone. Other embodiments of the wireless access device 300, including, but not limited to, a personal digital assistant (PDA) , a pager, a wireless game controller, and/or an email device are considered well within the scope of the present invention. In an exemplary embodiment, the device 300 may be approximately 200 grams in weight, including the battery and all required communications components. The device 300 may preferably be any pocket-sized unit that is designed for convenient handheld use without the need for an awkward cabling connection. The viewing screen of the device may have an area of greater than three in2, may provide 256 colors, and may be bright, reflective and clear. The user interface of the device 300 may .include, for example, push-buttons, an 8-direction joystick, or any text or action input capability, such as a touchscreen. With respect to-audio features, the device 300 may include an MP3 Player, MPEG I and 11 support, standard MIDI support, a microphone, stereo speakers, and/or a headphone stereo mini-jack input. The device may include, for example, a 32 bit processor that is game predictive performance-capable, to thereby minimize high-latency impact. The device 300 may be provided with sufficient RAM so as to be capable of storing at least five (5) games in addition to normal communications applications, and sufficient ROM to provide adequate memory for custom configuration. The device 300 may also include memory back-up capabilities. The device 300 may preferably may be capable of communication using IS-95 A with packet data.
[34] In an embodiment of the present invention, the game server 400 may include a controller 600 for controlling the state of the interactive application, and network mediator 700 for controlling delivery of the interactive application to the one or more users. It is contemplated that the game server 400 may include one or more servers, and that the controller 600 and the network mediator 700 may or may not reside on the same server (s) . The controller 600, for example, may be a distributed controller 600, such as an embodiment wherein a controller is resident on each device 300. As apparent to those of ordinary skill in the art, any configuration of the game server 400 that allows for communication with the interactive system 10 is within the scope of the present invention.
[35] The game server 400 may further include a game database 410 for storing various game software and/or other interactive applications, and a player profile database 420 for storing the profiles of subscribers to the interactive system 10.
[36] In an embodiment, the wireless network 100 is adapted to efficiently manage the air interface. In contrast with prior known systems, the data transfer rates are adapted to provide an enriched, realistic interactive application, such as a game, while minimizing the amount of bandwidth that is dedicated to providing the application. For example, in an embodiment, the interactive system 10 minimizes the number of degrees of freedom that must be managed over the wireless network 100 by providing predefined subroutines on the wireless access device 300.
[37] In an embodiment, the present invention efficiently manages spawned degree of freedom information, such as, for example, projectile information. The management of degree of freedom information is discussed further hereinbelow with respect to Figures 8A-14. In an interactive application wherein a projectile, such as, a missile, a rope, an arrow, etc., is transmitted, the system may track movement of two discrete objects, such as the projectile and the image projecting it. Prior known systems deliver multiple sets of instructions across the air interface. Other systems deliver only one set of movement instructions, leading to a less realistic gaming experience. In the present invention, the trajectory of the projectile is calculated at the wireless access device 300, based on formulas or other data, to depict movement of the projectile. The calculations, and the formulas required to make the calculations, may be game specific and are part of the interactive application 200 downloaded to the wireless access device 300. For example, when the interactive application 200 requires a ball to be thrown, the wireless access device 300 of the present invention may evaluate the trajectory that the ball will take, rather than sending and receiving multiple instructions over the network depicting each stage of movement of the ball . This prevents the present invention from tying up valuable network capacity.
[38] The wireless access device 300 may receive update information from the game server 400, based on any conditions that would alter the trajectory that is calculated at the wireless access device 300. These may include, for example, wind direction and magnitude shifts, or other trajectory altering forces. The use of the network's air interface remains efficient because the interactive system 10 only transmits necessary information.
[39] In an embodiment, the present invention more efficiently uses network resources by providing the least amount of information necessary to the wireless access device 300 to provide an enriched and realistic interactive experience. A number of methods may be used to reduce the amount of information necessary to enable the interactive application. It will be apparent to persons of ordinary skill in the art that various modifications and variations may be made, and the manner in which the air traffic required to produce the interactive application may thereby be reduced.
[40] For example, the information transmitted over the wireless network 100 pertaining to the degrees of freedom of the interactive application 200 may be reduced. This may be accomplished by any number of alternatives and/or complimentary means. For example, instruction sets may be layered. In this manner, sets of instructions may be grouped together in a logical fashion in order to reduce the amount of air traffic necessary to actuate the movement of a game piece. For example, the movement of a character that is running could be broken into several series of actions, and instructions could be layered depicting groups of those actions. The arm movement could be depicted in one series of instructions, leg movement could be depicted in another, and movement of the character horizontally and/or vertically could be depicted in yet other layers of instructions.
[41] Similarly, multiple sets of instructions may be collapsed into a single instruction. Although this might require creating a number of codes that represent the various actions the character could maintain, it offers the potential for dramatically reducing the amount of air interface traffic required to actuate the game. For example, in one embodiment of the present invention, many of the actions involved in the game are reduced to a single subroutine. Activities such as running, jumping, throwing, crawling, are reduced to a single instruction set, such that when the single instruction is transmitted over the wireless network 100, the character performs a series of actions corresponding to that activity.
[42] In an embodiment, the present invention may further include synchronizer 500, for synchronizing the transmission and display of the interactive application 200. The synchronizer 500 may be embodied in a software application and/or algorithm that resides on the game server 400.
[43] Gaming applications are often subject to creep or wander problems. It is important, therefore, to maintain synchronization between each wireless access device 300 and the network, relative to the state of play of the interactive application. That is, each player in the interactive session should see on the respective display the same state of the game as each of the other players. This synchronization of the game state may be accomplished in the present invention through any of a number of mechanisms including, without limitation, providing separate synchronizer 500 for synchronizing the systems, monitoring the manner in which the system is mediated, or imposing separate software systems or control features to limit or eliminate creep and wander. L,
[44] In the preferred embodiment, the wireless access device 300 will transmit its overall state information to the synchronizer 500 at a given interval. The timing and length of the interval will vary depending on the interactive application, such as the game, being played, its complexity, and the number of degrees of freedom involved. The synchronizer 500 will then determine, based on the state information it receives from all of the wireless access devices 300 in the particular interactive session, what actions, if any, need to be taken.
[45] In one embodiment of the present invention, the synchronizer 500 performs a process flow as illustrated in Fig. 2.
[46] An embodiment of the present invention may provide an enriched interactive gaming experience on a least cost basis. The wireless communication network 100 of the present invention may be adapted to provide the interactive application on a least cost basis. The invention minimizes the traffic over the air interface and more efficiently manages network resources. This efficient utilization enables the system operator to keep costs lower than those with previously known systems .
[47] Other types of shared communication channels, used in conjunction with, or instead of, wireless communication network 100, to achieve the efficient transmission of information,' are considered well within the scope of the interactive system 10 of the present invention. For example, the present invention may be employed in conjunction with a cable system. Further, in an alternate embodiment of the present invention, the present invention could be adapted to be used over the Internet .
[48] • In an embodiment, the interactive application 200 of the present invention may further include an application, a device adaptation, and a communicator, and is mediated based on various criteria relating to the interaction of the users of the interactive entertainment service. As embodied herein, the application may include, without limitation, any one or more of games, entertainment services, stock quotations, message boards, purchasing, advertising, news services, bill payment, instant messaging, email, location-based information and services, and any other interactive application. It will be apparent to persons of ordinary skill in the art that any of various applications may be adapted to be used with the present invention. Thus, it is intended that the present invention include the variations and permutations of the applications that may be adapted to be used with the invention, provided they come within the scope of the appended claims and equivalents thereof.
[49] In an embodiment, the application may be adapted to certain features of the network, or of the user device. For example, the controls, peripherals, or user interface may be adapted depending on the platform, or various hardware or software configurations. Similarly, the application may be adapted depending on physical parameters such as battery life, or the form factor of the user device.
[50] In an embodiment, the communicator of the interactive application 200 of the present invention may include any one or more of voice; physical feedback; text; video; attachments; or location based information. With respect to any of the communicators, the present invention may be adapted to provide, as applicable, voice mail; store and forward features; hand messaging features; the ability to deliver unique messages; email; instant messaging; audio; video; text; electronic cards; music; information; advertising; peer-to-peer communications; and ; directions . With respect to physical feedback embodiments of the communicator of the interactive application of the present invention, the invention may be adapted to provide sensory input to the user such as, without limitation the use of a rumble pack, heat, smell, touch, and any other sensation.
[51] The controller 600 of the present may be adapted for mediating the interactive application 200 based on various parameters regarding the level of play and the interaction of the users. The controller 600 may be embodied in a software application and/or algorithm that resides on one or more servers in the interactive system 10.
[52] The controller 600 of the present invention may be adapted to provide a level playing experience for all users. When users of different skill levels are interacting in an application, the controller 600 may define the state of play in order to achieve a level playing experience. Because the controller 600 has access to each player's profile in player database 420, the controller 600 has access to information such as, for example, how well the player has performed on a particular game in the past, and how often that player has played a particular game. With this information, the controller 600 may assign a rating to a player for a particular game. This individual game ranking may be stored in a user's profile, as discussed hereinbelow. The controller 600 may then only allow players into the interactive session who are within a given rating for the game being played. In the alternative, the controller 600 may notify players in the interactive session that one player may be more, or less, skilled than another.
[53] Alternatively, the controller 600 may mediate the interactive application 200 of the present invention based on features of the wireless access devices 300 in a particular interactive session, and/or other factors relevant to a player's gaming experience. The controller 600 may consider a variety of features, including, without limitation: the display; processors; user preferences; language; file support; the identity of the user; other features of the user; the access device being employed; the controller being used; bandwidth requirements; and ping rate. Again, because the controller 600 is in communication with each wireless access device 300, the present invention has knowledge of these various factors prior to the start of a gaming session.
[54] In one embodiment of the present invention, the controller 600 performs a process flow as illustrated in Fig. 3. After the user has logged onto the system and requested game play, the system locates other players who wish to participate in the interactive gaming session. The controller 600 retrieves player information from the player database 420 and game information from the game database 410. The controller 600 further retrieves information about each wireless access device 300 and its connection over the wireless network 100. The controller 600 then determines the skill level of the players who have indicated that they wish to join the gaining session. As discussed above, the process of determining a player's skill level may include determining the player's past performance at playing this particular game, and/or ranking the players based on that past performance. The ranking system used by the controller 600 may include any scalable nomenclature, and may be as simple as a numerical ranking from I (novice) to 5 (expert), for example. The controller 600 may then communicate to each of the players the skill level of the other players . Each user may be prompted on the wireless access device 300 whether that player wishes to continue playing. If any players choose to opt out of the gaming session, the system may be adapted to locate replacement players.
[55] After the system establishes the remaining players, the controller 600 evaluates the capabilities of each of the users based on the wireless access device 300 and the connection to the wireless communications network 100, as discussed above. The controller 600 may then compensate for skill, device, and connection differences .
[56] In an embodiment, the present invention is further adapted to provide an enriched data environment, without sacrificing the efficient management of the air interface. The present invention may further include color manager 350 for managing the delivery of color to the wireless access device 300. Moreover, the invention may employ interlacing techniques such as those known in the broadcast industry.
[57] In an embodiment, the wireless access device-300 is adapted to provide a display necessary to provide the user with an interactive experience. The wireless access device may have high-resolution, may be black and white, or may be color.
[58] In an embodiment of the present invention wherein color is used, the interactive system 10 of the present invention provides an efficient, yet enriched, data environment by defining color as a degree of freedom. The amount of information required may be reduced by controlling the transmission of color according to any one or more of the methods for controlling degrees of freedom and state information discussed above.
[59] For example, the facial color of a character in the interactive application 200 may be defined by one degree of freedom with three states (e.g., orange, red, and purple) . The face may be defined in the wireless access device 300 such that only the state of the facial color needs to be transmitted over the air interface. When the character's face becomes bruised, for example, the interactive system 10 transmits "purple" state information only. In addition, similar to the projectile trajectory calculation discussed above, the present invention may further reduce airlink traffic by calculating the state information at the wireless access device 300 instead of transmitting the information over the network. For example, if events x and y occur, the wireless access device 300 is adapted to display a color state z.
[60] Wireless access device 300 may include peripherals necessary to provide the user with an interactive experience. These may include, but are not limited to, headphones, earphones, cables, joysticks, paddles, cameras, microphones, speakers and external keypads.
[61] The wireless access device 300 is adapted to run on any platform necessary to provide the interactive application 200 and the functionality of the interactive system 10. The platform may include any number of operating systems known in the art, such as, for example, Palm, Windows, Symbian, Java, Mac, or any other operating system capable of supporting the functionality of the interactive system 10.
[62] In an embodiment, the wireless access device 300 is adapted to provide voice-over-packet services. These services may include an interactive group communications service similar to the QChat application developed by Qualcomm. QChat serves as a wireless extension of Internet Chat and instant messaging services. These services may be provided with minimized network utilization by minimizing the packet frame size that is used for the communication during times of network congestion or any other time determined by the carrier. For example, the voice- over-packet could be limited to half-rate frames to minimize the amount of data sent at the expense of voice quality.
[63] The controller 600 of the present invention may be adapted to store user profiles 405, such as in a player or user database 420, for providing a personalized, interactive application. For example, the user profile may include information about a user's experience level, such that the interactive system 10 may supplement the interactive application with personalized messages such as prompts, game hints, and help files. The user profile 405 may include other information, including, but not limited to, the genre of application the user is interested in, a user's skill rank for a particular game, training files to allow a user to improve his/her skill level at a particular game, and messages aimed at taunting the user during play, as discussed further hereinbelow. The user profiles may contain user profile data, stored on a memory device, such as at, or communicatively connected to, the controller 600, such as in a user profile database 420. Alternatively, the user profile database may be located in the portable devices 300, such that the user profile database may be a distributed database wherein the locally-resident profile database may request information. The user profile data may be organized using a user identifier. It is preferable for security and privacy reasons that the user identifier provide an anonymous identification of a user, such that a breach of the memory on which the user profiles are stored cannot be used to obtain personal user information. The user profiles may contain any and all of the following information about the user: credit card, and/or billing,- affinity group memberships, as discussed hereinbelow and which may include but are not limited to game specific memberships and game genre memberships, etc.; numeric or other rankings of interest in or preferences relating to news topics, sports, advertisements, goods, services, electronic games, interactive games; portable communications device make, model, and capabilities; game applications resident on the user's portable communications device; skill level for each game a user participates in, including virtual reality games; achievement level for each game a user participates in; users virtual reality character characteristics; portable communications device usage level; occupation; income level; education level ; residence or geographic area; age; sex; religion; frequent locations; device characteristics; and/or identification of other users precluded from communicating with the user
[64] For example, the controller 600 may build affinity groups of user profiles. Affinity groups may be created by comparing user profiles to predefined affinity group definitions to thereby identify users who belong in the affinity group. The controller may then store affinity group membership and definition information, and may include self-selected users in the stored affinity groups. Based on the affinity groups, controller 600 may select local (e.g. that stored in a memory associated with the content selector) information for distribution to affinity group members, or remote (e.g. that available from remote servers, such as Internet server) information for distribution to affinity group members, and may select local and/or remote applications, such as interactive gaming applications, for distribution to affinity group members . Thereby, an individual can self-identify, or through certain actions and behaviors be automatically identified by the system, as a member of a particular affinity group, and receive various types of information, notifications, and other types of content that would be of appropriate interest to members of that group .
[65] A method of providing content to affinity group members is described with reference to .Fig. 5. In accordance-with known profiling techniques, the above-referenced profile data may be collected in written or electronic form from users in step 900. A user can create a profile for the interests of that user, and the types of information and notifications that user wishes to receive, by entering base profile information on a device 300 having connectivity to the controller. Some aspects of the user profile, such as what services the user has paid for, or what type of device is used by the user to receive the information and notifications, may not be not subject to edit by the user, but may be automatically submitted to the controller via underlying software on the device, for example .
[66] After the profile data is collected, it may be stored in step 910. After the profile data is stored, each user's profile data may be compared with the profile data of different ones of the other users in step 920, such as by comparing of all profile data, or only selected ones of the profile data, depending on the requirements for the formation of the subject affinity group, which requirements may be drawn from, for example, an affinity group template. Following the comparison step 920, the users that surpass a threshold profile data matching standard with other users may be associated with a particular affinity group in step 930, or the user may override the system and self-select him/herself for inclusion in the group in step 940.
[67] Based upon the inclusion of a user in an affinity group, content may be delivered to that user in step 950, and that content may be distributed in accordance with the capabilities of the device of that user, such as in accordance with the user profile. Content may include text, still or moving images, sounds, stimulus, such as vibration, data files, or applications. User interaction may occur in step 960.
[68] Once a profile is created and stored for a user, it may be updated manually by the user, or automatically by the system, in step 970. Automatic updating of the profile may occur at periodic intervals, or as the result of some action on the part of the user. For example, the user's completion, victory, or defeat, such as in association with an interactive game, may trigger the system to record such action through an updating of the users profile. This profile update may result in the user being chosen for games of higher, lower, or the same skill level for future interactive games .
[69] Profile updating may also be carried out automatically in response to certain actions of the user. Thus, a user who responds more rapidly or readily to one type of content than another may be automatically configured by the content server to receive more of the preferred content and less of the unpreferred, for example .
[70] For example, a user interested in playing a game of chess at a particular time over a wireless communications network may have a profile associated with the device of that user, which profile describes the user's chess ranking, the display capabilities of the device, other network-specific attributes, and other criteria particular to the user. Upon wishing to initiate a game, the user device may query to locate other potential players also currently waiting to play, and that fit in that user's bracket. Comparisons performed in accordance with the query may then form an affinity group for the game. After returning a response to the users and performing any necessary communication mediation, the game is activated. Upon the completion of the game, each user's local profile may be updated accordingly with such as with the game's results.
[71] The controller 600 of the present invention may be further adapted to monitor and/or limit a user's access to a particular interactive application. For example, the controller 600 may prevent a user from accessing an interactive application that the user's wireless access device 300 is not capable of supporting, such as because of lack of graphics capability, lack of processing speed, or the like, or may limit a user's access to a particular gaming application if that user does not have a certain skill level, such as being too skilled or not skilled enough. In this manner, the controller 600 may be adapted to sort stored user profiles and match users based on predefined ranges of skill, equipment specifications, and/or other attributes. The controller 600 may be further adapted to allow users to request to play other users that may be outside these ranges. In these instances, the controller 600 may notify the users of the (dis) advantages of the other player (s). Furthermore, as discussed above, the controller 600 may further include a handicapping mechanism for leveling the playing field.
[72] The controller 600 may be further adapted to recognize the location of the wireless access devices 300. The controller 600 may further include software that recognizes the GPS and/or AMI address information of the user or the wireless access device 300. The location information may be gathered and transmitted by the wireless access device 300 itself using GPS and location software and methods known to those of ordinary skill in the art . Alternatively, the location information may be estimated by the interactive system 10 based on any one or more of known methods, including, but not limited to, round trip signal delay, triangulation, received power, and the cell site location that the wireless access device 300 is in communication with. [73] In an embodiment of the present invention, the controller 600 may be adapted to provide administration services. The controller 600 may store directories of all users of the interactive system 10 divided into certain affinity groups, or interactive communities .
[74] The controller 600 of the present invention may further include game manager 610 for managing a particular gaming interactive application. The game manager 610 is adapted to alter the overall states of certain global degrees of freedom. For example, the game manager 610 may adjust the conditions of the field of play for a gaming application by providing instructions to the wireless access device 300 for rain, snow, or any other change of field conditions. The instructions may be provided to the wireless access device 300 in an arbitrary fashion, or according to a schedule stored in the controller 600. In an embodiment of the present invention, the game manager 610 is an algorithm or software means designed for a specific gaming application. In an alternative embodiment, the game manager 610 is performed through human intervention at the administrator level.
[75] The controller 600 is further adapted to provide error correction techniques for minimizing transmission errors during delivery of the interactive application. The controller 600 may include known error correction techniques, such as, for example, block coding methods, convolutional coding methods, or any other error correction methods known by those of ordinary skill in the art .
[76] In an embodiment, users may be billed based on a flat rate with unlimited use, on a pre-paid basis, based on minutes of use, on a pay per play basis, and/or any combination of known billing methods. In addition, the provision of the interactive application 200 to the user may be sponsored, such that the user receives a discounted rate in return for listening to personalized advertisements before, during, and/or after the interactive session.
[77] The controller 600 of the present invention may be further adapted to maintain a persistent state of play. For example, a user may end an interactive gaming session and the controller 600 will store the session so that the user may rejoin the session at a later time. Alternatively, if the user ended a gaming session that included multiple players, the controller 600 may be adapted such that the session is stored and can be rejoined by all of the players at a later time at the point they were when the session ended. [78] The controller 600 may further include back up, fail over, and redundancy systems to prevent data, such as a stored gaming session, from being lost. The controller 600 may include known systems and methods, such as, for example, RAID storage, active mirroring of information, heartbeat signaling, load sharing, and/or any other methods known by those of ordinary skill in the art.
[79] In the preferred embodiment, the present invention operates over the wireless network 100. It will be apparent to persons of ordinary skill in the art that numerous variations may be made without departing from the scope and spirit of the invention. For example, the interactive system 10 may operate over various wireless systems including, but not limited to: cellular, wireless local loop (WLL) , WLAN (8023 1) , infrared, Bluetooth, and satellite-based systems.
[80] It is also contemplated that the wireless network 100 may include a plurality of "information service stations," or sub-networks, which may be located at various locations, such as, but not limited to, convenience stores, gas stations, and shopping malls, wherein a user may receive a signal from the wireless network 100 and receive instant updates relating to the interactive application 200 being used. Each sub-network may be adapted to have its own characteristics in addition to the characteristics of the master wireless network 100. For example, a user in a specific sub-network, such as, for example, a shopping mall, may receive information, as part of the interactive application 200, about a store located within the mall. In addition, a user may be notified about other users/players that are in the sub-network that the user may want to join in the interactive session. Finding potential players proximate to a . particular user is advantageous because it would enable network mediator 700, discussed hereinbelow, to join the players, at least in part, in a peer-to-peer environment, which allows for more efficient use of the network and enables more real-time interactive play. Providing the sub-networks is further advantageous because sub-networks may be used at a lower cost than the wireless network 100, and may thus help to provide the interactive system 10 on a least cost basis.
[81] Other embodiments of the present invention may include, but are not limited to, a LAN, PSTN, Cable, Internet, WAN, UDP, SNM (walkie talkies) , any portion of the unlicensed spectrum, and/or even wireline networks . [82] The interactive system 10 of the present invention further includes network mediator 700 for controlling delivery of the interactive application 200 to one or more users. The network mediator 700 may be embodied in a software application and/or algorithm that resides on one or more servers in the interactive system 10.
[83] In one embodiment, the network mediator 700 delivers the interactive application through a client/server environment over the wireless network 100. In an alternative embodiment, the network mediator 700 delivers the interactive application in a peer-to-peer environment that is independent of the wireless network 100. In yet another embodiment of the present invention, the network mediator 700 delivers the interactive application in a hybrid environment that incorporates the client/server environment in conjunction with the independent peer-to-peer environment .
[84] The delivery of the interactive application by the network mediator 700 may be based on many factors. The network mediator 700 takes into account the spectral efficiency of the wireless network 100. For a particular interactive application session at a given time, the higher the spectral efficiency of the wireless network 100 the more of the interactive application that can reside on the server in the interactive system 10. In contrast, if the spectral efficiency is low, the network mediator 700 may send the entire interactive application to the user's wireless access device, perhaps at low network usage times, so that the application may be used in a peer- to-peer or hybrid environment.
[85] Similarly, the delivery of the interactive application depends on the value of the interactive application itself and the corresponding security necessary to protect the interactive application. For example, a proprietary video game that is more valuable to the system operators will be stored on the server and will not be permitted to be downloaded to the wireless access device 300.
[86] The delivery of the interactive application 200 by the network mediator 700 may be further based on the proximity of the various users to one another. For example, if the multiple users are all located in close proximity to one another, for example, in the range of about 10 meters to about 100 meters, the network mediator 700 will deliver the interactive applications to the user access devices 300 and enable the interactive session to occur in a peer-to-peer environment. In this instance, the wireless network 100 may resemble, for example, a Bluetooth network.
[87] The network mediator 700 is adapted to determine whether peer-to-peer communication is possible based on, for example, specifications of each wireless access device 300, the interactive application 200, the location of the user, and the user profiles stored by controller 600. Once it has determined that peer-to-peer communication is possible for a particular interactive session, the network mediator 700 directs each wireless access device 300 to engage in a peer-to-peer interactive session. During this session, each wireless access device 300 may download any necessary information from the game server 400, and may send limited information to the game server 400 to maintain the proper level of knowledge required to provide an enhanced interactive experience. This limited information may include, for example, final scores, standings, and/or any other game related statistics that may provide the system with a better understanding of the user and their experience . In addition, limited information may be sent from the network to the wireless access device 300, such as, for example, personalized messages and/or advertisements that are not resident on the device. Other than the limited information sent to or from the wireless access device 300, during peer-to-peer mode the wireless access devices 300 may communicate directly with each other the necessary information to maintain the game. This is advantageous because it reduces the amount of information that is transmitted across the wireless network 100 and reduces the operator's service costs without infringing on the user ' s playing experience .
[88] Operation of one embodiment of the network mediator 700 will now be described with reference to Fig. 1. After the user has logged onto the system and requested game play, the system locates other players who wish to participate in the interactive gaming session. The network mediator 700 retrieves player information from the player database 420 and game information from the game database 410. The network mediator 700 may further retrieve information about each wireless access device 300.
[89] The network mediator 700 then determines if each wireless access device 300 is capable of providing location information. If all of the devices are not capable of providing location information, the network mediator sets up communications in the Client/Server environment. If all the devices provide the network mediator 700 with location information, the network mediator 700 determines if the devices are close enough to initiate peer to peer play. If all of the devices satisfy the conditions, the network mediator sets up peer to peer communications.
[90] The system initiates game play, and the users engage in an interactive gaming session in the environment that was set up by the network mediator 700. After game play has ended, the network mediator 700 determines whether the session was a peer-to-peer environment. If the session was not, the system uploads game and player detail information to the game server 400 to update the player profiles, and ends the session. If the session did include a peer-to-peer environment, the wireless access device 300 then re-establishes connection to the game server 400 over the wireless network 100, uploads game and player detail information to the game server 400 to update the player profiles, and ends the session. It is contemplated that the process flow for the network mediator 700 may incorporate other factors for determination of the environment to be provided, as discussed above.
[91] Upon initiation of game play, the degrees of freedom, and the correspondent game state, may be managed, as discussed hereinabove. Thus, as depicted in Fig. 6, the present invention may include a degree of freedom manager 246, 346 to cooperate with one or both of the device 300 and the game server 400 to manage degrees of freedom information of an interactive application.
[92] For example, as illustrated in Figure 6, the device 300 preferably may include a client session manager 740. The client session manager may include, or be included in, a device controller, and may include a game application 705, as set forth hereinabove, a game memory 715, a local modellor 725, and the degree of freedom (DOF) manager 246. The game server 400 preferably further includes server session manager 750. The server session manager 750 may further include a server manager API 752, a host game 755, an object library 756, which may distributed as between the device 300 and the server session manager 750, cooperating with the host game 755, a global modellor 765 for reconciling the game as between all users or participants, and a server degree of freedom controller 346 in communication with the global modellor 765. The system of the present invention as depicted may be adapted to determine the state of the client device through the communication from client session manager 740 to session manager 750. The server 300 may synchronize the device (s) 300 with the interactive application through the server synchronizer 500. The device 300 may further include an operating system 710, a client system clock 730, and a client application (API) 760.
[93] For example, the device 300 may communicate game state information, which has been optimized to efficiently utilize the limited bandwidth of the wireless communications network 100, to and from the game server 400 over the- wireless communications network 100. Game information may be packaged, or unpackaged, according to instructions received from the DOF manager 246 and the server DOF manager 346. In an embodiment of the present invention, local game information may include UDP data packets. The use of other protocols for packeting and transporting the local game information, such as, for example, TCP/IP, IP, IP Mobile, or any other suitable protocol (s) are considered to be well within the scope of the present invention.
[94] The synchronizer 500 may include a clock synchronized with client system clock 730, adapted to time stamp the game information that is communicated by the game server 400 over the wireless communications network 100. As will be apparent to those of ordinary skill in the art, the synchronizer 500 enables the state of game play to be synchronized between all users of interactive system 10. The time management system inherent in a wireless network, such as, for example, a CDMA network, is more precise than that typically employed over IP-based networks. This time management system may thus be embedded in the device 300, and may manage time across the network 100. Further, the game server 400 may further include a server synchronizer that synchronizes a server system clock at the game server for global game time.
[95] The game application 705 may be game software that resides on the mobile device 300. The game application 705 includes at least a distributed portion of the host game application from the mobile game server 400, and may provide all of the functions and features of the particular interactive application. The game application 705 is executed by the mobile device 300, and is adapted to receive input and provide output • necessary for the user to play an interactive game at the mobile device 300.
1961 The game application 705 may be stored on the memory at the device 300. The memory 715 may be, for example, a memory chip, a plug-in module, solid state memory, Sandisk memory media, "flash" memory, such as a Sony memory stick, or any other memory means capable of supporting the game application 705. [97] In an embodiment of the present invention, the local modellor 725 is an algorithm designed to model the local game state. The term "game state" is generally meant to describe a current snapshot , at any given time, of the position, timing, and nature of gameplay for all game objects that are under the influence of a player's interactive "choice" in an interactive game experience . The exercise of choice by the player operates within the physics that controls the relationship between game objects in the interactive application, as set forth hereinabove. The local modellor examines the data associated with the particular state of the game at the mobile device 300. For any given game state, this data may include, for example, character current position in the virtual game space (which could be two- or three- dimensional) , the items the character is carrying, whether the character is moving, and/or the direction and rate at which the character is moving, for example .
[98] The local modellor 725 recognizes any changes that occurred in the local game state, such as in the variably defined area of controlled space relative to the last updated global game state. The global game state is managed by the game server 400, and is defined as the game view shared by all players. The local game state is the game parameter controlled space, or "sphere of influence, " that each client player currently occupies. The local game state will differ for each player at each mobile device 300. In addition, the size and scope of the local game state is flexibly defined, depending on the interactive application or game involved. For example, the local game state may involve a two-dimensional view or a three-dimensional view. Any interactions between the player and the game application 705 at the mobile device 300 (through the client input/output means) changes the state within that localized sphere of influence. The client session manager 740 collects the change of state information from the local modellor, and implements the client DOF manager 246.
[99] In the preferred embodiment, the client DOF manager 246 is an algorithm stored on the mobile device 300. The client DOF manager 246 preferably is designed to structure the change of game state information recognized by the local modellor in a manner that can be communicated to the mobile game server 300 and that efficiently utilizes the limited bandwidth of the wireless network 100. The game server 400 receives the coded, changed game state information from each of the mobile device 300 in the gaming session, decodes the information, updates the global model, and returns the necessary information to update each mobile device 300 relative to the global game state.
[100] The client DOF manager 246 efficiently structures the change of game state information by optimizing the degrees of freedom information that are transmitted over the network. Simply put, the client DOF manager 246 provides a "shorthand" description of any changes in the local game state that minimizes the amount of information delivered across the network 100 without compromising the enhanced, realistic feel of the interactive application.
[101] The server session manager 750 preferably includes an algorithm for controlling the functioning of, and interface to, the game application, the game object library, the global modelor, and the server DOF manager 346. The server session manager 750 manages the gameplay of all logged on users for a given interactive game application. The primary functions performed by the server session manager 750 may include: registration functionality for maintaining all session statistics of all game objects ,- responsibility functionality for managing requests for all active, or "in-play" objects; persistence functionality for controlling and maintaining permanent records of the "state" of all game objects utilized in a game session; arbitration functionality for determining the current "state" of game objects; estimation functionality for estimating the true "state" of game objects in active game play; and reconciliation functionality for reconciling, or smoothing, the errors between the "estimated" and the actual "state" of the global objects based on the latest synchronization of the global game view. The host game application at the server 400 may be a game software that resides on the game server 400, and is controlled by the server session manager 750. The host game application may parallel the client game application, and may include software describing any game application, ranging from simplistic board games to complex, graphic intensive action and adventure games .
[102] The game object library may be a database for storing a list of all relevant objects in the interactive application. The game object library contains the entire list of objects that defines, populates and creates the game play experience. Objects may be grouped by appearance or nature within the game construct. Object groups include, but are not limited to, mobile client interface, client device input, graphics, communications, game session, and other groups that are appropriate given the type and genre of the game application. Within each object group there may be object families. For example, within the game session group, depending on the type or nature of game play, there may be object families for movement, trajectory, sound, color shifts, characters, tools, weapons, collectibles, spells, instruments, etc. The game object library may cooperate with the server session manager 750.
[103] The server DOF manager may employ essentially the same data structuring that are used by the client DOF manager 246, as discussed above. After the global game state has been updated by the global modellor, the server DOF manager 346 may structure the updated game state information in a manner that can be communicated to each mobile device 300, and that efficiently utilizes the limited bandwidth of the wireless network 100.
[104] Various standards are known in the art that may be adapted for determining, evaluating, and/or communicating the degrees of freedom to support an interactive application in the manner of the present invention. For example, Distributed Interactive Simulation (DIS) was published by EEL 4781 Computer Networks, University of Central Florida, in the Fall of 1998. The DIS application is described in the paper entitled "Distributed Interactive Simulation (DIS) " by James Heardt and Kevin Mite, which is incorporated herein by reference. An alternative approach is MiMaze, a distributed ultiplayer game on the Internet. Laurent Gautier and Christophe Diot, "Design and Evaluation of MiMaze, a Multiplayer Game on the Internet". Other approaches include those described in "A Network Software Architecture For Large-Scale Virtual Environments, " a dissertation by Michael R. Macedonia at the Naval Post-Graduate School in Monterrey, California (June 1995) . Simulation Interoperability Standards Organization, Inc., has published draft standards that may also be adapted for use in conjunction with the present invention, such as, for example, RPR-FOM Version 1.0 (Draft). Similarly, the Institute of Electrical and Electronics Engineers has promulgated standards for enumeration and-, bit-encoded values for use with protocols for distributed interactive simulation applications, such as, for example, IEEE Standard 1278.1 and 1278.2 and accompanying documentation.
[105] Distributed Interactive Simulation (DIS) is a network simulator that is designed to provide logistically efficient and cost-effective support to' perform training and provide the ability to practice tactics in a battle simulation. DIS attempts to provide a method of networking heterogeneous simulators together that allows realistic, consistent simulations to occur, despite differences in simulator hardware and software, in order to achieve interoperability of network simulators . DIS does this through the use of the DIS protocol standard, UDP. DIS integrates traditional simulator technologies with computer communication technologies to create a system that provides a common battlefield on which the various simulators can interact in active, real-time situations. Input and output is distributed across the simulators in real-time. This feature places limits on latency between hosts. Practical networks using DIS typically require multicasting to implement the required distribution of all data to the participating simulators. These challenges are similar to those that are imposed in interactive gaming environment over a wireless communication network.
[106] The foundation of DIS data structure is a standard set of messages and rules, called Protocol Data Units (PDUs) . An example of one of these PDUs is the Entity State PDU, which represents all of the state information about the simulated entity that all other simulators need to know. For example, an Entity State PDU contains data about the position and velocity of an entity and makes the type, position, orientation, and appearance of an entity available to all of the players of the distributed simulation. To save network bandwidth, extrapolation or dead reckoning is used for the movement of the entity. By using the position, velocity, acceleration, and rotational velocity data, a receiving unit is able to reconcile a vehicle's position before the arrival of the next PDU, thereby reducing consumption of network bandwidth.
[107] DIS is a peer-to-peer architecture, in which all data is transmitted to all simulators whereat it can be rejected or accepted, depending on the receiver's needs. By eliminating a central server through which all messages pass, DIS dramatically reduces the time needed for a simulator to send important information to another simulator. The lack of a central server greatly increases the realism of the simulator and the effectiveness of the simulation, yet, in this manner, DIS differs from a wireless communications environment, in which communications are mediated by network 100.
[108] The types of PDUs exchanged in the DIS protocol include: entity states; emissions; bit stream packets; environment; fire and detonation. The protocol used by DIS is specified in "Standard for Distributed Interactive Simulation-Application Protocols", Version 2.0.4 (Revised). The DIS system uses "Enumeration and Bit-Encoded Values for Use with IEEE Standards 1278.1-1994 for Distributed Interactive Simulation - Application Protocols", IST-CR-93-46, March 1994. For a definition of the enumerated values contained in the PDU fields specified in the IEEE 1278.1 standard, CCTT simulation application host processors use the Internet standard User Data Graham Protocol (UDP) and the Internet Protocol (IP) for the transportation mechanism for PDUs. The CCTT network interface is consistent with the "Standard for Distributed Interactive Simulation-Communication Services and Profile", IEEE Standard 1278.2-1995.
[109] MiMaze is a distributed (i.e., server list) game. MiMaze Transmission Control is based on RTP over UDP/IP multicast. Because of the distributed architecture of MiMaze, its synchronization mechanism has to cope with different transmission delays among the participants.
[110] The characteristics of distributed games are very similar to those of DIS applications. MiMaze differs from DIS applications in that the requirements of the application's Central Processing Unit (CPU) are low. The application operates on the Internet. MiMaze employs a fully distributed architecture using multi-point communications support. This architecture offers, for example, robustness and scalability. Each entity computes its own local view of the global state of the game using information received from the other entities. This locally computed view is then displayed to the local participant.
[Ill] Network delays in MiMaze may differ for all participants on the Internet, and thus synchronization must be introduced to allow ADUs issued at the "same "time" to be processed "together" by any participant. In the MiMaze environment, time is divided into fixed length sampling periods and a bucket is associated with each sampling period. All ADUs received by a player that were issued by senders during a given sampling period are stored by the receiver in the bucket corresponding to that interval . When a participant has to deliver an updated global state, it computes all the ADUs available in the "current" bucket. One feature of synchronization is that all participants should display the same game state at the same time. MiMaze includes a global clock mechanism to evaluate the delay between participating entities. The synchronization efficiency of systems such as MiMaze is relatively high. The producers of MiMaze claim that more than 85% of the buckets are delivered "on time" and there is no late ADU. MiMaze purports to be the first multi-player game designed to be totally distributed, i.e., serverless. MiMaze further establishes that distributed approaches providing a good level of performance with potential scalability and real-time properties are accessible to persons of ordinary skill in the art.
[112] These approaches, proposed standards, and standards, however, relate to the transmission of information over wireline networks on a peer-to-peer basis. Due to the greater bandwidth available, aggressive control over the degrees of freedom, and management of packet data, is not as critical in these prior known environments as it is over a wireless communication network. Accordingly, although these, or other, algorithms and methods could be used in conjunction with the present invention, the present invention goes beyond by providing a system and method for managing degrees of freedom to adapting the application for use over a wireless communications network.
[113] The present invention preferably adapts interactive protocols and standards, specifically to control the degrees of freedom of an interactive application. Whereas DIS and MiMaze are peer-to-peer applications running on the Internet or on distributed wide-area networks, the present invention is preferably adapted to control the degrees of freedom < in a manner that efficiently uses bandwidth and enables the interactive application to be rendered in real-time over a wireless communications network.
[114] The interactive system 10 may further include customer care 800. The customer care 800 provides, for example, provisioning, billing, and reporting services and may include human and/or automated agerittrepresentatives for providing service support to the customer. The customer care is preferably adapted to interface both with the mobile device 300 and the game server 400. For example, the customer care may be adapted to interface with the mobile device 300 through a USB connection of the type well known in the art. Alternatively, customer care may be adapted to cooperate with the server 400, and in particular,' such as through server router connections of a type well known in the art prior to the present invention.
[115] The server 400 may further include one or more local caches, which may include a media module 810 and an operator switching center 820. In an embodiment, the server 400 may further include game lobby server 830, for selecting content and managing user profiles, targeting, or affinity groups, a reporting database 840, for managing the persistence function of the server session manager 750, a web server 850, for managing interactive community functions, a privacy server 860 for managing subscriber key encryption information, a game server farm 870, for providing one or more game servers .
[116] As shown in Fig. 6, the master server and the local cache of the present invention may provide scalability. A single server may be used in lieu of a separate local cache and/or master server. Thus, it is intended that the variations and modifications of the servers and, in particular, of the hardware and software components and deployment of the local cache, the master server, and multiple levels of servers, be limiting as to the present invention.
[117] The system of the present invention defines, manages, and/or communicates degree of freedom of information between one or more user devices 300 and the network 100, in coordination with the game server 400. Fig. 7 depicts a conceptual block diagram of the conversion of state information 1501, event information 1502, and behavior information 1503 into time information 1504, space information 1505, and velocity information 1506. In an embodiment of the present invention, the degree of freedom managers 246, 346 take information about the state of the interactive application, various events, and various behaviors by the user and convert that information into parameters for time, space, and velocity of objects in the interactive application that can be rendered the user.
[118] In an embodiment to the present invention, management of degrees of freedom is accomplished by constructing and sequencing communications packets. Construction of packet data is universal to digital wireless technologies . Packet data preferably carries the required information to render the interactive application to the user. Descripting languages are preferably used to construct the bit order and sequencing of a communications packet . Varying numbers of bits are developed over an interval of time that have been transmitted to and from the network. In an embodiment of the present invention, the structuring and sequencing of bits in a packet allows the packet to provide critical information between the game server 400 and the mobile device 300 in a manner more efficient than those methods known prior to the present invention.
[119] Fig. 8A depicts a sample game packet structure of the preferred embodiment of the present invention. A bit number location defines the function of each bit within the packet. A reference table as shown in Fig. 8B is generated and/or periodically updated by the mobile device 300, or the game server 400. The reference table is preferably resident on all devices within the client's sphere of influence within the interactive application or local scene model. In this fashion, the reference table allows the packet information to be referenced to specific individual actions within the overall game.
[120] As embodied herein, the degree of freedom managers 246, 346 may be adapted to further increase the efficiency of the wireless network 100 by determining which devices 300 require a global update transmission. This is done based on the relevancy of other game state changes at other participating devices 300 relative to the specific mobile game client's local model. Degree of freedom packets are preferably filtered at the game server 400 to insure that return trip data has relevance and is economically -transmitted to each participating device 300. The game state thus is preferably defined by the degree of freedom manager 246 and 346. The degree of freedom manager 246 and 346 may include extensible coding languages with object orientation capable of defining game state, event, and behavior of all game objects within a virtual game environment.
[121] The present invention may employ game state packets. The game state packets of the present invention preferably enable communication of each players game state relative to the physics (time, space, and velocity) of the interactive application, as depicted in Fig. 7. In an embodiment of the present invention, game state packets may include initialization packets for establishing various game states including players, bit number location references, location state packets, time sequencing and error correction adjustment packets for determining time and correcting errors, and rate initialization and reference packets for determining velocity.
[122] In an embodiment of the present invention, the degrees of freedom can be defined by as little as one or more bits, depending on .the condition within the game environment that is being controlled. If there is no change of state, no data need be transmitted. Each object that is involved within the game environment is adapted to have a defined set of parameters that will describe its behavior within the game environment. In an embodiment of the present invention some characteristics of the game packets include information: character specific; device specific ,- location specific; object physics; or other characteristics that are adapted to facilitate game play. Degrees of freedom are preferably grouped or mapped to the object library to allow complex movements within the interactive application to be controlled with minimal transmitted information. The characteristics of each packet are preferably specific to the client, client set, or client-server . This allows for larger, complex game environments to be established where multiple players coexist simultaneously, taking actions that may or may not be shown on the client field of play.
[123] The degrees of freedom may define the relevant motions of an object. Each activity of the object may be defined by a degree of freedom, such as that described in Table 1 below. The degree of freedom establishes the state of the action being controlled. The number of bits dedicated to each degree of freedom may be variable, depending on the action.
Table 1
Figure imgf000033_0001
[124] Table 2 provides an example of how the varying degrees of freedom may be used in an application of the present invention.
Table 2
Figure imgf000034_0001
[125] Functional information may be mapped from a bit number location reference to individual degrees of freedom for individual objects within the game session through a degree of freedom variable . The degree of freedom variable is preferably established on the game server 400, the client and/or clients 300.
[126] As discussed above, the present invention preferably manages degrees of freedom, in order to improve the transfer of state information for a wireless interactive application. In an embodiment, the present invention comprises a process and method for determining and communicating an instruction set for describing change of state information. The method preferably further includes determining the degrees of freedom, based upon the instructions set; reducing the instruction set and/or the degrees of freedom to achieve a desired efficient configuration of the change of state information; and synchronizing the action of each of the users relative to each other in order to facilitate the interactive application among one or more users. Determination of the instruction set is preferably based on a number of factors including, without limitation: the features and characteristics of the client 300; the version of the interactive application that is being executed; user preferences; control protocols relative to the wireless communication network 100 and the client 300 with respect to the interactive application; and the features and characteristics of the interactive application itself.
[127] In an embodiment, the process .of determining the degrees of freedom associated with the interactive application may further include consideration of additional parameters, including one or more of the following: the degree to which degrees of freedom may be layered or combined; any limitations applicable to the degrees of freedom; device specific parameters; considerations of network efficiencies; and handling of projectiles. Layering of degrees of freedom, as discussed hereinabove, may further include any one or more of the following techniques: creating a metaset of degrees of freedom that combines one or more other degrees of freedom to create a more complexed or combined action; reducing entire server displays to one or more degrees of freedom; depicting a single action as a degree of freedom, or alternatively, combining a series of actions into one or more degrees of freedom. To the extent that various actions depicted by certain degrees of freedom typically occur together, those groups of degrees of freedom may be combined into an alternative degree of freedom to further compress the data transfer requirements. In addition, special degrees of freedom may be created to perform unique or unusual maneuvers in the interactive application. [128] Limits may be imposed on degrees of freedom based on one or more of a number of parameters : independen ly; arbitrarily; or the users' or system operators' preferences. Limits may be imposed on various of the degrees of freedom based on rules of the interactive application that is being executed. Limits may be imposed on certain degrees of freedom based on system parameters or requirements. Similarly, the device specific degrees of freedom may be adapted based upon one or more of the following capabilities of the client 300: graphics; sounds; scent; temperature; vibrations; and/or feedback. The determination of degrees of freedom based on network efficiency of the process of determining degrees of freedom may be based on any factor that influences the efficiency of transfer of information over the air interface. These may include any one or more of the following, without limitation: frame transfer rate; the size of the frame at the point on which the frame is transferred, namely the degree to which the frame is filled before being transferred; the data transfer rate; and packet definition.
[129] In an embodiment, the step of reducing the instruction set and/or the degrees of freedom to a critical set desired to execute the interactive application further includes reducing the instruction set and/or the degrees of freedom in order to more efficiently manage the transfer of state information over the air interface. It will be apparent to persons of ordinary skill in the art that variations and modifications may be made in the manner in which the instruction set and/or degrees of freedom are managed to achieve this goal without departing from the scope or spirit of the invention. For example, in determining the instruction set, the instruction set could be analyzed critically to determine the minimal number of instructions that are necessary in order to render the interactive application. Only those minimal number of instructions could then be converted into degrees of freedom which are managed over the air interface. Alternatively, the desired instruction set for the interactive application could be determined and all of the instruction set converted into degrees of freedom. At that point , the degrees of freedom could be analyzed critically to determine the least number of degrees of freedom necessary to render the interactive application in the desired format . The balance of the degrees of freedom from the original instruction set could be ignored and only those degrees of freedom that are necessary or critical to render the interactive application in the desired format could be transmitted over the air interface. The reduction of the instruction set and/or the degrees of freedom may be based on user input ; input from other users ; or the conditions of the state of play (such as rain, storms, snow, wind, and a variety of other environmental parameters) .
[130] In an embodiment, the transfer of state information may include managing the synchronization in a manner to provide the desired gaming experience. This can be accomplished in a number of ways, including, without limitation: lagging other users of the interactive application to synchronize the action of the interactive application with the slowest user or allowing the fastest player to proceed and snapping other users to the same point in the game; or determining one or more users whose state of play determines the point of synchronization and snapping the balance of the users to that point . During the course of playing an interactive game, a variety of factors may cause one or more of the users to lag behind the balance of the users of the application. For example, interference for multi-path signals may delay or disrupt the transmission of the interactive application to one or more of the users. In that case, the user whose signal is disrupted may begin to lag behind other users of the game. In addition, it is possible that through a variety of disruptive effects on various of the users that one or more, or all of the users may begin to lag relative to each other in the state of play of the interactive application. Thus, the present invention preferably includes a process for synchronizing the various users of the interactive application, periodically throughout the execution of the interactive application, in order to synchronize the interactive gaming experience.
[131] Fig. 9 depicts a communication cycle of an embodiment of the present invention. The server 400 maintains global state information regarding the interactive application. The server 400 communicates with one or more mobile game clients 300, depicted in Fig. 9 as game states 1 through 4, over the network 100. As shown in Fig. 9, game state 1 is maintained on the first mobile device 300; game state two is maintained on the second mobile device 300; etc.
[132] Fig. 10 depicts an embodiment of a communication cycle of the method of the present invention. As shown in Fig. 10, a method of the present invention preferably includes the step 3300 of synchronizing the users with the server, such as by using the clock and synchronizer. In step 1000, the server then communications the synchronization data with each of the mobile game clients over the network. [133] By means of example only, and not by means of limitation, mobile game clients 1 through 4 are depicted in Fig. 10 as local 1 through local 4. Each mobile device experiences its own state of play in steps 2020. The local model at each mobile device then determines the state of play of that client device in steps 2040 and communicates that information to the client (DOF) manager. Each of the DOF managers determines the degrees of freedom necessary to manage the state of play of each of the mobile game clients in steps 2060. The degrees of freedom information, determined in steps 2060, is then communicated to each of the clients in step 2200, and packaged according to the instructions provided. The client, in turn, communicates the degrees of freedom information in step 1010 over the wireless communication network to the server. In step 3000, the server undertakes to update the global model of the interactive application in the server session manager. The server transmits the requisite information to the server synchronizer, which undertakes the steps of synchronizing the communications between the server and the local client devices in step 3300. The server then communicates with the wireless communication network 100, to transmit the updated and synchronized global information to each of the devices.
[134] Fig. 11 illustrates a method for managing state information for an embodiment of the method of the present invention further including the steps of: registration 3410; responsibility 3420; persistence 3430; arbitration 3440; estimation 3450; and reconciliation 3460. In an embodiment of the present invention, one or more of the further steps of registration, responsibility, persistence, arbitration, estimation, and reconciliation are performed by the server session manager and/or the client session manager in order to coordinate interactive applications among the server and the mobile game clients. Fig. 11 depicts a communication cycle of a method of an embodiment of the present invention showing the registration, responsibility, persistence, arbitration, estimation, and reconciliation functions being performed by the server session manager.
[135] As shown in Fig. 11, in step 3300, the server synchronization means 330 synchronizes the state of each of the mobile game clients and the server. In step 1000, the server then preferably transmits the synchronization information over the wireless communication network to each of the at least one mobile game clients. Each mobile device experiences its own state of play in steps 2020. The local model at each mobile device then determines the state of play of that client device in steps 2040. The mobile device communicates the local state information in step 2200. The communication manager communicates the local state information to the server over the wireless communication network in step 3000. The server transmits the state information from each mobile device to the server session manager. The server session manager then undertakes the further steps of: registering the client in step 3410; determining responsibility for various activities in the interactive application in steps 3420; insuring persistence of various objects in the interactive application in steps 3430; arbitrating any conflicts between users and/or the server in steps 3440; estimating the position of objects that have changed to date in step 3450; and reconciling any conflicts that have arisen through the session manager processing in step 3460. In step 3100, the server session manager then transmits the updated global model information to the server synchronizer where the process begins again.
[136] Fig. 12 depicts an. embodiment of the present invention in which some, but not all, of the degrees of freedom management functions , are performed at each of the mobile device. As shown in Fig. 12, in the synchronization step 3300, the server synchronizes the client devices with the interactive application and the server, preferably using the system clock and the synchronizer. The server synchronizer then transmits the requisite synchronization information to the server. In step 1000, the server then preferably transmits the synchronization information over the wireless communication network to each of the at least one mobile game clients. Each mobile device experiences its own state of play in steps 2020. The local model at each mobile device then determines the state of play of that client device in steps 2040. In contrast to Fig. 11, in which none of the degrees of freedom management functions are performed on the mobile device, Fig. 12 depicts a method in which the client DOF manager performs the steps of determining degrees of freedom corresponding to responsibility in step 2420, and undertaking to evaluate and determine the degrees of freedom corresponding to the estimation function in step 2450.
[137] Fig. 13 shows a method of an embodiment of the present invention in which peer-to-peer communications have been enabled. Each of the mobile game clients is performing the degrees of freedom management functions, and the server is not performing any of the degrees of freedom management function normally attributed to the server session manager. As shown in Fig. 13, the client DOF manager undertakes the steps of registration 2410; responsibility 2420; persistence 2430; arbitration 2440; estimation 2460; and reconciliation 2460. In a peer-to-peer environment, as shown in Fig. 13, one of the mobile game clients (in the example shown in Fig. 13, local 1) undertakes the degrees of freedom management functions on behalf of all of the mobile game clients that are communicating with respect to the interactive application.
[138] Fig. 14 depicts a method of yet another embodiment of the present invention in which each of the mobile game clients and the game server are undertaking each of the registration, responsibility, persistence, arbitration, estimation, and reconciliation functions as depicted in Figs . 9 through 13.
[139] The system and method of the present invention are fully compatible and usable in conjunction with PC based games, as well as Internet applications, and TV-based games. In addition, the service employing the system and method of the present invention may be offered as a flat rate offering. Such services may be offered on a prepaid billing service for game purchase .
[140] Numerous other variations and modification will be apparent to persons of ordinary skill that will facilitate the delivery of wireless interactive applications, at high level of graphic quality, while more efficiently using network bandwidth and resources than prior known systems and methods. Thus, it is intended that the present invention include the variations and modification that may be used in conjunction with them, provided they come within the scope of the appended claims and the equivalents thereof .

Claims

What is claimed is:
1. A system for delivering an interactive entertainment service to at least one user of a wireless communications network, comprising: an interactive application adapted to the wireless communications network; a user access device adapted to receive said interactive application over the wireless communication network; a controller for establishing parameters under which said interactive application is rendered on said user access device; and a mediator for establishing terms for the interaction between the at least one user and other users and the wireless communications network.
2. The system of Claim 1, wherein said user access device is selected from the group consisting of. a wireless phone, a personal digital assistant, a pager, and an email device.
3. The system of Claim 1,.wherein said interactive application comprises more than about three degrees of freedom.
4. The system of Claim 1, wherein said interactive application resides on said user access device.
5. A method for creating an affinity group of portable communications device users comprising: providing for wireless communication between said users; storing profile data relating to each of said users, based upon use by each of said users; comparing the profile data of different ones of said users ; and associating users with the affinity group based on the profile data.
6. The system of Claim 5, wherein the profile data * comprises information selected from the group consisting of: user news preferences, user sports preferences, user advertisement preferences, user purchase preferences, user electronic game preferences, user interactive game preferences, user game skill level, user virtual reality character characteristics, user portable communications device capabilities, user portable communications device model, user portable communications device usage level, user occupation, user income level, user education level, user residence, user sex, user religion, other users precluded from communicating with the user, and user frequent location.
7. The system of Claim 5, wherein the profile data comprises information selected from the group consisting of user electronic game preferences, user interactive game preferences, user game skill level, user virtual reality character characteristics, and user portable communications device capabilities.
8. The system of Claim 5, wherein the profile data includes user, electronic game preferences.
9. The system of Claim 5, wherein the profile data includes user interactive game preferences.
10. The system of Claim 9, wherein the interactive game preferences comprise information selected from the group consisting of. user individual game selection history, user game genre selection history, and user ranking of interest in games .
11. The system of Claim 5, wherein the profile data includes user game skill level.
12. The system of Claim 5, wherein the profile data includes user interactive game preferences and user game skill level .
13. The system of Claim 5, further comprising allowing at least one of said users to include herself in an affinity group notwithstanding the failure of the comparing and associating.
14. A system for creating an affinity group of portable communications device users, comprising: means for providing wireless communication between said users ; means for storing profile data relating to each of said users, said means for storing being operatively connected to the means for providing wireless communications; and means for (a) comparing the profile data of each of said users with a predefined affinity group definition, and (b) associating users with the affinity group based on the comparison user profile data with the predefined affinity group definition to thereby create the group, said means for comparing and associating being operatively connected to the means for storing .
15. The system of Claim 14, wherein the profile data comprises information selected from the group consisting of. user news preferences, user sports preferences, user advertisement preferences, user purchase preferences, user electronic game preferences, user interactive game preferences, user game skill level, user virtual reality character characteristics, user portable communications device capabilities, user portable communications device model, user portable communications device usage level, user occupation, user income level, user education level, user residence, user sex, user religion, and user frequent location.
16. The system of Claim 14 wherein the profile data comprises information selected from the group consisting of user electronic game preferences, user interactive game preferences, user game skill level, user virtual reality character characteristics, and user portable communications device capabilities.
17. The system of Claim 14, wherein the profile data includes user electronic game preferences.
18. The system of Claim 14, wherein the profile data includes user interactive game preferences.
19. The system of Claim 18, wherein the interactive game preferences comprise information selected from the group consisting of user individual game selection history, user game genre selection history, and user ranking of interest in games .
20. The system of Claim 14 wherein the profile data includes user game skill level.
21. The system of Claim 14 wherein the profile data includes user virtual reality character characteristics.
22. The system of Claim 14 wherein the profile data includes user interactive game preferences and user game skill level .
23. The system of Claim 14 wherein the means for providing wireless communication includes plural mobile wireless devices, and wherein the means for storing profile data comprises a memory device located in each mobile wireless device .
24. A method of maintaining a group of portable communications device users associated with an affinity group based on comparisons of stored user profile data, said method comprising the steps of receiving updated profile data relating to users; modifying the stored user profile data based on the received updated profile data; comparing the modified user profile data of different ones of said users; and modifying as needed the users associated with the affinity group based on the modified user profile comparison.
25. A method of distributing targeted content to an affinity group of portable communications device users, comprising : providing wireless communication between a plurality of users ; receiving profile data relating to selected ones of said users ; storing the profile data relating to said users; comparing the stored profile data of different ones of said users ; associating users with the affinity group based on the profile data comparison; and distributing targeted content to the affinity group.
26. The method of Claim 25, wherein the targeted content comprises a game application.
27. A system for managing state information related to an interactive application to accommodate one or more users participating in an interactive application session, wherein the state information comprises local state information specific to a view of each of the one or more of the interactive application and global state information, the system comprising: a telecommunications network; an application server in communication with said telecommunications network for managing the global state information relative to all of the users participating in the interactive application session; and at least one mobile client device in communication with said application server over said telecommunications network, wherein the at least one mobile client manages at least a portion of the state information at the at least one mobile client .
28. The system of Claim 27, wherein said telecommunications network comprises a wireless communications network, comprising at least one base station, at least one base station controller, and at least one mobile switching center.
29. The system of Claim 28, wherein said application server further comprises : communication means for receiving the local state information from said at least one mobile client device; a global modeler for comparing the received local state information with the global state information and updating the global state information; a server state manager for structuring the updated global state information for optimized delivery over said wireless communications network; and wherein said communication means delivers the updated global state information to said at least one mobile client device.
30. The system of Claim 29, wherein said application server further comprises synchronization means for time synchronizing the updated global state information delivered to said at least one mobile client device over said wireless communications network.
31. The system of Claim 30, wherein said synchronization means comprises a server system clock.
32. The system of Claim 30, wherein said server state manager structures the updated global state information based upon degrees of freedom associated with the interactive application.
33. The system of Claim 27, wherein said at least one mobile client device further comprises: a local modeler for comparing the local state information to the global state information, wherein differences between the local state information and the global state information comprise changed state information; a client state manager for structuring the changed state information for substantially optimized delivery over said wireless communications network; and communication means for delivering the changed state information to said application server over said wireless communications network.
34. A method for managing state information related to an interactive application to accommodate one or more users participating in an interactive application session, wherein the state information comprises local state information specific to each of one or more mobile client devices operated by the one or more users and global state information maintained at an' application server, the method comprising: comparing the local state information to the global state information at each of the mobile client devices, wherein differences between the local state information and the global state information comprise changed state information; structuring the changed state information for optimized delivery over a wireless communications network; delivering the changed state information to the application server over the wireless communications network; and updating the global state information based on the changed state information received from each of the mobile client devices.
35. The method of Claim 34, further comprising the step of synchronizing the time of the changed state information relative to the global state information.
36. The method of Claim 35, further comprising the steps of structuring the updated global state information for optimized delivery over the wireless communications network; and delivering the updated global state information to each of the mobile client devices over the wireless communications network.
37. The method of Claim 34, wherein said step of structuring the changed state information further comprises the steps of determining an initial set of instructions for describing the changed state information based on at least one system parameter; and mapping at least one degree of freedom associated with the interactive application to the initial set of instructions .
38. The method of Claim 34, further comprising the step of minimizing the number of degrees of freedom to achieve an efficient configuration of the changed state information.
39. The method of Claim 34, wherein the at least one system parameter is selected from the group consisting of: the characteristics of the one or more mobile client devices, the characteristics of the interactive application, preferences of the one or more users, and control protocols relative to the wireless communications network and the one or more mobile client devices.
40. The method of Claim 34, wherein said step of structuring the updated global state information further comprises the steps of: determining ah initial set of instructions for describing the updated global state information based on at least one system parameter; and mapping at least one degree of freedom associated with the interactive application to the initial set of instructions.
PCT/US2002/011716 2001-04-13 2002-04-15 Method and system for mediating interactive services over a wireless communications network WO2002084898A1 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US28338101P 2001-04-13 2001-04-13
US28337701P 2001-04-13 2001-04-13
US09/833,656 US7035653B2 (en) 2001-04-13 2001-04-13 Method and system to facilitate interaction between and content delivery to users of a wireless communications network
US60/283,377 2001-04-13
US09/833,656 2001-04-13
US60/283,381 2001-04-13
US09/885,977 US6947761B2 (en) 2000-11-22 2001-06-22 Method and system for improving the efficiency of state information transfer over a wireless communications network
US09/885,977 2001-06-22

Publications (1)

Publication Number Publication Date
WO2002084898A1 true WO2002084898A1 (en) 2002-10-24

Family

ID=27501352

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/011716 WO2002084898A1 (en) 2001-04-13 2002-04-15 Method and system for mediating interactive services over a wireless communications network

Country Status (1)

Country Link
WO (1) WO2002084898A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005061067A1 (en) * 2003-12-15 2005-07-07 Nokia Corporation Method and device for difficulty level adaptation of a network based game
WO2007053210A1 (en) * 2005-11-02 2007-05-10 Sony Ericsson Mobile Communications Ab System and method for interactive mobile network gaming
EP1815897A1 (en) * 2004-11-26 2007-08-08 Kabushiki Kaisha Sega doing business as Sega Corporation Information processing device, data processing method, program, and recording medium
US8155076B2 (en) 2006-06-07 2012-04-10 Qualcomm Incorporated Maintaining a global and local session state in an access network
WO2012072861A1 (en) * 2010-11-30 2012-06-07 Nokia Corporation Method and apparatus for selecting devices to form a community
US10245508B2 (en) 2000-11-22 2019-04-02 Intel Corporation Method and system for providing interactive services over a wireless communications network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078789A (en) * 1996-05-01 2000-06-20 Bodenmann; Olivier Wireless peripheral interface
US6383075B1 (en) * 1999-04-28 2002-05-07 Gamepark, Inc. Portable wireless network game apparatus and method thereof
US6416414B1 (en) * 1998-02-19 2002-07-09 Swisscom Ag Game system, corresponding method and adapted devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078789A (en) * 1996-05-01 2000-06-20 Bodenmann; Olivier Wireless peripheral interface
US6416414B1 (en) * 1998-02-19 2002-07-09 Swisscom Ag Game system, corresponding method and adapted devices
US6383075B1 (en) * 1999-04-28 2002-05-07 Gamepark, Inc. Portable wireless network game apparatus and method thereof

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10245508B2 (en) 2000-11-22 2019-04-02 Intel Corporation Method and system for providing interactive services over a wireless communications network
WO2005061067A1 (en) * 2003-12-15 2005-07-07 Nokia Corporation Method and device for difficulty level adaptation of a network based game
EP1815897A1 (en) * 2004-11-26 2007-08-08 Kabushiki Kaisha Sega doing business as Sega Corporation Information processing device, data processing method, program, and recording medium
EP1815897A4 (en) * 2004-11-26 2008-12-24 Sega Kk Dba Sega Corp Information processing device, data processing method, program, and recording medium
WO2007053210A1 (en) * 2005-11-02 2007-05-10 Sony Ericsson Mobile Communications Ab System and method for interactive mobile network gaming
JP2009515424A (en) * 2005-11-02 2009-04-09 ソニー エリクソン モバイル コミュニケーションズ, エービー Interactive mobile network game system and method
CN101296737B (en) * 2005-11-02 2012-02-22 索尼爱立信移动通讯股份有限公司 System and method for interactive mobile network gaming
US8155076B2 (en) 2006-06-07 2012-04-10 Qualcomm Incorporated Maintaining a global and local session state in an access network
WO2012072861A1 (en) * 2010-11-30 2012-06-07 Nokia Corporation Method and apparatus for selecting devices to form a community

Similar Documents

Publication Publication Date Title
US9814978B2 (en) Method and system for improving the efficiency of state information transfer over a wireless communications network
US6947761B2 (en) Method and system for improving the efficiency of state information transfer over a wireless communications network
US7627680B2 (en) Method and system for mediating interactive services over a wireless communications network
US8606308B2 (en) Method and system to facilitate interaction between and content delivery to users of a wireless communications network
US9242174B2 (en) System and method for dynamically distributing game data
US20090325712A1 (en) Player character matchmaking with distributed peer-to-peer functionality
CN1852754A (en) A network-based gaming system
US20080125226A1 (en) Online Gaming
US20090291761A1 (en) Online game system
Mitchell et al. Six in the city: introducing Real Tournament-a mobile IPv6 based context-aware multiplayer game
WO2002084898A1 (en) Method and system for mediating interactive services over a wireless communications network
US20040171350A1 (en) Data management method for running an interactive software

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP