JP6473688B2 - データ転送レートを増加させるためのデータストリーム分割 - Google Patents

データ転送レートを増加させるためのデータストリーム分割 Download PDF

Info

Publication number
JP6473688B2
JP6473688B2 JP2015532076A JP2015532076A JP6473688B2 JP 6473688 B2 JP6473688 B2 JP 6473688B2 JP 2015532076 A JP2015532076 A JP 2015532076A JP 2015532076 A JP2015532076 A JP 2015532076A JP 6473688 B2 JP6473688 B2 JP 6473688B2
Authority
JP
Japan
Prior art keywords
data
network
communication
data stream
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015532076A
Other languages
English (en)
Other versions
JP2015534352A (ja
Inventor
キース, エー ラニエレ,
キース, エー ラニエレ,
Original Assignee
ファースト プリンシプルズ インコーポレイテッド
ファースト プリンシプルズ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファースト プリンシプルズ インコーポレイテッド, ファースト プリンシプルズ インコーポレイテッド filed Critical ファースト プリンシプルズ インコーポレイテッド
Publication of JP2015534352A publication Critical patent/JP2015534352A/ja
Application granted granted Critical
Publication of JP6473688B2 publication Critical patent/JP6473688B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/626Queue scheduling characterised by scheduling criteria for service slots or service orders channel conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0453Resources in frequency domain, e.g. a carrier in FDMA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0096Channel splitting in point-to-point links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Description

[関連する出願との相互参照]
国際出願第PCT/US2013/059661は、2012年9月13日に提出された「データ転送レートを増加させるためのデータストリーム分割」と題する米国特許出願第13/613,230の一部継続出願である。
以下は、様々な要求に基づき通信の信頼性と速度を最適化するために、データストリームを複数のデータパケットに分割し、データパケットを送信する複数の通信経路を利用するための方法および関連するシステムに関する。
情報の送信は、典型的には、柔軟性が低く、時間を消費するプロセスを含む。
そのため、上述した欠陥と制約のうちの少なくともいくつかを克服するための技術が求められる。
第1の局面は一般に方法に関するものであり、方法は、コンピュータプロセッサを含む第1のインターフェース装置によって、第1のデータを受け取るステップと、コンピュータプロセッサによって、第1のデータを複数のデータパケットに分割するステップと、コンピュータプロセッサによって、第1のインターフェース装置に含まれる1つ以上のデータバッファ内に、複数のデータパケットを格納するステップと、コンピュータプロセッサによって、複数のデータパケットのうちの第1のデータパケットグループを、第1のインターフェース装置に通信可能な態様で連結された第1のネットワークノードへ送信するステップであって、第1のデータパケットグループのうちの第1のデータパケットサブグループは、第1のネットワークノードから第2のインターフェース装置へ、第1のネットワークノードに関連する第1の通信ネットワークを介して送信され、第1のデータパケットサブグループは第1のデータパケットグループのすべてのデータパケットを含むことはなく、第1のネットワークノードは、通信可能な態様で連結された第1の複数の通信装置を含む、ステップと、コンピュータプロセッサによって、複数のデータパケットのうちの第2のデータパケットグループを、第1のインターフェース装置に通信可能な態様で連結された第1の通信装置へ送信するステップであって、第2のデータパケットグループは、第1の通信装置から第2のインターフェース装置へ、第1の通信装置に関連する第2の通信ネットワークを介して送信され、第2のインターフェース装置は、内部データバッファ内に第1のデータパケットサブグループおよび第2のデータパケットグループを格納し、第1のデータパケットサブグループは第2のデータパケットグループとは異なり、第1の通信装置は通信可能な態様で連結された第1の複数の通信装置とは異なり、第1の通信ネットワークは第2の通信ネットワークとは異なる、ステップと、を含む方法である。
第2の局面は一般にインターフェース装置に関するものであり、インターフェース装置は、コンピュータ可読記憶装置に接続されたコンピュータプロセッサを含み、記憶装置は、コンピュータプロセッサによって実行された時に方法を実行するための命令を含み、方法は、コンピュータプロセッサによって、第1のデータを受け取るステップと、コンピュータプロセッサによって、第1のデータを複数のデータパケットに分割するステップと、コンピュータプロセッサによって、第1のインターフェース装置に含まれる1つ以上のデータバッファ内に、複数のデータパケットを格納するステップと、コンピュータプロセッサによって、複数のデータパケットのうちの第1のデータパケットグループを、第1のインターフェース装置に通信可能な態様で連結された第1のネットワークノードへ送信するステップであって、第1のデータパケットグループのうちの第1のデータパケットサブグループは、第1のネットワークノードから第2のインターフェース装置へ、第1のネットワークノードに関連する第1の通信ネットワークを介して送信され、第1のデータパケットサブグループは第1のデータパケットグループのすべてのデータパケットを含むことはなく、第1のネットワークノードは、通信可能な態様で連結された第1の複数の通信装置を含む、ステップと、コンピュータプロセッサによって、複数のデータパケットのうちの第2のデータパケットグループを、第1のインターフェース装置に通信可能な態様で連結された第1の通信装置へ送信するステップであって、第2のデータパケットグループは、第1の通信装置から第2のインターフェース装置へ、第1の通信装置に関連する第2の通信ネットワークを介して送信され、第2のインターフェース装置は、内部データバッファ内に第1のデータパケットサブグループおよび第2のデータパケットグループを格納し、第1のデータパケットサブグループは第2のデータパケットグループとは異なり、第1の通信装置は通信可能な態様で連結された第1の複数の通信装置とは異なり、第1の通信ネットワークは第2の通信ネットワークと異なる、ステップと、を含む方法である、インターフェース装置である。
第3の局面は一般にコンピュータプログラム製品に関するものであり、コンピュータプログラム製品は、コンピュータ可読プログラムコードを格納するコンピュータ可読記憶装置を含み、コンピュータ可読プログラムコードは、インターフェース装置のコンピュータプロセッサによって実行された時に方法を実行するアルゴリズムを含み、方法は、コンピュータプロセッサによって、第1のデータを受け取るステップと、コンピュータプロセッサによって、第1のデータを複数のデータパケットに分割するステップと、コンピュータプロセッサによって、第1のインターフェース装置に含まれる1つ以上のデータバッファ内に、複数のデータパケットを格納するステップと、コンピュータプロセッサによって、複数のデータパケットのうちの第1のデータパケットグループを、第1のインターフェース装置に通信可能な態様で連結された第1のネットワークノードへ送信するステップであって、第1のデータパケットグループのうちの第1のデータパケットサブグループは、第1のネットワークノードから第2のインターフェース装置へ、第1のネットワークノードに関連する第1の通信ネットワークを介して送信され、第1のデータパケットサブグループは第1のデータパケットグループのすべてのデータパケットを含むことはなく、第1のネットワークノードは、通信可能な態様で連結された第1の複数の通信装置を含む、ステップと、コンピュータプロセッサによって、複数のデータパケットのうちの第2のデータパケットグループを、第1のインターフェース装置に通信可能な態様で連結された第1の通信装置へ送信するステップであって、第2のデータパケットグループは、第1の通信装置から第2のインターフェース装置へ、第1の通信装置に関連する第2の通信ネットワークを介して送信され、第2のインターフェース装置は、内部データバッファ内に第1のデータパケットサブグループおよび第2のデータパケットグループを格納し、第1のデータパケットサブグループは第2のデータパケットグループとは異なり、第1の通信装置は通信可能な態様で連結された第1の複数の通信装置とは異なり、第1の通信ネットワークは第2の通信ネットワークとは異なる、ステップと、を含む方法である、コンピュータプログラム製品である。
第4の局面は一般に方法に関するものであり、方法は、コンピュータプロセッサを含む第1のインターフェース装置によって、複数のデータストリームを受け取るステップと、コンピュータプロセッサによって、所定の基準に基づき、複数のデータストリームの各データストリームを、複数の通信装置のうちの異なる各通信装置に割り当てるステップであって、複数の通信装置は、第1のインターフェース装置に通信可能な態様で連結され、複数の通信装置の各通信装置は、複数の通信ネットワークの異なる通信ネットワークに関連する、ステップと、コンピュータプロセッサによって、複数のデータストリームのうちの第1のデータストリームを、複数の通信装置のうちの第1の通信装置に送信するステップであって、第1のデータストリームは、第1の通信装置から第2のインターフェース装置へ、複数の通信ネットワークのうち第1の通信装置に関連する第1の通信ネットワークを介して送信される、ステップと、コンピュータプロセッサによって、複数のデータストリームのうちの第2のデータストリームを、複数の通信装置のうちの第2の通信装置に送信するステップであって、第2のデータストリームは、第2の通信装置から第2のインターフェース装置へ、複数の通信ネットワークのうち第2の通信装置に関連する第2の通信ネットワークを介して送信され、第1のデータストリームは第2のデータストリームとは異なり、第1の通信装置は第2の通信装置とは異なり、第1の通信ネットワークは第2の通信ネットワークとは異なる、ステップと、を含む方法である。
第5の局面は、一般に方法に関するものであり、方法は、コンピュータプロセッサを含む第1のインターフェース装置によって、複数のデータストリームを受け取るステップと、コンピュータプロセッサによって、所定の基準に基づき、複数のデータストリームの各データストリームを、複数の通信装置のうちの各通信装置に割り当てるステップであって、複数の通信装置は、第1のインターフェース装置に通信可能な態様で接続されており、複数の通信装置の各通信装置は、複数の通信ネットワークの異なる通信ネットワークに関連する、ステップと、コンピュータプロセッサによって、複数のデータストリームのうちの第1のデータストリームを、複数の通信装置のうちの第1の通信装置に送信するステップであって、第1のデータストリームは、第1の通信装置から第2のインターフェース装置へ、複数の通信ネットワークのうち第1の通信装置に関連する第1の通信ネットワークを介して送信される、ステップと、コンピュータプロセッサによって、第1のデータストリームを、複数の通信装置のうちの第2の通信装置に送信するステップであって、第2のデータストリームは、第2の通信装置から第2のインターフェース装置へ、複数の通信ネットワークのうち第2の通信装置に関連する第2の通信ネットワークを介して送信され、第1の通信装置は第2の通信装置とは異なり、第1の通信ネットワークは第2の通信ネットワークとは異なる、ステップと、を含む方法である。
次の図面を参照して、複数の実施形態を詳細に説明する。図中における類似の符号は類似の部材を示すものとする。
図1は、インターフェースが複数の利用可能なデータ伝送接続にアクセスできるようにするためのシステムの実施形態を示す図である。 図2は、装置が別の装置と通信しネットワークの接続性を共有することを可能にするための図1のシステムの代替のシステムの実施形態を示す図である。 図3は、図1および図2のシステムによって可能とされるプロセスフローを詳述するアルゴリズムの実施形態を示す図である。 図4は、図1および図2のシステムによって可能とされるプロセスフローを詳述するアルゴリズムの実施形態を示す図である。 図5は、データを送信し、かつ、または、受け取るためのネットワークノードを含む複数の利用可能なデータ伝送接続に対してインターフェースがアクセスできるようにするための代替システムの実施形態を示す図である。 図6は、複数の接続をプールして、あたかもそれらが単独の接続を含むかのようにするための代替システムの実施形態を示す図である。 図7は、複数の接続をプールして、あたかもそれらが単独の接続を含むかのようにするシステムによって可能とされるプロセスフローを詳述するアルゴリズムの実施形態を示す図である。 図8は、インターフェースが複数の利用可能なデータ伝送接続にアクセスできるようにするために使用されるコンピュータ装置の実施形態を示す図である。
本開示に係る装置および方法の実施形態について、以下、複数の図面を参照して詳細に説明するが、本開示の実施形態はこれらの図面に記載の内容に限定されるものではない。所定の実施形態を詳細に記述するが、添付した特許請求の範囲から逸脱することなく、様々な変更および修正を行ない得ることは理解されるべきである。本開示の範囲は、構成部品の数、材料、形状、相対的な配置関係などに制限されることは全くなく、これらは単に本開示の実施形態の例として示される。
本明細書および添付の特許請求の範囲において、部材が単数として記載される場合であっても、文脈的に明らかに除外していない限り、当該部材が複数の場合も含むものとする。
図面を参照して、図1は、複数の利用可能なデータ伝送接続に対してインターフェース4a、4bの少なくとも一方がアクセスできるようにするためのシステム2の実施形態を示す。システム2は、システムおよびユーザにより定義された様々なパラメータに基づき、データ転送のレートおよび質を最大化するため、任意の数の複数の利用可能なデータ伝送接続を、同期的に、かつ、または、オンデマンド方式により利用してもよい。システム2の実施形態は、個々の利用可能な接続(またはネットワーク)の集合を単一のデータインターフェース(例えば、インターフェース4a、4bの少なくとも一方)として、その単一のデータインターフェースが、集約された接続全体の合計の近似値(例えば、すべての接続/ネットワークの集約された帯域幅)、シームレスな接続障害迂回、速度、信頼性、コストなどに基づく接続使用方法の優先順位、速度、信頼性などに基づくデータ転送経路選択の優先順位、メッセージおよびデータセキュリティを有することを可能にしてもよい。
図1のシステム2の実施形態は、装置8、10、インターフェース4a、4b、ネットワーク接続装置12a…12n、ネットワーク15a…15nおよび追加的ネットワーク22(例えばインターネット)を含んでもよい。装置8、10は、とりわけ、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、タブレット型コンピュータ、携帯情報端末(PDA)、サーバコンピュータ、メインフレームコンピュータ、ケーブルモデム、無線ルータなどを含んでもよい。装置8、10は、異なるデータ伝送方式に関連する通信インターフェースを含んでもよく、とりわけ、有線通信、無線LAN(802.11a、b、g、n)インターフェース、マイクロ波インターフェース、人工衛星インターフェース、セルラー無線インターフェース(例えばCDMA、3G、4Gなど)、短波無線インターフェースなどを含んでもよい。装置8はインターフェース4aに(無線または有線の接続によって)接続されてもよい。図1に示すように、インターフェース4aの実施形態は、装置8の外部に配置してもよい。あるいは、インターフェース4aの実施形態は装置8の内部に配置してもよい。インターフェース4aの実施形態は、ハードウェアインターフェース、ソフトウェアインターフェース、仮想インターフェースまたはそれらの任意の組み合わせを含んでもよい。インターフェース4aは、送信に先立ってデータパケットを格納するための、および、送信されたものの目的地の装置によって受け取られなかったデータパケット用のバックアップとしての、複数の内部バッファ7a、7bを含んでもよい。装置10はインターフェース4bに(無線または有線の接続によって)接続されてもよい。図1に示すように、インターフェース4bの実施形態は、装置10の外部に配置してもよい。あるいは、インターフェース4bの実施形態は装置10の内部に配置してもよい。インターフェース4bはハードウェアインターフェース、ソフトウェアインターフェース、仮想インターフェースまたはそれらの任意の組み合わせを含んでもよい。インターフェース4bの実施形態は、送信に先立ってデータパケットを格納するための、および、送信されたものの目的地の装置によって受け取られなかったデータパケット用のバックアップとしての、複数の内部バッファ8a、8bを含んでもよい。インターフェース4aの実施形態はリンク6aによってネットワーク接続装置12aに接続されてもよい。同様にインターフェース4aの実施形態はリンク6bによってネットワーク接続装置12bに接続されてもよい。インターフェース4aの実施形態はリンク6cによってネットワーク接続装置12cに接続されてもよい。インターフェース4aの実施形態はリンク6nによってネットワーク接続装置12nに接続されてもよい。リンク6a…6nは無線リンクまたは有線リンクを含んでもよい。
ネットワーク接続装置12a…12nの実施形態は、とりわけ、人工衛星用パラボラアンテナ、無線アクセスポイント、携帯電話、PDAなどの任意の形式の接続装置を含んでもよい。ネットワーク接続装置12aの実施形態はネットワーク15aによってインターフェース4bに接続されてもよい。ネットワーク15aの実施形態は、リンク7a、17aを介してネットワーク接続装置12aをインターフェース4bに接続するネットワーク装置14aを含んでもよい。ネットワーク15aの実施形態は、とりわけ、人工衛星ネットワークなどを含む任意の形式のネットワークを含んでもよい。ネットワーク装置14aの実施形態は、とりわけ、人工衛星などを含む任意の形式のネットワーク装置を含んでもよい。ネットワーク接続装置12aの実施形態は、ネットワーク15aを介してインターフェース4bに接続されてもよい。ネットワーク15bの実施形態は、リンク7b、17bを介してネットワーク接続装置12bをインターフェース4bに接続するネットワーク装置14bを含んでもよい。ネットワーク15bの実施形態は、とりわけ、ケーブルテレビネットワークなどを含む任意の形式のネットワークを含んでもよい。ネットワーク装置14bの実施形態は、とりわけ、ケーブルモデムなどを含む任意の形式のネットワーク装置を含んでもよい。ネットワーク接続装置12cの実施形態はネットワーク15cを介してインターフェース4bに接続されてもよい。ネットワーク15cの実施形態は、リンク7c、17cを介してネットワーク接続装置12cをインターフェース4bに接続するネットワーク装置14cを含んでもよい。ネットワーク15cの実施形態は、とりわけ、携帯電話ネットワークなどを含む任意の形式のネットワークを含んでもよい。ネットワーク装置14cの実施形態は、とりわけ、携帯電話用の電波塔やインフラストラクチャーなどを含む任意の形式のネットワーク装置を含んでもよい。ネットワーク接続装置12nの実施形態はネットワーク15nを介してインターフェース4bに接続されてもよい。ネットワーク15nの実施形態は、リンク7n、17nを介してネットワーク接続装置12nをインターフェース4bに接続するネットワーク装置14nを含んでもよい。ネットワーク15nの実施形態は、とりわけ、携帯電話ネットワークなど(つまり、ネットワーク15cと異なるか、または、それと同じもの)を含む任意のタイプのネットワークを含んでもよい。ネットワーク14nの実施形態は、とりわけ、携帯電話用の電波塔やインフラストラクチャーなど(つまり、ネットワーク14cと異なるか、または、それと同じもの)を含む任意のタイプのネットワーク装置を含んでもよい。
引き続き図1を参照して、システム2の実施形態は、(装置8により)データパケットA…Gに分割され(例えば、多重化を解かれ)、インターフェース4bおよび装置10へ送信されるためにインターフェース4aへ転送されるデータファイル/ストリームA1を示す。もしくは、データファイル/ストリームA1は、装置8によって直接インターフェース4aへ転送されて、インターフェース4bおよび装置10へ送信されるためにデータパケットA…Gに(インターフェース4aによりリアルタイムで)分割されてもよい。パケットA…Gの各々、いくつかまたは少なくとも1つは、インターフェース4bへの送信に先立ち、インターフェース4a内の1つ以上のデータバッファ11a、11b内に格納されてもよい。例えば、データパケットA…Gの送信を可能にするために、パケットA…Gはデータバッファ11a、11b内に格納されてもよい。更に、パケットが目的地の装置(例えば、インターフェース4b)によって受け取られていない場合、パケットA…Gのうちのどれでも再び送信されるように、データパケットA…Gはデータバッファ11a、11bに格納されてもよい。パケットA…Gの各々、いくつかまたは少なくとも1つ(あるいはデータパケットA…Gのうちのいくつか)は、ネットワーク15a…15nの異なる1つの上の送信のためのネットワーク接続装置12a…12nの異なる1つに送信されてもよい。データファイル(例えばデータA1)の異なるデータパケットを異なるネットワーク上で送信することにより、複数のネットワークから帯域幅を集約できるようにしてもよい。複数のネットワークから帯域幅を集約することにより、大きなデータファイル/ストリームが目的地へ非常に速く送信され得るようになる。データパケットA…Gがインターフェース4bによって受け取られると、1つ以上の内部データバッファ8a、8b内に格納され、装置10に送信され、単一のデータファイル/ストリームA1に組み合わせ直されてもよい(例えば、多重化されてもよい)。あるいは、データパケットA…Gがインターフェース4bによって受け取られ、格納され、単一のデータファイル/ストリームA1に組み合わせ直され、単一のデータファイル/ストリームA1が装置10に送信されてもよい。上述のデータ分割/組み合わせプロセスの実施形態は、装置10から装置8への反対向きの方向に行なわれてもよい。次の例1は、複数のネットワークを介して複数のデータパケットを送信するための実行シナリオ(システム2により可能とされるシナリオ)の1つの実施形態を示す。
[例1]
データファイル/ストリームA1はインターフェース4aへ転送するため複数のデータパケットA…Gに分割される。インターフェース4aはデータパケットA…Gを(内部データバッファ11a、11b内に)格納し、データパケットAをネットワーク15aへネットワーク接続装置12aを介して送信し、データパケットB、D、Fをネットワーク15bへネットワーク接続装置12bを介して送信し、データパケットC、Eをネットワーク15cへネットワーク接続装置12cを介して送信し、データパケットGをネットワーク15nへネットワーク接続装置12nを介して送信する。データパケットA…Gはインターフェース4bによって受け取られ(内部バッファ8a、8b内に格納され)、装置10に転送される。装置10は、パケットA…Gを組み合わせ直してデータファイル/ストリームA1とする。
再度図1を参照して、システム2の実施形態は、インターフェース4a、4bの少なくとも一方を介して、次の機能の任意の一つまたは任意の組み合わせを可能としてもよい。
1. 有線接続または無線接続により複数のインターフェース部品(例えばネットワーク接続装置12a…12n)を介して、装置(例えば装置8、10の少なくとも一方)のために利用可能な帯域幅(すなわち、ネットワーク15a…15nに関連するもの)の複数のソースを集約すること。
2. 装置(例えばネットワーク接続装置12a…12nの1つ)のための障害迂回(例えばバックアップ)帯域幅。例えば、一つの接続またはインフラストラクチャーが機能しない場合、別の接続またはインフラストラクチャーが接続の損失なく直ちに利用されるものとしてもよい。
3. 複数のユーザ間で帯域幅を共有するプロセス。
4. ネットワーク接続の単一障害点を緩和するプロセス。単一障害点はクライアントハードウェア、クライアントソフトウェア、ローカルネットワークハードウェア/ソフトウェア、インターネットサービスプロバイダー(ISP)などと関連していてもよい。
5. ユーザとサーバまたはユーザと追加的なユーザの間のセキュアな通信を可能にするプロセス。
6. エンドユーザへのデータの最良の経路選択を可能にするプロセス。
システム2の実施形態は、ネットワークアクセス可能装置(例えば装置8、10)が複数の利用可能なネットワークインターフェースを同時に用いて、複合の利用可能なネットワークインフラストラクチャーおよび関連する帯域幅を同時に利用することを可能にしてもよい。更に、システム2の実施形態は、ネットワークアクセス可能装置が、その装置に含まれないネットワークインターフェースを用いて、追加的なネットワーク資源にアクセスすることを可能にしてもよい。したがって、システム2の実施形態は、ネットワークアクセス可能な任意の装置が、ネットワークアクセス可能な他の任意の装置のインフラストラクチャーおよび帯域幅を利用できるようにしてもよい。
更に、システム2の実施形態は、複数の追加的なネットワークアクセス可能装置が物理的接続または無線接続によってデータ通信範囲内にある場合に、ネットワークアクセス可能装置が、複数の追加的なネットワークアクセス可能装置のインフラストラクチャーおよび帯域幅にアクセスし、(親)ネットワークアクセス可能装置のための単一のネットワークインターフェースとして利用することを可能にしてもよい。
更に、システム2の実施形態は、複数のデータ伝送プロトコル/タイプ(例えばWi−Fi、3G、4G、CDMA、マイクロ波など)を活用可能としてもよい。例えば、システム2の実施形態は、複数のデータ伝送プロトコル/タイプを修正して、(親)ネットワークアクセス可能装置に対するアクセス可能性に依存しないようにしてもよい。システム2の実施形態は、ネットワークアクセス可能装置が、すべての利用可能かつアクセス可能なネットワークインターフェースから利用可能な帯域幅をすべて集約して、装置のためのアップロードおよびダウンロード用の大きな使用可能帯域幅を生成できるようにしてもよい。システム2の実施形態は、装置の主要なインターフェースが、ハードウェア、ソフトウェアまたはネットワークのレベルにおいて機能しない場合、ネットワークアクセス可能装置が自動的に、そのネットワークアクセス可能装置に対してアクセス可能なインターフェースへ(例えば、ネットワーク接続を喪失せずに)切り替えられるようにしてもよい。例えば、ラップトップコンピュータが、Wi−Fiネットワークインターフェースおよびテザリングされた、または、適合するデータプランを備えた携帯電話を含み、Wi−Fiネットワークインターフェースが機能しない場合(例えば、ラップトップ中のハードウェアカードが機能しない、ハードウェアカード用のドライバが機能しない、無線ルータが機能しない、ISPが機能しないなどの場合)、ラップトップコンピュータは、自動的に、テザリングされた、または、適合する携帯電話をそのネットワークアクセスに使用し始めるものとしてもよい。
更に図1を参照して、システム2の実施形態は、ネットワークアクセス可能装置が、任意の利用可能な市内回線または利用可能な市内回線の組合せによってインターネット(あるいは任意のデータネットワーク)にアクセスするための手段を提供してもよい。システム2の実施形態は、単一のネットワークアクセス可能装置が、同時かつ自動的にすべての利用可能なインフラストラクチャーにアクセスし、それらを利用して、ユーザおよびシステムに割り当てられたルール(例えば、ポーリングプロセスの使用)に基づき、ネットワークインターフェースおよび関連する(性能強化用の)インフラストラクチャーの最良の組合せを選択できるようにしてもよい。例えば、第1のサービスプロバイダーインフラストラクチャーの機能が低下するかまたは機能しない場合、システム2は別のネットワークに切り替えることで、(インターネット接続を失うことなく)関連するネットワークに対する依存を自動的に低減してもよい。システム2の実施形態は、ネットワークアクセス可能装置への、または、ネットワークアクセス可能装置からのデータ伝送のためのチャネルの性能に基づいて、どの利用可能チャネルを利用するかを自動的に決定してもよい。一つのISPインフラストラクチャーが機能しないかまたは機能が低下する場合、システム2の実施形態は、ネットワークアクセス可能装置に最良の可能な性能を提供するために自動的にデータ伝送路使用法を調節してもよい。システム2の実施形態はまた、利用する1つまたは複数のチャネルを自動的に選択してもよく、それらのチャネルの各々、いくつかまたは少なくとも1つを通じて送るデータの量を自動的に選択してもよい。
更に、システム2の実施形態は、単一の装置(例えばインターフェース4a、4bの少なくとも一方)が有線接続または無線接続を介して同じISP資源を共有する他の装置に接続できるようにすることで、帯域幅資源(使用、速度、アクセス可能性など)が制限されたISPを克服して、ネットワークアクセス可能装置がネットワーク性能を向上させられるようにしてもよい。インターフェース4a、4bの少なくとも一方の実施形態は、接続された装置のすべてまたは一部の帯域幅資源を利用してもよい。したがって、装置X(つまり、利用するインターフェース4a、4bの少なくとも一方)が、同じISPインフラストラクチャー上のn個の他の装置に接続され、各装置に対してISPによってz個の資源が割り当てられる場合、装置Xはほぼ(n*z)の帯域幅資源にアクセスするものとしてもよい。更に、インターフェース4a、4bの少なくとも一方は、相互に連結した装置のすべてが、共有される帯域幅資源(つまり、プールされた資源)のすべてを利用できるようにするものであってもよい。
システム2の実施形態は、定義された帯域幅使用法をユーザが選択できるようにしてもよい。例えば、ユーザが4つのネットワークインフラストラクチャー接続(例えば、ネットワーク15a…15n)に、様々なネットワークインターフェースおよび他のローカル装置を介してアクセスする場合、ユーザは、帯域幅使用量を最大にすることを決めてもよい(例えば、利用可能な帯域幅を使用のためにすべて集約する)。あるいは、任意の単独の接続を主要な接続として使用し、残る任意の接続をバックアップ(障害迂回)帯域幅としてのみ用いてもよい。あるいは、それらを任意に組合せて用いてもよい。更に、ユーザは、大きな(例えば、20Mbまたはそれ以上の)ダウンロード接続を確保するために、すべてのチャネルまたはネットワークを使用することを決定してもよい。
システム2の実施形態は、ネットワークの介在なしで、ピア・ツー・ピアによる資源の共有および直接の通信を可能としてもよい。ピア・ツー・ピア接続の両端はn個の接続インターフェースを利用して、システム全体の性能とセキュリティ上の利点を得て、サーバのないインターネット型のインフラストラクチャーを実現できるものとしてもよい。
システム2の実施形態は、コンピュータ、携帯電話、ホーム/ビジネスモデム、または、無線ルータなどに直接接続されてもよい。また、集約された帯域幅は、そのネットワークに接続するすべてのコンピュータ/装置によって利用されてもよい。例えば、4台の電話がホーム無線ルータにテザリングされ、または、適合させられてもよい。また、ルータに接続された装置はすべてシステムの便益(例えば、セキュリティ、帯域幅など)のすべてにアクセス可能であってもよい。
システム2の実施形態は、各データパケットを送信するために(ネットワーク接続装置12a…12nおよびネットワーク15a…15nに関連する)利用可能なチャネルを、個々の既存のチャネルの現在の状態/ステータス、各チャネルに関連するデータセットの総計/履歴、および、各チャネルの現在の待ち行列の分析(例えば、各チャネルは、送信を待つデータパケットの列を含み得る)に関連するデータの組合せを用いて動的に評価する。システム2の実施形態は周期的に、利用可能チャネルの各々、いくつか、または、少なくとも1つについて、待ち時間と帯域幅を分析してもよい。更なる特性として、異なるネットワーク上でのデータファイル(例えばデータ511)の異なるデータパケットの送信に関する評価が行われてもよい。特性は、とりわけ、スループット特性、パケットドロップ率特性、エラー特性、待ち時間特性、パケット遅ればらつき特性および配達順乱れ特性を含んでもよい。スループット特性は、特定のデータチャネル上で与えられるビットレート(つまり最大のスループット)を示すものとしてもよい。パケットドロップ率特性は、目的地に到着しない、複数の送信されたパケットを示す。エラー特性は、目的地への途中でドロップされる、破損したパケットを示す。待ち時間特性は、目的地に配達されるパケットに対する経過時間を示す。パケット遅ればらつき(つまり、ジッタ)は、1チャネル上のパケット間における遅れ(あるいは待ち時間)の違いを示す。解析結果は、現在のセッションおよび過去の履歴上の複数のセッション(例えばモバイル装置ID、携帯電話アカウントID、識別可能な無線ネットワーク接続などを介したもの)における複数のチャネルの各々、いくつか、または、少なくとも一つと関連するデータの集積に対して加えるものとしてもよい。送信チャネルは、そのチャネルの現在の状況および特定の間隔における履歴上の性能に基づいて選択されてもよい。例えば、チャネル選択は現在状況のサンプリング、最近の5秒間における平均帯域幅/待ち時間/信頼性(b/l/r)、最近の5分間における平均のb/l/r、現在のセッションの平均のb/l/r、選択に用いた各データセットに対してウェイト付けされたスコアを備えた生涯(全期間)平均のb/l/rなどに基づいてもよい。利用可能チャネルのすべての信頼性が低い場合、利用可能な帯域幅がその性能を維持できるのであれば、システム2は、複数のチャネル上に重複するパケットを送信することを選択して、パケットの転送が成功する可能性を増加させるようにしてもよい。b/l/rセット中の信頼性は、一般には、一貫した末端間接続の実行可能性を維持するチャネル(対、わずか数ミリ秒であっても、頻繁に接続を喪失するチャネル)、待ち時間の一貫性対広範囲に及ぶ待ち時間、帯域幅利用可能性の経時的一貫性対非一貫性、ISPのバーストの方法等として定義される。利用可能なチャネルの各々、いくつか、あるいは、少なくとも1つについての現在および履歴上のb/l/rの分析の結果を、利用可能なチャネルの各々、いくつか、あるいは、少なくとも1つの現在の待ち行列の長さと組み合わせてもよい。その分析は、次のパケットまたはパケットグループのための送信チャネルについての最終的な決定を生成してもよい。例えば、最短のキュー内にあるパケットにつき、b/l/rが非常に低いために、より長いキューを有するより信頼できるチャネルを経由した方がそのパケットが目的地により早く着く可能性が高いとシステム2が判断する場合には、システム2の実施形態は、そのパケットを最短のキュー内で送信しないものとしてもよい。したがって、システム2の実施形態は、異なるパケットまたはパケットのタイプに対して異なる優先順位を割り当てて、優先順位の低いパケットを低評価のチャネルを介して送るようにしてもよい。更に、1つのチャネルの信頼性が低い場合、システム2の実施形態は、意図的に複数のチャネルを通じて重複するパケットを送信可能としてもよい。
更に、システム2の実施形態は、1つ以上のチャネルに関連する履歴データを用いて、異なるサービスプロバイダーネットワークまたはハードウェア/ソフトウェアインターフェースによって使用されるバースト戦略を判断してもよい。例えば、バースト戦略は、ダウンロードの最初の時間(例えば10秒または20秒)には非常に大きな帯域幅(契約量を越えるもの)の利用を可能とし、それから、ユーザが利用できる帯域幅を調節するという会社を含んでもよい。システム2が異なるチャネルに対するバースト戦略を判断するとき、システム2は、利用可能チャネルを介してデータを送信するためのそれ自身の決定プロセスを採用して、プロバイダのバースト戦略を最大限に利用するものとしてもよい。例えば、最初の接続が、関連するチャネルが1分間未使用だった後に20秒間の非常に広い帯域を許可するものであるとシステム2が判断した場合、システム2は、1分ごとに20秒間のみ、そのチャネルを利用することを選択してもよい。このシナリオにおいて、ユーザが3つの利用可能なチャネルを持ち、各チャネルが同様のバースト戦略を有するのであれば、システム2は、それが全体的な性能を最大化する最善の戦略であると判断する場合、バーストチャネルのみを、3つのチャネルで巡回して使用することを試みてもよい。更に、システム2の実施形態は、未使用のチャネルのバースト戦略を確立するためのテストを行ってもよい。
システム2の実施形態は、チャネルの帯域幅および待ち時間を判断する方法を実行可能としてもよい。接続の信頼性は、システム端点(例えばインターフェース4a、4b)間のアクティブな接続を経時的に維持するチャネルの全体的な一貫性によって判断してもよい。システム2の実施形態は短期的および長期的な帯域幅、待ち時間、信頼性を計算してもよい。これにより、システム2は、チャネルがどの程度利用可能であるかを判断し、かつ、チャネルにパケットまたはパケットグループを動的に割り当てられるようにしてもよい。一実施形態において、チャネルの利用時間が長くなるほど(特定のセッションにおいて、および、履歴上)、システム2が最良の態様でチャネルを利用し、知的なチャネル利用戦略を開発する能力が高められる。更に、システム2はチャネルの解析または履歴のために物理的位置(例えばGPS位置)を分析してもよい。例えば、第1の家での電話接続は強い接続を有する一方で、第2の家(異なる地理的場所)での電話接続は、より弱い接続を有する場合がある。したがって、2つの異なる接続は異なったように評価され得る。
システム2の実施形態は、起点となる静的なデータソースまたはストリーミングのデータソースから送信チャネル(インターフェース4a)へデータを移動させ、受信点(インターフェース4b)でデータを再コンパイルするための、一連のバッファを(例えば、インターフェース4a、4bの内部に)有してもよい。例えば、システム2の実施形態は、バッファ使用のための以下のプロセスを可能にするものであってもよい。
1. システム2は、データバッファがシステム2の現在の総容量を判断できるようにしてもよい。
2. 所定期間(例えば2秒、200ミリ秒など)におけるシステム2の容量と同等の1セットのデータが送信バッファに移動される。
3. システム2は、各チャネルのb/l/r、現在の行列および全体的なシステムの知能(例えば、既知のバースト戦略、履歴上の格付けなど)に基づき、各チャネルバッファに個々に割り当てるパケットの数を決定してもよい。
4. すべてのデータが送信されるまで、パケットを割り当て、プロセスを繰り返してもよい。
図2を参照し、装置224aが装置224bと通信してネットワーク接続性を共有できるようにする代替のシステム2aの実施形態について述べる。システム2aの実施形態は、物理的接続(例えば、USBケーブル接続)、無線接続、ブルートゥース接続、または、任意の追加的なローカルデータ接続タイプであって、適合させられた装置の一つ(あるいは、すべての装置)がデータ信号および音声信号のうち少なくとも一方を維持できるようにする接続を介して、任意のネットワークアクセス可能装置(例えば、装置224a)を、他の任意のネットワークアクセス可能装置(例えば、装置224b)に適合させる(ペアにする、または、接続する)ことができるものであってもよい。システム2aの実施形態は、ISP/キャリアに依存しないシステムを有してもよく、それにより、任意の装置(例えば、携帯電話)が別の任意の装置に対して、装置に関連する特定の技術またはキャリアにかかわらず、接続できるようにしてもよい。例えば、第1の会社に属するネットワークに関連する携帯電話が、第2の(異なる)会社のネットワークに関連する携帯電話に接続できるものとしてもよい。あるいは、第1の会社/ネットワークに属するネットワークに関連する携帯電話が、同じネットワークに関連する携帯電話に対して接続できるものとしてもよい。
システム2aの実施形態は、1つ以上の装置224a、224b、1つ以上のインターフェース202a、202b、202c、1つ以上のネットワーク210a、210b、装置224cを含んでもよい。インターフェース202a、202b、202cの各々は、図1のインターフェース4a、4bについて述べたように、複数のバッファを含んでもよい。装置224a、224b、224cの実施形態は、とりわけ、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、タブレットコンピュータ、携帯情報端末(個人用ディジタル補助装置:PDA)、サーバコンピュータ、メインフレームコンピュータ、ケーブルモデム、無線ルータなどを含んでもよい。装置224a、224b、224cの実施形態は、異なるデータ送信方法に関連する1つ以上の通信インターフェース、例えば、とりわけ、無線LAN(802.11a、b、g、n)インターフェース、マイクロ波インターフェース、人工衛星インターフェース、セルラー無線インターフェース(例えば、CDMA、3G、4Gなど)、短波無線インターフェースなどを含んでもよい。装置224aの実施形態は、(無線または有線接続を介して)インターフェース202aに接続されていてもよい。インターフェース202aの実施形態は、図2に示すように、装置224aの外部に配置されてもよい。あるいは、インターフェース202aの実施形態は装置224aの内部に配置されてもよい。インターフェース202aの実施形態はハードウェアインターフェース、ソフトウェアインターフェース、仮想インターフェース、あるいは、それらの任意の組み合わせを含んでもよい。装置224bの実施形態は、図2に示すように、(無線または有線接続を介して)インターフェース202bに接続されていてもよい。インターフェース202bの実施形態は、図2に示すように、装置224bの外側に配置されてもよい。あるいは、インターフェース202bの実施形態は装置224bの内側に配置されてもよい。インターフェース202bの実施形態はハードウェアインターフェース、ソフトウェアインターフェース、または、それらの任意の組み合わせを含んでもよい。装置224cの実施形態は、(無線または有線接続を介して)インターフェース202cに接続されてもよい。図2に示すように、インターフェース202cの実施形態は、装置224cの外部に配置されてもよい。あるいは、インターフェース202cの実施形態は装置224cの内部に配置されてもよい。インターフェース202cの実施形態はハードウェアインターフェース、ソフトウェアインターフェース、仮想インターフェース、または、それらの任意の組み合わせを含んでもよい。装置224aの実施形態はリンク220(無線または有線のもの)を介して装置224bに接続されてもよい。装置224aの実施形態はリンク218aを介してネットワーク210aに接続されてもよい。ネットワーク210aの実施形態は、リンク212aを介して装置224aをインターフェース202cに接続するネットワーク装置214aを含んでもよい。ネットワーク210aの実施形態は、とりわけ、セルラーネットワークや人工衛星ネットワークなどを含む任意の形式のネットワークを含んでもよい。ネットワーク装置214aの実施形態は、とりわけ、セルラーネットワークや人工衛星などを含む任意の形式のネットワーク装置を含んでもよい。装置224bの実施形態はリンク218bを介してネットワーク210bに接続されてもよい。更に、装置224bの実施形態はリンク218cを介してネットワーク210aに接続されてもよい。ネットワーク210bの実施形態は、リンク212cを介して装置224bをインターフェース202cに接続するネットワーク装置214bを含んでもよい。ネットワーク210bの実施形態は、とりわけ、セルラーネットワークや人工衛星ネットワークなどを含む任意の形式のネットワークを含んでもよい。ネットワーク210aおよびネットワーク219bの実施形態は同じネットワークまたは異なるネットワークに含まれるものであってもよい。ネットワーク装置214bの実施形態は、とりわけ、セルラー中継塔や人工衛星などを含む任意の形式のネットワーク装置を含んでもよい。
引き続き図2を参照して、ネットワークのうちの1つに問題が発生した場合、システム2aの実施形態は、自動的にネットワークを切り替えるプロセスを実行可能としてもよい。例えば、装置224a、224cの間の通信中にネットワーク210aが無効になる場合(例えば不調によるネットワーク停止)、システム2aは自動的に装置224a、224b間の(インターフェース202a、202bとリンク220を介した)接続を利用してもよい。装置224a、224b間の接続は、装置224aが、装置224bに関連するネットワーク210bを使用して装置224cと通信することを可能としてもよい。ネットワーク210aが、ネットワークトラフィックの増加により、最適速度より低い速度で作動している場合に、前述のプロセスは更にデータのフローを増加できるものであってもよい。
更に図面を参照し、図3は、図1のシステム2または図5のシステム500によって可能とされるプロセスフローを詳述するアルゴリズムの実施形態を説明するものであり、インターフェースが複数の利用可能なデータ伝送接続に対してアクセスできるようにするためのものである。ステップ300において、第1のインターフェース装置(例えば、図1のインターフェース装置4a)は、データを(例えば、インターネットを介してコンピュータから)受け取ってもよい。データは静的データまたはデータストリームを含んでもよい。ステップ302において、第1のインターフェース装置はデータファイルを1つ以上のデータパケットに分割してもよい(つまり多重化を解いてもよい)。ステップ304において、第1のインターフェースは任意に複数の独立した通信ネットワーク(例えば、図1のネットワーク15…15n)に対してポーリングをしてもよく、性能/信頼性/現在のネットワークの状態を判断してもよく、履歴上の接続のデータを調査して様々な送信属性を得てもよい。例えば、第1のインターフェースは、任意に、とりわけ、ネットワークトラフィック、ネットワークデータ伝送品質、ネットワーク利用可能性、過去の接続に関連する履歴データなどを判断してもよい。ステップ308において、第1のインターフェース装置はデータパケットを内部バッファに送信してもよい。例えば、データパケットは送信バッファおよび再送バッファに送信されてもよい。ステップ310において、データパケットは、ステップ304において行なわれた分析の結果に基づき指定されたバッファ内に格納されてもよい。ステップ312において、(複数のデータパケットのうち)異なるデータパケットは、ステップ304において行なわれた分析の結果に基づき、(複数の独立した通信ネットワークのうちの)異なるネットワークを介して送信されてもよい。第1の例として、ネットワークの各々、いくつか、または、少なくとも1つは、異なる(一つの)データパケットを送信する。第2の例として、ネットワークの各々、いくつか、または、少なくとも1つは、異なるデータパケットのグループを送信する。あるいは、データパケットは更にサブパケットのグループに分割されて、ネットワークノード(ネットワークに付加されたアクティブな電子機器として動作可能とされ、通信可能な態様にて連結された複数の装置を含む)、および、または、追加の装置およびネットワークを介して送信されてもよい。ネットワークノードはメッシュノードを含んでもよい。ステップ314において、送信されたデータパケットまたはサブパケットは、第2のインターフェース装置(例えば、図1のインターフェース装置4b)に受け取られてもよく、1つ以上の内部バッファ内に格納されてもよい。ステップ318において、第2のインターフェース装置はデータパケットおよびサブパケットの少なくとも一方を組み合わせてもよい(それにより、データファイルを再生成してもよい)。ステップ320において、送信されたデータパケットおよびサブパケットの少なくとも一方のすべてが第2のインターフェース装置に受け取られたかどうかを判断する(自動的にまたは手動で)。ステップ320において、送信されたデータパケットおよびサブパケットの少なくとも一方のうちのいくつかが第2のインターフェース装置に受け取られていないと判断される場合、チャネルが誤動作したと判断されると(例えば、電話通信チャネルが無効となり、または、Wi−Fi信号が無効になるなど)、その後のステップ324において送信データパケットおよびサブパケットの少なくとも一方が再度要求されてもよい。この場合、システム2は、不具合のあるチャネルに割り当てられ送信中のデータパケットおよびサブパケットの少なくとも一方のすべてを再度要求してもよい。システム2が、切断されたラインを検知しなければ、システム2は所定の経過時間を決定し、データストリームまたはパケットをクライアントプログラムへ送信する。行方不明のパケットやサブパケットが遅れて到着する場合、システム2はその行方不明だったパケットやサブパケットが到着し次第、送信してもよい。クライアントプログラム(つまり、行方不明のパケットを使用する末端プログラム)が、行方不明のパケットやサブパケットを必要と判断する場合、当該プログラムは、自動的に、システム2を介して行方不明のデータを再要求し、ステップ300−320が繰り返される。繰り返されたステップ318において、再構成されたデータストリームの送信は、(a)データパケットが行方不明となっている場合、または、(b)後のデータパケットが、行方不明のパケットが到着すると期待されていたのと同じチャネルに到着する場合、遅らせられる。したがって、行方不明のパケットは失われたと見なされ、再度組み立てられたデータパケットまたはストリームがクライアントプログラムに送信される。割り当てられたチャネルの待ち時間(システム2によって決定される)を超えてもデータパケットが到着しない場合、パケットは失われたと見なされ、システムは失われたデータパケットなしで処理を進める。例えば、チャネルXが75ミリ秒の待ち時間を有し、パケットAが第2のインターフェース装置に到着し、75ミリ秒の待ち時間が経過した後、パケットB(チャネルXを介してシステム2によって期待された次のパケット)が到着していないとシステム2が判断する場合、システム2は、パケットBが失われたものと見なし、意図された機能を継続する。行方不明のデータパケットが必要であると(クライアントプログラムが)判断する場合、クライアントプログラムは再度パケットを要求し、再度要求されたパケットは、システム2によって処理される。ステップ320において、送信されたデータパケットがすべて第2のインターフェース装置によって受け取られたと判断される場合、その後、ステップ300は新しいデータファイルまたはストリームのために繰り返されてもよい。ステップ318および320は順不同に行ってよい。
次に図4を参照し、図2のシステム2aにより実行可能とされるプロセスフローを詳述するアルゴリズムの実施形態であって、装置が追加的な装置と連絡を取り、ネットワーク接続性を共有することができるようにするものについて述べる。ステップ400において、第1の通信装置は、第1の通信ネットワークを介して第1の通信装置とコンピューティング装置の間の第1の接続を可能にし、かつ、または、利用してもよい。ステップ402において、第1の通信装置は、データ(例えば音声、テキスト、ビデオなど)をコンピューティング装置へ第1の通信ネットワークを介して送信する。ステップ404において、第1の通信装置は、第1の接続が無効になったかどうかを判断してもよい。ステップ404において、第1の接続が無効になっていないと第1の通信装置が判断する場合、ステップ402においてデータ送信処理が継続される。ステップ404において、第1の接続が無効になったと第1の通信装置が判断する場合、ステップ408において、第1の通信装置と第2の通信装置の間の第2の接続が可能となり、かつ、または、利用されてもよい。第2の通信装置は、コンピューティング装置に(例えば、第1の通信ネットワークとは異なる第2の通信ネットワークを介して)接続されるか、あるいは第1の通信ネットワークを介して接続されてもよい。ステップ410において、第1の通信装置は、第2の通信装置を介してコンピューティング装置にデータの残りの部分を送信してもよい。データの残りの部分は、第1の接続が作動不能であったために通信ネットワークを介してコンピューティング装置に送信されなかったデータの一部を含んでいてもよい。
図5を参照し、代替のシステム500の実施形態は、インターフェース504a、504bの少なくとも一方が、データを送信し、かつ、または、受け取るために、ネットワークノード518a…518nを含む複数の利用可能なデータ伝送接続にアクセスできるようにするものである。ネットワークノードは、コネクションポイント、再配送ポイントまたは通信端点として定義される。ネットワークノードは、ネットワークに付加され通信チャネル上で情報を送信し、受け取り、または、転送することができるアクティブな電子機器を含んでもよい。複数のノードネットワークは、無線または有線により相互に連結した装置、あるいはそれらの任意の組合せを含んでもよい。例えば、2つの近隣の位置どうしが、無線と同様に、光ファイバー、イーサネット、または、同軸ケーブルによって相互に連結されていてもよい。ネットワークノードはメッシュノードを含んでもよい。
システム500は、システムおよびユーザの定義による様々なパラメータに基づき、データ転送の速度および質を最大にするため、任意の数の複数の利用可能なデータ伝送接続を同期させて、かつ、または、必要に応じて用いてもよい。システム500の実施形態は、個々の利用可能な接続(あるいはネットワーク)の集合を単一のデータインターフェース(例えばインターフェース504a、504bの少なくとも一方)として、その単一のデータインターフェースが、集約された接続の合計の近似値(例えば、すべての接続/ネットワークの集約された帯域幅)またはそれ以上、シームレスな接続障害迂回、速度、信頼度、コストなどに基づいた接続使用方法の優先順位、速度、信頼性などに基づくデータ転送経路選択の優先順位、メッセージ、および、データセキュリティを有することを可能にしてもよい。
図5のシステム500の実施形態は、装置508、510、インターフェース504a、504bの少なくとも一方、ネットワークノード518a…518n、ネットワーク515a…515n、および、ネットワーク接続装置523a…523n、531a…531nを含んでもよい。装置508、510は、とりわけ、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、タブレットコンピュータ、携帯情報端末(個人用ディジタル補助装置:PDA)、サーバコンピュータ、メインフレームコンピュータ、ケーブルモデム、無線ルータなどを含んでもよい。装置508、510は、異なるデータ送信方法に関連する通信インターフェース、例えば、とりわけ、有線通信、無線LAN(802.11a、b、g、n)インターフェース、マイクロ波インターフェース、人工衛星インターフェース、セルラー無線インターフェース(例えば、CDMA、3G、4Gなど)、短波無線インターフェースなどを含んでもよい。装置508はインターフェース504aに(無線または有線接続を介して)接続されてもよい。図5に示すように、インターフェース504aの実施形態は、装置508の外部に配置されてもよい。あるいは、インターフェース504aの実施形態は装置508の内部に配置されてもよい。インターフェース504aの実施形態は、ハードウェアインターフェース、ソフトウェアインターフェース、仮想インターフェースまたはそれらの任意の組み合わせを含んでもよい。インターフェース504aは、送信に先立ってデータパケットを格納するための、あるいは、送信されたものの目的地の装置によって受け取られなかったデータパケット用のバックアップとしての複数の内部バッファを含んでもよい。装置510はインターフェース504bに(無線または有線接続を介して)接続されてもよい。図5に示すように、インターフェース504bの実施形態は、装置510の外部に配置されてもよい。あるいは、インターフェース504bの実施形態は装置510の内側に配置されてもよい。インターフェース504bは、ハードウェアインターフェース、ソフトウェアインターフェース、仮想インターフェースまたはそれらの任意の組み合わせを含んでもよい。インターフェース504bの実施形態は、送信に先立ってデータパケットを格納するための、あるいは、送信されたものの目的地の装置によって受け取られなかったデータパケット用のバックアップとしての複数の内部バッファを含んでもよい。インターフェース504aの実施形態は、リンク517a…517n、539a…539nを介してネットワーク接続装置523a…523n、531a…531n、535に接続されてもよい。同様に、インターフェース504bの実施形態は、リンク517a…517n、539a…539nを介してネットワーク接続装置523a…523n、531a…531n、535に接続されてもよい。
ネットワーク接続装置523a…523n、531a…531n、535の実施形態は、とりわけ、人工衛星用パラボラアンテナ、無線アクセスポイント、携帯電話、PDA、ブリッジアンテナ、ルータなどを含む任意のタイプの接続装置を含んでもよい。
引き続き図5を参照し、システム500の実施形態は、インターフェース504bおよび装置510への送信のために、データパケットA…Mに(装置508により)分割され(例えば、多重化を解かれ)、インターフェース504aに送信されるデータファイル/ストリーム511を示すものである。あるいは、データファイル/ストリーム511は、装置508によってインターフェース504aに直接送信されてもよく、インターフェース504bおよび装置510への送信のためにデータパケットA…Mに(インターフェース504aによりリアルタイムで)分割されてもよい。パケットA…Mの各々、いくつか、または、少なくとも1つは、インターフェース504bへの送信に先立ち、インターフェース504a内の1つ以上のデータバッファ内に格納されてもよい。例えば、データパケットA…Mの送信を可能にするために、パケットA…Mはデータバッファ内に格納されてもよい。更に、パケットが目的地の装置(例えば、インターフェース504b)に受け取られていない場合、データパケットA…Mのうちのどれでも再び送信され得るように、データパケットA…Mはデータバッファに格納されてもよい。パケットA…Mの各々、いくつか、または、少なくとも1つ(すなわち、データパケットA…Mのうちのいくつか)は、ネットワーク515a…515nの異なる1つによる送信のため、ネットワーク接続装置523a…523n、531a…531n、535の異なる1つに送信されてもよい。異なるネットワーク上でデータファイル(例えばデータ511)の異なるデータパケットを送信することで、図1で示したように、複数のネットワークから帯域幅を集約できるようにしてもよい。追加的な特性として、異なるネットワーク上でのデータファイル(例えばデータ511)の異なるデータパケットの送信に関する評価がされてもよい。特性は、とりわけ、スループット特性、パケットドロップ率特性、エラー特性、待ち時間特性、パケット遅ればらつき特性および配達順乱れ特性を含んでもよい。スループット特性は、特定のデータチャネル上で与えられるビットレート(つまり最大のスループット)を示すものとしてもよい。パケットドロップ率特性は、目的地に到着しない、複数の送信されたパケットを示す。エラー特性は、目的地への途中でドロップされる、破損したパケットを示す。待ち時間特性は、目的地に配達されるパケットに対する経過時間を示す。パケット遅ればらつき(つまり、ジッタ)は1チャネル上のパケット間における遅れ(あるいは待ち時間)の違いを示す。例えば、パケットA、C、Eがチャネル1上で送られ、パケットAが20ミリ秒で到着し、パケットCが200ミリ秒で到着し、パケットEが75ミリ秒で到着する場合、チャネル1は高いパケット遅ればらつきを含むと考えられる。配達順乱れ特性は、同じチャネル上で送信されて、到着順が乱れたパケットを定義する。
システム500は、ネットワークノード518a…518nのうちの任意のものを有線または無線の接続を介してn個の他のネットワークノードに接続できるようにしてもよい。更に、各ネットワークノードは、インターネットサービスプロバイダーにより提供されるインターネットゲートウェイへ接続してもよく、あるいは、ローカルネットワーク内に存在する他の接続に接続してもよい。上述の接続により、ネットワーク内の任意の有線または無線のアクセスポイントに接続された任意のインターネット対応装置が、ネットワークと結合した任意のインターネットゲートウェイおよびネットワークに接続された適合システムを利用することができる。これにより、任意のインターネット対応装置は複数のゲートウェイを同時に利用して、帯域幅の集約や、障害迂回機能や、その他の接続の最適化による性能を実現することができる。
システム500は、次のことを可能にする。
1. パケットA−Mが装置508からインターフェース504aに送信されること。
2. インターフェース504aが、リンク539a…539nのうちのいずれかを介して、ネットワーク接続装置523a…523n、531a…531n、535のうちのいずれかに接続し、かつ、ネットワーク接続装置523a…523n、531a…531n、535の各々に対して、任意の数のパケットを送信すること。
3. 518a…518nへの任意のネットワークノードが、パケットA…Mをサブパケットへ更に分割すること。
4. 518a…518nへの任意のネットワークノードが、インターフェース504aを離れたパケットに先立って、システム500が確立した所定の経路に基づき、パケットA…M(あるいは関連するサブパケット)を、関連するネットワークノードに直接接続されたネットワークノード518a…518nの他の任意のものを通じて送信すること。更に、各々のネットワークノード518a…518nは、外部ゲートウェイへの利用可能な経路のリアルタイムまたは近リアルタイムの評価、内部ネットワークリンクおよびパスの評価された性能、および、ゲートウェイの性能に基づき、他の任意の接続されたネットワークノードに対してパケットA−Mを送信してもよい。システム500は、インターフェース504bへの最も効率的なパスの評価に基づき、ネットワーク内にある、すべてのネットワークアクセスポイントから利用可能なすべてのインターネットゲートウェイへの経路を評価して、ネットワーク内において、個々の接続されたインターネット利用可能装置(例えば、ネットワーク接続装置523a…523n、531a…531n、535)に対するチャネルの割り当てを行ってもよい。
5. 接続が確立されるとき、または、パケットが到着するときに各々のネットワークノード518a…518nについて、経路を予め決定すること。システム500は、絶えずネットワークノードリンクおよびリンクのすべての組合せへのすべてのネットワークノードを評価して、インターフェース504bへのネットワークからあらゆる利用可能なチャネルを確立し、それらのチャネルの各々の性能を評価してもよい。
6. 他のネットワークノード、または、外部ゲートウェイへの送信のため、パケットストリームを、任意のネットワークノードで細分化すること。
7. 性能を向上させるため、任意のネットワークノードでパケットを細分化すること。
システム500の実施形態は、インターフェース504a、504bの少なくとも一方を介して、次の機能の任意の一つまたは組合せを可能にしてもよい。
1. ユーザはネットワークにより統合されたアクセスポイントを経由してインターネットに接続してもよい。システム500への接続により、インターフェース504bへのネットワークノードを介した利用可能なチャネルを備えたインターフェース504aとの通信が可能となる。更に、インターネット接続可能な装置のシステム開始の時に、または、リアルタイムで、または、近リアルタイムで、システム500によって評価される各チャネルの質が通信される。
2. ユーザのシステムは、ローカルインターフェースへのパケット送信を始める。インターフェース504aに接続されたネットワーク接続に送信されるパケットについて、システム500は、各ネットワークチャネルの性能や利用可能性に基づき、各ネットワークチャネルにパケットを割り当ててもよい。チャネルの割当ては、インターネットに接続された装置、インターネットに接続された装置が有線または無線の接続によって接続されたネットワークルータなどに対してされてもよい。チャネル/パス選択は初期接続ポイントで生じてもよく、または、各ネットワークノード上で独立して修正されてもよい。各ネットワークノードは、それと関連するインターネットゲートウェイを通じて、または、接続されたネットワークノードに向けて、1つ以上のパケットを送信することを選択してもよい。
図6を参照し、代替のシステム600の実施形態は、複数の接続をプールして、あたかもそれらが単独の接続を含むかのようにする。接続をプールすることは次のことを含んでもよい。
1. 特定の単一の既存の接続/ソケットが最も信頼性の高いチャネルを含む場合、その特定の単一の既存の接続/ソケット(例えば、Wi−Fi接続のみ)を終始使用するために、プログラムデータストリーム(例えばビデオチャットセッション)を割り当てること。追加的なプログラムデータストリーム(例えば、電子メール)は他の既存の接続/ソケットの使用に割り当てられる。
2. 任意の瞬間において、最良の利用可能な特定の単一の既存の接続/ソケットにプログラムデータストリームをすべて割り当てること。
更に、システム600は、パケットの到着を保証し、または、パケットの到着速度を向上させるため、複製したデータを複数のチャネルを介して送信するプロセスを実行可能とする。システム600は、到着を保証するために、2本以上のチャネルを経由して同一のデータストリームまたは複製したパケットを送信してもよい。これにより、パケットが到着しないか、または、到着が遅すぎる場合にデータを再送する必要性を低減することができる。システム600は、更に、パケット間の優先順位を決定してもよい(例えば、重要なパケット対、重要でないパケット)。例えば、ipビデオ通話における音声に関するパケットは配達のタイミング/速度の点から、電子メールに関連するパケットより重要であろう。システム600は、性能を向上させるために、(帯域幅の利用可能性の点で)十分に利用されていなかったチャネル上に、複製のパケットを送信してもよい。システム600は、更に非優先データの送信のための待ち時間を決定してもよい。
図6のシステム600の実施形態は、装置612a…612n、610、インターフェース604a…604n、605、ネットワーク615a…615n、および、ネットワーク接続装置623a…623n、635を含んでもよい。装置612a…612n、610は、とりわけ、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、タブレットコンピュータ、携帯情報端末(個人用ディジタル補助装置:PDA)、サーバコンピュータ、メインフレームコンピュータ、ケーブルモデム、無線ルータなどを含んでもよい。装置612a…612n、610は、異なるデータ送信方式に関連する1つ以上の通信インターフェース、例えば、とりわけ、有線通信、無線LAN(802.11a、b、g、n)インターフェース、マイクロ波インターフェース、人工衛星インターフェース、セルラー無線インターフェース(例えば、CDMA、3G、4Gなど)、短波無線インターフェースなどを含んでもよい。装置612aはインターフェース604aに(無線または有線接続により)接続されてもよい。図6に示すように、インターフェース604aの実施形態は、装置612aの外部に配置されてもよい。あるいは、インターフェース604aの実施形態は装置612aの内部に配置されてもよい。装置612a…612n、610はインターフェース604a…604n、605に(無線または有線接続により)それぞれ接続されてもよい。インターフェース604a…604n、605は装置612a…612n、610の内部または外部に設置されてもよい。インターフェース604a…604n、605の実施形態は、ハードウェアインターフェース、ソフトウェアインターフェース、仮想インターフェースまたはそれらの任意の組み合わせを含んでもよい。インターフェース604a…604n、605は、送信に先立ってデータパケットを格納するための、あるいは、送信されたものの目的地の装置に受け取られなかったデータパケット用のバックアップとしての、複数の内部バッファを含んでもよい。インターフェース604a…604n、605の実施形態はリンク617a…617nを介して装置612a…612n、610に接続されてもよい。同様に、インターフェース604bの実施形態は、リンク617a…617nを介してネットワーク接続装置612a…612n、610に接続されてもよい。
システム600は、クライアントコンピュータ(あるいは他のインターネット対応の装置)からの各接続要求を実行可能とする複数の接続をプールすることによって、単独の利用可能なチャネルを単独の接続のために使用できるようにする。本例においては、クライアントコンピュータが要求を行い、システム600は、チャネル利用可能性(例えば、帯域幅、待ち時間など)、チャネルの現在の利用、チャネルの履歴上の信頼性、端末装置によりチャネルを通じて送られるデータのタイプおよび優先度(例えば、udp対tcp、リアルタイム対ファイル転送など)のような特定の基準に基づき、要求を割り当てるための最良の利用可能なチャネルを決定する。更に、接続要求は、接続またはチャネルの存続期間中、それぞれ単独のチャネルに結び付けられてもよい。これにより、単一の装置が多くの利用可能チャネルを利用できる。例えば、ブラウザの各タブまたはブラウザの各ウィンドウに対してそれぞれ独立のチャネルが割り当てられることで、ビデオチャットアプリケーションには別の独立したチャネルが割り当てられ、FTPプログラムには別の独立したチャネルが割り当てられるなどとしてもよい。システム600は、参加する複数の装置のうち1つ以上の装置が任意の利用可能チャネルを共有するようにしてもよい。システム600は、要求毎に、利用可能チャネルの最良の使用態様を決定する。各クライアントマシンは、マスタ/スレーブまたはピア・ツー・ピアの関係において、無線または有線接続を介して接続されてもよい。
更に、システム600の実施形態は(すべて同一のWi−Fiネットワーク上の)装置612a、612n、612bを含み、装置612a、612n、612bは、装置635(すなわち、ローカルWi−Fiアクセスポイント)を介して互いに接続され、装置635は、モデムおよびISPを介してインターネットに接続され、ネットワークアンテナを介して無線ネットワークにも接続されている。装置612b、612cは、Wi−Fi直接接続を介して互いに直接接続される。装置612b、612c、612nは各々、セルラーサービスプロバイダへの独立した接続を含んでもよい。装置312aは、アプリケーションA(例えば、ビデオ会議アプリケーション)、アプリケーションB(例えば、ブラウザ接続)およびアプリケーションC(例えば、ファイルダウンロード)のための個別の接続を要求する。各接続のため、システム600は、転送されているデータのタイプ、およびシステム600が利用可能な異なるチャネルの利用可能性に基づき、接続要求を割り当てるための最良のチャネルを決定する。各接続は装置612aのインターフェースによってチャネルが割り当てられる。チャネルは単一のポイント・ツー・ポイントリンクを含んでもよく、その場合、パスは各ホップで評価され、修正される。あるいは、システム600の設定によっては、チャネルは、端点から端点へのチャネルを含んでもよい。更に、システム600は、マスタ/スレーブアーキテクチャーにて設計されることで、システム上の1つの装置がすべての接続された装置に対するマスタとして働き、すべてのチャネルの評価および割り当てを調整してもよい。あるいは、システム600はピア・ツー・ピアアーキテクチャーにて設計されることで、システム内の各装置がチャネル評価、チャネル割当てをし、シームレスな障害迂回およびその他のシステムタスクを実行できるようにしてもよい。
更に図面を参照して、図7は、図6のシステム600によって実行可能とされるプロセスフローを詳述するアルゴリズムの実施形態を示すものであり、複数の接続を、あたかもそれらが単独の接続を含むかのようにプールするものである。ステップ700において、第1のインターフェース装置は複数のデータストリームを受け取る。ステップ702において、各データストリームは複数の通信装置の異なる通信装置に割り当てられる。複数の通信装置は、第1のインターフェース装置に対して通信可能な態様で連結され、各通信装置は、複数の通信ネットワークの一つに関連付けられる。ステップ704において、複数のデータストリームの第1のデータストリームは第1の通信装置に送信される。第1のデータストリームは、第1の通信装置から第2のインターフェース装置へ、第1の通信装置に関連する第1の通信ネットワークを介して送信される。ステップ708において、第2のデータストリームは複数の通信装置のうちの第2の通信装置に送信される。第2のデータストリームは、第2の通信装置から第2のインターフェース装置へ、複数の通信ネットワークのうち第2の通信装置に関連する第2の通信ネットワークを介して送信される。第1のデータストリームは第2のデータストリームとは異なる。第1の通信装置は第2の通信装置とは異なり、第1の通信ネットワークは第2の通信ネットワークとは異なる。
あるいは、ステップ708において、第1のデータストリームは複数の通信装置のうちの第2の通信装置に送信される。第1のデータストリームは、第2の通信装置から第2のインターフェース装置へ、複数の通信ネットワークのうち第2の通信装置に関連する第2の通信ネットワークを介して送信される。第1の通信装置は第2の通信装置とは異なる。第1の通信ネットワークは第2の通信ネットワークとは異なる。
図面を更に参照し、図8は、図1のシステム2の実施形態、図2のシステム2aの実施形態、図5のシステム500の実施形態、および、図6のシステム600の実施形態によって使用されるコンピュータ装置90の実施形態を説明するものであり、インターフェースが、複数の利用可能なデータ伝送接続にアクセスできるようにするものである。コンピュータシステム90の実施形態は、プロセッサ91、プロセッサ91に連結された入力装置92、プロセッサ91に連結された出力装置93、プロセッサ91にそれぞれ連結された記憶装置94、95を含んでもよい。入力装置92は、とりわけ、キーボード、マウス、マイクロホンなどであってもよい。出力装置93は、とりわけ、プリンタ、プロッター、コンピュータスクリーン、携帯電話スクリーン、タブレットディスプレイ、磁気テープ、取り外し可能なハードディスク、フロッピーディスクなどであってもよい。記憶装置94、95は、とりわけ、ハードディスク、フロッピーディスク、磁気テープ、コンパクトディスク(CD)やディジタルビデオディスク(DVD)のような光学的記憶媒体、ダイナミックランダムアクセスメモリ(DRAM)、読み取り専用メモリ(ROM)などであってもよい。記憶装置95はコンピュータコード97を含む。コンピュータコード97は、インターフェースが、複数の利用可能なデータ伝送接続にアクセスできるようにし得るコードを含む。プロセッサ91はコンピュータコード97を実行する。記憶装置94は入力データ96を含む。入力データ96は、コンピュータコード97に要求される入力を含む。出力装置93は、コンピュータコード97からの出力を表示する。記憶装置94、95の一方または両方(あるいは、図8に示されない1つ以上の追加の記憶装置)は、コンピュータコードを含んでもよく、そこに具体化されたコンピュータ読取り可能なプログラムコードおよびそこに保存された他のデータの少なくとも一方を有する、コンピュータにより使用可能な媒体(すなわち、コンピュータ可読媒体またはプログラム記憶装置)として使用されてもよく、コンピュータ可読プログラムコードはコンピュータコード97を含む。一般に、コンピュータシステム90のコンピュータプログラム製品(あるいは、1個の製造品)は、コンピュータにより使用可能な媒体(あるいはプログラム記憶装置)を含んでもよい。
図8はコンピュータシステム90の実施形態をハードウェアとソフトウェアの特定の構成として示すが、当該技術分野における通常の知識を有する者が知っているように、ハードウェアとソフトウェアの任意の構成を、上述した目的のために、図5の特定のコンピュータシステム90と連携して用いてもよい。例えば、記憶装置94、95は個別の記憶装置ではなく単一の記憶装置の複数の部分であってもよい。
以上概説した特定の実施形態を伴って本開示を記述したが、多くの代替、修正および変更が可能であることは、当業者にとって明らかに自明である。従って、上述したような本開示の好ましい実施形態は例示であり、これらに限定されないことが意図される。次の特許請求の範囲が要求するように、発明の趣旨および範囲から逸脱することなく、様々な変更が行われ得る。特許請求の範囲は発明の及ぶ範囲を規定するものであり、本明細書に提供される具体例に限定されるべきではない。

Claims (40)

  1. データストリーム分割のための方法であって、
    データストリーム分割装置によって、第1のデータセットを受信し、
    前記データストリーム分割装置によって、前記第1のデータセットを複数のデータパケットに分割し、
    前記データストリーム分割装置によって、前記複数のデータパケットを前記データストリーム分割装置に含まれる1つ以上の内部送信バッファに格納し、
    前記データストリーム分割装置によって、複数のネットワークのうちの第1のネットワークに第1のポーリングをし、
    前記データストリーム分割装置によって、前記複数のネットワークのうちの第2のネットワークに第2のポーリングをし、
    前記データストリーム分割装置によって、第1のネットワークおよび第2のネットワークへの以前の接続に関連する履歴データを分析し、
    前記第1のポーリングと前記第2のポーリングの結果を参照して前記データストリーム分割装置によって、前記第1のネットワークと前記第2のネットワークのうちの少なくとも1つのデータ転送実行可能性を決定し、ここにおいて、前記装置は前記決定において前記履歴データの分析結果を更に参照し、
    前記データストリーム分割装置により、前記第1のネットワークを選択し、ここで、複数の通信網からなるネットワークのそれぞれは複数の通信デバイスからなる通信装置の1つを1つの目的地の装置に接続させるシステムにおいて、前記第1のネットワークは複数の通信デバイスからなる第1の通信装置を前記目的地の装置に接続し、この選択は、前記第1のネットワークのデータ転送実行可能性の関数として実行され、
    前記データストリーム分割装置により、前記複数のデータパケットのうちの第1のデータパケットを、前記第1の通信装置および前記第1のネットワークを介して前記目的地の装置に送信し、
    前記データストリーム分割装置により、複数の通信デバイスからなる前記第2のネットワークを更に選択し、ここに、前記第2のネットワークは複数の通信デバイスからなる第2の通信装置を前記目的地の装置に接続し、前記第1のネットワークと前記第2のネットワークは同一の通信プロトコルのセットを使用せず、この選択は、前記第2のネットワークのデータ転送実行可能性の関数として実行され、
    前記データストリーム分割装置により、更に、前記複数のデータパケットのうちの第2のデータパケットを、前記第2の通信装置および前記第2のネットワークを介して前記目的地の装置に送信し、ここに、前記第1のデータパケットは前記第2のデータパケットとは異なり、そして
    前記データストリーム分割装置により、前記目的地の装置に指示して、前記第1のデータパケットおよび前記第2のデータパケットをそれぞれの元のシーケンスで前記目的地の装置の内部データバッファに格納させる、方法。
  2. 前記第1及び第2のネットワークを選択する前に、前記1つまたは複数の内部送信バッファが前記第1のデータセットを含むのに十分な記憶容量を含むと判定する、請求項1に記載の方法。
  3. 前記データストリーム分割装置により、複数のデータパケットからなる第3のデータパケットを前記第1の通信装置及び前記第1のネットワークを介して、前記目的地の装置へ送信し、ここにおいて、前記第3のデータパケットは前記第1のデータパケット及び前記第2のデータパケットとは異なり、そして
    前記データストリーム分割装置により、前記目的地の装置に指示して、前記第1、第2及び第3のデータパケットをそれぞれの元のシーケンスで前記目的地の装置の内部データバッファに格納させる、請求項1に記載の方法
  4. 前記データストリーム分割装置は複数のディスクリート素子からなるディスクリート装置を含む、請求項1に記載の方法。
  5. 前記データストリーム分割装置は、コンピューティング装置を含む、請求項1に記載の方法。
  6. 前記コンピューティング装置は、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ゲーム機、Wi−Fiモバイル装置、ポータブルメディアプレイヤー、PDA、サーバ、ルータ装置、携帯電話および他のモバイルデバイスから成るグループから選択された装置を含む、請求項5に記載の方法。
  7. 前記第1の通信装置および第2の通信装置はそれぞれ、人工衛星用パラボラアンテナ、無線アクセスポイント、PDA、有線ルータ、ラジオ送受信装置、赤外線通信装置、マイクロ波パラボラアンテナおよび携帯電話から成るグループから選択された装置を含む、請求項1に記載の方法。
  8. 前記第1のポーリングと前記第2のポーリングは同時に発生する、請求項1に記載の方法。
  9. 前記データストリーム分割装置により、それぞれ複数の通信デバイスからなるn個の通信装置とそれぞれ複数の通信網からなる複数の関連するネットワークに対するポーリングを行い、
    前記データストリーム分割装置により前記ポーリングの結果に基づき、それぞれ複数の通信デバイスからなる各通信装置と前記複数の関するネットワークのデータ移送実行可能性を評価する、請求項1に記載の方法。
  10. 前記データストリーム分割装置により、それぞれ複数の通信網からなるn個の通信ネットワークへの以前の接続に関連する履歴データを分析する請求項1に記載の方法。
  11. 前記データストリーム分割装置により前記データ転送実行可能性の判断に基づき、前記複数の通信デバイスからなる第3の通信装置と前記複数の通信網からなる第3のネットワークを介して、複数のデータパケットなからなる第3のデータパケットを前記目的地の装置へ送信し、ここにおいて前記第3のデータパケットは前記第1のデータパケット及び前記第2のデータパケットと異なり、そして
    前記データストリーム分割装置により、前記目的地の装置に指示して、前記第1、第2及び第3のデータパケットをそれぞれの元のシーケンスで前記目的地の装置の内部データバッファに格納させる、請求項1に記載の方法
  12. それぞれが前記複数の通信デバイスからなるn個の通信装置及びそれぞれが複数の通信網からなる関連する通信ネットワークの上に、前記データストリーム分割装置により、前記複数のデータパケットからなる1つのデータパケットを送信する、請求項11に記載の方法
  13. 前記第1ポーリングと前記第2ポーリングが順に行われる、請求項8に記載の方法。
  14. 前記第1のネットワークおよび前記第2のネットワークへの過去の接続に関連する分析された履歴データを、前記データストリーム分割装置により外部から受け取る、請求項1に記載の方法。
  15. 前記第1のネットワークは第1の帯域幅を有し、前記第2のネットワークは第2の帯域幅を有し、前記第1のデータパケットを送信することと、前記第2のデータパケットを送信することにより、前記第1の帯域幅および前記第2の帯域幅の合計と等しい集約された帯域幅を生成する、請求項1に記載の方法。
  16. 前記第1の通信装置および前記第2の通信装置は同じ通信装置を含む、請求項1に記載の方法。
  17. 複数の通信デバイスからなる通信装置の何れか及び複数の通信網からなり前記データストリーム分割装置に連結された関連するネットワークの何れかに対し、前記データストリーム分割装置により、前記複数のデータパケットからなる1つのデータパケットxが送信される、請求項1に記載の方法
  18. コンピュータ可読記憶装置に連結されたコンピュータプロセッサを含むデータストリーム分割装置であって、前記コンピュータ可読記憶装置は、前記コンピュータプロセッサによって実行された時に方法を実行するための命令を含み、前記方法は、
    前記データストリーム分割装置によって、第1のデータセットを受信し、
    前記データストリーム分割装置によって、前記第1のデータセットを複数のデータパケットに分割し、
    前記データストリーム分割装置によって、前記複数のデータパケットを前記データストリーム分割装置に含まれる1つ以上の内部送信バッファに格納し、
    前記データストリーム分割装置によって、複数のネットワークのうちの第1のネットワークに第1のポーリングをし、
    前記データストリーム分割装置によって、前記複数のネットワークのうちの第2のネットワークに第2のポーリングをし、
    前記データストリーム分割装置によって、第1のネットワークおよび第2のネットワークへの以前の接続に関連する履歴データを分析し、
    前記第1のポーリングと前記第2のポーリングの結果を参照して前記データストリーム分割装置によって、前記第1のネットワークと前記第2のネットワークのうちの少なくとも1つのデータ転送実行可能性を決定し、ここにおいて、前記データストリーム分割装置は前記決定において前記履歴データの分析結果を更に参照し、
    前記データストリーム分割装置により、前記第1のネットワークを選択し、ここで、複数の通信網からなるネットワークのそれぞれは複数の通信デバイスからなる通信装置の1つを1つの目的地の装置に接続させるシステムにおいて、前記第1のネットワークは複数の通信デバイスからなる第1の通信装置を前記目的地の装置に接続し、この選択は、前記第1のネットワークのデータ転送実行可能性の関数として実行され、
    前記データストリーム分割装置により、前記複数のデータパケットのうちの第1のデータパケットを、前記第1の通信装置および前記第1のネットワークを介して前記目的地の装置に送信し、
    前記データストリーム分割装置により、複数の通信デバイスからなる前記第2のネットワークを更に選択し、ここに、前記第2のネットワークは複数の通信デバイスからなる第2の通信装置を前記目的地の装置に接続し、前記第1のネットワークと前記第2のネットワークは同一の通信プロトコルのセットを使用せず、この選択は、前記第2のネットワークのデータ転送実行可能性の関数として実行され、
    前記データストリーム分割装置により、更に、前記複数のデータパケットのうちの第2のデータパケットを、前記第2の通信装置および前記第2のネットワークを介して前記目的地の装置に送信し、ここに、前記第1のデータパケットは前記第2のデータパケットとは異なり、そして
    前記データストリーム分割装置により、前記目的地の装置に指示して、前記第1のデータパケットおよび前記第2のデータパケットをそれぞれの元のシーケンスで前記目的地の装置の内部データバッファに格納させる、データストリーム分割装置
  19. コンピュータ可読なプログラムコードを格納するコンピュータ可読記憶装置を含むコンピュータプログラム製品であって、前記コンピュータ可読プログラムコードは、データストリーム分割装置のコンピュータプロセッサによって実行された時に方法を実行するアルゴリズムを含み、前記方法は、
    前記データストリーム分割装置によって、第1のデータセットを受信し、
    前記データストリーム分割装置によって、前記第1のデータセットを複数のデータパケットに分割し、
    前記データストリーム分割装置によって、前記複数のデータパケットを前記データストリーム分割装置に含まれる1つ以上の内部送信バッファに格納し、
    前記データストリーム分割装置によって、複数のネットワークのうちの第1のネットワークに第1のポーリングをし、
    前記データストリーム分割装置によって、前記複数のネットワークのうちの第2のネットワークに第2のポーリングをし、
    前記データストリーム分割装置によって、第1のネットワークおよび第2のネットワークへの以前の接続に関連する履歴データを分析し、
    前記第1のポーリングと前記第2のポーリングの結果を参照して前記データストリーム分割装置によって、前記第1のネットワークと前記第2のネットワークのうちの少なくとも1つのデータ転送実行可能性を決定し、ここにおいて、前記データストリーム分割装置は前記決定において前記履歴データの分析結果を更に参照し、
    前記データストリーム分割装置により、前記第1のネットワークを選択し、ここで、複数の通信網からなるネットワークのそれぞれは複数の通信デバイスからなる通信装置の1つを1つの目的地の装置に接続させるシステムにおいて、前記第1のネットワークは複数の通信デバイスからなる第1の通信装置を前記目的地の装置に接続し、この選択は、前記第1のネットワークのデータ転送実行可能性の関数として実行され、
    前記データストリーム分割装置により、前記複数のデータパケットのうちの第1のデータパケットを、前記第1の通信装置および前記第1のネットワークを介して前記目的地の装置に送信し、
    前記データストリーム分割装置により、複数の通信デバイスからなる前記第2のネットワークを更に選択し、ここに、前記第2のネットワークは複数の通信デバイスからなる第2の通信装置を前記目的地の装置に接続し、前記第1のネットワークと前記第2のネットワークは同一の通信プロトコルのセットを使用せず、この選択は、前記第2のネットワークのデータ転送実行可能性の関数として実行され、
    前記データストリーム分割装置により、更に、前記複数のデータパケットのうちの第2のデータパケットを、前記第2の通信装置および前記第2のネットワークを介して前記目的地の装置に送信し、ここに、前記第1のデータパケットは前記第2のデータパケットとは異なり、そして
    前記データストリーム分割装置により、前記目的地の装置に指示して、前記第1のデータパケットおよび前記第2のデータパケットをそれぞれの元のシーケンスで前記目的地の装置の内部データバッファに格納させる、コンピュータプログラム製品
  20. 第1のコンピュータプロセッサを含むデータストリーム分割装置と、第2のコンピュータプロセッサを含む目的地の装置と、複数の通信デバイスからなる第1の通信装置と、前記複数の通信デバイスからなる第2の通信装置とを含み、前記複数の通信デバイスからなる各通信装置は、複数の通信網からなるネットワークにより前記データストリーム分割装置を前記目的地の装置に接続し、そして、前記第1の通信装置は複数の通信網からなる第1のネットワークにより前記データストリーム分割装置を前記目的地の装置へ接続し、前記第2の通信装置は前記複数の通信網からなる第2のネットワークにより前記データストリーム分割装置を前記目的地の装置へ接続する、システムを提供し、
    前記データストリーム分割装置によって、第1のデータセットを受信し、
    前記データストリーム分割装置によって、前記第1のデータセットを複数のデータパケットに分割し、
    前記データストリーム分割装置によって、前記複数のデータパケットを前記データストリーム分割装置に含まれる1つ以上の内部送信バッファに格納し、
    前記データストリーム分割装置によって、複数のネットワークのうちの第1のネットワークに第1のポーリングをし、
    前記データストリーム分割装置によって、前記複数のネットワークのうちの第2のネットワークに第2のポーリングをし、
    前記データストリーム分割装置によって、第1のネットワークおよび第2のネットワークへの以前の接続に関連する履歴データを分析し、
    前記第1のポーリングと前記第2のポーリングの結果を参照して前記データストリーム分割装置によって、前記第1のネットワークと前記第2のネットワークのうちの少なくとも1つのデータ転送実行可能性を決定し、ここにおいて、前記装置は前記決定において前記履歴データの分析結果を更に参照し、
    前記データストリーム分割装置により、前記第1のネットワークを選択し、ここで、複数の通信網からなるネットワークのそれぞれは複数の通信デバイスからなる通信装置の1つを1つの目的地の装置に接続させるシステムにおいて、前記第1のネットワークは複数の通信デバイスからなる第1の通信装置を前記目的地の装置に接続し、この選択は、前記第1のネットワークのデータ転送実行可能性の関数として実行され、
    前記データストリーム分割装置により、前記複数のデータパケットのうちの第1のデータパケットを、前記第1の通信装置および前記第1のネットワークを介して前記目的地の装置に送信し、
    前記データストリーム分割装置により、複数の通信デバイスからなる前記第2のネットワークを更に選択し、ここに、前記第2のネットワークは複数の通信デバイスからなる第2の通信装置を前記目的地の装置に接続し、前記第1のネットワークと前記第2のネットワークは同一の通信プロトコルのセットを使用せず、この選択は、前記第2のネットワークのデータ転送実行可能性の関数として実行され、
    前記データストリーム分割装置により、更に、前記複数のデータパケットのうちの第2のデータパケットを、前記第2の通信装置および前記第2のネットワークを介して前記目的地の装置に送信し、ここに、前記第1のデータパケットは前記第2のデータパケットとは異なり、そして
    前記データストリーム分割装置により、前記目的地の装置に指示して、前記第1のデータパケットおよび前記第2のデータパケットをそれぞれの元のシーケンスで前記目的地の装置の内部データバッファに格納させる、方法。
  21. 前記データストリーム分割装置により、第2のプロセッサに指示して、前記第1のデータパケットおよび前記第2のデータパケットをそれぞれの元のシーケンスで前記目的地の装置の内部データバッファに格納させる、請求項20に記載の方法。
  22. 前記第1のコンピュータプロセッサにより、複数のデータパケットからなる第3のデータパケットを前記第1の通信装置へ送信し、ここにおいて、前記第3のデータパケットは前記第1及び第2のデータパッケットと異なり、そして
    前記第1のネットワークを介して前記第1の通信装置を前記目的地の装置へ連結させることにより、前記第3のデータパケットを送信し、そして
    前記データストリーム分割装置により、前記目的地の装置に指示して、前記第1、第2及び第3のデータパケットをそれぞれの元のシーケンスで前記目的地の装置の内部データバッファに格納させる、請求項20に記載の方法
  23. 前記データストリーム分割装置及び前記目的地の装置はそれぞれ複数のディスクリート素子からなるディスクリート装置を含む、請求項20に記載の方法。
  24. 前記データストリーム分割装置は第1のコンピューティング装置を備え、前記目的地の装置は第2のコンピューティング装置を備える、請求項20に記載の方法。
  25. 前記システムの中に、前記複数の通信デバイスからなる第3の通信装置及び前記複数の通信網からなる第3のネットワークを備え、前記第3の通信装置と前記目的地の装置とは通信可能に連結され、
    前記第1のコンピュータプロセッサによりデータ伝送実行可能性に基づき、複数のデータパケットからなる第3のデータパケットを前記第3の通信装置へ送信し、ここにおいて、前記第3のデータパケットは前記第1及び第2のデータパッケットと異なり、
    前記第3のネットワークを介して第3の通信装置を前記目的地の装置を接続することにより、前記第3のデータパケットを送信し、
    前記データストリーム分割装置により、前記目的地の装置に指示して、前記第1、第2及び第3のデータパケットをそれぞれの元のシーケンスで前記目的地の装置の内部データバッファに格納させる、請求項20に記載の方法
  26. 第1のデータバッファを含むデータストリーム分割装置であって、前記データストリーム分割装置は第1のデータセットを受け取り、該第1のデータセットを複数のデータパケットに分割し、該複数のデータパケットを前記第1のデータバッファ内に格納するように構成されるデータストリーム分割装置と、
    第2のデータバッファを含む目的地の装置と、
    複数の通信ディバイスからなる第1の通信装置であって、前記複数の通信ディバイスからなる各通信装置は前記データストリーム分割装置を、複数の通信網からなるネットワークを介して、前記目的地の装置に連結し、そして、前記データストリーム分割装置は、前記複数のデータパケットからなる第1のデータパケットを前記第1の通信装置へ送信するように構成される前記第1の通信装置と、
    複数の通信網からなる第1の通信ネットワークであって、該第1の通信装置は、前記第1の通信ネットワークを介して、前記第1のデータパケットを前記目的地の装置へ送信するように構成され、該第1の通信ネットワークは前記データストリーム分割装置によりポーリングされ、ここにおいて、前記第1の通信ネットワークに対する以前の接続に関連付けられた履歴データが分析され、前記ポーリングと分析の結果が前記第1の通信ネットワークのデータ転送実行可能性を実行するに用いられ、更に、前記第1の通信ネットワークは前記データストリーム分割装置により前記第1の通信ネットワークのデータ転送速度の関数として選択される第1の通信ネットワーク、
    前記複数の通信ディバイスを備える第2の通信装置であって、ここにおいて、前記目的地の装置は、前記複数のデータパケットからなる第2のデータパケットを前記第2の通信装置に送信するように構成され、ここにおいて前記2つのデータパケットは前記第1のデータパケットと異なる、第2の通信装置と、
    複数の通信網からなる第2の通信ネットワークであって、該第2の通信装置は、前記第2の通信ネットワークを介して、前記第2のデータパケットを前記目的地の装置へ送信するように構成され、該第2の通信ネットワークは前記データストリーム分割装置によりポーリングされ、ここにおいて、前記第2の通信ネットワークに対する以前の接続に関連付けられた履歴データが分析され、前記ポーリングと分析の結果が前記第2の通信ネットワークのデータ転送実行可能性を実行するに用いられ、更に、前記目的地の装置は前記第1のデータパケットと前記第2のデータパケットをそれぞれ元のシーケンスで前記第2のデータバッファ内に格納する、第2の通信ネットワーク、を備えてるシステム。
  27. 第1のコンピュータプロセッサを備え複数の通信デバイスからなる第1の通信装置により、複数の通信網からなる第1の通信ネットワークを介して、前記第1の通信装置とコンピューティング装置との第1の連結を利用し、
    前記第1の通信装置により、前記第1の通信ネットワークを介して第1のデータセットを前記コンピューティング装置へ送信し、ここにおいて、前記第1のデータセットはデータストリーム分割装置により受け取られ、該データストリーム分割装置は前記第1の通信ネットワークを選択して前記第1のデータセットを受け取り、この受け取りは前記第1の通信ネットワークを超える前記第1の通信装置のデータ送信速度の関数としてなされ、
    前記第1の通信装置により、前記第1の連結は機能しないこと決定し、
    機能しないことの結果として前記第1の通信装置により、前記第1の通信装置と前記複数の通信デバイスからなる第2の通信装置との第2の連結を特定し、ここにおいて、前記第2の通信装置は前記コンピューティング装置に連結され、そして
    前記第2の通信装置を介する前記第1の通信装置と前記コンピューティング装置との連結により、前記第1のデータセットの残部を送信し、ここにおいて、前記第1のデータセットの残部は前記第のデータセットのデータを含み、そのデータは前記第1の連結が機能しなかったことにより前記コンピューティング装置へ移送されなかった、
    ここにおいて、前記第1の通信ネットワークをこえる前記第1の通信装置のデータ送信速度は、前記複数の通信デバイスからなる前記第1の通信装置と前記複数の通信網からなる前記第1の通信ネットワークに対する前記データストリーム分割装置によるポーリングと、前記第1の通信ネットワークに対する以前の接続に関連付けられた履歴データの前記データストリーム分割装置による分析とによって決定される、方法。
  28. 前記複数の通信網からなる第2の通信ネットワークを介して、前記第2の通信装置は前記コンピューティング装置に接続され、ここにおいて、前記第2の通信ネットワークは前記第1の通信ネットワークと異なる、請求項27に記載の方法。
  29. 前記第1の通信ネットワークを介して前記第2の通信装置は前記コンピューティング装置に接続される、請求項27に記載の方法。
  30. 前記第1の通信装置により、前記第1の連結が現在機能していることを決定し、
    前記第1の通信装置により、前記第1の通信装置と前記第2の通信装置との間のデータフローを機能させない、請求項27に記載の方法。
  31. 前記第1の連結が機能していないと決定されたとき、前記第1の通信装置と前記第1の通信ネットワークとの連結が機能していないか若しくは不充分な機能しか発揮していないかを決定する、請求項27に記載の方法。
  32. 前記第1の連結が機能していないと決定されたとき、前記第1の通信ネットワークと前記コンピューティング装置との連結が機能していないか若しくは不充分な機能しか発揮していないかを決定する、請求項27に記載の方法。
  33. 前記第1の通信装置により、前記第1の通信ネットワークが不充分にしか機能していないことを決定する請求項27に記載の方法。
  34. 前記第1のデータセットは音声/オーディオデータを含む、請求項27に記載の方法。
  35. 前記第1のデータセットはビデオデータを含む、請求項27に記載の方法。
  36. 前記第1のデータセットはテキストデータを含む、請求項27に記載の方法。
  37. 前記第1のデータセットはコンピュータコード若しくはコンピュータ可読データを含む、請求項27に記載の方法。
  38. コンピュータプロセッサを備える第1の携帯電話により、第1のデータセットを受け付け、
    前記第1の携帯電話により、前記第1のデータセットを複数のデータパケットに分割し、
    前記第1の携帯電話により、該第1の携帯電話の内部の一又は二以上の伝送バッファに前記複数のデータパケットが格納され、
    前記第1の携帯電話により、前記第1の携帯電話へ通信可能に連結された携帯デバイスを介して、複数のデータパケットを第3のインターフェースに送信し、ここにおいて、前記携帯デバイスに関連付けられた第1の通信ネットワークを介して前記送信が実行され、前記第1の通信ネットワークを超える前記第1の携帯電話のデータ送信速度の関数として機能する前記第1の通信ネットワークを前記第1の携帯電話が選択する、そして、
    前記第1の携帯電話によって、前記複数のデータパケットが前記第3のインターフェースに送信し、ここに、前記複数のデータパケットと異なる第2のデータパケットが、前記第1の携帯電話が連結された第2の通信ネットワークを介して、前記第1の携帯電話から送信され、ここにおいて、前記第1の通信ネットワークは前記第2の通信ネットワークと異なっていてもよく、
    前記第1の通信ネットワークを超える前記第1の携帯電話のデータ信速度は前記第1の携帯電話と前記第1の通信ネットワークに対する前記コンピュータプロセッサによるポーリングと、前記第1の通信ネットワークに対する以前の接続に関連付けられた履歴データの前記コンピュータプロセッサによる分析とによって決定される、方法。
  39. 記ポーリングは、前記第1の通信ネットワークを介して前記複数のデータパケットを前記第3のインターフェースに送信するように構成された、複数の通信ディバイスからなる第1の通信装置に対するポーリングを含む、請求項38に記載のデータストリーム分割方法。
  40. 記ポーリングは、前記第2の通信ネットワークを介して前記第2のデータパケットを前記第3のインターフェースに送信するように構成された、複数の通信ディバイスからなる第2の通信装置に対するポーリングを含む、請求項38に記載のデータストリーム分割方法。
JP2015532076A 2012-09-13 2013-09-13 データ転送レートを増加させるためのデータストリーム分割 Expired - Fee Related JP6473688B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/613,230 2012-09-13
US13/613,230 US9100904B2 (en) 2012-09-13 2012-09-13 Data stream division to increase data transmission rates
PCT/US2013/059661 WO2014043469A1 (en) 2012-09-13 2013-09-13 Data stream division to increase data transmission rates

Publications (2)

Publication Number Publication Date
JP2015534352A JP2015534352A (ja) 2015-11-26
JP6473688B2 true JP6473688B2 (ja) 2019-02-20

Family

ID=50233231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015532076A Expired - Fee Related JP6473688B2 (ja) 2012-09-13 2013-09-13 データ転送レートを増加させるためのデータストリーム分割

Country Status (10)

Country Link
US (3) US9100904B2 (ja)
EP (1) EP2896149A4 (ja)
JP (1) JP6473688B2 (ja)
CN (1) CN104823393B (ja)
AU (1) AU2013315239B2 (ja)
BR (1) BR112015005598A2 (ja)
CA (1) CA2882946A1 (ja)
MX (1) MX353767B (ja)
RU (1) RU2640039C2 (ja)
WO (1) WO2014043469A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9438385B2 (en) 2012-09-13 2016-09-06 First Principles, Inc. Data stream division to increase data transmission rates
US9634726B2 (en) 2012-11-02 2017-04-25 Google Inc. Seamless tethering setup between phone and laptop using peer-to-peer mechanisms
US10587663B2 (en) * 2013-05-31 2020-03-10 Verily Life Sciences Llc Video stream preview
US9241357B2 (en) * 2013-06-27 2016-01-19 Kabushiki Kaisha Toshiba Electronic device, method, and computer-readable storage medium
US9854051B2 (en) * 2014-04-25 2017-12-26 Wilmerding Communications Llc Using proxy devices as dynamic data relays
JP6355528B2 (ja) * 2014-10-31 2018-07-11 三菱電機株式会社 ゲートウェイ装置
JP6455084B2 (ja) * 2014-11-04 2019-01-23 富士通株式会社 通信制御プログラム、通信システム、通信制御装置、および通信制御方法
US10291545B2 (en) * 2014-12-08 2019-05-14 Samsung Electronics Co., Ltd. Method and apparatus for setting communicating session
US9980304B2 (en) * 2015-04-03 2018-05-22 Google Llc Adaptive on-demand tethering
CN106559170A (zh) * 2015-09-25 2017-04-05 努比亚技术有限公司 多通道数据传输方法、装置、网络节点及移动终端
CN107104782B (zh) * 2017-04-15 2021-01-26 深圳市民泰科电子有限公司 数据传输方法及装置
RU2738255C1 (ru) * 2017-05-19 2020-12-11 Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд. Способ и устройство для передачи данных
CN108337699B (zh) * 2018-01-23 2020-08-18 上海载德信息科技股份有限公司 一种上网的方法、装置、移动终端及存储介质
CN108322388B (zh) * 2018-01-31 2022-03-01 新华三技术有限公司 一种报文转发方法及装置
CN109560860B (zh) * 2018-12-25 2021-02-09 长沙天仪空间科技研究院有限公司 一种卫星通信路由方法和系统
WO2020164078A1 (zh) * 2019-02-14 2020-08-20 Oppo广东移动通信有限公司 用于传输数据的方法及设备
CN110650546B (zh) * 2019-09-29 2023-08-15 Tcl移动通信科技(宁波)有限公司 文件传输的方法、装置、存储介质以及终端
DE102022108950A1 (de) * 2021-04-16 2022-10-20 Maxlinear, Inc. Vorrichtung mit multi-channel bonding

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USH1175H (en) 1988-05-04 1993-04-06 The United States Of America As Represented By The Secretary Of The Navy Dynamic channel selection system
US5390239A (en) 1994-03-17 1995-02-14 Morris; Gregory A. Method for increasing digital data throughput over telephone lines
US5809070A (en) 1996-02-27 1998-09-15 Flat Connections, Inc. High speed data communications using multiple low speed modems
US5918021A (en) 1996-06-03 1999-06-29 Intel Corporation System and method for dynamic distribution of data packets through multiple channels
US6198749B1 (en) 1997-04-03 2001-03-06 Nortel Networks Limited System for inverse multiplexing analog channels
US6711137B1 (en) * 1999-03-12 2004-03-23 International Business Machines Corporation System and method for analyzing and tuning a communications network
JP2000307598A (ja) * 1999-04-23 2000-11-02 Oki Electric Ind Co Ltd 逆多重通信におけるフレーム分割送信回路
US6577653B1 (en) * 1999-04-28 2003-06-10 3Com Corporation Apparatus for and method of establishing a route utilizing multiple parallel segments in an asynchronous transfer mode network
SE0000707D0 (sv) * 1999-05-04 2000-03-01 Magnus Agervald System för överförande av data via flera kommunikationsvägar
IL132733A (en) * 1999-11-03 2003-07-06 Eci Telecom Ltd Method and system for increasing bandwidth capacity utilization
US20050018611A1 (en) * 1999-12-01 2005-01-27 International Business Machines Corporation System and method for monitoring performance, analyzing capacity and utilization, and planning capacity for networks and intelligent, network connected processes
EP1284068B1 (en) 2000-05-22 2010-05-05 Infineon Technologies AG Inverse multiplexer device
US8521142B2 (en) * 2000-08-23 2013-08-27 Novatel Wireless, Inc. Method and apparatus for distributed data transfer over multiple independent wireless networks
US7725587B1 (en) * 2000-08-24 2010-05-25 Aol Llc Deep packet scan hacker identification
JP2002261854A (ja) * 2001-03-02 2002-09-13 Mitsubishi Heavy Ind Ltd 分散通信装置、分散通信方法および分散通信プログラム
US6993050B2 (en) 2001-03-14 2006-01-31 At&T Corp. Transmit and receive system for cable data service
US20030128701A1 (en) * 2002-01-09 2003-07-10 Nokia Corporation Method of and apparatus for directing packet entities
US6917759B2 (en) 2002-01-31 2005-07-12 Nortel Networks Limited Shared mesh signaling algorithm and apparatus
US6842446B2 (en) * 2002-04-19 2005-01-11 Sprint Communications Company L.P. Method and system for increasing data rate in wireless communications through aggregation of data sessions
US7623477B2 (en) * 2002-05-06 2009-11-24 Qualcomm, Incorporated Methods and apparatus for downlink macro-diversity in cellular networks
US7315538B2 (en) 2003-08-07 2008-01-01 At&T Delaware Intellectual Property, Inc. Methods and systems for providing network access service utilizing multiple asymmetric DSL modems per service point
US7630412B2 (en) 2003-08-07 2009-12-08 At&T Intellectual Property I, L.P. Methods and systems for aggregating Ethernet communications
US8351468B2 (en) 2004-04-05 2013-01-08 Broadcom Corporation Method and apparatus for downloading content using channel bonding
US7424040B2 (en) 2004-05-07 2008-09-09 Ltas Holdings, Llc Communication systems and methods for transmitting data in parallel over multiple channels
US20060098573A1 (en) 2004-11-08 2006-05-11 Beer John C System and method for the virtual aggregation of network links
US7515543B2 (en) * 2004-12-21 2009-04-07 Alcatel-Lucent Usa Inc. Packet reorder resolution in a load-balanced network architecture
US20060182152A1 (en) * 2005-02-16 2006-08-17 Qi Bi Combining multiple physical traffic channels in a wireless communication system
US8135006B2 (en) * 2005-12-22 2012-03-13 At&T Intellectual Property I, L.P. Last mile high availability broadband (method for sending network content over a last-mile broadband connection)
US7765294B2 (en) 2006-06-30 2010-07-27 Embarq Holdings Company, Llc System and method for managing subscriber usage of a communications network
JP2008142150A (ja) * 2006-12-07 2008-06-26 Matsushita Electric Ind Co Ltd 医療端末および医療端末の制御方法
US7532562B2 (en) 2007-02-26 2009-05-12 Provigent Ltd. High-data-rate communication link using multiple lower rate modems
JP5205819B2 (ja) * 2007-06-06 2013-06-05 日本電気株式会社 通信システムおよびそのパケットスケジューリング方法ならびに送信ノード
EP2201474B1 (en) 2007-10-03 2020-05-06 NTT Global Networks Incorporated Virtualized application acceleration infrastructure
US20090097554A1 (en) * 2007-10-10 2009-04-16 Raghvendra Savoor Methods and apparatus to manage a bonded digital subscriber line (dsl) service
US8707389B2 (en) * 2008-12-04 2014-04-22 Pravala Inc. Multi-transport mode devices having improved data throughput
EP2234315B1 (en) * 2009-03-27 2018-02-14 Sony Corporation Division of bit streams to produce spatial paths for multicarrier transmission
US8327232B2 (en) * 2009-04-20 2012-12-04 Honeywell International Inc. Apparatus and method for improved reliability of wireless communications using packet combination-based error correction
US8516147B2 (en) * 2010-02-26 2013-08-20 Simula Innovation Sa Data segmentation, request and transfer method
US9185024B2 (en) * 2010-03-08 2015-11-10 The Chinese University Of Hong Kong Path selection in streaming video over multi-overlay application layer multicast
US8493860B2 (en) * 2010-03-24 2013-07-23 Telefonaktiebolaget Lm Ericsson (Publ) Fair congestion detection for transport network layer WCDMA communications
US8369349B2 (en) * 2010-03-25 2013-02-05 Canon Kabushiki Kaisha Network streaming over multiple physical interfaces using feedback information
US8498666B2 (en) * 2010-05-05 2013-07-30 Nokia Siemens Networks Oy Carrier aggregation for two radio systems
EP2601776B1 (en) 2010-08-06 2015-10-28 Citrix Systems, Inc. Systems and methods for a para-virtualized driver in a multi-core virtual packet engine device
US8582458B2 (en) * 2010-09-29 2013-11-12 At&T Intellectual Property I, L.P. Femtocell automatic speed test
KR20120072252A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 분산 데이터 스트림 처리 시스템에서 연속 처리 태스크를 병렬 처리하기 위한 장치 및 그 방법
US9716659B2 (en) * 2011-03-23 2017-07-25 Hughes Network Systems, Llc System and method for providing improved quality of service over broadband networks
CN102958136B (zh) * 2011-08-12 2018-03-16 Sk电信有限公司 基于多网络的同时数据传输方法和应用于该方法的设备
US8954599B2 (en) * 2011-10-28 2015-02-10 Hewlett-Packard Development Company, L.P. Data stream operations
TW201322022A (zh) * 2011-11-24 2013-06-01 Alibaba Group Holding Ltd 分散式資料流處理方法及其系統
US9654329B2 (en) * 2012-05-04 2017-05-16 The Hong Kong University Of Science And Technology Content distribution over a network
US20140146797A1 (en) * 2012-11-26 2014-05-29 Adc Telecommunications, Inc. Timeslot mapping and/or aggregation element for digital radio frequency transport architecture
BR112016005391B8 (pt) * 2014-02-14 2022-10-25 Huawei Tech Co Ltd Método e servidor para buscar ponto divisório de corrente de dados com base em servidor
CN104504143B (zh) * 2015-01-04 2017-12-29 华为技术有限公司 一种流图优化方法及其装置
CA3010043C (en) * 2015-12-29 2020-10-20 DISH Technologies L.L.C. Dynamic content delivery routing and related methods and systems

Also Published As

Publication number Publication date
US9100904B2 (en) 2015-08-04
WO2014043469A1 (en) 2014-03-20
RU2640039C2 (ru) 2017-12-26
JP2015534352A (ja) 2015-11-26
US20150271090A1 (en) 2015-09-24
AU2013315239A1 (en) 2015-03-05
AU2013315239B2 (en) 2017-09-21
US20170026303A1 (en) 2017-01-26
BR112015005598A2 (pt) 2017-07-04
MX353767B (es) 2018-01-26
CN104823393B (zh) 2018-06-29
MX2015003059A (es) 2015-09-29
CN104823393A (zh) 2015-08-05
US20140071968A1 (en) 2014-03-13
EP2896149A4 (en) 2016-06-01
CA2882946A1 (en) 2014-03-20
EP2896149A1 (en) 2015-07-22
RU2015111414A (ru) 2016-11-10

Similar Documents

Publication Publication Date Title
JP6473688B2 (ja) データ転送レートを増加させるためのデータストリーム分割
US9838166B2 (en) Data stream division to increase data transmission rates
US20210014170A1 (en) Adaptive private network with dynamic conduit process
JP7173587B2 (ja) パケット伝送システムおよび方法
US8943206B2 (en) Network bandwidth detection and distribution
EP2671352B1 (en) System and method for aggregating and estimating the bandwidth of multiple network interfaces
US20160218979A1 (en) Apparatus and method for transmitting packets through multi-homing based network
JP6777650B2 (ja) Tcpトンネル及びネイティブtcp情報に基づくバンドリングシナリオにおけるパケットのスケジューリングのための方法及びシステム
JP2007527170A (ja) 並列通信のためのシステムおよび方法
US9825815B2 (en) System and method for aggregating and estimating the bandwidth of multiple network interfaces
US10652310B2 (en) Secure remote computer network
JP2010067015A (ja) ファイル送信装置、ファイル受信装置、ファイル送受信システム及びそのプログラム
Elattar et al. Evaluation of multipath communication protocols for reliable internet-based cyber-physical systems
Stais et al. Error and congestion control for wireless sensor networks
KR20140002040A (ko) 라우터에서의 통신들을 관리하는 기술

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170919

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190128

R150 Certificate of patent or registration of utility model

Ref document number: 6473688

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees