(57)【要約】      （修正有）【課題】デバイス間でデータを送信するためのシステム、方法及びコンピュータプログラム製品を提供する。【解決手段】デバイスは、標準化された通信システム（「ＳＣＳ」）を利用して、ＳＣＳを含むデバイスとの間で直接的にデータを送信する。ＳＣＳが、利用可能なデバイスを発見する。ＳＣＳは、第１デバイスと第２デバイスとの間の利用可能な送信経路を決定する。ＳＣＳは、第１デバイスと第２デバイスとの間の送信経路を選択する、また、標準化された通信プロトコル（「ＳＣＰ」）を用いて第１デバイスから第２デバイスへデータを送信する。【選択図】図３
2019080356.tif 000002
【特許請求の範囲】
【請求項１】
データを送信するためのプロセッサによって、標準化された通信プロトコル（「ＳＣＰ」）を第１デバイス上に実装するステップと、
前記プロセッサによって、第２デバイスを発見するステップと、
前記プロセッサによって、送信経路を選択するステップと、
前記プロセッサによって、前記第２デバイスへメッセージを送信するステップと、
を含む方法。
【請求項２】
前記ＳＣＰを実装するステップは、ＳＣＰヘッダをパケットに付加するステップを含む、請求項１に記載の方法。
【請求項３】
前記ＳＣＰヘッダは、データグラムをＳＣＰデータグラムとして識別する、請求項２に記載の方法。
【請求項４】
前記プロセッサによって、前記第１デバイスと前記第２デバイス間における通信のための利用可能なハードウェアを決定するステップを更に含む、請求項１に記載の方法。
【請求項５】
前記送信経路を選択するステップは、前記第１デバイスと前記第２デバイス間における最も高速な送信経路を決定するステップを含む、請求項１に記載の方法。
【請求項６】
前記メッセージを送信するステップは、第１送信経路を介して前記メッセージの第１部分を送信し、第２送信経路を介して前記メッセージの第２部分を送信する、請求項１に記載の方法。
【請求項７】
前記第１送信経路はＢｌｕｅｔｏｏｔｈ（登録商標）経路を含み、前記第２送信経路は８０２．１１無線経路を含む、請求項６に記載の方法。
【請求項８】
前記ＳＣＰは、第１無線チップが第２無線チップと通信することを可能にし、前記第１無線チップと前記第２無線チップは、異なる製造者によって製造されたものである、請求項１に記載の方法。
【請求項９】
前記メッセージは、サーバ上に格納されたファイルへのリンクを含む、請求項１に記載の方法。
【請求項１０】
前記プロセッサによって、前記第２デバイスへ暗号ブックを送信するステップを更に含む、請求項１に記載の方法。
【請求項１１】
前記プロセッサによって、ＡＥＳ及びＲＳＡ暗号の少なくとも一方を用いて前記暗号ブックを暗号化するステップを更に含む、請求項１０に記載の方法。
【請求項１２】
前記プロセッサによって、前記暗号ブック内のワンタイム暗号を用いて前記メッセージを暗号化するステップを更に含む、請求項１０に記載の方法。
【請求項１３】
前記発見するステップは、前記第１デバイスと前記第２デバイスの少なくとも一方の上にシンボルを表示するステップを含む、請求項１に記載の方法。
【請求項１４】
前記メッセージを送信するステップは、前記第２デバイスへリンクを送信するステップを含む、請求項１に記載の方法。
【請求項１５】
前記メッセージを送信するステップは、前記第１デバイスから前記第２デバイスへデータをストリーミングするステップを含む、請求項１に記載の方法。
【請求項１６】
前記第１デバイスと前記第２デバイスは、送信範囲の外に存在する、請求項１に記載の方法。
【請求項１７】
前記第１デバイスと前記第２デバイスは、仲介デバイスを介して通信し、前記仲介デバイスは、前記第１デバイスと前記第２デバイスの送信範囲内に存在する、請求項１６に記載の方法。
【請求項１８】
前記ＳＣＰは、前記第１デバイスのネットワーク層において実装される、請求項１に記載の方法。
【請求項１９】
データを送信するためのプロセッサによる実行に応答して前記プロセッサに動作を実施させる命令を格納された有形の非一時的コンピュータ可読記憶媒体を含む製造物品であって、前記動作は、
前記プロセッサによって、標準化された通信プロトコル（「ＳＣＰ」）を第１デバイス上に実装するステップと、
前記プロセッサによって、第２デバイスを発見するステップと、
前記プロセッサによって、送信経路を選択するステップと、
前記プロセッサによって、前記第２デバイスへメッセージを送信するステップと、
を含む、製造物品。
【請求項２０】
データを送信するためのプロセッサと、
前記プロセッサと通信するように構成された有形の非一時的メモリと、
を備えるシステムであって、
前記有形の非一時的メモリは、前記プロセッサによる実行に応答して前記プロセッサに動作を実施させる命令を格納され、前記動作は、
前記プロセッサによって、標準化された通信プロトコル（「ＳＣＰ」）を第１デバイス上に実装するステップと、
前記プロセッサによって、第２デバイスを発見するステップと、
前記プロセッサによって、送信経路を選択するステップと、
前記プロセッサによって、前記第２デバイスへメッセージを送信するステップと、
を含む、システム。
【請求項２１】
第２デバイスと通信するためのプロセッサを備えた第１デバイスによって、前記第２デバイスからデータグラムを受信するステップと、
前記プロセッサによって、前記データグラム内の標準化された通信プロトコル（「ＳＣＰ」）ヘッダを識別するステップと、
前記プロセッサによって、利用可能な送信経路のリストを前記第２デバイスへ送信するステップと、
前記プロセッサによって、前記利用可能な送信経路のリスト内の少なくとも１つの送信経路を介して前記第２デバイスからメッセージを受信するステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本開示は、概して、データを送信することに関し、より具体的には、ピアツーピア通信のためのシステム及び方法に関する。
【背景技術】
【０００２】
[0002]  デバイス間の通信は、典型的に、インターネット又はローカルエリアネットワークなどのネットワークを介して行われる。しかしながら、ネットワークは、いつもデバイス間の通信に利用できるわけではないかもしれないし、加えて、通信をネットワーク上のセキュリティ侵害に晒すかもしれない。Ｂｌｕｅｔｏｏｔｈ（登録商標）により有効化されたデバイスは、直接的に通信するかもしれない。しかしながら、Ｂｌｕｅｔｏｏｔｈ（登録商標）を有効化したデバイスは限られた範囲内になければならず、通信スピードは比較的低速であるかもしれない。
【０００３】
[0003]  多くのデバイスは、無線チップを含むことができる。製造業者は、互換性のある無線チップを収容したデバイス間の通信を可能にする専用の無線チップを作製することができる。しなしながら、そのようなデバイスは、他の製造業者によって製造されたチップを収容した他のデバイスと通信することが不可能であるかもしれない。
【発明の概要】
【０００４】
[0004]  データを送信するためのシステム、方法、及びコンピュータ可読媒体が開示される。様々な実施態様において、方法は、標準化された通信プロトコル（「ＳＣＰ」）を第１デバイス上に実装するステップを含むことができる。方法は更に、第２デバイスを発見するステップを含むことができる。方法は更に、送信経路を選択するステップを含むことができる。方法は更に、前記第２デバイスへメッセージを送信するステップを含むことができる。
【０００５】
[0005]  様々な実施態様において、方法は、第２デバイスと通信するためのプロセッサを備えた第１デバイスによって、第２デバイスからデータグラムを受信するステップを含むことができる。方法は更に、前記データグラム内の標準化された通信プロトコル（「ＳＣＰ」）ヘッダを識別するステップを含むことができる。方法は更に、前記プロセッサによって、利用可能な送信経路のリストを前記第２デバイスへ送信するステップを含むことができる。方法は更に、前記プロセッサによって、前記利用可能な送信経路のリスト内の少なくとも１つの送信経路を介して前記第２デバイスからメッセージを受信するステップを含むことができる。
【図面の簡単な説明】
【０００６】
[0006]  より完全な理解は、図と関連して検討した時に詳細な説明及びクレームを参照することによって引き出されることができる。図において、同様の符号は図の全体を通じて類似の要素を参照する。
【０００７】
【図１】[0007]  図１は、本開示の様々な実施態様による、メッセージを送信するためのシステムの模式図を示す。
【図２】[0008]  図２は、様々な実施態様による、デバイス間でデータを送信するための処理を示す。
【図３】[0009]  図３は、様々な実施態様による、ファイル送信プロトコルのための処理を示す。
【図４】[0010]  図４は、様々な実施態様による発見プロトコルを示す。
【図５】[0011]  図５は、様々な実施態様による、発見プロトコルについての定義を示す。
【図６】[0012]  図６は、様々な実施態様による、ファイル転送要求についての定義を示す。
【図７】[0013]  図７は、様々な実施態様による、ファイル転送要求に対する応答についての定義を示す。
【発明を実施するための形態】
【０００８】
[0014]  本明細書における例示的な実施態様の詳細な説明は、添付の図面及び絵への参照をし、それらは様々な実施態様を実例として示す。これらの様々な実施態様は、当業者が本開示を実施することを可能にするように十分詳しく説明されるが、他の実施態様が実現され得ること、並びに、本開示の趣旨及び範囲から逸脱することなく、論理的及び機械的な変更がなされ得ることが理解されるべきである。したがって、本明細書の詳細な説明は、限定の目的ではなく、実例のみの目的のために提示される。例えば、方法又は処理の説明のいずれかに記載されたステップは、任意の順序で実行されることができ、提示された順序には限定されない。そのうえ、機能又はステップの任意のものが、１又は複数のサードパーティにアウトソースされる、又は、１又は複数のサードパーティによって実施されることができる。更にまた、単数へのどんな言及も複数の実施態様を含み、１よりも多い構成要素へのどんな言及も単数の実施態様を含むことができる。
【０００９】
[0015]  システム、方法、及びコンピュータプログラム製品が提供される。本明細書の詳細な説明において、「様々な実施態様」、「一実施態様」、「実施態様」、「例示的実施態様」等への言及は、説明される実施態様は特定の特徴、構造、又は特性を含み得るが、全ての実施態様が必ずしも当該特定の特徴、構造、又は特性を含まなくてよい、ということを示す。そのうえ、そのような文言は、必ずしも同じ実施態様を参照していない。更に、特定の特徴、構造、又は特性がある実施態様に関連して説明される場合、そのような特徴、構造、又は特性を、明示的に説明されていようがいまいが他の実施態様に関連して有効にすることは、当業者の知識の範囲内であるということが具申される。本説明を読んだ後、当業者には、本開示を代替的な実施態様でどのように具現化するかが明らかになるだろう。
【００１０】
[0016]  通信デバイス間におけるピアツーピア通信のためのシステム及び方法が本明細書において開示される。本明細書において用いられる際、「通信デバイス」は、別のデバイスとの通信の能力がある任意のデバイスを指すことができる。例えば、限定ではなく、通信デバイスは、スマートフォン、ＰＤＡ、ラップトップ、デスクトップコンピュータ、携帯電話、ＧＰＳデバイス、カーナビゲーションシステム、無線プリンタ、又は任意の他のデバイスを指すことができる。
【００１１】
[0017]  本明細書において開示されるシステム及び方法は、インターネット又は他のネットワークへの接続を用いずにデバイス間の通信を可能にすることができる。標準化された通信システム（「ＳＣＳ」）がデバイスに組み込まれることができる。ＳＣＳは、ハードウェア及び／又はソフトウェアの任意の組み合わせを含むことができる。ＳＣＳは、他のデバイスと通信するために、８０２．１１無線チップ及びＢｌｕｅｔｏｏｔｈ（登録商標）システムなどの、デバイスの既存の物理的コンポーネントを利用することができる。ＳＣＳは、ＩＰ、ＴＣＰ／ＵＤＰ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、未修正の（raw）マンチェスター符号化、及び無線通信の任意の他の形式などの、任意の通信プロトコルに適合することができる。
【００１２】
[0018]  ＳＣＳは、様々なタイプ及びプラットフォームのデバイス間における通信を許可することができる。加えて、ネットワークを介してデータを送信することなくデバイス
間で直接的に通信が行われることができるので、ネットワークが利用不可能である場合に通信が利用可能となることができ、ネットワーク上の盗聴者から通信が保護されることができる。そのうえ、デバイス間の直接的な通信は、携帯電話のデータプランにおけるデータの課金を回避することができる。
【００１３】
[0019]  図１を参照すると、メッセージを送信するためのシステム１００が、様々な実施態様に従って示されている。ＳＣＳ１１２を備える第１デバイス１１０とＳＣＳ１２２を備える第２デバイス１２０が、様々な実施態様に従って示されている。様々な実施態様において、ＳＣＳ１１２及びＳＣＳ１２２は、第１デバイス１１０と第２デバイス１２０にインストールされる販売後のソフトウェアプログラムであってよい。しかしながら、様々な実施態様において、ＳＣＳ１１２及びＳＣＳ１２２は、第１デバイス１１０及び／又は第２デバイス１２０内の、８０２．１１無線チップなどのチップに埋め込まれてよい。
【００１４】
[0020]  様々な実施態様において、ＳＣＳは、標準化された通信プロトコル（「ＳＣＰ」）をデバイス上に実装することができる。ＳＣＰは、データグラム１５０をＳＣＰデータグラムとして識別するために、ＳＣＰヘッダ１５２をパケットに付加することができる。第１デバイス１１０は、ＳＣＰを用いて第２デバイス１２０と通信することができる。ＳＣＳはＳＣＰヘッダを認識して、ＳＣＰに従うことができる。ＳＣＰは、デバイスが互いを発見し、生データの転送を要求し、データを受け取り次第確認を送信し、データの送信に関与する任意の他のステップを実施する能力を定義することができる。
【００１５】
[0021]  様々な実施態様において、ＳＣＳは、開放型システム間相互接続（「ＯＳＩ」）モデルにおけるネットワーク層（又はＴＣＰ／ＩＰモデルにおけるインターネット層）において実装されることができる。トランスポート層において用いられているプロトコル（例えばＴＣＰ、ＵＤＰ、ＳＣＴＰ、ＤＣＣＰ）にかかわらず、ＳＣＰヘッダは、ＳＣＳを備えるデバイスがＳＣＰを介して通信することを可能にすることができる。
【００１６】
[0022]  様々な実施態様において、第１デバイス１１０と第２デバイス１２０の少なくとも一方は、スマートフォンを含むことができる。しかしながら、様々な実施態様において、第１デバイス１１０と第２デバイス１２０は、データを送信及び／又は受信する能力のある任意の種類のデバイスを含むことができる。
【００１７】
[0023]  図２を参照すると、デバイス間でデータを送信するための処理２００が、様々な実施態様に従って示されている。様々な実施態様において、第１ユーザは、データを第１デバイス１１０から第２デバイス１２０へ送信することを望むことができる。データは、テキストメッセージ、画像、ビデオ、テキスト文書、又は他の任意の種類のファイルなどの、任意の種類のデータを含むことができる。
【００１８】
[0024]  第１デバイス１１０は、利用可能なデバイスを発見することができる（ステップ２１０）。第１デバイス１１０は、様々な方法によって、他のデバイスを発見することを試みることができる。様々な実施態様において、第１デバイス１１０は、カメラ又は他の光学デバイスを用いて、他のデバイスを発見することができる。様々な実施態様において、第２デバイス１２０は、ＱＲコード（登録商標）、バーコード、又はテキストなどのシンボルを表示することができる。シンボルは、第２デバイス１２０についての識別特性を含むことができる。例えば、様々な実施態様において、識別特性は、デバイス名、デバイスのＩＰアドレス、所有者名、デバイスのエンドポイント、及びデバイス上の利用可能なトランスポート層のうちの少なくとも１つを含むことができる。第１デバイス１１０は、カメラを用いてシンボルをスキャンすることができる。第１デバイス１１０は、シンボルから識別特性を取得して、データを第２デバイス１２０へ送信するために当該識別特性を用いることができる。
【００１９】
[0025]  様々な実施態様において、第１デバイス１１０上のＳＣＳは、第１デバイス１１０内の無線チップを用いて他のデバイスを検索することができる。ＳＣＳを備えたデバイスは、ブロードキャストメッセージを送信することができる。ブロードキャストメッセージは、デバイスの識別特性を含むことができる。様々な実施態様において、第１デバイス１１０は、第２デバイス１２０の送信範囲内に存在することができる。送信範囲は、第１デバイス１１０及び第２デバイス１２０内の無線チップの固有の種類に依存することができる。しかしながら、様々な実施態様において、送信範囲は、最大でおよそ２００フィートから３００フィートであってよい。ＳＣＳは、ブロードキャストメッセージをリッスンするために第１デバイス１１０上のソケットをオープンすることができる。ブロードキャストメッセージは、様々なハードウェアによって送られることができる。例えば、ブロードキャストメッセージは、８０２．１１無線チップ、Ｂｌｕｅｔｏｏｔｈ（登録商標）チップ、又はＮＦＣを介して送信されることができる。
【００２０】
[0026]  様々な実施態様において、第１デバイス１１０と第２デバイス１２０は、互いの送信範囲内に存在しなくてもよい。しかしながら、ホットスポット技術を装備したスマートフォンなどの仲介デバイスが、第１デバイス１１０の送信範囲内に存在することができる。第１デバイス１１０は、利用可能なデバイスを探すように仲介デバイスに命令するメッセージを仲介デバイスへ送信することによって、利用可能なデバイスを検索することができる。仲介デバイスは、第２デバイス１２０からブロードキャストメッセージを受け取ることができ、当該ブロードキャストメッセージを第１デバイス１１０へ送信することができる。こうして、第１デバイス１１０は、たとえ第２デバイス１２０の送信範囲内に存在していなくても、インターネット又は携帯電話ネットワークに接続することなく、第２デバイス１２０を発見することができる。様々な実施態様において、任意の数の仲介デバイスがデイジーチェーン接続されることができ、その結果、第１デバイス１１０は、ひとつながりの仲介デバイスを介してデータを送信することによって、何マイルも離れたところから第２デバイス１２０を発見することができる。
【００２１】
[0027]  第１デバイス１１０は、発見された全デバイスのリストをユーザに対して表示することができる。ユーザは、第２デバイス１２０へデータを送信するために第２デバイス１２０を選択することができる。ユーザは、第２デバイス１２０へ送信されるべきファイル又はメッセージを選択することができる。
【００２２】
[0028]  第１デバイス１１０上のＳＣＳ１１２は、送信のために利用する送信ハードウェアを決定することができる（ステップ２２０）。様々な実施態様において、第１デバイス１１０と第２デバイス１２０はそれぞれ、１種類のみの送信ハードウェア、例えば８０２．１１無線チップを有することができ、したがってＳＣＳ１１２は、データを送信するために８０２．１１無線チップを選択することができる。しかしながら、様々な実施態様において、複数の送信経路が、第１デバイス１１０と第２デバイス１２０間において利用可能であってよい。例えば、第１デバイス１１０と第２デバイス１２０はそれぞれ、８０２．１１無線チップ及びＢｌｕｅｔｏｏｔｈ（登録商標）チップを備えることができる。様々な実施態様において、ＳＣＳ１１２は、最も高速な送信経路を決定することができ、データを送信するために当該最も高速な送信経路を選択することができる。様々な実施態様において、送信経路は、デフォルトの設定によって選択されることができる。例えば、ＳＣＳ１１２は、利用可能な場合は常に８０２．１１無線経路を送信のために選択することができ、そしてもし８０２．１１無線経路が利用可能でないなら、ＳＣＳ１１２は、Ｂｌｕｅｔｏｏｔｈ（登録商標）経路を選択することができる。しかしながら、様々な実施態様において、第１デバイス１１０上のＳＣＳ１１２は、利用可能な各送信経路を介して第２デバイス１２０へスピードテストメッセージを送信することができ、そしてＳＣＳ１１２は、スピードテストの結果に基づいて最も高速な送信経路を選択することができる。
【００２３】
[0029]  様々な実施態様において、ＳＣＳ１１２は、複数の送信経路を介して第２デバイス１２０へデータを送るよう第１デバイス１１０に命令することができる。メッセージは複数のパケットに分割されることができる。ＳＣＳ１１２は、利用可能な送信経路を分析して、メッセージ全体の送信を促進するために複数の送信経路を介してメッセージを送ることができる。例えば、ＳＣＳ１１２は、メッセージを送信する最速の方法はパケットのうちの９０％を８０２．１１無線経路で送信し、パケットのうちの１０％をＢｌｕｅｔｏｏｔｈ（登録商標）経路で送信することであり得ると判断するかもしれない。ＳＣＳ１１２は、８０２．１１無線を介してであろうとＢｌｕｅｔｏｏｔｈ（登録商標）を介してであろうと、第２デバイス１２０へ送信されようとしている各パケットにＳＣＰヘッダを取り付けることができる。こうして第２デバイス１２０上のＳＣＳ１２２は、パケットをＳＣＰによって受信されたものであると認識することができ、ＳＣＳ１２２は、メッセージ全体を再生成するためにパケットを再構築することができる。様々な実施態様において、ＳＣＳ１１２は、最も高速な送信方法を選択するために、限定ではないが、複数の８０２．１１無線チップ、Ｂｌｕｅｔｏｏｔｈ（登録商標）チップ、ＮＦＣ、ＰＤＱ、又は任意の他の送信経路を含む、利用可能な全ての送信経路を分析することができる。第１デバイス１１０上のＳＣＳは、ファイル送信プロトコルを起動して、データを第２デバイス１２０へ送信することができる（ステップ２３０）。
【００２４】
[0030]  様々な実施態様において、第１デバイス１１０と第２デバイス１２０は、同一のローカルネットワークに接続されることができる。第１デバイス１１０は、ＱＲコードなどのリンクを、携帯電話ネットワーク又はローカルネットワークを介して第２デバイス１２０へ送信することができる。様々な実施態様において、リンクは１０ｋｂ以下のデータを含むことができる。第２デバイス１２０は、そのリンクを使用して、ファイルの転送を要求し又は受け入れることができる。第１デバイス１１０は、ローカルネットワークを介してファイルを送信することができる。様々な実施態様において、ファイルは、ＴＣＰ／ＩＰを用いて、ローカルネットワークを介して直接的に転送されることができる。
【００２５】
[0031]  様々な実施態様において、第２デバイス１２０は、インターネット接続へのアクセスを有することができる。第１デバイス１１０は、携帯電話の送信経路を介してリンクを第２デバイス１２０へ送信することができ、第２デバイス１２０は、そのリンクを使用して、クラウド上及び／又はサーバ上に格納されているファイルをインターネットを介してダウンロードすることができる。様々な実施態様において、第２デバイス１２０は、ＴＣＰ／ＩＰを用いてファイルをダウンロードすることができる。
【００２６】
[0032]  様々な実施態様において、第１デバイス１１０は、そのコンテンツをクラウドデータベースと同期させることができる。様々な実施態様において、第１デバイス１１０は、ＳＣＳフォルダを備えることができ、ＳＣＳフォルダに格納されたファイルだけが、データベースと同期されることができる。第１デバイス１１０は、データベース上に格納されたファイルを識別するリンクを、携帯電話の送信経路を介して第２デバイス１２０へ送信することができる。様々な実施態様において、第２デバイス１２０は、そのリンクを受信した時点では８０２．１１無線ネットワークへのアクセスを有しないかもしれない。第２デバイス１２０は、携帯電話のデータ課金を回避するために、８０２．１１無線ネットワークへのアクセスを取得した時には当該リンクを使用してファイルにアクセスすることができる。様々な実施態様において、第２デバイス１２０は、当該リンクを使用して、携帯電話ネットワークを介してファイルにアクセスすることができる。様々な実施態様において、第２デバイス１２０は、携帯電話ネットワーク又は８０２．１１無線ネットワークのいずれかを介して、ファイルの全て又は一部をストリーミングすることができる。
【００２７】
[0033]  様々な実施態様において、第１デバイス１１０は、オンラインフォルダを第２
デバイス１２０と共有することができる。第１デバイス１１０は、第２デバイス１２０がオンラインフォルダへのアクセスを有することを示すことができる。第１デバイス１１０は、第１デバイス１１０上に格納されたファイルをオンラインフォルダにアップロードするために、オンラインフォルダと同期することができる。第２デバイス１２０は、オンラインフォルダに格納されたファイルを第２デバイス１２０にダウンロードするために、オンラインフォルダと同期することができる。
【００２８】
[0034]  図３を参照すると、ファイル送信プロトコルのための処理３００が、様々な実施態様に従って示されている。第１デバイス１１０は、第２デバイス１２０との接続を確立する要求を送信することができる（ステップ３１０）。様々な実施態様において、接続はＴＣＰ接続を含むことができる。しかしながら、様々な実施態様において、接続は、デバイス間でデータを送信するための任意の種類の接続を含むことができる。第２デバイス１２０は、接続要求を受け入れることができる（ステップ３２０）。様々な実施態様において、接続は、第１デバイス１１０及び第２デバイス１２０上のセキュアソケット間であってよい。
【００２９】
[0035]  様々な実施態様において、第１デバイス１１０は、暗号ブックを含むメッセージを第２デバイス１２０へ送信することができる（ステップ３３０）。暗号ブックは、ワンタイム暗号のリストを含むことができ、第２デバイス１２０がセキュアソケット接続を介して第２デバイス１２０へ送られたデータをワンタイム暗号を用いて解読することを可能にすることができる。様々な実施態様において、第１デバイス１１０は、Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（「ＡＥＳ」）又はＲＳＡ暗号などの既知の暗号化方法を用いて、暗号ブックを含むメッセージを暗号化することができる。しかしながら、転送セッション中における後続のメッセージは、暗号ブックに収容されているワンタイム暗号を用いて暗号化されることができる。ワンタイム暗号を用いて暗号化されたメッセージは、ＡＥＳ又はＲＳＡで暗号化されたメッセージよりも格段に少ない処理パワーと処理時間を使って暗号化及び解読されることができる。加えて、ワンタイム暗号を用いて送られたメッセージは、暗号ブックを収容していない相手には解読不能であろう。
【００３０】
[0036]  第１デバイス１１０は、ファイル転送要求を送ることができる（ステップ３４０）。ファイル転送要求の一例については、図５を参照されたい。第２デバイス１２０は、ファイル転送要求を受け入れることができる（ステップ３５０）。第２デバイス１２０がファイル転送要求を受け入れることに応答して、第１デバイス１１０は、ファイルをセグメントに分割し、当該セグメントを第２デバイス１２０へ送信し始めることができる（ステップ３６０）。第１デバイス１１０がファイルの全セグメントを送信した後、第１デバイスは、第２デバイス１２０が全セグメントを受信したことの確認を待つことができる。第２デバイス１２０は、全セグメントが受信されたことを示す確認メッセージを第１デバイス１１０へ送信することができる（ステップ３７０）。第２デバイス１２０は、ファイルを再生成するために、ＳＣＰに従ってセグメントを解読して再構築することができる（ステップ３８０）。
【００３１】
[0037]  図４を参照すると、発見プロトコル４００の一例が、様々な実施態様に従って示されている。発見プロトコル４００は、ＴＣＰ／ＵＤＰを用いてトランスポート層の上に実装されることができる。しかしながら、様々な実施態様において、発見プロトコルは、Ｂｌｕｅｔｏｏｔｈ（登録商標）シリアルポート、ＲＳ−２３２を用いて実装されることができ、又は、データグラム若しくはＷｉｎｄｏｗｓ（登録商標）  Ｓｏｃｋｅｔ  ＡＰＩ（「ＷＳＡ」）を介して全体的に送られることができる。図示された実施態様におけるＬｏｃａｌＣｌｉｅｎｔは、デバイス名、ユーザ名、プレビューイメージ、及びエンドポイント（このケースではＩＰアドレスとポート）などの、デバイスの識別特性が記述された（図５において定義された）ＩＤｉｓｃｏｖｅｒｅｄＣｌｉｅｎｔのクラスの新たなインスタンスであり得る。第１デバイス１１０は、ブロードキャストメッセージのための新しいソケットをオープンすることができる（４１０）。第１デバイス１１０は、ブロードキャストメッセージに対する応答をリッスンしているＩＰアドレスを送信することができる（４２０）。第１デバイス１１０は、応答メッセージをリッスンするための新しいデータグラムソケットをオープンすることができる（４３０）。応答メッセージを受信した後、第１デバイス１１０は、当該応答メッセージを第１デバイス１１０が送った元のＩＤｉｓｃｏｖｅｒｅｄＣｌｉｅｎｔメッセージに解読することができる（４４０）。
【００３２】
[0038]  図５を参照すると、例示的な発見プロトコルについての定義５００が、様々な実施態様に従って示されている。当該定義は、送信デバイスと受信デバイスによって実装されることのできるＩＤｉｓｃｏｖｅｒｅｄＣｌｉｅｎｔと呼ばれる単一の共通クラスであってよい。様々な実施態様において、当該定義は、カスタムのフィールドとユーザが所望する任意の他の情報を含むように拡張されることができる。様々な実施態様において、当該定義は、デバイスの名前（５１０）、デバイスのＩＰアドレス（５２０）、デバイスの所有者（５３０）、デバイスのエンドポイント（５４０）、及びデバイスが発見されたトランスポート層（５５０）を含むことができる。しかしながら、当業者は、使用される特定のフィールドは任意の所望されるフィールドに変更されることができるということを理解するだろう。
【００３３】
[0039]  図６を参照すると、例示的なファイル転送要求プロトコルについての定義６００が、様々な実施態様に従って示されている。当該定義は、「ＩＦｉｌｅＴｒａｎｓｆｅｒＲｅｑｕｅｓｔ」と呼ばれることができる。様々な実施態様において、当該定義は、ファイルを送信するデバイスの名前（６１０）、送られるファイル名（６２０）、ファイルのサイズ（６３０）、ファイルを受信するデバイス（６４０）、ファイル転送のための一意識別子（６５０）、及びファイル転送に関連するトランスポート層（６６０）を含むことができる。
【００３４】
[0040]  図７を参照すると、ファイル転送要求に対する応答についての定義７００が、様々な実施態様に従って示されている。受信デバイスは、ファイル転送を受け入れる用意があることを示すためのＩＦｉｌｅＴｒａｎｓｆｅｒＲｅｓｐｏｎｓｅと呼ばれる定義を用いて応答することができる。様々な実施態様において、ＩＦｉｌｅＴｒａｎｓｆｅｒＲｅｓｐｏｎｓｅは、ユーザからの応答（７１０）とファイル転送のための一意識別子（７２０）を含むことができる。送信デバイスは、受信デバイスからの応答を受信することができ、ファイルを受信デバイスへ送信することを進めることができる。一旦完全なファイル転送が行われると、受信デバイスは、送信デバイスへの確認（７３０）を送信することができる。
【００３５】
[0041]  様々な実施態様において、本明細書で説明される方法は、本明細書で説明される様々な特定の機械を用いて実施される。本明細書で説明される方法は、当業者によって直ちに理解されるように、以下の特定の機械及び今後開発されるものを用いて、任意の適切な組み合わせの形で実施されることができる。更に、この開示から明らかなように、本明細書で説明される方法は、ある品目の様々な変形をもたらすことができる。
【００３６】
[0042]  簡潔さの目的のために、通常のデータネットワーキング、アプリケーション開発、及びシステムの他の機能的側面（及びシステムの個々の動作部品）は、本明細書では詳細には説明されないかもしれない。更にまた、本明細書に含まれる様々な図に示された接続線は、様々な要素間の例示の機能的関係及び／又は物理的結合を表すように意図されている。実際のシステムには、多くの代替的若しくは付加的な機能的関係又は物理的接続が存在し得る、ということが留意されるべきである。
【００３７】
[0043]  本明細書において論じられる様々なシステムコンポーネントは、以下のうちの１又は複数を含むことができる：デジタルデータを処理するためのプロセッサを含むホストサーバ又は他のコンピューティングシステム；デジタルデータを格納するためにプロセッサに結合されたメモリ；デジタルデータを入力するためにプロセッサに結合された入力デジタイザ；プロセッサによるデジタルデータの処理を指示するためにメモリに格納されプロセッサによってアクセス可能なアプリケーションプログラム；プロセッサによって処理されたデジタルデータから導き出される情報を表示するためにプロセッサとメモリに結合されたディスプレイデバイス；及び複数のデータベース。本明細書において用いられるデータベースは、顧客データ、商人データ、金融機関データ、及び／又はシステムの動作において有用な同様のデータを含むことができる。当業者が理解するように、ユーザコンピュータは、オペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ  ＮＴ、Ｗｉｎｄｏｗｓ  ９５／９８／２０００、Ｗｉｎｄｏｗｓ  ＸＰ、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ７、ＯＳ２、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｓｏｌａｒｉｓ、ＭａｃＯＳ等）に加えて、典型的にコンピュータに関連する様々な通常の支援ソフトウェアとドライバを含むことができる。
【００３８】
[0044]  ネットワークは、ハードウェア及び／又はソフトウェアコンポーネントを組み込んだ任意のクラウド、クラウドコンピューティングシステム、又は電子通信システム若しくは方法を含むことができる。パーティー間の通信は、任意の適切な通信チャンネル、例えば、電話ネットワーク、エクストラネット、イントラネット、インターネット、ポイントオブインタラクションデバイス（店頭デバイス）、携帯情報端末（例えば、ｉＰｈｏｎｅ（登録商標）、Ｐａｌｍ  Ｐｉｌｏｔ（登録商標）、Ｂｌａｃｋｂｅｒｒｙ（登録商標）、携帯電話、キオスク等）、オンライン通信、衛星通信、オフライン通信、無線通信、トランスポンダ通信、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、仮想プライベートネットワーク（ＶＰＮ）、ネットワーク対応若しくはリンクされたデバイス、キーボード、マウス、及び／又は任意の適切な通信若しくはデータ入力様式、などを通じて達成されることができる。更にまた、システムは、ＴＣＰ／ＩＰ通信プロトコルを用いて実装されているものとして本明細書においてしばしば説明されるが、ＩＰＸ、Ａｐｐｌｅｔａｌｋ、ＩＰ−６、ＮｅｔＢＩＯＳ、ＯＳＩ、任意のトンネリングプロトコル（例えば、ＩＰｓｅｃ、ＳＳＨ）、又はいくつもの既存の若しくは将来のプロトコルを用いて実装されることもできる。もしネットワークがインターネットのような公衆ネットワークの特質を持っているなら、そのネットワークは安全でなく、盗聴者に晒されていると推定するのが有利であろう。インターネットに関連して利用されるプロトコル、規格、及びアプリケーションソフトウェアに関する具体的な情報は当業者に広く知られており、そのため本明細書において詳述される必要はない。例えば、ＤＩＬＩＰ  ＮＡＩＫ、ＩＮＴＥＲＮＥＴ  ＳＴＡＮＤＡＲＤＳ  ＡＮＤ  ＰＲＯＴＯＣＯＬＳ（１９９８）；ＪＡＶＡ  ２  ＣＯＭＰＬＥＴＥ、著者多数、（Ｓｙｂｅｘ  １９９９）；ＤＥＢＯＲＡＨ  ＲＡＹ  ＡＮＤ  ＥＲＩＣ  ＲＡＹ、ＭＡＳＴＥＲＩＮＧ  ＨＴＭＬ  ４．０（１９９７）；並びにＬＯＳＨＩＮ、ＴＣＰ／ＩＰ  ＣＬＥＡＲＬＹ  ＥＸＰＬＡＩＮＥＤ（１９９７）及びＤＡＶＩＤ  ＧＯＵＲＬＥＹ  ＡＮＤ  ＢＲＩＡＮ  ＴＯＴＴＹ、ＨＴＴＰ、ＴＨＥ  ＤＥＦＩＮＩＴＩＶＥ  ＧＵＩＤＥ（２００２）を参照されたい。これらの内容は、これによって参照により組み込まれる。
【００３９】
[0045]  様々なシステムコンポーネントが独立的に、個別的に、又は集合的に、データリンクを介してネットワークに適切に結合されることができ、そのネットワークは、例えば、通常のモデム通信、ケーブルモデム、パラボラアンテナネットワーク、ＩＳＤＮ、デジタル加入者線（ＤＳＬ）、又は様々な無線通信方法に関連して典型的に用いられるようなローカルループを介したインターネットサービスプロバイダ（ＩＳＰ）への接続を含む。例えば、ＧＩＬＢＥＲＴ  ＨＥＬＤ、ＵＮＤＥＲＳＴＡＮＤＩＮＧ  ＤＡＴＡ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ（１９９６）を参照されたい。それは、これによって参照により組み込まれる。ネットワークは、インタラクティブテレビジョン（ＩＴＶ）ネットワークなどの他の種類のネットワークとして実装されることができる、ということが留意される。更にまた、システムは、本明細書において説明された類似の機能性を有する任意のネットワークを介した任意の商品、サービス、若しくは情報の使用、販売、又は配布を予期する。
【００４０】
[0046]  本明細書において論じられたいずれの通信、送信、及び／又はチャンネルも、コンテンツ（例えば、データ、情報、メタデータ等）を届けるための任意のシステム若しくは方法、及び／又はコンテンツそれ自体を含むことができる。コンテンツは任意の形態又は媒体で提示されることができ、様々な実施態様において、コンテンツは電子的に届けられることができ、及び／又は電子的に提示される能力を有することができる。例えば、チャンネルは、ウェブサイト、ユニフォームリソースロケータ（「ＵＲＬ」）、文書（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ文書、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ文書、Ａｄｏｂｅ  ．ｐｄｆ文書等）、「電子書籍」、「電子雑誌」、アプリケーション若しくは（後述されるような）マイクロアプリケーション、ＳＭＳ若しくは他の種類のテキストメッセージ、電子メール、ｆａｃｅｂｏｏｋ、ｔｗｉｔｔｅｒ、ＭＭＳ、及び／又は他の種類の通信技術を含むことができる。様々な実施態様において、チャンネルは、データパートナーによってホストされ又は提供されることができる。様々な実施態様において、配信チャンネルは、商人ウェブサイト、ソーシャルメディアウェブサイト、アフィリエイト若しくはパートナーウェブサイト、外部業者、モバイルデバイス通信、ソーシャルメディアネットワーク、及び／又は位置ベースのサービスのうちの少なくとも１つを含むことができる。配信チャンネルは、商人ウェブサイト、ソーシャルメディアサイト、アフィリエイト若しくはパートナーウェブサイト、外部業者、及びモバイルデバイス通信のうちの少なくとも１つを含むことができる。ソーシャルメディアサイトの例は、Ｆａｃｅｂｏｏｋ（登録商標）、ｆｏｕｒｓｑｕａｒｅ（登録商標）、Ｔｗｉｔｔｅｒ（登録商標）、ＭｙＳｐａｃｅ（登録商標）、ＬｉｎｋｅｄＩｎ（登録商標）等を含む。更にまた、モバイルデバイス通信の例は、スマートフォン向けのテキストメッセージ、電子メール、及びモバイルアプリケーションを含む。
【００４１】
[0047]  本システム又はその任意の一部若しくは機能は、ハードウェア、ソフトウェア、又はそれらの組み合わせを用いて実装されることができ、また、１又は複数のコンピュータシステム若しくは他の処理システムにおいて実装されることができる。しかしながら、実施態様によって行われる操作は、照合や選択といったような、一般に人間の行為者によって行われる精神的動作に関連する用語でしばしば言及された。人間の行為者のそのような能力は、本明細書で説明された動作のいずれにおいても、ほとんどの場合、何ら必要でなく、望ましくない。そうではなく、動作は機械の動作であり得る。様々な実施態様を行うための有用な機械は、汎用デジタルコンピュータ又は類似のデバイスを含む。
【００４２】
[0048]  実際のところ、様々な実施態様において、実施態様は、本明細書で説明された機能性を実行する能力を持つ１又は複数のコンピュータシステムに向けられている。コンピュータシステムは、１又は複数のプロセッサを含む。プロセッサは、通信基礎構造（例えば、通信バス、クロスオーバーバー（cross over bar）又はネットワーク）に接続される。様々なソフトウェアの実施態様は、この例示的なコンピュータシステムの観点で説明される。この説明を読んだ後に、関連分野の当業者には、他のコンピュータシステム及び／又はアーキテクチャを用いてどのように様々な実施態様を実装するかが明らかとなるだろう。コンピュータシステムは、グラフィックス、テキスト、及び他のデータをディスプレイユニット上における表示のために通信基礎構造から（又は不図示のフレームバッファから）転送するディスプレイインターフェイスを含むことが可能である。
【００４３】
[0049]  コンピュータシステムはまた、例えばランダムアクセスメモリ（ＲＡＭ）など
のメインメモリを含み、二次メモリを含むこともできる。二次メモリは、例えば、ハードディスクドライブ、及び／又は、フロッピィディスクドライブ、磁気テープドライブ、光ディスクドライブ等を代表するリムーバブルストレージドライブを含むことができる。リムーバブルストレージドライブは、周知の方法でリムーバブルストレージユニットから読み出し、及び／又はリムーバブルストレージユニットへ書き込む。リムーバブルストレージユニットは、リムーバブルストレージドライブによって読み出され、書き込まれるフロッピィディスク、磁気テープ、光ディスク等を表す。理解されるように、リムーバブルストレージユニットは、コンピュータソフトウェア及び／又はデータを格納したコンピュータ使用可能記憶媒体を含む。
【００４４】
[0050]  様々な実施態様において、二次メモリは、コンピュータプログラム又は他の命令がコンピュータシステムにロードされるようにするための他の類似のデバイスを含むことができる。そのようなデバイスは、例えば、リムーバブルストレージユニット及びインターフェイスを含むことができる。そのようなものの例は、（ビデオゲームデバイスにおいて見られるものなどの）プログラムカートリッジ及びカートリッジインターフェイス、（消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）又はプログラマブルリードオンリメモリ（ＰＲＯＭ）などの）リムーバブルメモリチップ及び付随ソケット、並びに他のリムーバブルストレージユニット及びインターフェイスを含むことができ、それらは、ソフトウェアとデータがリムーバブルストレージユニットからコンピュータシステムへ転送されることを可能にする。
【００４５】
[0051]  コンピュータシステムはまた、通信インターフェイスを含むことができる。通信インターフェイスは、ソフトウェアとデータがコンピュータシステムと外部デバイスとの間で転送されることを可能にする。通信インターフェイスの例は、モデム、（イーサネット（登録商標）カードなどの）ネットワークインターフェイス、通信ポート、パーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）スロット及びカード等を含むことができる。通信インターフェイスを介して転送されるソフトウェアとデータは、通信インターフェイスによって受信される能力を有した電子的、電磁的、光学的、又は他の信号であり得る信号の形態である。これらの信号は、通信経路（例えばチャンネル）を介して通信インターフェイスへ供給される。このチャンネルは信号を搬送し、ワイヤ、ケーブル、光ファイバ、電話線、携帯電話リンク、ラジオ周波数（ＲＦ）リンク、無線、及び他の通信チャンネルを用いて実装されることができる。
【００４６】
[0052]  「コンピュータプログラム媒体」及び「コンピュータ使用可能媒体」という用語は、リムーバブルストレージドライブ及びハードディスクドライブに装備されたハードディスクなどの媒体を全体として意味するために用いられる。これらのコンピュータプログラム製品は、コンピュータシステムにソフトウェアを提供する。
【００４７】
[0053]  （コンピュータ制御ロジックとも称される）コンピュータプログラムは、メインメモリ及び／又は二次メモリに格納される。コンピュータプログラムはまた、通信インターフェイスを介して受け取られることもできる。そのようなコンピュータプログラムは、実行されると、コンピュータシステムが本明細書において論じられたような特徴を実施することを可能にする。特に、コンピュータプログラムは、実行されると、プロセッサが様々な実施態様の特徴を実施することを可能にする。したがって、そのようなコンピュータプログラムは、コンピュータシステムの制御装置を表す。
【００４８】
[0054]  様々な実施態様において、ソフトウェアは、コンピュータプログラム製品に格納され、リムーバブルストレージドライブ、ハードディスクドライブ、又は通信インターフェイスを用いてコンピュータシステムにロードされることができる。制御ロジック（ソフトウェア）は、プロセッサによって実行されると、プロセッサに、本明細書において説
明されたような様々な実施態様の機能を実施させる。様々な実施態様において、特定用途向け集積回路（ＡＳＩＣ）などのハードウェアコンポーネント。本明細書において説明された機能を実施するためのハードウェア状態機械の実装は、関連分野の当業者には明らかであるだろう。
【００４９】
[0055]  様々な実施態様において、サーバは、アプリケーションサーバ（例えば、ＷＥＢ  ＳＰＨＥＲＥ、ＷＥＢ  ＬＯＧＩＣ、ＪＢＯＳＳ）を含むことができる。様々な実施態様において、サーバは、ウェブサーバ（例えば、ＡＰＡＣＨＥ、ＩＩＳ、ＧＷＳ、ＳＵＮ  ＪＡＶＡ  ＳＹＳＴＥＭ  ＷＥＢ  ＳＥＲＶＥＲ）を含むことができる。
【００５０】
[0056]  当業者は理解するように、デバイスは、限定ではないが、オペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ  ＮＴ、９５／９８／２０００／ＣＥ／Ｍｏｂｉｌｅ、ＯＳ２、ＵＮＩＸ、Ｌｉｎｕｘ、Ｓｏｌａｒｉｓ、ＭａｃＯＳ、ＰａｌｍＯＳ等）だけでなく、コンピュータに典型的に関連した様々な通常のサポートソフトウェア及びドライバを含むことができる。デバイスは、限定ではないが、任意の適切なパーソナルコンピュータ、ネットワークコンピュータ、ワークステーション、携帯情報端末、携帯電話、スマートフォン、ミニコンピュータ、メインフレーム等を含むことができる。デバイスは、ネットワークへのアクセスを備えたホーム又はビジネス環境に存在することが可能である。様々な実施態様において、アクセスは、商業的に利用可能なウェブブラウザソフトウェアパッケージを通じてネットワーク又はインターネットを介する。デバイスは、セキュアソケットレイヤ（ＳＳＬ）及びトランスポート層セキュリティなどのセキュリティプロトコルを実装することができる。デバイスは、ｈｔｔｐ、ｈｔｔｐｓ、ｆｔｐ、及びｓｆｔｐを含むいくつかのアプリケーション層プロトコルを実装することができる。
【００５１】
[0057]  様々な実施態様において、システム１００のコンポーネント、モジュール、及び／又はエンジンは、マイクロアプリケーション又はマイクロアプリとして実装されることができる。マイクロアプリは、典型的には、例えばＰａｌｍモバイルオペレーティングシステム、Ｗｉｎｄｏｗｓモバイルオペレーティングシステム、Ａｎｄｒｏｉｄオペレーティングシステム、Ａｐｐｌｅ  ｉＯＳ、Ｂｌａｃｋｂｅｒｒｙオペレーティングシステム等を含む、モバイルオペレーティングシステムの文脈において展開される。マイクロアプリは、様々なオペレーティングシステム及びハードウェアリソースの動作を支配する一組の予め決められた規則を通じて、より大きなオペレーティングシステム及び関連ハードウェアのリソースを活用するように構成されることができる。例えば、マイクロアプリがモバイルデバイス又はモバイルオペレーティングシステム以外のデバイス又はネットワークと通信することを望む場合、マイクロアプリは、モバイルオペレーティングシステムの予め決められた規則の下で、オペレーティングシステム及び関連するデバイスハードウェアの通信プロトコルを活用することができる。更にまた、マイクロアプリがユーザからの入力を所望する場合、マイクロアプリは、様々なハードウェアコンポーネントを監視してハードウェアからの検出された入力をマイクロアプリへ通信するオペレーティングシステムから、応答を要求するように構成されることができる。
【００５２】
[0058]  「クラウド」又は「クラウドコンピューティング」は、設定変更可能なコンピューティングリソース（例えば、ネットワーク、サーバ、ストレージ、アプリケーション、及びサービス）の共有プールへの便利でオンデマンドのネットワークアクセスを可能にするためのモデルを含み、このモデルは、最小限の管理努力又はサービスプロバイダとのやり取りで迅速に提供及びリリースされることが可能である。クラウドコンピューティングは、共有サーバがリソース、ソフトウェア、及びデータをオンデマンドでコンピュータ及び他のデバイスへ提供する、場所に依存しないコンピューティングを含むことができる。クラウドコンピューティングに関する更なる情報については、ＮＩＳＴ（米国国立標準技術研究所）によるクラウドコンピューティングの定義をhttp://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-vl5.doc（最終訪問２０１１年２月４日）において参照されたい。それは、これによって全体として参照により組み込まれる。
【００５３】
[0059]  本明細書において用いられるとおり、「送信する」は、電子データを１つのシステムコンポーネントからほかへ送ることを含むことができる。加えて、本明細書において用いられるとおり、「データ」は、コマンド、クエリ、ファイル、記憶用データ等のような情報をデジタル又は任意の他の形式に包含することを含むことができる。
【００５４】
[0060]  システムは、ウェブサービス、ユーティリティコンピューティング、パーベイシブ及び個人化されたコンピューティング、セキュリティ及びアイデンティティソリューション、自動コンピューティング、クラウドコンピューティング、コモディティコンピューティング、移動及び無線ソリューション、オープンソース、バイオメトリクス、グリッドコンピューティング、及び／又はメッシュコンピューティングと関連した使用を予期する。
【００５５】
[0061]  本明細書において論じられたいずれのデータベースも、リレーショナル、階層型、グラフィカル、若しくはオブジェクト指向構造、及び／又は任意の他のデータベース構成を含むことができる。データベースを実装するのに用いられることができるよく知られたデータベース製品は、ＩＢＭ（ニューヨーク州アーモンク）によるＤＢ２、Ｏｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎ（カリフォルニア州レッドウッドショアーズ）から入手可能な様々なデータベース製品、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（ワシントン州レッドモンド）によるＭｉｃｒｏｓｏｆｔ  Ａｃｃｅｓｓ若しくはＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ、ＭｙＳＱＬ  ＡＢ（スウェーデン、ウプサラ）によるＭｙＳＱＬ、又は任意の他の適切なデータベース製品を含む。更にまた、データベースは、任意の適切な方法で、例えば、データテーブル又はルックアップテーブルとして、編成されることができる。各レコードは、単一のファイル、一連のファイル、リンク付けされた一連のデータフィールド、又は任意の他のデータ構造であってよい。あるデータの関連付けは、当該分野において知られ、又は実践されているものなど、任意の望ましいデータ関連付け手法を通じて達成されることができる。例えば、関連付けは、手動又は自動で達成されることができる。自動関連付け手法は、例えば、データベース検索、データベースマージ、ＧＲＥＰ、ＡＧＲＥＰ、ＳＱＬ、検索を高速化するためにテーブル内でキーフィールドを使用すること、全テーブル及びファイルにわたる逐次検索、ルックアップを単純化するためにファイル内のレコードを既知の順序に従ってソートすること等を含むことができる。関連付けのステップは、データベースマージ機能によって、例えば予め選択されたデータベース又はデータセクタ内の「キーフィールド」を用いて達成されることができる。データベースの性能を最適化するために、様々なデータベース調整ステップが予期される。例えば、インデックスなどのよく使用されるファイルは、入出力（「Ｉ／Ｏ」）ボトルネックを低減するために別個のファイルシステム上に配置されることができる。
【００５６】
[0062]  当業者はまた、セキュリティ上の理由で、いずれのデータベース、システム、デバイス、サーバ、又はシステムの他のコンポーネントも、単一の場所又は複数の場所においてそれらの任意の組み合わせから構成されることができ、各データベース又はシステムは、ファイアウォール、アクセスコード、暗号化、暗号解読、圧縮、解凍等のような様々な適切なセキュリティ機構のいずれをも含む、ということを理解するだろう。
【００５７】
[0063]  暗号化は、現在当該分野において利用可能な手法又は利用可能になるであろう手法―例えば、Ｔｗｏｆｉｓｈ、ＲＳＡ、Ｅｌ  Ｇａｍａｌ、Ｓｃｈｏｒｒ署名、ＤＳＡ、ＰＧＰ、ＰＫＩ、ＧＰＧ（ＧｎｕＰＧ）、並びに対称及び非対称暗号システムのいずれかによって実施されることができる。
【００５８】
[0064]  デバイスのコンピューティングユニットは更に、通常のダイアルアップ、ケーブル、ＤＳＬ、若しくは当該分野において知られた任意の他のインターネットプロトコルを用いてインターネット又はイントラネットに接続されたインターネットブラウザを装備されることができる。デバイスから発するトランザクションは、他のネットワークのユーザからの不正アクセスを阻止するためにファイアウォールを通過することができる。更に、付加的なファイアウォールが、セキュリティを一層強化するためにシステムの異なるコンポーネント間に配備されることができる。
【００５９】
[0065]  ファイアウォールは、ＡＣＳコンポーネント及び／又は企業のコンピューティングリソースを他のネットワークのユーザから保護するように適切に構成された任意のハードウェア及び／又はソフトウェアを含むことができる。更に、ファイアウォールは、ウェブサーバを通じて接続するデバイスにとってファイアウォールの向こうにある様々なシステム及びコンポーネントへのアクセスを限定又は制限するように構成されることができる。ファイアウォールは、数ある中でも、ステートフルインスペクション、プロキシベース、アクセス制御リスト、及びパケットフィルタリングを含む様々な構成に存在することができる。ファイアウォールは、ウェブサーバ若しくは任意の他のＡＣＳコンポーネント内に統合されることができ、又は更に、別個のエンティティとして存在することができる。ファイアウォールは、ネットワークアドレス変換（「ＮＡＴ」）及び／又はネットワークアドレスポート（「ＮＡＰＴ」）を実装することができる。ファイアウォールは、仮想プライベートネットワーキングにおいて用いられるもののような、セキュアな通信を容易化するための様々なトンネリングプロトコルに対応することができる。ファイアウォールは、インターネットなどの公衆ネットワークとの通信を容易化するための非武装地帯（「ＤＭＺ」）を実装することができる。ファイアウォールは、インターネットサーバ若しくは任意の他のアプリケーションサーバコンポーネント内のソフトウェアとして統合されることができ、又は別のコンピューティングデバイス内に存在することができ、又はスタンドアロンのハードウェアコンポーネントの形態をとることができる。
【００６０】
[0066]  本明細書において論じられたコンピュータは、ユーザによってアクセス可能な適切なウェブサイト又は他のインターネットベースのグラフィカルユーザインターフェイスを提供することができる。様々な実施態様において、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｅｒ（ＩＩＳ）、Ｍｉｃｒｏｓｏｆｔ  Ｔｒａｎｓａｃｔｉｏｎ  Ｓｅｒｖｅｒ（ＭＴＳ）、及びＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒが、Ｍｉｃｒｏｓｏｆｔオペレーティングシステム、Ｍｉｃｒｏｓｏｆｔ  ＮＴウェブサーバソフトウェア、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒデータベースシステム、及びＭｉｃｒｏｓｏｆｔ  Ｃｏｍｍｅｒｃｅ  Ｓｅｒｖｅｒと連携して使用される。加えて、Ａｃｃｅｓｓ若しくはＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ、Ｏｒａｃｌｅ、Ｓｙｂａｓｅ、Ｉｎｆｏｒｍｉｘ  ＭｙＳＱＬ、Ｉｎｔｅｒｂａｓｅ等のようなコンポーネントが、アクティブデータオブジェクト（ＡＤＯ）準拠データベース管理システムを提供するために使用されることができる。様々な実施態様において、Ａｐａｃｈｅウェブサーバが、Ｌｉｎｕｘオペレーティングシステム、ＭｙＳＱＬデータベース、並びにＰｅｒｌ、ＰＨＰ、及び／又はＰｙｔｈｏｎプログラミング言語と共に使用される。
【００６１】
[0067]  本明細書において論じられた通信、入力、ストレージ、データベース、又は表示のいずれもが、ウェブページを有するウェブサイトにわたって容易化されることができる。本明細書において用いられるような「ウェブページ」という用語は、ユーザとインタラクトするのに用いられることのできる文書及びアプリケーションの種類を限定するようには意図されない。例えば、典型的なウェブサイトは、標準的なＨＴＭＬ文書に加えて、様々な形式、Ｊａｖａ（登録商標）アプレット、ＪａｖａＳｃｒｉｐｔ（登録商標）、アクティブサーバページ（ＡＳＰ）、コモンゲートウェイインターフェイススクリプト（ＣＧＩ）、拡張マークアップ言語（ＸＭＬ）、ダイナミックＨＴＭＬ、カスケーディングスタイルシート
（ＣＳＳ）、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｊａｖａｓｃｒｉｐｔ  Ａｎｄ  ＸＭＬ）、ヘルパーアプリケーション、プラグイン等を含むかもしれない。サーバは、ＵＲＬ（http://yahoo.com/stockquotes/ge）及びＩＰアドレス（123.56.789.234）を含む要
求をウェブサーバから受け取るウェブサービスを含むことができる。ウェブサーバは、適切なウェブページを取得し、そのウェブページのデータ又はアプリケーションを当該ＩＰアドレスへ送る。ウェブサービスは、インターネットなどの通信手段を介して他のアプリケーションとインタラクトする能力を有するアプリケーションである。ウェブサービスは、典型的に、ＸＭＬ、ＳＯＡＰ、ＡＪＡＸ、ＷＳＤＬ、及びＵＤＤＩなどの規格又はプロトコルに基づく。ウェブサービスの方法は当該分野において周知であり、多くの規格書において網羅されている。例えば、ＡＬＥＸ  ＮＧＨＩＥＭ、ＩＴ  ＷＥＢ  ＳＥＲＶＩＣＥＳ：  Ａ  ＲＯＡＤＭＡＰ  ＦＯＲ  ＴＨＥ  ＥＮＴＥＲＰＲＩＳＥ（２００３）を参照されたい。それは、これによって参照により組み込まれる。
【００６２】
[0068]  ミドルウェアは、異種コンピューティングシステム間において通信を容易化し及び／又はトランザクションを処理するように適切に構成された任意のハードウェア及び／又はソフトウェアを含むことができる。ミドルウェアコンポーネントは、商業的に入手可能であり、当該分野において既知である。ミドルウェアは、商業的に入手可能なハードウェア及び／又はソフトウェアを通じて、専用のハードウェア及び／又はソフトウェアコンポーネントを通じて、又はそれらの組み合わせを通じて、実装されることができる。ミドルウェアは、様々な構成で存在することができ、スタンドアロンのシステムとして存在してもよいし、あるいはインターネットサーバ上に存在するソフトウェアコンポーネントであってもよい。ミドルウェアは、本明細書において開示された任意の目的のためにアプリケーションサーバの様々なコンポーネントと多数の内部又は外部システムとの間におけるトランザクションを処理するように構成されることができる。ＩＢＭ社（ニューヨーク州アーモンク）によるＷｅｂＳｐｈｅｒｅ  ＭＱＴＭ（以前のＭＱＳｅｒｉｅｓ）は、商業的に入手可能なミドルウェア製品の一例である。エンタープライズサービスバス（「ＥＳＢ」）アプリケーションは、ミドルウェアの別の例である。
【００６３】
[0069]  実務家はまた、ブラウザベースの文書内にデータを表示するための多数の方法があることを理解するだろう。データは、標準的なテキストとして、又は固定のリスト、スクロール可能なリスト、ドロップダウンリスト、編集可能なテキストフィールド、固定のテキストフィールド、ポップアップウィンドウ等の中に、表現されることができる。同様に、ウェブページ内のデータを修正するのに利用可能な、例えばキーボードを用いた自由なテキスト入力、メニューアイテムの選択、チェックボックス、オプションボックス等といった数多くの方法がある。
【００６４】
[0070]  システム及び方法は本明細書において、機能ブロックコンポーネント、スクリーンショット、オプションの選択、及び様々な処理ステップの観点で説明されることができる。そのような機能ブロックは、規定の機能を実施するように構成された数多くのハードウェア及び／又はソフトウェアコンポーネントによって実現されることができる、ということが認識されるべきである。例えば、システムは、１又は複数のマイクロプロセッサ又は他の制御デバイスの制御の下で様々な機能を実行することができる様々な集積回路コンポーネント、例えばメモリエレメント、処理エレメント、論理エレメント、ルックアップテーブル等を利用することができる。同様に、システムのソフトウェアエレメントは、様々なアルゴリズムがデータ構造、オブジェクト、プロセス、ルーチン、又は他のプログラミングエレメントのうちの任意の組み合わせを用いて実装された、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ、ＶＢＳｃｒｉｐｔ、Ｍａｃｒｏｍｅｄｉａ  Ｃｏｌｄ  Ｆｕｓｉｏｎ、ＣＯＢＯＬ、Ｍｉｃｒｏｓｏｆｔ  Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ、アセンブリ、ＰＥＲＬ、ＰＨＰ、ａｗｋ、Ｐｙｔｈｏｎ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、ＳＱＬ  Ｓｔｏｒｅｄ  Ｐｒｏｃｅｄｕｒｅｓ、ＰＬ／ＳＱＬ、任意
のＵＮＩＸシェルスクリプト、及び拡張マークアップ言語（ＸＭＬ）などの任意のプログラミング又はスクリプト言語を用いて実装されることができる。更に、システムは、データ送信、信号伝達、データ処理、ネットワーク制御等のための多数の従来手法を利用することができる、ということが留意されるべきである。更にまた、システムは、ＪａｖａＳｃｒｉｐｔ、ＶＢＳｃｒｉｐｔ等のようなクライアント側のスクリプト言語におけるセキュリティ問題を発見し又は回避するために用いられることができるかもしれない。暗号論及びネットワークセキュリティの基礎的導入については、以下の文献：（１）「Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ：  Ｐｒｏｔｏｃｏｌｓ，  Ａｌｇｏｒｉｔｈｍｓ，  Ａｎｄ  Ｓｏｕｒｃｅ  Ｃｏｄｅ  Ｉｎ  Ｃ」、Ｂｒｕｃｅ  Ｓｃｈｎｅｉｅｒ、発行Ｊｏｈｎ  Ｗｉｌｅｙ  ＆  Ｓｏｎｓ（第２版、１９９５年）；（２）「Ｊａｖａ  Ｃｒｙｐｔｏｇｒａｐｈｙ」、Ｊｏｎａｔｈａｎ  Ｋｎｕｄｓｏｎ、発行Ｏ’Ｒｅｉｌｌｙ  ＆  Ａｓｓｏｃｉａｔｅｓ（１９９８年）；（３）「Ｃｒｙｐｔｏｇｒａｐｈｙ  ＆  Ｎｅｔｗｏｒｋ  Ｓｅｃｕｒｉｔｙ：  Ｐｒｉｎｃｉｐｌｅｓ  ＆  Ｐｒａｃｔｉｃｅ」、Ｗｉｌｌｉａｍ  Ｓｔａｌｌｉｎｇｓ、発行Ｐｒｅｎｔｉｃｅ  Ｈａｌｌ、のいずれかを参照されたい。これらの全ては、これによって参照により組み込まれる。
【００６５】
[0071]  当業者によって理解されるように、システムは、既存のシステムのカスタマイズ、アドオン製品、アップグレードされたソフトウェアを実行する処理装置、スタンドアロンシステム、分散システム、方法、データ処理システム、データ処理のためのデバイス、及び／又はコンピュータプログラム製品として具現化されることができる。したがって、システム又はモジュールの任意の部分は、コードを実行する処理装置、インターネットベースの実施態様、完全にハードウェアの実施態様、又はインターネット、ソフトウェア、及びハードウェアの側面を組み合わせた実施態様の形をとることができる。更にまた、システムは、コンピュータ可読プログラムコード手段が記憶媒体に具現化されたコンピュータ可読記憶媒体上のコンピュータプログラム製品の形をとることができる。ハードディスク、ＣＤ−ＲＯＭ、光学ストレージデバイス、磁気ストレージデバイス等を含む、任意の適切なコンピュータ可読記憶媒体が利用されることができる。
【００６６】
[0072]  システム及び方法は本明細書において、様々な実施態様に従い、スクリーンショット、ブロック図及び方法のフローチャート図、装置（例えばシステム）、並びにコンピュータプログラム製品を参照して説明される。ブロック図及びフローチャート図の各機能ブロック、並びにブロック図及びフローチャート図中の機能ブロックの組み合わせは、それぞれ、コンピュータプログラム命令によって実装されることが可能である、ということが理解されるだろう。
【００６７】
[0073]  これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、又は機械を生じさせるための他のプログラム可能なデータ処理装置上へロードされることができ、その結果、当該コンピュータ又は他のプログラム可能なデータ処理装置上で実行する命令が、フローチャートブロック若しくはブロックにおいて特定された機能を実装するための手段を作り出す。これらのコンピュータプログラム命令はまた、コンピュータ又は他のプログラム可能なデータ処理装置に特定の方法で機能するよう指示することが可能であるコンピュータ可読メモリに格納されることができ、その結果、当該コンピュータ可読メモリに格納された命令が、フローチャートブロック若しくはブロックにおいて特定された機能を実装する命令手段を含んだ製造物品を生じさせる。コンピュータプログラム命令はまた、コンピュータ又は他のプログラム可能なデータ処理装置上へロードされて、コンピュータ実装プロセスを生じさせるために一連の動作ステップが当該コンピュータ又は他のプログラム可能な装置上で実施されるようにすることができ、その結果、当該コンピュータ又は他のプログラム可能な装置上で実行する命令が、フローチャートブロック若しくはブロックにおいて特定された機能を実装するためのステップを提供する。
【００６８】
[0074]  したがって、ブロック図及びフローチャート図の機能的ブロックは、当該特定された機能を実施するための手段の組み合わせ、当該特定された機能を実施するためのステップの組み合わせ、及び当該特定された機能を実施するためのプログラム命令手段をサポートする。ブロック図及びフローチャート図の各機能的ブロック、並びにブロック図及びフローチャート図における機能的ブロックの組み合わせは、当該特定された機能若しくはステップを実施する専用のハードウェアベースのコンピュータシステム、又は専用のハードウェアとコンピュータ命令の適切な組み合わせのいずれによっても実装されることが可能である、ということも理解されるだろう。更に、処理フローの図及び説明は、ユーザウィンドウ、ウェブページ、ウェブサイト、ウェブフォーム、プロンプト等に言及することができる。実務家は、本明細書において説明される例示のステップはウィンドウ、ウェブページ、ウェブフォーム、ポップアップウィンドウ、プロンプト等の使用を含む数多くの構成を含むことができる、ということを理解するだろう。例示され説明されたような複数のステップは、単一のウェブページ及び／又はウィンドウに結合されることができるが、簡潔さの目的のために展開されている、ということが更に理解されるべきである。他の場合においては、単一の処理ステップとして例示され説明されたステップは、複数のウェブページ及び／又はウィンドウに分離されることができるが、簡潔さのために結合されている。
【００６９】
[0075]  「非一時的」という用語は、伝搬する一時的信号それ自体のみをクレーム範囲から除外するように理解されなければならず、単なる伝搬する一時的信号それ自体ではない全ての標準的なコンピュータ可読媒体に対する権利を放棄するものではない。別の言い方をすれば、「非一時的コンピュータ可読媒体」及び「非一時的コンピュータ可読記憶媒体」という用語の意味は、Ｉｎ  Ｒｅ  Ｎｕｉｊｔｅｎにおいて米国特許法第１０１条の下で特許可能な主題の範囲外であると判示されたタイプの一時的コンピュータ可読媒体のみを排除するように解されるべきである。
【００７０】
[0076]  利益、他の優位性、及び問題に対する解法が、特定の実施態様に関して本明細書において説明された。しかしながら、当該利益、優位性、問題に対する解法、及び、何らかの利益、優位性、若しくは解法が生じ又はより顕著になるようにさせることができる任意の要因は、本開示の重要な、必須の、若しくは本質的な特徴又は要素と解されてはならない。単数形の要素への言及は、明示的にそのように述べられない限り「１つ且つ１つのみ」を意味するようには意図されず、むしろ「１つ又は複数」を意味する。そのうえ、クレーム若しくは明細書において「Ａ、Ｂ、及びＣのうちの少なくとも１つ」又は「Ａ、Ｂ、又はＣのうちの少なくとも１つ」に類似の表現が用いられる場合、当該表現は、Ａ単独が一実施態様に存在することができ、Ｂ単独が一実施態様に存在することができ、Ｃ単独が一実施態様に存在することができること、又は、要素Ａ、Ｂ、及びＣの任意の組み合わせ、例えばＡとＢ、ＡとＣ、ＢとＣ、若しくはＡとＢとＣが単一の実施態様に存在することができることを意味するように解釈される、ということが意図される。本開示は方法を含むが、磁気若しくは光メモリ又は磁気若しくは光ディスクなどの有形のコンピュータ可読搬送体上のコンピュータプログラム命令として具現化されることができる、ということが予期される。上述された例示的な実施態様の要素に対する、当業者に知られたあらゆる構造的、化学的、及び機能的な均等物は、参照により本明細書において明示的に組み込まれ、本クレームによって包含されることを意図される。そのうえ、デバイス又は方法が、本開示によって解決されようとする各々の及び全ての課題に対処すること、本クレームによって包含されることは必要ではない。更にまた、本開示におけるいかなる要素、コンポーネント、又は方法のステップも、クレームにおいて明示的に記載されているかどうかにかかわらず、公衆に対して捧げられるようには意図されない。本明細書におけるいかなるクレーム要素も、当該要素が「のための手段」という表現を用いて明示的に記載されているのでない限り、米国特許法１１２条（ｆ）の規定の下で解されてはならない。本明細書において用いられる際、「含む（ｃｏｍｐｒｉｓｅｓ）」、「含む（ｃｏｍｐｒｉｓｉｎｇ）」、又はそれらの任意の他の変形は、非排他的な包含をカバーするように意図され、要素のリストを含むプロセス、方法、項目、又は装置は、それらの要素を含むだけでなく、明示的には列挙されていない又はそのようなプロセス、方法、項目、若しくは装置に内在しない他の要素も含むことができる。
【図１】
2019080356.tif 000003
【図２】
2019080356.tif 000004
【図３】
2019080356.tif 000005
【図４】
2019080356.tif 000006
【図５】
2019080356.tif 000007
【図６】
2019080356.tif 000008
【図７】
2019080356.tif 000009
【手続補正書】
【提出日】平成31年3月6日(2019.3.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピアツーピアシステムにおいてデータを送信するためのプロセッサによって、標準化された通信プロトコル（「ＳＣＰ」）を第１デバイス上に実装するステップであって、前記第１デバイスは、第１チップを備える、ステップと、
前記プロセッサによって、第２デバイスを発見するステップであって、前記第２デバイスは、第２チップを備える、ステップと、
前記プロセッサによって、複数のワンタイム暗号を含む暗号ブックを暗号化するステップと、
前記プロセッサによって、前記第２デバイスへ前記暗号ブックを送信するステップと、
前記プロセッサによって、第１送信経路を選択するステップと、
前記プロセッサによって、メッセージを複数のパケットに分割するステップと、
前記第１チップを用いて、前記複数のパケットにおける第１パケットを前記第１送信経路を介して前記第２デバイス上の前記第２チップへ直接送信するステップと、
前記第１チップを用いて、前記複数のパケットにおける第２パケットを前記第１送信経路を介して前記第２デバイス上の前記第２チップへ直接送信するステップと、
を含み、
前記第２デバイスは、前記複数のワンタイム暗号を使用して前記第１パケット及び前記第２パケットを解読し、
前記第２デバイスは、前記第１パケットと前記第２パケットを前記メッセージに構築する、
方法。
【請求項２】
前記ＳＣＰを実装するステップは、ＳＣＰヘッダを前記第１パケットに付加するステップを含む、請求項１に記載の方法。
【請求項３】
前記ＳＣＰヘッダは、データグラムをＳＣＰデータグラムとして識別する、請求項２に記載の方法。
【請求項４】
前記ＳＣＰヘッダは、前記第２デバイスが、前記第２デバイスによりトランスポート層において使用されているプロトコルにかかわらず、前記複数のパケットを受信することを可能にする、請求項２に記載の方法。
【請求項５】
前記第１送信経路を選択するステップは、前記第１デバイスと前記第２デバイス間における最も高速な送信経路を決定するステップを含む、請求項１に記載の方法。
【請求項６】
前記最も高速な送信経路を決定するステップは、利用可能な各送信経路を介して前記第２デバイスへスピードテストメッセージを送信するステップと、スピードテストの結果に基づいて前記最も高速な送信経路を選択するステップとを含む、請求項５に記載の方法。
【請求項７】
前記第１送信経路を介して前記メッセージの第１部分を送信し、第２送信経路を介して前記メッセージの第２部分を送信するステップを更に含み、前記第１送信経路はＢｌｕｅｔｏｏｔｈ（登録商標）経路を含み、前記第２送信経路は８０２．１１無線経路を含む、請求項１に記載の方法。
【請求項８】
ピアツーピアシステムにおいてデータを送信するためのプロセッサによる実行に応答して前記プロセッサに動作を実施させる命令を格納された有形の非一時的コンピュータ可読記憶媒体を含むデバイスであって、前記動作は、
前記プロセッサによって、標準化された通信プロトコル（「ＳＣＰ」）を第１デバイス上に実装するステップであって、前記第１デバイスは、第１チップを備える、ステップと、
前記プロセッサによって、第２デバイスを発見するステップであって、前記第２デバイスは、第２チップを備える、ステップと、
前記プロセッサによって、ワンタイム暗号を含む暗号ブックを暗号化するステップと、
前記プロセッサによって、前記第２デバイスへ前記暗号ブックを送信するステップと、
前記プロセッサによって、第１送信経路を選択するステップと、
前記プロセッサによって、メッセージを複数のパケットに分割するステップであって、前記メッセージはリンクを含む、ステップと、
前記第１チップを用いて、前記複数のパケットにおける第１パケットを前記第１送信経路を介して前記第２デバイス上の前記第２チップへ直接送信するステップと、
前記第１チップを用いて、前記複数のパケットにおける第２パケットを前記第１送信経路を介して前記第２デバイス上の前記第２チップへ直接送信するステップと、
を含み、
前記第２デバイスは、前記ワンタイム暗号を使用して前記第１パケット及び前記第２パケットを解読し、
前記第２デバイスは、前記第１パケットと前記第２パケットを前記メッセージに構築する、
デバイス。
【請求項９】
前記動作は、前記プロセッサによって、Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ又はＲＳＡ暗号の少なくとも一方を用いて前記暗号ブックを暗号化するステップを更に含む、請求項８に記載のデバイス。
【請求項１０】
前記動作は、前記プロセッサによって、前記暗号ブック内の前記ワンタイム暗号を用いて前記メッセージを暗号化するステップを更に含む、請求項８に記載のデバイス。
【請求項１１】
前記発見するステップは、前記第１デバイスと前記第２デバイスの少なくとも一方の上にシンボルを表示するステップを含む、請求項８に記載のデバイス。
【請求項１２】
前記シンボルは、ＱＲコード（登録商標）、バーコード、又はテキストのうちの少なくとも１つを含む、請求項１１に記載のデバイス。
【請求項１３】
前記シンボルは、前記第１デバイス又は前記第２デバイスの少なくとも一方の識別特性を含み、前記識別特性は、デバイス名、ＩＰアドレス、所有者名、エンドポイント、又は利用可能なトランスポート層のうちの少なくとも１つを含む、請求項１１に記載のデバイス。
【請求項１４】
データを送信するためのプロセッサと、
前記プロセッサと通信するように構成された有形の非一時的メモリと、
を備えるピアツーピア通信システムであって、
前記有形の非一時的メモリは、前記プロセッサによる実行に応答して前記プロセッサに動作を実施させる命令を格納され、前記動作は、
前記プロセッサによって、標準化された通信プロトコル（「ＳＣＰ」）を第１デバイス上に実装するステップであって、前記第１デバイスは、第１チップを備える、ステップと、
前記プロセッサによって、第２デバイスを発見するステップであって、前記第２デバイスは、第２チップを備える、ステップと、
前記プロセッサによって、複数のワンタイム暗号を含む暗号ブックを暗号化するステップと、
前記プロセッサによって、前記第２デバイスへ前記暗号ブックを送信するステップと、
前記プロセッサによって、第１送信経路を選択するステップと、
前記プロセッサによって、メッセージを複数のパケットに分割するステップであって、前記メッセージはリンクを含む、ステップと、
前記第１チップを用いて、前記複数のパケットにおける第１パケットを前記第１送信経路を介して前記第２デバイス上の前記第２チップへ直接送信するステップと、
前記第１チップを用いて、前記複数のパケットにおける第２パケットを前記第１送信経路を介して前記第２デバイス上の前記第２チップへ直接送信するステップと、
を含み、
前記第２デバイスは、前記複数のワンタイム暗号を使用して前記第１パケット及び前記第２パケットを解読し、
前記第２デバイスは、前記第１パケットと前記第２パケットを前記メッセージに構築する、
ピアツーピア通信システム。
【請求項１５】
前記リンクは、サーバ上に格納されたファイルに対するものである、請求項１４に記載のピアツーピア通信システム。
【請求項１６】
前記動作は、前記第１デバイスから前記第２デバイスへデータをストリーミングするステップを更に含む、請求項１４に記載のピアツーピア通信システム。
【請求項１７】
前記第１デバイスと前記第２デバイスは、送信範囲の外に存在する、請求項１４に記載のピアツーピア通信システム。
【請求項１８】
前記第１デバイスと前記第２デバイスは、仲介デバイスを介して通信し、前記仲介デバイスは、前記第１デバイスと前記第２デバイスの送信範囲内に存在する、請求項１７に記載のピアツーピア通信システム。
【請求項１９】
前記ＳＣＰは、前記第１デバイスのネットワーク層において実装される、請求項１４に記載のピアツーピア通信システム。
【請求項２０】
第１チップと、
データを送信するためのプロセッサと、
前記プロセッサと通信するように構成された有形の非一時的メモリと、
を備えるピアツーピア通信のためのデバイスであって、
前記有形の非一時的メモリは、前記プロセッサによる実行に応答して前記プロセッサに動作を実施させる命令を格納され、前記動作は、
前記プロセッサによって、標準化された通信プロトコルを前記デバイス上に実装するステップと、
前記プロセッサによって、第２チップを備えるモバイルデバイスを発見するステップと、
前記プロセッサによって、前記第１チップを選択するステップと、
前記プロセッサによって、前記デバイスと前記モバイルデバイス間の送信経路を選択するステップと、
前記プロセッサによって、複数のワンタイム暗号を含む暗号ブックを暗号化するステップと、
前記プロセッサによって、前記送信経路を介して前記モバイルデバイスへ前記暗号ブックを送信するステップと、
前記プロセッサによって、メッセージを複数のパケットに分割するステップと、
前記プロセッサによって、前記複数のパケットにおける第１パケット及び前記複数のパケットにおける第２パケットを、前記第１チップから前記第２チップへ前記送信経路を介して直接送信するステップと、
を含み、
前記モバイルデバイスは、前記複数のワンタイム暗号を使用して前記第１パケット及び前記第２パケットを解読し、
前記モバイルデバイスは、前記第１パケットと前記第２パケットを前記メッセージに構築する、
デバイス。