IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7478833ネットワークにおいてマルチパストラフィックの切り替えを管理する方法、並びにその装置、及びコンピュータプログラム
<>
  • 特許-ネットワークにおいてマルチパストラフィックの切り替えを管理する方法、並びにその装置、及びコンピュータプログラム 図1
  • 特許-ネットワークにおいてマルチパストラフィックの切り替えを管理する方法、並びにその装置、及びコンピュータプログラム 図2
  • 特許-ネットワークにおいてマルチパストラフィックの切り替えを管理する方法、並びにその装置、及びコンピュータプログラム 図3
  • 特許-ネットワークにおいてマルチパストラフィックの切り替えを管理する方法、並びにその装置、及びコンピュータプログラム 図4
  • 特許-ネットワークにおいてマルチパストラフィックの切り替えを管理する方法、並びにその装置、及びコンピュータプログラム 図5
  • 特許-ネットワークにおいてマルチパストラフィックの切り替えを管理する方法、並びにその装置、及びコンピュータプログラム 図6
  • 特許-ネットワークにおいてマルチパストラフィックの切り替えを管理する方法、並びにその装置、及びコンピュータプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-24
(45)【発行日】2024-05-07
(54)【発明の名称】ネットワークにおいてマルチパストラフィックの切り替えを管理する方法、並びにその装置、及びコンピュータプログラム
(51)【国際特許分類】
   H04L 45/247 20220101AFI20240425BHJP
【FI】
H04L45/247
【請求項の数】 10
(21)【出願番号】P 2022554193
(86)(22)【出願日】2021-08-06
(65)【公表番号】
(43)【公表日】2023-05-24
(86)【国際出願番号】 US2021044901
(87)【国際公開番号】W WO2022119608
(87)【国際公開日】2022-06-09
【審査請求日】2022-10-12
(31)【優先権主張番号】63/120,383
(32)【優先日】2020-12-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/335,449
(32)【優先日】2021-06-01
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ドーキンズ、ポール・スペンサー
(72)【発明者】
【氏名】ウェンジャー,ステファン
【審査官】宮島 郁美
(56)【参考文献】
【文献】米国特許出願公開第2016/0294677(US,A1)
【文献】特開平06-326722(JP,A)
【文献】特開2014-175756(JP,A)
【文献】米国特許出願公開第2019/0182146(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
複数の共有パスを含むネットワークにおいてマルチパストラフィックの切り替えを管理する方法であって、
前記複数の共有パスから第1のパスを選択するステップと、
初期タイマを初期タイマ値に設定するステップと、
前記第1のパスでネットワークトラフィックを送信するステップと、
前記第1のパスの少なくとも1つのパス特性が不十分であり、前記初期タイマが満了していないと判断したことに基づいて、前記初期タイマ値を増加させることにより、更新タイマ値を生成するステップと、
前記第1のパスの前記少なくとも1つのパス特性が不十分であり、前記初期タイマが満了したと判断したことに基づいて、第2のパスを選択し、更新タイマを前記更新タイマ値に設定し、そして前記第2のパスで前記ネットワークトラフィックを送信するステップとを含む、方法。
【請求項2】
前記更新タイマ値は、前記初期タイマ値を所定の量だけ増加させることによって生成される、請求項1に記載の方法。
【請求項3】
前記更新タイマ値は、前記初期タイマ値を、前記第1のパスの前記少なくとも1つのパス特性に基づいて適応的に決定された量だけ増加させることによって、生成される、請求項1に記載の方法。
【請求項4】
前記更新タイマ値は、所定の最大タイマ値以下になるように生成される、請求項1乃至3のうちいずれか一項に記載の方法。
【請求項5】
前記更新タイマ値は、第1の更新タイマ値を含み、前記更新タイマは、第1の更新タイマを含み、
前記方法は、
前記更新タイマが設定された後、前記第1の更新タイマ値を減少させることにより、第2の更新タイマ値を生成するステップと、
前記第2のパスの少なくとも1つのパス特性が不十分であり、前記第1の更新タイマが満了したと判断したことに基づいて、第3のパスを選択し、第2の更新タイマを前記第2の更新タイマ値に設定し、そして前記第3のパスで前記ネットワークトラフィックを送信するステップとを更に含む、請求項1乃至4のうちいずれか一項に記載の方法。
【請求項6】
前記複数の共有パスが使用可能であると判断したことに基づいて、前記初期タイマを前記初期タイマ値に設定する、請求項1乃至5のうちいずれか一項に記載の方法。
【請求項7】
前記複数の共有パスに追加のパスが追加されると判断したことに基づいて、前記初期タイマを前記初期タイマ値に設定する、請求項1乃至6のうちいずれか一項に記載の方法。
【請求項8】
前記第1のパスの前記少なくとも1つのパス特性の変化を検出したことに基づいて、前記初期タイマを前記初期タイマ値に設定する、請求項1乃至7のうちいずれか一項に記載の方法。
【請求項9】
複数の共有パスを含むネットワークにおいてマルチパストラフィックの切り替えを管理するための装置であって、
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードの指示に従って動作するように構成された少なくとも1つのプロセッサとを備え、前記プログラムコードは、前記少なくとも1つのプロセッサで実行される場合に、前記少なくとも1つのプロセッサに、請求項1乃至8のうちいずれか一項に記載の方法を実行させる、装置。
【請求項10】
複数の共有パスを含むネットワークにおいてマルチパストラフィックの切り替えを管理するための装置の1つ又は複数のプロセッサが実行するコンピュータプログラムであって、前記1つ又は複数の前記プロセッサに、請求項1乃至8のうちいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、アメリカ合衆国法典第35巻第119条に基づいて、米国特許商標庁に2020年12月2日付けで出願された米国特許仮出願第63/120,383号及び2021年6月1日付けで出願された米国特許出願第17/335,449号の優先権を主張するものである。先の米国特許出願の開示は、参照によりその全文が本願に組み込まれる。
【0002】
[技術分野]
本発明は、コンピュータ間に複数の利用可能なパスを有するネットワーク化されたコンピュータのデザイン及び操作に関し、より具体的には、ネットワーク及び他のコンピュータ、並びに他のユーザで、トラフィックをあるパスから別のパスへ切り替える影響を最小限に抑えることに関するものである。
【背景技術】
【0003】
複数の共有パスを有するネットワークでは、送信機が送信するトラフィックをあるパスから別のパスに「切り替える」場合、新しいパスが他の送信機及び/又は受信機と共有されているならば、共有パスに追加された新しいトラフィックはパスの帯域幅及び容量を奪う。パスの帯域幅及び容量の合計を超える場合、キューイング遅延によってトラフィックが遅延し、パスに沿ったネットワークバッファが使い果たされる場合、トラフィックが失われることさえある。
【0004】
送信機は、過負荷のパスから別のパスに「切り替える」ことで、この新しいパスでの立ち上がり遅延及びトラフィック損失に対応できるが、それは、パス間の持続的な振動をもたらし、共有パス上のトラフィック、並びにそのトラフィックに関与するコンピュータ及びユーザに悪影響を与える可能性がある。
【0005】
従って、マルチパス技術を利用するのに十分に機動的にパス間を切り替えるだけでなく、前述の悪影響を回避するために、切り替えの量及び結果として生じる振動を「減衰」させるメカニズムが必要である。
【発明の概要】
【0006】
一実施形態では、複数の共有パスから第1のパスを選択するステップと、初期タイマを初期タイマ値に設定するステップと、第1のパスでネットワークトラフィックを送信するステップと、第1のパスの少なくとも1つのパス特性が不十分であり、初期タイマが満了していないと判断したことに基づいて、初期タイマ値を増加させることにより、更新タイマ値を生成するステップと、第1のパスの少なくとも1つのパス特性が不十分であり、初期タイマが満了したと判断したことに基づいて、第2のパスを選択し、第2のパスでネットワークトラフィックを送信し、そして更新タイマを更新タイマ値に設定するステップとを含む、複数の共有パスを含むネットワークにおいてマルチパストラフィックの切り替えを管理する方法が提供される。
【0007】
一実施形態では、プログラムコードを記憶するように構成された少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードの指示に基づいて動作するように構成された少なくとも1つのプロセッサとを備え、プログラムコードは、少なくとも1つのプロセッサに、複数の共有パスから第1のパスを選択させるように構成された選択コードと、少なくとも1つのプロセッサに、初期タイマを初期タイマ値に設定させるように構成された設定コードと、少なくとも1つのプロセッサに、第1のパスでネットワークトラフィックを送信させるように構成された送信コードと、第1のパスの少なくとも1つのパスが不十分であり、初期タイマが満了していないと判断したことに基づいて、少なくとも1つのプロセッサに、初期タイマ値を増加させることにより、更新タイマ値を生成させるように構成された第1の生成コードと、第1のパスの少なくとも1つのパス特性が不十分であり、初期タイマが満了したと判断したことに基づいて、少なくとも1つのプロセッサに、第2のパスを選択させ、第2のパスでネットワークトラフィックを送信させ、そして更新タイマを更新タイマ値に設定させるように構成された第1のリダイレクトコードとを含む、複数の共有パスを含むネットワークにおいてマルチパストラフィックの切り替えを管理するための装置が提供される。
【0008】
一実施形態では、複数の共有パスを含むネットワークにおいてマルチパストラフィックの切り替えを管理するための装置の1つ又は複数のプロセッサによって実行される場合、1つ又は複数のプロセッサに、複数の共有パスから第1のパスを選択させ、初期タイマを初期タイマ値に設定させ、第1のパスでネットワークトラフィックを送信させ、第1のパスの少なくとも1つのパス特性が不十分であり、初期タイマが満了していないと判断したことに基づいて、初期タイマ値を増加させることによって更新タイマ値を生成させ、初期タイマが満了したと判断したことに基づいて、第2のパスを選択させ、第2のパスでネットワークトラフィックを送信させ、そして更新タイマを更新タイマ値に設定させるという1つ又は複数の命令を含む命令を記憶するための非一時的なコンピュータ可読媒体が提供される。
【図面の簡単な説明】
【0009】
図1】一実施形態による通信システムの簡略化されたブロック図の概略図である。
図2】一実施形態による、パスXを使用するマルチパス対応ネットワーク化コンピュータの概略図である。
図3】一実施形態による、トラフィックをパスYに切り替えた後のマルチパス対応ネットワーク化コンピュータの概略図である。
図4】一実施形態による、トラフィックを共有パスYに切り替えるマルチパス対応ネットワーク化コンピュータの概略図である。
図5】一実施形態による、マルチパストラフィックの切り替えの減衰への解決手段の高レベル手順を示す例示的なプロセスのフローチャートである。
図6】一実施形態による、複数の共有パスを含むネットワークにおいてマルチパストラフィックの切り替えを管理するための例示的なプロセスのフローチャートである。
図7】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0010】
図1は、本開示の一実施形態による通信システム(100)の簡略化されたブロック図を示す。システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110,120)を含み得る。データの一方向送信の場合、第1の端末(110)は、ローカル場所でデータをコード化して、ネットワーク(150)を介して他の端末(120)に送信することができる。第2の端末(120)は、ネットワーク(150)から他の端末のコード化データを受信し、データをデコードすることができる。データの一方向送信は、メディアサービスアプリケーションなどでよく使用され得る。
【0011】
図1は、データの双方向送信をサポートするために提供された第2のペアの端末(130、140)を示す。データの双方向送信の場合、各端末(130、140)は、ネットワーク(150)を介して他の端末に送信するためのデータをコード化することができる。各端末(130、140)はまた、他の端末によって送信されたコード化データを受信することができ、且つコード化データをデコードすることができる。
【0012】
図1では、端末(110~140)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示され得るが、本開示の原理は、それらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤーなどを使用するアプリケーションを開示する。ネットワーク(150)は、例えば、有線及び/又は無線通信ネットワークを含む、端末(110~140)間でデータを伝送する任意の数のネットワークを表す。通信ネットワーク(150)は、回路交換及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットを含む。本議論の目的のために、ネットワーク(150)のアーキテクチャ及びトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではない。
【0013】
図2は、実施形態によるマルチパス対応ネットワーク(200)の例を示す。ネットワーク200は、1つ又は複数の送信機(例えば、送信機A(201))と、1つ又は複数のネットワーク(205)を行き来する2つ又は複数のパス(例えば、パスX(203)及びパスY(204))によって接続された1つ又は複数の受信機(受信機1(202))とを含み得る。図2では、1つの送信機及び1つの受信機のみが示される。
【0014】
送信機A(201)は、パス「AからX」(203)及びパス「AからY」(204)などの複数のパスでトラフィックを送信する機能を持ち、受信機202は、パス「Xから1」(203)及びパス「Yから1」(204)などの複数のパスからトラフィックを受信する機能を持つ。
【0015】
いくつかの場合では、パス(203)及びパス(204)などの使用可能な各パスの特性は区別できない場合があるが、多くの場合で、様々なパスは、使用可能な帯域幅及び容量、測定されるラウンドトリップ時間又は一方向遅延の違い、エラー率の違い、優先順位、並びに各パスのコストの違いなど、著しく異なるパス特性を持つことができる。
【0016】
これらの違いは、送信機(201)で構成され、送信機(201)によって測定され、受信機(202)によって測定され、送信機(201)にエコーされ、又は送信機と受信機を接続する1つ又は複数のネットワーク(205)にアクセスできるサードパーティによって測定され得る。
【0017】
送信機は、アクティブパス又は予備パスとしてのパスの使用、パスの待ち時間と使用可能なパス帯域幅とのトレードオフ、複数のパスにわたる帯域幅の集約、複数のパスにわたる負荷分散、各パスのラウンドトリップ時間、重要な情報の冗長性を実現するための複数のパスでの同じ情報の送信、及びコストの最小化などの多数の考慮事項の1つ又は複数に基づいて、パスを選択する。
【0018】
図2では、送信機(201)は、実線で示される、トラフィックのための「パスX」203を使用しているが、「パスY」(204)は、アイドル状態であり、一点鎖線で示されている。
【0019】
図3は、実施形態によるマルチパス対応ネットワーク(300)を示す。図3では、送信機(301)は、実線で示される「パスY」(304)にトラフィックを切り替えるため、「パスX」(303)は、非アクティブになり、一点鎖線で示されている。
【0020】
図4は、実施形態によるマルチパス対応ネットワーク(400)を示す。図4では、送信機(401)がトラフィックを「パスY」(404)に切り替えた後、このトラフィックは現在、パス「BからY」及び「Yから2」を介して、第2の送信機(例えば、受信機2(407)などの第2の受信機宛てのトラフィック用の送信機B(406))によっても使用されるパス(404)で伝送される。送信機B(406)及び受信機2(407)は、トラフィックに使用可能な他のパスを有し得るが、他のパスは図3に示されない。アクティブパス(404)は、追加の送信機と受信機を接続し得るが、他の送信機及び受信機は図4に示されない。
【0021】
他の送信機及び受信機が他のパスを使用できる場合、他の送信機も他のパスへのトラフィックの切り替えについて同じ決定を下すことができ、全ての送信機は調整なしでそれらの決定を独立して行っている。
【0022】
各送信機によって送信されるトラフィックに何が起こるかは、送信機が現在共有するパス特性によって決まるが、共有の影響がパスの帯域幅及び容量を圧倒する場合、影響を受けた各送信機は、そのトラフィックを別のパスに切り替えることについて追加の決定を行うことができる。別のパスに切り替えるというこのプロセスは、新しく選択されたパスが送信されるトラフィックに所望のパス特性を提供しない限り、無制限に続行できる。異なる共有パスに切り替えるたびに、他の送信機からのトラフィックが中断され、トラフィックが失われる可能性があり、一方向遅延が増え、ラウンドトリップ時間が長くなり、リアルタイムトラフィックのジッターが増加する。
【0023】
上記のように、送信機が送信するトラフィックをあるパスから別のパスに「切り替える」場合、新しいパスが他の送信機及び/又は受信機と共有されているならば、共有パスに追加された新しいトラフィックはパスの帯域幅及び容量を奪う。パスの帯域幅及び容量の合計を超える場合、キューイング遅延によってトラフィックが遅延し、パスに沿ったネットワークバッファが使い果たされる場合、トラフィックが失われることさえある。送信機は、過負荷のパスから別のパスに「切り替える」ことで、この新しいパスでの立ち上がり遅延及びトラフィック損失に対応できるが、それは、パス間の持続的な振動をもたらし、共有パス上のトラフィック、並びにそのトラフィックに関与するコンピュータ及びユーザに悪影響を与える可能性がある。
【0024】
従って、実施形態は、マルチパス技術を利用するのに十分に機動的にパス間を切り替えるだけでなく、前述の悪影響を回避するために、切り替えの量及び結果として生じる振動を「減衰」させるメカニズムを提供する。
【0025】
図5は、一実施形態による、マルチパストラフィックの切り替えの減衰への解決策の高レベル手順を示す例示的なプロセス500のフローチャートである。図5では、送信機は、T1タイマ値(「T1V」)を初期化するステップから始める(ブロック501)。T1Vの初期値は、プロビジョニングされても、又はこのパスでの送信機と受信機との間の以前の操作から記憶されてもよい。
【0026】
送信機は、アクティブになるパスを選択する(ブロック502)。
【0027】
送信機は、T1タイマを初期T1Vに設定する(ブロック503)。送信機はアクティブパス特性を監視する(ブロック504)。
【0028】
適切な時間間隔で、送信機は、測定されたパス特性を所望のパス特性と比較する(ブロック505)。所望のパス特性は、このパスで送信されるトラフィックに適したいくつかの要素の任意の組み合わせである。例えば、パス特性及び所望のパス特性は、図2~4に関して上記の任意の特性に対応し得る。
【0029】
測定されたパス特性が所望のパス特性を提供する場合、送信機は、アクティブパス特性を監視し続ける(ブロック504)。
【0030】
測定されたパス特性が所望のパス特性を提供しない場合、送信機は、T1タイマが満了したかどうかをチェックする(ブロック506)。
【0031】
T1タイマが満了していない場合、送信機はT1Vをインクリメントし(ブロック507)、パス特性を監視し続ける(ブロック504)。T1Vの増加量は、プロビジョニングされても、実験的に決定されても、又は適応的に選択されてもよい。一実施形態では、送信機はアクティブパスが所望のパス特性を提供しないと判断するたびにT1Vを2倍にすることで、繰り返されるパス切り替えの間に指数関数的な「減衰」を提供し、この送信機/受信機ペア、及びこの送信機/受信機ペアと少なくとも1つのパスを共有する他の任意の送信機/受信機ペアへのパス切り替えの中断を最小限に抑える。T1Vの最大値は、プロビジョニングされても、又は無制限に拡張されてもよい。
【0032】
T1タイマが満了した場合、送信機はT1タイマをリセットし、それを現在のT1Vに設定し(ブロック508)、新しいアクティブパスを選択し(ブロック509)、アクティブパス特性を監視し続ける(ブロック504)。
【0033】
図5に示される例では、アクティブパスが「安定」している場合、T1Vは減少せず、ここで、送信機は、T1タイマが満了するよりも頻繁にパスを切り替えない。実施形態では、T1Vは、T1タイマをT1Vの現在の値に設定した後、ブロック508で減少することができる。この減少量は、プロビジョニングされても、実験的に決定されても、又は適応的に選択されてもよいが、ブロック508の減少量がブロック507の増加量よりも小さい限り、解決手段は安定しており、パス特性の改善に適合する。
【0034】
いくつかの実施形態では、開示された解決手段は、送信機と受信機との間で任意の数のパスが使用可能な場合に使用される。「減衰」は、アクティブパスのセットに適用する。
【0035】
いくつかの実施形態では、開示された解決手段は、追加のパスが使用可能になった場合、又は使用できなくなった場合に使用される。「減衰」は、アクティブパスのセットに適用する。
【0036】
いくつかの実施形態では、開示された解決手段は、例えば、行き来される1つ又は複数のネットワークでの再ルーティングのため、又は最新のセルラーネットワークのように、送信機若しくは受信機が1つのネットワークから別のネットワークに「ローミング」するため、パス特性が著しく変化する場合に使用される。解決手段は適応型であるため、パスのセットが変化する場合でも、T1タイマ値はアクティブパスの適切な値に近づく。
【0037】
従って、実施形態は、第1のパスを含む複数の共有パスを行き来するトラフィックに対応するマルチパストラフィックの切り替えの影響を低減するための方法に関連し得る。この方法は、第1のパスでトラフィックを送信するステップと、第1のパスの第1のパス特性を監視するステップと、事前定義されたパス特性を満たさない第1のパス特性に応答し、タイマ値を所定の量だけ増加させるステップと、タイマが満了した場合、そして第1のパス特性が事前定義されたパス特性を満たさないことに応答し、第1のパスから異なる第2のパスに切り替えるステップとを含む。
【0038】
図6は、複数の共有パスを含むネットワークにおいてマルチパストラフィックの切り替えを管理するための例示的なプロセス600のフローチャートである。いくつかの実装形態では、図6の1つ又は複数のプロセスブロックは、上記の装置及び要素のいずれかであり得る。
【0039】
図6に示すように、プロセス600は、複数の共有パスから第1のパスを選択するステップ(ブロック601)を含み得る。
【0040】
更に、図6に示すように、プロセス600は、初期タイマを初期タイマ値に設定するステップ(ブロック602)を含み得る。実施形態では、この初期タイマ値は、上記のT1Vに対応し得る。
【0041】
更に、図6に示すように、プロセス600は、第1のパスでネットワークトラフィックを送信するステップ(ブロック603)を含み得る。
【0042】
更に、図6に示すように、プロセス600は、第1のパスのパス特性が十分であるかどうかを決定するステップ(ブロック604)を含み得る。パス特性は、このパスで送信されるトラフィックに適したいくつかの要素の任意の組み合わせである。例えば、このパス特性は、図2~5に関して上記の任意の特性に対応し得、また、パス特性に関連する何らかの理由で、十分又は不十分と見なされ得る。
【0043】
更に、図6に示すように、第1のパスのパス特性が十分である(ブロック604で「はい」(YES))と判断したことに基づいて、プロセス600はブロック603に戻ることができる。
【0044】
更に、図6に示すように、第1のパスの少なくとも1つのパス特性が不十分である(ブロック604で「いいえ」(NO))と判断したことに基づいて、プロセス600はブロック605に進むことができる。
【0045】
更に、図6に示すように、プロセス600は、初期タイマが満了したかどうかを決定するステップ(ブロック605)を含み得る。
【0046】
更に、図6に示すように、初期タイマが満了していない(ブロック605で「いいえ」)と判断したことに基づいて、プロセス600は、初期タイマ値を増加させることにより、更新タイマ値を生成し(ブロック606)、次にブロック603に戻るステップを含み得る。
【0047】
更に、図6に示すように、初期タイマが満了したと判断した(ブロック605で「はい」)ことに基づいて、プロセス600は、第2のパスを選択し、第2のパスでネットワークトラフィックを送信し、更新タイマを更新タイマ値に設定するステップ(ブロック607)を含み得る。
【0048】
実施形態では、更新タイマ値は、初期タイマ値を所定の量だけ増加させることによって生成され得る。
【0049】
実施形態では、更新タイマ値は、初期タイマ値を第1のパスの少なくとも1つのパス特性に基づいて適応的に決定された量だけ増加させることによって、生成され得る。
【0050】
実施形態では、更新タイマ値は、所定の最大タイマ値以下になるように生成され得る。
【0051】
実施形態では、更新タイマ値は、第1の更新タイマ値を含み得、更新タイマは、第1の更新タイマを含み得、この方法は、更新タイマが設定された後、第1の更新タイマ値を減少させることにより、第2の更新タイマ値を生成するステップと、第2のパスの少なくとも1つのパス特性が不十分であり、第1の更新タイマが満了したと判断した場合、第3のパスを選択し、第3のパスでネットワークトラフィックを送信し、そして第2の更新タイマを第2の更新タイマ値に設定するステップとを含む。
【0052】
実施形態では、複数の共有パスが使用可能であると判断したことに基づいて、初期タイマを初期タイマ値に設定することができる。
【0053】
実施形態では、複数の共有パスに追加のパスが追加されると判断したことに基づいて、初期タイマを初期タイマ値に設定することができる。
【0054】
実施形態では、第1のパスの少なくとも1つのパス特性の変化を検出することに基づいて、初期タイマを初期タイマ値に設定することができる。
【0055】
図6は、プロセス600の例示的なブロックを示すが、いくつかの実装形態では、プロセス600は、図6に示されるものと比較して、追加のブロック、より少ないブロック、異なるブロック、又は異なる配置のブロックを含み得る。更に、又は代わりに、プロセス600の2つ又は複数のブロックを並行して実行することができる。
【0056】
更に、提案された方法は、処理回路(例えば、1つ又は複数のプロセッサ又は1つ又は複数の集積回路)によって実施され得る。一実施例では、1つ又は複数のプロセッサは、非一時的なコンピュータ可読媒体に記憶されるプログラムを実行することで、提案された方法の1つ又は複数を実行する。
【0057】
上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装することができ、1つ又は複数のコンピュータ可読媒体に物理的に記憶することができる。例えば、図7は、本発明の特定の実施形態を実施するのに適したコンピュータシステム700を示す。
【0058】
コンピュータソフトウェアは、任意の適切な機械語又はコンピュータ言語を使用してコード化することができ、それらは、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって直接、若しくは解釈、マイクロコード実行などを介して実行できる命令を含むコードを作成するためのアセンブリ、コンパイル、リンク、又は同様のメカニズムの対象となり得る。
【0059】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネット装置などを含む、様々なタイプのコンピュータ又はそのコンポーネント上で実行することができる。
【0060】
図7に示されるコンピュータシステム700のコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲又は機能に関する制限を示唆することを意図するものではない。また、コンポーネントの構成は、コンピュータシステム700の例示的な実施形態に示されるコンポーネントのいずれか1つ又は組み合わせに関連する依存性又は要件を有すると解釈されるべきではない。
【0061】
コンピュータシステム700は、特定のヒューマンインターフェース入力装置を含み得る。そのようなヒューマンインターフェース入力装置は、例えば、触覚入力(例えば、キー操作、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介して、1人以上の人間のユーザによる入力に応答することができる。ヒューマンインターフェース装置はまた、音声(例えば、スピーチ、音楽、環境音)、画像(例えば、スキャン画像、静止画像カメラから取得した写真画像)、ビデオ(例えば、2次元ビデオ、立体的ビデオを含む3次元ビデオ)など、人間による意識的な入力に直接関連する必要のない特定の媒体をキャプチャするために使用され得る。
【0062】
ヒューマンインターフェース入力装置は、キーボード701、マウス702、トラックパッド703、タッチスクリーン710及び関連するグラフィックスアダプタ750、データグローブ、ジョイスティック705、マイク706、スキャナ707、カメラ708のうち1つ又は複数(それらの1つだけ示される)を含み得る。
【0063】
コンピュータシステム700はまた、特定のヒューマンインターフェース出力装置を含み得る。そのようなヒューマンインターフェース出力装置は、例えば、触覚出力、音、光、及び臭い/味を通じて、1人以上の人間のユーザの感覚を刺激し得る。そのようなヒューマンインターフェース出力装置は、触覚出力装置(例えば、タッチスクリーン710、データグローブ、又はジョイスティック705による触覚フィードバック、しかし、入力装置の働きをしない触覚フィードバック装置もあり得る)、音声出力装置(例えば、スピーカ709、ヘッドホン(図示せず))、視覚出力装置(例えば、それぞれはタッチスクリーン入力機能があってもなくてもよく、それぞれは触覚フィードバック機能があってもなくてもよく、そのうちのいくつかは、2次元の視覚出力又は立体視出力のような手段を通じた3次元より高い出力を出力することができる、陰極線管(CRT)スクリーン、液晶ディスプレイ(LDC)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含むスクリーン710、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、煙タンク(図示せず))、及びプリンタ(図示せず)を含み得る。
【0064】
コンピュータシステム700はまた、人間がアクセス可能な記憶装置及び関連する媒体、例えば、CD/DVD若しくは類似の媒体721と共にCD/DVD ROM/RW 720を含む光学式媒体、サムドライブ722、取り外し可能なハードドライブ又はソリッドステートドライブ723、テープ及びフロッピー(登録商標)ディスクといったレガシー磁気媒体(図示せず)、セキュリティドングルのような特化したROM/ASIC/PLDベースの装置(図示せず)などを含み得る。
【0065】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ可読媒体」は、伝送媒体、搬送波、又は他の一時的な信号を含まないことを理解すべきである。
【0066】
コンピュータシステム700はまた、1つ又は複数の通信ネットワーク(1155)へのインターフェースを含み得る。ネットワークは、例えば、無線、有線、光学式であり得る。更に、ローカル、広域、都市圏、車載及び工業用、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネット、無線LAN、モバイル通信(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロングタームエボリューション(LTE)などを含むセルラーネットワークなどのローカルエリアネットワーク、ケーブルテレビ、衛星テレビ、地上波放送テレビを含むテレビ有線又は無線広域デジタルネットワーク、CANBusなどを含む車両及び産業用などを含む。特定のネットワークは通常、特定の汎用データポート又は周辺バス(1149)(例えば、コンピュータシステム700のユニバーサルシリアルバス(USB)ポートなど)に取り付けられた外部ネットワークインターフェースアダプタ(1154)を必要とし、他は通常、後述するようなシステムバスの取り付けによってコンピュータシステム700のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。一例として、ネットワーク755は、ネットワークインターフェース754を使用して周辺バス749に接続され得る。これらのネットワークのいずれかを使用し、コンピュータシステム700は他のエンティティと通信することができる。このような通信は、一方向受信専用(例えば、放送テレビ)、一方向送信専用(例えば、特定のCANbus装置へのCANbus)、又は、例えば、ローカル若しくは広域デジタルネットワークを使用する他のコンピュータシステムへの双方向であってもよい。上記のようなこれらのネットワーク及びネットワークインターフェース(1154)のそれぞれで、特定のプロトコル及びプロトコルスタックが使用できる。
【0067】
前述のヒューマンインターフェース装置、人間がアクセス可能な記憶装置、及びネットワークインターフェースは、コンピュータシステム700のコア740に取り付けることができる。
【0068】
コア740は、1つ又は複数の中央処理装置(CPU)741、グラフィックス処理装置(GPU)742、フィールドプログラマブルゲートアレイ(FPGA)743の形の特化したプログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ744などを含み得る。これらの装置は、読み取り専用メモリ(ROM)745、ランダムアクセスメモリ(RAM)746、ユーザがアクセスできない内部ハードドライブ、ソリッドステートドライブ(SSD)などの内蔵大容量記憶装置747と共に、システムバス748を介して接続され得る。いくつかのコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、システムバス748は、1つ又は複数の物理プラグの形でアクセス可能であってもよい。周辺装置は、コアのシステムバス748に直接取り付けることも、周辺バス749を介して取り付けることもできる。周辺バスのためのアーキテクチャは、周辺コンポーネント相互接続(PCI)、USBなどを含む。
【0069】
CPU 741、GPU 742、FPGA 743、及びアクセラレータ744は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM 745又はRAM 746に記憶できる。移行データは、RAM 746に記憶することもできるが、持続的データは、例えば、内蔵大容量記憶装置747に記憶することができる。1つ又は複数のCPU 741、GPU 742、大容量記憶装置747、ROM 745、RAM 746などと密接に関連付けることができるキャッシュメモリを使用することにより、任意のメモリ装置への高速な記憶及び読み出しを可能にすることができる。
【0070】
コンピュータ可読媒体は、様々なコンピュータ実装操作を実行するためにその上にコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであっても、又はコンピュータソフトウェア分野の技術を有する者によく知られ使用可能な種類のものであってもよい。
【0071】
限定ではなく、一例として、アーキテクチャ700を有するコンピュータシステム、特にコア740は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行することの結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介したようなユーザアクセス可能な大容量記憶装置、及びコア内部大容量記憶装置747又はROM745などの非一時的性質のコア740の特定の記憶装置に関連する媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのような装置に記憶され、コア740によって実行され得る。コンピュータ可読媒体は、特定のニーズに応じて、1つ又は複数のメモリ装置又はチップを含み得る。ソフトウェアは、コア740、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM 746に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加的又は代替的に、コンピュータシステムは、回路(例えば、アクセラレータ(744))内に配線された、又は別なふうに具体化されたロジックの結果として、機能を提供することができ、これは、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行するためのソフトウェアの代わりに、又はそれと一緒に動作することができる。ソフトウェアへの言及は、ロジックを含み、適宜その逆も可能である。コンピュータ可読媒体への言及は、適宜、実行のためのソフトウェアを記憶する回路(例えば、集積回路(IC))、実行のためのロジックを具体化する回路、又はその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0072】
本開示はいくつかの例示的な実施形態を説明したが、本開示の範囲内にある変更、置換、及び様々な代替同等物が存在する。従って、当業者は、本明細書に明示的に示されない又は記載されないが、本開示の原理を具体化し、従って、本開示の精神及び範囲内にある多くのシステム及び方法を考案することができることが理解されたい。
図1
図2
図3
図4
図5
図6
図7