(57)【特許請求の範囲】
【請求項１】
インスタントメッセージ（ＩＭ）セッションを維持する方法であって、
第１のログインサーバにおいて、クライアントアカウント情報とクライアント側セキュリティキーとを含みクライアントに関連するログイン要求を受信することと、
前記ＩＭセッションを確立し、前記クライアントと前記第１のログインサーバとの間でインスタントメッセージを転送することであって、
前記ＩＭセッションの確立は、
前記第１のログインサーバにおいて、前記ログイン要求を検証することと、
前記検証が成功であるならば、前記第１のログインサーバにおいて、前記クライアントアカウント情報と前記クライアント側セキュリティキーにしたがって生成されたサーバキーとを含む、前記クライアントの第１のプロパティ情報セットをローカルメモリに記憶させると共に、前記第１のプロパティ情報セットをリモート情報記憶サーバに送信することと、
前記第１のログインサーバにおいて、前記サーバキーを含み前記検証が成功であることを示すサインを前記クライアントに送信することと、
を含んでいる、ことと、
ログイン割り当てサーバにおいて、前記インスタントメッセージの転送における中断に関連する通知を受信することと、
前記ログイン割り当てサーバにおいて、第２のログインサーバのアドレスを、前記クライアントに送信することと、
前記第２のログインサーバにおいて、前記クライアントから再接続要求を受信することと、
前記再接続要求が前記第２のログインサーバによって受け入れられた場合に、前記クライアントと前記第２のログインサーバとの間でインスタントメッセージを交換することと、
を備える方法。
【請求項２】
請求項１に記載の方法であって、
前記第１のログインサーバは、
利用可能なログインサーバのアドレスの第１のリストを前記ログイン割り当てサーバによって取得し、
前記第１のアドレスリストから前記第１のログインサーバのアドレスを選択すること、
によって、前記ログイン割り当てサーバにおいて決定される、方法。
【請求項３】
請求項１に記載の方法であって、
前記再接続要求は、前記クライアントアカウント情報と、前記サーバキーとを含む、前記クライアントの第２のプロパティ情報セットを含む、方法。
【請求項４】
請求項２に記載の方法であって、
前記第２のログインサーバのアドレスを送信することは、
前記ログイン割り当てサーバにおいて、利用可能なログインサーバのアドレスの第２のリストを取得することと、
前記ログイン割り当てサーバにおいて、前記第２のアドレスリストから前記第２のログインサーバのアドレスを選択することと、
を含む、方法。
【請求項５】
請求項２に記載の方法であって、
前記第２のログインサーバのアドレスを送信することは、前記取得された第１のアドレスリストから前記第２のログインサーバのアドレスを決定することを含む、方法。
【請求項６】
請求項１に記載の方法であって、
前記第２のログインサーバは、
前記クライアントの前記第１のプロパティ情報セットを取得し、
前記クライアントの第２のプロパティ情報セットを取得するために前記再接続要求をパースし、
前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとを比較し、
前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとが一致するならば、前記再接続要求を受け入れること、
によって前記再接続要求を検証する、方法。
【請求項７】
請求項６に記載の方法において、
前記第２のログインサーバは、
前記第２のログインサーバによって、前記クライアントの前記第１のプロパティ情報セットが前記ローカルメモリに記憶されているかどうかをチェックし、
前記第１のプロパティ情報セットが前記ローカルメモリに記憶されているならば、前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリから取得し、
前記第１のプロパティ情報セットが前記ローカルメモリに記憶されていないならば、前記クライアントの前記第１のプロパティ情報セットを前記リモート情報記憶サーバから取得すること、
によって前記クライアントの前記第１のプロパティ情報セットを取得する、方法。
【請求項８】
インスタントメッセージ（ＩＭ）クライアントシステムであって、
１つ又は２つ以上のプロセッサと、
前記１つ又は２つ以上のプロセッサにつながれ、前記１つ又は２つ以上のプロセッサに命令を提供するように構成された１つ又は２つ以上のメモリと、
を備え、
前記１つ又は２つ以上のプロセッサは、
第１のログインサーバにおいて、クライアントアカウント情報とクライアント側セキュリティキーとを含みクライアントに関連するログイン要求を受信し、
前記ＩＭセッションを確立し、前記クライアントシステムと前記第１のログインサーバとの間でインスタントメッセージを転送し、
前記ＩＭセッションの確立は、
前記第１のログインサーバにおいて、前記ログイン要求を検証することと、
前記検証が成功であるならば、前記第１のログインサーバにおいて、前記クライアントアカウント情報と前記クライアント側セキュリティキーにしたがって生成されたサーバキーとを含む、前記クライアントの第１のプロパティ情報セットをローカルメモリに記憶させると共に、前記第１のプロパティ情報セットをリモート情報記憶サーバに送信することと、
前記第１のログインサーバにおいて、前記サーバキーを含み前記検証が成功であることを示すサインを前記クライアントに送信することと、
を含み、
ログイン割り当てサーバにおいて、前記インスタントメッセージの転送における中断に関連する通知を受信し、
前記ログイン割り当てサーバにおいて、第２のログインサーバのアドレスを、前記クライアントに送信し、
第２のログインサーバにおいて、前記クライアントシステムから再接続要求を受信し、
前記第２のログインサーバにおいて、前記再接続要求が前記第２のログインサーバによって受け入れられた場合に、前記クライアントと前記第２のログインサーバとの間でインスタントメッセージを交換するように、
構成される、システム。
【請求項９】
請求項８に記載のシステムであって、
前記第１のログインサーバは、
利用可能なログインサーバのアドレスの第１のリストを前記ログイン割り当てサーバによって取得し、
前記第１のアドレスリストから前記第１のログインサーバのアドレスを選択すること、
によって、前記ログイン割り当てサーバにおいて決定される、システム。
【請求項１０】
請求項８に記載のシステムであって、
前記再接続要求は、前記クライアントアカウント情報と、前記サーバキーとを含む、前記クライアントの第２のプロパティ情報セットを含む、システム。
【請求項１１】
請求項９に記載のシステムであって、
前記第２のログインサーバのアドレスの送信は、
前記ログイン割り当てサーバにおいて、利用可能なログインサーバのアドレスの第２のリストを取得し、
前記ログイン割り当てサーバにおいて、前記第２のアドレスリストから前記第２のログインサーバのアドレスを選択すること、
を含む、システム。
【請求項１２】
請求項９に記載のシステムであって、
前記第２のログインサーバのアドレスの送信は、前記取得された第１のアドレスリストから前記第２のログインサーバのアドレスを決定することを含む、システム。
【請求項１３】
インスタントメッセージ（ＩＭ）再接続要求を扱う方法であって、
第２のログインサーバにおいて、ＩＭセッションのための再接続要求をクライアントから受信することと、
前記第２のログインサーバにおいて、前記ＩＭセッションで使用されるクライアントアカウント情報とクライアントキーとを含む、前記クライアントの第１のプロパティ情報セットを、ローカルメモリまたはリモート情報記憶サーバから取得することと、
前記第２のログインサーバにおいて、前記ＩＭセッションで使用されるクライアントアカウント情報とサーバキーとを含む、前記クライアントの第２のプロパティ情報セットを取得するために、前記再接続要求をパースすることと、
前記第２のログインサーバにおいて、前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとを比較することと、
前記第２のログインサーバにおいて、前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとが一致するならば、検証成功のサインを前記クライアントに送信することと、
を備える方法。
【請求項１４】
請求項１３に記載の方法において、
前記第２のログインサーバにおいて、前記クライアントの第１のプロパティ情報セットを取得することは、
前記クライアントの前記第１のプロパティ情報セットが前記ローカルメモリに記憶されているかどうかを決定することと、
前記第１のプロパティ情報セットが前記ローカルメモリに記憶されているならば、前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリから取得することと、
前記第１のプロパティ情報セットが前記ローカルメモリに記憶されていないならば、前記クライアントの前記第１のプロパティ情報セットを前記リモート情報記憶サーバから取得することと、
を含む、方法。
【請求項１５】
請求項１４に記載の方法において、
前記第１のプロパティ情報セットが前記ローカルメモリに記憶されていないならば、前記方法は、更に、取得された前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリに記憶することを備える方法。
【請求項１６】
インスタントメッセージ（ＩＭ）サーバシステムであって、
１つ又は２つ以上のプロセッサと、
前記１つ又は２つ以上のプロセッサにつながれ、前記１つ又は２つ以上のプロセッサに命令を提供するように構成された１つ又は２つ以上のメモリと、
を備え、
前記１つ又は２つ以上のプロセッサは、
第２のログインサーバにおいて、ＩＭセッションのための再接続要求をクライアントから受信し、
前記第２のログインサーバにおいて、前記ＩＭセッションで使用されるクライアントアカウント情報とクライアントキーとを含む、前記クライアントの第１のプロパティ情報セットを、ローカルメモリまたはリモート情報記憶サーバから取得し、
前記第２のログインサーバにおいて、前記ＩＭセッションで使用されるクライアントアカウント情報とサーバキーとを含む、前記クライアントの第２のプロパティ情報セットを取得するために、前記再接続要求をパースし、
前記第２のログインサーバにおいて、前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとを比較し、
前記第２のログインサーバにおいて、前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとが一致するならば、検証成功のサインを前記クライアントに送信するように、
構成される、システム。
【請求項１７】
請求項１６に記載のシステムであって、
第２のログインサーバにおける、前記クライアントの第１のプロパティ情報セットの取得は、
前記クライアントの前記第１のプロパティ情報セットが前記ローカルメモリに記憶されているかどうかを決定し、
前記第１のプロパティ情報セットが前記ローカルメモリに記憶されているならば、前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリから取得し、
前記第１のプロパティ情報セットが前記ローカルメモリに記憶されていないならば、前記クライアントの前記第１のプロパティ情報セットを前記リモート情報記憶サーバから取得すること、
を含む、システム。
【請求項１８】
請求項１７に記載のシステムであって、
前記第１のプロパティ情報セットが前記ローカルメモリに記憶されていないならば、前記１つ又は２つ以上のプロセッサは、更に、取得された前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリに記憶するように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、あらゆる目的のために参照によって本明細書に組み込まれる２００９年７月１５日付けで出願された発明の名称を「INSTANT MESSAGE METHOD, SYSTEM, AND APPARATUS（インスタントメッセージ方法、システム、及び装置）」とする、中国特許出願第２００９１０１５２０３７．５号に基づく優先権を主張する。
【０００２】
本出願は、ネットワーク通信の分野に関し、特に、インスタントメッセージング（ＩＭ）に関する。
【背景技術】
【０００３】
インスタントメッセージング（ＩＭ）システムは、広範囲の用途を有する。代表的なインスタントメッセージシステムは、クライアント側とサーバ側とを含む。ユーザは、通常は、数々のクライアントにサービスを提供する１つのログインサーバにログインする。ＩＭセッション中に、ログインサーバが使用不可になると（例えば、ハードウェア障害、又はメインテナンスに起因するシャットダウン）、ログインサーバとそのクライアントとの間のセッションは失われ、ユーザはログインインターフェースにリダイレクトされて、ログインしなおすように促される。ログインサーバに接続していたユーザは、ログインプロセスを繰り返し、異なるログインサーバとの間に新しいＩＭセッションを確立しなければならないので、サービスの中断を経験する。更に、切断された全てクライアントが同時に別のログインサーバにログインしようと再試行したときは、そのログインサーバに対して過剰な負荷圧がかかるであろう。
【図面の簡単な説明】
【０００４】
以下の詳細な説明及び添付の図面において、発明の様々な実施形態が開示される。
【０００５】
【図１】インスタントメッセージシステムの一実施形態を示したブロック図である。
【０００６】
【図２】第１のログインサーバを特定するためのプロセスの一実施形態を示したフローチャートである。
【０００７】
【図３】クライアント側とサーバ側との間でＩＭセッションを維持するためのプロセスの一実施形態を示したフローチャートである。
【０００８】
【図４】第２のログインサーバにおいて再接続要求を検証するためのプロセスの一実施形態を示したフローチャートである。
【０００９】
【図５】ＩＭセッションを維持するためのプロセスの別の一実施形態を示したフローチャートである。
【００１０】
【図６】ＩＭセッションを維持するためのプロセスの別の一実施形態を示したフローチャートである。
【００１１】
【図７】クライアントの一実施形態を示したブロック図である。
【００１２】
【図８】ログインサーバの一実施形態を示したブロック図である。
【発明を実施するための形態】
【００１３】
発明は、プロセス、装置、システム、合成物、コンピュータ可読ストレージメディアに実装されたコンピュータプログラム製品、並びに／又は結合先のメモリに格納された命令及び／若しくは結合先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサを含む、数々の形態で実装することができる。本明細書では、これらの実装形態、又は発明がとりえるその他のあらゆる形態を技術と称することができる。総じて、開示されたプロセスのステップの順序は、発明の範囲内で可変である。別途明記されない限り、タスクを実施するように構成されているものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成された汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実装することができる。ここで使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ又は２つ以上のデバイス、回路、及び／又は処理コアを言う。
発明は、以下の形態または適用例として実現することが可能である。
[形態１]
インスタントメッセージ（ＩＭ）セッションを維持する方法であって、
第１のログインサーバにおいて、クライアントアカウント情報とクライアント側セキュリティキーとを含みクライアントに関連するログイン要求を受信することと、
前記ＩＭセッションを確立し、前記クライアントと前記第１のログインサーバとの間でインスタントメッセージを転送することであって、
前記ＩＭセッションの確立は、
前記第１のログインサーバにおいて、前記ログイン要求を検証することと、
前記検証が成功であるならば、前記第１のログインサーバにおいて、前記クライアントアカウント情報と前記クライアント側セキュリティキーにしたがって生成されたサーバキーとを含む、前記クライアントの第１のプロパティ情報セットをローカルメモリに記憶させると共に、前記第１のプロパティ情報セットをリモート情報記憶サーバに送信することと、
前記第１のログインサーバにおいて、前記サーバキーを含み前記検証が成功であることを示すサインを前記クライアントに送信することと、
を含んでいる、ことと、
ログイン割り当てサーバにおいて、前記インスタントメッセージの転送における中断に関連する通知を受信することと、
前記ログイン割り当てサーバにおいて、第２のログインサーバのアドレスを、前記クライアントに送信することと、
前記第２のログインサーバにおいて、前記クライアントから再接続要求を受信することと、
前記再接続要求が前記第２のログインサーバによって受け入れられた場合に、前記クライアントと前記第２のログインサーバとの間でインスタントメッセージを交換することと、
を備える方法。
[形態２]
インスタントメッセージ（ＩＭ）クライアントシステムであって、
１つ又は２つ以上のプロセッサと、
前記１つ又は２つ以上のプロセッサにつながれ、前記１つ又は２つ以上のプロセッサに命令を提供するように構成された１つ又は２つ以上のメモリと、
を備え、
前記１つ又は２つ以上のプロセッサは、
第１のログインサーバにおいて、クライアントアカウント情報とクライアント側セキュリティキーとを含みクライアントに関連するログイン要求を受信し、
前記ＩＭセッションを確立し、前記クライアントシステムと前記第１のログインサーバとの間でインスタントメッセージを転送し、
前記ＩＭセッションの確立は、
前記第１のログインサーバにおいて、前記ログイン要求を検証することと、
前記検証が成功であるならば、前記第１のログインサーバにおいて、前記クライアントアカウント情報と前記クライアント側セキュリティキーにしたがって生成されたサーバキーとを含む、前記クライアントの第１のプロパティ情報セットをローカルメモリに記憶させると共に、前記第１のプロパティ情報セットをリモート情報記憶サーバに送信することと、
前記第１のログインサーバにおいて、前記サーバキーを含み前記検証が成功であることを示すサインを前記クライアントに送信することと、
を含み、
ログイン割り当てサーバにおいて、前記インスタントメッセージの転送における中断に関連する通知を受信し、
前記ログイン割り当てサーバにおいて、第２のログインサーバのアドレスを、前記クライアントに送信し、
第２のログインサーバにおいて、前記クライアントシステムから再接続要求を受信し、
前記第２のログインサーバにおいて、前記再接続要求が前記第２のログインサーバによって受け入れられた場合に、前記クライアントと前記第２のログインサーバとの間でインスタントメッセージを交換するように、
構成される、システム。
[形態３]
インスタントメッセージ（ＩＭ）再接続要求を扱う方法であって、
第２のログインサーバにおいて、ＩＭセッションのための再接続要求をクライアントから受信することと、
前記第２のログインサーバにおいて、前記ＩＭセッションで使用されるクライアントアカウント情報とクライアントキーとを含む、前記クライアントの第１のプロパティ情報セットを、ローカルメモリまたはリモート情報記憶サーバから取得することと、
前記第２のログインサーバにおいて、前記ＩＭセッションで使用されるクライアントアカウント情報とサーバキーとを含む、前記クライアントの第２のプロパティ情報セットを取得するために、前記再接続要求をパースすることと、
前記第２のログインサーバにおいて、前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとを比較することと、
前記第２のログインサーバにおいて、前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとが一致するならば、検証成功のサインを前記クライアントに送信することと、
を備える方法。
[形態４]
インスタントメッセージ（ＩＭ）サーバシステムであって、
１つ又は２つ以上のプロセッサと、
前記１つ又は２つ以上のプロセッサにつながれ、前記１つ又は２つ以上のプロセッサに命令を提供するように構成された１つ又は２つ以上のメモリと、
を備え、
前記１つ又は２つ以上のプロセッサは、
第２のログインサーバにおいて、ＩＭセッションのための再接続要求をクライアントから受信し、
前記第２のログインサーバにおいて、前記ＩＭセッションで使用されるクライアントアカウント情報とクライアントキーとを含む、前記クライアントの第１のプロパティ情報セットを、ローカルメモリまたはリモート情報記憶サーバから取得し、
前記第２のログインサーバにおいて、前記ＩＭセッションで使用されるクライアントアカウント情報とサーバキーとを含む、前記クライアントの第２のプロパティ情報セットを取得するために、前記再接続要求をパースし、
前記第２のログインサーバにおいて、前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとを比較し、
前記第２のログインサーバにおいて、前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとが一致するならば、検証成功のサインを前記クライアントに送信するように、
構成される、システム。
[適用例１]
インスタントメッセージ（ＩＭ）セッションを維持する方法であって、
クライアントから第１のログインサーバにログイン要求を送信することと、
前記ＩＭセッションを確立し、前記クライアントと前記第１のログインサーバとの間でインスタントメッセージを転送することと、
前記インスタントメッセージの転送における中断を検出することと、
ログイン割り当てサーバから第２のログインサーバのアドレスを取得することと、
前記クライアントから前記第２のログインサーバに再接続要求を送信することと、
前記再接続要求が前記第２のログインサーバによって受け入れられた場合に、前記クライアントと前記第２のログインサーバとの間でインスタントメッセージを交換することと、
を備える方法。
[適用例２]
請求項１に記載の方法であって、
前記第１のログインサーバは、
利用可能なログインサーバのアドレスの第１のリストをログイン割り当てサーバによって取得し、
前記第１のアドレスリストから前記第１のログインサーバのアドレスを選択すること、
によって決定される、方法。
[適用例３]
請求項１に記載の方法であって、
前記ログイン要求は、クライアントアカウント情報と、クライアントセキュリティキーとを含み、
前記ＩＭセッションを確立することは、
前記第１のログインサーバによって、前記ログイン要求を検証することと、
前記検証が成功であるならば、前記クライアントアカウント情報と、前記クライアントキーにしたがって生成されたサーバキーとを含む、前記クライアントの第１のプロパティ情報セットをローカルメモリに記憶し、前記第１のプロパティ情報セットを情報記憶サーバに送信することと、
前記検証が成功であることを前記クライアントに示す、前記サーバキーを含むサインを前記クライアントに送信することと、
を含む、方法。
[適用例４]
請求項３に記載の方法であって、
前記再接続要求は、前記クライアントアカウント情報と、前記サーバキーとを含む、前記クライアントの第２のプロパティ情報セットを含む、方法。
[適用例５]
請求項２に記載の方法であって、
前記第２のログインサーバのアドレスを取得することは、
利用可能なログインサーバのアドレスの第２のリストを前記ログイン割り当てサーバから取得することと、
前記第２のアドレスリストから前記第２のログインサーバのアドレスを選択することと、
を含む、方法。
[適用例６]
請求項２に記載の方法であって、
前記第２のログインサーバのアドレスを取得することは、前記取得された第１のアドレスリストから前記第２のログインサーバのアドレスを決定することを含む、方法。
[適用例７]
請求項１に記載の方法であって、
前記第２のログインサーバは、
前記クライアントの第１のプロパティ情報セットを取得し、
前記クライアントの第２のプロパティ情報セットを取得するために前記再接続要求をパースし、
前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとを比較し、
前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとが一致するならば、前記再接続要求を受け入れること、
によって前記再接続要求を検証する、方法。
[適用例８]
請求項７に記載の方法であって、
前記第２のログインサーバは、
前記第２のログインサーバによって、前記クライアントの前記第１のプロパティ情報セットが前記ローカルメモリに記憶されているかどうかをチェックし、
前記第１のプロパティ情報セットが前記ローカルメモリに記憶されているならば、前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリから取得し、
前記第１のプロパティ情報セットがローカルメモリに記憶されていないならば、前記クライアントの前記第１のプロパティ情報セットを情報記憶サーバから取得すること、
によって前記クライアントの前記第１のプロパティ情報セットを取得する、方法。
[適用例９]
インスタントメッセージ（ＩＭ）クライアントシステムであって、
１つ又は２つ以上のプロセッサと、
前記１つ又は２つ以上のプロセッサにつながれ、前記１つ又は２つ以上のプロセッサに命令を提供するように構成された１つ又は２つ以上のメモリと、
を備え、
前記１つ又は２つ以上のプロセッサは、
第１のログインサーバにログイン要求を送信し、
前記ＩＭセッションを確立し、前記クライアントシステムと前記第１のログインサーバとの間でインスタントメッセージを転送し、
前記インスタントメッセージの転送における中断を検出し、
ログイン割り当てサーバから第２のログインサーバのアドレスを取得し、
前記クライアントシステムから前記第２のログインサーバに再接続要求を送信し、
前記再接続要求が前記第２のログインサーバによって受け入れられた場合に、前記クライアントと前記第２のログインサーバとの間でインスタントメッセージを交換するように、
構成される、システム。
[適用例１０]
請求項９に記載のシステムであって、
前記第１のログインサーバは、
利用可能なログインサーバのアドレスの第１のリストをログイン割り当てサーバによって取得し、
前記第１のアドレスリストから前記第１のログインサーバのアドレスを選択すること、
によって決定される、システム。
[適用例１１]
請求項９に記載のシステムであって、
前記ログイン要求は、クライアントアカウント情報と、クライアントセキュリティキーとを含み、
前記ＩＭセッションの確立は、
前記第１のログインサーバによって、前記ログイン要求を検証し、
前記検証が成功であるならば、前記クライアントアカウント情報と、前記クライアントキーにしたがって生成されたサーバキーとを含む、前記クライアントの第１のプロパティ情報セットをローカルメモリに記憶し、前記第１のプロパティ情報セットを情報記憶サーバに送信し、
前記検証が成功であることを前記クライアントに示す、前記サーバキーを含むサインを前記クライアントに送信すること、
を含む、システム。
[適用例１２]
請求項１１に記載のシステムであって、
前記再接続要求は、前記クライアントアカウント情報と、前記サーバキーとを含む、前記クライアントの第２のプロパティ情報セットを含む、システム。
[適用例１３]
請求項１０に記載のシステムであって、
前記第２のログインサーバのアドレスの取得は、
利用可能なログインサーバのアドレスの第２のリストを前記ログイン割り当てサーバから取得し、
前記第２のアドレスリストから前記第２のログインサーバのアドレスを選択すること、
を含む、システム。
[適用例１４]
請求項１０に記載のシステムであって、
前記第２のログインサーバのアドレスの取得は、前記取得された第１のアドレスリストから前記第２のログインサーバのアドレスを決定することを含む、システム。
[適用例１５]
インスタントメッセージ（ＩＭ）再接続要求を扱う方法であって、
ＩＭセッションのための再接続要求をクライアントから受信することと、
前記ＩＭセッションで使用されるクライアントアカウント情報とクライアントキーとを含む、前記クライアントの第１のプロパティ情報セットを取得することと、
前記ＩＭセッションで使用されるクライアントアカウント情報とサーバキーとを含む、前記クライアントの第２のプロパティ情報セットを取得するために、前記再接続要求をパースすることと、
前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとを比較することと、
前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとが一致するならば、検証成功のサインを前記クライアントに送信することと、
を備える方法。
[適用例１６]
請求項９に記載の方法であって、
前記クライアントの第１のプロパティ情報セットを取得することは、
前記クライアントの前記第１のプロパティ情報セットがローカルメモリに記憶されているかどうかを決定することと、
前記第１のプロパティ情報セットがローカルメモリに記憶されているならば、前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリから取得することと、
前記第１のプロパティ情報セットがローカルメモリに記憶されていないならば、前記クライアントの前記第１のプロパティ情報セットを前記情報記憶サーバから取得することと、
を含む、方法。
[適用例１７]
請求項１０に記載の方法であって、
前記第１のプロパティ情報セットがローカルメモリに記憶されていないならば、前記方法は、更に、取得された前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリに記憶することを備える方法。
[適用例１８]
インスタントメッセージ（ＩＭ）サーバシステムであって、
１つ又は２つ以上のプロセッサと、
前記１つ又は２つ以上のプロセッサにつながれ、前記１つ又は２つ以上のプロセッサに命令を提供するように構成された１つ又は２つ以上のメモリと、
を備え、
前記１つ又は２つ以上のプロセッサは、
ＩＭセッションのための再接続要求をクライアントから受信し、
前記ＩＭセッションで使用されるクライアントアカウント情報とクライアントキーとを含む、前記クライアントの第１のプロパティ情報セットを取得し、
前記ＩＭセッションで使用されるクライアントアカウント情報とサーバキーとを含む、前記クライアントの第２のプロパティ情報セットを取得するために、前記再接続要求をパースし、
前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとを比較し、
前記第１のプロパティ情報セットと前記第２のプロパティ情報セットとが一致するならば、検証成功のサインを前記クライアントに送信するように、
構成される、システム。
[適用例１９]
請求項１８に記載のシステムであって、
前記クライアントの第１のプロパティ情報セットの取得は、
前記クライアントの前記第１のプロパティ情報セットがローカルメモリに記憶されているかどうかを決定し、
前記第１のプロパティ情報セットがローカルメモリに記憶されているならば、前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリから取得し、
前記第１のプロパティ情報セットがローカルメモリに記憶されていないならば、前記クライアントの前記第１のプロパティ情報セットを前記情報記憶サーバから取得すること、
を含む、システム。
[適用例２０]
請求項１９に記載のシステムであって、
前記第１のプロパティ情報セットがローカルメモリに記憶されていないならば、前記方法は、更に、取得された前記クライアントの前記第１のプロパティ情報セットを前記ローカルメモリに記憶することを含む、システム。
【００１４】
発明の原理を示した添付の図面とともに、以下で、発明の１つ又は２つ以上の実施形態の詳細な説明が提供される。発明は、このような実施形態に関連して説明されているが、いかなる実施形態にも限定されない。発明の範囲は、特許請求の範囲によってのみ限定され、発明は、数々の代替形態、変更形態、及び均等物を内包している。以下の説明では、発明の完全な理解を可能にするために、数々の詳細が明記されている。これらの詳細は、例示を目的として提供されており、発明は、これらの詳細の一部又は全部を伴わずとも、特許請求の範囲にしたがって実施することができる。明瞭さを期するために、発明に関係した技術分野で知られている技工物は、発明が不必要に不明瞭にならないように、詳細な説明を省略されている。
【００１５】
図１は、インスタントメッセージシステムの一実施形態を示したブロック図である。システム１００は、クライアント１０２を有するクライアント側と、複数のサーバを含むサーバ側１０４とを含む。その他の実施形態では、追加のクライアント及びサーバが可能である。クライアントデバイスは、パソコン、サーバコンピュータ、ハンドヘルドデバイスすなわち携帯用デバイス、フラットパネルデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電子デバイス、ネットワークＰＣ、ミニコンピュータ、大型コンピュータ、特殊用途向けデバイス、上記のシステム若しくはデバイスのうちの任意を含む分散コンピューティング環境、又は１つ若しくは２つ以上のプロセッサと当該プロセッサにつながれたメモリとを含みプロセッサに命令を提供するように構成されたその他のハードウェア／ソフトウェア／ファームウェアの組み合わせなどの、１つ又は２つ以上のコンピューティングデバイスを使用して実装することができる。各サーバデバイスは、同様に実装することができる。この例では、異なるサーバ機能を持つ個別のサーバが示されているが、サーバ及びそれらの機能には、合体されてよいものもあるし、更に分割されて複数のデバイスに分散されてよいものもある。
【００１６】
図に示された例では、サーバは、ログイン割り当てサーバ１０６と、複数のログインサーバ１０８と、データベースサーバ１１０と、情報記憶サーバ１１２とを含む。クライアントと、ログインサーバのうちの１つとの間に、ＩＭセッションが確立される。以下で更に詳しく説明されるように、図に示されたＩＭシステムにおいて、クライアントとログインサーバとの間のインスタントメッセージ通信セッションが中断されると、クライアントは、クライアント側とサーバ側との間でデータの損失を生じることなく別のログインサーバに自動的に切り替えてログインすることができる。
【００１７】
図２は、第１のログインサーバを特定するためのプロセスの一実施形態を示したフローチャートである。ステップ２０２において、ユーザ名及びパスワードなどのユーザアカウント情報がユーザによって入力され、クライアントにおいて受信される。ステップ２０４において、クライアントは、アドレス割り当て要求をログイン割り当てサーバに送信する。ログイン割り当てサーバによってログイン要求が受信されると、ステップ２０６において、ログイン割り当てサーバは、利用可能なログインサーバのアドレスのリストを取得する。ステップ２０８において、ログイン割り当てサーバは、利用可能なログインサーバのリストからログインサーバを選択し、その選択されたログインサーバのアドレスをクライアントに送信する。
【００１８】
図３は、クライアント側とサーバ側との間でＩＭセッションを維持するためのプロセスの一実施形態を示したフローチャートである。
【００１９】
ステップ３０２において、クライアントは、ログイン割り当てサーバから受信された第１のログインサーバのアドレスを使用して第１のログインサーバにログイン要求を送信する。ログイン要求は、クライアントアカウント情報と、クライアントにおいて生成された一意でランダムな情報であるクライアント側セキュリティキー（キークライアント）とを含んでよい。一部の実施形態では、キークライアントは、ランダムに生成された英数字列を含む。
【００２０】
ステップ３０４において、ログイン要求は、第１のログインサーバによって検証され、ＩＭセッションが、クライアントと第１のログインサーバとの間に確立される。インスタントメッセージが、第１のログインサーバを介してクライアントとその他のピアクライアントとの間で交換される。
【００２１】
第１のログインサーバは、ログイン要求を受信及び検証する。一部の実施形態において、ログイン要求が検証に合格したならば、第１のログインサーバは、受信されたキークライアントにしたがってサーバ側セキュリティキー（キーサーバ）を生成し、そのキーサーバを含む検証合格情報をクライアントに返し、クライアントの第１のプロパティ情報セットをメモリに記憶し、その第１のプロパティ情報セットを情報記憶サーバに送信する。第１のプロパティ情報セットは、クライアントアカウント情報と、それに対応するキーサーバとを含む。この例では、キーサーバは、受信されたキークライアントに基づいて第１のログインサーバによって生成されたランダムな情報であり、クライアントのログイン状態を一意に識別するために使用される。例えば、キーサーバは、キークライアントを関数に適用することによって生成されたランダムな英数字列であってよい。キーサーバは、キークライアントを使用して生成可能である場合にキークライアントに合致するとみなされる。
【００２２】
ＩＭセッションが確立されたら、クライアントは、受信されたキーサーバをそのメモリに記憶する。
【００２３】
ＩＭセッション中は、ユーザログイン及びパスワードなどのユーザ関連情報が、データベースサーバに記憶される。
【００２４】
ステップ３０６において、ＩＭセッションにおける中断がクライアントによって検出される。中断は、第１のログインサーバが利用不可になったときに、又はそれ以外の理由で、クライアントによって送信されたインスタントメッセージに応答できなくなったときに発生する。
【００２５】
第１のログインサーバとのインスタントメッセージの切断を検出した後、ステップ３０８において、クライアントは、第１のログインサーバに送信されるべきデータをキャッシュに記憶し、アドレス割り当て要求をログイン割り当てサーバに送信する。ログイン割り当てサーバは、アドレス割り当て要求にしたがって、ログインに利用可能なサーバのアドレスの第２のリストを取得する。第２のアドレスリスト、すなわちログインに利用可能な幾つかのログインサーバのアドレスからなるリストを取得した後、ログイン割り当てサーバは、リストのなかの一サーバを第２のログインサーバとして選択し、その第２のログインサーバのアドレスをクライアントに送信する。現時点でログインに利用可能なサーバのアドレスのリストを取得するために、ログイン割り当てサーバは、全てのログインサーバに定期的にコマンドを送信し、ログインサーバから応答が返ってきた場合にそのログインサーバをログインに利用可能であると判定し、そのログインサーバのアドレスをアドレスのリストに追加することができる。或いは、ログイン割り当てサーバは、プロセス２００の間、取得された第１のアドレスのリストを記憶し、その記憶されたリストに基づいて第２のログインサーバを選択することができる。
【００２６】
このケースでは、ログイン割り当てサーバは、取得されたアドレスのリストのなかから、指定の順序で、ランダムに、又はルール（クライアントに最も近いサーバなど）にしたがって、ログインサーバのアドレスとして一アドレスを選択することができる。
【００２７】
一部の実施形態では、クライアントは、第１のログインサーバに送信されるべきデータをキャッシュに記憶した後に、随意として、切断された第１のログインサーバへの再接続を試みる。切断された第１のログインサーバへの再接続が失敗したならば、クライアントは、ログイン割り当てサーバから第２のログインサーバを取得する。
【００２８】
ステップ３１０において、クライアントは、第２のログインサーバに再接続要求を送信する。この要求は、第１のログインサーバによって返されたキーサーバ、及びクライアントアカウント情報などの、クライアントの第２のプロパティ情報セットを含む。一部の実施形態では、クライアントアカウント情報は、暗号化されて第２のログインサーバに送信される。
【００２９】
ステップ３１２において、再接続要求が受け入れられたか否かが判定される。受け入れられたならば、ステップ３１４において、クライアントは、第２のログインサーバとのＩＭセッションを再開させる。受け入れられなかったならば、ステップ３１６において、クライアントは、ログインページにリダイレクトされ、そこで、ユーザは、選択されたログインサーバとの間に新しいＩＭセッションを確立することができるようにログインしなおすように要求される。一部の実施形態では、クライアントをログインページにリダイレクトする代わりに、ログイン割り当てサーバから第３のログインサーバが取得され、ステップ３０８〜３１２が繰り返される。
【００３０】
図４は、第２のログインサーバにおいて再接続要求を検証するためのプロセスの一実施形態を示したフローチャートである。
【００３１】
クライアントから再接続要求を受信した後、ステップ４５２において、第２のログインサーバは、クライアントの第１のプロパティ情報セットが、第２のログインサーバによって直接アクセス可能なローカルメモリ（ローカルファイルシステムやローカルデータベースなど）に記憶されているか否かをチェックする。第１のプロパティ情報セットがローカルメモリに記憶されているならば、ステップ４５４において、第２のログインサーバは、クライアントの第１のプロパティ情報セットをローカルメモリから読み出し、記憶されていないならば、ステップ４５６において、第２のログインサーバは、クライアントの第１のプロパティ情報セットを情報記憶サーバから取得する。
【００３２】
ここで、第２のログインサーバと第１のログインサーバとがコンシステント（整合している）である（すなわち、同じ情報へのアクセスを有する）ならば、クライアントの第１のプロパティ情報セットをローカルメモリから検索することが可能であり、したがって、第２のログインサーバは、クライアントの第１のプロパティ情報セットをローカルメモリから直接取得することができる。第２のログインサーバと第１のログインサーバとがコンシステントでないならば、クライアントの第１のプロパティ情報セットは、第２のログインサーバのローカルメモリに記憶されておらず、したがって、第２のログインサーバは、クライアントの第１のプロパティ情報セットを情報記憶サーバから取得する。
【００３３】
第２のログインサーバは、受信された再接続要求を、第１のプロパティ情報セットに基づいて検証する。この例では、ステップ４５８において、第２のログインサーバは、再接続要求に含まれているクライアントの第２のプロパティ情報セットを取得するために、受信された再接続要求をパース（解析）する。ステップ４６０において、第２のログインサーバは、事前に取得された第１のプロパティ情報セットを第２のプロパティ情報セットと比較する。第１のプロパティ情報セットと第２のプロパティ情報セットとが一致するならば、再接続要求は検証（合格と）され、ステップ４６２において、成功サインがキーサーバとともにクライアントに送信される。しかしながら、第１のプロパティ情報セットと第２のプロパティ情報セットとが一致しないならば、ステップ４６４において、失敗サインがクライアントに送信される。
【００３４】
上述のように、本出願の実施形態において、ログインサーバがハードウェア障害又は手動によるメインテナンスなどの何らかの理由ゆえにサービス不可であるときに、クライアントは、そのログインサーバとのセッションを失う。しかしながら、そのままログインインターフェースに戻る代わりに、クライアントは、クライアント側とサーバ側との間でデータを失うことなく自動的にログインサーバを切り替えるために再接続を開始し、そのログインサーバは、多数のクライアントに同時に再ログインされることによる過剰な負荷圧を受けずにすむ。
【００３５】
図５は、ＩＭセッションを維持するためのプロセスの別の一実施形態を示したフローチャートである。
【００３６】
ステップ４０１において、ユーザがクライアントを介してログインし、このクライアントは、第１のログインサーバとのインスタントメッセージセッションを開始させる。クライアントが第１のログインサーバにログインするときに、そのクライアントの第１のプロパティ情報セットは、第１のログインサーバによってそのローカルメモリに記憶されるとともに、リモート情報記憶サーバによっても記憶される。ここで、第１のプロパティ情報セットは、ユーザアカウント情報と、それに対応するキーサーバとを含む。インスタントメッセージセッション中、ユーザに関連したインスタントメッセージ情報は、バックグラウンドにあるデータベースサーバに記憶される。
【００３７】
ステップ４０２において、第１のログインサーバとのインスタントメッセージセッションが切断されたならば、クライアントは、第１のログインサーバに送信されるべきデータをキャッシュに記憶し、アドレス割り当て要求をログイン割り当てサーバに送信する。
【００３８】
ステップ４０３において、ログイン割り当てサーバは、ログインに利用可能なサーバのアドレスの第２のリストを取得し、取得された第２のアドレスリストのなかの１つを第２のログインサーバのアドレスとして決定し、その第２のログインサーバのアドレスをクライアントに送信する。
【００３９】
ステップ４０４において、取得されたアドレスを使用して、クライアントは、暗号化されたうえで第２のログインサーバに送信される、第１のログインサーバによって返されたキーサーバと、クライアントアカウント情報とを含むクライアントの第２のプロパティ情報セットを含む再接続要求を第２のログインサーバに送信する。
【００４０】
ステップ４０５において、第２のログインサーバは、クライアントの第１のプロパティ情報セットがローカルメモリに記憶されているかどうかをチェックする。第１のプロパティ情報セットがローカルメモリに記憶されているならば、制御は４０６に移され、記憶されていないならば、制御は４０７に遷移される。
【００４１】
ステップ４０６において、第２のログインサーバは、クライアントの第１のプロパティ情報セットをローカルメモリから取得し、ステップ４０９に進む。
【００４２】
ステップ４０７において、第２のログインサーバは、リモート情報記憶サーバにアクセスし、クライアントの第１のプロパティ情報セットがリモート情報記憶サーバに記憶されているかどうかをチェックし、記憶されているならば、制御はステップ４０８に遷移され、記憶されていないならば、制御はステップ４１３に遷移される。
【００４３】
ステップ４０８において、第２のログインサーバは、クライアントの第１のプロパティ情報セットを情報記憶サーバから取得し、制御はステップ４０９に遷移される。
【００４４】
ステップ４０９において、第２のログインサーバは、受信された再接続要求をパースし、取得されたクライアントの第１のプロパティ情報セットを再接続要求のなかのクライアントの第２のプロパティ情報セットと比較する。第１のプロパティ情報セットと第２のプロパティ情報セットとが一致するならば、制御はステップ４１０に遷移され、一致しないならば、制御はステップ４１３に遷移される。一部の実施形態では、両プロパティ情報がともに同じアカウント情報を含み、尚且つ第２のプロパティ情報セットに含まれているキーサーバが第１のプロパティ情報セットかに含まれているキークライアントを使用して生成可能である場合に、一致が見いだされる。
【００４５】
ステップ４１０において、第２のログインサーバは、受信された再接続要求を検証し、検証が合格であるならば、制御はステップ４１１に遷移され、合格でないならば、制御はステップ４１３に遷移される。
【００４６】
ステップ４１１において、第２のログインサーバは、ユーザに関連したインスタントメッセージ情報をデータベースサーバから取得し、キーサーバも含む検証合格情報をクライアントに返す。
【００４７】
第２のログインサーバが、クライアントの第１のプロパティ情報セットを情報記憶サーバから取得するならば、第２のログインサーバは、取得されたクライアントの第１のプロパティ情報セットを自身のローカルメモリに記憶する。
【００４８】
ステップ４１２において、クライアントは、受信された検証合格情報にしたがって第２のログインサーバとのインスタントメッセージセッションを開始させる。
【００４９】
検証合格情報が受信されたならば、すなわち、再接続が成功であるならば、クライアントは、インスタントメッセージセッションを続けるためにキャッシュのなかのデータを第２のログインサーバに送信する。インスタントメッセージセッション中、ユーザに関連した新しいインスタントメッセージ情報は、依然として、バックグラウンドにあるデータベースサーバに記憶される。
【００５０】
ステップ４１３において、第２のログインサーバは、検証失敗情報をクライアントに返す。
【００５１】
ステップ４１４において、検証失敗情報を受信した後、クライアントは、ログインインターフェースに戻る。要するに、再接続は失敗し、ユーザは、新しいセッションを開始させるために手動でログインしなおす必要がある。
【００５２】
図６は、ＩＭセッションを維持するためのプロセスの別の一実施形態を示したフローチャートである。
【００５３】
ステップ５０１において、クライアントが、第１のログインサーバにログインし、第１のログインサーバとのインスタントメッセージセッションを開始させる。クライアントが第１のログインサーバにログインするときに、そのクライアントの第１のプロパティ情報セットは、第１のログインサーバによってそのローカルメモリに記憶されるとともに、リモート情報記憶サーバによっても記憶される。ここで、第１のプロパティ情報セットは、ユーザアカウント情報と、それに対応するキーサーバとを含んでよい。インスタントメッセージセッション中、ユーザに関連したインスタントメッセージ情報は、バックグラウンドにあるデータベースサーバに記憶される。
【００５４】
ステップ５０２において、第１のログインサーバとのインスタントメッセージが切断されたならば、クライアントは、第１のログインサーバに送信されるべきデータをキャッシュに記憶し、第１のログインサーバへの再接続を試みる。第１のログインサーバへの再接続が成功したならば、クライアントは、第１のログインサーバとのインスタントメッセージセッションを続け、成功しなかったならば、ステップ５０３が実行される。
【００５５】
ステップ５０３において、クライアントは、アドレス割り当て要求をログイン割り当てサーバに送信する。
【００５６】
ステップ５０４において、アドレス割り当て要求を受信した後、ログイン割り当てサーバは、ログインに利用可能なサーバのアドレスの第２のリストを取得し、取得された第２のアドレスリストのなかの１つを第２のログインサーバのアドレスとして決定し、その第２のログインサーバのアドレスをクライアントに送信する。
【００５７】
ここでは、第１のログインサーバに再接続する試みが失敗しており、第２のログインサーバのアドレスは、第１のログインサーバのそれとは異なる。
【００５８】
ステップ５０５において、決定されたアドレスにしたがって、クライアントは、クライアントによって暗号化されたうえで第２のログインサーバに送信される、第１のログインサーバによって返されたキーサーバと、クライアントアカウント情報とを含むクライアントの第２のプロパティ情報セットを持つ再接続要求を、第２のログインサーバに送信する。
【００５９】
ステップ５０６において、第２のログインサーバは、クライアントの第１のプロパティ情報セットがローカルメモリに記憶されているかどうかをチェックする。第１のプロパティ情報セットがローカルメモリに記憶されているならば、ステップ５０７が実行され、記憶されていないならば、ステップ５０８が実行される。
【００６０】
この例では、クライアントによる第１のログインサーバへの再接続が失敗しており、したがって、第２のログインサーバは、クライアントの第１のプロパティ情報のセットを自身のローカルメモリから検索することはできず、したがって、ステップ５０８が実行される。
【００６１】
ステップ５０７において、第２のログインサーバは、クライアントの第１のプロパティ情報のセットを自身のローカルメモリから取得し、ステップ５１０が実行される。
【００６２】
ステップ５０８において、第２のログインサーバは、リモート情報記憶サーバにアクセスし、クライアントの第１のプロパティ情報セットがリモート情報記憶サーバに記憶されているか否かをチェックする。記憶されているならば、ステップ５０９が実行され、記憶されていないならば、ステップ５１４が実行される。
【００６３】
ステップ５０９において、第２のログインサーバは、クライアントの第１のプロパティ情報セットを情報記憶サーバから取得し、ステップ５１０が実行される。
【００６４】
ステップ５１０において、第２のログインサーバは、受信された再接続要求をパースし、取得されたクライアントの第１のプロパティ情報セットを再接続要求が持つクライアントの第２のプロパティ情報セットと比較し、第１のプロパティ情報セットと第２のプロパティ情報セットとが合致するならば、ステップ５１１が実行され、合致しないならば、ステップ５１４が実行される。
【００６５】
ステップ５１１において、第２のログインサーバは、受信された再接続要求を検証する。検証が成功であるならば、ステップ５１２が実行され、成功でないならば、ステップ５１４が実行される。
【００６６】
ステップ５１２において、第２のログインサーバは、ユーザに関連したインスタントメッセージ情報をバックグラウンドにあるデータベースサーバから取得し、キーサーバも含みえる検証成功情報をクライアントに返す。
【００６７】
本実施形態において、第２のログインサーバは、クライアントの第１のプロパティ情報セットを情報記憶サーバから取得するので、第２のログインサーバは、取得されたクライアントの第１のプロパティ情報セットを自身のローカルメモリに記憶する。
【００６８】
ステップ５１３において、クライアントは、受信された検証成功情報にしたがって、第２のログインサーバとのインスタントメッセージセッションを開始させる。
【００６９】
検証成功情報が受信されたならば、すなわち、再接続が成功であるならば、クライアントは、インスタントメッセージセッションを続けるためにキャッシュのなかのデータを第２のログインサーバに送信する。インスタントメッセージセッション中、ユーザに関連した新しいインスタントメッセージ情報は、依然、データベースサーバに記憶される。
【００７０】
ステップ５１４において、第２のログインサーバは、検証失敗情報をクライアントに返す。
【００７１】
ステップ５１５において、検証失敗情報を受信した後、クライアントは、ログインインターフェースに戻る。要するに、再接続は失敗し、ユーザは、再接続を開始させるために手動でログインしなおす必要がある。
【００７２】
上記の実施形態では、クライアントは、クライアントと第１のログインサーバとの間のインスタントメッセージセッションが中断された後に、アドレス割り当て要求をログイン割り当てサーバに送信し、ログイン割り当てサーバは、アドレス割り当て要求を受信した後に、ログインに利用可能なサーバのアドレスの第２のリストを取得し、当該第２のアドレスリストの中の１つを第２のログインサーバのアドレスとして選択する。本応用の一実施形態では、クライアントは、取得された第１のアドレスリストからの別のアドレスを第２のログインサーバのアドレスとして決定することもできる。
【００７３】
図７は、クライアントの一実施形態を示したブロック図である。この例では、クライアントは、取得ユニット７１０と、送信ユニット７２０と、受信ユニット７３０とを含む。
【００７４】
取得ユニット７１０は、第１のログインサーバとのインスタントメッセージセッションが中断されたときに第２のログインサーバのアドレスを取得するように構成される。一部の実施形態では、取得ユニットは、ログイン割り当てサーバによって第１のアドレスリストから決定された第２のログインサーバのアドレスを取得する。あるいは、取得ユニットは、ログインに利用可能なサーバのアドレスの第２のリストから第２のログインサーバのアドレスを取得することができる。取得ユニットは、更に、ログインに利用可能なサーバのアドレスの第１のリストからログイン割り当てサーバによって決定された第１のログインサーバのアドレスを取得するようにも構成される。
【００７５】
送信ユニット７２０は、第２のログインサーバのアドレスにしたがって再接続要求を第２のログインサーバに送信するように構成される。送信ユニットは、更に、クライアントアカウント情報とクライアントキーとを含むログイン要求を第１のログインサーバのアドレスにしたがって第１のログインサーバに送信するようにも構成される。
【００７６】
受信ユニット７３０は、再接続要求の検証後に、第２のログインサーバによって返された検証応答を受信するように構成される。受信ユニットは、更に、ログイン要求の検証後に、第１のログインサーバによって返された検証応答を受信するようにも構成される。
【００７７】
図８は、ログインサーバの一実施形態を示したブロック図である。図に示された実施形態では、ログインサーバは、受信ユニット８１０と、検証ユニット８２０と、送信ユニット８３０とを含む。
【００７８】
受信ユニット８１０は、クライアントによって送信された再接続要求を受信するように構成される。当該要求は、クライアントからのクライアントアカウント情報とクライアントキーとを含む。
【００７９】
検証ユニット８２０は、ログイン要求を検証するように構成される。検証ユニット８２０は、受信された再接続要求を検証するように構成される。一部の実施形態では、検証ユニットは、更に、取得サブユニットと、パースサブユニットと、比較・検証サブユニットとを含み、取得サブユニットは、クライアントの第１のプロパティ情報セットを取得するように構成され、パースサブユニットは、クライアントの第２のプロパティ情報セットを取得するために再接続要求をパースするように構成され、比較・検証サブユニットは、第１のプロパティ情報セットと第２のプロパティ情報セットとを比較し、両者が一致するならば再接続要求を検証（合格）とするように構成される。
【００８０】
取得サブユニットは、先ず、クライアントの第１のプロパティ情報セットがローカルメモリに記憶されているかどうかをチェックし、第１のプロパティ情報セットがローカルメモリに記憶されているならばそれをローカルメモリから取得し、記憶されていないならばクライアントの第１のプロパティ情報セットを情報記憶サーバから取得する。
【００８１】
送信ユニット８３０は、検証応答メッセージをクライアントに送信するように構成される。送信ユニット８３０は、更に、検証が合格であるならば、クライアントの第１のプロパティ情報セットをローカルメモリに記憶し、第１のプロパティ情報セットを情報記憶サーバに送信し、サーバキーを含む検証合格メッセージをクライアントに送信するように構成される。ここで、第１のプロパティ情報セットは、クライアントアカウント情報と、クライアントキーにしたがって生成されたサーバキーとを含んでよい。
【００８２】
上述されたユニットは、１つ又は２つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、プログラマブルロジックデバイス及び／若しくは所定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、又はそれらの組み合わせとして実装することができる。一部の実施形態では、ユニットは、本発明の実施形態で説明されている方法をコンピュータデバイス（パソコン、サーバ、ネットワーク機器など）に実行させるための幾つかの命令を含み且つ不揮発性のストレージメディア（光ディスク、フラッシュストレージデバイス、モバイルハードディスクなど）に格納可能であるソフトウェア製品の形で具現化することができる。ユニットは、１つのデバイス上に実装されてよい、又は複数のデバイスに分散されてよい。ユニットの機能は、互いに合体されてよい、又は更に複数のサブユニットに分割されてよい。
【００８３】
本出願は、方法、デバイス（システム）、又はコンピュータプログラム製品の、フローチャート及び／又はブロック図を参照にして説明されている。フローチャート及び／又はブロック図における各プロセス及び／又は各ブロック、並びにそれらの組み合わせは、コンピュータプログラム命令として実現可能であることがわかる。コンピュータプログラム命令は、機械を生成するために、汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ、又はその他の任意のプログラム可能データ処理デバイスのプロセッサ用に提供されてよく、したがって、コンピュータ又はその他の任意のプログラム可能データ処理デバイスのプロセッサによって実行される命令は、フローチャートの１つ若しくは２つ以上のプロセス及び／又はブロック図の１つ若しくは２つ以上のブロックによって指定された機能を実現するための手段を生み出すことができる。
【００８４】
これらのコンピュータプログラム命令は、また、コンピュータ又はその他のプログラム可能データ処理デバイスを特定の方式で動作するように誘導することができる任意のコンピュータ可読ストレージに記憶されてもよく、したがって、このようなコンピュータ可読ストレージに記憶されている命令は、フローチャートの１つ若しくは２つ以上のプロセス及び／又はブロック図の１つ若しくは２つ以上のブロックによって指定された機能を実現する、命令手段を含む製品を生み出すことができる。
【００８５】
これらのコンピュータ命令は、コンピュータ又はその他の任意のプログラム可能データ処理デバイスが一連の動作ステップを実行し、コンピュータによって実現される処理を生み出すことを可能にするために、コンピュータ又はその他の任意のプログラム可能データ処理デバイスに取り込まれてよく、したがって、コンピュータ又はその他のプログラム可能デバイスに実装された命令は、フローチャートの１つ若しくは２つ以上のプロセス及び／又はブロック図の１つ若しくは２つ以上のブロックによって指定された機能を実現するためのステップを提供することができる。
【００８６】
当業者ならば、発明の趣旨及び範囲から逸脱することなく様々な変更及び置換が本発明に対してなされえることが明らかである。したがって、これらの変更及び置換が全て、特許請求の範囲に定められた本出願の範囲及びその等価技術の範囲内に入るならば、本発明は、これらの変更及び置換もその範囲に含むことを意図されている。
【００８７】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明の実現には、多くの代替的手法がある。開示された実施形態は、例示的であって、限定的ではない。
【図１】
0005693576.tif 000002
【図２】
0005693576.tif 000003
【図３】
0005693576.tif 000004
【図４】
0005693576.tif 000005
【図５】
0005693576.tif 000006
【図６】
0005693576.tif 000007
【図７】
0005693576.tif 000008
【図８】
0005693576.tif 000009