Server-group messaging system for interactive applications
Abstract
(57) [Summary] Disclosed is how to deploy interactive applications through a network that includes host computers (58, 59, 60, 61) and group communication servers (62). The method operates on a traditional unicast network architecture consisting of traditional network links, unicast gateways, and routers. The host sends a message containing the destination group address to the group communication server by unicast. The group address selects the message group maintained by the group communication server. For each message group, the group communication server also maintains a list (142) of all hosts that are members of a particular group. In this simplest implementation, the method involves the group server receiving a message from a host that includes a destination group address. Using the group address, the group communication server then selects a message group that lists all the host members of the group that are the destination of the message to the group. The group communication server then sends a message to each destination host. In interactive applications, many messages arrive at the group server in close proximity to each other in time. Rather than simply sending each message to the destination host, the group communication server aggregates the content of each message received during a particular time period and sends the aggregated message to the destination host. This method reduces the amount of message communication between hosts in a networked interactive application and also contributes to the reduction of latency in communication between hosts.

Term
Term ended
Projected expiry passed 21 January 2017, 9.7 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
1 claim: 1 independent, 0 dependent
- 1【特許請求の範囲】 1.ユニキャスト広域通信ネットワークを通して接続される複数のホストコンピ ュータにメッセージを提供する方法であって、該複数のホストコンピュータは、 複数のネットワークアドレスに関連付けられている方法において、 該ネットワークに連結するサーバーを提供するステップであって、該サーバー は該ユニキャストネットワークを用いて該複数のホストコンピュータのそれぞれ と通信し、該サーバーは上位レベルプロトコルアドレスのリストと該ホストコン ピュータに関連付けられた該ネットワークアドレスのリストとを維持する、ステ ップと、 該サーバーが、該上位レベルプロトコルアドレスリスト内の第1の上位レベル プロトコルアドレスと、該ネットワークアドレスリスト内の第1のネットワーク アドレスセットとの間に第1のアドレスマッピングを形成するステップと、 該第1のネットワークアドレスセットのうちの1つに関連付けられた第1のホ ストコンピュータが、メッセージを該サーバーに該ユニキャストネットワークを 介して送るステップであって、該メッセージはペイロード部分と識別部分とを含 み、該識別部分は該第1の上位レベルプロトコルアドレスを含む、ステップと、 該サーバーが、該ユニキャストネットワークを介して該ペイロード部分を、該 第1のネットワークアドレスセットに関連付けられた選択されたホストコンピュ ータに伝送するステップと、 を包含する方法、 2.前記選択されたホストコンピュータは、前記第1のホストコンピュータ以外 の、前記第1のネットワークアドレスセットに関連付けられたすべてのホストコ ンピュータよりなる、請求項1に記載の方法。 3.前記ホストコンピュータに関連付けられた前記リスト化されたネットワーク アドレスは、インターネットプロトコルアドレスである、請求項1に記載の方法 。 4.前記サーバによって受け取られるコントロールメッセージに応答して該サー バーが、前記上位レベルプロトコルアドレスリストのうちの第2の上位レベルプ ロトコルアドレスと少なくとも第1にリストされたネットワークアドレスとの間 に第2のアドレスマッピングを作成するステップであって、該コントロールメッ セージは、該第1にリストされたネットワークアドレスに関連付けられたホスト コンピュータから前記ネットワークを介して送られる、ステップをさらに包含す る、請求項1に記載の方法。 5.前記サーバによって受け取られる第2のコントロールメッセージに応答して 該サーバーが、別のリストされたネットワークアドレスを前記第2のアドレスマ ッピングに加えるステップであって、該別のリストされたネットワークアドレス は、前記複数のホストコンピュータ内の別のホストコンピュータに関連付けられ 、該第2のコントロールメッセージは該別のホストコンピュータから送られる、 ステップをさらに包含する、請求項4に記載の方法。 6.前記ネットワークは少なくとも1つのインターネットプロトコルを用い、前 記サーバーは、セッション層プロトコルを用いて前記複数のホストコンピュータ と通信する、請求項1に記載の方法。 7.ユニキャスト広域通信ネットワークを通して接続される複数のホストコンピ ュータにグループメッセージを提供する方法であって、 該ネットワークに連結するグループ通信サーバーを提供するステップであって 、該サーバーは該ユニキャストネットワークを用いて該複数のホストコンピュー タと通信し、またメッセージグループのリストを維持し、各メッセージグループ は少なくとも1つのホストコンピュータを含む、ステップと、 第1のメッセージグループに属する複数のホストコンピュータが、メッセージ を該サーバーに該ユニキャストネットワークを介して送るステップであって、該 メッセージはペイロード部分と該第1のメッセージグループを識別する部分とを 含む、ステップと、 該サーバーが、所定の基準に従って決定された時間間隔内で、該メッセージの 該ペイロード部分を集成して、集成ペイロードを作成するステップと、 該集成ぺイロードを用いて集成メッセージを形成するステップと、 該サーバが、該ユニキャストネットワークを介して該集成メッセージを、該第 1のメッセージグループに属する受信ホストコンピュータに伝送するステップと 、 を包含する方法。 8.前記時間間隔は固定期間である、請求項7に記載の方法。 9.前記時間間隔は、前記サーバーが、前記第1のメッセージグループに属する 各ホストコンピュータから少なくとも1つのメッセージを受け取る時間に対応す る、請求項7に記載の方法。 10.前記複数のホストコンピュータのうちの1つが、第1のコントロールメッ セージを前記サーバーに前記ユニキャストネットワークを介して送ることによっ て、前記第1のメッセージグループを作成するステップをさらに包含する請求項 7に記載の方法。 11.前記複数のホストコンピュータのいずれかが、前記第1のメッセージグル ープを特定するコントロールメッセージを前記ユニキャストネットワークを介し て前記サーバに送ることによって、該第1のメッセージグループに参加するステ ップをさらに包含する、請求項10に記載の方法。 12.前記ネットワークはインターネットであり、前記サーバーは、セッション 層プロトコルを用いて前記複数のホストコンピュータと通信する、請求項7に記 載の方法。 13.ユニキャスト広域通信ネットワークを通して接続される複数のホストコン ピュータにメッセージを提供する方法であって、該複数のホストコンピュータは 、 複数のネットワークアドレスに関連付けられている方法において、 該ネットワークに連結するサーバーを提供するステップであって、該サーバー は該ユニキャストネットワークを用いて該複数のホストコンピュータのそれぞれ と通信し、該サーバーは、上位レベルプロトコルアドレスのリストと該ホストコ ンピュータに関連付けられた該ネットワークアドレスのリストとを維持し、該サ ーバーはさらに、該上位レベルプロトコルアドレスリストのうちの第1のアドレ スとネットワークアドレスリストのうちの第1のセットとの間の第1のアドレス マッピングを維持する、ステップと、 該サーバによって受け取られる第1のコントロールメッセージに応答して該サ ーバーが、該複数のネットワークアドレスのうちの第1のネットワークアドレス を該第1のアドレスマッピングにダイナミックに加えるステップであって、該第 1のネットワークアドレスは、該複数のホストコンピュータ内の第1のホストコ ンピュータに関連付けられ、該第1のコントロールメッセージは、該第1のホス トコンピュータによって該ネットワークを介して送られる、ステップと、 該第1のホストコンピュータによって発行される第2のコントロールメッセー ジに応答して、該サーバーが該第1のアドレスマッピングから該第1のネットワ ークアドレスをダイナミックに除去するステップと、 を包含する方法。 14.ユニキャスト広域通信ネットワークを通して接続される複数のホストコン ピュータにメッセージを提供する方法であって、該複数のホストコンピュータは 、複数のネットワークアドレスに関連付けられている方法において、 該ネットワークに連結するサーバーを提供するステップであって、該サーバー は該ユニキャストネットワークを用いて該複数のホストコンピュータのそれぞれ と通信し、該サーバーは、上位レベルプロトコルアドレスのリストと該ホストコ ンピュータに関連付けられた該ネットワークアドレスのリストとを維持する、ス テップと、 該サーバーが、該上位レベルプロトコルアドレスリスト内の第1の上位レベル プロトコルアドレスと、該ネットワークアドレスリスト内の第1のネットワーク アドレスセットとの間に第1のアドレスマッピングを形成するステップと、 該サーバーが、該上位レベルプロトコルアドレスリスト内の第2の上位レベル プロトコルアドレスと、該ネットワークアドレスリスト内の第2のネットワーク アドレスセットとの間に第2のアドレスマッピングを形成するステップと、 該第1のネットワークアドレスセットのうちの1つに関連付けられた第1の ホストコンピュータが、メッセージを該サーバーに該ユニキャストネットワーク を介して送るステップであって、該メッセージはペイロード部分と識別部分とを 含み、該識別部分は該第1の上位レベルプロトコルアドレスを含み、さらに該第 2の上位レベルプロトコルアドレスを含む、ステップと、 該第1および第2のネットワークアドレスセットを用いて論理集合演算を行い 、第3のネットワークアドレスセットを形成するステップと、 該サーバーが、該ユニキャストネットワークを介して該ペイロード部分を、該 第3のネットワークアドレスセットに関連付けられた選択されたホストコンピュ ータに伝送するステップと、 を包含する方法。
2 paragraphs, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
Group server communication system for interactive applications Industrial application field The present invention relates to a computer network system, in particular, a message tray. Group server communication systems and methods to reduce latency and latency .. Background of the invention Today, a wide range of interactive applications run on computer systems Over. All of this depends on the dynamic response to the user Be characterized. The user provides input to the computer and the application Respond quickly. Interactive application on a personal computer (PC) A game is an example of a popular example of. In this case, for the user A quick response is to draw a new image on the screen between 30ms and 100ms. It can mean to squeeze out. Interactive applications such as games have internal time Use the base to control the speed of interaction with the user. The application is this tie Using the software, the user's input is sampled, the screen is redrawn, and Bring out the rate at which the sound is played. As computers become more powerful and popular, computers are networked It has become important to connect with a phone. Network from nodes and links It is composed. Nodes from each node through links and through other nodes It is connected so that there is a path for each of the other nodes in the network. Each node can be connected to the network with at least one link. Node is It is further classified into hosts, gateways, and routers. Host is one A computer system that is connected to a network by a link. Ho The strike is another message on the network by sending and receiving messages. Communicate with the user. Gateway is networked by more than one link A computer system connected to. The gateway is like a host Not only communicate with other nodes, but also one of those network links Forward the message on the screen to another node on another network link. Messe This process of transferring the page is called routing. Send message and In addition to the ability to receive, as well as their routing capabilities, the gateway It can perform other functions in the network. Routers by more than one link Is a node connected to the network, and its only function is one A message on a network link other than that network link is connected To transfer to the network link of. From many network links Network is a subnetwork with a gateway and / or a sub A router network that connects networks together to form the so-called Internet Can be considered a network. Widespread knowledge of the global internet today An example of this is full-time worldwide, in 1995 10,000,0 On the so-called "Internet" where more than 00 computers are connected is there. Because there are so many computers on a single global network A networked interactive application that is shared by many people It is desirable to form a networked interactive application that can be summarized in Will be done. Unfortunately, such jointly used networked dialogues When it comes to forming type applications, it is limited to existing network technologies. There is a problem. For example, designed to be deployed on a network, by a large number of players Let's think about games that are played at the same time. Games like this It can be executed in software on a PC connected to the network. Leh Is set by its internal timebase and sumps local user input Ringed and received messages from other player's PCs over the network And send a message to another player's PC. Typical rate is 100 10 times per second over a millisecond period. Message sent between PCs Ji contains the information needed to keep the game consistent across all PCs .. In a game that creates the illusion of a spatial environment so that each player can move The packet contains information about the player's new location as the player moves. Can include. Many players today on a local area network (LAN) Played by two players, either between or over a pay phone line using a modem There are many possible PC games on the market. Sent by games like this Network messages contain a wide range of game-specific information. For this Special taken by one player that affects other players in the game Can include position and speed information of objects in the game along with actions .. Especially easy for a two-player game played via a modem is there. If the message rate is 10 messages per second, each PC will Send 10 messages per second to your PC and receive 10 messages per second To do. The delay introduced by modems and phone lines is small and most games Is not recognized in. Unfortunately, networked interactive appliqué In the session, it's not interesting for two players. 8 players on the LAN If-plays the same game, the message rate will increase. Each PC is each Don't send 7 messages to each of the other 7 players for each period Must receive 7 messages from other players during the same period. If the communication period is 100 milliseconds, the total message rate is 7 per second. 0 messages are sent and 70 messages are received per second. More reasonable than this As you can see, the message rate is linear with respect to the number of players in the game. Increase. Messages supported by popular LANs Gillate and data rates are for the majority of players with a reasonable message size High enough to support. Unfortunately, LAN is a commercial application A networked interactive application that is deployed only within the consumer Deployment to the user cannot be considered. All wide area networks available to consumer users today use modems Must be accessed through a pay phone line. Modem speed is rapidly increasing It has increased and now reaches a bit rate of 28.8 kilobits per second. this Is close to the limit set by the signal-to-noise ratio of a conventional telephone line. ISDN It is possible to further increase the speed by using, but this technique Not ready for market for mass use. Offers much wider bandwidth Other new wide area networking technologies to offer are being discussed, but yes The deviation has not yet been put into practical use for commercial use. Therefore, a networked pair Existing networking and communication ins when deploying talkative applications Must be deployed to work with the fragment. Taking a networked game for eight players as an example, players Each PC connects to the network with a 28.8 kilobit modem per second Consider the ongoing implementation of a wide area network. Used in this example Network protocol and routing behavior Let's assume that it is the Internet so that it is well defined and understood. Ge Where the protocol uses TCP / IP to send the message between in-game PCs In that case, the PPP protocol over the public telephone line compresses the TCP / IP header. Can be used successfully. Still, a typical message is about 25 bytes The size. It is 250 bits when transmitted through a modem. Me Sage is sent 10 times per second to each of the other PCs in the game , Received from other PCs 10 times per second. This is 35.0 keys per second It is a robit and exceeds the capacity of the modem by 20%. Message in 20 bytes When reduced, only 8 players can be supported, but this approach is Obviously, a networked interactive app used by a large number of participants Cannot support the application. Not just the bandwidth of the network connection, but other questions There is a title. Loading on each PC caused by high packet rate Yes, wait to be introduced by the time required to send all packets for transmission I have time. Each packet sent or received by a PC is processed by a certain amount It takes time. Packet rate increases with the number of players in the game As the number of processors available to run the game software itself Will decrease. Waiting time is important in interactive applications. Because wait This is because time limits the responsiveness of the system. The player is the system Up When you provide a new input with, that input is instantly all systems of other players. It is hoped that it will affect the game on the game. This is especially the result of the game Depends on the player shooting the moving target by the action of other players Especially important in any game. In this case, the waiting time is marked by the player. The target has been on the screen of another player in the game since it acted to move the target. It is the time until it moves with. The main part of this waiting time is getting the message It arises from the time it needs to be sent to the other 7 players in the game. In this example By the way, it takes about 50 milliseconds to send a message to the other 7 players. is there. 50 after the first of the 7 players received the message quickly After milliseconds, the last of the seven players receives the message. Internet Protocol Multicasting As mentioned above, the Internet is widely known for high area networks. This is an example. The Internet is officially called the Internet Protocol (IP) It is based on the protocol to be exposed. OSI at the network protocol layer In the reference model, IP is Layer 3 or Network Layer Protocol Corresponds to IP is the packet of packets between two nodes in the Internet Provide services for transmission and routing. The addressing model is , Providing 32-bit addresses for all nodes in the network, all All packets carry source and destination addresses. IP is also inter Specifies the routing of packets between network links in a network To. Gateways and routers are based on the destination address of the packet they receive Maintain a table used to refer to routing information. routine The information is the local network where the packet is connected to the gateway / router. Tell the gateway / router if the destination is directly reachable on the clink Notification, or if unreachable, the packet should be forwarded Addresses of other gateways / routers on one link of the Cal network link Let me know. Besides IP, Layer 4 transport protocols TCP and UDP is there. UDP does not guarantee reliable or orderly delivery of datagrams I app Provide datagram delivery services to applications. TCP is a data store With a connection-oriented service with applications that provide reliable delivery is there. TCP splits a stream into packets for reliable and orderly delivery. To ensure. Internet Society RFGs: RFC-791 "Internet Protocol", RFC-793 See "Transmission Control Protocol" and RFC-1180 "A TCP / IP Tutorial" thing. IP, TCP and UDP are unicast protocols and packets , Streams or datagrams are sent from the source to a single destination. See Figures 1 and 2 as examples. Figure 1 shows hosts 1, 2, 3 and 4, And network links 11, 12, 13, 14, 15, 16, 17, 18 And 19, as well as traditional uni with routers 5, 6, 7, 8, 9 and 10. Shows the cast network. In this example, each host has a data payload I want to send to each of the other hosts. Host 1 has network address A, Host 2 has network address C, host 3 has network address B, And host 4 have network address D. Existing network pro Tocol is usually a package that contains the source address, destination address, and payload. It is based on the format. This is a commonly used wide area such as IP A network protocol is shown. The actual IP packet has other components But for this example, consider only these items. Figure 2 shows the IP, etc. Sent to each other by hosts using the traditional unicast network protocol An example of the packet to be received is shown. Host 1 sends packet 20 to host 3 and packet 2 Send 1 to host 2 and packet 22 to host 4. Host 1 has the same day I want to send the data P1 to each of the other three hosts, so all three The payload in the packet is the same. Packet 20 is network Host through routers 5, 6 and 8 via links 11, 12, 15 and 18. Reach 3 Similarly, host 3 sends packet 23 to host 1 and packet 2 Send 4 to host 2 and packet 25 to host 4. Hosts 2 and 4 are pa Ket 26, 27, 28 and 29, 30, 31 to each of the other three hosts Send. All of these packets are separate from the source host to the destination host Transported by a unicast network. Therefore, in this example, each host Sends three packets to send its payload to the other three hosts You must trust and receive three packets. As can be understood, each host communicates in an interactive application. Packets must be sent to each of the other desired hosts. In addition, each host Receives packets from each of the other hosts that wish to communicate with that host. In interactive applications, this happens at regular and high rates. All hosts wishing to communicate with each other packet each other 8 to 10 times per second Need to be sent. If four hosts communicate with each other as in this example, each The host sends 3 messages and 3 messages 8 to 10 times per second. Receive sage. Number of hosts in the application that need to communicate with each other Message rates can be supported on traditional public lines as Reach no rate. This allows the unicast transport protocol to become numerous. Inappropriate for delivering interactive applications to participants. Because , Using these pulls the problem of high packet rates increasing with the number of participants Because it wakes up. Attempts have been made to extend the IP protocol to support multicasting ing. See RFC-1112 "Host Extensions for IP Multicasting". this The literature extends to a series of IP protocols that enable IP multicasting. It is described about. IP multicasting sends datagrams to a single destination Host group of IP datagrams by addressing the address Supports sending to. Multicast addresses are subs of the IP address space A set of class D IP addresses (these are "1" in the high-order 4-bit It is a subset of IP addresses that have "110"). The host group is IP multicasting protocol, including zero or more IP hosts Multicast data to all members of the addressed group Send grams. Is the host dynamically joining and grouping? Apart from the multicast datagram routing, the multicast router And supported by the gateway. This general for multicast communication Approach is appropriate to be described as "distributed multicast communication". This This is a distribution technology. Because the job of message delivery and duplication is the net This is because it is distributed to all multicast routers through the work. Hiroe To operate distributed multicast communication in the rear network , All of the multicast host's router processing datagrams are multicast Must support datagram routing. Such a multi The cast router delivers the multicast datagram to the local host Therefore, a multicast group of all hosts locally connected to the router You have to know your membership. Multicast routers are also local Multicast packets can be forwarded to the router on the network link I have to come. Multicast routers are also any local router (if Whether multicast datagrams must be forwarded (if any) You have to decide. Mastcast data by multicast router When a gram is received, its group address is the row of each group address. Compared to the list for Cal Multicast Routers. If they match, the data graph Is forwarded to its local multicast router. Therefore, on the network Multicast routers in the group are the groups in which they forward datagrams. An accurate and up-to-date data list of dresses must be maintained. These squirrels When a host joins or leaves a multicast group Will be updated to. The host calls this the Internet Group Management Protocol (I) Send messages to their immediate neighbors multicast routers using GMP) Do by doing. Other attributes of distributed multicast communication are specific to the router Group membership information about the group through the network Must propagate to all other routers that are the forwarding traffic of the group That's a good thing. RFC-1112 describes how this is done Not listed. Many different approaches are defined to solve this problem However, these approaches will be described later in the description of the relevant prior art. To do. All of these approaches, despite their differences, are multi-cap How and how multicast routing information is propagated between strikers and distributed Multicast in an internetwork that supports multicast communication Su It is a routing technology for datagrams. The distributed multicast communication approach has many unwanted side effects. To do. The process of propagating group membership information to all relevant routers is instantaneous Not interim. Updated group men in large and complex networks Number of routers and group members that must receive burst information Very long time depending on the number of routers that the update information has to go through It can take. This process is well numbered, depending on the characteristics of the algorithm used. It can take seconds and minutes. RFC-1112 issues this issue and multicast Handled by executing a practical routing algorithm for communication It mentions some of the side effects that must be taken. Group is die One problem arises when it is created and destroyed Namic. Group address There is no central jurisdiction in the network to allocate space, so the distribution network It is easy to duplicate group address assignments in a network. This This results in incorrect datagram delivery and is the host a replication group? You will receive datagrams that you do not want. For this, each host wants We need a way to filter no datagrams. Another set of problems is When a group is created, destroyed, or its membership changes To all routers that need to route the datagram to the member host It results from a time delay before these changes are communicated. Host N participates Join an existing group by sending sage to its local router Let's assume the case. The group has already left host N in the network Contains host M, which is a large number of router hops. Host N joins Host M Immediately after sending the message, Host M sends the datagram to the group, Host M's local router is not informed of the change in group membership I. As a result, the datagram will eventually reach host N, from the router. A feature that is connected to the local router of host M, which is the only path in the network. Not forwarded to one of the regular network links. As a result, M's local router Host N from Host M until Do not receive datagrams addressed to the group. Other related issues Can occur. When a host leaves a group, it is addressed to that group The message is sent to the local router of the host continuously for a while. Routed to the host. The local router is the host's local network At least I know I don't route datagrams to. Still quickly Many active message groups have changed membership When you do, a large amount of unwanted datagrams are carried in a large network Can be done. Finally, distributed multicast communication significantly reduces the message rate between hosts. Not less. In distributed multicast communication, each host groups messages Address a message group to send to all other hosts in All you have to do is send one message. This is one message, Traditional Unica that must be sent to each of the other hosts in the group It is improved over strike communication. However, distributed multicast communication is a group Many hosts in the world are sending messages to groups that are close in time In order to reduce the message rate received on each of the hosts do nothing. 10 hosts sending messages to groups 7 times per second Let's return to the group example. In traditional unicast communication, each host per second Send 9 messages to other hosts in 7 times, 9 messages in 7 times per second You need to receive a message. In distributed multicast communication, each host is all Must send only one message to a group containing hosts in 7 times per second In short, you receive 9 messages 7 times per second. Received Messe It is hoped that the number of pages will be further reduced. Examples of distributed multicasting are shown in Figures 3 and 4. Figure 3 shows the multi-cap Strata 39, 40, 41, 42, 43 and 44, and hosts 35, 3 6, 37 and 38, and network links 45, 46, 47, 48, 4 A network having 9, 50, 51, 52 and 53 is shown. 4 hosts , Has unicast network addresses A, B, C and D, and has address E It is also a member of all the message groups that it has. Message Guru in advance Create a package, each host has its own message group on the multicast router. - Join the message group so that you know what you are doing and have the right routing information did. Network protocols such as IP with multicast extensions, this Suppose it is used in the example. Host 35 has source address A and address Send packet 54 with destination multicast address E to all message groups Believe. Similarly, host 37 sends packet 55 to all message groups, Host 36 sends packet 56 to all message groups, host 38 packet Sends 57 to all message groups. Packet is a multicast router Packets are delivered to all members of the group while being handled by Packets are replicated as needed to allow. Sent by host 35 Think about how the packet will eventually be delivered to another host Yeah. Packet 54 is a multicast router over network link 45 Transported to 39. The router uses its routing table to multicast Packets must be sent on network links 46 and 47 Determine and duplicate that packet and packet on both of these network links Send Packets are received by multicast routers 40 and 43 To. Multicast router 43 sends the packet to network link 50. , Router 40 sends the packet to links 48 and 49. Next, Pake Is received by multicast routers 44, 42 and 41. Router 41 Over network link 51, where packets are received by host 36 And send the packet. Router 42 sends the packet over network link 52. And sends the packet to host 37, where router 44 hosts the packet over link 53. Send to 38. Other parameters sent by the host to multicast group E A similar process is performed for each of the kets. Received by each host The last packet to be made is shown in Figure 4. Distributed multicasting is a networked interactive application While reducing the number of messages that need to be sent by the host in , The number of messages received by the host is not affected. Group membership is fast A special network infrastructure for multicast routers that changes quickly When you need distributed multicasting, other things that behave poorly Lack of Has a point. Distributed multicasting also supports message aggregation Nor can it aggregate. Because the message delivery is distributed Because. Distributed multicasting is message group and unicast It also does not support messages that specify logical behavior between host addresses. All of these issues relate to design goals for distributed multicast communication. Can be understood to be placed. Distributed multicast communication is created quickly by the group Was not designed for interactive applications that are modified, modified, and destroyed .. Instead, distributed multicast communication probably smells in minutes or hours. Groups are created, modified, and destroyed over a relatively long period of time. Optimized for your application. As an example, all participants A video session that agrees to be connected at a specific time for a meeting that can last for an hour There is a controversy. Another example is probably measured in the thousands or millions, 1 Sending audio or video programs from one host to many receiving hosts Is done. Multicast groups exist for the life of the audio / video program To do. Host members dynamically join and leave, but this app From the time you join or leave before the connection is established or disconnected It is acceptable that there is some time delay. IP and multicast extensions to IP are based on packet routing However, there is another form of wide area network called Asynchronous Teller Machine (ATM). -Kinging technology is based on switching fixed size cells via a switch ing. Unlike IP, which supports both datagrams and connection-oriented services ATM is basically connection-oriented. ATM network from the point It consists of ATM switches that are interconnected by a link to a point. Ho The strike system is connected to the leaves of the network. Communication is Virtual circuits are networked before they can occur between hosts through the network. Must be set up. The two forms of communication are ATM networks. Can be supported by the network. From a bidirectional point between two hosts Maru from one-way point to into and from one host to many hosts It is a point. However, ATMs can handle any form of mulching directly. Does not support contact. In addition to ATM, multi-casting is layered Many proposals have been made. One approach is the multicass shown in Figure 8. It is called a server. Host systems 112, 113, 114 and 115 is a point-to-point connection to the multicast server 105 Set up 106, 107, 108 and 109. ATM cell is this It is sent by the host to the multicast server via these links. Multi Is the cast server a point for hosts that collectively make up a message group? Set up connection 111 to multipoint. Address the group The cell that is sent to the server is a point-to-multipoint link 111 Transferred to. ATM network 110 is all between the host and the server Perform transfers and switches to maintain connectivity. Point to multipoint The cells carried by the connection to the branch network are the networks between the links. Replicated as needed by the ATM switch at the fork in the tree Transferred to a branch network link. Therefore, the network, not the server Duplicates cells and their payloads. This method is an interactive appliqué When used for torsion, it has the same problems as distributed multicasting. Each host receives a separate cell from each of the other hosts, so a single host There is no agglomeration of the payload of the cells targeted to the cell. A series of host groups A support that addresses a cell to a host based on its logical behavior towards the server. There is no Related prior art There are numerous existing and European patent applications related to the field of the invention. these are , Two separate categories: Multicast Routing / Distribution and Source? Can be classified as a destination multicast stream. Multicast routing and distribution These patents are U.S. Pat. No. 4,740,954 by Cotton et al. And the United States by Perlman. Patent No. 4,864,559, US Pat. No. 5,361,256 by Doeringer et al., By Perlman U.S. Pat. No. 5,079,767 and U.S. Pat. No. 5,309,433 by Cidon et al. Collectively, these patents are data on distributed multicast networks. It covers various algorithms for ram routing and distribution. This All of these patents behave well when message groups change rapidly This class of multicast routing and message distribution, such as not Does not address the issues mentioned above. In all these patents, the message Is a member of the group from the host via the router's distributed network Sent to multiple destination hosts. These patents are distributed multicasting These patents rate incoming messages as they only deal with modifications of Does not provide a means to reduce, a way to aggregate messages, message groups Does not provide a way in the message to do the logical action against. Source to destination multicast stream These are PCT and European patent applications. These are EP0 by Perlman et al. 637 149 A2, PCT / US94 / 11282 by Dannels et al., And Sivakumar et al. It is PCT / US94 / 11278. These three patent applications are Datas Handles sending from the source of the stream to the destination of the group. Of these patent applications In each case, how to send data between many members of the group Is not listed. In all these applications, data transmission is from the source It is done at multiple destinations. These patent applications are multipoint from the point These patent applications are for messages received, as they only deal with communications to Does not provide a means to reduce the rate, a way to agglutinate the message, message Does not provide an in-message way to perform logical actions on loops. Abstract of the invention The present invention relates to a large number of host computers across a conventional wide area communication network. Computer game between a large number of players by facilitating efficient communication It is about realizing an interactive application such as a game. Such an app In the application, each host has an interactive application that matches on each host. Dynamically with each other the information other hosts need to keep it working Send to each other. The present invention is a message used by a host to communicate information between the hosts. A group communication server that connects to a network that maintains a collection of sage groups including. The present invention further describes the server used by the host and server- Includes group communication protocol. Server-Group communication protocol is Net Located above the Transport Level Protocol (TLP) of the work, at the upper level It is called the protocol (or ULP). In the OSI model, ULP A session layer protocol or application built on top of the transport It can be considered as a layer protocol. ULP protocol is TLP address Use a different server-group address space than the space. The host is , Messages to addresses in the ULP address space, at the bottom of the network Send to group communication server using unicast transport protocol .. ULP address space is a unicast address, implicit group communication address It is divided into logical group communication addresses. Implicit and logical group communication The communication address is collectively called a group communication address. The host system first googles the message before sending it to any ULP address. A connection to the loop communication server must be established. To establish this connection Rothes is done by sending a TLP message to the server. server Assigns a unicast ULP address to the host and receives this address Establish a connection by putting it in a notification message and returning it to the host. Connection is made When the host is inquired about the existing message group, the host is extant. Joining a message group, creating a new message group, joining Leave the message group and the ULP address known to the server Can send a message to. Each message group is of type Depends on being assigned either an implicit or logical ULP address. Figure 5 shows one of the wide area networks with a group communication server (GMS). An example is shown. Host 58 has TLP address A and ULP address H and hosts G59 has TLP address C and ULP address J, and host 60 has TLP It has address B and ULP address I, and host 61 has TLP address D and And has ULP address K. This network is network link 69, 70, 71, 72, 73, 74, 75, 76, and 77, and Unicas Traditional Unica consisting of Trouters 63, 64, 65, 66, 67, and 68 It is a strike network. The group communication server 62 is a message group. Receives a message from the host destined for the program and describes the content of the message. Send to members of Sage Group. Figure 6 shows from a host that the host is a member Here is an example of a datagram sent to a message group that is. As aforementioned , Here TLP such as IP (message headers are source and destination TLP ads Suppose (including less) is used. Host 58 is the host's TLP call Message 8 containing source address A and destination TLP address S for GMS62 Send 0. The destination ULP address G is an implicit ULP address handled by GMS. The payload P1 is the data sent and the host's source ULP address. Includes both H. Before sending ULP messages to GMS, each host already has GMS Assume that you have established a connection to and are participating in message group G. Hoss G60 has a payload P2 containing the data and the source ULP address I. Send Sage 81. Host 59 contains data and source ULP address J Send message 82 with payload P3. Host 61 is the data and source Send message 83 with payload P4 containing ULP address K. GM S receives all of these messages and each message is member H, I, Know that it is directed to the implicit message group G, which has J and K. GMS processes messages with or without aggregating these payloads U. FIG. 6 shows the case of not assembling, and FIG. 7 shows the case of assembling. If not assembled, GMS will send outgoing messages 84, 85, 86, 87, 88, 8 Generate 9, 90, 91, 92, 93, 94, and 95 and send them to the host To. These datagrams are the source and destination of the GMS and host, respectively. It has a TLP header containing a TLP address. The next field in the datagram is The destination ULP for the datagram. Datagrams 84 and 85 are TLP ads Sent to host 58 with less A and ULP address H. Datagram 8 7, 88, and 89 have TLP address B and ULP address I. Sent to strike 60. Datagrams 90, 91, and 92 are TLP addresses Sent to host 59 with C and ULP address J. Datagram 93, 94, and 95 are hosts with TLP address D and ULP address K. Sent to 61. Each host, as you can see from the payload received by each host Is receiving payloads from the other three hosts. Each host is its own Please note that you have not received a copy of the original message. this is This is because GMS suppressed the echo. Host for some applications Receives an echo of each message sent to a group of which it is a member This is a selectable attribute of GMS, as may be useful. Example in Figure 6 Then, how the present invention has the same message delivery as the delivery multicasting is a drawback. It shows whether it can be realized easily. If not assembled, the present invention provides a single host. To many other hosts that are members of one message group It is possible to send. This forces each host to send to the other host The host has to handle it in an interactive application because it reduces the number of missing messages. The amount of message communication that must be done is reduced. But if it doesn't assemble, the host Does not reduce the number of messages it receives. Multicast router if not aggregated Same message as delivery multicasting, without the need for a network with It is possible to realize the rate. Traditional unicast such as internet You can use the network. The present invention is also a dynamic group. Avoid problems with delivery multicasting due to conversion. glue Membership can change very quickly. From the host to GMS Just send one unicast message to form, join, and join a group. And withdrawal is possible. These messages are point-to-point messages It is a page, does not need to be propagated throughout the network, and is a router There is no need to change the routing table inside. This quick and accurate group The ability to change membership is a networked interactive application It is important for the realization of Yong. Through the 3D space created by the game Multiplayer computer game that supports hundreds of players Think about it. Because other players are in other areas out of sight Only a few players can see and influence each other at all times It is only. Transmit data from each player's computer to the network Use a traditional phone line to do all the actions of each player It is impossible to send to all players. However, there are always a few people nearby You don't have to do this because you only have players. All you need is close to each other It just sends data between the players. These players "Glue" Of course, it maps to the message group of the present invention. Players play games As the player moves through the three-dimensional space of the message glue as needed Join and leave the message group. This is not done quickly If not, the game's interactivity is constrained or different players in the game There will be situations where the results do not match. The present invention also provides a message pay for a large number of messages destined for a single host. It is possible to aggregate the loads into a single larger message . this is, Because all of the messages are received by GMS before being sent to the host It will be possible. Figure 7 shows an example of how this works. The host is in Figure 5 To GMS in exactly the same way as shown in Figure 6, using the same address already defined send a message. Host 58 sends message 96, host 60 sends a message The 97 is sent, host 59 sends message 98, host 61 sends message 9 Send 9. GMS receives all of these messages and outgoing message 1 Create 00, 101, 102, and 103. Compose these messages The process will be described in detail in the detailed description of the invention. Each message Is directed to a single host and has an aggregate payload with many payload items Including. Message 100 is the destination ULP address H for host 58 and the host. Aggregate payloads contained in messages from 59, 60, and 61 P2, P It has 3 and P4. Message 101 is destined for host 60 and 102 Is destined for host 59 and message 103 is destined for host 61. Understand To get, each host sends one message and receives one message .. The message received is long and contains a large number of payloads, which is a large number Many at the expense of wasted money for message headers and message processing time of This is a significant improvement over receiving a message. Overall, the present invention It dramatically reduces the amount of data each host must send and receive. Transmission and transmission and due to the low bitrate through traditional telephone lines that use modems The reduction in the amount of data that must be received is directly for message communication between hosts. Improve time and waiting time. The host uses a control message to GMS in the ULP protocol , Create, join, and leave message groups. The host is also GMS Read and write application-specific state information stored in Can only do. When a host sends a message to another host, there are fewer messages Must also be directed to an implicit group address. ULP implicit address is Always the primary address in a message from one host to another obtain. The message may optionally identify an auxiliary destination address. Many places If so, the implicit ULP address is the only destination ULP address in the message. G MS is a group of ULP messages destined for an implicit message group Handles delivery to all member hosts. ULP outgoing messages are implicit In addition to the primary destination of the ULP address, selectively the address list of auxiliary addresses Can be identified. This auxiliary address list is a unicast and logical ULP ad Can include only less. Address lists are also unicast addresses and logical A set operator performed between host ULP address sets specified by a group Can be identified. When the address list is processed to generate a host set, this set will , An implicit message identified by the primary implicit ULP address in the message Intersect a set of hosts that are members of the loop. In this message group The ability to perform logical set operators is very useful in interactive applications. To. This allows a single ULP message to be addressed to the host sending it. A collection of calculated criteria without having to know anything about the members of the group in the strike It will be possible to selectively deliver messages to matching hosts. game Networked with hundreds of players in a 3D environment created by Let's take the example of playing a game again. All players can interact with each other Implicit message consisting of all game players in an area of the game Guru Think about the oop. Players shall be divided into a large number of teams. Ge A logical message group can be created for each team in the team. In one team To send a message to all players in this area to which it belongs, U LP message is a logic for all players belonging to the selected team All players in the area that have the auxiliary address of the message group Can be sent to the ULP implicit message group for. GMS is a get-together Appropriate set intersection can be done before sending the sage to the target host. As a result, The message is a player belonging to a selected team within a selected area of the game Can only be served. In summary, the invention reduces the overall message rate and reduces latency. For a large number of participants on a wide area network by providing a way to Addresses the issue of deploying interactive applications. The present invention relates to the above-mentioned " Server group communication method as a counter to the "delivery multicast communication" method Use the law. The present invention presents undesired side effects of the distributed multicast communication method. Overcome. Furthermore, the present invention reduces the message rate between hosts. Above As pointed out in the example, in traditional delivery multicast communication, each host is all You only need to send one message 7 times per second to a group containing your hosts, but 9 Receive 7 messages per second. In the present invention of server group communication, each host Sends one message 7 times per second and receives one message 7 times per second. The present invention relates to US Pat. Nos. 4,740,954, 4,864,559, 5,361,256, 5,079. Multicast routing and distribution disclosed in Nos. 767, and 5,309,433. It is different from the belief method. These patents are only a variant of delivery multicasting Since it is related, a means to reduce the received message rate, a collection of messages How to do it and how to do it in a message that performs logical operations in a message group Do not provide. It was directed to one message group from many hosts The message is received by the group server and the group server is the message This is different from the present invention in which the contents of the page are processed and the result is transmitted to the destination host. The invention is also in EP 0 637 149 A2, PCT / US94 / 11282, and PCT / US94 / 11278. Different from the disclosed destination multicast stream method. All of these references In the present invention, data transmission is performed from a source to a plurality of designated destinations. From the sending host to the server host system, then from the server host to the destination Describes data transmission to the host. The above and other features and advantages of the present invention are described below with reference to the accompanying drawings. It can be better understood from the detailed description of the invention. Description of the drawing Figure 1 shows a traditional uniki consisting of hosts, network links, and routers. Indicates the cast network. Figure 2 shows the traditional required to achieve an interactive application between four hosts. Shows unicast datagrams on the unicast network of. Figure 3 consists of hosts, network links, and multicast routers. Indicates a conventional multicast network. Figure 4 shows the traditional required to achieve an interactive application between four hosts. Shows the multicast datagrams on the multicast network of. Figure 5 shows a unicast network with the group communication server of the present invention. Shown. Figure 6 shows the book needed to enable an interactive application between four hosts. Shown ULP datagrams without payload aggregation on the network of invention .. Figure 7 shows the book needed to enable an interactive application between four hosts. The ULP datagram that aggregates the payloads on the network of the invention is shown. Figure 8 shows a traditional ATM network with a multicast server. Figure 9 shows the detailed datagram format for ULP messages of the present invention. And the address format. FIG. 10 shows the internal function of the GMS of the present invention. Figure 11 shows the host software-in required to support the ULP of the present invention. Shows the surface and function. Detailed description of the invention The present invention is used in order to realize an interactive application among a large number of users. Host computers efficiently communicate information with each other over a wide area network Provide a way to do it. This method has three components, the host protocol interface , Protocol, and server. The protocol is the host protocol in Located between the surface and the server, the network transit of the wide area network It is realized on the upper layer of the sport protocol. This protocol is an existing network Higher than the Transport Level Protocol (TLP) Called Level Protocol (ULP). In the OSI standard model, this protocol As a session layer protocol above the transport layer of the network Can be explained. Figure 11 shows the interactive application 150 and transport. Host protocol for host interface 153 for level protocol The interface 151 is shown. Network interface 155 is the host Provides a physical connection to your network. Network communication stack 154 Host interface for host and transport level protocol 153 Provides network transport services for and host apps Network transport of software and network communication stack The interface to and from the service. Interactive applications are traditional with a host interface to TLP Can send and receive network messages. Interactive application The ULP message is also sent through the host interface for ULP. Can be sent and received. Within the host interface for ULP Table 152 is deployed in the department, and the host sends all its ULP addresses. You can send sage. Each entry in the table is a pair of addresses, ULP address Includes the dress and its corresponding TLP address. Host ULPs message When sent to an address, the message will be sent to the TLP address corresponding to that ULP address. Incorporated in the TLP message sent to the dress. As a result, ULP Messe Transfer by the transport mechanism of the existing network Can be handled by The core function of ULP is a large number of hosts. Is a group communication that sends a message to a message group in which to this Therefore, a host can send a message to many hosts with one ULP message. Can be done. ULP is located above TLP, so ULP group communication The feature is to send TLP messages from one host to only one other host. Works on traditional unicast networks that cannot. Group-based communication uses a server called a group communication server. It is realized by. All ULP messages from the host are in the TLP proto It is sent from the host to the group communication server using a col. The server is a message Process the ULP part of the file to get the necessary part required by the ULP message Take it out. Control ULP messages are processed locally by the server , A receipt notification is sent to the sending host. ULP messages directed to other hosts The sage is processed by the group communication server and re-to the appropriate ULP destination host. Be transmitted. Again, these messages are paired using the TLP protocol. Including and transporting is done. In Figure 5, hosts 58, 59, 60, and 61 are group communication servers 6. Meet each other using ULP through a traditional unicast network using 2 Send sage. The network is traditional network links 69, 70, 71, Traditional routers 63, 6 connecting with 72, 73, 74, 75, 76, and 77 It consists of 4, 65, 66, 67, and 68. Host 58 is ULP A single ULP message identifying a destination address that is a sage group Send messages to hosts 59, 60, by sending to loop communication server 62, And can be sent to 61. ULP messages are directed to group communication servers It is included in the TLP message that is sent. This allows the message to be a router 63 to network link 71, then router 67, then server Properly sent to 62. Group communication server receives ULP message , This message contains hosts 59, 60, and 61 as members Determined to be directed to the page group. The server received the message Three sage payloads sent individually to each of the hosts and to three hosts Send as a new ULP message for. Each message is combined with a TLP message The message is appropriate through a traditional unicast network because it is included To Will be sent. The first ULP message is hosted by the group communication server 6 Sent to 1. This message is for network links 71, 70, 72, and Carried by 75, as well as routers 67, 63, 64, and 65. No. 2 ULP message is sent to host 60 by the group communication server. This Messages are on network links 71, 70, 73, and 76, as well as Carried by ters 67, 63, 64, and 66. Third ULP Messe The message is sent to host 61 by the group communication server. This message is ne Luck by worklinks 74 and 77, as well as routers 67 and 68 Be exposed. The present invention can be realized in both datagram and connection-oriented forms. Main departure To best understand the details of Ming, first consider the realization in datagrams. Is the best. Realization by datagram transport ULP provides address, message type information, and message payload. Incorporated into the datagram of the underlying network transport protocol And can be realized as a datagram protocol. ULP datagram The general form of the message format is shown in Figure 9, elements 123, 124, 125. , 126, 127, 128, and 129. Transport header 1 23 is the TLP datagram header that incorporates the ULP datagram. U LP message type field 124 is an outgoing message or an incoming message Whether it is a page, a control message, or a state message Shown. The table below shows several message types. ULP message type The field must be in the ULP datagram. Message type 1 Send 2 Receive 3 Control transmission 4 Control reception 5 State transmission 6 State reception Outgoing messages are always sent from the host to the group communication server. group Messages from the server to the host are always incoming messages. Control Outgoing messages provide control from the host to the group communication server A message requesting you to do so. The control received message is the destination Receive from the group communication server to the host in response to the control send message It is a take-off notice. State sending and receiving messages are sent by the host as a group. Reading and writing application-specific states stored in the communication server This is a special case of control transmission and reception that allows for ingestion. ULP The specific control functions supported by are described below. Destination ULP address 125 is required in ULP datagrams and ULP Messe Identify the main destination of the page. Address count field 126 is the ULP transmission Required for sage types and not present for ULP received message types. U If the address count field in the LP send message is non-zero, this Is the auxiliary destination address for outgoing messages following the address count field Identify the number of. These auxiliary destination addresses are shown as items 127 and 128. However, only the amount of auxiliary U specified by the address count field It is understood that the LP destination address exists. Finally payload 129 follows .. Payload formats for ULP datagrams are items 116, 117 , 118, 119, 120, 121, and 122. Item 1 16 is the message count, the number of payload elements contained in the payload To specify. One payload element is the source ULP address, data length, and It consists of a triplet of data. Items 117, 118, and 119 are of the payload Consists of the first payload element. Item 117 is the source U of the payload element. LP address, item 118 is the data length of the data in the payload element , Item 119 is the actual data. Items 120, 121, and 122 pay B Consists of the last payload element of the mode. ULP outgoing messages are a single pay Only payloads with load elements are supported. Therefore, message counsel Must be equal to 1. ULP incoming messages are one or more payrolls It may have a payload with elements. ULP address space ULP's address space has three segments: unicast host Divided into address, implicit group address, and logical group address .. All ULP source and destination addresses are in this address space Must. ULP address space on one group communication server It is unique. Therefore, each group communication server has its own ULP address. Have a pace. Each ULP datagram contains a TLP header, so there are many Loop communication servers can be connected to the network and hosts are confused by numerous gurus Can communicate with the communication server. Different group communication servers have many ULPs A unique T that can be used by the host to uniquely identify the address space Can have an LP address. Format for ULP address in Figure 9 Item 1 It is indicated by 30, 131, and 132. Address format field 130 A variable length field used to support a large number of address lengths. .. Address type field 131 is the type of ULP address, i.e. uni Indicates a cast host, implicit group, or logical group. The coding is as follows It is. Address type coding 00 Unicast host address 01 Unicast host address 10 Implicit group address 11 Logical group address Due to address format coding, the length of the address field, and thus UL The total length of the P address is determined. This coding is shown below. Address tie When the unicast host address is specified, the address type field The lower bits of b are concatenated to the address field and become the most significant bit of the address. To. This allows the address space size for unicast host addresses. Is doubled. This is because there are usually more hosts than group communication servers. For. Address format coding 0 29-bit address field 10 4-bit address field 110 11-bit address field The ULP unicast host address connects to the group communication server first Is assigned to each host when The host sends a message to another ULP address When sending, the host's unicast ULP address is in the received payload element Appears as the source ULP address. Unicast ULP host address is also , Used as destination address only as an auxiliary address in ULP outgoing messages It can be. These cannot be used as the primary ULP destination address. this Hosts cannot send ULPs directly to each other and are always a group communication server Means that messages must be sent to each other through. An implicit group address is a group that requests the creation of an implicit message group. In response to the control message to the communication server, to the group communication server Therefore, it is created. This is the host that requests the creation of an implicit message group Once created, it becomes a member of that message group. Other hosts are glue Send an inquiry control message to the communication server to know its existence , Then you can send an implicit group join message to join this group it can. The group communication server is a member of the implicit message group. Maintain a list of strike ULP addresses. Only implicit ULP group addresses ULP An address that is allowed to be the primary destination for outgoing messages. Dark The silent ULP address will appear as the ULP source address in the payload element. There is no. Logical ULP addresses are sent to and to logical message groups. Identify set operations between group members of auxiliary ULP addresses in a message Used for both. Logical message groups are implicit message groups It is created and joined in the same way as, but the logical ULP address is the ULP transmission mail. Can only be used as an auxiliary ULP address in the sage. Logical ULP address Also does not appear as a source ULP address in the payload element. U Support for set operations between message groups as part of LP sent messages Will be discussed in a later section on ULP outgoing messages. Internal function of group communication server Figure 10 shows the internal elements of the group communication server. In a preferred embodiment, the group communication server is connected to a wide area network. It is a general-purpose computer system that has a network interface. item 135 is a network interface for group communication servers To realize TLP on the server as well as hardware connection to the network Contains the communication protocol stack used for. Item 136 is the overall control function for the group communication server To. This control feature is for all U sent or received by GMS Responsible for LP messages. Inside this control feature are some important There are various storage and processing functions. Item 137 is currently connected to GMS An address map for all hosts. This address map is on GMS ULP host address of each connecting host and its corresponding TLP address Is a list of. This allows the control function to be a host connected to the GMS. Allows you to build the TLP headers needed to send ULP messages to .. Item 138 is the currently active implicit UL currently recognized by GMS. A list of all P addresses. Item 139 is an application-specific step. It is a storage and processing function. Many dialogues that take place over the network Mold The application can be realized only by host-based processing. like this If this is the case, all the data that needs to be sent between the hosts is transcribed using ULP. Can be sported. However, depending on the application, the application Some state information needs to be centrally stored and maintained. This is Hoss Useful when the user dynamically joins or leaves the application is there. When a host joins such an application, it is already an application The current application to match other hosts in some part of the application You need a position where you can get a quick shot of the current state. This stay In order to read and write the storage area, ULP sends the state and sends it. And support incoming message types. In these messages, the state Access the state address space so that different parts of can be accessed individually Has the ability to set. Application features written to this state storage area Different state processing can also be realized. Items 140 and 141 are for a large number of ULP server processes running on GMS. Two of them. These are the software processes that are at the heart of ULP Is. Each implicit ULP address recognized by GMS is a ULP server One-to-one pair to Rothes and the message group maintained by this process Have a response. All ULP outgoing messages are the primary destination address of the message All ULP transmissions must have an implicit ULP address as The sage is sent to the ULP server process where it is processed. These pros Seth responds to ULP control messages with GMS control capabilities And create a new implicit ULP address. These are the messages When the last host that is a member of the group leaves the message group, Will be destroyed. Inside the ULP server process are members of the message group List 142 of ULP host addresses, a member of the message group Message queue set 143 for each host, and many to a single host A collection of messages used to combine a number of messages into a single message There is a function 149. Item 145 should be the logical ULP address and message group in the GMS. Keep the list. Items 144 and 146 are numerous logical ULP addresses Represents two of them. For each logical ULP address, a logical message glue There are corresponding lists 147 and 148 of the host ULP addresses of the members of the group. Exists. Logical message groups are connected to a specific ULP server process No, GMS and global relationship for all ULP server processes It is in. Control function Control functions include connect, disconnect, create groups, close groups, and join groups. Addition, group inquiry, group member inquiry, group attribute inquiry It consists of a sword. These control functions send and receive ULP controls Realized by a message. The control function is the ULP control by the host. It is started by sending an outgoing message to GMS. These messages Allows only the primary ULP destination address in the message, not the auxiliary address Not possible. The primary ULP address is each of the control functions listed above. With a control address space that has a unique fixed address assigned to Is interpreted as. Control function required depending on the content of the data in the payload The argument to be is supplied. The return value from the control function is the data return line ULP co-directed to the host that sent the first control message Returned with a traffic received message. Detailed operation of these control functions Will be described later. Connect This control feature allows the host to connect to the GMS. Me The destination ULP address in the sage is a fixed address indicating the connection function. Paylow The source ULP address and all data in the box are ignored. Upon receiving this message, GMS Control Function 136 will release a new host. Create a address and use this host address from the TLP header of the message Put it in the host address map 136 along with the source TLP address. This is Upon successful completion, the GMS control function will indicate that the host connection was successful. Control receive ULP, along with the function code in the data portion of the payload shown Send a message to the host. The destination ULP address in the message is assigned to the host The assigned ULP address. The host saves this and sends it to GMS in the future Used when sending a message. If an error occurs, the control function , The functional code in the data portion of the payload, indicating that the host connection failed Both return the message to the host. Disconnect This feature allows the host to disconnect from the GMS. Address in the message The destination ULP address is a fixed address indicating the disconnection function. Source ULP address Leaves the host implicitly or from logical group membership before disconnecting Used to make. All data in the payload is ignored. GMS The control feature also removes host entries from the host address map To. Upon successful completion, the GMS control function successfully disconnected the host. Control reception, along with the function code in the data portion of the payload to indicate that Send ULP messages to the host. The destination ULP address in the message is the host The ULP address assigned to the computer. If an error occurs, control The function is a machine in the data part of the payload that indicates that the host disconnection failed. Return the message to the host along with the function code. Implicit group creation This feature allows the host to have a new implicit message group as well as associated darkness. You can create silent ULP addresses and server processes. message The payload in can contain a single payload item and this data field is guru Holds the attributes of the group. These attributes define any of the selective functions of the group Can also be used for. The destination ULP address in the message is an implicit group It is a fixed address that indicates the function. GMS control function is new implicit ULP Assign an address, add it to the implicit ULP address list 138, and add a new U Create LP server process 140. The host sending this message is implicit Added to the group's membership list. This is the source in the message ULP address to group membership list in ULP server process 1 It is done by adding to 42. Upon successful completion, GMS control The feature is in the data portion of the payload that indicates successful implicit group creation. Send a control receive ULP message to the host along with the function code. Peiro The source ULP address in the card is the ULP address assigned to the new implicit group. It's a dress. If an error occurs, the control function will create an implicit group Host with a functional code in the data portion of the payload that indicates that the formation failed Return the message to Create logical group This feature allows the host to use new logical message groups and associated logic. You can create a ULP address. The payload in the message is a single page It can contain eroded items, and this data field holds the attributes of the group. This These attributes can be used to define any selective function of the group. The destination ULP address in the message is a fixed address that indicates the logical group creation function. It is. The GMS control function assigns a new logical ULP address. Add this to the logical ULP address list 145. The host sending this message , Is added to the membership list of logical groups. This is in the message Group for new logical message group 144 with source ULP address This is done by adding to membership list 147. Completed successfully And the GMS control function indicates that the logical group creation was successful, pay Control incoming ULP message, along with the function code in the data portion of the load To the host. The source ULP address in the payload is a new logical group The ULP address assigned to. If an error occurs, control The function is in the data part of the payload, which indicates that the logical group creation failed. Returns the message to the host with the function code of. Group participation This feature allows the host to join an existing logical or implicit message group. can do. The destination ULP address in the message indicates the group join function It is a fixed address. The data portion of the payload is for the group you plan to join Includes ULP address. The GMS control function looks up this address and this Determines whether b is an implicit ULP address or a logical ULP address .. If this is an implicit ULP address, the GMS control function will be a message. Find the ULP server process selected by the address in the page payload Issue and send the source ULP host address from the message to the group member Add to presto 142. If this is a logical ULP address, then the GMS controller Troll function is the logical UL selected by the address in the message payload Find the P address 144 and the source ULP host address from the message To group membership list 147. Upon successful completion, GMS The control function is the payload data indicating that the group participation was successful. Send control incoming ULP message to host with function code in part .. The ULP address of the group in which the source ULP address in the payload participated is there. If an error occurs, the control function failed to create the group A message to the host, along with a functional code in the data portion of the payload to indicate that Return the Group withdrawal This feature allows the host to be a member of an existing logical or implicit message. You can leave the group. The destination ULP address in the message is guru It is a fixed address indicating the loop withdrawal function. The data part of the payload leaves Contains the ULP address of the planned group. GMS control function is this address Examine the address and see if this is an implicit ULP address or a logical ULP address Decide whether. If this is an implicit ULP address, then the GMS control The feature is the ULP server selected by the address in the message payload Find the process and glue the source ULP host address from the message Remove from membership list 142. This host is the last member of the group If so, the ULP server process is terminated and this implicit ULP address The allocation of space is removed. If this is a logical ULP address, then the GMS The control function is a logical U selected by the address in the message payload. Find the LP address 144 and originate from the message ULP host address Remove from group membership list 147. The host is the best in the group If it is a later member, no ULP address will be assigned. Completed successfully And the GMS control function shows that the group withdrawal was successful, Paylow Control received ULP message along with the function code in the data part of the Send to strike. If an error occurs, the control function loses group creation Send to the host with a functional code in the data portion of the payload that indicates the loss Return the sage. Group inquiry This feature allows the host to be implicitly or logically active on the GMS. You can get a list of Sage groups. Destination UL in message The P address is a fixed address indicating the group inquiry function. Of payload All data parts are ignored. When completed successfully, GMS control machine Noh can receive control UL with a payload that has a large number of payload elements. Send a P message to the host. The first payload element is a group query Includes a function code that indicates success. Source ULP in the first payload element The dress is ignored. Each of the payload elements that follow is an act on GMS Source address of the payload element, which is one of the live group addresses Contains the ULP group address in the field. To the payload elements that follow these Has no data fields. If an error occurs, the control function will Peiro with a single payload element to indicate that the loop query failed Returns the message to the host with the function code in the data part of the card. Group member inquiry This feature allows the host to host all hosts that are members of the message group. You can get a list of cards. The destination ULP address in the message is It is a fixed address indicating the loop member inquiry function. Payload data The part has the address of the message group to make the inquiry. Completed successfully When done, the GMS control feature is a payrow with a large number of payload elements. Send a control receive ULP message to the host together with the host. First paylow The element contains a functional code that indicates that the group member query was successful. The source ULP address in the first payload element is ignored. Followed by Peiro Each of the mode elements is one of the active group addresses on the GMS ULP group address in the source address field of the payload element that is including. There are no data fields in the payload elements that follow them. An error If so, the control function failed the group member query Indicates that the function in the data portion of the payload with a single payload element Returns the message to the host with the mode. Group attribute query This feature allows the host to get a list of message group attributes. Can be done. The destination ULP address in the message is the group attribute query function It is a fixed address indicating. The data part of the payload makes an inquiry It has the address of a sage group. Upon successful completion, GMS control The feature is a control receive U with a payload that has two payload elements. Send LP message to host. The first payload element is a group attribute query Includes a functional code indicating that the sewn was successful. The second payload element is the message Includes the attributes of the group. If an error occurs, the control function will guru Pay with a single payload element to indicate that the loop attribute query failed Returns a message to the host, along with the feature code in the data portion of the load. Outgoing message behavior In many individual cases to fully understand how the outgoing message function works It's not a waste to think about it. Single implicit destination The simplest case is to send the message to a single implicit ULP address. To. For all outgoing message datagrams, the destination ULP address 125 is dark Must be a silent ULP address. In this single implicit destination case, this Is the only destination address in the datagram. Auxiliary address count 126 It is zero and there is no auxiliary destination address 127 or 128. Payload Message count 116, which is 1, Messe in source ULP address 117 It consists of the ULP of the host sending the data, the data length 118, and the data 119. Send The message datagram has only one payload item, so it is a message. The count field 116 must always be 1. The host directs the datagram to GMS, the selected goal of the message Send the outgoing message to the network with the TLP header. GMS is a message The GMS control function 136 receives the message, but this is the outgoing message data. Determined to be a gram and its implicit destination ad in its implicit ULP address list 138 Examine Les. ULP incoming message data graph if the address does not exist An error message is returned to the sending host. If the address is valid The GMS control feature removes the TLP header from the datagram , Send the ULP part to the ULP server process corresponding to the destination implicit ULP address To. For illustration purposes, assume this is ULP server process 140. U LP server process 140 from messages 117, 118, and 119 Take a single payload item and put this payload item on Message Queuing 1 Place in each of 43. Served by ULP Server Process 140 There can be one message queue for each member of the message group .. Each member of the group is listed in Host Address List 142. Each can have a host ULP address. Each message in the ULP server process The page can be filled with payload items that target a particular destination host. For the mechanism by which payload items are dequeued and sent to the host It will be described later. Auxiliary unicast destination In this case, in addition to the implicit destination 125, the datagram has one auxiliary ad Les 127 also exists. Auxiliary address count 126 is 1, auxiliary destination Address 127 is the unicast host ULP address. Payload is 1 Message count 116, messages in source ULP address 117 Consists of the ULP of the host sending the data, the data length 118, and the data 119. The host directs the datagram to GMS, the selected goal of the message Send the outgoing message over the network with the TLP header. GMS is a Messe Received the message, GMS control function 136, this is the outgoing message day Implicit destination in its implicit ULP address list 138, determined to be a tag Dress, and Unicast Host ULP Auxiliary in Host Address Map 137 Look up the address. If none of these addresses exist, the sending host An error message is returned with the ULP received message datagram. A If the dress is enabled, the GMS control feature will deactivate the TLP header. UL removed from the program and the ULP part corresponds to the destination implicit ULP address Sent to the P server process. For the sake of explanation, this is the ULP server process Suppose it is 140. ULP server process assists UL from messages Take the P address and from this address this is the unicast host ULP address Decide to be a dress. The server process then has this address as the host ad Whether you are a member of the message group specified by Les List 142 Find out. If you are not a member, no further action will be taken and you will receive a message. Payload items in sage are not placed in any of message queue 143 .. If the host address is in a message group, Peiro in the message The item is placed in a single message queue that corresponds to that host. This The net effect of is that the ULP server process has an implicit ULP destination address. Message group selected and defined by group membership list 142 Members of the loop, members of the host set specified by the auxiliary address At the same time, it means that the set intersection operation was performed. Next, the payload item is This Sent only to hosts that are members of the intersection of. Auxiliary logical destination In this case, in addition to the implicit destination 125, the datagram has one auxiliary ad Les 127 also exists. Auxiliary address count 126 is 1, auxiliary destination Address 127 is a logical ULP address. Payload is 1 message Dicount 116, of the host sending the message in source ULP address 117 It consists of ULP, data length 118, and data 119. The host directs the datagram to GMS, the selected goal of the message Send the outgoing message over the network with the TLP header. GMS is a Messe Received the message, GMS control function 136, this is the outgoing message day Implicit destination in its implicit ULP address list 138, determined to be a tag Dress, and the logical ULP auxiliary address in the logical ULP address list 145 Find out. If none of these addresses are present, then the sending host is ULP. An error message is returned with the incoming message datagram. Has an address If it works, the GMS control function will make the TLP header a datagram. ULP server whose ULP part corresponds to the destination implicit ULP address Sent to the process. For illustration, this is ULP server process 140 Suppose. ULP server process from message to auxiliary ULP address Is taken out and it is determined from this address that this is a logical ULP address. In this example, it is assumed that this logical ULP address is the logical address 144. The server process has a group membership list 1 that corresponds to the logical address. Examine 47, a collection of server processes with group membership list 142 Performs intersection operations. If there are no members in this set intersection, this The above action is not performed, and the payload item in the message is the message queue. -Not placed in any of 143. A place where members of set intersection operations exist In that case, the payload item in the message is the host that is a member of the set intersection. Is placed in the queue corresponding to. Numerous auxiliary addresses with logical operations In the most advanced form, the outgoing message is an implicit message of the ULP server process. Collective performance between Sage Group and numerous logic and unicast ULP addresses You can do calculations. This is a large number of auxiliary destination ULP addresses in the message By placing with logical operators embedded in the address list Is done. The address count 126 is all in the address lists 127 and 128. Keeps a count of all auxiliary addresses. Auxiliary address is a logical ULP address And a mixture of unicast host ULP addresses. In the ULP address space Two logical ULP addresses in the logical message group and message list The role of specifying the set operations performed with the unicast host address of Can be guessed. These are specially allocated for the set intersection, the union, which is a function. It is the address that was given. To indicate the complement of the set, the third logical address is Used. Payload is 1, message count 116, origin ULP The ULP of the host sending the message in address 117, data length 118, and It consists of data 119. The host directs the datagram to GMS, the selected goal of the message Send the outgoing message over the network with the TLP header. GMS is a Messe Received the message, GMS control function 136, this is the outgoing message day Implicit ULP address in Implicit ULP Address List 138, determined to be a tag Sage and host ULP address map 137 or logical ULP address Adjust all addresses in the appropriate address list in Listing 145 Bell. If neither address exists, the ULP incoming message data graph An error message is returned to the sending host. Where the address is valid In that case, the GMS control function removes the TLP header from the datagram. The ULP part goes to the ULP server process that corresponds to the destination implicit ULP address. b Send. For the sake of explanation, assume this is ULP server process 140 .. The ULP server process retrieves the auxiliary ULP address from the message. , Scan this from start to finish. Scanning and processing of set operators is postf It is done by the ix method. This means that the arguments are read, followed by the operator. Re, This means that it will then be applied to the argument. The result of the operator is the first of the following operations It becomes an argument. Therefore, at the beginning of the scan, two addresses are read from the address list. It is found out. The following addresses are the operators applied to these arguments and this operation The result of the child is the first argument used by the following operators. After this, 1 One address is read from the address list, followed by the logical ULP address Found out, this is in two arguments consisting of the new argument and the result of the last operator Operator. The logical address used to indicate set completion is the set operator Is not an argument qualifier. Because this is any ad in the address list This is because it is possible to precede the less. The meaning of the set completion argument qualifier is the outgoing message. Related to group membership of implicit group addresses in. Set completion limited The message whose child is selected by the implicit ULP address in the outgoing message Valid if preceded by a unicast host address that is not a member of the loop The argument is a set of all hosts that are members of the implicit message group. .. The set completion qualifier is selected by the implicit ULP address in the outgoing message Precedes the unicast host address that is a member of the message group If the valid argument is the original unicast ho, which is limited by the completion function For all hosts that are members of an implicit message group other than the strike address It is a set. A valid argument if the set completion qualifier precedes a logical ULP address Is a member of a logical message group preceded by a set completion qualifier Of an implicit message group identified by an outgoing message, other than the host It is a set of all hosts that are members. The entire address list is just a host Once processed into a single result set, in this set and in outgoing messages A collection of members of implicit message group 142 defined by an implicit address A set intersection operation is performed for the case. There are members in this set intersection If not, no action is taken and the payload item in the message is displayed. Not placed in any of the sage queues 143. Members of set intersection operations If exists, the payload item in the message is a member of the set intersection. It is placed in the queue corresponding to the host that is. Message delivery and assembly When a message is queued in a message queue within the ULP server process, There are various ways in which these can ultimately be delivered to the target host. In the present invention , Delivery method created by implicit ULP message group and server process It is set for each ULP server process according to the attributes provided when it is issued. This In describing these methods, the invention is networked interactive. The effect of host groups sending messages to each other at high speed during application implementation It is important to keep in mind that it is intended to provide a proactive means. .. Also, in the following description, GMS refers to the group to which the host belongs. It is assumed that echo suppression is performed when sending a message. This means that the host is A copy of its own message into a loop, even as a single non-aggregate message It means that it will not be received as a payload item in the aggregated message. this Is controlled by the attributes of the ULP server process and will stop echo suppression. Echo suppression is the default, although it can be changed to. Immediate delivery The simplest delivery method is as soon as the payload item is placed in the message queue. It is to deliver to those target hosts immediately. Each page in the message queue Eload items include ULP source address, data length, and data to be sent. Can include. To achieve immediate delivery, the ULP server process must be specific. Fetch the payload item from the message queue for strike 143. This host The host address for the account can be obtained from the group membership list 142. obtain. Payload item and destination host address are GMS control function 13 To create a ULP incoming message that is sent to 6 and then sent to the destination host Used for. GMS control function 136 uses the destination ULP host address Then, look up the TLP address of the host from the host address map 137. this Can be used to create the TLP header 123 for a message. U LP message type 124 is ULP received and destination ULP address 125 is Destination host, address count is 0, no auxiliary address exists .. The payload in this case has a message count of 116, which is 1, The payload item consisting of the fields 117, 118, and 119 is the message queue. It becomes the payload element taken out from. Immediate delivery is useful when the message rate between host groups is low. Gu Each member of the loop messages to all other members of the group at a fixed rate Think about the four hosts that are members of the implicit message group .. With immediate delivery, each host has three messages to other members of the group at a fixed rate. Send sage and receive 3 messages from other members of the group. This is acceptable if the group size is small and the message rate is low To. However, the total message rate is the basic message rate and all members of the group. It is clear that it is the product of the number of bars minus one. From this, a big guru Message rate is acceptable for high-level and highly interactive message rates It is clear that it will be too high beyond the enclosure. 10 messages per second In a group of 20 members with a base message rate, each host Send 190 messages and receive 190 messages per second You can get the whole message rate. This message rate is on the internet Not supported by traditional dial-up connections to traditional wide area networks such as It can be Noh. Glulam The central concept of the present invention is to peiro a large number of messages in a message queue. To a single ULP incoming message to a host with many payload items in the mode It is to assemble with. ULP server process 140 is a message for hosts Extract payload items from Queue 143 and aggregate them into buffer 149 Accumulate in. The aggregate buffer is a buffer for each host that has a message queue. It has a ufffa region. These separate host areas in the aggregate buffer are host aggregates. It is called a production buffer. The start and end of this assembly period will be described in the next section. It can be controlled in many ways. At the end of the aggregation period, each host aggregation buffer Can hold a large number of payload items. The host aggregation buffer is the payload term It holds the message count for the eye, followed by a number of payload items. host The contents of the aggregate buffer, along with the ULP host address of the corresponding host, are GMS. ULP receive mail sent to control function 136, where it is sent to the destination host Used to create a sage. GMS control function 136 is the destination Host TL from host address map 137 using ULP host address Look up the P address. This creates TLP header 123 for the message Can be used for. ULP message type 124 is ULP received and addressed Destination ULP address 125 is the destination host, address count is 0, supplement There is no auxiliary address. The payload in this case has a message count of 1 Set 16 by the message count value from the host aggregation buffer. Pay The load may include all payload items from the host assembly buffer. The effect of aggregation is to significantly reduce the total message rate received by the host. It can be done. A single message to a host is sent to another host during the aggregation period It may be possible to carry a large number of payload items received from. This is ho The strike group sends a message to all other hosts in the group at a regular rate Very well adapted to the interactive application of the invention being sent. The assembly is Single for each member of the group with all messages from all other hosts It can be very effective in summarizing the message. This allows many pieces Processing on each receiving host to receive a single message instead of another Reason is reduced. Also, the assembly is a separate message header for each payload item. The total data rate to the host can be reduced by eliminating the need to provide. Many Only 1 consisting of fields 123, 124, and 125 for payload items This is for small payload items as there is only one message header Savings are important. Host group messages to group at regular rate In many interactive applications, each host sends a message to a group. Often the data is very similar to the messages sent by other hosts. For this reason , Many payload elements in a payload that is a collection of many payload items You will be given the opportunity to apply data compression methods across data elements. This is like Various known data compression methods may be applied. First de in the first payload item - The data elements are sent in uncompressed form, and each subsequent data element is a form of difference code. It is compressed using the conversion method. Prediction that various known data compression methods will be encoded Use the concept of a predictor that has a difference from the value. The first in the assembled payload A data element can be used as this predictor, and subsequent data elements are such It is encoded using a data compression method. These traditional data compression methods are compression Do not assume any knowledge of the internal structure or function of some of the data elements I. Use this knowledge to implicitly increase the efficiency of coding It is also possible to use an application-specific coding method. At the time of server etc. One way that the assembly period can be defined is called server time or SI. There is something. In this way, the ULP server process defines the aggregation period. Specify a uniform time base for this. This time base has three parameters: Specified by duration, assembly offset, and transmission offset. these The parameters are implicit when the group and ULP server process are created. Set by the attributes provided for the implicit group creation control function. period Is a fixed time interval during which the ULP server process messages -Accumulated messages in the queue, aggregated messages in the queue, and aggregated Send a message to the target host. Aggregation offset is at some point after the start of the period Prescribe. After the start of the period, the arrival message will be sent to Messe for delivery in the next period. -Stored in the queue. Therefore, in the assembly offset after the start of the period, each message You can get a quick copy of all the messages in the sage queue. New message continues It arrives and is put in the queue after the assembly offset. Before the time of assembly offset Only the messages in the queue will be aggregated into outgoing messages. Obtained The aggregated message is then at the point of transmission offset after the start of the period. Can be sent to their target hosts. As a result, messages arrive in succession and messages Stored in Jikyu. Once each period, the message is the goal of the message Aggregated into a single message to each host, once each period, these aggregated messages The sage is sent to the host. As another embodiment of the SI method, the ULP server process receives incoming messages. Dyna the duration based on certain criteria such as rate and / or received data rate Can fluctuate Mick. The ULP server receives the number of messages per second or Use the function to specify the aggregation period based on the total number of payload bytes received per second obtain. One reasonable feature is the rate of incoming messages or the pay low of incoming messages. As the data rate of the data increases, the assembly period may be shortened. By this As the incoming message and / or received data rate increases The size of the sage is prevented from becoming too large. Received message rate, Receive payload data rate, or other ULP server process available Other possible functions that vary the assembly period based on parameters may also be used. .. Host sync The host synchronization or HS method that specifies the aggregation period is controlled by the host. It is possible to specify a flexible period. This is because the host operates in HS mode Order to send messages to one or more members of an implicit message group Based on the concept. When all the hosts in the message group finish their turn, they assemble The period ends. A quick copy of the contents of the message queue is obtained, and the contents of each queue are collected. The messages that are formed and aggregated are sent to the target host by each message queue. Is done. According to the improvement of this method, three ULP outgoing message ties to the group Send to only the implicit address of the group, unicast within the group A logical ULP ad that sends to a host address and shares members with a group Limit which of the sends to the host constitutes the host order. glue The attributes of the host can be considered to be the order of the hosts as well as the HS assembly. Also specifies one or more ULP outgoing message types. According to further improvements Set the total number of visits to the host within a single assembly period. The default is It is once, but can be allowed many times. Exceeding the number of times the host is allowed If you try to take turns, the message will be ignored. This assembly method is performed by hosts who are members of the HS implicit message group. Has a processing function that is synchronized when running the same interactive application Ru It has the further advantage of. Many networked interactive applications Is a simple and comprehensive three-step operation model, that is, messages from other hosts. Wait for the message, process the message and local user input, and process the local appliqué It is based on the model of updating the session and sending a message to another host. This The basic application loop provides a number of interactions, such as 5-30 times per second. Repeated at a rate fast enough to do. Application state is different Synchronize such applications to match between host machines It is desirable to keep it in. Such an application uses the HS model of the present invention These actions are naturally synchronized when communicating. ULP sir by HS The bar process is that every member of the message group finishes its turn Eh, wait until you send a message to the group, then gather to the members of the group Send a sage. This allows the application on the host to aggregate messages Will wait until you receive. After this, each application will have these messages Start processing sage and local user input. Each application Do each process at a different speed and send the next message to the group at different times Even if you send it, the ULP server by HS will do everything Wait until you report the message to the group. This will make all hosts other All hosts so that they are in the same application loop iteration position as all The application is kept synchronized. This allows the application The state is kept consistent on all hosts. GMS to host Only due to workload propagation delay and differences in processing speed between hosts, respectively Can result in the start and end of the process starting at different times. All hosts Is required for networked applications to keep them in sync Not a requirement. Only the application states need to match To. The HS method provides a natural way of doing this in the environment of the present invention. Suitable embodiment In the detailed description of the present invention, as the best way to describe the present invention, the data of the present invention I mentioned the realization of the tag. Suitable embodiments of the present invention will be described below. .. In this preferred embodiment, the wide area network is the Internet and TLP The protocol is TCP / IP. GMS is a general purpose connected to the Internet It is a computer system and the host is a personal connected to the internet It is a computer. TCP / IP is a more efficient application interface on host 151 Gives many advantages of providing an ace. TCP / IP is the source in its header And support the concept of destination port numbers. ULP is the source and destination UL A port number that identifies the P connection can be used. Most ULP outgoing messages Most ULP receptions from the host to the implicit ULP group address The message is from the implicit ULP address to the ULP host address. This All of these and ULP message type fields are TCP / IP headers Can be represented by source and destination port addresses within. This is most For ULP messages, ULP messages embedded within TCP / IP messages Sage means that it only needs to include the payload. ULP server processor Aggregate ULP incoming messages sent from the host to the host are slightly more complicated. here The destination port is the host and the source port is the implicit ULP group address Yes, the payload still has the source host ULP address within each payload item And include. TCP / IP also supports header compression for slow dial-up lines And this is also important in this application. See RFC 144. TCP / IP is a connectivity provider that provides a reliable end-to-end transport. It is a directed protocol. This is an error retransmission as well as a higher level of data Handles transparent fragmentation and reconstruction to rotocol. By header compression , Omit most of the TCP / IP headers with each packet and put them in a small connection identifier It is possible to change. If this connection ID is the source and destination IP address And can uniquely specify a connection consisting of source and destination TCP / IP port numbers .. In the interface to the application on the host, in this preferred embodiment ULP acts as a session layer protocol. In this preferred embodiment, the phos The application on the server opens a session by the ULP server process. This Sessions are identified by a unique session ID on the host. Host up The application then sends the data to the ULP host labeled with this session ID. Send to interface 151. Session ID is for implicit ULP address TCP / IP TL on a GMS server running a specific ULP server process Specifies the host and implicit ULP pair, including the P address. ULP server To tie the Rothes GMS transport address to the session ID Therefore, many group communication servers on the network can be used as applications. Can be supported in a transparent way, with a single host but different Has a large number of active sessions with a physical group communication server be able to. This ensures that the ULP address space is unique to each GMS. Address space collision problems that can arise from this fact are avoided. Another embodiment One possible extension of the invention is the common same for GMS and the hosts that connect to it. Extending ULP to support time-based. This is SI The most interesting thing in a message aggregation mode environment. GMS SI time The base can be replicated on all hosts, and all hosts and GMS You can stop and lock these time bases. Time on many computer systems There is already a way to synchronize the base. One such method is called NTP Is done. Another extension of the invention is an application specific to the content of the received message. It is to specify the ULP server process that performs specific processing. Various different Application-specific processing functions can be specified and realized. One specific machine Noh can be selected by the attributes provided by the implicit group creation feature. these The function processes the data in the message payload and processes the data elements in the payload. It can be replaced with the processing result. Individually or message payload processing Combined with the reason, the process applies the bare message payload data to the application It can be stored in a specific state storage area, or the processing result can be stored. The host system does not have to be a personal computer, it is a dedicated game console Sole, TV top box, or program that can implement the ULP protocol It is clear that it can be another device with a ramable controller. The wide area network used to transport the ULP protocol It doesn't have to be the Internet, and it doesn't have to be IP-based. ATM net Wide area packets, including work or digital cable television networks Or even in other networks that have a means for datagram transport It is possible. With the full description of the invention described above, the spirit or scope of the invention described herein. It will be appreciated by those skilled in the art that the present invention may be modified and modified without departing from the above. It is clear. Therefore, the present invention is limited only by the appended claims. Shall be.
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
7 members in 5 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 08595323 | United States of America | – | |
| 59532396 | United States of America | A | |
| 59532396 | United States of America | A | |
| 9700567 | United States of America | W | |
| 9700567 | United States of America | W | |
| 595323 | – | – | – |
| PCTUS199700567 | – | – | – |
| US19960595323 | – | – | – |
| WO1997US00567 | – | – | – |
Members7
| Document | Office | Kind | |
|---|---|---|---|
| WO9728502A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU1747197A | Australia | A | |
| US5822523A | United States of America | A | |
| US6018766A | United States of America | A | |
| JP2000504133AThis record | Japan | A | |
| EP1012724A1 | European Patent Office (EPO) | A1 | |
| US6226686B1 | United States of America | B1 |
Numbers
- Publication
- 2000-504133
- Publication, DOCDB
- 2000504133
- Publication, EPODOC
- JP2000504133
- Application
- 9527663
- Application, DOCDB
- 52766397
- Application, EPODOC
- JP19970527663
Titles2
- Japanese
- 【発明の名称】対話型アプリケーションのためのグループサーバー通信システム
- English
- Invention: Group server communication system for interactive applications
Classification
- CPC, 9
- H04L12/185
- H04L12/1886
- H04L69/329
- H04L9/40
- H04L67/131
- H04L69/327
- H04L41/0893
- H04L69/32
- H04L67/01
- IPC, 6
- G06F13 00
- H04L12 18
- H04L12 24
- H04L12 46
- H04L29 06
- H04L29 08