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

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

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

特許7559235トラフィックの負荷分散のための方法、システム及びコンピュータプログラム
<>
  • 特許-トラフィックの負荷分散のための方法、システム及びコンピュータプログラム 図1
  • 特許-トラフィックの負荷分散のための方法、システム及びコンピュータプログラム 図2
  • 特許-トラフィックの負荷分散のための方法、システム及びコンピュータプログラム 図3
  • 特許-トラフィックの負荷分散のための方法、システム及びコンピュータプログラム 図4
  • 特許-トラフィックの負荷分散のための方法、システム及びコンピュータプログラム 図5
  • 特許-トラフィックの負荷分散のための方法、システム及びコンピュータプログラム 図6
  • 特許-トラフィックの負荷分散のための方法、システム及びコンピュータプログラム 図7
  • 特許-トラフィックの負荷分散のための方法、システム及びコンピュータプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-20
(45)【発行日】2024-10-01
(54)【発明の名称】トラフィックの負荷分散のための方法、システム及びコンピュータプログラム
(51)【国際特許分類】
   H04L 45/24 20220101AFI20240924BHJP
【FI】
H04L45/24
【請求項の数】 8
(21)【出願番号】P 2023524606
(86)(22)【出願日】2022-05-11
(65)【公表番号】
(43)【公表日】2023-11-13
(86)【国際出願番号】 US2022028667
(87)【国際公開番号】W WO2023278013
(87)【国際公開日】2023-01-05
【審査請求日】2023-04-21
(31)【優先権主張番号】63/215,891
(32)【優先日】2021-06-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/701,887
(32)【優先日】2022-03-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ドーキンズ、ポール・スペンサー
(72)【発明者】
【氏名】ウェンジャー,ステファン
【審査官】長谷川 未貴
(56)【参考文献】
【文献】特表2019-523621(JP,A)
【文献】特開2018-014560(JP,A)
【文献】国際公開第2007/043373(WO,A1)
【文献】特開2006-114973(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-101/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行される、管理ドメインの内部のマルチパス対応レシーバと前記管理ドメインの外部のマルチパス対応センダーとの間のトラフィックの負荷分散のための方法であって、
メディアストリームを受信するためのアクセスネットワークを識別するステップと、
前記管理ドメインからのステアリングルールを受け入れるステップであって、前記管理ドメインは、前記マルチパス対応レシーバを含むが、前記マルチパス対応センダーは含まず、前記ステアリングルールは、前記マルチパス対応レシーバと前記マルチパス対応センダーとの間の前記メディアストリームに関連付けられる前記トラフィックのステアリングを容易にする、ステップと、
各アクセスネットワークについて、遅延値をゼロに初期化し、タイマ値を測定間隔に設定して初期化するステップと、
前記測定間隔の間に前記アクセスネットワークに到着するメディアストリームの量を測定するカウンタをインクリメントするステップと、
前記タイマ値、前記カウンタ及び前記ステアリングルールに基づいて前記遅延値を調整するステップと、
前記遅延値に基づいて確認応答を送信するステップと、
を含む、方法。
【請求項2】
前記タイマ値は、前記アクセスネットワークについての前記遅延値に対する調整の間隔を決定する、
請求項1に記載の方法。
【請求項3】
前記測定間隔は、前記ステアリングルールにおいて提供される、
請求項1に記載の方法。
【請求項4】
前記確認応答の送信の遅延は、前記測定間隔の間に前記アクセスネットワークに到着する前記メディアストリームの量に対する調整レベルを示す、
請求項1に記載の方法。
【請求項5】
少なくとも1つのプロセッサによって実行される、管理ドメインの内部のマルチパス対応レシーバと前記管理ドメインの外部のマルチパス対応センダーとの間のトラフィックの負荷分散のための方法であって、前記管理ドメインは、通信システムの一部であり、前記管理ドメイン内のステアリングルールを提供し、
メディアストリームを受信するためのアクセスネットワークを識別するステップと、
前記管理ドメインからのステアリングルールを受け入れるステップであって、前記管理ドメインは、前記マルチパス対応レシーバを含むが、前記マルチパス対応センダーは含まず、前記ステアリングルールは、前記マルチパス対応レシーバと前記マルチパス対応センダーとの間の前記メディアストリームに関連付けられる前記トラフィックのステアリングを容易にする、ステップと、
測定間隔の間に前記アクセスネットワークに到着するメディアストリームの量を測定するカウンタをインクリメントするステップと、
タイマ値、前記カウンタ及び前記ステアリングルールに基づいて遅延値を調整するステップと、
前記遅延値に基づいて確認応答を送信するステップと、
前記測定間隔の間に到着したメディアストリームの総量に基づいて、所定の量未満のメディアストリームを受信する前記アクセスネットワークについての前記遅延値をゼロに設定するステップと、
み、
前記所定の量のメディアストリームは前記ステアリングルールによって定義される、
法。
【請求項6】
少なくとも1つのプロセッサによって実行される、管理ドメインの内部のマルチパス対応レシーバと前記管理ドメインの外部のマルチパス対応センダーとの間のトラフィックの負荷分散のための方法であって、前記管理ドメインは、通信システムの一部であり、前記管理ドメイン内のステアリングルールを提供し、
メディアストリームを受信するためのアクセスネットワークを識別するステップと、
前記管理ドメインからのステアリングルールを受け入れるステップであって、前記管理ドメインは、前記マルチパス対応レシーバを含むが、前記マルチパス対応センダーは含まず、前記ステアリングルールは、前記マルチパス対応レシーバと前記マルチパス対応センダーとの間の前記メディアストリームに関連付けられる前記トラフィックのステアリングを容易にする、ステップと、
測定間隔の間に前記アクセスネットワークに到着するメディアストリームの量を測定するカウンタをインクリメントするステップと、
タイマ値、前記カウンタ及び前記ステアリングルールに基づいて遅延値を調整するステップと、
前記遅延値に基づいて確認応答を送信するステップと、
前記測定間隔の間に到着したメディアストリームの総量に基づいて、所定の量を超えるメディアストリームを受信する前記アクセスネットワークについての前記遅延値を増加させるステップと、
み、
前記所定の量のメディアストリームは前記ステアリングルールによって定義される、
方法。
【請求項7】
管理ドメインの内部のマルチパス対応レシーバと前記管理ドメインの外部のマルチパス対応センダーとの間のトラフィックの負荷分散のためのシステムであって、
プログラムコードを記憶するよう構成される少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによって指示されるように動作するよう構成される少なくとも1つのプロセッサと、
を含み、前記プログラムコードは、前記少なくとも1つのプロセッサに、請求項1乃至のいずれか一項に記載の方法を実行させる、システム。
【請求項8】
少なくとも1つのプロセッサによって実行されると、管理ドメインの内部のマルチパス対応レシーバと前記管理ドメインの外部のマルチパス対応センダーとの間のトラフィックの負荷分散のために、前記少なくとも1つのプロセッサに、請求項1乃至のいずれか一項に記載の方法を実行させるコンピュータプログラム。


【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年6月28日に出願された米国仮特許出願第63/215,891号及び2022年3月23日に出願された米国特許出願第17/701,887号に基づいており、これに対する優先権を主張し、その開示は参照によってその全体が本明細書に組み込まれる。
【0002】
技術分野
本開示の実施形態は、メディアサーバが、マルチパス対応型であり、管理ドメインの外部に位置するときに、その管理ドメイン内に含まれる複数のアクセスネットワークにわたる負荷分散を課す管理ドメイン内において、メディアサーバからマルチパス対応メディアプレーヤにメディアをストリーミングするために使用されるネットワーク化されたコンピュータの設計及び動作に関する。
【背景技術】
【0003】
関連技術では、マルチパス対応メディアプレーヤとマルチパス対応メディアサーバが相互に直接通信し得る。図1は、通信システム100において、マルチパスプロキシを使用して通信するマルチパス対応メディアプレーヤと非マルチパス対応メディアサーバを図示している。
【0004】
図1において、マルチパス対応メディアプレーヤ(101)と非マルチパス対応メディアサーバ(107)は、マルチパスプロキシ(103)を使用して、複数のアクセスネットワーク(102)にわたって通信し得る。マルチパス対応メディアプレーヤ(101)は、マルチパス機能性を有し得る。マルチパスプロキシ(103)は、複数のアクセスネットワーク(102)を介して、メディアプレーヤ(101)から送信されたパケットを収集し、メディアサーバ(107)から送信されたパケットを、単一のネットワークパスを介して、ドメイン境界(105)を越えて分配する役割を行うことがあり、そのような分配は、1つ以上のデータネットワーク(106)にわたることがある。図1では、1つのメディアプレーヤ、1つのマルチパスプロキシ及び1つのメディアサーバのみが示されている。マルチパスプロキシ(103)は、マルチパス機能性を有し得る。
【0005】
一部の環境では、各利用可能なアクセスネットワーク(102)の特性が区別可能でないことがある。様々なパスは、利用可能な帯域幅と容量、測定されたラウンドトリップ時間又は一方向遅延における相違、エラー率における相違、優先順位及び各パスのコストにおける相違を含め、大幅に異なるパス特性を有することがある。
【0006】
メディアプレーヤ(101)及びマルチパスプロキシ(103)は、いくつかのステアリング方法のうちのいずれかを使用して、利用可能な様々なアクセスネットワーク(102)の中から、パケットを送信するパスを選択し得る。
【0007】
メディアプレーヤ(101)及びマルチパスプロキシ(103)は各々、アクセスネットワーク(102)を選択するときにどのステアリング方法を使用するかに関して自律的な決定を行うことがあるが、多くの展開されたネットワークでは、ステアリング方法に関する決定は、マルチパス能力を提供する管理ドメインによって指示される。管理ドメイン(104)はメディアプレーヤ(101)とマルチパスプロキシ(103)にステアリングルールを提供し、メディアプレーヤ(101)とマルチパスプロキシ(103)は各々、それらのステアリングルールに基づいて利用可能なアクセスネットワーク(102)の中で選択する。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本開示の1つ以上の例示的な実施形態は、管理ドメイン内のマルチパス対応レシーバ(multipath-capable receiver)が、その管理ドメインの外部のマルチパス対応センダー(multipath-capable sender)によって送信されたトラフィックに対して、その管理ドメインの負荷分散を実施することを可能にするシステム及び方法を提供する。
【課題を解決するための手段】
【0009】
実施形態によると、少なくとも1つのプロセッサによって実行される、管理ドメインの内部のマルチパス対応レシーバと管理ドメインの外部のマルチパス対応センダーとの間のトラフィックの負荷分散のための方法が提供される。本方法は、メディアストリームを受信するためのアクセスネットワークを識別するステップと、管理ドメインからのステアリングルールを受け入れるステップであって、管理ドメインは、マルチパス対応レシーバを含むが、マルチパス対応センダーは含まず、ステアリングルールは、マルチパス対応レシーバとマルチパス対応センダーとの間のメディアストリームに関連付けられるトラフィックのステアリングを容易にする、ステップと、測定間隔の間にアクセスネットワークに到着するメディアストリームの量を測定するカウンタをインクリメントするステップと、タイマ値、カウンタ及びステアリングルールに基づいて遅延値を調整するステップと、遅延値に基づいて確認応答を送信するステップと、を含む。
【0010】
実施形態によると、管理ドメインの内部のマルチパス対応レシーバと管理ドメインの外部のマルチパス対応センダーとの間のトラフィックの負荷分散のためのシステムが提供される。本システムは、命令を記憶する少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードによって指示されるように動作するよう構成される少なくとも1つのプロセッサと、を含み得る。プログラムコードは、少なくとも1つのプロセッサに、メディアストリームを受信するためのアクセスネットワークを識別させるよう構成される識別コードと、少なくとも1つのプロセッサに、管理ドメインからのステアリングルールを受け入れさせるよう構成される受け入れコードであって、管理ドメインは、マルチパス対応レシーバを含むが、マルチパス対応センダーは含まず、ステアリングルールは、マルチパス対応レシーバとマルチパス対応センダーとの間のメディアストリームに関連付けられるトラフィックのステアリングを容易にする、受け入れコードと、少なくとも1つのプロセッサに、測定間隔の間にアクセスネットワークに到着するメディアストリームの量を測定するカウンタをインクリメントさせるよう構成されるインクリメントコードと、少なくとも1つのプロセッサに、タイマ値、カウンタ及びステアリングルールに基づいて遅延値を調整させるよう構成される調整コードと、少なくとも1つのプロセッサに、遅延値に基づいて確認応答を送信させる送信コードと、を含み得る。
【0011】
1つ以上の実施形態によると、コンピュータコードを記憶する非一時的なコンピュータ読取可能媒体が提供される。コンピュータコードは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、メディアストリームを受信するためのアクセスネットワークを識別させ、管理ドメインからのステアリングルールを受け入れさせ、管理ドメインは、マルチパス対応レシーバを含むが、マルチパス対応センダーは含まず、ステアリングルールは、マルチパス対応レシーバとマルチパス対応センダーとの間のメディアストリームに関連付けられるトラフィックのステアリングを容易にし、測定間隔の間にアクセスネットワークに到着するメディアストリームの量を測定するカウンタをインクリメントさせ、タイマ値、カウンタ及びステアリングルールに基づいて遅延値を調整させ、遅延値に基づいて確認応答を送信させるよう構成され得る。
【0012】
追加の態様は、部分的に以下の説明において記載され、部分的にその説明から明らかになるか又は本開示の提示される実施形態の実践によって実現され得る。
【図面の簡単な説明】
【0013】
本開示の上記及び他の態様、特徴及び実施形態の態様は、以下の添付の図面とともに考慮される以下の説明からより明らかになるであろう。
【0014】
図1】マルチパスプロキシを使用して通信するマルチパス対応メディアプレーヤと非マルチパス対応メディアサーバの概略図である。
【0015】
図2】1つ以上の実施形態による通信システムの簡略化されたブロック図を示す。
【0016】
図3】1つ以上の実施形態による例示的なストリーミング環境の概略図である。
【0017】
図4】実施形態に従って通信するマルチパス対応メディアプレーヤとマルチパス対応メディアサーバの概略図である。
【0018】
図5】実施形態による、ネットワークパスにわたる負荷分散のための例示的なフローチャートを示す。
【0019】
図6】1つ以上の実施形態による、マルチパス対応レシーバとマルチパス対応センダーとの間のトラフィックの負荷分散のための方法のフローチャートである。
【0020】
図7】1つ以上の実施形態による、マルチパス対応レシーバとマルチパス対応センダーとの間のトラフィックの負荷分散のためのコンピュータコードの例のブロック図である。
【0021】
図8】1つ以上の実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0022】
本開示は、管理ドメインの内部のマルチパス対応レシーバと管理ドメインの外部のマルチパス対応センダーとの間のトラフィックの負荷分散のための方法及び装置に関する。
【0023】
現在、様々なステアリング方法が使用されており、毎年様々な標準化団体でより多くのステアリング方法が提案されている。本開示の実施形態は、ステアリング方法が「負荷分散」ステアリング方法であるときに適用可能であり得る。負荷分散ステアリング方法では、マルチパス対応センダーは、複数のアクセスネットワーク(102)を同時に使用することがあり、通常、各アクセスネットワークを介して伝送されるべき発信パケット(outgoing packet)の割合を記述するためにアクセスネットワークごとに所望の重みを用いて、発信パケットごとにアクセスネットワークを選択する(例えば「アクセスネットワークAがパケットの約70%を伝送し、アクセスネットワークBがパケットの約30%を伝送する」)。単純な実装では、重み付けラウンドロビンアルゴリズムを使用して、次のパケットのアクセスネットワークを選択し得る。いくつかの実施形態では、実装はより一般的に、最も短いラウンドトリップ時間を有するネットワークパスにより大きく依存し、より良好なユーザエクスペリエンスを提供するために、最も短い発信キューを有するアクセスネットワークを選択する。
【0024】
本開示の実施形態は、添付の図面を参照して包括的に説明される。しかしながら、実装例は様々な複数の形態で実装されてよく、本開示は、本明細書に記載される例に限定されるものとして解釈されるべきではない。反対に、実装例は、本開示の技術的解決策をより包括的かつ完全なものにし、実装例のアイデアを当業者に包括的に伝えるために提供されている。添付の図面は、単に本開示の例示的な図であり、必ずしもスケーリングして描かれているわけではない。
【0025】
以下で議論される提案された特徴は、別個に使用されてもよく、任意の順序で組み合わされてもよい。添付の図面に示されているいくつかのブロック図は、機能的エンティティであり、必ずしも物理的又は論理的に独立したエンティティに対応していない。さらに、実施形態は、処理回路(例えば1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されても、ソフトウェアの形態で実装されても、異なるネットワーク及び/又はプロセッサ装置及び/又はマイクロコントローラ装置で実装されてもよい。一例では、1つ以上のプロセッサは、1つ以上の非一時的なコンピュータ読取可能媒体に記憶されるコンピュータプログラムコードを実行する。
【0026】
図2は、本開示の一実施形態による通信システム200の簡略化されたブロック図を示す。通信システム200は、ネットワーク205を介して相互接続される少なくとも2つの端末202及び203を含み得る。データの単方向伝送のために、第1端末203は、ネットワーク205を介して他の端末202に伝送するために、ローカル位置でビデオデータをコーディングし得る。第2端末202は、ネットワーク205から他の端末のコーディングされたビデオデータを受け取り、コーディングされたデータを復号し、回復されたビデオデータを表示し得る。単方向データ伝送は、メディアサービングアプリケーション等において一般的であり得る。
【0027】
図2は、例えばビデオ会議又はメディアストリーミング中に起こり得るコーディングされたビデオの双方向伝送をサポートするために提供される、第2のペアの端末201及び204を示す。データの双方向伝送のために、各端末201及び204は、ネットワーク205を介して他の端末に伝送するために、ローカル位置でキャプチャされたビデオデータをコーディングし得る。各端末201及び204はまた、他の端末によって伝送されたコーディングされたビデオデータを受け取ることができ、コーディングされたデータを復号することができ、回復されたビデオデータをローカルディスプレイデバイスで表示することができる。
【0028】
図2では、端末201、202、203及び204は、サーバ、パーソナルコンピュータ及びスマートフォンとして図示され得るが、本開示の原理はそのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ及び/又は専用のビデオ会議機器との適用を見出す。ネットワーク205は、例えば有線及び/又は無線通信ネットワークを含む、端末201、202、203及び204の間でコーディングされたビデオデータを運ぶ任意の数のネットワークを表す。通信ネットワーク205は、回線交換及び/又はパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本議論の目的のために、ネットワーク205のアーキテクチャ及びトポロジは、以下で説明されない限り、本開示の動作にとって重要でないことがある。
【0029】
図3は、開示される主題の適用の例として、ストリーミング環境におけるビデオエンコーダ及びデコーダの配置を図示する。開示される主題は、例えばビデオ会議、デジタルTV、CDやDVD、メモリスティック等を含むデジタルメディアにおける圧縮ビデオの記憶等を含む、他のビデオ対応アプリケーションにも等しく適用可能であり得る。
【0030】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム313を作成するビデオソース301、例えばデジタルカメラを含むことができる、キャプチャサブシステム303を含み得る。そのサンプルストリーム313は、符号化されたビデオビットストリームと比較するとき、高データ量として強調されることがあり、カメラ301に結合されたエンコーダ302によって処理されることができる。エンコーダ302は、以下でより詳細に説明されるように、開示される主題の態様を可能にするか又は実装するために、ハードウェア、ソフトウェア又はそれらの組合せを含むことができる。符号化されたビデオビットストリーム304は、サンプルストリームと比較されるとき、より低データ量として強調されることがあり、将来の使用のためにストリーミングサーバ305に記憶されることができる。1つ以上のストリーミングクライアント312及び307は、ストリーミングサーバ305にアクセスして、符号化されたビデオビットストリーム304のコピー308及び306を取り出すことができる。クライアント312は、符号化されたビデオビットストリームの着信(incoming)コピー308を復号し、ディスプレイ309又は他のレンダリングデバイスでレンダリングすることができる発信ビデオサンプルストリーム310を作成するビデオデコーダ311を含むことができる。いくつかのストリーミングシステムでは、ビデオビットストリーム304、306及び308を、特定のビデオコーディング/圧縮規格に従って符号化することができる。これらの規格の例は、上記に示され、本明細書において更に説明される。
【0031】
図4は、例示的な通信システム400を図示する。通信ネットワーク400は、マルチパス対応メディアプレーヤ(以下、メディアプレーヤ)401、アクセスネットワーク402、管理ドメイン403、ドメイン境界404、データネットワーク405、マルチパス対応メディアサーバ(以下、メディアサーバ)406を含む。
【0032】
実施形態によると、プロトコル変換を実行するためにマルチパスプロキシはもはや必要ではない。図1では、マルチパスプロキシ103は、通信ネットワーク100においてステアリングルールを実施した。このようなマルチパスプロキシは通信ネットワーク400には存在せず、マルチパス対応メディアサーバはその管理ドメイン403の管理境界の外部(すなわち、ドメイン境界404の外部)にあるため、管理ドメイン403は、ドメインステアリングルールをメディアサーバ406に提供しなくてよい。管理ドメイン403は依然としてステアリングルールをメディアプレーヤ401に提供してもよいが、これは、メディアサーバ406が、該メディアサーバ406に利用可能な複数のネットワークパスを使用する方法に直接影響せず、メディアサーバ406からのメディアコンテンツは、メディアプレーヤ401から送信されるトラフィックの量よりもはるかに大きくなるであろう。そのため、管理ドメイン内からの直接の指示を必要とすることなく、メディアサーバ406がこれらの複数のネットワークパスにわたって「負荷分散」を実行する方法が必要とされる。
【0033】
実施形態によると、これは、複数のネットワークパス(402、405)で利用可能なアクセスネットワークにおけるレシーバ実施(receiver enforcement)を使用して実行され得る。実施形態に従った詳細な説明が次に図5を参照して記載される。
【0034】
図5は、実施形態によるATSSS(Access Traffic Steering-Switching-Splitting)負荷分散のレシーバ実施のための例示的なフローチャート500を示している。実施形態では、フローチャート500のステップは、例えば通信システム400によって実行され得る。
【0035】
S501において、メディアプレーヤ401は、通信システム400内のすべての利用可能なアクセスネットワーク402を識別し得る。いくつかの実施形態では、メディアプレーヤ401は、利用可能なアクセスネットワーク402から初期アクセスネットワークのセットを選択する。初期アクセスネットワークのセットは、メディアサーバ406からメディアストリームを受信しているであろう。
【0036】
次いで、S502において、メディアプレーヤ401は、管理ドメイン403からのステアリングルールを受け入れる。受け入れられたステアリングルールは、メディアプレーヤ401の利用可能なアクセスネットワーク402の使用を制御することになる。ステアリングルールが「負荷分散」である場合、メディアプレーヤ401は、ステップS503~S509で説明される手順の使用に進む。
【0037】
利用可能なアクセスネットワーク402ごとに、メディアプレーヤ401は、発信確認応答遅延値(Outgoing Acknowledgment Delay value、OAD)をゼロに初期化する(S503)。S504において、メディアプレーヤ401は、T1タイマ値(T1 Timer value、T1V)を測定間隔(measurement interval、MI)に設定することによって、T1タイマ値(T1V)を初期化する。MIは、アクセスネットワーク402の各々について、OAD値に対する調整間隔を制御する。MI値は、実装者によって選択されてよく、あるいは管理ドメイン403により提供されるステアリングルールの一部として提供されてもよい。MI値は、ネットワークオペレータが彼ら自身のネットワークでメカニズムの経験を積むにつれて調整され得る。
【0038】
S505において、メディアプレーヤ401は、利用可能なアクセスネットワーク402を介してメディアサーバ406からのストリーミングメディアを受け入れる。
【0039】
S506において、メディアプレーヤ401は、MIの間にアクセスネットワーク402の各々に到着するストリーミングメディアの量を測定するカウンタを、インクリメントする。ストリーミングメディアの量は、パケットで、バイトで又はステアリングルールで指定された負荷分散比率の許容可能な実施を提供する他の測定単位で測定され得る。
【0040】
メディアプレーヤ401が、メディアサーバ406に確認応答を送信する準備をすると、S507において、メディアプレーヤ401は、各発信確認応答をOADの値だけ遅延させる。確認応答は、送信ウィンドウを増加させ、より多くのメディアがアクセスネットワーク402を介して送信されることを可能にする。
【0041】
T1Vタイマが満了すると(S508においてYES)、メディアプレーヤ401は、MIの間にアクセスネットワーク402の各々に到着したメディアの総量の割合を、ステアリングルールで指定されたメディアの所望の割合と比較する(すなわち、S509~S510に進む)。T1Vタイマが満了していない場合(S508においてNO)、メディアプレーヤ401は、ネットワークを介してストリーミングメディアの受信を継続し、プロセスは、S505~S508を繰り返す。
【0042】
観察されたトラフィックの割合が、ステアリングルールで指定された割合に許容可能なほど近くないか又は所定の量内でない場合、メディアプレーヤ401はOAD値を調整し得る。調整が必要でない場合、メディアプレーヤ401は処理ループを再開してよく、S504に戻る。
【0043】
アクセスネットワーク402の1つ以上が、所望の割合未満のトラフィックを受信している場合(S509)、メディアプレーヤ401はOADをゼロに設定してよい(S511)。アクセスネットワーク402の1つ以上が、所望の割合を超えるトラフィックを伝送している場合(S510)、メディアプレーヤ401は、OADを上方に調整するか又はOADを増加させてよい(S512)。S511又はS512のいずれかにおける調整の後、プロセスはS504に戻る。
【0044】
メディアプレーヤ401が確認応答を送信するのを待機しているとき、これは、過剰に利用されたパス(すなわち、所望の割合より多くのトラフィックを伝送するパス)が、より低い容量を有するように見せる効果を有する。したがって、マルチパストランスポートプロトコルの実装は、十分に活用されていないパス(すなわち、所望の割合より少ないトラフィックを伝送するパス)についてより多くのトラフィックをキューに入れる傾向があり、したがって、トラフィックフローを、設計された重みに近づける。この解決策は、任意の数のアクセスネットワークがメディアサーバとメディアプレーヤとの間で利用可能であるとき及び追加のアクセスネットワークが利用可能になるか又は利用可能でなくなるときに、適用可能であり得る。上述された負荷分散のレシーバ実施は、実施形態によると、アクティブなアクセスネットワークのセットに適用され得る。
【0045】
図6は、1つ以上の実施形態による、管理ドメインの内部のマルチパス対応レシーバと管理ドメインの外部のマルチパス対応センダーとの間のトラフィックの負荷分散のための方法600のフローチャートである。すなわち、管理ドメインはマルチパス対応レシーバを含むが、マルチパス対応センダーは含まない。
【0046】
図6に示されるように、動作610において、方法600は、メディアストリームを受信するためのアクセスネットワークを識別することを含み得る。
【0047】
動作620において、方法600は、管理ドメインからのステアリングルールを受け入れることを含んでよく、ここで、ステアリングルールは、マルチパス対応レシーバとマルチパス対応センダーとの間のメディアストリームに関連付けられるトラフィックのステアリングを容易にする。
【0048】
動作630において、方法600は、測定間隔の間にアクセスネットワークに到着するメディアストリームの量を測定するカウンタをインクリメントすることを含み得る。
【0049】
動作640において、方法600は、タイマ値、カウンタ及びステアリングルールに基づいて、遅延値を調整することを含み得る。
【0050】
動作650において、方法600は、遅延値に基づいて確認応答を送信することを含み得る。
【0051】
図6は本方法の例示的なブロック例を示しているが、いくつかの実装では、本方法は、図6に示されているものよりも、追加のブロック、より少ないブロック、異なるブロック又は異なる配置のブロックを含み得る。追加又は代替として、本方法のブロックのうちの2つ以上が並行に実行されてもよい。
【0052】
図7は、1つ以上の実施形態による、一意の開始コードでセグメント内のセグメント境界を識別するためのコンピュータコードの例のブロック図である。
【0053】
本開示の実施形態によると、コンピュータコードを記憶するメモリを有する少なくとも1つのプロセッサが提供され得る。コンピュータコードは、少なくとも1つのプロセッサによって実行されると、本開示の任意の数の態様を実行するよう構成され得る。
【0054】
図7に示されるように、コンピュータコード700は、識別コード710、受け入れコード720、インクリメントコード730、調整コード740及び送信コード750を含み得る。
【0055】
識別コード710は、少なくとも1つのプロセッサに、メディアストリームを受信するためのアクセスネットワークを識別させるよう構成され得る。
【0056】
受け入れコード720は、少なくとも1つのプロセッサに、管理ドメインからのステアリングルールを受け入れさせるよう構成されてよく、ここで、管理ドメインは、マルチパス対応レシーバを含むが、マルチパス対応センダーは含まず、ステアリングルールは、マルチパス対応レシーバとマルチパス対応センダーとの間のメディアストリームに関連付けられるトラフィックのステアリングを容易にする。
【0057】
インクリメントコード730は、少なくとも1つのプロセッサに、測定間隔の間にアクセスネットワークに到着するメディアストリームの量を測定するカウンタをインクリメントさせるよう構成され得る。
【0058】
調整コード740は、少なくとも1つのプロセッサに、タイマ値、測定間隔の間にアクセスネットワークに到着するメディアストリームの量及びステアリングルールに基づいて、遅延値を調整させるよう構成され得る。
【0059】
送信コード750は、少なくとも1つのプロセッサに、調整された遅延値に基づいて、確認応答を送信させるよう構成され得る。
【0060】
図7は、実施形態によるシステム又はデバイスのコンピュータコード700例示的なブロックを示しているが、いくつかの実装では、システムは、図7に示されているものよりも、追加のブロック、より少ないブロック、異なるブロック又は異なる配置のブロックを含み得る。追加又は代替として、システムのブロックのうちの2つ以上を組み合せてもよい。言い換えると、図7はコードの別個のブロックを示しているが、様々なコード命令は別個である必要はなく、混在させることができる。
【0061】
上述の負荷分散ステアリングモードのレシーバ実施のための技術は、コンピュータ読取可能命令を使用してコンピュータソフトウェアとしてレシーバ内で実装され、1つ以上のコンピュータ読取可能媒体内に又は特別に構成された1つ以上のハードウェアプロセッサによって物理的に記憶され得る。例えば図8は、開示される主題の特定の実施形態を実装するのに適したコンピュータシステム800を示す。
【0062】
コンピュータソフトウェアは、任意の適切な機械コード又はコンピュータ言語を使用してコーディングされてよく、これは、コンピュータ中央処理ユニット(CPU)、グラフィクス処理ユニット(GPU)等によって直接実行され得るか又は解釈、マイクロコード実行等を通して実行され得る命令を含むコードを作成するために、アセンブリ、コンパイル、リンキング又は同様のメカニズムの対象となり得る。
【0063】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネット等を含む、様々なタイプのコンピュータ又はその構成要素において実行され得る。
【0064】
コンピュータシステム800について図8に示される構成要素は、本質的には例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用の範囲又は機能に関していかなる限定も示唆するように意図されていない。また、構成要素の構成は、コンピュータシステム800の例示的な実施形態において図示されるいずれか1つの構成要素又は構成要素の組合せに関連するいかなる依存関係又は要件も有するものとして解釈されるべきでもない。
【0065】
コンピュータシステム800は、特定のヒューマンインタフェース入力デバイスを含み得る。そのようなヒューマンインタフェース入力デバイスは、例えば触覚入力(キーストローク、スワイプ、データグローブの動き等)、オーディオ入力(声、拍手等)、視覚入力(ジェスチャ等)、嗅覚入力を通して、1人以上の人間のユーザによる入力に応答し得る。また、ヒューマンインタフェース入力デバイスは、オーディオ(音声、音楽、環境音等)、画像(スキャンされた画像、静止画像カメラから得られる写真画像等)、ビデオ(2次元ビデオ、立体映像を含む3次元ビデオ等)のような、人間による意識的入力に必ずしも直接関係しているとは限らない、特定のメディアをキャプチャするためにも使用されることができる。
【0066】
ヒューマンインタフェース入力デバイスは、(各々の1つのみが図示される)キーボード801、マウス802、トラックパッド803、タッチ画面809、データグローブ、ジョイスティック804、マイクロホン805、カメラ806、スキャナ807のうちの1つ以上を含んでもよい。
【0067】
コンピュータシステム800はまた、特定のヒューマンインタフェース出力デバイスも含み得る。そのようなヒューマンインタフェース出力デバイスは、例えば触覚出力、音響、光及び嗅覚/味覚を通して、1人以上の人間のユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えばタッチ画面809、データグローブ又はジョイスティック804による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在する可能性がある)、オーディオ出力デバイス(スピーカ808、ヘッドフォン等)、視覚出力デバイス(各々タッチ画面入力機能の有無にかかわらず、各々触覚フィードバック能力の有無にもかかわらないが、その一部は、立体画像出力や仮想現実グラス、ホログラフィックディスプレイ及びスモークタンクのような手段を介して、2次元視覚出力又は3次元超の出力を出力することができる、CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面809等)及びプリンタを含んでよい。
【0068】
コンピュータシステム800はまた、CD/DVDを有するCD/DVD ROM/RW811を含む光媒体又は類似の媒体810、サムドライブ812、取り外し可能ハードドライブ又はソリッドステートドライブ813、テープ及びフロッピーディスクのようなレガシー磁気媒体、セキュリティドングルのような特別なROM/ASIC/PLDベースのデバイスのような、ヒューマンアクセス可能なストレージデバイス及びそれらの関連する媒体も含むことができる。
【0069】
当業者はまた、現在開示されている主題に関連して使用されるとき、「コンピュータ読取可能媒体」という用語が、伝送媒体、搬送波又は他の一時的信号を包含しないことも理解すべきである。
【0070】
コンピュータシステム800はまた、1つ以上の通信ネットワーク814へのインタフェース815も含むことができる。ネットワークは、例えば無線、有線、光とすることができる。ネットワーク814は更に、ローカル、ワイドエリア、メトロポリタン、車両及び産業用、リアルタイム、遅延耐性等とすることができる。ネットワーク814の例は、イーサネット(登録商標)、無線LAN等のローカルエリアネットワーク、GSM(登録商標)、3G、4G、5G、LTE等を含むセルラネットワーク、ケーブルTV、衛星TV及び地上放送TVを含むTV有線又は無線ワイドエリアデジタルネットワーク、CANbusを含む車両及び産業用等を含む。特定のネットワーク814は、一般に、特定の汎用データポート又は周辺バス816(例えばコンピュータシステム800のUSBポート等)に取り付けられる外部ネットワークインタフェースアダプタ(例えばグラフィクスアダプタ825)を必要とし、他のものは、一般に、下述されるシステムバスへの取り付けによって、コンピュータシステム800のコアに統合される(例えばPCコンピュータシステムへのイーサネット(登録商標)インタフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)。これらのネットワーク814のいずれかを使用して、コンピュータシステム800は、他のエンティティと通信することができる。このような通信は、例えばローカル又はワイドエリアデジタルネットワークを使用して、他のコンピュータシステムに対する、単方向の受信専用(例えば放送TV)、単方向の送信専用(例えば特定のCANbusから特定のCANbusデバイスへ)又は双方向であり得る。上述のように、特定のプロトコル及びプロトコルスタックを、これらのネットワーク及びネットワークインタフェースの各々において使用することができる。
【0071】
前述のヒューマンインタフェースデバイス、ヒューマンアクセス可能なストレージデバイス及びネットワークインタフェースを、コンピュータシステム800のコア817に取り付けることができる。
【0072】
コア817は、1つ以上の中央処理ユニット(CPU)818、グラフィクス処理ユニット(GPU)819、フィールドプログラマブルゲートアレイ(FPGA)820の形態の専用のプログラマブル処理ユニット、特定のタスク用のハードウェアアクセラレータ821等を含むことができる。これらのデバイスは、読取専用メモリ(ROM)823、ランダムアクセスメモリ(RAM)824、内部非ユーザアクセス可能ハードドライブ、SSD等の内部大容量ストレージ822とともに、システムバス826を通して接続され得る。いくつかのコンピュータシステムでは、システムバス826は、追加のCPU、GPU等による拡張を可能にするために、1つ以上の物理的プラグの形態でアクセス可能であり得る。周辺デバイスを、コアのシステムバス826に直接又は周辺バス816を介して取り付けることができる。周辺バスのアーキテクチャは、PCI、USB等を含む。
【0073】
CPU818、GPU819、FPGA820及びアクセラレータ821は、組み合わされて上述のコンピュータコードを構成することができる、特定の命令を実行することができる。そのコンピュータコードを、ROM823又はRAM824に記憶することができる。また、一時的なデータをRAM824に記憶することができ、一方、永久的なデータを、例えば内部大容量ストレージ822に記憶することができる。1つ以上のCPU818、GPU819、大容量ストレージ822、ROM823、RAM824等と密接に関連付けられることができるキャッシュメモリの使用を通して、メモリデバイスのいずれかに対する高速記憶及び取り出しを可能にすることができる。
【0074】
コンピュータ読取可能媒体は、様々なコンピュータ実装される動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されることができ、あるいはそれらは、コンピュータソフトウェア技術の当業者に周知でかつ利用可能な種類のものとすることができる。
【0075】
限定ではなく例として、アーキテクチャ800及び特にコア817を有するコンピュータシステムは、1つ以上の有形のコンピュータ読取可能媒体に具現化されるソフトウェアをプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が実行した結果として、機能性を提供することができる。このようなコンピュータ読取可能媒体は、上記で紹介したようなユーザアクセス可能な大容量ストレージ、並びにコア内部大容量ストレージ822又はROM823のような非一時的な性質のコア817の特定のストレージに関連付けられる媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアを、そのようなデバイスに記憶して、コア817によって実行することができる。コンピュータ読取可能媒体は、特定のニーズに従って、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア817及び特にその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM824に記憶されるデータ構造を定義することと、ソフトウェアによって定義されるプロセスに従ってそのようなデータ構造を修正することとを含む、本明細書で説明される特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、論理ハードワイヤ又は他の方法で回路(例えばアクセラレータ821)内に具現化された結果として機能性を提供することができ、これは、ソフトウェアの代わりに又はソフトウェアとともに動作して、本明細書で説明される特定のプロセス又は特定のプロセスの特定の部分を実行することができる。ソフトウェアへの言及はロジックを包含し、適切な場合にはその逆も可能である。コンピュータ読取可能媒体への参照は、実行のためのソフトウェアを記憶する回路(集積回路(IC)等)、実行のためのロジックを具体化する回路又は適切な場合にはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0076】
本開示は、いくつかの例示的な実施形態を説明しているが、本開示の範囲内にある変更、置換及び様々な代替均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないか又は説明されていないが、本開示の原理を具体化しており、よって、本開示の精神及び範囲内にある、様々システム及び方法を考案することができることが理解されよう。

図1
図2
図3
図4
図5
図6
図7
図8