説明

重複ログイン検出方法及びシステム

本発明の重複ログイン検出システムは、外部サーバからユーザのユーザ識別子、ユーザのログイン/ログアウト状態、ユーザがログイン/ログアウトしたチャンネルに関するチャンネル識別子、及びセッション識別子を含むログメッセージを受信するメッセージ受信部と、メッセージバッファからログメッセージのペアメッセージを検索するペアメッセージ検索部と、メッセージバッファからペアメッセージが検索された場合には、ログメッセージ及び検索されたペアメッセージをメッセージバッファから除去し、メッセージバッファからペアメッセージが検索されない場合には、ログメッセージをメッセージバッファに保存するメッセージ処理部とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、重複ログイン検出システムに関し、より詳細には、1つのユーザIDを用いて分散したサーバに重複ログインしてサービスを利用するユーザを検出し、当該サービスの利用者が現在どこでサービスを利用しているのかに関する情報を提供する重複ログイン検出方法及びシステムに関する。
【背景技術】
【0002】
従来の技術では、所定のサービスを提供するウェブサーバ毎にユーザ認証データベースを保持し、ウェブサーバにユーザがログインする際に、ユーザの識別子及びパスワードを受信してデータベースに保存されているユーザ識別子のログイン情報を検索し、ユーザのログインが重複ログインであるか否かを判断した後、重複ログインであると判断された場合には、後で接続したユーザの接続を遮断していた。これは、1つのユーザIDを用いて複数のユーザが同じサービスを利用することを防ぐためである。
【0003】
しかしながら、このような従来の重複ログインの遮断は、サーバ別に管理されているため、複数のサーバを含んで運営されるシステムでは、重複ログインを管理し難いという点があった。すなわち、ユーザのログ情報が同時に管理される複数のサーバにユーザが同じユーザ識別子で重複接続する場合には、これに関する処理が困難であるという短所があった。
【0004】
図1は、従来技術に係るユーザ端末機及び複数のサーバのネットワーク連結を示した図である。
【0005】
図1に示すように、ユーザは、ユーザ端末機105、106を用いてネットワーク104で連結された外部サーバであるゲームサーバ1(符合101)、ゲームサーバ2(符合102)、ゲームサーバ3(符合103)に接続することで、ゲームサーバで提供するサービスの利用が可能となる。
【0006】
このとき、ユーザは、1つのユーザIDを用いてゲームサーバ全てのサービスを利用することができる。例えば、1つのユーザIDを用いてハンゲームサイトに接続する場合に、ユーザは、ゲームサーバ1(符合101)で提供するポーカーゲーム、ゲームサーバ2(符合102)で提供するゴーストップゲーム、ゲームサーバ3(符合103)で提供するテトリスゲームなどの多様なゲームを、1つのユーザIDを用いて利用できる。
【0007】
しかしながら、各ゲームサーバでは、それぞれのゲームをサービスすると同時に、ユーザ認証も各ゲームサーバで行われるため、互いに異なるユーザが1つのユーザIDを用いて互いに異なるゲームサーバにログインしてゲームサービスを利用することが可能であった。例えば、ユーザ端末機1(符合105)でゲームサーバ1(符合101)にログインしてゲームを利用すると同時に、同じユーザ識別子を用いてユーザ端末機2(符合106)でゲームサーバ2(符合102)にログインしてゲームを利用することができるという問題があった。このような問題点を解決するために、一定の時間単位で各ゲームサーバ全体にログインしているユーザIDをチェックして重複ログインを判断する方法が用いられたりもしたが、これは重複ログインに対して即時的な対応が不可能であるという短所があった。
【0008】
また、上述のように、各ゲームサーバは、それぞれ個別のゲームサービスを提供するため、例えば、ユーザAがゲームサーバ1で提供するゲームサービスを利用し、ユーザBがゲームサーバ2で提供するゲームサービスを利用している場合、ユーザAがユーザBの位置情報を要請しても、同じゲームサーバが提供するサービスを利用しているわけではないため、位置情報の提供が成されないという短所があった。したがって、このような問題点を解決するために、複数のサーバのログイン/ログアウトを管理するロケーションサーバを図2のように設置する方法が提案された。
【0009】
図2は、複数のサーバ及びログイン/ログアウトを管理するロケーションサーバのネットワーク連結を示した図である。
【0010】
上述のような重複ログインの遮断に関する問題とユーザの位置情報の提供が不可能であるという問題を解決するために、図2のように、複数のサーバのログイン/ログアウトを管理するロケーションサーバ207を別途に設置することで、ログイン/ログアウト情報を1ヶ所で管理する方法が提案された。すなわち、ゲームサーバ1(符合201)、ゲームサーバ2(符合202)、ゲームサーバ3(符合203)をロケーションサーバ207とネットワーク204を介して連結し、ゲームサーバは、ユーザがログインしたログイン情報をログメッセージとしてロケーションサーバに送信し、ロケーションサーバ207はユーザのログ情報を管理するという仕組みである。
【0011】
しかしながら、このような方法は、重複ログインの識別は可能であるが、ゲームサーバ1(符合201)、ゲームサーバ2(符合202)、ゲームサーバ3(符合203)などの外部サーバからロケーションサーバ207にログイン/ログアウトメッセージを送信する場合には、当該メッセージが順序通りにロケーションサーバ207に到着するとは保証され難いため、これを考慮した上で重複ログインを処理する方法が必要となる。このような問題点については、図3を参照して説明する。
【0012】
図3は、外部サーバにおけるユーザのログ順序及びユーザのログイン/ログアウトによって、外部サーバから送信したログメッセージがロケーションサーバに到着した順序を示した図である。
【0013】
例えば、ユーザAは、1つのユーザ識別子を用いてログインできる複数のサーバに、ログインとログアウトを繰り返すことができる。従来の技術では、このようなユーザのログイン及びログアウトメッセージは、各外部サーバからロケーションサーバに送信される。このとき、ユーザAは、符号301のように、時間T1にログイン、T2にログアウト、T3にログイン、T4にログアウト、T5にログインしていることが分かる。したがって、最終的なユーザの状態はログイン状態である。
【0014】
しかしながら、ユーザがログインとログアウトを行った外部サーバにおいて、ユーザのログメッセージをロケーションサーバに送信する過程は、ユーザのログメッセージが送信した順序通りにロケーションサーバに到着するとは保証され難いため、ログメッセージの順序が後先(前後して)になってロケーションサーバに到着する場合、ユーザの状態を適切に検出できないという問題点がある。
【0015】
すなわち、符号302のように、時間T4に発生したログアウトメッセージと時間T5に発生したログインメッセージの順序が後先になって到着する場合に、ロケーションサーバが到着した順序通りにログメッセージを処理する場合には、現在ユーザの状態が実際にはログイン状態であるにも拘らず、ログアウトとして処理されるエラーが発生する恐れがあるという問題が発生する。
【0016】
したがって、複数のサービスサーバに対するユーザのログイン/ログアウト情報をロケーションサーバで集中して管理する際に、サービスサーバからロケーションサーバに送信するログインメッセージの順序が送信した順序通りにロケーションサーバに到着しなくても、ユーザの現在のログイン/ログアウト状態を正確に判断することができる方法及びシステムが求められている。
【0017】
また、従来の技術では、送信されたログメッセージのユーザ識別子だけでログ情報を処理していたため、ログメッセージが到着しても、どのサーバのどのチャンネルで発生したログイン/ログアウト情報であるかを全く認識できず、送信されたログメッセージを正確に処理できないため、ユーザがどこでサービスを利用しているのかも全く把握できないという問題点があった。
【発明の開示】
【発明が解決しようとする課題】
【0018】
そこで、本発明は、複数のサービスサーバに対するユーザのログイン/ログアウト情報をロケーションサーバで集中して管理する際に、サービスサーバからロケーションサーバに送信するログインメッセージの順序が送信した順序通りにロケーションサーバに到着しなくても、ユーザの現在のログイン/ログアウト状態を正確に判断することができる重複ログイン検出方法及びシステムを提供することを目的とする。
【0019】
また、本発明は、ユーザ識別子別にメッセージバッファを保持し、送信されたログメッセージのサーバ識別子、チャンネル識別子、及びセッション識別子を認識してユーザの重複ログインの可否を判断することで、1つのユーザIDを用いて分散したサーバに重複ログインしてサービスを利用するユーザを検出することができる重複ログイン検出方法及びそのシステムを提供することを他の目的とする。
【0020】
また、本発明は、同じユーザに対する重複ログインメッセージが送信される場合に、このうちの1つに対するログアウトメッセージを受信すると、これに該当するログインメッセージを追放候補リストから削除し、残りの重複ログインメッセージは追放メッセージを送信して強制終了させることで、重複ログインメッセージを効率的に処理することができる重複ログイン検出方法及びシステムを提供することを他の目的とする。
【0021】
また、本発明は、タイムスタンプを用いることで、重複したログインメッセージのうちから先にログインしたログインメッセージを選択し、残りのログインメッセージに対しては追放メッセージを送信して重複ログインされたユーザを追放することで、重複ログインを防ぐことができる重複ログイン検出方法及びシステムを提供することをさらに他の目的とする。
【0022】
また、本発明は、ユーザ識別子別にサーバ識別子、チャンネル識別子、及びセッション識別子が含まれたログメッセージを保存するユーザバッファを保持し、ユーザの位置要請を受信すると、ユーザバッファを参照してユーザが位置したセッション識別子情報を読み取って提供するため、複数のサーバに分散してログインしたユーザ間にも、ユーザが現在ログインしてサービスを利用しているサーバ及びチャンネルの位置情報を提供することができる重複ログイン検出方法及びシステムを提供することをさらに他の目的とする。
【課題を解決するための手段】
【0023】
上記の目的を達成し、上述した従来技術の問題点を解決するために、本発明の一実施形態に係るユーザの重複ログインを検出する重複ログイン検出システムは、外部サーバからユーザのユーザ識別子、ユーザのログイン/ログアウト状態、ユーザがログイン/ログアウトしたチャンネルに関するチャンネル識別子、及びセッション識別子を含むログメッセージを受信するメッセージ受信部と、メッセージバッファから前記ログメッセージのペアメッセージを検索するペアメッセージ検索部と、前記メッセージバッファからペアメッセージが検索された場合には、前記ログメッセージ及び前記検索されたペアメッセージを前記メッセージバッファから除去(削除)し、前記メッセージバッファからペアメッセージが検索されない場合には、前記ログメッセージを前記メッセージバッファに保存するメッセージ処理部とを有することを特徴とする。
【0024】
また、本発明の他の実施形態に係る重複ログイン検出システムは、外部サーバからユーザのユーザ識別子、前記ユーザのログイン/ログアウト状態、及びセッション識別子を含むログメッセージを受信するメッセージ受信部と、ユーザバッファから前記ログメッセージのペアメッセージを検索するペアメッセージ検索部と、前記ユーザバッファからペアメッセージが検索された場合には、前記ログメッセージ及び前記検索されたペアメッセージを前記ユーザバッファから除去し、前記ユーザバッファからペアメッセージが検索されない場合には、前記ログメッセージを前記ユーザバッファに保存するメッセージ処理部とを有することを特徴とする。
【0025】
また、本発明のさらに他の実施形態に係るユーザの重複ログインを検出する方法は、サービスサーバから、ユーザのユーザ識別子、前記ユーザのログイン又はログアウト状態、前記ユーザがログイン/ログアウトしたチャンネルに関するチャンネル識別子、及びセッション識別子を含むログメッセージを受信する段階と、前記受信したログメッセージのユーザ識別子を参照してメッセージバッファ内の前記ユーザ識別子に対応するユーザバッファを識別する段階と、前記ユーザバッファから前記ログメッセージのペアメッセージを検索する段階と、前記ユーザバッファからペアメッセージが検索された場合には、前記ログメッセージ及び前記検索されたペアメッセージを前記ユーザバッファから除去し、前記ユーザバッファからペアメッセージが検索されない場合には、前記ログメッセージを前記ユーザバッファに保存する段階と、を含むことを特徴とする。
【発明の効果】
【0026】
本発明によれば、複数のサービスサーバに対するユーザのログイン/ログアウト情報をロケーションサーバで集中して管理する際に、サービスサーバからロケーションサーバに送信するログインメッセージの順序が送信した順序通りにロケーションサーバに到着しなくても、ユーザの現在のログイン/ログアウト状態を正確に判断することができる重複ログイン検出方法及びそのシステムが提供される。
【0027】
また、本発明によれば、ユーザ識別子別にメッセージバッファを保持し、送信されたログメッセージのサーバ識別子、チャンネル識別子、及びセッション識別子を認識してユーザの重複ログインの可否を判断することで、1つのユーザIDを用いて分散したサーバに重複ログインしてサービスを利用するユーザを検出することができる重複ログイン検出方法及びそのシステムが提供される。
【0028】
また、本発明によれば、同じユーザに対する重複ログインメッセージが送信される場合に、このうちの1つに対するログアウトメッセージを受信すると、これに該当するログインメッセージを追放候補リストから削除し、残りの重複ログインメッセージは追放メッセージを送信して強制終了させるようにすることで、重複ログインメッセージを効率的に処理することが可能となる。
【0029】
また、本発明によれば、タイムスタンプを用いて重複したログインメッセージのうちから先にログインしたログインメッセージを選択し、残りのログインメッセージに対しては追放メッセージを送信して重複ログインされたユーザを追放することで、重複ログインを防ぐことができる。
【0030】
また、本発明によれば、ユーザ識別子別にサーバ識別子、チャンネル識別子、及びセッション識別子が含まれたログメッセージを保存するユーザバッファを保持し、ユーザの位置要請を受信すると、ユーザバッファを参照してユーザが位置したセッション識別子情報を読み取って提供することで、複数のサーバに分散してログインしたユーザ間にも、ユーザが現在ログインしてサービスを利用しているサーバ及びチャンネルの位置情報を提供できる。
【発明を実施するための最良の形態】
【0031】
以下、添付の図面を参照して、本発明に係る重複ログイン検出システムについて詳しく説明する。
【0032】
図4は、本発明の一実施形態に係る重複ログイン検出システムのネットワーク連結を示した図である。本発明に係る重複ログイン検出システム401は、有無線ネットワーク通信網を介して外部サーバ402、403、404と連結される。外部サーバ402、403、404は、ユーザ端末機405、406とネットワークで連結されており、ユーザ端末機に所定のサービスを提供する。一例として、外部サーバは、オンラインゲームサービスを提供するゲームサーバであって、ユーザのログイン/ログアウトを各々実行する。
【0033】
以下、本発明に係る重複ログイン検出システム401が複数の外部サーバとネットワークで連結されて作動する実施形態について説明するが、本発明は、外部サーバが1つである場合にも適用可能である。また、重複ログイン検出システム401は、システム負荷を軽減するためにレプリケーションされた複数のサーバで構成してもよい。
【0034】
また、本発明に係る重複ログイン検出システム401は、ロケーションサーバに含まれる場合もある。ユーザのログイン/ログアウトの認証処理は、外部サーバ402、403、404で実行されてもよいし、重複ログイン検出システム401で実行されてもよい。
【0035】
外部サーバ402、403、404は、ユーザに所定のサービスを提供するサービスサーバ又は重複ログイン検出システムが含まれたロケーションサーバなどであって、重複ログイン検出システム401と連動してユーザにログイン/ログアウトを提供する。
【0036】
外部サーバは、ユーザ端末機にネットワーク又は通信網を介してサービスを提供するものである。外部サーバの一例としては、ユーザに所定のゲームを提供するゲームサーバ、オーディオファイルを提供する音楽提供サーバ、ブログサービスを提供するブログ提供サーバなどが挙げられる。
【0037】
図5は、本発明の一実施形態に係る重複ログイン検出システムの構成を示したブロック図である。図5に示すように、本発明に係る重複ログイン検出システムは、メッセージ受信部501と、ペアメッセージ検索部502と、メッセージ処理部503と、ユーザ追放部504と、ユーザ位置検索部505とを含む。
【0038】
メッセージ受信部501は、外部サーバからユーザのユーザ識別子、ユーザのログイン/ログアウト状態、ユーザがログイン/ログアウトしたチャンネルに関するチャンネル識別子、及びセッション識別子を含むログメッセージを受信する。このとき、実施形態に応じてチャンネルが別途に区分されずに1つで構成される場合には、チャンネル識別子は含まれない。以下、図6を参照して、ログメッセージについて説明する。
【0039】
図6は、本発明に一実施形態に係るログメッセージ及びペアメッセージの一例を示した図である。図6に示すように、本発明に係るログメッセージは、ユーザ識別子601と、ユーザがログイン/ログアウトしたチャンネルに関するチャンネル識別子602と、セッション識別子603と、ユーザのログイン/ログアウト状態604とを含む。
【0040】
ユーザ識別子601は、所定のサービスを利用するためにログイン/ログアウトしたユーザを識別するための情報である。
【0041】
チャンネル識別子602は、ユーザがログイン又はログアウトした位置を識別する識別子である。チャンネル識別子602は、ユーザがログイン又はログアウトした外部サーバに関する情報であってもよく、また、ユーザがログイン又はログアウトしたサービスを識別する情報であってもよい。本発明の一実施形態によれば、外部サーバとしてゲームサーバが利用される場合に、当該ゲームサーバは、ゲームサービスを幾つかのチャンネルで提供する。例えば、オンラインチェスゲームサービスを提供するゲームサーバが10個のチャンネルでゲームサービスを提供する場合、ユーザは、ゲームサーバに接続した後、自身が利用するゲームのチャンネルを選択してゲームサービスを受ける。このような場合、チャンネル識別子602は、ゲームサーバ及び当該ゲームサーバ内のチャンネルを識別するように定義される。
【0042】
また、このとき、実施形態に応じてチャンネルが別途に区分されずに1つで構成される場合には、チャンネル識別子が含まれない旨は既に説明した通りである。例えば、ユーザがサービスを利用するためにログインした位置が1つのみで成されている場合には、特別にチャンネル識別子を含む必要がない。このような場合、ログメッセージは、ユーザ識別子601、チャンネル識別子602、セッション識別子603、ユーザのログイン/ログアウト状態604を含んで構成される。
【0043】
セッション識別子603は、外部サーバによってユーザの1つのセッションに対して唯一に付与される識別子である。すなわち、セッション識別子603とは、ユーザが外部サーバにログインしてからログアウトするまで付与される1つのセッションに対する識別情報である。この一例としては、4バイトの定数などが挙げられる。例えば、Aというユーザが外部サーバにログインすると、セッション識別子が1つ割り当てられるようになるが、これはユーザがログアウトするまでユーザのサービス利用に対して固定(ユニークに)して保持される。ユーザがログアウトした後に外部サーバに再びログインする際には、新しいセッション識別子が割り当てられる。また、他のユーザがログインする際にも、新しいセッション識別子が割り当てられる。したがって、1つの外部サーバにおいてセッション識別子が同じログインとログアウトは、一対のみが存在することになる。このようなセッション識別子は、外部サーバ毎に独立的に管理されるため、互いに異なる外部サーバが同じセッション識別子を有するログイン/ログアウトを有することも可能である。
【0044】
ユーザのログイン/ログアウト状態604は、ユーザが外部サーバで提供するウェブページ又はアプリケーションに接続することで、ログインしたのかログアウトしたのかを示す情報である。
【0045】
ログイン状態とは、ユーザが所定のユーザ端末機を用いて外部サーバで提供するウェブページ又はアプリケーションに接続し、外部サーバで提供するサービスを利用するためにユーザインターフェイスで一連の選択入力をした状態のことを意味する。例えば、ユーザは、外部サーバであるゲームサーバで提供するウェブページにユーザ識別子及びパスワードを入力することでログインできる。
【0046】
ログアウト状態とは、ユーザが外部サーバで提供するウェブページ又はアプリケーションにログインした状態からログアウトを選択入力する場合に、ユーザの識別子で外部サーバが提供するサービスを利用していない状態のことを意味する。例えば、ユーザは、ログイン状態で外部サーバが提供するウェブページのログアウトを選択入力することでログアウトできる。
【0047】
以下、ユーザ状態がログインであるメッセージをログインメッセージ、ユーザ状態がログアウトであるメッセージをログアウトメッセージとして定義する。例えば、図6において、ログメッセージ605は、ログインメッセージであり、ログメッセージ606は、ログアウトメッセージである。
【0048】
また、図5に示すように、ペアメッセージ検索部502は、メッセージバッファからログメッセージのペアメッセージを検索する。
【0049】
ペアメッセージとは、ユーザ識別子、チャンネル識別子、及びセッション識別子が同じログメッセージであり、かつユーザのログイン/ログアウト状態が反対であるログメッセージを意味するものである。なお、実施形態によってチャンネル識別子が含まれない場合、ペアメッセージは、ユーザ識別子、及びセッション識別子が同じログメッセージであって、かつユーザのログイン/ログアウト状態が反対であるログメッセージのことを意味する。
【0050】
例えば、図6において、ログメッセージ605とログメッセージ606は、ユーザのログイン/ログアウト状態604だけが反対であり、ユーザ識別子601、チャンネル識別子602、及びセッション識別子603は同じである。したがって、ログメッセージ605とログメッセージ606は、ペアメッセージであると言える(ログメッセージ606は、ログメッセージ605のペアメッセージとなる)。
【0051】
図6に示すように、ペアメッセージ606は、ログメッセージ605と同じユーザ識別子601が「SSS777」、チャンネル識別子602が「4」、セッション識別子が「89」を有しており、ログメッセージ605のログイン/ログアウト状態604とは反対のログイン/ログアウト状態604を有している。すなわち、ログメッセージ605のログイン/ログアウト状態604「ログイン」と、ペアメッセージ606のログイン/ログアウト状態604「ログアウト」とが、互いに対応している。
【0052】
メッセージバッファは、本発明の重複ログイン検出システムで受信したログメッセージ又はペアメッセージを保存する保存手段である。また、実施形態に応じてメッセージバッファは、各ユーザ別に割り当てられたユーザバッファを含むことも可能である。このように、ユーザバッファをユーザ識別子別に管理すれば、ユーザ毎に分離してログメッセージを保存できるため、各ユーザに対応したログメッセージの保存及び検索を迅速に処理できるという効果がある。
【0053】
図7は、本発明の一実施形態に係るユーザバッファ700及び追放候補リスト710の一例を示した図である。図7に示すように、ユーザバッファ700は、ログメッセージ又はペアメッセージ701、702、703をユーザ識別子別にユーザバッファに到着した順序通りに保存している。ログメッセージ又はペアメッセージには、図6の構成の他に、タイムスタンプ704が含まれるように構成できる。
【0054】
ペアメッセージ検索部502は、図7に示すように、メッセージバッファがユーザ識別子に対応するユーザバッファ700を保持している場合、受信したログメッセージのユーザ識別子を参照してメッセージバッファ内のユーザ識別子に対応するユーザバッファ700を識別し、ユーザバッファからログメッセージのペアメッセージを検索する。
【0055】
例えば、受信したログメッセージのユーザ識別子が「SSS777」、チャンネル識別子が「5」、セッション識別子が「1004」、ユーザ状態が「ログアウト」である場合、ペアメッセージ検索部502は、ユーザ識別子「SSS777」に対応するユーザバッファ700を識別し、ユーザバッファ700からログメッセージのペアメッセージとして符号701のようなユーザ識別子が「SSS777」、チャンネル識別子が「5」、セッション識別子が「1004」、ユーザ状態が「ログイン」であるメッセージを検索する。
【0056】
同様に、符号702及び符号703のようなログメッセージを受信した場合にも、ログメッセージに対応するペアメッセージを検索することができる。
【0057】
ログメッセージに対応するペアメッセージとは、ユーザ識別子、チャンネル識別子、及びセッション識別子が同じでログメッセージであって、ユーザのログイン/ログアウト状態が反対であるログメッセージを意味する。
【0058】
メッセージ処理部503は、メッセージバッファからペアメッセージが検索された場合には、ログメッセージ及び検索されたペアメッセージをメッセージバッファから除去する。一方、メッセージバッファからペアメッセージが検索されない場合には、ログメッセージをメッセージバッファに保存する。
【0059】
したがって、メッセージ処理部503は、上述のように、ユーザ識別子が「SSS777」、チャンネル識別子が「5」、セッション識別子が「1004」、ユーザ状態が「ログアウト」である受信ログメッセージに対するペアメッセージ701が存在する場合には、これをメッセージバッファから除去する。一方、符号702及び符号703のように、ペアメッセージがメッセージバッファから検索されない場合には、ログメッセージである符号702及び符号703をメッセージバッファに保存する。
【0060】
このように本発明は、ログメッセージのチャンネル識別子、セッション識別子、及びユーザ状態を用いてペアメッセージを検索して処理するため、ログイン/ログアウトメッセージが、ユーザがログイン/ログアウトした順序通りに到着しなくても、これを処理することが可能となる。
【0061】
すなわち、ユーザ識別子に該当するログイン/ログアウトメッセージが、ユーザが外部サーバにログイン又はログアウトした順序通りに到着しなくても、メッセージに含まれたユーザ識別子に該当するユーザバッファからログメッセージのチャンネル識別子、セッション識別子、及びユーザ状態に対応するペアメッセージを検索することで、これを迅速に処理することができる。
【0062】
図8は、ユーザの外部サーバにおけるログ順序及びログ順序によるログメッセージが本発明のログイン検出システムに到着した順序を示した図である。
【0063】
図8の符号801に示すように、ユーザAが外部サーバで時間T1〜T5の間の各時間毎に順にログイン又はログアウトをした場合に、最終ログ状態は、時間T5でチャンネル3及びセッション8にログインした状態であることを示している。
【0064】
ここで、外部サーバは、このようなユーザAのログ情報をログメッセージとして生成して重複ログイン検出システムに送信するが、送信過程において、ログメッセージの順序が変わることがある。すなわち、符号802を参照すると、ユーザは実際には時間T4でチャンネル2及びセッション4からログアウトし、時間T5でチャンネル3及びセッション8にログインしているが、ログメッセージでは、時間T5でのログインメッセージが到着した後に時間T4でのログアウトメッセージが到着している。
【0065】
このような場合、従来の技術では図3で示したように、到着手順が後先になったログメッセージの処理が不可能であるという問題点があったが、本発明では、ペアメッセージを識別して処理を行うため、このようにログメッセージの順序が変わって到着したとしても、これを処理することができる。
【0066】
すなわち、重複ログイン検出システムは、符号802に示すようにユーザが時間T4でログアウトしたメッセージが、時間T5でログインしたメッセージよりも後に到着する場合に、時間T5にログインしたメッセージは、メッセージバッファにペアメッセージが保存されていないため、そのままメッセージバッファに保存される。その後に到着した時間T4にログアウトしたメッセージは、ペアメッセージである時間T3にログインしたメッセージがメッセージバッファに保存されているため、時間T3にログインしたメッセージはメッセージバッファから除去される。
【0067】
したがって、本発明によれば、ログメッセージの順序が後先になって到着したとしても、最終ログ状態は時間T5でチャンネル3及びセッション8にログインした状態であるものとして正確に把握される。
【0068】
つまり、本発明によれば、ユーザが実際に実行したログイン/ログアウトに関するメッセージが、順序が後先になって到着しても、チャンネル識別子及びセッション識別子を用いてこれを処理するため、ユーザの実際のログ状態を正確に把握することが可能となる。
【0069】
メッセージ処理部503は、メッセージバッファで同じユーザに対して2つ以上のログインメッセージを発見した場合には、発見された2つ以上のログメッセージを追放候補リストに登録する。
【0070】
追放候補リストとは、同じユーザに対する2つ以上のログメッセージを処理するための臨時的(一時的)な保存手段を意味するものである。
【0071】
例えば、メッセージ処理部503が、図7の符号702及び符号703のように、ユーザバッファ700からペアメッセージは検索されないが、同じユーザに対する2つ以上のログインメッセージがユーザバッファ700に保存されていることを発見した場合には、符号702及び符号703のログインメッセージを追放候補リスト710に保存する。
【0072】
メッセージ処理部503は、同じユーザに対する2つ以上のログインメッセージを追放候補リスト710に登録し、2つ以上のログインメッセージを処理するために待機する。
【0073】
メッセージ処理部503は、ログアウトメッセージが受信されてメッセージバッファに保存された同じユーザに対するログインメッセージが1つに減った場合に、ユーザのログメッセージを追放候補リストから削除する。ログアウトメッセージがログインメッセージに対するペアメッセージである場合に、メッセージバッファに保存された同じユーザに対するログインメッセージは、1つ減る。例えば、図7の符号702に対応するログアウトメッセージが受信されると、メッセージ処理部503は、ユーザバッファ700から符号702のログインメッセージを削除し、追放候補リスト710からも削除する。なお、このようにペアメッセージが到着してログインメッセージが減ったとしても、同じユーザに対するログインメッセージが2つ以上存在する場合には、追放候補リストから削除されない。
【0074】
ユーザ追放部504は、追放候補リスト710を一定の時間間隔で検査する。検査した結果、同じユーザに対する2つ以上のログインメッセージが追放候補リストに登録されている場合には、ログインメッセージのうちの1つを選択し、選択されなかったログインメッセージに対しては、対応するチャンネルのサービスサーバに追放メッセージを送信する。
【0075】
一定の時間間隔は、多様な設定が可能である。一例として、2秒ごとに追放候補リストを検索し、同じユーザに対する2つ以上のログインメッセージが登録されているか否かを検査することができる。
【0076】
例えば、図7の符号702及び符号703のログインメッセージが追放候補リスト710に登録されている場合に、ユーザ追放部504は、ログインメッセージのうちの1つである符号702を選択し、選択されなかったログインメッセージである図面符号703に対しては、メッセージが対応するチャンネルである「10」のサービスサーバに追放メッセージが送信される。
【0077】
追放メッセージとは、ユーザがログインしたチャンネルのサービスサーバからユーザのログインを強制終了してログアウトするようにするメッセージである。したがって、追放メッセージを受信したサービスサーバは、ログインメッセージに対応するユーザの接続を強制終了することができる。
【0078】
したがって、本発明によれば、同じユーザに対する重複ログインメッセージが送信される場合に、このうちの1つに対するログアウトメッセージを受信すると、これに該当するログインメッセージを追放候補リストから削除し、残りの重複ログインメッセージは、追放メッセージを送信して強制終了させることで、重複ログインメッセージを効率的に処理できる。
【0079】
すなわち、ユーザがチャンネル1にログインしたものの、チャンネル1のサービスサーバが作動しない場合には、チャンネル2にログインすることができる。このとき、本発明によれば、チャンネル2へのログインを無条件に強制終了させるのではなく、ユーザがチャンネル2からログアウトする際に、チャンネル1に追放メッセージを送信することで、誤ったログイン情報の除去が可能となる。
【0080】
仮に、サービスサーバで提供するサービスが有料サービスである場合には、チャンネル1へのログインによって、ユーザに不当な課金が発生する恐れがある。このため、本発明によれば、このような不当な課金を誘発する重複ログインを処理することができる効果がある。
【0081】
なお、ユーザ追放部504は、同じユーザに対する2つ以上のログインメッセージのうちから最初にログインしたログインメッセージを選択し、2つ以上のメッセージの他のメッセージに対しては、対応するチャンネルのサービスサーバに追放メッセージを送信する。
【0082】
例えば、ユーザ追放部504は、追放候補リストに登録された同じユーザに対するログインメッセージ702、703のうちから最初にログインしたメッセージを選択し、残りのメッセージに対しては、該当する外部サーバに追放メッセージを送信する。
【0083】
ログインメッセージには、ログインの順序を判別できる情報が含まれる。この一例として、ログイン時間情報が含まれたり、ログインの順序を識別できるタイムスタンプ704が含まれたりする。
【0084】
ログインメッセージがタイムスタンプ704を含む場合に、当該タイムスタンプには、外部サーバの識別子及び外部サーバにログインした順序情報であるシーケンス情報が含まれる。
【0085】
例えば、図7の符号702のログインメッセージには、タイムスタンプ704として、ユーザがログインした外部サーバ識別子情報である「LCS1」及び外部サーバ「LCS1」にユーザがログインした順序が「77」であることを示すシーケンス情報が含まれており、図7の号703のログインメッセージには、タイムスタンプ704として、ログインした外部サーバ識別子情報である「LCS1」及び外部サーバ「LCS1」にユーザのログインした順序が「78」であることを示すシーケンス情報が含まれている。
【0086】
シーケンス情報は、外部サーバにログインした順序に従って大きい値を有するように設定されており、シーケンス情報の値が小さいほど先にログインしたログインメッセージとなる。
【0087】
ユーザ追放部504は、タイムスタンプに従って追放候補リストのログインメッセージのログイン順序を判別し、2つ以上のログインメッセージのうちで最初にログインしたメッセージではないログインメッセージに対して追放メッセージを送信する。
【0088】
例えば、タイムスタンプ値が最小のログインメッセージである図7の号702を選択し、追放候補リスト710に登録された他のログインメッセージである符号703のログインメッセージに追放メッセージを送信する。追放メッセージを受信したサーバは、追放メッセージに対応してユーザの接続を遮断できる。
【0089】
したがって、本発明によれば、タイムスタンプを用いて重複したログインメッセージのうちから先にログインしたログインメッセージを選択し、残りのログインメッセージに対しては追放メッセージを送信するため、後に接続したログインメッセージを正確に判断して重複ログインを防ぐことができる。
【0090】
ユーザ位置検索部505は、ユーザの位置情報に対する要請に応答してメッセージバッファからユーザに対応するログインメッセージを検索し、検索されたログインメッセージのチャンネル識別子を返答する。
【0091】
ユーザの位置要請は、所定のメッセージ形式によって本発明に係る重複ログイン検出システムに送信される。ユーザ位置検索部505は、位置要請に対応して位置要請に含まれたユーザ識別子に対応するユーザバッファを検索し、ユーザバッファに保存されたログインメッセージを検索する。
【0092】
例えば、位置情報が「SSS777」に対するものである場合に、ユーザ位置検索部505は、ユーザ識別子に対応するユーザバッファを検索し、バッファに保存されたログインメッセージのチャンネル識別子を読み取って位置要請したサーバに送信したり、位置要請したウェブページに送信したりする。一例として、ユーザバッファに図7の符号702のようなログインメッセージが保存されている場合に、ユーザ位置検索部505は、チャンネル識別子「4」を読み取って返答する。
【0093】
通常の場合、ユーザのログインメッセージは、1つだけがユーザバッファに残っているため、これがログインメッセージのチャンネル識別子として返答されればよい。しかしながら、ユーザログインメッセージが2つ以上である場合がある。このように、メッセージバッファにユーザに対する2つ以上のログインメッセージが保存されている場合に、本発明の一実施形態によれば、ユーザ位置検索部505は、2つ以上のログインメッセージのうちから最初にログインしたログインに関するログインメッセージのチャンネル識別子を返答する。例えば、メッセージバッファに図7の符号702及び図7の符号703のようなユーザに対する2つ以上のログインメッセージが保存されている場合に、ユーザ位置検索部505は、符号702及び符号703のうちから先にログインしたログインメッセージである符号702のチャンネル識別子である「4」を返答する。
【0094】
本発明のさらに他の実施形態によれば、ユーザ位置検索部505は、2つ以上のログインメッセージそれぞれのチャンネル識別子すべてを返答するように構成することも可能である。
【0095】
ログインメッセージのログイン順序は、タイムスタンプを用いて判別できることは、既に説明した通りである。
【0096】
したがって、本発明によれば、ユーザ別のログインメッセージにチャンネル識別子及びタイムスタンプを含んでユーザ別にメッセージバッファに保存することで、ユーザがログインした場合又は重複ログインしている場合に、ユーザ位置要請に返答してユーザが利用しているチャンネル情報を迅速に提供することが可能となる。
【0097】
図9は、本発明の一実施形態に係る重複ログインを検出する過程を示したフローチャートである。以下、本発明の一実施形態における重複ログインを検出する過程を説明する。
【0098】
段階S901で、本発明に係る重複ログイン処理システムは、外部サービスサーバからログメッセージを受信する。ログメッセージには、ユーザのユーザ識別子、ユーザのログイン及びログアウト状態、ユーザがログイン/ログアウトしたチャンネルに関するチャンネル識別子、及びセッション識別子が含まれることは、図6を参照して既に説明した通りである。
【0099】
段階S902で、本発明に係る重複ログイン処理システムは、受信したログメッセージのユーザ識別子を参照し、メッセージバッファ内のユーザ識別子に対応するユーザバッファを識別する。
【0100】
メッセージバッファは、上述のように、ユーザ識別子別に所定のメッセージを保存するユーザバッファを含み、また、本発明は、このようにユーザ別にユーザバッファにログメッセージを保存することで、ログイン/ログアウトメッセージが順序通りに到着しなくても、ユーザバッファに保存されているペアメッセージを判断してログ処理することが可能となる(ユーザバッファの一実施形態は、図7を参照)。
【0101】
段階S903で、本発明に係る重複ログイン処理システムは、ユーザバッファからログメッセージのペアメッセージを検索する。当該ペアメッセージは、ユーザ識別子、チャンネル識別子、及びセッション識別子が同じログメッセージであって、かつユーザのログイン/ログアウト状態が反対であるログメッセージを意味する。また、セッション識別子は、外部サーバによってユーザの1つのセッションに対して唯一に付与される識別子であることは、図6を参照して説明した通りである。
【0102】
段階S903で検索した結果、ユーザバッファからペアメッセージが検索された場合に、本発明に係る重複ログイン処理システムは、段階S904で、ログメッセージ及び検索されたペアメッセージをユーザバッファから除去する。
【0103】
段階S903で検索した結果、ユーザバッファからペアメッセージが検索されない場合に、本発明に係る重複ログイン処理システムは、段階S905で、ログメッセージをユーザバッファに保存する。
【0104】
また、本発明に係る重複ログイン検出方法は、ユーザの位置情報に対する要請(位置要請)に応答して、メッセージバッファからユーザに対応するログインメッセージを検索し、検索されたログインメッセージのチャンネル識別子を返答する段階を含んで構成されることも可能である。位置要請に対する応答過程も、図5を参照して説明した通りである。
【0105】
なお、本発明に係る重複ログイン検出方法は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読み取り可能な媒体を含む。上記記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合わせて含むこともできる。また、記録媒体及びプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光又は金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。また、上述したハードウェア要素は、本発明の動作を実行するために一以上のソフトウェアモジュールとして作動するように構成することができ、その逆もできる。
【0106】
上述したように、本発明を好ましい実施形態に則して説明したが、本発明の属する技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の技術的思想及びその領域から逸脱しない範囲内で、本発明を多様に修正及び変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図面の簡単な説明】
【0107】
【図1】従来技術に係るユーザ端末機及び複数のサーバのネットワーク連結を示した図である。
【図2】従来技術に係る複数のサーバ及びログイン/ログアウトを管理するロケーションサーバを連結したネットワーク連結を示した図である。
【図3】外部サーバにおけるログ順序及びユーザのログイン/ログアウトによって外部サーバから送信したログメッセージがロケーションサーバに到着した順序を示した図である。
【図4】本発明の一実施形態に係る重複ログイン検出システムのネットワーク連結を示した図である。
【図5】本発明の一実施形態に係る重複ログイン検出システムの構成を示したブロック図である。
【図6】本発明に一実施形態に係るログメッセージ及びペアメッセージの一実施形態を示した図である。
【図7】本発明の一実施形態に関わるユーザバッファ及び追放候補リストの一例を示した図である。
【図8】ユーザの外部サーバにおけるログ順序及び該ログ順序によるログメッセージが本発明のログイン検出システムに到着した順序を示した図である。
【図9】本発明の一実施形態に係る重複ログインを検出する過程を示したフローチャートである。

【特許請求の範囲】
【請求項1】
ユーザの重複ログインを検出するシステムであって、
外部サーバからユーザのユーザ識別子、前記ユーザのログイン/ログアウト状態、前記ユーザがログイン/ログアウトしたチャンネルに関するチャンネル識別子、及びセッション識別子を含むログメッセージを受信するメッセージ受信部と、
メッセージバッファから前記ログメッセージのペアメッセージを検索するペアメッセージ検索部と、
前記メッセージバッファからペアメッセージが検索された場合に、前記ログメッセージ及び前記検索されたペアメッセージを前記メッセージバッファから除去し、前記メッセージバッファからペアメッセージが検索されない場合には、前記ログメッセージを前記メッセージバッファに保存するメッセージ処理部と、を有することを特徴とする重複ログイン検出システム。
【請求項2】
前記ペアメッセージは、ユーザ識別子、チャンネル識別子、及びセッション識別子が前記ログメッセージと同じであり、かつユーザのログイン/ログアウト状態が前記ログメッセージと反対であるログメッセージであることを特徴とする請求項1に記載の重複ログイン検出システム。
【請求項3】
前記セッション識別子は、前記外部サーバによって前記ユーザの1つのセッションに対して唯一に付与される識別子であることを特徴とする請求項1に記載の重複ログイン検出システム。
【請求項4】
前記メッセージバッファは、各ユーザ別に割り当てられたユーザバッファを含み、
前記ペアメッセージ検索部は、
前記受信したログメッセージのユーザ識別子を参照してメッセージバッファ内の前記ユーザ識別子に対応するユーザバッファを識別し、前記ユーザバッファから前記ログメッセージのペアメッセージを検索することを特徴とする請求項1に記載の重複ログイン検出システム。
【請求項5】
前記メッセージ処理部は、
前記メッセージバッファで同じユーザに対し、当該ユーザのログイン/ログアウト状態がログイン状態である2つ以上のログインメッセージを発見した場合に、前記発見された2つ以上のログメッセージを追放候補リストに登録することを特徴とする請求項1に記載の重複ログイン検出システム。
【請求項6】
前記メッセージ処理部は、
ユーザのログイン/ログアウト状態がログアウト状態であるログアウトメッセージの受信によって前記メッセージバッファに保存された同じユーザに対する2つのログインメッセージが1つに減った場合に、前記ユーザのログメッセージを追放候補リストから削除することを特徴とする請求項5に記載の重複ログイン検出システム。
【請求項7】
前記追放候補リストを所定の時間の間隔で検査し、同じユーザに対して2つ以上のログインメッセージが前記追放候補リストに登録されている場合に、前記ログインメッセージのうちから1つを選択し、前記選択されたログインメッセージ以外のログインメッセージに対しては、対応するチャンネルのサービスサーバに追放メッセージを送信するユーザ追放部、をさらに有することを特徴とする請求項5に記載の重複ログイン検出システム。
【請求項8】
前記選択されたログインメッセージは、前記同じユーザに対する前記2つ以上のログインメッセージのうちで最初にログインしたログインに関するログインメッセージであることを特徴とする請求項7に記載の重複ログイン検出システム。
【請求項9】
前記ログインメッセージは、タイムスタンプを含み、前記選択されたログインメッセージは、前記同じユーザに対する前記2つ以上のログインメッセージのうちで前記タイムスタンプの値が最小のログインメッセージであることを特徴とする請求項7に記載の重複ログイン検出システム。
【請求項10】
前記ユーザの位置情報に対する要請に応答し、前記メッセージバッファから前記ユーザに対応するユーザのログイン/ログアウト状態がログイン状態であるログインメッセージを検索し、前記検索されたログインメッセージのチャンネル識別子を返答するユーザ位置検索部、をさらに有することを特徴とする請求項1に記載の重複ログイン検出システム。
【請求項11】
前記ユーザ位置検索部は、
前記ユーザに対して2つ以上のログインメッセージが前記メッセージバッファに保存されている場合に、前記2つ以上のログインメッセージのうちで最初にログインしたログインに関するログインメッセージのチャンネル識別子を返答することを特徴とする請求項10に記載の重複ログイン検出システム。
【請求項12】
ユーザの重複ログインを検出するシステムであって、
外部サーバからユーザのユーザ識別子、前記ユーザのログイン/ログアウト状態、及びセッション識別子を含むログメッセージを受信するメッセージ受信部と、
ユーザバッファから前記ログメッセージのペアメッセージを検索するペアメッセージ検索部と、
前記ユーザバッファからペアメッセージが検索された場合には、前記ログメッセージ及び前記検索されたペアメッセージを前記ユーザバッファから除去し、前記ユーザバッファからペアメッセージが検索されない場合には、前記ログメッセージを前記ユーザバッファに保存するメッセージ処理部と、を有することを特徴とする重複ログイン検出システム。
【請求項13】
前記ペアメッセージは、ユーザ識別子、及びセッション識別子が前記ログメッセージと同じであり、かつユーザのログイン/ログアウト状態が前記ログメッセージと反対であるログメッセージであることを特徴とする請求項12に記載の重複ログイン検出システム。
【請求項14】
前記セッション識別子は、前記外部サーバによって前記ユーザの1つのセッションに対して唯一に付与される識別子であることを特徴とする請求項12に記載の重複ログイン検出システム。
【請求項15】
ユーザの重複ログインを検出する方法であって、
サービスサーバから、ユーザのユーザ識別子、前記ユーザのログイン又はログアウト状態、前記ユーザがログイン/ログアウトしたチャンネルに関するチャンネル識別子、及びセッション識別子を含むログメッセージを受信する段階と、
前記受信したログメッセージのユーザ識別子を参照してメッセージバッファ内の前記ユーザ識別子に対応するユーザバッファを識別する段階と、
前記ユーザバッファから前記ログメッセージのペアメッセージを検索する段階と、
前記ユーザバッファからペアメッセージが検索された場合には、前記ログメッセージ及び前記検索されたペアメッセージを前記ユーザバッファから除去し、前記ユーザバッファからペアメッセージが検索されない場合には、前記ログメッセージを前記ユーザバッファに保存する段階と、を含むことを特徴とする重複ログイン検出方法。
【請求項16】
前記ペアメッセージは、ユーザ識別子、チャンネル識別子及びセッション識別子が前記ログインメッセージと同じであり、かつユーザのログイン/ログアウト状態が前記ログインメッセージと反対であるログメッセージであることを特徴とする請求項15に記載の重複ログイン検出システム。
【請求項17】
前記セッション識別子は、前記外部サーバによって前記ユーザの1つのセッションに対して唯一に付与される識別子であることを特徴とする請求項15に記載の重複ログイン検出システム。
【請求項18】
前記ユーザに対する位置情報を要請する位置要請に応答し、前記メッセージバッファから前記ユーザに対応する当該ユーザのログイン/ログアウト状態がログイン状態であるログインメッセージを検索し、前記検索されたログインメッセージのチャンネル識別子を返答する段階、をさらに含むことを特徴とする請求項15に記載の重複ログイン検出方法。
【請求項19】
請求項15から18のいずれか一項に記載の重複ログイン検出方法を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2008−546071(P2008−546071A)
【公表日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願番号】特願2008−513370(P2008−513370)
【出願日】平成18年5月25日(2006.5.25)
【国際出願番号】PCT/KR2006/001976
【国際公開番号】WO2006/129932
【国際公開日】平成18年12月7日(2006.12.7)
【出願人】(505205812)エヌエイチエヌ コーポレーション (408)
【Fターム(参考)】