同一マルチキャストグループに属するメンバーサーバ間の信頼性ある通信を提供するための方法及び装置
本発明は、同一マルチキャストグループ内に属するメンバーサーバ間の信頼性ある通信を保証するための方法及びシステムを開示する。信頼性ある通信を提供する方法は、マルチキャストグループに属する第1メンバーサーバのサーバシーケンス保存部に第1メンバーサーバに対応する第1サーバシーケンス及び第1メンバーサーバと同じマルチキャストグループに属する他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保持する段階と、マルチキャストグループに属する他のメンバーサーバに第1メンバーサーバを識別する第1サーバ識別子及び第1サーバシーケンスを含むマルチキャストメッセージを送信する段階と、マルチキャストメッセージを送信する度に、サーバシーケンス保存部に保持されている第1サーバシーケンスを所定の値だけ増加させる段階と、メンバーサーバと同じマルチキャストグループに属する第2メンバーサーバから第2メンバーサーバの第2サーバ識別子及び第2メンバーサーバに対応する第2サーバシーケンスを含む最終シーケンス通知メッセージを受信する段階と、最終シーケンス通知メッセージに含まれた第2サーバ識別子を参照して、サーバシーケンス保存部に保存されている第2サーバ識別子に対応する第の2保存されたサーバシーケンスを識別する段階と、第2サーバシーケンスが第2の保存されたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、第2メンバーサーバに第2保存されたサーバシーケンスに所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する段階とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、同一マルチキャストグループ内に属するメンバーサーバ間の信頼性ある通信を保障するための通信提供方法及び装置に関する。
【背景技術】
【0002】
図1は、従来の複数のサービスサーバに接続するユーザ端末機のネットワーク構成を示した図である。
【0003】
図1において、ユーザ端末機101、102を用いるユーザは、インターネット103を通じて、プレイしたいオンラインゲームを提供するゲームサーバ104、105、106に接続する。例えば、ゲームサーバ104、105はゴーストップゲームサービスを提供し、ゲームサーバ106はフーラゲームサービスを提供する。このとき、ユーザのログイン/ログアウトは、各ゲームサーバ104、105、106において個別に各々実行されるとともに、ユーザのログイン/ログアウト情報も各ゲームサーバ104、105、106にて個別に管理されていた。したがって、従来は、1つのゲームサーバにログインしたユーザは、他のゲームサーバにログインしたユーザの現在状態(例えば、ログインしたのかログアウトしたのか、又はどのようなゲームをしているのか)について全く知ることができなかった。
【0004】
図2は、従来のユーザのロケーション情報を管理するためのロケーションサーバとサービスサーバとのネットワーク構成を示した図である。
【0005】
図1に示した構成の問題点を解決するために、すべてのゲームサーバ204、205、206におけるユーザのログイン/ログアウト情報を集中的に管理するロケーションサーバ(Location Server)207が設けられている。ユーザがユーザ端末機201、202及びインターネット103を通じて、プレイしたいオンラインゲームを提供するゲームサーバ204、205、206に接続すると、ゲームサーバ204、205、206は、ユーザの各ログイン/ログアウト情報をロケーションサーバ207に送信する。その後、ロケーションサーバ207は、すべてのゲームサーバ204、205、206におけるユーザのログイン/ログアウト情報を集中的に管理するため、特定のサーバにログインしたユーザの最新の状態をユーザに提供することが可能となる。また、ロケーションサーバ207は、ユーザの位置を検出してユーザの重複ログインを防止することができる。
【0006】
しかしながら、現在提供されているオンラインゲームは、数百台のゲームサーバによって提供されており、このようなゲームサーバそれぞれで管理されていたログイン/ログアウト情報の管理を1つのロケーションサーバで管理するとなれば、ロケーションサーバに対するシステムの負荷(load)が極めて大きくなるという問題点が発生する。
【0007】
したがって、このようなロケーションサーバに集中するシステム負荷の問題を解決するために、ロケーションサーバをマルチキャストグループ(multicast group)で構成する方式が提案された。図3は、本発明におけるマルチキャストグループで構成された複数のロケーションサーバとサービスサーバ及びユーザ端末機のネットワーク構成を示した図である。マルチキャストグループに属するロケーションサーバは、ユーザのログイン/ログアウト状態に関して同じ状態情報を有さなければならない。
【0008】
したがって、マルチキャストグループに属するロケーションサーバは、ユーザのログイン/ログアウト状態に関して同じ状態情報を有するため、マルチキャストグループに属する1つのロケーションサーバがユーザのログイン/ログアウトメッセージを受信すると、ログイン/ログアウトメッセージ受信に応答してマルチキャストメッセージを生成し、同一グループに属する他のロケーションサーバに送信することになる。
【0009】
しかしながら、メッセージの送受信にUDP(User Datagram Protocol)通信のような信頼性が保証されない通信環境が用いられる場合には、メッセージの交換過程において当該メッセージが損失する場合が発生する。ロケーションサーバ間の信頼性ある通信は極めて重要であるため、メッセージ送信に用いられる媒体及び通信手段が信頼性ある通信を保証しない場合にも、ロケーションサーバ間では信頼性ある通信を提供するための方法及び装置開発の必要性が切に求められている。
【0010】
図4は、従来技術に係る通信提供方法の一実施形態を示した図である。図4に示すように、第1サーバ401は、第2サーバ402とネットワーク連結しており、所定のメッセージを送受信することができる。しかしながら、従来のUDP通信環境においては、送受信過程においてメッセージが損失する恐れがあるという問題があった。
【0011】
例えば、第1サーバ401からメッセージ1、メッセージ2、メッセージ3を第2サーバ402に順に送信して最後にメッセージ4を送信したものの、メッセージ4が送信過程において損失し、第2サーバ402に伝送されないという問題が生じる場合がある。
【0012】
このような場合に、第1サーバ401がメッセージ5を第2サーバに送信することで、第2サーバはメッセージ4が損失したことを判断し、第1サーバ401に再送信を要請することができ、第1サーバ401は、再送信要請に応じてメッセージ4を第2サーバ402に再送信する。しかしながら、このような損失メッセージの再送信は、2台のサーバ間でメッセージを交換する際には適用できるが、上述したように同一グループに属するサーバが複数であり、複数のサーバ間で交換されるメッセージの一部が損失する場合には適用することができないという問題点がある。
【0013】
また、図4の従来例では、損失したメッセージが一連のシーケンス番号を有するメッセージのうちの中間のメッセージ、すなわち、メッセージ3とメッセージ5の間のメッセージ4が損失された場合にその損失の可否を判別して再送信を要求しているが、一連のシーケンス番号を有するメッセージのうちの最後のメッセージが損失した場合、このような方式では処理することができないという問題点がある。
【0014】
図5は、従来技術に係る通信提供方法の他の実施形態を示した図である。図5に示すように、第1サーバ501は、第2サーバ502とネットワーク連結されており、所定のメッセージを送受信することができる。しかしながら、従来技術のUDP通信環境においては、第1サーバ501から第2サーバ502に送信した最後のメッセージが損失している場合、第2サーバにおいて損失を判別することができず、第1サーバに再送信を要請することができないという問題点があった。
【0015】
例えば、第1サーバ501からメッセージ1、メッセージ2、メッセージ3を第2サーバ502に順に送信して最後にメッセージ4を送信したが、メッセージ4が送信過程において損失し、第2サーバ502に伝達されないという問題が生じる場合がある。
【0016】
このような場合に、第2サーバ502は、メッセージ4が損失したことを認識できなかったり、相当な時間が経過した後に他のメッセージが受信されたことによって損失を認識したりするため、第1サーバ501及び第2サーバ502間のデータ及び状態が一致しなくなるという問題がある。
【0017】
したがって、このように信頼性のない通信環境を改善し、サーバ間のメッセージの送受信を信頼性あるように具現し、同一グループに属したロケーションサーバ間のデータ及び状態が同じように保持されるようにする信頼性のある通信提供方法又は装置開発の必要性が切に求められている。
【発明の開示】
【発明が解決しようとする課題】
【0018】
本発明は、サーバ間のメッセージの送受信を信頼性あるように具現し、同一マルチキャストグループに属するロケーションサーバ間のデータ及び状態が同じように保持されるようにする通信提供方法又は装置を提供することを目的とする。
【0019】
また、本発明は、同一マルチキャストグループに属するメンバーサーバのうち、マルチキャストメッセージを他のメンバーサーバに送信した第1メンバーサーバが、マルチキャストメッセージの受信を確認する最終シーケンス通知メッセージを他のメンバーサーバに送信することで、他のメンバーサーバが損失したマルチキャストメッセージがあるか否かを確認し、損失している場合には再送信要請するようにし、同一マルチキャストグループに属するメンバーサーバが相互間のメッセージを送受信する際に、損失したメッセージを判別して再送信要請することで、信頼性ある通信を提供することを他の目的とする。
【0020】
また、本発明は、マルチキャストメッセージを送信した第1サーバが、一定の時間間隔で、第1サーバ識別子及び第1サーバシーケンスを含む最終シーケンス通知メッセージを他のメンバーサーバに送信することで、第1サーバがマルチキャストメッセージを送信してから所定の期間内に他のマルチキャストメッセージを他のサーバに送信しなくても、他のサーバが第1サーバシーケンスに該当するメッセージが損失していることを判断して再送信を要請し、信頼性ある通信を提供することをさらに他の目的とする。
【0021】
また、本発明は、送信されたメッセージのシーケンスを判別してメッセージが損失しているか否かを判断し、再送信を要請して受信することで、損失したメッセージによるエラーを防止し、同一グループに属するメンバーサーバ間で信頼性ある通信方法を用いてメッセージを送受信できるようにすることをさらに他の目的とする。
【0022】
また、本発明は、同一グループに属する1つのメンバーサーバが最後に送信したメッセージが損失していても、他のメンバーサーバでこれを判断して再送信を要請することで、信頼性ある通信を提供することをさらに他の目的とする。
【課題を解決するための手段】
【0023】
前記の目的を達成し、上述した従来技術の問題点を解決するために、本発明の一実施形態に係る同一マルチキャストグループに属するメンバーサーバ間に信頼性ある通信を提供するための方法は、上記マルチキャストグループに属する第1メンバーサーバのサーバシーケンス保存部に上記第1メンバーサーバに対応する第1サーバシーケンス及び上記第1メンバーサーバと同じマルチキャストグループに属する他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保持する段階と、上記マルチキャストグループに属する上記他のメンバーサーバに、上記第1メンバーサーバを識別する第1サーバ識別子及び上記第1サーバシーケンスを含むマルチキャストメッセージを送信する段階と、上記マルチキャストメッセージを送信する度に、上記サーバシーケンス保存部に保持された上記第1サーバシーケンスを所定の値だけ増加させる段階と、上記メンバーサーバと同じマルチキャストグループに属する第2メンバーサーバから最終シーケンス通知メッセージ(当該最終シーケンス通知メッセージは、上記第2メンバーサーバの第2サーバ識別子及び上記第2メンバーサーバに対応する第2サーバシーケンスを含む)を受信する段階と、上記最終シーケンス通知メッセージに含まれた第2サーバ識別子を参照して、上記サーバシーケンス保存部に保存された上記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、上記第2サーバシーケンスが上記第2保存されたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、上記第2メンバーサーバに上記第2の保存されたサーバシーケンスに上記所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する段階と、を含むこと特徴とする。
【0024】
また、本発明の他の実施形態に係る1つのグループに属するメンバーサーバ間に信頼性ある通信を提供するための方法は、上記グループに属する第1メンバーサーバのサーバシーケンス保存部に上記第1メンバーサーバに対応する第1サーバシーケンス及び上記他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保持する段階と、上記グループに属する上記他のメンバーサーバに上記第1メンバーサーバを識別する第1サーバ識別子及び上記第1サーバシーケンスを含むメッセージを送信する段階と、上記メッセージを送信する度に、上記サーバシーケンス保存部に保持された上記第1サーバシーケンスを所定の値だけ増加させる段階と、上記第1メンバーサーバを識別する第1サーバ識別子及び上記サーバシーケンス保存部に保存された第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で上記他のメンバーサーバに送信する段階と、を含むことを特徴とする。
【0025】
また、本発明のさらに他の実施形態に係る1つのグループに属する他のメンバーサーバとの信頼性ある通信を提供するための第1メンバーサーバは、上記第1メンバーサーバに対応する第1サーバシーケンス及び上記他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保存するサーバシーケンス保存部と、上記グループに属する上記他のメンバーサーバに上記第1メンバーサーバを識別する第1サーバ識別子及び上記第1サーバシーケンスを含むメッセージを送信するメッセージ送信部と、上記メッセージを送信する度に、上記サーバシーケンス保存部に保持された上記第1サーバシーケンスを所定の値だけ増加させるサーバシーケンス管理部と、を含むことを特徴とする。
【発明の効果】
【0026】
本発明によれば、信頼性のあるサーバ間でのメッセージ送受信を提供することで、同一マルチキャストグループに属したロケーションサーバ間のデータ及び状態を同じように保持することが可能な通信提供方法又は装置を提供することができる。
【0027】
また、本発明は、同一マルチキャストグループに属するメンバーサーバのうち、マルチキャストメッセージを他のメンバーサーバに送信した第1メンバーサーバが、マルチキャストメッセージの受信を確認する最終シーケンス通知メッセージを他のメンバーサーバに送信することで、他のメンバーサーバが損失しているマルチキャストメッセージの有無を確認することができ、メッセージが損失している場合には、再送信を要請する。したがって、同一マルチキャストグループに属するメンバーサーバが相互間のメッセージを送受信する際の損失しているメッセージの判別及び再送信要請が実現され、信頼性ある通信を提供することができる。
【0028】
また、本発明は、マルチキャストメッセージを送信した第1サーバが、第1サーバ識別子及び第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で他のメンバーサーバに送信することで、第1サーバがマルチキャストメッセージを送信した後、所定の期間内に他のマルチキャストメッセージを他のサーバに送信しなくても、他のサーバが第1サーバシーケンスに該当するメッセージが損失していることを判断して再送信を要請することができ、信頼性ある通信を提供することができる。
【0029】
また、本発明は、送信されたメッセージのシーケンスを判別してメッセージの損失の可否を判断し、再送信要請して受信することで、損失したメッセージによるエラーを防止し、同一グループに属するメンバーサーバ間で信頼性ある通信方法を用いてメッセージを送受信できる。
【0030】
また、本発明は、同一グループに属する1つのメンバーサーバが最後に送信したメッセージが損失していても、他のメンバーサーバでこれを判断して再送信を要請することができ、信頼性ある通信を提供することができる。
【発明を実施するための最良の形態】
【0031】
以下、添付の図面を参照して、本発明に係る信頼性ある通信提供方法及び装置について詳しく説明する。
【0032】
図6は、本発明の同一マルチキャストグループに含まれた複数のロケーションサーバのネットワーク連結を示した図である。図6に示すように、第1サーバ600、第2サーバ610、第3サーバ620、第4サーバ630は、同一マルチキャストグループに含まれており、ネットワークを通じて連結している。同一マルチキャストグループに含まれたメンバーサーバは、各メンバーサーバのサーバシーケンス保存部に自身のサーバシーケンス及び同一マルチキャストグループに含まれている他のメンバーサーバのサーバシーケンスを保存及び保持する。一例として、同一マルチキャストグループに含まれたメンバーサーバのうち、第1メンバーサーバである第1サーバ600は、符号600のように、サーバシーケンス保存部に第1サーバ及び同一マルチキャストグループに属する他のメンバーサーバ610、620、630それぞれに対応するサーバシーケンスを保存する。
【0033】
例えば、第1サーバ600は、サーバシーケンス保存部601に、第1サーバ600のシーケンス「15」、第2サーバ610のシーケンス「15」、第3サーバ620のシーケンス「15」、及び第4サーバ630のシーケンス「15」を保存及び保持している。サーバシーケンスとは、同一マルチキャストグループに含まれたメンバーサーバ間のメッセージ送受信と関連するシーケンス(sequence)である。
【0034】
同一マルチキャストグループに属するメンバーサーバのうちの1つである第1サーバ600は、マルチキャストグループに属する他のメンバーサーバ610、620、630にマルチキャストメッセージを送信する際に、マルチキャストメッセージに第1サーバ600を識別する第1サーバ識別子及び第1サーバシーケンスを含ませて送信する。
【0035】
同一マルチキャストグループに属するメンバーサーバは、サーバに保存されたデータを同期化するために、1つのメンバーサーバが外部サーバから所定のメッセージを受信すると、これをマルチキャストメッセージとして生成して他のメンバーサーバに送信し、他のメンバーサーバは、当該マルチキャストメッセージを受信してデータを同期化する。
【0036】
第1サーバ600は、このようなマルチキャストメッセージを同一マルチキャストグループに属する他のメンバーサーバ610、620、630に送信する際に、マルチキャストメッセージに第1サーバ識別子及び第1サーバシーケンスを含ませて送信する。
【0037】
そして、第1サーバ600は、マルチキャストメッセージを送信する度に、サーバシーケンス保存部601に保持されている第1サーバシーケンスを所定の値だけ増加させ、所定の値だけ増加した第1サーバシーケンスをマルチキャストメッセージ602に含ませて送信する。一例として、第1サーバ600は、マルチキャストメッセージを送信する度に、シーケンス保存部601に保持されている第1サーバシーケンスを「1」ずつ増加させ、符号602のように、マルチキャストメッセージに第1サーバ識別子「LCS1」及び増加した第1サーバシーケンスである「16」を含んで他のメンバーサーバ610、620、630に送信する。増加させる値は、実施形態に応じて多様な設定が可能である。
【0038】
また、本実施形態では、第1サーバ600は、サーバシーケンス保存部601に保持されている第1サーバシーケンスをマルチキャストメッセージに含ませて送信し、第1サーバシーケンスを所定の値だけ増加させることもできる。例えば、符号603で示すように、第1サーバがマルチキャストメッセージを送信することによって、サーバシーケンス保存部601に保持されていた第1サーバシーケンス「15」を「16」に「1」だけ増加させる。
【0039】
このように、第1サーバは、第1サーバシーケンスを含んだマルチキャストメッセージを送信して第1サーバシーケンスを所定の値だけ増加させたり、第1サーバシーケンスを所定の値だけ増加させた後に第1サーバシーケンスを含んだマルチキャストメッセージを送信したりする。これら2つすべての場合は、マルチキャストメッセージを送信する度に第1サーバシーケンスを所定の値だけ増加させるという点において等しく、実施形態すべてが本発明に属し均等な範囲内であると言える。なお、前者の場合(第1サーバが第1サーバシーケンスを含んだマルチキャストメッセージを送信して第1サーバシーケンスを所定の値だけ増加させる場合)には、後述する最終シーケンス通知メッセージに含まれるサーバシーケンスは、第1サーバ600のサーバシーケンス保存部に保存されている第1サーバシーケンスから所定の値を減少させた値となる。同じように、後者の場合(第1サーバが第1サーバシーケンスを所定の値だけ増加させた後に第1サーバシーケンスを含んだマルチキャストメッセージを送信する場合)には、後述する最終シーケンス通知メッセージに含まれるサーバシーケンスは、第1サーバ600のサーバシーケンス保存部に保存されている第1サーバシーケンスとなる。
【0040】
マルチキャストメッセージを送信した第1サーバ600は、第1サーバを識別する第1サーバ識別子及びサーバシーケンス保存部に保存されている第1サーバシーケンスを含む最終シーケンス通知メッセージを、メンバーサーバと同じマルチキャストグループに属する他のメンバーサーバ610、620、630に一定の時間間隔で送信する。一定の時間間隔も、実施形態に応じて多様な値に変更が可能である。
【0041】
例えば、第1サーバ600が第1サーバシーケンスを所定の値だけ増加させた後に第1サーバシーケンスを含んだマルチキャストメッセージを送信する場合に、第1サーバ600は、第1サーバ識別子「LCS1」及びサーバシーケンス保存部603に保存されている第1サーバシーケンス「16」を含む最終シーケンス通知メッセージ604を、同一マルチキャストグループに属する他のメンバーサーバ610、620、630に「5秒」間隔で送信する。
【0042】
一方、第1サーバ600がサーバシーケンス保存部603に保存されている第1サーバシーケンス「15」を含んだマルチキャストメッセージを送信した後に、保存されている第1サーバシーケンスを所定の値だけ増加させて「16」と記録する場合に、第1サーバ600は、最終シーケンス通知メッセージ604に保存されている第1サーバシーケンス「16」から所定の値を減少させたサーバシーケンスである「15」を含んだ同一マルチキャストグループに属する他のメンバーサーバ610、620、630に送信する。このような場合も、第1サーバ600から他のメンバーサーバ610、620、630に送信したマルチキャストメッセージに含まれたサーバシーケンス及びサーバ識別子を含んだ最終シーケンス通知メッセージを送信することに変わりない。
【0043】
マルチキャストグループに属する他のメンバーサーバ610、620、630が最終シーケンス通知メッセージを受信すると、最終シーケンス通知メッセージに含まれた第1サーバ識別子を参照して、それぞれのメンバーサーバのサーバシーケンス保存部に保存されていた第1サーバ識別子に対応する第1保存されたサーバシーケンスを識別する。既に説明したように、マルチキャストグループに属するメンバーサーバは、それぞれサーバシーケンス保存部を含んでいる。サーバシーケンス保存部には、マルチキャストグループに属する各メンバーサーバのサーバ識別子及びサーバシーケンスが保持されている。
【0044】
識別した結果、メンバーサーバに保存された第1サーバシーケンスが第1保存されていたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合には、第1メンバーサーバに第1の保存されたサーバシーケンスに所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する。このような過程については、図7を参照して詳しく説明する。
【0045】
図7は、本発明に係るメンバーサーバで最終シーケンス通知メッセージを受信して処理する過程を示した図である。図7に示すように、第1サーバ700、第2サーバ710、第3サーバ720、第4サーバ730は、同一マルチキャストグループに含まれてデータを同期化する。
【0046】
同一マルチキャストグループに属するメンバーサーバのうちの第1メンバーサーバである第1サーバ700は、同一マルチキャストグループに属する第2メンバーサーバ710、720、730のうちの1つから最終シーケンス通知メッセージを受信する。第2メンバーサーバが最終シーケンス通知メッセージを送信する過程は、図6を参照して説明した通りである。
【0047】
最終シーケンス通知メッセージは、第2メンバーサーバのサーバ識別子及び第2メンバーサーバに対応する第2サーバシーケンスを含んでいる。例えば、図7において、第4サーバ730は、第1サーバ700に最終シーケンス通知メッセージ702を送信する。最終シーケンス通知メッセージ702は、第4サーバ730のサーバ識別子「LCS4」及び第4サーバ730に対応するサーバシーケンス「16」を含んでいる。
【0048】
第1サーバ700は、受信した最終シーケンス通知メッセージ702に含まれているサーバ識別子LCS4を参照して、サーバシーケンス保存部701に保存されているサーバ識別子「LCS4」に対応するサーバシーケンスを識別する。例えば、保存されているサーバシーケンスは「15」である。
【0049】
第1サーバ700は、最終シーケンス通知メッセージ702に含まれたサーバシーケンスがサーバシーケンス保存部701に保存されているサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、第4サーバに保存されているサーバシーケンスに所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する。
【0050】
例えば、第1サーバ700から受信した最終シーケンス通知メッセージ702に含まれているサーバシーケンス「16」が、サーバシーケンス保存部701に保存されているサーバシーケンス「15」に所定の値である「1」を合算した値である場合に、第1サーバ700は、第4サーバ730に保存された「15」に所定の値である「1」を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求するメッセージ703を送信する。
【0051】
したがって、本発明によれば、同一マルチキャストグループに属するメンバーサーバのうちでマルチキャストメッセージを他のメンバーサーバに送信したサーバは、マルチキャストメッセージの受信を確認する最終シーケンス通知メッセージを他のメンバーサーバに送信することで、他のメンバーサーバが損失したマルチキャストメッセージの有無を確認し、損失している場合には再送信を要請するようになる。
【0052】
したがって、本発明によれば、同一マルチキャストグループに属するメンバーサーバが相互間でメッセージを送受信する際に、損失したメッセージを判別して再送信を要請することで、信頼性ある通信を提供することができるという効果がある。
【0053】
特に、マルチキャストメッセージを送信した第1サーバは、第1サーバ識別子及び第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で他のメンバーサーバに送信することで、第1サーバがマルチキャストメッセージを送信した後、所定の期間内に他のマルチキャストメッセージを他のサーバに送信しなくても、他のサーバが第1サーバシーケンスに該当するメッセージが損失していることを判断して再送信を要請できるようになるという効果がある。このような効果については、図10を参照して詳しく後述する。
【0054】
図8は、本発明に係るメンバーサーバにおいてマルチキャストメッセージを受信して処理する過程を示した図である。
【0055】
図8に示すように、第1サーバ800、第2サーバ810、第3サーバ820、第4サーバ830は、同一マルチキャストグループに含まれてデータを同期化する。
【0056】
同一マルチキャストグループに属するメンバーサーバのうち、第1メンバーサーバである第1サーバ800は、同一マルチキャストグループに属する第2メンバーサーバ810、820、830のうちの1つから第2マルチキャストメッセージを受信する。第2メンバーサーバのうちの1つであるサーバが同一マルチキャストグループに属する残りのメンバーサーバに送信するメッセージとして、例えば、第2マルチキャストメッセージは、第2メンバーサーバ810、820、830のうちの1つが外部サーバから受信したメッセージを加工したメッセージである。
【0057】
例えば、マルチキャストグループに属するメンバーサーバが外部サービスサーバのユーザログイン/ログアウト情報を管理する場合にも、メンバーサーバは、ユーザに対するログイン/ログアウト状態を同期化して等しく保持しなければならない。したがって、1つのメンバーサーバは、ユーザに対するログイン/ログアウトメッセージを外部サービスサーバから受信して同一グループに属する残りのメンバーサーバに送信するためのマルチキャストメッセージを生成する。
【0058】
第1サーバ800は、第4サーバ830からマルチキャストメッセージ802を受信する。マルチキャストメッセージ802は、第2メンバーサーバである第4サーバ830のサーバ識別子及び前記第4サーバに対応するサーバシーケンスを含んでいる。すなわち、マルチキャストメッセージ802は、第4サーバ830のサーバ識別子「LCS4」及び第4サーバに対応するサーバシーケンス「17」を含む。
【0059】
第1サーバ800は、マルチキャストメッセージ802に含まれた第2サーバ識別子を参照して、サーバシーケンス保存部に保存されている第2サーバ識別子に対応する第2保存されたサーバシーケンスを識別する。例えば、第1サーバ800は、マルチキャストメッセージ802に含まれた第4サーバ830のサーバ識別子「LCS4」を参照し、サーバシーケンス保存部801に保存されている第4サーバ識別子「LCS4」に対応して保存されているサーバシーケンス「15」を識別する。
【0060】
第1サーバ800は、マルチキャストメッセージに含まれている第2サーバシーケンスが第2の保存されているサーバシーケンスに所定の値を合算したものよりも大きい場合に、第2メンバーサーバに第2保存されたサーバシーケンスに所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する。例えば、第1サーバ800は、受信したマルチキャストメッセージ802に含まれている第4サーバのサーバシーケンス「17」がサーバシーケンス保存部801に保存されている第4サーバのサーバシーケンス「15」に所定の値を合算したものよりも大きい場合に、第4サーバ830に第4サーバのサーバシーケンスに所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する。一例として、所定の値は「1」である。第1サーバ800は、マルチキャストメッセージに含まれた第4サーバのサーバシーケンス「17」が、保存されている第4サーバのサーバシーケンス「15」に「1」を合算した値である「16」よりも大きい場合に、サーバシーケンス「16」に対応するマルチキャストメッセージの再送信要求メッセージ803を第4サーバ830に送信する。
【0061】
再送信要求メッセージ803は、第4サーバが再送信しなければならないマルチキャストメッセージに対するサーバシーケンスを含んでいる。上述の例の場合、再送信要求メッセージは、第4サーバが再送信しなければならないマルチキャストメッセージに対するサーバシーケンス「16」を含んでいる。
【0062】
第4サーバ830は、第1サーバから再送信要求メッセージ803を受信し、メンバーサーバ800、810、820に送信したマルチキャストメッセージを保存しているメッセージバッファ804から第2サーバシーケンスに対応するマルチキャストメッセージを検索して第1サーバに送信する。
【0063】
メッセージバッファ804とは、同一マルチキャストグループに属するメンバーサーバのうちの1つのサーバが残りのメンバーサーバに送信したマルチキャストメッセージを保存する保存手段であり、所定のデータを保存する保存手段である。マルチキャストメッセージは、送信するサーバ識別子及びサーバシーケンスを含んでいるため、第4サーバ830は、再送信要求メッセージ803の受信に応答し、再送信要求メッセージ803に含まれているサーバシーケンス「16」に対応するマルチキャストメッセージ805をメッセージバッファ804から検索して、これを第1サーバ810に送信する。
【0064】
したがって、本発明によれば、同一マルチキャストグループに属するメンバーサーバから同一マルチキャストグループに属する他のメンバーサーバに連続したシーケンスを有するマルチキャストメッセージを送信する際に、マルチキャストメッセージを受信するメンバーサーバにおいて、マルチキャストメッセージのうちから損失して送信されないマルチキャストメッセージを判別し、これに対して再送信要請することができるため、信頼性ある通信環境を構築できるという効果がある。
【0065】
特に、複数のメンバーサーバが同一マルチキャストグループに含まれており、所定の情報を同期化して情報を分散処理する場合に、複数のメンバーサーバは、同じ状態及びデータを保持して正確に同期化される必要がある。したがって、本発明によれば、複数のメンバーサーバのマルチキャスト受信の可否を正確に判別し、一部でも損失している場合には再送信要請して再送信を受けることができるため、同一グループに属した複数のメンバーサーバが同じ状態及びデータを保持できるようになる。
【0066】
もし、同一マルチキャストグループに含まれたメンバーサーバがユーザのログイン/ログアウト情報を管理する場合に、メンバーサーバは、1つのメンバーサーバで受信したログイン/ログアウトメッセージをマルチキャストメッセージとして受信し、同一状態を保持してユーザのログイン/ログアウト情報を分散処理することができる。ここで、1つのメンバーサーバから他のメンバーサーバに送信したマルチキャストメッセージが損失している場合には、他のメンバーサーバが損失しているマルチキャストサーバシーケンスを判別してマルチキャストメッセージを送信したサーバに再要請することができるため、同一マルチキャストグループに属するメンバーサーバのデータ及び状態が一致しないことによって発生し得るエラーを防ぐことができるとう効果がある。
【0067】
また、本発明に係る信頼性ある通信提供方法は、このようなマルチキャストグループに属するメンバーサーバだけでなく、複数のサーバを含んだあらゆるグループのサーバ間の通信において適用が可能である。このとき、サーバは、他のメンバーサーバにマルチキャストメッセージではない所定の情報を含んだ一般メッセージを送信し、最終通知メッセージを一定の時間間隔で送信してメッセージ損失の可否を判断することもできるし、送信されたメッセージのシーケンスを判別してメッセージ損失の可否を判断し、再送信要請して受信することで損失したメッセージによるエラーを防止し、メンバーサーバ間の信頼性ある通信方法を用いてメッセージを送受信できるようになるという効果がある。
【0068】
図9は、本発明によって、メンバーサーバ間の信頼性ある通信方法を提供する一実施形態を示した図である。
【0069】
図9に示すように、本発明に係るメンバーサーバのうちの第1サーバ901は、同一グループに属する他のメンバーサーバである第2サーバ902にメッセージ1、メッセージ2、メッセージ3、及びメッセージ4を順に送信する。このとき、メッセージ4が通信過程において損失する場合がある。第2サーバ902は、メッセージ1、メッセージ2、メッセージ3を受信した後、メッセージを送信した第1サーバ識別子及び当該メッセージに対するサーバシーケンスをサーバシーケンス保存部に保存する。
【0070】
第1サーバ901はメッセージ5を第2サーバ902に送信し、第2サーバ902はメッセージ5を受信して保存する。第2サーバ902は、サーバシーケンス保存部に保存されているサーバシーケンスとメッセージ5のサーバシーケンスを比較し、メッセージ5のサーバシーケンスが保存されているサーバシーケンスに所定の値を合算したよりも大きい場合には、保存されているシーケンスに所定の値を合算したサーバシーケンスに対応するメッセージであるメッセージ4の再送信を要請する再送信要請メッセージを第1サーバ901に送信する。
【0071】
第1サーバ901は、再送信要請メッセージを受信した後、再送信しなければならないメッセージに対するサーバシーケンスに対応するメッセージ4をメッセージバッファから検索した後、第2サーバに再送信する。
【0072】
このような損失メッセージの再送信は、同一グループに属した他のメンバーサーバから受信したすべてのメッセージに適用が可能であり、本発明に係るメンバーサーバは、1つのグループに属した他のメンバーサーバから受信したメッセージ損失の可否を判断して再送信を要請することができるため、信頼性ある通信環境でメッセージを送受信できるようになるという効果がある。
【0073】
図10は、本発明のメンバーサーバ間の信頼性ある通信方法を提供する他の実施形態を示した図である。
【0074】
図10に示すように、第1サーバ1001及び第2サーバ1002は、同一グループに属したメンバーサーバである。
【0075】
本発明に係るメンバーサーバのうちの第1サーバ1001は、同一グループに属する他のメンバーサーバである第2サーバ1002にメッセージ1、メッセージ2、メッセージ3、及びメッセージ4を順に送信する。このとき、メッセージ4は、送信過程において損失する場合がある。
【0076】
第1サーバ1001は、メッセージを送信する度に、サーバシーケンス保存部に保持されている第1サーバシーケンスを所定の値だけ増加させ、第1サーバ1001を識別する第1サーバ識別子及びサーバシーケンス保存部に保存されている第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で第2サーバ1002に送信する。
【0077】
第2サーバ1002は、第1サーバ1001から最終シーケンス通知メッセージを受信すると、最終シーケンス通知メッセージに含まれた第1サーバ識別子を参照して保存されているサーバシーケンスを識別し、最終シーケンス通知メッセージに含まれている第1サーバシーケンスが保存されているサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合には、第1サーバ1001に所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する再送信メッセージを送信する。
【0078】
すなわち、第1サーバ1001は、最終シーケンス通知メッセージにメッセージ4に該当するシーケンスである「4」を含んで第2サーバに送信するが、第2サーバ1002には最後に受信したメッセージ3に該当するシーケンスである「3」が保存されているため、第2サーバ1002は、メッセージ4の再送信を要求する再送信要請メッセージを第1サーバ1001に送信する。
【0079】
第1サーバ1001は、メッセージバッファからメッセージ4を検索し、これを第2サーバ1002に再送信する。
【0080】
したがって、本発明によれば、メッセージを送信した第1サーバは、第1サーバ識別子及び第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で他のメンバーサーバに送信することで、第1サーバがマルチキャストメッセージを送信した後、所定の期間内に他のメッセージを他のサーバに送信しなくても、他のサーバが第1サーバシーケンスに該当するメッセージが損失していることを判断して再送信を要請できるようになるという効果がある。
【0081】
本発明は、同一グループに属する1つのメンバーサーバが最後に送信したメッセージに損失があっても、他のメンバーサーバでこれを判断して再送信を要請することによって、信頼性ある通信を提供できるようになるという効果がある。このような効果は、図5で説明した従来技術の問題点を明確に解決できるものであると言える。
【0082】
本発明に係る通信提供方法は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読み取り可能な媒体を含む。記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。また、記録媒体及びプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。また、コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置等が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもあってもよい。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含むことができる。また、上記ハードウェア要素は、本発明の動作を実行するために一以上のソフトウェアモジュールとして作動するように構成することができ、その逆もできる。
【0083】
図11は、本発明の一実施形態に係る信頼性ある通信を提供するためのメンバーサーバの構成を示したブロック図である。図11に示すように、本発明の1つのグループに属する他のメンバーサーバとの信頼性ある通信を提供するための第1メンバーサーバは、サーバシーケンス保存部1101と、メッセージ送信部1102と、サーバシーケンス管理部1103と、メッセージ受信部1104と、サーバシーケンス検索部1104と、再送信要請部1105とを含む。
【0084】
サーバシーケンス保存部1101は、第1メンバーサーバに対応する第1サーバシーケンス及び他のメンバーサーバそれぞれに対応して保存されるサーバシーケンスを保存する。サーバシーケンス保存部1101の一実施形態は、図6の符号601を参照して説明した通りである。
【0085】
メッセージ送信部1102は、グループに属する他のメンバーサーバにメッセージを送信する際に、メッセージに第1メンバーサーバを識別する第1サーバ識別子及び第1サーバシーケンスを含んで送信する。
【0086】
サーバシーケンス管理部1103は、メッセージを送信する度に、サーバシーケンス保存部に保持されている第1サーバシーケンスを所定の値だけ増加させる。上述した通り、所定の値は、実施形態に応じて多様に設定が可能である。
【0087】
メッセージ受信部1104は、他のメンバーサーバのうちの1つである第2メンバーサーバから最終シーケンス通知メッセージを受信する。最終シーケンス通知メッセージは、第2メンバーサーバの第2サーバ識別子及び第2メンバーサーバに対応する第2サーバシーケンスを含んでいる。
【0088】
シーケンス検索部1105は、最終シーケンス通知メッセージに含まれている第2サーバ識別子を参照して、サーバシーケンス保存部に保存されている第2サーバ識別子に対応する第2保存されたサーバシーケンスを識別する。
【0089】
再送信要請部1106は、第2サーバシーケンスが第2保存されたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、第2メンバーサーバに第2保存されたサーバシーケンスに所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する。
【0090】
このように、メンバーサーバの再送信要請部1106は、所定の値を合算したサーバシーケンスに対応するメッセージの再送信をメンバーサーバに要求することで、損失したメッセージを判別して再送信要請できるようになるとう効果がある。
【0091】
また、メッセージ送信部1102は、第1メンバーサーバを識別する第1サーバ識別子及びサーバシーケンス保存部に保存されている第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で他のメンバーサーバに送信する。
【0092】
メッセージ送信部1102は、このように最終シーケンス通知メッセージを他のメンバーサーバに送信することで、他のメンバーサーバがメンバーサーバから最終的に受信したメッセージのシーケンスを確認できるようになるという効果がある。
【0093】
メッセージ受信部1104は、他のメンバーサーバのうちの1つである第2メンバーサーバから第2メッセージを受信する。第2メッセージは、第2メンバーサーバの第2サーバ識別子及び第2メンバーサーバに対応する第2サーバシーケンスを含んでいる。
【0094】
サーバシーケンス検索部1105は、第2メッセージに含まれている第2サーバ識別子を参照して、サーバシーケンス保存部に保存されている第2サーバ識別子に対応する第2保存されたサーバシーケンスを識別する。
【0095】
再送信要請部1106は、第2サーバシーケンスが第2保存されたサーバシーケンスに所定の値を合算したものよりも大きい場合に、第2メンバーサーバに第2保存されたサーバシーケンスに所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する。
【0096】
また、メッセージ受信部1104は、他のメンバーサーバのうちの1つである第2メンバーサーバから再送信要求メッセージを受信することができる。再送信要求メッセージは、再送信しなければならないメッセージに対する第2サーバシーケンスを含んでいる。
【0097】
メッセージ検索部1107は、メンバーサーバにおいて送信したメッセージを保存するメッセージバッファから第2サーバシーケンスに対応するメッセージを検索し、メッセージ送信部1102は、検索されたメッセージを第2メンバーサーバに送信する。
【0098】
上述したように、本発明を好ましい実施形態に則して説明したが、本発明の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の技術的思想及びその領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図面の簡単な説明】
【0099】
【図1】従来の複数のサービスサーバに接続するユーザ端末機のネットワーク接続を示した図である。
【図2】従来のユーザのロケーション情報を管理するためのロケーションサーバとサービスサーバとのネットワーク接続を示した図である。
【図3】本発明のマルチキャストグループで構成された複数のロケーションサーバとサービスサーバ及びユーザ端末機のネットワーク連結を示した図である。
【図4】従来技術に係る通信提供方法の一実施形態を示した図である。
【図5】従来技術に係る通信提供方法の他の実施形態を示した図である。
【図6】本発明の同一マルチキャストグループに含まれた複数のロケーションサーバのネットワーク連結を示した図である。
【図7】本発明に係るメンバーサーバにおいて最終シーケンス通知メッセージを受信して処理する過程を示した図である。
【図8】本発明に係るメンバーサーバにおいてマルチキャストメッセージを受信して処理する過程を示した図である。
【図9】本発明のメンバーサーバ間の信頼性ある通信方法を提供する一実施形態を示した図である。
【図10】本発明のメンバーサーバ間の信頼性ある通信方法を提供する他の実施形態を示した図である。
【図11】本発明の一実施形態に係る信頼性ある通信を提供するためのメンバーサーバの構成を示したブロック図である。
【技術分野】
【0001】
本発明は、同一マルチキャストグループ内に属するメンバーサーバ間の信頼性ある通信を保障するための通信提供方法及び装置に関する。
【背景技術】
【0002】
図1は、従来の複数のサービスサーバに接続するユーザ端末機のネットワーク構成を示した図である。
【0003】
図1において、ユーザ端末機101、102を用いるユーザは、インターネット103を通じて、プレイしたいオンラインゲームを提供するゲームサーバ104、105、106に接続する。例えば、ゲームサーバ104、105はゴーストップゲームサービスを提供し、ゲームサーバ106はフーラゲームサービスを提供する。このとき、ユーザのログイン/ログアウトは、各ゲームサーバ104、105、106において個別に各々実行されるとともに、ユーザのログイン/ログアウト情報も各ゲームサーバ104、105、106にて個別に管理されていた。したがって、従来は、1つのゲームサーバにログインしたユーザは、他のゲームサーバにログインしたユーザの現在状態(例えば、ログインしたのかログアウトしたのか、又はどのようなゲームをしているのか)について全く知ることができなかった。
【0004】
図2は、従来のユーザのロケーション情報を管理するためのロケーションサーバとサービスサーバとのネットワーク構成を示した図である。
【0005】
図1に示した構成の問題点を解決するために、すべてのゲームサーバ204、205、206におけるユーザのログイン/ログアウト情報を集中的に管理するロケーションサーバ(Location Server)207が設けられている。ユーザがユーザ端末機201、202及びインターネット103を通じて、プレイしたいオンラインゲームを提供するゲームサーバ204、205、206に接続すると、ゲームサーバ204、205、206は、ユーザの各ログイン/ログアウト情報をロケーションサーバ207に送信する。その後、ロケーションサーバ207は、すべてのゲームサーバ204、205、206におけるユーザのログイン/ログアウト情報を集中的に管理するため、特定のサーバにログインしたユーザの最新の状態をユーザに提供することが可能となる。また、ロケーションサーバ207は、ユーザの位置を検出してユーザの重複ログインを防止することができる。
【0006】
しかしながら、現在提供されているオンラインゲームは、数百台のゲームサーバによって提供されており、このようなゲームサーバそれぞれで管理されていたログイン/ログアウト情報の管理を1つのロケーションサーバで管理するとなれば、ロケーションサーバに対するシステムの負荷(load)が極めて大きくなるという問題点が発生する。
【0007】
したがって、このようなロケーションサーバに集中するシステム負荷の問題を解決するために、ロケーションサーバをマルチキャストグループ(multicast group)で構成する方式が提案された。図3は、本発明におけるマルチキャストグループで構成された複数のロケーションサーバとサービスサーバ及びユーザ端末機のネットワーク構成を示した図である。マルチキャストグループに属するロケーションサーバは、ユーザのログイン/ログアウト状態に関して同じ状態情報を有さなければならない。
【0008】
したがって、マルチキャストグループに属するロケーションサーバは、ユーザのログイン/ログアウト状態に関して同じ状態情報を有するため、マルチキャストグループに属する1つのロケーションサーバがユーザのログイン/ログアウトメッセージを受信すると、ログイン/ログアウトメッセージ受信に応答してマルチキャストメッセージを生成し、同一グループに属する他のロケーションサーバに送信することになる。
【0009】
しかしながら、メッセージの送受信にUDP(User Datagram Protocol)通信のような信頼性が保証されない通信環境が用いられる場合には、メッセージの交換過程において当該メッセージが損失する場合が発生する。ロケーションサーバ間の信頼性ある通信は極めて重要であるため、メッセージ送信に用いられる媒体及び通信手段が信頼性ある通信を保証しない場合にも、ロケーションサーバ間では信頼性ある通信を提供するための方法及び装置開発の必要性が切に求められている。
【0010】
図4は、従来技術に係る通信提供方法の一実施形態を示した図である。図4に示すように、第1サーバ401は、第2サーバ402とネットワーク連結しており、所定のメッセージを送受信することができる。しかしながら、従来のUDP通信環境においては、送受信過程においてメッセージが損失する恐れがあるという問題があった。
【0011】
例えば、第1サーバ401からメッセージ1、メッセージ2、メッセージ3を第2サーバ402に順に送信して最後にメッセージ4を送信したものの、メッセージ4が送信過程において損失し、第2サーバ402に伝送されないという問題が生じる場合がある。
【0012】
このような場合に、第1サーバ401がメッセージ5を第2サーバに送信することで、第2サーバはメッセージ4が損失したことを判断し、第1サーバ401に再送信を要請することができ、第1サーバ401は、再送信要請に応じてメッセージ4を第2サーバ402に再送信する。しかしながら、このような損失メッセージの再送信は、2台のサーバ間でメッセージを交換する際には適用できるが、上述したように同一グループに属するサーバが複数であり、複数のサーバ間で交換されるメッセージの一部が損失する場合には適用することができないという問題点がある。
【0013】
また、図4の従来例では、損失したメッセージが一連のシーケンス番号を有するメッセージのうちの中間のメッセージ、すなわち、メッセージ3とメッセージ5の間のメッセージ4が損失された場合にその損失の可否を判別して再送信を要求しているが、一連のシーケンス番号を有するメッセージのうちの最後のメッセージが損失した場合、このような方式では処理することができないという問題点がある。
【0014】
図5は、従来技術に係る通信提供方法の他の実施形態を示した図である。図5に示すように、第1サーバ501は、第2サーバ502とネットワーク連結されており、所定のメッセージを送受信することができる。しかしながら、従来技術のUDP通信環境においては、第1サーバ501から第2サーバ502に送信した最後のメッセージが損失している場合、第2サーバにおいて損失を判別することができず、第1サーバに再送信を要請することができないという問題点があった。
【0015】
例えば、第1サーバ501からメッセージ1、メッセージ2、メッセージ3を第2サーバ502に順に送信して最後にメッセージ4を送信したが、メッセージ4が送信過程において損失し、第2サーバ502に伝達されないという問題が生じる場合がある。
【0016】
このような場合に、第2サーバ502は、メッセージ4が損失したことを認識できなかったり、相当な時間が経過した後に他のメッセージが受信されたことによって損失を認識したりするため、第1サーバ501及び第2サーバ502間のデータ及び状態が一致しなくなるという問題がある。
【0017】
したがって、このように信頼性のない通信環境を改善し、サーバ間のメッセージの送受信を信頼性あるように具現し、同一グループに属したロケーションサーバ間のデータ及び状態が同じように保持されるようにする信頼性のある通信提供方法又は装置開発の必要性が切に求められている。
【発明の開示】
【発明が解決しようとする課題】
【0018】
本発明は、サーバ間のメッセージの送受信を信頼性あるように具現し、同一マルチキャストグループに属するロケーションサーバ間のデータ及び状態が同じように保持されるようにする通信提供方法又は装置を提供することを目的とする。
【0019】
また、本発明は、同一マルチキャストグループに属するメンバーサーバのうち、マルチキャストメッセージを他のメンバーサーバに送信した第1メンバーサーバが、マルチキャストメッセージの受信を確認する最終シーケンス通知メッセージを他のメンバーサーバに送信することで、他のメンバーサーバが損失したマルチキャストメッセージがあるか否かを確認し、損失している場合には再送信要請するようにし、同一マルチキャストグループに属するメンバーサーバが相互間のメッセージを送受信する際に、損失したメッセージを判別して再送信要請することで、信頼性ある通信を提供することを他の目的とする。
【0020】
また、本発明は、マルチキャストメッセージを送信した第1サーバが、一定の時間間隔で、第1サーバ識別子及び第1サーバシーケンスを含む最終シーケンス通知メッセージを他のメンバーサーバに送信することで、第1サーバがマルチキャストメッセージを送信してから所定の期間内に他のマルチキャストメッセージを他のサーバに送信しなくても、他のサーバが第1サーバシーケンスに該当するメッセージが損失していることを判断して再送信を要請し、信頼性ある通信を提供することをさらに他の目的とする。
【0021】
また、本発明は、送信されたメッセージのシーケンスを判別してメッセージが損失しているか否かを判断し、再送信を要請して受信することで、損失したメッセージによるエラーを防止し、同一グループに属するメンバーサーバ間で信頼性ある通信方法を用いてメッセージを送受信できるようにすることをさらに他の目的とする。
【0022】
また、本発明は、同一グループに属する1つのメンバーサーバが最後に送信したメッセージが損失していても、他のメンバーサーバでこれを判断して再送信を要請することで、信頼性ある通信を提供することをさらに他の目的とする。
【課題を解決するための手段】
【0023】
前記の目的を達成し、上述した従来技術の問題点を解決するために、本発明の一実施形態に係る同一マルチキャストグループに属するメンバーサーバ間に信頼性ある通信を提供するための方法は、上記マルチキャストグループに属する第1メンバーサーバのサーバシーケンス保存部に上記第1メンバーサーバに対応する第1サーバシーケンス及び上記第1メンバーサーバと同じマルチキャストグループに属する他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保持する段階と、上記マルチキャストグループに属する上記他のメンバーサーバに、上記第1メンバーサーバを識別する第1サーバ識別子及び上記第1サーバシーケンスを含むマルチキャストメッセージを送信する段階と、上記マルチキャストメッセージを送信する度に、上記サーバシーケンス保存部に保持された上記第1サーバシーケンスを所定の値だけ増加させる段階と、上記メンバーサーバと同じマルチキャストグループに属する第2メンバーサーバから最終シーケンス通知メッセージ(当該最終シーケンス通知メッセージは、上記第2メンバーサーバの第2サーバ識別子及び上記第2メンバーサーバに対応する第2サーバシーケンスを含む)を受信する段階と、上記最終シーケンス通知メッセージに含まれた第2サーバ識別子を参照して、上記サーバシーケンス保存部に保存された上記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、上記第2サーバシーケンスが上記第2保存されたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、上記第2メンバーサーバに上記第2の保存されたサーバシーケンスに上記所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する段階と、を含むこと特徴とする。
【0024】
また、本発明の他の実施形態に係る1つのグループに属するメンバーサーバ間に信頼性ある通信を提供するための方法は、上記グループに属する第1メンバーサーバのサーバシーケンス保存部に上記第1メンバーサーバに対応する第1サーバシーケンス及び上記他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保持する段階と、上記グループに属する上記他のメンバーサーバに上記第1メンバーサーバを識別する第1サーバ識別子及び上記第1サーバシーケンスを含むメッセージを送信する段階と、上記メッセージを送信する度に、上記サーバシーケンス保存部に保持された上記第1サーバシーケンスを所定の値だけ増加させる段階と、上記第1メンバーサーバを識別する第1サーバ識別子及び上記サーバシーケンス保存部に保存された第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で上記他のメンバーサーバに送信する段階と、を含むことを特徴とする。
【0025】
また、本発明のさらに他の実施形態に係る1つのグループに属する他のメンバーサーバとの信頼性ある通信を提供するための第1メンバーサーバは、上記第1メンバーサーバに対応する第1サーバシーケンス及び上記他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保存するサーバシーケンス保存部と、上記グループに属する上記他のメンバーサーバに上記第1メンバーサーバを識別する第1サーバ識別子及び上記第1サーバシーケンスを含むメッセージを送信するメッセージ送信部と、上記メッセージを送信する度に、上記サーバシーケンス保存部に保持された上記第1サーバシーケンスを所定の値だけ増加させるサーバシーケンス管理部と、を含むことを特徴とする。
【発明の効果】
【0026】
本発明によれば、信頼性のあるサーバ間でのメッセージ送受信を提供することで、同一マルチキャストグループに属したロケーションサーバ間のデータ及び状態を同じように保持することが可能な通信提供方法又は装置を提供することができる。
【0027】
また、本発明は、同一マルチキャストグループに属するメンバーサーバのうち、マルチキャストメッセージを他のメンバーサーバに送信した第1メンバーサーバが、マルチキャストメッセージの受信を確認する最終シーケンス通知メッセージを他のメンバーサーバに送信することで、他のメンバーサーバが損失しているマルチキャストメッセージの有無を確認することができ、メッセージが損失している場合には、再送信を要請する。したがって、同一マルチキャストグループに属するメンバーサーバが相互間のメッセージを送受信する際の損失しているメッセージの判別及び再送信要請が実現され、信頼性ある通信を提供することができる。
【0028】
また、本発明は、マルチキャストメッセージを送信した第1サーバが、第1サーバ識別子及び第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で他のメンバーサーバに送信することで、第1サーバがマルチキャストメッセージを送信した後、所定の期間内に他のマルチキャストメッセージを他のサーバに送信しなくても、他のサーバが第1サーバシーケンスに該当するメッセージが損失していることを判断して再送信を要請することができ、信頼性ある通信を提供することができる。
【0029】
また、本発明は、送信されたメッセージのシーケンスを判別してメッセージの損失の可否を判断し、再送信要請して受信することで、損失したメッセージによるエラーを防止し、同一グループに属するメンバーサーバ間で信頼性ある通信方法を用いてメッセージを送受信できる。
【0030】
また、本発明は、同一グループに属する1つのメンバーサーバが最後に送信したメッセージが損失していても、他のメンバーサーバでこれを判断して再送信を要請することができ、信頼性ある通信を提供することができる。
【発明を実施するための最良の形態】
【0031】
以下、添付の図面を参照して、本発明に係る信頼性ある通信提供方法及び装置について詳しく説明する。
【0032】
図6は、本発明の同一マルチキャストグループに含まれた複数のロケーションサーバのネットワーク連結を示した図である。図6に示すように、第1サーバ600、第2サーバ610、第3サーバ620、第4サーバ630は、同一マルチキャストグループに含まれており、ネットワークを通じて連結している。同一マルチキャストグループに含まれたメンバーサーバは、各メンバーサーバのサーバシーケンス保存部に自身のサーバシーケンス及び同一マルチキャストグループに含まれている他のメンバーサーバのサーバシーケンスを保存及び保持する。一例として、同一マルチキャストグループに含まれたメンバーサーバのうち、第1メンバーサーバである第1サーバ600は、符号600のように、サーバシーケンス保存部に第1サーバ及び同一マルチキャストグループに属する他のメンバーサーバ610、620、630それぞれに対応するサーバシーケンスを保存する。
【0033】
例えば、第1サーバ600は、サーバシーケンス保存部601に、第1サーバ600のシーケンス「15」、第2サーバ610のシーケンス「15」、第3サーバ620のシーケンス「15」、及び第4サーバ630のシーケンス「15」を保存及び保持している。サーバシーケンスとは、同一マルチキャストグループに含まれたメンバーサーバ間のメッセージ送受信と関連するシーケンス(sequence)である。
【0034】
同一マルチキャストグループに属するメンバーサーバのうちの1つである第1サーバ600は、マルチキャストグループに属する他のメンバーサーバ610、620、630にマルチキャストメッセージを送信する際に、マルチキャストメッセージに第1サーバ600を識別する第1サーバ識別子及び第1サーバシーケンスを含ませて送信する。
【0035】
同一マルチキャストグループに属するメンバーサーバは、サーバに保存されたデータを同期化するために、1つのメンバーサーバが外部サーバから所定のメッセージを受信すると、これをマルチキャストメッセージとして生成して他のメンバーサーバに送信し、他のメンバーサーバは、当該マルチキャストメッセージを受信してデータを同期化する。
【0036】
第1サーバ600は、このようなマルチキャストメッセージを同一マルチキャストグループに属する他のメンバーサーバ610、620、630に送信する際に、マルチキャストメッセージに第1サーバ識別子及び第1サーバシーケンスを含ませて送信する。
【0037】
そして、第1サーバ600は、マルチキャストメッセージを送信する度に、サーバシーケンス保存部601に保持されている第1サーバシーケンスを所定の値だけ増加させ、所定の値だけ増加した第1サーバシーケンスをマルチキャストメッセージ602に含ませて送信する。一例として、第1サーバ600は、マルチキャストメッセージを送信する度に、シーケンス保存部601に保持されている第1サーバシーケンスを「1」ずつ増加させ、符号602のように、マルチキャストメッセージに第1サーバ識別子「LCS1」及び増加した第1サーバシーケンスである「16」を含んで他のメンバーサーバ610、620、630に送信する。増加させる値は、実施形態に応じて多様な設定が可能である。
【0038】
また、本実施形態では、第1サーバ600は、サーバシーケンス保存部601に保持されている第1サーバシーケンスをマルチキャストメッセージに含ませて送信し、第1サーバシーケンスを所定の値だけ増加させることもできる。例えば、符号603で示すように、第1サーバがマルチキャストメッセージを送信することによって、サーバシーケンス保存部601に保持されていた第1サーバシーケンス「15」を「16」に「1」だけ増加させる。
【0039】
このように、第1サーバは、第1サーバシーケンスを含んだマルチキャストメッセージを送信して第1サーバシーケンスを所定の値だけ増加させたり、第1サーバシーケンスを所定の値だけ増加させた後に第1サーバシーケンスを含んだマルチキャストメッセージを送信したりする。これら2つすべての場合は、マルチキャストメッセージを送信する度に第1サーバシーケンスを所定の値だけ増加させるという点において等しく、実施形態すべてが本発明に属し均等な範囲内であると言える。なお、前者の場合(第1サーバが第1サーバシーケンスを含んだマルチキャストメッセージを送信して第1サーバシーケンスを所定の値だけ増加させる場合)には、後述する最終シーケンス通知メッセージに含まれるサーバシーケンスは、第1サーバ600のサーバシーケンス保存部に保存されている第1サーバシーケンスから所定の値を減少させた値となる。同じように、後者の場合(第1サーバが第1サーバシーケンスを所定の値だけ増加させた後に第1サーバシーケンスを含んだマルチキャストメッセージを送信する場合)には、後述する最終シーケンス通知メッセージに含まれるサーバシーケンスは、第1サーバ600のサーバシーケンス保存部に保存されている第1サーバシーケンスとなる。
【0040】
マルチキャストメッセージを送信した第1サーバ600は、第1サーバを識別する第1サーバ識別子及びサーバシーケンス保存部に保存されている第1サーバシーケンスを含む最終シーケンス通知メッセージを、メンバーサーバと同じマルチキャストグループに属する他のメンバーサーバ610、620、630に一定の時間間隔で送信する。一定の時間間隔も、実施形態に応じて多様な値に変更が可能である。
【0041】
例えば、第1サーバ600が第1サーバシーケンスを所定の値だけ増加させた後に第1サーバシーケンスを含んだマルチキャストメッセージを送信する場合に、第1サーバ600は、第1サーバ識別子「LCS1」及びサーバシーケンス保存部603に保存されている第1サーバシーケンス「16」を含む最終シーケンス通知メッセージ604を、同一マルチキャストグループに属する他のメンバーサーバ610、620、630に「5秒」間隔で送信する。
【0042】
一方、第1サーバ600がサーバシーケンス保存部603に保存されている第1サーバシーケンス「15」を含んだマルチキャストメッセージを送信した後に、保存されている第1サーバシーケンスを所定の値だけ増加させて「16」と記録する場合に、第1サーバ600は、最終シーケンス通知メッセージ604に保存されている第1サーバシーケンス「16」から所定の値を減少させたサーバシーケンスである「15」を含んだ同一マルチキャストグループに属する他のメンバーサーバ610、620、630に送信する。このような場合も、第1サーバ600から他のメンバーサーバ610、620、630に送信したマルチキャストメッセージに含まれたサーバシーケンス及びサーバ識別子を含んだ最終シーケンス通知メッセージを送信することに変わりない。
【0043】
マルチキャストグループに属する他のメンバーサーバ610、620、630が最終シーケンス通知メッセージを受信すると、最終シーケンス通知メッセージに含まれた第1サーバ識別子を参照して、それぞれのメンバーサーバのサーバシーケンス保存部に保存されていた第1サーバ識別子に対応する第1保存されたサーバシーケンスを識別する。既に説明したように、マルチキャストグループに属するメンバーサーバは、それぞれサーバシーケンス保存部を含んでいる。サーバシーケンス保存部には、マルチキャストグループに属する各メンバーサーバのサーバ識別子及びサーバシーケンスが保持されている。
【0044】
識別した結果、メンバーサーバに保存された第1サーバシーケンスが第1保存されていたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合には、第1メンバーサーバに第1の保存されたサーバシーケンスに所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する。このような過程については、図7を参照して詳しく説明する。
【0045】
図7は、本発明に係るメンバーサーバで最終シーケンス通知メッセージを受信して処理する過程を示した図である。図7に示すように、第1サーバ700、第2サーバ710、第3サーバ720、第4サーバ730は、同一マルチキャストグループに含まれてデータを同期化する。
【0046】
同一マルチキャストグループに属するメンバーサーバのうちの第1メンバーサーバである第1サーバ700は、同一マルチキャストグループに属する第2メンバーサーバ710、720、730のうちの1つから最終シーケンス通知メッセージを受信する。第2メンバーサーバが最終シーケンス通知メッセージを送信する過程は、図6を参照して説明した通りである。
【0047】
最終シーケンス通知メッセージは、第2メンバーサーバのサーバ識別子及び第2メンバーサーバに対応する第2サーバシーケンスを含んでいる。例えば、図7において、第4サーバ730は、第1サーバ700に最終シーケンス通知メッセージ702を送信する。最終シーケンス通知メッセージ702は、第4サーバ730のサーバ識別子「LCS4」及び第4サーバ730に対応するサーバシーケンス「16」を含んでいる。
【0048】
第1サーバ700は、受信した最終シーケンス通知メッセージ702に含まれているサーバ識別子LCS4を参照して、サーバシーケンス保存部701に保存されているサーバ識別子「LCS4」に対応するサーバシーケンスを識別する。例えば、保存されているサーバシーケンスは「15」である。
【0049】
第1サーバ700は、最終シーケンス通知メッセージ702に含まれたサーバシーケンスがサーバシーケンス保存部701に保存されているサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、第4サーバに保存されているサーバシーケンスに所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する。
【0050】
例えば、第1サーバ700から受信した最終シーケンス通知メッセージ702に含まれているサーバシーケンス「16」が、サーバシーケンス保存部701に保存されているサーバシーケンス「15」に所定の値である「1」を合算した値である場合に、第1サーバ700は、第4サーバ730に保存された「15」に所定の値である「1」を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求するメッセージ703を送信する。
【0051】
したがって、本発明によれば、同一マルチキャストグループに属するメンバーサーバのうちでマルチキャストメッセージを他のメンバーサーバに送信したサーバは、マルチキャストメッセージの受信を確認する最終シーケンス通知メッセージを他のメンバーサーバに送信することで、他のメンバーサーバが損失したマルチキャストメッセージの有無を確認し、損失している場合には再送信を要請するようになる。
【0052】
したがって、本発明によれば、同一マルチキャストグループに属するメンバーサーバが相互間でメッセージを送受信する際に、損失したメッセージを判別して再送信を要請することで、信頼性ある通信を提供することができるという効果がある。
【0053】
特に、マルチキャストメッセージを送信した第1サーバは、第1サーバ識別子及び第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で他のメンバーサーバに送信することで、第1サーバがマルチキャストメッセージを送信した後、所定の期間内に他のマルチキャストメッセージを他のサーバに送信しなくても、他のサーバが第1サーバシーケンスに該当するメッセージが損失していることを判断して再送信を要請できるようになるという効果がある。このような効果については、図10を参照して詳しく後述する。
【0054】
図8は、本発明に係るメンバーサーバにおいてマルチキャストメッセージを受信して処理する過程を示した図である。
【0055】
図8に示すように、第1サーバ800、第2サーバ810、第3サーバ820、第4サーバ830は、同一マルチキャストグループに含まれてデータを同期化する。
【0056】
同一マルチキャストグループに属するメンバーサーバのうち、第1メンバーサーバである第1サーバ800は、同一マルチキャストグループに属する第2メンバーサーバ810、820、830のうちの1つから第2マルチキャストメッセージを受信する。第2メンバーサーバのうちの1つであるサーバが同一マルチキャストグループに属する残りのメンバーサーバに送信するメッセージとして、例えば、第2マルチキャストメッセージは、第2メンバーサーバ810、820、830のうちの1つが外部サーバから受信したメッセージを加工したメッセージである。
【0057】
例えば、マルチキャストグループに属するメンバーサーバが外部サービスサーバのユーザログイン/ログアウト情報を管理する場合にも、メンバーサーバは、ユーザに対するログイン/ログアウト状態を同期化して等しく保持しなければならない。したがって、1つのメンバーサーバは、ユーザに対するログイン/ログアウトメッセージを外部サービスサーバから受信して同一グループに属する残りのメンバーサーバに送信するためのマルチキャストメッセージを生成する。
【0058】
第1サーバ800は、第4サーバ830からマルチキャストメッセージ802を受信する。マルチキャストメッセージ802は、第2メンバーサーバである第4サーバ830のサーバ識別子及び前記第4サーバに対応するサーバシーケンスを含んでいる。すなわち、マルチキャストメッセージ802は、第4サーバ830のサーバ識別子「LCS4」及び第4サーバに対応するサーバシーケンス「17」を含む。
【0059】
第1サーバ800は、マルチキャストメッセージ802に含まれた第2サーバ識別子を参照して、サーバシーケンス保存部に保存されている第2サーバ識別子に対応する第2保存されたサーバシーケンスを識別する。例えば、第1サーバ800は、マルチキャストメッセージ802に含まれた第4サーバ830のサーバ識別子「LCS4」を参照し、サーバシーケンス保存部801に保存されている第4サーバ識別子「LCS4」に対応して保存されているサーバシーケンス「15」を識別する。
【0060】
第1サーバ800は、マルチキャストメッセージに含まれている第2サーバシーケンスが第2の保存されているサーバシーケンスに所定の値を合算したものよりも大きい場合に、第2メンバーサーバに第2保存されたサーバシーケンスに所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する。例えば、第1サーバ800は、受信したマルチキャストメッセージ802に含まれている第4サーバのサーバシーケンス「17」がサーバシーケンス保存部801に保存されている第4サーバのサーバシーケンス「15」に所定の値を合算したものよりも大きい場合に、第4サーバ830に第4サーバのサーバシーケンスに所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する。一例として、所定の値は「1」である。第1サーバ800は、マルチキャストメッセージに含まれた第4サーバのサーバシーケンス「17」が、保存されている第4サーバのサーバシーケンス「15」に「1」を合算した値である「16」よりも大きい場合に、サーバシーケンス「16」に対応するマルチキャストメッセージの再送信要求メッセージ803を第4サーバ830に送信する。
【0061】
再送信要求メッセージ803は、第4サーバが再送信しなければならないマルチキャストメッセージに対するサーバシーケンスを含んでいる。上述の例の場合、再送信要求メッセージは、第4サーバが再送信しなければならないマルチキャストメッセージに対するサーバシーケンス「16」を含んでいる。
【0062】
第4サーバ830は、第1サーバから再送信要求メッセージ803を受信し、メンバーサーバ800、810、820に送信したマルチキャストメッセージを保存しているメッセージバッファ804から第2サーバシーケンスに対応するマルチキャストメッセージを検索して第1サーバに送信する。
【0063】
メッセージバッファ804とは、同一マルチキャストグループに属するメンバーサーバのうちの1つのサーバが残りのメンバーサーバに送信したマルチキャストメッセージを保存する保存手段であり、所定のデータを保存する保存手段である。マルチキャストメッセージは、送信するサーバ識別子及びサーバシーケンスを含んでいるため、第4サーバ830は、再送信要求メッセージ803の受信に応答し、再送信要求メッセージ803に含まれているサーバシーケンス「16」に対応するマルチキャストメッセージ805をメッセージバッファ804から検索して、これを第1サーバ810に送信する。
【0064】
したがって、本発明によれば、同一マルチキャストグループに属するメンバーサーバから同一マルチキャストグループに属する他のメンバーサーバに連続したシーケンスを有するマルチキャストメッセージを送信する際に、マルチキャストメッセージを受信するメンバーサーバにおいて、マルチキャストメッセージのうちから損失して送信されないマルチキャストメッセージを判別し、これに対して再送信要請することができるため、信頼性ある通信環境を構築できるという効果がある。
【0065】
特に、複数のメンバーサーバが同一マルチキャストグループに含まれており、所定の情報を同期化して情報を分散処理する場合に、複数のメンバーサーバは、同じ状態及びデータを保持して正確に同期化される必要がある。したがって、本発明によれば、複数のメンバーサーバのマルチキャスト受信の可否を正確に判別し、一部でも損失している場合には再送信要請して再送信を受けることができるため、同一グループに属した複数のメンバーサーバが同じ状態及びデータを保持できるようになる。
【0066】
もし、同一マルチキャストグループに含まれたメンバーサーバがユーザのログイン/ログアウト情報を管理する場合に、メンバーサーバは、1つのメンバーサーバで受信したログイン/ログアウトメッセージをマルチキャストメッセージとして受信し、同一状態を保持してユーザのログイン/ログアウト情報を分散処理することができる。ここで、1つのメンバーサーバから他のメンバーサーバに送信したマルチキャストメッセージが損失している場合には、他のメンバーサーバが損失しているマルチキャストサーバシーケンスを判別してマルチキャストメッセージを送信したサーバに再要請することができるため、同一マルチキャストグループに属するメンバーサーバのデータ及び状態が一致しないことによって発生し得るエラーを防ぐことができるとう効果がある。
【0067】
また、本発明に係る信頼性ある通信提供方法は、このようなマルチキャストグループに属するメンバーサーバだけでなく、複数のサーバを含んだあらゆるグループのサーバ間の通信において適用が可能である。このとき、サーバは、他のメンバーサーバにマルチキャストメッセージではない所定の情報を含んだ一般メッセージを送信し、最終通知メッセージを一定の時間間隔で送信してメッセージ損失の可否を判断することもできるし、送信されたメッセージのシーケンスを判別してメッセージ損失の可否を判断し、再送信要請して受信することで損失したメッセージによるエラーを防止し、メンバーサーバ間の信頼性ある通信方法を用いてメッセージを送受信できるようになるという効果がある。
【0068】
図9は、本発明によって、メンバーサーバ間の信頼性ある通信方法を提供する一実施形態を示した図である。
【0069】
図9に示すように、本発明に係るメンバーサーバのうちの第1サーバ901は、同一グループに属する他のメンバーサーバである第2サーバ902にメッセージ1、メッセージ2、メッセージ3、及びメッセージ4を順に送信する。このとき、メッセージ4が通信過程において損失する場合がある。第2サーバ902は、メッセージ1、メッセージ2、メッセージ3を受信した後、メッセージを送信した第1サーバ識別子及び当該メッセージに対するサーバシーケンスをサーバシーケンス保存部に保存する。
【0070】
第1サーバ901はメッセージ5を第2サーバ902に送信し、第2サーバ902はメッセージ5を受信して保存する。第2サーバ902は、サーバシーケンス保存部に保存されているサーバシーケンスとメッセージ5のサーバシーケンスを比較し、メッセージ5のサーバシーケンスが保存されているサーバシーケンスに所定の値を合算したよりも大きい場合には、保存されているシーケンスに所定の値を合算したサーバシーケンスに対応するメッセージであるメッセージ4の再送信を要請する再送信要請メッセージを第1サーバ901に送信する。
【0071】
第1サーバ901は、再送信要請メッセージを受信した後、再送信しなければならないメッセージに対するサーバシーケンスに対応するメッセージ4をメッセージバッファから検索した後、第2サーバに再送信する。
【0072】
このような損失メッセージの再送信は、同一グループに属した他のメンバーサーバから受信したすべてのメッセージに適用が可能であり、本発明に係るメンバーサーバは、1つのグループに属した他のメンバーサーバから受信したメッセージ損失の可否を判断して再送信を要請することができるため、信頼性ある通信環境でメッセージを送受信できるようになるという効果がある。
【0073】
図10は、本発明のメンバーサーバ間の信頼性ある通信方法を提供する他の実施形態を示した図である。
【0074】
図10に示すように、第1サーバ1001及び第2サーバ1002は、同一グループに属したメンバーサーバである。
【0075】
本発明に係るメンバーサーバのうちの第1サーバ1001は、同一グループに属する他のメンバーサーバである第2サーバ1002にメッセージ1、メッセージ2、メッセージ3、及びメッセージ4を順に送信する。このとき、メッセージ4は、送信過程において損失する場合がある。
【0076】
第1サーバ1001は、メッセージを送信する度に、サーバシーケンス保存部に保持されている第1サーバシーケンスを所定の値だけ増加させ、第1サーバ1001を識別する第1サーバ識別子及びサーバシーケンス保存部に保存されている第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で第2サーバ1002に送信する。
【0077】
第2サーバ1002は、第1サーバ1001から最終シーケンス通知メッセージを受信すると、最終シーケンス通知メッセージに含まれた第1サーバ識別子を参照して保存されているサーバシーケンスを識別し、最終シーケンス通知メッセージに含まれている第1サーバシーケンスが保存されているサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合には、第1サーバ1001に所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する再送信メッセージを送信する。
【0078】
すなわち、第1サーバ1001は、最終シーケンス通知メッセージにメッセージ4に該当するシーケンスである「4」を含んで第2サーバに送信するが、第2サーバ1002には最後に受信したメッセージ3に該当するシーケンスである「3」が保存されているため、第2サーバ1002は、メッセージ4の再送信を要求する再送信要請メッセージを第1サーバ1001に送信する。
【0079】
第1サーバ1001は、メッセージバッファからメッセージ4を検索し、これを第2サーバ1002に再送信する。
【0080】
したがって、本発明によれば、メッセージを送信した第1サーバは、第1サーバ識別子及び第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で他のメンバーサーバに送信することで、第1サーバがマルチキャストメッセージを送信した後、所定の期間内に他のメッセージを他のサーバに送信しなくても、他のサーバが第1サーバシーケンスに該当するメッセージが損失していることを判断して再送信を要請できるようになるという効果がある。
【0081】
本発明は、同一グループに属する1つのメンバーサーバが最後に送信したメッセージに損失があっても、他のメンバーサーバでこれを判断して再送信を要請することによって、信頼性ある通信を提供できるようになるという効果がある。このような効果は、図5で説明した従来技術の問題点を明確に解決できるものであると言える。
【0082】
本発明に係る通信提供方法は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読み取り可能な媒体を含む。記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。また、記録媒体及びプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。また、コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置等が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもあってもよい。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含むことができる。また、上記ハードウェア要素は、本発明の動作を実行するために一以上のソフトウェアモジュールとして作動するように構成することができ、その逆もできる。
【0083】
図11は、本発明の一実施形態に係る信頼性ある通信を提供するためのメンバーサーバの構成を示したブロック図である。図11に示すように、本発明の1つのグループに属する他のメンバーサーバとの信頼性ある通信を提供するための第1メンバーサーバは、サーバシーケンス保存部1101と、メッセージ送信部1102と、サーバシーケンス管理部1103と、メッセージ受信部1104と、サーバシーケンス検索部1104と、再送信要請部1105とを含む。
【0084】
サーバシーケンス保存部1101は、第1メンバーサーバに対応する第1サーバシーケンス及び他のメンバーサーバそれぞれに対応して保存されるサーバシーケンスを保存する。サーバシーケンス保存部1101の一実施形態は、図6の符号601を参照して説明した通りである。
【0085】
メッセージ送信部1102は、グループに属する他のメンバーサーバにメッセージを送信する際に、メッセージに第1メンバーサーバを識別する第1サーバ識別子及び第1サーバシーケンスを含んで送信する。
【0086】
サーバシーケンス管理部1103は、メッセージを送信する度に、サーバシーケンス保存部に保持されている第1サーバシーケンスを所定の値だけ増加させる。上述した通り、所定の値は、実施形態に応じて多様に設定が可能である。
【0087】
メッセージ受信部1104は、他のメンバーサーバのうちの1つである第2メンバーサーバから最終シーケンス通知メッセージを受信する。最終シーケンス通知メッセージは、第2メンバーサーバの第2サーバ識別子及び第2メンバーサーバに対応する第2サーバシーケンスを含んでいる。
【0088】
シーケンス検索部1105は、最終シーケンス通知メッセージに含まれている第2サーバ識別子を参照して、サーバシーケンス保存部に保存されている第2サーバ識別子に対応する第2保存されたサーバシーケンスを識別する。
【0089】
再送信要請部1106は、第2サーバシーケンスが第2保存されたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、第2メンバーサーバに第2保存されたサーバシーケンスに所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する。
【0090】
このように、メンバーサーバの再送信要請部1106は、所定の値を合算したサーバシーケンスに対応するメッセージの再送信をメンバーサーバに要求することで、損失したメッセージを判別して再送信要請できるようになるとう効果がある。
【0091】
また、メッセージ送信部1102は、第1メンバーサーバを識別する第1サーバ識別子及びサーバシーケンス保存部に保存されている第1サーバシーケンスを含む最終シーケンス通知メッセージを一定の時間間隔で他のメンバーサーバに送信する。
【0092】
メッセージ送信部1102は、このように最終シーケンス通知メッセージを他のメンバーサーバに送信することで、他のメンバーサーバがメンバーサーバから最終的に受信したメッセージのシーケンスを確認できるようになるという効果がある。
【0093】
メッセージ受信部1104は、他のメンバーサーバのうちの1つである第2メンバーサーバから第2メッセージを受信する。第2メッセージは、第2メンバーサーバの第2サーバ識別子及び第2メンバーサーバに対応する第2サーバシーケンスを含んでいる。
【0094】
サーバシーケンス検索部1105は、第2メッセージに含まれている第2サーバ識別子を参照して、サーバシーケンス保存部に保存されている第2サーバ識別子に対応する第2保存されたサーバシーケンスを識別する。
【0095】
再送信要請部1106は、第2サーバシーケンスが第2保存されたサーバシーケンスに所定の値を合算したものよりも大きい場合に、第2メンバーサーバに第2保存されたサーバシーケンスに所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する。
【0096】
また、メッセージ受信部1104は、他のメンバーサーバのうちの1つである第2メンバーサーバから再送信要求メッセージを受信することができる。再送信要求メッセージは、再送信しなければならないメッセージに対する第2サーバシーケンスを含んでいる。
【0097】
メッセージ検索部1107は、メンバーサーバにおいて送信したメッセージを保存するメッセージバッファから第2サーバシーケンスに対応するメッセージを検索し、メッセージ送信部1102は、検索されたメッセージを第2メンバーサーバに送信する。
【0098】
上述したように、本発明を好ましい実施形態に則して説明したが、本発明の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の技術的思想及びその領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図面の簡単な説明】
【0099】
【図1】従来の複数のサービスサーバに接続するユーザ端末機のネットワーク接続を示した図である。
【図2】従来のユーザのロケーション情報を管理するためのロケーションサーバとサービスサーバとのネットワーク接続を示した図である。
【図3】本発明のマルチキャストグループで構成された複数のロケーションサーバとサービスサーバ及びユーザ端末機のネットワーク連結を示した図である。
【図4】従来技術に係る通信提供方法の一実施形態を示した図である。
【図5】従来技術に係る通信提供方法の他の実施形態を示した図である。
【図6】本発明の同一マルチキャストグループに含まれた複数のロケーションサーバのネットワーク連結を示した図である。
【図7】本発明に係るメンバーサーバにおいて最終シーケンス通知メッセージを受信して処理する過程を示した図である。
【図8】本発明に係るメンバーサーバにおいてマルチキャストメッセージを受信して処理する過程を示した図である。
【図9】本発明のメンバーサーバ間の信頼性ある通信方法を提供する一実施形態を示した図である。
【図10】本発明のメンバーサーバ間の信頼性ある通信方法を提供する他の実施形態を示した図である。
【図11】本発明の一実施形態に係る信頼性ある通信を提供するためのメンバーサーバの構成を示したブロック図である。
【特許請求の範囲】
【請求項1】
同一マルチキャストグループに属するメンバーサーバ間の信頼性ある通信を提供するための方法であって、
前記マルチキャストグループに属する第1メンバーサーバのサーバシーケンス保存部に、前記第1メンバーサーバに対応する第1サーバシーケンス及び前記第1メンバーサーバと同じマルチキャストグループに属する他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保持する段階と、
前記第1メンバーサーバを識別する第1サーバ識別子及び前記第1サーバシーケンスを含んだマルチキャストメッセージを前記マルチキャストグループに属する前記他のメンバーサーバに送信する段階と、
前記マルチキャストメッセージを送信する度に、前記サーバシーケンス保存部に保持された前記第1サーバシーケンスを所定の値だけ増加させる段階と、
前記メンバーサーバと同じマルチキャストグループに属する第2メンバーサーバから、前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む最終シーケンス通知メッセージ知メッセージを受信する段階と、
前記最終シーケンス通知メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する段階と、
を含むことを特徴とする信頼性ある通信提供方法。
【請求項2】
前記第1メンバーサーバを識別する第1サーバ識別子及び前記サーバシーケンス保存部に保存された第1サーバシーケンスを含む最終シーケンス通知メッセージを前記メンバーサーバと同じマルチキャストグループに属する前記他のメンバーサーバに一定の時間間隔で送信する段階と、
をさらに含むことを特徴とする請求項1に記載の信頼性ある通信提供方法。
【請求項3】
前記第1メンバーサーバと同じマルチキャストグループに属する第2メンバーサーバから前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む第2マルチキャストメッセージを受信する段階と、
前記第2マルチキャストメッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値を合算したものよりも大きい場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する段階と、
をさらに含むことを特徴とする請求項1に記載の信頼性ある通信提供方法。
【請求項4】
前記第1メンバーサーバと同じマルチキャストグループに属する第2メンバーサーバから再送信しなければならないマルチキャストメッセージに対する第2サーバシーケンスを含む再送信要求メッセージを受信する段階と、
前記メンバーサーバから伝送された前記マルチキャストメッセージを保存するメッセージバッファから前記第2サーバシーケンスに対応するマルチキャストメッセージを検索して前記第2メンバーサーバに送信する段階と、
をさらに含むことを特徴とする請求項1に記載の信頼性ある通信提供方法。
【請求項5】
1つのグループに属するメンバーサーバ間の信頼性ある通信を提供するための方法であって、
前記グループに属する第1メンバーサーバのサーバシーケンス保存部に、前記第1メンバーサーバに対応する第1サーバシーケンス及び前記他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保持する段階と、
前記第1メンバーサーバを識別する第1サーバ識別子及び前記第1サーバシーケンスを含むメッセージを前記グループに属する前記他のメンバーサーバにメッセージを送信する段階と、
前記メッセージを送信する度に、前記サーバシーケンス保存部に保持された前記第1サーバシーケンスを所定の値だけ増加させる段階と、
前記第1メンバーサーバを識別する第1サーバ識別子及び前記サーバシーケンス保存部に保存された第1サーバシーケンスを含む最終シーケンス通知メッセージを前記他のメンバーサーバに一定の時間間隔で送信する段階と、
を含むことを特徴とする信頼性ある通信提供方法。
【請求項6】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む最終シーケンス通知メッセージを受信する段階と、
前記最終シーケンス通知メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する段階と、
をさらに含むことを特徴とする請求項5に記載の信頼性ある通信提供方法。
【請求項7】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから、前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む第2メッセージを受信する段階と、
前記第2メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、
前記第2サーバシーケンスが前記第2保存されたサーバシーケンスに所定の値を合算したものよりも大きい場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する段階と、
をさらに含むことを特徴とする請求項5に記載の信頼性ある通信提供方法。
【請求項8】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから再送信しなければならないメッセージに対する第2サーバシーケンスを含む再送信要求メッセージを受信する段階と、
前記メンバーサーバから伝送されたメッセージを保存するメッセージバッファから前記第2サーバシーケンスに対応するメッセージを検索して前記第2メンバーサーバに送信する段階と、
をさらに含むことを特徴とする請求項5に記載の信頼性ある通信提供方法。
【請求項9】
請求項1から9のいずれか一項に記載の信頼性のある通信提供方法を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項10】
1つのグループに属する他のメンバーサーバとの信頼性ある通信を提供するための第1メンバーサーバであって、
前記第1メンバーサーバに対応する第1サーバシーケンス及び前記他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保存するサーバシーケンス保存部と、
前記第1メンバーサーバを識別する第1サーバ識別子及び前記第1サーバシーケンスを含むメッセージを前記グループに属する前記他のメンバーサーバに送信するメッセージ送信部と、
前記メッセージを送信する度に、前記サーバシーケンス保存部に保持された前記第1サーバシーケンスを所定の値だけ増加させるサーバシーケンス管理部と、
を含むことを特徴とする信頼性ある通信を提供するサーバ。
【請求項11】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから、前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む最終シーケンス通知メッセージを受信するメッセージ受信部と、
前記最終シーケンス通知メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別するサーバシーケンス検索部と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値段を合算したものよりも大きいか同じである場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する再送信要請部と、
をさらに含むことを特徴とする請求項10に記載の信頼性ある通信を提供するサーバ。
【請求項12】
前記メッセージ送信部は、前記第1メンバーサーバを識別する第1サーバ識別子及び前記サーバシーケンス保存部に保存された第1サーバシーケンスを含む最終シーケンス通知メッセージを前記他のメンバーサーバに一定の時間間隔で送信することを特徴とする請求項10に記載の信頼性ある通信を提供するサーバ。
【請求項13】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから、前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む第2メッセージを受信するメッセージ受信部と、
前記第2メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別するサーバシーケンス検索部と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値を合算したものよりも大きい場合に、前記第2メンバーサーバに前記第2保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する再送信要請部と、
を含むことを特徴とする請求項10に記載の信頼性ある通信を提供するサーバ。
【請求項14】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから、再送信しなければならないメッセージに対する第2サーバシーケンスを含む再送信要求メッセージを受信するメッセージ受信部と、
前記メンバーサーバから伝送されたメッセージを保存するメッセージバッファから前記第2サーバシーケンスに対応するメッセージを検索するメッセージ検索部と、をさらに含み、
前記メッセージ送信部は、前記検索されたメッセージを前記第2メンバーサーバに送信することを特徴とする請求項10に記載の信頼性ある通信を提供するサーバ。
【請求項1】
同一マルチキャストグループに属するメンバーサーバ間の信頼性ある通信を提供するための方法であって、
前記マルチキャストグループに属する第1メンバーサーバのサーバシーケンス保存部に、前記第1メンバーサーバに対応する第1サーバシーケンス及び前記第1メンバーサーバと同じマルチキャストグループに属する他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保持する段階と、
前記第1メンバーサーバを識別する第1サーバ識別子及び前記第1サーバシーケンスを含んだマルチキャストメッセージを前記マルチキャストグループに属する前記他のメンバーサーバに送信する段階と、
前記マルチキャストメッセージを送信する度に、前記サーバシーケンス保存部に保持された前記第1サーバシーケンスを所定の値だけ増加させる段階と、
前記メンバーサーバと同じマルチキャストグループに属する第2メンバーサーバから、前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む最終シーケンス通知メッセージ知メッセージを受信する段階と、
前記最終シーケンス通知メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する段階と、
を含むことを特徴とする信頼性ある通信提供方法。
【請求項2】
前記第1メンバーサーバを識別する第1サーバ識別子及び前記サーバシーケンス保存部に保存された第1サーバシーケンスを含む最終シーケンス通知メッセージを前記メンバーサーバと同じマルチキャストグループに属する前記他のメンバーサーバに一定の時間間隔で送信する段階と、
をさらに含むことを特徴とする請求項1に記載の信頼性ある通信提供方法。
【請求項3】
前記第1メンバーサーバと同じマルチキャストグループに属する第2メンバーサーバから前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む第2マルチキャストメッセージを受信する段階と、
前記第2マルチキャストメッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値を合算したものよりも大きい場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するマルチキャストメッセージの再送信を要求する段階と、
をさらに含むことを特徴とする請求項1に記載の信頼性ある通信提供方法。
【請求項4】
前記第1メンバーサーバと同じマルチキャストグループに属する第2メンバーサーバから再送信しなければならないマルチキャストメッセージに対する第2サーバシーケンスを含む再送信要求メッセージを受信する段階と、
前記メンバーサーバから伝送された前記マルチキャストメッセージを保存するメッセージバッファから前記第2サーバシーケンスに対応するマルチキャストメッセージを検索して前記第2メンバーサーバに送信する段階と、
をさらに含むことを特徴とする請求項1に記載の信頼性ある通信提供方法。
【請求項5】
1つのグループに属するメンバーサーバ間の信頼性ある通信を提供するための方法であって、
前記グループに属する第1メンバーサーバのサーバシーケンス保存部に、前記第1メンバーサーバに対応する第1サーバシーケンス及び前記他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保持する段階と、
前記第1メンバーサーバを識別する第1サーバ識別子及び前記第1サーバシーケンスを含むメッセージを前記グループに属する前記他のメンバーサーバにメッセージを送信する段階と、
前記メッセージを送信する度に、前記サーバシーケンス保存部に保持された前記第1サーバシーケンスを所定の値だけ増加させる段階と、
前記第1メンバーサーバを識別する第1サーバ識別子及び前記サーバシーケンス保存部に保存された第1サーバシーケンスを含む最終シーケンス通知メッセージを前記他のメンバーサーバに一定の時間間隔で送信する段階と、
を含むことを特徴とする信頼性ある通信提供方法。
【請求項6】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む最終シーケンス通知メッセージを受信する段階と、
前記最終シーケンス通知メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値を合算したものよりも大きいか同じである場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する段階と、
をさらに含むことを特徴とする請求項5に記載の信頼性ある通信提供方法。
【請求項7】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから、前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む第2メッセージを受信する段階と、
前記第2メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別する段階と、
前記第2サーバシーケンスが前記第2保存されたサーバシーケンスに所定の値を合算したものよりも大きい場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する段階と、
をさらに含むことを特徴とする請求項5に記載の信頼性ある通信提供方法。
【請求項8】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから再送信しなければならないメッセージに対する第2サーバシーケンスを含む再送信要求メッセージを受信する段階と、
前記メンバーサーバから伝送されたメッセージを保存するメッセージバッファから前記第2サーバシーケンスに対応するメッセージを検索して前記第2メンバーサーバに送信する段階と、
をさらに含むことを特徴とする請求項5に記載の信頼性ある通信提供方法。
【請求項9】
請求項1から9のいずれか一項に記載の信頼性のある通信提供方法を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項10】
1つのグループに属する他のメンバーサーバとの信頼性ある通信を提供するための第1メンバーサーバであって、
前記第1メンバーサーバに対応する第1サーバシーケンス及び前記他のメンバーサーバそれぞれに対応して保存されたサーバシーケンスを保存するサーバシーケンス保存部と、
前記第1メンバーサーバを識別する第1サーバ識別子及び前記第1サーバシーケンスを含むメッセージを前記グループに属する前記他のメンバーサーバに送信するメッセージ送信部と、
前記メッセージを送信する度に、前記サーバシーケンス保存部に保持された前記第1サーバシーケンスを所定の値だけ増加させるサーバシーケンス管理部と、
を含むことを特徴とする信頼性ある通信を提供するサーバ。
【請求項11】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから、前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む最終シーケンス通知メッセージを受信するメッセージ受信部と、
前記最終シーケンス通知メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別するサーバシーケンス検索部と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値段を合算したものよりも大きいか同じである場合に、前記第2メンバーサーバに前記第2の保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する再送信要請部と、
をさらに含むことを特徴とする請求項10に記載の信頼性ある通信を提供するサーバ。
【請求項12】
前記メッセージ送信部は、前記第1メンバーサーバを識別する第1サーバ識別子及び前記サーバシーケンス保存部に保存された第1サーバシーケンスを含む最終シーケンス通知メッセージを前記他のメンバーサーバに一定の時間間隔で送信することを特徴とする請求項10に記載の信頼性ある通信を提供するサーバ。
【請求項13】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから、前記第2メンバーサーバの第2サーバ識別子及び前記第2メンバーサーバに対応する第2サーバシーケンスを含む第2メッセージを受信するメッセージ受信部と、
前記第2メッセージに含まれた第2サーバ識別子を参照して、前記サーバシーケンス保存部に保存された前記第2サーバ識別子に対応する第2の保存されたサーバシーケンスを識別するサーバシーケンス検索部と、
前記第2サーバシーケンスが前記第2の保存されたサーバシーケンスに所定の値を合算したものよりも大きい場合に、前記第2メンバーサーバに前記第2保存されたサーバシーケンスに前記所定の値を合算したサーバシーケンスに対応するメッセージの再送信を要求する再送信要請部と、
を含むことを特徴とする請求項10に記載の信頼性ある通信を提供するサーバ。
【請求項14】
前記他のメンバーサーバのうちの1つである第2メンバーサーバから、再送信しなければならないメッセージに対する第2サーバシーケンスを含む再送信要求メッセージを受信するメッセージ受信部と、
前記メンバーサーバから伝送されたメッセージを保存するメッセージバッファから前記第2サーバシーケンスに対応するメッセージを検索するメッセージ検索部と、をさらに含み、
前記メッセージ送信部は、前記検索されたメッセージを前記第2メンバーサーバに送信することを特徴とする請求項10に記載の信頼性ある通信を提供するサーバ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2008−544685(P2008−544685A)
【公表日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願番号】特願2008−518034(P2008−518034)
【出願日】平成18年6月22日(2006.6.22)
【国際出願番号】PCT/KR2006/002408
【国際公開番号】WO2006/137700
【国際公開日】平成18年12月28日(2006.12.28)
【出願人】(505205812)エヌエイチエヌ コーポレーション (408)
【Fターム(参考)】
【公表日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願日】平成18年6月22日(2006.6.22)
【国際出願番号】PCT/KR2006/002408
【国際公開番号】WO2006/137700
【国際公開日】平成18年12月28日(2006.12.28)
【出願人】(505205812)エヌエイチエヌ コーポレーション (408)
【Fターム(参考)】
[ Back to top ]