CN1728712A - Method and apparatus in a communication network - Google Patents
Method and apparatus in a communication network Download PDFInfo
- Publication number
- CN1728712A CN1728712A CNA2005100910756A CN200510091075A CN1728712A CN 1728712 A CN1728712 A CN 1728712A CN A2005100910756 A CNA2005100910756 A CN A2005100910756A CN 200510091075 A CN200510091075 A CN 200510091075A CN 1728712 A CN1728712 A CN 1728712A
- Authority
- CN
- China
- Prior art keywords
- application
- client computer
- server
- client
- access server
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 230000006854 communication Effects 0.000 title claims abstract description 66
- 238000004891 communication Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title description 113
- 230000002452 interceptive effect Effects 0.000 claims abstract description 10
- 238000009826 distribution Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 9
- 230000000717 retained effect Effects 0.000 claims 1
- 150000003839 salts Chemical class 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 26
- 230000015654 memory Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 72
- 239000000872 buffer Substances 0.000 description 20
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 150000001875 compounds Chemical class 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000009792 diffusion process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/332—Interconnection 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The real-time performance in communications networks is improved, especially between a large number of participants, by means of a server unit comprising receiving means for receiving information from at least a client unit, said information comprising at least part of the state information about a distributed interactive application, said server unit comprising: state information storing means for storing application state information received from at least one of said client unit, transmission means for forwarding the state information received from said client to at least one other node in the network, and for transmitting at least part of the information stored in said state information storing means to said at least one client. In this way the whole state of the application can be kept in one or more units in the network, which removes the need for each client to store the entire state, thereby reducing memory and banwidth requirements for each client.
Description
Technical field
The present invention relates to communication network, particularly, relate to the real-time Communication for Power between several users of the application in this network.
Description of Related Art
The current multi-user communication of developing the game that for example is used for the multi-user is used. Such game can by be connected to same LAN (LAN) or even a plurality of users of the different part of larger network (such as the internet) participate in. For such application, use three main models: client-server is synchronous, and peer-to-peer is synchronous to peer-to-peer, or broadcast synchronization. Today, some multi-user's game on the internet related to nearly 100 000 participants, and several thousand people wherein can attend a game simultaneously. The all method for synchronous that use today all can cause quite long time-delay. So multi-user's game of carrying out on the internet today all is that those speed are not the game of critical problem. For example, for QA game (such as car race game or combat game, wherein the user must react to occurrence in part second), just can not be by playing games with any standard method for synchronous and with acceptable quality.
The dial-up access network typically uses client-server synchronous. In this case, server receives the data from all players. It must be found out the information of each player's needs and send these information. Central server is obvious bottleneck in the system. Central authorities' client-server game can be supported 2-250 player. Higher number will relate to the low server to 2Hz of renewal rate. Central server can be because the fed distance that increases and the processing in server and arrangement time-delay the affix stand-by period. For example consider a kind of situation, wherein client computer at U.S.West Coast and server in the east coast of the united states. Will be caused by the operational mode of client-server the conveying stand-by period of about 80ms and the processing latency of 10ms at least.
So it is real-time application critical, that have a large amount of players that client-server is not suitable for wherein time-delay synchronously.
Peer-to-peer refers to synchronously that to peer-to-peer all client computer directly send to all other client computer to application data. This model usually is used in the game of participating at public internet. The game developer provides a free application reception hall server, and foundation is played and participated in ongoing game so that the player meets therein. In case the game beginning, it carries out with pattern at the same level, and does not extract any resource from the game developer place.
Peer-to-peer has obvious scaleability problem synchronously to peer-to-peer, because offered load is proportional to number of players purpose square; Client computer access bandwidth and cpu power require to be proportional to player's number. Useful load in each grouping is the 10-40 byte, this means that the agreement additional overhead is normally greater than 50%. Little game grouping provides large agreement additional overhead. Yet by header compressing method, this additional overhead can be reduced widely. The game of on the internet peer is subject to uncertain time-delay, and usually interrupts because of synchronous losing.
See that thus peer-to-peer also is applicable to little network synchronously best to peer-to-peer, on quite short distance and at a limited number of communicating between users.
Broadcast synchronization can be used by the upper a limited number of user of LAN (LAN), but is not suitable for larger network.
Because the restriction that applied by method for synchronous, the communication that reaches a plurality of participants with good real-time characteristic with current technology is impossible.
By multi-point diffusion (multicast), the information that must send in network can be reduced widely, because information only need to send to each multicast server once, rather than sends to each user once. Then each multicast server copies this information and it is sent to the user who connects. The information that can select each user to receive. This can reduce between the server and each server and its user between portfolio. Be used for such solution of game at United States Patent (USP) 5,841, revealed in 980.
At United States Patent (USP) 5,841, in the system that discloses in 980, each user only has the information relevant with the game part, this information be with current situation in subscriber-related, for example, the information of the relevant geographic area that he is positioned. If environment change, for example, if the user moves to another room, then the important information in new environment will not offer the user.
Goal of the invention
An object of the present invention is to improve the real-time performance in communication network, particularly for the communication of between a large amount of participants, jointly carrying out.
Brief summary of the invention
According to the present invention, this purpose is to reach by a kind of server unit that uses in communication network, described server unit comprises receiving system, be used for receiving the information from least the first client unit, described information comprises the status information of the relevant distribution interactive application of at least a portion, described server unit is characterised in that it comprises:
-state information storing means is used for storage and is included in by the application state information of receiving system from the information of one of described first and second client unit reception,
The-the first dispensing device is used at least another node that a status information from described at least the first client unit reception is forwarded to network,
The-the second dispensing device is used at least a portion information that is stored in described state information storing means is sent to described at least one client unit.
This makes it possible to whole state of using is remained in one or more unit in the network, so just eliminated each client computer and stored the needs of whole state, reduce thus each client computer place memory span needs and for communicating needed bandwidth with each client computer. If each part of application state is stored in more than one network node or the client computer, then be conducive to realize backup.
According to the present invention, this purpose is to reach by the client unit of using in the terminal in communication network, comprises the application software for the distribution interactive application, and this client unit is characterised in that it comprises:
-at least one input unit is used for reading out the input from described terminal, described input be configured at least the distributing application state information of interactive application,
-dispensing device is used for application state information is sent to the application access server,
-receiving system, for the application state information that receives at least from described application access server for the distribution interactive application,
-for the device that shows described status information.
Useful especially for the distribution interactive application according to method and apparatus of the present invention, particularly relate in the situation of real-time Communication for Power.
Preferably, the receiving system of described server unit is applicable to:
-receiving the subscription information from described at least the first client computer, described subscription information sign is some distribution interactive application objects like this, and wherein said the first client computer wishes to receive the information relevant for these objects.
-according to the subscription information that receives from this client unit, send information to described at least one client unit,
-described server unit also comprises at least one client computer reservation table, is used for storing described subscription information.
Therefore, described client unit also comprises: be used for subscription information is set so that regulation should be by the device of at least one object of the distribution interactive application that wherein receives operational information; And be used for sending described subscription information to the device of described application access server.
The information content that this has reduced to be sent to each user thus, reduces transmission delay, and also helps each customer analysis information, because only just be shown to this user for the most important information of specific user. Each client computer can be for oneself determining which is important information.
In a preferred embodiment, receiving system is used for from the emergence message of relevant described the first client computer of the second client computer reception at least. Emergence message can be sent to the first client computer, or the application state information of relevant described the second client computer can be forwarded to described at least the first client computer according to described emergence message. Emergence message also can be used for indication: certain application state information should not be forwarded to described the first client computer. Emergence message can be used for changing the client computer reservation.
In described preferred embodiment, client unit also comprises be used to emergency data is set in order to stipulate to receive as quickly as possible device from least one other client computer of the status information of this client computer.
Advantageously, the dispensing device that is used for the client unit of transmission application state information is used to arrange the information of this object information grouping before the object information grouping is sent to server unit, wherein the grouping relevant with object consisted of a part of using, and described receiving system is used to information extraction from the grouping that server unit receives.
It is irrelevant with application to use access server system, so it can support the different application of wide range.
Cooperative application access server can communicate at the network that transmission capacity reservation or that be managed preferably is provided. The bandwidth requirement of the set of using can come valuation by NMS, and enough Internet resources can be assigned to the network that is connecting the reservation of using the access server unit. New application only is only permission when resource can provide. Network management also control use the access server unit resend and copy policy. Multi-point diffusion and RSVP can be used in each data flow of using the set between the access server unit. This advantage of system is that the resource reservation on player's rank is unnecessary. If total statistic property is good, application client can be managed the grouping of losing once in a while usually. Use will mean that according to application access server of the present invention game client machine will never for good and all lose synchronously, always keep game state because use the access server unit.
The accompanying drawing summary
Describe in more detail below with reference to accompanying drawings according to equipment of the present invention and method, wherein:
Fig. 1 shows the embodiment according to network of the present invention;
Fig. 2 shows the application access server according to the first embodiment of the present invention;
Fig. 3 shows the embodiment according to application state record of the present invention;
Fig. 4 shows the application client according to one embodiment of the present of invention;
Fig. 5 shows the communication stack that uses according to one embodiment of the present of invention;
Fig. 6 shows the second embodiment according to application access server of the present invention;
Fig. 7 is presented at the application router that uses among the second embodiment that uses access server;
Fig. 8 is the schematic representative of the hierarchy of the application access server that uses in an embodiment of the present invention.
Embodiment describes in detail
Fig. 1 shows an embodiment according to communication network of the present invention. According to the present invention, network comprises at least one application access server. On Fig. 1, show that the one 1, the 23 and the 35 uses access server, be connected to each other by network 7 (telecommunications network that for example keeps). It also can be the network of any other type, yet those networks (such as the internet) that can not preengage Internet resources may provide lower quality if load is very heavy. A plurality of client computer 11,12,13,14,15 also are connected to network 7. Client computer can be connected to suitable application access server 1,3 or 5 in technical known any mode, as what be described in more detail below.
Client computer can be communicated by letter mutually by the application access server that is used for operation distribution interactive application, and wherein a large amount of participants are worked to the state of using (for example, in real time multi-user's game) simultaneously and affected this state. Between each client computer and coupled application access server, usually will have low capacity and connect, connect such as modem. On the other hand, between two application access servers, high and variable network capacity are available. So, be applicable to process in this wise the information of relevant application state according to application access server of the present invention, thereby in order to send to the information content that each client computer reduces to send to each client computer by a handle with the maximally related information of this client computer. Using between the access server, transmission capacity will not be problem usually, so, between the application access server, can transmit more information.
The application reception hall server 21 that in network, also can have one or more itself known kind. These servers typically comprise the business that allows the extraordinary type of client logon function, process charging function etc.
According to the present invention, find at client computer 11,12,13,14,15 places for using needed software. In order to use according to communication function of the present invention, the user must guarantee that he has needed application software. Application software can be retrieved in technical known any mode, for example, installs from the Internet download or from CD-ROM. Need if use, he also must be to using the reception hall server log. Typically, use reception hall server 21 one or more application access servers 1,3,5 address (normally IP address) and portal number will be provided, but this address also can draw with any alternate manner.
The user normally is connected to the application access server by inputting the IP address of using access server or using the storehouse of access server in technical general mode. Have several algorithms, can be used for selecting being identified by same address, the suitable node in the network in a plurality of nodes. Use the access server reception from user's information, and begin transmission information to the user, as what be described in more detail below. Substitute client logon is arrived the application access server, use the reception hall server and also can send to the application access server to the client network address.
Suppose to use and comprise one group by the object of participant's control. One to liking by project participant's control or in the application that the client computer place produces, and can not be regenerated partly at each application client place, for example, be subjected to the control of tandom number generator or other inscrutable calculation processes. Application can be that the participant intuitively takes the things for object or game graph as, but they also can be the background data structures, such as the environmental variance by player's control. Application is by one or several player's control. Each object typically has one group of character and attribute, and they can be changed when using operation. In game, these character can be strength and other abilities of role, or the maximal rate of automobile, and attribute can be the project that is assembled by the role.
Information from the user receives except the signaling additional overhead, will comprise three kinds of dissimilar information: status information, subscription information, control data and emergence message usually. Status information is that it should be assigned to other user of application about the information of the object of being controlled by the user. Subscription information is provided by the client computer priority about the different application that is provided by the application access server. For example, the information of relevant certain group of objects becomes in the time of can providing at it should be immediately or received as far as possible frequently, and be not urgent from the information of another group objects. Under the situation that lacks bandwidth, can several priority-level be set with acceptable time-delay or leading mode. The emergence message that is produced by client computer can be used for surmounting or changing the reservation of another client computer, is not included in the information of the object in its reservation so that other client computer is accepted relevant those, or guarantees that client computer does not receive some information. The information of all three types is discussed in more detail below.
As an example, will the application of the real-time game of being participated in by a large number of users be described. Such game today by be arranged in LAN (LAN) mutually very close to, a limited number of player participates in. Such game of carrying out at wide area network can relate to several thousand players that typically are distributed in large Game Zone or virtual geographic area in the future. For the method for prior art, this can not have acceptable quality, and will be as discussed above.
Each player is just immediately by near occurrence impact him in virtual gaming area. Another player is away from must be more, and this player's variable effect is just less. For example, a player may get involved with the first enemy player and fight, and a friend side player may come to succour, and the second enemy player may attempt preventing this friend side player. Simultaneously, other player's WKG working time afterwards becomes and is interesting thing, but the problem of player's major concern is in fight under the survival at present. So the first enemy player's motion must be shown immediately. This friend side player and the second enemy player's motion also should give high priority, and the local occurrence away from must be should give low priority.
In the example of discussing in the above, obviously, player's configuration will change, so that in another time, will have the highest priority from other player's information, typically refer near those players any given time is positioned at the user here.
Using access server can process and the communicating by letter of application client. It receives information and out of Memory about the action of the client computer that affects application state. It also sends to the participant to the application state information from other participant according to participant's reservation. Each application client setting is about the reservation of the application message that will receive, and the information of relevant these reservations is sent to the application access server. Use the access server storage and upgrade by using access server the record of reservation of the client computer of service is provided. The reservation of each client computer is used for determining which data will be sent to this client computer. Client computer also can arrange the reservation for another client computer. Under an operational mode, main client computer can arrange the reservation of all other client computer.
The application access server that client computer is connected to is the application access server of this locality of client computer, and this client computer is called as the local client computer of this application access server.
Use access server and also keep client computer authority table. Each client computer has the right of the state that changes one or more game objects. Client computer authority table has a project for each client computer, stores therein the identifier by the object of client computer control. Use access server check legitimacy when at every turn receiving Obj State information from client computer. Just be updated in the identifier that game state only finds in information block and the situation about in authority list, being complementary for a number in the project of client computer, otherwise this information is left in the basket. Use the Obj State information of sending here the access server unit from other and be not verified, because the application access server that sends has been checked legitimacy.
Each use access server also use access server unit communication with other, send application state information and the reservation optionally assembled to them and receive information from their same type. Usually, it is packaged and be sent out according to suitable agreement to be sent to other information of using access server, and and never in any form by additional priority or be stored. Certainly, might preengage according to its user of local client computer to select to be sent to the information that each uses access server. The reservation of assembling is the summation from all application requests of the client computer that belongs to given application access server. For example, use access server and can use the multi-point diffusion mode of using the access server unit to other. This guarantees that each application access server unit receives the renewal of all needs, and game state is distributed on the application access server unit effectively.
Emergency data is by a client computer setting, if data are important for another client computer, but another client computer is not known this situation, so, his reservation can not be set. So emergency is by the client computer regulation that sends, and it can be different for different subscribing clients. If waiting for emergency data, then use access server and remind the client computer that is receiving. Emergence message can be used for also forbidding that some information is forwarded to one or more client computer.
Each uses the copy whole or part that application state was also stored and upgraded to access server. Complete application state must be stored in those application access server unit that are assigned to communication process between them. Under the simplest situation, each uses the complete application state of access server storage, but also might use carve information between the access server, thereby makes the overlapping information of their with or withouts. The important special software of solution agreement is processed suitable data is distributed to each application access server.
Use access server and communicate with application reception hall server, in order to set up this application, thereby when moving application and processing wrong and network failure, add and the removal participant.
Fig. 2 shows according to the application access server of one embodiment of the present of invention and other functional entity. This is used access server and can implement with hardware or software. On Fig. 2, only provide general description. Suitable form and agreement will be discussed in the back.
Use access server and receive the data of each client computer of automatic network by input buffer 51, and from the data of other unit (using access server such as other). For each client computer, far-end is used access server and used the reception hall server respectively an input buffer, although only shown for brevity an input buffer on Fig. 2.
Each local participant's action is sent out as the useful load in the application grouping of the input buffer that arrives the application access server relevant with this client computer. These application groupings can be upgraded the application by participant's control. The application grouping is inserted rule by one group and is written to the application state record.
The data that receive from client computer can comprise the data of three types: about the data (status data) of the state used, about data (priority data) and other control information of the reservation of client computer, such as for the state of time reference, other client computer with from the request of the out of Memory of system. Status data is sent to application state record 55 by application stream of packets waterline 53. Application state record 55 keeps all status datas for all relevant objects, and is all such as will be discussed in more detail below. The application state record also keeps aforesaid emergency data.
Group of clients can be carried out regulation, and described group of clients is included in a participant in the working group, or is the participant in the same team under the situation of game. In this case, reservation and or emergency data also can organize regulation for the user, and not only for independent user.
The control data, the data that particularly needn't process in real time (such as about adding upward and get rid of the information of application) are sent to from input buffer 51 uses access server control module 57. In the hardware implementation scheme, control module 57 can be microprocessor. The control data of being processed by control module can relate to establishment and cancellation player and object and player's group and group of objects.
Reservation is sent to client computer priority inventory (CPL) 61 by using priority control protocol message flow waterline 59, and the latter comprises the reservation by each client computer of using the access server support. Reservation can be upgraded by client computer with by using the access server control module. Control module can decide the more reservation of New Client according to the emergency message that receives from another client computer.
Several different priority policies can be employed the client computer employing by using access server system. A kind of simple method is that application client sends to CPL 61 to the inventory of having enumerated of object. In this case, when all objects on inventory were updated, the object on inventory can not be updated in a looping fashion. If all objects on inventory are updated, then all the other objects can be updated in a looping fashion. The reservation of specific client computer comprises the inventory that all objects of reservation are set by this client computer. In addition, be stored in the inventory of using in the access server and preferably include sign for each object, whether expression receives the new information for this object. Sign is used for determining whether the information about certain object needs to be sent to client computer. When information was sent to client computer, sign was reset. When using access server and receive new renewal for object, sign is set up again.
The client computer reservation also can be stipulated with the time interval relevant with each object. Then client computer sends the request of a series of following forms:
<object number (object number) 〉,<object priority (object priority) 〉,<object update time interval (object interval update time)〉and,<flag (sign) 〉. Simple inventory can only have form<object number 〉,<object priority 〉. Use access server and will attempt to send and update to client computer so that each object during each time interval with according in request<object priority the given priority in territory is updated once at least. Infinitely great symbol can be used for so that some object is not updated fully. One special " only sending new complete Obj State " sign can be set. This option is used when client computer wants to receive renewal for the object with long time interval (several seconds). If the temporal resolution of wanting is longer than the state refresh time interval, sending incremental update wastes.
The subscription information that viewing pipeline 63 receives from client computer priority inventory, and search for application state with this information and record 55, thereby by using above-mentioned suitable algorithm to seek the information that will be sent to the client computer that discusses. The status information of selecting is sent to output state 65 from application state record 55 by viewing pipeline 63, and is sent to client computer from output state. For example, control module 57 transmit control message to client computer and far-end server so as to make clock and client computer synchronously or provide the stand-by period valuation to client computer.
Although application access server shown in Figure 2 is shown as only having one every type unit, but preferably, the application access server all comprises an input buffer 51, an application grouping inlet flow waterline 53, priority message streamline 55 and an output processing streamline 63 and an output state 65 for each client computer and each other server in the network of using access server and its exchange message. Alternatively, a group client or one group of server can be shared an input buffer 51, an application grouping inlet flow waterline 53, priority message streamline 55 and an output processing streamline 63 and an output state 65. The application access server also comprises a client computer priority inventory for each client computer, server etc.
Use data that access server receives from other and comprise Obj State data from other client computer. It also can comprise the precedence information from these client computer, and this information is preferably assembled by this way, so that each object only occurs once on the priority inventory. In this case, information is with packaged, and like this, using access server for each has a priority inventory, and namely, it is processed as a client computer that each uses access server. Treated in the mode identical with the information that receives from client computer from the information that the Another application access server receives, unless input and output buffer 51,65 also must be carried out certain protocol processes, as what below will discuss. Alternatively, use access server from other and do not receive subscription information, in this case, all status informations will be sent to these and use access server.
Use access server and also can process optional just game (fairplay) pattern, all players are updated (below seeing) simultaneously therein.
As mentioned above, the application reception hall server (21 on Fig. 1) of one or more itself known kind may reside in the network. Use the configuration data during the reception hall server is responsible for being updated in game, thereby provide following data to using access server:
Enter IP address or other network address of application access server game, new unit
Sign is by the network address inventory participant who uses the access server service, that upgrade. This is so that new participant can participate in ongoing application.
The game object inventory of having enumerated that upgrades. For each object, stipulate which uses access server and be responsible for store status, if being distributed on, uses between the access server state. Can stipulate also who licensedly comes update mode. This makes it possible to create, cancel and change the control of game object. Client computer also can create and cancel game object.
New complete or local game state. This is so that can suspend in game when access server system is abandoned game state or the rear recovery of failure when using.
Fig. 3 shows the example according to the application state record that uses in the application access server of the present invention:
The state of each application is stored in the application state record as one group of application state AOS1-AOS4 that has enumerated. Each application state comprises respectively a series of application grouping AOP11-AOP13, AOP21-AOP24, AOP31 and AOP41-AOP42. Object group is the container for object data. The all data that send to far-end application client or server from application are packetized in the application grouping, and like this, it can be processed by using access server system.
Information that other all application access server that is connected to from it by the application access server receives is used for being updated in the application information in the application state record. Preferably, two types application grouping is arranged: divide into groups with reference to application (1), the all current data that comprise relevant object, and (2) increment groupings, include only the information of the relevant content that since the time that the time-stamp of the APO that is related to by increment groupings provides, has changed. AOP in AOS must be reference packet, and one group of increment groupings or a reference packet are followed in the back. Reference packet is only attempted in some game.
Those records that need to be sent to other application grouping of using the access server unit also preserved in the application state record. This can be done by usage data structure new_client_data, and this data structure can be implemented as matrix new_client_data (i, k), and wherein each element is a sign. Parameter i is the client computer number, and parameter k uses the access server number. If the application grouping should be sent to the applications access server, then this sign is set up,
How Fig. 3 display application Obj State AOS1 can be made to describe the example of application as the application state. This object can be described in the position of automobile in the car race game. The position (x1, y1) of automobile at first is sent out at playtime t1 as the game useful load in reference application grouping AOP11. In order to save bandwidth, the relative changes (Δ x2, Δ y2) in playtime t2 position is sent out as increment application grouping AOP12. Increment application grouping AOP12 points to reference to application grouping AOP11 with as a reference. At playtime t3, new incremental counter is sent out in the 3rd application grouping AOP13. The 3rd application grouping AOP13 with the second application grouping AOP12 as a reference. After receiving all three application groupings AOP11, AOP12, AOP13, client computer can be calculated according to (Δ x1+ Δ x2+ Δ x3, Δ y1+ Δ y2+ Δ y3) position of automobile when time t3.
When new reference application grouping was received for specific object, the groupings before all that belong to object can be deleted in the application state record, and just in time stores new reference packet. Notice that the syntax of game useful load and the game application that semantics can only be running in client terminal are understood. Application should often send reference packet, in order to avoid the interruption of the length that caused by missing data.
Another mode that coding is used is to allow the 3rd application grouping AOP13 use with reference to application grouping AOP11 as a reference at time t3, and only illustrates that the position with respect to (x1, y1) changes δ x, δ y. This will save and use the access server memory, because as long as the 3rd application grouping AOP13 one arrives, the second application grouping AOP12 just can be deleted at time t2. Client computer can be calculated according to (x1+ δ x3, y1+ δ y3) position of automobile when time t3 now. Use access server and use information in the application packet header, so that when determining whether previous application grouping expires and can be deleted. On Fig. 3, AOS 2 comprises the grouping of three applications AOP21, AOP22, AOP23 and AOP24, and wherein first application grouping AOP21 is reference packet, and the application of three back grouping AOP22, AOP23 and AOP24 are increments. Last increment has time-stamp t8. The state of AOS 2 so description object 2 is until playtime t8. 3 of AOS on Fig. 3 comprise one with reference to application grouping AOP31, and this is enough for description object.
Allowing new client computer to begin according to the preferred embodiment, to use access server and can estimate needed increment bandwidth before this applying broadcasting, guarantee that this bandwidth is available in network. Know technically for accomplishing the method for this point. If do not predict capacity problem, then do not need this step.
Fig. 4 shows the embodiment of the computer that moves according to client computer of the present invention just thereon. Computer comprises processing unit 101, and working procedure for example is according to application program 103 of the present invention therein. Processing unit is also communicated by letter with using the access server (not shown) by means of communication software 105, and may with network in other unit communication. Application program 103 is communicated by letter with communication software 105 by network application interface 107. The network application interface has for the function of sending and receiving from the application data of application program.
Computer comprises that also screen 109 is be used for to show the relevant data of using total looks of the part of immediately interested game of participant (for example, to). In order to input data to using, computer can have keyboard 111, mouse 113 and/or be connected to the pick-up sticks 115 of computer, and by means of them, the object in the game can be moved, and maybe can input the change of other type.
By communication software 105 and network application interface 107, use 103 also from the application state information of relevant other object of game access server reception, it is processed, and the result is presented on the screen 105.
In the present embodiment, network application interface 107 comprises two parts: use maintenance interface 107A and use access interface (AAI) 107B. This solution is selected to start the use to standardization program module (such as the DirectPlay of Microsoft), in order to implement network A AI 107B, as discussed below.
Application access interface (AAI) 107B is the software module at the client terminal place. It is the intermediate module between network interface and network AP I 107A. Use access interface 107B reception and the grouping of termination application and control message, and before application grouping useful load is sent to network application interface 107, remove the application packet header. It is also translated control message and they is sent to API 107A, or directly processes them. AAI 107B processes for the needed function of communicating by letter with the application access server, plays impracticable function in client applications. So it is not necessarily necessary for the client computer that is developed for according to application access server of the present invention. For example, AAI can control clock, so that time-stamp is arranged in the application grouping, if client computer does not have the function of this respect.
In updrift side, AAI 107B receives message and the object from API. Data from application client computer, relevant are transformed into the application packet format. Application is grouped in and is sent to the application access server on the communication link.
AAI 107B also produces upstream application controls protocol message, particularly application controls agreement reservation message. Must from use, extract by network AP I for setting up the needed information of reservation and other application controls protocol information, and from the urgent list message of using access server, extract.
Actual client computer (for example game console) can participate in several game, or the several players of reception in same game. Each practical application client computer can be moved several Logic application client computer, and wherein the Logic application client computer is used example corresponding to being connected to of using the access interface example. Application client in this file is corresponding to the Logic application client computer. Network address of pointing to the Logic application client computer can comprise the IP address with the combined physics client computer of the port numbers of using access interface.
If when developing application, consider to use access server system, then can reach best performance. The function of reservation that be used for to determine the preferred order of expression receive data can be included in application program. If see that from operating situation the player of reception can not predict the high priority of message, the message person that can directly send the common game to high urgency then. For example, consider a kind of situation in the game, wherein player 1 stands facing each other with player 2. Suddenly, player 2 is subject to player 1 attack, and does not do any warning. Player 2 can not arrange the correct priority from player 1 message, but player 1 can send the emergency message of height to player 2.
For developing network API, for example, can use the DirectPlay API of Microsoft. Then, need AAI to come Formatting Output, such as ACP and AOP, and can be write as DirectPlay service supplier.
By using the DirectPlay API of Microsoft, has the mode of two kinds of different extraction reservations at least. Notice that reservation should show that local participant receives the priority of the renewal of the relevant application of enumerating. " player " was identical during application in presents and DirectPlay explained because DirectPlay " player " be can sending and receiving message application entity. DirectPlay " player " can be controlled by the player, or it can be autonomous game object.
In first method, use the information that from the method for reseptance of DirectPlay, obtains. By DPRECEIVE_FROMPLAYER sign and regulation lpidFrom parameter suitably are set, the method can be retrieved the first message from " player " that identified by the lpidFrom parameter. This information can be employed access interface and make to make reservation. If in the DirectPlay message queue, do not come the message of " player " of tagging available, then reasonably identified application is placed on the top of priority inventory.
In the second approach, use the sending method of DirectPlay, idTo parameter sign should receipt message therein " player " or player's group. Can reasonably suppose: " player " who receives frequent message and local game person be current, and to carry out with it mutual application relevant. AAI thereby can preengage " player " by idTo parameter sign.
Fig. 5 shows the example of the communication stack that can be used according to the present invention. Communication stack be used in all client computer as shown in Figure 4 with use communicating by letter between the access server. In fact client computer and application access server comprise the storehouse of same type. At the client computer place, the application access interface layer 10 of top and Fig. 4 of storehouse is communicated by letter, and is using the access server place, has shown that also storehouse communicates by letter with the application access server software. Fig. 5 is also shown in the communication stack that uses between another unit of using access server and network. This another unit can be the Another application access server or use the reception hall server. Employed communication stack is deferred to osi model.
The client communication storehouse is communicated by letter with the API 107 at client computer place. The highest level of storehouse is ACP/AOP layer 109. This rank is processed by the application access interface 107 on Fig. 4.
Comprise such as the information of application data or the ACP/AOP grouping of subscription information and be sent to link layer 111 from ACP/AOP layer 109. Link protocol can be PPP for example. In the opposite direction, ACP/AOP layer 109 is removed heading message from the information block of using the access server reception, and application state information is forwarded to client application. The ACP grouping can terminate in the AAI place. If client computer comprises that then reservation itself can be processed by client computer itself for the treatment of the function of reservation.
Lowermost layer is channel layer 113, and it comprises chnnel coding and actual physical connection.
Use access server in fact comprise for the storehouse of the same type of client communication: channel layer 113 ' is corresponding to the channel layer of client computer. Channel layer 113 ' is connected to AOP/ACP layer 109 ' by link layer 111 '.
The AOP/ACP layer 109 ' of using in the access server is directly communicated by letter with the application access server software 115 that is arranged to process AOP and ACP information.
Use access server and may be constructed such interface with the many different client link agreements of whereabouts. Ideally, use access server and should process any link protocol, comprise UDP, TCP and RTP. RTP is in particular transporting speech and video data and the agreement developed.
Link protocol should be designed such that to remain low from using access server to the agreement additional overhead on the link of client computer. This can be by for example using suitable link protocol (wherein not using IP/UDP/RTP) or finishing by effective IP/UDP/RTP header compression. Link layer should further reduce the stand-by period, and the information of character that relevant link is provided is to using access server. Such information can comprise bandwidth, the bit error rate and the link stand-by period of expection.
Suitable delivery protocol (referred to herein as using delivery protocol ATP) should be used on the link, but application grouping and application controls grouping information also can directly be sent by link protocol.
For the communication between two or more application access servers, the IP stream of packets is used access server from this locality output state 65 (seeing Fig. 2) is sent to one or more far-ends application access servers unit of participating in ongoing application. Each IP grouping comprises TCP or UDP grouping, and TCP or UDP useful load are to use delivery protocol (ATP) grouping.
The higher protocol layer that is used for the communication stack of the communication between two application access servers is to be similar to the sort of AOP/ACP layer 117 that uses at the client communication storehouse. The application grouping can be quite little, namely, and about 40 bytes or less. For so that the communication between two application access servers is more effective, several application packet aggregations are used in delivery protocol (ATP) layer 119 at one. Next layer is TCP or UDP layer 121, and lowermost layer is IP layer 123, and these two layers 121,123 are known in this area. Information block is sent to far-end from the IP layer and uses the access server unit. Output state unit (65 on Fig. 2) keeps a group categories buffer, is used for collecting the application grouping that will become the ATP useful load. The structure of these buffers depends on Distribution Strategy. Use access server for each far-end a classification buffer can be arranged.
The application grouping can comprise a territory that is used for listing the client computer that should obtain upgrading. This territory is transformed into those lists that should receive the application access server unit of application grouping. Use access server and keep a table, it so that Number of Clients and application access server number be complementary. This means that all relevant application access server unit obtain upgrading the most at last. Use the local client computer that then the access server unit is assigned to application them. Simple optional mode of operation is: all application access server unit receive all application datas.
Local application access server is identified those need to use the application grouping that the access server unit is sent out by far-end. This locality is used the application state receiver of access server thereby is carried out scanning, thereby can search out the application grouping with new_client_data (New Client data) sign. The application packet header comprises that the recipient organizes the territory, and it lists one or more client address that the application grouping should be sent to. This recipient organizes the territory and is verified. Client address is converted into far-end and uses the access server address, and the copy of application grouping is placed on corresponding to the recipient and uses in the classification buffer of access server unit. This recipient organizes the territory and is updated for each application grouping copy, like this, only belongs to the application access server of reception or recipient's client computer of application access server group and just keeps. The new_client_data sign is reset.
The application grouping comprises the useful load of using from game. Use access server system and can not read the inside useful load form of game. So such message is packetized in the application grouping (AOP). The title of AOP can be employed access server system and read. It is used for adding those for the needed information of timely transmission game useful load.
Among the embodiment that discusses, except standard internet protocol (such as IP, TCP, UDP and RTP), also use three nonstandard protocols here:
Application grouping (AOP) is the container for game data. Use all data that send to far-end game client machine or server from game and be packetized in the AOP, like this, it can be employed access server system and process.
Application controls agreement (ACP) is used for transmitting control message. Control message sends between application access server unit, client computer and application reception hall server.
Use delivery protocol (ATP) and be used in the game data of using between the access server unit and optionally also between application access server and client computer, sending gathering.
The application grouping comprises the message of using from game. Use access server system and can not read the inside story form of game. Such message thereby be packetized in the application grouping (AOP). The title of AOP can be employed access server system and read. It is used for adding those for regularly transmitting the needed information of game useful load.
Application message is the state of given application object intactly, or they replacedly describe application with respect to reference state. AOP thereby have two types: reference packet (BP) and increment groupings (IP).
The application grouping comprises title, and the specific useful load of game is followed in its back: the title field that can be used in AOP comprises:
(1) application number.
(2) time-stamp is used for the time that expression is played when AOP is produced.
(3) optional packet numbers. By combined with object number and time-stamp, it creates the identifier of the uniqueness of grouping. Packet numbers only just is used when the several AOP that belong to same game object have identical time-stamp.
(4) if speech and or video information can be sent out, can comprise then whether expression grouping comprises the sign of such information.
(5) expression AOP is reference packet or the sign of increment groupings.
(6) if AOP increases progressively, then pointed is with reference to AOP. This pointer can comprise time-stamp and with reference to the grouping number of AOP. Can be basic AOP or increment AOP with reference to AOP.
(7) record of client computer that should receipt message be used for to be described. This can be by listing client computer or using predetermined group of clients to finish. Default is all client computer receive datas. Urgent territory is relevant with client computer or the group of clients of each reception. Whether this territory is used for reminding this message of receiver urgent. Three urgent titles will be enough.
The sign that can be arranged on emergency region is:
Forbidden:AOP should not be distributed to client computer or group of clients
Fair_Play: use just game mode (below seeing)
Very_Urgent: surmount client computer priority
Urgent: client computer will be alerted
Normal: transmit according to client computer priority
Not_Urgent: transmit the most hand and foot
Simple form can be:
<number of entries><client 1><urgency for client 1><
client
2><urgency for client 2>...
The project of back surmounts the project of front in tabulation. This territory:
2,all Forbidden,client_3 Urgent
Referring to that all client computer are under an embargo receives AOP, except the client number 3 that will obtain AOP in emergency mode.
(8) scale of useful load
Application controls agreement (ACP) is used in game client machine, application access server unit and uses between the reception hall server (ALS) and transmits control message. The overview of ACP here is provided. Each ACP grouping comprises title and message body.
ACP message can comprise following territory:
(1) ACP type of message.
(2) time-stamp, expression is the time in the game when message is produced.
(3) scale of message.
(4) message body.
Notice that message source is identified by higher protocol level. Below, can be by the message of using ACP to send with general introduction.
Can comprise following items from client computer to the ACP message of using access server:
The termination client computer. Use the removal of access server management system from the client computer of all records, and notice is used reception hall server (ALS). Client computer is responsible for notifying ALS: whether it is leaving game. ALS is responsible for finally contacting with the client computer of termination with notifying other player by sending last score.
Reservation.
Add game object. New game object number produces by using access server, and uses the access server memory and be allocated for the Obj State information that receives from client computer.
Remove game object. After all client computer and far-end were used the access server unit and received a renewal, this object was removed from all application access server memories.
Transmission is for the stand-by period of the estimation of object. This request comprises object number inventory. The application access server is made for the end-to-end stand-by period of the estimation of object by transmission and being replied. Client application is used for hidden valuation of stand-by period.
The defining objects group. Group of objects is for those otherwise be useful during the name that the object number inventory of the length that must be sent out in client link is lacked. Direct-Play processes hierarchy " player " group, and like this, game API can provide the group definition of usefulness. Use access server storage object group information, and as treating group of objects for the alias of object inventory. Message can have following form: type of message=defining objects group; 〉<object group name (group of objects title)〉<list of object (object inventory) 〉
The definition group of clients. Group of clients is for those otherwise the client computer number inventory of the length that must be sent out in client link in the AOP territory is useful when short name is set. Use access server storage client group information, and as treating group of clients for the alias of Client Inventory. This message can have following form: type of message=definition group of clients<client group name (group of clients title)〉<list of client (Client Inventory) 〉
The transmitting time reference. This message is used for downloading the reference time from using access server.
ACP message from the application access server to client computer can comprise following items:
Urgent inventory. If the urgent AOP that does not read waits for that this message is used for reminding client computer. Use access server and scan the AOP that does not read with present client computer all on AOP recipient inventory. Urgent inventory can have following form:
<urgency class 1><list of object numbers (object number inventory);<urgency class 2><list of object numbers>Deng
Stand-by period is estimated. This comprises the project team according to following form:
<game object number (game object number)><upstream latency><upstream latency variance><downstream latency><downstream latency variance>
" do not know " that symbol can be used in any territory (except the first territory).
Confirm the group of objects number. Use access server and receive " defining objects group " message from client computer. It confirms that whole group of objects numbers are assigned with. Message body will comprise:<global object group number〉<client ' s object group name 〉
The simple method that is used for distribution object number will be:
The sum of supposing N application access server unit is effective. Count all effective application access server unit. If use the object number that access server k please look for novelty, it from sequence k, N+k, 2N+k, 3N+k ... } and in distribute minimum free object number.
Confirm the group of clients number. Use access server and receive " definition group of clients message " from client computer. It confirms that whole group of clients numbers are assigned with. Message body will comprise:<global client group number〉<client ' s client group name 〉
Be used for distributing the identical algorithm of whole group of objects titles can be used for distributing the group of clients title.
Clock synchronous. Use access server according to the reference of following formula transmitting time:<client time 〉=<time 〉+<client link latency 〉
Client computer has an algorithm that is used for regulating according to a series of receive clock synchronization messages local clock.
ACP message from an application access server to the Another application access server comprises:
The reservation of set. The priority inventory of set shows that those belong to transmission and use the object that the client computer of access server need to be seen, namely, the object of access server is used in the transmission that those its information should be sent out. This inventory has the form identical with simple client computer priority inventory. It is to make up by adding all legal local client computer priority inventories and removing the content that repeats.
Resend request. This message has the form identical with simple priority inventory, and is interpreted as the request for the state that resends the object of listing.
The defining objects group. The group of objects definition can be distributed on uses between the access server. Use helps to reduce portfolio for the completely title of the inventory of the length of object number.
The definition group of clients. The group of clients definition can be distributed on uses between the access server.
Comprise to the ACP message of using the reception hall server from using access server:
Client computer is terminated. This message is sent out when game disconnects voluntarily in client computer.
Client computer is overtime. If client computer is if that the link of mourning in silence or lead to client computer is closed within the long time, uses access server and can send a message to ALS. This ALS determines another action, such as remove this client computer from game.
ALS can play the effect of client computer. ALS can control the game object of the score that keeps game. Then the port of ALS is connected to the AAS as the client computer of using " link " agreement (such as TCP/IP). ALS thereby can use the message identical with client computer. Other ALS or AAS message here are listed:
Information is set up in application, and it comprises
The network address that comprises the portal number that identifies ALS.
Identify uniquely the URL of game.
Other that attends a game used the IP address of access server unit.
Comprise the inventory for the network address of the application port number that identifies client computer.
The inventory of the game object of optionally, having enumerated. For each object, stipulate which uses access server and be responsible for storing this state. Can stipulate also who licensedly removes to upgrade this state.
Optionally, stored initial game state.
The data of optional regulation control strategy (such as overtime).
Use access server in the interpolation. Stipulate the network address, number and the Client Inventory of new application access server.
Remove and use access server. Regulation is wanted the number of removed application access server.
Add client computer. This comprises the network address of new client computer; Optionally, by the original state of the new game object of new client computer control.
Remove client computer. Use access server system and from game, remove client computer.
The client state of having revised. The authority of this message alteration client computer control game object or client computer interrelated from different application access server. Form can be:<client number (client number)〉<application access server number (use access server number)<object number (object number) wherein object number represent the game object by client computer control.
Use delivery protocol (ATP) and be used for delivery application Object group (AOP) and application controls agreement (ACP) message. ATP has a series of AOP and the ACP message in useful load, and mainly is used in the data of using transmission gathering between the access server unit. Use the access server unit typically by using protocol stack IP/UDP/ATP communication. ATP thereby be in the logical level identical with Real-time Transport Protocol.
The ATP title comprises:
The URL that is used for the sign game.
AOP the earliest or ACP time-stamp.
AOP at the latest or ACP time-stamp.
The number of AOP and ACP message.
ATP only is used in usually in the communication of using between the access server, just as shown. If be enough large in client computer with the bandwidth that is connected between the application server, then it can be used in these connections.
Traditional agreement (such as TCP/IP with or UDP/IP) be used in and use reception hall server and other and use communicating by letter of access server unit. Because below, TCP/IP should be used for setting up game and UDP/IP should be used for sending the real-time game data:
Use for game, TCP resends and record is too slow and too complicated.
The TCP rearrangement may postpone the transmission to nearest renewal, in order to transmit too old data. Obviously be to waste very much to the resending of data that no longer need. Use the access server unit and know accurate priority, and if necessary, can ask to resend from several sources.
RTP can be used for the transmitting time marking, but RTP is designed to audio and video stream, and not too is suitable for game data stream. Yet RTP can be used for carrying and the relevant audio and video stream of playing.
" just game mode " also can be implemented in system. Under this pattern, use the access server unit transmission of the application message of key is carried out synchronously, like this, these renewals are received simultaneously by all relevant client computer. This pattern can be used in various contests.
Using the reception hall server judges when setting up application: whether just game mode is available. If allow just game mode, the client computer that then sends is judged for the AOP of each transmission: whether should use just game delivery. This is to finish by the Fair_Play sign is set in the urgent territory of AOP. Using access server system is responsible for AOP " side by side " is delivered to all client computer now. This requirement surmounts all other client computer priority.
Possible technical solution for this point is " bucket (bucket) is synchronous " method. Use the access server unit and as one man come more New Client with fixing absolute time-delay. Those renewals that early arrive must be waited for consistent time slot. This method has the shortcoming of total time-delay of increase system. Just game mode replacedly should be used for processing by game. Under this pattern, client application is applied to consistent time-delay on the game data of reception by the time-stamp that uses each game object, thereby should be delayed time how long just can obtain consistent absolute time-delay in order to calculate grouping.
Fig. 6 shows another embodiment according to application access server 150 of the present invention. Except said here, this embodiment is similar to embodiment discussed above. In the present embodiment, the communication function of using access server is divided between one or more application routers 152 and application server 154. Application server 154 comprises application state record 155 and client computer priority inventory 161, such as what describe in conjunction with Fig. 1. Application router 152 is communicated by letter with one or more client computer 170 by client application DLL API 172 (this will discuss in more detail below). Each is used access server 150 and comprises an application server 154, and the latter serves one or more application routers 152. Application router 152 also with network in other node (such as with the application router (not shown) of using at other in access server) communicate by letter. Preferably, application server 154 and application router 152 are implemented as hardware cell separately, so that its each specific function optimization with respect to them. Alternatively, they can have the processor resource that separates of having distributed to them. Particularly, application router must interruptedly not move, because interruption can affect the real-time performance of client application negatively.
Just as before, the application access server that is connected with client computer is that access server is used in this locality of this client computer, and client computer is the local client computer of this application access server. Similarly, serve the application server of client computer and local application server and the application router that application router is client computer.
Application server receives the ATP grouping (below seeing) comprise basic object by application router and from the control message of client computer. Processing by the application state database that basic object is placed on it before the basic object, whether the client computer that the application server check sends is allowed to upgating object. If disapprove this client computer upgating object, then object is rejected, and the client computer that sends may receive wrong message. Before control message processing, whether the client computer that application server check sends is allowed to ask the operation that is instructed to, and if do not have, then refuse control message and randomly the error message transmission returned to the client computer that is sending. Consider the situation when the client requests that sends is deleted a group of objects. This group can be created by content server, and it is special client computer, be in charge of game state and by standard client computer API with use access server and communicate. Content server is uploaded authentication rules to the game access server of forbidding client computer deletion group of objects. In this case, application server will be refused the control message of that request deletion group of objects.
This legitimacy check is by carrying out with the authentication rules table, and the authentication rules table shows the kind of the operation that client computer is allowed to carry out. The authentication rules table by client computer or control module by setting up with initialization files.
Do like this if client computer is licensed, just request creates group of objects. Client computer also can be added the member, be removed member and deletion group of objects. The member of group of objects is object or group of objects. Request for any such operation of group of objects is sent out as control message by client computer, and these control messages are broadcast to all application servers of this process of participation by application router. Group of objects is by the identifier sign with form identical with object identifier. Each application server comprises group of objects database 162, and it is stored in the group of objects that creates during the process for each application process. Group of objects database 162 is stored following territory at least for each group of objects: (1) group of objects identifier, the member list of (2) group of objects, female member list of (3) group of objects. Female member of group of objects A is the group of objects that has as its member's group of objects A. Object database is organized into and is the object database among the previous embodiment, but for each object, have one for to as if female member's group of objects list.
Use the part that object that access server receives should consist of application state from client computer with from other, this state is forwarded to application server 154 from application router 152, and is stored in application state record 155. Be forwarded to application server 154 from client computer with from other subscription information of using the access server reception, and be stored in the client computer priority inventory 161.
So a site comprises a site manager and a plurality of application access servers 150 of being controlled by a site manager 174. The main task of site manager 174 is the load of authentication, the time synchronized for the site, network management and application server and application router of configuration, license control, client computer of connection management, client computer connection, resource management, application server and router and the supervision of state.
The site manager optionally receives uses delivery protocol (ATP) grouping, wherein comprises the control message from client computer. Should be pointed out that ATP in the present embodiment is different from the ATP that describes among the former embodiment, and will be described below. Before control message processing, SM check: the whether indicated operation of licensed request of the client computer that is sending, if disapprove, then control message is rejected, and the client computer that is sending receives optional error message. This legitimacy check is by carrying out with the authentication rules table, and the authentication rules table shows the kind of the operation that client computer is allowed to carry out. The authentication rules table by client computer or reception hall access server 178 by setting up with initialization files.
One or more reception hall access servers 178 are provided to be connected to application reception hall server 176, one or more reception hall access server 178. Using the reception hall server comes into question in Fig. 2. Reception hall access server 178 is connected to site manager 174. The reception hall access server is processed the game process request from the reception hall server, and arrangement and management game process. This comprises login and authentication and the charging of reception hall server. It also is saved in database to the information about game and reception hall server. The central control unit (not shown) can be used for supervision and keep the application communication system.
The application communication system comprises one or more interconnected sites and reception hall access server. The central control unit (not shown) can be used for supervision and keep the application communication system.
Reception hall access server 178 can comprise or be connected to database 180, the latter comprises the information of the relevant application reception hall server that exists in network, which uses the reception hall server such as be allowed to client computer is added to specific permission or specifically used access server. Use reception hall server 176 and can comprise or be connected to database 182, the latter comprises client data, such as the authentication data for each client computer.
Communication between the application server of site manager and its control comprises to be added and the removal process, and adds from process and the removal client computer. Communication between site manager and application router comprises and above identical part, and permits for the login of client computer. In addition, error message sends to the site manager from application server or application router.
Preferably, local application router 152 can be processed data flow object and the basic object that other unit from client computer, other application router or network receives. Client computer sends to the local access server of using with a copy of each renewal of basic object. Object comprises the state of player's incarnation. Basic object is forwarded to relevant application servers all in the process. Be stored in the application state record of relevant application server from client computer or other basic object of using the reception of access server unit by application router. Want the player of receive data flow object to local application server issue reservation. Application server upgrades according to a series of objects that the parameter of preengaging sends from local application state. The data flow object is not stored in the application server. Basic object and data flow object will discuss in more detail below. Application router is from client computer, local application server, from other application router and optionally receive from local site manager and use delivery protocol (ATP) grouping. The ATP grouping is transferred by other procotol (such as UDP/IP). Other application router is far-end (belong to far-end and use access server) or local (belonging to the application access server identical with application router). The ATP grouping that receives has three kinds of different types: the basic object in application grouping (AOP) and data flow object, the control data in application controls grouping (ACP) and the client communication in client communication grouping (CMP). ATP grouping is deleted to be fallen, and perhaps is sent to client computer, application router, the local application router that is receiving or is sent to local site manager by Unicasting or multiple access. Different routing conditions are displayed on the table. Those control packets that are addressed to the application router that is receiving will be terminated and not be routed.
The routing table of display application router in the following table:
The ATP grouping that receives | Be routed to following node | Compulsory (M)/optional (O) | Explain |
Data flow object from client computer | The local client computer of reservation data flow object has all other application routers of other application router specific client computer (if any) in the optional address field of AOP of the client computer of reservation data flow object. Remote client is arrived by their local application router. | M M O M | The bandwidth that the special example direct addressin of enforcement need to be larger than reservation easily, and should be used frugally. |
Basic object from client computer | The client computer (if any) that local application server is stipulated in the optional address field of AOP. Remote client is reached by their local application router. | M M | |
Client communication from client computer | The client computer of in the address field of CMP, stipulating. Remote client is reached by their local application router. | M |
Control packet from client computer | The local site of the local application router of local application server manager | O O O | The character that depends on message |
Basic object from local application server | Client computer in the address area of AOP regulation. The far-end application server of in the address field of AOP, stipulating (by their application router). Propagate optional all the far-end application servers in address by multiple access. In the address field of AOP, stipulate, preengage the remote client of object (by their application router). | M M O O | But special example very expensive distinctive example that game state is well limited at any given time aspect bandwidth of implementing easily. |
Control packet from local application server | The client computer of in the address field of ACP, stipulating, local site manager, far-end application server or far-end application router. |
Data flow object from application router | Client computer and the application router (if any) just in the optional address field of local client computer at AOP of reservation data flow object, stipulated. Remote client is arrived by their local application router. | M M | |
Basic object from application router | The client computer (if any) that local application server is stipulated in the optional address field of AOP. The far-end application server (by their application router) of in the optional address field of AOP, stipulating. | M M M | |
Control packet from application router | The client computer of in the address field of ACP, stipulating, local site manager, far-end application server or application router. | M | |
Control packet from local site manager | The client computer of in the address field of ACP, stipulating, this locality or far-end application server or application router. | M |
The data flow object is not stored in the application server. Client computer typically is used for them to send mobile project in the position of virtual world. They can be carried in network very rapidly. Only have the nearest version of data flow object to be assumed that to the client computer that is receiving be important. The data flow object is processed insecure typically because they can be removed modestly by the application router that is used for flow process control. The all data flow objects that received by application router are forwarded to all local client computers that reservation data flow object or reservation comprise the data flow group of objects of data flow object. Application router 152 also comprises for the priority of data flow object or subscription information, because these objects are not employed server process, as what below will discuss.
Typically, the client computer of wanting to participate in application process (for example specific ongoing many players process) is connected to by the internet uses reception hall server 176. Use the reception hall server information of relevant ongoing application process is provided, and usually also allow the new process of client computer establishment and invite other client computer to participate in. Client computer can send a request to using reception hall server 176, in order to create, delete, participate in or leave application process. Accept any such process control request if use the reception hall server, then it is forwarded to reception hall access server 178 to request. If request creates a process, then reception hall access server 178 is replied by sending the application process identifier. For such as request deletion process or interpolation or remove the such request of client computer, use reception hall server 176 the application process identifier is included in the request that is sent to reception hall access server 178. Whether reception hall access server 178 can provide the resource that is matched with requested operation to be used as replying it with investigation in using access server system. If resource is available, then reception hall access server 178 will be carried out the operation of request.
If request creates a process, then reception hall access server 178 will be selected one group of site of serving this process, and the control message that transmission comprises process identifier is to relevant site manager 174, so that request is initiated these processes at suitable application access server 150.
If process of request deletion, then reception hall access server 178 comprises transmission the control message of process identifier to the site manager 174 of the site of moving this process, this process of request deletion.
If requesting clients is participated in, then use reception hall server 176 at least the network address of client computer 170, process identifier and randomly the site identifier be included in the control message in order to deliver to reception hall access server 178. The network address can be the portal number of IP address and client application processing procedure. Reception hall access server 178 is selected suitable site and control message is sent to the attend a game site manager 174 of site of process of that requesting clients 170. This control message comprises the network address and the process identifier of client computer 170 at least, and this control message is delivered to the site manager 174 of this site. The site manager is chosen in suitable application access server in this unit of being responsible for serving client computer and suitable application router, and transmits control message to client computer, invites client computer to attend a game. The network address and the password that will serve the application router of client computer are included in this message. The relevant application access server 150 of client computer 170 contacts is included in password in the control message. Use access server 150 client computer 170 is included in the local client computer database, and client computer can be carried out the sending and receiving game data.
Alternatively, site manager 174 can send to reception hall access server 178 to the network address of the application router 152 that will serve client computer 170, and reception hall access server 178 will be forwarded to application access server 150 to the network address and password. Use reception hall server 176 and will be forwarded to the network address and password the client computer 170 of request aforesaid, that interrelate with relevant application access server.
Although not Display Register, software processing etc. on Fig. 6, it will be apparent to those skilled in the art that to need them to implement application access server of the present invention.
Compound ATP grouping comprises the ATP grouping of a source title and several routines. The source title comprises following territory:
(1) application process identifier.
(2) the client computer identifier of the client computer that sending of expression.
The optional territory of (3) being used by agreement, be used for guaranteed transmission is comprising Acknowledge and classified counting.
Conventional ATP grouping (in following being also referred to as " ATP grouping ") comprises the title that ATP title, ATP choose wantonly, optional ATP target title and ATP content packet.
The ATP title can comprise following territory:
(1) type field, it is a group mark, the type of denoting contents grouping and the existence in optional territory in content packet. The content packet type is control message, client communication, basic object or data flow object. The recipient of the expection of this message can be expressed in type field.
(2) expression ATP grouping is to go back the sign that sends under the reliable pattern of right and wrong reliably actually.
(3) whether expression exists the sign of target title.
(4) represent the existence of the title that ATP is optional and a group mark of content.
(5) territory of the size of denoting contents grouping.
The optional title of ATP comprises following optional territory:
(1) process identifier.
(2) client computer identifier.
(3) object identifier.
The optional title of ATP is used for the sign content grouping. The application useful load relevant with basic object can be sent out in content packet. The relative addressing system that the optional title of ATP is used for the following describes by utilization identifies basic object.
ATP target title TH is used for direct addressin ATP grouping. The ATP address of receiver is indicated in the ATP target title. Primary importance among the TH is the byte that keeps the size of TH. TH comprises a series of dynamic address territory (it is the client computer identification list, the recipient of the expection of expression message, or data flow object key inventory). Key be can be arranged by the sender, the data flow attribute. Client computer can be preengage those data flow objects that carries specific key, and needn't know the object identifier of the data flow object of wanting. In the game as Quake, the data flow object in the room that key can be used for selecting belonging to different. The data flow object is used for sending the position of incarnation in game. Key is assigned to each room in the game. The player who is sending the data flow object adds the key in the room that is positioned at corresponding to incarnation wherein. Just the player of receive data by the key reservation data flow object corresponding to their interested room. The data flow object key replacedly is used for identifying a team or is used for object is classified, and for example is categorized as dangerous. The data flow object filter device of using in the access server in this locality receives the player for the reservation of data flow object key and guarantees that the player obtains the data flow object by the key of request.
ATP content packet (CP) can have with any type in the Types Below: (1) basic object, (2) data flow object, (3) control message (4), client communication. Basic object, data flow object and client communication CP comprise the application useful load. Control message comprises type of message and message parameter. The form in application controls agreement regulation type of message territory and the parameter of each message.
Process identifier, client computer identifier and object identifier are the dynamic address territories, as what the following describes. Group of clients has respectively the identifier form identical with client computer and object with group of objects.
Following title and definition are used in the presents. The application grouping is the ATP grouping of the application in the content grouping. The application controls protocol packet is the ATP grouping of the control message in the content grouping. The process that sends basic object, data flow object or client communication always means the ATP grouping that sends with the content packet of suitable type. The client communication grouping is to comprise the ATP of the client communication in receiver address and content packet grouping.
The example of ATP usage comprises following situation:
(A) client computer is sending basic object to local application server. Object identifier rather than client computer identifier or process identifier are placed in the optional title of ATP. Do not need ATP target title. The object useful load is placed in the content packet. Optional title and the use in dynamic address territory mean that the title additional overhead may diminish to four bytes. This is important, is sent out because object usually connects by low bandwidth.
(B) client computer is sending client communication to another client computer. Object identifier is placed in the optional title of ATP with the client computer identifier that sends to client computer. Do not need process identifier. Used the object title of the client computer identifier that comprises the client computer that is receiving. The message useful load is placed in the content packet. Input filter at the application router that sends a side adds process identifier in the object title to. Before forwarding a packet to the client computer that is receiving, remove process identifier at the output filter of the application router that receives a side.
ATP uses the dynamic address territory. The dynamic address territory is the variable length prefixes code. Prefix code is that each code domain is can be uniquely decoded and need not be with reference to the code of previous code word in a kind of wherein bit stream. Simple example be figure code 10,110,1110 ... }. The Huffman code is for the best of the given statistical distribution of symbol (the shortest expection length) prefix code.
The another kind of form in dynamic address territory is the dynamic dimension integer. The dynamic dimension integer is known in computer science. It is that prevailing but large numerical value is must be possible the time that the dynamic dimension integer is used in no matter when little numerical value. For 2-byte dynamic dimension integer, the size of highest order explanation integer, 1 refers to a byte, and 0 refers to two bytes. For 4 byte dynamic dimension integers, size, byte of 01 finger, two bytes of 10 fingers, 3 bytes of 11 fingers and 4 bytes of 00 finger of two highest order explanation integers.
The dynamic address territory can be used according to one of following two methods:
In first method, ATP has for the territory of three different identifiers (1) application process identifier, (2) client computer identifier, and (3) object identifier. Application identifier is that the overall situation is unique, and is distributed by central authorities (such as network manager or reception hall access server). Each client computer, application router, application server and randomly the site manager have the client computer identifier, and be called as below node. The group of clients identifier has the form of client computer identifier.
The client computer identifier is unique in specific application process only. Central authorities (such as reception hall access server or central control unit) distributes the client computer identifier. The client computer identifier only just identifies this node when the application process identifier is known. ATP is stored in dynamic domain to the client computer identifier. Each node in the application process is assigned with the client computer identifier with the least possible bit. The client computer identifier of usually using can be assigned with the shortest code according to Huffman coded program process.
Object identifier is unique for the given client computer in the given process. Client computer distribution object identifier. Object identifier only just identifies this object when being known in process identifier and client computer identifier. ATP is stored in object identifier in the dynamic domain. Each object is assigned with the object identifier with the least possible bit. The object identifier that often uses can be assigned with the shortest code according to Huffman coded program process.
The second method is except following difference, and is identical with the first method. The client computer identifier comprises two dynamic domains. The first territory is the identifier of serving the application router of client computer. The second dynamic domain is client indices. This index is selected as lacking as far as possible, and when being known, is unique for client computer in given application process identifier and local application router client computer identifier. The client computer identifier of local application server alternatively can be used for replacing the client computer identifier of local application router.
Use the advantage of dynamic address territory and as described above relative addressing to be: bandwidth is used and time-delay is minimized. Only have relevant address field just to be sent out. The example of this respect is:
(1) client computer is only participated in an application process. The ATP grouping that contains from the object of client computer only comprises object identifier. Application process identifier and client computer identifier are not sent out, because application router is impliedly known it.
(2) contain the client computer identifier that the ATP grouping that sends to the object of client computer from local application server only need to comprise object identifier and have the client computer of this object.
(3) client computer that create new object are the distribution object identifier immediately. Fully the new object that is distributed in of concentrating of unique object identifier needs to communicate by letter with central authorities before can being created.
The group of clients addressing is processed in such a way: group of clients is identified by the client computer identifier in ATP. Identifier is by using and being created for the identical method of other client computer identifier. Ask to create group of clients by client computer during application process, perhaps the establishment of group of clients is to carry out as the initialized part of process.
Each ATP grouping comprises the type field in the ATP title. The character of type field sign content. Different coded representation contents is basic object, data flow object, control packet or client communication in the type field. Application router can be used for default route to type field in some cases, and needn't read and analyze address field. The example of the default route in based on kind territory is:
(1) all basic objects are routed to local application server. (2) control packet with a specific code in the type field is routed to local application server, and is routed to local site manager with the control packet of another specific code in the type field.
Fig. 7 is presented at the application router 152 that uses among the embodiment that discusses on Fig. 6, and how the ATP grouping flows through application router. Application router 152 comprises one group of input filter 190 and 192, router core 194, and one group of output filter 196,198. Application router has an input filter and an output filter for each node of communicating by letter with it. Router core 194 comprises a plurality of routing tables 199, is used for carrying out the route of ATP grouping.
Grouping comes from the source of three types: from the application server of same application access server, and other similar unit (for example site manager) comes from other application router; And from the application client that is connected to this application router. Has different routing table 199 for all three types. Enter filter 190,192 and filters 196,198 of going out for being connected with one to each of Another application router or application client. Connection for to application server does not need to input or output filter. Filter is implemented several application packet are assembled into transport data packets, and also resends for reliable grouping. Application client output filter 196,198 is removed the information of the redundancy on the client computer line, and also provides load balance for the downlink to application client 170.
The client computer 170 relevant with output filter or any other by the client computer of authentication, can send for the reservation of data flow object or the data flow object key output filter to the client computer that is receiving. Reservation is sent out as control message, the client computer identifier of the content of expression reservation and the client computer that is receiving. Output filter will scan the data flow object that arrives application router. The data flow object that is complementary with this reservation is sent to client computer, and this is after occurring in application Loss Rate (drop rate) mostly. If if the object identifier of data flow object equals object identifier given in reservation or the data flow object key that carried by the data flow object is complementary with data flow object key given in reservation, then data flow object and reservation are complementary.
Situation when consideration receives the data flow object when client computer (it is relevant with output filter) reservation data flow object with from the client computer that sends. By this client computer of authentication or any other client computer the Loss Rate relevant with given data flow object can be set. This Loss Rate is sent to local application router in control message. If Loss Rate is set to numerical value 0≤R≤1, then output filter will be deleted the data flow object of a part (R) modestly. If R=0.9 for example only has 10% in the grouping of arrival to be allowed to be sent to client computer.
Output filter will be deleted the ATP title field that does not need to be sent to client computer. In title, comprise the application process identifier and the client computer identifier of the client computer that receiving from the message of the direct addressin of another client computer. This information is otiose for the client computer that is receiving, thereby is employed the deletion of router output filter.
Receive the ATP grouping for the input filter of specific node (such as client computer), this wherein comprises data flow object, basic object, control message and from the direct addressin client communication of node. Before the ATP grouping is sent to routed core, carry out following operation:
(1) whether licensed update data stream object or basic object of input filter check client computer, or check sends that client computer is whether licensed to send to the client computer that is expressed to direct addressin message in message. This legitimacy check is by carrying out with the authentication table, and the authentication table represents which kind of operation of the licensed execution of client computer. The authentication table is set up by the site manager with initialization files by client computer or by LAS.
(2) input filter is added to suitable ATP territory to the address of the client computer that sends. This address not communication link between the client computer that is sending and application router sends, in order to save bandwidth.
(3) application router storage client group inventory. Such inventory interrelates the client computer identification list of the client computer identifier of expression group of clients with the expression client computer. The group of clients inventory is set up by the site manager by client computer or by LAS. If the ATP grouping with group of clients in recipient's address field is transfused to the filter reception, it will carry out one of three following interchangeable operations: (A) find the client computer identification list that belongs to group of clients. Find the number N of the application router of at least one copy that should receive the ATP grouping. Make N copy of the ATP grouping among the output filter that is placed on each application router that is receiving. Such sign can be arranged in the ATP title, and it represents that this content should not be assigned to any remote receiver, but only distributes to local client computer. This sign is arranged on each output grouping. This is preferred mode of operation.
(4) find the client computer identification list that belongs to group of clients. Find the number N of the application router of those at least one copies that should receive the ATP grouping. Make N copy of the ATP grouping in the output filter of the application router that is placed on each reception. Replace the group of clients identifier with the Client Inventory that is receiving in each grouping, wherein this inventory includes only the member of group of clients, and they are local client computers for the application router that is receiving. Copy the ATP grouping, replaced by the client computer identifier of a uniqueness so that copy middle group of clients identifier at each, this client computer identifier list is shown in a client computer in the client computer identification list relevant with group of clients.
(5) default title is transfused to filter stores, each the data flow object that is sending for use in the client computer relevant with input filter. This default title comprises the data flow object key relevant with the data flow object. If client computer sends an obvious title that comprises the data flow object key, this title will replace being transfused to the default title of filter stores. If client computer sends the data flow object without the title that comprises the data flow object key, then it added default titles on the data flow object to before router core input filter in transmission. This means that the client computer that is sending needn't send for each copy of data flow object a copy of data flow object key. When every secondary key changes and data flow object when being sent out for the first time, it is just enough to send the title that comprises the data flow object key.
Such content is carried in conventional ATP grouping, and this content is application (data flow object or basic object), control message or client communication. Compound ATP grouping comprises optional little compound title and at least one and normally several conventional ATP and divides into groups. Compound ATP grouping is sent out as the useful load in the standard delivery protocol. Common compound ATP grouping is sent out as the useful load in the UDP grouping.
The method that is used for collecting the conventional ATP grouping of compound ATP grouping is very important for the correct balance that reaches between bandwidth efficiency and low stand-by period. Large compound ATP grouping provides high transmission latency and low title additional overhead, thereby what provide is effective bandwidth usage. In several modules of this system conventional ATP packet aggregation in compound ATP grouping.
For the gathering that is used for sending to local application router in application client, can use the method for two replacements: in the first method, gathering is to carry out under the direct control of application program. Conventional ATP grouping is sent to output state. When the content of application program judgement buffer is placed in the compound ATP grouping and is sent to local application router. In the second method, gathering is to carry out by the automatic algorithms at client computer place. Conventional ATP grouping sends to output state by this application program. When the content of algorithmic decision buffer is placed in the compound ATP grouping and is sent to local application router. A kind of example of suitable algorithm is: if buffer size surpasses given size S, then composite packet is sent out. If surpassed given time interval T after the transmission of the last time of composite packet, then composite packet is sent out. Parameter S and T are by the application program setting.
For the gathering that in application router, is used for sending to client computer, can use the algorithm identical with the second method.
For the gathering that in application router, is used for sending to application router, normally effect is good by the maximum sized ATP composite packet of next protocol level (for example UDP) license in transmission, because the communication link between application router can be assumed that very quick, thereby conventional grouping is sent out very continually.
If Bandwidth-Constrained system or ATP grouping is not to be sent out continually, then for the gathering in the application client, identical algorithm in the method 2 with last joint is used in suggestion.
Size (in bit) should be selected as S<V*TO, and wherein V is the communication speed of the link between two application routers, and in the bit number of per second, and TO is the transmission latency that allows, and is generally 1-10ms. Time interval T should be at 1-10ms.
Client computer can send to local application router to the reservation for basic object as control message. Precontract object and the reservation parameter of the client computer that is receiving, reservation. Reservation is that the requirement application server sends a series of basic objects to the instruction of subscribing client. A series of renewals of each basic object are according to the parameter of reservation and how to upgrade it according to the source of basic object and send.
The client computer that the client computer of transmission reservation is normally receiving is preengage but client computer also can represent another client computer. Then all client computer just receive the result of reservation in group of clients.
The target of reservation is according to the one group basic object of ATP agreement by the object identifier sign. This object can be described by following identifier: (1) object identifier, (2) set of object identifier, (3) group of objects identifier, (4) set that mixes of object identifier and group of objects identifier, (5) general boolean's expression, comprising group of objects and as the object of operand and logical operator AND (with), OR (or) and NOT (non-). Correctly the regulation the object representation formula by application server by carrying out valuation with the information in object database and the group of objects database. The result of this valuation usually is a limited basic object set.
What kind of frequency how long the reservation parameter can be used for the content of regulation reservation will transmit, transmit how many times and transmission by. This can be defined as the maximum rate that the renewal version that should receive object is taked. If the owner of object upgrades it with slower speed, then each new version is received once transmitting at it. If object is to be updated faster than selected maximum rate, then these upgrade and will accurately be received with selected speed. Version in the middle of some will not be received in this case.
Content server or main client computer may be known the state of game best. So, by main client computer representative object client computer reservation basic object, may be fit to. Then main client computer is set up reservation and it is submitted to system. The local access server of using is directly passed to object client or object client group to the basic object of asking in reservation.
Reservation belongs to client computer or group of clients, and reservation refers to one group of game object. This group objects can be represented as the general boolean's expression that comprises group of objects and object.
Using access server unit (AAS) attempts to transmit object with reserve frequency. Passing time is the inverse of reserve frequency. The object that is present in the database when sending reservation will be passed in passing time. If the object in the effective simultaneously database of reservation is modified, then AAS will attempt transmitting it in passing time.
Reservation category is a positive integer. Two methods transmitting data according to reservation category are described here.
Method 1: have the reservation of high classification and at first satisfied fully. Then, AAS will attempt satisfying fully the reservation in the highest inferior classification. This means, may never be satisfied in this reservation of lower classification. If bandwidth not thereby can not be used for removing to transmit object in the reservation category with the frequency of request, then AAS is with the ratio of all frequencies in the conversion classification, so that become as being easy to pass to client computer.
Method 2: use three kinds of different classifications. Different classifications is called as the 1=height, and 2=is medium, and 3=is low. For classification 1, object always is sent to subscriber with maximum rate, arrives till zero until buffer is full of with rate reduction. For classification 2, the speed that object sends to subscriber is proportional to the buffer load. Capacity register is less, and speed is lower. For classification 3, object just is sent to subscriber when only not having other object in buffer.
In a specific embodiment, the application grouping can comprise several useful loads of having enumerated. In this case, reservation has optional weight factor parameter. The weight factor parameter is integer. Weight factor=n means that front n useful load in object is passed.
Some object be not routinely the time interval be updated, but be updated by accurate number of times. So, might ask the specific update times for specific object. The application server then count value relevant with object is set to an integer value of defined in reservation. When each object is passed, the count value unit that successively decreased. If count value=0, reservation is removed.
Client computer can send by the frequency of asking by request object, even sent in the past same renewal. This finishes by " forcing to send " FS sign is set.
In addition, make network over loading in order to prevent the information relevant with old reservation, time-to-live or the duration of reservation should be set. Arrive after date in the reservation time-to-live, reservation is removed.
The data flow object is by using following a kind of method to be assigned with between application router:
Method (1), the data flow object that is received by application router is replicated, and is sent to all other the application router that those participate in application processes. This can interrelate with IP multiple access propagation address by all application routers that those participated in application processes and effectively finish.
Method (2), each application router receives one group of reservation for data flow object and data flow object key there from local client computer. All such reservations are gathered a reservation of uniting that comprises all data flow objects that those are scheduled to by local client computer and data flow object key, and are not used as any copying. Data flow object (but not being the data flow object key that is produced by local client computer) will be removed from the reservation of concentrating. The reservation of assembling is sent to all other application router. One can receive from the reservation of the gathering of Another application router and finds that in the reservation of the assembling source of any data flow object and data flow object key is that application router in the middle of local client computer will send to this part reservation the application router of reservation.
Method (3), each application router is prepared the subscription group of a gathering as method 2. The reservation of assembling is sent to a female application router that has been distributed by the site manager. Female application router is preengage subgroup to available gathering and is delivered to first female application router, and this subgroup comprises and is sent to remainder female application router of being assigned with, in its reservation of gathering. This supposition management system has been organized structure hierarchy that is used for the application router of application process.
Basic object is distributed between the application server. Application server always reaches by its one of relevant local application router. When application server sent basic object to the Another application server, the first application server always sent to a local application router to the basic object with the identifier of the second application server in recipient's address field of ATP grouping. This application router will send to object the local application router of the second application server. The local application router of the second application server sends to the second application server to object.
Basic object is by using following a kind of method to distribute between application server:
Method (1), the basic object that is received by an application server will be replicated and be sent to all other the application server that participates in application process. This can randomly interrelate by each application server of participation application process and IP multiple access propagation address and effectively finish.
Method (2), each application server is from the one group reservation of local client computer reception for basic object. All such reservations are gathered a reservation of uniting that comprises all basic objects that local client computer is predetermined, and without any need for the reservation parameter. The basic object that is produced by local client computer is removed from the reservation of assembling. The reservation of assembling is sent to all other application server. Reception is to be in the relevant part that the application router among the local client computer will send to such object immediately the application server of reservation and store this reservation from the reservation of the gathering of Another application server and the source of finding any basic object in the reservation of assembling. Any further renewal of relevant object also will be sent to the application server of reservation immediately.
Method (3), each application server is prepared the subscription group of a gathering as method 2. The reservation of assembling is sent to a female application server that has been distributed by the site manager. Female application router is delivered to first female application server to the reservation subgroup of available gathering, and this subgroup comprises and is sent to remainder female application server of being assigned with, in its reservation of gathering. Here suppose that management system organized structure and be used for the hierarchy of the application server of application process.
Those control data that need to be dispensed among all application access servers of participation process comprise that for example group of clients is participated in and left and create and destroy to client computer. Such control data should be propagated into all application routers in process by multiple access. The application router control message that will terminate perhaps is forwarded to local application server or site manager (words if needed) to it.
It is logged to using access server that some client computer can be used as the observer. The not licensed using action of uploading of observer, but they can upload the reservation of depending on the viewpoint of observer in game.
Also can be used in the hierarchy system according to application access server of the present invention. Fig. 8 shows the example of such structure, and wherein the application access server 201 of higher level is served other and used access server unit 203,205,207, and the latter serves again application client 209. The application access server 201 of higher level receives the ATP grouping with the reservation of game data and gathering from the downstream application access server unit that is considered to " client computer ". The application access server unit 201 of higher level and other access server unit communication of using at the same level, and in may situation with the application access server unit communication that is in higher level in the hierarchy. Hierarchy is used the representative that hierarchy that access server system is used for creating game state distributes, to be used for relating to the application of the very large client computer of number.
Far-end is used the access server unit can be organized into a multiple access propagation tree structure, and in this case, each multiple access propagation group has a classification buffer. Can use a kind of wherein all information to be sent to the simple allocation strategy that all far-ends are used the access server unit. In this case, only has a buffer.
The application client unit can have the broadband connection of the stand-by period access that provides low, like this, and without any need for using access server. Typical example is that all players are among the same LAN. If game is used and API still expects an application access server, then might use access server functionality in the machine operation of client computer with software form.
Application access server unit also can be arranged in the position of any centre of network. This means that " link " agreement between client computer and application access server optionally is UDP/IP or TCP/IP. Alternatively, the central game server of operation dialing game service can be used as parts using the access server unit. Then the central authorities site comprises the set of modem storehouse, and the latter is connected to and uses the access server unit and use the reception hall server. This will be used to the effective and scalable structure that makes up central site, but it will not have the advantage of Early accumulation game service amount.
Claims (11)
1. can be connected to the server unit of at least one the first and second client unit, it is used for enabling to pass through the communication of this server unit between the first and second client unit, so that having, operation can be affected simultaneously and the distribution interactive application of the state contributed by the first and second client unit, this server unit is characterised in that it comprises:
-first receiving device is used for from the application state information of relevant this application state of described the first client unit reception at least;
-state information storing means is used for the storage application state information;
The-the second receiving system is for the precedence information that receives from described at least the first client unit about the application state information that will be sent to the first client unit;
-precedence information storage device is used for the precedence information that storage receives;
The-the first dispensing device, it and state information storing means cooperation are in order to send to the first client unit to application state information according to precedence information;
-at least one application router, it comprises this first and second dispensing device and this first and second receiving system, and an application server that comprises this information-storing device.
2. according to the server unit of claim 1, wherein application server and described at least one application router are implemented as hardware cell separately.
3. according to the server unit of claim 1, wherein application server and described at least one application router implement software, this software, software and at least one application router tool computational resource with a grain of salt respectively that should be relevant with application server.
4. according to each the server unit of claim 1-3, wherein application server is used for receiving flow object and sends it at least one that other uses access server.
5. according to the server unit of claim 3, wherein application router is arranged to flow object is broadcast to all other application access servers that relate in the communication process.
6. according to each the server unit of claim 1-5, wherein application router is arranged to receive basic object and it is forwarded at least one application server in order to be stored in the database of application server, and receive from application server relevant basic object addressing packet and it is forwarded to other server unit of client unit and/or at least one.
7. according to each the server unit of claim 1-6, wherein application router is arranged to be forwarded to client computer and/or at least one other server unit and/or site manager from the application server receiving control information with it.
8. communication network is characterized in that it comprises each at least one server unit and at least one client unit according to claim 1-7.
9. according to the communication network of claim 8, comprise that also at least the second uses access server and be connected a jockey that connects described first and second application access server, wherein the communication resource can be retained in the described jockey.
10. according to each communication network of claim 8 or 9, also comprise being arranged to control at least one site manager that at least one uses access server.
11. the communication network according to claim 10 also comprises, one is arranged to be formed in the reception hall access server that at least one uses the interface between reception hall server and described at least one site manager.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9901694A SE521442C2 (en) | 1999-05-10 | 1999-05-10 | Server for use in communication network, transmits portion of information from application state record to each client |
SE99016941 | 1999-05-10 | ||
US09/307712 | 1999-05-10 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008073821A Division CN1222902C (en) | 1999-05-10 | 2000-05-10 | Method and apparatus in a communication network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1728712A true CN1728712A (en) | 2006-02-01 |
Family
ID=20415535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005100910756A Pending CN1728712A (en) | 1999-05-10 | 2000-05-10 | Method and apparatus in a communication network |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1728712A (en) |
SE (1) | SE521442C2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323969A (en) * | 2010-05-14 | 2012-01-18 | 通用汽车环球科技运作有限责任公司 | The timing analysis of type of service method |
-
1999
- 1999-05-10 SE SE9901694A patent/SE521442C2/en not_active IP Right Cessation
-
2000
- 2000-05-10 CN CNA2005100910756A patent/CN1728712A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323969A (en) * | 2010-05-14 | 2012-01-18 | 通用汽车环球科技运作有限责任公司 | The timing analysis of type of service method |
CN102323969B (en) * | 2010-05-14 | 2016-06-29 | 通用汽车环球科技运作有限责任公司 | The timing analysis of type of service method |
Also Published As
Publication number | Publication date |
---|---|
SE9901694L (en) | 2000-11-11 |
SE9901694D0 (en) | 1999-05-10 |
SE521442C2 (en) | 2003-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1222902C (en) | Method and apparatus in a communication network | |
CN1231016C (en) | Communication infrastructure arrangement for multiuser | |
CN1222896C (en) | Administration of user's outline data | |
CN1299222C (en) | Realization of presence management | |
CN1823332A (en) | System and method for user notification | |
CN1579072A (en) | Method system and data structure for multimedia communications | |
CN1154298C (en) | Distributed network computing system and information exchanging device and method for said system | |
CN1118984C (en) | Programmable high performance data communication adapter for high speed packet transmission networks | |
CN1450765A (en) | Servo load balance system, apparatus and content management apparatus | |
CN1852431A (en) | System and method for realizing video frequency information sharing | |
CN1412973A (en) | Virtual personal network service management system and service supervisor and service agent device | |
CN1711784A (en) | System and method for sending SMS and text messages | |
CN1792076A (en) | A data access, replication or communication system comprising a distributed software application | |
CN1539221A (en) | Transmission apparatus and method | |
CN1481635A (en) | Method and appts. for large payload distribution in network | |
CN1805442A (en) | Call control with converged application server logic and gateway logic in IMS networks | |
CN1685334A (en) | Method and system for providing contents | |
CN1878599A (en) | Game apparatus, game method, and game program | |
CN1574764A (en) | Method for managing network filter based policies | |
CN1858759A (en) | Method and system for limiting time of network gaming user | |
CN1816053A (en) | Flow-media direct-broadcasting P2P network method based on conversation initialization protocol | |
CN1291747A (en) | Cache device and its application | |
CN1846419A (en) | Self-managed mediated information flow | |
CN1801727A (en) | Network service information processing system and method | |
CN1450808A (en) | Image data distribution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20060127 Address after: Solna, Sweden Applicant after: Tela Game Systems Inc Address before: Stockholm Applicant before: Ericsson Telephone AB |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |