(57)【特許請求の範囲】
【請求項１】
ポータブル・ストレージ・デバイスであって、
プロセッサーと、
前記プロセッサーからストレージ命令を受け取るように構成されるストレージ・モジュールであって、
パーソナル・コンピューター、ラップトップ、スマートフォン、およびタブレットのうちの少なくとも１つのものを含む第１デバイスにより読み出されるようにファイルを格納するように構成される、
ストレージ・モジュールと、
前記プロセッサーから通信命令を受け取るように構成される通信モジュールであって、
標準化された通信プロトコル（ＳＣＰ）を用いて前記第１デバイスとネットワークを介して通信するように構成され、パケットまたはデータグラムを前記ＳＣＰに従うものとして認識するために前記パケットまたはデータグラムの少なくとも一方にＳＣＰヘッダーを添付するように構成される第１ワイヤレス・チップを含み、前記ＳＣＰは、前記通信モジュールを用いてブロードキャスト・メッセージを送信することによってデバイスを探索する前記第１デバイスの機能を定義し、
前記ファイルを、前記ストレージ・モジュールで記憶するために、前記パーソナル・コンピューター、前記ラップトップ、前記スマートフォン、および前記タブレットのうちの前記少なくとも１つのものから受け取るように構成される、
通信モジュールと、
Ｂｌｕｅｔｏｏｈ（登録商標）プロトコルを介して前記第１デバイスと通信するように構成される第２ワイヤレス・チップであって、
前記通信モジュールは、デバイスの探索の間、前記ブロードキャスト・メッセージを複数のパケットに分割し、前記複数のパケットを、前記第１ワイヤレス・チップを用いて第１送信経路を通じて送信するとともに前記第２ワイヤレス・チップを用いて第２送信経路を通じて送信することによって、前記ブロードキャスト・メッセージを送信するように構成される、
第２ワイヤレス・チップと、
を備える、ポータブル・ストレージ・デバイス。
【請求項２】
請求項１に記載のポータブル・ストレージ・デバイスであって、ブレスレット、小型時計、およびネックレスのうちの少なくとも１つを含むポータブル・ストレージ・デバイス。
【請求項３】
請求項１に記載のポータブル・ストレージ・デバイスであって、グラフィカル・ユーザー・インターフェイスを含むポータブル・ストレージ・デバイス。
【請求項４】
請求項１に記載のポータブル・ストレージ・デバイスであって、防水コーティングを更に含むポータブル・ストレージ・デバイス。
【請求項５】
請求項１に記載のポータブル・ストレージ・デバイスであって、前記ネットワークはローカル・ネットワークを含む、ポータブル・ストレージ・デバイス。
【請求項６】
請求項５に記載のポータブル・ストレージ・デバイスであって、前記ローカル・ネットワークはルーターを含む、ポータブル・ストレージ・デバイス。
【請求項７】
請求項１に記載のポータブル・ストレージ・デバイスであって、前記ネットワークはインターネットを含む、ポータブル・ストレージ・デバイス。
【請求項８】
請求項１に記載のポータブル・ストレージ・デバイスであって、前記ストレージ・モジュールは前記第１デバイスと同期するように構成される、ポータブル・ストレージ・デバイス。
【請求項９】
請求項１に記載のポータブル・ストレージ・デバイスであって、前記ストレージ・モジュールは前記ファイルを前記第１デバイスと自動的に同期させるように構成される、ポータブル・ストレージ・デバイス。
【請求項１０】
請求項９に記載のポータブル・ストレージ・デバイスであって、前記ファイルは暗号化される、ポータブル・ストレージ・デバイス。
【請求項１１】
請求項１に記載のポータブル・ストレージ・デバイスであって、前記ストレージ・モジュールに格納されたアクセス・キーを更に含むポータブル・ストレージ・デバイス。
【請求項１２】
請求項１に記載のポータブル・ストレージ・デバイスであって、前記ストレージ・モジュールは少なくとも１テラバイトの容量を有する、ポータブル・ストレージ・デバイス。
【請求項１３】
方法であって、
データを送信するためのプロセッサーにより、標準化された通信プロトコル（「ＳＣＰ」）を第１デバイス上にインプリメントするステップと、
前記プロセッサーにより、ファイルを得るステップと、
前記プロセッサーにより、ＴＣＰまたはＵＤＰの少なくとも一方を用いるトランスポート層にインプリメントされた探索プロトコルを用いてウエアラブル・ストレージ・デバイスを探索するステップであって、
前記探索するステップは、ウエアラブル・ストレージ・デバイスの探索の間、ブロードキャスト・メッセージを複数のパケットに分割し、前記複数のパケットを、前記第１デバイスの第１ワイヤレス・チップを用いて第１送信経路を通じて送信するとともに前記第１デバイスの第２ワイヤレス・チップを用いて第２送信経路を通じて送信することによって、前記ブロードキャスト・メッセージを送信するステップを含み、
前記探索プロトコル、および前記第１デバイスと前記ウエアラブル・ストレージ・デバイスとの間におけるデータの送信は前記ＳＣＰによって定義され、
前記ウエアラブル・ストレージ・デバイスは、前記ファイルを送信および受信するように構成されたストレージ・モジュールを含み、
前記ストレージ・モジュールは、前記プロセッサーにより読み出されるようにファイルを格納するように構成される、
ステップと、
前記プロセッサーにより、前記ファイルを暗号化するステップと、
前記プロセッサーにより、前記ＳＣＰを用いて、暗号化された前記ファイルを前記ウエアラブル・ストレージ・デバイスへ送信するステップと
を含む方法。
【請求項１４】
請求項１３に記載の方法であって、前記ウエアラブル・ストレージ・デバイスはネックレス、ブレスレット、および小型時計のうちの少なくとも１つのものを含む、方法。
【請求項１５】
請求項１４に記載の方法であって、前記ファイルは前記第１デバイスに格納されない、方法。
【請求項１６】
請求項１４に記載の方法であって、前記ファイルを得るステップは、前記第１デバイスのカメラを用いてピクチャをキャプチャするステップを含む、方法。
【請求項１７】
請求項１４に記載の方法であって、前記ウエアラブル・ストレージ・デバイスで前記ファイルを格納するステップを更に含む方法。
【請求項１８】
請求項１４に記載の方法であって、前記ファイルを前記ウエアラブル・ストレージ・デバイスから第２デバイスへ送信するステップを更に含む方法。
【請求項１９】
請求項１４に記載の方法であって、前記ＳＣＰをインプリメントするステップは、ＳＣＰヘッダーをパケットへ付加するステップを含む、方法。
【請求項２０】
請求項１４に記載の方法であって、前記ストレージ・モジュールは１テラバイト以上の容量を有する、方法。
【請求項２１】
ポータブル・ストレージ・デバイスであって、
プロセッサーと、
前記プロセッサーからストレージ命令を受け取るように構成されるストレージ・モジュールであって、パーソナル・コンピューター、ラップトップ、スマートフォン、およびタブレットのうちの少なくとも１つのものにより読み出されるようにファイルを格納するように構成され、前記プロセッサーは、前記ファイルがワンタイム暗号を用いて少なくとも前記ストレージ・モジュール上で暗号化されるように前記ファイルを暗号化するように構成される、ストレージ・モジュールと、
第１ワイヤレス・チップを含み、前記プロセッサーから通信命令を受け取るように構成される通信モジュールと、
Ｂｌｕｅｔｏｏｈ（登録商標）プロトコルを介して、前記パーソナル・コンピューター、前記ラップトップ、前記スマートフォン、および前記タブレットのうちの前記少なくとも１つのものと通信するように構成される第２ワイヤレス・チップであって、
前記通信モジュールは、デバイスの探索のために、ブロードキャスト・メッセージを複数のパケットに分割し、前記複数のパケットを、前記第１ワイヤレス・チップを用いて第１送信経路を通じて送信するとともに前記第２ワイヤレス・チップを用いて第２送信経路を通じて送信することによって、前記ブロードキャスト・メッセージを送信するように構成される、
第２ワイヤレス・チップと、
を備え、
前記通信モジュールまたは前記第２ワイヤレス・チップの少なくとも一方は、前記パーソナル・コンピューター、前記ラップトップ、前記スマートフォン、および前記タブレットのうちの前記少なくとも１つのワイヤレス通信インターフェイスへ直接的に前記ワンタイム暗号を送信するように構成される、ウエアラブル・ストレージ・デバイス。
【請求項２２】
請求項２１に記載のポータブル・ストレージ・デバイスであって、ブレスレット、小型時計、およびネックレスのうちの少なくとも１つのものを含むポータブル・ストレージ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連する出願の相互参照
[0001]  仮出願ではない本特許出願は、２０１４年１０月６日に出願され、発明の名称が「SYSTEMS AND METHODS FOR PORTABLE STORAGE DEVICES」である米国仮出願第６２／０６０３７９号に基づく優先権を主張するものであり、この言及により、この米国仮出願の全体がここに組み込まれるものとする。
【０００２】
分野
[0002]  本開示は、一般には、ポータブル・ストレージ・デバイスと関連し、より具体的には、ポータブル・ストレージ・デバイスとワイヤレスで通信するためのシステムおよび方法と関連する。
【背景技術】
【０００３】
[0003]  デバイス間での通信は、典型的には、インターネットやローカル・エリア・ネットワークなどのようなネットワーク上で行われる。しかし、ネットワークは、デバイス間での通信のために常に使用可能であるとは限らず、更には、通信が露出されてネットワーク上でセキュリティが突破されてしまうことがあり得る。Ｂｌｕｅｔｏｏｔｈ（登録商標）を用いてイネーブルにされるデバイスは、直接に通信することができる。しかし、Ｂｌｕｅｔｏｏｔｈによりイネーブルにされるデバイスは、制限された範囲内に位置する必要があり、また、通信速度は比較的遅くなり得る。
【０００４】
[0004]  多くのデバイスはワイヤレス・チップを含み得る。製造者は、特別のワイヤレス・チップを作成することができ、その特別のワイヤレス・チップは、コンパチブルのワイヤレス・チップを含むデバイスとの間での通信を可能にする。しかし、そのようなデバイスは、別の製造者により作られたチップを含む他のデバイスと通信できないことがあり得る。
【０００５】
[0005]  消費者は、１つのデバイスに格納されたファイルを有しており、別のデバイスからそのファイルへアクセスすることを望むことがあり得る。インターネット接続無しで、またはデータ通信サービスのデータを使用せずに、ファイルを転送することは困難であり得る。更に、情報を転送すると、その情報がハッカーに対して露出され、セキュリティが突破されてしまうことがあり得る。
【発明の概要】
【０００６】
[0006]  ポータブル・ストレージ・デバイスは、標準化された通信プロトコルを用いて第１デバイスと通信するように構成される第１ワイヤレス・チップを含むことができる。ポータブル・ストレージ・デバイスは、標準化された通信プロトコルで情報を格納するように構成されるメモリ・カードを含むことができる。ポータブル・ストレージ・デバイスは、インターネットと通信するように構成される第２ワイヤレス・チップを含むことができる。
【０００７】
[0007]  方法は、第１デバイスで、標準化された通信プロトコル（「ＳＣＰ」）を、データを送信するためのプロセッサーによりインプリメントすることを、含むことができる。第１デバイスは、ファイルを得ることができる。第１デバイスは、ポータブル・ストレージ・デバイスを探索することができる。第１デバイスは、ＳＣＰを用いて、ファイルをポータブル・ストレージ・デバイスへ送信することができる。特定の例示の実施形態では、第１ポータブル・ストレージ・デバイスは３２ギガバイト以上を有し、更に別の実施形態では、ストレージ容量は１テラバイト以上である。
【０００８】
[0008]  更に完全な理解は、図面と関連させて詳細な説明および特許請求の範囲を参照して考慮することにより、導き出される。それらの図面では、同じ参照番号は類似のエレメントを指す。
【図面の簡単な説明】
【０００９】
【図１】[0009]  図１は、本開示の様々な実施形態に従った、メッセージを送信するシステムの概略図を示す。
【図２】[0010]  図２は、様々な実施形態に従った、デバイス間でデータを送信するプロセスを示す。
【図３】[0011]  図３は、様々な実施形態に従った、ファイル送信プロトコルに関するプロセスを示す。
【図４】[0012]  図４は、様々な実施形態に従った、探索プロトコルを示す。
【図５】[0013]  図５は、様々な実施形態に従った、探索プロトコルの定義を示す。
【図６】[0014]  図６は、様々な実施形態に従った、ファイル転送要求の定義を示す。
【図７】[0015]  図７は、様々な実施形態に従った、ファイル転送要求に対する応答の定義を示す。
【図８】[0016]  図８は、様々な実施形態に従った、ポータブル・ストレージ・デバイスを示す。
【図９】[0017]  図９は、様々な実施形態に従った、デバイスと通信するポータブル・ストレージ・デバイスを示す
【図１０】[0018]  図１０は、様々な実施形態に従った、サーバーと同期するポータブル・ストレージ・デバイスを示す。
【発明を実施するための形態】
【００１０】
[0019]  ここでの例示の実施形態の詳細な説明では、様々な実施形態を例示する添付の図および絵を参照する。それらの様々な実施形態は、当業者が本開示を実施できるように十分詳細に説明されるが、本開示の精神および範囲から離れずに、他の実施形態を実現でき得ることと、論理的および機械的な変更を行え得ることとを、理解すべきである。すなわち、ここでの詳細な説明は、例示のみを目的として示され、限定は目的としていない。例えば、何れかの方法やプロセスの記載において説明されているステップは、任意の順に実行することができ、示された順に限定されない。更に、何れかの機能やステップは、１以上のサード・パーティーへ委託することや、サード・パーティーにより行われるようにすることができる。更に、単数についての言及は、複数の実施形態を含み、また、１より多くのコンポーネントについての言及は、単一の実施形態を含み得る。
【００１１】
[0020]  システム、方法、およびコンピューター・プログラム製品が提供される。ここでの詳細な説明では、「様々な実施形態」、「１つの実施形態」、「実施形態」、「例示の実施形態」などに対する言及は、説明される実施形態が特定の構成や構造や特徴を含み得ることを示すが、全ての実施形態がその特定の構成や構造や特徴を必ずしも含むとは限らない。更に、そのような語は、同じ実施形態を必ずしも言及するとは限らない。更に、特定の構成や構造や特徴が実施形態と関連して記載されている場合、そのような特定の構成や構造や特徴を他の実施形態と関連して実施することは、それが明確に記載されているか否かにかかわらず、当業者の知識の範囲内でなされることを、述べておく。記載を読んだ後、代替の実施形態において本開示をインプリメントする方法が、当業者には明らかとなるであろう。
【００１２】
[0021]  ここでは、通信デバイス間でのピア・ツー・ピア通信のためのシステムおよび方法を開示する。ここで用いる「通信デバイス」とは、別のデバイスと通信可能な任意のデバイスを指す。限定ではなく、通信デバイスとは、例えば、スマートフォン、ＰＤＡ、ラップトップ、デスクトップ・コンピューター、ポータブル・フォン、ＧＰＳデバイス、カー・ナビゲーション・システム、ワイヤレス・プリンター、ウェアラブル・オブジェクト、または他の任意のデバイスを指すものである。
【００１３】
[0022]  ここで説明するシステムおよび方法は、インターネットや他のネットワークへの接続無しで、デバイス間での通信を可能にすることができる。標準化された通信システム（「ＳＣＳ」（standardized communication system））をデバイスへインストールすることができる。ＳＣＳは、ハードウェアおよび／またはソフトウェアの任意の組み合わせを含むことができる。ＳＣＳは、他の任意のデバイスとの通信のために、８０２．１１または８０２．２（２）ワイヤレス・チップやＢｌｕｅｔｏｏｔｈシステムなどのような、デバイスの既存の物理コンポーネントを用いることができる。ＳＣＳは、ＩＰ、ＴＣＰ／ＵＤＰ、Ｂｌｕｅｔｏｏｔｈ、生マンチェスター・エンコーディング（raw Manchester encoding）、および他の任意のワイヤレス通信形態などのような、任意の通信プロトコルに適し得る。
【００１４】
[0023]  ＳＣＳは、様々な形式およびプラットフォームのデバイス間での通信を可能とすることができる。更に、ネットワークを介してデータを送信せずに直接にデバイス間で通信を行うことができるので、ネットワークが使用できないときに通信を行うことができ、また、盗聴者から通信を保護することができる。更に、デバイス間での直接の通信は、セルラ・データ・プランでのデータ課金を避けることができる。
【００１５】
[0024]  図１を参照すると、様々な実施形態に従った、メッセージを送信するためのシステム１００が示されている。ＳＣＳ１１２を含む第１デバイスと、ＳＣＳ１２２を含む第２デバイス１２０とが、様々な実施形態に従って示されている。様々な実施形態において、ＳＣＳ１１２およびＳＣＳ１２２は、第１デバイス１１０および第２デバイス１２０へインストールされたアフターマーケットのソフトウェアとすることができる。例えば、ユーザーは、ＳＣＳアプ（SCS app）をスマートフォンや他のデバイスにダウンロードすることができる。しかし、様々な実施形態において、Ｓ１１２およびＳＣＳ１２２は、第１デバイス１１０および／または第２デバイス１２０における８０２．１１ワイヤレス・チップなどのようなチップへ、埋め込むことができる。
【００１６】
[0025]  様々な実施形態において、ＳＣＳは、標準化した通信プロトコル（「ＳＣＰ」）をデバイスでインプリメントすることができる。ＳＣＰは、データグラム１５０をＳＣＰデータグラムとして識別するように、ＳＣＰヘッダー１５２をパケットへ添付することができる。第１デバイス１１０は、ＳＣＰを介して第２デバイス１２０と通信することができる。ＳＣＳは、ＳＣＰヘッダーを認識し、ＳＣＰに従うことができる。ＳＣＰは、デバイスに関しての、互いの探索、生データの転送の要求、データ受信時の確認の送信、およびデータ送信と関連する他の何れかのステップの実行のための能力を、定義することができる。
【００１７】
[0026]  様々な実施形態において、ＳＣＳは、開放型システム間相互接続（「ＯＳＩ」）モデルにおけるネットワーク層（またはＴＣＰ／ＩＰモデルにおけるインターネット層）で、インプリメントすることができる。トランスポート層で使用されるプロトコル（例えば、ＴＣＰ、ＵＤＰ、ＳＣＴＰ、ＤＣＣＰ）にかかわらず、ＳＣＰヘッダーは、ＳＣＳを含むデバイスがＳＣＰを介して通信することを、可能とすることができる。
【００１８】
[0027]  様々な実施形態において、第１デバイス１１０および第２デバイス１２０の少なくとも１つは、スマートフォンとすることができる。しかし、様々な実施形態において、第１デバイス１１０および第２デバイス１２０は、データの送信および／または受信が可能な任意の形式のデバイスを含むことができる。
【００１９】
[0028]  図２を参照すると、様々な実施形態に従った、デバイス間でデータを送信するためのプロセス２００が示されている。様々な実施形態において、第１ユーザーは、第１デバイス１１０から第２デバイス１２０へデータを送信することを望む。データは、テキスト・メッセージ、イメージ、ビデオ、テキスト文書、または他の任意の形式のファイルなどのような、任意の形式のデータを含むことができる。
【００２０】
[0029]  第１デバイス１１０は、使用可能なデバイスを探索する（ステップ２１０）。第１デバイス１１０は、様々な方法により他のデバイスの探索を試みる。様々な実施形態において、第１デバイス１１０は、カメラや他の光学デバイスを介して、他のデバイスを探索することができる。様々な実施形態において、第２デバイス１２０は、ＱＲコード（登録商標）やバーコードやテキストなどのようなシンボルを、表示する。シンボルは、第２デバイス１２０についての識別用特徴を含む。例えば、様々な実施形態において、識別用特徴は、デバイス名、デバイスのＩＰアドレス、所有者名、デバイスのエンドポイント、およびデバイス上の使用可能なトランスポート層のうちの少なくとも１つを含むことができる。第１デバイス１１０は、カメラを用いてシンボルをスキャンする。第１デバイス１１０は、シンボルから識別用特徴を得て、データを第２デバイス１２０へ送信するために、その識別用特徴を用いる。
【００２１】
[0030]  様々な実施形態において、第１デバイス１１０のＳＣＳは、第１デバイス１１０内のワイヤレス・チップを用いて、他のデバイスを探すことができる。ＳＣＳを含むデバイスは、ブロードキャスト・メッセージを送信することができる。ブロードキャスト・メッセージは、デバイスの識別用特徴を含む。様々な実施形態において、第１デバイス１１０は、第２デバイス１２０の送信範囲内にあり得る。送信範囲は、第１デバイス１１０および第２デバイス１２０のワイヤレス・チップの特定の形式に応じたものである。しかし、様々な実施形態において、送信範囲は、約２００フィートないし３００フィート（約６０メートルないし９０メートル）までとすることができる。ＳＣＳは、ブロードキャスト・メッセージを聞き取れるように、第１デバイス１１０のソケットを開くことができる。ブロードキャスト・メッセージは、様々なハードウェアにより送ることができる。例えば、ブロードキャスト・メッセージは、８０２．１１ワイヤレス・チップや、Ｂｌｕｅｔｏｏｔｈチップや、ＮＦＣを介して送信することができる。
【００２２】
[0031]  様々な実施形態において、第１デバイス１１０および第２デバイス１２０は、互いに通信範囲内にない場合がある。しかし、ホットスポット技術を装備したスマートフォンなどのような中間デバイスが、第１デバイス１１０の送信範囲内にある場合がある。第１デバイス１１０は、中間デバイスへメッセージを送り、使用可能なデバイスを探すことを中間デバイスへ指示することにより、使用可能なデバイスを探すことができる。中間デバイスは、第２デバイス１２０からブロードキャスト・メッセージを受信し、中間デバイスは、そのブロードキャスト・メッセージを第１デバイス１１０へ送信する。したがって、第１デバイス１１０は、第１デバイス１１０が第２デバイス１２０の送信範囲内になくとも、インターネットやセルラ・ネットワークへ接続せずに、第２デバイス１２０を探索することができる。様々な実施形態において、任意の数の中間デバイスをデイジー・チェーンでつなぐことができ、それにより、第１デバイス１１０は、数マイル（１マイル＝約１６０９ｍ）離れたところから、一連の中間デバイスを介してデータを送信することにより、第２デバイス１２０を探索することができる。
【００２３】
[0032]  第１デバイス１１０は、発見された全てのデバイスのリストを、ユーザーに表示することができる。ユーザーは、データを第２デバイス１２０へ送信するために、第２デバイス１２０を選択することができる。ユーザーは、第２デバイス１２０へ送信されるファイルやメッセージを選択することができる。
【００２４】
[0033]  第１デバイス１１０のＳＣＳ１１２は、送信のために使用する送信ハードウェアを決定する（ステップ２２０）。様々な実施形態において、第１デバイス１１０および第２デバイス１２０のそれぞれは、８０２．１１ワイヤレス・チップなどのような１つの形式のみの送信ハードウェアを有し、したがって、ＳＣＳ１１２は、データを送信するために８０２．１１ワイヤレス・チップを選択する。しかし、様々な実施形態において、第１デバイス１１０と第２デバイス１２０との間で、複数の送信経路が使用可能であり得る。例えば、第１デバイス１１０および第２デバイス１２０のそれぞれは、８０２．１１ワイヤレス・チップとＢｌｕｅｔｏｏｔｈチップとを有することができる。様々な実施形態において、ＳＣＳ１１２は、最速の送信経路を決定することができ、データを送信するために、その最速の送信経路を選択することができる。様々な実施形態において、送信経路は、デフォールト設定により選択することができる。例えば、ＳＣＳ１１２は、８０２．１１ワイヤレス経路を送信に使用可能なときには常にそれを選択し、ＳＣＳ１１２は、８０２．１１ワイヤレス経路が使用できない場合に、Ｂｌｕｅｔｏｏｔｈ経路を選択する。しかし、様々な実施形態において、第１デバイス１１０のＳＣＳ１１２は、それぞれの使用可能な送信経路を介して、速度テスト・メッセージを第２デバイス１２０へ送信し、ＳＣＳ１１２は、速度テストの結果に基づいて、最速の送信経路を選択することができる。
【００２５】
[0034]  様々な実施形態において、ＳＣＳ１１２は、第１デバイス１１０に対して、複数の送信経路を介してデータを第２デバイス１２０へ送信するように、命令することができる。メッセージは、複数のパケットへと分割することができる。ＳＣＳ１１２は、使用可能な送信経路を分析して、メッセージ全体の送信を速くするために、複数の送信経路を介してメッセージを送ることができる。例えば、ＳＣＳ１１２は、メッセージを送信する最速の方法は、９０％のパケットを８０２．１１ワイヤレス経路を介して送信し、１０％のパケットをＢｌｕｅｔｏｏｔｈ経路を介して送信することである、と決定することができる。ＳＣＳ１１２は、８０２．１１ワイヤレスを介するかＢｌｕｅｔｏｏｔｈを介するかにかかわらず、第２デバイス１２０へ送信される各パケットへＳＣＰヘッダーを添付する。したがって、デバイス１２０のＳＣＳ１２２は、それらのパケットを、ＳＣＰで受信されたパケットとして認識し、ＳＣＳ１２２は、メッセージ全体を再構築するためにパケットを再構成する。様々な実施形態において、ＳＣＳ１１２は、最速の送信方法を選択するために、使用可能な全ての送信経路を分析することができ、それらの送信経路は、限定するわけではないが、複数の８０２．１１ワイヤレス・チップ、Ｂｌｕｅｔｏｏｔｈチップ、ＮＦＣ、ＰＤＱ、または他の任意の送信経路を含む。第１デバイス１１０のＳＣＳは、ファイル送信プロトコルを開始し、データを第２デバイス１２０へ送信する（ステップ２３０）。
【００２６】
[0035]  様々な実施形態において、第１デバイス１１０および第２デバイス１２０は、同じローカル・ネットワークへ接続することができる。第１デバイス１１０は、ＱＲコードなどのようなリンクを、セルラ・ネットワークやローカル・ネットワークを介して、第２デバイス１２０へ送信する。様々な実施形態において、リンクは、１０ｋｂ以下のデータを含むことができる。第２デバイス１２０は、ファイル転送の要求または受け入れのために、リンクを用いることができる。第１デバイス１１０は、ローカル・ネットワークを介して、ファイルを送信することができる。様々な実施形態において、ファイルは、ＴＣＰ／ＩＰを直接に用いてローカル・ネットワークを介して、転送することができる。
【００２７】
[0036]  様々な実施形態において、第２デバイス１２０は、インターネット接続へアクセスすることができる。第１デバイス１１０は、セルラ送信経路を介して、リンクを第２デバイス１２０へ送信することができ、第２デバイス１２０は、クラウドおよび／またはサーバーに格納されているファイルを、インターネットを介してダウンロードするために、そのリンクを用いることができる。様々な実施形態において、第２デバイス１２０は、ＴＣＰ／ＩＰを用いてファイルをダウンロードすることができる。
【００２８】
[0037]  様々な実施形態において、第１デバイス１１０は、そのコンテンツをクラウド・データベースと同期させる。様々な実施形態において、第１デバイス１１０はＳＣＳフォルダーを含むことができ、ＳＣＳフォルダーに格納されているファイルのみを、データベースと同期させることができる。第１デバイス１１０は、セルラ送信経路を介して第２デバイス１２０へリンクを送信して、データベースに格納されているファイルを識別できるようにする。様々な実施形態において、第２デバイス１２０は、第２デバイス１２０がリンクを受信した時点では、８０２．１１ワイヤレス・ネットワークへのアクセスを行えない場合がある。第２デバイス１２０は、第２デバイス１２０が８０２．１１ワイヤレス・ネットワークへのアクセスを得られるときにはいつも、セルラ・データ課金を避けるために、そのリンクを用いてファイルへアクセスすることができる。様々な実施形態において、第２デバイス１２０は、セルラ・ネットワークを介してファイルへアクセスするためのリンクを、用いることができる。様々な実施形態において、第２デバイス１２０は、セルラ・ネットワークと８０２．１１ワイヤレス・ネットワークとの何れかを介して、ファイルの全てまたは一部をストリームで送ることができる。
【００２９】
[0038]  様々な実施形態において、第１デバイス１１０は、オンライン・フォルダーを、第２デバイス１２０と共有することができる。第１デバイス１１０は、第２デバイス１２０がオンライン・フォルダーへアクセスできることを、示すことができる。第１デバイス１１０はオンライン・フォルダーと同期して、第１デバイス１１０に格納さけたファイルをオンライン・フォルダーへアップロードすることができる。第２デバイス１２０はオンライン・フォルダーと同期して、オンライン・フォルダーに格納されているファイルを第２デバイス１２０へダウンロードすることができる。
【００３０】
[0039]  図３を参照すると、様々な実施形態に従ったファイル送信プロトコル（file send protocol）のプロセス３００が示されている。第１デバイス１１０は、第２デバイス１２０との接続を確立させるための要求を送信する（ステップ３１０）。様々な実施形態において、接続は、ＴＣＰ接続とすることができる。しかし、様々な実施形態において、接続は、デバイス間でデータを送信するための任意の形式の接続とすることができる。第２デバイス１２０は、接続要求を受け入れる（ステップ３２０）。様々な実施形態において、接続は、第１デバイス１１０および第２デバイス１２０のセキュアなソケット間でのものとすることができる。
【００３１】
[0040]  様々な実施形態において、第１デバイス１１０は、暗号ブックを含むメッセージを、第２デバイス１２０へ送信する（ステップ３３０）。暗号ブックは、ワンタイム暗号リストを含み、第２デバイス１２０が、ワンタイム暗号を用いてセキュアなソケットを介して第２デバイス１２０へ送信されたデータを暗号解読することを、可能とする。様々な実施形態において、第１デバイス１１０は、高度暗号化標準（Advanced Encryption Standard）（ＡＥＳ）やＲＳＡ暗号化などのような既知の暗号化方法を用いて、暗号ブックを含むメッセージを暗号化することができる。しかし、転送セッション中の後続のメッセージは、暗号ブックに含まれるワンタイム暗号を用いて暗号化することができる。ワンタイム暗号を用いて暗号化されたメッセージは、ＡＥＳやＲＳＡを用いて暗号化されたメッセージよりも、大幅に少ない処理力および時間で暗号化および暗号解読することができる。更に、ワンタイム暗号を用いて送られたメッセージは、暗号ブックを含まないパーティーでは暗号解読することができない。
【００３２】
[0041]  第１デバイス１１０は、ファイル転送要求を送る（ステップ３４０）。ファイル転送要求の例については、図５を参照されたい。第２デバイス１２０は、ファイル転送要求を受け入れる（ステップ３５０）。第２デバイス１２０がファイル転送要求を受け入れたことに応答して、第１デバイス１１０は、ファイルをセグメントへと分解して、第２デバイス１２０へのセグメントの送信を開始する（ステップ３６０）。第１デバイス１１０がファイルの全セグメントを送信した後、第１デバイス１１０は、第２デバイス１２０が全セグメントを受信したことの確認を待つ。第２デバイス１２０は、全セグメントを受信したことを示す確認メッセージを、第１デバイス１１０へ送信する（ステップ３７０）。第２デバイス１２０は、ファイルを再構築するために、ＳＣＰに従ってセグメントを暗号解読して再構成する（ステップ３８０）。
【００３３】
[0042]  図４を参照すると、様々な実施形態に従った探索プロトコル４００の例が示されている。探索プロトコル４００は、ＴＣＰ／ＵＤＰを用いてトランスポート層にインプリメントすることができる。しかし、様々な実施形態において、探索プロトコルは、Ｂｌｕｅｔｏｏｔｈシリアル・ポートやＲＳ−２３２を用いてインプリメントすることや、データグラムまたはＷｉｎｓｏｗｓ（登録商標）Ｓｏｃｋｅｔ  ＡＰＩ（ＷＳＡ）を介して全体を送ることができる。例示の実施形態におけるＬｏｃａｌＣｌｉｅｎｔは、デバイス名、ユーザー名、プリビュー・イメージ、およびエンドポイント（この場合はＩＰアドレスおよびポート）などのようなデバイスの識別用特徴が書き込まれる、ＩＤｉｓｃｏｖｅｒｅｄＣｌｉｅｎｔ（図５）クラスの新たなインスタンスである。第１デバイス１１０は、ブロードキャスト・メッセージに対して新たなソケットを開くことができる（４１０）。第１デバイス１１０はＩＰアドレスを送信することができ、第１デバイス１１０は、ブロードキャスト・メッセージへの応答に対して受信待機している（４２０）。第１デバイス１１０は、応答メッセージを聞き取れるように、新たなデータグラム・ソケットを開くことができる（４３０）。応答メッセージを受信した後、第１デバイス１１０は、応答メッセージを、第１デバイス１１０の送信した元のＩＤｉｓｃｏｖｅｒｅｄＣｌｉｅｎｔメッセージへと、暗号解読することができる（４４０）。
【００３４】
[0043]  図５を参照すると、様々な実施形態に従った、例示の探索プロトコル５００のための定義が示されている。定義は、送信側デバイスおよび受信側デバイスによりインプリメントすることができるＩＤｉｓｃｏｖｅｒｅｄＣｌｉｅｎｔと呼ばれる１つの共通クラスとすることができる。様々な実施形態において、定義は、ユーザーの望み得るカスタムのフィールドや他の任意の情報を含むように、拡張することができる。様々な実施形態において、定義は、デバイスの名前（５１０）、デバイスのＩＰアドレス（５２０）、デバイスの所有者（５３０）、およびデバイスのエンドポイント（５４０）、およびデバイスが発見されたトランスポート層（５５０）を含むことができる。しかし、当業者は、使用される特定のフィールドを任意の望まれるフィールドに置換でき得ることを、理解するであろう。
【００３５】
[0044]  図６を参照すると、様々な実施形態に従った例示のファイル転送要求プロトコル６００の定義が示されている。定義は、「ＩＦｉｌｅＴｒａｎｓｆｅｒＲｅｑｕｅｓｔ」と呼ぶことができる。様々な実施形態において、定義は、ファイルを送信するデバイスの名前（６１０）、送られるファイル名（６２０）、ファイルのサイズ（６３０）、ファイルを受信するデバイス（６４０）、ファイル転送に対する一意の識別（６５０）、およびファイル転送と関連するトランスポート層（６６０）を含むことができる。
【００３６】
[0045]  図７を参照すると、様々な実施形態に従った、ファイル転送要求への応答７００の定義が示されている。受信側デバイスは、受信側デバイスがファイル転送を受け入れることを示すように、ＩＦｉｌｅＴｒａｎｓｆｅｒＲｅｓｐｏｎｓｅと呼ばれる定義を用いて応答することができる。様々な実施形態において、ＩＦｉｌｅＴｒａｎｓｆｅｒＲｅｓｐｏｎｓｅは、ユーザーからの応答（７１０）とファイル転送に対する一意の識別（７２０）とを含むことができる。送信側デバイスは、受信側デバイスから応答を受信し、送信側デバイスは、受信側デバイスへのファイルの送信を進める。ファイル転送が完了すると、受信側デバイスは、送信側へ確認を送信する（７３０）。
【００３７】
[0046]  図８を参照すると、様々な実施形態に従った、ポータブル・ストレージ・デバイス（「ＰＳＤ」）８００が示されている。ＰＳＤ８００は、図８に示すようなリスト・バンドやブレスレットなどのようなウエアラブル・デバイスとすることができる。しかしながら、ＰＳＤは、情報を格納できる任意のタイプのポータブル・デバイスとすることができる。例えば、ＰＳＤは、小型時計、ネックレス、電話ケース、スマートフォン、インプラントされるチップ、衣類、財布などを含むことができる。
【００３８】
[0047]  ＰＳＤ８００は、ストレージ・モジュール８１０、通信モジュール８２０、プロセッサー８３０、およびバッテリー８４０を含むことができる。ストレージ・モジュール８１０は、メモリ・カードを含むことができる。例えば、ストレージ・モジュール８１０は、ＳＤカード、ｘＤカード、ＣｏｍｐａｃｔＦｌａｓｈ（コンパクトフラッシュ（登録商標））カード、または任意の他の適切なメモリ・カードを含むことができる。ストレージ・モジュール８１０は、ｉＳＳＤ、ＳＳＤ、ｉＮＡＮＤ、またはフラッシュＳＤなどのような内部メモリを含むことができる。通信モジュール８２０は、ワイヤレス通信が可能な１以上のコンポーネントを含むことができる。例えば、通信モジュールは、８０２．１１または８０２．２（２）ワイヤレス・チップや、Ｂｌｕｅｔｏｏｔｈチップや、ＮＦＣチップなどを含むことができる。プロセッサー８３０は、命令をストレージ・モジュール８１０および通信モジュール８２０へ提供できるハードウェアおよび／またはソフトウェアの任意の組み合わせを含むことができる。様々な実施形態では、ＰＳＤ８００が目に見える電子コンポーネントを有さないようにするために、ストレージ・モジュール８１０、通信モジュール８２０、およびプロセッサー８３０を、ＰＳＤ８００内に埋め込むことができる。様々な実施形態では、ＰＳＤ８００は、ゴムやシリコンなどのような防水コーティングを含むことができる。
【００３９】
[0048]  ＰＳＤ８００は、先に述べたように、標準通信システム（「ＳＣＳ」）を含むことができる。ＳＣＳは、先に述べたように、標準通信プロトコル（「ＳＣＰ」）を介して通信できるハードウェアおよび／またはソフトウェアの任意の組み合わせとすることができる。様々な実施形態では、ＳＣＳは、ストレージ・モジュール８１０と通信モジュール８２０とプロセッサー８３０とのうちの少なくとも１つのものにインプリメントすることができる。
【００４０】
[0049]  ＰＳＤ８００は、スマートフォン、テレビジョン、ゲーム・コンソール、タブレット、パーソナル・コンピューター、プリンターなどのような他のデバイスと、ファイル及び通信を、ワイヤレスで受信および送信することができる。ＳＣＳにより、ＰＳＤ８００は、何れかの特定の銘柄や製造者のデバイスとの通信に限定されないようにできる。対照的に、ＰＳＤ８００は、複数のプラットフォームを通して通信することができるものであり、Ａｐｐｌｅ（登録商標）のデバイス、Ａｎｄｒｏｉｄ（登録商標）のデバイス、Ｗｉｎｄｏｗｓのデバイス、ＵＮＩＸ（登録商標）のデバイス、または任意の他の適切なデバイスなどと通信することができる。
【００４１】
[0050]  様々な実施形態では、ＰＳＤ８００は、ユーザーが何処へ行ったときにでも、ユーザーがユーザーのファイルヘアクセスすることを、可能にすることができる。例えば、ユーザーは、ラップトップ・コンピューターに格納された文書を有する。ユーザーは、ＳＣＳを用いて、その文書をラップトップ・コンピューターからＰＳＤ８００へ送信する。ＰＳＤ８００は、その文書をストレージ・モジュール８１０に格納する。次に、ユーザーは、ＳＣＳを用いて、その文書をＰＳＤ８００からスマートフォンなどのような別のデバイスへ送信する。
【００４２】
[0051]  様々な実施形態では、ＰＳＤ８００は、他のデバイスと、ネットワークを使用せずに直接に通信することができる。従って、情報を、ＰＳＤ８００と他のデバイスとの間で安全に送信することができる。しかし、様々な実施形態では、ＰＳＤ８００は、通信モジュール８２０のワイヤレス・チップを用いて、ネットワークを介して通信することができる。通信モジュール８２０は２つのワイヤレス・チップを含むことができ、ＰＳＤ８００が、第１ワイヤレス・チップでのネットワークを通じての通信と、第２ワイヤレス・チップでの別のデバイスとの直接の通信とを同時に行うことを、可能にすることができる。
【００４３】
[0052]  様々な実施形態では、ＰＳＤ８００は、データをデバイスに格納せずにそのデータがデバイスからＰＳＤ８００へ転送されることを、可能にすることができる。例えば、スマートフォンは、ピクチャをキャプチャし、スマートフォンのハード・ドライブにそのピクチャを格納せずにスマートフォンのＲＡＭを用い、そのピクチャをＰＳＤ８００へ直接に送信することができる。従って、スマートフォンは、紛失、盗難、売却、または寄贈されることがあっても、そのピクチャや、ＰＳＤ８００に格納されているがスマートフォンには格納されていない他のデータが、第三者により獲得される危険性が無い。同様に、ユーザーは、ラップトップなどのようなデバイスのＳＣＳを起動し、そのデバイスを用いてＰＳＤ８００に格納されたファイルを開くことができる。ユーザーは、そのデバイスでそのファイルを編集し、編集したファイルをそのデバイスでセーブせずに、直接にＰＳＤ８００でセーブすることができる。
【００４４】
[0053]  ユーザーは、ユーザーのファイルの全てを格納するためにＰＳＤ８００を用いることができる。ユーザーがＰＳＤ８００にあるファイルへアクセスするために何れのデバイスを用いているかにかかわらず、ユーザーは、パーソナル・コンピューターなどのような別のデバイスを用いてＰＳＤ８００で直接にファイルの作成、編集、および削除を行うことができる。
【００４５】
[0054]  様々な実施形態では、ＰＳＤ８００はネットワーク・ドライブをエミュレートすることができる。従って、ＰＳＤ８００は、カスタムのソフトウェアをダウンロードまたはインストールできないデバイスと、通信することができる。例えば、ＰＳＤ８００は、ＤＬＮＡ（登録商標）メディア・デバイスやＷｉｎｄｏｗｓネットワークをエミュレートすることができる。ＰＳＤ８００は、デバイスでパスワードが入力されることを要求し、その後、デバイスは、ＰＳＤ８００に格納されたファイルにアクセスすることができる。
【００４６】
[0055]  図９を参照すると、様々な実施形態に従った、ＰＳＤ９１０と、ＳＣＳ９２２を含むデバイス９２０とが示されている。様々な実施形態では、デバイス９２０は、図１を参照して説明した第１デバイスとすることができる。しかし、デバイス９２０は、ＳＣＰを用いてＰＳＤ９１０と通信できる任意のデバイスを含むことができる。ユーザーは、ＳＣＳ９２２にログインすることができ、デバイス９２０は、アクセス・キーを要求することができる。様々な実施形態では、デバイス９２０は、インターネットやセルラー接続を介して、アクセス・キーをサーバーに要求することができる。しかし、様々な実施形態では、ＰＳＤ９１０は、ＰＳＤ９１０に格納された１以上のアクセス・キーを有することができ、デバイス９２０は、ＰＳＤ９１０に、格納されたアクセス・キーを要求することができる。ＰＳＤ９１０は、格納されたアクセス・キーをデバイス９２０へ送信することができ、デバイス９２０は、その格納されたアクセス・キーを用いて、デバイス９２０とＰＳＤ９１０との間で送信されるデータを暗号化および／または暗号解読することができる。様々な実施形態では、アクセス・キーは、設定された時間後に効力を失う一時的なキーとすることができる。ユーザーは、ＰＳＤ９１０に格納されたファイルを見ることができ、ユーザーは、ＰＳＤ９１０とデバイス９２０との間でファイルをアップロードまたはダウンロードすることができる。様々な実施形態では、ＰＳＤ９１０は、オーディオ・ファイルやビデオ・ファイルなどのようなファイルを、デバイス９２０へストリーミングすることができる。ＰＳＤ９１０にファイルが格納されると、ユーザーは、ＰＳＤ９１０の通信範囲内にある任意のデバイスを用いて、そのファイルにアクセスすることができる。様々な実施形態では、ファイルは、クロスプラットフォームとしてストリーミングすることができる。例えば、ユーザーは、ｉＴｕｎｅ（登録商標）やＡｐｐｌｅのデバイスを介して、オーディオ・ファイルを購入することができる。ユーザーは、そのオーディオ・ファイルを、ＳＣＰを用いてＰＳＤ９１０へ送信することができる。ＰＳＤ９１０は、オペレーティング・システムを考慮せずに、ＳＣＰを用いて、そのオーディオ・ファイルをＰＳＤ９１０からＡｐｐｌｅのデバイスではないデバイスへストリーミングすることができる。
【００４７】
[0056]  図１０を参照すると、様々な実施形態に従った、ＰＳＤ１０１０にあるデータをバックアップするためのシステム１０００が示されている。ＰＳＤ１０１０は、デバイス１０２０との接続を確立することができる。様々な実施形態では、デバイス１０２０は、サーバー１０３０と通信することができる任意のタイプのデバイスを含むことができる。例えば、デバイス１０２０は、パーソナル・コンピューターやスマートフォンやワイヤレス・ルーターを含むことができる。デバイス１０２０は、ネットワークを介してサーバー１０３０と通信することができる。様々な実施形態では、サーバー１０３０は、クラウド・コンピューティング・システムを含むことができる。
【００４８】
[0057]  デバイス１０２０は、ＳＣＳを含むことができる。ＰＳＤ１０１０は、ＳＣＳを用いてデバイス１０２０と通信することができる。ユーザーは、デバイス１０２０でＳＣＳにログインすることができ、サーバー１０３０と同期するようにＰＳＤ１０１０に命令することができる。ＰＳＤ１０１０は、任意の新しい又は編集されたファイルを、デバイス１０２０を介してサーバー１０３０へ送信することができる。ファイルは、ユーザー・アカウントと関連させ、サーバー１０３０で格納することができる。様々な実施形態では、ユーザー・アカウントと関連付けされた任意の新しい又は編集されたファイルは、サーバー１０３０からダウンロードすることができ、デバイス１０２０を介してＰＳＤ１０１０へ送信することができる。ＰＳＤ１０１０がサーバー１０３０と同期すると、ユーザーは、任意のデバイスでインターネットを介してユーザー・アカウントへログインすることにより、またはデバイスを用いてＰＳＤ１０１０へアクセスすることにより、ファイルへアクセスすることができる。
【００４９】
[0058]  様々な実施形態では、ＰＳＤ１０１０は、充電するときに自動的に同期することができる。ＰＳＤ１０１０は、同期を開始する前に、所定のバッテリー・レベルに達することがある。例えば、ＰＳＤ１０１０は、充電器の上に置かれたとき、バッテリー・レベルが少なくとも５０％というレベルに達したことや、少なくとも９０％というレベルに達したことに応答して、同期を開始する。ＰＳＤ１０１０は、サーバー１０３０やローカル・デバイスや別のＰＳＤなどのような、ユーザーにより指定された任意の位置に対して同期することができる。
【００５０】
[0059]  様々な実施形態において、ここで記載される方法は、ここで記載される様々な特定の機構を用いてインプリメントすることができる。当業者には即座に理解できるであろうが、ここで説明される方法は、下記の特定の機構および以降に開発される機構の任意の適切な組み合わせを用いてインプリメントすることができる。更に、この開示から明らかであるが、ここに記載する方法は、特定のアーティクルを様々に変換することになり得る。
【００５１】
[0060]  簡潔にすることを目的として、従来のネットワーク化、アプリケーションの開発、およびシステムの他の機能的な構成（およびシステムの個々の動作コンポーネントのコンポーネント）については、ここでは詳細に説明しない。更に、ここに含まれる様々な図に示されている接続線は、様々なエレメント間の例示の機能的関係および／または物理的結合を表すことを意図している。実際的なシステムでは多くの代替または追加の機能的関係や物理的結合が存在し得ることに、留意されたい。
【００５２】
[0061]  ここで説明する様々なシステム・コンポーネントは、デジタル・データを処理するプロセッサーを含むホスト・サーバーまたは他の計算システムと、デジタル・データを格納するためにプロセッサーと結合されるメモリと、デジタル・データを入力するためにプロセッサーと結合される入力デジタイザーと、メモリに格納されプロセッサーによりアクセス可能であり、プロセッサーによるデジタル・データの処理を命令するアプリケーション・プログラムと、プロセッサーにより処理されたデジタル・データから導出される情報を表示するためにプロセッサーおよびメモリと結合されるディスプレイ・デバイスと、複数のデータベースとのうちの１以上のものを含むことができる。当業者には理解できるように、ユーザー・コンピューターは、オペレーティング・システム（例えば、Windows（登録商標） NT、Windows 95/98/2000、Windows XP、Windows Vista（登録商標）、Windows 7、OS2（登録商標）、UNIX（登録商標）、Linux（登録商標）、Solaris、Mac（登録商標）OS、その他）と、典型的にはコンピューターと関連する様々な従来のサポート・ソフトウェアおよびドライバーとを含む。
【００５３】
[0062]  ネットワークは、ハードウェアおよび／またはソフトウェアのコンポーネントを結合させる任意のクラウド、クラウド・コンピューティング・システム、または電子通信のシステムまたは方法を含むことができる。パーティー間での通信は、任意の適切な通信チャンネルを通じて達成することができ、通信チャンネルは、例えば、電話ネットワーク、エクストラネット、イントラネット、インターネット、ポイント・オブ・インタラクション・デバイス（ポイント・オブ・セール装置、パーソナル・デジタル・アシスタント（例えば、ｉＰｈｐｎｅ（登録商標））、Ｐａｌｍ  Ｐｉｌｐｔ、Ｂｌａｃｋｂｅｒｒｙ（登録商標）、セルラー・フォン、キオスク、その他）、オンライン通信、衛星通信、オフライン通信、ワイヤレス通信、トランスポンダー通信、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、バーチャル・プライベート・ネットワーク（ＶＰＮ）、ネットワーク化またはリンクされたデバイス、キーボード、マウス、および／または任意の適切な通信またはデータ入力のモダリティなどである。更に、ここでは、ＴＣＰ／ＩＰ通信プロトコルを用いてシステムがインプリメントされる旨を頻繁に記載しているが、システムは、ＩＰＸ、Ａｐｐｌｅｔａｌｋ（登録商標）、ＩＰ−６、ＮｅｔＢＩＯＳ、ＯＳＩ、任意のトンネリング・プロトコル（例えば、ＩＰｓｅｃ、ＳＳＨ）、または任意の数の既存のまたは将来のプロトコルを用いて、インプリメントすることもできる。ネットワークが、インターネットなどのような公共ネットワークの性質を持つものである場合、ネットワークはセキュアではなく盗聴者に対して開かれたものであると想定するのがよいであろう。インターネットと関連して用いられるプロトコル、標準、およびアプリケーション・ソフトウェアと関連する特定の情報は、一般に、当業者には知られているので、ここで説明する必要はない。例えば、DILIP NAIKによる「INTERNET STANDARDS AND PROTOCOLS」(1998)、複数の著者による「JAVA 2 COMPLETE」(Sybex 1999)、DEBORAH RAYおよびERIC RAYによる「MASTERING HTML 4.0」(1997)、LOSHINによる「TCP/IP CLEARLY EXPLAINED」(1997)、およびDAVID GOURLEYおよびBRIAN TOTTYによる「HTTP, THE DEFINITIVE GUIDE」(2002)を参照されたい。これらの文献の内容は、この言及により、ここに組み込まれるものとする。
【００５４】
[0063]  様々なシステム・コンポーネントは、独立して、または分離して、または集合して、データ・リンクを介してネットワークへ適切に結合され、データ・リンクは、例えば、標準モデム通信と関連して典型的に使用されるローカル・ループを介してのインターネット・サービス・プロバイダー（ＩＳＰ）への接続、ケーブル・モデム、ディッシュ・ネットワーク（登録商標）、ＩＳＤＮ、デジタル・サブスクライバー・ライン（ＤＳＬ）、または様々なワイヤレス通信方法を含む。例えば、GILBERT HELDによる「UNDERSTANDING DATA COMMUNICATIONS」(1996)を参照されたい。この文献は、この言及により、ここに組み込まれるものとする。ネットワークは、インタラクティブ・テレビジョン（ＩＴＶ）ネットワークなどのような他の形式のネットワークとしてインプリメントできることにも留意されたい。更に、システムは、ここで記載する機能と類似の機能を有する任意のネットワークを介しての、任意の商品、サービス、または情報の使用、販売、または頒布も考慮している。
【００５５】
[0064]  ここで論じられる何れの通信、送信、および／またはチャンネルも、コンテンツ（例えば、データ、情報、メタデータなど）を送るための任意のシステムや方法、および／またはコンテンツ自体を含み得る。コンテンツは、任意の形態または媒体で呈示することができ、様々な実施形態において、コンテンツは、電子的に送ることができ、かつ／または電子的に呈示されることができる。例えば、チャンネルは、ウェブサイト、ユニフォーム・リソース・ロケーター（ＵＲＬ）、ドキュメント（例えば、Microsoft Word文書、Microsoft Excel（登録商標）文書、Adobe（登録商標）pdf文書など）、「ｅブック」、「ｅマガジン」、アプリケーションまたはマイクロアプリケーション（後に説明）、ＳＭＳまたは他の形式のテキスト・メッセージ、ｅメール、ｆａｃｅｂｏｏｋ（登録商標）、ｔｗｉｔｔｅｒ（登録商標）、ＭＭＳ、および／または他の形式の通信技術を含むことができる。様々な実施形態において、チャンネルは、データ・パートナーによりホストされること、または提供されることができる。様々な実施形態において、配信チャンネルおよび／またはそれは、商業ウェブサイト、ソーシャル・メディア・ウェブサイト、アフィリエイトまたはパートナー・ウェブサイト、外部ベンダー、モバイル・デバイス通信、ソーシャル・メディア・ネットワーク、および／または位置ベースのサービスのうちの少なくとも１つを、含むことができる。配信チャンネルは、商業ウェブサイト、ソーシャル・メディア・サイト、アフィリエイトまたはパートナー・ウェブサイト、外部ベンダー、およびモバイル・デバイス通信のうちの少なくとも１つを、含むことができる。ソーシャル・メディア・サイトの例は、Facebook、foursquare（登録商標）、Twitter、MySpace（登録商標）、Linkedln（登録商標）などである。更に、モバイル・デバイス通信の例は、テキスティング、ｅメール、およびスマートフォン用のモバイル・アプリケーションを含む。
【００５６】
[0065]  本システム、または本システムの任意の部分（１以上）または機能（１以上）は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いてインプリメントすることができ、１以上のコンピューター・システムまたは他の処理システムにおいてインプリメントすることができる。しかし、実施形態により行われる操作は、用語として表した場合、マッチングや選択などであることが多かったが、それらは一般には人間の操作者の行う精神的動作と関連している。ここで記載する何れの動作でも、そのような人間の操作者の能力は必要ではなく、ほとんどの場合、望ましくもない。むしろ、動作は、機械の動作である。様々な実施形態を実施するために有用な機械は、汎用のデジタル・コンピューターまたはその他の類似のデバイスを含む。
【００５７】
[0066]  実際、様々な実施形態において、実施形態は、ここに記載する機能を実行できる１以上のコンピューター・システムに向けたものである。コンピューター・システムは、１以上のプロセッサーを含む。プロセッサーは、通信インフラストラクチャーと接続される（例えば、通信バス、クロス・オーバー・バー、またはネットワーク）。様々なソフトウェア実施形態は、この例示のコンピューター・システムに関して説明される。この記載を読んだ後、当業者には、他のコンピューター・システムおよび／またはアーキテクチャーを用いて様々な実施形態をインプリメントする方法が、明らかになるであろう。コンピューター・システムは、ディスプレイ・ユニットの表示のために、通信インフラストラクチャーから（または示していないフレーム・バッファから）グラフィックス、テキスト、および他のデータを送るディスプレイ・インターフェイスを含むことができる。
【００５８】
[0067]  また、コンピューター・システムは、例えば、ランダム・アクセス・メモリ（ＲＡＭ）などのようなメイン・メモリを含み、また、２次メモリも含むことができる。２次メモリは、例えば、ハード・ディスク・ドライブおよび／または取り外し可能ストレージ・ドライブを含むことができ、これはフロッピー・ディスク・ドライブ、磁気テープ・ドライブ、光ディスク・ドライブなどを表す。取り外し可能ストレージ・デバイスは、既知の様式で、取り外し可能ストレージ・ニットからの読み出しおよび／またはそれヘの書き込みを行う。取り外し可能ストレージ・ユニットとは、フロッピー・ディスク、磁気テープ、光ディスクなどを表すものであり、これに対して取り外し可能ストレージ・デバイスにより読み出しおよび書き込みが行われる。理解されるように、取り外し可能ストレージ・ユニットは、コンピューターにより使用可能でありコンピューター・ソフトウェアおよび／またはデータを記録したストレージ媒体を含む。
【００５９】
[0068]  様々な実施形態において、２次メモリは、コンピューター・プログラムや他の命令がコンピューター・システムへロードされることを可能にする他の類似のデバイスを含むことができる。そのようなデバイスは、例えば、取り外し可能ストレージ・ユニットおよびインターフェイスを含む。そのようなものの例は、プログラム・カートリッジおよびカートリッジ・インターフェイス（ビデオ・ゲーム装置などに見られるものなど）、取り外し可能メモリ・チップ（消去可能プログラム可能リード・オンリー・メモリ（ＥＰＲＯＭ）やプログラム可能リード・オンリー・メモリ（ＰＲＯＭ）など）および関連するソケット、およびソフトウェアおよびデータが取り外し可能ストレージ・ユニットからコンピューター・システムへ転送されることを可能にする他の取り外し可能ストレージ・ユニットおよびインターフェイスを、含むことができる。
【００６０】
[0069]  コンピューター・システムはまた、通信インターフェイスを含み得る。通信インターフェイスは、ソフトウェアおよびデータがコンピューター・システムと外部デバイスとの間で転送されることを可能にする。通信インターフェイスの例は、モデム、ネットワーク・インターフェイス（Ｅｔｈｅｒｎｅｔ（登録商標）カードなど）、通信ポート、パーソナル・コンピューター・メモリ・カード・インターナショナル・アソシエーション（ＰＣＭＣＩＡ）スロットおよびカードなどを、含むことができる。通信インターフェイスを介して転送されるソフトウェアおよびデータは、信号の形態であり、それは、電子信号、電磁信号、光信号、または通信インターフェイスにより受信可能な他の信号とすることができる。これらの信号は、通信経路（例えば、チャンネル）を介して通信インターフェイスへ提供される。このチャンネルは、信号を運ぶものであり、ワイヤー、ケーブル、光ファイバー、電話線、セルラー・リンク、無線周波数（ＲＦ）リンク、ワイヤレスおよび他の通信のチャンネルを用いてインプリメントすることができる。
【００６１】
[0070]  「コンピューター・プログラム媒体」および「コンピューター使用可能媒体」という用語は、一般に、取り外し可能ストレージ・ドライブおよびハード・ディスク・ドライブにインストールされているハード・ディスクなどのような媒体を指すために用いられる。これらのコンピューター・プログラム製品は、コンピューター・システムへソフトウェアを提供する。
【００６２】
[0071]  コンピューター・プログラム（コンピューター制御ロジックとも言われる）は、メイン・メモリおよび／または２次メモリに格納される。また、コンピューター・プログラムは、通信インターフェイスを介して受け取ることができる。そのようなコンピューター・プログラムは、それが実行されたときに、ここに記載する機能をコンピューター・システムに行わせることを可能にする。具体的には、コンピューター・プログラムが実行されると、様々な実施形態の機能をプロセッサーにより行わせることを可能にする。したがって、そのようなコンピューター・プログラムは、コンピューター・システムのコントローラーに相当する。
【００６３】
[0072]  様々な実施形態において、ソフトウェアは、コンピューター・プログラム製品に格納し、取り外し可能ストレージ・ドライブ、ハード・ディスク・ドライブ、または通信インターフェイスを用いてコンピューター・システムへロードすることができる。制御ロジック（ソフトウェア）がプロセッサーにより実行されると、ここに記載する様々な実施形態の機能をプロセッサーに行わせる。様々な実施形態において、特定用途向け集積回路（ＡＳＩＣ）などのようなハードウェア・コンポーネントがある。ここに記載する機能を行うようにハードウェア状態マシンをインプリメントすることは、当業者には明らかである。
【００６４】
[0073]  様々な実施形態において、サーバーは、アプリケーション・サーバー（例えば、WEB SPHERE（登録商標）、WEB LOGIC、JBOSS（登録商標））を含むことができる。
様々な実施形態において、サーバーは、ウェブ・サーバー（例えば、APACHE（登録商標）、IIS、GWS、SUN JAVA（登録商標） SYSTEM WEB SERVER）を含むことができる。
【００６５】
[0074]  当業者には理解されるように、限定ではないが、デバイスは、オペレーティング・システム（例えば、Windows NT、95/98/2000/CE/Nobile、OS2、UNIX、Linux、Solaris、MacOS、PalmOSその他）と、典型的にはコンピューターと関連する様々な従来のサポート・ソフトウェアおよびドライバーとを含むことができる。限定ではないが、デバイスは、任意の適切なパーソナル・コンピューター、ネットワーク・コンピューター、ワークステーション、パーソナル・デジタル・アシスタント、セルラー・フォン、スマートフォン、ミニコンピューター、メインフレーム、またはその他の類似のものを含むことができる。デバイスは、ネットワークヘアクセスできるホーム環境またはビジネス環境にあるものとすることができる。様々な実施形態において、アクセスは、商業的に入手可能なウェブ・ブラウザー・ソフトウェア・パッケージを介して、ネットワークまたはインターネットを介するものである。デバイスは、セキュリティ・ソケット・レイヤー（ＳＳＬ）やトランスポート・レイヤー・セキュリティ（ＴＬＳ）などのようなセキュリティ・プロトコルをインプリメントすることができる。デバイスは、ｈｔｔｐ、ｈｔｔｐｓ、ｆｔｐ、およびｓｆｔｐを含む幾つかのアプリケーション層プロトコルをインプリメントすることができる。
【００６６】
[0075]  様々な実施形態において、システム１００のコンポーネント、モジュール、および／またはエンジンは、マイクロアプリケーション（micro-application）またはマイクロアプ（micro-app）としてインプリメントすることができる。マイクロアプは、典型的には、モバイル・オペレーティング・システムで展開され、モバイル・オペレーティング・システムは、例えば、Ｐａｌｍモバイル・オペレーティング・システム、Ｗｉｎｄｏｗｓモバイル・オペレーティング・システム、Ａｎｄｒｏｉｄオペレーティング・システム、Ａｐｐｌｅ（登録商標）ｉＯＳ、Ｂｌａｃｋｂｅｒｒｙオペレーティング・システム、およびその他の類似のものを含む。マイクロアプは、様々なオペレーティング・システムおよびハードウェア・リソースの動作を管理する予め定めた規則の組を介して、大きいオペレーティング・システムおよび関連するハードウェアのリソースを活用するように、構成することができる。例えば、マイクロアプが、モバイル・デバイスまたはモバイル・オペレーティング・システム以外のデバイスまたはネットワークと通信することを望む場合、マイクロアプは、モバイル・オペレーティング・システムの予め定められた規則の下で、オペレーティング・システムおよび関連するデバイス・ハードウェアの通信プロトコルを活用することができる。更に、マイクロアプがユーザーからの入力を望む場合、マイクロアプは、オペレーティング・システムに対して応答を要求するように構成することができ、オペレーティング・システムは、様々なハードウェア・コンポーネントを監視し、その後、検出した入力をハードウェアからマイクロアプへ通信する。
【００６７】
[0076]  「クラウド」または「クラウド・コンピューティング」は、コンフィギュレーション可能コンピューティング・リソース（例えば、ネットワーク、サーバー、ストレージ、アプリケーション、およびサービス）の共有されるプールへの、便利なオンデマンドのネットワーク・アクセスを可能にするモデルを含み、それらのコンフィギュレーション可能コンピューティング・リソースは、最小の管理努力やサービス・プロバイダーとの対話で、迅速に供給およびリリースされることが可能である。クラウド・コンピューティングは、位置に依存しないコンピューティングを含むことができ、それにより、共有されるサーバーは、リソース、ソフトウェア、およびデータを、オンデマンドでコンピューターおよび他のデバイスへ提供する。クラウド・コンピューティングに関する更なる情報については、http://csrc.nist.gov/groups/SNS/cloud- computing/cloud-def-vl5.doc（最後に見に行ったのは２０１１年２月４日）におけるＮＩＳＴ（National Institute of Standards and Technology)のクラウド・コンピューティングの定義を参照されたい。この言及により、この文書の全体がここに組み込まれるものとする。
【００６８】
[0077]  ここで用いられる「送信」は、電子データを１つのシステム・コンポーネントから別のものへ送ることを含み得る。更に、ここで用いる「データ」は、デジタル形態または他の任意の形態のコマンド、クエリ、ファイル、格納するデータ、およびその他の類似のものなどのような情報を含むことを、含み得る。
【００６９】
[0078]  システムは、ウェブ・サービス、ユーティリティー・コンピューティング、普及型および個人向けのコンピューティング、セキュリティおよびアイデンティティーのソリューション、自動コンピューティング、クラウド・コンピューティング、商品コンピューティング、モビリティおよびワイヤレスのソリューション、オープン・ソース、バイオメトリック、グリッド・コンピューティング、および／またはメッシュ・コンピューティングと関連しての使用についても考慮している。
【００７０】
[0079]  ここで論じる何れのデータベースも、リレーショナル、階層、グラフィカル、またはオブジェクト指向の構造および／または他のデータベース構成を、含むことができる。データベースをインプリメントするために使用できる共通のデータベース製品は、ＩＢＭ（登録商標）（ニューヨーク州アーモンク）のＤＢ２（登録商標）、Ｏｒａｃｌｅ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎ（カリフォルニア州レッドウッド・ショア）から入手可能な様々なデータベース製品、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（ワシントン州レドモンド）のＭｉｃｒｏｓｏｆｔ  Ａｃｃｅｓｓ（登録商標）やＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ（登録商標）、ＭｙＳＱＬ（登録商標）  ＡＢ（スウェーデン、アップサラ）のＭｙＳＱＬ、または他の任意の適切なデータベース製品を含む。更に、データベースは、例えば、データ・テーブルやルックアップ・テーブルのように、任意の適切な様式に編成することができる。各レコードは、１つのファイル、一連のファイル、リンクされた一連のデータ・フィールド、または他の任意のデータ構造とすることができる。特定のデータの関連付けは、当該分野で知られているか実施されている任意の望まれるデータ関連付け技術を通じて、達成することができる。例えば、関連付けは、手動または自動で達成することができる。自動関連付け技術は、例えば、データベース・サーチ、データベース・マージ、ＧＲＥＰ、ＡＧＲＥＰ、ＳＱＬ、サーチを速くするためのテーブルのキー・フィールドの使用、全てのテーブルおよびファイルを通じてのシーケンシャル・サーチ、ルックアップを簡潔にするための既知の順に従ってのファイル内のレコードのソート、および／またはその他の類似のものを、含むことができる。関連付けステップは、例えば、予め選択されたデータベースまたはデータ・セクタにおける「キー・フィールド」を用いるデータベース・マージ機能により、達成することができる。データベースの性能を最適にするように、様々なデータベース・チューニング・ステップが考えらている。例えば、インデックスなどのような頻繁に使用されるファイルは、入力／出力（Ｉ／Ｏ）のボトルネックを低減するように、別のファイル・システムに置くことができる。
【００７１】
[0080]  また、当業者には理解されるように、セキュリティに関する理由により、何れのデータベース、システム、デバイス、サーバー、またはシステムの他のコンポーネントも、１つの位置または複数の位置において、それらの任意の組み合わせからなることができ、それぞれのデータベースまたはシステムは、ファイアーウォール、アクセス・コード、暗号化、暗号解読、圧縮、圧縮解除、および／またはその他の類似のものなどのような様々な適切なセキュリティ機能のうちの任意のものを含む。
【００７２】
[0081]  暗号化は、当該分野で現在使用可能または使用可能になり得る技術のうちの任意のものにより行うことができ、それらは、例えば、Twofish、RSA、El Gamal、Schorr signature（シュノア署名）、DSA、PGP、PKI、GPG (GnuPG)、および対称および非対称の暗号システムである。
【００７３】
[0082]  デバイスのコンピューティング・ユニットは、標準的なダイヤル・アップ、ケーブル、ＤＳＬ、または当該分野で知られている他の任意のインターネット・プロトコルを用いてインターネットまたはイントラネットへ接続するインターネット・ブラウザーを、更に備えることができる。デバイスで開始されるトランザクションは、他のネットワークのユーザーからの許可されないアクセスを妨げるために、ファイアーウォールを通過させることができる。更に、システムの変化するコンポーネント間に、更にセキュリティを強化するために、追加のファイアーウォールを配置することができる。
【００７４】
[0083]  ファイアーウォールは、他のネットワークのユーザーからＡＣＳコンポーネントおよび／またはエンタープライズ・コンピューティング・リソースを保護するために適切に構成された任意のハードウェアおよび／またはソフトウェアを含むことができる。更に、ファイアーウォールは、ウェブ・サーバーを介して接続するデバイスのために、ファイアーウォールの後ろにある様々なシステムおよびコンポーネントへのアクセスを限定または制限するように構成することができる。ファイアーウォールは、数ある中でもステートフル・インスペクション、プロキシ・ベースのアクセス制御リスト、およびパケット・フィルタリングを含む変化するコンフィギュレーション内に存在することができる。ファイアーウォールは、ウェブ・サーバーまたは他の任意のＡＣＳコンポーネントの中へ統合することができ、また、更に、別個のエンティティとして存在することができる。ファイアーウォールは、ネットワーク・アドレス・トランスレーション（「ＮＡＴ」）および／またはネットワーク・アドレス・ポート・トランスレーション（「ＮＡＰＴ」）をインプリメントすることができる。ファイアーウォールは、仮想プライベート・ネットワーキングで用いられているように、セキュアな通信を容易にするために様々なトンネリング・プロトコルを適用させることができる。ファイアーウォールは、インターネットなどのような公共ネットワークとの通信を容易にするために、非武装地帯（「ＤＭＺ」）をインプリメントすることができる。ファイアーウォールは、インターネット・サーバー内または他の任意のアプリケーション・サーバー・コンポーネント内でソフトウェアとして統合することができ、また、別のコンピューティング・デバイス内に存在することができ、また、スタンドアローンのハードウェア・コンポーネントの形態をとることができる。
【００７５】
[0084]  ここで論じるコンピューターは、ユーザーによるアクセスが可能な適切なウェブ・サイトまたは他のインターネット・ベースのグラフィカル・ユーザー・インターフェイスを提供することができる。様々な実施形態において、Microsoft Internet Information Server (IIS)、Microsoft Transaction Server (MTS)、およびMicrosoft SQL Serverは、Microsoftオペレーティング・システム、Microsoft NT ウェブ・サーバー・ソフトウェア、Microsoft SQL Serverデータベース・システム、およびMicrosoft Commerce Serverと関連して使用される。更に、AccessまたはMicrosoft SQL Server、Oracle、Sybase（登録商標）、Informix（登録商標）、MySQL、Interbaseなどのようなコンポーネントは、Active Data Object（ＡＤＯ）対応のデータベース管理システムを提供するために使用することができる。様々な実施形態において、Apacheウェブ・サーバーが、Linuxオペレーティング・システム、MySQLデータベース、およびPerl、PHP、および／またはPython（登録商標）プログラミング言語と関連して用いられる。
【００７６】
[0085]  ここで論じる何れの通信、入力、ストレージ、データベース、またはディスプレイも、ウェブ・ページを有するウェブサイトを通じて促進される。ここで用いられる「ウェブ・ページ」という用語は、ユーザーとの対話に使用され得る文書およびアプリケーションの形式を限定することを意図していない。例えば、典型的なウェブサイトは、標準のＨＴＭＬ文書に加えて、様々なフォーム、Ｊａｖａアプレット、ＪａｖａＳｃｒｉｐｔ（登録商標）、アクティブ・サーバー・ページ（ＡＳＰ）、コモン・ゲートウェイ・インターフェイス・スクリプト（ＣＧＩ）、エクステンシブル・マークアップ・ランゲージ（ＸＭＬ）、ダイナミックＨＴＭＬ、カスケーディング・スタイル・シート（ＣＳＳ）、ＡＪＡＸ（Asynchronous Javascript And XML）、ヘルパー・アプリケーション、プラグイン、およびその他の類似のものを含むことができる。サーバーは、ウェブ・サーバーからの要求を受け取るウェブ・サービスを含むことができ、要求は、ＵＲＬ（http://yahoo.com/stockquotes/ge）およびＩＰアドレス（123.56.789.234）を含む。ウェブ・サーバーは、適切なウェブ・ページを検索し、そのウェブ・ページに関するデータまたはアプリケーションをＩＰアドレスへ送る。ウェブ・サービスはアプリケーションであり、このアプリケーションは、インターネットなどのような通信手段を介して他のアプリケーションと対話することが可能である。ウェブ・サービスは、典型的には、ＸＭＬ、ＳＯＡＰ、ＡＪＡＸ、ＷＳＤＬ、およびＵＤＤＩなどのような標準またはプロトコルに基づく。ウェブ・サービスの方法は当該分野では知られており、多くの標準的な教科書に記載されている。例えば、ALEX NGHIEMによる「IT WEB SERVICES: A ROADMAP FOR THE ENTERPRISE」(2003)を参照されたい。この文献は、この言及によりここに組み込まれる。
【００７７】
[0086]  ミドルウェアは、異なるコンピューター・システム間での通信および／またはプロセスのトランザクションを容易にするように適切に構成される任意のハードウェアおよび／またはソフトウェアを含むことができる。ミドルウェア・コンポーネントは、商業的に入手可能であり、当該分野では知られている。ミドルウェアは、商業的に入手可能なハードウェアおよび／またはソフトウェアを通じて、またはカスタムのハードウェアおよび／またはソフトウェア・コンポーネントを通じて、またはそれらの組み合わせを通じて、インプリメントすることができる。ミドルウェアは、様々なコンフィギュレーションの中で存在することができ、また、スタンドアローンのシステムとして存在することができ、また、インターネット・サーバーに存在するソフトウェア・コンポーネントとすることができる。ミドルウェアは、ここで説明する何れもの目的のために、アプリケーション・サーバーの様々コンポーネントと任意の数の内部または外部のシステムとの間でのトランザクションを処理するように、構成することができる。商業的に入手可能なミドルウェア製品の例は、ＩＢＭ社（ニューヨーク州アーモンク）のWebSphere MQTM（以前はMQSeries）である。ミドルウェアの別の例は、Enterprise Service Bus（「ＥＳＢ」）アプリケーションである。
【００７８】
[0087]  また、専門家は、ブラウザー・ベースの文書内でデータを表示するための方法が多数あることを、理解するであろう。データは、標準のテキストで表すことができ、また、固定されたリスト、スクロール可能リスト、ドロップダウン・リスト、編集可能テキスト・フィールド、固定テキスト・フィールド、ポップアップ・ウィンドゥ、またはその他の類似のものの中で表すことができる。同様に、ウェブ・ページ内のデータを変更するために使用可能な多数の方法があり、それらは、例えば、キーボードを用いての自由テキスト入力、メニュー項目の選択、チェック・ボックス、オプション・ボックス、およびその他の類似のものなどである。
【００７９】
[0088]  ここでは、システムおよび方法は、機能ブロック・コンポーネント、スクリーン・ショット、オプション的な選択、および様々な処理ステップに関して説明されていることがある。そのような機能ブロックは、指定された機能を行うように構成された任意の数のハードウェアおよび／またはソフトウェア・コンポーネントにより実現できることを、理解すべきである。例えば、システムは、１以上のマイクロプロセッサーまたは他の制御デバイスの制御の下で様々な機能を実施することができる様々な集積回路コンポーネント、例えば、メモリ・エレメント、処理エレメント、論理エレメント、ルックアップ・テーブル、およびその他の類似のものを、用いることができる。同様に、ソフトウェア・エレメントは、任意のプログラミング言語やスクリプティング言語と、データ構造、オブジェクト、プロセス、ルーチン、または他のプログラミング・エレメントの任意の組み合わせを用いてインプリメントされる様々なアルゴリズムとを用いて、インプリメントすることができ、プログラミング言語やスクリプティング言語は、C、C++、C#、Java（登録商標）、JavaScript、VBScript、Macromedia（登録商標） Cold Fusion（登録商標）、COBOL、Microsoft Active Server Pages、アセンブリ、PERL、PHP、awk、Python、Visual Basic（登録商標）、SQL Stored Procedures、PL/SQL、任意のUNIX shell script、およびextensible markup language（XML）などである。更に、システムは、データ送信、信号発信、データ処理、ネットワーク制御、およびその他の類似のもののための任意の数の従来の技術を用いることができることに、留意されたい。更に、システムは、JavaScript、VBScript、またはその他の類似のものなどのようなクライアント側のスクリプティング言語でのセキュリティの問題を検出または回避するために、使用することができる。暗号およびネットワークのセキュリティの基礎的な入門書に関しては、下記の引用文献、（１）John Wiley & Sonsにより発行された、Bruce Schneierによる「Applied Cryptography: Protocols, Algorithms, And Source Code In C」（第２版、１９９５）、（２）O'Reilly & Associatesにより発行された、Jonathan Knudsonによる「Java Cryptography」（１９９８）、（３）Prentice Hallにより発行された、 William Stallingsによる「Cryptography & Network Security: Principles & Practice」の何れかを参照されたい。これらの文献の全ては、この言及により、ここに組み込まれるものとする。
【００８０】
[0089]  当業者には理解できるように、システムは、既存のシステムをカスタム化したもの、アドオン製品、アップグレードされたソフトウェアを実行する処理装置、スタンドアローンのシステム、分散型のシステム、方法、データ処理システム、データ処理のためのデバイス、および／またはコンピューター・プログラム製品として、インプリメントすることができる。したがって、システムまたはモジュールの何れの部分も、コードを実行する処理装置、インターネット・ベースの実施形態、全てハードウェアの実施形態、またはインターネット、ソフトウェア、およびハードウェアの構成を組み合わせた実施形態の形とすることができる。更に、システムは、コンピューター読み取り可能な格納媒体上のコンピューター・プログラム製品の形とすることができ、この格納媒体においてコンピューター読み取り可能なプログラム・コード手段が実現されている。任意の適切コンピューター読み取り可能な格納媒体を用いることができ、格納媒体は、ハード・ディスク、ＣＤ−ＲＯＭ、光学式格納デバイス、磁気格納デバイス、および／またはその他の類似のものを含む。
【００８１】
[0090]  ここではシステムおよび方法は、様々な実施形態に従った方法、装置（例えば、システム）、およびコンピューター・プログラム製品のスクリーン・ショット、ブロック図、およびフローチャートの図を参照して説明されている。ブロック図およびフローチャートの例示の各機能ブロック、およびブロック図およびフローチャートの例示の機能ブロックの組み合わせを、それぞれ、コンピューター・プログラム命令によりインプリメントできることは、理解されるであろう。
【００８２】
[0091]  それらのコンピューター・プログラム命令は、汎用コンピューター、特定用途向けコンピューター、または他のプログラマブル・データ処理装置へ、マシンを作成するためにロードすることができ、コンピューターまたは他のプログラマブル・データ処理装置で実行されるそれらの命令は、フローチャートの１または複数のブロックで示された機能をインプリメントするための手段を作成する。それらのコンピューター・プログラム命令はまた、コンピューター読み取り可能メモリへ格納することができ、それらの命令は、コンピューターまたは他のプログラマブル・データ処理装置へ、特定の様式で機能するように指示することができ、コンピューター読み取り可能メモリへ格納された命令は、フローチャートの１または複数のブロックで示された機能をインプリメントする命令手段を含む製品を作り出す。コンピューター・プログラム命令はまた、コンピューターによりインプリメントされるプロセスを作り出すために、コンピューターまたは他のプログラマブル・データ処理装置で一連の動作ステップが行われるように、コンピューターまたは他のプログラマブル・データ処理装置へロードすることができ、コンピューターまたは他のプログラマブル・データ処理装置で実行される命令は、フローチャートの１または複数のブロックで示された機能をインプリメントするためのステップを提供する。
【００８３】
[0092]  したがって、ブロック図およびフローチャートの例示の機能ブロックは、指定された機能を行う手段の組み合わせ、指定された機能を行うステップの組み合わせ、および指定された機能を行うプログラム命令手段をサポートする。また、ブロック図およびフローチャートの例示の各機能ブロック、およびブロック図およびフローチャートの例示の機能ブロックの組み合わせを、指定された機能またはステップを行う特定用途向けのハードウェア・ベースのコンピューター、または特定用途向けのハードウェアとコンピューター命令との適切な組み合わせによりインプリメントできることも、理解されるであろう。更に、プロセスの流れの図とその説明とは、ユーザー・ウィンドゥ、ウェブページ、ウェブサイト、ウェブ・フォーム、プロンプトなどに言及することもある。ここで例示されたステップが、ウィンドゥ、ウェブページ、ウェブ・フォーム、ポップアップ・ウィンドゥ、プロンプト、および他の類似のものの使用を含む任意の数のコンフィギュレーションに含まれ得ることを、専門家は理解するであろう。更に、図示および記載された複数のステップは、簡潔にするために、展開されているが、１つのウェブページおよび／またはウィンドゥへと組み合わせることができることも、理解すべきである。他の場合において、１つの処理ステップとして図示および記載されたステップは、簡素化のために、組み合わされているが、複数のウェブページおよび／またはウィンドゥへと分割することができる。
【００８４】
[0093]   「非一時的（non-transitory）」という用語は、伝搬する一時的な信号自体のみを特許請求の範囲から除くものと理解され、伝搬する一時的な信号自体のみではない全ての標準的なコンピューター読み取り可能媒体に対しての権利は放棄しない。換言すると、「非一時的なコンピューター読み取り可能媒体」および「非一時的なコンピューター読み取り可能格納媒体」という用語は、Ｉｎ  Ｒｅ  Ｎｕｉｊｔｅｎにおいて、３５  Ｕ．Ｓ．Ｃ．  セクション１０１の下で特許可能な主題の範囲外にであるとされた形態の一時的コンピューター読み取り可能媒体のみを除くものと、解釈されるべきである。
【００８５】
[0094]  ここでは、特定の実施形態についての利益、他の利点、および問題の解決法を説明した。しかし、利益、利点、問題の解決法、および利益、利点、または解決法を生じさせるか又はより明白にさせる何れのエレメントも、本開示の決定的、必要、または本質的な特徴またはエレメントとして解釈されない。単数形でのエレメントに対する言及は、明確に「唯一」と述べていないかぎり、「唯一」を意味することを意図しておらず、むしろ「１以上」を意味する。更に、「Ａ、Ｂ、およびＣのうちの少なくとも１つ」や「Ａ、Ｂ、またはＣのうちの少なくとも１つ」のような文が特許請求の範囲や明細書で用いられる場合、その文は、Ａのみが実施形態において存在し得る、Ｂのみが実施形態において存在し得る、Ｃのみが実施形態において存在し得る、またはＡとＢとＣとの任意の組み合わせ、例えば、ＡとＢ、ＡとＣ、ＢとＣ、またはＡとＢとＣが１つの実施形態において存在し得る、ということを意味すると解釈されることを意図している。本開示は方法を含むが、それが、磁気または光メモリや磁気または光ディスクなどのような実体的なコンピューター読み取り可能キャリア上のコンピューター・プログラム命令として実施され得ることが、考慮されている。当業者には知られている上記の例示の実施形態のエレメントと構造的、化学的、および機能的に等価の全てのものは、この言及により明確にここに組み込まれるものとし、本特許請求の範囲の範囲にあることが意図される。更に、デバイスまたは方法は、本開示による解決が求められる個々および全ての問題に向けたものとする必要はなく、なぜなら、それは本特許請求の範囲の範囲内にあるからである。更に、本開示における何れのエレメント、コンポーネント、または方法のステップも、そのエレメント、コンポーネント、または方法のステップが明確に特許請求の範囲に記載されているか否かにかかわらず、公衆に献呈することは意図していない。ここでの特許請求されるエレメントは、エレメントが明確に「ための手段」という語を用いて記載されていないかぎり、３５  Ｕ．Ｓ．Ｃ．  １１２（ｆ）の規定の下で解釈されない。ここで用いられる「含む（comprises）」、「含む（comprising）」、またはこれらの変形した用語の何れも、非排他的包含を範囲に含むことを意図しており、列挙されるエレメントを含むプロセス、方法、物、または装置は、それらのエレメントのみを含むのではなく、明確には列挙されていない他のエレメントや、そのようなプロセス、方法、物、または装置に固有の他のエレメントも含み得る。
【図１】
0006695868.tif 000002
【図２】
0006695868.tif 000003
【図３】
0006695868.tif 000004
【図４】
0006695868.tif 000005
【図５】
0006695868.tif 000006
【図６】
0006695868.tif 000007
【図７】
0006695868.tif 000008
【図８】
0006695868.tif 000009
【図９】
0006695868.tif 000010
【図１０】
0006695868.tif 000011