(57)【要約】  本発明の動的サーバ初期化方法及びそのシステムは、１つ以上の第１ロケーションサーバで構成されるレプリケーショングループに第２ロケーションサーバが追加される場合に、第２ロケーションサーバから第１ロケーションサーバにレプリケーショングループと連関したマルチキャストグループへの登録を要請する段階と、第１ロケーションサーバで登録が完了した後、所定のゲームサーバから受信される状態アップデートメッセージを第２ロケーションサーバに伝送する段階と、所定の基準時間が経過した場合に、第２ロケーションサーバから第１ロケーションサーバにメッセージダンプを要請する段階と、メッセージダンプ要請に応じて第１ロケーションサーバで所定のメッセージプールに保存された状態アップデートメッセージを第２ロケーションサーバにダンプする段階とを含む。【選択図】図２
2008547104.tif 000002
【特許請求の範囲】
【請求項１】
ロケーションサーバの初期化方法であって、
１つ以上の第１ロケーションサーバで構成されるレプリケーショングループに第２ロケーションサーバが追加される場合に、前記第１ロケーションサーバに前記レプリケーショングループと連関したマルチキャストグループへの登録を要請する段階と、
前記第１ロケーションサーバでの前記登録が完了した後、所定のサービスサーバから受信される状態アップデートメッセージを前記第２ロケーションサーバに伝送する段階と、
前記第１ロケーションサーバにメッセージダンプを要請する段階と、
前記メッセージダンプ要請に応じて、前記第１ロケーションサーバで保持されている状態アップデートメッセージを前記第２ロケーションサーバにダンプする段階と、
を含むことを特徴とする動的サーバ初期化方法。
【請求項２】
前記第１ロケーションサーバは、前記サービスサーバから受信される状態アップデートメッセージを保存するメッセージプールを含み、
状態アップデートメッセージを前記第２ロケーションサーバにダンプする前記段階は、
前記メッセージプールに保存された状態アップデートメッセージのうちの少なくとも一部を前記第２ロケーションサーバにダンプすることを特徴とする請求項１に記載の動的サーバ初期化方法。
【請求項３】
前記状態アップデートメッセージは、前記サービスサーバからの状態アップデートメッセージの受信時刻と関連したタイムスタンプを含んでおり、
状態アップデートメッセージを前記第２ロケーションサーバにダンプする前記段階は、
前記メッセージダンプが要請された時点で、前記第１ロケーションサーバによる前記状態アップデートメッセージの伝送があるか否かを判断する段階と、
前記伝送があると判断された場合には、前記タイムスタンプに基づいて、前記メッセージプールに最も最近に保存された状態アップデートメッセージを除外した残余状態アップデートメッセージを前記第２ロケーションサーバにダンプする段階と、
を含むことを特徴とする請求項２に記載の動的サーバ初期化方法。
【請求項４】
状態アップデートメッセージを前記第２ロケーションサーバにダンプする前記段階は、
前記メッセージダンプが要請される以前に前記メッセージプールに保存されていたすべての状態アップデートメッセージを前記第２ロケーションサーバにダンプすることを特徴とする請求項２に記載の動的サーバ初期化方法。
【請求項５】
前記状態アップデートメッセージに対するダンプが完了した後、前記第２ロケーションサーバで重複してダンプされている状態アップデートメッセージを除去する段階、
をさらに含むことを特徴とする請求項１に記載の動的サーバ初期化方法。
【請求項６】
重複してダンプされる状態アップデートメッセージを除去する前記段階は、
前記マルチキャストグループへの登録が完了した後、前記第２ロケーションサーバで前記サービスサーバから受信された状態アップデートメッセージを前記重複した状態アップデートメッセージとして除去することを特徴とする請求項５に記載の動的サーバ初期化方法。
【請求項７】
前記レプリケーショングループへの前記第２ロケーションサーバの追加は、
前記レプリケーショングループにおける所定の再起動信号又は所定のサーバ追加信号の発生を確認する段階と、
前記発生が確認された前記再起動信号又は前記サーバ追加信号と関連したロケーションサーバを前記第２ロケーションサーバとして識別する段階と、
を実行して成されることを特徴とする請求項１に記載の動的サーバ初期化方法。
【請求項８】
前記ダンプが完了した場合に、前記第２ロケーションサーバから前記サービスサーバに、前記サービスサーバからの状態アップデートメッセージを直接受信することに連関するエニーキャストグループへの登録を要請する段階と、
前記サービスサーバで前記登録が完了した後、前記サービスサーバから直接受信する状態アップデートメッセージを前記マルチキャストグループ内の第１ロケーションサーバに伝送する段階と、
をさらに含むことを特徴とする請求項１に記載の動的サーバ初期化方法。
【請求項９】
前記レプリケーショングループは、前記状態アップデートメッセージの受信に連動してユーザの位置情報又は前記ユーザの同時接続についての情報を生成し、前記サービスサーバに通知することを特徴とする請求項１に記載の動的サーバ初期化方法。
【請求項１０】
前記第２ロケーションサーバから前記第１ロケーションサーバにメッセージダンプを要請する前記段階は、
前記マルチキャストグループへの登録が完了した後、所定の基準時間が経過する場合に、前記メッセージダンプを要請することを特徴とする請求項１に記載の動的サーバ初期化方法。
【請求項１１】
前記第２ロケーションサーバから前記第１ロケーションサーバにメッセージダンプを要請する前記段階は、
前記マルチキャストグループへの登録が完了した後、前記状態アップデートメッセージが伝送される回数をカウントする段階と、
カウントされた回数が所定の基準回数となった場合に、前記第２ロケーションサーバから前記第１ロケーションサーバにメッセージダンプを要請する段階と、
を含むことを特徴とする請求項１に記載の動的サーバ初期化方法。
【請求項１２】
請求項１から１１のいずれか一項に記載の動的サーバ初期化方法を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１３】
ロケーションサーバの初期化システムであって、
１つ以上の第１ロケーションサーバで構成されるレプリケーショングループに第２ロケーションサーバが追加される場合に、前記第１ロケーションサーバに前記レプリケーショングループと連関したマルチキャストグループへの登録を要請するマルチキャスト要請発生手段と、
前記第１ロケーションサーバでの前記登録が完了した後、所定のサービスサーバから受信される状態アップデートメッセージを前記第２ロケーションサーバに伝送するマルチキャスト処理手段と、
前記第１ロケーションサーバにメッセージダンプを要請するダンプ要請手段と、
前記メッセージダンプ要請に応じて、前記第１ロケーションサーバのメッセージプールに保存された状態アップデートメッセージを前記第２ロケーションサーバにダンプするダンプ処理手段と、
を含むことを特徴とする動的サーバ初期化システム。
【請求項１４】
前記ダンプ要請手段は、前記マルチキャストグループへの登録が完了した後、所定の基準時間が経過する場合に、前記メッセージダンプを要請することを特徴とする請求項１３に記載の動的サーバ初期化システム。
【請求項１５】
前記ダンプ要請手段は、前記マルチキャストグループへの登録が完了した後、前記状態アップデートメッセージが伝送される回数をカウントし、カウントされた回数が所定の基準回数となった場合に、前記メッセージダンプを要請することを特徴とする請求項１３に記載の動的サーバ初期化システム。
【請求項１６】
前記第２ロケーションサーバでの前記状態アップデートメッセージに対するダンプが完了した後、重複してダンプされる状態アップデートメッセージを除去する重複メッセージ除去手段、をさらに含むことを特徴とする請求項１３に記載の動的サーバ初期化システム。
【請求項１７】
前記重複メッセージ除去手段は、
前記マルチキャストグループへの登録が完了した後、前記サービスサーバから受信された状態アップデートメッセージを前記第２ロケーションサーバにおける前記重複した状態アップデートメッセージとして除去することを特徴とする請求項１６に記載の動的サーバ初期化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レプリケーショングループに新しく追加されるロケーションサーバに対する初期化過程をより精巧に実行するための動的サーバ初期化方法及びシステムに関する。
【背景技術】
【０００２】
一般的に、ゲームサービスを提供するゲームサーバは、ユーザのログイン／ログアウト情報を集中的に管理できるロケーションサーバ（Ｌｏｃａｔｉｏｎ  Ｓｅｒｖｅｒ）を含んでいる。すなわち、ゲームサーバは、ユーザが端末及びインターネットを介して接続すると、ユーザのログイン／ログアウト情報をロケーションサーバに送信する。これにより、ロケーションサーバは、複数のゲームサーバから受信されるユーザのログイン／ログアウト情報を統合的に管理することができるため、他のゲームサーバに接続したユーザであっても、特定のユーザが接続したゲームサーバに対する情報を提供することができる。
【０００３】
しかしながら、多数のユーザに同時にゲームサービスを提供するオンラインゲームでは、数百台のゲームサーバによってゲームサービスが提供されている。これにより、ログイン／ログアウト情報の管理を１つのロケーションサーバで管理するとなると、ロケーションサーバのシステムの負荷が極めて大きくなるという問題点が発生する恐れがある。
【０００４】
したがって、このようなロケーションサーバでのシステム負荷が大きくなるという問題を解決するために、複数のロケーションサーバをレプリケーショングループで構成する方式が提示されている。レプリケーショングループに属する複数のロケーションサーバは、ユーザのログイン／ログアウト状態に関して同じ状態情報を有する必要がある。これは、レプリケーショングループに新しくロケーションサーバが追加される場合も同様である。これにより、新たに追加されるロケーションサーバがレプリケーショングループにジョイン（ｊｏｉｎ）する場合には、既にレプリケーショングループに属しているロケーションサーバが保持しているメッセージを新しく追加されるロケーションサーバにダンプ（コピー）する初期化過程が実行されなければならない。
【０００５】
しかしながら、既存のロケーションサーバが保持するメッセージをダンプしている途中にゲームサーバからメッセージが到着する場合、これを的確に受信する方法がなく、受信されたメッセージがロケーションサーバに保存されずに欠落したり、消失したりするという問題点が常に存在することが、知られている。
【０００６】
したがって、ダンププロセスとは関係なく、ゲームサーバから受信されるメッセージが欠落したり消失したりしないレプリケーショングループ内のロケーションサーバに対する精巧な初期化モデルが切に求められている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、このような問題点を解決するために案出されたものであって、レプリケーショングループに新しいロケーションサーバを追加する場合において、初期化の途中にゲームサーバから受信する状態アップデートメッセージが欠落しないよう、最適なメッセージダンプの実行を保証する動的サーバ初期化方法及びシステムを提供することを目的とする。
【０００８】
また、本発明は、正常なメッセージ受信機能を発揮するロケーションサーバに対してのみメッセージダンプを許容することで、ロケーションサーバの初期化過程における安定したメッセージダンプを支援する動的サーバ初期化方法及びシステムを提供することを目的とする。
【０００９】
また、本発明は、不必要に重複して保存される状態アップデートメッセージを除去することで、ロケーションサーバのメッセージプールを最適化する動的サーバ初期化方法及びシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記の目的を達成するために、本発明に係る動的サーバ初期化方法は、１つ以上の第１ロケーションサーバで構成されるレプリケーショングループに第２ロケーションサーバが追加される場合に、上記第２ロケーションサーバから上記第１ロケーションサーバに上記レプリケーショングループと連関したマルチキャストグループへの登録を要請する段階と、上記第１ロケーションサーバでの上記登録が完了した後、所定のサービスサーバから受信される状態アップデートメッセージを上記第２ロケーションサーバに伝送する段階と、所定の基準時間が経過した場合に、上記第２ロケーションサーバから上記第１ロケーションサーバにメッセージダンプを要請する段階と、上記メッセージダンプ要請に応じて、上記第１ロケーションサーバで所定のメッセージプールに保存された状態アップデートメッセージを上記第２ロケーションサーバにダンプする段階とを含むことを特徴とする。
【００１１】
また、前記の目的を達成するために、本発明に係る動的サーバ初期化システムは、１つ以上の第１ロケーションサーバで構成されるレプリケーショングループに第２ロケーションサーバが追加される場合に、上記第２ロケーションサーバから上記第１ロケーションサーバに上記レプリケーショングループと連関したマルチキャストグループへの登録を要請するマルチキャスト要請発生手段と、上記第１ロケーションサーバでの上記登録が完了した後、所定のサービスサーバから受信される状態アップデートメッセージを上記第２ロケーションサーバに伝送するマルチキャスト処理手段と、所定の基準時間が経過した場合に、上記第２ロケーションサーバから上記第１ロケーションサーバにメッセージダンプを要請するダンプ要請手段と、上記メッセージダンプ要請に応じて、上記第１ロケーションサーバで所定のメッセージプールに保存された状態アップデートメッセージを上記第２ロケーションサーバにダンプするダンプ処理手段とを含むことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、レプリケーショングループに新しいロケーションサーバをジョイン（Ｊｏｉｎ）する場合において、初期化の途中にゲームサーバから受信する状態アップデートメッセージが欠落しない最適なメッセージダンプの実行を保証した動的サーバ初期化方法及びそのシステムを提供することが可能となる。
【００１３】
また、本発明によれば、正常にメッセージ受信機能を発揮するロケーションサーバに対してのみメッセージダンプを許容することで、ロケーションサーバの初期化過程における安定したメッセージダンプを支援した動的サーバ初期化方法及びそのシステムを提供することができる。
【００１４】
また、本発明によれば、不必要に重複して保存される状態アップデートメッセージを除去することで、ロケーションサーバのメッセージプールを最適化する動的サーバ初期化方法及びそのシステムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、添付の図面を参照しながら、本発明の動的サーバ初期化方法及び動的サーバ初期化システムについて詳細に説明する。
【００１６】
本明細書で使用されている「ロケーションサーバ」（Ｌｏｃａｔｉｏｎ  Ｓｅｒｖｅｒ：ＬＣＳ）とは、複数のサービスサーバから独立して管理された状態アップデートメッセージを統合的に管理し、各サービスサーバにおけるユーザ接続状態の現況又は特定のユーザが接続するサービスサーバの位置の識別などに関する情報を生成して、必要なユーザに提供するためのものである。すなわち、ロケーションサーバは、従来、各サービスサーバで個別に処理されていたユーザログイン／ログアウト情報などの状態アップデートメッセージを受信し、特定のユーザが接続したサービスサーバに関する情報を他のユーザに提供するとともに、１つのユーザが同時に複数のサービスサーバに接続する重複ログインを防止する機能を有している。
【００１７】
特に、本発明におけるロケーションサーバは、複数にコピーされて設置することでレプリケーショングループ（ｒｅｐｌｉｃａｔｉｏｎ  ｇｒｏｕｐ）を形成し、レプリケーショングループに属するロケーションサーバの状態を同期化（ｓｙｎｃｈｒｏｎｉｚｉｎｇ）することで、レプリケーショングループに属する複数のロケーションサーバが１つのロケーションサーバのように動作する。これは、サービスサーバから受信される状態アップデートメッセージを複数のロケーションサーバで統合的に管理する方式とすることで、大量のサービスサーバからの状態アップデートメッセージを処理する際に、システムの負荷を分散することができ、これによってメッセージ処理を最適化することができる。
【００１８】
ここで、レプリケーショングループは、サービスサーバから発生するログインメッセージ又はログアウトメッセージを状態アップデートメッセージとして受信する。また、レプリケーショングループは、受信されたユーザのログインメッセージ又はログアウトメッセージを用い、ユーザが接続したサービスサーバの位置情報、又はユーザが複数のサービスサーバに同時に接続したか否かに関する情報を生成してサービスサーバに通知する。
【００１９】
このようなレプリケーショングループによる状態アップデートメッセージの信号処理のために、レプリケーショングループに含まれるロケーションサーバは、すべて同じ状態アップデートメッセージを保持しなければならない。これにより、ロケーションサーバ相互間では、各ロケーションサーバで保持する状態アップデートメッセージを他のロケーションサーバに伝送するマルチキャスト（ｍｕｌｔｉｃａｓｔ）が実行される。マルチキャストは、同じマルチキャストグループに登録されたロケーションサーバ間で実行され、例えば、サービスサーバから新しい状態アップデートメッセージを受信したロケーションサーバは、自身が登録しているマルチキャストグループに含まれているすべてのロケーションサーバに受信したアップデートメッセージを伝送する。
【００２０】
図１は、本発明に係るレプリケーショングループで構成された複数のロケーションサーバとサービスサーバ及びユーザ端末機のネットワーク連結を概略的に示した図である。
【００２１】
動的サーバ初期化システム１００は、レプリケーショングループ１６０に新規ロケーションサーバが追加される場合に、新規ロケーションサーバが既にレプリケーショングループ１６０に属しているロケーションサーバと同じ状態になるようにする役割を担う。すなわち、動的サーバ初期化システム１００は、新規ロケーションサーバに対するマルチキャストグループへの登録及びメッセージダンプを最適に実行し、既存のロケーションサーバが保持していた状態アップデートメッセージが新規ロケーションサーバにも欠落することなく保持されるようにする。
【００２２】
ユーザ端末１２０、１２５を用いるユーザ１１０、１１５は、通信網１７０を通じてプレイしたいゲームサービスを提供するサービスサーバ１３０、１３５に接続する。例えば、オンラインゴーストップゲームを行いたいユーザは、ゴーストップゲームサービスを提供するゴーストップサービスサーバ１３０に接続し、オンラインポーカゲームを行いたいユーザは、ポーカゲームサービスを提供するポーカサービスサーバ１３５に接続する。
【００２３】
このとき、ユーザ１１０、１１５が、自身と同じサービスサーバ１３０、１３５に接続していない他のユーザ１１０、１１５に対する位置識別を遂行する場合に、ユーザ端末１２０、１２５は、ユーザ１１０、１１５が接続するサービスサーバ１３０、１３５に対する識別を要求する要請情報を、当該サービスサーバ１３０、１３５に伝送する。サービスサーバ１３０、１３５は、受信した要請情報に応答して情報提供要求をロケーションサーバ１４０、１５０に伝送する。
【００２４】
すなわち、ロケーションサーバ１４０、１５０は、サービスサーバ１３０、１３５に接続したユーザに対するログイン又はログアウトに関する状態アップデート情報をすべてのサービスサーバ１３０、１３５から受信し、これを統合的に管理する役割を行う。例えば、ロケーションサーバ１４０、１５０は、上述した位置識別に関する情報提供要求に応答して、特定のユーザ１１５が現在接続しているサービスサーバ１３０、１３５を識別し、識別されたサービスサーバ情報（位置情報）を、位置識別を要請したユーザ１１０、１１５に提供する。
【００２５】
つまり、ロケーションサーバ１４０、１５０は、サービスサーバ１３０、１３５にユーザ１１０、１１５が接続することによって、サービスサーバ１３０、１３５から接続したユーザ１１０、１１５のログイン／ログアウト情報を受信し、サービスサーバ１３０、１３５毎に各々割り当てられているメッセージプール（Ｍｅｓｓａｇｅ  Ｐｏｏｌ）に保存する。これにより、ロケーションサーバ１４０、１５０は、すべてのサービスサーバ１３０、１３５に接続するユーザ１１０、１１５に対するログイン／ログアウト情報をメッセージプールに累積して保存及び管理することができ、どのユーザがどのサービスサーバに接続しているのかに関する位置を正確に識別できる。
【００２６】
特に、本発明では、複数のロケーションサーバ１４０、１５０がレプリケーショングループ１６０として提供され、レプリケーショングループ１６０に属するロケーションサーバ１４０、１５０が同じ状態アップデートメッセージを有する。したがって、レプリケーショングループ１６０が全体的に１つのロケーションサーバのように動作する。言い換えれば、レプリケーショングループ１６０は、含まれているロケーションサーバ１４０、１５０の数に応じた状態アップデートメッセージの処理性能の向上が図られる。サービスサーバにおける大量のログイン／ログアウトを管理する場合であっても、システムの負荷が最適に分散する役割を遂行する。また、レプリケーショングループ１６０は、含まれている各ロケーションサーバ１４０、１５０が同一の状態アップデートメッセージを保持することができ、メッセージ処理においてどのロケーションサーバ１４０、１５０が関与しても均等な処理能力が発揮される。
【００２７】
レプリケーショングループ１６０は、含まれているロケーションサーバ１４０、１５０の間で状態アップデートメッセージを持続的に交換し、各ロケーションサーバ１４０、１５０で保持する状態アップデートメッセージを同じように維持する。このような状態アップデートメッセージをロケーションサーバ１４０、１５０間で伝送する過程は、マルチキャストが用いられる。マルチキャストは、各ロケーションサーバ１４０、１５０に割り当てられる、例えば、マルチキャストリストに記載されたロケーションサーバ１４０、１５０の間で成される。例えば、特定のロケーションサーバで新規メッセージを受信した場合、該当するロケーションサーバは、自身のマルチキャストリストに記載されている（マルチキャストグループに加入している）すべてのロケーションサーバに受信した新規メッセージを送信する。
【００２８】
本明細書では説明の便宜のために、同一レプリケーショングループ１６０に含まれているロケーションサーバ１４０、１５０は、マルチキャストグループに自動的に登録される。これにより、いずれのロケーションサーバ１４０、１５０が新しい状態アップデートメッセージを受信した場合も、レプリケーショングループ１６０に含まれる他のロケーションサーバ１４０、１５０に受信された新しい状態アップデートメッセージをマルチキャスト方式で伝送できる。
【００２９】
また、ロケーションサーバ１４０、１５０は、サービスサーバ１３０、１３５から状態アップデートメッセージを直接受信することを許容するエニーキャストグループ（ａｎｙｃａｓｔ  ｇｒｏｕｐ）に加入することができる。すなわち、エニーキャストグループに加入したロケーションサーバ１４０、１５０は、サービスサーバ１３０、１３５で生成された状態アップデートメッセージを独占的に受信できる。言い換えれば、エニーキャストグループに加入していないロケーションサーバ１４０、１５０は、マルチキャストによって他のロケーションサーバ１４０、１５０を経由することで、サービスサーバ１３０、１３５からの状態アップデートメッセージを受信することができる。
【００３０】
また、本明細書では、エニーキャストグループの加入条件を制限する。例えば、レプリケーショングループに属する大部分のロケーションサーバが既に保持している状態アップデートメッセージをすべて保持するロケーションサーバ１４０、１５０に対してのみ、エニーキャストグループに登録する。エニーキャストグループに加入したロケーションサーバ１４０、１５０に受信される状態アップデートメッセージは、該当するロケーションサーバ１４０、１５０が含まれているレプリケーショングループ１６０、すなわち、該当するロケーションサーバ１４０、１５０が登録されているマルチキャストグループに属するすべてのロケーションサーバ１４０、１５０に伝送される（マルチキャスト）。
【００３１】
以下、サービスサーバ１３０、１３５から受信される状態アップデートメッセージをロケーションサーバ１４０、１５０に伝送することについて、具体的な一例を示しながら説明する。
【００３２】
ユーザ１１０、１１５が自身のユーザ端末１２０、１２５及び通信網１７０を通じてプレイしたいゲームサービスを提供するサービスサーバ１３０、１３５に接続すると、サービスサーバ１３０、１３５は、ログインメッセージ又はログアウトメッセージ（状態アップデートメッセージ）をレプリケーショングループ１６０に含まれたロケーションサーバ１４０、１５０のうちの１つのロケーションサーバ１４０、１５０に送信する。このとき、状態アップデートメッセージをサービスサーバ１３０、１３５から直接受信するロケーションサーバ１４０、１５０は、エニーキャストグループに加入しているロケーションサーバ１４０、１５０に制限される。
【００３３】
状態アップデートメッセージは、ユーザ１１０、１１５のユーザ識別子、ユーザ１１０、１１５のログイン／ログアウト状態、及びユーザ１１０、１１５が接続するサービスサーバの位置情報などを含む。ユーザ識別子とは、ユーザ１１０、１１５を識別するためのものであって、例えば、サービスサーバ１３０、１３５にログイン／ログアウトしたユーザ１１０、１１５がログインする際に使用したユーザ識別子を用いることができる。ログイン／ログアウト状態とは、ユーザ１１０、１１５がサービスサーバ１３０、１３５にログインをしたのか、又はログアウトをしたのかに関する情報である。位置情報とは、ユーザ１１０、１１５がどのサービスサーバ１３０、１３５にログインをしたのか、又はどのサービスサーバ１３０、１３５からログアウトをしたのかに関する情報である。位置情報は、ユーザ１１０、１１５がログイン／ログアウトをしたサービスサーバ１３０、１３５に関する情報（サービスサーバのＩＰアドレス、又はサービスサーバ名等）であるとともに、ユーザがログイン／ログアウトをしたサービスサーバ１３０、１３５の識別子（例えば、「ゴーストップ」、「ポーカ」、「フーラ」など）である。これにより、位置情報は、ゲームサービス環境全体において、ユーザ１１０、１１５が最も最近どのサービスサーバ１３０、１３５にログインしたのか、又はどこからログアウトしたのかに関する情報を提供できる。
【００３４】
状態アップデートメッセージを受信したロケーションサーバ１４０、１５０は、状態アップデートメッセージをレプリケーショングループ１６０に属し、かつマルチキャストグループに加入している他のロケーションサーバ１４０、１５０に伝送する。このとき、メッセージを伝送するロケーションサーバ１４０、１５０は、マルチキャストで受信した状態アップデートメッセージを伝送する。
【００３５】
そして、本発明の動的サーバ初期化システム１００は、レプリケーショングループ１６０に含まれるロケーションサーバのうちの再起動するロケーションサーバ、又はレプリケーショングループ１６０に新規登録するロケーションサーバをレプリケーショングループ１６０に新たにジョインするロケーションサーバを第２ロケーションサーバ１５０として判断し、第２ロケーションサーバ１５０に対して初期化処理を実行する。ここで、第２ロケーションサーバ１５０の初期化は、再起動若しくは新規登録するロケーションサーバをラン（ｒｕｎ）状態にする過程、すなわち、レプリケーショングループ１６０に含まれている既存のロケーションサーバ（以下、第１ロケーションサーバとする）が保持する状態アップデートメッセージがすべてダンプされ、エニーキャストグループへの登録によってサービスサーバ１３０、１３５から直接に状態アップデートメッセージを受信できる状態の第２ロケーションサーバ１５０を生成する過程を指称している。
【００３６】
以下、図２を参照して、本発明の動的サーバ初期化システム２００の具体的な構成について説明する。
【００３７】
図２は、本発明の一実施形態に係る動的サーバ初期化システムを示した構成図である。
【００３８】
本発明の動的サーバ初期化システム２００は、マルチキャスト要請発生手段２１０と、マルチキャスト処理手段２２０と、ダンプ要請手段２３０と、ダンプ処理手段２４０とを含む。
【００３９】
まず、マルチキャスト要請発生手段２１０は、１つ以上の第１ロケーションサーバ１４０で構成されるレプリケーショングループ１６０に第２ロケーションサーバ１５０が追加される場合に、第２ロケーションサーバ１５０から第１ロケーションサーバ１４０にレプリケーショングループ１６０と連関したマルチキャストグループへの登録を要請する。ここで、第１ロケーションサーバ１４０とは、既にマルチキャストグループに加入しており、割り当てられたメッセージプールに保存されている状態アップデートメッセージを同一レプリケーショングループ１６０に含まれている他のロケーションサーバに伝送するロケーションサーバである。また、第１ロケーションサーバ１４０は、エニーキャストグループに加入しており、サービスサーバ１３０、１３５から直接受信した状態アップデートメッセージをマルチキャストグループの他のロケーションサーバ１４０、１５０に伝送する。第２ロケーションサーバ１５０とは、レプリケーショングループ１６０に含まれるロケーションサーバのうち、障害によって一時的にダウン（ｄｏｗｎ）した後に再起動（ｒｅｂｏｏｔｉｎｇ）するロケーションサーバ、又はレプリケーショングループ１６０に新規登録されるロケーションサーバである。
【００４０】
すなわち、マルチキャスト要請発生手段２１０は、ロケーションサーバの再起動又は新規登録に関連したロケーションサーバ（第２ロケーションサーバ）に対する初期化が要求される場合に、第２ロケーションサーバ１５０のマルチキャストグループ加入と関連したマルチキャスト登録要請が第２ロケーションサーバ１５０から第１ロケーションサーバ１４０に送信されるように制御する。このとき、第１ロケーションサーバ１４０は、保存空間であるメッセージプールを含んでおり、マルチキャスト登録要請が発生した時点までの第１ロケーションサーバ１４０に伝送された状態アップデートメッセージをメッセージプールに累積して保存している。
【００４１】
マルチキャスト処理手段２２０は、第１ロケーションサーバ１４０での第２ロケーションサーバ１５０のマルチキャストグループの登録が完了した後、サービスサーバ１３０、１３５から受信される状態アップデートメッセージを第２ロケーションサーバ１５０に伝送する。マルチキャストグループへの登録は、例えば、第１ロケーションサーバ１４０にそれぞれ割り当てられているマルチキャストリストに第２ロケーションサーバ１５０のネットワークアドレスを登録することである。すなわち、マルチキャスト処理手段２２０は、マルチキャストリストにネットワークアドレスが登録された第２ロケーションサーバ１５０を第１ロケーションサーバ１４０が属するマルチキャストグループに加入させ、その後、サービスサーバ１３０、１３５から受信される状態アップデートメッセージを、第１ロケーションサーバ１４０を経由して第２ロケーションサーバ１５０に伝送する。
【００４２】
なお、マルチキャストグループに登録された直後の第２ロケーションサーバ１５０は、エニーキャストグループに加入していない状態であるため、サービスサーバ１３０、１３５から状態アップデートメッセージを直接受信できない。このようなエニーキャストグループに第２ロケーションサーバ１５０が加入できない理由は、第２ロケーションサーバ１５０に保持されている状態アップデートメッセージを、当該第２ロケーションサーバ１５０のマルチキャストグループ加入の後にサービスサーバ１３０、１３５から受信された状態アップデートメッセージに制限しているため、第２ロケーションサーバ１５０が自主的に状態アップデートメッセージを処理できるラン状態に到達できていないためである。すなわち、後述する第１ロケーションサーバ１４０からのダンプが完了する前まで、第２ロケーションサーバ１５０は、既にエニーキャストグループに加入している第１ロケーションサーバ１４０を経由してサービスサーバ１３０、１３５から状態アップデートメッセージを受信し、これを保存空間であるメッセージプールに保存することになる。
【００４３】
ダンプ要請手段２３０は、所定の基準時間が経過した場合に、第２ロケーションサーバ１５０から第１ロケーションサーバ１４０にメッセージダンプを要請するように制御する。ここで、基準時間とは、例えば、マルチキャストグループに加入した第２ロケーションサーバ１５０で正常な状態アップデートメッセージの受信が可能であるか否かを判断するのに要する時間であり、本システムの運営者によって経験的に最適であると判断される時間が任意に設定される（例えば、登録が完了した時点から１０秒間を基準時間として設定する）。
【００４４】
すなわち、ダンプ要請手段２３０は、第２ロケーションサーバ１５０がマルチキャストグループに登録された後、所定の基準時間内に状態アップデートメッセージを第２ロケーションサーバ１５０で受信することで、レプリケーショングループにジョインする第２ロケーションサーバ１５０に対する異常の可否を確認し、正常な第２ロケーションサーバ１５０に限定してメッセージダンプを要請することになる。一方、基準時間以内に伝送した状態アップデートメッセージを第２ロケーションサーバ１５０が正常に受信しない場合には、ダンプ要請手段２３０は、例えば、サーバ異常メッセージを本システムの運営者に通知し、ロケーションサーバの交換などの処置が成されるように構成できる。
【００４５】
以下、本発明の他の実施形態として、基準時間の代わりに状態アップデートメッセージを受信する基準回数に基づいたメッセージダンプの要請について説明する。
【００４６】
これを実行するために、本発明の動的サーバ初期化システム２００は、メッセージカウント手段２５０をさらに含む。メッセージカウント手段２５０は、第２ロケーションサーバ１５０のマルチキャストグループ登録が完了した後、第１ロケーションサーバ１４０から第２ロケーションサーバ１５０に状態アップデートメッセージが伝送される回数をカウントする。
【００４７】
この後、メッセージカウント手段２５０によってカウントされた回数が所定の基準回数を満たす場合には、ダンプ要請手段２３０は、第２ロケーションサーバ１５０から第１ロケーションサーバ１４０にメッセージダンプを要請するように制御する。ここで、基準回数とは、例えば、マルチキャストグループに加入した第２ロケーションサーバ１５０において所定数の状態アップデートメッセージを正常に受信した場合に、当該第２ロケーションサーバ１５０に異常がないと判断した場合の状態アップデートメッセージの受信回数である。これは、本システムの運営者によって経験的に最適であると判断される回数が任意に設定される（例えば、登録が完了した時点から５回の受信を基準回数として設定する）。
【００４８】
すなわち、ダンプ要請手段２３０は、第２ロケーションサーバ１５０がマルチキャストグループに登録した後、状態アップデートメッセージを所定の基準回数（例えば、５回）正常に受信する第２ロケーションサーバ１５０を、異常がないロケーションサーバとして判断し、第１ロケーションサーバ１４０にメッセージダンプを要請する。同様に、基準回数分、状態アップデートメッセージを受信できない第２ロケーションサーバ１５０に対して、ダンプ要請手段２３０は、例えば、サーバ異常メッセージを本システムの運営者に通知する。
【００４９】
ダンプ処理手段２４０は、メッセージダンプ要請に応じて、第１ロケーションサーバ１４０におけるメッセージプールに保存されている状態アップデートメッセージを第２ロケーションサーバ１５０にダンプする。すなわち、ダンプ処理手段２４０は、異常がないものと判断された第２ロケーションサーバ１５０に、第１ロケーションサーバ１４０に保持されているすべての状態アップデートメッセージをダンプ（コピー）することで、第１ロケーションサーバ１４０と第２ロケーションサーバ１５０との間で同じ状態アップデートメッセージを保持させる。すなわち、ダンプ処理手段２４０は、第２ロケーションサーバ１５０を第１ロケーションサーバ１４０が属したレプリケーショングループ１６０にジョインさせ、第２ロケーションサーバ１５０に対する初期化過程が完了する。
【００５０】
特に、ダンプ処理手段２４０は、状態アップデートメッセージに含まれるタイムスタンプ（ｔｉｍｅ−ｓｔａｍｐ）を用いることで、第１ロケーションサーバ１４０のメッセージプールに保持されている状態アップデートメッセージのうちから第２ロケーションサーバ１５０にダンプする状態アップデートメッセージを選択する。タイムスタンプは、サービスサーバ１３０、１３５から状態アップデートメッセージが受信される時刻と関連して生成され、メッセージプールに状態アップデートメッセージに対応させて保存される。すなわち、ダンプ処理手段２４０は、タイムスタンプに基づいて、特定の時刻に第１ロケーションサーバ１４０で受信された状態アップデートをコピーする状態アップデートメッセージとして選択する。
【００５１】
例えば、ダンプ処理手段２４０は、メッセージダンプが要請される時点に、第１ロケーションサーバ１４０から状態アップデートメッセージが伝送される場合、該当する状態アップデートメッセージをダンプ対象から除外する。すなわち、ダンプ処理手段２４０は、マルチキャストによって状態アップデートメッセージが第１ロケーションサーバ１４０から伝送される途中にメッセージダンプが要請された場合には、第１ロケーションサーバ１４０のメッセージプールに保存されている状態アップデートメッセージのうちからメッセージダンプが要請された時点よりも先行するタイムスタンプの状態アップデートメッセージをダンプ対象として決めて、第２ロケーションサーバ１５０にダンプする。
【００５２】
なお、ダンプ処理手段２４０は、メッセージダンプが要請された時点に、第１ロケーションサーバ１４０から状態アップデートメッセージが伝送されない、又は状態アップデートメッセージが第２ロケーションサーバ１５０に伝送されたこととは無関係に、第１ロケーションサーバ１４０のメッセージプールに保存されたすべての状態アップデートメッセージを第２ロケーションサーバにダンプすることも可能である。
【００５３】
したがって、本発明によれば、安定的にメッセージ受信機能を発揮するロケーションサーバに対してのみメッセージダンプを許容することで、ロケーションサーバの初期化過程における状態アップデートメッセージの欠落を防止した精巧な初期化過程を提供することが可能となる。
【００５４】
また、ダンプ処理手段２４０は、第２ロケーションサーバ１５０へのダンプが完了した後、メッセージプールに保存されている状態アップデートメッセージのうちから重複するメッセージを削除する。第２ロケーションサーバ１５０のメッセージプールには、第２ロケーションサーバ１５０がマルチキャストグループの登録後に（第１ロケーションサーバ１４０を経由して）サービスサーバ１３０、１３５から受信した状態アップデートメッセージが保持されているとともに、メッセージダンプの要請後の第１ロケーションサーバ１４０からの状態アップデートメッセージが、ダンプされて保存されている。これにより、第２ロケーションサーバ１５０のメッセージプールには、同じ状態アップデートメッセージが重複して保存される。ダンプ処理手段２４０は、このような重複した状態アップデートメッセージを識別し、１つの状態アップデートメッセージのみがメッセージプールに保持されるように状態アップデートメッセージに対する保存管理を行う。すなわち、ダンプ処理手段２４０は、マルチキャストグループへの登録が完了した後、第２ロケーションサーバ１５０でサービスサーバ１３０、１３５から受信した状態アップデートメッセージを重複した状態アップデートメッセージとして識別し、第２ロケーションサーバ１５０のメッセージプールから削除する。
【００５５】
したがって、本発明によれば、不必要に重複して保存された状態アップデートメッセージを削除することで、第２ロケーションサーバ１５０のメッセージプールを最適化することができる。
【００５６】
以上のように、本発明の動的サーバ初期化システム２００は、レプリケーショングループ１６０に新たにジョインするロケーションサーバに対し、マルチキャストグループの登録、所定の基準時間の経過又は所定の基準回数のメッセージ受信待機、メッセージダンプなど一連のプロセスを経て、動的な初期化過程をサポートする。これにより、本発明によれば、メッセージダンプの途中にマルチキャスト方式で受信する状態アップデートメッセージを安定的に第２ロケーションサーバ１５０のメッセージプールに保存できる効果を得ることができる。
【００５７】
この後、動的サーバ初期化システム２００は、メッセージダンプが完了した第２ロケーションサーバ１５０に対するエニーキャストグループへの登録を、サービスサーバ１３０、１３５に要請し、サービスサーバ１３０、１３５でのエニーキャストグループへの登録が完了した後、第２ロケーションサーバ１５０は、サービスサーバ１３０、１３５からの直接的な状態アップデートメッセージの受信が許容される。これにより、第２ロケーションサーバは、状態アップデートメッセージに対する信号処理を自主的に実行できるラン状態となり、ラン状態である第２ロケーションサーバ１５０は、エニーキャストによってサービスサーバ１３０、１３５から直接に受信した状態アップデートメッセージを自身が所属したマルチキャストグループ内の第１ロケーションサーバ１４０に伝送するように制御できる。
【００５８】
図３は、本発明に係る第１ロケーションサーバと第２ロケーションサーバの間のメッセージ交換の一例を示した図である。
【００５９】
図３では、説明の便宜のために、第２ロケーションサーバの状態を「Ｉｎｉｔ  ｓｔａｔｅ」、「Ｄｕｍｐ  ｓｔａｔｅ」、及び「Ｒｕｎ  ｓｔａｔｅ」に区分して説明する。
【００６０】
まず、「Ｉｎｉｔ  ｓｔａｔｅ」において、第２ロケーションサーバ１５０は、マルチキャストグループへの登録と関連した要請信号である「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＩＮＩＴ」を第１ロケーションサーバ１４０に送信する。「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＩＮＩＴ」は、レプリケーショングループ１６０に含まれている１つ以上の第１ロケーションサーバ１４０のうちからラン状態（Ｒｕｎ  ｓｔａｔｅ）である第１ロケーションサーバ１４０を確認するためのマルチキャスト登録要請信号（ｉｐ  ｍｕｌｔｉｃａｓｔ）である。
【００６１】
「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＩＮＩＴ」を受信した第１ロケーションサーバ１４０は、第２ロケーションサーバ１５０をマルチキャストグループに加入することを許容する応答信号である「ＬＣＳ＿ＲＥＳＰＯＮＳＥ＿ＩＮＩＴ」を第２ロケーションサーバ１５０に送信する。すなわち、第１ロケーションサーバ１４０は、サービスサーバ１３０、１３５から直接に受信した状態アップデートメッセージが第２ロケーションサーバ１５０にも伝送されるように、第２ロケーションサーバ１５０をマルチキャストグループに登録し、これと関連した「ＬＣＳ＿ＲＥＳＰＯＮＳＥ＿ＩＮＩＴ」を生成して第２ロケーションサーバに送信する。このとき、「ＬＣＳ＿ＲＥＳＰＯＮＳＥ＿ＩＮＩＴ」には、第１ロケーションサーバ１４０のネットワークアドレス（ｉｐ  ｍｕｌｔｉｃａｓｔ）としてＩＰ又はＴＣＰ  Ｐｏｒｔアドレスが含まれる。これにより、第２ロケーションサーバ１５０は、第１ロケーションサーバ１４０が属するマルチキャストグループに加入し、第１ロケーションサーバ１４０を経由した状態アップデートメッセージの受信が可能となる。
【００６２】
マルチキャストグループへの登録後、所定の基準時間（例えば、１０秒）内に、第２ロケーションサーバ１５０は、マルチキャストによる状態アップデートメッセージを受信する。基準時間とは、第２ロケーションサーバ１５０の異常の可否を判断するのに必要な時間であって、第２ロケーションサーバ１５０が基準時間内に所定数の状態アップデートメッセージを受信することで、当該第２ロケーションサーバ１５０に異常がないことを証明できる。
【００６３】
その後、「Ｄｕｍｐ  ｓｔａｔｅ」で、第２ロケーションサーバ１５０は、メッセージダンプと関連した要請信号である「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＤＵＭＰ」を第１ロケーションサーバ１４０に送信する。「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＤＵＭＰ」とは、ラン状態である第１ロケーションサーバ１４０においてメッセージプールに保存されている状態アップデートメッセージ及び状態アップデートメッセージをダンプするチャンネルに対するメッセージダンプを要請する信号である。「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＤＵＭＰ」は、基準時間内に受信する状態アップデートメッセージを正常に受信し、異常がないと判断される第２ロケーションサーバ１５０で生成されるように制御される。
【００６４】
「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＤＵＭＰ」を受信した第１ロケーションサーバ１４０は、メッセージダンプと関連して、図３に示すような「ＬＣＳ＿ＲＥＳＰＯＮＳＥ＿ＵＳＥＲ＿ＤＵＭＰ」、「ＬＣＳ＿ＲＥＳＰＯＮＳＥ＿ＣＨＮＬ＿ＤＵＭＰ」、「ＬＣＳ＿ＲＥＳＰＯＮＳＥ＿ＳＹＮＣＥＤ」など３つの応答信号を第２ロケーションサーバ１５０に連続して送信する。
【００６５】
ここで、「ＬＣＳ＿ＲＥＳＰＯＮＳＥ＿ＵＳＥＲ＿ＤＵＭＰ」は、「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＤＵＭＰ」に対する応答であって、状態アップデートメッセージのメッセージダンプ開始（動作）に関する信号である。また、「ＬＣＳ＿ＲＥＳＰＯＮＳＥ＿ＣＨＮＬ＿ＤＵＭＰ」は、「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＤＵＭＰ」に対する応答であって、状態アップデートメッセージがダンプするチャンネルの状態情報に関する信号である。また、「ＬＣＳ＿ＲＥＳＰＯＮＳＥ＿ＳＹＮＣＥＤ」は、「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＤＵＭＰ」に対する応答であって、第１ロケーションサーバ１４０からのメッセージダンプが完了することを通知する信号である。
【００６６】
すなわち、「ＬＣＳ＿ＲＥＱＵＥＳＴ＿ＤＵＭＰ」を受信した第１ロケーションサーバ１４０は、メッセージダンプの開始、進行、終了に関する状態情報を第２ロケーションサーバ１５０に送信する。これにより、メッセージダンプが完了した第２ロケーションサーバ１５０は、第１ロケーションサーバ１４０と状態が同じようにラン状態となり、メッセージに対する自主的な信号処理が可能となる。
【００６７】
「Ｒｕｎ  ｓｔａｔｅ」における第２ロケーションサーバ１５０は、エニーキャストグループへの登録が許容され、登録された後、サービスサーバ１３０、１３５から状態アップデートメッセージを直接受信できるようになるとともに、受信した状態アップデートメッセージをマルチキャストによって第１ロケーションサーバ１４０に伝送することが可能となる。
【００６８】
以下、本発明の実施形態に係る動的サーバ初期化システム２００の処理フローについて説明する。
【００６９】
図４は、本発明の一実施形態に係る動的サーバ初期化方法を具体的に示したフローチャートである。
【００７０】
本発明の動的サーバ初期化方法は、上述した動的サーバ初期化システム２００によって実行される。
【００７１】
まず、動的サーバ初期化システム２００は、１つ以上の第１ロケーションサーバ１４０で構成されるレプリケーショングループ１６０に第２ロケーションサーバ１５０が追加される場合に、第２ロケーションサーバ１５０から第１ロケーションサーバ１４０にレプリケーショングループ１６０と連関したマルチキャストグループへの登録を要請する（段階Ｓ４１０）。本段階Ｓ４１０は、レプリケーショングループ１６０に含まれるロケーションサーバ１４０、１５０の中から、例えば、システム障害によって一時的にダウンした後に再び起動するロケーションサーバを第２ロケーションサーバ１５０として決めて、当該第２ロケーションサーバ１５０に対するマルチキャストグループへの登録を要請する過程である。また、動的サーバ初期化システム２００は、レプリケーショングループ１６０に新しいロケーションサーバが含まれる場合にも、当該ロケーションサーバを第２ロケーションサーバ１５０として決める。
【００７２】
すなわち、本段階Ｓ４１０において動的サーバ初期化システム２００は、レプリケーショングループ１６０で再起動信号又はサーバ追加信号が発生することによって、当該発生された信号と関連する第２ロケーションサーバ１５０をマルチキャストグループに加入させるための登録要請を第２ロケーションサーバ１５０から第１ロケーションサーバ１４０に送信する。
【００７３】
また、動的サーバ初期化システム２００は、第１ロケーションサーバ１４０で登録が完了した後、サービスサーバ１３０、１３５から受信される状態アップデートメッセージを第２ロケーションサーバ１５０に伝送されるように制御する（段階Ｓ４２０）。本段階Ｓ４２０は、マルチキャストグループに加入した第２ロケーションサーバ１５０に状態アップデートメッセージを伝送する過程であって、第２ロケーションサーバ１５０が第１ロケーションサーバ１４０を経由してサービスサーバ１３０、１３５からの状態アップデートメッセージを受信する過程である。このとき、第１ロケーションサーバ１４０は、エニーキャストグループに登録されている状態であるため、サービスサーバ１３０、１３５から状態アップデートメッセージを直接受信し、マルチキャストによって第２ロケーションサーバ１５０に伝送する。
【００７４】
次に、動的サーバ初期化システム２００は、所定の基準時間が経過した場合に、第２ロケーションサーバ１５０から第１ロケーションサーバ１４０にメッセージダンプを要請する（段階Ｓ４３０）。本段階Ｓ４３０は、メッセージダンプの要請時点を識別するための過程であって、基準時間内に第２ロケーションサーバ１５０で正常なメッセージ受信が成されるか否かを確認した後、第２ロケーションサーバ１５０に異常がないと判断された場合に、メッセージダンプの要請が成されるようにする。すなわち、動的サーバ初期化システム２００は、第２ロケーションサーバ１５０がレプリケーショングループ１６０にジョインする以前に、サービスサーバ１３０、１３５から受信した状態アップデートメッセージ（第１ロケーションサーバ１４０で保持されている状態アップデートメッセージ）を第２ロケーションサーバ１５０にコピーできるように、関連した要請信号を第２ロケーションサーバ１５０から第１ロケーションサーバ１４０に送信する。
【００７５】
また、本段階Ｓ４３０で、動的サーバ初期化システム２００は、基準時間の代わりに基準回数を用いてメッセージダンプの要請時点を識別することもできる。すなわち、動的サーバ初期化システム２００は、マルチキャストグループに登録されている第２ロケーションサーバ１５０が正常に基準回数だけ状態アップデートメッセージを受信することによって、該当する第２ロケーションサーバ１５０に異常がないことを判断し、メッセージダンプを要請する。これに関する詳細な説明については上述した通りであるため、ここでは省略する。
【００７６】
また、動的サーバ初期化システム２００は、メッセージダンプ要請に応じて、第１ロケーションサーバ１４０でメッセージプールに保存された状態アップデートメッセージを第２ロケーションサーバ１５０にダンプする（段階Ｓ４４０）。本段階Ｓ４４０は、レプリケーショングループにジョインした第２ロケーションサーバ１５０を第１ロケーションサーバ１４０と同じ状態、すなわち、メッセージプールに保持されている状態アップデートメッセージを同じようにする過程である。
【００７７】
特に、本段階Ｓ４４０において動的サーバ初期化システム２００は、ダンプが成されている途中に第１ロケーションサーバ１４０からマルチキャストによる状態アップデートメッセージの伝送が同時に成されるか否かを判断し、その結果に応じて、第１ロケーションサーバ１４０に保存された状態アップデートメッセージを選択的にダンプする。このために、状態アップデートメッセージは、受信時間と関連したタイムスタンプを含んでおり、動的サーバ初期化システム２００は、タイムスタンプに基づいて最も最近に保存された状態アップデートメッセージ、すなわち、マルチキャストによって現在伝送されている状態アップデートメッセージを除いた残余状態アップデートメッセージを第１ロケーションサーバ１４０のメッセージプールから抽出して第２ロケーションサーバにダンプする。
【００７８】
また、本段階Ｓ４４０で、動的サーバ初期化システム２００は、メッセージダンプが成される時点において第１ロケーションサーバ１４０のメッセージプールに保存されているすべての状態アップデートメッセージを第２ロケーションサーバ１５０にダンプする。
【００７９】
続いて、動的サーバ初期化システム２００は、第２ロケーションサーバ１５０で状態アップデートメッセージに対するダンプが完了した後、第２ロケーションサーバ１５０のメッセージプールに重複して保存されている状態アップデートメッセージを識別し、１つの状態アップデートメッセージのみが維持されるように制御する（段階Ｓ４５０）。重複した状態アップデートメッセージの発生は、第２ロケーションサーバ１５０がマルチキャストグループに登録した後、マルチキャストによって伝送された状態アップデートメッセージは、第１ロケーションサーバ１４０にも維持されていることに起因する。すなわち、第１ロケーションサーバ１４０からメッセージダンプされる状態アップデートメッセージには、マルチキャストによって第２ロケーションサーバ１５０で既に受信した状態アップデートメッセージが含まれる場合がある。これにより、本段階Ｓ４５０における動的サーバ初期化システム２００は、マルチキャストグループへの登録が完了した後、第２ロケーションサーバ１５０でサービスサーバ１３０、１３５から受信された状態アップデートメッセージを重複した状態アップデートメッセージとして削除する。
【００８０】
また、動的サーバ初期化システム２００は、ダンプが完了した後、第２ロケーションサーバ１５０からサービスサーバ１３０、１３５にエニーキャストグループへの登録を要請する（段階Ｓ４６０）。本段階Ｓ４６０は、サービスサーバ１３０、１３５から受信される状態アップデートメッセージを第２ロケーションサーバ１５０において直接受信できるようにサービスサーバ１３０、１３５に登録要請を送信する過程である。
【００８１】
次に、動的サーバ初期化システム２００は、サービスサーバ１３０、１３５での第２ロケーションサーバ１５０のエニーキャストグループ登録が完了した後、サービスサーバ１３０、１３５から直接受信する状態アップデートメッセージをマルチキャストグループ内の第１ロケーションサーバ１４０に伝送する（段階Ｓ４７０）。本段階Ｓ４７０は、第２ロケーションサーバ１５０をラン状態で維持しており、サービスサーバ１３０、１３５で状態アップデートメッセージを直接受信し、受信した状態アップデートメッセージをマルチキャストによって他のロケーションサーバに伝送する過程である。
【００８２】
したがって、本発明によれば、レプリケーショングループに新しいロケーションサーバをジョインすることにおいて、初期化の途中にサービスサーバ１３０、１３５から受信する状態アップデートメッセージが欠落しないように、最適なメッセージダンプの実行を保証することができる。
【００８３】
本発明に係る実施形態は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読み取り可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合わせて含むこともできる。また、記録媒体及びプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光又は金属線、導波管などの送信媒体も含む。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードが含まれる。
【００８４】
上述したように、本発明を好ましい実施形態に則して説明したが、本発明の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の技術的思想及びその領域から逸脱しない範囲内で、本発明を多様に修正及び変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図面の簡単な説明】
【００８５】
【図１】本発明に係るレプリケーショングループで構成された複数のロケーションサーバとサービスサーバ及びユーザ端末機のネットワーク連結を概略的に示した図である。
【図２】本発明の一実施形態に係る動的サーバ初期化システムを示した構成図である。
【図３】本発明に係る第１ロケーションサーバと第２ロケーションサーバの間のメッセージ交換の一例を示した図である。
【図４】本発明の一実施形態に係る動的サーバ初期化方法を具体的に示したフローチャートである。
【図１】
2008547104.tif 000003
【図２】
2008547104.tif 000004
【図３】
2008547104.tif 000005
【図４】
2008547104.tif 000006
【国際調査報告】
2008547104.tif 000007
2008547104.tif 000008