WO2006137700A1 - Method and apparatus for providing reliable communication between member servers belonging to same multicast group - Google Patents

Method and apparatus for providing reliable communication between member servers belonging to same multicast group Download PDF

Info

Publication number
WO2006137700A1
WO2006137700A1 PCT/KR2006/002408 KR2006002408W WO2006137700A1 WO 2006137700 A1 WO2006137700 A1 WO 2006137700A1 KR 2006002408 W KR2006002408 W KR 2006002408W WO 2006137700 A1 WO2006137700 A1 WO 2006137700A1
Authority
WO
Grant status
Application
Patent type
Prior art keywords
server
sequence
member
message
stored
Prior art date
Application number
PCT/KR2006/002408
Other languages
French (fr)
Inventor
Seonghun Kim
Original Assignee
Nhn Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations contains provisionally no documents
    • H04L12/18Arrangements for providing special services to substations contains provisionally no documents for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations contains provisionally no documents for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/18Network-specific arrangements or communication protocols supporting networked applications in which the network application is adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/38Protocols for telewriting; Protocols for networked simulations, virtual reality or games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATIONS NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Abstract

A method and system of providing reliable communication between member servers belonging to the same multicast group, the method including: maintaining a first server sequence corresponding to a first member server belonging to the multicast group and a stored server sequence corresponding to each of remaining member servers belonging to the same multicast group as the first member server, in a server sequence storage of the first member server; transmitting a multicast message including a first server identifier identifying the first member server and the first server sequence to the remaining member servers belonging to the multicast group; increasing the first server sequence maintained in the server sequence storage by a predetermined value whenever transmitting the multicast message; receiving a final sequence notification message from a second member server belonging to the same multicast group with the first member server, the final sequence notification message including a second server identifier of the second member server and a second server sequence corresponding to the second member server; identifying a second stored server sequence corresponding to the second server identifier, stored in the server sequence storage, based on the second server identifier included in the final sequence notification message; and requesting the second member server to retransmit a multicast message corresponding to a server sequence made by adding a predetermined value to the second stored server sequence when the second server sequence is not less than the server sequence made by adding the predetermined value to the second stored server sequence.

Description

METHOD AND APPARATUS FOR PROVIDING RELIABLE COMMUNICATION BETWEEN MEMBER SERVERS BELONGING TO

SAME MULTICAST GROUP

Technical Field

The present invention relates to a method and apparatus for providing reliable communication between member servers belonging to the same multicast group.

Background Art FIG. 1 is a diagram illustrating a network connection of user terminals accessing a plurality of service servers according to a conventional art.

A user who uses user personal computers (PC) 101 and 102 illustrated in FIG. 1 accesses any one of game servers 104, 105, and 106 providing an on-line game which the user desires to play via the Internet 103. As an example, the game servers 104 and 105 may provide a GOSTOP game service, and the game server 106 may provide a Hula game service. In this instance, the user's login/logout was separately performed in each of the game servers 104, 105, and 106. Also, the user's login/logout information was separately managed in each of the game servers 104, 105, and 106. Accordingly, in the conventional art, a user who has logged in to one game server could not ascertain a current state of another user who has logged in to another game server. As an example, the current state may designate whether the other user has logged in to or logged out of a game server, or may designate which game the other user is playing.

FIG. 2 is a diagram illustrating a network connection between service servers and a location server for managing location information of users according to the conventional art.

In order to address the above shortcoming of a configuration illustrated in FIG. 1, a location server 207 which may exclusively manage users' login/logout information in game servers 204, 205, and 206 is provided. When the users access the game servers 204, 205 and 206 providing an on-line game which the users desire to play via the users' own PCs 201 and 202, and the Internet 203, the game servers 204, 205 and 206 transmit the users' login/logout information to the location server 207. Also, the location server 207 intensively manages the users' login/logout information which is transmitted from the game servers 204, 205, and 206. Accordingly, a current state of users who have logged in other game servers may be provided for the user. Also, the location server 207 may detect the user's location and prevent a user's double login. However, on-line games are currently being provided by hundreds of game servers. Also, when one location server manages login/logout information which has been managed by each game server, load of a system with respect to the location server may be significantly increased.

Accordingly, to solve the problem of the load of the system, integrated into to the location server, there is provided a method of embodying the location server with a multicast group. FIG. 3 is a diagram illustrating network connection among a multicast group which is a location group including a plurality of location servers, service servers, and user PCs, according to the present invention. The location servers belonging to the multicast group must have the same state information in association with a login/logout state of a user.

Accordingly, since the location servers belonging to the multicast group have the same state information in association with the login/logout state of the user, when one location server belonging to the multicast group receives a login/logout message of the user, the location server generates a multicast message in response to the login/logout message and transmits the multicast message to other location servers belonging to the multicast group.

However, when using an unreliable communication method such as User Datagram Protocol (UDP) communication for transmitting and receiving the message, a loss of the message may occur while communicating the message. Since reliable communication between the location servers is very important, a method and apparatus for providing reliable communication between the location servers when a media and communication device used for message transmission do not provide reliable communication is seriously required.

FIG. 4 is a diagram illustrating a conventional communication providing method. Referring to FIG. 4, a first server 401 may be connected to a second server 402 by a network and may transmit and receive a predetermined message. However, in a conventional UDP communication method, the message may be lost in a process of transmitting and receiving the message.

For example, when the first server 401 sequentially transmits a message 1, a message2, and a message3 and finally transmits a message4 to the second server 402, the message4 may be lost in a process of transmitting and may be not transmitted to the second server 402.

In this case, when the first server 401 transmits a message5 to the second server, the second server determines that the message4 is lost and requests the first server 401 to retransmit message4. The first server 401 retransmits the message4 to the second server 402 according to the retransmission request. However, the retransmission of the lost message may be applied when exchanging a message between two servers. As described above, when a plurality of servers belong to the same group and a part of messages exchanged among the plurality of servers is lost, the retransmission of the lost message cannot be applied.

Also, in FIG. 4, the lost message is in the middle of messages having a series of sequential sequence numbers, namely, the message4 between the message3 and the message5 is lost. However, when a final message from the messages having the series of sequential sequence numbers is lost, it cannot be processed as described above.

FIG. 5 is a diagram illustrating another conventional communication providing method. Referring to FIG. 5, a first server 501 may be connected to a second server 502 by a network and may transmit and receive a predetermined message. However, in a conventional UDP communication environment, when a final message transmitted from the first server 501 to the second server 502 is lost, the second server 502 cannot determine that the final message is lost and cannot request the first server 501 to retransmit. For example, when the first server 501 sequentially transmits a message 1, a message2, and a message3 to the second server 502 and finally transmits a message4 to the second server 502, the message4 may be lost in a process of transmitting and may be not transmitted to the second server 502.

In this case, since the second server 502 may not recognize that the message4 is lost or may recognize that the second message is lost only after a considerable time has passed when another message is received, data and state between the first server 501 and the second server 502 are not consistent with each other. Accordingly, a method and apparatus capable of enabling the data and state among location servers belonging to the same group to be identical by reliably providing transmission and reception of a message among the servers by improving the unreliable communication environment is seriously required.

Disclosure of Invention Technical Goals

An aspect of the present invention provides a communication providing method and apparatus capable of maintaining data and state between location servers belonging to the same multicast group to be identical by providing transmission and reception of a message between servers to be reliable.

An aspect of the present invention also provides a communication providing method and apparatus capable of reliable communication, in which a first member server, transmitting a multicast message to remaining member servers from member servers belonging to the same multicast group, transmits a final sequence notification message for checking reception of the multicast message to remaining member servers so that the remaining member servers request retransmission when it is determined that there is a lost multicast message, or a message lost while mutually transmitting and receiving the message among the member servers belonging to the same multicast group is detected and retransmitted.

An aspect of the present invention also provides a communication providing method and apparatus capable of reliable communication, in which a first server transmitting a multicast message transmits a final sequence notification message including a first server identifier and a first server sequence to other member server at a certain time interval so that other servers can determine that a message corresponding to the first server sequence is lost and request retransmission of the message though the first server does not transmit another multicast message to the other servers for a predetermined period after the first server transmits the multicast message.

An aspect of the present invention also provides a communication providing method and apparatus determining whether a message is lost by determining a sequence of a transmitted message, requesting retransmission of a lost message, and receiving the message, thereby preventing an error due to the lost message, and transmitting and receiving a message by using a reliable communication method among member servers belonging to the same group.

An aspect of the present invention also provides a communication providing method and apparatus capable of reliable communication, in which, even though a message finally transmitted by one member server belonging to the same group is lost, remaining member servers determine whether the message is lost and request retransmission of the message.

Technical Solutions According to an aspect of the present invention, there is provided a method of providing reliable communication between member servers belonging to the same multicast group, the method including: maintaining a first server sequence corresponding to a first member server belonging to the multicast group and a stored server sequence corresponding to each of remaining member servers belonging to the same multicast group as the first member server, in a server sequence storage of the first member server; transmitting a multicast message including a first server identifier identifying the first member server and the first server sequence to remaining member servers belonging to the multicast group; increasing the first server sequence maintained in the server sequence storage by a predetermined value whenever transmitting the multicast message; receiving a final sequence notification message from a second member server belonging to the same multicast group with the first member server, the final sequence notification message including a second server identifier of the second member server and a second server sequence corresponding to the second member server; identifying a second stored server sequence corresponding to the second server identifier, stored in the server sequence storage, based on the second server identifier included in the final sequence notification message; and requesting the second member server to retransmit a multicast message corresponding to a server sequence made by adding a predetermined value to the second stored server sequence when the second server sequence is not less than the server sequence made by adding the predetermined value to the second stored server sequence.

According to another aspect of the present invention, there is provided a method of providing reliable communication between member servers belonging to one group, the method including: maintaining a first server sequence corresponding to a first member server belonging to the group and a stored server sequence corresponding to each of remaining member servers belonging to the group, in a server sequence storage of the first member server; transmitting a message including a first server identifier identifying the first member server and the first server sequence to remaining member servers belonging to the group; increasing the first server sequence maintained in the server sequence storage by a predetermined value whenever transmitting the message; transmitting a final sequence notification message including the first server identifier identifying the first member server and the first server sequence stored in the server sequence storage to the remaining member servers at a certain time interval.

According to still another aspect of the present invention, there is provided a reliable communication providing apparatus in a first member server for providing reliable communication with remaining member servers belonging to one group, the apparatus comprising: a server sequence storage storing a first server sequence corresponding to the first member server and stored server sequences corresponding to remaining member servers, respectively; a message transmitter transmitting a message including a first server identifier identifying the first member server and the first server sequence to remaining member servers; and a server sequence manager increasing the first server sequence stored in the server sequence storage by a predetermined value whenever transmitting the message.

Brief Description of Drawinfis

FIG. 1 is a diagram illustrating conventional network connection of user terminals accessing a plurality of service servers; FIG. 2 is a diagram illustrating conventional network connection of a location server for managing location information of users and service servers;

FIG. 3 is a diagram illustrating network connection of a multicast group including a plurality of location servers, service servers, and user terminals, according to the present invention; FIG. 4 is a diagram illustrating an example of a conventional communication providing method;

FIG. 5 is a diagram illustrating another example of a conventional communication providing method;

FIG. 6 is a diagram illustrating network connection of a plurality of location servers belonging to the same multicast .group according to the present invention;

FIG. 7 is a diagram illustrating a process of receiving and processing a final sequence notification message in member servers according to the present invention;

FIG. 8 is a diagram illustrating a process of receiving and processing a multicast message in member servers according to the present invention;

FIG. 9 is a diagram illustrating a method of providing reliable communication among member servers according to an embodiment of the present invention; FIG. 10 is a diagram illustrating a method of providing reliable communication among member servers according to another embodiment of the present invention; and

FIG. 11 is a block diagram illustrating a configuration of a member server for providing reliable communication, according to an embodiment of the present invention.

Best Mode for Carrying Out the Invention

FIG. 6 is a diagram illustrating network connection of a plurality of location servers belonging to the same multicast group according to the present invention. Referring to FIG. 6, a first server 600, a second server 610, a third server 620, and a fourth server 630 may belong to the same multicast group and may be connected by a network. The member servers belonging to the same multicast group may store and maintain a server sequence of their own, and server sequences of remaining member servers belonging to the same multicast group in a server sequence storage of each member server. For example, the first server 600 that is a first member server from the member servers belonging to the same multicast group may store a server sequence corresponding to the first server 600 and each remaining member servers 610, 620, and 630 belonging to the same multicast group in a server sequence storage 601, as shown in the first server 600.

For example, the first server 600 stores and maintains "15" that is a sequence of the first server 600, "15" that is a sequence of the second server 610, "15" that is a sequence of the third server 620, and "15" that is a sequence of the fourth server 630 in the server sequence storage 601. The server sequence is a sequence is associated with message transmission and reception among the member servers belonging to the same multicast group.

The first server 600, that is one of the member servers belonging to the same multicast group, transmits a multicast message including a first server identifier identifying the first server 600, and also transmits a first server sequence to remaining member servers 610, 620, and 630 belonging to the same multicast group.

To synchronize data stored in the member servers, when one member server receives a predetermined message from an external server, the member server belonging to the same multicast group generates and transmits the message as the multicast message to the remaining member servers 610, 620, and 630 and the remaining member servers receive the multicast message to synchronize the data.

When the first server 600 transmits the described multicast message to the remaining member servers belonging to the same multicast group, the multicast message includes the first server identifier and the first server sequence.

Whenever transmitting the multicast message, the first server 600 may increase the first server sequence stored in the server sequence storage 601 by a predetermined value and may transmit the multicast message including the first server sequence increased by the predetermined value. For example, whenever transmitting the multicast message, the first server 600 may increase the first server sequence stored in the server sequence storage 601 by "1", and as shown in 602 the first server 600 may transmit the multicast message including a first server identifier LSCl and "15" that is the increased first server sequence to the remaining member servers 610, 620, and 630.

The value may be variously established depending upon embodiments.

Also, depending upon embodiments, the first server 600 may transmit the multicast message including the first server sequence maintained in the server sequence storage 601 and may increase the first server sequence by the predetermined value. For example, referring to 603, the first server 600 increases the first server sequence maintained in the server sequence storage 601 by "1" from "15" to "16" whenever transmitting the multicast message.

As described above, the first server 600 may transmit the multicast message including the first server sequence and may increase the first server sequence by a predetermined value, or may transmit the multicast message including the first server sequence increased by the predetermined value. Since the two cases are the same up until increasing the first server sequence by the predetermined value whenever transmitting the multicast message, the two cases are included in the present invention, or have equal scope. In the former case in which the first server 600 transmits the multicast message including the first server sequence and increases the first server sequence by the predetermined value, a server sequence included in a final sequence notification message, that will be described later, becomes a value acquired by reducing the predetermined value from the first server sequence stored in the server sequence storage 601 of the first server 600. Similarly, in the latter case in which the first server 600 transmits the multicast message including the first server sequence after increasing the first server sequence by the predetermined value, the server sequence included in the final sequence notification message becomes the first server sequence stored in the server sequence storage 601 of the first server 600.

The first server 600 transmitting the multicast message transmits the final sequence notification message including the first server identifier identifying the first server 600 and the first server sequence stored in the server sequence storage 601 to the remaining member servers 610, 620, and 630 belonging to the same multicast group. The certain time interval may be changed into various values depending upon embodiments.

For example, when the first server 600 increases the first server sequence by the predetermined value and transmits the multicast message including the first server sequence, the first server 600 transmits a final sequence notification message 604 including a first server identifier LSC 1 and a first server sequence "16" stored in a server sequence storage 603 to the remaining member servers 610, 620, and 630 belonging to the same multicast group. Conversely, when the first server 600 transmits the multicast message including a server sequence "15" stored in the server sequence storage 603 and increases, by a predetermined value, and records the stored first server sequence as "16", the first server 600 transmits the final sequence notification message 604 including the server sequence "15" that is acquired by reducing the predetermined value from the stored server sequence "16" to the remaining member servers 610, 620, and 630 belonging to the same multicast group. In this case, it is the same that the first server 600 transmits the final sequence notification message including the server sequence and the server identifier included in the multicast message transmitted by the first server 600, to the remaining member servers 610, 620, and 630.

When receiving the final sequence notification message, the remaining member servers 610, 620, and 630 belonging to the multicast group identify the stored first server sequence corresponding to the first server identifier stored in the server sequence storage of their own based on the first server identifier included in the final sequence notification message. As described above, each of the member servers belonging to the multicast group include the server sequence storage, respectively, and maintain the server identifier and the server sequence of the remaining member servers belonging to the multicast group in the server sequence storage.

As a result of the identification, when the first server sequence stored in the member server is not less than a value acquired by adding a predetermined value to the stored first server sequence, the first server 600 is requested to retransmit the multicast message corresponding to the server sequence acquired by adding the predetermined value to the stored first server sequence. The above process will be described in detail referring to FIG. 7.

FIG. 7 is a diagram illustrating a process of receiving and processing a final sequence notification message in member servers according to the present invention. Referring to FIG. 7, a first server 700, a second server 710, a third server 720, and a fourth server 730 belong to the same multicast group and synchronize data.

The first server 700 that is a first member server from the member servers belonging to the same multicast group receives a final sequence notification message from one of a second member servers 710, 720, and 730 belonging to the same multicast group. The process in which second member server transmits the final sequence notification message has been described referring to FIG. 6.

The final sequence notification message includes a server identifier of the second member server and a second server sequence corresponding to the second member server. For example, in FIG. 7, the fourth server 730 transmits a final sequence notification message 702 to the first server 700. The final sequence notification message 702 includes a server identifier LCS 4 of the fourth server 730 and a server sequence "16" corresponding to the fourth server 730.

The first server 700 identifies a server sequence corresponding to the server identifier LCS 4 stored in a server sequence storage 701 based on the server sequence LCS 4 included in the received final sequence notification message 702. For example, the stored server sequence may be "15".

When the server sequence included in the final server sequence notification message 702 is not less than a value acquired by adding a predetermined value to the server sequence stored in the server sequence storage 701, the first server 700 requests the fourth server 730 to retransmit a multicast message corresponding to a server sequence acquired by adding the predetermined value to the stored server sequence.

For example, when a server sequence "16" included in the final sequence notification message 702 is identical with a value acquired by adding a predetermined value "1" to the server sequence "15" stored in the server sequence storage 701, the first server 700 transmits, to the fourth server 730, a message 703 for requesting a multicast message corresponding to a server sequence acquired by adding the predetermined value "1" to the stored server sequence "15". Thus, according to the present invention, one of member servers belonging to the same multicast group, which transmits a multicast message to remaining member servers, transmits a final sequence notification message for checking a reception of the multicast message to the remaining member servers to enable to the other servers to check whether a lost multicast message exists, and to request retransmission when the multicast message is lost.

Thus, according to the present invention, a message lost when member servers belonging to the same multicast group mutually transmit and receive a message is detected, and retransmission of the lost message is requested, thereby providing reliable communication. Particularly, since a first server transmitting a multicast message transmits a final sequence notification message including a first server identifier and a first server sequence to remaining member servers at a certain time interval, even though the first server does not transmit another multicast message to the remaining member servers for a predetermined period after transmitting the multicast message, the other servers may determine whether the message corresponding to the first server sequence is lost and may request retransmission when the message is lost. The above process will be described in detail referring to FIG. 8. FIG. 8 is a diagram illustrating a process of receiving and processing a multicast message in member servers according to the present invention.

Referring to FIG. 8, a first server 800, a second server 810, a third server 820, and a fourth server 830 are included in the same multicast group and synchronize data. The first server 800 that is a first member server from member servers belonging to the same multicast group receives a second multicast message from one of second member servers 810, 820, and 830 belonging to the same multicast group. The second multicast message is transmitted from one of the second member servers 810, 820, and 830 to the remaining member servers belonging to the same multicast group. For example, the second multicast message may be a message made by processing a message received from an external server to one of the second member servers 810, 820, and 830.

For example, when the member servers belonging to the multicast group manages user login/logout information of an external service server, since the member servers have to synchronize a login/logout state of a user to be identically maintained, one of the member servers may receive a login/logout message with respect to the user from the external service server and may generate a multicast message for transmitting to the other member server belonging to the same group.

The first server 800 receives a multicast message 802 from the fourth server 830. The multicast message 802 includes a server identifier of the fourth server 830, that is the second member server, and a server sequence corresponding to the fourth server. Namely, the multicast message 802 may include a server identifier LCS 4 of the fourth server 830 and a server sequence "17" corresponding to the fourth server.

The first server 800 identifies a second server sequence stored in a server sequence storage 801, corresponding to a second server identifier included in the multicast message 802. For example, the first server 800 identifies a server sequence "15" corresponding to a fourth server identifier LCS 4 stored in the server sequence storage 801 by referring to the server identifier LCS 4 of the fourth server 830, included in the multicast message 802. When the second server sequence included in the multicast message is more than a value acquired by adding a predetermined value to the stored second server sequence, the first server 800 requests the second member server to retransmit a multicast message corresponding to a server sequence acquired by adding the predetermined value to the stored second server sequence. For example, when a received server sequence "17" of the fourth server 830, included in the multicast message 802 is more than a value acquired by adding a predetermined value to a server sequence "15" of the fourth server 830, stored in the server sequence storage 801, the first server 800 request the fourth server 830 to retransmit a multicast message corresponding to a server sequence acquired by adding the predetermined value to the server sequence of the fourth server 830. For example, the predetermined value may be "1". When the server sequence "17" of the fourth server 830, included in the multicast message, is more than a value "16" acquired by adding "1" to the stored server sequence "15" of the fourth server 830, the first server 800 transmits a retransmission request message 803 for requesting retransmission of a multicast message corresponding to the server sequence "16" to the fourth server 830.

The retransmission request message 803 includes a server sequence corresponding to a multicast message that has to be transmitted from the fourth server 830. In this case, the retransmission request message 803 includes the server sequence "16" with respect to the multicast message that has to be transmitted from the fourth server 830.

The fourth server 830 receives the retransmission request message 803 from the first server 800, retrieves a multicast message corresponding to the second server sequence from a message buffer 804 storing a multicast message transmitted to the member servers 800, 810, and 820, and transmits the multicast message corresponding to the second server sequence to the first server 800.

The message buffer 804 stores a multicast message transmitted from one of the member servers 800, 810, and 820 belonging to the same multicast group to remaining member servers and stores predetermined data. Since the multicast message includes a server identifier and a server sequence of a transmitting server, the fourth server 830 retrieves a multicast message 805 corresponding to a server sequence "16" included in the retransmission request message 803 from the message buffer 804 and transmits the multicast message 805 to the first server 800.

Thus, according to the present invention, when a member server belonging to the same multicast group transmits multicast messages having sequential sequence numbers to remaining member servers belonging to the same multicast group, the member server receiving the multicast messages may determine a multicast message that is lost and not transmitted from the multicast messages and may request retransmission of the lost multicast message, thereby providing reliable communication environments.

Particularly, when a plurality of member servers is included in the same multicast group, synchronizes predetermined information, and performs distributed processing on the information, the plurality of member servers have to maintain the same state and data to precisely synchronize. According to the present invention, since receiving of a multicast message by the plurality of member servers is confirmed and a retransmission of any lost multicast messages is requested, maintaining the same state and data in the plurality of member servers belonging to the same group is ensured.

When the member servers belonging to the same multicast group manage login/logout information of a user, the member servers receive a login/logout message received from one member server as a multicast message, and maintain the same state to perform distributed processing the login/logout information of the user. When the multicast message transmitted from one member server to remaining member servers is lost, the remaining member servers may identify a server sequence of the lost multicast message and may request the one member server transmitting the multicast message to retransmit the multicast message, thereby preventing an error that may occur due to inconsistency of data and state among the member servers belonging to the same multicast group.

Also, the described reliable communication providing method according to the present invention may be applied to communication among member servers belonging to the same multicast group as well servers of a group including a plurality of servers. In this case, the servers may transmit a general message including predetermined information instead of a multicast message to remaining member servers and may transmit a final notification message, may determine whether the message is lost by transmitting a final notification message at a certain time interval, may determine whether the message is lost by identifying a sequence of the transmitted message, and may receive the lost message by requesting retransmission. Therefore, an error occurring due to the lost message may be prevented, and a message may be transmitted and received by a method of providing reliable communication among the member servers.

FIG. 9 is a diagram illustrating a method of providing reliable communication among member servers according to an embodiment of the present invention. Referring to FIG. 9, a first server 901 from member servers according to the present invention sequentially transmits a messagel, a message2, a message3, and a message4 to a second server 902 that is another member server belonging to the same group. In this case, the message4 may be lost in a process of transmission. The second server 902 receives the messagel, the message2, and the message3 and stores a first server identifier of the first server 901 transmitting the messages and server sequence numbers with respect to the messages in a server sequence storage.

The first 901 transmits a message5 to the second server 902, and the second server 902 receives and stores the message5. The second server 902 compares the server sequence number stored in the server sequence storage with a server sequence number of the message5 and, when the server sequence number of the message5 is more than a value acquired by adding a predetermined value to the stored server sequence number, transmits a retransmission request message for requesting retransmission of the message4 corresponding to a server sequence number acquired by adding the predetermined value to the stored server sequence, to the first server 901. The first server 901 receives the retransmission request message, retrieves, from a message buffer, the message4 corresponding to the server sequence with respect to the message that has to be transmitted, and retransmits the message4 to the second server 902.

Since, according to the present invention, the described retransmission of the lost message may be applied to all messages received from remaining member servers belonging to the same group, the member server may determine whether the message received from remaining member servers belong to one group, and may request retransmission, there is an effect of transmitting and receiving a message in a reliable communication environment. FIG. 10 is a diagram illustrating a method of providing reliable communication among member servers according to another embodiment of the present invention.

Referring to FIG. 10, a first server 1001 and a second server 1002 are member servers belonging to the same group.

According to the present invention, the first server 1001 that is a member server sequentially transmits a message 1, a message2, a message3, and a message4 to the second server 1002 that is another member server belonging to the same group. In this example, the message4 may be lost in a process of transmission.

The first server 1001 increases a first server sequence number stored in a server sequence storage by a predetermined value whenever transmitting the message, and a final sequence notification message including a first server identifier identifying the first server 1001 and the first server sequence number stored in the server sequence storage to the second server 1002 at a certain time interval.

When receiving the final sequence notification message from the first server

1001, the second server 1002 identifies a stored server sequence number based on the first server identifier included in the final sequence notification message, and, when the first server sequence included in the final sequence notification message is not less than a value acquired by adding a predetermined value to the stored server sequence, transmits to the first server 1001 a retransmission request message for requesting a message corresponding to a server sequence acquired by adding the predetermined value to the stored server sequence.

Namely, since the first server 1001 transmits to the second server a final sequence notification message including a sequence "4" corresponding to the message4

1002, and a sequence "3" corresponding to the message3 finally received is stored in the second server 1002, the second server 1002 transmits a retransmission request message for requesting retransmission of the message4 to the first server 1001.

The first server 1001 retrieves the message4 from a message buffer and retransmits the message4 to the second server 1002.

Thus, according to the present invention, since the first server transmitting a message transmits a final sequence notification message including a first server identifier and a first server sequence to remaining member servers at a certain time interval, even though the first server does not transmit another message to the other servers for a predetermined period after transmitting a multicast message, the other servers may determine that a message corresponding to the first server sequence is lost and may request retransmission. According to the present invention, though a message finally transmitted by one member server belonging to the same group is lost, remaining member servers determine that the message is lost and request retransmission, thereby providing reliable communication. The effect clearly solves the problem of the conventional technology described referring to FIG. 5.

The communication providing method according to the present invention may be embodied as a program instruction capable of being executed via various computer units and may be recorded in a computer-readable recording medium. The computer- readable medium may include a program instruction, a data file, and a data structure, separately or cooperatively. The program instructions and the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those skilled in the art of computer software arts. Examples of the computer-readable media include magnetic media (e.g., hard disks, floppy disks, and magnetic tapes), optical media (e.g., CD-ROMs or DVD), magneto-optical media (e.g., optical disks), and hardware devices (e.g., ROMs, RAMs, or flash memories, etc.) that are specially configured to store and perform program instructions. The media may also be transmission media such as optical or metallic lines, wave guides, etc. including a carrier wave transmitting signals specifying the program instructions, data structures, etc. Examples of the program instructions include both machine code, such as produced by a compiler, and files containing high- level language codes that may be executed by the computer using an interpreter. The hardware elements above may be configured to act as one or more software modules for implementing the operations of this invention.

FIG. 11 is a block diagram illustrating a configuration of a member server for providing reliable communication, according to an embodiment of the present invention. Referring to FIG. 11 , a first member server for providing reliable communication with remaining member servers belonging to one group according to the present invention includes a server sequence storage 1101, a message transmitter 1102, a server sequence manager 1103, a message receiver 1104, a server sequence searcher 1105, and a retransmission requester 1106.

The server sequence storage 1101 stores a first server sequence corresponding to the first member server and server sequences stored corresponding to the remaining member servers, respectively. An example of the server sequence storage 1101 has been described referring to 601 of FIG. 6.

The message transmitter 1102 transmits a message including a first server identifier identifying the first member server and the first server sequence to the remaining member servers belonging to the group.

The server sequence manager 1103 increases the first server sequence stored in the server sequence storage 1101 by a predetermined value whenever transmitting the message. The predetermined value may be variously established depending upon embodiments, as described above. Also, the message receiver 1104 receives a final sequence notification message from a second member server that is one of the remaining member servers. The final sequence notification message includes a second server identifier of the second member server and a second server sequence corresponding to the second member server.

The sequence searcher 1105 identifies a second server sequence corresponding to the second server identifier, stored in the server sequence storage, based on the second server identifier included in the final sequence notification message.

When the second server sequence is not less than a value acquired by adding a predetermined value to the stored second server sequence, the retransmission requester

1106 requests the second member server to retransmit a message corresponding to a server sequence acquired by adding the predetermined value to the stored second server sequence.

As described above, the retransmission requester 1106 of the member server requests the member server to retransmit the message corresponding to the server sequence acquired by adding the predetermined value to the stored second server sequence, thereby detecting a lost message and requesting retransmission of the lost message.

Also, the message transmitter 1102 transmits a final sequence notification message including the first server identifier identifying the first member server and the first server sequence stored in the server sequence storage 1101 to the remaining member servers at a certain interval of time.

Since the message transmitter 1102 transmits the final sequence notification message to the remaining member servers as described above, the remaining member servers may check a sequence of a message finally received from the first member server.

Also, the message receiver 1104 receives a second message from the second member server that is one of the remaining member servers. The second message includes the second server identifier of the second member server and the second server sequence corresponding to the second member server.

The server sequence searcher 1105 identifies the stored second server sequence corresponding to the second server identifier, stored in the server sequence storage 1101, based on the second server identifier included in the second message. When the second server sequence is more than a value acquired by adding a predetermined value to the stored second server sequence, the retransmission requester

1106 requests the second member server to retransmit a message corresponding to a server sequence acquired by adding the predetermined value to the stored second server sequence. Also, the message receiver 1104 may receive a retransmission request message from the second member server that is one of the remaining member servers. The retransmission request message includes the second server sequence with respect to a message that has to be retransmitted.

Also, a message retriever 1107 may retrieve a message corresponding to the second server sequence from a message buffer storing messages transmitted from the member server, and the message transmitter 1102 may transmit the retrieved message to the second member server.

Industrial Applicability An aspect of the present invention provides a communication providing method and apparatus capable of maintaining data and state between location servers belonging to the same multicast group to be identical by providing transmission and reception of a message between servers to be reliable.

An aspect of the present invention also provides a communication providing method and apparatus capable of reliable communication, in which a first member server transmitting a multicast message to remaining member servers from member servers belonging to the same multicast group transmits a final sequence notification message for checking reception of the multicast message to the remaining member servers so that the remaining member servers request retransmission when it is determined that there is a lost multicast message, or a message lost while mutually transmitting and receiving the message among the member servers belonging to the same multicast group is detected and retransmitted.

An aspect of the present invention also provides a communication providing method and apparatus capable of reliable communication, in which a first server transmitting a multicast message transmits a final sequence notification message including a first server identifier and a first server sequence to other member server at a certain time interval so that other servers can determine that a message corresponding to the first server sequence is lost and request retransmission of the message though the first server does not transmit another multicast message to the other servers for a predetermined period after the first server transmits the multicast message.

An aspect of the present invention also provides a communication providing method and apparatus determining whether a message is lost by determining a sequence of a transmitted message, requesting retransmission of a lost message, and receiving the message, thereby preventing an error due to the lost message and transmitting and receiving a message by using a reliable communication method among member servers belonging to the same group. An aspect of the present invention also provides a communication providing method and apparatus capable of reliable communication, in which, even though a message finally transmitted by one member server belonging to the same group is lost, remaining member servers determine whether the message is lost and request retransmission of the message.

Claims

1. A method of providing reliable communication between member servers belonging to the same multicast group, the method comprising: maintaining a first server sequence corresponding to a first member server belonging to the multicast group and a stored server sequence corresponding to each of remaining member servers belonging to the same multicast group as the first member server, in a server sequence storage of the first member server; transmitting a multicast message including a first server identifier identifying the first member server and the first server sequence to the remaining member servers belonging to the multicast group; increasing the first server sequence maintained in the server sequence storage by a predetermined value whenever transmitting the multicast message; receiving a final sequence notification message from a second member server belonging to the same multicast group with the first member server, the final sequence notification message including a second server identifier of the second member server and a second server sequence corresponding to the second member server; identifying a second stored server sequence corresponding to the second server identifier, stored in the server sequence storage, based on the second server identifier included in the final sequence notification message; and requesting the second member server to retransmit a multicast message corresponding to a server sequence made by adding a predetermined value to the second stored server sequence when the second server sequence is not less than the server sequence made by adding the predetermined value to the second stored server sequence.
2. The method of claim 1, further comprising transmitting a final sequence notification message to the remaining member servers belonging to the same multicast group as the member server at a certain time interval, the final sequence notification message including the first server identifier identifying the first member server and the first server sequence stored in the server sequence storage.
3. The method of claim 1, further comprising: receiving a second multicast message from the second member server belonging to the same multicast group with the first member server, the second multicast message including the second server identifier of the second member server and the second server sequence corresponding to the second member server; identifying the second stored server sequence corresponding to the second server identifier, stored in the server sequence storage, by referring to the second identifier included in the second multicast message; and requesting the second member server to retransmit a multicast message corresponding to a server sequence made by adding a predetermined value to the second stored server sequence when the second server sequence is greater than the server sequence made by adding the predetermined value to the second stored server sequence.
4. The method of claim 1 , further comprising: receiving a retransmission request message from the second member server belonging to the same multicast group as the first member server, the retransmission request message including a second server sequence with respect to the multicast message that has to be retransmitted; and retrieving the multicast message corresponding to the second server sequence from a message buffer storing the multicast messages transmitted from the member servers, and transmitting the multicast message corresponding to the second server sequence to the second member server.
5. A method of providing reliable communication between member servers belonging to one group, the method comprising: maintaining a first server sequence corresponding to a first member server belonging to the group and a stored server sequence corresponding to each of remaining member servers belonging to the group, in a server sequence storage of the first member server; transmitting a message including a first server identifier identifying the first member server and the first server sequence to the remaining member servers belonging to the group; increasing the first server sequence maintained in the server sequence storage by a predetermined value whenever transmitting the message; transmitting a final sequence notification message including the first server identifier identifying the first member server and the first server sequence stored in the server sequence storage to the remaining member servers at a certain time interval.
6. The method of claim 5, further comprising: receiving a final sequence notification message from a second member server that is one of the remaining member servers, the final sequence notification message including a second server identifier of the second member server and a second server sequence corresponding to the second member server; identifying a second stored server sequence corresponding to the second server identifier, stored in the server sequence storage, by referring to the second server identifier included in the final sequence notification message; and requesting the second member server to retransmit a message corresponding to a server sequence made by adding a predetermined value to the second stored server sequence when the second server sequence is not less than the server sequence made by adding the predetermined value to the second stored server sequence.
7. The method of claim 5, further comprising: receiving a second message from the second member server that is one of the remaining member servers, the second message including the second server identifier of the second member server and the second server sequence corresponding to the second member server; identifying the second stored server sequence corresponding to the second server identifier, stored in the server sequence storage, by referring to the second identifier included in the second message; and requesting the second member server to retransmit a message corresponding to a server sequence made by adding a predetermined value to the second stored server sequence when the second server sequence is more than the server sequence made by adding the predetermined value to the second stored server sequence.
8. The method of claim 5, further comprising: receiving a retransmission request message from the second member server that is one of the remaining member servers, the retransmission request message including a second server sequence with respect to the message that has to be retransmitted; and searching the message corresponding to the second server sequence from a message buffer storing the messages transmitted from the member servers and transmitting the message corresponding to the second server sequence to the second member server.
9. A computer-readable recording medium in which a program for executing the method according to any one of claims 1 through 8 is recorded.
10. A reliable communication providing apparatus in a first member server for providing reliable communication with remaining member servers belonging to one group, the apparatus comprising: a server sequence storage storing a first server sequence corresponding to the first member server and stored server sequences corresponding to remaining member servers, respectively; a message transmitter transmitting a message including a first server identifier identifying the first member server and the first server sequence to the remaining member servers; and a server sequence manager increasing the first server sequence stored in the server sequence storage by a predetermined value whenever transmitting the message.
11. The apparatus of claim 10, further comprising: a message receiver receiving a final sequence notification message from a second member server that is one of the remaining member servers, the final sequence notification message including a second server identifier of the second member server and a second server sequence corresponding to the second member server; a server sequence searcher identifying a second stored server sequence corresponding to the second server identifier, stored in the server sequence storage, by referring to the second server identifier included in the final sequence notification message; and a retransmission requester requesting the second member server to retransmit a message corresponding to a server sequence made by adding a predetermined value to the second stored server sequence when the second server sequence is not less than the server sequence made by adding the predetermined value to the second stored server sequence.
12. The apparatus of claim 10, wherein the message transmitter transmits a final sequence notification message including the first server identifier identifying the first member server and the first server sequence stored in the server sequence storage to the remaining member servers at a certain time interval.
13. The apparatus of claim 10, further comprising: a message receiver receiving a second message from a second member server that is one of the other member server, the second message including a second server identifier of the second member server and a second server sequence corresponding to the second member server; a server sequence searcher identifying a second stored server sequence corresponding to the second server identifier, stored in the server sequence storage, by referring to the second server identifier included in the second message; and a retransmission requester requesting the second member server to retransmit a message corresponding to a server sequence made by adding a predetermined value to the second stored server sequence when the second server sequence is greater than the server sequence made by adding the predetermined value to the second stored server sequence.
14. The apparatus of claim 10, further comprising: a message receiver receiving a retransmission request message from the second member server that is one of the remaining member servers, the retransmission request message including a second server sequence with respect to a message that has to be retransmitted; and a message searcher retrieving a message corresponding to the second server sequence from a message buffer storing a message transmitted from the member server, wherein the message transmitter transmits the retrieved message to the second member server.
PCT/KR2006/002408 2005-06-22 2006-06-22 Method and apparatus for providing reliable communication between member servers belonging to same multicast group WO2006137700A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2005-0054151 2005-06-22
KR20050054151A KR100717239B1 (en) 2005-06-22 2005-06-22 Method and apparatus for providing reliable communication between member servers belonging to same multicast group

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008518034A JP2008544685A (en) 2005-06-22 2006-06-22 Method and apparatus for providing reliable communication between member servers belonging to the same multicast group

Publications (1)

Publication Number Publication Date
WO2006137700A1 true true WO2006137700A1 (en) 2006-12-28

Family

ID=37570676

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2006/002408 WO2006137700A1 (en) 2005-06-22 2006-06-22 Method and apparatus for providing reliable communication between member servers belonging to same multicast group

Country Status (3)

Country Link
JP (1) JP2008544685A (en)
KR (1) KR100717239B1 (en)
WO (1) WO2006137700A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009182537A (en) * 2008-01-30 2009-08-13 Fujitsu Ltd Relay device, multicast processing program, and multicast processing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010057872A (en) * 1999-12-23 2001-07-05 오길록 Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform
US20020152299A1 (en) * 2001-01-22 2002-10-17 Traversat Bernard A. Reliable peer-to-peer connections
WO2002087156A2 (en) * 2001-04-20 2002-10-31 International Business Machines Corporation Method and device for multicast transmissions
US6577599B1 (en) * 1999-06-30 2003-06-10 Sun Microsystems, Inc. Small-scale reliable multicasting
US6807580B2 (en) * 2000-05-08 2004-10-19 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2586791B2 (en) * 1992-09-11 1997-03-05 日本電気株式会社 Broadcast management method
JPH06224919A (en) * 1993-01-25 1994-08-12 Nec Corp Lan system
JP3378429B2 (en) * 1996-03-26 2003-02-17 株式会社東芝 Broadcast controller
JP3920675B2 (en) * 2002-03-22 2007-05-30 株式会社リコー A data communication method, computer, program, and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6577599B1 (en) * 1999-06-30 2003-06-10 Sun Microsystems, Inc. Small-scale reliable multicasting
KR20010057872A (en) * 1999-12-23 2001-07-05 오길록 Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform
US6807580B2 (en) * 2000-05-08 2004-10-19 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers
US20020152299A1 (en) * 2001-01-22 2002-10-17 Traversat Bernard A. Reliable peer-to-peer connections
WO2002087156A2 (en) * 2001-04-20 2002-10-31 International Business Machines Corporation Method and device for multicast transmissions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009182537A (en) * 2008-01-30 2009-08-13 Fujitsu Ltd Relay device, multicast processing program, and multicast processing method

Also Published As

Publication number Publication date Type
KR100717239B1 (en) 2007-05-11 grant
JP2008544685A (en) 2008-12-04 application
KR20060134462A (en) 2006-12-28 application

Similar Documents

Publication Publication Date Title
US6954799B2 (en) Method and apparatus for integrating distributed shared services system
US7421695B2 (en) System and methodology for adaptive load balancing with behavior modification hints
US20070016646A1 (en) Universal calendar event handling
US20030088659A1 (en) System and method for distributed state management
US20030115267A1 (en) System and method for user enrollment in an e-community
US20070242821A1 (en) Method and apparatus for acquiring domain information and domain-related data
US20080189349A1 (en) Media Transport Protocol Extensions for System Information Exchange, and Applications Thereof
US20020023134A1 (en) Method and computer program product for establishing real-time communications between networked computers
US6799147B1 (en) Enterprise integrated testing and performance monitoring software
US5742607A (en) Method and apparatus for controlling two way communication via disparate physical media
US7702917B2 (en) Data transfer using hyper-text transfer protocol (HTTP) query strings
US20070274324A1 (en) Local network coding for wireless networks
US20010047477A1 (en) Transparent user and session management for web applications
US20050038874A1 (en) System and method for downloading data using a proxy
US20040225922A1 (en) System and method for request routing
US20080072289A1 (en) Unauthorized Connection Detection System and Unauthorized Connection Detection Method
US20060242235A1 (en) Presence monitoring in a serverless peer-to-peer system
US7974988B2 (en) System and method for cross-carrier mobile device capability discovery
US20060153096A1 (en) Telecommunications apparatus and method, storage medium, and program
US20090019106A1 (en) Method of redirecting client requests to web services
US20060053480A1 (en) Authentication of handheld devices for access to applications
US20030233336A1 (en) System to retate personal information to a unique identifier
US6934761B1 (en) User level web server cache control of in-kernel http cache
US20040249888A1 (en) Command and control of arbitrary resources in a peer-to-peer network
US20070201087A1 (en) Group management apparatus, and information processing apparatus and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase in:

Ref document number: 2008518034

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct app. not ent. europ. phase

Ref document number: 06768989

Country of ref document: EP

Kind code of ref document: A1