(57)【特許請求の範囲】
【請求項１】
複数の通信デバイス上でのユーザのアベイラビリティを決定するための方法であって、プロセッサが下記のステップを実行することを含み、前記方法が、
一人のユーザによって使用される複数のデバイスについての以前のアベイラビリティ・データを収集するステップであって、収集された前記以前のアベイラビリティ・データは、前記複数のデバイスのそれぞれについての、アベイラビリティ時間又は期間と、信号強度とを含む、前記収集するステップと、
収集された前記以前のアベイラビリティ・データに基づいて前記複数のデバイスのそれぞれに関して、前記ユーザのアベイラビリティの予測アベイラビリティ・モデルを生成するステップであって、前記予測アベイラビリティ・モデルが、前記アベイラビリティ時間又は期間と、前記信号強度とを使用して生成される、前記生成するステップと、
送信側から前記複数のデバイスの少なくとも１つにメッセージを経路設定するために、前記予測アベイラビリティ・モデルを使用して前記複数のデバイスを優先順位付けするステップと、
前記複数のデバイスのうち、前記ユーザの最もアベイラビリティが高いデバイスを前記送信側によって使用されるインターフェース上で示すステップと、
前記優先順位付けするステップで決定された前記複数のデバイスの優先順位に基づいて、プライバシ問題を考慮してユーザにより選択されたデバイスを含む少なくとも１つのデバイスに、前記メッセージを経路設定するステップと、
受信者が応答するまで、優先順位付けアルゴリズムに基づいて、前記送信側から前記複数のデバイスのうちのより優先順位の高いデバイスからより優先順位の低いデバイスに前記メッセージを順次、経路設定するステップと、
を含む、前記方法。
【請求項２】
前記複数のデバイスが、ラップトップ、タブレット、携帯電話を含み、前記デバイスがそれぞれのメッセージング・システムと通信し、前記メッセージング・システムが、テキスト・インスタント・メッセージングまたはショート・メッセージング・サービス（ＳＭＳ）を含む、請求項１に記載の方法。
【請求項３】
前記予測アベイラビリティ・モデルが、デバイスの使用頻度に関連付けられたアベイラビリティ・レーティングをさらに使用して生成される、請求項１又は２に記載の方法。
【請求項４】
前記デバイスの使用頻度に関連付けられたアベイラビリティ・レーティングが、最も頻繁に使用されるデバイス又はある場所で最も頻繁に使用されるデバイスの統計的結論を含むアベイラビリティ・レーティングである、請求項３に記載の方法。
【請求項５】
前記選択が、前記複数のデバイスの優先順位及び業務ポリシーを考慮して行われる、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記メッセージが個人的なメッセージである場合に、前記選択が、前記優先順位を考慮して前記複数のデバイスのうちの該ユーザの個人的なデバイスを選択することによって行われる、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
複数の通信デバイス上でのユーザのアベイラビリティを決定するためのシステムであって、
コンピュータのプロセッサによって実行可能なプログラムを使用して、以前に収集されたアベイラビリティ・データに基づいて、一人のユーザによって使用される複数のデバイスのそれぞれに関して、前記ユーザのアベイラビリティの予測アベイラビリティ・モデルを生成する第１のアルゴリズムであって、収集された前記以前のアベイラビリティ・データは、前記複数のデバイスのそれぞれについての、アベイラビリティ時間又は期間と、信号強度とを含み、前記予測アベイラビリティ・モデルが、前記複数のデバイスのそれぞれについての、アベイラビリティ時間又は期間と、信号強度とを使用して生成される、前記第１のアルゴリズムと、
前記プログラムを使用して、送信側から前記複数のデバイスの少なくとも１つにメッセージを経路設定するために、前記予測アベイラビリティ・モデルを使用して前記複数のデバイスを優先順位付けする第２のアルゴリズムと、
前記複数のデバイスのうち、前記ユーザの最もアベイラビリティが高いデバイスを前記送信側によって使用されるインターフェース上で示すように構成されたインターフェースと、
前記優先順位付けするステップで決定された前記複数のデバイスの優先順位に基づいて、プライバシ問題を考慮してユーザにより選択されたデバイスを含む少なくとも１つのデバイスに、前記メッセージを経路設定するように構成された経路設定論理であって、受信者が応答するまで、前記第２のアルゴリズムに基づいて、前記送信側から前記複数のデバイスのうちのより優先順位の高いデバイスからより優先順位の低いデバイスに前記メッセージを順次、経路設定する、前記経路設定論理と、
を備える、前記システム。
【請求項８】
前記複数のデバイスが、ラップトップ、タブレット、セル電話を含み、前記デバイスがそれぞれのメッセージング・システムと通信し、前記メッセージング・システムが、テキスト・インスタント・メッセージングまたはショート・メッセージング・サービス（ＳＭＳ）を含む、請求項７に記載のシステム。
【請求項９】
前記予測アベイラビリティ・モデルが、デバイスの使用頻度に関連付けられたアベイラビリティ・レーティングをさらに使用して生成される、請求項７又は８に記載のシステム。
【請求項１０】
前記デバイスの使用頻度に関連付けられたアベイラビリティ・レーティングが、最も頻繁に使用されるデバイス又はある場所で最も頻繁に使用されるデバイスの統計的結論を含むアベイラビリティ・レーティングである、請求項９に記載のシステム。
【請求項１１】
前記選択が、前記複数のデバイスの優先順位及び業務ポリシーを考慮して行われる、請求項７〜１０のいずれか一項に記載のシステム。
【請求項１２】
前記メッセージが個人的なメッセージである場合に、前記選択が、前記優先順位を考慮して前記複数のデバイスのうちの該ユーザの個人的なデバイスを選択することによって行われる、請求項７〜１１のいずれか一項に記載のシステム。
【請求項１３】
複数の通信デバイス上でのユーザのアベイラビリティを決定するためのコンピュータ・プログラムであって、プロセッサに請求項１〜６のいずれか一項に記載の方法を実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、複数のデバイスおよびメッセージング・システムにわたって電子的な会話を管理することに関する。
【背景技術】
【０００２】
インスタント・メッセージング（ＩＭ）、テキスト・メッセージング、およびグループ・メッセージングのようなメッセージング・アプリケーションは、コンピューティング・デバイス上で一般的なものであり、さらに普及しつつある。同時に、メッセージングを介して通信するために、マルチメディア・クライアント、すなわちコンピューティング・デバイス（たとえば、コンピュータ、移動電話、タブレット、ラップトップ、ネットブック、自動車通信システムなど）の使用もまた、増えつつある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
現在のシステムは、ユーザが複数のデバイスを使用可能であることを認識することができ、デスクトップと移動デバイスとを区別するアベイラビリティ（availability）説明機能を提供することができる。しかし、これらの典型的なアベイラビリティ説明は、粗い見方または高レベル情報、すなわち移動デバイス対デスクトップ・コンピュータを提供するにすぎない。さらに、デバイス上での活動に基づく自動アベイラビリティ更新は、１つまたは複数のデバイス上でメッセージを受信することに関するユーザの好みを正確に反映しない。さらに、ＩＭ使用がデスクトップおよびラップトップを超えると、ユーザの実際のアベイラビリティは、典型的なＩＭシステムによって提供される選択肢（たとえば、応対可能、離席、会議中、オフラインなど）より様々なものとなり得る。現在のシステムは、システムに接続される複数のデバイスにわたって同時にメッセージを受信すること、たとえば複数のデバイスから電子メールにアクセスすることをサポートすることができる。
【課題を解決するための手段】
【０００４】
本発明の一態様では、方法が、使用量データを収集して複数の通信デバイス上でのユーザのアベイラビリティを決定する。方法は、ユーザについての以前のアベイラビリティ・データを、ユーザによって使用される複数のデバイスに関連して収集する。ユーザについて、収集された以前のアベイラビリティ・データに基づいて複数のデバイスのそれぞれに関して、予測アベイラビリティ・モデルが生成される。それらのデバイスは、送信側からユーザにメッセージを経路設定するために、予測アベイラビリティ・モデルに基づいて優先順位付けされる。方法は、送信側からユーザのデバイスの少なくとも１つに、デバイスの優先順位付けに基づいてメッセージを経路設定する。
【０００５】
本発明の他の態様では、システムが、使用量データを収集して複数の通信デバイス上でのユーザのアベイラビリティを決定する。第１のアルゴリズムが、以前に収集されたアベイラビリティ・データに基づいて、複数のデバイスを有するユーザの予測アベイラビリティ・モデルを生成し、コンピュータのプロセッサによって実行可能なプログラムを使用する。第２のアルゴリズムが、そのプログラムを使用して、送信側からユーザにメッセージを経路設定するために、予測アベイラビリティ・モデルに基づいてユーザのデバイスを優先順位付けする。送信側からユーザのデバイスの少なくとも１つに、そのデバイスの優先順位付けに基づいてメッセージを経路設定するように、経路設定論理が構成される。送信側に対して、ユーザの最もアベイラビリティが高いデバイスを示すように、インターフェースが構成される。
【０００６】
本発明の他の態様では、コンピュータ・プログラム製品が、使用量データを収集して複数の通信デバイス上でのユーザのアベイラビリティを決定する。このコンピュータ・プログラム製品は、プログラム・コードがそれと共に実施されるコンピュータ可読記憶媒体を備える。プログラム・コードは、以下のステップ、すなわち、ユーザについての以前のアベイラビリティ・データを、ユーザによって使用される複数のデバイスに関連して収集するステップ、ユーザについて、収集された以前のアベイラビリティ・データに基づいて複数のデバイスのそれぞれに関して、予測アベイラビリティ・モデルを生成するステップ、送信側からユーザにメッセージを経路設定するために、予測アベイラビリティ・モデルに基づいてデバイスを優先順位付けするステップ、および送信側からユーザのデバイスの少なくとも１つに、デバイスの優先順位付けに基づいてメッセージを経路設定するステップを実施するように、プロセッサによって可読／実行可能である。
【０００７】
本発明のこれらの、および他の目的、特徴、および利点は、添付の図面と併せ読むべきであるその例示的な実施形態の以下の詳細な説明から明らかになろう。これらの図は、当業者が詳細な説明と共に本発明を理解するのを容易にする上で見やすいようにするためのものであり、図面の様々な特徴は原寸に比例していない。
【図面の簡単な説明】
【０００８】
【図１】本開示の実施形態による複数の通信デバイス上でのユーザのアベイラビリティを決定するためのシステムおよび方法の概要を示す概略ブロック図である。
【図２】図１に示されている複数の通信デバイス上でのユーザのアベイラビリティを決定するための方法を示す流れ図である。
【発明を実施するための形態】
【０００９】
図１および図２を参照すると、本発明の一実施形態によるシステム１０および方法１００が、使用量データ３４を収集して複数の通信デバイス８０を有するユーザ６０のアベイラビリティを決定する。通信デバイス８０は、たとえば、コンピュータ、または携帯情報端末（ＰＤＡ）、携帯電話、ノートブックなどを含み得る。使用量データ３４は、たとえば、データベース３０内で記憶されてもよい。通信デバイス８０は、図１に一般的に表されており、携帯電話、コンピュータ、携帯情報端末（ＰＤＡ）、ノートパッド・コンピュータ、ラップトップ、ノートブック・コンピュータ、ネットブック、タブレット、または自動車通信システムを含み得る。通信デバイス８０のそれぞれは、図１に一般的に表されている関連のメッセージング・システム５０を有する。メッセージング・システム５０は、たとえば、セル電話ネットワーク、インターネット、およびショート・メッセージング・サービス（ＳＭＳ）を含み得る。ＳＭＳは、固定電話または移動電話デバイス間でショート・テキスト・メッセージの交換を可能にする標準化された通信プロトコルを使用する、電話、ウェブ、または移動通信システムのテキスト・メッセージング・サービス・コンポーネントである。より具体的には、メッセージング通信システム５０は、インターネット５２、または公衆交換電話網（ＰＳＴＮ）５４を含み得る。ＰＳＴＮ５４は、電話回線、光ファイバ・ケーブル、マイクロ波伝送リンク、セルラ・ネットワーク、通信衛星、および海底電話ケーブルをさらに含み得る。インターネットは、多数のテキスティング技法を容易にすることができる。たとえば、マルチメディア・コンテンツを含むメッセージを、移動電話との間で、または１つもしくは複数の電子メール・アカウントとの間で、インターネットを介して送るための技法として、携帯電話またはラップトップ・コンピュータを使用し、マルチメディア・メッセージング・サービス（ＭＭＳ）（ＳＭＳに関連する）を介してテキスト・メッセージを送ることである。
【００１０】
方法１００は、図２に示されているように、ステップ１０４で、複数の通信デバイス上でのユーザの以前のアベイラビリティのアベイラビリティ・データを収集するステップを含む。予測モデル・アルゴリズム２６が、ステップ１０８で、収集された以前のアベイラビリティ・データに基づいて、複数のデバイスを有するユーザのアベイラビリティの予測アベイラビリティ・モデル９０を生成する。優先順位付けアルゴリズム２８が、ステップ１１２のように、プログラム２２を使用して、予測アベイラビリティ・モデル９０に基づいて、送信側７０からユーザ６０にメッセージ７４を経路設定するために、ユーザ６０のデバイス８０およびそれらの関連のメッセージング・システム５０を優先順位付けする。経路設定論理９８は、ステップ１１６のように、優先順位付けアルゴリズム２８に基づいて、送信側からユーザにメッセージを経路設定するように構成される（たとえば、経路は、矢印８４として示されている）。
【００１１】
先のステップは、図１に示されているように、コンピュータ２０のプロセッサ３０によって実行可能なプログラム２２を使用して完了され得る。プログラムは、コンピュータ可読記憶媒体、たとえばデータ記憶デバイス２４上に含まれてもよい。プログラムは、ユーザのデバイス上にインストールされても、サービスとして提供されてもよい。
【００１２】
コンピュータ２０は、本明細書に開示されている方法をデバイス・マネージャ・サービスとして提供するためのサービスの一部とすることができる。方法１００は、コンピュータ可読記憶デバイス、たとえばデータ記憶デバイス２４上に含まれるプログラム２２内に含まれてもよく、コンピュータ２０のプロセッサ３０によって実行可能である（すなわち、プログラム・ステップ、コード、またはプログラム・コードを実行する）。プログラム、またはそれからの実行可能命令は、プロバイダによってサービスとして提供されてもよい。また、プログラムは、ユーザ・デバイス上で記憶され、ローカルで実行されてもよい。図１に示されているコンピュータ２０およびプログラム２２は、コンピュータと、ユーザにとってローカルであってもインターネットを使用してアクセス可能なウェブサイトなど遠隔サービスとして提供されてもよいプログラムとを一般的に表したものである。また、本明細書では、コンピュータ２０は、携帯情報端末、ラップトップ、もしくはデスクトップ・コンピュータなどコンピュータ・デバイスもしくはシステムを、または１つもしくは複数のサーバの一部を単独で、もしくはデータセンタの一部として一般的に表す。コンピュータ・システム２０は、ネットワーク・インターフェースと、コンピューティング・デバイスに接続され得る外部デバイスとのデータの入力および出力を可能にする入力／出力（Ｉ／Ｏ）インターフェースとを含み得る。ネットワーク・インターフェースは、コンピューティング・デバイスとコンピュータ・ネットワークの間で通信を提供することができる。プログラム２２は、本明細書に記載の方法の１つまたは複数のステップおよびシステムを実施するためにプログラムの特定のステップ、ルーチン、サブルーチン、命令、またはコードを実行するためのプログラム・モジュール２４を含み得る。そのようなモジュール２４が図１に一般的に表されている。
【００１３】
図２を参照すると、本発明の一実施形態では、送信側のインターフェース・デバイス７６が、ステップ２０４のように、優先順位付けアルゴリズムを使用してユーザの最もアベイラビリティが高いデバイスを示すことができる。次いで、送信側は、最も高い優先順位、すなわちユーザに接触する最も高い可能性を有するユーザのデバイスを選ぶことができる。この選択は、自動的なものであってよい。システム１０および方法１００は、ステップ２０８のように、経路設定論理を使用して、優先順位付けアルゴリズムに基づいて、リアルタイムでユーザのより優先順位の高いデバイスからより優先順位の低いデバイスにメッセージを順次経路設定することができる。すなわち、より高い優先順位は、ユーザに接触する最も高い可能性を示す。
【００１４】
ユーザの以前のアベイラビリティは、複数のデバイスおよびそれぞれのメッセージング・システムのそれぞれについてユーザ応答回数／アベイラビリティを含み得る。複数のデバイスは、ラップトップ、タブレット、携帯電話を含み得る。メッセージング・システムは、テキスト・インスタント・メッセージングおよびショート・メッセージング・サービス（ＳＭＳ）を含み得る。したがって、ユーザの以前のアベイラビリティは、複数のデバイスのそれぞれにおけるユーザのアベイラビリティを、たとえば時間、および通信（たとえば、携帯電話信号または電子メッセージ）を完了するための信号強度などアクセスに基づいて決定することを含む。このアベイラビリティ・データは、方法１００のステップ１０４のように収集される。
【００１５】
したがって、本開示による方法１００は、使用量データを収集して複数の通信デバイスを有するユーザのアベイラビリティを決定する。方法１００は、ステップ１０４のように、複数のデバイス８０上でのユーザのアベイラビリティのアベイラビリティ・データを収集するステップを含む。ユーザのアベイラビリティの予測モデル９０が、ステップ１０８のように、収集された以前のアベイラビリティ・データに基づいて生成される。方法１００は、ステップ１１２において、送信側７０からユーザ６０にメッセージ７４を経路設定するために、予測アベイラビリティ・モデルに基づいて、ユーザ６０のデバイス８０（受信側とも呼ばれる）および関連のメッセージング・システム５０を優先順位付けする。方法１００は、ステップ１１６のように、デバイスの優先順位付けに基づいて、送信側７０からユーザ６０にメッセージ７４を経路設定する。
【００１６】
さらに、過去の使用およびアベイラビリティからパターンを開発し、ユーザのデバイスのアベイラビリティを決定するために使用することができる。たとえば、あるユーザは、通常、夜間は携帯電話において、日中はコンピュータにおいてでアベイラブルであり、またはユーザが１つのデバイス上で接触可能であるイベントにいつも出席する可能性がある。そのような統計的要因を、そのユーザに接触するために最も可能性が高いデバイスを決定する際に使用することができる。パターンを決定するために使用することができる要因は、空間的、時間的、および社会的コンテキスト、たとえば場所、期間、または親睦会への出席を含み得る。したがって、上記の要因を、どのデバイスにメッセージを経路設定するか選択する際に使用することができる。
【００１７】
収集された以前のアベイラビリティ・データは、過去のデータの統計解析に基づく、デバイスのそれぞれについてのアベイラビリティ時間、またはデバイスが通常応対可能である期間を含み得る。予測アベイラビリティ・モデルは、デバイスのそれぞれについてのアベイラビリティ時間または期間を使用し、最もアベイラビリティが高いデバイスを決定することができる。
【００１８】
アベイラビリティ時間または期間は、デバイスのそれぞれについて決定し、方法１００のステップ１０４で収集された以前のアベイラビリティ・データに含めることができる。予測アベイラビリティ・モデルを生成するステップ１０８は、アベイラビリティ時間および、最も頻繁に使用されるデバイスまたはある場所で最も頻繁に使用されるデバイスの統計的結論を含み得るデバイスアベイラビリティ・レーティングを使用することを含み得る。
【００１９】
本開示によれば、方法１００は、メッセージング・システムに対するアドオンとすることも、経時的にデバイスに跨って本来の場所で（in situ）ユーザの活動についてのデータ、たとえばユーザの場所、使用回数、および応答のパターンを集めるサービスを提供することもできる。この方法は、１つまたは複数のユーザのデバイス上にローカルでインストールされる、または、たとえば１つまたは複数の遠隔サーバ上のサービスとしてアクセスされるコンピュータ・プログラムで実施することができる。このデータを使用し、デバイスごとのユーザのアベイラビリティ、または、応答の可能性のモデルを構築することができる。このモデルを使用し、最も大きな受信の可能性および受信の速さに対してメッセージを経路設定することができる。また、このモデルを使用し、別のユーザのアベイラビリティまたはあなた自身のアベイラビリティを決定または提示することができる。ユーザは、アベイラビリティ・レーティングに基づいて、メッセージを受信するための受信側のデバイスを選択してもよい。また、ユーザは、時刻またはプライバシ問題など他の考慮すべき点と組み合わせてアベイラビリティ・ランキングに基づいて受信者のデバイスを選択する、たとえば、業務ポリシーを考慮して個人的なメッセージのためにメッセージの受信者として業務コンピュータではなく携帯電話を選択することもできる。
【００２０】
また、この方法は、アベイラビリティの順で応対可能なデバイスのランキングを提示するステップを含み得る。ランキングは、順序付けされたリスト、色、進捗バー、番号ランキング、または他の表示を含み得る。
【００２１】
本開示の方法は、アベイラビリティの順でデバイスをランキングするステップ、および、受信者が読む、またはメッセージに応答する、あるいは両方を行うまで、送信側から受信者に、最も高いランクのデバイスからランクのより低いデバイスへメッセージを自動的に送るステップを含み得る。上記により、メッセージをすべてのデバイスにブロードキャストすることが回避され、これは、ユーザ／受信者に対する情報過負荷を低減する。
【００２２】
本発明の実施形態について、その好ましい実施形態に関連して特に示し述べたが、本願の思想および範囲から逸脱することなしに、形態および詳細の変更を加えることができることを、当業者なら理解するであろう。したがって、本発明は、本明細書に記載され示されているその形態および詳細に限定されず、添付の特許請求の範囲であることが意図されている。
【００２３】
したがって、本明細書に記載の１つまたは複数の図は、本開示の一実施形態の概略図を示す可能性があり、本開示の１つまたは複数の実施形態における方法およびプログラムを実装することができる代表的なコンピュータ・システムまたは処理システムを含むことがある。コンピュータ・システムは、好適な処理システムの一例にすぎず、本明細書に記載の方法の実施形態の使用または機能の範囲について限定を示唆するものではない。示されている処理システムは、多数の他の汎用または専用コンピューティング・システム環境または構成と共に動作可能であり得る。本開示における１つまたは複数の処理システムと共に使用するのに適している可能性がある周知のコンピューティング・システム、環境、または構成、あるいはそれらの組合せの例は、それだけには限らないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサをベースとするシステム、プログラム可能な家電、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などを含み得る。
【００２４】
コンピュータ・システムは、コンピュータ・システムによって実行される、プログラム・モジュールなどコンピュータ・システム実行可能命令の一般的な状況で述べられていることがある。一般に、プログラム・モジュールは、特定のタスクを実施する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含み得る。コンピュータ・システムは、通信ネットワークを通じてリンクされる遠隔処理デバイスによってタスクが実施される分散型クラウド・コンピューティング環境内で実施され得る。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ記憶デバイスを含むローカルおよび遠隔のコンピュータ・システム記憶媒体内に位置することがある。
【００２５】
コンピュータ・システムのコンポーネントは、それだけには限らないが、１つまたは複数のプロセッサまたは処理ユニットと、システム・メモリと、システム・メモリを含む様々なシステム・コンポーネントをプロセッサに結合するバスとを含み得る。コンピュータ・システムは、様々なコンピュータ・システム可読媒体を含み得る。そのような媒体は、コンピュータ・システムによってアクセス可能な任意の使用可能な媒体であってよく、揮発性媒体および不揮発性媒体、取外し式媒体および非取外し式媒体を含み得る。図１に示されているシステム・メモリ５８は、ランダム・アクセス・メモリ（ＲＡＭ）またはキャッシュ・メモリ、あるいはその両方など、揮発性メモリの形態にあるコンピュータ・システム可読媒体を含み得る。コンピュータ・システムは、他の取外し式／非取外し式、揮発性／不揮発性コンピュータ・システム記憶媒体をさらに含み得る。例にすぎないが、非取外し式不揮発性磁気媒体（たとえば、「ハード・ドライブ」）から読み出し、そこへ書き込むために、記憶システム１８を用意することができる。示されていないが、取外し式不揮発性磁気ディスク（たとえば、「フロッピ・ディスク（Ｒ）」）から読み出し、そこへ書き込むための磁気ディスク・ドライブ、およびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光学式媒体など、取外し式不揮発性光ディスクから読み出し、そこへ書き込むための光ディスク・ドライブを用意することができる。そのような場合、それぞれを１つまたは複数のデータ媒体インターフェースによってバス１４に接続することができる。
【００２６】
また、コンピュータ・システムは、キーボード、ポインティング・デバイス、ディスプレイなど１つもしくは複数の外部デバイス、ユーザがコンピュータ・システムとインタラクションすることを可能にする１つもしくは複数のデバイス、またはコンピュータ・システムが１つもしくは複数の他のコンピューティング・システムと通信することを可能にする任意のデバイス（たとえば、ネットワーク・カード、モデムなど）、あるいはそれらの組合せと通信することができる。そのような通信は、入力／出力（Ｉ／Ｏ）インターフェースを介して行われ得る。さらに、コンピュータ・システムは、ネットワーク・アダプタを介して、ローカル・エリア・ネットワーク（ＬＡＮ）、一般的なワイド・エリア・ネットワーク（ＷＡＮ）、またはパブリック・ネットワーク（たとえば、インターネット）、あるいはそれらの組合せなど、１つまたは複数のネットワークと通信することができる。示されているように、ネットワーク・アダプタは、バスを介してコンピュータ・システムの他のコンポーネントと通信する。示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方をコンピュータ・システムと共に使用することができることを理解されたい。例は、それだけには限らないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ記憶システムなどを含む。
【００２７】
当業者には理解されるように、本開示の態様は、システム、方法、またはコンピュータ・プログラム製品として実施することができる。したがって、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形態をとることができ、これらはすべて、本明細書では、全体的に「回路」「モジュール」または「システム」と呼ばれることがある。さらに、本開示の態様は、コンピュータ可読プログラム・コードが含まれている１つまたは複数のコンピュータ可読媒体内に含まれるコンピュータ・プログラム製品の形態をとることができる。
【００２８】
１つまたは複数のコンピュータ可読媒体の任意の組合せが使用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体であってもコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、たとえば、それだけには限らないが、電子、磁気、光、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または前述のものの任意の好適な組合せであってよい。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）は、１本もしくは複数のワイヤを有する電気接続、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能なプログラマブル読出し専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、光ファイバ、可搬コンパクト・ディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または前述のものの任意の好適な組合せを含む。本書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、もしくはデバイスによって、またはそれらと共に使用するために、プログラムを収容または記憶することができる任意の有形の媒体であってよい。
【００２９】
コンピュータ・プログラム製品は、本明細書に記載の方法の実装を可能にする、またコンピュータ・システムにロードされたとき、それらの方法を実施することができるそれぞれの機能すべてを含み得る。本文脈におけるコンピュータ・プログラム、ソフトウェア・プログラム、プログラム、またはソフトウェアは、情報処理機能を有するシステムに特定の機能を直接、あるいは（ａ）別の言語、コード、もしくは表記法への変換、または（ｂ）異なる材料形態での再現のどちらかまたはその両方の後で実施させることが意図された命令のセットの任意の言語における任意の表現、コード、または表記法を意味する。
【００３０】
本明細書で使用される用語は、特定の実施形態について述べるためのものにすぎず、本開示を限定するものではない。本明細書で使用されるとき、単数形「ａ」「ａｎ」「ｔｈｅ」は、別段文脈により明らかに示されない限り、複数形も含むものとする。さらに、「ｃｏｍｐｒｉｓｅｓ（備える、含む）」または「ｃｏｍｐｒｉｓｉｎｇ（備える、含む）」あるいはその両方の用語は、本明細書で使用されるとき、述べられている特徴、整数、ステップ、動作、要素、またはコンポーネント、あるいはそれらの組合せが存在することを指定するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、またはそれらのグループ、あるいはそれらの組合せの存在または追加を排除しない。
【００３１】
すべてのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、行為、および均等物が下記の特許請求の範囲にあればそれらは、機能を、具体的に特許請求されているように、他の特許請求されている要素と組み合わせて実施するための任意の構造、材料、または行為を含むものとする。本開示の説明は、例示および説明のために提示されているが、網羅的なものとすることも、開示されている形態で本開示に限定されることも意図されていない。本開示の範囲および思想から逸脱することなしに、多数の変更形態および変形形態が当業者には明らかになろう。本開示の原理および実際的な応用例について最もよく説明するために、また、他の当業者が、企図されている特定の使用に適した様々な変更形態と共に様々な実施形態について本開示を理解することを可能にするために実施形態を選び、述べた。
【００３２】
本開示の様々な態様は、コンピュータ、プロセッサ、または機械、あるいはそれらの組合せで実行されたときコンピュータまたは機械に方法のステップを実施させるコンピュータまたは機械使用可能または可読媒体内に含まれるプログラム、ソフトウェア、またはコンピュータ命令として実施され得る。本開示に記載の様々な機能および方法を実施するために機械によって実行可能な命令のプログラムを有形に含む、機械によって可読であるプログラム記憶デバイスもまた提供される。
【００３３】
本開示のシステムおよび方法は、汎用コンピュータまたは専用コンピュータ・システム上に実装され実行され得る。本願で使用されることがある「コンピュータ・システム」および「コンピュータ・ネットワーク」という用語は、固定型または可搬、あるいはその両方のコンピュータ・ハードウェア、ソフトウェア、周辺機器、および記憶デバイスの様々な組合せを含み得る。コンピュータ・システムは、共同で動作するようにネットワーク化または他の方法でリンクされる複数の個々のコンポーネントを含んでも、１つまたは複数のスタンドアロンのコンポーネントを含んでもよい。本願のコンピュータ・システムのハードウェアおよびソフトウェア・コンポーネントは、デスクトップ、ラップトップ、またはサーバ、あるいはそれらの組合せなど、固定型および可搬のデバイスを含むことができ、それらの中に含まれてもよい。モジュールは、ソフトウェア、ハードウェア、ファームウェア、電子回路などとして実装することができる何らかの「機能」を実装するデバイス、ソフトウェア、プログラム、またはシステムのコンポーネントであってよい。
【００３４】
さらに、当業者には理解されるように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として実施することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形態をとることができ、これらはすべて、本明細書では、全体的に「回路」「モジュール」または「システム」と呼ばれることがある。さらに、本発明の態様は、コンピュータ可読プログラム・コードが含まれている１つまたは複数のコンピュータ可読媒体内に含まれるコンピュータ・プログラム製品の形態をとることができる。
【００３５】
さらに、１つまたは複数のコンピュータ可読媒体の任意の組合せが使用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体であってもコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、たとえば、それだけには限らないが、電子、磁気、光、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または前述のものの任意の好適な組合せであってよい。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）は、１本もしくは複数のワイヤを有する電気接続、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能なプログラマブル読出し専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、光ファイバ、可搬コンパクト・ディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または前述のものの任意の好適な組合せを含む。本書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、もしくはデバイスによって、またはそれらと共に使用するために、プログラムを収容または記憶することができる任意の有形の媒体であってよい。
【００３６】
コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが、たとえばベースバンド内に、または搬送波の一部として含まれる伝搬データ信号を含み得る。そのような伝搬信号は、それだけには限らないが、電磁、光、またはそれらの任意の好適な組合せを含めて、様々な形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体でなく、命令実行システム、装置、もしくはデバイスによって、またはそれらと共に使用するために、プログラムを通信、伝搬、または移送することができる任意のコンピュータ可読媒体であってよい。
【００３７】
コンピュータ可読媒体上に含まれるプログラム・コードは、それだけには限らないが、ワイヤレス、有線、光ファイバ・ケーブル、ＲＦなど、または前述のものの任意の好適な組合せを含めて、任意の適切な媒体を使用して伝送され得る。
【００３８】
本開示の態様のために演算を実施するためのコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語など従来の手続き型プログラミング言語、Ｐｅｒｌ、ＶＢＳもしくは同様の言語などスクリプティング言語、またはＬｉｓｐおよびＭＬなど関数型言語ならびにＰｒｏｌｏｇなど論理型言語、あるいはそれらの組合せを含めて、１つまたは複数のプログラミング言語の任意の組合せで書かれてもよい。プログラム・コードは、完全にユーザのコンピュータ上、部分的にユーザのコンピュータ上、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的に遠隔コンピュータ上、または完全に遠隔コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含めて任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、外部コンピュータに（たとえば、インターネット・サービス・プロバイダを使用してインターネットを通じて）接続がなされてもよい。
【００３９】
本開示の態様について、本開示の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の流れ図、またはブロック図、あるいはその両方を参照して述べられている。流れ図、またはブロック図、あるいはその両方の各ブロック、および流れ図、またはブロック図、あるいはその両方のブロックの組合せは、コンピュータ・プログラム命令によって実施することができることを理解されたい。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令が、流れ図、またはブロック図、あるいはその両方の１つまたは複数のブロックに指定された機能／行為を実装するための手段を生み出すように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供され、機械を作り出すことができる。
【００４０】
また、これらのコンピュータ・プログラム命令は、コンピュータ可読媒体内に記憶された命令が、流れ図、またはブロック図、あるいはその両方の１つまたは複数のブロックに指定された機能／行為を実装する命令を含む製造品を作り出すように、コンピュータ可読媒体内に記憶され、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに特定の方法で機能するように指示することができる。
【００４１】
また、コンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能な装置上で実行する命令が、流れ図、またはブロック図、あるいはその両方の１つまたは複数のブロックに指定された機能／行為を実装するためのプロセスを提供するように、コンピュータによって実施されるプロセスを生成するべく、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上にロードされ、そのコンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作ステップを実施させることができる。
【００４２】
１つまたは複数の図に示されていることがある流れ図およびブロック図は、本開示の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示すことがある。これに関連して、流れ図またはブロック図内の各ブロックは、指定された論理機能を実装するための１つまたは複数の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。いくつかの代替の実装では、ブロック内に示された機能が、図に示された順序から外れて行われ得ることにも留意されたい。たとえば、連続して示されている２つのブロックが、実際には、実質的に同時に実行されてもよく、これらのブロックが、必要とされる機能に応じて逆の順序で実行されることもあり得る。ブロック図、または流れ図、あるいはその両方の各ブロック、およびブロック図、または流れ図、あるいはその両方のブロックの組合せは、指定された機能もしくは行為を実施する専用ハードウェアをベースとするシステム、または専用ハードウェアとコンピュータ命令の組合せによって実施することができることにも留意されたい。
【００４３】
上記の実施形態、特徴、および例示的な例は、例示的なものであり、本開示を特定の実施形態または列挙された例に限定すると解釈するべきでない。したがって、当業者なら、添付の特許請求の範囲に定義されている本開示の思想または範囲から逸脱することなしに様々な改変および変更を行うことができる。
【図１】
0006788501.tif 000002
【図２】
0006788501.tif 000003