(57)【要約】  本発明は、メッセージを計算機システムに配信するメッセージ配信システムとその方法に関する。システムは、配信すべきメッセージを保有するメッセージサーバに接触することなく彼又は彼女が新たなメッセージの受信者であるか否かを使用者がチェックできるように、メッセージＩＤ構造及びメッセージＩＤデータベースを使用する。したがって、使用者のメッセージチェックに関する資源の負担は異なる計算機システムに委ねられ、メッセージサーバがその資源をメッセージの受信と配信に向けることを可能とする。
2009516885.tif 000002
【特許請求の範囲】
【請求項１】
メッセージサーバであって、
第１計算機システムからメッセージを受信し、メッセージの受信に応答してメッセージＩＤを提供し、メッセージＩＤは受信メッセージを識別するために形成されるものであり、
メッセージＩＤをメッセージＩＤデータベースに送信し、
第２計算機システムからのメッセージ要求の受信に応答して第２計算機システムにメッセージを送信する
ように構成されているもの、
第２計算機システムであって、
メッセージ配信の準備ができているか否かを決定するためにメッセージサーバよりむしろメッセージＩＤデータベースに接触する
ように構成されているもの、
メッセージＩＤデータベースであって、
第２計算機システムからのメッセージＩＤ問い合わせ受信に応答して第２計算機システムにメッセージＩＤ応答を提供し、メッセージＩＤ応答はメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成っている
ように構成されているもの
から成る、メッセージ配信システム。
【請求項２】
更に、第１計算機システムから成る、請求項１記載のメッセージ配信システム。
【請求項３】
メッセージサーバからメッセージを受信する計算機システムであって、
メッセージサーバよりむしろメッセージＩＤデータベースにメッセージＩＤ問い合わせを送るところ、メッセージＩＤデータベースはメッセージＩＤを記憶してメッセージＩＤ問い合わせ受信に応答して計算機システムにメッセージＩＤ応答を送信するように構成されており、メッセージＩＤ応答はメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成り、
メッセージＩＤデータベースからメッセージＩＤ応答を受信し、
メッセージＩＤ応答の受信時にメッセージサーバからメッセージを取り出す準備ができていることをメッセージＩＤ応答が示しているか否かを決定し、肯定的な場合には、そこで
メッセージサーバが計算機システムにメッセージを送信するようにメッセージサーバにメッセージ要求を送信して要求を行い、
メッセージサーバから送信されたメッセージを受信する、
ように構成されている、システム。
【請求項４】
メッセージＩＤ応答がメッセージサーバの特定メッセージを識別するメッセージＩＤを含んでいる、請求項３記載のシステム。
【請求項５】
送信計算機システムからの１又は複数のメッセージを処理する方法であって、
メッセージサーバが、送信計算機システムから送信される１又は複数のメッセージの受信に応答して、１又は複数の受信メッセージを識別する１又は複数のメッセージＩＤを提供すること、
メッセージサーバが１又は複数のメッセージＩＤの少なくとも１つをメッセージＩＤデータベースに送信すること、
メッセージＩＤデータベースが送信された少なくとも１つのメッセージＩＤを受信すること、
受信計算機システムが、メッセージ配信可能か否かを決定するために、メッセージサーバよりむしろメッセージＩＤデータベースに接触すること、
の段階から成る、方法。
【請求項６】
方法は、更に、
送信計算機システムがメッセージサーバに１又は複数のメッセージを送信すること、
の段階から成る、請求項５記載の方法。
【請求項７】
少なくとも１つのメッセージＩＤをメッセージサーバからメッセージＩＤデータベースに送信する段階は、
メッセージサーバが送信計算機システムに少なくとも１つのメッセージＩＤを送信すること、
送信計算機システムが少なくとも１つのメッセージＩＤをメッセージＩＤデータベースに送信すること、
から成る、請求項５又は６記載の方法。
【請求項８】
方法は、更に、
受信計算機システムがメッセージＩＤデータベースにメッセージＩＤ問い合わせを送り、これに対してメッセージＩＤデータベースがメッセージＩＤ応答を提供し、メッセージＩＤ応答がメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成ること、
の段階から成る、請求項５から７までのいずれかに記載の方法。
【請求項９】
方法は、更に、
メッセージサーバから１又は複数のメッセージの少なくとも１つを取り出す準備ができていることをメッセージＩＤ応答が示しているか否かを受信計算機システムが決定し、肯定的な場合には、そこで、
受信計算機システムがメッセージサーバにメッセージ要求を出し、
メッセージサーバがメッセージ要求受信に応答して第２計算機システムに要求されたメッセージを送信し、
受信計算機システムが要求したメッセージを受信する、
段階から成る、請求項８記載の方法。
【請求項１０】
受信計算機システムがメッセージサーバから受信したメッセージに対応するメッセージＩＤを受信計算機システムで局所的に記憶する、請求項８又は９記載の方法。
【請求項１１】
受信計算機システムでメッセージサーバからメッセージを受信する方法であって、
受信計算機システムが、メッセージサーバよりむしろメッセージＩＤデータベースにメッセージＩＤ問い合わせを送信するところ、メッセージＩＤデータベースがメッセージＩＤを記憶してメッセージＩＤ問い合わせ受信に応答して受信計算機システムにメッセージＩＤ応答を送信するように構成されており、メッセージＩＤ応答がメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成り、
受信計算機システムがメッセージＩＤデータベースからメッセージＩＤ応答を受信し、
メッセージサーバからメッセージを取り出す準備ができていることをメッセージＩＤ応答が示しているか否かを受信計算機システムが決定するところ、メッセージサーバが受信計算機システムからのメッセージ要求受信に応答して受信計算機システムにメッセージを送信するように構成されており、メッセージサーバからメッセージを取り出す準備ができている場合、そこで、
受信計算機システムがメッセージ要求のためにメッセージサーバにメッセージ要求を送信し、
メッセージサーバがメッセージ要求受信に応答して受信計算機システムにメッセージを送信し、
受信計算機システムがメッセージを受信する、
段階から成る、方法。
【請求項１２】
受信計算機システムは、受信計算機システムが未だメッセージの要求と受信を行っていない場合にのみ、メッセージを要求する、請求項１１記載の方法。
【請求項１３】
方法は、更に、受信計算機システムがメッセージ受信時にメッセージに関連するメッセージＩＤを記憶し、メッセージＩＤがメッセージサーバでメッセージを識別するものである、段階から成る、請求項１１記載の方法。
【請求項１４】
受信計算機システムで対応するメッセージＩＤが利用可能でない場合にのみ、受信計算機システムがメッセージを要求する、請求項１３記載の方法。
【請求項１５】
メッセージＩＤデータベースとメッセージサーバは資源が相互に独立している、請求項１から４までのいずれかに記載のシステム。
【請求項１６】
メッセージＩＤデータベースがピアツーピアデータベースのような分散データベースである、請求項１から４まで及び１５のいずれかに記載のシステム。
【請求項１７】
メッセージＩＤデータベースとメッセージサーバは資源が相互に独立している、請求項５から１４までのいずれかに記載の方法。
【請求項１８】
メッセージＩＤデータベースがピアツーピアデータベースのような分散データベースである、請求項５から１４まで及び１７のいずれかに記載のシステム。
【請求項１９】
ハードウエアの計算機システムで実行されると、請求項５から１４まで、１７及び１８のいずれかに記載の方法の少なくとも１つをシステムが実行できるようにするソフトウエア。
【請求項２０】
請求項７５から１４まで、１７及び１８のいずれかに記載の方法の少なくとも１つを実行するように動作するハードウエア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムの一人の使用者から他の通信使用者へメッセージを通信するシステム及び方法に関する。
【背景技術】
【０００２】
計算機が使用可能な通信システムは、かつてないほど多くの数の特徴を内蔵している。それ故、クライアントとサーバのようなネットワーク要素間で通信されるメッセージの数と種類は、増加している。メッセージは、例えばネットワーク要素のステータス情報、同期情報、ネットワーク要素の能力、識別情報、権限情報、インスタントメッセージ、オーディオとビデオのパッケージのような実時間通信メッセージ等を含んでいる。
【０００３】
通信システムで交換されるデータの本体は、内容情報それ自体から成る。実時間のオーディオ／ビデオ通信セッションでは、内容情報は、音響及び映像が捕捉され、ディジタル形式に変換されたときに形成されるオーディオ／ビデオパッケージから成る。内容情報自体に加えて、使用者識別又はネットワークプレゼンスに関する情報のような制御メッセージが交換される。内容情報と制御メッセージは、多かれ少なかれ統合されている。
【０００４】
典型的には、通信システムの第１使用者が第２使用者にメッセージを送信することを希望するとき、第１使用者は、新たなメッセージが有るか否かをみるために第２使用者が問い合わせをするメッセージサーバにメッセージを送信する。例えば、電子メールシステムでは、送信者は、受信者に配信される電子メールを作成する。続いて、電子メールは、受信者を特定する情報と共に電子メールサーバに送信される。電子メールシステムの使用者は、新たな電子メールが有るか否かを決定するために、一種の制御メッセージである問い合わせメッセージを電子メールサーバに頻繁に送信する。送信者の電子メールが配信された後に電子メールサーバに受信者が問い合わせをすると、電子メールの受信者であることの表示信号を受信する。実時間配信の実感を出すために、使用者がかなり頻繁に、例えば毎秒１回又はそれ以上に頻繁に、電子メールサーバに問い合わせすることを好むことも有る。メッセージの受信者であるという表示信号を受信すると、受信者は、電子メールサーバからのメッセージを要求し、受信する。
【０００５】
問い合わせは、恐らくある種の権限証明書に加えて、使用者のＩＤ及びパスワードのような権限情報を含み得る。また、問い合わせは、タイムスタンプ又は他の固有の署名を含み得る。電子メールシステムが多数の使用者により使用される場合、問い合わせの処理に要する資源が遂にシステムの能力を超えることもある。例えば、電子メールサーバの中央処理装置（ＣＰＵ）が入出力データの全てを処理できないことがある。また、電子メールサーバとの電子メール及び問い合わせの交換は、システムの能力を超えるネットワーク資源を必要とする。
【０００６】
結果的に電子メールサーバは正常に機能することを停止し、これは、システムの休止と、メッセージ配信を電子メールシステムに依存しているシステム使用者の不満とを意味する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、計算機システムに配信される１又は複数のメッセージを保留し、メッセージサーバの負担を最小化するシステム及び方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１態様では、メッセージ配信システムが提供される。このシステムは、
メッセージサーバであって、
第１計算機システムからメッセージを受信し、メッセージの受信に応答してメッセージＩＤを提供し、メッセージＩＤは受信メッセージを識別するために形成されるものであり、
メッセージＩＤをメッセージＩＤデータベースに送信し、
第２計算機システムからのメッセージ要求の受信に応答して第２計算機システムにメッセージを送信する
ように構成されているもの、
メッセージＩＤデータベースであって、
第２計算機システムからのメッセージＩＤ問い合わせ受信に応答して第２計算機システムにメッセージＩＤ応答を提供し、メッセージＩＤ応答はメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成っている
ように構成されているもの
から成る。
【０００９】
このようなシステムは、送信者である一人の人物から受信者である他の人物へメッセージを配信するために使用される。例えば、第１計算機システムからのメッセージは、第１計算機システムを使用する送信者により発生される。メッセージは、任意の型の情報を含んでいる。これは、音声メールのようなファイル、電子メール、インスタントメッセージ、ウェブログへのエントリ、ウェブページのデータ又はビデオクリップでもよい。また、これは、実行可能なプログラム、圧縮ファイル、ダイナミックリンクライブラリ（ＤＬＬ）等でもよい。また、メッセージは、転送されるファイルの一部でもよい。
【００１０】
メッセージサーバが第１計算機システムからメッセージを受信すると、例えば、権限情報、タイムスタンプ、メッセージ数、例えばメッセージサーバがシステムの使用者から全体としてどれだけのメッセージを受信したかを示す数、のような前述の情報の型から成るメッセージＩＤを割り当てる。
【００１１】
メッセージＩＤは、有意な量の情報から成り、例えば１ｋＢの大きさである。もし１００万人の使用者が１０秒毎にこの大きさの問い合わせをメッセージサーバに送信すると、メッセージサーバは、毎秒平均１００ＭＢのデータをやりとりする必要がある。したがって、ネットワーク制御メッセージ等のオーバヘッドを含めると、必要なビット速度は、毎秒約１ギガビットに達し、殆どの計算機システムとネットワークにとって、大きな、むしろ大きすぎる量となる。問い合わせのやりとりを処理して、実際のメッセージ自体の交換がされる。メッセージＩＤが異なるデータベースであるメッセージＩＤデータベースとやりとりされる点は、本システムの利点である。これにより、計算機システムが、メッセージサーバと接触する必要なく、メッセージサーバ上のメッセージに関する情報を得ることができ、その結果、メッセージ要求以外の問い合わせに関するメッセージサーバの負担は、メッセージサーバからメッセージＩＤデータベースに移される。それ故、好ましくは、メッセージＩＤデータベースとメッセージサーバは、少なくともネットワーク資源、処理資源若しくはこの双方に関して、相互に、少なくとも実質的に資源が独立しており、又は全資源（電源のような外部資源及びメッセージＩＤデータベースとメッセージサーバのいずれの機能にも影響しない他のパラメータを除く。）に関して実質的に独立している。換言すれば、２つのシステムは、分離している。
【００１２】
例えば、メッセージＩＤデータベースにより返されるメッセージＩＤ応答は、メッセージサーバ上のメッセージを識別するメッセージＩＤを含む。このようにして、典型的には多数のメッセージを有するメッセージサーバに特定のメッセージを要求することができる。代わりに、応答は、メッセージＩＤのようなメッセージに関する更なる詳細を提供することなく、メッセージを取り出す準備ができていることを示すようにしてもよい。この場合には、応答は、単にメッセージが（第１計算機システムにより）メッセージサーバに配信されているか否かを示す表示器となる。
【００１３】
送信者は、典型的には、特定の受信者へのメッセージを意図しており、送信者からメッセージサーバに提供された典型的情報である受信者識別情報をメッセージサーバがメッセージＩＤに含ませることが望ましい。受信者情報をメッセージサーバがメッセージＩＤに含ませることにより、メッセージＩＤデータベースは、受信者特定メッセージＩＤ（特定の受信者を指示するメッセージＩＤ）のような受信者特定情報を配信して問い合わせに応答することができる。
【００１４】
本発明の第１態様によるメッセージ配信システムの実施形態は、メッセージサーバ、メッセージＩＤデータベース及び第１計算機システムから成る。本発明のメッセージ配信システムの他の実施形態は、メッセージサーバ、メッセージＩＤデータベース及び第２計算機システムから成る。本発明のメッセージ配信システムの他の実施形態は、メッセージサーバ、メッセージＩＤデータベース、第１計算機システム及び第２計算機システムから成る。
【００１５】
本発明の第２態様では、メッセージサーバからメッセージを受信する計算機システムが提供され、このシステムは、
メッセージサーバよりむしろメッセージＩＤデータベースにメッセージＩＤ問い合わせを送るところ、メッセージＩＤデータベースはメッセージＩＤを記憶してメッセージＩＤ問い合わせ受信に応答して計算機システムにメッセージＩＤ応答を送信するように構成されており、メッセージＩＤ応答はメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成り、
メッセージＩＤデータベースからメッセージＩＤ応答を受信し、
メッセージＩＤ応答の受信時にメッセージサーバからメッセージを取り出す準備ができていることをメッセージＩＤ応答が示しているか否かを決定し、肯定的な場合には、そこで
メッセージサーバが計算機システムにメッセージを送信するようにメッセージサーバにメッセージ要求を送信して要求を行い、
メッセージサーバから送信されたメッセージを受信する、
ように構成されている。
【００１６】
このシステムは、メッセージサーバからのメッセージ配信が可能か否かを決定することができる。これは、メッセージサーバ上にあるメッセージに関連するメッセージＩＤについて質問するためにメッセージＩＤデータベースにメッセージＩＤ問い合わせを送信することにより行われる。例えば、メッセージＩＤデータベースにより返されるメッセージＩＤ応答は、メッセージサーバ上のメッセージを識別するメッセージＩＤを含む。これにより、計算機システムは、典型的には多数のメッセージを有するメッセージサーバに特定のメッセージを要求することができる。
【００１７】
計算機システムが、メッセージ配信が可能か否かを決定するためにメッセージサーバよりむしろメッセージＩＤデータベースに接触する点は、利点である。典型的には、計算機システムの使用者は、メッセージサーバからの配信が可能なメッセージの受信者であるか否かを頻繁に調べることを希望する。多くの実際的な筋書きでは、使用者は、メッセージサーバでメッセージ（使用者が受信者となるメッセージを送信者が送信するときに利用可能となるメッセージ）が利用可能となるよりも更に頻繁にメッセージＩＤ問い合わせを（計算機システムを介して）送る。換言すれば、大多数のメッセージＩＤ問い合わせは、配信可能なメッセージがないことを示す。この場合、メッセージサーバにメッセージ要求を送信することは無駄であり、本発明の第２態様によるシステムは、このような無駄な要求に関連する負担を除去し、メッセージサーバがその資源をメッセージの受信と送信に振り向け、メッセージＩＤをメッセージＩＤデータベースに押しやるようにする。
【００１８】
この第２態様による計算機システムの或る実施形態では、メッセージＩＤ応答は、メッセージＩＤを含み、これはメッセージサーバへのメッセージ要求で送信されたときにメッセージサーバが特定のメッセージを見いだすために使用される。
【００１９】
本発明の第３態様では、送信計算機システムからの１又は複数のメッセージを処理する方法が提供され、この方法は、
メッセージサーバが、送信計算機システムから送信される１又は複数のメッセージの受信に応答して、１又は複数の受信メッセージを識別する１又は複数のメッセージＩＤを提供すること、
メッセージサーバが１又は複数のメッセージＩＤの少なくとも１つをメッセージＩＤデータベースに送信すること、
メッセージＩＤデータベースが送信された少なくとも１つのメッセージＩＤを受信すること、
の段階から成る。
【００２０】
この方法は、メッセージサーバからメッセージを取り出す準備ができていることを告知する手法を提供する。メッセージ識別子であるメッセージＩＤは、分離したデータベースであるメッセージＩＤデータベースで利用可能であり、したがって、計算機システムは、メッセージサーバで保有されるメッセージについて、メッセージサーバに接触する必要なく、代わりにメッセージＩＤデータベースに接触することにより質問する。
【００２１】
また、第３態様による方法の実施形態は、送信計算機システムが１又は複数のメッセージをメッセージサーバに送信する段階を含む。
【００２２】
少なくとも１つのメッセージＩＤをメッセージサーバからメッセージＩＤデータベースに送信する段階は、
メッセージサーバが送信計算機システムに少なくとも１つのメッセージＩＤを送信すること、
送信計算機システムが少なくとも１つのメッセージＩＤをメッセージＩＤデータベースに送信すること、
の段階から成る。
【００２３】
この手法は、１又は複数のメッセージをメッセージサーバに送信するために、接続が送信計算機システムとメッセージサーバ間に確立されているので有利である。この接続の再使用は、メッセージＩＤデータベースとの直接接続のような新しい接続を確立するためにメッセージサーバがそこで資源を費やす必要がないため、効率的である。この負担は、代わりに送信計算機システムに課せられる。
【００２４】
また、第３態様による方法の実施形態は、受信計算機システムがメッセージＩＤデータベースにメッセージＩＤ問い合わせを送り、これに対してメッセージＩＤデータベースがメッセージＩＤ応答を提供し、メッセージＩＤ応答がメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成ることの段階を含む。例えば、メッセージＩＤデータベースにより提供される情報は、最初メッセージサーバにより提供され、メッセージＩＤデータベースに配信されるメッセージＩＤを含む。次の段階では、受信計算機システムは、メッセージサーバからメッセージを取り出す準備ができていることをメッセージＩＤ応答が示しているか否かを決定する。これらの段階により、受信計算機システムの使用者は、メッセージサーバが彼宛のメッセージを保有するか否かを決定できる。肯定的な場合には、受信計算機システムはメッセージサーバにメッセージを要求し、そこでメッセージサーバは受信計算機システムに要求されたメッセージを送信して応答する。
【００２５】
メッセージサーバからメッセージを取り出す準備ができていることをメッセージＩＤ応答が示す場合にのみ、メッセージサーバが受信計算機システムと接触する点は、利点である。メッセージを取り出す準備ができていない場合にメッセージサーバに接触してメッセージを要求することは、実りが無く、かつメッセージサーバに不必要な負担をかける。
【００２６】
受信計算機がメッセージサーバにメッセージを要求する段階では、メッセージＩＤデータベースからの応答が複数のメッセージＩＤを示している（数個のメッセージがメッセージサーバで利用可能なことを意味する）場合でも、受信者は或るメッセージだけの要求を選択するかも知れない。これを行うためには、受信計算機システムは、例えば送信者による、又はメッセージサーバ自体で設定された基準による指示に従ってメッセージサーバによりメッセージＩＤに組み込まれた、メッセージの大きさ、メッセージの時期、メッセージ重要度パラメータ又は他のパラメータのような或る基準に従ってメッセージＩＤを選別する。
【００２７】
また、受信計算機システムは、メッセージＩＤ応答で示されるメッセージＩＤを記憶する。この機構は、メッセージサーバに特定のメッセージを要求するか否かを決定するときに、受信計算機システムによりフィルタとして使用される。メッセージＩＤデータベースからのメッセージＩＤ応答に含まれるメッセージＩＤが受信計算機システムにより既にメッセージサーバに要求と受信がされたメッセージに対応する場合、受信計算機システムは、メッセージサーバに対応するメッセージを要求しないことを選択するかも知れない。また、メッセージＩＤは、特定のメッセージをメッセージサーバから既に受信しているか否かの決定に受信計算機システムで容易に使用可能であるという前提で、受信計算機システムに局所的に記憶するのではなく、分離したデータベースで記憶する。上記のようにメッセージＩＤを選別することにより、メッセージの取り出しに関するメッセージサーバの負担は、実用的な最小限度、すなわち受信計算機システムで従来は受信されなかったメッセージの伝送、まで軽減される。
【００２８】
或る場合には、同じメッセージを複数回取り出しうることが望ましい。このことは、メッセージＩＤ応答で得られたメッセージＩＤが局所的に記憶したメッセージＩＤに対応する場合に、これを受信計算機システムが無視することにより得られる。
【００２９】
好ましくは、局所的に記憶したメッセージＩＤとメッセージＩＤ応答から得られたメッセージＩＤとの比較は、受信計算機システムによって行われる。
【００３０】
本発明の第４態様では、受信計算機システムでメッセージを受信する方法が提供され、この方法は、
受信計算機システムが、メッセージサーバよりむしろメッセージＩＤデータベースにメッセージＩＤ問い合わせを送信するところ、メッセージＩＤデータベースがメッセージＩＤを記憶してメッセージＩＤ問い合わせ受信に応答して受信計算機システムにメッセージＩＤ応答を送信するように構成されており、メッセージＩＤ応答がメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成り、
受信計算機システムがメッセージＩＤデータベースからメッセージＩＤ応答を受信し、
メッセージサーバからメッセージを取り出す準備ができていることをメッセージＩＤ応答が示しているか否かを受信計算機システムが決定するところ、メッセージサーバが受信計算機システムからのメッセージ要求受信に応答して受信計算機システムにメッセージを送信するように構成されており、メッセージサーバからメッセージを取り出す準備ができている場合、そこで、
受信計算機システムがメッセージ要求のためにメッセージサーバにメッセージ要求を送信し、
メッセージサーバがメッセージ要求受信に応答して受信計算機システムにメッセージを送信し、
受信計算機システムがメッセージを受信する、
段階から成る。
【００３１】
第４態様による方法の利点は、メッセージサーバからメッセージを取り出す準備ができていることをメッセージＩＤ応答が示している場合にのみ、メッセージサーバが受信計算機システムと接触することである。
【００３２】
第４態様による方法の或る実施形態では、受信計算機システムは、付加的に、受信計算機システムが以前にメッセージの要求と受信を行っていない場合にのみメッセージを要求する。
【００３３】
第４態様の或る実施形態では、受信計算機システムが要求しメッセージサーバから受信したメッセージに関連するメッセージＩＤを記憶する段階を含む。受信メッセージに対応するメッセージＩＤを記憶することは、メッセージサーバにメッセージを要求するか否かを受信計算機システムが決定する機構を提供する。メッセージＩＤ応答が既に受信計算機システムに記憶されているメッセージＩＤを示す場合、受信計算機システムは、メッセージサーバにメッセージを要求することを選択しない。メッセージＩＤはメッセージＩＤ問い合わせにより得られるか、又は受信計算機システムからのメッセージ要求受信に応答して対応するメッセージをメッセージサーバが配信するときにメッセージサーバにより受信計算機システムに提供される。
【００３４】
メッセージＩＤデータベースを提供するために任意の種類のデータベース構造が使用され得るが、本発明による方法とシステムのメッセージＩＤデータベースは、好ましくは、ピアツーピアデータベースのような分散特性のものである。このようなデータベースは、集中化したメンテナンスを余り必要としない。また、メッセージＩＤデータベースは、集中化データベースでもよい。また、ごく部分的に分散化されていてもよい。
【００３５】
メッセージＩＤ問い合わせをメッセージＩＤデータベースに送ろうとするときに問題が発生すると、受信計算機システムは、代わりに、バックアップ手段として特別に、メッセージＩＤ問い合わせをメッセージサーバ自体に振り向けてもよい。また、意図的にメッセージサーバに直接問い合わせをしてもよい。このようなメッセージサーバ自体への問い合わせは、頻繁でないことが好ましく、例えば２４時間毎に１回である。
【００３６】
好ましくは、メッセージＩＤデータベースとメッセージサーバは、少なくとも部分的には資源が相互に独立しており、これは各システムが固有の専用ネットワーク資源及び／又は処理資源を有することを意味する。好ましいのは、完全に資源が独立していることである。換言すれば、メッセージＩＤデータベースとメッセージサーバとは、分離したシステムである。
【００３７】
本発明は、例えば、専用ソフトウエアを使用して適切に適合されたハードウエア計算機システムで実施される。これに関連して、適切に適合されたとは、ＣＰＵ、コントローラ、メモリ、ネットワークアダプタ及び／又は他の要素のような必要なハードウエア要素がソフトウエアを実行するハードウエア計算機システムの部品として提供されていることを意味する。また、方法を実行するための命令は、ＡＳＩＣのようなハードウエアで直接的に実施することができ、又はハードウエアとソフトウエアを内蔵した部品の組合わせで実行することができる。本発明による１又は複数の方法を実行できるシステムを達成する他の解決策も存在する。
【発明を実施するための最良の形態】
【００３８】
図１は、本発明のメッセージ配信システムの実施形態を示す。これは、クライアントＡと呼ばれる第１計算機システム１０２、クライアントＢと呼ばれる第２計算機システム１０４、メッセージサーバ１２０及びメッセージＩＤデータベース１３０から成る。使用者ＡはクライアントＡ１０２を操作し、使用者ＢはクライアントＢ１０４を操作する。クライアントＡ及びＢ（１０２、１０４）は、メッセージサーバ１２０に動作可能に接続１１５される。また、クライアントＡ及びＢ（１０２、１０４）は、メッセージＩＤデータベース１３０に動作可能に接続１２５される。更にまた、メッセージサーバ１２０は、メッセージＩＤデータベース１３０に動作可能に接続１２５される。更に、システムは、メッセージサーバ１２０及び／又はメッセージＩＤデータベースへのクライアントＡとクライアントＢのアクセスを制御するシステム要素から成る。インスタントメッセージシステム、ボイスオーバアイピーシステム及びビデオオーバアイピーシステムは、システムの各個人使用者に関する使用者識別情報を含む権限を、典型的には識別符号及び確認符号の形態で、採用している典型である。使用者識別情報の完全性を維持するために、メッセージ配信システムのプロバイダは、典型的には大部分が集中化され厳しく管理されているシステムに使用者識別情報を記憶する。また、使用者識別情報の一部は、メッセージＩＤ中に、かつメッセージＩＤデータベース問い合わせ中にある。このような特徴は、本発明のシステムと方法に含まれ得る。
【００３９】
メッセージサーバ１２０とメッセージＩＤデータベース１３０は、使用者Ａから使用者Ｂへのメッセージ配信の過程でメッセージとメッセージＩＤを処理する。メッセージサーバ１２０は、使用者Ａと使用者Ｂ間のメッセージの受信と配信を管理し、直接又はクライアントＡ１０２経由のいずれかで、メッセージＩＤをメッセージＩＤデータベース１３０に配信する。メッセージＩＤデータベース１３０は、メッセージサーバ１２０及び／又はクライアントＡ１０２とメッセージＩＤを交換する。また、クライアントＢ１０４からの問い合わせを処理し、適切な応答を返す。
【００４０】
図２は、クライアント計算機システムのアーキテクチャ２００、例えばクライアントＡ１０２、の単純化した例を示す。これは、中央処理装置（ＣＰＵ）２０２、メモリ２０３、ハードディスク２０４、ネットワークインターフェイス２０６、及びキーボード２０７やマイクロホン２０８等のユーザインターフェイスのような多数の要素から成る。これらの要素は、コントローラ（バス）２０１を介して相互接続されている。ＣＰＵ２０２は、要素２０２〜２０８を論理的に制御する。メモリ２０３は、一時的情報及び永久的情報の双方を保持する。メモリ２０３は、例えば、クライアント１０２がメッセージを処理できるようにする命令を保持し、種々の要素やコントローラ２０１〜２０８間で交換されるデータと共にメッセージを保持する。
【００４１】
メッセージは、種々の方法で提供される。例示すると、これは、ユーザインターフェイスを介して、例えばキーボード２０７若しくはマイクロホン２０８を介して、又はＤＶＤ、ＣＤ−ＲＯＭ、ＵＳＢ制御メモリ等のようなメディアを介して、入力される。他の方法も使用可能であり、例えば携帯機器から計算機システム２００へのネットワークインターフェイス２０６を介する無線通信を用いる。
【００４２】
ハードディスク２０４は、例えば、メッセージ、ＣＰＵ２０２に対する命令（ソフトウエア）、一時的情報、オペレイティングシステム情報等を保持する。
【００４３】
ネットワークインターフェイス２０６は、例えば、クライアント２００にメッセージを提供するために使用され、メッセージサーバ１２０とメッセージＩＤデータベース１３０へのネットワーク接続の形成と維持に使用される物理的要素でもよい。
【００４４】
また、図２は、メッセージサーバ１２０とメッセージＩＤデータベース１３０の典型的なアーキテクチャを例示しており、メッセージ配信システムにおけるその機能に従って機能するように多くの同様の要素を必要としている。クライアント、例えば携帯ユニットとしてのクライアントＡ１０２、に内蔵電源を備えることが有利である。また、管理用ソフトウエアの装備は、計算機システム２００を動作可能とするために、２０４のようなハードディスクに記憶して２０３のようなメモリにロードするのではなく、ＡＳＩＣのようなハードウエアに直接内蔵することが望ましい。多くの実装においては、ハードディスク２０４は、絶対に不可欠である。
【００４５】
配信メッセージのＩＤデータベースは、典型的には図２の型の多くのシステムの複合体であり、各システムは、例えばハードディスクの形態で、大きな記憶容量を有している。
【００４６】
図３ａ及び図３ｂは、メッセージサーバのメッセージデータベースｍＤＢ３３０がアクセスされる態様の２つの例を示している。図３ａでは、クライアントＡ１０２は、単一のフロントエンドＦＥ３１１を介してメッセージデータベース３３０にアクセスする。単純化のために、メッセージデータベース３３０は、図２に含まれているもののようなコントローラや他の要素なしに、機能要素として示されている。図３ａでは、クライアントＡはメッセージデータベースへの唯一のエントリポイント、すなわち図示されているようにメッセージデータベース３３０に動作可能に接続されているＦＥ３１１、を有している。多くのクライアントが同時にメッセージデータベース３３０へのアクセスを希望すると、エントリポイントＦＥ３１１は、その能力以上に忙しくなり、機能しなくなる。図３ｂは、３個のフロントエンド、すなわちＦＥ１（３２１）、ＦＥ２（３２２）及びＦＥ３（３２３）の使用を例示している。そして、クライアントＡ１０２は、３個のフロントエンド３２１〜３２３からエントリポイントを無作為に選択する。これは、各フロントエンド３２１〜３２３の負担を分散して減少し、一つのフロントエンド、例えば３２３、が故障した場合に他のフロントエンド３２１と３２２がメッセージデータベース３３０へのアクセスを保証する。この目的のために、クライアント、例えばクライアントＡ、は、フロントエンドのアドレスリストを有し、これから無作為に選択する。
【００４７】
また、典型的な配置では、フロントエンドは権限システムに接続され、これは、例えばクライアントＡから提供される権限情報と権限データベースからの権限データとを比較することによりメッセージデータベースへのクライアントのアクセスを管理するために使用される。メッセージＩＤの問い合わせがメッセージサーバ自体に向けられる従来技術のシステムでは、権限は、問い合わせ毎に必要とされる。メッセージＩＤの問い合わせが、メッセージサーバ自体よりむしろ、メッセージサーバから分離したメッセージＩＤデータベースに向けられることは、本システムの利点である。メッセージＩＤデータベースのメッセージＩＤのような情報が使用者の個人情報を含まないとすると、このようなシステムのセキュリティは、多少緩和される。
【００４８】
主に非集中化された資源システムであるピアツーピアデータベースのような分散メッセージＩＤデータベース１３０を使用することは、特に有利である。ピアツーピアデータベースは、集中的なメンテナンスの必要性が低く、能動的なクライアントの数と共に成長してアクセス負担（例えばＣＰＵ負担及びネットワーク負担）が集中システムに課されるのではなく、クライアントに分散される。
【００４９】
図４は、メッセージが送信者である使用者Ａから受信者である使用者Ｂに配信される過程の最初の部分を示している。最初に、使用者Ａは、メッセージを発生する（段階４０１）。これは、キーボードを用いて入力されるテキストのメッセージ又はマイクロホンで記録される音声メールでもよい。また、メッセージは、実行可能なファイルとすることができる。メッセージの種々の例は、先に挙げている。実行可能なファイルは、ハードディスクから、ＤＶＤから、無線ネットワーク接続又は他の資源を介して得ることができる。そして、使用者Ａの計算機システムであるクライアントＡは、段階４０２で、メッセージをメッセージサーバ（「ｍＳｅｒｖ」）に送信する。メッセージサーバは、メッセージを受信し（段階４０３）、対応するメッセージＩＤ（「ｍＩＤ」）を発生する。メッセージサーバはメッセージとメッセージＩＤをメッセージデータベース（「ｍＤＢ」、図３も参照）に記憶する（段階４０４）。そして、メッセージサーバはメッセージＩＤをクライアントＡに送信し（段階４０５）、クライアントＡはメッセージＩＤをメッセージＩＤデータベース（「ｍＩＤ−ＤＢ」）に送信する（段階４０６）。この時点（状態４０７）で、使用者Ｂは、メッセージＩＤデータベースに問い合わせすることが可能であり、段階４０２で送信されたメッセージの受信者であることを見いだす。この方法の変形では、段階４０５及び４０６は、メッセージサーバがメッセージＩＤを直接メッセージＩＤデータベースに送る段階（不図示）で置き換えることができる。しかし、この過程は、新たなネットワーク接続、すなわちメッセージサーバとメッセージＩＤデータベース間の接続、を確立しなければならず、非効率である。図４の方法は、段階４０２と４０３で有効に確立された、そのため、既存の接続を用いている。メッセージＩＤをメッセージＩＤデータベースに送信するのに要する資源は、メッセージサーバではなくクライアントＡにより提供されている。
【００５０】
図５は、送信者である使用者Ａから受信者である使用者Ｂへメッセージ配信する過程の他の部分を示す。使用者Ｂは、自己が１又は複数のメッセージの受信者であるか否かを決定することを望む。使用者ＢのクライアントであるクライアントＢ１０４は、例えば、毎秒１回というような所定の頻度でメッセージＩＤデータベースに問い合わせすることを指示される。他の又は付加的な仕組みもあり得る。例えば、使用者Ｂは、メッセージＩＤデータベースに問い合わせを送信するよう、クライアントに手動で指示するかも知れない。エントリポイント５０１は、使用者ＢがメッセージＩＤデータベース１２０に問い合わせを送信するようクライアントに手動で命令することを表現している。エントリポイント「Ｔ」（５１１）は、他のトリガ機構を象徴している。使用者Ｂの計算機システムであるクライアントＢは、例えば、毎秒問い合わせを送信するよう管理用ソフトウエアにより指示されているかも知れない。段階５０２では、クライアントＢは、メッセージＩＤデータベース（「ｍＩＤ−ＤＢ」）へ問い合わせを送信する。メッセージＩＤデータベースは、問い合わせを受信し（段階５０３）、応答を発生し（段階５０４）、クライアントＢに送信する。クライアントＢは、応答を受信し、分析する（段階５０５）。クライアントＢは、応答を分析し、メッセージサーバ（「ｍＳｅｒｖ」）に自己宛のメッセージがあるか否かを決定し（段階５０６）、このようなメッセージの特性、例えばメッセージの大きさ、時期、重要性等、を決定する。付加的に、クライアントＢは、例えば前記特性に関する所定の判断基準により未読メッセージの或るものだけを要求するかも知れない。この分析に基づいて、クライアントＢは、段階５０７でメッセージサーバにメッセージを要求する。段階５０８で、メッセージサーバは、要求されたメッセージを収集し、クライアントＢに送信する。最後に、状態５０９では、使用者Ｂは、使用者Ａが発生したメッセージを保有している。クライアントＢがメッセージサーバ１２０に接触しない場合には、経路５１２を取り、使用者Ｂがシステムにメッセージチェックを指示する（エントリポイント５０１）か、又は使用者Ｂがトリガ事象を待つ（エントリポイント５１１）かを待つことになる。また、システムは、５１３で示されている更新を行うことができる。
【００５１】
図６は、図６の５１３のような更新を示しており、メッセージがクライアントＢに配信された後にシステムで行われる。例えば、メッセージサーバは、クライアントＢに配信されたメッセージをメッセージデータベースから削除する（段階６０２）。配信済のメッセージを削除することにより、記憶資源を解放する。クライアントＢがメッセージＩＤを局所的に記憶する方法では、クライアントＢは、局所的に記憶したメッセージＩＤを削除することを選択し、代わりに最新の問い合わせに対するメッセージＩＤデータベース１３０の応答に含まれていたメッセージＩＤを記憶する（段階６０３）。これによりシステムは更新状態６０４となる。
【００５２】
本発明によるメッセージ配信を以下の例により示す。ダンが、特定の状況で、メアリに挨拶することを希望する。しかし、その状況でメアリが多忙であって手が空いていないので、ダンは代わりにメアリのご多幸を願う音声メッセージを残す。ダンは、メアリに向けてメッセージｍ１を作成する。ダンは、メッセージを記録するためにマイクロホン（図２に２０８として例示）を使用する。メッセージの記録後、彼の計算機システムであるクライアントＡ１０２は、メッセージサーバ１２０に接続し、メッセージｍ１を送信する。メッセージｍ１の受信後、メッセージサーバ１２０は、メッセージを識別するメッセージＩＤのｍ１−ＩＤを形成する。メッセージＩＤのｍ１−ＩＤは、図７に示されている。そして、メッセージサーバ１２０は、メッセージとメッセージＩＤを記憶する。この例では、メッセージＩＤ７１０は、受信者（メアリ）の識別標示７１１と送信者（ダン）の識別標示７１２を含む。更に、メッセージＩＤは、メッセージサーバが受信したメアリを受信者とするメッセージの数を示すメッセージ数７１３を含む。メッセージサーバが先に１６個のメッセージを受信していると、メッセージＩＤ７１０は、メッセージ数表示「１７」を含む。そして、メッセージサーバは、メッセージＩＤをクライアントＡに送信し、また、メッセージＩＤをメッセージＩＤデータベースに送信する。本例では、メッセージＩＤは、更にメッセージの大きさ７１４を含む。
【００５３】
この時点でメアリが彼女の計算機システムであるクライアントＢにメッセージＩＤデータベース１３０に対する問い合わせを送信させてメッセージをチェックすると、例えばメッセージＩＤ７１０自体の形式で、メッセージＩＤデータベース１３０から応答を受信する。クライアントＢは、メッセージＩＤを分析し、メッセージ数タグが「１８」であることを見いだす。そうすると、クライアントＢは、メッセージサーバ１２０との接触に移行して対応するメッセージｍ１を要求し、このときにメッセージサーバ１２０は、配信を行う。ここでメアリはダンの音声メッセージを受信する。
【００５４】
メッセージサーバ１２０がメアリへのメッセージを保有していない時にメアリがメッセージＩＤデータベースに問い合わせを送信すると、彼女は、空の応答を受信し、その結果、引き続いてメッセージサーバ１２０に接触することはしない。それ故、メアリは、取り出すべきメッセージが存在する場合にのみメッセージサーバ１２０に負担をかける。
【００５５】
他の例では、システムの第３の使用者マークがメアリへのメッセージｍ２の送信を希望する。この例では、マークは、ダンがメッセージｍ１を送信した後にメッセージを送信する。マークはメッセージを発生し、彼のクライアントであるクライアントＣはメッセージサーバ１２０にメッセージを送信する。マークは、テキストメッセージをメアリに送信することを希望する。彼は、計算機システムのキーボードを用いてメッセージを形成する。そうすると、クライアントＣは、メッセージサーバ１２０に接続し、メッセージｍ２を送信する。メッセージｍ２を受信した後、メッセージサーバ１２０は、対応するメッセージＩＤであるｍ２−ＩＤ（図７の７２０）を形成し、メッセージｍ２とメッセージＩＤのｍ２−ＩＤを記憶する。この時点でメッセージサーバは既にメアリに代わって１８メッセージを受信しており、その結果、メッセージＩＤのｍ２−ＩＤ７２０は、図７の７２３で示されるように、メッセージ数表示「１９」を含む。そして、メッセージサーバは、メッセージＩＤのｍ２−ＩＤ７２０をクライアントＡに送信し、メッセージＩＤデータベース１３０にも送信する。メアリが彼女の計算機システムであるクライアントＢ１０４にメッセージＩＤデータベースへの問い合わせを送信させメッセージをチェックすると、新たなメッセージＩＤであるｍ２−ＩＤを受信する。先の例と同様に、クライアントＢ１０４は、対応するメッセージ、この場合はｍ２、をメッセージサーバ１２０に要求し、受信する。
【００５６】
メアリがメッセージＩＤのｍ１−ＩＤで数表示「１８」（７１３）のメッセージを未だ取り出していない場合には、メッセージＩＤデータベース１３０は、代わりに２個のメッセージＩＤ、すなわちｍ１−ＩＤ７１０とｍ２−ＩＤ７２０、を用いて応答する。そして、クライアントＢ１０４は、進行してメッセージサーバ１２０にｍ１とｍ２の双方を要求する。
【００５７】
図７の７１４で示されるように音声メッセージｍ１が比較的大きい場合には、メアリは、７２４で示される、より小さなテキストメッセージのみの取得を望むかも知れない。メアリは、図１の１１５で示されるネットワーク接続で音声メッセージｍ１を取り出すために膨大な時間を費やす必要があるということに従って行動しているかも知れない。クライアントＢ１０４がメッセージＩＤデータベース１３０からの応答を分析すると、現在のネットワーク接続を介して取り出すにはメッセージｍ１が大きすぎることがメッセージサイズ要素から分かる。メアリのクライアントであるクライアントＢ１０４は、ネットワーク接続速度を試験することにより、メッセージサーバ１２０からメアリのクライアント１０４へｍ１を送信するのに要する時間の見積もりを自ら出す。メアリは取り出し時間が許容可能なものか決定することができ、又はクライアントＢ１０４は、メアリに代わって、ソフトウエアの命令により、メッセージがその時点で取り出すには大きすぎるということを決定する。そして、クライアントＢ１０４は、メッセージＩＤのｍ１−ＩＤを、未だこのメッセージを取り出していないことを示すために、記憶する。クライアントＢ１０４は、メッセージｍ１でなく、ｍ２だけを要求する。後に、メッセージｍ１を取り出す時間が許容可能となる程度にネットワーク接続速度が高くなったときに、クライアントＢ１０４は、このメッセージを要求する。一旦メッセージが取り出されると、クライアントＢ１０４は、対応するメッセージＩＤのｍ１−ＩＤ７１０を削除する。他の実施例では、クライアントＢ１０４は同様にｍ１−ＩＤ７１０とｍ２−ＩＤ７２０をメッセージＩＤデータベース１３０から取り出すが、今度は、クライアントＢ１０４は、代わりにｍ１−ＩＤ７１０を記憶し続けｍ２−ＩＤ７２０を削除するようにメッセージＩＤデータベース１３０に指示する。クライアントＢ１０４が後にメッセージＩＤデータベース１３０に問い合わせすると、メッセージＩＤデータベース１３０からの応答は、再びｍ１−ＩＤ７１０を含んでおり、そこでクライアントＢ１０４は、対応するメッセージをメッセージサーバ１２０に要求するか、又は後の取り出しのためにもう一度そこに残しておくかを、もう一度決定する。
【００５８】
他の実施例では、メッセージＩＤデータベース１３０は、最新のメッセージＩＤだけを保持し、メッセージサーバにメッセージが無い場合にはメッセージＩＤを保持しない。上記の例では、メッセージＩＤのｍ１−ＩＤ７１０は、一旦メッセージサーバ１２０が第２メッセージｍ２を受信すると、ｍ２−ＩＤ７２０によって置き換えられる。この場合には、クライアントＢ１０４は、問い合わせへの応答でｍ２−ＩＤ７２０だけを受信する。メッセージサーバ１２０に要求を出すと、メッセージサーバ１２０は、ｍ２−ＩＤ７２０を指示器として用い、全ての残っているメッセージを収集する。ｍ１もｍ２も取り出されていないので、メッセージサーバ１２０は、クライアントＢ１０４からの要求に応答してｍ１とｍ２の双方を提供する。メッセージの取り出し後、メッセージＩＤデータベース１３０は、最新のメッセージＩＤ、この場合はｍ２−ＩＤ７２０を削除する。例えば、クライアントＢ１０４からの指示により、そのように動作する。次回にメアリのクライアントであるクライアントＢ１０４がメッセージＩＤデータベース１３０に問い合わせを送信したときには、メアリへのメッセージが存在しないことの指示を受信する。このように、クライアントＢ１０４は、メッセージサーバに接触しない。
【００５９】
他の実施例では、メッセージＩＤデータベース１３０は、常に最新のメッセージＩＤを保持する。上例では、メッセージＩＤデータベースは、最初にｍ１−ＩＤ７１０を保持する。ｍ２を受信すると、メッセージサーバ１２０は、メッセージＩＤデータベース１３０へのｍ２−ＩＤ７２０を作成して送信し、そうするとｍ１−ＩＤ７１０はｍ２−ＩＤ７２０で置き換えられる。クライアントＢ１０４がメッセージＩＤデータベース１３０に問い合わせすると、常にメッセージＩＤを受信する。一例として、メッセージＩＤデータベース１３０は、メッセージサーバ１２０がクライアントＢからのメッセージｍ１を受信する前のメッセージ数指示「１６」を有するメッセージＩＤを保持しているかも知れない。メッセージＩＤデータベース１３０へのクライアントＢ１０４の前回の問い合わせにより、クライアントＢ１０４は、メッセージｍ０に対応するメッセージＩＤのｍ０−ＩＤを与えられている。換言すれば、ｍ０−ＩＤのメッセージ数指示は「１６」である。クライアントＢ１０４がメッセージＩＤデータベース１３０からメッセージＩＤを受信したとき、メッセージサーバ１２０から対応するメッセージｍ０を要求し受信している。同時に、メッセージＩＤのｍ０−ＩＤを局所的に記憶している。メッセージサーバ１２０がｍ１を受信し、ｍ１−ＩＤ７１０を発生し、ｍ１−ＩＤ７１０をメッセージＩＤデータベース１３０に送信してｍ０−ＩＤを置き換えた後、クライアントＢ１０４からメッセージＩＤデータベース１３０への問い合わせにより、クライアントＢ１０４にはメッセージサーバから受信した最新のメッセージがメッセージ数「１７」を持っていると指示する応答が与えられる。この時点でクライアントＢ１０４はメッセージＩＤのｍ０−ＩＤを局所的に記憶しているので、メッセージサーバに取り出し準備ができている新しいメッセージがあると推定する。それ故、クライアントＢ１０４は、メッセージサーバ１２０に接触し、メッセージサーバ１２０からのメッセージｍ０を要求し受信する。そして、クライアントＢ１０４は、前に記憶した局所メッセージＩＤのｍ０−ＩＤを最も新しいメッセージＩＤ、ここではｍ１−ＩＤに置き換える。ｍ１とｍ２の双方のメッセージをメッセージサーバ１２０で受信し、更なるメッセージを受信しなかった場合、メッセージＩＤデータベース１３０のメッセージＩＤは、ｍ２−ＩＤとなる。クライアントＢ１０４がメッセージ数「１６」のメッセージのみを取りだしている場合、局所的に記憶されているメッセージＩＤは、ｍ０−ＩＤである。メッセージＩＤデータベース１３０に問い合わせすると、ｍ２−ＩＤが返される。局所的に記憶したメッセージＩＤとメッセージＩＤデータベース１３０のメッセージＩＤが異なるため、クライアントＢ１０４は、メッセージサーバ１２０にメッセージを要求する。メッセージサーバ１２０は残っているメッセージ、ここではｍ１とｍ２を収集し、クライアントＢ１０４へ配信する。そして、クライアントＢ１０４は、ｍ２−ＩＤ等を局所的に記憶する。
【００６０】
図８は、他の型のメッセージＩＤを示す。図７に示したメッセージＩＤでは、指示部７１３と７２３は、メッセージサーバ１２０が受信者、この場合はメアリ、に代わって受信したメッセージの総数を示している。図８のメッセージＩＤは、代わりに全体的なメッセージ数を含んでいる。メッセージサーバは、メアリだけでなく、ダン、マーク及び他のシステム使用者にも代わってメッセージを受信する。図８に示したメッセージＩＤは、図７に示したものよりも重要な利点を有している。図７の型のメッセージＩＤを用いると、メッセージサーバは、システムの各使用者に代わって受信済みのメッセージ数の情報を含むデータベースを保持しなければならない。図８のメッセージＩＤを用いると、メッセージサーバは、システムの全使用者に代わって受信したメッセージの総数を計数するだけでよい。
【００６１】
図８は、このメッセージＩＤ構造を用いた場合にメアリへの２つのメッセージＩＤがどのようになるかを示している。以下の例で、このメッセージＩＤ構造を用いてメッセージがどのように配信されるかを説明する。この例は、上例と同じ筋書きに基づいている。
【００６２】
ダンが、特定の状況で、メアリに挨拶することを希望する。しかし、その状況でメアリが多忙であって手が空いていないので、ダンは代わりにメアリのご多幸を願う音声メッセージを残す。ダンは、メアリに向けてメッセージｍ４を作成する。ダンは、メッセージを記録するためにマイクロホン（図２に２０８として例示）を使用する。メッセージの記録後、彼の計算機システムであるクライアントＡ１０２は、メッセージサーバ１２０に接続し、メッセージｍ４を送信する。メッセージｍ４の受信後、メッセージサーバ１２０は、メッセージを識別するメッセージＩＤのｍ４−ＩＤを形成する。図７に示されている型のｍ１−ＩＤ７１０のメッセージＩＤを形成する代わりに、メッセージサーバ１２０は、ここでは図８に８１０で示されるｍ４−ＩＤを発生するように構成されている。そして、メッセージサーバ１２０は、メッセージとメッセージＩＤを記憶する。この例では、メッセージＩＤ８１０は、先の例のように、受信者（メアリ）の識別標示８１１と送信者（ダン）の識別標示８１２を含む。また、メッセージＩＤは、メッセージサーバが全使用者に代わって全体的に受信したメッセージの数を示す全体的メッセージ数８１３を含む。例えば、メッセージサーバがダンのメッセージｍ４の受信の前に１４０５０３個のメッセージを受信していると、ｍ４に対するメッセージＩＤのｍ４−ＩＤ８１０は、全体的メッセージ数８１３の表示「１４０５０４」を含むように形成される。そして、メッセージサーバは、メッセージＩＤをクライアントＡ（ダンの計算機システム）に送信し、メッセージＩＤをメッセージＩＤデータベースに渡す。本例では、メッセージＩＤは、先の例のように、更に８１４で表示されるメッセージの大きさを含む。
【００６３】
この時点でメアリが彼女の計算機システムであるクライアントＢにメッセージＩＤデータベース１３０に対する問い合わせを送信させてメッセージをチェックすると、例えばメッセージＩＤのｍ４−ＩＤ８１０自体の形式で、メッセージＩＤデータベース１３０から応答を受信する。この型のメッセージＩＤを用いていると、クライアントＢは、新たなメッセージが到来したか否かを決定するために、受信した最新のメッセージＩＤを記憶する必要がある。メアリの計算機システムがメッセージＩＤ応答として受信したばかりのメッセージＩＤ８１０を分析すると、全体的メッセージ数が「１４０５０４」であることを見いだす。メアリが全体的メッセージ数、例えば「５０２７２」のメッセージを先に受信している場合、彼女のクライアントであるクライアントＢは、メッセージＩＤデータベースで今メアリのために記憶されている（またメッセージＩＤ応答を介してクライアントＢに送信されている）メッセージＩＤの全体的メッセージ数がメアリのクライアントであるクライアントＢに局所的に記憶されているものと異なることを見いだす。したがって、クライアントＢは、メッセージサーバ１２０との接触に移行し、応答によって明示されたメッセージＩＤ、すなわちｍ４−ＩＤ８１０に対応するメッセージを要求する。応答として、メッセージサーバ１２０は、メッセージｍ４を配信し、ここでメアリはダンの音声メッセージを受信する。
【００６４】
メッセージサーバ１２０がメアリへのメッセージを保有していない時にメアリがメッセージＩＤデータベースに問い合わせを送信すると、彼女に宛てた新たなメッセージが存在しないのでメッセージＩＤデータベースでメアリ用に記憶されたメッセージＩＤが変更されていないため、彼女は、彼女の計算機システムで局所的に記憶された数、この例では上記のように「５０２７２」、に等しい全体的メッセージ数を受信する。それ故、彼女のクライアントがその後不必要にメッセージサーバ１２０に接触して負担をかけることはない。
【００６５】
ここで、先の例（図７の型のメッセージＩＤが使用されている場合）のように、システムの第３の使用者マークがメアリへのメッセージｍ５の送信を希望する。前と同様、マークは、ダンがメッセージｍ４を送信した後にメッセージを送信する。マークはメッセージｍ５を発生し、彼のクライアントであるクライアントＣはメッセージサーバ１２０にメッセージを送信する。マークは、テキストメッセージをメアリに送信することを希望する。彼は、計算機システムのキーボード（図２の２０７）を用いてメッセージを形成する。そうすると、クライアントＣは、メッセージサーバ１２０に接続し、メッセージｍ５を送信する。メッセージｍ５を受信した後、メッセージサーバ１２０は、対応するメッセージＩＤであるｍ５−ＩＤ（図８の８２０）を形成し、メッセージｍ５とメッセージＩＤのｍ５−ＩＤを記憶する。本例の型のメッセージＩＤのメッセージ数が全体的メッセージ数であるので、メッセージ（ｍ４）を送るダンとメッセージ（ｍ５）を送るマークとの間で受信する任意のメッセージは、全体的メッセージ数に加えられ、これは、ダンのメッセージｍ４のメッセージＩＤのｍ４−ＩＤが形成されるときには「１４０５０４」である。全体的メッセージ数は、例えばマークのクライアントであるクライアントＣがメッセージサーバ１２０にマークのメッセージｍ５を送る時点では、「１５１００４」である。マークのメッセージがメッセージサーバ１２０で受信されるとき、図８の８２３で示されるように、全体的メッセージ数「１５１００５」が割り当てられる。そして、メッセージサーバは、メッセージＩＤのｍ５−ＩＤ８２０をマークの計算機システムであるクライアントＣに送信し、メッセージＩＤデータベース１３０にも渡す。メアリが彼女の計算機システムであるクライアントＢ１０４にメッセージＩＤデータベースへの問い合わせを送信させメッセージをチェックすると、クライアントＢで応答を分析することにより、既にダンからのメッセージｍ４を取り出している場合、メッセージＩＤで表示される全体的メッセージ数が今や「１５１００５」であり、彼女の計算機システムで局所的に記憶されている数字「１４０５０４」と異なっていることが分かる。クライアントＢ１０４は、対応するメッセージ、この場合はｍ５、をメッセージサーバ１２０に要求し、受信する。
【００６６】
メアリがメッセージＩＤデータベースで全体的メッセージ数「１５１００５」見いだす前にメッセージｍ４を未だ取り出していない場合には、彼女の局所的に記憶されたメッセージＩＤは未だ「５０２７２」であり、メッセージサーバは、代わりに、メアリ宛の全てのメッセージ、この場合はｍ４とｍ５の双方、を収集して配信することによりメアリからのメッセージ要求に応答する。そして、彼女の計算機システムであるクライアントＢは、ｍ５が受信した最後のメッセージであることを示すために、ｍ５−ＩＤを局所的に記憶する。
【００６７】
当然のことながら、図面は、本発明の或る実施形態だけを示している。システムと方法は、特許請求の範囲内で多くの手法によって変更することができるが、また、明細書に示されたものと異なるように構成されたフローチャートで図示することもできる。
【００６８】
当業者は、また、記載された型のメッセージＩＤを無数の手法で変更できることが分かる。当然のことながら、用語「メッセージＩＤ」の使用は、メッセージサーバで形成されるようなメッセージＩＤに対する変更や改造を含んでいる。例えば、メッセージＩＤは、メッセージサーバで用意された原情報の或るものを削除してもよい。そのような変形や修正は、修正されたメッセージＩＤが、メッセージ要求でメッセージサーバに出される場合に、元の（未修正の）メッセージＩＤに対応するメッセージをメッセージサーバで識別させられる限り、特許請求の範囲内のものとなる。
【図面の簡単な説明】
【００６９】
【図１】図１は、メッセージサーバ、メッセージＩＤデータベース、第１計算機システム及び第２計算機システムから成るメッセージ配信システムを示す。
【図２】図２は、単純化した計算機システムアーキテクチャを示す。
【図３ａ】図３ａは、フロントエンドを有するメッセージサーバを示す。
【図３ｂ】図３ｂは、多数のフロントエンドを有するメッセージサーバを示す。
【図４】図４は、第１使用者が第２使用者に向けてメッセージを発生した後、メッセージサーバ及びメッセージＩＤデータベースから成るシステムがどのように下処理するかを示すフローチャートである。
【図５】図５は、メッセージデータベースで取り出すべきメッセージの有無を決定するために使用者がシステムにどのように問い合わせするかを示すフローチャートである。
【図６】図６は、メッセージサーバでメッセージを取り出した後、システムの一部がどのように更新されるかを示す。
【図７】図７は、メッセージＩＤの例を示す。
【図８】図８は、メッセージＩＤの他の例を示す。
【図１】
2009516885.tif 000003
【図２】
2009516885.tif 000004
【図３ａ】
2009516885.tif 000005
【図３ｂ】
2009516885.tif 000006
【図４】
2009516885.tif 000007
【図５】
2009516885.tif 000008
【図６】
2009516885.tif 000009
【図７】
2009516885.tif 000010
【図８】
2009516885.tif 000011
【手続補正書】
【提出日】平成20年12月2日(2008.12.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メッセージサーバであって、
第１計算機システムからメッセージを受信し、メッセージの受信に応答してメッセージＩＤを提供し、メッセージＩＤは受信メッセージを識別するために形成されるものであり、
メッセージＩＤをメッセージＩＤデータベースに送信し、
第２計算機システムからのメッセージ要求の受信に応答して第２計算機システムにメッセージを送信する
ように構成されているもの、
第２計算機システムであって、
メッセージ配信の準備ができているか否かを決定するためにメッセージサーバよりむしろメッセージＩＤデータベースに接触する
ように構成されているもの、
メッセージＩＤデータベースであって、
第２計算機システムからのメッセージＩＤ問い合わせ受信に応答して第２計算機システムにメッセージＩＤ応答を提供し、メッセージＩＤ応答はメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成っている
ように構成されているもの
から成る、メッセージ配信システム。
【請求項２】
更に、第１計算機システムから成る、請求項１記載のメッセージ配信システム。
【請求項３】
メッセージサーバからメッセージを受信する計算機システムであって、
メッセージサーバよりむしろメッセージＩＤデータベースにメッセージＩＤ問い合わせを送るところ、メッセージＩＤデータベースはメッセージＩＤを記憶してメッセージＩＤ問い合わせ受信に応答して計算機システムにメッセージＩＤ応答を送信するように構成されており、メッセージＩＤ応答はメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成り、
メッセージＩＤデータベースからメッセージＩＤ応答を受信し、
メッセージＩＤ応答の受信時にメッセージサーバからメッセージを取り出す準備ができていることをメッセージＩＤ応答が示しているか否かを決定し、肯定的な場合には、そこで
メッセージサーバが計算機システムにメッセージを送信するようにメッセージサーバにメッセージ要求を送信して要求を行い、
メッセージサーバから送信されたメッセージを受信する、
ように構成されている、システム。
【請求項４】
メッセージＩＤ応答がメッセージサーバの特定メッセージを識別するメッセージＩＤを含んでいる、請求項３記載のシステム。
【請求項５】
送信計算機システムからの１又は複数のメッセージを処理する方法であって、
メッセージサーバが、送信計算機システムから送信される１又は複数のメッセージの受信に応答して、１又は複数の受信メッセージを識別する１又は複数のメッセージＩＤを提供すること、
メッセージサーバが１又は複数のメッセージＩＤの少なくとも１つをメッセージＩＤデータベースに送信すること、
メッセージＩＤデータベースが送信された少なくとも１つのメッセージＩＤを受信すること、
受信計算機システムが、メッセージ配信可能か否かを決定するために、メッセージサーバよりむしろメッセージＩＤデータベースに接触すること、
の段階から成る、方法。
【請求項６】
方法は、更に、
送信計算機システムがメッセージサーバに１又は複数のメッセージを送信すること、
の段階から成る、請求項５記載の方法。
【請求項７】
少なくとも１つのメッセージＩＤをメッセージサーバからメッセージＩＤデータベースに送信する段階は、
メッセージサーバが送信計算機システムに少なくとも１つのメッセージＩＤを送信すること、
送信計算機システムが少なくとも１つのメッセージＩＤをメッセージＩＤデータベースに送信すること、
から成る、請求項５又は６記載の方法。
【請求項８】
方法は、更に、
受信計算機システムがメッセージＩＤデータベースにメッセージＩＤ問い合わせを送り、これに対してメッセージＩＤデータベースがメッセージＩＤ応答を提供し、メッセージＩＤ応答がメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成ること、
の段階から成る、請求項５から７までのいずれかに記載の方法。
【請求項９】
方法は、更に、
メッセージサーバから１又は複数のメッセージの少なくとも１つを取り出す準備ができていることをメッセージＩＤ応答が示しているか否かを受信計算機システムが決定し、肯定的な場合には、そこで、
受信計算機システムがメッセージサーバにメッセージ要求を出し、
メッセージサーバがメッセージ要求受信に応答して第２計算機システムに要求されたメッセージを送信し、
受信計算機システムが要求したメッセージを受信する、
段階から成る、請求項８記載の方法。
【請求項１０】
受信計算機システムがメッセージサーバから受信したメッセージに対応するメッセージＩＤを受信計算機システムで局所的に記憶する、請求項８又は９記載の方法。
【請求項１１】
受信計算機システムでメッセージサーバからメッセージを受信する方法であって、
受信計算機システムが、メッセージサーバよりむしろメッセージＩＤデータベースにメッセージＩＤ問い合わせを送信するところ、メッセージＩＤデータベースがメッセージＩＤを記憶してメッセージＩＤ問い合わせ受信に応答して受信計算機システムにメッセージＩＤ応答を送信するように構成されており、メッセージＩＤ応答がメッセージＩＤデータベースに記憶されたメッセージＩＤに関する情報から成り、
受信計算機システムがメッセージＩＤデータベースからメッセージＩＤ応答を受信し、
メッセージサーバからメッセージを取り出す準備ができていることをメッセージＩＤ応答が示しているか否かを受信計算機システムが決定するところ、メッセージサーバが受信計算機システムからのメッセージ要求受信に応答して受信計算機システムにメッセージを送信するように構成されており、メッセージサーバからメッセージを取り出す準備ができている場合、そこで、
受信計算機システムがメッセージ要求のためにメッセージサーバにメッセージ要求を送信し、
メッセージサーバがメッセージ要求受信に応答して受信計算機システムにメッセージを送信し、
受信計算機システムがメッセージを受信する、
段階から成る、方法。
【請求項１２】
受信計算機システムは、受信計算機システムが未だメッセージの要求と受信を行っていない場合にのみ、メッセージを要求する、請求項１１記載の方法。
【請求項１３】
方法は、更に、受信計算機システムがメッセージ受信時にメッセージに関連するメッセージＩＤを記憶し、メッセージＩＤがメッセージサーバでメッセージを識別するものである、段階から成る、請求項１１記載の方法。
【請求項１４】
受信計算機システムで対応するメッセージＩＤが利用可能でない場合にのみ、受信計算機システムがメッセージを要求する、請求項１３記載の方法。
【請求項１５】
メッセージＩＤデータベースとメッセージサーバは資源が相互に独立している、請求項１から４までのいずれかに記載のシステム。
【請求項１６】
メッセージＩＤデータベースがピアツーピアデータベースのような分散データベースである、請求項１から４まで及び１５のいずれかに記載のシステム。
【請求項１７】
メッセージＩＤデータベースとメッセージサーバは資源が相互に独立している、請求項５から１４までのいずれかに記載の方法。
【請求項１８】
メッセージＩＤデータベースがピアツーピアデータベースのような分散データベースである、請求項５から１４まで及び１７のいずれかに記載の方法。
【請求項１９】
ハードウエアの計算機システムで実行されると、請求項５から１４まで、１７及び１８のいずれかに記載の方法の少なくとも１つをシステムが実行できるようにするソフトウエア。
【請求項２０】
請求項５から１４まで、１７及び１８のいずれかに記載の方法の少なくとも１つを実行するように動作するハードウエア。
【国際調査報告】
2009516885.tif 000012
2009516885.tif 000013
2009516885.tif 000014