JP5379800B2 - インスタントメッセージシステム内においてユーザ情報を管理するための方法およびシステム - Google Patents

インスタントメッセージシステム内においてユーザ情報を管理するための方法およびシステム Download PDF

Info

Publication number
JP5379800B2
JP5379800B2 JP2010526126A JP2010526126A JP5379800B2 JP 5379800 B2 JP5379800 B2 JP 5379800B2 JP 2010526126 A JP2010526126 A JP 2010526126A JP 2010526126 A JP2010526126 A JP 2010526126A JP 5379800 B2 JP5379800 B2 JP 5379800B2
Authority
JP
Japan
Prior art keywords
user
buddy
information
access server
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010526126A
Other languages
English (en)
Other versions
JP2010541341A (ja
Inventor
ヨン−ウェイ コン
ジェンシャン モ
ジグアン シュー
ジ シュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2010541341A publication Critical patent/JP2010541341A/ja
Application granted granted Critical
Publication of JP5379800B2 publication Critical patent/JP5379800B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本出願は、参照によって全体として本願に組み込まれる、2007年9月26日に出願された国際特許出願第PCT/CN2007/070786号、名称「A METHOD AND SYSTEM FOR MANAGING THE USER INFORMATION IN THE INSTANT MESSAGING SYSTEM」の優先的利益を主張する。
本開示は、通信およびコンピュータの分野におけるインスタントメッセージ技術に関し、より具体的には、インスタントメッセージシステムにおけるユーザ情報の管理に関する。
インスタントメッセージシステムにおいて、ユーザは、インスタントメッセージシステムにログインする際、そのユーザのバディのオンライン情報を取得することが必要である。一方、ユーザのログイン情報は、このユーザを彼らのバディとして追加したユーザに送信される。ユーザのオンラインステータスが変更されると、ユーザのオンラインステータスの変更に関する情報もまた、このユーザを彼らのバディとして追加したこれらのユーザに送信される必要がある。
ユーザのオンライン情報の管理に関し、現行の技術の下での集中化された管理法は、典型的に、指定のユーザ情報管理サーバを採用して、ユーザのオンライン情報を管理する。ユーザがシステムにログインすると、このユーザのログイン情報は、ユーザ情報管理サーバに送信され、ユーザ情報管理サーバによって管理される。ユーザのログイン中であろうと、ユーザのログイン後のオンラインステータスの変更であろうと、またはユーザ間のインスタントメッセージの交換であろうと、ユーザのコンタクトのオンライン情報に対するいかなる検索も、ユーザ情報管理サーバを経由することが必要である。したがって、ユーザ情報管理サーバの負荷が増大するだけでなく、ネットワークのオーバーヘッドもまた大幅に増大する。
大規模なインスタントメッセージシステム内におけるオンラインユーザの数がますます増加するにつれ、単一のユーザ情報管理サーバでは、もはやすべてのユーザのオンライン情報の集中的管理の需要を満たすことができない。ユーザのオンライン情報は、複数のユーザ情報管理サーバに分散される。したがって、複数のユーザ情報管理サーバにおけるユーザのオンライン情報の検索の実行が必要となり、検索効率の低下をもたらす。ユーザの数がさらに増加するにつれて、ユーザ情報管理サーバの検索効率は、さらに大幅に低下することになる。これは、ユーザのオンライン情報の管理の悪化につながり、これがインスタントメッセージシステム全体のボトルネックとなる。
本開示は、システムの作業負荷の増大、ネットワークのオーバーヘッドの増大、および現行の技術の下でユーザ情報が検索される際のユーザ情報管理サーバへの頻繁なアクセスによって生じる、システム性能への影響という問題に対処するための、インスタントメッセージシステム内でユーザ情報を管理するための方法およびシステムを提供する。
本開示は、以下の技術的スキームを提供する。
インスタントメッセージシステム内でユーザ情報を管理するための方法は、
アクセスサーバが、ログインしているユーザの情報を取得し、保存するステップと、
アクセスサーバが、他のアクセスサーバに、ログインしているユーザのユーザ情報を通知するステップと、
通知を受けたアクセスサーバがログインしているユーザのコンタクトをローカルで有していることを見出すと、ログインしているユーザのユーザ情報を保存するステップと、
アクセスサーバがユーザのコンタクトの情報を取得する必要がある場合、アクセスサーバは、ローカルで、または他のアクセスサーバ内で、検索を実行するステップとを含む。
アクセスサーバはさらに、ログインしているユーザのコンタクトのステータス情報を、ログインしているユーザが使用しているクライアント端末に送信する。ログインしているユーザのユーザ情報をそこに保存して有している他のアクセスサーバは、さらに、ログインしているユーザのステータス情報を、関連するコンタクトに送信する。
ログインしているユーザのコンタクトの情報は、ユーザのバディ情報および逆バディ情報を含む。
好ましくは、ユーザのバディ情報を保存するために使用されるバディ表(バディテーブル)と、ユーザの逆バディ情報を保存するために使用される逆バディ表(逆バディテーブル)は、アクセスサーバ内に確立される。バディ表は、前記ユーザの識別子を、ユーザのローカルバディ情報に関連付ける。逆バディ表は、ユーザの識別子を、ユーザの逆バディ情報に関連付け、ユーザの位置情報を記録する。
ログインしているユーザのコンタクトの情報をアクセスサーバによって取得し保存するステップは、
ユーザがログインしているアクセスサーバが、バディの識別子と、ログインしているユーザの逆バディの識別子を、データベースから見つけるステップと、
アクセスサーバが逆バディ表の中でバディの識別子を検索し、バディの識別子を見つけ次第、関連付けられた逆バディ情報の中に、ログインユーザのユーザ識別子を記録するステップと、
アクセスサーバがバディ表の中で逆バディの識別子を検索し、逆バディの識別子を見つけ次第、ログインユーザのユーザ識別子を、関連するバディ情報の中に記録するステップと、を含む。
好ましくは、バディの識別子が逆バディ表の中に見つからない場合、バディの識別子は、逆バディ表の中に記録され、ログインユーザのユーザ識別子は、逆バディ情報として扱われ、バディの識別子に関連付けられる。
逆バディの識別子がバディ表の中に見つからない場合、逆バディの識別子は、バディ表の中に記録され、ログインしているユーザのユーザ識別子は、バディ情報として扱われ、逆バディの識別子に関連付けられる。
さらに好ましくは、ユーザがログインした後、方法は、
アクセスサーバが、そこのローカルバディ表の中でユーザ識別子を検索し、識別子を見つけ次第、対応するバディ情報から、すべての関連付けられたローカルバディの識別子を取得するステップと、
アクセスサーバの位置情報を、逆バディ表の中の関連付けられたローカルバディの識別子に関連付けられた、それぞれの位置情報の中に記録するステップと、を含む。
好ましくは、アクセスサーバが、ログインしているユーザのユーザ情報を他のアクセスサーバに通知し、通知を受信するアクセスサーバが、ログインしているユーザの識別子を見つけた後、ログインしているユーザの位置情報は、識別子に関連付けられた位置情報の中に記録され、ログインしているユーザのステータス情報は、識別子に関連付けられた逆バディ情報の中のユーザ識別子に基づいて、関連するユーザに送信される。
好ましくは、本方法は、アクセスサーバが、ログインしているユーザのステータス情報を他のアクセスサーバから要求した場合、他のアクセスサーバは、それぞれのローカルバディ表からログインユーザの識別子を見つけ、ログインしているユーザの識別子に関連付けられたバディ情報の中のユーザ識別子を、アクセスサーバに戻すステップをさらに含む。
好ましくは、本方法は、アクセスサーバが、そこのローカル逆バディ表の中で、他のアクセスサーバから戻されたユーザ識別子を検索し、ユーザ識別子を見つけ次第、ユーザの位置情報をそれぞれの関連する位置情報の中に記録するステップをさらに含む。
好ましくは、ログインしているユーザのステータスが変更されると、アクセスサーバは、ユーザのステータス変更に関する情報を、他のアクセスサーバに通知する。それぞれの逆バディ表の中にログインしているユーザ識別子を見つけ次第、通知を受信したアクセスサーバは、識別子に関連付けられた逆バディ情報の中のユーザ識別子に基づいて、ログインユーザにステータス変更に関する情報を、関連するユーザに送信する。
ログインしているユーザのユーザステータスが「ログアウト」に変更されると、アクセスサーバはさらに、ユーザ識別子に関連付けられたログインしているユーザの情報を、現在のサーバ内のバディ表および逆バディ表から削除する。ログインしているユーザの識別子をそれぞれの逆バディ表の中に見つけ次第、通知を受け取ったアクセスサーバはさらに、ログインしているユーザの識別子に関連付けられたそれぞれの位置情報を消去する。
ログインしているユーザが、コンタクトにインスタントメッセージを送信し、アクセスサーバが、そこの逆バディ表の中に前記コンタクトの識別子を見つけた場合、アクセスサーバは、このコンタクトの識別子に関連付けられた位置情報に基づいて、このインスタントメッセージを伝送する。
アクセスサーバが、現在のサーバ内の逆バディ表の中にコンタクトの識別子を見つけられなかった場合、アクセスサーバは、他のアクセスサーバからユーザのコンタクトの情報を要求し、このコンタクトの情報に基づいて、このインスタントメッセージを伝送する。
アクセスサーバは、他のアクセスサーバに、マルチキャストの手段によって、通知および要求を送信する。
通信システムは、
複数のアクセスサーバであって、各アクセスサーバは、ログインしているユーザのコンタクトの情報を取得し、保存し、ログインしているユーザのユーザ情報を他のアクセスサーバに通知し、ユーザのコンタクトの情報を、ローカルでまたは他のアクセスサーバ内で検索し、インスタントメッセージを伝送するために使用される、複数のアクセスサーバ、および、
アクセスサーバを経由してインスタントメッセージシステムにアクセスし、アクセスサーバからコンタクトの情報を見つけ、送信し、アクセスサーバを経由してインスタントメッセージを受信する、ユーザクライアントを含むことを特徴とする。
アクセスサーバは、ユーザのバディ情報を保存するために使用されるバディ表と、ユーザの逆バディ情報を保存するために使用される逆バディ表とを含む。バディ表は、ユーザの識別子と、アクセスサーバに対してローカルであるユーザのバディの情報とを含む。逆バディ表は、ユーザ識別子と、ユーザの逆バディ情報と、ユーザの位置情報とを含む。
本開示は、ユーザのバディ情報を保存するために使用されるバディ表と、ユーザの逆バディ情報を保存するために使用される逆バディ表とをアクセスサーバ内に確立することによって、ユーザ情報を管理し、よってユーザ情報管理サーバ内におけるユーザ情報の検索の頻度を大幅に低減する。ユーザ情報管理サーバの負荷が低減されるだけでなく、ユーザ情報を検索し、ユーザのオンライン情報を管理する性能もまた向上される。さらに、システムのネットワークのオーバーヘッドが軽減される。
本開示に従う、システムの構造的概念図を示す図である。 本開示に従う、バディ表の構造的概念図を示す図である。 本開示に従う、逆バディ表の構造的概念図を示す図である。 本開示に従う、ユーザログインプロセスの取り扱いの時系列図を示す図である。 本開示に従う、ユーザのためのオンラインバディ情報の検索の取り扱いの時系列図を示す図である。 本開示に従う、ユーザのオンラインステータス変更に関する通知の取り扱いの時系列図を示す図である。 本開示に従う、ユーザからメッセージを送信するプロセスのフローチャートを示す図である。 本開示に従う、ユーザからメッセージを送信するプロセスの別のフローチャートを示す図である。 本開示に従う、ユーザログアウトプロセスの取り扱いの時系列図を示す図である。
既存のインスタントメッセージシステム内での、ユーザ情報の検索における効率低下、ユーザ情報管理サーバ上の大きな負荷、ユーザのオンライン情報の管理における性能低下等の問題に対処するため、ユーザの情報およびそのそれぞれのコンタクトを管理するための、ユーザのバディ表および逆バディ表がアクセスサーバ内に確立される。ユーザ情報の検索は、アクセスサーバ上で直接実行することができる。
本開示は、図面を参照して以下で詳細に説明される。
図1Aに示すように、通信システム100Aは、一実施形態では、複数のアクセスサーバと、ネットワークを経由してアクセスサーバに通信可能に結合される、ユーザログインのための複数のクライアント端末とを含む。
各アクセスサーバは、ログインしているユーザのコンタクトの情報を取得して保存し、ログインしているユーザのユーザ情報を他のアクセスサーバに通知し、ユーザのコンタクトの情報をローカルで検索し、インスタントメッセージを伝送する。
アクセスサーバを経由して、ログインしているユーザのクライアント端末は、インスタントメッセージシステムにアクセスし、それぞれのコンタクトの情報を検索し、それぞれのコンタクトにインスタントメッセージを送信する。
ログインすると、ユーザはシステム100Aのサーバに接続し、これは複数の他のサーバとUDPマルチキャストグループを形成する。グループ内の各サーバは、グループ内の他のサーバからマルチキャストUDPメッセージを受信することができる。
ユーザのバディ情報を保存するバディ表と、ユーザの逆バディ情報を保存する逆バディ表が、アクセスサーバ内に確立される。バディ表は、それぞれのユーザ識別子を経由してユーザのローカルバディ情報をリンクする。逆バディ表は、それぞれのユーザ識別子を経由してユーザの逆バディ情報をリンクし、ユーザのそれぞれの位置情報を記録する。
バディ表および逆バディ表は、インデックスとしてユーザIDを採用する。逆バディとは、別のユーザを自身のバディとして追加するユーザをいう。例えば、ユーザAが自身のバディとしてユーザBを追加する。すると、ユーザBはユーザAのバディであり、一方ユーザAはユーザBの逆バディである。所与のサーバ上のバディ表は、そのサーバ上のあるユーザのバディ情報を検索するために使用される。バディ表100Bの構造を、図1Bに示す。バディ表100Bには、ユーザ識別子IDのノードがあり、各ノードは、それぞれのユーザのローカルバディ情報を記録する対応するバディ一覧を有する。
所与のユーザのバディをサーバ上で検索する際、サーバのバディ表の中のこのユーザと関連するノードが、ノードの記録に対応して、ユーザのローカルバディ情報を見つけるように検索される。
全てのユーザがサーバにログインすると、それぞれのユーザの逆バディ情報が取得される。それぞれのユーザが接続されるサーバのバディ表において、ユーザの情報は、それぞれのユーザの逆バディのノードのバディ一覧に記録される。例えば、ユーザAは、ユーザBおよびユーザCのバディである。ユーザAがサーバAを経由してインスタントメッセージシステムにアクセスすると、ユーザAの逆バディ、つまりユーザBおよびユーザCのIDが、データベースから見つけられる。ユーザAの情報は、次にサーバAのバディ表の中にある、ユーザBおよびユーザCのノードのバディ一覧の中に記録される。記録プロセスは、サーバAのバディ表の中でユーザBのノードを検索するステップと、かかるユーザBのノードが存在しない場合、バディ表の中にユーザBのノードを確立するステップと、および、ユーザBのノードのバディ一覧の中でユーザAの情報を記録するステップと、バディ表の中でユーザCのノードを検索するステップと、および、ユーザCのノードがすでに存在する場合、ユーザAの情報を、ユーザCのノードのバディ一覧の中に直接記録するステップとを含む。したがって、ユーザAがインスタントメッセージシステムにログインすると、ユーザAの情報は、サーバAのバディ表の中の、ユーザBおよびユーザCのノードのバディ一覧の中に記録される。
逆バディ表は、あるユーザを彼らのバディとして追加した、所与のサーバのこれらのユーザを検索するために使用される。逆バディ表100Cの構造を、図1Cに示す。逆バディ表は、ユーザ識別子IDのノードと、任意のユーザに関連するサーバ(POS)を示す情報を含む。各個別ノードに対応する一覧は、ユーザのローカル逆バディの情報を記録する。
サーバの逆バディ表の中でユーザのノードを検索することにより、そのサーバ上の記録されたユーザの逆バディの情報、およびユーザ(POS)と関連するそれぞれのサーバの情報を見つけることができる。
全てのユーザがサーバにログインすると、それぞれのユーザのバディ情報が取得される。ユーザが接続しているサーバの逆バディ表の中において、ユーザの情報は、そのユーザのバディのノードの逆バディ一覧の中に記録される。例えば、ユーザAは、ユーザBおよびユーザCの逆バディである。ユーザAおよびユーザBは、サーバAおよびサーバBをそれぞれ経由してインスタントメッセージシステムにアクセスし、ユーザCはオフラインである。ユーザAがサーバAを経由してインスタントメッセージシステムにアクセスすると、ユーザAのバディ、つまりユーザBおよびユーザCのIDが、データベースから見つけられる。ユーザAの情報は、次にサーバAの逆バディ表の中にあるユーザBおよびユーザCのノードの逆バディ一覧の中に記録される。記録プロセスは、ユーザBのノードをサーバAの逆バディ表の中で検索するステップと、ユーザBのノードが存在しない場合、ユーザBのノードを逆バディ表の中に確立するステップと、ユーザBのPOSをサーバBと記録するステップと、および、ユーザAの情報をユーザBのノードの逆バディ一覧に記録するステップと、ユーザCのノードを逆バディ表の中で検索するステップと、ユーザCのノードが存在する場合、ユーザCのPOSとしてブランクを記録するステップと、ユーザAの情報をユーザCのノードの逆バディ一覧に直接記録するステップとを含む。したがって、ユーザAがインスタントメッセージシステムにログインすると、サーバA上のユーザBおよびユーザCの逆バディであるユーザAは、サーバAの逆バディ表の中にあるユーザBおよびユーザCのノードの逆バディ一覧の中に記録される。同時に、ユーザBの対応するサーバおよびユーザCの対応するサーバの情報もまた、逆バディ表の中に記録される。
図2は、サーバへのユーザアクセスを取り扱うプロセス200を示し、以下を含む。
ステップ201:ユーザAは、ユーザAがサーバAに接続すると、サーバAにログイン情報を送信する。
ステップ202:サーバAは、ユーザAのバディおよび逆バディのIDを、データベースから問い合わせる。
ステップ203:サーバAは、データベースから取得したユーザAのバディおよび逆バディのIDを受信する。
ステップ204:バディのIDに基づいて、バディのノードが、サーバAの逆バディ表の中に見つけられる。次に、ユーザAの情報が、バディのノードのそれぞれの逆バディ一覧の中に記録される。逆バディのIDに基づいて、逆バディのノードが、サーバAのバディ表の中に見つけられる。次に、ユーザAの情報が、逆バディのノードのそれぞれのバディ一覧の中に記録される。
ステップ205:ユーザAがオンラインであるという通知を、現在のサーバに対してローカルであるユーザAの逆バディに送信する前に、サーバAは、現在のサーバの逆バディ表の中で、ユーザAを検索する。ユーザAのノードが存在しない場合、現在のサーバにユーザAの逆バディが存在しないことを示し、プロセスは実行されない。ユーザAのノードが存在する場合、ユーザAのノードの逆バディ一覧の中のユーザAのサーバの位置情報は、サーバAに変更される。逆バディのIDは、ユーザAのノードの逆バディ一覧から見つけられる。
ステップ206:サーバAは、見つけられた逆バディのIDに基づいて、ユーザAがオンラインであるという通知を関連するユーザに送信する。
ステップ207:サーバAが、ユーザAがオンラインであるという通知を他のアクセスサーバに送信すると、サーバAは、UDPマルチキャストの手法により、インスタントメッセージシステム内でユーザAのオンライン情報を送信する。
ステップ208:マルチキャストメッセージを受け取り次第、インスタントメッセージシステム内のアクセスサーバBは、ユーザAが現在のサーバの逆バディ表の中に存在するか調べる。ユーザAが存在しない場合、現在のサーバにユーザAの逆バディが存在しないことを示し、プロセスは実行されない。ユーザAが存在する場合、ステップ209が実行される。
ステップ209:サーバBの逆バディ表の中の、ユーザAのサーバの位置情報は、サーバAに修正される。次に、逆バディのIDが、ユーザAのノードの逆バディ一覧の中に見つけられる。
ステップ210:サーバBは、見つけられた逆バディのIDに基づいて、ユーザAがオンラインであるという通知を関連するユーザに送信する。
上述のプロセスを使用して、ユーザAがインスタントメッセージシステムにログインした後、ユーザAが接続しているサーバは、ユーザAの情報およびユーザAのコンタクトの情報を保存する。同時に、ユーザAの逆バディは、ユーザAの情報を取得する。
図3は、ユーザAがインスタントメッセージシステムにログインした後に、バディのオンライン情報を検索するプロセス300を示す。プロセス300は、以下を含む。
ステップ301:ユーザAが、サーバAにログインする。
ステップ302:サーバAが、その中にあるバディ表の中でユーザAのノードを検索し、ノードのバディ一覧の中に記録されたバディのIDを見つける。バディのIDに基づいて、サーバAの逆バディ表の中にバディのノードが見つけられ、これらのノードに記録されるサーバの対応する位置情報が、サーバAに変更される。バディのオンラインステータスに関する情報が調べられる。
ステップ303:サーバAは、現在のサーバに対してローカルである、ユーザAのバディのオンラインステータスに関する情報を、ユーザAに戻す。
ステップ304:サーバAは、マルチキャストの手法により、インスタントメッセージシステム内のユーザAのバディのオンラインステータスに関する情報に対する要求を出す。
ステップ305:マルチキャストメッセージを受け取り次第、インスタントメッセージシステム内のサーバBは、ユーザAのノードが現在のサーバのバディ表の中に存在するか、およびユーザAのバディが現在のサーバに存在するか調べる。存在する場合、ステップ306が実行される。そうでなければ、プロセスは実行されない。
ステップ306:サーバBは、その中で見つけられた、ユーザAのバディのオンラインステータスに関する情報を、サーバAに送信する。
ステップ307:サーバBから戻された、ユーザAのバディの情報に基づいて、サーバAは、その中に逆バディ表を記録し、サーバB上で見つけられたユーザAのバディのサーバのそれぞれの位置情報を、サーバBとする。
ステップ308:サーバAは、サーバBから受信した、ユーザAのバディのオンラインステータスに関する情報を、ユーザAに戻す。
図4は、ユーザのオンラインステータスを、インビジブル(隠れ)ログインに変更するプロセス400を示す。プロセス400は、以下を含む。
ステップ401:アクセスサーバAのユーザAが、オンラインステータスをインビジブルに変更することを示すメッセージをサーバAに出す。
ステップ402:サーバAが、その中のローカルバディ表および逆バディ表の中のユーザAのステータスを、インビジブルログインとして記録する。
ステップ403:サーバAが、ユーザAのノードが現在のサーバの逆バディ表の中に存在するか調べる。かかるノードが存在する場合、逆バディのIDがそのノードの逆バディ一覧の中に見つけられ、ステップ404が続いて実行される。そうでなければ、プロセスは実行されない。
ステップ404:見つけられた逆バディのIDに基づいて、サーバAは、ユーザAのステータス変更を示すメッセージを関連するユーザに送信する。
ステップ405:サーバAは、ユーザAのステータス変更を示すメッセージを、インスタントメッセージシステム内でマルチキャストの手法で送信する。
ステップ406:マルチキャストメッセージを受け取り次第、インスタントメッセージシステム内のサーバBは、ユーザAのノードが現在のサーバの逆バディ表の中に存在するか調べる。ユーザAのノードが現在のサーバの逆バディ表の中に存在する場合、逆バディのIDは、ユーザAのノードの逆バディ一覧の中に見つけられ、ステップ407が実行される。そうでなければ、プロセスは実行されない。
ステップ407:サーバBは、逆バディ表の中に、サーバAをユーザAのサーバの位置情報として記録する。
ステップ408:見つけられた逆バディのIDに基づいて、サーバBは、ユーザAのステータス変更を示すメッセージを関連するユーザに送信する。
図5は、アクセスサーバAのユーザAからバディユーザBにメッセージを送信するプロセス500を示す。プロセス500は、以下を含む。
ステップ501:サーバAと接続するユーザAは、自身のバディであるユーザBにメッセージを送信することを、サーバAに要求する。
ステップ502:ユーザBのノードがサーバAの逆バディ表の中で検索され、そのノードに対応する、ユーザBのサーバの記録された位置情報が調べられる。
ステップ503:ユーザBのサーバの位置情報が、ブランクであるか見るためにチェックされる。ブランクである場合、ユーザBがインスタントメッセージシステムにログインしていないことを示し、ステップ504が実行される。そうでなければ、ステップ505が実行される。
ステップ504:サーバAは、ユーザAがユーザBに送信するメッセージをデータベース内に保存する。プロセス500は終了する。
ステップ505:ユーザBが位置しているサーバが現在のサーバであるかどうかの判断が下される。それが現在のサーバである場合、ステップ506が実行される。そうでなければ、ステップ507が実行される。
ステップ506:サーバAは、(ユーザAから現在のサーバのユーザBに送信される)メッセージをユーザBに直接送信する。プロセス500は終了する。
ステップ507:ユーザBが位置しているサーバがサーバBである場合、サーバAは、(ユーザAからユーザBに送信される)メッセージを、サーバBに伝送する。
ステップ508:サーバAから伝送されたメッセージを受け取り次第、サーバBは、ユーザBとの接続が存在するか判断する。接続が存在する場合、ステップ509が実行される。そうでなければ、ステップ511が実行される。
このステップは、サーバBが、ユーザBのログオフのプロセス中にユーザBにメッセージを送信し、サーバBがユーザBの保存された情報を更新していなかったために生じうるメッセージの損失を回避するために実行される。
ステップ509:サーバBは、サーバAからユーザBに伝送されたメッセージを送信する。
ステップ510:サーバBは、サーバAへのメッセージの受け渡しが成功したことを知らせる通知を送信する。プロセス500は終了する。
ステップ511:サーバBは、サーバAへのメッセージの受け渡しが失敗したことを知らせる通知を送信する。
ステップ512:サーバBは、データベースの中にメッセージを保存する。プロセス500は終了する。
ユーザBがユーザAのバディではないが、(1)サーバAに接続しているユーザのうちの1人であるユーザが、ユーザBを自身のバディとして追加しており、および、(2)ユーザBの情報が、サーバAの逆バディ表の中に存在する場合、ユーザAからユーザBにメッセージ送信するプロセスは、上述のプロセスと同一である。
図6は、ユーザBがユーザAのバディでなく、ユーザBの情報がサーバAの逆バディ表の中に存在しない場合の、ユーザAからユーザBにメッセージを送信するプロセス600を示す。プロセス600は、以下を含む。
ステップ601:サーバAと接続するユーザAは、自身のバディであるユーザBにメッセージを送信することを、サーバAに要求する。
ステップ602:ユーザBのノードがサーバAの逆バディ表の中で検索される。しかしながら、かかるノードは逆バディ表の中に見つからない。
ステップ603:サーバAは、ユーザBとの接続をローカルで検索する。
ステップ604:ユーザBとの接続に関する情報がローカルで存在するかどうかの判断が下される。かかる接続が存在する場合、ステップ605が実行される。そうでなければ、ステップ606が実行される。
ステップ605:サーバAは、メッセージをユーザBに直接送信する。プロセス600は終了する。
ステップ606:サーバAは、マルチキャストの手法により、ユーザBのオンライン情報に対する要求を出す。
ステップ607:サーバAは、ユーザBのオンライン情報が受信されたかを判断する。受信されていない場合、ステップ608が実行される。そうでなければ、ステップ609が実行される。
ステップ608:サーバAは、メッセージをデータベース内に保存する。プロセス600は終了する。
ステップ609:サーバBからユーザBのオンライン情報を受け取り次第、サーバAは、現在のサーバの逆バディ表の中にユーザBのノードを確立し、ノードに対応するユーザBのサーバの位置情報をサーバBであると記録し、関連する逆バディ一覧をブランクのままにする。サーバAは、ユーザAがユーザBに送信したメッセージをサーバBに伝送する。
ステップ610:サーバBは、ユーザBにメッセージを送信する。
ステップ611:サーバBは、サーバAへのメッセージの受け渡しが成功したことを知らせる通知を送信する。プロセス600は終了する。
図7は、ユーザログアウトを取り扱うプロセス700を示す。プロセス700は、以下を含む。
ステップ701:アクセスサーバAのユーザAは、サーバAにログアウトメッセージを出す。
ステップ702:サーバAは、ユーザAのノードが現在のサーバの逆バディ表の中に存在するか調べる。かかるノードが存在する場合、逆バディのIDが、そのノードの逆バディ一覧から見つけられ、ステップ703が実行される。そうでなければ、プロセスは実行されない。
ステップ703:見つけられた逆バディのIDに基づいて、サーバAは、関連するユーザにユーザAのログアウトメッセージを送信する。
ステップ704:見つけられた逆バディのIDに基づいて、サーバAは、現在のサーバのバディ表および逆バディ表の中で、対応するノードを検索する。対応するノードを見つけ次第、対応するノードに記録されていたユーザAの情報は、削除される。さらに、逆バディ表の中にある、ユーザAのノード内のユーザAのサーバの位置情報は、消去される。
ステップ705:サーバAは、ユーザAのログアウトメッセージを、マルチキャストの手法により、インスタントメッセージシステム内で送信する。
ステップ706:マルチキャストメッセージを受け取り次第、インスタントメッセージシステム内のサーバBは、ユーザAのノードが現在のサーバの逆バディ表の中に存在するか調べる。ユーザAのノードが現在のサーバの逆バディ表の中に存在する場合、逆バディのIDは、ユーザAのノードの逆バディ一覧の中に見つけられ、ステップ707が実行される。そうでなければ、プロセスは実行されない。
ステップ707:サーバBは、ユーザAのノードのサーバの位置情報を、逆バディ表から削除する。
ステップ708:見つけられた逆バディのIDに基づいて、サーバBは、関連するユーザにユーザAのログアウトメッセージを送信する。
本開示の開示される方法は、サーバ内にユーザのバディ表および逆バディ表を確立することにより、サーバ内のユーザの情報およびそれぞれのコンタクトを管理し、本来ならばユーザ情報管理サーバへの頻繁なアクセスによって取得される必要があるユーザの情報を、ローカルサーバ内に保存する。したがって、ネットワークのオーバーヘッドが低減されることになるだけでなく、ユーザ情報の検索性能および管理性能もまた向上する。
実際の実施において、メモリの2つのデータ構造がアクセスサーバ内に確立されてもよく、バディ表および逆バディ表に関連づけられるデータを記録するために別々に使用される。本開示の開示される方法は、実際の実施および統計的分析を通して検討され、妥当であると認められている。
インスタントメッセージシステム内の各アクセスサーバが、50000のユーザからアクセスされ、各ユーザが、平均して100のバディおよび100の逆バディを有すると仮定する。すると、50000*(100+100)=10Mの数のバディの情報が保存される。32バイトが各バディの情報用に確保されている場合、合計320Mのメモリが占有される。既存の一般的なサーバが通常2G〜4GのRAMを有することを念頭に置くと、RAMを使用することはゆえに妥当である。さらに、バディ表および逆バディ表のためのインデックスとしてIDが使用されるため、IDはメモリプール内に置かれ、続いてポインタによって表されることができ、これにより、メモリの実際の占有をさらに低減する。
さらに、本開示を使用すると、ネットワークのオーバーヘッドを低減しうる。既存の技術において、ユーザのオンライン情報が変更されると、ユーザの情報がユーザ情報管理サーバに送信されることが必要であり、ネットワーク送信の1タイムユニットを占有する。本開示の開示される方法が使用されると、ユーザのオンライン情報の変更は、UDPマルチキャストを経由して各同等のアクセスサーバに送信され、ネットワーク送信の1タイムユニットを占有する。
さらに、ユーザの情報が検索されると、既存の技術は、ユーザ情報管理サーバの中を探してユーザが接続しているアクセスサーバを見つけることを要する。複数のユーザ情報管理サーバが存在する場合、関連する検索がこれらのサーバ内で実行される必要がある。これは、ネットワークのオーバーヘッドを増大させるだけでなく、検索効率を低下させる。本開示の例示的実施形態は、ユーザ情報がアクセスサーバ内で保存されることを可能にし、ゆえに、検索時間を省き、ネットワークのオーバーヘッドを低減し、検索効率を向上させる。
本開示において開示される方法はまた、ユーザクライアントにP2Pを経由してメッセージを送信させる大規模なインスタントメッセージシステム内における使用にも適する。対応する方法が本願に記載のものと同一の原則に従うため、対応する方法はよって記載されない。
明らかに、当業者であれば、本開示の精神および範囲を逸脱することなく、本開示を多くの異なる手法で変更または修正することができる。したがって、これらの変更および変形が本開示の請求項およびその同等物の範囲内に入るならば、本開示は、それらのすべての変更および変形を網羅することを意図する。
適用例1:インスタントメッセージシステム内でユーザ情報を管理するための方法であって、アクセスサーバによって、前記アクセスサーバにログインしているユーザのコンタクトの情報を取得し保存するステップと、前記アクセスサーバによって、他のアクセスサーバのうちの少なくとも1つに前記ユーザのユーザ情報を通知するために通知を送信するステップと、前記通知を受け取る前記少なくとも1つの他のアクセスサーバによって、前記ユーザの任意のコンタクトがそこに存在することが判断され次第、前記ユーザの前記ユーザ情報を保存するステップと、前記アクセスサーバが、前記ユーザの前記コンタクトの前記情報を取得する必要がある場合、前記アクセスサーバ内でローカルに、または前記少なくとも1つの他のアクセスサーバ内で検索を実行するステップとを含む、方法。
適用例2:前記アクセスサーバによって、前記ユーザのクライアント端末に、前記ユーザの前記コンタクトのステータス情報を送信するステップと、前記少なくとも1つの他のアクセスサーバによって、前記ユーザのステータス情報を、関連するコンタクトに送信するステップとをさらに含む適用例1に記載の方法。
適用例3:前記ユーザの前記コンタクトの前記情報は、前記ユーザのバディ情報と、逆バディ情報とを含む適用例2に記載の方法。
適用例4:前記アクセスサーバ内に、前記ユーザの前記バディ情報を保存するバディ表と、前記ユーザの前記逆バディ情報を保存する逆バディ表とを確立するステップと、
前記ユーザの識別子を、前記バディ表の中の前記ユーザのローカルバディ情報と関連付けるステップと、前記ユーザの前記識別子を、前記ユーザのローカル逆バディ情報と関連付けるステップと、前記ユーザの位置情報を、前記逆バディ表の中に記録するステップと、をさらに含む適用例3に記載の方法。
適用例5:前記アクセスサーバによって、前記ユーザの前記コンタクトの前記情報を取得し保存する前記ステップは、前記ユーザがログオンしている前記アクセスサーバによって、前記ユーザのバディ識別子および逆バディの識別子をデータベースから見つけるステップと、前記アクセスサーバによって、前記逆バディ表の中の前記バディ識別子を見つけるステップと、前記バディ識別子を見つけ次第、前記ユーザの前記ユーザ識別子を、それぞれの関連付けられた逆バディ情報の中に記録するステップと、前記アクセスサーバの前記バディ表の中で、前記逆バディ識別子を見つけるステップと、前記逆バディ識別子を見つけ次第、それぞれの関連付けられたバディ情報の中に前記ユーザの前記ユーザ識別子を記録するステップと、を含む適用例4に記載の方法。
適用例6:前記バディ識別子が前記逆バディ表の中に見つからない場合、前記逆バディ表の中にバディ識別子を記録するステップと、前記ユーザの前記ユーザ識別子を、逆バディ情報として扱うステップと、前記バディ識別子を、前記ユーザ識別子に関連付けるステップと、をさらに含む適用例5に記載の方法。
適用例7:逆バディ識別子が前記バディ表の中に見つからない場合、前記バディ表の中に前記逆バディ識別子を記録するステップと、前記ユーザの前記ユーザ識別子を、バディ情報として扱うステップと、前記逆バディ識別子を、前記ユーザ識別子に関連付けるステップと、をさらに含む適用例5に記載の方法。
適用例8:前記方法は、前記ユーザが前記アクセスサーバにログインした後、前記アクセスサーバによって、前記ローカルバディ表の中で、前記ユーザの前記識別子を検索するステップと、前記識別子を見つけ次第、対応するバディ情報から、すべてのローカルバディ識別子を取得するステップと、前記アクセスサーバの位置情報を、前記逆バディ表の中の前記ローカルバディ識別子に関連付けられた、それぞれの位置情報の中に記録するステップと、をさらに含む、適用例5に記載の方法。
適用例9:前記アクセスサーバが、前記ユーザの前記ユーザ情報を、前記少なくとも1つの他のアクセスサーバに通知した後、および前記少なくとも1つの他のアクセスサーバが、前記ユーザの前記識別子を見つけた後、前記少なくとも1つのアクセスサーバは、前記識別子に関連付けられた位置情報の中に、前記ユーザの前記位置情報を記録し、前記逆バディ情報の中の前記識別子に関連付けられたユーザ識別子に基づいて、前記ユーザの前記ステータス情報を、関連するユーザに送信する、適用例8に記載の方法。
適用例10:前記アクセスサーバが、前記少なくとも1つの他のアクセスサーバから前記ユーザの前記ステータス情報を要求した場合、前記少なくとも1つの他のアクセスサーバが、それぞれのローカルバディ表の中で前記ユーザの前記識別子を検索するステップと、関連付けられたバディ情報の中のユーザ識別子を、前記アクセスサーバに戻すステップと、をさらに含む適用例8に記載の方法。
適用例11:前記アクセスサーバが、前記少なくとも1つの他のアクセスサーバによって戻された前記ユーザ識別子を、前記ローカル逆バディ表の中で検索するステップと、前記ユーザ識別子を見つけ次第、前記ユーザ識別子と関連付けられたユーザの位置情報を、それぞれの関連付けられた位置情報の中に記録するステップと、をさらに含む適用例10に記載の方法。
適用例12:前記ユーザのステータスの変更が発生した場合、前記アクセスサーバが、前記ユーザの前記ステータスの変更を、前記少なくとも1つの他のアクセスサーバに通知するステップと、
前記少なくとも1つの他のアクセスサーバが、それぞれの逆バディ表の中に、前記ユーザの前記識別子を見つけた場合、前記識別子に関連付けられた逆バディ情報の中の、前記ユーザ識別子に基づいて、前記ユーザの前記ステータス変更の情報を、関連するユーザに送信するステップと、をさらに含む適用例5及至11のいずれか1項に記載の方法。
適用例13:前記ユーザの前記ステータスがログアウトに変更されると、前記アクセスサーバが、前記ユーザ識別子に関連付けられた前記ユーザの情報を、前記アクセスサーバ内の前記バディ表および前記逆バディ表から削除するステップと、それぞれの逆バディ表の中に、前記ユーザの前記識別子を見つけ次第、前記少なくとも1つの他のアクセスサーバが、前記識別子に関連付けられたそれぞれの位置情報を消去するステップと、をさらに含む適用例12に記載の方法。
適用例14:前記ユーザが、あるコンタクトにインスタントメッセージを送信し、前記アクセスサーバが、その内部にある前記逆バディ表に前記コンタクトの識別子を見つけた場合、前記アクセスサーバが、前記コンタクトの前記識別子に関連付けられた位置情報に基づいて、前記インスタントメッセージを伝送するステップをさらに含む適用例12に記載の方法。
適用例15:前記アクセスサーバが、前記アクセスサーバ内にある前記逆バディ表の中に、前記コンタクトの前記識別子を見つけることができない場合、前記アクセスサーバが、前記少なくとも1つの他のアクセスサーバから、前記ユーザの前記コンタクトの情報を要求するステップと、前記コンタクトの情報に基づいて、前記インスタントメッセージを伝送するステップと、をさらに含む適用例14に記載の方法。
適用例16:前記アクセスサーバは、前記少なくとも1つの他のアクセスサーバに、マルチキャストによって通知および要求を送信する適用例12に記載の方法。
適用例17:通信システムであって、第1のアクセスサーバと、第2のアクセスサーバとを備え、前記第2のアクセスサーバは、ユーザがログインすることを可能にし、前記ユーザのコンタクトの情報を取得して保存し、前記ユーザのユーザ情報を前記第1のサーバに提供し、前記ユーザの前記コンタクトの前記情報を、ローカルで検索するか、または前記第1のアクセスサーバに、前記ユーザの前記コンタクトの前記情報を検索させ、インスタントメッセージを前記第1のアクセスサーバに伝送し、前記第1のアクセスサーバからインスタントメッセージを受信する、通信システム。
適用例18:前記第2のアクセスサーバは、前記ユーザのバディ情報を保存するバディ表と、前記ユーザの逆バディ情報を保存する逆バディ表とを含み、前記バディ表は、前記ユーザの識別子と、前記第2のアクセスサーバに対してローカルである前記ユーザのバディの情報とを含み、前記逆バディ表は、前記ユーザの前記識別子、前記ユーザの逆バディ情報と、前記ユーザの位置情報とを含む、適用例17に記載のシステム。

Claims (16)

  1. インスタントメッセージシステム内でユーザ情報を管理するための方法であって、
    第1のアクセスサーバによって、前記第1のアクセスサーバにログインしているユーザのバディ情報および逆バディ情報を取得し保存するステップと、
    前記バディ情報および前記逆バディ情報、並びに前記ユーザのユーザ情報の少なくとも一部に基づいて、前記第1のアクセスサーバにローカルに格納されている第1のバディ表と第1の逆バディ表とを更新するステップと、前記ユーザ情報は前記ユーザの識別情報を含み、前記第1のバディ表は前記ユーザによってバディとして加えられた前記第1のアクセスサーバにおける前記ユーザのバディの情報である前記バディ情報を格納し、前記第1の逆バディ表は前記ユーザの逆バディの情報である前記逆バディ情報を格納し、前記逆バディは前記ユーザを自身のバディとして加えるユーザであり、
    前記第1のアクセスサーバによって、第2のアクセスサーバを含む他のアクセスサーバのうちの少なくとも1つに前記ユーザのユーザ情報を通知するために通知を送信するステップと、前記第2のアクセスサーバは第2のバディ表と第2の逆バディ表とをローカルに格納し、前記第2のバディ表は前記ユーザによってバディとして加えられた前記第2のアクセスサーバにおける前記ユーザのバディの情報であるバディ情報を格納し、前記第2の逆バディ表は前記ユーザの逆バディの情報である逆バディ情報を格納し、
    前記ユーザの前記識別情報が前記第2のアクセスサーバの前記第2の逆バディ表に存在するか否かを判断するステップと、
    前記第2のアクセスサーバによって前記ユーザの前記識別情報が前記第2の逆バディ表に存在すると判断されると、前記通知を受け取る前記第2のアクセスサーバによって、前記ユーザの前記ユーザ情報を保存するステップと、を含む、方法。
  2. 前記第2のアクセスサーバによって、前記ユーザのステータス情報を、関連する逆バディに送信するステップと
    をさらに含む請求項1に記載の方法。
  3. 前記第1のアクセスサーバ内に、前記第1のバディ表と、前記第1の逆バディ表とを確立するステップと、
    前記ユーザのユーザ識別子を、前記第1のバディ表の中の前記ユーザのローカルバディ情報と関連付けるステップと、
    前記ユーザの前記ユーザ識別子を、前記ユーザのローカル逆バディ情報と関連付けるステップと、
    前記ユーザの位置情報を、前記第1の逆バディ表の中に記録するステップと、
    をさらに含む請求項に記載の方法。
  4. 前記第1のアクセスサーバによって、前記ユーザの前記バディ情報および前記逆バディ情報を取得し保存する前記ステップは、
    前記ユーザがログオンしている前記第1のアクセスサーバによって、前記ユーザのバディ識別子および逆バディ識別子をデータベースから見つけるステップと、
    前記第1のアクセスサーバによって、前記第1の逆バディ表の中の前記バディ識別子を見つけるステップと、
    前記バディ識別子を見つけ次第、前記ユーザの前記ユーザ識別子を、それぞれの関連付けられた逆バディ情報の中に記録するステップと、
    前記第1のアクセスサーバの前記第1のバディ表の中で、前記逆バディ識別子を見つけるステップと、
    前記逆バディ識別子を見つけ次第、それぞれの関連付けられたバディ情報の中に前記ユーザの前記ユーザ識別子を記録するステップと、
    を含む請求項に記載の方法。
  5. 前記バディ識別子が前記第1の逆バディ表の中に見つからない場合、前記第1の逆バディ表の中にバディ識別子を記録するステップと、
    前記ユーザの前記ユーザ識別子を、逆バディ情報として扱うステップと、
    前記バディ識別子を、前記ユーザ識別子に関連付けるステップと、
    をさらに含む請求項に記載の方法。
  6. 逆バディ識別子が前記第1のバディ表の中に見つからない場合、前記第1のバディ表の中に前記逆バディ識別子を記録するステップと、
    前記ユーザの前記ユーザ識別子を、バディ情報として扱うステップと、
    前記逆バディ識別子を、前記ユーザ識別子に関連付けるステップと、
    をさらに含む請求項に記載の方法。
  7. 前記方法は、前記ユーザが前記アクセスサーバにログインした後、
    前記第1のアクセスサーバによって、前記第1のバディ表の中で、前記ユーザの前記ユーザ識別子を検索するステップと、
    前記ユーザ識別子を見つけ次第、対応するバディ情報から、すべてのローカルバディ識別子を取得するステップと、
    前記第1のアクセスサーバの位置情報を、前記第1の逆バディ表の中の前記ローカルバディ識別子に関連付けられた、それぞれの位置情報の中に記録するステップと、
    をさらに含む、請求項に記載の方法。
  8. 前記第1のアクセスサーバが、前記ユーザの前記ユーザ情報を、前記第2のアクセスサーバに通知した後、および前記第2のアクセスサーバが、前記ユーザの前記ユーザ識別子を見つけた後、前記第2のアクセスサーバは、前記ユーザ識別子に関連付けられた位置情報の中に、前記ユーザの前記位置情報を記録し、前記逆バディ情報の中の前記ユーザ識別子に関連付けられたユーザ識別子に基づいて、前記ユーザの前記ステータス情報を、関連するユーザに送信する、請求項に記載の方法。
  9. 前記第1のアクセスサーバが、前記第2のアクセスサーバから前記ユーザの前記ステータス情報を要求した場合、前記第2のアクセスサーバが、前記第2のバディ表の中で前記ユーザの前記ユーザ識別子を検索するステップと、関連付けられたバディ情報の中のユーザ識別子を、前記第1のアクセスサーバに戻すステップと、をさらに含む請求項に記載の方法。
  10. 前記第1のアクセスサーバが、前記第2のアクセスサーバによって戻された前記ユーザ識別子を、前記第1の逆バディ表の中で検索するステップと、
    前記ユーザ識別子を見つけ次第、前記ユーザ識別子と関連付けられたユーザの位置情報を、それぞれの関連付けられた位置情報の中に記録するステップと、をさらに含む請求項に記載の方法。
  11. 前記ユーザのステータスの変更が発生した場合、前記第1のアクセスサーバが、前記ユーザの前記ステータスの変更を、前記第2のアクセスサーバに通知するステップと、
    前記第2のアクセスサーバが、前記第2の逆バディ表の中に、前記ユーザの前記識別子を見つけた場合、前記ユーザ識別子に関連付けられた逆バディ情報の中の、前記ユーザ識別子に基づいて、前記ユーザの前記ステータス変更の情報を、関連するユーザに送信するステップと、
    をさらに含む請求項から10のいずれか1項に記載の方法。
  12. 前記ユーザの前記ステータスがログアウトに変更されると、前記第1のアクセスサーバが、前記ユーザ識別子に関連付けられた前記ユーザの情報を、前記第1のアクセスサーバ内の前記第1のバディ表および前記第1の逆バディ表から削除するステップと、
    前記第2の逆バディ表の中に、前記ユーザの前記ユーザ識別子を見つけ次第、前記第2のアクセスサーバが、前記ユーザ識別子に関連付けられたそれぞれの位置情報を消去するステップと、
    をさらに含む請求項11に記載の方法。
  13. 前記ユーザが、あるバディにインスタントメッセージを送信し、前記第1のアクセスサーバが、その内部にある前記第1の逆バディ表に前記バディの識別子であるバディ識別子を見つけた場合、前記第1のアクセスサーバが、前記バディ識別子に関連付けられた位置情報に基づいて、前記インスタントメッセージを伝送するステップをさらに含む請求項11に記載の方法。
  14. 前記第1のアクセスサーバが、前記第1のアクセスサーバ内にある前記第1の逆バディ表の中に、前記バディ識別子を見つけることができない場合、前記第1のアクセスサーバが、前記第2のアクセスサーバから、前記ユーザの前記バディの情報を要求するステップと、前記第2のアクセスサーバから前記バディの情報を受信するステップと、受信した前記バディの情報に基づいて、前記インスタントメッセージを伝送するステップと、をさらに含む請求項13に記載の方法。
  15. 前記第1のアクセスサーバは、前記第2のアクセスサーバに、マルチキャストによって通知および要求を送信する請求項11に記載の方法。
  16. 通信システムであって、
    第1のバディ表と第1の逆バディ表をローカルに格納する第1のアクセスサーバと、前記第1のバディ表は、前記ユーザの識別子であるユーザ識別子と、前記第1のアクセスサーバに対してローカルである前記ユーザのバディの情報であるバディ情報とを含み、前記第1の逆バディ表は、前記ユーザの前記ユーザ識別子、前記ユーザの逆バディの情報である逆バディ情報と、前記ユーザの位置情報とを含み、前記逆バディは、前記ユーザを自身のバディとして追加するユーザであり、
    第2のアクセスサーバとを備え、
    前記第2のアクセスサーバは、
    ユーザがログインすることを可能にし、
    前記ユーザのバディ情報および逆バディ情報を取得して保存し、
    前記バディ情報および前記逆バディ情報、並びに前記ユーザのユーザ情報の少なくとも一部に基づいて、前記第2のアクセスサーバにローカルに格納されている第2のバディ表と第2の逆バディ表とを更新し、前記ユーザ情報は前記ユーザの識別子を含み、前記第2のバディ表は、前記ユーザの識別子であるユーザ識別子と、前記第2のアクセスサーバに対してローカルである前記ユーザのバディの情報であるバディ情報とを含み、前記第2の逆バディ表は、前記ユーザの前記ユーザ識別子、前記ユーザの逆バディ情報と、前記ユーザの位置情報とを含み、
    前記ユーザの前記ユーザ情報の通知を前記第1のアクセスサーバを含む他の複数のアクセスサーバに送信し、
    前記ユーザの前記バディ情報および前記逆バディ情報を、ローカルで検索するか、または前記第1のアクセスサーバに、前記ユーザの前記バディ情報および前記逆バディ情報を検索させ、
    インスタントメッセージを前記第1のアクセスサーバに伝送し、
    前記第1のアクセスサーバからインスタントメッセージを受信する、
    通信システム。
JP2010526126A 2007-09-26 2007-09-26 インスタントメッセージシステム内においてユーザ情報を管理するための方法およびシステム Active JP5379800B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2007/070786 WO2009039702A1 (fr) 2007-09-26 2007-09-26 Procédé et système pour gérer les informations d'utilisateur dans le système de messagerie instantanée

Publications (2)

Publication Number Publication Date
JP2010541341A JP2010541341A (ja) 2010-12-24
JP5379800B2 true JP5379800B2 (ja) 2013-12-25

Family

ID=40510733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010526126A Active JP5379800B2 (ja) 2007-09-26 2007-09-26 インスタントメッセージシステム内においてユーザ情報を管理するための方法およびシステム

Country Status (4)

Country Link
US (1) US8554785B2 (ja)
EP (1) EP2194679B1 (ja)
JP (1) JP5379800B2 (ja)
WO (1) WO2009039702A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200357198A1 (en) * 2019-05-09 2020-11-12 Toyota Motor North America, Inc. Vehicle sensor tracking for customized vehicle profile
CN114021055A (zh) * 2021-10-29 2022-02-08 上海米哈游璃月科技有限公司 一种好友信息获取方法、装置、设备及存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643360B1 (en) 2000-01-31 2003-11-04 Cisco Technology, Inc. Check for pending e-mail using caller ID and selective answer ring
CA2439373A1 (en) * 2001-03-14 2002-09-19 Nokia Corporation Realization of presence management
US6993327B2 (en) * 2001-10-29 2006-01-31 Motorola, Inc. Multicast distribution of presence information for an instant messaging system
JP4381655B2 (ja) * 2002-05-31 2009-12-09 株式会社日立製作所 ストレージシステム、ストレージ装置、及び該ストレージ装置を利用した情報共有方法
JP3980421B2 (ja) * 2002-06-27 2007-09-26 富士通株式会社 プレゼンス管理方法及び装置
AU2003269636A1 (en) 2002-09-19 2004-04-08 Research In Motion Limited Apparatus and method of wireless instant messaging
US7949712B2 (en) * 2003-02-10 2011-05-24 At&T Intellectual Property I, L.P. High availability presence engine for instant messaging
FR2851704A1 (fr) 2003-02-20 2004-08-27 France Telecom Procede de gestion de presence selective pour service de messagerie instantanee au sein d'un reseau de telecommunication tel que le reseau internet
US20040205175A1 (en) * 2003-03-11 2004-10-14 Kammerer Stephen J. Communications system for monitoring user interactivity
CN1910646A (zh) * 2003-05-20 2007-02-07 美国在线服务公司 存在和地理位置通知
US7317716B1 (en) 2003-07-25 2008-01-08 Verizon Laboratories Inc. Methods and systems for presence-based telephony communications
DE10346277A1 (de) * 2003-10-06 2005-04-28 Siemens Ag Verfahren und Vorrichtung zum Aktualisieren einer Teilnehmerliste in einem Kommunikationssystem
US7529801B2 (en) * 2003-11-06 2009-05-05 International Business Machines Corporation Method and system for multiple instant messaging login sessions
US20050198124A1 (en) * 2004-03-03 2005-09-08 Mccarthy Shawn J. System and method for embedded instant messaging collaboration
US7120455B1 (en) * 2004-05-20 2006-10-10 Cellco Partnership Method and system for mobile instant messaging using multiple interfaces
US7487214B2 (en) * 2004-11-10 2009-02-03 Microsoft Corporation Integrated electronic mail and instant messaging application
US20060168037A1 (en) 2004-12-21 2006-07-27 Alcatel Systems and methods for handling presence messages
JP2006209193A (ja) 2005-01-25 2006-08-10 Nec Corp 配信先管理装置、配信先管理方法およびプログラム
US20060195532A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Client-side presence documentation
JP4591117B2 (ja) 2005-03-03 2010-12-01 株式会社日立製作所 プレゼンス情報配布システム
US20060288077A1 (en) 2005-06-16 2006-12-21 Mediatek Inc. Systems and methods for instant messaging
US9053461B2 (en) * 2005-10-07 2015-06-09 Yahoo! Inc. Instant messaging interoperability between disparate service providers
JP2007142610A (ja) * 2005-11-16 2007-06-07 Nec Corp 移動通信システム、呼制御サーバ及び呼制御方法並びにプログラム
US7702753B2 (en) * 2005-11-21 2010-04-20 Accenture Global Services Gmbh Unified directory and presence system for universal access to telecommunications services
US20070124386A1 (en) 2005-11-21 2007-05-31 Research In Motion Limited Method for regulating instant messaging traffic
WO2007092310A2 (en) * 2006-02-03 2007-08-16 Cibernet Corporation System and method for electronically facilitating, recording, and tracking transactions
CN101090371B (zh) * 2006-06-14 2011-02-02 阿里巴巴集团控股有限公司 一种即时通讯系统中用户信息管理的方法及系统
WO2008064483A1 (en) 2006-11-30 2008-06-05 James Andrew Wanless A method and system for providing automated real-time contact information
US8095603B2 (en) 2007-02-21 2012-01-10 Research In Motion Limited Efficient transmission of presence update information to presence service clients
US20090049190A1 (en) * 2007-08-16 2009-02-19 Yahoo!, Inc. Multiple points of presence in real time communications
US20090083382A1 (en) 2007-09-24 2009-03-26 Yahoo! Inc. Real-time presence of online contacts

Also Published As

Publication number Publication date
EP2194679B1 (en) 2019-05-15
WO2009039702A1 (fr) 2009-04-02
US20100306246A1 (en) 2010-12-02
JP2010541341A (ja) 2010-12-24
EP2194679A4 (en) 2014-05-21
EP2194679A1 (en) 2010-06-09
US8554785B2 (en) 2013-10-08

Similar Documents

Publication Publication Date Title
JP5398836B2 (ja) メッセージ処理のための方法及びシステム
CN101090371B (zh) 一种即时通讯系统中用户信息管理的方法及系统
KR100545874B1 (ko) 복수의 그룹에 속하는 로케이션 서버를 이용한 사용자의로그 정보 관리 방법 및 시스템
CN105357246B (zh) 基于信息中心网络的缓存方法和系统
CN1253641A (zh) 在一个多点广播网络中用于管理多点广播分组成员的系统、装置与方法
US8880665B2 (en) Nonstop service system using voting, and information updating and providing method in the same
WO2011069387A1 (zh) 一种网络节点及其数据查询方法和索引更新方法
CN108540367B (zh) 一种消息处理方法及系统
EP2316205B1 (en) Message routing platform
US7334038B1 (en) Broadband service control network
JP5379800B2 (ja) インスタントメッセージシステム内においてユーザ情報を管理するための方法およびシステム
JP2013105227A (ja) P2P型Webプロキシネットワークシステム
US20200341968A1 (en) Differential Update of Local Cache from Central Database
US20200195720A1 (en) Communication device and communication method for processing meta data
KR20080083530A (ko) Ip-pbx의 그룹 운영자용 웹 페이지를 이용하여가입자그룹 데이터를 관리하는 시스템 및 방법
WO2006137704A1 (en) Method and system for checking message status
CN108093147A (zh) 一种分布式多级调度方法和设备
JP5071990B2 (ja) データベース装置、データベースシステム、キャッシュメンテナンス方法およびそのプログラム
CN118612175A (zh) 离线消息传输方法、装置、电子设备及可读介质
JP2008165833A (ja) サーバ分散管理方法
JP2006031592A (ja) メッセージ通信方法、装置及びプログラム
JP2002259336A (ja) 計算機装置、計算機集合管理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120525

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120824

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120824

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120824

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130927

R150 Certificate of patent or registration of utility model

Ref document number: 5379800

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250