(57)【要約】  本発明のロケーションサーバにおけるメッセージ状態点検方法及びシステムは、メッセージが保存されるメッセージプールを保持する段階と、サービスサーバから第１セッションＩＤを含むログアウトメッセージを受信してメッセージプールに保存する段階と、サービスサーバから第２セッションＩＤを含むログインメッセージを受信してメッセージプールに保存する段階と、メッセージプールを参照して第１セッションＩＤと第２セッションＩＤとを比較する段階と、第１セッションＩＤと第２セッションＩＤが同じである場合に、メッセージプールからログアウトメッセージ及びログインメッセージを削除する段階とを含む。【選択図】図１０
2008544392.tif 000002
【特許請求の範囲】
【請求項１】
ロケーションサーバにおけるメッセージ状態点検方法であって、
メッセージが保存されるメッセージプールを保持する段階と、
サービスサーバから第１セッションＩＤを含むログアウトメッセージを受信して前記メッセージプールに保存する段階と、
前記サービスサーバから第２セッションＩＤを含むログインメッセージを受信して前記メッセージプールに保存する段階と、
前記メッセージプールを参照して、前記第１セッションＩＤと前記第２セッションＩＤとを比較する段階と、
前記第１セッションＩＤと前記第２セッションＩＤが同じである場合には、前記メッセージプールから前記ログアウトメッセージ及び前記ログインメッセージを削除する段階と、
を含むことを特徴とするメッセージ状態点検方法。
【請求項２】
前記ログアウトメッセージは第１ユーザＩＤをさらに含み、前記ログインメッセージは第２ユーザＩＤをさらに含み、
前記第１ユーザＩＤと前記第２ユーザＩＤとを比較する段階をさらに含み、
前記第１セッションＩＤと前記第２セッションＩＤとを比較する前記段階は、前記第１ユーザＩＤと前記第２ユーザＩＤが同じである場合に実行されることを特徴とする請求項１に記載のメッセージ状態点検方法。
【請求項３】
前記メッセージプールにはメッセージが保存される順序と連関付いたタイムスタンプが記録され、
前記ログアウトメッセージの第１タイムスタンプは、前記ログインメッセージの第２タイムスタンプよりも先行することを特徴とする請求項１に記載のメッセージ状態点検方法。
【請求項４】
ロケーションサーバにおけるメッセージ状態点検方法であって、
サービスサーバから受信したセッションＩＤを含むログインメッセージを、前記ログインメッセージが保存される順序と連関付いたタイムスタンプが記録されるメッセージプールに保持する段階と、
前記メッセージプールを参照し、セッションＩＤが同じであり、かつ前記第１ログインメッセージの第１タイムスタンプが前記第２ログインメッセージの第２タイムスタンプよりも先行する第１ログインメッセージ及び第２ログインメッセージを感知する段階と、
前記第１ログインメッセージを送信したサービスサーバに確認メッセージを送信する段階と、
所定の制限時間内に前記サービスサーバから前記確認メッセージに対する状態応答メッセージを受信できなかった場合に、前記メッセージプールから前記第１ログインメッセージを削除する段階と、
を含むことを特徴とするメッセージ状態点検方法。
【請求項５】
前記制限時間内に前記サービスサーバから前記確認メッセージに対する状態応答メッセージを受信した場合に、前記メッセージプールから前記第２ログインメッセージを削除する段階、をさらに含むことを特徴とする請求項４に記載のメッセージ状態点検方法。
【請求項６】
前記制限時間内に前記サービスサーバから前記確認メッセージに対するログアウトメッセージを受信した場合に、前記メッセージプールから前記第１ログインメッセージを削除する段階、をさらに含むことを特徴とする請求項４に記載のメッセージ状態点検方法。
【請求項７】
ロケーションサーバにおけるメッセージ状態点検方法であって、
所定のサービスサーバから受信したセッションＩＤ及び時間情報を含むログインメッセージをメッセージプールに保持する段階と、
前記ログインメッセージの時間情報を参照し、所定の基準時間内に１つのセッションＩＤに対応するログインメッセージが１つのみ存在する場合に、前記サービスサーバに前記ログインメッセージに対応する確認メッセージを送信する段階と、
所定の制限時間内に前記サービスサーバから前記確認メッセージに対する状態応答メッセージを受信できなかった場合に、前記メッセージプールから前記ログインメッセージを削除する段階と、
を含むことを特徴とするメッセージ状態点検方法。
【請求項８】
前記制限時間内に前記サービスサーバから前記確認メッセージに対するログアウトメッセージを受信した場合に、前記メッセージプールから前記ログインメッセージを削除する段階、
をさらに含むことを特徴とする請求項７に記載のメッセージ状態点検方法。
【請求項９】
前記メッセージプールは、時間情報を含むログアウトメッセージをさらに含み、
前記ログアウトメッセージの時間情報を参照し、一定の時間を経たログアウトメッセージが存在する場合に、前記メッセージプールから前記ログアウトメッセージを削除する段階、
をさらに含むことを特徴とする請求項７に記載のメッセージ状態点検方法。
【請求項１０】
ロケーションサーバにおけるメッセージ状態点検方法であって、
サービスサーバのチャンネルＩＤ及び前記サービスサーバから第１チャンネルリセットメッセージを受信した時点の第１時間情報に対するチャンネルＩＤタイムスタンプをチャンネル情報保存部に保持する段階と、
前記チャンネルＩＤタイムスタンプを参照し、前記サービスサーバから受信したエニーキャストメッセージに該当するチャンネルの前記第１時間情報と連関付けて前記エニーキャストメッセージをメッセージプールに保存する段階と、
前記サービスサーバから前記チャンネルＩＤを含む第２チャンネルリセットメッセージを受信し、前記第２チャンネルリセットメッセージが受信された第２時間情報に前記チャンネルＩＤタイムスタンプを更新する段階と、
前記メッセージプールを参照し、同一チャンネルに対する前記エニーキャストメッセージに含まれる前記第２時間情報と同じでないエニーキャストメッセージを削除する段階と、
を含むことを特徴とするメッセージ状態点検方法。
【請求項１１】
前記ロケーションサーバは、前記メッセージプールに前記サービスサーバから受信したエニーキャストメッセージと前記ロケーションサーバと同期化状態を保持する第２ロケーションサーバから受信したマルチキャストメッセージとを区分して保持し、
前記エニーキャストメッセージに対してのみメッセージ状態点検を実行することを特徴とする請求項１、４、７又は１０のいずれか一項に記載のメッセージ状態点検方法。
【請求項１２】
請求項１から１０のいずれか一項に記載のメッセージ状態点検方法を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１３】
メッセージ状態を点検するロケーションサーバであって、
メッセージが保存されるメッセージプールと、
サービスサーバから第１セッションＩＤを含むログアウトメッセージを受信して前記メッセージプールに保存し、前記サービスサーバから第２セッションＩＤを含むログインメッセージを受信して前記メッセージプールに保存するメッセージ受信部と、
前記メッセージプールを参照し、前記第１セッションＩＤと前記第２セッションＩＤとを比較する比較部と、
前記第１セッションＩＤと前記第２セッションＩＤが同じである場合に、前記メッセージプールから前記ログアウトメッセージ及び前記ログインメッセージを削除するメッセージ削除部と、
を含むことを特徴とするロケーションサーバ。
【請求項１４】
メッセージ状態を点検するロケーションサーバであって、
サービスサーバから受信したセッションＩＤを含むログインメッセージを保持するとともに、前記ログインメッセージが保存される順序と連関付いたタイムスタンプが記録されるメッセージプールと、
前記メッセージプールを参照し、セッションＩＤが同じであり、かつ前記第１ログインメッセージの第１タイムスタンプが前記第２ログインメッセージの第２タイムスタンプよりも先行する第１ログインメッセージと第２ログインメッセージを感知するメッセージ管理部と、
前記第１ログインメッセージを送信したサービスサーバに確認メッセージを送信するメッセージ送信部と、
所定の制限時間内に前記サービスサーバから前記確認メッセージに対する状態応答メッセージを受信できなかった場合に、前記メッセージプールから前記第１ログインメッセージを削除するメッセージ削除部と、
を含むことを特徴とするロケーションサーバ。
【請求項１５】
メッセージ状態を点検するロケーションサーバであって、
サービスサーバから受信したセッションＩＤ及び時間情報を含むログインメッセージを保持するメッセージプールと、
前記ログインメッセージの時間情報を参照し、所定の基準時間内に１つのセッションＩＤに対応するログインメッセージが１つのみ存在する場合に、前記サービスサーバに前記ログインメッセージに対応する確認メッセージを送信するメッセージ送信部と、
所定の制限時間内に前記サービスサーバから前記確認メッセージに対する状態応答メッセージを受信できなかった場合に、前記メッセージプールから前記ログインメッセージを削除するメッセージ削除部と、
を含むことを特徴とするロケーションサーバ。
【請求項１６】
メッセージ状態を点検するロケーションサーバであって、
サービスサーバのチャンネルＩＤ及び前記サービスサーバから第１チャンネルリセットメッセージを受信した時点の第１時間情報に対するチャンネルＩＤタイムスタンプを保持するチャンネル情報保存部と、
前記チャンネルＩＤタイムスタンプを参照し、前記サービスサーバから受信したエニーキャストメッセージに該当するチャンネルの前記第１時間情報と連関付けて前記エニーキャストメッセージを保存するメッセージプールと、
前記サービスサーバから前記チャンネルＩＤを含む第２チャンネルリセットメッセージを受信するメッセージ受信部と、
前記第２チャンネルリセットメッセージを受信した第２時間情報に前記チャンネルＩＤタイムスタンプを更新するメッセージ更新部と、
前記メッセージプールを参照し、同一チャンネルに対して前記エニーキャストメッセージに含まれた前記第２時間情報と同じでないエニーキャストメッセージを削除するメッセージ削除部と、
を含むことを特徴とするロケーションサーバ。
【請求項１７】
前記メッセージプールは、前記サービスサーバから受信したエニーキャストメッセージと前記ロケーションサーバと同期化状態を保持する第２ロケーションサーバから受信したマルチキャストメッセージとを区分して保持し、
前記エニーキャストメッセージに限定してメッセージ状態点検を実行することを特徴とする請求項１３から１６のいずれか一項に記載のロケーションサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロケーションサーバにおけるユーザのログイン／ログアウトメッセージ状態を点検する方法及びシステムに関する。
【背景技術】
【０００２】
図１は、従来の複数のサービスサーバに接続するユーザ端末機のネットワーク接続を示した図である。
【０００３】
図１において、ユーザ端末機１０１、１０２を用いるユーザは、インターネット１０３を通じて、プレイしたいオンラインゲームを提供するゲームサーバ１０４、１０５、１０６に接続する。例えば、ゲームサーバ１０４、１０５はゴーストップゲームサービスを提供し、ゲームサーバ１０６はフーラゲームサービスを提供する。このとき、ユーザのログイン／ログアウトは、各ゲームサーバ１０４、１０５、１０６にて個別に実行されるとともに、ユーザのログイン／ログアウト情報も各ゲームサーバ１０４、１０５、１０６にて個別に管理されていた。したがって、従来は、１つのゲームサーバにログインしたユーザは、他のゲームサーバにログインしたユーザの現在状態（例えば、ログインしたのかログアウトしたのか、又はどんなゲームをしているのか）について全く知ることができなかった。
【０００４】
図２は、従来のユーザのロケーション情報を管理するためのロケーションサーバとサービスサーバとのネットワーク接続を示した図である。
【０００５】
図１に示した構成の問題点を解決するために、すべてのゲームサーバ２０４、２０５、２０６におけるユーザのログイン／ログアウト情報を集中的に管理するロケーションサーバ（Ｌｏｃａｔｉｏｎ  Ｓｅｒｖｅｒ）２０７が設けられている。ユーザがユーザ端末機２０１、２０２及びインターネット１０３を通じてプレイしたいオンラインゲームを提供するゲームサーバ２０４、２０５、２０６に接続すると、ゲームサーバ２０４、２０５、２０６は、ユーザのログイン／ログアウト情報をロケーションサーバ２０７に送信する。その後、ロケーションサーバ２０７は、すべてのゲームサーバ２０４、２０５、２０６におけるユーザのログイン／ログアウト情報を集中的に管理するため、特定のサーバにログインしたユーザの最新の状態をユーザに提供することが可能となる。また、ロケーションサーバ２０７は、ユーザの位置を検出してユーザの重複ログインを防止することができる。
【０００６】
しかしながら、現在提供されているオンラインゲームは数百台のゲームサーバによって提供されており、このようなゲームサーバそれぞれで管理されていたログイン／ログアウト情報を１つのロケーションサーバで管理するとなれば、ロケーションサーバに対するシステムの負荷（ｌｏａｄ）が極めて大きくなるという問題点が発生する。
【０００７】
したがって、このようなロケーションサーバに集中するシステム負荷の問題を解決するために、ロケーションサーバをレプリケーショングループ（ｒｅｐｌｉｃａｔｉｏｎ  ｇｒｏｕｐ）で構成する方式が提案された。図３は、本発明の一実施形態における、レプリケーショングループで構成された複数のロケーションサーバとサービスサーバ及びユーザ端末機のネットワーク連結を示した図である。レプリケーショングループに属するロケーションサーバは、ユーザのログイン／ログアウト状態に関して同じ状態情報を有する。
【０００８】
すなわち、本発明におけるサービスサーバは、エニーキャストメッセージ（ログイン／ログアウトメッセージ）をロケーショングループ３０７に属するロケーションサーバ３０８、３０９、３１０、３１１の１つに送信する。このため、サービスサーバは、エニーキャスト（ａｎｙｃａｓｔ）を用いる。また、エニーキャストメッセージを受信したロケーションサーバ３０８は、エニーキャストメッセージを加工してマルチキャストメッセージを生成する。マルチキャストメッセージは、ロケーションサーバ３０８によって、ロケーショングループ３０７に属する他のロケーションサーバ３０９、３１０、３１１に伝送される。このとき、ロケーションサーバ３０８は、他のロケーションサーバ３０９、３１０、３１１にマルチキャスト（ｍｕｌｔｉｃａｓｔ）方式でマルチキャストメッセージを伝送する。
【０００９】
ところで、ロケーションサーバ３０８は、サービスサーバからログイン／ログアウトメッセージを順次に受信できない場合もある。すなわち、サービスサーバは、第１ユーザがログインするとロケーションサーバ３０８にログインメッセージを送信し、所定の時間後に第１ユーザがログアウトすればロケーションサーバ３０８にログアウトメッセージを送信する。しかしながら、ロケーションサーバ３０８は、サービスサーバから送信されたログイン／ログアウトメッセージを順に受信できず、第１ユーザに対するログアウトメッセージを先に受信し、第１ユーザに対するログインメッセージをその後に受信するといった場合も生じる。このような場合、ロケーションサーバ３０８は、第１ユーザに対するログイン／ログアウトメッセージを互いにマッチングできずにログインメッセージを継続して保存するようになり、システムの負荷を増加させるという問題点が発生する。
【００１０】
また、第１サービスサーバ３０４に異常が生じて第１ユーザに対するログアウトメッセージを受信できなくなり、第１ユーザが第２サービスサーバ３０５にログインをする場合、第１ユーザに対するログインメッセージのみが２つ存在する。このような場合に、ロケーションサーバ３０８は、第１サービスサーバ３０４の異常を認識できず、ユーザに対する重複ログイン検査のみを実行するようになるため、有効なログインであるにもかかわらず、後から受信されたログインメッセージを削除するといった問題点が発生する。
【００１１】
また、サービスサーバに異常が生じて第１ユーザに対するログアウトメッセージをロケーションサーバ３０８に送信できなくなり、第１ユーザが他のサービスサーバにログインしない場合には、ユーザに対するログインメッセージのみが存在してログアウトメッセージは存在しない。したがって、ログアウトメッセージが受信されなかったロケーションサーバ３０８は、第１ユーザに対するログインメッセージを削除しなければならないにもかかわらず、ログインメッセージを継続して保存するようになるという問題点が発生する。
【００１２】
したがって、ロケーションサーバにおいてユーザに対するログイン／ログアウトメッセージの状態をリアルタイムで監視し、有効でないログイン／ログアウトメッセージを削除してメッセージを効率的に管理できる方法及びシステムが求められている。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、上述した従来技術の問題点を解決するために案出されたものであって、サービスサーバに接続したユーザに対するログイン／ログアウトメッセージを管理するロケーションサーバにおいて、サービスサーバからログイン／ログアウトメッセージを順次に受信できなくても、ログイン／ログアウトメッセージに含まれたセッションＩＤを用いて、セッションＩＤが同じであるログイン／ログアウトメッセージを互いにマッチングして削除することで、システムの負荷を減らすことができる方法及びそのシステムを提供することを目的とする。
【００１４】
また、本発明は、セッションＩＤが同じである２つ以上のログインメッセージが存在する場合には、先に受信したログインメッセージを送信したサービスサーバに確認メッセージを送信してサービスサーバの状態を確認した後、ログインメッセージから有効な１つのログインメッセージを除いた残りのログインメッセージを削除することで、効率的にメッセージを管理できる方法及びそのシステムを提供することを目的とする。
【００１５】
また、本発明は、所定の時間内にログインメッセージのみが受信された場合に、ログインメッセージを送信したサービスサーバに確認メッセージを送信してサービスサーバの状態を確認した後、有効でないログインメッセージを削除する方法及びそのシステムを提供することを目的とする。
【００１６】
また、本発明は、ロケーションサーバにおいて、それぞれのサービスサーバから受信されたエニーキャストメッセージとロケーションサーバの同期化状態を保持する第２ロケーションサーバから受信されたマルチキャストメッセージとを区分して保持してメッセージ状態点検を実行することで、効率的にメッセージを管理できるようにする方法及びそのシステムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
前記の目的を達成し、上述した従来技術の問題点を解決するために、本発明に係るロケーションサーバにおけるメッセージ状態点検方法は、メッセージが保存される所定のメッセージプール（ｐｏｏｌ）を保持する段階と、所定のサービスサーバから第１セッションＩＤを含むログアウトメッセージを受信して上記メッセージプールに保存する段階と、上記サービスサーバから第２セッションＩＤを含むログインメッセージを受信して上記メッセージプールに保存する段階と、上記メッセージプールを参照して上記第１セッションＩＤと上記第２セッションＩＤとを比較する段階と、上記第１セッションＩＤと上記第２セッションＩＤとが同一である場合、上記メッセージプールから上記ログアウトメッセージ及び上記ログインメッセージを削除する段階とを含むことを特徴とする。
【００１８】
このとき、上記ロケーションサーバは、上記メッセージプールに上記サービスサーバから受信したエニーキャストメッセージと上記ロケーションサーバと同期化状態を保持する第２ロケーションサーバから受信したマルチキャストメッセージとを区分して保持し、上記エニーキャストメッセージに限定してメッセージ状態点検を実行するように構成することができる。
【発明の効果】
【００１９】
本発明によれば、サービスサーバに接続したユーザに対するログイン／ログアウトメッセージを管理するロケーションサーバが、サービスサーバからログイン／ログアウトメッセージを順次に受信できなくても、ログイン／ログアウトメッセージに含まれたセッションＩＤを用いて、セッションＩＤが同じであるログイン／ログアウトメッセージを互いにマッチングして削除することが可能となり、システムの負荷を減らすことができる。
【００２０】
また、本発明によれば、セッションＩＤが同じである２つ以上のログインメッセージが存在する場合に、先に受信したログインメッセージを送信したサービスサーバに確認メッセージを送信してサービスサーバの状態を確認した後、これらログインメッセージから有効な１つのログインメッセージを除いた残りのログインメッセージを削除することで、効率的にメッセージを管理することができる。
【００２１】
また、本発明によれば、所定の時間内にログインメッセージのみが受信された場合には、ログインメッセージを送信したサービスサーバに確認メッセージを送信してサービスサーバの状態を確認した後、有効でないログインメッセージを削除することができる。
【００２２】
また、本発明によれば、ロケーションサーバが、それぞれのサービスサーバから受信したエニーキャストメッセージと当該ロケーションサーバと同期化状態を保持する第２ロケーションサーバから受信したマルチキャストメッセージとを区分して保持してメッセージ状態点検を実行することで、効率的にメッセージを管理することができる。
【発明を実施するための最良の形態】
【００２３】
以下、添付の図面を参照しながら、本発明のメッセージ状態点検方法及びそのシステムについて詳細に説明する。
【００２４】
図４は、本発明の一実施形態における、ロケーションサーバにおいてログイン／ログアウトメッセージを互いにマッチングして削除する順序を示したフローチャートである。
【００２５】
本発明のロケーションサーバは、ロケーショングループ３０７に属するロケーションサーバ３０８、３０９、３１０、３１１のうちの１つロケーションサーバである（図３参照）。
【００２６】
図４に示すように、まず、段階４０１で、ロケーションサーバは、所定のメッセージプールにメッセージを保持する。以下、図５を参照して、メッセージプールについて説明する。
【００２７】
図５は、本発明の一実施形態におけるメッセージプールの内部構造を示した図である。
【００２８】
メッセージプールは、ロケーションサーバにおいて、サービスサーバ３０４、３０５、３０６から直接受信したエニーキャストメッセージ５０１と、ロケーショングループ３０７に属するロケーションサーバ３０８、３０９、３１０、３１１から受信したマルチキャストメッセージ５０２とを保持する。本発明の一実施形態では、それぞれのロケーションサーバ３０８、３０９、３１０、３１１は、サービスサーバ３０４、３０５、３０６から直接受信したエニーキャストメッセージ５０１を加工してマルチキャストメッセージ５０２とし、他のロケーションサーバ３０８、３０９、３１０、３１１に送信する。
【００２９】
エニーキャストメッセージ５０１とマルチキャストメッセージ５０２は、サービスサーバ３０４、３０５、３０６に接続したユーザに対するログイン／ログアウト状態情報を含むメッセージである。すなわち、ユーザがサーバにログインした場合に、エニーキャストメッセージ５０１とマルチキャストメッセージ５０２がログインメッセージ５０４、５０５、５０６、５０７となり、ユーザがログアウトした場合には、エニーキャストメッセージ５０１とマルチキャストメッセージ５０２がログアウトメッセージ５０３、５０８となる。本発明に係るロケーションサーバは、サービスサーバ３０４、３０５、３０６から直接受信したエニーキャストメッセージ５０１に限定してメッセージ状態を点検するものであって、自身が直接受信したメッセージに対してのみ責任を持つ。以下、図６を参照して、ログイン／ログアウトメッセージについて説明する。
【００３０】
図６は、本発明の一実施形態におけるログイン／ログアウトメッセージの形態を示した図である。
【００３１】
ログイン／ログアウトメッセージは、ユーザのユーザＩＤ（Ｍｅｍｂｅｒ  ＩＤ）６０１、メッセージ種類（Ｍｅｓｓａｇｅ  Ｔｙｐｅ）６０２、チャンネルＩＤ（Ｃｈａｎｎｅｌ  ＩＤ）６０３、セッションＩＤ（Ｓｅｓｓｉｏｎ  ＩＤ）６０４、タイムスタンプ（Ｔｉｍｅ  Ｓｔａｍｐ）６０５、シーケンスナンバー（Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）６０６、及びロケーションサーバＩＤ（ＬＣＳ  ＩＤ）６０７を含む。
【００３２】
ユーザＩＤ６０１は、ユーザを識別するためのものであって、例えば、サービスサーバにログイン／ログアウトしたユーザが用いたＩＤである。図５に示すように、ユーザＩＤ６０１は「ａａａ」などで示される。
【００３３】
メッセージ種類６０２とは、ユーザのログイン／ログアウト状態情報であって、ユーザがログインをしたのかログアウトをしたのかに関する情報である。したがって、図５に示すように、メッセージ種類６０２がログインであればログインメッセージ５０４、５０５、５０６、５０７となり、メッセージ種類６０２がログアウトであればログアウトメッセージ５０３、５０８となる。
【００３４】
チャンネルＩＤ６０３は、ユーザの位置情報であって、ユーザがどこにログインをしたのか、どこからログアウトをしたのかに関する情報である。すなわち、チャンネルＩＤ６０３は、ユーザがログイン／ログアウトをしたサービスサーバに関する情報（サービスサーバのＩＰアドレス、又はサービスサーバ名など）であったり、ユーザがログイン／ログアウトをしたサービスの識別子（例えば、「ゴーストップ」、「フーラ」、「ポーカ」など）である。したがって、メッセージ５０３において、「ゴーストップ−１」とは、ゴーストップゲームの１番チャンネルを意味する。１つのサービスが複数のチャンネルで提供されている場合には、チャンネルＩＤ６０３を、ユーザがログイン／ログアウトをしたサービスの識別子とユーザがログイン／ログアウトをしたチャンネルの識別子との組み合わせで構成することも可能である。チャンネルＩＤ６０３は、全体サービス環境において、ユーザが最近どこにログインをしたのか、どこからログアウトをしたのかに関する情報を提供する。
【００３５】
セッションＩＤ６０４は、ユーザがサービスサーバにログインする度に生成され、ユーザがログアウトするときに消滅するものである。すなわち、ユーザがサービスサーバにログインすると「００１」というセッションＩＤが生成されてログインメッセージに含まれ、所定の時間が経過した後にユーザがログアウトすると、ログインしたときと同じ「００１」というセッションＩＤがログアウトメッセージに含まれる。したがって、同一ユーザのログイン／ログアウトメッセージのセッションＩＤは同じであるため、順次にログイン／ログアウトメッセージを受信できなくても、同一ユーザに対するログイン／ログアウトメッセージをマッチングできる。
【００３６】
タイムスタンプ６０５は、ログイン／ログアウトメッセージを受信した時点を基準として、ロケーションサーバのメッセージプールにメッセージが保存される順序を記録したものである。したがって、先に受信したメッセージのタイムスタンプ６０５が後から受信したメッセージのタイムスタンプ６０５よりも先行することになる。すなわち、先に受信したメッセージのタイムスタンプ６０５を「５」と記録し、そのすぐ後に受信したメッセージのタイムスタンプ６０５を「６」と記録することで、メッセージを受信した時点を順序化できるようになる。さらに他の一例として、タイムスタンプ６０５は、ログイン／ログアウトメッセージを受信した時間情報であってもよい。すなわち、メッセージを受信した時間が「２００５年６月２日１５時３０分」である場合には、タイムスタンプ６０５が「２００５／０６／０２／１５／３０」と記録される。
【００３７】
シーケンスナンバー６０６は、タイムスタンプ６０５と同様、ログイン／ログアウトメッセージを受信した時点を基準として、ロケーションサーバのメッセージプールにメッセージが保存される順序を記録したものである。
【００３８】
ロケーションサーバＩＤ６０７は、サービスサーバからログイン／ログアウトメッセージを直接受信したロケーションサーバの識別子である。すなわち、ロケーショングループ３０７に属するロケーションサーバ３０８、３０９、３１０、３１１それぞれにロケーションサーバＩＤが付与される。例えば、ロケーションサーバ３０８にはロケーションサーバＩＤ６０７「＃１」が、ロケーションサーバ３０９にはロケーションサーバＩＤ６０７「＃２」が、ロケーションサーバ３１０にはロケーションサーバＩＤ６０７「＃３」が、ロケーションサーバ３１１にはロケーションサーバＩＤ６０４「＃４」が設定される。本発明の一実施形態では、サービスサーバにおいてメッセージを送信するロケーションサーバのロケーションサーバＩＤ６０７を記録してログイン／ログアウトメッセージを送信する。したがって、図５に示すように、エニーキャストメッセージ５０１のロケーションサーバＩＤ６０７は「＃１」で同じであり、マルチキャストメッセージ５０２のロケーションサーバＩＤ６０７は「＃２」５０７又は「＃３」５０８であり、相違している。
【００３９】
再び図４に戻り、段階４０２及び段階４０３で、ロケーションサーバは、第１セッションＩＤと第１ユーザＩＤとを含むログアウトメッセージを受信してメッセージプールに保存し、第２セッションＩＤと第２ユーザＩＤとを含むログインメッセージを受信してメッセージプールに保存する。
【００４０】
段階４０４で、ロケーションサーバは、第１ユーザＩＤと第２ユーザＩＤとが同じであるかを比較する。すなわち、ロケーションサーバは、同一ユーザのログイン／ログアウトメッセージをマッチングするために、メッセージプールに保存されたログインメッセージのユーザＩＤとログアウトメッセージのユーザＩＤとが同じであるかを判断する。ユーザＩＤが同じであれば同一ユーザとして見なし、第１ユーザＩＤと第２ユーザＩＤとが同じでなければ、他のログイン／ログアウトメッセージを確認するために、初めの状態（段階４０１）に戻る。
【００４１】
その後、第１ユーザＩＤと第２ユーザＩＤが同じであれば、段階４０５で、ロケーションサーバは、第１セッションＩＤと第２セッションＩＤとが同じであるかを比較する。図６で説明したように、サービスサーバにログインするたびにユーザＩＤにセッションＩＤが割り当てられ、ログアウトするときにもログインするときと同じセッションＩＤが割り当てられるため、ユーザＩＤが同じであればセッションＩＤも同じであることになる。
【００４２】
第１セッションＩＤと第２セッションＩＤが同じである場合、段階４０６で、ロケーションサーバは、ログアウトメッセージとログインメッセージを削除する。図５に示すように、メッセージプールには、ユーザＩＤ「ａａａ」に対応して２つのメッセージが存在しており、ユーザＩＤに対応するセッションＩＤも「００１」で一致する。このような場合、ロケーションサーバは、メッセージ種類を確認し、ユーザＩＤ及びセッションＩＤが同じであるログアウトメッセージ５０３とログインメッセージ５０５を互いにマッチングして削除する。
【００４３】
したがって、ロケーションサーバは、サービスサーバからログイン／ログアウトメッセージを順次に受信できなくても、ログイン／ログアウトメッセージに含まれたセッションＩＤを用いて、セッションＩＤが同じであるログイン／ログアウトメッセージを互いにマッチングして削除することで、システムの負荷を減らすことができる。
【００４４】
図７は、本発明の一実施形態において、セッションＩＤが同じである２つ以上のログインメッセージから有効なログインメッセージを除いた残りのログインメッセージを削除する順序を示したフローチャートである。
【００４５】
まず、段階７０１で、ロケーションサーバは、メッセージプールにログインメッセージを保持する。ログインメッセージは、セッションＩＤとタイムスタンプとを含んでおり、受信した順序に応じてタイムスタンプが決められる。
【００４６】
段階７０２で、ロケーションサーバは、第１ログインメッセージと第２ログインメッセージのセッションＩＤが同じであるかを比較する。第１ログインメッセージは、第２ログインメッセージよりもタイムスタンプが先行している。図５に示すように、同一ユーザに対してタイムスタンプが「２」であるメッセージを第１ログインメッセージ５０４とし、タイムスタンプが「４」であるメッセージを第２ログインメッセージ５０６として区分する。例えば、ロケーションサーバは、メッセージプールに保存されたログインメッセージから２つのログインメッセージを選択して比較することもできるし、メッセージプールに保存されたログインメッセージからセッションＩＤが同じであると推測される２つ以上のログインメッセージを選択して比較することもできる。第１ログインメッセージと第２ログインメッセージのセッションＩＤが同じでない場合には、他のログインメッセージと比較するために、初めの段階７０１に戻る。
【００４７】
第１ログインメッセージと第２ログインメッセージのセッションＩＤが同じである場合に、段階７０３で、ロケーションサーバは、タイムスタンプが先行する第１ログインメッセージを送信したサービスサーバに確認メッセージを送信する。例えば、第１サービスサーバがユーザのログインを認識して第１ログインメッセージをロケーションサーバに送信したものの、急にサーバに問題が生じてこのユーザに対する第１ログアウトメッセージをロケーションサーバに送信できなくなり、その後、このユーザが第２サービスサーバにログインし直すことで、第２サービスサーバがこのユーザに対する第２ログインメッセージをロケーションサーバに送信したとする。このような場合に、ロケーションサーバでは、第１サービスサーバの誤動作を知ることができないため、同一ユーザが重複ログインをしたと判断するという問題点を引き起こすことになる。このため、ロケーションサーバは、先にログインメッセージを送信した第１サービスサーバに異常が発生したかを確認するために、第１サービスサーバに確認メッセージを送信する。
【００４８】
第１サービスサーバに異常がない場合には、第１サービスサーバから確認メッセージに対する状態応答メッセージを受信し、段階７０５で、ロケーションサーバにおいてユーザが重複ログインしたものと判断し、後から受信した第２ログインメッセージを削除して第１ログインメッセージを有効なメッセージとして判断する。すなわち、図５に示すように、第１サービスサーバに異常がない場合に、ロケーションサーバは、第１ログインメッセージ５０４よりタイムスタンプが遅い第２ログインメッセージ５０６を削除する。
【００４９】
しかしながら、第１サービスサーバに問題が生じた場合には、確認メッセージに対する状態応答メッセージを受信することができないため、段階７０６で、ロケーションサーバは、第１サービスサーバの誤動作と判断し、第１ログインメッセージを削除して第２ログインメッセージを有効なメッセージとして判断する。すなわち、図５に示すように、第１サービスサーバに異常がある場合に、ロケーションサーバは、タイムスタンプが先行する第１ログインメッセージ５０４を削除する。
【００５０】
また、図示してはいないが、第１サービスサーバから確認メッセージに対応してログアウトメッセージを受信した場合に、ロケーションサーバは、第１ログインメッセージを削除して第２ログインメッセージを有効なメッセージとして判断する。
【００５１】
したがって、ロケーションサーバは、２つ以上のログインメッセージから有効な１つのログインメッセージを除いた残りのログインメッセージを削除することで、効率的にメッセージを管理することができる。
【００５２】
図８は、本発明の一実施形態における制限時間（time limit）内のメッセージを確認し、有効でないログインメッセージを削除する順序を示したフローチャートである。
【００５３】
まず、段階８０１で、ロケーションサーバは、メッセージプールにログインメッセージを保持する。ログインメッセージは、セッションＩＤと時間情報とを含んでおり、時間情報は、ログインメッセージを受信した時点の時間を記録している。
【００５４】
段階８０２で、ロケーションサーバは、所定の基準時間内に１つのセッションＩＤに対応して１つのログインメッセージのみが存在するかを判断する。基準時間としては、ユーザがサービスサーバに接続する平均的な時間を考慮して設定することができる。
【００５５】
１つのセッションＩＤに対して１つのログインメッセージが存在する場合に、段階８０３で、ロケーションサーバは、ログインメッセージを送信したサービスサーバに確認メッセージを送信する。例えば、ロケーションサーバは、１つのセッションＩＤに対応する１つのログインメッセージが３時間に渡って持続する場合に、ログインメッセージを送信したサービスサーバに確認メッセージを送信する。
【００５６】
これにより、サービスサーバから確認メッセージに対する状態応答メッセージを受信できなかった場合に、段階８０５で、ロケーションサーバは、ログインメッセージを削除する。また、ロケーションサーバは、サービスサーバから確認メッセージに対してログアウトメッセージを受信した場合にも、ログインメッセージを削除する。
【００５７】
一方、サービスサーバから確認メッセージに対応する状態応答メッセージを受信した場合に、ロケーションサーバは、ログインメッセージが有効であると判断し、他のログインメッセージを点検するために初めの段階８０１に戻る。
【００５８】
図９は、本発明の一実施形態におけるチャンネルＩＤタイムスタンプを確認して有効でないメッセージを削除する順序を示したフローチャートである。
【００５９】
まず、段階９０１で、ロケーションサーバは、サービスサーバから第１チャンネルリセットメッセージを受信する。第１チャンネルリセットメッセージとは、サービスサーバが始動又は再始動されたことをロケーションサーバに知らせるものであって、サービスサーバのチャンネルＩＤを含む。チャンネルＩＤは「ゴーストップ−１」、「ポーカ−３」などであり、サービスサーバのチャンネル情報である。
【００６０】
段階９０２で、ロケーションサーバは、サービスサーバのチャンネルＩＤ及び第１時間情報のチャンネルＩＤタイムスタンプをチャンネル情報保存部に保存する。チャンネル情報保存部は、チャンネルＩＤに対応するチャンネルＩＤタイムスタンプを保存する。第１時間情報のチャンネルＩＤタイムスタンプとは、第１チャンネルリセットメッセージを受信した時点の時間情報である。例えば、第１チャンネルリセットメッセージを受信した時点が「２００５年６月２日１２時１０分」である場合に、チャンネルＩＤタイムスタンプは「２００５／０６／０２／１２／１０」となる。
【００６１】
段階９０３で、ロケーションサーバは、サービスサーバから受信したエニーキャストメッセージを該当するチャンネルの第１時間情報と連関付けてメッセージプールに保存する。エニーキャストメッセージとは、ログイン／ログアウトメッセージである。例えば、エニーキャストメッセージは、第１時間情報（２００５／０６／０２／１２／１０）と連関付けて保存される。
【００６２】
段階９０４で、ロケーションサーバは、サービスサーバから第２チャンネルリセットメッセージを受信する。第２チャンネルリセットメッセージは、第１チャンネルリセットメッセージを送信したサービスサーバから送信される同じチャンネルに対するメッセージである。例えば、チャンネルＩＤが「ゴーストップ−１」であるサービスサーバから第１チャンネルリセットメッセージを受信し、「ゴーストップ−１」であるサービスサーバが誤作動によって再始動する場合に、「ゴーストップ−１」であるサービスサーバから第２チャンネルリセットメッセージを受信する。
【００６３】
段階９０５で、ロケーションサーバは、チャンネル情報保存部に保存されたチャンネルＩＤタイムスタンプを、第２チャンネルリセットメッセージを受信した時点の第２時間情報に更新する。例えば、第２チャンネルリセットメッセージを受信した時点が「２００５年６月３日１３時１０分」である場合に、チャンネルＩＤタイムスタンプは「２００５／０６／０３／１３／１０」に変更する。すなわち、「２００５／０６／０２／１２／１０」で保存されていたチャンネルＩＤタイムスタンプを「２００５／０６／０３／１３／１０」に変更する。
【００６４】
段階９０６で、ロケーションサーバは、メッセージプールを参照し、同じチャンネルに対して第２時間情報ではないエニーキャストメッセージが存在するかを確認する。例えば、チャンネルＩＤが「ゴーストップ−１」であるサービスサーバが再始動する場合に、元来「ゴーストップ−１」に接続されたユーザに対するログイン／ログアウトメッセージが存在するかを確認する。
【００６５】
段階９０７で、ロケーションサーバは、同じチャンネルに対して第２時間情報でないエニーキャストメッセージを削除する。したがって、ロケーションサーバは、第２時間情報より前のエニーキャストメッセージをすべて削除することになる。
【００６６】
図１０は、本発明の一実施形態におけるユーザのログイン／ログアウトメッセージ状態を点検するロケーションサーバの構成を示したブロック図である。
【００６７】
ロケーションサーバ１０００は、メッセージプール１０１０、チャンネル情報保存部１０２０、メッセージ管理部１０３０、メッセージ更新部１０４０、比較部１０５０、メッセージ削除部１０６０、メッセージ受信部１０７０、及びメッセージ送信部１０８０を含む。ロケーションサーバ１０００は、所定のサービスサーバから受信したエニーキャストメッセージとロケーションサーバと同期化状態を保持する第２ロケーションサーバから受信したマルチキャストメッセージとを区分して保持し、エニーキャストメッセージに限定してメッセージ状態点検を実行する。
【００６８】
本発明の一実施形態では、ロケーションサーバ１０００は、同一ユーザに対するログイン／ログアウトメッセージを互いにマッチングして削除する。
【００６９】
メッセージ受信部１０７０は、所定のサービスサーバから第１セッションＩＤを含むログアウトメッセージを受信する。さらに、メッセージ受信部１０７０は、サービスサーバから第２セッションＩＤを含むログインメッセージを受信する。
【００７０】
メッセージプール１０１０は、ログイン／ログアウトメッセージを受信した時点に応じて順序化して保存する。したがって、メッセージプール１０１０は、ログアウトメッセージを先に保存し、その次にログインメッセージを保存する。
【００７１】
比較部１０５０は、メッセージプール１０１０を参照し、第１セッションＩＤと第２セッションＩＤとを比較する。
【００７２】
メッセージ削除部１０６０は、第１セッションＩＤと第２セッションＩＤが同じである場合に、メッセージプール１０１０からログアウトメッセージ及びログインメッセージを削除する。
【００７３】
本発明のさらに他の一実施形態によれば、ロケーションサーバ１０００は、同一ユーザに対するログインメッセージが２つ以上である場合に、有効でないログインメッセージを削除する。
【００７４】
メッセージプール１０１０は、所定のサービスサーバから受信したログインメッセージを保持する。ログインメッセージはセッションＩＤを含んでおり、メッセージプール１０１０にログインメッセージが保存される順序と連関付いたタイムスタンプが記録される。
【００７５】
メッセージ管理部１０３０は、メッセージプール１０１０を参照し、セッションＩＤが同じである第１ログインメッセージと第２ログインメッセージを感知する。第１ログインメッセージが先に到着し、第２ログインメッセージがその後に到着したものである。したがって、第１ログインメッセージの第１タイムスタンプは、第２ログインメッセージの第２タイムスタンプよりも先行することになる。
【００７６】
メッセージ送信部１０８０は、第１ログインメッセージを送信したサービスサーバに確認メッセージを送信する。
【００７７】
メッセージ削除部１０６０は、所定の制限時間内にサービスサーバから確認メッセージに対応する状態応答メッセージを受信できなかった場合に、メッセージプール１０１０から第１ログインメッセージを削除する。一方、メッセージ削除部１０６０は、制限時間内にサービスサーバから確認メッセージに対応する状態応答メッセージを受信した場合に、メッセージプール１０１０から第２ログインメッセージを削除する。
【００７８】
本発明のさらに他の一実施形態によれば、ロケーションサーバ１０００は、所定の基準時間内にログインメッセージのみが存在する場合には、有効でないログインメッセージを削除することができる。
【００７９】
メッセージプール１０１０は、所定のサービスサーバから受信したログインメッセージを保持する。ログインメッセージは、セッションＩＤ及び時間情報を含む。
【００８０】
メッセージ送信部１０８０は、ログインメッセージの時間情報を参照し、所定の基準時間内に１つのセッションＩＤに対応して１つのログインメッセージのみが存在する場合に、サービスサーバにログインメッセージに対応する確認メッセージを送信する。
【００８１】
メッセージ削除部１０６０は、所定の制限時間内にサービスサーバから確認メッセージに対応する状態応答メッセージを受信できなかった場合には、メッセージプール１０１０からログインメッセージを削除する。
【００８２】
本発明のさらに他の一実施形態によれば、ロケーションサーバ１０００は、チャンネルＩＤスタンプを用いて、有効でないログイン／ログアウトメッセージを削除することができる。
【００８３】
チャンネル情報保存部１０２０は、所定のサービスサーバのチャンネルＩＤ及びサービスサーバから第１チャンネルリセットメッセージを受信した時点の第１時間情報に対するチャンネルＩＤタイムスタンプを保持する。
【００８４】
メッセージプール１０１０は、チャンネルＩＤタイムスタンプを参照し、サービスサーバから受信したエニーキャストメッセージに該当するチャンネルの第１時間情報と連関付けて保存する。
【００８５】
メッセージ受信部１０７０は、サービスサーバからチャンネルＩＤを含む第２チャンネルリセットメッセージを受信する。２チャンネルリセットメッセージのチャンネルＩＤは、第１チャンネルリセットメッセージのチャンネルＩＤと同じである。
【００８６】
メッセージ更新部１０４０は、第２チャンネルリセットメッセージが受信された第２時間情報にチャンネルＩＤタイムスタンプを更新する。
【００８７】
メッセージ削除部１０６０は、メッセージプール１０１０を参照して、同一チャンネルに対してエニーキャストメッセージから第２時間情報でないエニーキャストメッセージを削除する。
【００８８】
本発明に係るメッセージ状態点検方法は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な媒体を含む。記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。また、記録媒体及びプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスクおよび磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。また、上記ハードウェア要素は、本発明の動作を実行するために一以上のソフトウェアモジュールとして作動するように構成することができ、その逆もできる。
【００８９】
上述したように、本発明を好ましい実施形態に則して説明したが、本発明の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の技術的思想及びその領域から逸脱しない範囲内で、本発明を多様に修正及び変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図面の簡単な説明】
【００９０】
【図１】従来の複数のサービスサーバに接続するユーザ端末機のネットワーク接続を示した図である。
【図２】従来のユーザのロケーション情報を管理するためのロケーションサーバとサービスサーバとのネットワーク接続を示した図である。
【図３】本発明の一実施形態において、レプリケーショングループで構成された複数のロケーションサーバとサービスサーバ及びユーザ端末機のネットワーク連結を示した図である。
【図４】本発明の一実施形態に係るロケーションサーバにおいてログイン／ログアウトメッセージを互いにマッチングして削除する順序を示したフローチャートである。
【図５】本発明の一実施形態に係るメッセージプールの内部構造を示した図である。
【図６】本発明の一実施形態に係るログイン／ログアウトメッセージの形態を示した図である。
【図７】本発明の一実施形態に係るセッションＩＤが同じである２つ以上のログインメッセージから有効なログインメッセージを除いた残りのログインメッセージを削除する順序を示したフローチャートである。
【図８】本発明の一実施形態に係る制限時間内に存在するログインメッセージを確認し、有効でないログインメッセージを削除する順序を示したフローチャートである。
【図９】本発明の一実施形態に係るチャンネルＩＤタイムスタンプを確認し、有効でないメッセージを削除する順序を示したフローチャートである。
【図１０】本発明の一実施形態に係るユーザのログイン／ログアウトメッセージ状態を点検するロケーションサーバの構成を示したブロック図である。
【図１】
2008544392.tif 000003
【図２】
2008544392.tif 000004
【図３】
2008544392.tif 000005
【図４】
2008544392.tif 000006
【図５】
2008544392.tif 000007
【図６】
2008544392.tif 000008
【図７】
2008544392.tif 000009
【図８】
2008544392.tif 000010
【図９】
2008544392.tif 000011
【図１０】
2008544392.tif 000012
【国際調査報告】
2008544392.tif 000013
2008544392.tif 000014