System and method for selective distribution of information
Abstract
This record has no abstract on file.
Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
9 claims: 2 independent, 7 dependent
- 1Patent claims Zastrzeżenia patentowe 1. A method of selectively distributing information to a remote gaming device, further comprising:1. Sposób wybiórczej dystrybucji informacji do zdalnego urządzenia do gry, ponadto obejmujący: odbiór komunikacji z aplikacji klienta, działającej na urządzeniu zdalnym (104, 106, 108), a ta komunikacja wskazuje stan postaci w grze;tworzenie filtrowanego manifestu zawierającego zbiór informacji wymaganych przez aplikację klienta i powiązanych ze stanem, przy czym filtrowany manifest jest utworzony poprzez: receiving communication from a client application running on a remote device (104, 106, 108), and this communication indicates the state of the character in the game;creating a filtered manifest containing a set of information required by the client application and related to the state, where the filtered manifest is created by: identification of a file already on a remote device;and excluding the file from the filtered manifest;identyfikację pliku już znajdującego się na urządzeniu zdalnym;i wykluczenie pliku z filtrowanego manifestu;identification of a part of the set for sending the client application based on the filtered manifest;and initiating part communication. identyfikację części zbioru dla przesłania aplikacji klienta w oparciu o filtrowany manifest;i inicjowanie komunikacji części.
- 7A system of selective distribution of information to a remote client, including:7. System wybiórczej dystrybucji informacji do zdalnego klienta, zawierający: a computing platform (102) configured to offer a network game to many remote clients (104, 106, 108);platformę obliczeniową (102) skonfigurowaną do oferowania gry sieciowej wielu zdalnym klientom (104, 106, 108);an interface (110) configured to receive an update signal for at least one of the plurality of remote clients, and this update signal indicates the state of the character in the game;interfejs (110) skonfigurowany do odbioru sygnału aktualizacji dla co najmniej jednego z wielu zdalnych klientów, a ten sygnał aktualizacji wskazuje stan postaci w grze;an update engine (112) that responds to an update signal and that is capable of operating to access at least a partial list of available information, selectable, for output, part of the available information associated with the state by identifying a file already in the remote device and exclusion a file from the part, and to initiate the output of the part;and a memory (114) containing the partial list. silnik (112) aktualizacji, który reaguje na sygnał aktualizacji i który jest zdolny działać dla uzyskiwania dostępu przynajmniej do częściowej listy dostępnych informacji, do wyboru, dla wyprowadzania, części dostępnych informacji, powiązanych ze stanem poprzez identyfikację pliku znajdującego się już w urządzeniu zdalnym i wykluczenie pliku z części, i dla inicjowania wyprowadzania części;i pamięć (114) zawierającą częściową listę.
Independent claims2
45 paragraphs, as filed
[0001] The type of MMOG (Massively Multiplayer Online Games, computer games played by many players on the Internet) is becoming more and more popular.
[0002] Many users genuinely like the idea of playing such games with thousands and against thousands of other users. Users also appreciate the "escape" aspect of many MMOGs. Game developers spend countless hours creating huge network worlds with never-before-seen levels of interactivity and levels of detail.
[0003] Although online worlds that allow users to escape are popular, these games are generally extremely complex. There are several challenges involved in creating and balancing the virtual society for thousands of players. The challenges don't end with the development of the game. After development, many games still require active management.
[0004] Although much time is spent ensuring games are better, larger and more detailed, too little time is spent solving problems related to actual game management and the game itself (e.g., distribution, running, operation and updating of MMOG) .
[0005] Document US5898834 discloses a diversified processing system and the associated method of updating at least one remote computer platform with cannons appearing on a local computer platform. The disclosed system and method minimize the amount of locally generated information that must be transmitted over the network so that a copy of what appears locally is stored on a remote computer platform. To minimize information sent between platforms, each platform can contain items, called instances, that respond to different types of commands. Instance types include main, intermediate and free instances. Primary instances and intermediate instances refer to the same item located on different platforms. Each master instance provides status updates on its associated intermediate intent by sending its changes between platforms to its associated intermediate instances. Free instances react to changes that occur favorably on a single platform. By minimizing the amount of information that must be transferred between platforms, the bandwidth used to update various platforms is reduced.
[0006] Avi Bar-Zeev in the publication "Nomad Programming: Scenegraphs: Past, Present and
Future ", http: //developer.nomadph.com/guest004.html (released February 7, 2012) reveals the basics of scene graphs.
Accordingly, in a first object, the invention provides a method according to claim 1.
Brief Description of the Drawing [0008] It should be noted that for the sake of simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. For example, the dimensions of some elements are exaggerated relative to other elements. Embodiments implementing the recommendations of the invention are shown and described with reference to the drawing presented herein, in which:
Figure 1 shows a system that selectively distributes information in accordance with the disclosure directions;
Figure 2 is a simplified illustration of a directed acyclic graph that represents the various program elements and their interrelationships, including at least some of the directions; and Figure 3 is a flowchart for selective distribution techniques that implements at least some of the guidelines.
[0009] The use of the same references in different figures means similar or identical positions.
Detailed Description of the Drawing [0010] As mentioned above, the following description in connection with the figures is provided to facilitate the understanding of the directions disclosed herein. The following description focuses on specific embodiments and embodiments of the invention. This focus is intended to facilitate the description of the invention and should not be interpreted in a way that limits the scope or use of the invention. For example, much of the description below focuses on distributing updates and / or other information in connection with MMOG control. Although the invention can certainly be used for such applications, this invention can also be used for other applications and with several different types of architectures, such as distributed computing architectures, client / server architectures, or software and hardware server architecture.
[0011] In the context of games, a technique using at least some of the tips may include, for example, receiving communications from a client application running on a remote device. Communication can indicate the status of the character played in a network game involving very many players (MMOG). The method may also include developing a filtered manifest that contains a list of files required by the client application and associated with the state. Part of the set can be identified for communication with the client application, and part communication can be initiated.
[0012] In one embodiment, the information to be transmitted may include a geometry file, a texture file, a sound file and an animation file. Files can be associated with some specific character state such as character's current location, character's predicted location, and / or character interaction. In practice, the way to recognize which files are required by a remote user can be facilitated by maintaining the graph dependence of many game elements and / or locations with associated geometry files, texture files, sound files and animation files. In a specific implementation, the dependency graph may be a directed acyclic graph (DAG).
[0013] As mentioned above, Fig. 1 shows a system 100 that selectively distributes information according to the directions disclosed herein. As shown, the computing platform 102 is configured to support a network game for several remote clients operating on remote computing devices (represented by computers 104, 106 and 108). In the illustrated embodiment of system 100, interface 110 is associated with the computing platform 102 and is configured to receive an update signal from one or more remote clients. As shown, platform 102 may also include an update engine 112 responsive to the update signal. For example, the update signal may be an explicit update request. The update signal can also be communication indicating the situation (e.g. character status in the game) that is interpreted and / or recognized as indicating a need to update.
[0014] During operation, the update engine 112 may be in communication with the data memory 114, storing information generated during the game in MMOG. For example, the user at computer 104 may play a character in a game supported by platform 102. The user's character may move from one part of the network world to another part. Communication indicating this transition may represent an update signal and may prompt the update engine 112 that additional information is or may be needed by the user at computer 104.
[0015] If the computer 104 does not have the information it needs to support the transition of the character to a new part of the network world, this lack can be recognized and the information needed can be sent to the computer 104. In practice, the update engine 112 can access at least partial lists available information for a given MMOG being played, may select part of the available information to be output, and may initiate output of that part to computer 104.
[0016] Depending on the implementation details, the update engine 112 may be at least partially implemented by a processor and a computer-readable medium containing instructions that can control the processor to recognize the update signal, access partial lists, select parts, and initiate output. In a particular embodiment, the method of selecting the portion to be output may include a filtering method. Such a method may include, for example, sending a portion of a directed acyclic graph (DAG) to computer 104. This part may be part of a larger DAG that is associated with the state of the character played by the user on computer 104. The filtering method may also include receiving communication from computer 104, pointing to at least one DAG file that is required by the user. In practice, the files actually required by computer 104 can be identified by including a list of relevant information and trimming the list to delete any entry already stored by computer 104.
[0017] For example, files related to a given tree in a networked world can be used in more than one network worlds (eg, "the same" tree can be the background of several different scenes). As a result, even if the update engine 112 "knows" that the character is moving to a new area and that the new area contains a certain tree, the update engine 112 may not "know" that computer 104 already has tree-related files because the same tree appeared in an earlier scene. To reduce unnecessary downloads, computer 104 may assist the update engine 112 by trimming the list of necessary files and / or actually creating a list of necessary files.
[0018] As described above, several modern MMOGs offer users a very detailed and great network world. In practice, some part of the virtual world can be originally downloaded to the user through the wide area network 116. The original download may include files sufficient to allow the character to play the initial part of the virtual world. The original download can also be the kernel, which is sufficient enough to allow the character to participate in the game. Such a kernel may instead facilitate subsequent download of information necessary for the game.
[0019] In practice, for an effective download of the complete world, the virtual world can be limited to a relatively small world. To create a virtual world small enough for download, designers may have to use certain shortcuts, such as replacing hand-painted texture maps by procedural ones, using more procedural models, reducing the number of sound effects, and / or animating film cutscenes on the fly.
[0020] In some cases, these changes may reduce the perceived quality of the game. For the sake of quality, some developers may alternatively decide to distribute at least some of the client's part of the game on compact discs (CDs) or digital video discs (DVDs). Using a CD or DVD allows the creator to send larger amounts of information in an original way. However, considering texture maps, 3D models, sound effects, speech recordings, etc. of modern MMOGs, the conclusion of a sufficient number of CDs for a complete representation of the great virtual world can be difficult or uneconomical.
[0021] As such, a system similar to that of the system 100 can be used to enrich the developers' ability to dynamically update the game by adding new content, changing the client-side code, removing existing content and / or changing the content. Using the 100 system, these updates may appear on communication links as opposed to or in addition to representing new CDs.
[0022] As shown in system 100, a remote computer, such as computer 104, may be in communication with the platform 102 at least partially via a wide area network 116, which may be, for example, the public Internet. During operation, a network session can be established to facilitate communication between a client running on computer 104 and the computing platform 102. Establishing a session may include one or more network protocols such as PPP, TCP / IP,
UPD / IP, etc. Regardless of the method of establishment, the communication path between the computer 104 and the computing platform 102 can enable pipelined information transmission. In some embodiments, such a path can transfer information identified by the filtering method described above, while operating a network game for the computer 104. In other embodiments, filtered information can be transmitted outside of an active game link. Regardless of whether the update information is sent within and / or outside the time period in which the user plays the game, the designer may want to use a dependency graph, such as directed acyclic graph (DAG), to help identify files for download.
[0023] As mentioned above in the short description of the drawing, Fig. 2 is a simplified illustration of a directed acyclic graph 200 that represents various program elements and their interrelationships, including at least some of the indications. As shown, the DAG 200 contains part of the object representations of the virtual world model.
[0024] DAG 200 represents the directed graph without cycles. DAG 200 may be partly a tree and partly a graph, and may contain several program elements in its nodes, which are generally designated 202. DAG 200 can help the game creator in several ways. Issues such as, for example, downloading planning analysis and critical paths can be simplified using DAG. This may become more and more important in the context of determining which information must be downloaded to the user in order to allow the user to use the "new" part of the network world. DAG can assist in selecting information to download due to, for example, DAG's ability to sort it topologically by using depth search first.
[0025] As shown, DAG 200 is used to represent a set of program files whose necessity depends on one or more other program files. These programs are generally represented at graph nodes 202, and the links represented by reference number 204 identify the relationships between the programs. In practice, the mechanism, such as the update engine 112 of Figure 1, may consider the DAG 200 when determining which information must be downloaded by the customer. The identified information can then be provided for download. Although there may be several possible variants, the illustrative data structures for the DAG 200 may include neighborhood matrices and lists are adjacent.
[0026] According to the description disclosed herein, node 1 of DAG 200 may represent a root node for the virtual world, and nodes 2, 3 and 4 may contain several other files, such as texture files, animation files, audio files, etc., necessary to represent relevant parts of the world. Moving down one level in DAG 200, node 5 can represent a specific scene that is part of the virtual world represented by node 2. Node 6 can represent a specific scene that is part of the virtual world represented by node 3.
[0027] As shown, part of the world represented by node 4 may include two scenes represented by nodes 7 and 8. In practice, nodes 7 and 8 may contain files that represent respectively the lightened version of the scene and the darkened version of the same scene. In one embodiment, the creator of the game may want to update the game by adding some new elements to the world. New elements can be represented, for example, by nodes 9, 10 and 11. Node 9 may be a forest texture file, node 10 may be an animation file for trees and leaves in the forest, and node 11 may be an audio file with the sounds of wind blowing in the forest.
[0028] As the player character moves through the world, this character may approach the dim version (node 8) of the scene cited above. The remote server hosting the game and presenting it to the player may recognize that the character is approaching the scene represented in node 8 and may decide to download the file in node 11 so that the player's character can hear the sound of the wind blowing in darkened forest. Because the player's character "approaches" the updated part of the virtual world through node 8 - the dimmed world - the server "knows" that the player only needs node 11 files as opposed to new files contained in nodes 9, 10 and 11.
[0029] As such, the server actually suggests updates to the player when the player needs them allowing just-in-time network updates (at the exact moment). If the player's character later approaches the scene represented by node 6, the server may recognize that the client program used by the player now requires all new files contained in nodes 9, 10 and 11. In some cases, the server may generate download manifests, and this manifest may include node files 9, 10, and
11. The manifest can then be trimmed or filtered to determine if the client actually needs all files. As mentioned above, if the player has already received node 11 files, these files can be removed from the manifest and the download size will be reduced. This thoughtful download technique can provide a more efficient approach to updating and / or initial downloading of MMOG parts.
[0030] As mentioned above in the short description of the drawing, Figure 3 is a flowchart for the selective distribution technique 300, implementing at least some of the indications. In step 312, the game creator can start the process of designing a new virtual world. The new world can be the background for the new MMOG, which the creator hopes to bring to the market for thousands of network players.
[0031] In practice, MMOG and / or the world having the background role for MMOG can be "converted" in step 314 to a DAG representation in which each node can represent a basic code block. Each basic block can contain a code list that ends at a certain end point, after it starts at a certain start point. Each edge or link can represent a dependency or next action taken if so indicated at the endpoint of a given node.
[0032] In step 316, in the starting position, the world can be selected for distribution, and in step 318 the starting part can be distributed. In practice, the initial part can be distributed by downloading from the web, in the form of a disc offered for sale at a retail outlet, in the form of a disc distributed without restrictions and / or by some other distribution mechanism. Regardless of the distribution method, the user intending to play the game can receive the initial part and download it to his computer. The initial part can establish a client application on the user's computer and make it easier for the user to start a new game.
[0033] In step 320, a payment may be charged to the user for the initial part and / or for the user game service. At step 322, a user account can be activated and the user can set up a character to play in the new game. In step 324, the remote computer platform may be used to operate the game for the user. Although the game can be operated by the user from a remote device, the game activity of the game may also use the user's local computing resources. For example, a client running on a user's computer may handle a significant portion of the calculations related to the MMOG game run by the user.
[0034] At step 326, communication may be received indicating that the client client requires updating and / or additional files for a more complete game experience. The files to be downloaded by the client may be identified in step 328. The method of identifying these files may include, for example, including a DAG representing a certain portion of MMOG. Regardless of the method of identification, the files can be downloaded by the client at a later time, almost in real time or on a just-in-time basis and / or in some other way. At step 330, the files could be downloaded so that the user character can experience the elements represented in the files.
[0035] In step 332, it can be determined that the user client needs updating. At step 324, a manifest may be created for new files required by the client. Again, DAG may be included to support manifest creation. Depending on the implementation details, the user's computer may be given the task of including DAG to assist in the creation of the manifest and / or the remote user computing platform may be given the task of implementing this method. At step 336, the manifest can be filtered against a list of files that already exist on the user's computer. If the file is already in the user's computer, the file can be cut from the manifest to avoid unnecessary downloads. As with the original manifest, the user's computer may receive a method clipping task and / or the task may be provided to a remote user computing platform.
[0036] At step 338, the files required by the user client may be downloaded, and at step 340 the user character may be able to experience the updated part of the game. In step 342, the remote computing platform can support the game for thousands of users, while supporting the process of providing update files and / or other additional files. The method can go to stop in step 344.
[0037] Although the technique 300 can be described in a series of successive steps, the sequence of steps and the unit implementing the steps can be freely changed without departing from the scope of the invention. Stages can be added, removed and / or changed in several ways.
Similarly, stages may be reordered and / or placed in a loop.
[0038] The content disclosed above should be interpreted as illustrative but not limiting, and the attached claims cover all such modifications, improvements and other embodiments which are within the true scope of the invention. Thus, to the extent permitted by law, the scope of the invention is to be determined by the broadest permitted interpretation of the following claims and their equivalents, and should not be limited by the above detailed description.
Grażyna Palka Patent Attorney
11 members in 5 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 67562405 | United States of America | P | |
| 67562405 | United States of America | P | |
| 06750476 | European Patent Office (EPO) | A | |
| 2006014448 | United States of America | W | |
| 2006014448 | United States of America | W | |
| EP20060750476 | – | – | – |
| US20050675624P | – | – | – |
| WO2006US14448 | – | – | – |
Members11
| Document | Office | Kind | |
|---|---|---|---|
| US2006248161A1 | United States of America | A1 | |
| WO2006115882A2 | World Intellectual Property Organization (WIPO) | A2 | |
| EP1877919A2 | European Patent Office (EPO) | A2 | |
| WO2006115882A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US8075403B2 | United States of America | B2 | |
| US2012058827A1 | United States of America | A1 | |
| EP1877919A4 | European Patent Office (EPO) | A4 | |
| US9077732B2 | United States of America | B2 | |
| EP1877919B1 | European Patent Office (EPO) | B1 | |
| ES2557295T3 | Spain | T3 | |
| PL1877919T3This record | Poland | T3 |
Numbers
- Publication, DOCDB
- 1877919
- Publication, EPODOC
- PL1877919T
- Application
- 750476
- Application, DOCDB
- 06750476
- Application, EPODOC
- PL20060750476T
Titles2
- English
- SYSTEM AND METHOD FOR SELECTIVE DISTRIBUTION OF INFORMATION
- Polish
- System i sposób wybiórczej dystrybucji informacji
Classification
- CPC, 8
- A63F13/12
- H04L67/10
- A63F2300/402
- A63F2300/53
- H04L67/1095
- H04L67/131
- A63F13/35
- A63F13/30
- IPC, 4
- G06F15 16
- A63F13 30
- H04L29 06
- H04L29 08