Dynamic player management
Abstract
The present invention relates to applications arranged to operate in a multi-participant environment on a computer network. The application manages the participants of the online session of the multi-user application so that the session can continue uninterrupted even if one of the participants leaves the session. The application initiates an online session of the multi-user application, wherein the online session includes two or more participants including network computers communicatively linked with a computer network. When the application detects that the first participant has disconnected from the online session 810 , and the first participant is responsible for managing any administrative functions associated with the execution of the multi-user application 830 , the application Broadcast a notification via 820 to existing participants of the online session, thus informing existing participants that the first participant has disconnected from the online session. The initiating application then reassigns the functionality associated with the first participant to an existing participant of the online session 840 . Participants may communicate in a peer-to-peer arrangement and server duties may be performed in a client-server arrangement.Multi-User, Online Session, Participant, Access, Alternate.

Term
Term ended
Expired 18 March 2023, 3.5 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
24 claims: 6 independent, 18 dependent
- 1다중 사용자 어플리케이션의 온라인 세션의 참여자들을 관리하는 방법으로서, 상기 다중 사용자 어플리케이션의 온라인 세션을 개시하는 단계로서, 상기 온라인 세션은 컴퓨터 네트워크와 통신적으로 링크되는 네트워크 컴퓨터들을 포함하는 둘 이상의 참여자들을 포함하는, 상기 개시 단계;제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 검출하는 단계로서, 상기 제 1 참여자는 상기 다중 사용자 어플리케이션의 수행과 연관된 어떠한 관리적인 기능을 관리할 책임이 있는, 상기 검출 단계;상기 온라인 세션의 존재하는 참여자들에게 상기 통신 네트워크를 통해 알림(notification)을 방송하여, 상기 존재하는 참여자들에게 상기 제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 알리는 단계;및 상기 제 1 참여자와 연관된 상기 기능을 상기 온라인 세션의 존재하는 참여자에게 재할당하는 단계를 포함하는 방법.
- 2제 1 항에 있어서, 상기 존재하는 참여자를 대체하기 위한 새로운 참여자를 얻는 단계를 부가적으로 포함하는 방법.
- 3제 1 항에 있어서, 상기 새로운 참여자는 사람이 제어하는 것인, 방법.
- 4제 1 항에 있어서, 상기 새로운 참여자는 네트워크 컴퓨터로 제어되는 것인, 방법.
- 5제 1 항에 있어서, 상기 다중 사용자 어플리케이션은 게임 어플리케이션이며, 상기 관리적인 기능은 점수 기록을 포함하는, 방법.
- 6다중 사용자 어플리케이션의 온라인 세션의 참여자들을 관리하는 방법으로서, 상기 다중 사용자 어플리케이션의 온라인 세션을 개시하는 단계로서, 상기 온라인 세션은 컴퓨터 네트워크와 통신적으로 링크되는 네트워크 컴퓨터들을 포함하는 둘 이상의 참여자들을 포함하는, 상기 개시 단계;제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 검출하는 단계;상기 온라인 세션의 존재하는 참여자들에게 상기 통신 네트워크를 통해 참여자 접속 끊김 알림을 방송하여, 상기 존재하는 참여자들에게 상기 제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 알리는 단계;및 상기 온라인 세션을 퇴장한(exited) 상기 제 1 참여자를 대체하기 위한 새로운 참여자를 얻는 단계를 포함하는 방법.
- 7제 6 항에 있어서, 상기 제 1 참여자는 상기 다중 사용자 어플리케이션의 수행과 연관된 어떠한 관리적인 기능을 관리할 책임이 있으며, 상기 제 1 참여자와 연관된 상기 기능을 상기 온라인 세션의 다른 참여자에게 재할당하는 단계를 부가적으로 포함하는 방법.
- 8제 7 항에 있어서, 상기 온라인 세션의 다른 참여자에게로의 상기 제 1 참여자와 연관된 상기 기능은 상기 새로운 참여자에게 재할당되는, 방법.
- 9제 6 항에 있어서, 상기 새로운 참여자는 사람에 의해 제어되는 것인, 방법.
- 10제 6 항에 있어서, 상기 새로운 참여자는 네트워크 컴퓨터로 제어되는 것인, 방법.
- 11제 7 항에 있어서, 상기 존재하는 참여자들의 상기 통신 환경에 기초하여 상기 제 1 참여자와 연관된 상기 기능을 상기 온라인 세션의 다른 참여자에게 재할당하는 단계를 부가적으로 포함하는 방법.
- 12제 7 항에 있어서, 상기 온라인 세션의 다른 참여자에게로의 상기 제 1 참여자와 연관된 상기 기능은 다른 참여자에게 랜덤하게 재할당되는 방법.
- 13다중 사용자 어플리케이션의 온라인 세션의 참여자들을 관리하는 시스템으로서, 상기 시스템은:프로그램 명령들을 수행하고 데이터 세트를 수신하며, 컴퓨터 네트워크와 통신적으로 링크되는 네트워크 컴퓨터들을 포함하는 둘 이상의 참여자들을 포함하는, 상기 다중 사용자 어플리케이션의 온라인 세션을 개시하고;제 1 참여자가 상기 다중 사용자 어플리케이션의 수행과 연관된 어떠한 관리적인 기능을 관리할 책임이 있는, 상기 제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 검출하며;상기 온라인 세션의 존재하는 참여자들에게 상기 통신 네트워크를 통해 알림을 방송하여, 상기 존재하는 참여자들에게 상기 제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 알리고;상기 제 1 참여자와 연관된 상기 기능을 상기 온라인 세션의 존재하는 참여자에게 재할당하는, 하나 이상의 프로세서들을 포함하는, 시스템.
- 14제 13 항에 있어서, 상기 프로세서들은 상기 존재하는 참여자를 대체하기 위한 새로운 참여자를 얻는 프로그램 명령들을 또한 수행하는, 시스템.
- 15제 13 항에 있어서, 상기 새로운 참여자는 사람이 제어하는 것인, 시스템.
- 16제 13 항에 있어서, 상기 새로운 참여자는 네트워크 컴퓨터로 제어되는 것인, 시스템.
- 17제 13 항에 있어서, 상기 다중 사용자 어플리케이션은 게임 어플리케이션이며, 상기 관리적인 기능은 점수 기록을 포함하는, 시스템.
- 18다중 사용자 어플리케이션의 온라인 세션의 참여자들을 관리하는 방법과 프로그램 제품을 수행하기 위해 컴퓨터 판독가능한 미디어에 기록된 프로그램 단계들을 수행하는 컴퓨터 시스템에서 사용하기 위한 컴퓨터 프로그램이 기록된 기록 매체로서, 상기 프로그램 단계들은:상기 다중 사용자 어플리케이션의 온라인 세션을 개시하는 단계로서, 상기 온라인 세션은 컴퓨터 네트워크와 통신적으로 링크되는 네트워크 컴퓨터들을 포함하는 둘 이상의 참여자들을 포함하는, 상기 개시 단계;제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 검출하는 단계로서, 상기 제 1 참여자는 상기 다중 사용자 어플리케이션의 수행과 연관된 어떠한 관리적인 기능을 관리할 책임이 있는, 상기 검출 단계;상기 온라인 세션의 존재하는 참여자들에게 상기 통신 네트워크를 통해 알림을 방송하여, 상기 존재하는 참여자들에게 상기 제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 알리는 단계;및 상기 제 1 참여자와 연관된 상기 기능을 상기 온라인 세션의 존재하는 참여자에게 재할당하는 단계를 포함하는, 컴퓨터 프로그램이 기록된 기록 매체.
- 19제 18 항에 있어서, 상기 프로그램 단계들은 상기 존재하는 참여자를 대체하기 위한 새로운 참여자를 얻는 단계를 더 포함하는, 컴퓨터 프로그램이 기록된 기록 매체.
- 20제 18 항에 있어서, 상기 새로운 참여자는 사람이 제어하는 것인, 컴퓨터 프로그램이 기록된 기록 매체.
- 21제 18 항에 있어서, 상기 새로운 참여자는 네트워크 컴퓨터로 제어되는 것인, 컴퓨터 프로그램이 기록된 기록 매체.
- 22제 18 항에 있어서, 상기 다중 사용자 어플리케이션은 게임 어플리케이션이며, 상기 관리적인 기능은 점수 기록을 포함하는, 컴퓨터 프로그램이 기록된 기록 매체.
- 23다중 사용자 어플리케이션의 온라인 세션의 참여자들을 관리하는 시스템으로서, 상기 시스템은:프로그램 명령들을 수행하고 데이터 세트를 수신하며, 컴퓨터 네트워크와 통신적으로 링크되는 네트워크 컴퓨터들을 포함하는 둘 이상의 참여자들을 포함하는, 상기 다중 사용자 어플리케이션의 온라인 세션을 개시하고;제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 검출하며;상기 온라인 세션의 존재하는 참여자들에게 상기 통신 네트워크를 통해 참여자 접속 끊김 알림을 방송하여, 상기 존재하는 참여자들에게 상기 제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 알리고;상기 온라인 세션을 퇴장한 상기 제 1 참여자를 대체하기 위한 새로운 참여자를 얻는, 하나 이상의 프로세서들을 포함하는, 시스템.
- 24다중 사용자 어플리케이션의 온라인 세션의 참여자들을 관리하는 방법과 프로그램 제품을 수행하기 위해 컴퓨터 판독가능한 미디어에 기록된 프로그램 단계들을 수행하는 컴퓨터 시스템에서 사용하기 위한 컴퓨터 프로그램이 기록된 기록 매체로서, 상기 프로그램 단계들은:상기 다중 사용자 어플리케이션의 온라인 세션을 개시하는 단계로서, 상기 온라인 세션은 컴퓨터 네트워크와 통신적으로 링크되는 네트워크 컴퓨터들을 포함하는 둘 이상의 참여자들을 포함하는, 상기 개시 단계;제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 검출하는 단계;상기 온라인 세션의 존재하는 참여자들에게 상기 통신 네트워크를 통해 참여자 접속 끊김 알림을 방송하여, 상기 존재하는 참여자들에게 상기 제 1 참여자가 상기 온라인 세션으로부터 접속이 끊어졌음을 알리는 단계;및 상기 온라인 세션을 퇴장한 상기 제 1 참여자를 대체하기 위한 새로운 참여자를 얻는 단계를 포함하는, 컴퓨터 프로그램이 기록된 기록 매체.
Independent claims24
76 paragraphs, as filed
Dynamic player management}
FIELD OF THE INVENTION The present invention relates generally to computer networks, and more particularly to applications executed by multiple users on a computer network.
BACKGROUND OF THE INVENTION Computer networks such as local area networks and the Internet are increasingly used as a backbone for various processes and interactions between groups. From online banking, where bank customers can initiate financial transactions over a computer network, to online gaming, where gamers can participate in a variety of games over the Internet, service providers increasingly offer a variety of services over computer networks. There are a variety of different computer network arrangements that facilitate the currently occurring processes and interactions.
One type of arrangement is a traditional client-server arrangement as shown in FIG. 1 . In this arrangement, dedicated server computer 110 is communicatively linked with one or more client computers 120 via a network, such as via the Internet. The client computer 120 generates service requests to the server computer 110 and the server computer 110 performs the request by sending data to the requesting client computer 120 over a network. Server computer 110 may be connected to a data storage device or other computer devices that facilitate processing between client and server computers. One characteristic of a client-server arrangement is that when client computers are restricted from communicating with the server computer, client computers cannot communicate directly with one another.
For example, when a client-server arrangement is operated in an online gaming environment, the server computer 110 is responsible for maintaining the various states associated with the online gaming. The server computer may be connected to other computers, such as a memory engine 140 that maintains one or more instructions of the game as the server computer 110 manages administrative events such as player matching and account management. A game player on the client computer 120 can log on to the server computer 110 and receive a list of available games and participating players. The player selects a game to start or participate in, thus identifying the memory engine with which the player's computer establishes a client-server connection. In this case, the server computer 110 and the memory engine 140 collectively manage the gaming environment for one or more client computers 120 .
Another type of arrangement is represented by an aggregation server arrangement as shown in FIG. 2 . This arrangement includes a dedicated server computer 110 and one or more client computers 120 each connected to the server computer 110 via a computer network. As in the arrangement described above, server computer 110 provides data to client computers 120 . However, one of the client computers 120 , such as the client computer 120a , operates as an integrated server from which the client computer 120a can provide data to the other client computers 120 . In the online game environment, the server computer 110 may perform management functions such as player matching, account management, and chat room management, and the client computer/integration server 120a performs the functions of the memory engine described above. can
In another type of communication arrangement, various computers are arranged in a peer-to-peer arrangement as shown in FIG. 3 . In a peer-to-peer arrangement, each of the computers can communicate with the other, and thus all computers function as "peers." In one form of peer-to-peer arrangement, the dedicated server 110 is communicatively connected with a plurality of client computers 120 via a network. An online session is initially established by each of the client computers 120 connecting to a management computer, such as the server computer 110 . The client computers 120 are then communicatively coupled to the other such that each of the client computers 120 has the ability to provide data to and receive data from each of any other client computers 120 . Additionally, each client computer 120 may operate in a client-server relationship with a dedicated server 110 . One of ordinary skill in the art will recognize that there are other communication arrangements in addition to the arrangements described above.
The various arrangements described above allow computer users to interact over a computer network, such as in an online gaming environment where game players can play computer games on the computer network. In such a scenario, at least one of the computers typically functions as a game manager, managing various aspects of the game, such as adjusting the number of players, maintaining a track of the game state, and sending updates to users related to the game state. . It may be apparent that the continuity of gameplay can be highly dependent on all users of the game continuing to play through the overall game time. Game play may be interrupted or halted when one of the game players exits during the game, particularly when the exited player manages part of the game.
For example, sports games typically have a fixed start and a fixed end for a game with at least two players competing in the game. In current arrangements, there are often several players participating in an online sporting match, each of which is assumed to play the role of a player in a sporting team. For example, in an online soccer game, players may assume the roles of quarterback, receiver, defensive back, running back, and the like. If one of the players suddenly leaves during the game, then the game play will be interrupted or stopped. This may be the case for other types of games, where the continuity of gameplay depends on each of the players in the gaming environment continuing to play over a particular scenario.
Unfortunately, current multi-user applications are not arranged for when a participant in an online session leaves the online session abruptly or unexpectedly. When a player leaves an online session, the subsequent session is unfairly interrupted or terminated. For this reason, there is a need for a multi-user application that overcomes the aforementioned shortcomings.
The present invention relates to applications arranged to operate in a multi-participant environment on a computer network. The application manages the participants of the online session of the multi-user application, so that even if one of the participants leaves the session, the session can continue without interruption. According to one aspect of the present invention, an application initiates an online session of a multi-user application, the online session comprising two or more participants comprising network computers communicatively linked with a computer network. If the application detects that the first participant is not connected from the online session, the first participant is responsible for managing any administrative functionality associated with the execution of the multi-user application, and then the application is responsible for the existence of the online session over the communication network. broadcasts a notification to the participating participants to inform existing participants that the first participant has not been connected from the online session. The initiating application then reassigns the functionality associated with the first participant to the existing participants of the online session. Participants may communicate in a peer-to-peer arrangement, or perform server duties in a client-server arrangement.
Other features and advantages of the present invention will become apparent from the following description of preferred embodiments, which illustrate by way of example the principles of the present invention.
The objects, advantages and characteristics of the present invention will become more readily apparent from the following detailed description, when read in conjunction with the accompanying drawings.
1 is a diagram of a computer network arranged in a client-server network communication arrangement;
Figure 2 is a diagram of a computer network arranged in an integrated network communication server arrangement;
3 is a diagram of a computer network arranged in a peer-to-peer network communication arrangement;
Fig. 4 is a diagram of a computer network system executing a multi-user application arranged in accordance with the present invention;
5 is a diagram of a data structure containing computer index and session master information for a multi-user application;
Fig. 6 is a diagram of a computer network system in which multi-user applications are arranged in a first form of a communication arrangement;
Fig. 7 is a diagram of a computer network system in which multi-user applications are arranged in another form of communication arrangement;
8 is a flow diagram illustrating a process for managing the exit of a participant in an online session of a multi-user application.
9 is a flow diagram illustrating operational steps associated with a multi-user application establishing an online session.
Fig. 10 is a block diagram of a computer in the network shown in Fig. 4, showing the hardware components;
Fig. 11 is a block diagram of a computer entertainment system in the network shown in Fig. 4, showing the hardware components;
4 is a diagram of a computer network system 400 including one or more network devices including one or more client computers 410 , 412 and one or more dedicated server computers 420 , 422 that are nodes of a computer network 430 . It is a block diagram. Accordingly, some of the network computers are arranged as servers and some are arranged as clients. Computer network 430 includes a collection of interconnected networks, such as the Internet, and may include one or more local area networks at each of nodes 410 , 412 , 420 , 422 . As used herein, the term "Internet" refers to a collection of interconnected (public and/or private) networks that are linked together by a set of standard communication protocols to form a globally distributed network.
The client computers 410 , 412 are one of the server computers 420 , 422 arranged to feed requests for data via the network 430 to the client computers via the network 430 in a well known manner. can send Server computers 420 and 422 may include or be communicatively linked to each other and other servers, such as database servers and/or application servers, as will be well known to those skilled in the art. 4 shows only two client computers 410, 412 and two server computers 420, 422, network system 400 may include any number of client computers 410, 412 and a server. It should be appreciated that it may include computers 420 , 422 . Server computers 420 , 422 and client computers 410 , 412 are sometimes referred to herein collectively as network computers.
Network system 400 is a multi-user application consisting of a computer program with which many users can interact using network devices (such as client computers 410 and 412) that are linked to computer network 430 in online sessions. 440) is supported. The application 440 is installed on each of the client computers, which means that an operation example of the application is stored in the respective memories of the client computers 410 and 412 executing (performing) the application 440 . Each server computer that will participate in the online session of the multi-user application also stores an example of the application 440 . For the purposes of this description, both servers 420 , 422 are shown with applications 440 installed, but the first server computer 420 will be run by the client machines 410 , 412 multi-user. It will be assumed to be the server for the application. The exchange of data occurs between instances of application 440 during execution, and is enabled through the formation of network sockets 445 on each of the network computers. Sockets are provided in FIG. 4 as boxes in each network computer. Those skilled in the art will understand that a network socket is one end of a multipath communication link between two or more programs running on network system 400 .
The application 440 may run on the network devices of the network system 400 according to various communication arrangements, and the responsibilities for the various application-related processes may be different on the different computing devices of the network 430 as described in more detail below. can be assigned to The application deployment interface is preferably used for deployment of the application 440 as will also be described in more detail below. The application may be operated such that the associated network computer may use the communication configuration to execute any of the communication modes illustrated in FIGS. 1 , 2 and 3 .
The multi-user application 440 may be any type of application that a user can run on a networked computer that is linked to the computer network 430 . When application 440 is executed on client computers 410 , 412 , the user may interact with other users via other network computers that also run application 440 . Server computer 420 may act as a central network "meeting point" through which users establish contact, maintain data, and initiate online sessions of application 440 . Typically, application 440 causes the network device to establish communication with another network device, such as devices 410 , 412 , and 420 , to initiate an online session. During an online session, network computers will interact and exchange data according to the programmed characteristics of the application 440 .
Once the application 440 is launched and an online session is established between the appropriately arranged computers, the application may cause the computers to interact in various arrangements. During this discussion, application 440 is sometimes described in an online gaming scenario, where application 440 includes a computer game that can be accessed and played by many users using client computers 410 and 412 . In this case, application 440 establishes an online session consisting of a game in which network computers participate. However, it should be appreciated that application 440 may also relate to scenarios other than gaming, including interactions between many computers on a computer network, such as online banking or online travel planning, for example.
When application 440 is executed, it identifies the session master, which is a network computer that performs various oversight and management functions for the application for interactions between computers that occur during an online session. An online session of an application uses a registration or logon process to a data store that contains information such as user identification. The logon process permits other participation of the application in the network environment. Preferably, the session master function is assigned when a client computer running application 440, such as client computer 410, logs on to server computer 420 to initiate an online session. However, the application itself determines the details of when and how these assignments are created, so that various session master assignment schemes can be performed without departing from the teachings of the present invention.
An example of operation of an application on a client computer 410 that initiates an online session of the application is described as a host computer. An application on the host computer assigns the session master function to the server computer 420 or host computer 410 . When new client computers log on (register) to server computer 420 to participate in an online session, server computer 420 notifies new clients of the session master computer's already assigned identity.
As described more fully below, the session master function enables smooth transition between the various network communication arrangements in which the application 440 may operate. The session master function also allows the application 440 to be dedicated to responsibilities for application-related tasks on a particular networked computer, or to distribute these responsibilities among two or more networked computers. The assignment of tasks may be performed by an example of an application 440 on one of the network computers at the same time the session master function is assigned, and the session master tasks may be performed by one or more computers on the network 430 to provide the necessary functionality. can be assigned to The computer or computers to which the responsibilities of the session masters are assigned are referred to herein as "owners" of the respective session master functions. A referral to a single session master will be understood as an application to a group of computers as these computers collectively perform session master functions. Accordingly, the assignment of session master duties is performed in a manner specified by the application, according to the application developer's dictation.
One category of responsibilities assigned to the session master relates to application-specific functions, which are functions specialized to a particular type of application 440 to be performed. For example, when application 440 is a gaming-type application, a session master or group of session masters may keep a track of gaming-type data, such as game scores, time remaining in the game, and an online session at the end of the game. game functions such as terminating The session master computer may also be assigned the responsibility of keeping track of certain game data, such as the state of objects in the game environment, such as football, aircraft, ocean, trees, and the like. Each of these responsibilities may be centralized on a single session master computer, or divided among several session master computers, depending on the operation of the application.
The host computer performs administrative functions related to the computers participating in the online session. For example, while the network computer is participating in an online session of the application 440 , the host computer assigns an identification index number to the participating computer in the session. The host computer maintains a list of identifying index numbers and their assigned network computers. The index number is used when sending messages and is also used to maintain ownership records for the session master function.
As discussed above, an online session may have one or more session masters. A method in which the session master is allocated may be determined by the application according to the operation of the application. Application 440 may also assign a session master responsible for sending update messages to update network computers regarding the status of all network computers participating in the online session. This responsibility refers to the session master, which informs participating network computers when a new network computer joins an online session, or when a current join leaves the online session of the application 440, as will be described more fully below.
The host computer, which assigns to each of the computers an index number described above, also maintains a list of all network computers participating in the online session. Application 440 then keeps track of session master ownership according to the computer-assigned index number. To keep track of the index number and responsibility assignments, application 440 may maintain a data structure, such as in the form of a table consisting of a network computer index list, such as table 500 shown in FIG. 5 . Table 500 contains an index number associated with each network computer participating in an online session, and also an indication of whether the network computer has session master functionality. The index list data structure comprising table 500 preferably also specifies the communication protocol used for each network computer. Figure 5 shows that different session master tasks C1, C2, C3 can be owned by different network computers.
In addition to specifying the communication protocol, the data structure also specifies for each networked computer the port to which the communication protocol is assigned. Each example of application 440 allows an associated network computer participating in an online session to open a number of communication ports, each port being associated with a particular communication protocol. Network computers communicate with other network computers using specific ports and specific protocols defined in the data structure composed of table 500 shown in FIG. Ports may include network sockets through which examples of application 440 communicate over a network. Network computers communicate with port/protocol information as well as other information included in the index list, preferably by sending out communication messages periodically over the network.
Preferably, all computers participating in the online session maintain their own copy of the table 500 index list. It should be appreciated that table 500 is exemplary only and that initiating host application 440 may retain session master ownership and track of client index numbers in different ways using a wide variety of data structure formats. Alternatively, session computers may share one or more replicas of the tables.
The initiating application 440 may operate in a variety of communication arrangements depending on how the application 440 assigns ownership of the session master. In the first arrangement shown in FIG. 6 , the initiating application 440 has assigned ownership of the session master 600 to a single computer, such as a dedicated server computer 420 . Thus, this computer 420 is responsible for all tasks associated with the session master function as defined by the initial application 440 . Accordingly, the application 440 operates in a client-server communication arrangement for the functions of the session master with the server computer 420 providing data to the client computers 410 associated with the session master responsibilities.
Any computers participating in the online session of the application 440 have the master task of the session, as one of the client computers 410 is shown as possessing the session master 600a shown in FIG. 6 using dashed lines. It should be recognized that one may have more than one ownership of This indicates that the client computer has been assigned and performs one or more session master duties along or in place of the nominal session master server computer 420 . That is, there may be several instances of a session master among the computers participating in an online session, each instance of a session master being assigned specific responsibilities and each session master job assigned to a different network computer, or multiple jobs being the same assigned to the computer. For example, FIG. 6 illustrates a situation where there are two session masters 600 and 600a, each assigned responsibility for some functionality with respect to an online session of an application 440 . As determined by the application, server computer 420 has certain responsibilities and client computer 410 also has certain responsibilities. There is an aggregation server configuration in which a client computer 410 with a session master 600a acts as an aggregation server. "Integrated server" refers to a situation in which all clients send information to a client selected as an integrated server, and the integrated server forwards information to other clients. A client acting as an aggregation server may also have its one or more session master duties.
In another scheme shown in FIG. 7 , the application 440 has distributed ownership of the session master 600 to several computers. In the illustrated example, all of the client computers 410 share ownership of the session master 600 . In this case, all of the computers can perform the functions associated with the session master, and the network computers of Figure 7 are in a peer-to-peer arrangement. Irrespective of the particular communication arrangement in which application 440 operates, an application's online session includes various network participants, consisting of network computers executing the application and interacting in accordance with the online session. If one of the participants in the online session leaves the session, a break may occur for the other participants who remain in the session afterwards. In accordance with one aspect of the present invention, application 440 is arranged to accommodate situations in which a participant leaves an online session to minimize disruption to retain participants.
A more detailed description of the process of managing the exit of a participant of an online session of a multi-user application 440 is described with reference to the flowchart shown in FIG. 8 . In a first operation, indicated by a flowchart box numbered 810, a participant in the online session of the application that has left the online session is determined. A determination that a participant has left the online session can be made in a variety of ways. In one embodiment, the example of application 440 on a network computer participating in an online session causes the network computer to periodically broadcast an update message announcing the presence of other network computers in the online session. If an update message is not received from a particular network computer in a predetermined amount of time, then the network computer is considered to have left the online session. During establishment of an online session, an example of an application 440 on the computer that initiates the online session may assign a particular computer, such as the session master computer, responsible for generating a determination that a participant has left the online session.
In the next action, indicated by the flowchart box numbered 820, an example of an application 440 on one of the computers sends a notification message notifying them that a participant ("exited participant") has left the session. Make sure it is broadcast to all participants in the online session. For example, only one of the network computers, such as the session master computer, broadcasts an announcement message to all participants. If the session master computer is the exited computer, then one of the other network computers broadcasts the same message as the computer with the next subsequent index after the session master computer. The notification message preferably includes an index previously assigned to the network computer for the participant who has exited. In this way, other participants can identify the exited participant by referencing the index table discussed with respect to FIG. 4 .
As indicated by the decision box numbered 830, the next action differs based on whether the participant leaving the session is responsible for performing any session management functions that affect other participants in the online session. Management functions include functions such as filtering of communication messages, assignment of identification indexes, scoring, keeping track of session times, keeping track of items located in the online world, keeping track of participant locations in the online world, and the like. If the participant leaving the session was responsible for performing any of these functions, then "Yes" is determined from decision box 830 and the process proceeds to the action indicated by the flowchart box numbered 840 . In this operation, application 440 reassigns the management responsibilities of the exited participant to another participant's network computer still present in the online session. The reassignment of administrative responsibilities is preferably performed by the example of application 440 on a particular computer, such as the computer having the next consecutive index after the index of the computer that left the online session. For example, the computer with the first index may leave the session. An example of an application on a computer with the next contiguous index (as specified in table 500 shown in FIG. 5) performs the reallocation of duties of the then exited computer.
The way the application 440 reassigns responsibilities may vary. In one embodiment, application 440 automatically selects a participant whose responsibilities are reassigned based on certain factors, some of which relate to the conditions of the participants' network computers. Conditions may include, for example, communication environment, geographic location, and hardware specifications of network computers as well as user specific preferences.
The communication environment relates to whether the participant's network computer has large bandwidth capacities, such as via a cable modem or DSL. Preferably, participants with higher bandwidth capacities are given higher priority to assume the responsibilities of the exited participant. The geographic location of the participants may also be a factor in the participant's decision to reassign the responsibilities of an exited participant. For example, a participant that is centrally located with other participants may be given a higher priority to minimize latency for communication. The hardware specifications of the network computers participating in the online session are also a factor. Application 440 may give higher priority to networked computers with the highest appropriate hardware capabilities for reallocated responsibilities, such as computers with robust data processing capabilities.
In another embodiment of the operations of flow box 840, application 440 simply reassigns the responsibilities of a randomly exited participant to other participants in the online session. Application 440 may also take into account user specific priorities. Some users are specified as applications 440 for which they do not want to be assigned responsibility for managing any application functions. Users can also specify that certain participants should be reassigned responsibilities that should be other participants leaving the online session. Alternatively, the application 440 causes a message to be broadcast to all participants in the online session asking if any participant will take over the responsibilities previously assigned to the participant who left.
The next action is indicated by a flowchart box numbered 850. This action occurs after the application 440 reassigns the responsibilities of the exited participant. The operation of flowchart box 850 also occurs unless the exiting participant has any responsibilities that require reassignment, which may result in a "No" output from the decision box numbered 830. In this operation, application 440 attempts to acquire a new participant to replace the exited participant. The challenge is preferably performed by example of an application 440 on a particular computer, such as the session master computer. It should be appreciated that this operation, which relates to obtaining a replacement participant for an online session to replace the exited participant, rather than reassigning the management functions of the exited participant, differs from the operation in flowchart box 840 . .
For example, an online session may be an online soccer game in which the participants are each player on a general team. One of the participants would have been assigned administrative functions consisting of keeping track of scores and game time. Those same players play the rules of the quarterback in the game. If a participant leaves the online game during the game, then the application 440 re-delivers the exiting participant's management functions (ie, score recording and game time responsibilities) to the other participant in operation 840 and later in operation 850 . Assign and attempt to acquire a new player to replace the departed player's function as the quarterback.
The way the application 440 attempts to obtain alternate participants for an online session may vary. In one embodiment, application 440 automatically assigns a network computer rather than a person as a replacement for participants who have left. Thus, the network computer will perform the functions of the participant who has left. In another embodiment, application 440 maintains a list of network computers that may be participants in an online session and sends a message to these computers inviting them to participate in the session. Application 440 sends an online session in idle mode while a replacement participant is obtained.
The application 440 is preferably developed using a software development kit (SDK) that provides a library of entities and communication message definitions used in the application 440 . The software development kit includes an application interface through which an application can be developed using the SDK and executed on a network system such as the network system 400 . The application interface may be located on a central network server, such as server 420 , to which network computers having application 440 may log on to operate an online session of the application. By using the object and message types provided by the SDK, applications 440 can be developed to incorporate the features described above. The SDK preferably includes an object definition structure that provides a client-based definition of the objects used by the application 440 . An entity definition includes a plurality of properties associated with each entity and used by the application in the resulting interaction with a client over a computer network.
Once the application 440 has been developed using the SDK, the application 440 may be loaded onto one or more network computers, and an online session may be established according to the operations shown in the flowchart box of FIG. In a first operation, indicated by a flowchart box numbered 910, the network computer on which the application 440 is loaded connects with the network computer that contains the application interface software in its memory. For example, one or more client computers 410 of the network system 400 shown in FIG. 4 may have an application 440 loaded into memory, and the server computer 420 may include an application interface. . In this case, the client computers 410 establish a communication connection with the server computer 410 via the network 430 .
In the next operation, indicated by the flowchart box numbered 920, the application 440 registers objects according to the object definitions available in the library of the application interface. Application 440 also registers any message filters to be used during the online session, as indicated by the flowchart box numbered 930.
In the next operation, indicated by the flowchart box numbered 940, the application 440 defines a session master and assigns ownership of the session master to one of the network computers. Ownership of the session master may be assigned to one computer, or it may be assigned to multiple computers. Application 440 also specifies whether ownership of the session master is dedicated to a particular computer or whether ownership can migrate to other computers.
During this operation, the application 440 assigns client indexes to each of the network computers that will participate in the online session, and also establishes the index table described above. The application 440 may be arranged such that the first network computer logging on to the server computer becomes the session master and receives an initial index, such as an index of 1 or 0. It should be recognized that the initial index may change. The next network computers that log on will then receive the next consecutive available index. After ownership of the session master or session masters is established, as indicated by the flowchart box numbered 950 , an online session of the application 440 is initiated.
As noted above, the network computers shown in the block diagram of FIG. 4 include nodes of a computer network system 400 . FIG. 10 is a block diagram of the computer of system 400 of FIG. 4, illustrating hardware components included in one of the computers. A person skilled in the art will appreciate that devices 410 and 420 may both have similar computer architectures, or alternative architectures that do not contradict the possibilities described herein.
10 shows an exemplary computer 1000, which may include any networked computers. Each computer 1000 operates under the control of a central processor unit (CPU) 1002, such as a "Pentium" microprocessor and associated integrated circuit chips available from the Intel Corporation of Santa Clara, California, USA. A computer user can enter commands and data from a keyboard and computer mouse 1004 , and view the inputs and computer output on a display 1006 . The display is typically a video monitor or flat panel display. Computer 1000 also includes a direct access storage device (DASD) 1008, such as a hard disk drive. Memory 1010 typically includes volatile semiconductor random access memory (RAM). Each computer preferably includes a program results reader 1012 , which houses a program results storage device 1014 from which the program results reader can read (and optionally write data to) data therefrom. The program results reader may include, for example, a disk drive, and the program results storage device may include a removable storage medium such as a magnetic floppy disk, a CD-R disk, a CD-RW disk, or a DVD disk.
Each computer 1000 may communicate with others via a computer network 1020 (such as the Internet or an intranet) via a network interface 1018 capable of communicating via a network 1020 and a connection 1022 between the computers. can Network interface 1018 typically includes, for example, a network interface card (NIC) or a modem that allows communication over various networks.
CPU 1002 operates under the control of programming steps that are temporarily stored in memory 1010 of computer 1000 . When the programming steps are executed, the computer performs its functions. Accordingly, the programming steps perform the functionality of the application 440 . The programming steps may be received from the DASD 1008 via the program results storage device 1014 , or via a network connection 1022 . The program result storage drive 1012 may receive the program result 1014 , read the programming steps written therein, and transfer the programming steps to the memory 1010 for execution by the CPU 1002 . As noted above, the program result storage device may comprise one of a variety of removable media having computer-readable instructions recorded thereon, including magnetic floppy disks and CD-ROM storage disks. Other suitable program results storage devices may include magnetic tape and semiconductor memory chips. In this way, the processing steps necessary for operation according to the invention can be incorporated into the program result.
Alternatively, the program steps may be received into the working memory 1010 via the network 1020 . In the network method, the computer stores data including program steps to the memory 1010 via a network interface 1018 after network communication is established over a network connection 1022 by known methods that will be understood by those skilled in the art without further explanation. receive with The program steps are then performed by the CPU 1002 and thus include computer processing.
It should be understood that all network computers of the network system 400 shown in FIG. 4 may have a structure similar to that shown in FIG. 10 , and thus, in the detailed description described with reference to FIG. 10 , the computer 1000 is the system ( 400) will apply to all computers. It should be appreciated that any networked computers may have alternative architectures provided that the computer is capable of communicating with other computers over a network as shown in FIG. 4 and supporting the functionality described herein.
For example, with reference to FIG. 11 , client computers 420 may include a computer entertainment system, such as video game system 1100 . 11 is a block diagram of a typical hardware arrangement of a video game system 1100 .
The video game system 1100 includes a central processing unit (CPU) 1100 associated with a main memory 1105 . The CPU 1100 operates under the control of programming steps stored in the OS-ROM 1160 or transferred from the game program storage medium to the main memory 1105 . The CPU 1100 is arranged to process information and perform instructions according to programming steps.
The CPU 1100 is communicatively coupled to an input/output processor (IOP) 1120 via a dedicated bus 1125 . IOP 1120 couples CPU 1100 to OS ROM 1160, which is comprised of non-volatile memory that stores program instructions, such as an operating system. Instructions are preferably communicated to the CPU via the IOP 1120 at the start of the main unit 1100 .
The CPU 1100 is communicatively coupled to a graphics processing unit (GPU) 1110 via a dedicated bus 1115 . The GPU 1110 is a picture processor arranged to perform picture processing and clarify images according to instructions received from the CPU 1100 . For example, CPU 1110 may render a graphic image based on display lists generated by and received from CPU 1100 . The GPU may include a buffer for storing graphics data. GPU 1110 outputs images to an audio-visual output device.
The IOP 1120 controls the exchange of data to the CPU 1100 and a plurality of peripheral devices according to instructions stored in the IOP memory 1130 . Peripherals may include one or more input controllers 1122 , memory card 1140 , USB 1145 , and IEEE 1394 serial bus 1150 . Additionally, bus 1155 is communicatively coupled with IOP 1120 . The bus 1155 is linked to several additional components including an OS ROM 1160 , an acoustic processor unit (SPU) 1165 , an optical disk control unit 1175 , and a hard disk drive (HDD) 1180 . .
SPU 1165 is arranged to generate sounds such as music, sound effects, and voices according to instructions received from CPU 1100 and IOP 1120 . The SPU 1165 may include an acoustic buffer in which waveform data is stored. The SPU 1165 generates acoustic signals and transmits the signals to the speakers.
The disk control unit 1175 may include, for example, an optical disk drive that accommodates removable storage media such as magnetic floppy disks, optical CD-ROM disks, CD-R disks, CD-RW disks, DVD disks, etc. , arranged to control the program reader.
The memory card 1140 may include a storage medium in which the CPU 1100 may record and store data. Preferably, the memory card 1140 can be inserted into and removed from the IOP 1120 . A user may use the memory card 1140 to store or collect data. Additionally, video game system 1100 preferably provides at least one hard disk drive (HDD) 1180 to which data may be recorded and stored.
A data I/O interface, such as an IEEE 1394 serial bus 1150 or Universal Serial Bus (USB; 1145) interface, preferably allows data to be routed into and out of a video game system 1100, such as network 430 in FIG. To be moved, it is communicatively coupled to an IOP 1120 .
The present system and method described above is performed in a situation where a network user of an application, such as a game player, is performed as an integrated server (IS) for the application, and thus maintains the application environment, and thus the application is not intended for the IS user to log off. When the conventional application execution will be terminated. As described above, some applications (such as multi-user gaming applications) alternatively have features of churn of a user, where the churning user migrates to another user, which will be continued into an online session and will take over the obligations of the IS (and data) is allowed. This type of hand-off is typically more cumbersome and will not be smooth. For example, in the case of a gaming environment, an exiting player may suddenly disappear from the gaming environment, thus disrupting the gaming experience of other players. A multi-user application according to the present invention allows continued use of the application by notifying all user machines when another user leaves the session, even if a user leaves or joins. Appropriate adjustments can be made for a more satisfactory application environment. Notifications are triggered via the disconnect function ensuring proper IS function and communication. That is, the application server or IS of the application may broadcast a message to all clients in the application environment to inform that the user has left or joined, and if necessary, can ensure the proper functioning of the users.
For a system having a network device acting as an integration server (IS) that provides application data to other users as described above, failure from the application environment or departure from the IS may be caused by assigning another user as a new IS. is answered An application can allocate a new IS by automatically performing the replacement process, or by sending a broadcast message to all users and waiting replies. For automatic selection, the application may depend on considerations including the bandwidth available to the user, the geographic location of a potential new IS, user-specified priorities for consideration as an IS, technical specifications and resources available on the user's machine, or according to a random selection process. A new IS can be allocated through Once the application is designed it will send a broadcast message, which will typically request voluntary consent to act as a new IS.
Additionally, new users logged into the system after an IS failure and on the other hand registered with the failed IS can instead be switched to another IS, reducing the group's workload provided by the now unavailable IS. In this way, new participants wishing to engage with the application environment of the IS can instead be moved to other ISs and other user groups. Alternatively, the application may respond with a failed IS by dismantling or disbanding the online session of the group managed by the unavailable IS and by forming a new online group with the new IS. These alternatives may be chosen by the application developer arranging the application for operation in accordance with the present invention.
When an individual user exits during an online session, the consequences can be somewhat more problematic. In the context of online gaming, for example, a minimum number of certain users (players) is requested for a game to be played. In accordance with the present invention, an application may respond by sending other users on the network a message inviting others to participate in online sessions and participants (such as games) of multi-user applications. Alternatively, the application may be arranged to perform artificial intelligence to perform the duties of the aggregation server.
The present invention has been described above with respect to the presently preferred embodiment, and the present invention may be understood. However, there are many arrangements for systems and applications to which the present invention is applicable, although not specifically described herein. The present invention is therefore not to be viewed as limited to the specific embodiments described herein, but rather it should be understood that the present invention has broad applicability for multi-user applications in general. All modifications, variations or equivalent arrangements and implementations that fall within the scope of the appended claims are therefore to be considered within the scope of the present invention.
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
115 members in 11 offices
Priority claims11
| Document | Office | Kind | Date |
|---|---|---|---|
| 38173602 | United States of America | P | |
| 38173602 | United States of America | P | |
| 60381736 | United States of America | – | |
| 10211128 | United States of America | – | |
| 21112802 | United States of America | A | |
| 21112802 | United States of America | A | |
| 0308682 | United States of America | W | |
| 0308682 | United States of America | W | |
| US20020211128 | – | – | – |
| US20020381736P | – | – | – |
| WO2003US08682 | – | – | – |
Members115
| Document | Office | Kind | |
|---|---|---|---|
| US2003204566A1 | United States of America | A1 | |
| WO03091894A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003231076A1 | Australia | A1 | |
| US2003217135A1 | United States of America | A1 | |
| TW200307212A | Taiwan Province of China | A | |
| TW200307418A | Taiwan Province of China | A | |
| WO03100643A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003224728A1 | Australia | A1 | |
| KR20040096489A | Republic of Korea | A | |
| KR20040099256A | Republic of Korea | A | |
| CN1556958A | China | A | |
| EP1499987A1 | European Patent Office (EPO) | A1 | |
| EP1506491A1 | European Patent Office (EPO) | A1 | |
| CN1592899A | China | A | |
| JP2005520265A | Japan | A | |
| EP1506491A4 | European Patent Office (EPO) | A4 | |
| JP2005531048A | Japan | A | |
| AT355561T | Austria | T | |
| ATE355561T1 | Austria | T1 | |
| US2006173958A1 | United States of America | A1 | |
| US2006190540A1 | United States of America | A1 | |
| KR100638071B1 | Republic of Korea | B1 | |
| KR100638073B1This record | Republic of Korea | B1 | |
| TWI274486B | Taiwan Province of China | B | |
| EP1506491B1 | European Patent Office (EPO) | B1 | |
| US2007076729A1 | United States of America | A1 | |
| DE60312153D1 | Germany | D1 | |
| WO2007041417A1 | World Intellectual Property Organization (WIPO) | A1 | |
| JP3964905B2 | Japan | B2 | |
| ES2282619T3 | Spain | T3 | |
| DE60312153T2 | Germany | T2 | |
| US2008280686A1 | United States of America | A1 | |
| US2009006545A1 | United States of America | A1 | |
| US2009006604A1 | United States of America | A1 | |
| EP2045967A2 | European Patent Office (EPO) | A2 | |
| KR20090035419A | Republic of Korea | A | |
| US2009094370A1 | United States of America | A1 | |
| WO2009045475A1 | World Intellectual Property Organization (WIPO) | A1 | |
| JP2009093656A | Japan | A | |
| US2009113060A1 | United States of America | A1 | |
| TW200926719A | Taiwan Province of China | A | |
| TWI311265B | Taiwan Province of China | B | |
| CN101483586A | China | A | |
| TW200939716A | Taiwan Province of China | A | |
| EP2045967A3 | European Patent Office (EPO) | A3 | |
| US7613800B2 | United States of America | B2 | |
| EP1499987A4 | European Patent Office (EPO) | A4 | |
| CN100583078C | China | C | |
| EP2166729A1 | European Patent Office (EPO) | A1 | |
| US2010077087A1 | United States of America | A1 | |
| WO2010033620A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US7711847B2 | United States of America | B2 | |
| CN101715008A | China | A | |
| EP2198372A1 | European Patent Office (EPO) | A1 | |
| US7792902B2 | United States of America | B2 | |
| CN101861575A | China | A | |
| US7822809B2 | United States of America | B2 | |
| JP2010244509A | Japan | A | |
| US2010279767A1 | United States of America | A1 | |
| US7831666B2 | United States of America | B2 | |
| US2010285872A1 | United States of America | A1 | |
| US2010287239A1 | United States of America | A1 | |
| JP2010541476A | Japan | A | |
| US7877509B2 | United States of America | B2 | |
| US7930345B2 | United States of America | B2 | |
| KR101036099B1 | Republic of Korea | B1 | |
| US7962549B2 | United States of America | B2 | |
| EP2198372A4 | European Patent Office (EPO) | A4 | |
| EP2360874A1 | European Patent Office (EPO) | A1 | |
| EP2360875A1 | European Patent Office (EPO) | A1 | |
| US8060626B2 | United States of America | B2 | |
| JP4886829B2 | Japan | B2 | |
| US8131802B2 | United States of America | B2 | |
| EP2458817A1 | European Patent Office (EPO) | A1 | |
| EP2458818A1 | European Patent Office (EPO) | A1 | |
| US2012166651A1 | United States of America | A1 | |
| US8224985B2 | United States of America | B2 | |
| EP2198372B1 | European Patent Office (EPO) | B1 | |
| JP5054821B2 | Japan | B2 | |
| JP5097671B2 | Japan | B2 | |
| CN103023985A | China | A | |
| US8560707B2 | United States of America | B2 | |
| US2013304931A1 | United States of America | A1 | |
| TW201347493A | Taiwan Province of China | A | |
| CN1556958B | China | B | |
| US8793315B2 | United States of America | B2 | |
| EP2166729B1 | European Patent Office (EPO) | B1 | |
| US2014256449A1 | United States of America | A1 | |
| CN104069637A | China | A | |
| US8972548B2 | United States of America | B2 | |
| US2015180958A1 | United States of America | A1 | |
| TWI491229B | Taiwan Province of China | B | |
| CN104852972A | China | A | |
| TWI527415B | Taiwan Province of China | B | |
| TWI527416B | Taiwan Province of China | B | |
| US9516068B2 | United States of America | B2 | |
| EP2360874B1 | European Patent Office (EPO) | B1 | |
| EP2360875B1 | European Patent Office (EPO) | B1 | |
| US9729621B2 | United States of America | B2 | |
| US9762631B2 | United States of America | B2 |
12 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Written decision to grantGRNT | GRNT | |
| Decision to grant or registration of patent rightE701 | E701 | |
| Notification of reason for refusalE902 | E902 | |
| Request for examinationA201 | A201 |
Numbers
- Publication
- 10-0638073
- Publication, DOCDB
- 100638073
- Publication, EPODOC
- KR100638073B
- Application
- 107007074
- Application, DOCDB
- 20047007074
- Application, EPODOC
- KR20047007074
Titles2
- Korean
- 동적 플레이어 관리
- English
- Dynamic player management
Classification
- CPC, 28
- H04L67/104
- G06F15/16
- H04L65/403
- A63F2300/408
- A63F2300/50
- A63F2300/535
- A63F2300/5533
- A63F2300/5546
- A63F2300/556
- H04L12/185
- H04L67/1048
- H04L67/14
- H04L67/1051
- H04L69/329
- H04L67/54
- H04L67/131
- A63F13/35
- A63F13/34
- A63F13/795
- A63F2300/534
- A63F13/79
- A63F2300/5566
- A63F13/335
- A63F13/358
- A63F2300/407
- A63F2300/208
- G06F15/173
- A63F13/45
- IPC, 7
- G06F15 16
- G06F15 173
- A63F13 12
- G06F15 00
- H04L12 18
- H04L29 06
- H04L29 08