JP5815838B2 - ルータにおいて通信を管理するための技法 - Google Patents

ルータにおいて通信を管理するための技法 Download PDF

Info

Publication number
JP5815838B2
JP5815838B2 JP2014505387A JP2014505387A JP5815838B2 JP 5815838 B2 JP5815838 B2 JP 5815838B2 JP 2014505387 A JP2014505387 A JP 2014505387A JP 2014505387 A JP2014505387 A JP 2014505387A JP 5815838 B2 JP5815838 B2 JP 5815838B2
Authority
JP
Japan
Prior art keywords
router
data
protocol stack
wan
network protocol
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
JP2014505387A
Other languages
English (en)
Other versions
JP2014514857A (ja
Inventor
ムスタ、チャールズ・エー.
ダンラップ、ウェイン・ジー.
メンチャカ、ベンジャミン・エム.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2014514857A publication Critical patent/JP2014514857A/ja
Application granted granted Critical
Publication of JP5815838B2 publication Critical patent/JP5815838B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

関連出願
本出願は、2011年4月13日に出願された米国特許出願第13/086,000号の優先権の利益を主張する。
本開示は、コンピュータネットワークに関し、より詳細には、コンピュータネットワークのためのルーティングデバイスに関する。
コンピュータはますます、通信ネットワークを介して他のコンピュータと通信している。ネットワークは、コンピュータが、コンピュータによって個々に実行され得ない様々なサービスを提供することを可能にする。たとえば、コンピュータの集合は、ユーザがコンピュータ間で共有される共通のゲーム環境において競争する、オンラインゲームにユーザが参加することを可能にすることができる。しかしながら、コンピュータによって通信ネットワークに通信される情報の量が増加するにつれて、コンピュータリソースはストレスを受け、情報転送において望ましくない遅延を引き起こすことがある。これによりユーザエクスペリエンスが不十分になることがある。たとえば、ユーザはネットワークラグを経験することがあり、ネットワークによって転送された情報がコンピュータによって十分な速度で処理されず、したがって、ユーザは情報転送における遅延を知覚することが可能である。さらに、ネットワークラグおよび他のネットワーク転送問題が、ゲームアプリケーション、ボイス通信アプリケーションなど、多種多様なアプリケーションに影響を及ぼすことがある。
いくつかの実施形態では、方法は、ローカルエリアネットワーク(LAN)のソースノードからLANに結合されたルータにネットワークプロトコルスタック処理をオフロードすることを備える。
いくつかの実施形態では、ネットワークプロトコルスタック処理をオフロードすることは、ルータの第1の入力においてLANから第1のデータの受信することであって、第1のデータが、ルータに結合されたワイドエリアネットワークへの通信に好適でない第1のフォーマットである、受信することと、第2のフォーマットの第2のデータを判断するために、ルータのネットワークプロトコルスタックにおいて第1のデータを処理することであって、第2のフォーマットがワイドエリアネットワークへの通信に好適である、処理することと、ワイドエリアネットワークに第2のデータを通信することとを備える。
いくつかの実施形態では、本方法は、ルータの第2の入力においてワイドエリアネットワークから第3のデータを受信することであって、第3のデータが第2のフォーマットである、受信することと、ルータからワイドエリアネットワークに第3のデータをルーティングすることとをさらに備える。
いくつかの実施形態では、ネットワークプロトコルスタック処理をオフロードすることは、ルータにおいてワイドエリアネットワークからパケットを受信したことに応答して、ルータにおいて実行されるネットワークプロトコルスタックにおいて肯定応答を生成することと、ワイドエリアネットワークに肯定応答を通信することとを備える。
いくつかの実施形態では、ネットワークプロトコルスタック処理をオフロードすることは、ルータにおいて実行されるネットワークプロトコルスタックにおいて、第1のデータの受信の肯定応答が第1の時間量中で受信されなかったと判断したことに応答して、第2のデータを再通信することを備える。
いくつかの実施形態では、第2のデータを判断することが、第1のデータに基づいて第1のパケットを形成することを備え、ルータからワイドエリアネットワークにパケットの複数のコピーを通信することをさらに備える。
いくつかの実施形態では、ルータのネットワークプロトコルスタックはTCP/IPスタックを備える。
いくつかの実施形態では、ルータのネットワークプロトコルスタックはUDPスタックを備える。
いくつかの実施形態では、方法は、ルータにおいて第1のデータを受信することと、第1のデータがローカルエリアネットワーク(LAN)のノードにターゲッティングされていると判断したことに応答して、LANのノードにルーティングするのためにローカルエリアネットワークに第1のデータの第1の数のコピーを送ることと、第1のデータがワイドエリアネットワーク(WAN)のノードにターゲッティングされていると判断したことに応答して、WANのノードにルーティングするためにワイドエリアネットワークに第1のデータの第2の数のコピーを送ることとを備える。
いくつかの実施形態では、本方法は、ルータにおいてLANから第2のデータを受信することであって、第2のデータがWANへの通信に好適でない第1のフォーマットである、受信することと、第2のフォーマットの第3のデータを判断するために、ルータのネットワークプロトコルスタックにおいて第1のデータを処理することであって、第2のフォーマットがWANへの通信に好適である、処理することと、WANに第2のデータを通信することとをさらに備える。
いくつかの実施形態では、本方法は、ルータにおいてワイドエリアネットワークから第3のデータを受信することであって、第3のデータが第2のフォーマットである、受信することと、ルータからWANに第3のデータをルーティングすることとをさらに備える。
いくつかの実施形態では、本方法は、ルータにおいてWANからパケットを受信したことに応答して、ルータにおいて実行されるネットワークプロトコルスタックにおいて肯定応答を生成することと、ワイドエリアネットワークに肯定応答を通信することとをさらに備える。
いくつかの実施形態では、本方法は、ルータにおいて実行されるネットワークプロトコルスタックにおいて、第1のデータの受信の肯定応答が第1の時間量中で受信されなかったと判断したことに応答して、第2のデータを再通信することをさらに備える。
いくつかの実施形態では、ルータのネットワークプロトコルスタックはTCP/IPスタックを備える。
いくつかの実施形態では、ルータのネットワークプロトコルスタックはUDPスタックを備える。
いくつかの実施形態では、ルータは、ローカルエリアネットワーク(LAN)に結合されるように構成された入力と、LANのソースノードからネットワークプロトコルスタック処理をオフロードするように構成されたプロセッサとを備える。
いくつかの実施形態では、プロセッサは、ルータの第1の入力においてLANから第1のデータの受信することであって、第1のデータが、ルータに結合されたワイドエリアネットワークへの通信に好適でない第1のフォーマットである、受信することと、第2のフォーマットの第2のデータを判断するために、ルータのネットワークプロトコルスタックにおいて第1のデータを処理することであって、第2のフォーマットがワイドエリアネットワークへの通信に好適である、処理することと、ワイドエリアネットワークに第2のデータを通信することとによって、ネットワークプロトコルスタック処理をオフロードするためのものである。
いくつかの実施形態では、プロセッサは、ルータの第2の入力においてワイドエリアネットワークから第3のデータを受信することであって、第3のデータが第2のフォーマットである、受信することと、ルータからワイドエリアネットワークに第3のデータをルーティングすることとのためのものである。
いくつかの実施形態では、プロセッサは、ルータにおいてワイドエリアネットワークからパケットを受信したことに応答して、ルータにおいて実行されるネットワークプロトコルスタックにおいて肯定応答を生成することと、ワイドエリアネットワークに肯定応答を通信することとのためのものである。
いくつかの実施形態では、プロセッサは、ルータにおいて実行されるネットワークプロトコルスタックにおいて第1のデータの受信の肯定応答が第1の時間量中で受信されなかったと判断したことに応答して、第2のデータを再通信することによってネットワークプロトコルスタック処理をオフロードするためのものである。
添付の図面を参照することによって、本開示はより良く理解され、本開示の多数の特徴および利点が当業者に明らかになろう。
本開示の一実施形態による、通信ネットワークのブロック図。 本開示の一実施形態による、ルータのブロック図。 本開示の一実施形態による、通信システムのブロック図。 本開示の一実施形態による、ネットワークプロトコルスタックのブロック図。 本開示の一実施形態による、図1のルータの動作を示す流れ図。 本開示の一実施形態による、図1のルータにおいて通信を管理する方法の流れ図。
図1〜図6に、ネットワークに接続されたワイドエリアネットワークから受信したデータとは別様に、ネットワークに結合されたローカルエリアネットワークから受信したデータを処理するようにルータを構成することによって、通信ネットワークの通信効率を改善するための技法を示す。特に、ルータは、ワイドエリアネットワークから受信したデータを正常に処理しながら、ルータにとってローカルなネットワークプロトコルスタックにおいて、ローカルエリアネットワークから受信したデータを処理することができる。データのソースからルータにスタック処理をオフロードすることは、受信したデータに基づくパケットとパケットの宛先からの肯定応答との両方が進まなければならないネットワークホップの数を低減し、それによって通信レイテンシを低減する。さらに、ルータにスタック処理をオフロードすることは、データソースにおける処理負荷を低減することができる。さらに、ルータは、ローカルエリアおよびワイドエリアトラフィックのために異なるサービス品質または他の処理プロトコルを実装することができる。たとえば、ルータは、ローカルエリアネットワークにおける宛先にデータの複数のコピーを通信し、それによって、宛先が肯定応答を送る必要を低減または除去し、したがってレイテンシを低減することによって、ローカルエリアネットワークに関して比較的低いレイテンシを利用することができる。
本明細書で使用するネットワークプロトコルスタックは、1つまたは複数のコンピュータアプリケーションによって与えられた生データをトランスポート可能データに変換する機能のセットを指す。トランスポート可能データおよびトランスポート可能パケットは、ワイドエリアネットワークを介して通信され得るデータを指す。ネットワークプロトコルスタックは、コンピュータネットワークのルータおよび他のスイッチングデバイスを介した送信に好適であるフォーマットに生データを変換する。たとえば、生データは、データストリームを介して基本パケット化形態でアプリケーションによって与えられ得る。ネットワークプロトコルスタックは、データストリームから生データを抽出し、生データを1つまたは複数のトランスポート可能パケットにフォーマットし、トランスポート可能パケットに任意のヘッダまたは他の情報を付加し、トランスポート可能パケットを通信のためにネットワークに与える。
図1に、本開示の一実施形態による通信ネットワーク100を示す。通信ネットワーク100は、ローカルエリアネットワーク(LAN)101と、ルータ102と、ワイドエリアネットワーク(WAN)120とを含む。本明細書で使用するLANは、家庭、学校、コンピュータラボラトリまたはオフィスビルなどの限定された地理的エリア中のコンピュータおよびデバイスを接続するコンピュータネットワークを指す。WANは、広いエリアをカバーし、都市圏、地域、または国の境界を横断するコンピュータネットワークを指す。したがって、LAN101およびWAN120はそれぞれ、通信ネットワーク100を介して通信するように構成されたサーバ、ルータ、および他のコンピュータデバイスを含む。ルータおよび他のスイッチングデバイスは、各パケット中に含まれるアドレス情報に従って、受信したパケットを他のネットワークノードにルーティングすることによって、LAN101およびWAN120のための通信バックボーンを形成する。通信のためにネットワークからデータを受信するか、またはネットワークにデータを送ることができるネットワーク中の各ポイントをネットワークノードと呼ぶ。したがって、各ネットワークノードは、1つまたは複数のルータ、サーバ、コンピュータデバイスなど、またはそれらの任意の組合せを含むことができる。通信のためのデータを発信するか、またはデータのターゲット宛先であるネットワークノードをそのデータに関するエンドポイントと呼ぶ。
ルータ102は、LAN101とWAN120の両方からデータを受信し、LAN101中のノードおよびWAN120中のネットワークノードを含む他のネットワークノードにデータを通信するように構成されたルータデバイスである。LAN101のネットワークノードから受信されたデータを説明のためにLAN側トラフィックと呼び、WANのネットワークノードから受信されたデータをWAN側トラフィックと呼ぶ。ルータ102は、地理的にLAN101のノードの近くに位置する。たとえば、ルータ102は、家屋またはオフィスビルなど、LAN101のネットワークノードと同じ建築物中に位置し得る。したがって、ルータ102のLAN側トラフィックは、一般にWAN側トラフィックよりも小さいレイテンシを有する。すなわち、LAN側トラフィックは、一般にルータ102に達するまでの時間がWAN側トラフィックよりも短い。
ルータ102は、WAN側トラフィックとは別様にLAN側トラフィックを処理することによって、LAN側トラフィックの比較的小さいレイテンシを利用することができる。たとえば、LAN側トラフィックは、WAN120を介したルーティングに好適でない基本パケット化データストリーム中で与えられ得る。ルータ102は、ローカルで実行されるネットワークプロトコルスタックにおいてLAN側トラフィックを処理して、LAN側トラフィックを、WAN120を介した通信に好適であるフォーマットに配置し、処理されたトラフィックを正常にルーティングすることができる。さらに、ルータ102は、WAN120のノードにターゲッティングされているWAN側トラフィックを正常にルーティングすることができる。LAN101のノードにターゲッティングされているWAN側トラフィックの場合、ルータ102は、WAN120を介した通信に好適でないデータストリームを形成するために、ローカルで実行されるネットワークプロトコルスタックを介してトラフィックを処理し、ターゲットネットワークノードにデータストリームを与えることができる。したがって、ルータ102は、従来は個々のノードにおいて実行されるネットワークプロトコルスタック機能をLAN101のノードのために実行することができる。ルータ102にネットワークプロトコルスタック機能をオフロードすることによって、LAN101の各ノードにおける処理が簡略化される。
さらに、ルータ102にスタック処理機能をオフロードすることは、LAN101から受信した情報に基づくパケットについてのネットワークホップの数を少なくとも1ホップだけ低減し、それによってネットワークレイテンシを低減する。特に、いくつかの通信プロトコルの場合、パケットが受信されたという肯定応答をパケットの宛先が送るのを指定された時間量の間待つことによって、ネットワークプロトコルスタックは通信信頼性を改善する。指定された(所定またはプログラマブルのいずれかの)時間期間内に肯定応答が受信されない場合、ネットワークプロトコルスタックは受信したパケットを再送信する。同様に、ネットワークプロトコルスタックは、パケットを受信したことに応答してパケットソースに肯定応答を送ることを担当することができる。図1の図示の実施形態では、ルータ102のネットワークプロトコルスタックは、肯定応答を送ることと、LAN101から受信したデータのパケットを再送信することの両方を管理する。ネットワークホップに関して、ルータ102は宛先により近接しているので、ルータにおけるネットワークプロトコルスタックは、LAN101のノードよりも迅速に肯定応答を受信および送信することができ、通信レイテンシは低減され得る。
さらに、いくつかの実施形態では、パケットがそれのターゲット宛先において受信されたという肯定応答を待つのではなく、LAN101中の宛先にパケットの複数のコピーを送ることによって、通信信頼性が改善され得る。WAN120中の宛先にターゲッティングされているパケットの場合、ルータ102から複数のパケットを送ることは、相対的レイテンシおよび帯域幅問題により、実現可能でないか、または望ましくないことがある。しかしながら、LAN101中の宛先にターゲッティングされている情報は、WAN120上で情報が通信されるよりも迅速にルータ102から通信される。したがって、ルータ102におけるネットワークプロトコルスタックにおいて、パケットがLAN101のノードにターゲッティングされていると判断したことに応答して、ルータ102は、宛先ノードに各パケットの複数のコピーを送ることができる。これは、宛先ノードからの肯定応答を待つ必要を低減または除去し、それによって通信レイテンシを低減することができる。ルータ102におけるネットワークプロトコルスタックは、TCP/IP、UDPなど、1つまたは複数の通信プロトコルに準拠することができる。
別の実施形態では、ルータ102は、WAN側トラフィックの場合とは異なるサービス品質または他の処理機能をLAN側トラフィックに与えることができる。たとえば、ターゲット宛先にデータの複数のコピーを送ることによって、通信のロバストネスが改善され得る。しかしながら、複数のコピーを作成することは、WAN側トラフィックなど、高いレイテンシトラフィックの場合、実現可能でないことがある。したがって、ルータ102は、WAN側トラフィックを介して与えられるデータのコピーよりも多い、LAN側トラフィックを介して与えられるデータのコピーを送ることができる。たとえば、LAN側トラフィックに関連する各パケットについて(パケットは、LAN101のノードによって与えられるか、またはルータ102のローカルで実行されるネットワークプロトコルスタックによって形成される)、ルータ102は、ターゲットネットワークノードにパケットのN個のコピーを送ることができ、Nは整数である。対照的に、WAN側トラフィックに関連するパケットの場合、ルータ102は、ターゲットネットワークノードにパケットのM個のコピーを送ることができ、Mは整数である。一実施形態では、MはNよりも小さい。
図2を参照すると、本開示の一実施形態によるルータ102のブロック図が示されている。ルータ102は、トランスポート可能パケットと生データの両方の受信およびルーティングを可能にするためのいくつかのモジュールを含む。特に、図1の図示の例では、ルータ102は、プロセッサ204と、パケットバッファ206と、スイッチングファブリック210と、データ接続215〜217とを含む。データ接続は、ローカルエリアデータ接続215と、ワイドエリアネットワークデータ接続216および217とを含む。ワイドエリアネットワーク接続216および217の各々は、ワイドエリアネットワーク120のノードからのパケットの受信とワイドエリアネットワーク120のノードへのパケットの通信の両方を可能にするネットワークへの入出力接続である。特に、ワイドエリアネットワークデータ接続216および217の各々は、ワイドエリアネットワーク120中に含まれるノードの異なるサブセットに接続される。したがって、1つのネットワーク接続においてパケットを受信し、別のネットワーク接続を介してパケットを送信することによって、ルータ102は、ノードの1つのサブセットから別のサブセットにパケットを通信する。ローカルエリアデータ接続215は、ローカルエリアネットワーク101に接続され、ワイドエリアネットワーク120を介したトランスポートに好適でない生データを送信または受信することができる。たとえば、生データは、ネットワークを介したトランスポートのために適切なヘッダ情報を含まないことがある。さらに、生データは、ネットワークを介した通信を可能にするフォーマットで編成されないことがある。
スイッチングファブリック210は、ルータ102のモジュール間でトランスポート可能パケットをルーティングする通信バックボーンである。スイッチングファブリックは、与えられたトランスポート可能パケットをルータ102のどのモジュールが受信すべきであるかを示す制御シグナリングを受信する。したがって、スイッチングファブリック210は、ルータ102によるトランスポート可能パケットの受信、記憶、およびプロビジョンを可能にする。
パケットバッファ206は、ランダムアクセスメモリ(RAM)、不揮発性メモリ、または受信したトランスポート可能パケットを記憶する他のメモリなど、メモリ構造である。パケットバッファ206は、個々にアドレス指定可能なロケーションにおいてトランスポート可能パケットを記憶することができ、それにより、パケットバッファ206は、受信した制御シグナリングに基づいてトランスポート可能パケットをアドレス指定可能なロケーションにおいて記憶するか、または取り出す。制御シグナリングは、パケットバッファ206へのアクセス要求が読取りアクセスであるか書込みアクセスであるかを示し、アクセスに関連するロケーションのアドレスを示す。それに応答して、パケットバッファ206は、書込みアクセスの場合、受信したトランスポート可能パケットを示されたロケーションにおいて記憶し、読取りアクセスの場合、示されたロケーションにおいて記憶されたパケットを取り出す。
プロセッサ204は、ルータ102の動作を制御するように動作可能なモジュールである。したがって、プロセッサ204は、汎用または特定用途向けプロセッサ、状態機械を実装するための1つまたは複数の論理モジュールなど、またはそれらの任意の組合せであり得る。ルータ102の動作を制御するために、プロセッサ204は、ルータ102において受信したパケットを監視し、各パケットに関連するアドレス情報に基づいて受信したパケットの記憶とルーティングとを可能にするための制御シグナリングを与える。プロセッサ204はまた、トランスポート可能パケットと生データとの間で変換するためにネットワークプロトコルスタックを実行することができる。
例示のために、動作中、ワイドエリアネットワークデータ接続216および217のうちの1つにおいてトランスポート可能パケットが受信される。パケットを受信したことに応答して、プロセッサ204は、パケットがパケットバッファ206に与えられるように、スイッチングファブリック210に制御シグナリングを与える。プロセッサ204はまた、受信したパケットがプロセッサ204によって示されたアドレスにおいて記憶されるように、パケットバッファ206に制御シグナリングを与える。プロセッサ204はまた、パケットバッファ206からパケットを取り出し、パケット中に含まれる宛先アドレス情報を分析し、宛先アドレスによって示されたワイドエリアネットワークデータ接続216および217のうちの1つにパケットが与えられるようにスイッチングファブリック210を制御するための制御シグナリングを与えることができる。特に、プロセッサ204は、ルータ102に接続されたネットワークノードの各サブセットに関連する宛先アドレス範囲を示す1つまたは複数のルーティングテーブル(図示せず)にアクセスすることができる。アドレスによって示されるノードのサブセットに基づいて、ルータ制御モジュールは、ノードの示されたサブセットに関連するワイドエリアネットワークデータ接続216および217のうちの1つにパケットを与えるために、スイッチングファブリック210を制御することができる。
さらに、プロセッサ204は、ローカルエリアネットワークデータ接続215から生データを受信し、生データをトランスポート可能パケットに変換するためにネットワークプロトコルスタックを実行することができる。次いで、プロセッサ204は、通信のためのパケットバッファ206においてトランスポート可能パケットを記憶する。さらに、プロセッサ204は、パケットバッファ206において記憶されたトランスポート可能パケットがLAN101のネットワークノードにターゲッティングされていると判断し、それに応答して、トランスポート可能データパケットを生データに変換するためにネットワークプロトコルスタックを採用することができる。プロセッサ204は、LAN101のターゲットネットワークノードに通信するための生データをローカルエリアネットワークデータ接続215に与える。
トランスポート可能パケットへの生データの変換に加えて、プロセッサ204において実行するネットワークプロトコルスタックは、ローカルエリアネットワーク接続215を介して受信したデータから形成されたトランスポート可能パケットについて、フロー制御およびネットワークプロトコルスタックに関連する他の機能を含む他の機能を実行することができる。たとえば、プロセッサ204において実行されるネットワークプロトコルスタックは、WAN120から受信され、LAN101にターゲッティングされているパケットのための肯定応答を生成すること、パケットを再送すべきか宛先に別のパケットを送るべきかを判断するためにパケット宛先からの肯定応答を待つことなど、通信信頼性機能を管理することができる。さらに、プロセッサ204におけるネットワークプロトコルスタックは、LAN101におけるノードにターゲッティングされているパケットのための肯定応答を採用する代わりに、各パケットの複数のコピーを送り、それによって通信レイテンシを低減することができる。したがって、プロセッサ204は、ローカルエリアネットワーク接続215に接続されたコンピュータデバイスのためのネットワークプロトコルスタックプロキシとして機能する。
図3に、本開示の一実施形態による図1のルータ102を組み込んだ通信システム300を示す。通信システム300はまた、WAN120とLAN101とを含む。LAN101は、それぞれルータ102に接続されたコンピュータデバイス330および331を含む。コンピュータデバイス330および331の各々はアプリケーションを実行する。たとえば、コンピュータデバイス330はアプリケーション340を実行する。
図示の実施形態では、コンピュータデバイス330および331はそれぞれルータ102のLAN101に接続され、WAN120はWAN接続216および217に接続されていると仮定する。コンピュータデバイス330は、アプリケーション340から生データを受信し、受信した生データをルータ102への接続を介して通信され得るフォーマットに処理し、変換された生データをルータ102に通信するルータインターフェースプロトコルスタック341を実行する。ルータインターフェースプロトコルスタック341は、受信したデータをトランスポート可能パケットに変換しない。したがって、ルータ102におけるプロセッサ204は、ルータインターフェースプロトコルスタックによって与えられた生データをトランスポート可能データパケットに変換するネットワークプロトコルスタック350を実行する。さらに、ネットワークプロトコルスタック350は、コンピュータデバイス330にターゲッティングされているトランスポート可能パケットを生データに変換し、生データをルータインターフェースプロトコルスタック341に与える。それに応答して、ルータインターフェースプロトコルスタック341は、受信したデータを、アプリケーション340によって処理され得るフォーマットに変換する。一実施形態では、ルータインターフェースプロトコルスタックは、コンピュータデバイス330のネットワークインターフェースカード(NIC)など、ネットワークインターフェースデバイスによって実行される。
さらに、ネットワークプロトコルスタック350は、コンピュータデバイス330のためにフロー制御および他のネットワークプロトコルスタック機能を実行する。これはコンピュータデバイス330における処理負荷を低減し、それによってネットワークラグおよび他の通信問題を低減する。
図4に、本開示の一実施形態によるネットワークプロトコルスタック400を示す。ネットワークプロトコルスタック400は、トランスポートレイヤ422と、インターネットレイヤ424と、リンクレイヤ426とを含み、各々がネットワークプロトコルスタック400のための関連する機能を実行する。特に、ネットワークプロトコルスタック400は、アプリケーションレイヤ420において実行するアプリケーションを用いて情報を通信する。図示の実施形態では、アプリケーションレイヤ420は、図3のコンピュータデバイス330など、エンドポイントにおいて実行される。トランスポートレイヤ422、インターネットレイヤ424、およびリンクレイヤ426は、ルータ102のプロセッサ204においてそれぞれ実行され、それによってエンドポイントからこれらの機能をオフロードする。
図5に、本開示の一実施形態によるルータ102の動作を示す流れ図を示す。ブロック530において、データ接続215〜217において情報を受信する。WAN接続216および217のうちの1つにおいて情報を受信し、情報がトランスポート可能パケットである場合、ブロック534において、ルータ102は、ターゲットネットワークノードにトランスポート可能パケットをルーティングする。LAN接続215において情報を受信した場合、ブロック532において、ルータ102は、ネットワークプロトコルスタックに受信した生データを与える。ネットワークプロトコルスタック532は、受信した生データをトランスポート可能パケットに変換し、ブロック534において、トランスポート可能パケットをターゲットネットワークノードにルーティングする。
図6に、本開示の一実施形態による、ルータ102において通信を管理する方法の流れ図を示す。ブロック602において、ルータは、データ接続215〜217のうちの1つから通信されるべきデータを受信する。ブロック604において、ルータ102は、受信したデータがLAN101のノードにターゲッティングされているのかWAN120のノードにターゲッティングされているのかを判断する。この判断は、たとえば、データがそれを介して受信される特定のデータ接続に基づいて行われ得る。データがLAN101のノードにターゲッティングされている場合、ルータ102は、パケットを形成するためにローカルで実行されるネットワークプロトコルスタックにおいてデータを処理し、ブロック606において、通信のために各パケットのN個のコピーを作成し、Nは整数である。ブロック608において、ルータ102は、LAN101のターゲットネットワークノードに各パケットのN個のコピーを送る。ブロック604において、ルータ102が、受信したデータがWAN120のノードにターゲッティングされていると判断した場合、方法フローはブロック610に進み、ルータ102は各受信したパケットのM個のコピーを作成し、MはNとは異なる整数である。ブロック612において、ルータ102は、ターゲットネットワークノードにM個のコピーをルーティングする。一実施形態では、Mは1に等しく、ルータ102は、受信したパケットのコピーを作成せず、むしろ、コピーを作成することなしにターゲットノードに各パケットをルーティングする。
上記で開示した主題は、例示的であり、限定的でないと考えられるべきであり、添付の特許請求の範囲は、本発明の真の趣旨および範囲内に入るすべてのそのような修正、拡張および他の実施形態をカバーするものとする。したがって、本発明の範囲は、以下の特許請求の範囲およびそれらの均等物の最も広い許可される解釈によって、法律によって許される最大の範囲に判断されるべきであり、上記の詳細な説明によって制限または限定されるべきでない。
以下に、本件の出願当初の特許請求の範囲を付記する。
[C1]
ローカルエリアネットワーク(LAN)処理のソースノードから前記LANに結合されたルータにネットワークプロトコルスタック処理をオフロードすること
を備える、方法。
[C2]
前記ネットワークプロトコルスタック処理をオフロードすることが、
前記ルータの第1の入力においてLANから第1のデータを受信することであって、前記第1のデータが、前記ルータに結合されたワイドエリアネットワークへの通信に好適でない第1のフォーマットである、受信することと、
第2のフォーマットの第2のデータを判断するために、前記ルータのネットワークプロトコルスタックにおいて前記第1のデータを処理することであって、前記第2のフォーマットが前記ワイドエリアネットワークへの通信に好適である、処理することと、
前記ワイドエリアネットワークに前記第2のデータを通信すること
を備える、請求項1に記載の方法。
[C3]
前記ルータの第2の入力において前記ワイドエリアネットワークから第3のデータを受信することであって、前記第3のデータが前記第2のフォーマットである、受信することと、
前記ルータから前記ワイドエリアネットワークに前記第3のデータをルーティングすることと
をさらに備える、請求項2に記載の方法。
[C4]
前記ネットワークスタック処理をオフロードすることが、
前記ルータにおいて前記ワイドエリアネットワークからパケットを受信したことに応答して、前記ルータにおいて実行されるネットワークプロトコルスタックにおいて肯定応答を生成することと、
前記ワイドエリアネットワークに前記肯定応答を通信することと
を備える、請求項2に記載の方法。
[C5]
前記ネットワークスタック処理をオフロードすることが、
前記ルータにおいて実行されるネットワークプロトコルスタックにおいて、前記第1のデータの受信の肯定応答が第1の時間量中で受信されなかったと判断したことに応答して、前記第2のデータを再通信すること
を備える、請求項2に記載の方法。
[C6]
前記第2のデータを判断することが、前記第1のデータに基づいて第1のパケットを形成することを備え、前記ルータから前記ワイドエリアネットワークに前記パケットの複数のコピーを通信することをさらに備える、請求項2に記載の方法。
[C7]
前記ルータの前記ネットワークプロトコルスタックがTCP/IPスタックを備える、請求項1に記載の方法。
[C8]
前記ルータの前記ネットワークプロトコルスタックがUDPスタックを備える、請求項1に記載の方法。
[C9]
ルータにおいて第1のデータを受信することと、
前記第1のデータが前記ローカルエリアネットワーク(LAN)のノードにターゲッティングされていると判断したことに応答して、前記LANの前記ノードにルーティングするのために前記ローカルエリアネットワークに前記第1のデータの第1の数のコピーを送ることと、
前記第1のデータがワイドエリアネットワーク(WAN)のノードにターゲッティングされていると判断したことに応答して、前記WANの前記ノードにルーティングするために前記ワイドエリアネットワークに前記第1のデータの第2の数のコピーを送ることと
を備える、方法。
[C10]
前記ルータにおいて前記LANから前記第2のデータを受信することであって、前記第2のデータが、前記WANへの通信に好適でない第1のフォーマットである、受信することと、
第2のフォーマットの第3のデータを判断するために、前記ルータのネットワークプロトコルスタックにおいて前記第1のデータを処理することであって、前記第2のフォーマットが前記WANへの通信に好適である、処理することと、
前記WANに前記第2のデータを通信すること
をさらに備える、請求項9に記載の方法。
[C11]
前記ルータにおいて前記ワイドエリアネットワークから第3のデータを受信することであって、前記第3のデータが前記第2のフォーマットである、受信することと、
前記ルータから前記WANに前記第3のデータをルーティングすることと
をさらに備える、請求項10に記載の方法。
[C12]
前記ルータにおいて前記WANからパケットを受信したことに応答して、前記ルータにおいて実行されるネットワークプロトコルスタックにおいて肯定応答を生成することと、
前記ワイドエリアネットワークに前記肯定応答を通信することと
をさらに備える、請求項10に記載の方法。
[C13]
前記ルータにおいて実行される前記ネットワークプロトコルスタックにおいて、前記第1のデータの受信の肯定応答が第1の時間量中で受信されなかったと判断したことに応答して、前記第2のデータを再通信することを
さらに備える、請求項10に記載の方法。
[C14]
前記ルータの前記ネットワークプロトコルスタックがTCP/IPスタックを備える、請求項10に記載の方法。
[C15]
前記ルータの前記ネットワークプロトコルスタックがUDPスタックを備える、請求項10に記載の方法。
[C16]
ローカルエリアネットワーク(LAN)に結合されるように構成された入力と、
前記LANのソースノードからネットワークプロトコルスタック処理をオフロードするように構成されたプロセッサと
を備える、ルータ。
[C17]
前記プロセッサは、
前記ルータの第1の入力においてLANから第1のデータを受信することであって、前記第1のデータが、前記ルータに結合されたワイドエリアネットワークへの通信に好適でない第1のフォーマットである、受信することと、
第2のフォーマットの第2のデータを判断するために、前記ルータのネットワークプロトコルスタックにおいて前記第1のデータを処理することであって、前記第2のフォーマットが前記ワイドエリアネットワークへの通信に好適である、処理することと、
前記ワイドエリアネットワークに前記第2のデータを通信することと
によって、前記ネットワークプロトコルスタック処理をオフロードするためのものである、請求項16に記載のルータ。
[C18]
前記プロセッサは、
前記ルータの第2の入力において前記ワイドエリアネットワークから第3のデータを受信することであって、前記第3のデータが前記第2のフォーマットである、受信することと、
前記ルータから前記ワイドエリアネットワークに前記第3のデータをルーティングすることと
のためのものである、請求項17に記載のルータ。
[C19]
前記プロセッサは、
前記ルータにおいて前記ワイドエリアネットワークからパケットを受信したことに応答して、前記ルータにおいて実行されるネットワークプロトコルスタックにおいて肯定応答を生成することと、
前記ワイドエリアネットワークに前記肯定応答を通信することと
によって、前記ネットワークプロトコルスタック処理をオフロードするためのものである、請求項17に記載のルータ。
[C20]
前記プロセッサは、
前記ルータにおいて実行されるネットワークプロトコルスタックにおいて、前記第1のデータの受信の肯定応答が第1の時間量中で受信されなかったと判断したことに応答して、前記第2のデータを再通信すること
によって前記ネットワークプロトコルスタック処理をオフロードするためのものである、請求項17に記載のルータ。

Claims (13)

  1. ルータでの通信のための方法であって、前記方法は、
    ローカルエリアネットワーク(LAN)のソースノードから前記LANに結合されたルータにネットワークプロトコルスタック処理をオフロードすることを備え、ネットワークプロトコルスタック処理をオフロードすることが、
    前記ルータの第1の入力において前記ソースノードから第1のデータを受信することここにおいて、前記第1のデータ、前記ルータに結合されたワイドエリアネットワーク(WAN)上の各ノードおよび前記LAN上の各ノードへの通信に好適でない第1のフォーマットである
    記ルータのネットワークプロトコルスタックにおいて前記第1のデータを処理して、第2のフォーマットの第2のデータを生成することここにおいて、前記第2のフォーマットは、前記WANへの通信に好適である
    前記WANに前記第2のデータを通信することと
    を含む、方法。
  2. 前記ルータの前記第1の入力において前記LANから前記第1のデータを受信することが、前記WANを介したトランスポートのためのヘッダ情報を含まないフォーマットの前記第1のデータを受信することを含み、
    記ルータの前記ネットワークプロトコルスタックにおいて前記第1のデータを処理して、前記WANへの通信に好適である前記第2のフォーマットの第2のデータを生成することが、トランスポートレイヤヘッダを前記第1のデータに付加することを含む
    請求項1に記載の方法。
  3. 前記ルータの第2の入力において前記WANから第3のデータを受信することここで、前記第3のデータ前記第2のフォーマットである
    前記ルータから前記ソースノードに前記第3のデータをルーティングすることと
    をさらに備える、請求項1に記載の方法。
  4. 前記ネットワークプロトコルスタック処理をオフロードすることが、
    前記ルータにおいて前記WANからパケットを受信したことに応答して、前記ルータの前記ネットワークプロトコルスタックにおいて肯定応答を生成することと、
    前記WANに前記肯定応答を通信することと
    を備える、請求項1に記載の方法。
  5. 前記ネットワークプロトコルスタック処理をオフロードすることが、
    前記ルータの前記ネットワークプロトコルスタックにおいて、前記第1のデータの受信の肯定応答が第1の時間量中で受信されなかったと判断したことに応答して、前記第2のデータを通信すること
    を備える、請求項に記載の方法。
  6. 前記第2のデータを生成することが、前記第1のデータに基づいてパケットを形成することを備え、前記ルータから前記WANに前記パケットの複数のコピーを通信することをさらに備える、請求項1に記載の方法。
  7. 前記ルータの前記ネットワークプロトコルスタックがTCP/IPスタックを備える、請求項1に記載の方法。
  8. 前記ルータの前記ネットワークプロトコルスタックがUDPスタックを備える、請求項1に記載の方法。
  9. ルータであって、
    ローカルエリアネットワーク(LAN)に結合されるように構成された第1の入力と、
    前記LANのソースノードからネットワークプロトコルスタック処理をオフロードするように構成されたプロセッサと
    を備え、
    前記プロセッサが、
    前記ルータの第1の入力において前記ソースノードから第1のデータを受信することここにおいて、前記第1のデータ、前記ルータに結合されたワイドエリアネットワーク(WAN)上の各ノードおよび前記LAN上の各ノードへの通信に好適でない第1のフォーマットである
    記ルータのネットワークプロトコルスタックにおいて前記第1のデータを処理して、第2のフォーマットの第2のデータを生成することであって、前記第2のフォーマットは、前記WANへの通信に好適である
    前記WANに前記第2のデータを通信することと
    を行うようにさらに構成された
    ルータ。
  10. 前記WANへの通信に好適でない前記第1のフォーマットが、前記WANを介したトランスポートのためのヘッダ情報を含まないフォーマットを備える請求項に記載のルータ。
  11. 前記プロセッサは、
    前記ルータの第2の入力において前記WANから第3のデータを受信することここで、前記第3のデータ前記第2のフォーマットである、
    前記ルータから前記WANに前記第3のデータをルーティングすることと
    を行うためのものである、請求項に記載のルータ。
  12. 前記プロセッサは、
    前記ルータ前記WANからパケットを受信したことに応答して、前記ルータの前記ネットワークプロトコルスタックにおいて肯定応答を生成することと、
    前記WANに前記肯定応答を通信することと
    によって、前記ネットワークプロトコルスタック処理をオフロードするためのものである、請求項に記載のルータ。
  13. 前記プロセッサは、
    前記ルータの前記ネットワークプロトコルスタックにおいて、前記第1のデータの受信の肯定応答が第1の時間量中で受信されなかったと判断したことに応答して、前記第2のデータを通信すること
    によって前記ネットワークプロトコルスタック処理をオフロードするためのものである、請求項に記載のルータ。
JP2014505387A 2011-04-13 2012-04-13 ルータにおいて通信を管理するための技法 Expired - Fee Related JP5815838B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/086,000 US9172774B2 (en) 2011-04-13 2011-04-13 Technique for managing communications at a router
US13/086,000 2011-04-13
PCT/US2012/033689 WO2012142534A1 (en) 2011-04-13 2012-04-13 Technique for managing communications at a router

Publications (2)

Publication Number Publication Date
JP2014514857A JP2014514857A (ja) 2014-06-19
JP5815838B2 true JP5815838B2 (ja) 2015-11-17

Family

ID=46018108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014505387A Expired - Fee Related JP5815838B2 (ja) 2011-04-13 2012-04-13 ルータにおいて通信を管理するための技法

Country Status (6)

Country Link
US (1) US9172774B2 (ja)
EP (2) EP2697950B1 (ja)
JP (1) JP5815838B2 (ja)
KR (1) KR101547048B1 (ja)
CN (2) CN106059938A (ja)
WO (1) WO2012142534A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10938877B2 (en) * 2018-11-30 2021-03-02 Xaptum, Inc. Optimizing data transmission parameters of a proprietary network

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04341033A (ja) * 1991-05-17 1992-11-27 Fujitsu Ltd Lan−fmbs接続方式
US5619650A (en) 1992-12-31 1997-04-08 International Business Machines Corporation Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message
US5757783A (en) * 1995-06-15 1998-05-26 Lucent Technologies Inc. Method and apparatus for routing ATM cells in an AD-ATM LAN
US6128654A (en) * 1997-02-14 2000-10-03 Advanced Micro Devices, Inc. Method and apparatus for transmitting multiple copies by replicating data identifiers
US6317854B1 (en) * 1999-05-14 2001-11-13 Nokia Corporation Apparatus, and associated method, for selecting retransmission of packet data
US6714978B1 (en) * 1999-12-04 2004-03-30 Worldcom, Inc. Method and system for processing records in a communications network
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
JP4460195B2 (ja) * 2001-08-06 2010-05-12 株式会社日立製作所 パケット転送装置およびルーティング制御装置
US6625169B1 (en) * 2002-06-14 2003-09-23 Telesys Technologies, Inc. Integrated communication systems for exchanging data and information between networks
US7373423B2 (en) * 2002-09-11 2008-05-13 Trend Micro Incorporated Network infrastructure management and data routing framework and method thereof
US20040210663A1 (en) 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
CN100435534C (zh) * 2004-09-15 2008-11-19 无锡三通科技有限公司 复合型网络通讯设备及其控制方法
US7441112B2 (en) * 2005-06-30 2008-10-21 Intel Corporation Offloading the processing of a network protocol stack
US7660296B2 (en) * 2005-12-30 2010-02-09 Akamai Technologies, Inc. Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows
US8170023B2 (en) 2007-02-20 2012-05-01 Broadcom Corporation System and method for a software-based TCP/IP offload engine for implementing efficient digital media streaming over internet protocol networks
JP2008259094A (ja) * 2007-04-09 2008-10-23 Matsushita Electric Ind Co Ltd 無線lan電話通信方法及びシステム
US9407495B2 (en) * 2008-02-05 2016-08-02 Telefonaktiebolaget L M Ericsson (Publ) Combining locally addressed devices and wide area network (WAN) addressed devices on a single network
CN101267376B (zh) * 2008-04-25 2010-08-04 北京携远天成技术有限公司 一种用于扩展Zigbee网络的网关的数据传输方法

Also Published As

Publication number Publication date
CN103460668A (zh) 2013-12-18
KR101547048B1 (ko) 2015-08-24
CN106059938A (zh) 2016-10-26
EP2697950B1 (en) 2018-05-30
EP2697950A1 (en) 2014-02-19
JP2014514857A (ja) 2014-06-19
CN103460668B (zh) 2016-10-26
US9172774B2 (en) 2015-10-27
KR20140002040A (ko) 2014-01-07
WO2012142534A1 (en) 2012-10-18
EP3386166A1 (en) 2018-10-10
US20120265852A1 (en) 2012-10-18

Similar Documents

Publication Publication Date Title
WO2018133454A1 (zh) 远程服务访问路径控制方法和相关设备
JP6473688B2 (ja) データ転送レートを増加させるためのデータストリーム分割
WO2018086076A1 (zh) 数据传输方法及装置
US7701856B2 (en) Method and system for bi-level congestion control for multipath transport
JP2017537547A (ja) ステートレスなネットワークにおけるステートフルなロードバランシング
JP2010504047A (ja) マルチパス環境におけるトランスポートプロトコルの性能を改善するシステムおよび方法
US7096272B1 (en) Methods and apparatus for pooling and depooling the transmission of stream data
JP2016538768A (ja) Sdnスイッチにより正確なフロー・エントリを獲得するための方法、およびsdnスイッチ、コントローラ、およびシステム
WO2014037760A1 (zh) 增加数据流传输的方法和系统
CN104539531A (zh) 数据传输方法及装置
US10009282B2 (en) Self-protecting computer network router with queue resource manager
WO2014023003A1 (zh) 控制数据传输的方法、装置和系统
US20070291782A1 (en) Acknowledgement filtering
JP2016527579A (ja) データ通信システム及び方法
WO2020073907A1 (zh) 转发表项的更新方法及装置
CN115002023B (zh) 一种链路聚合方法、链路聚合装置、电子设备及存储介质
CN106302213A (zh) 一种数据传输的方法及装置
JP5815838B2 (ja) ルータにおいて通信を管理するための技法
US8451847B2 (en) Intermediate node device, method of controlling intermediate node device, and network system
Nikitinskiy et al. A stateless transport protocol in software defined networks
Hulke et al. Game theory based incentive mechanisms in delay tolerant network
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
Elattar et al. Evaluation of multipath communication protocols for reliable internet-based cyber-physical systems
US20240171504A1 (en) Multi-path architecture for hardware offloading
JP5866811B2 (ja) ネットワーク装置、送信先問合せ方法および送信先問合せプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150731

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: 20150825

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150924

R150 Certificate of patent or registration of utility model

Ref document number: 5815838

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees