(57)【特許請求の範囲】
【請求項１】
光伝送ネットワーク（ＯＴＮ）に適用されるクライアントサービス送信方法であって、
複数のクライアントサービスを保持するために用いられる複数のデータブロックを受信する段階と、
前記複数のデータブロックの各データブロックに含まれるラベルに基づいて、各データブロックに対して切り替えを実行する段階と、
切り替えられた各データブロックをキャッシュして、複数のキャッシュキューを取得する段階であって、前記複数のキャッシュキューのうちの同じキャッシュキューに属するデータブロックが、同じクライアントサービスを保持するために用いられる、段階と、
前記複数のキャッシュキューにおけるデータブロックに対してレート監視およびポリシスケジューリングを実行し、次に、前記データブロックを送信する段階と
を備える方法。
【請求項２】
前記ラベルは、グローバルラベルまたはラインインタフェースローカルラベルである、
請求項１に記載の方法。
【請求項３】
前記ラベルが前記ラインインタフェースローカルラベルである場合、前記複数のデータブロックに対してラベル置換を実行する段階
をさらに備える、請求項２に記載の方法。
【請求項４】
前記複数のデータブロックの各データブロックに含まれる前記ラベルに基づいて、各データブロックに対して切り替えを実行する前記段階は、
前記データブロックに含まれる前記ラベルに基づいて、前記データブロックの次のルーティングノードを決定する段階と、
前記次のルーティングノードに基づいて、各データブロックに対して切り替えを実行する段階と
を有する、
請求項１から３のいずれか一項に記載の方法。
【請求項５】
レート監視を実行する前記段階は、
前記複数のキャッシュキューのうちの最初のキューのためのカウンタを設定する段階であって、前記カウンタは、前記最初のキューに対応するクライアントサービスの出力レートを制御するために用いられる、段階と、
前記最初のキューにおける複数のデータブロックを複数の送信期間において送信する段階であって、前記カウンタのカウント値が各送信期間における予め設定された閾値に達した場合、前記複数のデータブロックの少なくとも１つのデータブロックが送信される、段階と
を有する、
請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記カウンタの前記カウント値が各送信期間における前記予め設定された閾値に達する前に、
前記カウンタの各カウント期間において前記カウンタの前記カウント値をＣだけ上げる段階であって、Ｃは、前記予め設定された閾値以下である、段階
をさらに備える、請求項５に記載の方法。
【請求項７】
Ｃは、前記クライアントサービスの帯域幅に基づいて決定され、前記予め設定された閾値は、出力ラインインタフェース帯域幅に基づいて決定される、
請求項６に記載の方法。
【請求項８】
Ｃは、前記クライアントサービスの前記帯域幅と単位帯域幅との比であり、前記予め設定された閾値は、前記出力ラインインタフェース帯域幅と前記単位帯域幅の調整値との比であり、前記単位帯域幅の前記調整値は、前記単位帯域幅以上である、
請求項７に記載の方法。
【請求項９】
前記カウンタは、各送信期間において初期値からカウントを開始する、
請求項５から８のいずれか一項に記載の方法。
【請求項１０】
（ｉ＋１）番目の送信期間において、前記カウンタの初期値は、ｉ番目の送信期間の終了時の前記カウンタのカウント値から前記予め設定された閾値を減算することにより取得される値であり、ｉは、１以上の整数である、
請求項９に記載の方法。
【請求項１１】
前記カウンタの前記カウント値が各送信期間における前記予め設定された閾値に達した場合において、データブロックがキャッシュされていないときは、前記カウンタのカウントを停止する段階
をさらに備える、請求項５から１０のいずれか一項に記載の方法。
【請求項１２】
前記複数のデータブロックの各データブロックは、固定長を有する、
請求項１から１１のいずれか一項に記載の方法。
【請求項１３】
ポリシスケジューリングを実行する前記段階は、
前記複数のキャッシュキューに対応する前記クライアントサービスの優先順位に基づいて、前記複数のキャッシュキューにおける前記複数のデータブロックの少なくとも１つのデータブロックを送信する段階であって、クライアントサービスのより短い予測送信遅延は、より高い優先順位を示す、段階
を有する、
請求項１から１２のいずれか一項に記載の方法。
【請求項１４】
光伝送ネットワーク（ＯＴＮ）におけるクライアントサービス送信装置であって、
複数のクライアントサービスを保持するために用いられる複数のデータブロックを受信するように構成される受信ユニットと、
前記複数のデータブロックの各データブロックに含まれるラベルに基づいて、各データブロックに対して切り替えを実行するように構成される処理ユニットであって、さらに、切り替えられた各データブロックをキャッシュして、複数のキャッシュキューを取得するように構成され、前記複数のキャッシュキューのうちの同じキャッシュキューに属するデータブロックが、同じクライアントサービスを保持するために用いられる、処理ユニットと、
前記複数のキャッシュキューにおけるデータブロックに対してレート監視およびポリシスケジューリングを実行し、次に、前記データブロックを送信するように構成される送信ユニットと
を備える装置。
【請求項１５】
前記ラベルがラインインタフェースローカルラベルである場合、前記処理ユニットはさらに、前記複数のデータブロックに対してラベル置換を実行するように構成される、
請求項１４に記載の装置。
【請求項１６】
前記複数のデータブロックの各データブロックに含まれる前記ラベルに基づいて、各データブロックに対して切り替えを前記実行することは、
各データブロックに含まれる前記ラベルに基づいて、前記データブロックの次のルーティングノードを決定すること、および
前記次のルーティングノードに基づいて、各データブロックに対して切り替えを実行すること
を含む、
請求項１４または１５に記載の装置。
【請求項１７】
前記送信ユニットが前記レート監視を実行するように構成されることは、
前記複数のキャッシュキューのうちの最初のキューのためのカウンタを設定することを含み、前記カウンタは、前記最初のキューに対応するクライアントサービスの出力レートを制御するために用いられ、
前記送信ユニットは、前記最初のキューにおける複数のデータブロックを複数の送信期間において送信するように構成され、前記カウンタのカウント値が各送信期間における予め設定された閾値に達した場合、前記複数のデータブロックの少なくとも１つのデータブロックが送信される、
請求項１４から１６のいずれか一項に記載の装置。
【請求項１８】
前記カウンタの前記カウント値が各送信期間における前記予め設定された閾値に達する前に、前記カウンタの前記カウント値を前記カウンタの各カウント期間においてＣだけ上げるように構成される制御ユニットをさらに備え、Ｃは、前記予め設定された閾値以下である、
請求項１７に記載の装置。
【請求項１９】
プロセッサと、メモリと、バスと、通信インタフェースとを備えるクライアントサービス送信装置であって、前記メモリは、コンピュータ実行可能命令を格納するように構成され、前記プロセッサ、前記メモリおよび前記通信インタフェースは、前記バスを用いて接続され、前記クライアントサービス送信装置が動作した場合、前記プロセッサは、前記メモリに格納された前記コンピュータ実行可能命令を実行することにより、前記クライアントサービス送信装置が、請求項１から１３のいずれか一項に記載のクライアントサービス送信方法を実行するようにする、
クライアントサービス送信装置。
【請求項２０】
請求項１９に記載のクライアントサービス送信装置と、第１のデバイスと、第２のデバイスとを備え、
前記第１のデバイスは、前記複数のデータブロックを請求項１９に記載のクライアントサービス送信装置へ送信するように構成され、
前記複数のデータブロックを送信する前に、前記第１のデバイスはさらに、
複数のクライアントサービスを受信し、前記複数のクライアントサービスを分割して複数の他のデータブロックを取得し、
前記複数の他のデータブロックにラベルが追加された後に、前記複数のデータブロックを取得する
ように構成され、
前記第２のデバイスは、
請求項１９に記載のクライアントサービス送信装置により送信されるデータブロックを受信し、
受信した前記データブロックに含まれるラベルを削除して、クライアントサービスを取得する
ように構成される、
光伝送ネットワーク（ＯＴＮ）システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、データ送信技術分野に関し、特に、クライアントサービス送信方法および装置に関する。
【背景技術】
【０００２】
パケットサービスシステムでは、既存の送信ノードが、ベストエフォート型配信メカニズムに基づいてクライアントサービスを送信する。例えば、クライアントデバイスＡが、送信ノードを用いてクライアントサービスをクライアントデバイスへ送信する場合において、送信ノードの出力ラインインタフェース帯域幅が毎秒１００Ｇｂｐ（ギガビット）であるときは、送信ノードがクライアントサービスを出力するレート（すなわち、クライアントサービスの出力レート）は、１００Ｇｂｐに可能な限り近くてもよい。このことに基づいて、送信ノードに１秒で入力されるクライアントサービスのサイズが１０Ｍ（メガビット）である場合、送信ノードにおけるクライアントサービスの送信時間は理論上、１０Ｍ／１００Ｇｂｐであり得、送信ノードに１秒で入力されるクライアントサービスのサイズが１００Ｍである場合、送信ノードにおけるクライアントサービスの送信時間は理論上、１００Ｍ／１００Ｇｂｐ等であり得る。
【０００３】
この場合、複数のクライアントデバイスが複数のクライアントサービスを１つの送信ノードへ同時に送信する場合、各クライアントデバイスが送信するクライアントサービスについて、送信ノードは、ベストエフォート型配信メカニズムを用いて、クライアントサービスを送信する。結果的に、輻輳が必ず発生する。
【発明の概要】
【０００４】
本願の実施形態は、出力ラインインタフェースでの輻輳の発生確率を低減させ、さらには輻輳の発生を回避すべく、クライアントサービス送信方法および装置を提供する。
【０００５】
前述の目的を実現するために、本願は、以下の技術的解決手段を提供する。
【０００６】
第１の態様によれば、本願は、クライアントサービス送信方法を提供する。方法は、クライアントサービスを受信する段階であって、クライアントサービスは、複数のデータブロックを含み、クライアントサービスは、カウンタに対応し、カウンタは、クライアントサービスの出力レートを制御するために用いられる、段階と、複数のデータブロックを複数の送信期間において送信する段階であって、カウンタのカウント値が各送信期間における予め設定された閾値に達した場合、複数のデータブロックの少なくとも１つのデータブロックが送信される、段階とを備える。方法は、送信ノードにより実行され得る。技術的解決手段において、カウンタは、送信ノードにおいて設定され、出力されるデータブロックの数は、各送信期間におけるカウンタのカウント値に基づいて制御される。このように、データブロックの出力レートが制御され得る。すなわち、クライアントサービスの出力レートが制御される。送信ノードに入力される各クライアントサービスの出力レートが技術的解決手段に従って制御される場合、このことは、出力ラインインタフェースでの輻輳の発生確率を低減し、さらには、輻輳の発生を回避するのに役立つ。
【０００７】
可能な設計において、カウンタのカウント値が各送信期間における予め設定された閾値に達する前に、方法は、カウンタの各カウント期間において、カウンタのカウント値をＣだけ上げる段階をさらに備え得る。Ｃは、予め設定された閾値以下である。Ｃの物理的意味は、本願において限定されない。例えば、Ｃは、カウンタのカウント回数の数であり得る。この場合、Ｃは、１と等しい。別の例については、Ｃは、クライアントサービスの帯域幅に従って決定され得、予め設定された閾値は、出力ラインインタフェース帯域幅に従って決定され得る。当然ながら、このことは、具体的な実装において限定されない。
【０００８】
可能な設計において、制御を容易にするために、本願では、単位帯域幅の概念が導入される。このことに基づいて、Ｃは、クライアントサービスの帯域幅と単位帯域幅との比であり得、予め設定された閾値は、出力ラインインタフェース帯域幅と単位帯域幅の調整値との比であり得る。単位帯域幅の調整値は、単位帯域幅以上である。
【０００９】
可能な設計において、カウンタは、各送信期間において初期値からカウントを開始する。任意選択的に、カウンタの初期値は、異なる送信期間において同じであり得る。例えば、初期値は０である。あるいは、カウンタの初期値は、異なる送信期間において異なり得る。例えば、（ｉ＋１）番目の送信期間において、前記カウンタの初期値は、ｉ番目の送信期間の終了時の前記カウンタのカウント値から前記予め設定された閾値を減算することにより取得される値であり、ｉは、１以上の整数である。当然ながら、このことは、具体的な実装において限定されない。
【００１０】
可能な設計において、カウンタのカウント値が各送信期間における予め設定された閾値に達した場合、複数のデータブロックの少なくとも１つのデータブロックが送信されることは、カウンタのカウント値が各送信期間における予め設定された閾値に達した場合において、クライアントサービスがキャッシュされているときは、複数のデータブロックの少なくとも１つのデータブロックが送信されることを含み得る。
【００１１】
可能な設計において、方法は、カウンタのカウント値が各送信期間における予め設定された閾値に達した場合において、クライアントサービスがキャッシュされていないときは、カウンタのカウントを停止する段階をさらに備え得る。このことに基づいて、方法は、クライアントサービスがキャッシュされた場合、複数のデータブロックの少なくとも１つのデータブロックを送信し、カウンタが初期値からカウントを開始する段階、または、クライアントサービスが受信された後に、少なくとも１つのデータブロックをキャッシュすることなく、少なくとも１つのデータブロックを直接送信する段階をさらに備え得る。
【００１２】
可能な設計において、クライアントサービスが受信された後に、方法は、クライアントサービスをキャッシュキューに格納する段階と、カウンタのカウント値が予め設定された閾値に達した場合、キャッシュキューから少なくとも１つのデータブロックを取得する段階とをさらに備え得る。各クライアントサービスは、１つのキャッシュキューに対応し得る。本願において、クライアントサービスがキャッシュされ、次に、少なくとも１つのデータブロックが、キャッシュキューから取得され、送信される。これにより、データブロックの出力レートを制御するプロセスにおけるパケット損失率が低減され得る。
【００１３】
可能な設計において、複数のデータブロックの各データブロックは、固定長を有する。従って、このことには、単純な実装という有益な効果がある。当然ながら、具体的な実装では、異なるデータブロックの長さは、異なり得る。
【００１４】
可能な設計において、複数のデータブロックの少なくとも１つのデータブロックが送信されることは、複数のデータブロックの少なくとも１つのデータブロックをクライアントサービスの優先順位に従って送信することを含み得る。より低い予測送信遅延は、より高い優先順位を示す。実装において、異なるクライアントサービスが出力される場合、異なるクライアントサービスの送信遅延要件をより良く満たすべく予測送信遅延が考慮されることにより、ユーザエクスペリエンスが改善される。
【００１５】
第２の態様によれば、本願は、クライアントサービス送信装置を提供する。装置は、前述の方法の実施形態における各段階を実装する機能を有する。当該機能は、ハードウェアを用いて実装されても、対応するソフトウェアを実行することによりハードウェアにより実装されてもよい。ハードウェアまたはソフトウェアは、前述の機能に対応する１または複数のモジュールを含む。
【００１６】
可能な設計において、装置は、プロセッサと、メモリと、バスと、通信インタフェースとを備え得る。メモリは、コンピュータ実行可能命令を格納するように構成される。プロセッサ、メモリおよび通信インタフェースは、バスを用いて接続される。装置が動作した場合、プロセッサは、メモリに格納されたコンピュータ実行可能命令を実行することにより、装置が、第１の態様による任意のクライアントサービス送信方法を実行するようにする。
【００１７】
第３の態様によれば、本願は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、前述の装置により用いられるコンピュータプログラム命令を格納するように構成される。コンピュータプログラム命令がコンピュータ上で実行された場合、コンピュータは、第１の態様による任意のクライアントサービス送信方法を実行し得る。
【００１８】
第４の態様によれば、本願は、コンピュータプログラム製品を提供する。コンピュータプログラム製品は、命令を含む。命令がコンピュータ上で実行された場合、コンピュータは、第１の態様による任意のクライアントサービス送信方法を実行し得る。
【００１９】
上記で提供される装置、コンピュータ可読媒体またはコンピュータプログラム製品のいずれか１つの技術的効果については、対応する方法によりもたらされる技術的効果を参照されたい。詳細は、ここでは改めて説明されない。
【図面の簡単な説明】
【００２０】
【図１】本願の実施形態による技術的解決手段に適用可能なシステムアーキテクチャの概略図である。
【００２１】
【図２】本願の実施形態によるクライアントサービス送信装置の概略構造図である。
【００２２】
【図３】本願の実施形態によるアド／ドロップノードの概略構造図である。
【００２３】
【図３ａ】本願の実施形態による別のアド／ドロップノードの概略構造図である。
【００２４】
【図４】本願の実施形態による送信ノードの概略構造図である。
【００２５】
【図４ａ】本願の実施形態によるライン処理ユニットの概略構造図である。
【００２６】
【図４ｂ】本願の実施形態による別の送信ノードの概略構造図である。
【００２７】
【図５】本願の実施形態による技術的解決手段に適用可能な別のシステムアーキテクチャの概略図である。
【００２８】
【図６】本願の実施形態によるクライアントサービス送信方法の概略相互作用図である。
【００２９】
【図７】本願の実施形態によるデータブロックの概略構造図である。
【００３０】
【図８】本願の実施形態によるラベル置換プロセスの概略図である。
【００３１】
【図９】本願の実施形態によるアド／ドロップノードの処理プロセスの概略図である。
【００３２】
【図１０】本願の実施形態による送信ノードの処理プロセスの概略図である。
【００３３】
【図１１】本願の実施形態によるレート監視方法の概略フローチャートである。
【００３４】
【図１２】本願の実施形態によるレート監視方法のプロセスの概略図である。
【００３５】
【図１３】本願の実施形態によるポリシスケジューリング方法のプロセスの概略図である。
【００３６】
【図１４】本願の実施形態による別のクライアントサービス送信装置の概略構造図である。
【発明を実施するための形態】
【００３７】
図１は、本願の実施形態による技術的解決手段に適用可能なシステムアーキテクチャの概略図を示す。システムアーキテクチャは、ベアラネットワークデバイスおよび複数のクライアントデバイス１００を含み得る。このシステムにおいて、１または複数のクライアントデバイスが、ベアラネットワークデバイスを用いて、クライアントサービスを１または複数の他のクライアントデバイスへ送信する。理解を容易にするために、クライアントサービスを送信するクライアントデバイスは、以下、送信エンドクライアントデバイスと称され、クライアントサービスを受信するクライアントデバイスは、受信エンドクライアントデバイスと称される。１つのクライアントデバイスが送信エンドクライアントデバイスおよび受信エンドクライアントデバイスの両方として用いられ得ることが理解され得る。ベアラネットワークデバイスは、送信エンドクライアントデバイスまたは受信エンドクライアントデバイスに接続されたアド／ドロップノード２００と、アド／ドロップノード２００の間に配置された１または複数の送信ノード３００とを含み得る。１または複数の送信ノード３００はいずれも、１または複数のアド／ドロップノード２００のいずれとも統合され得るか、または別個に配置され得る。本願では、アド／ドロップノード２００および送信ノード３００が別個に配置される例が、説明のために用いられる。
【００３８】
クライアントサービスは、限定されるものではないが、イーサネット（登録商標）クライアントサービス、同期デジタルハイアラーキ（ｓｙｎｃｈｒｏｎｏｕｓ  ｄｉｇｉｔａｌ  ｈｉｅｒａｒｃｈｙ、ＳＤＨ）クライアントサービス、ストレージサービスおよびビデオサービスを含み得る。１つの送信エンドクライアントデバイスは、１または複数のクライアントサービスを１または複数の受信エンドクライアントデバイスへ送信し得る。複数の送信エンドクライアントデバイスは、１または複数のクライアントサービスを同じ受信エンドクライアントデバイスへ送信し得る。
【００３９】
図１に示されるシステムは、光ネットワークであり得、具体的には、アクセスネットワーク、例えば、受動光ネットワーク（ｐａｓｓｉｖｅ  ｏｐｔｉｃａｌ  ｎｅｔｗｏｒｋ、ＰＯＮ）であり得るか、または、伝送ネットワーク、例えば、光伝送ネットワーク（ｏｐｔｉｃａｌ  ｔｒａｎｓｐｏｒｔ  ｎｅｔｗｏｒｋ、ＯＴＮ）、パケットネットワークまたはパケット切り替えネットワークであり得る。
【００４０】
（送信エンドクライアントデバイスおよび／または受信エンドクライアントデバイスを含む）クライアントデバイス１００は、限定されるものではないが、スイッチ、ルータ、コンピュータ、データセンタまたは基地局のいずれか１つを含み得る。アド／ドロップノード２００および送信ノード３００は各々、限定されるものではないが、ＯＴＮデバイスまたはルータのいずれか１つを含み得る。
【００４１】
アド／ドロップノード２００は、送信エンドクライアントデバイスによりデータパケットの形式または連続するデータストリームの形式で送信されるクライアントサービスを受信し、データパケットの形式または連続するデータストリームの形式のクライアントサービスを複数のデータブロック（スライス）へと分割し、ルーティング情報に従って、複数のデータブロックを対応する送信ノード３００と交換するか、または、送信ノード３００により送信されるデータブロックを受信し、同じクライアントサービスに属する複数のデータブロックをデータパケットの形または連続するデータストリームの形式に復元し、データパケットまたは連続するデータストリームを、対応する受信エンドクライアントデバイスへ送信するように構成され得る。各アド／ドロップノード２００は、１または複数の入力端／出力端を含み得る。各入力端／出力端は、（送信エンドクライアントデバイスまたは受信エンドクライアントデバイスを含む）１または複数のクライアントデバイス１００に接続され得るか、または、１または複数の送信ノード３００に接続され得る。
【００４２】
送信ノード３００は、ルーティング情報に従って、データブロックを別の送信ノード３００またはアド／ドロップノード２００へ転送するように構成され得る。各送信ノード３００は、１または複数の入力端／出力端を含み得る。各入力端／出力端は、１または複数の送信ノード３００に接続され得るか、または１または複数のアド／ドロップノード２００に接続され得る。以下の出力ラインインタフェースは、送信ノード３００の出力端とみなされ得ることに留意すべきである。
【００４３】
いくつかシナリオにおけるアド／ドロップノード２００または送信ノード３００のいずれかの入力端は、いくつかの他シナリオにおいて、当該デバイスの出力端として機能し得ることが理解され得る。具体的には、入力端または出力端として機能することは、クライアントサービスを今回送信するプロセスにおける経路に関連し、当該経路は、ルーティング情報に従って決定され得る。今回送信されるクライアントサービスのルーティング情報は、制御層により構成され得、当該経路で、（アド／ドロップノード２００および送信ノード３００を含む）ルーティングノードへ送信される。具体的な実装プロセスについては、従来技術を参照されたい。制御層は、アド／ドロップノード２００または送信ノード３００のいずれに統合された機能モジュールであり得るか、または、アド／ドロップノード２００および送信ノード３００と無関係のデバイスであり得る。このことは、本願において限定されない。各出力端は、１つのラインインタフェース帯域幅に対応し、ラインインタフェース帯域幅は、出力端のベアラ能力を示すために用いられる。
【００４４】
図１は、本願に適用可能なシステムアーキテクチャの例に過ぎないことが理解され得る。システムアーキテクチャに含まれるクライアントデバイス１００、アド／ドロップノード２００および送信ノード３００の数と、それらの間の接続関係とは、本願において限定されない。具体的な実装において、ネットワークレイアウトは、実際のアプリケーションシナリオに従って実行され得る。
【００４５】
本願の例では、図１における任意の１または複数のアド／ドロップノード２００および送信ノード３００の概略構造図が図２に示される。図２に示されるデバイスは、少なくとも１つのプロセッサ２１、メモリ２２、通信インタフェース２３および通信バス２４を含み得る。
【００４６】
プロセッサ２１は、デバイスの制御センタであり、具体的には、１つの処理要素であり得るか、または複数の処理要素の総称であり得る。例えば、プロセッサ２１は、中央処理ユニット（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、ＣＰＵ）であり得るか、または、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）または本願の実施形態において提供される技術的解決手段を実装ように構成された１または複数の集積回路であり得る。例えば、プロセッサ２１は、１または複数のマイクロプロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ、ＤＳＰ）または１または複数のフィールドプログラマブルゲートアレイ（フィールドプログラマブルゲートアレイ、ＦＰＧＡ）であり得る。プロセッサ２１は、メモリ２２に格納されたソフトウェアプログラムを動作させるかまたは実行することによりデバイスの様々な機能を実行し、メモリ２２に格納されたデータを呼び出し得る。
【００４７】
具体的な実装において、実施形態では、プロセッサ２１は、１または複数のＣＰＵ、例えば、図２に示されるＣＰＵ０およびＣＰＵ１を含み得る。
【００４８】
具体的な実装において、実施形態では、デバイスは、複数のプロセッサ、例えば、図２に示されるプロセッサ２１およびプロセッサ２５を含み得る。これらのプロセッサの各々は、シングルコア（シングルＣＰＵ）プロセッサまたはマルチコア（マルチＣＰＵ）プロセッサであり得る。本明細書におけるプロセッサは、データ（例えば、コンピュータプログラム命令）を処理するように構成された１または複数のデバイス、回路および／または処理コアであり得る。
【００４９】
メモリ２２は、リードオンリメモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）または静的な情報および命令を格納し得る別のタイプの静的ストレージデバイス、またはランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）または情報および命令を格納し得る別のタイプのダイナミックストレージデバイスであり得るか、または、電気的消去可能プログラマブルリードオンリメモリ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＥＥＰＲＯＭ）、コンパクトディスクリードオンリメモリ（ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＣＤ−ＲＯＭ）または他のコンパクトディスクストレージ、光ディスクストレージ（コンパクトディスク、レーザディスク、光ディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク等を含む）、磁気ディスクストレージ媒体もしくは別の磁気ストレージデバイス、または、命令またはデータ構造形式を有する予測されるプログラムコードを保持または格納するために用いられ得る、コンピュータがアクセスし得る任意の他の媒体であり得る。しかしながら、このことは、本明細書において限定されない。メモリ２２は、別個に存在し得、通信バス２４を用いてプロセッサ２１に接続される。あるいは、メモリ２２は、プロセッサ２１と統合され得る。メモリ２２は、本願の実施形態において提供される技術的解決手段におけるデバイスにより実行されるソフトウェアプログラムを格納および実行するように構成され、当該実行は、プロセッサ２１により制御される。
【００５０】
通信インタフェース２３は、任意のトランシーバ（例えば、光受信機または光モジュール）を用いるタイプの装置であり得、別のデバイスまたは通信ネットワーク、例えば、イーサネット（登録商標）、無線アクセスネットワーク（ｒａｄｉｏ  ａｃｃｅｓｓ  ｎｅｔｗｏｒｋ、ＲＡＮ）または無線ローカルエリアネットワーク（ｗｉｒｅｌｅｓｓ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋｓ、ＷＬＡＮ）と通信するように構成される。通信インタフェース２３は、受信機能を実装した受信ユニットおよび送信機能を実装した送信ユニットを含み得る。
【００５１】
通信バス２４は、業界標準アーキテクチャ（ｉｎｄｕｓｔｒｙ  ｓｔａｎｄａｒｄ  ａｒｃｈｉｔｅｃｔｕｒｅ、ＩＳＡ）バス、周辺構成要素相互接続ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ、ＰＣＩ）バス、拡張型業界標準アーキテクチャ（ｅｘｔｅｎｄｅｄ  ｉｎｄｕｓｔｒｙ  ｓｔａｎｄａｒｄ  ａｒｃｈｉｔｅｃｔｕｒｅ、ＥＩＳＡ）バス等であり得る。バスは、アドレスバス、データバス、および制御バス等に分類され得る。表示を容易にするために、バスは、図２において１本の太線のみにより表されるが、これは、ただ１つのバスまたは１つのタイプのバスが存在することを示すわけではない。
【００５２】
本願の例では、図１におけるアド／ドロップノード２００の概略構造図が、図３に示され得る。図３に示されるアド／ドロップノード２００は、１または複数のトリビュタリ処理ユニット３１、サービス切り替えユニット３２および１または複数のライン処理ユニット３３を含み得る。トリビュタリ処理ユニット３１は、アド／ドロップノード２００の入力端を用いて、送信エンドクライアントデバイスにより送信されるクライアントサービスを受信し、受信したクライアントサービスを複数のデータブロックへと分割するように、例えば、当該クライアントサービスを複数の固定長データブロックへと分割するように構成され得る。次に、サービス切り替えユニット３２は、当該データブロックを対応するライン処理ユニット３３と交換する。サービス切り替えユニット３２がトリビュタリ処理ユニット３１から送信されるクライアントサービスを特定のライン処理ユニット３３に交換することは、本願において限定されない。具体的な実装プロセスについては、従来技術を参照されたい。ライン処理ユニット３３は、アド／ドロップノード２００の出力端を用いて、アド／ドロップノード２００から受信したデータブロックを出力するように構成され得る。
【００５３】
図３ａに示されるハードウェア実装において、トリビュタリ処理ユニット３１は、トリビュタリボード３１ａであり得、サービス切り替えユニット３２はクロス接続ボード３２ａであり得、ライン処理ユニット３３はラインボード３３ａであり得る。トリビュタリボード３１ａ、クロス接続ボード３２ａおよびラインボード３３ａは、メインコントロールボード３４ａに接続され得る。メインコントロールボード３４ａは、アド／ドロップノード２００の制御センタであり、トリビュタリボード３１ａ、クロス接続ボード３２ａおよびラインボード３３ａを制御して、本願において提供される方法における対応する段階を実行するように構成される。より簡潔にするために、図３ａは、１つのトリビュタリボード３１ａおよび１つのラインボード３３ａがメインコントロールボード３４ａに接続されていることを示す。実際の実装では、各トリビュタリボード３１ａおよび各ラインボード３３ａは、メインコントロールボード３４ａに接続され得る。任意選択的に、アド／ドロップノード２００は、補助的光学処理ユニット３５ａをさらに含み得、補助的光学処理ユニット３５ａは、光増幅（ｏｐｔｉｃａｌ  ａｍｐｌｉｆｉｃａｔｉｏｎ、ＯＡ）ユニット、光多重化（ｏｐｔｉｃａｌ  ｍｕｌｔｉｐｌｅｘｉｎｇ、ＯＭ）ユニット、光逆多重化（ｏｐｔｉｃａｌ  ｄｅ−ｍｕｌｔｉｐｌｅｘｉｎｇ、ＯＤ）ユニット、単一チャネル光監視チャネル（ｏｐｔｉｃａｌ  ｓｕｐｅｒｖｉｓｏｒｙ  ｃｈａｎｎｅｌ、ＯＳＣ）ユニット、ファイバインタフェースユニット（ｆｉｂｅｒ  ｉｎｔｅｒｆａｃｅ  ｕｎｉｔ、ＦＩＵ）等を含み得る。
【００５４】
本願の例では、図１における送信ノード３００の概略構造図が、図４に示され得る。図４に示される送信ノード３００は、１または複数のソースライン処理ユニット４１、サービス切り替えユニット４２および１または複数の宛先ライン処理ユニット４３を含み得る。ソースライン処理ユニット４１は、送信ノード３００の入力端を用いて、アド／ドロップノード２００または別の送信ノード３００により送信されるデータブロックを受信するように構成され得、次に、サービス切り替えユニット４２は、当該データブロックを対応する宛先ライン処理ユニット４３と交換する。サービス切り替えユニット４２が、ソースライン処理ユニット４１から送信されるクライアントサービスを特定の宛先ライン処理ユニット４３と交換することは、本願において限定されない。具体的な実装プロセスについては、従来技術を参照されたい。宛先ライン処理ユニット４３は、送信ノード３００の出力端を用いて、送信ノード３００から受信したクライアントサービスを出力するように構成され得る。
【００５５】
図４ａに示されるように、（ライン処理ユニット３３および／または宛先ライン処理ユニット４３を含む）ライン処理ユニットは、キューキャッシュモジュール４３１およびレート監視モジュール４３２を含み得、任意選択的に、ポリシスケジューリングモジュール４３３をさらに含み得る。任意選択的に、ライン処理ユニットは、レート適合モジュール４３４をさらに含み得る。モジュールの間の接続関係の例が、図４に示される。各モジュールの機能については、以下の説明を参照されたい。
【００５６】
ハードウェア実装において、ソースライン処理ユニット４１はソースラインボード４１ａであり得、サービス切り替えユニット４２はクロス接続ボード４２ａであり得、宛先ライン処理ユニット４３は宛先ラインボード４３ａであり得る。図４ｂに示されるように、ソースラインボード４１ａ、クロス接続ボード４２ａおよび宛先ラインボード４３ａは、メインコントロールボード４４ａに接続され得る。メインコントロールボード４４ａは、送信ノード３００の制御センタであり、ソースラインボード４１ａ、クロス接続ボード４２ａおよび宛先ラインボード４３ａを制御して、本願において提供される方法における対応する段階を実行するように構成される。より簡潔にするために、図４ｂは、１つのソースラインボード４１ａおよび１つの宛先ラインボード４３ａがメインコントロールボード４４ａに接続されていることを示す。実際の実装では、各ソースラインボード４１ａおよび各宛先ラインボード４３ａは、メインコントロールボード４４ａに接続され得る。任意選択的に、送信ノード３００は、補助的光学処理ユニット４５ａをさらに含み得る。補助的光学処理ユニット４５ａの具体的な実装については、補助的光学処理ユニット３５ａを参照されたい。
【００５７】
本明細書における「複数の」という用語は、少なくとも２つを指すことに留意すべきである。
【００５８】
本明細書における「第１の」、「第２の」等の用語は、異なる対象物を区別することを意図しているに過ぎず、対象物の順序を限定しているわけではない。例えば、第１のアド／ドロップノードおよび第２のアド／ドロップノードは、異なるアド／ドロップノードを区別することを意図しているに過ぎず、第１のアド／ドロップノードおよび第２のアド／ドロップノードの順序を限定しているわけではない。
【００５９】
本明細書における「および／または」という用語は、関連対象物を説明するための対応関係のみを説明しており、３つの関係が存在し得ることを表している。例えば、Ａおよび／またはＢは、Ａのみが存在する、ＡおよびＢの両方が存在する、Ｂのみが存在する、という３つの場合を表し得る。加えて、本明細書における「／」という文字は一般に、関連対象物間の「または」の関係を示す。ある式において、「／」は一般に、関連対象物が「割り切れる」関係を有しているのを意味していることが理解され得る。
【００６０】
以下では、本願の実施形態における技術的解決手段を詳細に説明する。
【００６１】
以下の具体的な例は、本願において提供される技術的解決手段が、図５に示されるシステムアーキテクチャに適用される例を用いて説明されることに留意すべきである。図５に示されるシステムアーキテクチャは、図１に示されるシステムアーキテクチャの具体的な実装である。図５において、クライアントデバイス１は、アド／ドロップノード１、送信ノード１およびアド／ドロップノード２を用いて、クライアントサービス１をクライアントデバイス４へ送信し、クライアントデバイス２は、アド／ドロップノード１、送信ノード１およびアド／ドロップノード２を用いて、クライアントサービス２をクライアントデバイス５へ送信し、クライアントデバイス３は、アド／ドロップノード１、送信ノード２およびアド／ドロップノード３を用いて、クライアントサービス３をクライアントデバイス５へ送信する。実際には、本願において提供される技術的解決手段は、１つの送信エンドクライアントデバイスが複数のクライアントサービスをアド／ドロップノードへ送信するシナリオにも適用され得る。当該シナリオの基本原則については、以下の説明を参照されたい。
【００６２】
加えて、クライアントサービスのデータブロックに対するキャッシュ、レート監視、ポリシスケジューリング、レート適応化等のオペレーションが送信ノードに適用される例が、以下で説明のために用いられることに留意すべきである。実際の実装では、これらのオペレーションの１または複数は、（第１のアド／ドロップノードおよび／または第２のアド／ドロップノードを含む）アド／ドロップノードにも適用され得る。本シナリオの具体的な実装プロセスについては、送信ノードへのこれらのオペレーションの適用についての説明を参照されたい。詳細は、本願においてここでは改めて説明されない。
【００６３】
図６は、本願の実施形態によるクライアントサービス送信方法の概略相互作用図を示す。図６に示される方法は、以下の段階Ｓ１０１からＳ１０４を含み得る。
【００６４】
Ｓ１０１．複数の送信エンドクライアントデバイスが、クライアントサービスを、データパケットの形式または連続するデータストリームの形式で、第１のアド／ドロップノードへ送信する。第１のアド／ドロップノードは、図５におけるアド／ドロップノード１であり得、以下で説明のための例として用いられる。
【００６５】
複数の送信エンドクライアントデバイスは、アド／ドロップノード１に接続された任意の複数の送信エンドクライアントデバイスであり得る。複数の送信エンドクライアントデバイスの任意の１または複数の送信エンドクライアントデバイスは、クライアントサービスをアド／ドロップノード１へ連続的または不連続的に送信し得る。
【００６６】
図５に示されるシステムアーキテクチャに基づいて、Ｓ１０１は、クライアントデバイス１がクライアントサービス１をアド／ドロップノード１へ送信し、クライアントデバイス２がクライアントサービス２をアド／ドロップノード１へ送信し、クライアントデバイス３がクライアントサービス３をアド／ドロップノード１へ送信することを含み得る。
【００６７】
Ｓ１０１の前に、方法は、各送信エンドクライアントデバイスが、クライアントサービス（例えば、クライアントサービス１、２または３）の帯域幅を制御層に適用することにより、制御層が、クライアントサービスを送信するための特定の帯域幅を送信エンドクライアントデバイスのために確保するようアド／ドロップノード１を制御する段階をさらに含み得る。クライアントサービスの帯域幅は、送信エンドクライアントデバイスにより、要件（例えば、送信予定のクライアントサービスのサイズおよび予測送信遅延の要件）に従って決定され得る。同じ送信エンドクライアントデバイスが異なるクライアントサービスを送信する場合、当該クライアントサービスの帯域幅は、同じであり得るか、または異なり得る。異なる送信エンドクライアントデバイスが同じクライアントサービスを送信する場合、当該クライアントサービスの帯域幅は、同じであり得るか、または異なり得る。このことは、本願において限定されない。
【００６８】
本願の例では、制御を容易にするために、単位帯域幅（すなわち、最小帯域幅粒度）がシステムにおいて設定される。各送信エンドクライアントデバイスは、クライアントサービスの帯域幅を単位帯域幅の整数倍に設定し得る。例えば、単位帯域幅が２Ｍｂｐである場合、クライアントサービスの帯域幅は、ｎ×２Ｍｂｐであり得る。ｎは、１以上の整数であり得る。
【００６９】
Ｓ１０２．第１のアド／ドロップノードが、複数の送信エンドクライアントデバイスにより送信されるクライアントサービスを受信し、受信したクライアントサービスを複数の固定長データブロックへと分割し、各データブロックを用いて１つのスライスを生成し、ルーティング情報に従って、各スライスを対応する送信ノードに出力する。
【００７０】
段階Ｓ１０２は、以下のとおり理解され得る。アド／ドロップノード１が、受信したクライアントサービスをベアラコンテナにマッピングする。各ベアラコンテナは、１つのデータブロックを保持するために用いられる。「ベアラコンテナ」は、データブロック分割プロセスをより鮮明に説明するために提案される論理的概念であり、実際には存在し得ないことが理解され得る。
【００７１】
図５に示されるシステムアーキテクチャに基づいて、Ｓ１０２は、アド／ドロップノード１が、クライアントデバイス１により送信されるクライアントサービス１、クライアントデバイス２により送信されるクライアントサービス２およびクライアントデバイス３により送信されるクライアントサービス３を受信し、クライアントサービス１、２および３を複数の固定長データブロックへと等しく分割し、各データブロックを用いて、１つのスライスを生成することを含み得る。次に、アド／ドロップノード１は、クライアントサービス１の各スライスを送信ノード１に出力し、クライアントサービス２の各スライスを送信ノード１に出力し、クライアントサービス３の各スライスを送信ノード２に出力する。
【００７２】
１または複数のデータパケットまたは連続するデータストリームを受信した場合、アド／ドロップノード１は、一連の受信時間に従って、受信したデータパケットまたは連続するデータストリームを複数のデータブロックへと分割し得る。各データブロックは、固定長を有し得る。すなわち、アド／ドロップノード１は、任意の送信エンドクライアントデバイスにより送信される任意の受信クライアントサービスを、複数の固定長データブロックへと等しく分割する。説明を容易にするために、当該データブロックが固定長を有する例が、本願における説明のために用いられる。実際の実装では、異なるデータブロックの長さは、等しくなり得ない。本明細書における「データブロック」は、クライアントサービスを含み、任意選択的に、クライアントサービスのいくつかの関連情報等をさらに含み得ることが理解され得る。
【００７３】
例えば、固定長データブロックの長さは１２３バイトであると仮定する。クライアントサービスの帯域幅が２Ｍｂｐである場合、アド／ドロップノード１に入力されるデータブロックの平均レートは、２Ｍｂｐ／１２３バイトデータブロック／秒である。すなわち、アド／ドロップノード１のトリビュタリ処理ユニットがコンテナを形成する場合、平均で毎秒２Ｍｂｐ／１２３バイトのデータブロックが生成される。クライアントサービスの帯域幅が４Ｍｂｐである場合、アド／ドロップノード１に入力されるデータブロックの平均レートは、４Ｍｂｐ／１２３バイトデータブロック／秒である。
【００７４】
データブロックの処理（例えば、交換および送信）中に（第１のアド／ドロップノード、第２のアド／ドロップノードおよび／または送信ノードを含む）ベアラネットワークデバイスがデータブロックを認識することを可能にするために、本願の実施形態において、アド／ドロップノード１は、受信したデータパケットまたは連続するデータストリームを複数の固定長データブロックへと分割した後に、１つのラベル（ｌａｂｅｌ）を各データブロックに追加し得る。送信エンドクライアントデバイスによりアド／ドロップノード１へ送信される異なるタイプのクライアントサービスの送信フォーマットは異なり得るので、実装を容易にするために、本願は、図７に示されるように、データブロックのフォーマットを提供する。アド／ドロップノード１へ送信される任意のタイプのクライアントサービスのフォーマットは、図７に示されるフォーマットに変換され得る。図７において、データブロックのフォーマットは、ラベルおよびペイロードエリアを含み得る。任意選択的に、データブロックのフォーマットは、周期的冗長検査（ｃｙｃｌｉｃ  ｒｅｄｕｎｄａｎｃｙ  ｃｈｅｃｋ、ＣＲＣ）エリアをさらに含み得る。
【００７５】
ラベルは、グローバルラベルであり得るか、またはラインインタフェースローカルラベルであり得る。グローバルラベルは、システムにおける各デバイスにより認識可能なラベルであり得る。ラインインタフェースローカルラベルは、互いに直接通信する２つのデバイスにより認識可能なラベルであり得る。グローバルラベルと比較すると、ラインインタフェースローカルラベルは、より少ないビット数を占有する。ラベルがラインインタフェースローカルラベルである例が、以下で説明のために用いられる。データブロックのラベルはさらに、異なるクライアントサービスを区別するために用いられ得ることが理解され得る。データブロックのラベルは、制御層により構成され得る。ペイロードエリアは、クライアントサービスを保持するために用いられ、任意選択的に、さらに、クライアントサービスのいくつかの関連情報等を保持するために用いられ得る。ＣＲＣエリアは、チェックビットを保持するために用いられる。チェックビットは、ペイロードエリアにおいて保持される情報の完全性をチェックするために用いられ得る。当然ながら、具体的な実装において、完全性のチェックは、代替的に別の方式で実装され得るが、これは、ＣＲＣに限定されない。
【００７６】
ラベル、ペイロードエリアまたはＣＲＣエリアのいずれか１つにより占有されるビットのサイズは、本願において限定されない。図７において、ラベルが４バイト（Ｂｙｔｅ）を占有し、ペイロードエリアが１２３バイトを占有し、ＣＲＣエリアが１バイトを占有する例が、説明のために用いられる。図７に示される「データブロック」を、受信したクライアントサービスをアド／ドロップノード１が分割する「データブロック」と区別するために、本願では、（図７に示される）ラベルを含むデータブロックは、「スライス」と称されることに留意すべきである。各データブロックは、１つのスライスに対応し、各データブロックは、当該データブロックに対応するスライスのペイロードエリアにおいて保持される情報とみなされ得る。
【００７７】
任意選択的に、１アド／ドロップノード１の入力端と出力端との間に１対多の関係がある場合、例えば、異なる経路を用いて、１つのクライアントサービスが異なる受信エンドクライアントデバイスへ送信される場合、アド／ドロップノード１がデータブロックを処理する手順は、アド／ドロップノード１が、ラベルをデータブロックに追加し、ルーティング情報に従って、当該ラベルをラベルｂで置換し、ＣＲＣを再計算することを含み得る。ラベルの置換は、アド／ドロップノード１におけるトリビュタリ処理ユニット、サービス切り替えユニットまたはライン処理ユニットのいずれか１つにより実行され得る。具体的な実装プロセスが図８に示され得る。
【００７８】
図９は、Ｓ１０２の実装プロセスの概略図を示す。図９において、アド／ドロップノード１のトリビュタリ処理ユニット３１が、受信したデータパケットまたは連続するデータストリームを複数のデータブロックへと分割し、各データブロックを用いて１つのスライスを生成する例が、説明のために用いられる。
【００７９】
Ｓ１０３．送信ノードが、第１のアド／ドロップノードにより送信される、クライアントサービスのスライスを受信し、ルーティング情報に従って、受信したスライスに対して交換オペレーションを実行し、交換されたスライスが属する、各々が１つのキャッシュキューに対応するクライアントサービスに従って、交換されたスライスをキャッシュし、各クライアントサービスのスライスに対してレート監視オペレーションを別個に実行し、レート監視対象クライアントサービスに対してポリシスケジューリングオペレーション、レート適合オペレーション等を実行し、前述のオペレーションが実行されるスライスを次のルーティングノードへ送信する。次のルーティングノードは、次の送信ノードまたは第２のアド／ドロップノードであり得る。次のルーティングノードが第２のアド／ドロップノードである場合、Ｓ１０４が実行される。次のルーティングノードが送信ノードである場合、送信ノードは、次のルーティングノードが第２のアド／ドロップノードになるまでＳ１０３を実行し続け、次に、Ｓ１０４が実行される。
【００８０】
キャッシュスペースは通常、全てのキャッシュキューにより共有されることが理解され得る。送信ノードが送信ノードのベアラ能力範囲内でクライアントサービスを受信する度に、送信ノードは、キャッシュキューをクライアントサービスのために割り当て得る。
【００８１】
図５に示されるシステムアーキテクチャに基づいて、第２のアド／ドロップノードは、アド／ドロップノード２およびアド／ドロップノード３を含み得る。Ｓ１０３は、送信ノード１が、アド／ドロップノード１により送信されるクライアントサービス１および２のスライスを受信し、クライアントサービス１および２のスライスをアド／ドロップノード２へ送信し、送信ノード２が、アド／ドロップノード１により送信されるクライアントサービス３のスライスを受信し、クライアントサービス３のスライスをアド／ドロップノード３へ送信することを含み得る。
【００８２】
送信ノードが、ルーティング情報に従って、受信したスライスに対して交換オペレーションを実行することは、送信ノードが、ルーティング情報に従って、スライスの次のルーティングノードを決定し、次に、交換オペレーションを実行することを含み得ることが理解され得る。任意選択的に、データブロックのラベルがラインインタフェースローカルラベルである場合、送信ノードはさらに、交換オペレーションを実行するプロセスにおいてラベル置換動作を実行する必要がある。例えば、図５に示されるシステムアーキテクチャに基づいて、アド／ドロップノード１により送信ノード２へ送信されるクライアントサービス３のデータブロックラベルがラベルｂである場合、送信ノード２は、交換オペレーションを実行するプロセスにおいてラベルｂをラベルｃで置換し得、任意選択的に、送信ノード２は、データブロックのＣＲＣを再計算し得る。当該プロセスの具体的な実装については、図８を参照されたい。ラベルｂは、アド／ドロップノード１および送信ノード２により認識可能なラベルであり、ラベルｃは、送信ノード２およびアド／ドロップノード３により認識可能なラベルである。
【００８３】
本願の例では、送信ノードは、クライアントサービスのスライスを受信した後に、スライスに含まれるＣＲＣに従って、完全性チェックを実行し得、当該チェックが成功した場合、レート監視、ポリシスケジューリングおよびレート適応化を実行する。任意選択的に、当該チェックが失敗した場合、スライスは破棄される。
【００８４】
送信ノードの概略構造図が図４に示される場合、交換オペレーションはサービス切り替えユニット４２により実行され得、キャッシュオペレーションはキューキャッシュモジュール４３１により実行され得、レート監視オペレーションはレート監視モジュール４３２により実行され得、ポリシスケジューリングオペレーションはポリシスケジューリングモジュール４３３により実行され得、レート適合オペレーションはレート適合モジュール４３４により実行され得ることが理解され得る。レート監視オペレーション、ポリシスケジューリングオペレーションおよびレート適合オペレーションの関連する説明および具体的な実装については、以下の説明を参照されたい。
【００８５】
図１０は、Ｓ１０３の実装プロセスの概略図を示す。図１０において、送信ノードの２つの入力端に入力される複数のクライアントサービスが１つの出力端へ送信される例が、説明のために用いられる。小さい矩形グリッドの各々は１つのスライスを表し、小さい陰影付きグリッドの各々は１つのクライアントサービスを表し、キャッシュキューにおける小さいブランクグリッドの各々は、キャッシュキューに格納されているスライスがないことを表す。キューのキャッシュおよびレート監視は、各クライアントサービスに対して別個に実行される。ポリシスケジューリングおよびレート適応化が複数のクライアントサービスに対して一様に実行された後に、複数のクライアントサービスは、出力端から出力される。
【００８６】
Ｓ１０４．第２のアド／ドロップノードが、送信ノードにより送信される、クライアントサービスのスライスを受信し、各スライスにおけるデータブロックを取得し、一連の受信時間において同じクライアントサービスのデータブロックをデータパケットの形式または連続するデータストリームの形式に復元し、クライアントサービスを対応する受信エンドクライアントデバイスへ送信する。受信エンドクライアントデバイスは、第２のアド／ドロップノードにより送信されるクライアントサービスを受信する。
【００８７】
図５に示されるシステムアーキテクチャに基づいて、Ｓ１０４は、アド／ドロップノード２が、送信ノード１により送信されるクライアントサービス１のスライス受信し、クライアントサービス１のスライスをデータパケットの形式または連続するデータストリームの形式に復元し、データパケットまたは連続するデータストリームをクライアントデバイス４へ送信することを含み得る。クライアントデバイス４は、アド／ドロップノード２により送信されるクライアントサービス１を受信する。アド／ドロップノード２は、送信ノード１により送信されるクライアントサービス２のスライスを受信し、クライアントサービス２のスライスをデータパケットの形式または連続するデータストリームの形式に復元し、データパケットまたは連続するデータストリームをクライアントデバイス５へ送信する。アド／ドロップノード３は、送信ノード２により送信されるクライアントサービス３のスライスを受信し、クライアントサービス３のスライスをデータパケットの形式または連続するデータストリームの形式に復元し、データパケットまたは連続するデータストリームをクライアントデバイス５へ送信する。クライアントデバイス５は、アド／ドロップノード３により送信されるクライアントサービス２および３を受信する。
【００８８】
本願の例では、第２のアド／ドロップノードは、クライアントサービスのスライスを受信した後に、スライスに含まれるＣＲＣに従って、完全性チェックを実行し得、当該チェックが成功した場合、スライスにおけるラベルを削除し、スライスにおけるデータブロックを取得する。
【００８９】
Ｓ１０４の具体的な実装プロセスの概略図は、図９のプロセスとは逆であり得る。
【００９０】
以下では、Ｓ１０３におけるレート監視、ポリシスケジューリングおよびレート適応化などのオペレーションを説明する。
【００９１】
１．レート監視
【００９２】
レート監視は、本願において提供されるクライアントサービスの出力レートを制御するための技術であり、輻輳の発生確率を低減し、さらには、輻輳の発生を回避するのに役立つ。具体的には、複数のカウンタが送信ノードに設定され、各クライアントサービスは、１つのカウンタに対応し得、各カウンタは、クライアントサービスの出力レートを制御するために用いられる。次に、複数のデータブロックが、複数の送信期間において送信される。各送信期間において、カウンタのカウント値が、予め設定された閾値に達した場合、複数のデータブロックの少なくとも１つのデータブロックが送信される。カウンタは、ソフトウェアまたはハードウェアにより実装され得、このことは、本願において限定されない。送信ノードは、各クライアントサービスに対してレート監視を別個に実行し得る。
【００９３】
本願の例では、レート監視は、クライアントサービスの出力レートに対して実行される。図１１に示されるように、各送信期間において、（具体的には、送信ノードにおけるレート監視モジュール４３２であり得る）送信ノードは、以下の段階Ｓ２０１からＳ２０５を実行し得る。
【００９４】
Ｓ２０１．カウンタの各カウント期間において、カウンタのカウント値を、予め設定された閾値以下であるＣだけ上げる。
【００９５】
Ｓ２０２．カウンタのカウント値が予め設定された閾値に達しているかどうかを判断する。
【００９６】
カウンタのカウント値が予め設定された閾値に達している場合、Ｓ２０３が実行され、または、カウンタのカウント値が予め設定された閾値に達していない場合、Ｓ２０１が実行される。
【００９７】
Ｓ２０３．クライアントサービスのキャッシュキューがカウンタに対応するクライアントサービスのデータブロックをキャッシュしているかどうかを判断する。
【００９８】
クライアントサービスのキャッシュキューがカウンタに対応するクライアントサービスのデータブロックをキャッシュしている場合、Ｓ２０４が実行される。クライアントサービスのキャッシュキューがカウンタに対応するクライアントサービスのデータブロックをキャッシュしていない場合、Ｓ２０５が実行される。
【００９９】
Ｓ２０４．キャッシュキューから少なくとも１つのデータブロックを取得し、少なくとも１つのデータブロックを送信する。
【０１００】
Ｓ２０４が実行された後に、この送信期間が終了する。
【０１０１】
Ｓ２０５がカウンタのカウントを停止させる。
【０１０２】
Ｓ２０５が実行された後に、Ｓ２０３が実行される。
【０１０３】
レート監視を実行するプロセスにおいて、送信ノードは、第１のアド／ドロップノードにより送信されるクライアントサービスを連続的または不連続的に受信するか、または別の送信ノードにより送信されるクライアントサービスを定期的に受信することが理解され得る。従って、キャッシュキューが、クライアントサービスをキャッシュしないときは、Ｓ２０５が実行された後に、Ｓ２０３が実行される。この場合、キャッシュキューがクライアントサービスをキャッシュ済みであり得ることにより、Ｓ２０４が実行され得る。加えて、具体的な実装において、時間間隔の長さも設定され得る。このように、カウンタが長さのカウントを停止した場合において、Ｓ２０３が実行されるときは、キャッシュキューは、依然としてクライアントサービスをキャッシュしておらず、このことは、クライアントサービスの送信が終了したものとみなされ得る。長さの具体的な値は、本願において限定されない。
【０１０４】
前述のＳ２０１からＳ２０５は、１つの送信期間におけるレート監視プロセスを説明している。複数の送信期間においては、任意選択的に、カウンタは、各送信期間において初期値からカウントを開始する。異なる送信期間の初期値は、同じであり得るか、または異なり得る。本願の実施形態において、（ｉ＋１）番目の送信期間において、カウンタの初期値は、ｉ番目の送信期間の終了時のカウンタのカウント値から予め設定された閾値を減算することにより取得される値であり、ｉは１以上の整数である。本願の別の実施形態では、各送信期間において、カウンタの初期値は、予め設定された閾値未満の固定値、例えば、０であり得る。
【０１０５】
送信期間は、データブロックを送信する２つの連続する時点の間の時間間隔を指す。１または複数のデータブロックが毎回送信され得る。送信期間は、予め設定された値ではないことがあり、カウンタのカウント値に関連する。さらに、カウント値が予め設定された閾値に達している場合、送信期間は、クライアントサービスがキャッシュされているかどうかに関連する。任意の２つの送信期間内で、カウント値が予め設定された閾値に達している場合において、キャッシュキューがクライアントサービスをキャッシュしているときは、２つの送信期間は等しい。あるいは、カウント値が予め設定された閾値に達しているが、カウンタがカウントを停止する期間が等しい場合、キャッシュキューは、クライアントサービスをキャッシュせず、２つの送信期間は等しい。カウント値が予め設定された閾値に達している場合において、キャッシュキューがクライアントサービスをキャッシュしていないときは、カウンタがカウントを停止する期間は等しくなく、２つの送信期間は等しくない。
【０１０６】
カウント値が予め設定された閾値に達している場合において、キャッシュキューがクライアントサービスをキャッシュしているときは、送信期間は、カウント期間の予め設定された数と等しく、カウント値が予め設定された閾値に達している場合において、キャッシュキューがクライアントサービスをキャッシュしていないときは、送信期間は、カウント期間およびカウントを停止する長さの予め設定された数と等しいことが理解され得る。このことに基づいて、本願において提供されるレート監視プロセスは、カウンタのカウント値が予め設定された閾値に達している場合、クライアントサービスを送信するための１回の機会がある、すなわち、送信ノードには、クライアントサービスのデータブロックを送信するための１回の機会があることが理解され得る。少なくとも１つのデータブロックが、各送信機会において送信され得る。このことに基づいて、データブロックの出力レートが制御される。すなわち、クライアントサービスの出力レートが制御される。
【０１０７】
全ての送信期間において送信されるデータブロックの数は、同じであり得るか、または異なり得る。出力レートが特定の範囲内で一定であることを保証するために、本願では「データブロック送信期間」という概念が導入されている。データブロック送信期間は、１または複数の送信期間を含み得る。全てのデータブロック送信期間において送信されるデータブロックの数は同じである。
【０１０８】
例えば、各データブロック送信期間は、２つの送信期間を含み、１つのデータブロックが２つの送信期間の１つにおいて送信され、２つのデータブロックが他の送信期間において送信される。この場合、複数の送信期間において送信されるデータブロックの数は、１、２、１、２、１、２、…または１、２、２、１、１、２、１、２、２、１であり得る。データブロックの出力レートがデータブロック送信期間当たり一定であることを保証すべく、各送信期間において送信されるデータブロックの数を制御することにより、全てのデータブロック送信期間において送信されるデータブロックの数を同じにし得ることが、この例から理解され得る。データブロックの実際の出力レートは、一定の出力レート未満であることが理解され得る。従って、各送信期間の長さおよび各送信期間において送信されるデータブロックの数が制御されることを条件として、一定の出力レートが維持され得る。このことは、出力ラインインタフェースでの輻輳の発生確率を低減するのに役立つ。
【０１０９】
別の例では、各データブロック送信期間は、１つの送信期間を含み、２つのデータブロックが当該送信期間において送信される。この場合、複数の送信期間において送信されるデータブロックの数は、２、２、２、…であり得る。この例では、データブロック送信期間は送信期間と等しいことが理解され得る。従って、各送信期間の長さおよび各送信期間において送信されるデータブロックの数が制御されることを条件として、一定の出力レートが維持され得る。このことは、出力ラインインタフェースでの輻輳の発生確率を低減するのに役立つ。
【０１１０】
カウント期間は、カウンタのカウント値を毎回更新するために必要とされる期間を指す。実際の実装では、カウント期間は、パルス信号を用いて実装され得る。例えば、パルス周期がカウント期間と等しい場合、カウンタのカウント値は、各パルス周期でＣだけ上がる。任意選択的に、カウント期間は、ラインインタフェースのデータブロック送信時間と等しくなり得る。例えば、出力ラインインタフェース帯域幅が１００Ｇｂｐであり、データブロックが位置するスライスの長さが１２８バイトである場合、ラインインタフェースのデータブロック送信時間は、１２８バイト／１００Ｇｂｐ＝１０．２４ｎｓ（ナノ秒）である。当然ながら、カウント期間は、代替的に、ラインインタフェースのデータブロック送信時間より大きいことがあり得る。
【０１１１】
カウンタのカウント値の物理的意味は、本願において限定されない。以下では、いくつかの実装を列挙する。
【０１１２】
方式１：Ｃは、カウント回数の数である。この場合、カウンタのカウント値は、各カウント期間において１だけ上げられる。予め設定された閾値の値は、以下のとおり、方式２での値変換により取得され得る。詳細は、ここでは改めて説明されない。当然ながら、予め設定された閾値の値は、代替的に、別の方式で取得され得、このことは、本願において限定されない。
【０１１３】
方式２：Ｃは、クライアントサービスの帯域幅に従って決定される。この場合、任意選択的に、予め設定された閾値は、出力ラインインタフェース帯域幅に従って決定される。
【０１１４】
任意選択的に、Ｃは、クライアントサービスの帯域幅と単位帯域幅との比であり、予め設定された閾値は、出力ラインインタフェース帯域幅と単位帯域幅の調整値との比である。単位帯域幅の調整値は、単位帯域幅以上である。実装を容易にするために、予め設定された閾値は、整数に設定され得ることに留意すべきである。この場合、出力ラインインタフェース帯域幅と単位帯域幅の調整値との比が非整数である場合、予め設定された閾値は、非整数を切り下げることにより取得される整数であり得る。当然ながら、具体的な実装において、予め設定された閾値は、代替的に、非整数に設定され得、このことは、本願において限定されない。
【０１１５】
単位帯域幅のより大きい調整値は、より小さい決定される予め設定された閾値を示すことが理解され得る。この場合、カウンタのカウント値は、予め設定された閾値により容易に達する。従って、より短い送信期間は、より多い送信機会とより高い出力レートとを示す。加速度は、クライアントサービスの出力レートのわずかな突然の変化をなくすことにより、輻輳の発生を回避することが意図されている。
【０１１６】
本願の例では、Ｃがクライアントサービスの帯域幅と単位帯域幅との比である場合、予め設定された閾値は、出力ライン帯域幅（すなわち、ライン物理レート）以下であり得、加速係数により乗算される単位帯域幅の整数倍の値である。例えば、単位帯域幅が２Ｍｂｐであり、クライアントサービスの帯域幅が１０Ｍｂｐである場合、Ｃは、１０Ｍｂｐ／２Ｍｂｐ＝５であり得る。出力ラインインタフェース帯域幅が１００Ｇｂｐであり、単位帯域幅の調整値が単位帯域幅の１００１／１０００である、すなわち、加速係数が１００１／１０００である場合、（Ｐとしてマークされる）予め設定された閾値は、１００Ｇｂｐ／（２Ｍｂｐ×１００１／１０００）を切り下げることにより取得される値、すなわち、４９９５０であり得る。言い換えると、本願において、レート監視を通じて、データブロックのリアルタイムの出力レートは、おおよそ、クライアントサービスの帯域幅以下であり得る。このことに基づいて、制御層は、出力ラインインタフェース帯域幅で送信されるクライアントサービスの帯域幅の和以下になるように、送信ノードの出力ライン帯域幅の和を制御し得る。従って、クライアントサービスの各々が前述の方法に従って制御される場合、このことは、出力ライン帯域幅での輻輳の発生確率を低減するのに役立つ。
【０１１７】
本願の例では、カウンタのカウント値は、任意の送信期間の各カウント期間においてＣだけ上げられる。カウンタのカウント値がＰに達した場合、クライアントサービスを送信する１回の機会がある。クライアントサービスに対応するキャッシュキューがクライアントサービスをキャッシュした場合、クライアントサービスの少なくとも１つのデータブロックが送信される。この時点で、この送信期間は終了する。クライアントサービスに対応するキャッシュキューがクライアントサービスをキャッシュしていない場合、カウンタは、カウントを停止し、キャッシュキューがクライアントサービスをキャッシュした場合、この送信期間は終了する。この送信期間の終了時に、カウンタのカウント値は、初期値に設定される。この時点で、次の送信期間が開始する。
【０１１８】
このプロセスは、図１２に示されるプロセスを用いて実装され得る。図１２において、レート監視モジュール４３２に配置されたトリガ済み飽和リーキーバケット飽和リーキーバケットは、制御モジュールと等しいことがある。制御モジュールは、各パルス周期でＣだけ上があるようカウンタのカウント値を制御し得る。カウンタのカウント値がＰに達した場合において、キューキャッシュモジュール４３１により送信された非ナルインジケーションが検出されたときは、キャッシュキューにおける少なくとも１つのデータブロックは、ポリシスケジューリングモジュール４３３に出力されるよう制御される。任意選択的に、トリガ済み飽和リーキーバケット飽和リーキーバケットは、リソーススケジューリングを要求すべく、スケジューリング要求をポリシスケジューリングモジュール４３３へ送信し得る。
【０１１９】
２．ポリシスケジューリング
【０１２０】
送信ノードは、各クライアントサービスに対してレート監視を別個に実行し、送信ノードに入力された異なるクライアントサービスは、同じ出力端に交換され得る。従って、異なるクライアントサービスのデータブロックがレート監視モジュール４３２から同時に出力され、同じ出力端に入力される場合があり得る。これにより、輻輳が生じ、結果的に、いくつかのデータブロックが失われる。このことに基づいて、本願は、レート監視オペレーションの後かつ出力の前に、追加のポリシスケジューリングオペレーションを提供する。ポリシスケジューリングは、異なるクライアントサービスの優先順位が異なるクライアントサービスの遅延要件に従って決定され、異なるクライアントサービスは、当該優先順位に従って送信ノードから出力されるスケジューリング技術である。具体的には、ポリシスケジューリングは、レート監視モジュール４３２から同時に出力され、同じ出力端に入力される異なるクライアントサービスのために設計されたスケジューリング技術である。任意選択的に、ポリシスケジューリングは、以下の内容を含み得る。
【０１２１】
クライアントサービスの任意の複数のスライスについては、複数のスライスがポリシスケジューリングモジュール４３３に次々に入力された場合、複数のスライスは、一連の入力時間で出力される。複数のスライスがポリシスケジューリングモジュール４３３に同時に入力された場合、複数のスライスは、属するクライアントサービスの絶対優先順位（ｓｔｒｉｃｔ  ｐｒｉｏｒｉｔｙ、ＳＰ）に従って出力される。より高い優先順位のクライアントサービスのスライスは、より低い優先順位のクライアントサービスのスライスの前に出力される。任意の複数のスライスが属するクライアントサービスの優先順位が同じである場合、これらのスライスは、ラウンドロビン（ｒｏｕｎｄ  ｒｏｂｉｎ、ＲＲ）方式で出力される。このプロセスの概略図が図１３に示される。図１３は、第１優先順位、第２優先順位および第３優先順位を示す。第１優先順位は第２優先順位よりも高く、第２優先順位は第３優先順位よりも高い。図１３において、「Ｈ」は、ＳＰに準拠した２つのクライアントサービスのうちの高い方の優先順位のクライアントサービスを示し、「Ｌ」は、ＳＰに準拠した２つのクライアントサービスのうちの低い方の優先順位のクライアントサービスを示す。
【０１２２】
具体的な実装において、送信ノードがポリシスケジューリングを実行する前の任意の段階において、方法は、送信ノードが、クライアントサービスの予測送信遅延に従ってクライアントサービスの優先順位を決定する段階をさらに含み得る。予測送信遅延は、実際の要件に従って設定される予測値であり、予め設定された値であり得る。異なるクライアントサービスの予測送信遅延は、同じであり得るか、または異なり得る。異なるシナリオにおける同じクライアントサービスの予測送信遅延は、同じであり得るか、または異なり得る。任意選択的に、各優先順位レベルは、１つの予測送信遅延範囲に対応し得る。例えば、予測送信遅延が５μｓ（マイクロ秒）以下であるクライアントサービスの優先順位は、第１優先順位であり、予測送信遅延が２０μｓ（マイクロ秒）以下であるクライアントサービスの優先順位は、第２優先順位であり、予測送信遅延が５０μｓ（マイクロ秒）以下であるクライアントサービスの優先順位は、第３優先順位である。第１優先順位は第２優先順位よりも高く、第２優先順位は第３優先順位よりも高い。例えば、クライアントサービスの予測送信遅延が５μｓである場合、第１優先順位のみが、予測送信遅延を常に満たし得る。第２優先順位などの別の優先順位は、予測送信遅延を満たすことがあり得るが、予測送信遅延を常には満たし得ない。従って、クライアントサービスの優先順位は第１優先順位である。別の例は列挙されない。
【０１２３】
本願において提供されるレート監視方法に基づいて、本願の例において、制御層は、異なりクライアントサービスの遅延要件を満たすべく、クライアントサービスの遅延要件およびシステムのサポート能力に従って、対応する送信リソースを割り当て得る。例えば、出力ラインインタフェース帯域幅が１００Ｇｂｐであり、送信ノードが１つのデータブロックをスケジューリングするための時間が１０．２４ｎｓであり、サービス切り替えモジュールを用いてデータブロックを送信ノードの入力端から対応するキャッシュキューへ交換するための時間が３μｓ未満であると仮定する。この場合において、予測送信遅延が５μｓ未満であるときは、クライアントサービスの優先順位は、第１優先順位である。厳格なレート監視が実行された後のクライアントサービスは輻輳し得ないので、送信遅延の導入は、第１優先順位クライアントサービスのクライアントサービスパイプの数（すなわち、第１優先順位クライアントサービスの数）のみに関連する。システムは、送信遅延が５μｓ未満である、最高で（５μｓ−３μｓ）／１０．２４ｎｓ＝１９５個のクライアントサービスをサポートし得る。すなわち、割り当てられた全ての第１優先順位クライアントサービスパイプの数が１９５を超えない場合、送信遅延が５μｓ以内であることが保証され得る。第２優先順位クライアントサービスについては、予測送信遅延が２０μｓ未満である場合、システムは、同じ方法に従って、送信遅延が２０μｓ未満である、（２０μｓ−３μｓ）／１０．２４ｎｓ＝１６６０個のクライアントサービスパイプをサポートし得る。１９５個の第１優先順位キューが存在し得ることを考慮して、システムは、システムによりサポートされ得る第３優先順位クライアントサービスの数と、システムによりサポートされ得る第４優先順位クライアントサービスの数とを取得すべく、送信遅延が２０μｓ未満等である１６６０−１９５＝１４６５個のクライアントサービスをサポートし得る。このように、対応する送信リソースは、異なるクライアントサービスの遅延要件を満たすべく、クライアントサービスの送信遅延要件およびシステムのサポート能力に従って割り当てられ得る。
【０１２４】
３．レート適応化
【０１２５】
加速度などの因子の影響に起因して、出力ラインインタフェース帯域幅は、出力ラインインタフェースにより送信される全てのクライアントサービスの帯域幅の和より大きい。従って、レート適応化が必要である。具体的には、特定の時点での全てのクライアントサービスのリアルタイム出力レートの和が出力ラインインタフェース帯域幅未満である場合、無効なデータブロックは、この時点で埋められ、全てのクライアントサービスと共に出力される。レート適応化プロセスにおいて埋められる無効なデータブロックは、データブロックと同じフォーマットであり得、特別なラベルを用いて識別されるか、または、別の長さまたは別のフォーマットのデータブロックが用いられ得る。このことは、本願において限定されない。
【０１２６】
上記は、主にネットワーク要素間のインタラクションの観点から、本願の実施形態において提供される解決手段を説明している。前述の機能を実装するために、アド／ドロップノード、送信ノードまたはクライアントデバイスなどの各ネットワーク要素は、各機能を実行するための対応するハードウェア構造および／またはソフトウェアモジュールを含むことが理解され得る。当業者であれば、本明細書において提供される実施形態を参照して説明される例におけるユニットおよびアルゴリズム段階は、本願におけるハードウェアまたはハードウェアとコンピュータソフトウェアとの組み合わせの形態で実装され得ることを容易に認識するはずである。ある機能が、ハードウェアにより実行されるか、またはコンピュータソフトウェアがハードウェアを駆動する方式で実行されるかは、技術的解決手段の具体的な用途および設計上の制約条件によって決まる。当業者であれば、異なる方法を用いて、説明された機能を具体的な用途の各々のために実装し得るが、このことは、当該実装が本願の範囲を越えるものとみなされるべきではない。
【０１２７】
本願の実施形態において、機能モジュールの分割は、前述の方法の例に従って、アド／ドロップノード、送信ノードまたはクライアントデバイス上で実行され得る。例えば、各機能モジュールが、対応する機能に従って、分割により取得され得るか、または、少なくとも２つの機能が、１つの処理モジュールに統合され得る。前述の統合されたモジュールは、ハードウェアの形態で実装されても、ソフトウェア機能モジュールの形態で実装されてもよい。本願の実施形態におけるモジュールの分割は例であり、論理機能の分割に過ぎず、実際の実装では他の分割であってもよいことに留意すべきである。
【０１２８】
例えば、各機能モジュールが、対応する機能に従って分割により取得される場合、図１４は、（具体的には、前述の実施形態において提供される送信ノードまたはアド／ドロップノードであり得る）クライアントサービス送信装置の可能な概略構造図を示す。クライアントサービス送信装置は、受信ユニット５０１および送信ユニット５０２を含み得る。
【０１２９】
受信ユニット５０１は、クライアントサービスを受信するように構成され得る。クライアントサービスは、複数のデータブロックを含み、クライアントサービスは、カウンタに対応し、カウンタは、クライアントサービスの出力レートを制御するために用いられる。
【０１３０】
送信ユニット５０２は、複数のデータブロックを複数の送信期間において送信するように構成され得る。カウンタのカウント値が各送信期間における予め設定された閾値に達した場合、複数のデータブロックの少なくとも１つのデータブロックが送信される。
【０１３１】
任意選択的に、クライアントサービス送信装置は、制御ユニット５０３をさらに含み得る。制御ユニット５０３は、カウンタのカウント値が各送信期間における予め設定された閾値に達する前に、カウンタのカウント値をカウンタの各カウント期間においてＣだけ上げるように構成される。Ｃは、予め設定された閾値以下である。
【０１３２】
任意選択的に、Ｃは、クライアントサービスの帯域幅に従って決定され、予め設定された閾値は、出力ラインインタフェース帯域幅に従って決定される。任意選択的に、Ｃは、クライアントサービスの帯域幅と単位帯域幅との比であり、予め設定された閾値は、出力ラインインタフェース帯域幅と単位帯域幅の調整値との比であり、単位帯域幅の調整値は、単位帯域幅以上である。
【０１３３】
任意選択的に、カウンタは、各送信期間において初期値からカウントを開始する。
【０１３４】
任意選択的に、（ｉ＋１）番目の送信期間において、カウンタの初期値は、ｉ番目の送信期間の終了時のカウンタのカウント値から予め設定された閾値を減算することにより取得される値であり、ｉは１以上の整数である。
【０１３５】
任意選択的に、制御ユニット５０３はさらに、カウンタのカウント値が各送信期間における予め設定された閾値に達した場合において、クライアントサービスがキャッシュされていないときは、カウンタのカウントを停止するように構成され得る。
【０１３６】
任意選択的に、クライアントサービス送信装置は、クライアントサービスをキャッシュキューに格納するように構成されるストレージユニット５０４と、カウンタのカウント値が予め設定された閾値に達した場合、キャッシュキューから少なくとも１つのデータブロックを取得するように構成される取得ユニット５０５とをさらに含み得る。
【０１３７】
任意選択的に、複数のデータブロックの各データブロックは、固定長を有する。
【０１３８】
任意選択的に、送信ユニット５０２は具体的には、クライアントサービスの優先順位に従って、複数のデータブロックの少なくとも１つのデータブロックを送信するように構成され得る。より短い予測送信遅延は、より高い優先順位を示す。
【０１３９】
前述の方法の実施形態における段階の関連する内容の全ては、対応する機能モジュールの機能の説明に引用され得る。詳細はここでは説明されない。
【０１４０】
本願の実施形態において、クライアントサービス送信装置は、対応する機能に従って分割により取得される機能モジュールの形態で示されるか、または、統合方式での分割により取得される機能モジュールの形態で示される。本明細書における「ユニット」は、ＡＳＩＣ、回路、１または複数のソフトウェアまたはファームウェアプログラムを実行するプロセッサ、メモリ、集積論理回路、および／または前述の機能を提供し得る別のコンポーネントであり得る。
【０１４１】
単純な実施形態において、当業者であれば、前述のクライアントサービス送信装置は、図２に示される形態で実装され得ることに想到し得る。例えば、図１４における受信ユニット５０１および送信ユニット５０２は、図２における通信インタフェース２３を用いて実装され得る。図１４におけるストレージユニット５０４は、図２におけるメモリ２２を用いて実装され得る。図１４における制御ユニット５０３および取得ユニット５０５は、メモリ２２に格納されたアプリケーションプログラムコードを呼び出すよう、図２におけるプロセッサ２１を用いて実装され得る。本願の本実施形態によっては、これらに対していかなる限定も課されない。
【０１４２】
機能モジュールの分割は、図４または図５に示されるクライアントサービス送信装置および図１４に示されるクライアントサービス送信装置に対して異なる観点から実行されることが理解され得る。例えば、図１４における制御ユニット５０３、ストレージユニット５０４および取得ユニット５０５は、図４における宛先ライン処理ユニット４３を用いて実装され得る。具体的には、制御ユニット５０３は、図５におけるレート監視モジュール４３２を用いて実装され得、ストレージユニット５０４および取得ユニット５０５は、図５におけるキューキャッシュモジュール４３１を用いて実装され得る。
【０１４３】
前述の実施形態の全てまたはいくつかは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせにより実装されてよい。ソフトウェアプログラムが実施形態を実装するために用いられる場合、実施形態は、全体的または部分的に、コンピュータプログラム製品の形態で実装され得る。コンピュータプログラム製品は、１または複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上でロードおよび実行された場合、本願の実施形態による手順または機能は、全体的または部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワークまたは別のプログラム可能な装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納されても、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体へ伝送されてもよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバまたはデータセンタから、別のウェブサイト、コンピュータ、サーバまたはデータセンタへ、有線方式（例えば、同軸ケーブル、光ファイバ）もしくはデジタル加入者線（ｄｉｇｉｔａｌ  ｓｕｂｓｃｒｉｂｅｒ  ｌｉｎｅ、ＤＳＬ）で、または無線方式（例えば、赤外線、電波、またはマイクロ波）で伝送され得る。コンピュータ可読記憶媒体は、コンピュータがアクセス可能な任意の使用可能な媒体であっても、１または複数の使用可能な媒体を統合したサーバデータセンタなどのデータストレージデバイスであってもよい。この使用可能な媒体は、磁気媒体（例えば、フロッピーディスク（登録商標）、ハードディスクまたは磁気テープ）、光媒体（例えば、ＤＶＤ）、半導体媒体（例えば、ソリッドステートディスク（ＳＳＤ））等であり得る。
［項目１］
光伝送ネットワーク（ＯＴＮ）に適用されるクライアントサービス送信方法であって、
複数のクライアントサービスを保持するために用いられる複数のデータブロックを受信する段階と、
上記複数のデータブロックの各データブロックに含まれるラベルに基づいて、上記データブロックに対して交換を実行する段階と、
交換された上記データブロックをキャッシュして、複数のキャッシュキューを取得する段階であって、上記複数のキャッシュキューのうちの同じキャッシュキューに属するデータブロックが、同じクライアントサービスを保持するために用いられる、段階と、
上記複数のキャッシュキューにおけるデータブロックに対してレート監視およびポリシスケジューリングを実行し、次に、上記データブロックを送信する段階と
を備える方法。
［項目２］
上記ラベルは、グローバルラベルまたはラインインタフェースローカルラベルである、
項目１に記載の方法。
［項目３］
上記ラベルが上記ラインインタフェースローカルラベルである場合、上記複数のデータブロックに対してラベル置換を実行する段階
をさらに備える、項目２に記載の方法。
［項目４］
上記複数のデータブロックの各データブロックに含まれる上記ラベルに基づいて、上記データブロックに対して交換を実行する上記段階は、
上記データブロックに含まれる上記ラベルに基づいて、上記データブロックの次のルーティングノードを決定する段階と、
上記次のルーティングノードに基づいて、上記データブロックに対して交換を実行する段階と
を有する、
項目１から３のいずれか一項に記載の方法。
［項目５］
レート監視を実行する上記段階は、
上記複数のキャッシュキューのうちの最初のキューのためのカウンタを設定する段階であって、上記カウンタは、上記最初のキューに対応するクライアントサービスの出力レートを制御するために用いられる、段階と、
上記最初のキューにおける複数のデータブロックを複数の送信期間において送信する段階であって、上記カウンタのカウント値が各送信期間における予め設定された閾値に達した場合、上記複数のデータブロックの少なくとも１つのデータブロックが送信される、段階と
を有する、
項目１から４のいずれか一項に記載の方法。
［項目６］
上記カウンタの上記カウント値が各送信期間における上記予め設定された閾値に達する前に、
上記カウンタの各カウント期間において上記カウンタの上記カウント値をＣだけ上げる段階であって、Ｃは、上記予め設定された閾値以下である、段階
をさらに備える、項目５に記載の方法。
［項目７］
Ｃは、上記クライアントサービスの帯域幅に基づいて決定され、上記予め設定された閾値は、出力ラインインタフェース帯域幅に基づいて決定される、
項目６に記載の方法。
［項目８］
Ｃは、上記クライアントサービスの上記帯域幅と単位帯域幅との比であり、上記予め設定された閾値は、上記出力ラインインタフェース帯域幅と上記単位帯域幅の調整値との比であり、上記単位帯域幅の上記調整値は、上記単位帯域幅以上である、
項目７に記載の方法。
［項目９］
上記カウンタは、各送信期間において初期値からカウントを開始する、
項目１から８のいずれか一項に記載の方法。
［項目１０］
（ｉ＋１）番目の送信期間において、上記カウンタの初期値は、ｉ番目の送信期間の終了時の上記カウンタのカウント値から上記予め設定された閾値を減算することにより取得される値であり、ｉは、１以上の整数である、
項目９に記載の方法。
［項目１１］
上記カウンタの上記カウント値が各送信期間における上記予め設定された閾値に達した場合において、上記クライアントサービスがキャッシュされていないときは、上記カウンタのカウントを停止する段階
をさらに備える、項目１から１０のいずれか一項に記載の方法。
［項目１２］
クライアントサービスを受信する上記段階の後に、
上記クライアントサービスをキャッシュキューに格納する段階と、
上記カウンタの上記カウント値が上記予め設定された閾値に達した場合、上記キャッシュキューから上記少なくとも１つのデータブロックを取得する段階と
をさらに備える、項目１から１１のいずれか一項に記載の方法。
［項目１３］
上記複数のデータブロックの各データブロックは、固定長を有する、
項目１から１２のいずれか一項に記載の方法。
［項目１４］
ポリシスケジューリングを実行する上記段階は、
上記複数のキャッシュキューに対応する上記クライアントサービスの優先順位に基づいて、上記複数のキャッシュキューにおける上記複数のデータブロックの上記少なくとも１つのデータブロックを送信する段階であって、クライアントサービスのより短い予測送信遅延は、より高い優先順位を示す、段階
を有する、
項目１から１３のいずれか一項に記載の方法。
［項目１５］
光伝送ネットワーク（ＯＴＮ）におけるクライアントサービス送信装置であって、
複数のクライアントサービスを保持するために用いられる複数のデータブロックを受信するように構成される受信ユニットと、
交換された上記データブロックをキャッシュして、複数のキャッシュキューを取得するように構成される処理ユニットであって、上記複数のキャッシュキューのうちの同じキャッシュキューに属するデータブロックが、同じクライアントサービスを保持するために用いられる、処理ユニットと、
上記複数のキャッシュキューにおけるデータブロックに対してレート監視およびポリシスケジューリングを実行し、次に、上記データブロックを送信するように構成される送信ユニットと
を備える装置。
［項目１６］
上記ラベルは、グローバルラベルまたはラインインタフェースローカルラベルである、
項目１５に記載の装置。
［項目１７］
上記ラベルが上記ラインインタフェースローカルラベルである場合、上記処理ユニットはさらに、上記複数のデータブロックに対してラベル置換を実行するように構成される、
項目１６に記載の装置。
［項目１８］
上記複数のデータブロックの各データブロックに含まれる上記ラベルに基づいて、上記データブロックに対して交換を上記実行することは、
各データブロックに含まれる上記ラベルに基づいて、上記データブロックの次のルーティングノードを決定すること、および
上記次のルーティングノードに基づいて、上記データブロックに対して交換を実行すること
を含む、
項目１５から１７のいずれか一項に記載の装置。
［項目１９］
上記送信ユニットが上記レート監視を実行するように構成されることは、
上記複数のキャッシュキューのうちの最初のキューのためのカウンタを設定することを含み、上記カウンタは、上記最初のキューに対応するクライアントサービスの出力レートを制御するために用いられ、
上記送信ユニットは、上記最初のキューにおける複数のデータブロックを複数の送信期間において送信するように構成され、上記カウンタのカウント値が各送信期間における予め設定された閾値に達した場合、上記複数のデータブロックの少なくとも１つのデータブロックが送信される、
項目１５から１８のいずれか一項に記載の装置。
［項目２０］
上記カウンタの上記カウント値が各送信期間における上記予め設定された閾値に達する前に、上記カウンタの上記カウント値を上記カウンタの各カウント期間においてＣだけ上げるように構成される制御ユニットをさらに備え、Ｃは、上記予め設定された閾値以下である、
項目１５から１９のいずれか一項に記載の装置。
［項目２１］
Ｃは、上記クライアントサービスの帯域幅に基づいて決定され、上記予め設定された閾値は、出力ラインインタフェース帯域幅に基づいて決定される、
項目２０に記載の装置。
［項目２２］
Ｃは、上記クライアントサービスの上記帯域幅と単位帯域幅との比であり、上記予め設定された閾値は、上記出力ラインインタフェース帯域幅と上記単位帯域幅の調整値との比であり、上記単位帯域幅の上記調整値は、上記単位帯域幅以上である、
項目２１に記載の装置。
［項目２３］
上記カウンタは、各送信期間において初期値からカウントを開始する、
項目１５から２２のいずれか一項に記載の装置。
［項目２４］
（ｉ＋１）番目の送信期間において、上記カウンタの初期値は、ｉ番目の送信期間の終了時の上記カウンタのカウント値から上記予め設定された閾値を減算することにより取得される値であり、ｉは、１以上の整数である、
項目２３に記載の装置。
［項目２５］
上記カウンタの上記カウント値が各送信期間における上記予め設定された閾値に達した場合において、上記クライアントサービスがキャッシュされていないときは、上記カウンタのカウントを停止するように構成される上記制御ユニット
をさらに備える、項目１５から２４のいずれか一項に記載の装置。
［項目２６］
上記クライアントサービスをキャッシュキューに格納するように構成されるストレージユニットと、
上記カウンタの上記カウント値が上記予め設定された閾値に達した場合、上記キャッシュキューから上記少なくとも１つのデータブロックを取得するように構成される取得ユニットと
をさらに備える、項目１５から２５のいずれか一項に記載の装置。
［項目２７］
上記複数のデータブロックの各データブロックは、固定長を有する、
項目１５から２６のいずれか一項に記載の装置。
［項目２８］
上記送信ユニットが上記ポリシスケジューリングを実行するように構成されることは、具体的には、上記複数のキャッシュキューに対応する上記クライアントサービスの優先順位に基づいて、上記複数のキャッシュキューにおける上記複数のデータブロックの上記少なくとも１つのデータブロックを送信することを含み、クライアントサービスのより短い予測送信遅延は、より高い優先順位を示す、
項目１５から２７のいずれか一項に記載の装置。
［項目２９］
プロセッサと、メモリと、バスと、通信インタフェースとを備えるクライアントサービス送信装置であって、上記メモリは、コンピュータ実行可能命令を格納するように構成され、上記プロセッサ、上記メモリおよび上記通信インタフェースは、上記バスを用いて接続され、上記装置が動作した場合、上記プロセッサは、上記メモリに格納された上記コンピュータ実行可能命令を実行することにより、上記装置が、項目１から１０のいずれか一項に記載のクライアントサービス送信方法を実行するようにする、
装置。
［項目３０］
項目１５から２８のいずれか一項に記載のデバイス、第１のデバイスおよび第２のデバイスを備え、
上記第１のデバイスは、上記複数のデータブロックを項目１５から２８のいずれか一項に記載のデバイスへ送信するように構成され、
上記複数のデータブロックを送信する前に、上記第１のデバイスはさらに、
複数のクライアントサービスを受信し、上記複数のクライアントサービスを分割して複数の他のデータブロックを取得し、
上記複数の他のデータブロックにラベルが追加された後に、上記複数のデータブロックを取得する
ように構成され、
上記第２のデバイスは、
項目１５から２８のいずれか一項に記載のデバイスにより送信されるデータブロックを受信し、
受信した上記データブロックに含まれるラベルを削除して、クライアントサービスを取得する
ように構成される、
光伝送ネットワーク（ＯＴＮ）システム。
【図１】
0006962599.tif 000002
【図２】
0006962599.tif 000003
【図３】
0006962599.tif 000004
【図３ａ】
0006962599.tif 000005
【図４】
0006962599.tif 000006
【図４ａ】
0006962599.tif 000007
【図４ｂ】
0006962599.tif 000008
【図５】
0006962599.tif 000009
【図６】
0006962599.tif 000010
【図７】
0006962599.tif 000011
【図８】
0006962599.tif 000012
【図９】
0006962599.tif 000013
【図１０】
0006962599.tif 000014
【図１１】
0006962599.tif 000015
【図１２】
0006962599.tif 000016
【図１３】
0006962599.tif 000017
【図１４】
0006962599.tif 000018