(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-12
(54)【発明の名称】パケット転送方法、装置及び電子デバイス
(51)【国際特許分類】
H04L 47/56 20220101AFI20230705BHJP
H04L 41/0895 20220101ALI20230705BHJP
【FI】
H04L47/56
H04L41/0895
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022575727
(86)(22)【出願日】2020-11-27
(85)【翻訳文提出日】2022-12-08
(86)【国際出願番号】 CN2020132102
(87)【国際公開番号】W WO2022109986
(87)【国際公開日】2022-06-02
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】王 ▲イ▼
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030KA02
5K030LB05
5K030LC01
(57)【要約】
本発明の実施例は、パケット転送方法、装置及び電子デバイスを提供する。本発明の実施例において、ネットワークデバイスにおけるアウトバウンドインタフェースに対して、対応するアウトバウンドインタフェース方向キューのスケジューリング周期及びアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数とタイムスライスの長さを設定し、アウトバウンドインタフェース方向キューのスケジューリング周期においてアウトバウンドインタフェースに対応する各アウトバウンドインタフェース方向キューに対応するタイムスライスを割り当てることにより、ネットワークデバイスはアウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キューにおけるパケットをスケジューリングし、これはアウトバウンドインタフェース方向キューのスケジューリング待ち遅延が最悪遅延と最適遅延との間にあることを実現し、アウトバウンドインタフェース方向キューのスケジューリング待ち遅延の決定可能を実現し、さらにパケット転送遅延の決定可能を実現した。
【選択図】
図1
【特許請求の範囲】
【請求項1】
パケット転送方法であって、管理デバイスに適用され、前記管理デバイスは少なくとも1つのネットワークデバイスを管理するために用いられ、
ネットワークデバイスにおけるパケットを転送するためのアウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて前記アウトバウンドインタフェースに対応する1つのタイムスライスの長さを決定するステップと、
前記1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいて前記アウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定するステップであって、Mは1以上であり、前記アウトバウンドインタフェース方向キューのスケジューリング周期は前記アウトバウンドインタフェースに対応するN個のアウトバウンドインタフェース方向キューをスケジューリングするために用いられ、Nは1以上であり、異なるアウトバウンドインタフェース方向キューは異なるサービス属性に対応するステップと、
前記ネットワークデバイスに前記アウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キュー内のパケットをスケジューリングさせるように、アウトバウンドインタフェース方向キューに対応するサービス属性に基づいてアウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるステップであって、N個のアウトバウンドインタフェース方向キューに割り当てられたタイムスライスの総数はMであるステップと、を含む、
ことを特徴とするパケット転送方法。
【請求項2】
前記ネットワークデバイスにおけるパケットを転送するためのアウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて前記アウトバウンドインタフェースに対応する1つのタイムスライスの長さを決定するステップは、
前記指定パケット長に基づいて1つのタイムスライスの長さを計算するための参照値を決定するステップと、
前記参照値と、指定パケット長と、アウトバウンドインタフェースの帯域幅とに基づき、設定されたタイムスライスの長さの計算式に従って前記1つのタイムスライスの長さを決定するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記設定されたタイムスライスの長さの計算式は、
(8+Frame+IFG)*8)/Bandwidth
となり、ここで、Frameは指定パケット長であり、IFGは前記参照値であり、指定パケット長Frameが4バイトの整数倍である場合、参照値IFGは第1の値であり、そうでなければ、参照値IFGは第2の値であり、Bandwidthはアウトバウンドインタフェースの帯域幅である、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記指定パケット長は64バイトと、512バイトと、2Kバイトと、1518バイトとのいずれかである、
ことを特徴とする請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいて前記アウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定するステップは、
前記指定された1ホップの遅延と前記1つのタイムスライスの長さとの商を計算するステップと、
前記商が2
xであり、前記xがいずれかの正の整数であれば、前記商が前記Mであると決定し、
前記商が2
xでなければ、前記商に最も近い2
kを決定し、2
kが前記Mであると決定するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記アウトバウンドインタフェース方向キューに対応するサービス属性に基づいてアウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるステップは、
各アウトバウンドインタフェース方向キューに対し、
当該アウトバウンドインタフェース方向キューに対応するサービス属性に基づいて当該アウトバウンドインタフェース方向キューに対応する遅延要求を取得するステップであって、前記遅延要求は要求された目標遅延を含むステップと、
当該アウトバウンドインタフェース方向キューに配置された最大転送ユニットMTUを取得するステップと、
取得した遅延要求及び前記MTUに基づいて当該アウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記取得した遅延要求及び前記MTUに基づいて当該アウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるステップは、
前記目標遅延が所定の遅延閾値以下である場合、
前記MTUが指定パケット長以下であれば、アウトバウンドインタフェース方向キューのスケジューリング周期における前記目標遅延で区切られたタイムスライスを当該アウトバウンドインタフェース方向キューに割り当て、
前記MTUが指定パケット長より大きければ、アウトバウンドインタフェース方向キューのスケジューリング周期における前記目標遅延で区切られたタイムスライスグループを当該アウトバウンドインタフェース方向キューに割り当てるステップであって、各タイムスライスグループは隣接するL個のタイムスライスを含み、Lは前記MTUに占有されたタイムスライスの数であるステップを含み、
前記目標遅延が所定の遅延閾値より大きい場合、
前記MTUが指定パケット長以下であれば、アウトバウンドインタフェース方向キューのスケジューリング周期におけるP1個のタイムスライスを当該アウトバウンドインタフェース方向キューに割り当て、
前記MTUが指定パケット長より大きければ、アウトバウンドインタフェース方向キューのスケジューリング周期におけるP2個のタイムスライスグループを当該アウトバウンドインタフェース方向キューに割り当てるステップであって、
ここで、P1は1以上であり、P1が1より大きい場合、当該P1個のタイムスライスは分散しており、
P2は1以上であり、P2が1より大きい場合、当該P2個のタイムスライスグループは分散しており、各タイムスライスグループは隣接するL個のタイムスライスを含み、Lは前記MTUに占有されたタイムスライスの数であるステップを含む、
ことを特徴とする請求項6に記載の方法。
【請求項8】
アクセスした端末から送信されたパケットを前記ネットワークデバイスが転送する前に、さらに、
前記パケットを転送するための転送経路を決定するステップと、
前記ネットワークデバイスが付加されたセグメントルーティングのSRヘッダに前記転送経路における各ホップの目標アウトバウンドインタフェースと、目標アウトバウンドインタフェースに対応し且つ前記パケットにマッチングするサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子と、目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子とを追加して、前記転送経路における前記パケットを受信した他のネットワークデバイスに前記SRヘッダに追加された目標アウトバウンドインタフェースと、目標アウトバウンドインタフェース方向キューの識別子と、目標タイムスライスの識別子とに基づいてパケットを転送することを指示するように、前記転送経路における各ホップの目標アウトバウンドインタフェースと、目標アウトバウンドインタフェースに対応し且つ前記パケットにマッチングするサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子と、目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子とを前記ネットワークデバイスに通知するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項9】
パケット転送方法であって、ネットワークデバイスに適用され、
本ネットワークデバイスにおけるアウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを取得するステップであって、前記Mは前記アウトバウンドインタフェースに対応する1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいて決定され、前記1つのタイムスライスの長さは前記アウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて決定され、前記アウトバウンドインタフェース方向キューのスケジューリング周期は前記アウトバウンドインタフェースに対応するN個のアウトバウンドインタフェース方向キューをスケジューリングするために用いられ、異なるアウトバウンドインタフェース方向キューは異なるサービス属性に対応し、Nは1以上であるステップと、
管理デバイスによってアウトバウンドインタフェース方向キューに割り当てられた前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを取得し、前記アウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キューにおけるパケットをスケジューリングするステップであって、N個のアウトバウンドインタフェース方向キューに割り当てられたタイムスライスの総数はMであるステップと、を含む、
ことを特徴とするパケット転送方法。
【請求項10】
前記ネットワークデバイスにアクセスした端末から送信された第1のパケットを受信するステップと、
前記第1のパケットに、前記第1のパケットを転送するための第1の転送経路における各ホップの目標アウトバウンドインタフェースと、目標アウトバウンドインタフェースに対応し且つ第1のパケットにマッチングする第1のサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子と、目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子とを含むセグメントルーティングのSRヘッダを付加するステップであって、前記SRヘッダに含まれる第1の転送経路における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェース方向キューの識別子、及び目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子は、第1の転送経路における前記第1のパケットを受信した他のネットワークデバイスに前記SRヘッダにおける目標アウトバウンドインタフェース、目標アウトバウンドインタフェース方向キューの識別子、及び目標タイムスライスの識別子に基づいて第1のパケットを転送することを指示するために用いられるステップと、をさらに含む、
ことを特徴とする請求項9に記載の方法。
【請求項11】
他のネットワークデバイスに転送された第2のパケットを受信するステップであって、第2のパケットに付加されたSRヘッダは、第2のパケットを転送するための第2の転送経路における各ホップの目標アウトバウンドインタフェースと、目標アウトバウンドインタフェースに対応し且つ第2のパケットにマッチングする第2のサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子と、目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子と、を含むステップと、
第2のパケットに付加されたSRヘッダから本ネットワークデバイスのローカルに属するローカル目標アウトバウンドインタフェースと、ローカル目標アウトバウンドインタフェースに対応する目標アウトバウンドインタフェース方向キューの識別子とを取得するステップと、
取得した目標アウトバウンドインタフェース方向キューの識別子に対応する目標アウトバウンドインタフェース方向キューにおけるパケット数が所定のパケット数の閾値以上である場合、前記第2の転送経路における最初のネットワークデバイスに輻輳通知を送信して、前記最初のネットワークデバイスにこれから前記第2の転送経路を介して前記第2のサービス属性にマッチングする他のパケットを転送することを抑制させるステップと、
検出された前記目標アウトバウンドインタフェース方向キューにおけるパケット数が前記所定のパケット数の閾値以上から所定のパケット数の閾値未満に更新された場合、前記最初のネットワークデバイスに輻輳解消通知を送信して、前記最初のネットワークデバイスにこれから前記第2の転送経路を介して前記第2のサービス属性にマッチングする他のパケットを転送させるステップと、を含む、
ことを特徴とする請求項9に記載の方法。
【請求項12】
電子デバイスであって、機械可読記憶媒体と、プロセッサとを含み、
機械可読記憶媒体は命令コードを記憶しており、
プロセッサは、機械可読記憶媒体と通信し、前記機械可読記憶媒体における命令コードを読み取り、実行することによって請求項1~11のいずれか一項に記載の方法を実施する、
ことを特徴とする電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク通信技術に関し、特にパケット転送方法、装置及び電子デバイスに関する。
【背景技術】
【0002】
デターミニスティック・ネットワークの中心的な目的の1つは、パケット転送の遅延を決定可能にすることであり、それによってエンドツーエンドの遅延を保障する。現在のネットワークにおいて、パケットはいずれもルータによりストアアンドフォワード・メカニズムに従って転送され、それは帯域幅の利用率を向上させることができる。
【0003】
しかしながら、現在のストアアンドフォワード・メカニズムはパケットの転送のみを重視しており、パケット転送の遅延に対して十分に考慮していないため、遅延が決定可能であるという要件を満たすことが困難であり、エンドツーエンドの遅延を保障することもできない。
【図面の簡単な説明】
【0004】
【
図1】本発明の実施例が提供する方法のフローチャートである。
【
図2】本発明の実施例が提供するステップ101の実現フローチャートである。
【
図3】本発明の実施例が提供するステップ102の実現フローチャートである。
【
図4】本発明の実施例が提供するステップ103の実現フローチャートである。
【
図5】本発明の実施例が提供する別の方法のフローチャートである。
【
図6】本発明の実施例が提供するパケット転送のフローチャートである。
【
図7】本発明の実施例が提供する別のパケット転送のフローチャートである。
【
図8】本発明の実施例が提供する装置の構成図である。
【
図9】本発明の実施例が提供する別の装置の構成図である。
【
図10】本発明の実施例が提供する装置のハードウェア構成図である。
【発明を実施するための形態】
【0005】
ここで、例示的な実施例を詳細に説明し、その例を図面に示す。以下の説明が図面に関連する場合、特に断りのない限り、異なる図面における同一の数字は同一又は類似の要素を示す。以下の例示的な実施例に記載される実施形態は、本発明と一致する全ての実施形態を表すものではない。むしろ、それらは添付の特許請求の範囲に詳述されるような、本発明のいくつかの態様と一致する装置及び方法の単なる例である。
【0006】
本発明に使用される用語は、特定の実施例を説明することのみに目的があり、本発明を限定するものではない。本発明及び添付の特許請求の範囲で使用される単数形の「1つ」、「前記」及び「当該」は、文脈において他の意味が明確に示されない限り、複数形も含むことを意図している。また、本明細書で使用される用語の「及び/又は」は、1つ又は複数の関連する列挙項目の可能な組み合わせのいずれか又は全てを指すこと、又は包含することを意味していることを理解されたい。
【0007】
なお、本発明において、第1、第2、第3などの用語を用いて各種類の情報を説明する可能性があるが、これらの情報はこれらの用語に限定されるものではない。これらの用語は、同じ種類の情報を互いに区別するためにのみ使用される。例えば、本発明の範囲から逸脱することなく、第1の情報は第2の情報と呼ばれてもよく、同様に、第2の情報は第1の情報と呼ばれてもよい。文脈に応じて、「…と」という用語は、「…時」又は「…場合」又は「…に応じて」と解釈されてもよい。
【0008】
本発明をより理解しやすくするために、以下はまずパケットの転送過程において発生する可能性のある遅延について説明する。
【0009】
インバウンドパケットの処理遅延は、主にパケットヘッダ識別、パケットテーブルルックアップ等のインバウンドパケットの処理ロジック上の遅延を表現し、上記インバウンドパケットの処理ロジックを実行するソフトウェア又はハードウェア自体の性能によって決定される。具体的に実現する際に、上記インバウンドパケットの処理ロジックを実行するソフトウェア又はハードウェアが決定すると、それに対応してインバウンドパケットの処理遅延も決定する。換言すれば、ここでのインバウンドパケットの処理遅延は固定値である。
【0010】
アウトバウンドインタフェースリンクへのパケット送信遅延は、主にリンク速度の影響による、アウトバウンドインタフェースに接続されているリンクへのパケット送信遅延を表現し、アウトバウンドインタフェースの帯域幅により決定される。具体的に実現する際に、アウトバウンドインタフェースの帯域幅は予め設定されており、それに対応して、アウトバウンドインタフェースに接続されているリンクへのパケット送信遅延もアウトバウンドインタフェースの予め設定された帯域幅に基づいて決定できる。換言すれば、ここでのアウトバウンドインタフェースに接続されているリンクへのパケット送信遅延は固定値である。
【0011】
始点から終点までのパケット伝送遅延は、主にパケットを始点から終点まで伝送する際に、距離による伝送遅延を表現し、伝送距離、伝送速度等の物理的特性によって決定される。具体的に実現する際に、始点から終点までのパケット伝送遅延は固定値である。
【0012】
アウトバウンドインタフェース方向キューのスケジューリング待ち遅延は、主にパケットがアウトバウンドインタフェース方向キューに入れられてから、パケットがアウトバウンドインタフェース方向キューからスケジューリングされて転送されるまでの遅延を表現する。当該遅延が発生するのは、パケットを受信し且つ当該パケットに対してルーティングを完了した後に直ちに当該パケットを送信することができないためである。当該パケットを直ちに送信することができないのは、すでに送信待ちの他のパケットがキューの前にあり、前の他のパケットの送信が終了するまで待つ必要があるためである。この他のパケットの送信が終了するまでの待ち時間は予測できないため、ここでのアウトバウンドインタフェース方向キューのスケジューリング待ち遅延も予測できない。アウトバウンドインタフェース方向キューのスケジューリング待ち遅延が予測できないと、パケット転送遅延も決定できず、デターミニスティック・ネットワークが実現できない。
【0013】
上記アウトバウンドインタフェース方向キューのスケジューリング待ち遅延を決定するために、本発明の実施例は以下の
図1に示すフローを提供する。
【0014】
図1を参照すると、
図1は本発明の実施例が提供する方法のフローチャートである。当該フローは管理デバイスに適用される。ここでの管理デバイスは、少なくとも1つのネットワークデバイスを管理するために用いられる。オプションで、ここでの管理デバイスはSDNコントローラであってもよく、それに対応して、上記ネットワークデバイスは、例えば、SDNスイッチなどのSDNデバイスであってもよく、本実施例は特に限定しない。
【0015】
図1に示すように、当該フローは以下のステップを含み得る。
【0016】
ステップ101において、ネットワークデバイスにおけるパケットを転送するためのアウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて当該アウトバウンドインタフェースに対応する1つのタイムスライスの長さを決定する。
【0017】
オプションで、ここでのアウトバウンドインタフェースは上流側のデバイス又はネットワークに接続されたインタフェース(ネットワーク側インタフェースと呼んでもよい)であってもよい。
【0018】
タイムスライスは本発明の実施例に導入される新たな概念であり、タイムスライスを導入するのは、上記アウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期を細分化するためであり、具体的にはステップ102の説明のとおりである。どのようにしてタイムスライスの長さを決定するかについて、以下に例を挙げて説明し、ここで説明を省略する。
【0019】
ステップ102において、1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいて上記アウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定する。
【0020】
オプションで、アウトバウンドインタフェース方向キューのスケジューリング周期は、上記アウトバウンドインタフェースに対応するN個のアウトバウンドインタフェース方向キューをスケジューリングするために用いられる。Nは1以上であり、具体的には、上記ネットワークデバイスの性能に基づいて決定されてもよい。ここで、各アウトバウンドインタフェース方向キューにおけるパケットはいずれも上記アウトバウンドインタフェースによって転送される。一例では、異なるアウトバウンドインタフェース方向キューは異なるサービス属性に対応する。一実施例として、上記サービス属性はサービスの1つの転送等価クラス(5タプルで実現されてもよく、ここでの5タプルはソースIPアドレス、宛先IPアドレス、ソースポート、宛先ポート、プロトコルタイプTCP/UDPによって表されてもよい)であってもよいし、例えば音声サービス、ビデオサービスなどのサービス自体の種別であってもよく、本実施例は特に限定しない。
【0021】
一実施例として、上記N個のアウトバウンドインタフェース方向キューはリザーブキュー(reserved queue)を含まない。この場合、オプションで、N個のアウトバウンドインタフェース方向キューは、同一アウトバウンドインタフェース方向キューは同じサービス属性に対応するという要件を満たす。ここで、リザーブキューはベストエフォート(Best Effort)キューであってもよい。Best Effortキューはいつでも任意の数のパケットを送信することができ、帯域幅、遅延、ジッタ及び信頼性などを保証しない。
【0022】
別の実施例として、上記N個のアウトバウンドインタフェース方向キューは少なくとも1つのリザーブキューを含み得る。この場合、オプションで、N個のアウトバウンドインタフェース方向キューにおけるリザーブキュー以外のキューは、同一アウトバウンドインタフェース方向キューは同じサービス属性に対応するという要件を満たす。リザーブキューについて、それは上記要件に制限されなくてもよい。
【0023】
上記ステップ101で1つのタイムスライスの長さが決定されると、ステップ102に記載のように、決定された1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいてアウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定する。このように、アウトバウンドインタフェース方向キューのスケジューリング周期は決定できる。どのようにして決定された1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいてアウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定するかについて以下に例を挙げて説明し、ここで説明を省略する。なお、上記指定された1ホップの遅延も現在許容可能な1ホップの最長遅延であり、それは実際の状況に応じて設定され、例えば1ms、100us等に設定することができ、本発明の実施例は特に限定しない。
【0024】
ステップ103において、前記ネットワークデバイスに前記アウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キュー内のパケットをスケジューリングさせるように、アウトバウンドインタフェース方向キューに対応するサービス属性に基づいてアウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てる。
【0025】
本ステップ103において、各アウトバウンドインタフェース方向キューに対応するサービス属性に基づいて各アウトバウンドインタフェース方向キューに対応するタイムスライスを割り当てる。最終的に、N個のアウトバウンドインタフェース方向キューに割り当てられたタイムスライスの総数はMであり、すなわちN個のアウトバウンドインタフェース方向キューはM個のタイムスライスを占有する。なお、リザーブキューの特殊性に鑑み、上記N個のアウトバウンドインタフェース方向キューは少なくとも1つのリザーブキューを含む場合に、まずN個のアウトバウンドインタフェース方向キューにおけるリザーブキュー以外のキューにタイムスライスを割り当て、割り当て完了後に残りのタイムスライスがあれば、残りのタイムスライスをリザーブキューに割り当ててもよく、そうでなければ、タイムスライスをリザーブキューに割り当てなくてもよい。
【0026】
オプションで、リザーブキューはいつでも、任意の数のパケットを送信することができるため、タイムスライスが割り当てられたか否かにかかわらず、実際の状況に応じてタイムスライスが割り当てられたアウトバウンドインタフェース方向キューに対応するタイムスライス内に送信することができ、例えば、1つのタイムスライスには、対応するアウトバウンドインタフェース方向キューにおけるパケットを送信した後に残り時間があり、この時、当該残り時間内に当該リザーブキューにおけるパケットを送信してもよい。また例えば、1つのタイムスライスには、対応するアウトバウンドインタフェース方向キューにおける1つのパケットを送信した後に残り時間があり、この時、当該残り時間は当該アウトバウンドインタフェース方向キューにおける次のパケットの送信に十分ではない場合、当該残り時間内に当該リザーブキューにおけるパケットを送信してもよい。
【0027】
オプションで、NとMが等しく、N、Mの値が10であることを例とすると、ステップ103に基づき、10個のアウトバウンドインタフェース方向キューに割り当てられたタイムスライスは表1に示すとおりである。
【表1】
【0028】
上記表1に基づき、ネットワークデバイスは上記アウトバウンドインタフェース方向キューのスケジューリング周期内にパケットをスケジューリングする場合、アウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キューにおけるパケットをスケジューリングする。上記のようなスケジューリング方式には、最良の結果として、パケットがアウトバウンドインタフェース方向キューに入ったばかり、ちょうど今回のアウトバウンドインタフェース方向キューのスケジューリング周期における現在のタイムスライスにおいてこのアウトバウンドインタフェース方向キューにおける当該パケットが送信され、このとき当該パケットがアウトバウンドインタフェース方向キューのスケジューリング待ち遅延が最も小さく(最適遅延と記す)、例えばデフォルトで0であってもよい。最悪の結果として、パケットがアウトバウンドインタフェース方向キューに入ったばかり、この時は当該アウトバウンドインタフェース方向キューに対応するタイムスライスがちょうど経ったところであり、当該パケットは次のアウトバウンドインタフェース方向キューのスケジューリング周期を待つ必要があり、このとき当該パケットがアウトバウンドインタフェース方向キューのスケジューリング待ち遅延が最も長く(最悪遅延と記す)、「1つのアウトバウンドインタフェース方向キューのスケジューリング周期」である。タイムスライスの長さが1msであり、1つのアウトバウンドインタフェース方向キューのスケジューリング周期Tは10個のタイムスライスを有する(すなわち1つのアウトバウンドインタフェース方向キューのスケジューリング周期Tは10msである)とすると、ここでの最悪遅延は10msである。すなわち、最悪遅延の長さは、タイムスライスの長さ*1つのアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数によって決定される。上記説明に基づいてアウトバウンドインタフェース方向キューのスケジューリング待ち遅延が最悪遅延と最適遅延との間にあることが大まかに決定できる。これはアウトバウンドインタフェース方向キューのスケジューリング待ち遅延の決定可能を実現した。上記パケットの転送過程において発生する可能性のある遅延の説明に基づき、本実施例は最終的に遅延の決定可能を実現した。
【0029】
【0030】
上記
図1に示すフローから分かるように、本発明の実施例はネットワークデバイス上のアウトバウンドインタフェースに対して、対応するアウトバウンドインタフェース方向キューのスケジューリング周期、及びアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数とタイムスライスの長さを設定し、アウトバウンドインタフェース方向キューのスケジューリング周期内で、アウトバウンドインタフェースに対応する各アウトバウンドインタフェース方向キューに、対応するタイムスライスを割り当てることにより、ネットワークデバイスはアウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キューにおけるパケットをスケジューリングし、これはアウトバウンドインタフェース方向キューのスケジューリング待ち遅延が上記の最悪遅延と最適遅延との間にあることを実現し、アウトバウンドインタフェース方向キューのスケジューリング待ち遅延の決定可能を実現し、さらにパケット転送遅延の決定可能を実現した。
【0031】
以下、上記ステップ101においてどのようにしてネットワークデバイスにおけるパケットを転送するためのアウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて前記アウトバウンドインタフェースに対応する1つのタイムスライスの長さを決定するかについて説明する。
【0032】
オプションで、本実施例において、1つのタイムスライスの長さの設計には、まずパケットの長さを考慮する必要がある。いずれかのタイムスライスには、当該タイムスライス内に伝送されるパケットの長さが固定されたものである。ただし、IPネットワークにおいて、IPパケットは可変長パケットであり、それはいずれかのタイムスライス内に伝送されるパケットの長さが固定されたものであることが不可能である。このような状況に対し、本発明の実施例は実際のニーズに応じてパケットの長さを指定してもよく、例えば指定パケット長を64バイト(Bytes)、512Bytes、1518Bytes、2KBytesとする。
【0033】
以上設定された指定パケット長に基づき、上記ネットワークデバイスにおけるパケットを転送するためのアウトバウンドインタフェースの帯域幅及び指定パケット長に基づいてアウトバウンドインタフェースに対応する1つのタイムスライスの長さを決定することは
図2に示すフローを含み得る。
【0034】
図2を参照すると、
図2は本発明の実施例が提供するステップ101の実現フローチャートである。
図2に示すように、当該フローは以下のステップを含み得る。
【0035】
ステップ201において、前記指定パケット長に基づいて1つのタイムスライスの長さを計算するための参照値(IFG)を決定する。
【0036】
オプションで、ここでの参照値IFGは、指定パケット長が4バイトの整数倍である場合、例えば、指定パケット長が64バイト、512バイト、1518バイト、2Kバイトなどであれば、第1の値としてもよく、例えば、12とし、そうでなければ、第2の値としてもよく、例えば12以外の他の値とする。
【0037】
ステップ202において、前記参照値、指定パケット長及びアウトバウンドインタフェースの帯域幅に基づき、設定されたタイムスライスの長さの計算式に従って前記1つのタイムスライスの長さを決定する。
【0038】
オプションで、上記設定されたタイムスライスの長さの計算式は以下の式1であってもよい。
(8+Frame+IFG)*8)/Bandwidth (式1)
ここで、Frameは指定パケット長である。IFGは以上説明したとおりであり、ここで説明を省略する。Bandwidthはアウトバウンドインタフェースの帯域幅である。
【0039】
以下はアウトバウンドインタフェースの帯域幅が10Gのイーサネットを例として異なる指定パケット長の下での1つのタイムスライスの長さを表2に示す。
【表2】
【0040】
以下はさらにアウトバウンドインタフェースの帯域幅が100Gのイーサネットを例として異なる指定パケット長の下での1つのタイムスライスの長さを表3に示す。
【表3】
【0041】
【0042】
図2に示すフローにより、どのようにしてネットワークデバイスにおけるパケットを転送するためのアウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて前記アウトバウンドインタフェースに対応する1つのタイムスライスの長さを決定するかを実現した。なお、
図2に示すフローは一例であり、限定するためのものではない。
【0043】
以下は
図3に示すフローによって上記ステップ102においてどのようにして1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいて前記アウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定するかについて説明する。
【0044】
図3を参照すると、
図3は本発明の実施例が提供するステップ102の実現フローチャートである。
図3に示すように、当該フローは以下のステップを含み得る。
【0045】
ステップ301において、前記指定された1ホップの遅延と前記1つのタイムスライスの長さとの商を計算する。
【0046】
オプションで、上記ステップ301は下記式2により表されてもよい。
指定された1ホップの遅延/1つのタイムスライスの長さ (式2)
例えば、指定された1ホップの遅延は1msであり、1つのタイムスライスの長さは0.4256usであれば、上記ステップ301で得られた商は1000us/0.4256us=2349である。また、例えば、指定された1ホップの遅延は1msであり、1つのタイムスライスの長さは0.04256usであれば、上記ステップ301で得られた商は1000us/0.04256us=23496である。
【0047】
デジタル回路に適用するために、オプションで、上記アウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mは一般的に2xに等しい必要があり、ここでxはいずれかの正の整数であってもよい。これに基づき、本実施例は上記ステップ301で得られた商及び2xにより上記アウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定してもよく、具体的には以下のステップ302の説明を参照する。
【0048】
ステップ302において、上記商が2xであり、xがいずれかの正の整数であれば、上記商が上記Mであると決定し、上記商が2xでなければ、上記商に最も近い2kを決定し、2kが上記Mであると決定する。
【0049】
例えば、以上得られた商が2349であれば、2349に最も近い2048(211)を上記Mとして選択してもよい。また,例えば、以上得られた商が23496であれば、23496に最も近い16384(214)を上記Mとして選択してもよい。
【0050】
【0051】
図3に示すフローによって最終的に上記アウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定することを実現した。それに対応して、各アウトバウンドインタフェース方向キューのスケジューリング周期の長さはM個のタイムスライスの長さである。
【0052】
以下は
図4に示すフローによって上記ステップ103においてどのようにしてアウトバウンドインタフェース方向キューに対応するサービス属性に基づいてアウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるかについて説明する。
【0053】
図4を参照すると、
図4は本発明の実施例が提供するステップ103の実現フローチャートである。
図4に示すように、当該フローは以下のステップを含み得る。
【0054】
ステップ401において、各アウトバウンドインタフェース方向キューに対し、当該アウトバウンドインタフェース方向キューに対応するサービス属性に基づいて当該アウトバウンドインタフェース方向キューに対応する遅延要求を取得し、前記遅延要求は要求された目標遅延を含む。
【0055】
適用する際に、1つのアウトバウンドインタフェース方向キューは1種類のサービス(サービス属性に対応)に対応し、当該種類のサービスに対して、当該種類のサービスの特徴に基づいて対応する遅延要求を設定する。ここで、サービスの遅延に対する要求が高い場合、対応する遅延要求における目標遅延は比較的小さく、逆に、サービスの遅延に対する要求が高くない場合、対応する遅延要求における目標遅延は比較的大きい。
【0056】
ステップ402において、当該アウトバウンドインタフェース方向キューに配置された最大転送ユニット(MTU:Maximum Transmission Unit)を取得する。
【0057】
以上説明したように、1つのアウトバウンドインタフェース方向キューは1種類のサービス(サービス属性に対応)に対応し、当該種類のサービスに対し、当該サービスの本発明の実際のニーズに基づいてMTUを配置し、それによってサービスフローの詰まりを防止する。
【0058】
ステップ403において、取得した遅延要求及び上記MTUに基づき、当該アウトバウンドインタフェース方向キューに上記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てる。
【0059】
オプションで、本ステップ403は具体的に実現される際に、パケットの分割を回避し且つサービスに要求された遅延を満たすという原則に従って実行してもよい。例えば、一例では、アウトバウンドインタフェース方向キューに対し、当該アウトバウンドインタフェース方向キューに配置されたMTUが上記指定パケット長より大きい場合、1つのアウトバウンドインタフェース方向キューのスケジューリング周期内に当該アウトバウンドインタフェース方向キューに複数の連続したタイムスライスを割り当ててもよく、それによってサービスの比較的大きな最大パケット長に対する要求を満たし、パケットの分割と再構成を回避する。また、例えば、アウトバウンドインタフェース方向キューに対し、当該アウトバウンドインタフェース方向キューに設定された遅延要求が比較的高い場合、例えば、要求された目標遅延が非常に小さい場合、1つのアウトバウンドインタフェース方向キューのスケジューリング周期内に複数の分散したタイムスライスを当該アウトバウンドインタフェース方向キューに割り当ててもよく、それによってより高く、より均一な遅延を取得する。
【0060】
これに基づき、上記ステップ403は具体的に実現される際に以下の状況を含み得る。
【0061】
状況1において、当該アウトバウンドインタフェース方向キューの遅延要求は比較的高く(当該アウトバウンドインタフェース方向キューに要求された目標遅延が所定の遅延閾値以下であることにより表現される)、且つ当該アウトバウンドインタフェース方向キューに配置されたMTUは上記指定パケット長以下であれば、1つのアウトバウンドインタフェース方向キューのスケジューリング周期における上記目標遅延で区切られたタイムスライスを当該アウトバウンドインタフェース方向キューに割り当ててもよい。例えば表4に示すキュー1の遅延要求は比較的高く、それに要求された目標遅延は所定の遅延閾値以下であり、表4に示すように、1つのアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライス1、タイムスライス7、タイムスライス16等をキュー1に割り当ててもよく、それによってキュー1に要求された遅延を満たす。
【表4】
【0062】
状況2において、当該アウトバウンドインタフェース方向キューの遅延要求は比較的高く(当該アウトバウンドインタフェース方向キューに要求された目標遅延が所定の遅延閾値以下であることにより表現される)、且つ当該アウトバウンドインタフェース方向キューに配置されたMTUは上記指定パケット長より大きい場合、1つのアウトバウンドインタフェース方向キューのスケジューリング周期における上記目標遅延で区切られたタイムスライスグループを当該アウトバウンドインタフェース方向キューに割り当ててもよい。ここで、タイムスライスグループは隣接するL個のタイムスライスを含み、Lは当該アウトバウンドインタフェース方向キューに配置されたMTUが占有するタイムスライスの数である。例えば、表5に示すキュー1の遅延要求は比較的高く、それに要求された目標遅延は所定の遅延閾値以下であるが、キュー1に配置されたMTUは上記指定パケット長より大きい場合、例えば上記指定パケット長の4倍である場合、表5に示すように、1つのアウトバウンドインタフェース方向キューのスケジューリング周期における上記目標遅延で区切られたタイムスライスグループ(連続した4つのタイムスライスを含む)を当該キュー1に割り当ててもよく、それによってキュー1におけるパケットを分割せずに、キュー1に要求された遅延を満たす。
【表5】
【0063】
状況3において、当該アウトバウンドインタフェース方向キューの遅延要求は比較的高くなく(当該アウトバウンドインタフェース方向キューに要求された目標遅延が所定の遅延閾値より大きいことにより表現される)、且つ当該アウトバウンドインタフェース方向キューに配置されたMTUは上記指定パケット長より小さい場合、1つのアウトバウンドインタフェース方向キューのスケジューリング周期におけるP1個のタイムスライスを当該アウトバウンドインタフェース方向キューに割り当ててもよい。ここで、P1は1以上である。一般的な場合には、P1は1に等しい。他の場合には、P1が1より大きいと、当該P1個のタイムスライスは同一のアウトバウンドインタフェース方向キューのスケジューリング周期内においては互いに分散している。P1が1であることを例として、上記表1に同一のアウトバウンドインタフェース方向キューのスケジューリング周期内において各アウトバウンドインタフェース方向キューに対応するタイムスライスを割り当てることを例示する。
【0064】
状況4において、当該アウトバウンドインタフェース方向キューの遅延要求は比較的高くなく(当該アウトバウンドインタフェース方向キューに要求された目標遅延が所定の遅延閾値より大きいことにより表現される)、且つ当該アウトバウンドインタフェース方向キューに配置されたMTUは上記指定パケット長より大きい場合、1つのアウトバウンドインタフェース方向キューのスケジューリング周期におけるP2個のタイムスライスグループを当該アウトバウンドインタフェース方向キューに割り当ててもよい。ここで、タイムスライスグループは隣接するL個のタイムスライスを含み、Lは当該アウトバウンドインタフェース方向キューに配置されたMTUが占有するタイムスライスの数である。一般的な場合には、P2は1に等しい。他の場合には、P2が1より大きいと、当該P2個のタイムスライスグループは同一のアウトバウンドインタフェース方向キューのスケジューリング周期内においては互いに分散している。P2が1であることを例として、例えば、表6に示すキュー1の遅延要求は高くなく、それに要求された目標遅延は所定の遅延閾値より大きいが、キュー1に配置されたMTUは上記指定パケット長より大きく、例えば、上記指定パケット長の4倍である場合、表6に示すように、1つのアウトバウンドインタフェース方向キューのスケジューリング周期における1つのタイムスライスグループ(連続した4つのタイムスライスを含む)を当該キュー1に割り当ててもよく、それによってキュー1におけるパケットを分割しない。
【表6】
【0065】
以上は4つの状況により上記ステップ103においてどのようにして取得した遅延要求及び前記MTUに基づいて当該アウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるかについて例を挙げて説明した。なお、上記4つの状況は単なる例であり、限定するものではない。
【0066】
以上説明したように、ネットワークデバイスにおけるアウトバウンドインタフェースに対応する1つのアウトバウンドインタフェース方向キューのスケジューリング周期において、当該アウトバウンドインタフェースに対応する各アウトバウンドインタフェース方向キューに、対応するタイムスライスを割り当てた後、ネットワークデバイスは、次に各アウトバウンドインタフェース方向キューをスケジューリングする時、タイムスライスに従ってスケジューリングすることができる。上記表6に示すように、1つのアウトバウンドインタフェース方向キューのスケジューリング周期内において、ネットワークデバイスはタイムスライス1、タイムスライス2、タイムスライス3、タイムスライス4の4つのタイムスライス内でキュー1をスケジューリングし、タイムスライス5でキュー2をスケジューリングすることができ、以下同様である。なお、いずれか1つのキューをスケジューリングする時、当該キューに対応するタイムスライス内の残り時間が当該キューにおける次のパケットの送信に十分ではない場合、当該残り時間内にすでに配置されたリザーブキューにおけるパケットを送信してもよい。
【0067】
以上
図1から
図4に示すフローの説明に基づき、ネットワークデバイスがパケットを受信してからパケットを送信するまでの遅延(1ホップ当たりの遅延とも呼ばれる)を最終的に予測することができる。転送経路における各ネットワークデバイスの1ホップ当たりの遅延を加算すると、エンドツーエンド遅延を得ることができる。上記転送経路はエンドツーエンド遅延を保証する経路と呼ばれてもよい。
【0068】
さらに、本実施例において、オプションで、上記管理デバイスは、ネットワークデバイスが当該ネットワークデバイスにアクセスした端末から送信されたパケットを転送する前に、当該パケットの対応する転送経路を決定してもよい。オプションで、ここで、ネットワークデバイスはアクセスした端末から送信されたパケットを受信した時に上記管理デバイスに経路リクエストを送信してもよく、それによってアクセスした端末から送信されたパケットを本ネットワークデバイスが受信したことを指示し、管理デバイスに本ネットワークデバイスが受信したパケットに対応する転送経路を決定することをリクエストし、このように、管理デバイスは配置された経路スケジューリングアルゴリズムに基づいて当該パケットに対応する転送経路を決定してもよい。ここで、転送経路を決定する具体的な形態について、本実施例において特に限定しない。
【0069】
パケットに対応する転送経路を決定した後、オプションで、上記管理デバイスはさらに転送経路における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェースに対応する目標アウトバウンドインタフェース方向キュー(さらにパケットにマッチングするサービス属性に対応する)の識別子及び目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子を上記ネットワークデバイスに通知してもよい。一実施例として、ネットワークデバイスは管理デバイスから送信された上記転送経路における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェースに対応する目標アウトバウンドインタフェース方向キューの識別子、及び目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子を受信した後、パケットに付加されたセグメントルーティング(SR:Segment Routing)ヘッダに上記転送経路における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェース方向キューの識別子、及び目標タイムスライスの識別子を追加する。表7はSRヘッダに追加される情報を例示する。
【表7】
【0070】
オプションで、上記ネットワークデバイスはパケットのSRヘッダに上記転送経路における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェース方向キューの識別子、及び目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子を追加することは、転送経路における当該パケットを受信した他のネットワークデバイスに、直接にSRヘッダに追加された目標アウトバウンドインタフェース、目標アウトバウンドインタフェース方向キューの識別子、及び目標タイムスライスの識別子に基づいてパケットを転送することを指示し、テーブルを改めてルックアップルする必要がなく、遅延を保証することに目的がある。オプションで、上記パケットの転送過程において上記転送経路が変化すると、この時に当該転送経路に沿って転送されているパケットに対し、パケットに付加されたSRヘッダ内の情報が修正できないため、直接に従来のルーティングに従って当該パケットを転送してもよい。
【0071】
本実施例では、各アウトバウンドインタフェース方向キューの大きさに制限がある。ここで、アウトバウンドインタフェース方向キューの大きさはアウトバウンドインタフェース方向キューにおけるパケットを格納するためのバッファBufferの数によって表現してもよい。1つのBufferは1つのパケットを格納する。アウトバウンドインタフェース方向キューが最大Z個のBufferをサポートすると、アウトバウンドインタフェース方向キューが最大Z個のパケットを収容することを表してもよい。一実施例として、1つのアウトバウンドインタフェース方向キューにおけるbufferの数は実際の需要に応じて設定してもよく、例えば、許容可能なパケットバッファ時間、許容可能な伝送遅延に基づいて決定される。以下の式3は1つのアウトバウンドインタフェース方向キューにおけるbufferの数を例示する。
bufferの数=B1+2*RTTに伝送されるパケットの数B2 (式3)
ここで、B1は許容可能なパケットバッファ時間に対応するパケットの数を表す。ここで、許容可能なパケットバッファ時間はサービスが許可する待ち時間に基づいて決定されてもよい。RTTは許容可能な伝送遅延を表し、伝送距離及びアウトバウンドインタフェースの帯域幅に基づいて決定されてもよく、例えばタイムセンシティブ(Time-sensitive)サービスに対し、RTTは上記最大の1ホップの遅延(すなわち1つのアウトバウンドインタフェース方向キューのスケジューリング周期)*Nによって決定されてもよく、Nは上記アウトバウンドインタフェース方向キューの数である。
【0072】
オプションで、本実施例において、上記転送経路におけるいずれかのデバイスについて、パケットを受信した時に、パケットに付加されたSRヘッダから本デバイスのローカルアウトバウンドインタフェース及びローカルアウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのキュー識別子を取得する。取得したキュー識別子に対応するアウトバウンドインタフェース方向キューに現在格納されているパケットの数が所定のパケット数の閾値以上であると発見すると、キューが輻輳していると決定し、この時に上記管理デバイスに輻輳通知を送信してもよい。ここで、所定のパケット数の閾値は実際のニーズに応じて設定されてもよく、例えば下記式4に基づいて設定されてもよい。
所定のパケット数の閾値=(B3-2*RTTに伝送されるパケット数B2)*C%(式4)。
ここで、B3はキューの許可される最大パケット数を表し、B2は上記したとおりであり、Cは実際の経験に基づいて設定され、値は1つの0から100までの正の整数である。
【0073】
管理デバイスは輻輳通知を受信して記録した後、上記パケットに対応するサービス属性と同じの他のパケットを決定した場合、上記転送経路がパケットの転送に使用されないと決定する。なお、その後に上記アウトバウンドインタフェース方向キューに現在格納されているパケット数が所定のパケット数の閾値以上から所定のパケット数の閾値未満になることを発見すると、アウトバウンドインタフェース方向キューが輻輳していないことを意味し、このときに上記管理デバイスに輻輳解消通知を送信してもよい。管理デバイスは輻輳解消通知を受信した後、上記パケットに対応するサービス属性と同じの他のパケットを決定した場合、上記転送経路が改めてパケットの転送に使用されると決定してもよい。
【0074】
以上は管理デバイスの視点から本発明の実施例を説明する。以下は管理デバイスによって管理されるネットワークデバイスの視点から本発明の実施例を説明する。
【0075】
図5を参照すると、
図5は本発明の実施例が提供する別の方法のフローチャートである。当該フローはネットワークデバイス、例えば、SDNスイッチ等に適用され、本実施例は特に限定しない。
【0076】
図5に示すように、当該フローは以下のステップを含み得る。
【0077】
ステップ501において、本ネットワークデバイスにおけるアウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを取得する。
【0078】
オプションで、上記Mは上記アウトバウンドインタフェースに対応するタイムスライスの長さ及び指定された1ホップの遅延に基づいて決定され、具体的には
図3に示すフローを参照することができる。一実施例として、1つのタイムスライスの長さは上記アウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて決定され、具体的には前の
図2に示すフローを参照することができ、ここで説明を省略する。
【0079】
本実施例において、アウトバウンドインタフェース方向キューのスケジューリング周期は前記アウトバウンドインタフェースに対応するN個のアウトバウンドインタフェース方向キューをスケジューリングするために用いられる。異なるアウトバウンドインタフェース方向キューは異なるサービス属性に対応する。Nは1以上である。
【0080】
ステップ502において、管理デバイスによってアウトバウンドインタフェース方向キューに割り当てられた前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを取得し、アウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キューにおけるパケットをスケジューリングし、N個のアウトバウンドインタフェース方向キューに割り当てられたタイムスライスの総数はMである。
【0081】
オプションで、本実施例において、上記アウトバウンドインタフェースに対応する各アウトバウンドインタフェース方向キューに対し、管理デバイスは上記アウトバウンドインタフェースに対応する1つのアウトバウンドインタフェース方向キューのスケジューリング周期内において当該アウトバウンドインタフェース方向キューに対応するタイムスライスを割り当ててもよく、具体的な割当方式は前述した
図4に示すフローを参照し、ここで説明を省略する。ネットワークデバイスは管理デバイスがアウトバウンドインタフェース方向キューに割り当てたアウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを取得した後、ステップ502に記載されるように、ネットワークデバイスはアウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キューにおけるパケットをスケジューリングする。上記説明に基づき、
図5に示すフローに従って最終的にアウトバウンドインタフェース方向キューのスケジューリング待ち遅延を上記最悪遅延と上記最適遅延との間にあることが大まかに決定できる。これはアウトバウンドインタフェース方向キューのスケジューリング待ち遅延の決定可能を実現した。上記パケットの転送過程において発生する可能性のある遅延の説明に基づき、本実施例は最終的に遅延の決定可能を実現した。
【0082】
【0083】
上記
図5に示すフローから分かるように、本発明の実施例におけるネットワークデバイスはアウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キューにおけるパケットをスケジューリングすることにより、アウトバウンドインタフェース方向キューのスケジューリング待ち遅延が上記の最悪遅延と最適遅延との間にあることを実現し、アウトバウンドインタフェース方向キューのスケジューリング待ち遅延の決定可能を実現し、さらにパケット転送遅延の決定可能を実現した。
【0084】
本実施例において、上記ネットワークデバイスはローカル端末から送信されたパケットを受信すると、以下の
図6に示すフローを実行してもよい。
【0085】
図6を参照すると、
図6は本発明の実施例が提供するパケット転送のフローチャートである。
図6に示すように、当該フローは以下のステップを含み得る。
【0086】
ステップ601において、ネットワークデバイスにアクセスした端末から送信された第1のパケットを受信する。
【0087】
ここで、第1のパケットは説明しやすいために行われる命名であり、限定するためのものではない。
【0088】
ステップ602において、第1のパケットに対してセグメントルーティング(SR:Segment Routing)ヘッダを付加して転送し、SRヘッダは、第1のパケットを転送するための第1の転送経路における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェースに対応し且つ第1のパケットにマッチングする第1のサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子、及び目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子を含む。
【0089】
オプションで、ネットワークデバイスには第1のパケットを転送するための第1の転送経路(第1の転送経路は説明しやすいために行われる命名であり、限定するためのものではない)が現在存在していない場合に、上記管理デバイスに第1の転送経路をリクエストする。同様に、ネットワークデバイスには第1の転送経路における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェースに対応し且つ第1のパケットにマッチングする第1のサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子、及び目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子が現在存在していない場合にも、上記管理デバイスにリクエストする。
【0090】
本実施例において、ネットワークデバイスは上記SRヘッダに上記第1の転送経路における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェース方向キューの識別子、及び目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子を含めることは、第1の転送経路における第1のパケットを受信する他のネットワークデバイスにSRヘッダにおける目標アウトバウンドインタフェース、目標アウトバウンドインタフェース方向キューの識別子、及び目標タイムスライスの識別子に基づいて第1のパケットを転送し、ルーティング転送を回避することを指示することに目的がある。
【0091】
【0092】
図6に示すフローから分かるように、本実施例において、SRに対する改良により、SRヘッダは次ホップに限定されず、拡張されたSRヘッダは、転送経路における次ホップを指定するだけでなく、さらに各ホップにおけるアウトバウンドインタフェース、アウトバウンドインタフェースに対応し且つパケットにマッチングするサービス属性に対応するアウトバウンドインタフェース方向キューの識別子及び当該アウトバウンドインタフェース方向キューに対応するタイムスライスの識別子を増加する。これは転送経路における各ホップが直接にSRヘッダに基づいて転送することを保証し、遅延を保証する。
【0093】
本実施例では、上記ネットワークデバイスは他のネットワークデバイスに転送されたリモートパケット(第2のパケットと記す)も受信し、第2のパケットを受信すると、以下の
図7に示すフローを実行してもよい。
【0094】
図7を参照すると、
図7は本発明の実施例が提供する別のパケット転送のフローチャートである。
図7に示すように、当該フローは以下のステップを含み得る。
【0095】
ステップ701において、他のネットワークデバイスに転送された第2のパケットを受信する。
【0096】
ここで、第2のパケットに付加されたSRヘッダは、第2のパケットを転送するための転送経路(第2の転送経路と記す)における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェースに対応し且つ第2のパケットにマッチングする第2のサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子、及び目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子を含み得る。
【0097】
ステップ702において、第2のパケットに付加されたSRヘッダから本ネットワークデバイスのローカルに属する目標アウトバウンドインタフェース及び当該目標アウトバウンドインタフェースに対応する目標アウトバウンドインタフェース方向キューの識別子を取得する。
【0098】
ステップ703において、取得した目標アウトバウンドインタフェース方向キューの識別子に対応する目標アウトバウンドインタフェース方向キューにおけるパケット数が所定のパケット数の閾値以上である場合、第2の転送経路における最初のネットワークデバイスに輻輳通知を送信して、前記最初のネットワークデバイスにこれから前記第2の転送経路を介して前記第2のサービス属性にマッチングする他のパケットの転送を抑制させる。
【0099】
オプションで、一実施例として、この時に取得した目標アウトバウンドインタフェース方向キューの識別子に対応する目標アウトバウンドインタフェース方向キューにおけるパケット数が所定のパケット数の閾値以上である場合、サービス中断を回避するために、当該パケットをさらに当該目標アウトバウンドインタフェース方向キューに格納してもよい。
【0100】
第2のパケットに付加されたSRヘッダは表8に例示される以下の情報を含むと仮定する。
【表8】
【0101】
表8に基づき、ネットワークデバイスが取得したローカル目標アウトバウンドインタフェースは表8に示すアウトバウンドインタフェース5であり、目標アウトバウンドインタフェース方向キューの識別子はキュー5であると仮定すると、ネットワークデバイスはキュー5の現在既存のパケット数が所定のパケット数の閾値以上であると発見すると、第2の転送経路における最初のネットワークデバイスに輻輳通知を送信して、前記最初のネットワークデバイスにこれから前記第2の転送経路を介して前記第2のサービス属性にマッチングする他のパケットの転送を抑制させる。オプションで、ネットワークデバイスは第2の転送経路における最初のネットワークデバイスに輻輳通知を送信することは、SRヘッダにおける各次ホップに基づいて、前ホップに輻輳通知を順次送信し、最終的に輻輳通知が第2の転送経路における最初のネットワークデバイスに送信されることを含み得る。オプションで、別の実施例として、ネットワークデバイスは第2の転送経路における最初のネットワークデバイスに輻輳通知を送信することは、直接に上記管理デバイスに輻輳通知を送信して、管理デバイスに輻輳通知を第2の転送経路における最初のネットワークデバイスに転送させることを含み得、輻輳通知が第2の転送経路における最初のネットワークデバイスに送信されることも実現した。
【0102】
ステップ704において、その後検出された上記目標アウトバウンドインタフェース方向キューにおけるパケット数が前記所定のパケット数の閾値以上から所定のパケット数の閾値未満に更新された場合、前記最初のネットワークデバイスに輻輳解消通知を送信して、前記最初のネットワークデバイスにこれから前記第2の転送経路を介して前記第2のサービス属性にマッチングする他のパケットを転送させる。
【0103】
オプションで、本ステップ704において、その後検出された上記目標アウトバウンドインタフェース方向キューにおけるパケット数が前記所定のパケット数の閾値以上から所定のパケット数の閾値未満に更新され、且つ当該目標アウトバウンドインタフェース方向キューにおけるパケット数が所定のパケット数の閾値より小さくなってから所定の時間を経過すると、上記最初のネットワークデバイスに輻輳解消通知を送信して、前記最初のネットワークデバイスにこれから前記第2の転送経路を介して前記第2のサービス属性にマッチングする他のパケットを転送させてもよい。
【0104】
【0105】
図7に示すフローにより、最終的に輻輳に対する精密な制御を実現し、それによってアウトバウンドインタフェースに対応するキューが輻輳している時に当該キューに対応するサービス属性のようなサービスの既存の転送経路のみを遮断し、他のサービスの転送に影響を与えず、遅延を保証する。
【0106】
以上は本発明の実施例が提供する方法について説明し、以下は本発明の実施例が提供する装置について説明する。
【0107】
図8を参照すると、
図8は本発明の実施例が提供する装置の構成図である。当該装置800は、管理デバイスに適用され、前記管理デバイスは少なくとも1つのネットワークデバイスを管理するために用いられ、当該装置800はタイムスライス決定ユニット810と、周期決定ユニット820と、割り当てユニット830とを含み得る。
【0108】
タイムスライス決定ユニット810は、ネットワークデバイスにおけるパケットを転送するためのアウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて前記アウトバウンドインタフェースに対応する1つのタイムスライスの長さを決定するために用いられる。
【0109】
周期決定ユニット820は、前記1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいて前記アウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定するために用いられ、Mは1以上であり、前記アウトバウンドインタフェース方向キューのスケジューリング周期は前記アウトバウンドインタフェースに対応するN個のアウトバウンドインタフェース方向キューをスケジューリングするために用いられ、異なるアウトバウンドインタフェース方向キューは異なるサービス属性に対応し、Nは1以上である。
【0110】
割り当てユニット830は、前記ネットワークデバイスに前記アウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キュー内のパケットをスケジューリングさせるように、アウトバウンドインタフェース方向キューに対応するサービス属性に基づいてアウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるために用いられ、N個のアウトバウンドインタフェース方向キューに割り当てられたタイムスライスの総数はMである。
【0111】
オプションで、前記タイムスライス決定ユニット810は、前記ネットワークデバイスにおけるパケットを転送するためのアウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて前記アウトバウンドインタフェースに対応する1つのタイムスライスの長さを決定するステップは、前記指定パケット長に基づいて1つのタイムスライスの長さを計算するための参照値を決定するステップと、前記参照値と、指定パケット長と、アウトバウンドインタフェースの帯域幅とに基づき、設定されたタイムスライスの長さの計算式に従って前記1つのタイムスライスの長さを決定するステップと、を含む。
【0112】
オプションで、前記設定されたタイムスライス長さの計算式は、
(8+Frame+IFG)*8)/Bandwidth
となり、ここで、Frameは指定パケット長であり、IFGは前記参照値であり、指定パケット長が4バイトの整数倍である場合、IFGは第1の値であり、そうでなければ、IFGは第2の値であり、Bandwidthはアウトバウンドインタフェースの帯域幅である。
【0113】
オプションで、本実施例において、前記指定パケット長は64バイトと、512バイトと、2Kバイトと、1518バイトとのいずれかである。
【0114】
オプションで、周期決定ユニット820は前記1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいて前記アウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを決定するステップは、前記指定された1ホップの遅延と前記1つのタイムスライスの長さの商を計算するステップと、前記商が2xであり、前記xがいずれかの正の整数であれば、前記商が前記Mであると決定し、前記商が2xでなければ、前記商に最も近い2kを決定し、2kが前記Mであると決定するステップと、を含む。
【0115】
オプションで、割り当てユニット830は前記アウトバウンドインタフェース方向キューに対応するサービス属性に基づいてアウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるステップは、各アウトバウンドインタフェース方向キューに対し、当該アウトバウンドインタフェース方向キューに対応するサービス属性に基づいて当該サービス属性に対応する遅延要求を取得するステップであって、前記遅延要求は要求された目標遅延を含むステップと、当該アウトバウンドインタフェース方向キューに配置された最大転送ユニット(MTU:Maximum Transmission Unit)を取得するステップと、取得した遅延要求及び前記MTUに基づいて当該アウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるステップと、を含む。
【0116】
オプションで、割り当てユニット830は取得した遅延要求及び前記MTUに基づいて当該アウトバウンドインタフェース方向キューに前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを割り当てるステップは、
前記目標遅延が所定の遅延閾値以下である場合、前記MTUが指定パケット長以下であれば、アウトバウンドインタフェース方向キューのスケジューリング周期における前記目標遅延で区切られたタイムスライスを当該アウトバウンドインタフェース方向キューに割り当て、前記MTUが指定パケット長より大きければ、アウトバウンドインタフェース方向キューのスケジューリング周期における前記目標遅延で区切られたタイムスライスグループを当該アウトバウンドインタフェース方向キューに割り当てるステップであって、前記タイムスライスグループは隣接するL個のタイムスライスを含み、Lは前記MTUに占有されたタイムスライスの数であるステップを含み、
前記目標遅延が所定の遅延閾値より大きい場合、前記MTUが指定パケット長以下であれば、アウトバウンドインタフェース方向キューのスケジューリング周期におけるP1個のタイムスライスを当該アウトバウンドインタフェース方向キューに割り当て、前記MTUが指定パケット長より大きければ、アウトバウンドインタフェース方向キューのスケジューリング周期におけるP2個のタイムスライスグループを当該アウトバウンドインタフェース方向キューに割り当てるステップであって、P1は1以上であり、P1が1より大きい場合、当該P1個のタイムスライスは分散しており、P2は1以上であり、P2が1より大きい場合、当該P2個のタイムスライスグループは分散しており、1つのタイムスライスグループは隣接するL個のタイムスライスを含み、Lは前記MTUに占有されたタイムスライスの数であるステップを含む。
【0117】
オプションで、アクセスした端末から送信されたパケットを前記ネットワークデバイスが転送する前に、当該方法は、さらに、前記パケットを転送するための転送経路を決定するステップと、前記ネットワークデバイスが付加されたセグメントルーティングSRヘッダに前記転送経路における各ホップの目標アウトバウンドインタフェースと、目標アウトバウンドインタフェースに対応し且つ前記パケットにマッチングするサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子と、目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子とを追加して、前記転送経路における前記パケットを受信した他のネットワークデバイスに前記SRヘッダに追加された目標アウトバウンドインタフェースと、目標アウトバウンドインタフェース方向キューの識別子と、目標タイムスライスの識別子とに基づいてパケットを転送することを指示するように、前記転送経路における各ホップの目標アウトバウンドインタフェースと、目標アウトバウンドインタフェースに対応し且つ前記パケットにマッチングするサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子と、目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子とを前記ネットワークデバイスに通知するステップと、を含む。
【0118】
【0119】
図9を参照すると、
図9は本発明の実施例が提供する別の装置の構成図である。当該装置900はネットワークデバイスに適用され、取得ユニット910及びスケジューリングユニット920を含み得る。
【0120】
取得ユニット910は、本ネットワークデバイスにおけるアウトバウンドインタフェースに対応するアウトバウンドインタフェース方向キューのスケジューリング周期におけるタイムスライスの数Mを取得し、前記Mは前記アウトバウンドインタフェースに対応する1つのタイムスライスの長さ及び指定された1ホップの遅延に基づいて決定され、前記1つのタイムスライスの長さは前記アウトバウンドインタフェースの帯域幅及び指定パケット長に基づいて決定され、前記アウトバウンドインタフェース方向キューのスケジューリング周期は前記アウトバウンドインタフェースに対応するN個のアウトバウンドインタフェース方向キューをスケジューリングするために用いられ、異なるアウトバウンドインタフェース方向キューは異なるサービス属性に対応し、Nは1以上であり、前記管理デバイスによってアウトバウンドインタフェース方向キューに割り当てられた前記アウトバウンドインタフェース方向キューのスケジューリング周期における対応するタイムスライスを取得することに用いられる。
【0121】
スケジューリングユニット920は、前記アウトバウンドインタフェース方向キューのスケジューリング周期における各タイムスライスにおいて当該タイムスライスに対応するアウトバウンドインタフェース方向キューにおけるパケットをスケジューリングするために用いられ、N個のアウトバウンドインタフェース方向キューに割り当てられたタイムスライスの総数はMである。
【0122】
オプションで、スケジューリングユニット920は、さらに、前記ネットワークデバイスにアクセスした端末から送信された第1のパケットを受信し、前記第1のパケットに、前記第1のパケットを転送するための第1の転送経路における各ホップの目標アウトバウンドインタフェースと、目標アウトバウンドインタフェースに対応し且つ第1のパケットにマッチングする第1のサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子と、目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子とを含むセグメントルーティングSRヘッダを付加することに用いられ、前記SRヘッダに含まれる第1の転送経路における各ホップの目標アウトバウンドインタフェース、目標アウトバウンドインタフェース方向キューの識別子、及び目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子は、第1の転送経路における前記第1のパケットを受信した他のネットワークデバイスに前記SRヘッダにおける目標アウトバウンドインタフェース、目標アウトバウンドインタフェース方向キューの識別子、及び目標タイムスライスの識別子に基づいて第1のパケットを転送することを指示するために用いられる。
【0123】
オプションで、スケジューリングユニット920は、さらに、他のネットワークデバイスに転送された第2のパケットを受信し、第2のパケットに付加されたSRヘッダは、第2のパケットを転送するための第2の転送経路における各ホップの目標アウトバウンドインタフェースと、目標アウトバウンドインタフェースに対応し且つ第2のパケットにマッチングする第2のサービス属性に対応する目標アウトバウンドインタフェース方向キューの識別子と、目標アウトバウンドインタフェース方向キューに対応する目標タイムスライスの識別子とを含み、第2のパケットに付加されたSRヘッダから本ネットワークデバイスのローカルに属するローカル目標アウトバウンドインタフェースと、ローカル目標アウトバウンドインタフェースに対応する目標アウトバウンドインタフェース方向キューの識別子とを取得し、取得した目標アウトバウンドインタフェース方向キューの識別子に対応する目標アウトバウンドインタフェース方向キューにおけるパケット数が所定のパケット数の閾値以上である場合、前記第2の転送経路における最初のネットワークデバイスに輻輳通知を送信して、前記最初のネットワークデバイスにこれから前記第2の転送経路を介して前記第2のサービス属性にマッチングする他のパケットを転送することを抑制させ、検出された前記目標アウトバウンドインタフェース方向キューにおけるパケット数が前記所定のパケット数の閾値以上から所定のパケット数の閾値未満に更新された場合、前記最初のネットワークデバイスに輻輳解消通知を送信して、前記最初のネットワークデバイスにこれから前記第2の転送経路を介して前記第2のサービス属性にマッチングする他のパケットを転送させることに用いられる。
【0124】
【0125】
これに対応して、本発明の実施例は
図8又は
図9に示す装置のハードウェア構造をさらに提供する。
図10に示すように、当該ハードウェア構造は、機械可読記憶媒体1020及びプロセッサ1010を含み得る。
【0126】
機械可読記憶媒体1020は命令コードを記憶している。
【0127】
プロセッサ1010は、機械可読記憶媒体1020と通信し、前記機械可読記憶媒体1020における命令コードを読み取り、実行することによって本発明において開示される上記パケット転送方法を実現する。
【0128】
以上で、
図10に示す装置のハードウェア構成図の説明を完了する。
【0129】
本発明では、機械可読記憶媒体は、実行可能な命令、データなどの情報を含むか又は記憶することができる任意の電子的、磁気的、光学的又は他の物理的記憶装置であってもよい。例えば、機械可読記憶媒体は、RAM(Radom Access Memory、ランダムアクセスメモリ)、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、kストレージドライブ(例えばハードディスクドライブ)、ソリッドステートドライブ、任意のタイプの記憶ディスク(例えば光ディスク、dvd等)若しくは類似の記憶媒体、又はそれらの組み合わせであってもよい。
【0130】
上記実施例に説明した装置、モジュール又はユニットは、具体的にはコンピュータチップ又はエンティティにより実現され、又はある機能を有する製品により実現されてもよい。典型的な実現デバイスはコンピュータであり、コンピュータの具体的な形態は、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲーム機、タブレット、ウェアラブルデバイス、又はこれらのデバイスの任意のいくつかの組み合わせであってもよい。
【0131】
説明の便宜上、以上の装置を説明する時に機能によって様々なユニットに分けてそれぞれ説明する。当然のことながら、本発明を実施する時に各ユニットの機能を同一又は複数のソフトウェア及び/又はハードウェアにおいて実現することも可能である。
【0132】
当業者であれば分かるように、本発明の実施例は方法又はコンピュータプログラム製品として提供されてもよい。したがって、本発明は、ハードウェアだけからなる実施例、ソフトウェアだけからなる実施例、又はソフトウェアとハードウェアを組み合わせた実施例の形態を用いてもよい。さらに、本発明の実施例は、コンピュータで使用可能なプログラムコードを含む1つ又は複数のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)において実施されるコンピュータプログラム製品の形態であってもよい。
【0133】
本発明は、本発明の実施例による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明される。フローチャート及び/又はブロック図における各フロー及び/又はブロック、並びにフローチャート及び/又はブロック図におけるフロー及び/又はブロックの組み合わせは、コンピュータプログラム命令によって実現されてもよいことが理解されるべきである。これらのコンピュータプログラム命令は、マシンを生成するために、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又は他のプログラム可能なデータ処理デバイスのプロセッサに提供されてもよく、それにより、コンピュータ又は他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令により、フローチャートの1つ又は複数のフロー、及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するための装置が生成される。
【0134】
また、これらのコンピュータプログラム命令は、コンピュータ又は他のプログラム可能なデータ処理デバイスに特定の方法で作業するように指示することができるコンピュータ可読メモリに記憶されてもよく、その結果、当該コンピュータ可読メモリに記憶されている命令により、フローチャートの1つ又は複数のフロー及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現する命令装置を含む製品が生成される。
【0135】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラム可能なデータ処理デバイスにロードしてもよく、それにより、一連の動作ステップがコンピュータ又は他のプログラム可能なデバイス上で実行されることで、コンピュータにより実施される処理が生成され、それにより、コンピュータ又は他のプログラム可能なデバイス上で実行される命令により、フローチャートの1つ又は複数のフロー、及び/又はブロック図の1つ又は複数のブロック内で指定される機能を実現するためのステップが提供される。
【0136】
以上に記載の内容は本発明の好適な実施例に過ぎず、本発明を限定するものではなく、本発明の趣旨と原理から逸脱することなく修正、同等な置換、改善などを行った場合、いずれも本発明の特許請求の範囲に含まれるものとするべきである。
【国際調査報告】