(57)【特許請求の範囲】
【請求項１】
ネットワーク化された装置をリアルタイムにリモートでコントロールする方法であって、
ホスト装置、リクエスト装置、および複数のリレー装置は、前記ネットワーク化された装置を構成しており、前記ホスト装置と前記リクエスト装置と前記複数のリレー装置との間のリソースおよび情報の共有を可能にする通信チャンネルを使用して、ネットワークを介して相互に接続されており、
前記方法は、
前記リクエスト装置のプロセッサによって、アクションを実行することを前記ホスト装置にリクエストするステップを含み、
該ステップは、
前記リクエスト装置の前記プロセッサによって、前記リクエスト装置と前記ホスト装置との間のリレー能力およびレイテンシ時間を決定するために、小さなテストパケットを提出するステップと、
前記リクエスト装置の前記プロセッサによって、前記リクエストを所定数のより小さなデータパケットにセグメント化するステップであって、前記セグメント化は、レイテンシ時間を決定する機能として実行されるステップと、
前記リクエスト装置の前記プロセッサによって、プロトコルに従って、前記より小さなデータパケットの第１の部分を前記複数のリレー装置に送信し、前記より小さなデータパケットの第２の部分を前記ホスト装置に送信するステップであって、前記より小さなデータパケットを受け取る前記複数のリレー装置の各々は、前記より小さなデータパケットの前記第１の部分を前記ホスト装置に中継するステップと、
を含み、
前記より小さなデータパケットのすべてが前記ホスト装置に到達すると、前記ホスト装置は、前記より小さなデータパケットを再アセンブルして、前記リクエストされたアクションを実行するように構成されており、
前記より小さなデータパケットを前記ホスト装置に送信するために前記リクエスト装置の処理能力を使用することに加え、前記より小さなデータパケットを中継するために、個別に前記ネットワークに接続された別々の装置である前記複数のリレー装置の各々の処理能力を使用して、前記リクエスト装置による前記リクエストを実行することにより、スループットが増加し、レイテンシ時間が減少する、方法。
【請求項２】
前記プロトコルが、伝送制御プロトコル(TCP)、インターネットプロトコル(IP)、開放型システム間相互接続(OSI)、アップルトーク、ユーザデータグラムプロトコル(UDP)、インターネットワークパケットエクスチェンジ(IPX)、シーケンスパケットエクスチェンジ(SPX)、Enhanced Data Rates for GSM Evolution(EDGE)、Universal Mobile Telecommunication Service(UMTS)、Digital Enhanced Cordless Telecommunications (DECT)、Digital AMPS (IS-136/TDMA)、Integrated Digital Enhanced Network (iDEN)、WiMAX、LTE、LTE advanced、mobile broadband wireless access (MBWA)、IEEE 802.20およびそれらの組み合わせからなるグループから選択される、請求項１の方法。
【請求項３】
前記ホスト装置、前記リクエスト装置、および前記複数のリレー装置が、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、スマートテレビ、ビデオゲーム機およびそれらの組み合わせからなるグループから選択されるコンピューティングシステムである、請求項１の方法。
【請求項４】
前記リクエスト装置が周辺機器である、請求項１の方法。
【請求項５】
前記周辺機器が、マウス、キーボード、モニタ、コントローラ、ハードディスクドライブ、記憶装置、スピーカ、プリンタ、CD-ROM、モデムおよびそれらの組み合わせからなるグループから選択される、請求項４の方法。
【請求項６】
前記ホスト装置、前記リクエスト装置、および前記複数のリレー装置が、個別または共有されたネットワーク接続から前記ネットワークへブロードキャスト通信している個別の地理的なロケーション内に位置する、請求項１の方法。
【請求項７】
前記複数のリレー装置の前記処理能力が、中央処理装置(CPU)、ランダムアクセスメモリ(RAM)、仮想メモリ、ハードディスクスペース、ネットワークスループット、電力およびそれらの組み合わせからなるグループから選択されるリソースを含む、請求項６の方法。
【請求項８】
前記リクエスト装置が、前記リクエスト装置によって生成された前記リクエストの結果を表示するグラフィカルユーザインタフェースを含む、請求項１の方法。
【請求項９】
前記リクエストが、前記ホスト装置の少なくとも１つのファイルを操作することを含む、請求項１の方法。
【請求項１０】
前記操作が、オープン、修正、コピー、移動、削除、クローズおよびそれらの組み合わせからなるグループから選択される、請求項９の方法。
【請求項１１】
ネットワーク化された装置をリアルタイムにリモートでコントロールする方法であって、
ホスト装置、リクエスト装置、および複数のリレー装置は、前記ネットワーク化された装置を構成しており、前記ホスト装置と前記リクエスト装置と前記複数のリレー装置との間のリソースおよび情報の共有を可能にする通信チャンネルを使用して、ネットワークを介して相互に接続されており、
前記方法は、
前記ホスト装置のプロセッサによって、前記リクエスト装置からのリクエストに応答するステップを含み、
該ステップは、
前記ホスト装置の前記プロセッサによって、前記リクエスト装置と前記ホスト装置との間のリレー能力およびレイテンシ時間を決定するために、小さなテストパケットを提出するステップと、
前記ホスト装置の前記プロセッサによって、前記リクエストを所定数のより小さなデータパケットにセグメント化するステップであって、前記セグメント化は、レイテンシ時間を決定する機能として実行されるステップと、
前記ホスト装置の前記プロセッサによって、プロトコルに従って、前記より小さなデータパケットの第１の部分を前記複数のリレー装置に送信し、前記より小さなデータパケットの第２の部分を前記ホスト装置に送信するステップであって、前記より小さなデータパケットを受け取る前記複数のリレー装置の各々は、前記より小さなデータパケットの前記第１の部分を前記リクエスト装置に中継するステップと、
を含み、
前記より小さなデータパケットのすべてが前記リクエスト装置に到達すると、前記リクエスト装置は、前記より小さなデータパケットを再アセンブルするように構成されており、
前記より小さなデータパケットを前記ホスト装置に送信するために前記リクエスト装置の処理能力を使用することに加え、前記より小さなデータパケットを中継するために、個別に前記ネットワークに接続された別々の装置である前記複数のリレー装置の各々の処理能力を使用して、前記リクエスト装置への前記応答を提供することにより、スループットが増加し、レイテンシ時間が減少する、方法。
【請求項１２】
前記プロトコルが、伝送制御プロトコル(TCP)、インターネットプロトコル(IP)、開放型システム間相互接続(OSI)、アップルトーク、ユーザデータグラムプロトコル(UDP)、インターネットワークパケットエクスチェンジ(IPX)、シーケンスパケットエクスチェンジ(SPX)、WiMAX、LTE、LTE advanced、mobile broadband wireless access (MBWA)、IEEE 802.20およびそれらの組み合わせからなるグループから選択される、請求項１１の方法。
【請求項１３】
前記ホスト装置、前記リクエスト装置、および前記複数のリレー装置が、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、スマートテレビ、ビデオゲーム機およびそれらの組み合わせからなるグループから選択される、請求項１１の方法。
【請求項１４】
前記ホスト装置、前記リクエスト装置、および前記複数のリレー装置が、個別または共有されたネットワーク接続から前記ネットワークへブロードキャスト通信している個別の地理的なロケーション内に位置する、請求項１１の方法。
【請求項１５】
前記複数のリレー装置の前記処理能力が、中央処理装置(CPU)、ランダムアクセスメモリ(RAM)、仮想メモリ、ハードディスクスペース、ネットワークスループット、電力およびそれらの組み合わせからなるグループから選択されるリソースを含む、請求項１４の方法。
【請求項１６】
前記リクエストが、前記コンピューティングシステム上に格納されたファイルを操作することを含む、請求項１１の方法。
【請求項１７】
前記操作が、オープン、修正、コピー、移動、削除、クローズおよびそれらの組み合わせからなるグループから選択される、請求項１６の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークのコンピューティング能力を高めるために、1つ以上のネットワーク化された装置のリソースを使用することにより、1つ以上のネットワーク化された装置にリアルタイムにリモートでアクセスし、それにより装置間でレイテンシ時間を低減するためのシステムおよび方法に関し、より詳細には、コンピューティング装置の周辺タスクであろうタスクをネットワーク化された装置に割り当てることが可能なリモートデスクトップの実施形態に関する。
【背景技術】
【０００２】
別のコンピューティング装置を使用してリモートでコンピューティング装置をコントロールすることは、ますます一般的な特徴になっている。今日の個人は、これまでよりもさらに、世界において最も遠隔な宛先のうちのいくつかにいてさえ、インターネット接続にアクセスすることが可能なモバイルコンピューティング装置を所有する。今のところ、ほとんどのモバイルコンピューティング装置は、現在、より多くのロバストなデスクトップコンピューティング装置どころか、ラップトップコンピューティング装置と同等のコンピューティング能力またはリソースを利用可能としていない。したがって、個人は、個人のより多くのモバイルコンピューティング装置から、個人のより大きなモバイル性を欠くコンピューティング装置にアクセスすることを時々好む。ユーザはまた、十分に大きな記憶容量を欠くモバイル装置にではなく、単一の中央集中化されたロケーションに、ファイルの大きなライブラリを格納することを好むことがある。リモートアクセスの戦略は、デスクトップまたはラップトップコンピューティング装置によってアクセス可能な、より大きなモバイル性を欠く記憶装置上の中央のロケーションに、個人が大量のファイルを置くことを可能にし、同時に、ユーザ自身が所有する他のモバイルコンピューティング装置上の、ファイルのライブラリへのアクセスを可能にする。
【０００３】
従来のリモートデスクトップアプリケーションは、ホスト装置上で、アクセスされているコンピューティング装置上で、ユーザがあたかもローカルに作業していたかのような、正確に同じやり方では振る舞わない。しばしば、ホスト装置へのアクセスが提供される操作中の装置は、レイテンシ時間に、またはホスト装置上でのアクションと操作中の装置上で見られるそれらの応答に対するアクションとの間のデータ遅延に悩まされる。ホスト装置と操作中の装置との間の通信速度は、帯域幅におけるボトルネック、ネットワーク接続の品質、メモリの不足、処理能力の不足、十分な電源供給の不足、およびホスト装置と操作中の装置との間でデータが移動しなくてはならない延長距離に起因する可能性がある。ホスト装置へ指示を提供し、指示を受け取り、可視的な対応する応答が操作中の装置によって受け取られるまでの間のこのレイテンシ時間が、途切れ途切れとなり、ユーザがコンピューティング環境を経験することが成り立たず、理想的なユーザエクスペリエンスが不足する結果となる可能性がある。
【０００４】
したがって、非ローカルなコンピューティング装置に、リモートでアクセスし、見て、修正することが可能な、レイテンシ時間フリーなリモートデスクトップアプリケーションについてのニーズが存在する。
【発明の概要】
【０００５】
本開示の第1の態様は、概して、リアルタイムにリモートでコンピューティング装置にアクセスする方法に関連する。当該方法は、コンピューティングシステムのプロセッサによって、少なくとも2つのネットワークノード間にプロトコルを確立するステップと、前記プロセッサによって、前記コンピューティングシステムの入力装置によるリクエストを受け取るステップと、前記プロセッサによって、前記リクエストを所定数のパケットにセグメント化するステップと、前記プロセッサによって、前記リクエストを前記少なくとも2つのネットワークノードに送信するステップと、前記プロセッサによって、前記少なくとも2つのネットワークノードから、所定数の応答パケットを受け取るステップと、前記プロセッサによって、前記所定数のパケットを、前記少なくとも2つのネットワークノードの少なくとも1つからの応答に再アセンブルするステップと、前記プロセッサによって、前記少なくとも2つのネットワークノードの少なくとも1つからの前記応答を表示するステップと、を含む。
【０００６】
本開示の第2の態様は、概して、リアルタイムにリモートでコンピューティング装置にアクセスする方法に関連する。当該方法は、コンピューティングシステムのプロセッサによって、少なくとも2つのネットワークノード間にプロトコルを確立するステップと、前記プロセッサによって、前記少なくとも2つのネットワークノードの少なくとも1つによって生成された、少なくとも2つのパケットセグメントを受け取るステップと、前記プロセッサによって、前記少なくとも2つのパケットセグメントを、前記少なくとも2つのネットワークノードの少なくとも1つからのリクエストに再アセンブルするステップと、前記プロセッサによって、前記少なくとも2つのネットワークノードの少なくとも1つからの前記リクエストを実行するステップと、前記プロセッサによって、応答パケットを生成するステップと、前記プロセッサによって、前記応答パケットを所定数のパケットセグメントにセグメント化するステップと、前記プロセッサによって、前記所定数のパケットセグメントの少なくとも1つを、前記少なくとも2つのネットワークノードのそれぞれに送信するステップと、を含む。
【０００７】
本開示の第3の態様は、概して、リアルタイムにリモートでコンピューティング装置にアクセスするためのシステムに関連する。当該システムは、ネットワークを通じて通信する少なくとも3台のノード装置と、リソースのプールであり、互いに通信する前記少なくとも3台のノード装置の少なくとも1つによって利用されるリソースのプールと、を含み、前記少なくとも3台のノード装置の少なくとも1台が、前記少なくとも3台のノード装置の他方のものを操作している。
【０００８】
本開示の第4の態様は、概して、リアルタイムにリモートでコンピューティング装置にアクセスするためのシステムに関連する。当該システムは、ネットワークを通じて通信する少なくとも3台のノード装置と、前記ネットワークを通じて通信する前記少なくとも3台のノード装置のそれぞれを識別する、少なくとも1つのグラフィカルユーザインタフェースと、を含み、前記少なくとも3台のノード装置の少なくとも1台が、前記グラフィカルユーザインタフェースを通じて、前記少なくとも3台のノード装置の他方のノードを操作する。
【０００９】
以下の図面を参照して、同様の部材には同様の名称を付して、いくつかの実施形態について詳細に説明する。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る、ホスト装置からの応答を要求するリモートコントロールされたコンピューティングネットワークのブロック図である。
【図２】図1の実施形態のホスト装置からの応答を受け取るブロック図である。
【図３】本発明の一実施形態に係る、着信データパケットを受け取って応答するリモートコントロールされたコンピュータネットワークのリクエスト装置のフローチャートである。
【図４】本発明の一実施形態に係る、着信データパケットを受け取って応答するリモートコントロールされたコンピュータネットワークのリレー装置のフローチャートである。
【図５】本発明の一実施形態に係る、着信データパケットを受け取って応答するリモートコントロールされたコンピュータネットワークのホスト装置のフローチャートである。
【図６】本発明の別の実施形態に係る、複数のリクエスト装置がホスト装置に同時のリクエストを提出する、リモートコントロールされたコンピューティングネットワークのブロック図である。
【図７】本発明の別の実施形態に係る、複数のリクエスト装置が2台の別々のホスト装置に同時のリクエストを提出する、リモートコントロールされたコンピュータネットワークのブロック図である。
【図８】本発明の別の実施形態に係る、1台を超えるホスト装置に同じリクエストを同時に送信する、リモートコントロールされたコンピュータネットワークのブロック図である。
【図９】本発明の別の実施形態に係る、2つの同時のリクエストがそれぞれのリクエスト装置に専用のリレー装置を通じてホスト装置に提出される、リモートコントロールされたコンピュータネットワークのブロック図である。
【図１０】本発明の別の実施形態に係る、図9のホスト装置がそれぞれのリクエスト装置に応答している、リモートコントロールされたコンピュータネットワークのブロック図である。
【図１１】本発明の別の実施形態に係る、リクエストの送信用にまたは応答の受け取り用に専用の一方向のリレー装置を特徴とする、リモートコントロールされたコンピュータネットワークのブロック図である。
【図１２】本発明の一実施形態に係るコンピューティングシステムのブロック図である。
【図１３】本発明の別の実施形態に係る、互いに操作し合う3つの別々のロケーションの3つのネットワークノードを含む、リモートコントロールされたコンピュータネットワークである。
【発明を実施するための形態】
【００１１】
開示する装置一式および方法の実施形態を記述する以下の詳細な説明は、図面に関して制限されない例示的な意図で本明細書に示される。或る実施形態が示されて詳細に記述されるが、添付する請求項の範囲から逸脱しない範囲で様々な変更および修正が可能であることが理解されるであろう。本開示の範囲が、構成コンポーネントの数、その物質、その形状、およびその相対的な配置等に制限されることは決してなく、単に本開示の実施形態の一例として開示されるであろう。
【００１２】
詳細な説明の序文として、本明細書および添付する請求項において使用されるように、“a”、“an”および“the”の単数形は、文脈上明らかに他の方法を規定しない限り、複数の指示物を含んでいることに注目すべきである。
【００１３】
図1は、ノードと呼ばれる互いに通信する多くの装置を含むことが可能なコンピュータネットワーク100の実施形態を示す。ノードは、接続ポイント、再分配ポイントまたはネットワーク100内の通信エンドポイントであることができる。確立されるネットワークはコンピュータネットワークであることができ、そこでは、少なくとも2台のコンピューティング装置および／または他のハードウェアが、リソースおよび情報の共有を可能にする通信チャンネルを使用して相互に接続することが可能である。ネットワーク内の装置の少なくとも1つは、リモート装置内に存在する少なくとも1つのプロセスとの間でデータを送受信することができる。ネットワークは、少なくとも2つのノード間の通信を可能にするあらゆる既知の方法を使用してセットアップすることができる。ネットワークの実施形態は、Wi-Fi可能にされたネットワーク、Bluetooth(登録商標)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルアクセスネットワーク(LAN)、ワイドアクセスネットワーク(WAN)、IEEE 802.1x、イントラネット、インターネット、エクストラネット、およびこれらの任意の組み合わせを含むことができる。ネットワークはさらに、Global System for Mobile Communications(GSM)（登録商標）、General Packet Radio Service(GPRS)、cdmaOne、CDMA2000、Evolution-Data Optimized(EV-DO)、Enhanced Data Rates for GSM Evolution(EDGE)、Universal Mobile Telecommunications System(UMTS)、Digital Enhanced Cordless Telecommunications(DECT)、Digital AMPS(IS-136/TDMA)、Integrated Digital Enhanced Network(iDEN)、WiMAX、LTE、LTE advanced、mobile broadband wireless access(MBWA)およびIEEE 802.20を含むことができる、ディジタル携帯電話ネットワークを含むことができる。ネットワーク100は、公衆アクセス可能であるか、プライベート、またはVPNのような事実上プライベートであることができる。望ましくないノードがネットワークにアクセスすることを制限するためにネットワークが使用することができる1つの方法は、ネットワーク100に接続するためのパスワードを要求することであってもよい。
【００１４】
開示するコンピュータネットワーク100の典型的な実施形態では、ネットワーク100は、少なくとも1台のリクエスト装置101と、少なくとも1台のリレー装置103, 104, 105と、少なくとも1台のホスト装置102とをノードとして含むことができる。リクエスト装置101は、他の装置またはノードとネットワーク化することが可能なあらゆる装置であることができ、またリクエスト装置101は、他のネットワークノードと相互に通信することができる。典型的な実施形態では、リクエスト装置101は、指定されたやり方で動作するまたは振る舞うノードまたは装置へリクエストを送信することにより、ネットワーク内の他のノードまたは装置をリモートでコントロールすることができる。通信を受け取ってリクエスト装置101の指示に従って動作するノードまたは装置は、ホスト装置102である。リクエスト装置は、パーソナルコンピュータ、ラップトップ、サーバ、タブレットコンピュータ、携帯電話、ipod（登録商標）のような音楽プレーヤを含むインターネットまたはWi-Fi可能にされた装置、ビデオゲーム機およびテレビ受信機のようなコンピューティング装置を含むことができるが、これらに制限されない。リクエスト装置101はさらに、テレビ、冷蔵庫、洗濯機、ドライヤー、湯沸し器、暖房炉、ストーブ、ランプ、およびWi-Fi受信機が接続されて動作可能な家庭内の他の任意の家電製品のような、例えばインターネットまたはWi-Fi可能にされた「スマート家電」を含む、ネットワーク化することが可能な非慣習的な装置を含むことができる。
【００１５】
ノードは上にリストした装置に制限されていない。ノードは、あらゆるコンピューティングシステム1200であることができる。コンピューティングシステム1200の一実施形態を図12に示す。典型的な実施形態では、コンピューティングシステムは、中央処理装置(CPU)を含むことができるプロセッサ1201と、入力データ1206および／またはコンピュータコード1207を格納することができる少なくとも1台のメモリ装置1204, 1205とを含むことができる。入力データ1206は、プロセスを実行するために、コンピューティングシステム1200によってリコールされることができ、一方で、コンピュータコード1207は、どのようにタスクを実行しファイルを格納するかの指示を提供することができるか、あるいは、特定のタスクを実行するようにコンピューティングシステム1200に指示することができる。メモリ装置は、例えば、ランダムアクセスメモリ(RAM)、フラッシュまたはソリッドステートメモリ、半導体メモリ、あるいはハードディスクドライブ(HDD)のような記憶装置を含むことができる。コンピューティング装置はさらに、1つ以上の入力装置1202および／または出力装置を含むことができる。入力装置は、プロセッサ1201にデータと制御信号とを供給するために使用されるハードウェアまたは周辺機器の1要素であることができる。入力装置の一例は、キーボード、マウス、スキャナ、ディジタルカメラ、ジョイスティック、ゲームパッド、マイクロフォン、およびタッチスクリーンを含んでいる。一方で、出力装置1203は、プロセッサ1201によって人間が判読可能な形式に処理された電子信号を通信することが可能なハードウェアまたは周辺機器のあらゆる要素であることができる。出力装置の一例は、モニタまたはテレビのような表示装置、グラフィカルディスプレイ装置、スピーカのようなオーディオ装置、およびプリンタを含むことができる。
【００１６】
他の実施形態では、リクエスト装置101は周辺機器であることができる。周辺機器は、コンピューティング装置と共にまたは横付けして使用することが可能なあらゆる装置であることができる。周辺機器の例は、マウス、キーボード、モニタ、コントローラ、リモートコントローラ、ハードドライブまたは他の記憶装置、スピーカ、プリンタ、スキャナ、コピー機、CD-ROM、ルータ、およびモデムを含むことができる。周辺機器として割り当てられたリクエスト装置101は、それ自身が、周辺機器と同様のやり方で動作するように割り当てられたコンピューティング装置となることができる。例えば、タブレットコンピュータは、ホスト装置102についての（of）リクエスト装置のリクエストの結果を表示することが可能なモニタとして動作するように割り当てられることができる。別の例は、ホスト装置102のマウスおよびキーボードをコントロールするように割り当てられている携帯電話であることができる。例えば、携帯電話は、タッチスクリーンを使用して、特定の方法でマウスカーソルを移動させるためのリクエストをホスト装置に供給することができ、または一方で、タッチスクリーンがさらに、ホスト装置102に直接接続されたキーボードがあたかもリクエストを送信しているかのように、文字の特定のシーケンスを入力するためのバーチャルキーボードを含むことができる。図13に示す一実施形態では、3つのネットワークノード1301, 1302, 1303が共用ネットワーク1300に接続される。それぞれのネットワークノードは、個別または共有されたWi-Fi接続1304, 1305, 1306からブロードキャスト通信している個別のロケーション内に位置することができる。この典型的な実施形態では、ノード1301, 1302, 1303の1つ以上が別のノードをコントロールまたは操作することができる。さらに、別のノードを操作しているそれぞれのノードは、割り当てられた周辺機器であってもよい。例えば、ノード1301は、ノード1306のキーボード周辺機器として特にそれ自身を指定するネットワークに加入することができる。したがって、ノードが文字と数字とを入力すると、別の指定したノード1302, 1303上またはネットワーク内のすべてのノード上に出力結果を出現させることができる。さらに、ノード1301がキーボードとして動作している間、ノード1302は、モニタのような別の周辺機器として同時に動作することができる。ノード1301によって提供されるあらゆるキーボード操作も含む、ノード1303の操作結果のすべては、最終的にノード1302上で見ることができる。
【００１７】
図1を参照すると、ホスト装置102は、リモートコントロールされたネットワーク100内に組み込まれることができる。典型的な実施形態では、ホスト装置102は、ネットワーク100内の他のノードにネットワーク化することが可能なあらゆる装置または装置一式であることができる。ホスト装置102は、コントロール可能であるかまたはリクエスト装置101のリクエストに応答可能である、リモートコントロールされたネットワーク100のコンポーネントであることができる。上述の図13において提供される例では、ノード3が他のノード1301, 1302のリクエストを受け取って応答するので、ノード3をホストとみなすことができる。ホスト装置は、リクエスト装置101がとり得る、装置、ノードまたは装置一式のうちのいずれかの形式であることができる。典型的な実施形態では、ホスト装置101は、パーソナルコンピュータ、ラップトップ、携帯電話、タブレットコンピュータまたはビデオゲーム機のようなコンピューティングシステム1200であることができる。リクエスト装置101の実施形態は、リクエスト装置101上でホスト装置102の出力を見ることができる。例えば、リクエスト装置101は、ホスト装置102上の出力またはリクエスト装置101からの出力を見るためのグラフィカルユーザインタフェース(GUI)を装備することができる。グラフィカルユーザインタフェースは、ネットワーク100上のすべてのノードのID識別情報を含む、ネットワークの最新版のステータスを表示するために使用することができる。別の実施形態では、GUIは、ネットワーク100上のノードのサインインまたはサインオフを可能にするために使用されてもよい。GUIはさらに、ユーザがノードをネットワークに接続し、ネットワーク内のノードをコントロールするために、および／または別のノードの周辺機器として動作するためにノードを割り当てるために使用される方法であることができる。
【００１８】
他の実施形態では、ホスト装置の出力または応答は、ホスト装置自身に直接影響しなくてもよく、むしろ、ホスト装置102は、他の非リクエスト装置をコントロールするための中央集中化されたロケーションとして動作してもよい。例えば、ユーザは、ホスト装置を操作して、家電製品のような個別のネットワーク100ノードの電源をオンまたはオフするために、リクエスト装置として動作する携帯電話を使用することができる。
【００１９】
リクエスト装置101の実施形態は、特定のアクションを実行することをホスト装置102に要求することができ、引き続き、リクエスト装置101は、あたかもリクエスト装置101自身がアクションを実行したかのように、ホスト装置102で実行された対応するアクションを、リクエスト装置101上で見ることができる。例えば、リクエスト装置101は、ホスト装置上またはネットワーク100上に格納されたファイルを、例えば、オープン、修正、コピー、移動、削除、見るおよび／またはクローズするような機能を実行するために、ホスト装置102にリクエストを送信することができる。引き続き、ホスト装置102は、リクエストを受け取ると、リクエストされたアクションを実行し、次に、リクエスト装置101によって見ることが可能なホスト装置によって生成することが可能なその応答において、ファイルに変更を反映することにより、リクエスト装置に応答することができる。別の実施形態では、リクエスト装置のリクエストにおいて反映された変更もまた、ネットワーク内の非リクエストノードによって見ることができる。ネットワーク100上の他のノードとプロトコルを確立した後、リクエスト装置およびリレー装置を含む、コンピューティングシステム1200であることができるホスト装置は、その後、ネットワーク上の他のノードからパケットセグメントを受け取ることができる。或る種のアクションを実行することをホスト装置に要求するこれらパケットセグメントは、それらのオリジナルのリクエストパケットに再アセンブルされ、ホスト装置によって実行されることができる。その後、ホスト装置は、リクエスト装置に送信することが可能な応答パケットを生成することができる。リクエストパケットを送信する前に、ホスト装置は、リクエスト装置と同様に、その応答パケットを所定数のパケットセグメントにセグメント化することができる。
【００２０】
図1および2を参照すると、リモートコントロールされたネットワーク100は、リレー装置103, 104, 105として動作する1つ以上のノードをさらに含むことができる。リレー装置103, 104, 105は、リクエスト装置101およびホスト装置102とネットワーク化することが可能な、任意の台数の追加の装置であることができる。リレー装置103, 104, 105は、リクエスト装置101またはホスト装置102のいずれかとして適格なあらゆる装置であることができる。リレー装置103, 104, 105の実施形態は、リクエスト装置101のリクエストの一部分またはセグメントを受け取るか、あるいは、ホスト装置の応答の一部分を受け取ってもよい。リクエスト装置およびホスト装置は、データパケット110, 210の形式をしているこれらリクエストおよび応答を送信することができる。ホスト装置102にリクエストを送信するためにまたはリクエスト装置101に応答を送信するためにかかる時間は、データパケット110a, 110b, 110c, 110dを、集団で完全長のデータパケットを形成しているいくつかの部分またはセグメントにセグメント化することにより、減少させることができる。リレー装置103, 104, 105は、リクエスト装置101からのリクエストまたは応答データパケット110の受信機として、あるいは、ホスト装置102からの応答データパケット210の受信機として動作することができる。データパケット110, 210をいくつかのより小さなセグメントにセグメント化し、少なくとも1台のリレー装置にわたってそれらを送信することにより、リクエスト装置101からホスト装置102への転送速度を増加させ、全面的なネットワーク100レイテンシ時間を減少させることができる。大量のデータをより小さな要素としていくつかのチャンネルにわたって送信することは、同じ量の単一の大きなデータ片を単一のチャンネルで宛先に送信することと比較して、ネットワークスループットを増加させることができる。この理由は、多くの装置によって処理されている小さな1片のデータが、単一の装置によって処理される大きな1片のデータよりも、ネットワークを通じて速く移動することができるからである。小さな数片のデータパケット110a, 110b, 110c, 110dを一度に送信することによって、それらは単一の大きなデータパケット110よりも迅速にホスト装置に到達することができる。したがって、リレー103, 104, 105の台数を増加させると、チャンネルの数を増加させることができ、ネットワークを通じて移動してホスト装置102に到達する、より小さなデータパケットセグメント110a, 110b, 110c, 110dの数が増加することに帰着し、したがって、リクエスト装置101およびホスト装置102からのリクエストと応答との間のレイテンシ時間を減少させることができる。
【００２１】
それぞれのリレー装置103, 104, 105はさらに、ホスト装置102へのデータパケットセグメント110b, 110c, 110dを受け取り、処理し、転送するために自身のコンピューティングリソースを使用することにより、ネットワーク100の全面的な処理能力を高めることができる。リレー装置103, 104, 105によって使用することが可能なリソースは、中央処理装置(CPU)、追加のランダムアクセスメモリ(RAM)、ハードドライブスペース、仮想メモリ、帯域幅、ネットワークスループットおよび追加の電力によって提供される、中央の処理能力を含むことができる。データパケット110a, 110b, 110c, 110dのすべてがそれらの最終宛先に一旦到達すると、それらは、ホスト装置102によって完全長のデータパケット110に再アセンブルし直すことができる。追加のリレー装置103, 104, 105リソースは、ネットワーク100の全面的な速度を増加させるためのリソースプールとして使用することができる。より多くのリソースを追加することにより、全面的なコンピューティング能力およびネットワーク100のスループットが同様に増加することができる。したがって、利用可能なリソースを増加させることにより、リクエスト装置101とホスト装置102との間をパケットが転送するためにかかる時間の合計はこのように減少し、全面的なネットワークレイテンシ時間を減少させることができ、ホスト装置102のリモートアクセスをリアルタイムまたはほぼリアルタイムで提供することができる。
【００２２】
ネットワーク100のそれぞれのノードは、リクエスト装置101、リレー装置103, 104, 105またはホスト装置の役割に特に指定することができる。この実施形態では、リレー装置は、リクエスト装置とホスト装置との間でリクエストおよび応答を転送すること以外のアクションを実行するためのリクエストを生成しなくてもよいし、またはリクエストされなくてもよい。しかしながら、ノードの指示は、フレキシブルであることができ、別のノードのアクションについてのリクエストを送信またはこれに応答する際のノードの役割に応じて、変化することができる。それぞれのノードは他のノードからアクションを要求することができ、あるいは、他のノードが互いの間で通信している場合、残りのノードは、通信を促進してリソースプールに追加のリソースを供給するためのリレーとして動作することができる。例えば、ネットワーク100が、第1のノード、第2のノードおよび第3のノードを含んでいる場合、第2のノード上に格納されたファイルを第1のノードが修正しようと求めていると、第1のノードはリクエスト装置101として分類することができ、第2のノードはホスト装置102として分類することができる。第1のノードが、第2のノードのファイルの修正に関する指示を提供するデータパケット110をセグメント化して、データパケットセグメントを第3のノードに転送し、その後、第3のノードが第2のノードにデータパケットセグメントを転送すると、例における第3のノードはリレー103として動作することができる。ノードの役割は後続の通信に応じて再分類することができる。例えば、先の例における第3のノードが第1のノードにファイルをオープンすることを引き続き要求していると、第3のノードは、今やリクエスト装置101として分類することができ、第2のノードはホスト装置102として分類することができる。
【００２３】
様々なノードまたはコンポーネントが互いに通信するために、ネットワーク化可能な装置間のネットワーク接続を確立するための従来のあらゆる既知の方法を使用して、ネットワークをセットアップすることができる。ネットワークは、パブリックIPアドレスのようなインターネットプロトコルを使用する公衆ネットワークとしてセットアップされるか、あるいは、ネットワークは、プライベートなネットワークであるか、または、公衆に用いられているインターネットから見ることができないプライベートIPアドレスを割り当てる仮想プライベートネットワーク(VPN)であってもよい。一実施形態では、ネットワーク100は、ルータ、ゲートウェイ、ブリッジ、スイッチ、ハブ、ネットワークインタフェースカード(NIC)および／またはリピータのようなハードウェア手段を使用して、複数のノード間で確立することができる。ソフトウェアネットワークは、ネットワーク100のそれぞれのノード間で確立することができる。ソフトウェアのネットワーク化は、ネットワークのそれぞれのノード上にアプリケーションまたはプログラムをインストールすることにより達成することができる。ソフトウェアアプリケーションは、ネットワークのコントロールがノードのハードウェアから分断されることを可能にし、その代わりに、IPアドレスと、別のノードに対する或るノードの機能およびコントロールとを割り当て、周辺機器としてノードを割り当て、ネットワーク化されたノード間の情報のパケットのフローおよび転送を指示することができるコントローラとして、ソフトウェアが動作することを可能にする。ソフトウェア定義されたネットワークの使用は、ネットワークトラフィックに対するより大きなコントロール能力を有するネットワーク100の管理者を提供することができる。ネットワークはさらに、ハードウェアとソフトウェアとの組み合わせであってもよい。一実施形態では、ネットワーク管理者は、或るタイプのパケットを優先的または非優先的にすることができる。別の実施形態では、ネットワーク管理者は、パケットのフロー速度をコントロールすることができるか、あるいは、リクエスト装置101からのリクエストパケット110を受け取るように或るリレーを指示し、ホスト装置102からの応答パケット210だけを受け取るように他のリレーを指示することができる。別の実施形態では、ソフトウェアネットワークは、周辺機器としてのノードの割り当てに基づいて、リクエストのノードタイプを制限することができる。例えば、マウスとして割り当てられたノードは、マウスカーソルの移動またはマウスボタンのクリックを指示するパケットのみをホスト装置102に送信することができる一方で、キーボードとして割り当てられた周辺機器は、マウスを全くコントロールすることができず、むしろ、キーボード上で見つかったキーのうちのいずれか1つを入力するように、ホスト装置にリクエストすることができる。
【００２４】
ネットワーク100の実施形態は、通信プロトコル(プロトコル)の確立を含むことができる。プロトコルは、リクエスト装置101、ホスト装置102、およびリレー装置103, 104, 105を含むネットワークのすべてのノード間で確立することができる。プロトコルは、ネットワーク100上のコンピューティングシステムまたはノード間でメッセージを交換するためのディジタルメッセージフォーマットおよびルールのシステムであってもよい。プロトコルは、ノード間の通信のシンタックス、同期およびセマンティクスについて記述することができる。プロトコルは、それぞれのノード間で共通に理解されている言語として見なすことができ、それぞれのノードが、他のノードが理解可能なやり方で、他のノードへのリクエストまたは応答を促進することを可能にする。プロトコルの実施形態は、伝送制御プロトコル(TCP)、インターネットプロトコル(IP)、開放型システム間相互接続(OSI)、アップルトーク、ユーザデータグラムプロトコル(UDP)、インターネットワークパケットエクスチェンジ(IPX)、シーケンスパケットエクスチェンジ(SPX)や、IEEE 802.1スタンダードのような共通に知られているまたは使用されている他のプロトコル、ならびにそれらの組み合わせを含むことができる。確立される他のプロトコルは、他のコンピューティング装置と共に携帯電話またはモバイル装置と通信するために使用されるプロトコルを含むことができる。これらモバイルプロトコルは、General Packet Radio Services(GPRS)、Enhanced Data GSM Environment(EDGE)、Universal Mobile Telecommunication Service(UMTS)、Wideband Code-Division Multiple Access(WCDMA)（登録商標）、High-Speed Downlink Packet Access(HSDPA)、Evolution Data Maximized(EVDO)、Mobile WiMAX、LTE、LTE advanced、mobile broadband wireless access(MBWA)、IEEE 802.20や、モバイル装置または携帯電話との間でデータおよび通信を転送するために共通に使用されている他のあらゆるネットワークプロトコルを含むことができる。
【００２５】
異なるノード間で異なるタイプのプロトコルが確立されてもよい。いくつかの実施形態では、ノードがネットワーク100上の特定のクラスのノードと通信することを可能にする複数の異なるプロトコルを、単一のノードが装備していてもよい。典型的な実施形態では、ネットワーク100のそれぞれのノード間にTCP/IPプロトコルが確立される。
【００２６】
図3を参照すると、リモートコントロールされたネットワーク100内の別のノードからまたは直接のユーザアクション302から着信データパケット301をリクエスト装置101が受け取る場合の、リクエスト装置101のロジックおよび分析が示されている。典型的な実施形態では、リクエスト装置は、着信する装置101上のポートに到達するように指示された着信データパケット301を絶えずリスニングすることができる。ポートは、ネットワーク内の他のノードとの通信のノードポイントとして機能する、アプリケーション特有のまたはソフトウェア特有の構成物であることができる。ポートはリクエスト装置101またはホスト装置102のIPアドレスに関連付けられることができ、ネットワーク化されたノード間で通信の着信または発信を可能にする。典型的な実施形態では、データパケットは、ネットワーク100を介してノードの特定のIPアドレスへルーティングすることができる。さらに、典型的な実施形態は、それぞれのノードが、ネットワーク100上の他のあらゆるノードについて、着信および発信ポートを予約するように指示することができる。
【００２７】
リクエスト装置101は、そのネットワーク化されたポートによって受け取ることが可能な着信データパケット301の、2つの出所についての解釈を担うことができる。着信データパケット301の第1の出所は、リクエスト装置301への直接のユーザアクション302からとすることができる。典型的な実施形態では、着信データパケット301を生成することができるユーザアクション302は、ホスト装置102上のあらゆる特徴をコントロールまたは操作するための、リクエスト装置101の特徴のあらゆる操作を含むことができる。ホスト装置102の特徴をコントロールまたは操作することができるユーザアクション302は、ホスト装置102上に格納されたファイルを、オープン、修正、コピー、移動、削除、見る、オープン、保存および／またはクローズするような機能の操作を含むことができる。ホスト装置102上で操作可能な他の特徴は、周辺機器または非リクエストノードの起動または操作を含むことができる。例えば、一実施形態では、ユーザアクション302は、リクエスト装置101上でそのような操作をミラーリングすることにより、ホスト装置102のマウスを操作することを含むことができる。別の実施形態では、ユーザアクションは、ホスト装置102に取り付けられたカメラを起動または停止することを含むことができる。さらに別の実施形態では、ユーザアクション302は、リクエスト装置101に調節をリクエストさせることにより、ホスト装置102のスピーカのボリュームの操作を含むことができる。他の実施形態では、ユーザアクションは、テレビ、スマート家電またはセキュリティシステムのような、ホスト装置による操作を要求していないネットワーク化されたノードを操作するように、ホスト装置102に要求することを含むことができる。この他の実施形態では、リクエスト装置は、テレビ局の変更やサーモスタット温度の修正やセキュリティシステムを停止するような、非リクエストノードをさらに操作するように、ホスト装置102を操作することができる。
【００２８】
一実施形態では、受信装置101として動作するコンピューティングシステム1200は、ホスト装置102上で動作を実行するリクエストを、入力装置1202から受け取ることができる。その後、リクエスト装置101は、入力装置によってリクエストされたアクションをデータパケットに形式化することができる。その後そのリクエストは、使用されているリレー装置の台数に応じて所定数のパケットにセグメント化されて、アクションがリクエストされるそれぞれのリレー装置およびホスト装置に送信される。
【００２９】
別の実施形態では、リクエスト装置101によって、ホスト装置102の特徴および機能を操作するようにリクエスト装置101に指示するユーザアクション302が一旦発生していると、着信パケット301が決定されると、リクエスト装置は、ホスト装置102および他のネットワークノードが理解可能な適切なプロトコルにユーザアクションを置くことが可能なデータパケットを形式化することができる。典型的な実施形態では、パケットはTCPおよび／またはIPパケットにアセンブルされる。その後、リクエスト装置101は、リクエスト装置101がデータパケットをホスト装置102に直接的に314提出しているか否かを、あるいは、リレー装置303が利用可能か否かを判断することができる。一実施形態では、ネットワーク100上に少なくとも1つの利用可能なリレー103, 104, 105が存在すると、リクエスト装置は、リレーおよびホスト装置304の合計の台数で均等に、データパケット110を自動的にセグメント化してもよい。他の実施形態では、リクエスト装置は、リクエスト装置101とホスト装置102との間のリレー能力およびレイテンシ時間を決定するために、小さなテストパケットを提出することができる。リクエスト装置は、レイテンシ時間に基づいてデータパケットをセグメント化することができる。したがって、ホスト装置への最速の経路が最大のデータパケットを受け取ることができ、その一方で、最も遅いリレーが最小のデータパケットを受け取ることができる。
【００３０】
他の実施形態では、リレーはネットワーク100に接続することができるが、そのネットワークはリクエスト装置101に応答しなくてもよい。応答しないリレー装置について想定可能な理由は、リレー装置がネットワーク管理者によって特定のユーザアクション302のために予約されているか、ホスト装置102の応答パケット210を促進するために予約されているか、あるいは、先のデータパケットでリレー装置の容量が満たされていること、を含むことができる。一実施形態では、リクエスト装置はリレーを迂回し、データパケットをホスト装置に直接的に314提出することができる。別の実施形態では、リレー装置がデータパケット110の転送が利用可能となるのに要する所定の時間、リクエスト装置101が待機してもよい。
【００３１】
リクエスト装置101が受け取ることが可能な第2のタイプの着信データパケット301は、ホスト装置応答パケット320であることができる。ホスト装置応答パケット320は、リクエスト装置101から送信されたリクエストパケット110に応じてホスト装置102から発生するデータパケット210であることができる。典型的な実施形態では、ホスト応答パケット320はパケットセグメント210a, 210b, 210c, 210dの状態で到達することができる。完全な応答パケット330を形成するために、リクエスト装置101は、ホスト装置応答パケット320を読み込んで、それぞれのセグメントおよびすべてのセグメントが到達しているか否かを決定する。一実施形態では、ホスト装置応答パケットのすべてのセグメントが一旦受け取られると、リクエスト装置は、応答パケットを再アセンブルし、コンピューティングシステム1200の出力装置1203を使用して、ホスト装置の応答に関するデータを表示することができる。
【００３２】
典型的な実施形態では、ホスト装置の応答210は、リクエスト装置340のグラフィカルユーザインタフェース(GUI)上に表示することができる。GUIは、ユーザがテキストベースのコマンドではなく画像イメージを使用してノードと対話することを可能にする、あらゆるタイプのユーザインタフェースであることができる。GUIは、グラフィカルなアイコンまたは視覚的な指標として、情報およびアクションを表示することができる。典型的な実施形態では、GUIは、リクエスト装置101によるホスト装置の操作に対する応答を、リアルタイムで表示することができる。リクエスト装置のGUIは、ホスト装置102の操作後に直ちに、ホスト装置のGUIを正確に反映することができる。別の実施形態では、GUIは、ネットワークに加入または脱退する能力を、リクエスト装置のユーザに提示することができる。さらにGUIは、ネットワーク上のすべてのノード、コントロール可能なすべてのノード、および、それぞれのリクエスト装置についてコントロール可能な周辺機器に関する、リクエスト装置が利用可能なオプションを表示することができる。
【００３３】
ここで図4を参照すると、リモートコントロールされたネットワーク100内の別のノードからまたは直接のユーザ入力302から着信データパケット410を受け取るリレー装置103の、ロジックおよび分析の典型的な実施形態が示されている。典型的な実施形態では、リレー装置103は、リレー装置103上のポートに到達するように指示された着信データパケット401を絶えずリスニングすることができる。ポートはリレー装置103のIPアドレスに関連付けられることができ、ネットワーク化されたノード間で通信の着信または発信を可能にする。典型的な実施形態では、着信データパケットと、IPアドレスによってネットワーク100内の別のノードに向けられている発信データパケットとに、個別のポートが使用されてもよい。
【００３４】
リレー装置は、3つの異なる出所から着信データパケット401を受け取ることができてもよい。着信データパケット401の3つの出所は、リクエスト装置パケット402と、ホスト応答パケット420と、ユーザ入力パケット302とを含むことができる。ネットワーク100の典型的な実施形態では、着信データパケットの3つの出所は異なる最終宛先を有することができる。典型的な実施形態におけるリレー装置103は、適切な宛先ノードへの、着信データパケット401の適切な転送を可能にする、着信データパケット401の3つの異なる出所を決定し区別することができる。
【００３５】
着信データパケット401の第1の出所は、リクエスト装置101からとすることができる。典型的な実施形態では、リクエスト装置パケット402にはホスト装置102の意図された宛先があってもよい。出所および宛先を決定するために、リレー装置103は、着信データパケットを受け取るとこれをスキャンすることができる。典型的な実施形態では、着信データパケットの出所がリクエスト装置からであり、着信データパケット401の宛先がホスト装置であると、リレー装置103が一旦決定すると、リレー装置は、着信データパケット401をリクエスト装置パケット402として分類することができる。したがって、リレー装置103は、ホスト装置102へのパケット402を中継するために、その利用可能なリソースを使用することができる。他の実施形態では、リレー装置は、或るタイプの着信データパケットを転送しないようにセットアップされてもよい。例えば、リレーは、ネットワークプロトコルの一部として、リクエスト装置パケット402は転送しないがホスト応答パケット420のみは転送するように指示されてもよい。この他の実施形態では、リレー装置103は、ホスト装置にパケットを中継する代わりに、リクエストを無視して他の着信パケット410をリスニングし続けることを選択してもよい。中継処理においてデータのパケットが失われないことを保証することを支援することができる1つの方法は、リレー装置へのテストパケットをリクエスト装置101に提出させることである。リクエスト装置のテストパケット110は、リレー装置がパケットを受け取った場合に転送するか否かを決定するためのダミーファイルとして動作することができる。テストパケットは、宛先ホスト装置102からの確認を単に要求するネットワークプロトコルを用いて適切にフォーマットされた、情報の小さなパケットであることができる。引き続き、リクエスト装置101が確認応答パケットを受け取ると、リクエスト装置は、リレー103が適切にホスト装置102パケットを転送していると確認する。
【００３６】
リレー103への着信データパケット401の第2の出所は、ホスト応答パケット420とすることができる。典型的な実施形態では、ホスト応答パケット420は、1台以上のリクエスト装置101のまたはネットワークに接続された非リクエストノードの、意図された宛先を持つことができる。着信するリクエスト装置パケットと同様に、リレー装置103は、着信データパケット401をスキャンして、着信データパケットの出所がホスト装置102であることと、着信データパケット401の宛先がリクエスト装置またはネットワーク内の他のノードであることとを決定することができる。したがって、リレー装置は、ホスト応答パケット420として着信データパケット401を分類するために動作することができる。したがって、リレー装置103は、リクエスト装置または非リクエストノードへパケット420を中継するために、その利用可能なリソースを使用することができる。1つの他の実施形態では、リクエスト装置101は、ホスト装置102による応答がリクエスト装置以外のノードに送信されることを要求することができる。したがって、リレー装置がパケットをスキャンする場合、リレー装置は、ホスト装置102として出所を決定することができ、リクエスト装置と離れているノードを最終宛先と決定することができる。その後、そのリレーは、それがネットワーク100の適切なノードに到達するように、応答指示に従ってパケットを転送することができる。
【００３７】
さらに別の実施形態では、リクエスト装置101は、ホスト装置からの応答が複数のノードに配達されることを要求することができる。一実施形態では、ホスト装置は複数のパケットのコピーを転送することができ、コピーのそれぞれはそれぞれのノードについて指定されている。他の実施形態では、ホスト装置102は、それぞれのリレー装置に、それぞれのパケットセグメントの単一のコピーを発送することができる。リレー装置103は、それぞれの宛先ノードにとって十分なパケットのコピーを作成するために、自身のリソースを使用することができ、その後、宛先ノードへそれぞれのコピーを転送することができる。
【００３８】
追加の実施形態では、リレー装置は、ホスト応答パケット420を含む或るタイプの着信データパケットを転送しないセットアップであることができる。例えば、リレーは、ネットワークプロトコルの一部として、ホスト応答パケットを転送しない代わりにリクエスト装置パケット402を排他的に転送するように指示されてもよい。この他の実施形態では、リレー装置103は、リクエスト装置へパケットを中継する代わりに、リクエストを無視して他の着信パケット410をリスニングし続けることを選択してもよい。中継処理においてデータのパケットが失われないことを保証することを支援することができる1つの方法は、リレー装置へのテストパケットをホスト装置102に提出させることである。しかしながら、リクエスト装置のテストパケット110はダミーファイルとして動作してもよく、ホスト装置102は、パケットが一旦転送されたならば、受領通知を要求する指示を含むことができる。引き続き、ホスト装置102が受領パケットを受け取ると、ホスト装置102は、リレー103が適切にリクエスト装置または他のノードへパケットを転送していると確認する。
【００３９】
着信データパケット401の第3の出所は、コンピューティングシステム内の入力装置1203からのような、直接のユーザ入力302とすることができる。上述したように、ネットワーク内のあらゆるノードは、ノードの現在の機能に応じて指示を変更することができる。リレーはコンピューティングシステム1200であってもよいし、例えばリレー装置103の入力装置1203を通じて、リレー装置103の機能および特徴を直接操作するユーザから、入力を受け取ることができてもよい。いくつかの実施形態では、リレー装置はさらに、ホスト装置103を操作するために使用されてもよい。ユーザから指示された着信データパケットがホスト装置の機能の操作を要求する場合、リレー装置はその時点でリクエスト装置101とみなすことができる。リクエスト装置として動作するそのリレー装置は、ホスト装置102および他のネットワークノードのプロトコルによる認識に適切なデータパケット110に、着信データパケット401を形式化することができる。この実施形態では、リクエスト装置として動作するリレー装置は、さらにパケットをセグメント化して、上述したリクエスト装置101の方法と同様の方法で、ホスト装置102および他のリレーにそのパケットを提出することができる。
【００４０】
ここで図5を参照すると、着信データパケット501を受け取るホスト装置102のロジックおよび分析の典型的な実施形態が示されている。ホスト装置102は、リクエストされたアクションを行って応答パケットを生成することにより、リクエスト装置パケット502から発生するパケットに応答することができる。典型的な実施形態では、リクエスト装置パケット502は、利用可能なリレー装置の台数および／またはリレー装置103のリソース能力に応じてセグメント化されてもよい。典型的な実施形態では、ホスト装置102は、すべてのセグメントが受け取られたか否かを判断するために、リクエスト装置パケットセグメントをスキャンすることができる。すべてのパケットが一旦受け取られると、ホスト装置は、オリジナルの予めセグメント化されたデータパケットに、パケットセグメントを再アセンブルし直すことができる。その後、ホスト装置は、リクエスト装置101からのすべての指示またはリクエストを読み込むことができる。典型的な実施形態では、ホスト装置は、指示されたリクエストを実行し、引き続き、リクエスト装置のリクエストに従って、ホスト装置自身のファイル、周辺機器、システムおよび／または生成された出力を調節することができる。さらに、典型的な実施形態のホスト装置は、生成された応答を、リクエスト装置および／または非リクエストノードに送信することができる。応答は、リクエスト装置または非リクエストノード上に、ホスト装置の現在のステータスを正確に表示または反映することができる。例えば、リクエスト装置は、ホスト装置上にオープンされたファイルを見ることができ、ファイルのクローズを望むことができる。ファイルをクローズするために、リクエストがホスト装置に提出される。引き続き、リクエストを受け取るとホスト装置はファイルをクローズし、その後、そのクローズしたファイルのステータスをリクエスト装置101に転送する。リクエスト装置が応答を受け取ると、リクエスト装置は、クローズしたファイルが今正確にクローズされたことを知覚する。応答は、明らかにファイルのオープンおよびクローズに制限されず、むしろ、典型的な実施形態では、ホスト装置をコントロールするこの方法と、リクエスト装置にこれらの変更を正確に反映することとは、リクエスト装置によって操作することが可能なあらゆる機能について行うことができる。
【００４１】
図6を参照すると、ネットワーク600を特徴とする他の実施形態が示されている。この他の実施形態では、ネットワーク600は、2台の別々のリクエスト装置601, 620からの2つの同時のリクエストを取り扱っている。第1のリクエスト装置601および第2のリクエスト装置620はそれぞれ、個々のリクエスト装置101についての上述の実施形態に従って動作することができる。第1のリクエスト装置601は、着信するユーザに指示されたアクションを、複数のデータパケットセグメント610a, 610b, 610c, 610dにセグメント化することができる。それぞれのデータパケットセグメントがホスト装置602について指定されることができる。ネットワーク600のトータルスループットおよび能力を増加させるために、リクエスト装置601は、リレー装置603, 604を使用して、ホスト装置602にデータパケット621b, 621cを転送することができる。さらに、リクエスト装置は、それ自身がホスト装置602にパケットセグメント610aを直接的に転送してもよい。さらに、ネットワーク600の実施形態では、第2のリクエスト装置620が使用されて、リクエスト装置およびリレー装置と同時に動作することができる。リクエスト装置620は、リクエスト装置601の着信データパケット610dを受け取るために、着信パケット用の専用ポートを使用することができる。引き続き、リレーとしてその能力で動作しながら、リクエスト装置620は、ホスト装置602へパケット610dを転送するために、その利用可能なリソースを使用することができる。
【００４２】
リクエスト装置620がリクエスト装置601のためのリレーとして動作することができる一方で、典型的な実施形態では、リクエスト装置620はさらに、同時にリクエスト装置として動作することができる。この点に関して、リクエスト装置620は、リクエスト装置601によって受け取られたものから個別のユーザアクションデータパケットを受け取って、セグメント化することができる。典型的な実施形態では、リクエスト装置620は、リレー装置603, 604にデータパケットセグメント621b, 621cを転送するために、発信ポートを利用することができる。リクエスト装置620はさらに、リクエスト装置601と同様に動作することができる。リクエスト装置620は、データパケット621aをホスト装置602に直接的に提出することができる。さらに、リクエスト装置620はまた、リレー装置として同時に動作するリクエスト装置601を使用することができ、したがって、リクエスト装置として同時に動作しながら、ホスト装置602へデータパケット621dを転送するために、自身のリソースを利用することができる。
【００４３】
図示するように、リレー装置603, 604は、複数の同時の着信データパケットを受け取ることができる。典型的な実施形態では、リレー装置は、複数のデータパケットを互いに並列に受け取って送信するための十分なリソースを有することができる。データパケットの並列処理を達成するための1つの方法は、ネットワーク600のそれぞれのノード用に専用に、着信および発信ポートを指定することであってもよい。このことは、リレー装置が、データパケットのキューを形成することなく、同時にネットワーク上のすべてのノードからの通信をリスニングして応答することが可能であることを保証することができる。
【００４４】
あるいは、別の実施形態では、リレー装置は、複数の同時のデータパケットリクエストの処理について確立されているプロトコルを有することができる。一実施形態では、リレー装置603, 604は、パケットの到達順に基づいてデータパケットを処理して転送することができる。別の実施形態では、データパケットは指定した階層でアドレスされてもよい。例えば、リクエスト装置601はリレー装置に対するプライオリティを有することができる。したがって、リレー装置603, 604は、リクエスト装置601のパケットを最初に受理し、処理し、転送するために、リクエスト装置620のパケット621b, 621cの処理および転送を阻止することができる。さらに別の他の実施形態では、それぞれのリレー装置は異なるプロトコル階層に従ってセットアップされてもよい。別の想定可能な実施形態は、リレー603, 604が現在データパケットの転送処理中である場合に、追加の着信パケットを拒絶することをリレー装置603, 604に要求することが可能なプロトコルを含むことができる。この想定可能な実施形態では、リレー603, 604は、1つのパケットセグメントを一度に処理および転送することのみができ、したがって、能動的にパケットセグメントを転送しながら、非応答的であることができる。
【００４５】
典型的な実施形態では、ホスト装置602は、リクエスト装置601, 620に対する応答を同時に受け取って提出することができる。ホスト装置602は、ネットワーク600上のそれぞれのノード用に着信ポートを専用化することにより、すべてのデータパケットの同時の受領を達成することができる。別の実施形態では、ホスト装置は先着順で着信パケット610, 621を受け取ることができる。典型的な実施形態では、ホスト装置602は、同時のリクエストを一旦受け取ると、リクエスト装置601, 620からのそれぞれのリクエストを同時に完了するために、必要に応じてリソースを配分することができる。一実施形態では、リソースの配分は、それぞれのリクエスト間で均等に分割することができる。別の実施形態では、それぞれのリクエストは、サイズ、応答に必要な処理の複雑さおよび強度に基づいて、そのリクエスト用に専念されたリソースを受け取ることができる。
【００４６】
リクエスト装置601, 620の両方がホスト装置の同じ機能、ファイルまたは周辺機器の操作をリクエストする場合、ホスト装置は、どの個別のファイル、機能、特徴または周辺機器の操作が求められているかを決定するために、リクエストを比較するように指示されてもよい。典型的な実施形態では、第1のリクエスト610と第2のリクエスト621との間にコンフリクトが存在すると、リクエストの受け取り順に操作が生じることができる。2つの別々のリクエストが同じファイルを操作しようとしている他の実施形態では、ホスト装置は、オリジナルのファイルとは個別に操作することが可能な複製ファイルを作成することができる。このことは、それぞれのリクエスト装置601, 620によるコンフリクト操作を緩和することができる。
【００４７】
図7を参照すると、ネットワーク700の他の実施形態が示されている。ネットワーク700は、リクエスト装置701, 720が、それぞれのリクエスト装置のユーザによって、2台の別々のホスト装置702, 712を同時に操作するようにタスクが割り当てられることができる、1つの想定可能なシナリオを示している。この実施形態では5つのノードが提示されている。しかしながら、上述したように、ネットワーク700はより多くのまたはより少ないノードを含むことができる。さらに、ネットワーク700は2つの同時のリクエストのみを示している一方で、リクエスト装置からの同時のリクエストはいくつでも存在することができる。ネットワーク700の典型的な実施形態では、第1のリクエスト装置701は、ユーザリクエストパケットを、適切なネットワークプロトコル710のデータパケットにアセンブルすることができる。その後、リクエスト装置は、データパケットを、一連のセグメント710a, 710b, 710cにセグメント化することができる。ネットワーク700では、リクエスト装置は、指定したホスト装置702にパケット710aを直接的に提出することができる。さらに、リクエスト装置はまた、ネットワーク700内の他のノードのリソースを利用することができる。第1のリクエスト装置701は、リレーとして動作することが可能な他の装置に、残りのパケットセグメント710b, 710cを転送することができる。
【００４８】
図7の実施形態では、第1のリクエスト装置701は、リクエスト装置720およびリレー装置703を使用することができる。ホスト装置712はリレーとして動作することができ、このようにリソースプールにそのリソースを寄与することができるので、他の実施形態では、リクエスト装置はさらに、ホスト装置702へのパケット転送を支援するために、他の残りのノード装置であるホスト装置712を使用することを選択してもよい。
【００４９】
ネットワーク700の典型的な実施形態では、第2のリクエスト装置720上のネットワークユーザから個別のリクエストが生じてもよい。第2のリクエスト装置720は、ネットワーク700の他のノードによって理解可能なネットワークプロトコルに適合したデータパケット721に、第2のリクエストをアセンブルすることができる。第2のリクエスト装置720は、操作用に指定されたノードであるホスト装置712にデータパケット721全体を転送するために必要とされるセグメントの最適数を計算することができる。一実施形態では、第2のリクエスト装置は、データパケット721を3つのセグメント721a, 721b, 721cにセグメント化することができる。第2のリクエスト装置720は、ホスト装置712にデータパケットを直接的に転送すること、および／または、リレーとして他のノードを使用することができる。ネットワーク700の実施形態では、第2のリクエスト装置は、パケットセグメント721b, 721cを、リレー装置703と第1のリクエスト装置701(リレー装置として動作することが可能である)とにそれぞれ転送しており、同様に、少なくとも1つのパケットセグメント721aをホスト装置712に直接的に提出する方法を使用している。
【００５０】
ネットワーク700の典型的な実施形態では、リレー装置703は、個別の出所からの複数のパケットセグメント710b, 721bを、複数のホスト装置702, 712に転送することが可能である。典型的な実施形態では、リレー装置703は、複数のパケットセグメント710, 712を同時に受け取って、ソートして、転送することが可能である。そのような技術的な特徴を達成するための1つの方法は、ネットワーク700のそれぞれのノード用の専用のポートをリレーに使用することである。リレー装置703は、個別のノードからの着信データパケットを、それぞれの個別のポート上で同時にリスニングして受け取ることができる。その後、リレー装置703は、2つのタスク間にリソースを割り当てることにより、それぞれのパケットセグメントの宛先に関する指示について、データパケット710b, 721bを同時にスキャンまたは読み込むことができる。リレー装置703はさらに、ホスト装置702, 712に専用の個別の発信ポートを通じて、それぞれのパケットセグメント710b, 721bを転送することができる。
【００５１】
図8を参照すると、ネットワーク800の他の実施形態が示されている。ネットワーク800では、単一のリクエスト装置801がユーザから指示を受けて、2台のホスト装置802, 812の機能を同時に操作する。リクエスト装置801は、ホスト装置の操作をリクエストしているユーザアクションをデータパケット810に変換することができる。データパケット810は、ネットワーク800内のそれぞれのノードのプロトコルに従うフォーマットとすることができる。一実施形態では、リクエスト装置は、データパケットをセグメント810a, 810bにセグメント化する前に、データパケット810のコピーを生成することができる。他の実施形態では、リクエスト装置801は、データパケット810をパケットセグメント810a, 810bにセグメント化して、その後、それぞれのデータパケットセグメントのコピーを個々に生成してもよい。それぞれの個別のホスト装置802, 812について、必要な数のパケットセグメント810a, 810bが一旦準備されると、リクエスト装置801は、それぞれのパケットをそれぞれのリレー装置803, 804に転送することができる。一実施形態では、リレー装置803, 804は、特定のホスト装置802, 812へのパケットを処理および転送するために、特に自身のリソースの使用を予約することができる。図8に示すように、リレー装置803は、特にホスト装置802にパケット810bを転送するために予約することができ、一方で、リレー装置804は、ホスト装置812にパケット810bを排他的に転送することができる。
【００５２】
他の実施形態では、リクエスト装置801は、データパケット810を3つのセグメント810a, 810b, 810c(図示せず)にセグメント化することができる。引き続き、それぞれのリレー装置803, 804は、単一のデータパケットセグメントを受け取ることができ、その後、それぞれのリレー装置には、データパケットセグメントを指定された回数コピーするタスクが割り当てられる。指定された回数は、データパケットを転送するためにリクエスト装置801がリレー装置に指定することができるホスト装置の台数に基づいている。リレー装置803, 804は、データパケットを要求された個数コピーするために自身のリソースを使用することができ、それぞれのホスト装置802, 812にデータパケットセグメントを転送する。
【００５３】
図9を参照すると、ネットワーク900の他の実施形態が示されている。ネットワーク900では、複数のリクエストが、専用のリレー装置903, 904, 905, 906を通じてホスト装置902に提出される。典型的な実施形態では、第1のリクエスト装置901は、ホスト装置902を操作するための特定のアクションをリクエストしているユーザから、着信データパケットを受け取ることができる。リクエスト装置901は、ネットワーク900内の他のノードが理解可能なフォーマットでデータパケットを準備する。一実施形態では、リクエスト装置901は、アクセス可能な利用可能なリレー903, 904の台数の決定を試みることができる。上述したように、利用不可能なリレー905, 906は、第1のリクエスト装置901からの着信データパケットを無視する指示でプログラムすることができる。他の実施形態では、リレー装置905, 906は、第2のリクエスト装置920からのパケットの転送を、ほんの一時的に指定されてもよい。リレー905, 906は、パケットに921a, 921bの転送処理が一旦完了すると、他のネットワークノードについてのパケット転送を再開することができる。
【００５４】
引き続き、第1のリクエスト装置901は、テストパケットの転送のような上述した方法を通じて、または、ネットワークノードの有効性をテストするためのネットワーク業界において既知の他の手段によって、どのリレーが利用可能であるかのテストを試みることができる。テストの結果、第1のリクエスト装置901は、リクエスト装置901がパケット910a, 910b, 910cの転送を望むポイントにおいて、或るリレーだけが利用可能903, 904であると決定することができる。したがって、第1のリクエスト装置は、データパケット910を3つのセグメントにセグメント化することができ、1つのセグメントは、それぞれの利用可能なリレー903, 904用であり、1つのデータパケットセグメント910aは、ホスト装置902に直接的に転送することができる。
【００５５】
第2のリクエスト装置920は、第1のリクエスト装置が第1のユーザリクエストを受け取る時点と時間的に隣接する時点にまたは同時に、第1のリクエスト装置901と同じホスト装置902を操作するためのリクエストを受け取ることができる。利用可能なリレー905, 906は、第2のリクエスト装置920用に予約するよう指定されているか、あるいは、第1のリクエスト装置によって現在使用されていない唯一のリレーであることができ、第2のリクエスト装置は、それら利用可能なリレーを使用して、ホスト装置902にデータパケット921を転送するリクエスト装置901と同じアクションを独立して実行することができる。
【００５６】
ネットワークのリレー装置が一度に1つのリクエストのみを実行可能な実施形態では、複数のリレーの中から少なくとも1つのリレーが、リクエスト装置になることが可能なネットワーク上のそれぞれのノードに指定されてもよい。このことは、いかなる時であっても少なくとも1つのリレーがリクエスト装置に利用可能であることを保証することができる。あるいは、それぞれのリクエスト装置が単一の期間に占有することが可能なリレー装置の総台数またはリレー装置のパーセンテージを制限するために、ネットワークプロトコルがセットアップされてもよく、したがって、どのような1つのリクエストもホスト装置に到達するために最適未満の時間がかからないことを保証するために、リレー装置の予約供給が利用可能であることができる。
【００５７】
典型的な実施形態では、ホスト装置902は、それぞれのパケットセグメント910a, 910b, 910c, 921a, 921, 921cを同時に受け取ることができる。ホスト装置は、ネットワーク900のそれぞれのノードについて着信ポートを指定することができ、したがって、ホスト装置902は、それぞれのパケットセグメントを同時に受け取って、処理して、分析することができる。典型的な実施形態では、ホスト装置902は、それぞれのパケットセグメント910, 921を受け取ると、リクエストを比較して、操作リクエストが互いにコンフリクトする可能性があるか否かを判断することができる。操作リクエストがコンフリクトしなければ、ホスト装置902はそれぞれのリクエストされた操作を同時に実行することができ、それぞれのリクエスト装置901, 920に個別の応答を返すことができる。一方で、リクエストがコンフリクトするという決定をホスト装置902がすれば、ホスト装置は、コンフリクトを解決する方法と共にプログラムされることができる。コンフリクトの例は、ファイルをオープンおよび削除するための、別のロケーションにファイルを移動させて、以前のロケーションからファイルをオープンするための、互いに互換性をもたない2つの方法でファイルを修正するための、あるいは、コンフリクトするであろうと当業者が認識する他のあらゆるタイプの操作をするための、同時のリクエストを含むことができる。ホスト装置902は、そのようなコンフリクトの緩和を試みることができる。
【００５８】
一実施形態では、ホスト装置は、コンフリクトを防ぐために、ユーザによって同時に使用されているファイルのコピーを生成することができる。別の実施形態では、ホスト装置902は、単にリクエストが受け取られる順に操作リクエストを実行することができる。例えば、カーソルのような周辺機器のロケーションを調節するために、2つの別々のリクエストがなされると、第1のリクエストが実行されて周辺機器が指定した位置に調節され、これに引き続き、カーソル位置の後続の変更がなされることができる。
【００５９】
他の実施形態では、ホスト装置は、受け取った第2の操作リクエストにかかわらず、第1のリクエストを実行することができる。この点に関して、コンフリクトが存在し第2のリクエストがもはや実行可能ではない場合には、ホスト装置902は、コンフリクトに関する情報をユーザに提供するエラーメッセージと共に、第2のリクエスト装置920に応答することができる。
【００６０】
さらに他の実施形態では、複数のリクエスト装置によって操作されているホスト装置は、すべてのファイルのバーチャルコピーを個別に作成して、第1のリクエスト装置901用の第1の環境と、第2の環境とを表示することができる。第2の環境は、第1のリクエスト装置によってアクセス可能なすべてのファイルの正確な複製であり、第2のリクエスト装置が操作リクエストの提出をし始める現在の時点において、第2のリクエスト装置920によってアクセスすることが可能である。引き続き、ホスト装置902は、コンフリクトするあらゆるファイルの個別のコピーを保存し、第1のリクエスト装置901によって操作されたファイルとコンフリクトしない変更をマージすることができる。
【００６１】
図11を参照すると、リモートコントロールされたネットワーク1100の他の実施形態が示されている。ネットワーク1100では、リクエスト装置1101がホスト装置1102を操作することができる。ネットワーク100とは対照的に、ネットワーク1100のプロトコルは、リクエストパケット1110および応答パケット1120のフローおよび指示を規制し、最適化することができる。典型的な実施形態では、リクエストリレー1105, 1106と応答リレー1103, 1104とで等しい台数のリレー装置1103, 1104, 1105, 1106を指定することができる。パケットのフローをオーガナイズする1つの利点は、ネットワークスループットのようなリソースを最適化して、リクエスト装置1101とホスト装置1102との間で可能な限り最速のレイテンシ時間を達成することができることである。この実施形態の別の利点は、リソースプールにリソースを寄与することが可能な、自身が自由に使用可能なリレー装置をホスト装置1102が常に有することができることであり、これにより、追加のレイテンシ時間なしで、新しいリクエストが生成されるのと同じくらい速く、リクエスト装置1101への応答を可能にする。
【００６２】
他の実施形態では、複数のリレー装置は、ホスト装置1102へのリクエストの転送と、リクエスト装置1101への応答の転送との間で、リクエストから応答までの最適化レイテンシ時間に基づいて分割されることができる。ネットワーク1100は、リレー装置の様々な設定をテストし、トータルのレイテンシ時間を計算する設定モードを特徴とすることができる。利用可能なリソースという観点から見ると、それぞれのリレー装置は全く同一ではない可能性があるので、最適な設定を決定しているネットワークは、最適なレイテンシ時間の設定を決定する際に、単に利用可能なリレー装置の台数に注目するのではなく、リレー装置の品質およびその利用可能なリソースにも注目することができる。
【００６３】
以上、上述した特定の実施形態を参照して本発明を説明してきたが、多くの変形、修正および変更が可能であることは当業者には明らかである。したがって、上述したような本発明の典型的な実施形態は、例示的なものであり制限的なものではないことが意図される。添付する請求項で定義される本発明の技術的な思想および範囲から逸脱しない範囲内で様々な変更が可能である。請求項は本発明が保護される範囲を提供し、本明細書にて開示した特定の実施形態に制限されるべきではない。
【図１】
0006401774.tif 000002
【図２】
0006401774.tif 000003
【図３】
0006401774.tif 000004
【図４】
0006401774.tif 000005
【図５】
0006401774.tif 000006
【図６】
0006401774.tif 000007
【図７】
0006401774.tif 000008
【図８】
0006401774.tif 000009
【図９】
0006401774.tif 000010
【図１０】
0006401774.tif 000011
【図１１】
0006401774.tif 000012
【図１２】
0006401774.tif 000013
【図１３】
0006401774.tif 000014