(57)【要約】  ネットワーク環境に適応的に対応できる方法及び装置が提供される。上記方法及び装置は、ＭＭＴ標準の構造で表現されるコンテンツを転送するＭＭＴパケットを処理するスイッチ又はルータのネットワークプロセスでメディアトランスポート（ＭＭＴ）パケットのフォワーディングのためのパケットディスクリプタを含む。ブロードキャスティングシステムにおけるキュー管理方法は、ムービングピクチャーエクスパーツグループ（ＭＰＥＧ）メディアトランスポート（ＭＭＴ）パケットを受信するステップと、ＭＭＴパケットのヘッダーを取得するステップと、ＭＭＴパケットのヘッダーに含まれたビットレートのタイプ値に従ってＭＭＴパケットをキューイングするステップとを含む。
2016521501.tif 000002
【特許請求の範囲】
【請求項１】
ムービングピクチャーエクスパーツグループ（Moving Picture Experts Group：ＭＰＥＧ）メディアトランスポート（ＭＭＴ）パケットを受信するステップと、
前記ＭＭＴパケットのヘッダーを取得するステップと、
前記ＭＭＴパケットのヘッダーに含まれたビットレートのタイプ値に従って前記ＭＭＴパケットをキューイングするステップと
を有することを特徴とするブロードキャスティングシステムにおけるキュー管理方法。
【請求項２】
前記ＭＭＴパケットのヘッダーは、ＭＭＴプロトコル（ＭＭＴＰ）ヘッダーを有することを特徴とする、請求項１に記載の方法。
【請求項３】
前記ヘッダーに含まれたビットレートのタイプ値がコンスタントビットレート（ＣＢＲ）に対応するか又はノンコンスタントビットレート（ｎＣＢＲ）に対応するかを判定するステップをさらに有することを特徴とする、請求項１に記載の方法。
【請求項４】
前記ビットレートのタイプ値が、前記ビットレートがＣＢＲに対応することを示す値である場合に、キューは、受信された複数のＭＭＴパケットが同一の優先順位を有するように割り当てられることを特徴とする、請求項３に記載の方法。
【請求項５】
前記ビットレートのタイプ値が、前記ビットレートがｎＣＢＲに対応することを示す値である場合に、キューは、前記ＭＭＴパケットの受信順序で割り当てられることを特徴とする、請求項３に記載の方法。
【請求項６】
前記ＭＭＴパケットのヘッダーに含まれた属性値に従ってパケットディスクリプタを生成するステップをさらに有することを特徴とする、請求項１に記載の方法。
【請求項７】
前記リンクに障害が発生したポートを識別するステップをさらに有することを特徴とする、請求項１に記載の方法。
【請求項８】
障害が発生したリンクを有するものと判定されたポートのキューに記憶されたパケットバッファをフリーイングするステップをさらに有することを特徴とする、請求項７に記載の方法。
【請求項９】
請求項１の方法を実行するための少なくとも１つのプロセッサが実行されるときに指示子を記憶する非一時的なコンピュータ可読記憶媒体。
【請求項１０】
ムービングピクチャーエクスパーツグループ（Moving Picture Experts Group：ＭＰＥＧ）メディアトランスポート（ＭＭＴ）パケットを受信する受信部と、
前記ＭＭＴパケットのヘッダーを取得するパケット分析器と、
前記ＭＭＴパケットのヘッダーに含まれたビットレートのタイプ値に従って前記ＭＭＴパケットをキューイングするパケットキュー管理部と
を有することを特徴とするブロードキャスティングシステムにおけるキュー管理装置。
【請求項１１】
前記ＭＭＴパケットのヘッダーは、ＭＭＴプロトコル（ＭＭＴＰ）ヘッダーを有することを特徴とする、請求項１０に記載の装置。
【請求項１２】
前記パケット分析器は、前記ヘッダーに含まれたビットレートのタイプ値がコンスタントビットレート（ＣＢＲ）に対応するか又はノンコンスタントビットレート（ｎＣＢＲ）に対応するかを判定するようにさらに構成されることを特徴とする、請求項１０に記載の装置。
【請求項１３】
前記ビットレートのタイプ値が、前記ビットレートがＣＢＲに対応することを示す値である場合に、キューは、受信された複数のＭＭＴパケットが同一の優先順位を有するように割り当てられることを特徴とする、請求項１２に記載の装置。
【請求項１４】
前記ビットレートのタイプ値が、前記ビットレートがｎＣＢＲに対応することを示す値である場合に、キューは、前記ＭＭＴパケットの受信順序で割り当てられることを特徴とする、請求項１３に記載の装置。
【請求項１５】
前記ＭＭＴパケットのヘッダーに含まれた属性値に従ってパケットディスクリプタを生成することを特徴とする、請求項１０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロードキャスティングシステムにおける適応的ムービングピクチャーエクスパーツグループ（Moving Picture Experts Group：ＭＰＥＧ）メディアトランスポート（ＭＭＴ）パケットフォワーディングのための動的キュー管理方法及び装置に関する。
【背景技術】
【０００２】
一般的に、インターネット環境では、様々なサイズ及び送信速度を有するトラフィックがある。このようなインターネット環境において、トラフィックのフローを円滑にし、効率的にトラフィックを管理するためにキュー管理（Queue Manager）及びスケジューリング技術が使用される。
【０００３】
インターネット環境において、様々なコンテンツが増加しており、高画質（High Definition：ＨＤ）を要求するコンテンツ及び超高画質（Ultra HD：ＵＨＤ）コンテンツのような高容量コンテンツが増加している。したがって、ネットワーク上のデータ輻輳（Data Congestion）は、ますます増加している。ネットワーク上のデータ輻輳の増加の結果として、サーバにより送信されたデータは、クライアントに正常に転送されず、データの一部は、経路上で損失される状況が発生する。一般的に、データは、パケット単位で送信されるので、データ損失は、パケットの単位で発生する。したがって、受信器は、ネットワーク上でのデータの損失によりパケットを受信できないために、損失されたパケット内のデータを取得できない。したがって、オーディオの品質の低下、ビデオの画質の劣化、画面のとぎれ、字幕欠落、ファイルの損失のような様々な理由でユーザの不便をもたらす。このような理由で、ネットワーク上で発生したデータ損失状況に対処するための方案が要求される。
【０００４】
したがって、インターネット上でマルチメディアトラフィックの爆発的な増加に適応するするために、高速な送信速度を保証しつつ、様々なサービス（例えば、マルチプロトコルラベルスイッチング（Multi-Protocol Label Switching：ＭＰＬＳ）、ＭＰＬＳ仮想プライベートネットワーク（Virtual Private Network：ＶＰＮ）、インターネットプロトコル（ＩＰ）ＶＰＮ、クオリティオブサービス（ＱｏＳ））を提供できるキュー管理及びスケジューリング方法が要求される。
【０００５】
上述した情報は、本開示の理解を助けるための背景情報としてのみ提示される。上記で開示された内容が先行技術として適用可能であるか否かにより、本開示が先行技術として定義されるか否かが主張または決定されてはならない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、少なくとも上述した問題点及び／又は課題に取り組み、少なくとも以下の便宜を提供することにある。すなわち、本発明の目的は、メディア転送（ＭＭＴ）パケットを効率的にキューイングするキュー管理方法及び装置を提供することにある。
【０００７】
本発明の別の目的は、少なくとも１つ以上のリンクが通信不能となる（down）としても正常のリンクを活用することによりＭＭＴパケットをフォワーディングする方法及び装置を提供することにある。
【０００８】
本発明のさらに別の目的は、ＭＭＴ標準の構造で表現されるコンテンツをフォワーディングするＭＭＴパケットを処理するスイッチ又はルータのネットワークプロセスでＭＭＴパケットのフォワーディングのためにパケットディスクリプタを適応的に割り当てる方法及び装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記のような目的を達成するために、本発明の一態様によれば、ブロードキャスティングシステムにおけるキューを管理する方法が提供される。上記方法は、ムービングピクチャーエクスパーツグループ（Moving Picture Experts Group：ＭＰＥＧ）メディアトランスポート（ＭＭＴ）パケットを受信するステップと、上記ＭＭＴパケットから上記ＭＭＴパケットのヘッダーを取得するステップと、上記ＭＭＴパケットのヘッダーに含まれたビットレートのタイプ値に従って上記ＭＭＴパケットをキューイングするステップとを含むことを特徴とする。
【００１０】
本発明の他の態様によれば、ブロードキャスティングシステムにおけるキューを管理する装置が提供される。上記装置は、ムービングピクチャーエクスパーツグループ（Moving Picture Experts Group：ＭＰＥＧ）メディアトランスポート（ＭＭＴ）パケットを受信する受信部と、上記ＭＭＴパケットから上記ＭＭＴパケットのヘッダーを取得するパケット分析器と、上記ＭＭＴパケットのヘッダーに含まれたビットレートのタイプ値に従って上記ＭＭＴパケットをキューイングするパケットキュー管理部とを含むことを特徴とする。
【発明の効果】
【００１１】
本発明は、ブロードキャスティングシステムにおけるＭＭＴパケットを効率的にキューイングでき、また、ブロードキャスティングシステムにおける優先順位に従ってＭＭＴパケットをキューイングできる。さらに、本発明は、ネットワークインターフェースのＭＭＴパケットのフォワーディングのためにパケットディスクリプタを適応的に割り当てるように少なくとも１つのリンクが通信不能となる（down）としても、正常のリンクを活用することによりパケットディスクリプタプールの効率的な使用を最大化し、サービス品質（ＱｏＳ）を向上させることができる方法及び装置を提供する。
【００１２】
本発明の他の目的、利点、及び顕著な特徴は、添付の図面及び本発明の実施形態からなされた以下の詳細な説明から、この分野の当業者に明確になるはずである。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態によるブロードキャスティングシステムにおけるシステム図である。
【図２】本発明の実施形態によるルータの概略図である。
【図３】本発明の実施形態によるメディアトランスポート（ＭＭＴ）ネットワークプロセッサの概略図である。
【図４】本発明の実施形態によるネットワークプロセッサにより動作されるＭＭＴパケット分析器及びＭＭＴパケットバッファの状態を示す図である。
【図５】本発明の実施形態によるネットワークプロセッサでキューの長さ（Queue Depth）を割り当てるために適応的なパケットフォワーディングのためのＭＭＴパケットの構造図である。
【図６】本発明の実施形態によるキュー管理方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
添付の図面を参照した下記の説明は、特許請求の範囲の記載及びこれと均等なものの範囲内で定められるような本発明の実施形態の包括的な理解を助けるために提供され、この理解を助けるための様々な特定の詳細を含むが、それらは単なる実施形態にすぎない。したがって、本発明の範囲及び趣旨を逸脱することなく、明細書中に説明した実施形態の様々な変更及び修正が可能であるということは、当該技術分野における通常の知識を有する者には明らかである。また、明瞭性と簡潔性の観点から、当業者には既知の機能や構成に関する具体的な説明を省略する。
【００１５】
以下の説明及び請求項に使用する用語及び単語は、辞典的意味に限定されるものではなく、本発明の理解を明確且つ一貫性があるようにするために使用される。したがって、本発明の実施形態の説明が単に実例を提供するためのものであって、特許請求の範囲とこれと均等なものに基づいて定義される発明をさらに限定する目的で提供されるものでないことは、本発明の技術分野における通常の知識を持つ者には明らかであろう。
【００１６】
本願明細書に記載の各エレメントは、文脈中で特に明示しない限り、複数形を含むことは、当業者には理解できるはずである。したがって、例えば、「コンポーネント表面（a component surface）」との記載は、１つ又は複数の表面を含む。
【００１７】
本発明の説明の便宜のために、第３世代パートナーシッププロジェクト（3rd Generation Partnership Project：３ＧＰＰ）、ムービングピクチャーエクスパーツグループ（Moving Picture Experts Group：ＭＰＥＧ）、オープンＩＰＴＶフォーラム（Open IPTV Forum：ＯＩＰＦ）、ユニバーサルプラグアンドプレイ（Universal Plug and Play：ＵＰｎＰ）で定義している個々の用語をそれらに定義されているように使用しているが、このような標準及び用語は、本発明の範囲を限定するのではなく、類似する技術的な背景を有するシステムに適用可能であることは明らかである。以下、本発明の実施形態では、本発明が適用されることができる技術のうちの１つであるＭＰＥＧメディアトランスポート（ＭＭＴ）技術を例として説明するが、これは、説明の便宜のための単なる例に過ぎず、本発明が必ずしもＭＭＴ技術だけに適用されるものではないことは明らかである。
【００１８】
本発明の様々な実施形態は、ブロードキャスティングシステムにおいてネットワーク状況に基づいて適応的なＭＭＴパケットフォワーディングのための動的なキューを管理する方法及び装置を含む。
【００１９】
より詳細には、本発明の様々な実施形態は、ＭＭＴ標準構造で表現されるコンテンツをフォワーディングするＭＭＴパケットを処理するスイッチ又はルータ（以下、‘ルータ’と称する）のネットワークプロセッサでＭＭＴパケットフォワーディングのためにパケットディスクリプタ（Packet Descriptor）をネットワーク状況に応じて適応的に又は動的に割り当てるキューを管理する方法及び装置を提供する。本発明の様々な実施形態によるキューを管理する方法及び装置は、スイッチ又はルータに適用されると説明するが、後述する端末にも適用可能である。
【００２０】
本発明の様々な実施形態は、少なくとも１つのリンクが通信不能となる（down）としても、他の正常のリンクのポートを活用することによりネットワークインターフェースのＭＭＴパケットフォワーディングのためにパケットディスクリプタを選択的にキューイングするキューを管理する方法及び装置を提供する。
【００２１】
図１は、本発明の実施形態によるブロードキャスティングシステムにおけるシステム図である。
【００２２】
図１を参照すると、ブロードキャスティングシステムは、サービスプロバイダ１００、ルータ１１０、及び端末１２０を含む。
【００２３】
サービスプロバイダ１００は、ブロードキャスティングサービスをルータ１１０を通して端末１２０に提供する。その後に、ルータ１１０は、受信されたブロードキャスティングサービスをＭＭＴパケットの形態で端末１２０に送信する。
【００２４】
図２は、本発明の実施形態によるルータの概略図である。
【００２５】
図２を参照すると、ルータ１１０は、ＭＭＴパケットバッファ２１０、ＭＭＴパケット分析器２２０、ＭＭＴネットワークプロセッサ２３０、及び物理／データリンクレイヤ２４０を含む。
【００２６】
物理レイヤ／データリンクレイヤ２４０は、ルータの様々なネットワークインターフェースのリンク整合機能をサポートするためのネットワーク構成要素である。例えば、物理レイヤ／データリンクレイヤ２４０は、イーサネット（登録商標）メディアアクセス制御（Media Access Control：ＭＡＣ）、ＰＯＳフレーマ（Framer）、非同期転送モード（Asynchronous Transfer Mode：ＡＴＭ）フレーマ、及びＨＤＬＣコントローラなどを意味する。
【００２７】
ＭＭＴネットワークプロセッサ２３０は、ＭＭＴパケットを処理する。例えば、物理／データリンクレイヤ２４０を通して受信されたＭＭＴパケットは、ＭＭＴネットワークプロセッサ２３０によりヘッダー及びデータに分離される。その後に、分離されたヘッダー及びデータは、ＭＭＴパケット分析器２２０に送信される。本発明の様々な実施形態に従って、処理手順は、ＭＭＴパケットのタイプに従って異なる。ＭＭＴネットワークプロセッサ２３０は、フォワーディングテーブルルックアップ（forwarding table lookup）、セキュリティ（security）、トラフィックエンジニアリング（traffic engineering）、サービス品質（ＱｏＳ）などのような補助処理を担当する。
【００２８】
ＭＭＴネットワークプロセッサ２３０は、ＭＭＴパケット分析器２２０のパケット分析結果に従って、ＭＭＴパケットが適応的に又は動的にＭＭＴパケットバッファ２１０に記憶されるようにＭＭＴパケットバッファ２１０を制御する。
【００２９】
ＭＭＴパケット分析器２２０は、物理／データリンクレイヤ２４０を通して受信されたＭＭＴパケットが処理される時に必要なＭＭＴパケットのサイズ、ＭＭＴパケットが記憶された位置、ＭＭＴパケットのビットレートのタイプ、及びフォワーディングテーブルのような様々な情報を記憶する。
【００３０】
ＭＭＴパケット分析器２２０は、ＭＭＴネットワークプロセッサ２３０から受信されたＭＭＴパケットのヘッダー及びデータを分析する。分析の結果、ヘッダーのＭＭＴプロトコルに従ってＭＭＴパケットのビットレートのタイプがコンスタントビットレート（Constant Bit Rate：ＣＢＲ）であるか又はＣＢＲでない（すなわち、ノンコンスタントビットレート（non-Constant Bit Rate：ｎ−ＣＢＲ））かを確認する。追加の可能な実施形態において、ＭＭＴパケット分析器２２０は、ＭＭＴパケットから受信されたＭＭＴパケットのヘッダーを取得し、ＭＭＴパケットのヘッダーに含まれたビットレートのタイプ値を確認し、ビットレートのタイプ値がＣＢＲであるか又はｎ−ＣＢＲであるかを確認する。
【００３１】
ＭＭＴパケット分析器２２０は、この確認の結果をＭＭＴネットワークプロセッサ２３０に通知する。例えば、ＭＭＴパケット（ＭＭＴＰ）のビットレートのタイプ値が‘０００’ビットに設定される場合に、ＭＭＴＰのビットレートは、ＣＢＲに対応し、ＭＭＴＰのビットレートのタイプ値が‘００１’ビットに設定される場合に、ＭＭＴＰのビットレートは、ｎ−ＣＢＲに対応する。ＭＭＴパケットのビットレートのタイプは、ＭＭＴパケットのキューの長さ（depth）及び／又はＭＭＴパケットのサイズの範囲を割り当てるために使用される。
【００３２】
ＭＭＴパケット分析器２２０に記憶されたヘッダー及びデータは、ＭＭＴネットワークプロセッサ２３０によりフォワーディングルックアップテーブルを参照して定められた出力ポートに出力されるか、又はフォワーディングルックアップテーブルに存在しないＭＭＴパケットの場合に廃棄されるか又は処理される（例えば、内部のポリシーに従って）。
【００３３】
ＭＭＴパケットバッファ２１０は、物理／データリンクレイヤ２４０を通して受信されたパケットをＭＭＴネットワークプロセッサ２３０の制御の下に記憶する。本発明の様々な実施形態に従って、ＭＭＴパケットバッファ２１０は、ＭＭＴネットワークプロセッサ２３０に含まれてもよく、図２に示すように、ＭＭＴパケットバッファ２１０は、ＭＭＴネットワークプロセッサ２３０から分離されてもよい。
【００３４】
図３は、本発明の実施形態によるＭＭＴネットワークプロセッサの詳細な構造図である。
【００３５】
図３を参照すると、図２のＭＭＴネットワークプロセッサ２３０は、ＭＭＴパケット受信部３１０、ＭＭＴパケットフォワーディング部３２０、ＭＭＴパケットキュー管理部３３０、ＭＭＴパケットスケジューラ３４０、及びＭＭＴパケット送信部３５０を含む。本発明の様々な実施形態に従って、図３に示すＭＭＴネットワークプロセッサ２３０の構成要素の機能は、図２のＭＭＴパケット分析器２２０、ＭＭＴネットワークプロセッサ２３０、及びＭＭＴパケットバッファ２１０の機能を含む。
【００３６】
本発明の様々な実施形態に従って、ＭＭＴパケット受信部３１０は、物理／データリンクレイヤ２４０からＭＭＴパケットのポートの数を感知し、受信されたＭＭＴパケットをＭＭＴパケットフォワーディング部３２０に伝達する。本発明の様々な実施形態に従って、ＭＭＴパケット受信部３１０は、受信されたＭＭＴパケットを図２のＭＭＴパケットバッファ２１０に移動させ、ＭＭＴパケットをＭＭＴパケット分析器２２０に伝達する。
【００３７】
ＭＭＴパケット受信部３１０は、受信されたＭＭＴパケットのためにパケットディスクリプタプール（Packet Descriptor Pool）からパケットディスクリプタを割り当てる。
【００３８】
ＭＭＴパケットフォワーディング部３２０は、ＭＭＴパケット受信部３１０から伝達されたＭＭＴパケットに対してフォワーディングルックアップテーブルをルックアップし、出力ポートを確認する（例えば、ルックアップ結果に従って）。
【００３９】
ＭＭＴパケットスケジューラ３４０は、ＭＭＴパケットを内部のポリシーに従って選択された出力ポートに送信する。本発明の様々な実施形態に従って、ＭＭＴパケットスケジューラ３４０は、属性値（又はＭＭＴＰ）に従って、ＭＭＴパケットキュー管理部３３０により生成されたパケットディスクリプタを用いてＭＭＴパケットをスケジューリングする。また、ＭＭＴパケットスケジューラ３４０は、受信されたＭＭＴパケットの優先順位を決定し、優先順位及び属性値（又はＭＭＴＰ）のうちの少なくとも１つに従ってＭＭＴパケットをスケジューリングする。ＭＭＴパケットスケジューラ３４０は、スケジューリング結果をＭＭＴパケットキュー管理部３３０に通知する。本発明の様々な実施形態に従って、ＭＭＴパケットのスケジューリングは、ＭＭＴパケットのキューの長さ（depth）及びＭＭＴパケットのサイズの範囲の割り当てを意味する。
【００４０】
本発明の様々な実施形態に従って、ＭＭＴパケットキュー管理部３３０は、受信されたＭＭＴパケットの属性値（又はＭＭＴＰ）に従ってパケットディスクリプタを生成する。
【００４１】
本発明の様々な実施形態に従って、ＭＭＴパケットキュー管理部３３０は、出力ポートに対応するＭＭＴパケットバッファ２１０及びＭＭＴパケット分析器２２０のキューでＭＭＴパケットをキューイングする機能及び出力ポートのキューからＭＭＴパケットを読み出す機能を実行する。
【００４２】
ＭＭＴパケットキュー管理部３３０は、出力ポートの正常状態を判定し、ＭＭＴパケットバッファのパケットディスクリプタ、もしくは、対応するポートのリンクに障害が発生している場合では、対応するポートのキューに記憶されたＭＭＴパケット分析器２２０のパケットバッファをフリーさせ（フリーは、設定されたパケットディスクリプタ値の設定解除又はデマップを意味する）、パケットディスクリプタをＭＭＴパケットバッファのパケットディスクリプタプールにリターンする。パケットディスクリプタプールは、ヘッドからテールまで連続的にパケットディスクリプタを有し、ＭＭＴパケットバッファ２１０がＭＭＴパケットをキューイングする場合に（例えば、ＭＭＴパケットをキューイングするＭＭＴパケットバッファ２１０に応じて）、パケットディスクリプタプールは、キューイング順序に従って必要なパケットディスクリプタを割り当てる。また、パケットディスクリプタは、ＭＭＴパケットの受信順序に従って決定された優先順位値を有し、この優先順位値に従ってＭＭＴパケット分析器２２０及びＭＭＴパケットバッファ２１０とＭＭＴパケットをキューイングするか又はデキューイングする。
【００４３】
図４は、本発明の実施形態によるネットワークプロセッサにより動作されるＭＭＴパケット分析器及びＭＭＴパケットバッファの状態を示す図である。
【００４４】
図４を参照すると、ＭＭＴパケットバッファの実際のＭＭＴパケット記憶領域と一致するパケットディスクリプタは、ＭＭＴパケットバッファにキューイングされる。パケットディスクリプタ４２１−０、．．．、４２１−Ｎのそれぞれは、ＭＭＴパケット分析器２２０にキューイングされたＭＭＴパケットのサイズ４２１ａ、ＭＭＴパケットを記憶するために使用されるバッファのアドレス、及び次のＭＭＴパケットのパケットディスクリプタ識別情報を有する。また、図４に示すように、パケットディスクリプタ４２１−０、．．．、４２１−Ｎは、ＭＭＴパケットのビットレートに関連した情報４２１ｂ及びバッファハンドラーＩＤ４２１ｃを有する。
【００４５】
ＭＭＴパケット送信部３５０は、対応する出力ポートにＭＭＴパケットを送信し、送信したＭＭＴパケットに割り当てられたパケットディスクリプタをパケットディスクリプタプールにリターンする機能を実行する。
【００４６】
本発明の様々な実施形態に従って、ＭＭＴパケットは、データ及びヘッダーを含む。
【００４７】
本発明の様々な実施形態に従って、このデータは、ＭＭＴ処理部（MMT Processing Unit（ＭＰＵ）／ＭＰ−４（ＭＰＥＧ−４）及びＭＭＴＰヘッダーを含む。本発明の様々な実施形態に従って、このヘッダーは、アドレス（例えば、ＩＰ、ＭＡＣなど）を含む。ＭＰＵ／ＭＰ−４、ＭＭＴＰヘッダー、ＩＰ、及びＭＡＣは、ＭＡＣデータグラムとして定義され、ＭＰＵ／ＭＰ−４、ＭＭＴＰヘッダー、及びＩＰは、ＩＰフレームとして定義される。
【００４８】
本発明の様々な実施形態に従って、ＭＭＴパケットは受信され、ＭＭＴパケットのＭＭＴＰヘッダーが分析され、この分析の結果に基づいて、ＭＭＴパケットを伝達するか否かが判定される。ＭＭＴパケットを伝達することが判定される場合に（例えば、ＭＭＴパケットの伝達を判定することに応じて）、ＭＭＴパケットをバッファにキューイングする。その後に、属性値（ＭＭＴＰ）に従ってパケットディスクリプタを生成し、パケットディスクリプタを用いてＭＭＴパケットをスイッチングする。
【００４９】
本発明の様々な実施形態に従って、ＭＭＴパケットのＭＭＴＰヘッダーが分析され、ＭＭＴＰヘッダーのビットレートのタイプ（Type of Bitrate：ＴＢ）値が確認され、ＴＢがＣＢＲであるか又はｎＣＢＲであるかが判定される。ＴＢがｎＣＢＲであると判定される場合には（例えば、ｎＣＢＲであると判定されるＴＢに応じて）、ＭＭＴネットワークプロセッサ２３０は、受信順序に従ってキューを割り当てる。しかしながら、ＴＢがＣＢＲであると判定される場合には（例えば、ＣＢＲであると判定されるＴＢに応じて）、ＭＭＴネットワークプロセッサ２３０は、同一の優先順位を有するキューを割り当てる。例えば、本発明の様々な実施形態では、ＴＢに従って効率的にキューを割り当てる。
【００５０】
本発明の様々な実施形態に従って、パケットディスクリプタは、ポートに従って分類される。そして、パケットディスクＭＭＴパケットキュー管理部３３０は、ＭＭＴパケット受信部３１０により出力ポートが決定された受信ＭＭＴパケットを用いて優先順位に従って、ＭＭＴパケット分析器２２０のパケットバッファ及びそのバッファにマッピングされるＭＭＴパケットバッファ２１０のパケットディスクリプタ４２１−０，．．．，４２１−Ｎをパケットディスクリプタプールから受信する。パケットディスクリプタ４２１−０，．．．，４２１−Ｎは、ＭＭＴパケットバッファ２１０にキューイングされてもよい。ＭＭＴパケットバッファ２１０のパケットディスクリプタが管理手順によりフリーされる場合に、ＭＭＴパケットバッファ２１０は、パケットディスクリプタプールにリターンされる。ここで、パケットディスクリプタは、ヘッドからテールまで順次にパケットディスクリプタプールに備えられ、ＭＭＴパケットバッファ２１０がＭＭＴパケットをキューイングする場合に（例えば、ＭＭＴパケットをキューイングするＭＭＴパケットバッファ２１０に応じて）、キューイング順序に従って必要なパケットディスクリプタが割り当てられる。パケットディスクリプタは、ＭＭＴパケット分析器２２０にキューイングされるＭＭＴパケットのサイズ及びバッファハンドラーアドレス（ＭＭＴパケットを記憶するために使用されるバッファのアドレス）及び次のＭＭＴパケットのパケットディスクリプタ識別情報を有してもよい。
【００５１】
本発明の様々な実施形態に従って、キューは、出力ポートごとに存在する。そして、ＭＭＴパケットキュー管理部３３０は、ＭＭＴパケット受信部３１０により出力ポートが決定される受信ＭＭＴパケットを、対応する出力ポートのキューにより管理されるパケットディスクリプタリストの最後の部分に接続する。このように、ＭＭＴキュー管理部３３０は、キューに、特定の出力ポートに送信されることになっている受信ＭＭＴパケットを、ＭＭＴパケットスケジューラ３４０により送信が可能となる時点まで保存する。ＭＭＴパケットキュー管理部３３０は、ＭＭＴパケットスケジューラ３４０により送信が可能となる出力ポートのキューから、キューディスクリプタのヘッドからテールまでのパケットディスクリプタを抽出し、そのパケットディスクリプタをＭＭＴパケット送信部３５０に転送する。
【００５２】
以下、本発明の様々な実施形態によるＭＭＴキュー管理部３３０のキュー管理方法について説明する。
【００５３】
本発明の様々な実施形態に従うネットワークプロセッサのＭＭＴキュー管理部３３０がキューの長さ（depth）を動的に割り当てることにより適応的なＭＭＴパケットフォワーディングのための動的なキュー管理方法について説明する。特に、ＭＭＴキュー管理部３３０がＭＭＴパケットフォワーディング部３２０により出力ポートが決定された受信ＭＭＴパケットを受信した後に本発明の様々な実施形態に従うＭＭＴパケットをキューイングする処理について説明する。
【００５４】
まず、ＭＭＴキュー管理部３３０は、ＭＭＴパケット受信部３１０により出力ポートが決定されたＭＭＴパケットを受信した後に、ネットワークプロセッサが管理する出力ポートのリンクに障害が発生し、リンクが切断されているか否かを検査する。ポートが切断されたリンクを有する場合に、そのポートのキューに記憶された受信ＭＭＴパケットのために割り当てられたＭＭＴパケット分析器のパケットバッファのフリーイング及びＭＭＴパケットバッファでの対応するパケットディスクリプタのフリーイングを行うことにより、ディスクリプタがパケットディスクリプタプールにリターンされる。その後に、切断されたリンクを有する出力ポートのキューに記憶された受信パケットは、ＭＭＴパケットバッファ及びＭＭＴパケット分析器からフリーされ、ネットワークプロセッサから廃棄される。
【００５５】
次いで、出力ポートに対応するキューが使用可能な最適の限界長さ（depth）Ｅを決定する。このために、まず、ネットワークプロセッサが認識した出力ポートのうち、正常リンクを有するポートの数を計算する。正常リンクを有する出力ポートの数が１又はそれ以上である場合に（例えば、正常のリンクを有するポートの数が１又はそれ以上であるという決定に応じて）、パケットディスクリプタプールのサイズを正常のリンクのポートに均等に分割し、パケットディスクリプタプールの全サイズを正常のリンクを有する出力ポートの数で割る。その商は、出力ポートのキューの最大長さＮを決定する。キューの最大長さＮは、パケットディスクリプタプールをポートに均等に割り当てる値である。
【００５６】
出力ポートのキューの最小長さ（depth）Ｌは、現在の出力ポートキューにキューイングされるパケットディスクリプタの数にポートの帯域幅に従って保証されるべきパケットディスクリプタの数を加えることにより決定される。例えば、ファストイーサネット（登録商標）（Fast Ethernet（登録商標））である場合は、保証されるべきパケットディスクリプタの個数が１０であり、ギガビットイーサネット（登録商標）（Gigabit Ethernet（登録商標））である場合は、保証されるべきパケットディスクリプタの個数が１００である。この出力ポートのキューの最小長さＬは、正常のリンクを有するポートのキューが如何なる場合であっても適応的に記憶可能なパケットディスクリプタの個数である。
【００５７】
出力ポートキューの現在のパケットディスクリプタプールの使用率Ｕは、出力ポートキューの最小長さＬをパケットディスクリプタの全サイズで割ることにより得られる。この値は、出力ポートキューにより使用されないパケットディスクリプタプールをパケットディスクリプタプールの使用率に従って出力ポートキューに割り当てるために使用される。
【００５８】
出力ポートキューが使用可能な最適の限界長さＥは、出力ポートキューの最大長さＮから最小長さＬを減算することにより得られた値に、出力ポートキューの現在のパケットディスクリプタプールの使用率Ｕを乗算することにより計算される。出力ポートキューによる使用が可能である最適の限界深さＥは、出力ポートキューに最大限記憶することが可能なパケットディスクリプタの個数を意味する。
【００５９】
現在の出力ポートのキューにキューイングされるパケットディスクリプタの個数が出力ポートのキューによる使用が可能な限界長さＥと同一である場合に、このキューは、これ以上キューイングを実行できず、ＭＭＴパケットを廃棄すべきである。出力ポートキューが使用可能な最適の限界長さＥは、出力ポートキューの最大長さＮから最小長さＬを減算することにより得られた値に出力ポートキューの現在のパケットディスクリプタプールの使用率Ｕを乗算することにより計算される。出力ポートキューによる使用が可能な最適の限界長さＥは、ポートの帯域幅及びＭＭＴパケットが伝達されるときに使用される出力ポートの使用率を考慮して決定され、パケットディスクリプタプールは、出力ポートのキューで均等に使用される。
【００６０】
また、現在の出力ポートキューにキューイングされるパケットディスクリプタの個数が、出力ポートキューが使用可能な限界長さＥより大きいか又は同一である場合に、その出力ポートキューにこれ以上のパケットディスクリプタをキューイングできない。したがって、受信ＭＭＴパケットのために割り当てられたＭＭＴパケット分析器のパケットバッファをフリーイングし、対応するパケットディスクリプタもフリーイングすることにより、ディスクリプタをパケットディスクリプタプールにリターンする。受信パケットは、このようにネットワークプロセッサから廃棄される。しかしながら、他の正常のリンクを有する出力ポートのキューが最大の長さＮまでパケットディスクリプタを継続してキューイングするので、ネットワークプロセッサは、ＭＭＴパケットを適応的にフォワーディングする。
【００６１】
しかしながら、現在の出力ポートのキューの長さＰが最大の長さＮより小さい場合に、その出力ポートのキューは、パケットディスクリプタプールをフェッチし、パケットディスクリプタをパケットディスクリプタプールにキューイングする。
【００６２】
本発明の様々な実施形態に従って、正常のリンクを有する出力ポートの数が０である場合に、ネットワークプロセッサは、すべての受信ＭＭＴパケットを廃棄する。障害が発生し切断されたリンクを有する出力ポートが存在しない場合に、ネットワークプロセッサは、出力ポートキューの最大の長さＮ及び最小の長さＬ、現在のパケットディスクリプタプールの使用率Ｕ、及び使用可能な限界長さＥを計算する手順を実行する。
【００６３】
図５は、本発明の実施形態によるネットワークプロセッサによりキューの長さを割り当てるために適応的なパケットフォワーディングのためのＭＭＴパケットの構造図である。
【００６４】
図５を参照すると、ＴＢ（type-of-bitrate）５０１は、本発明の様々な実施形態によるＭＭＴパケット５００のビットレートのタイプを意味する。
【００６５】
例えば、ＴＢ５０１が‘０００’ビットに設定される場合に、ＴＢ５０１は、ＣＢＲを示し、ＴＢ５０１が‘００１’ビットに設定される場合に、ＴＢは、ｎ−ＣＢＲを示す。図５のＴＢ５０１は、ＭＭＴパケットのキューの長さ及び／又はＭＭＴパケットのサイズの範囲を割り当てるために使用される。
【００６６】
パケットシーケンスナンバーフィールド５０３は、送信されるＭＭＴパケットの固有（Unique）識別番号であるシーケンス番号を示す。受信装置は、パケットシーケンスナンバーフィールド５０３を識別することにより対応するパケットの損失があるか否かを判定する。
【００６７】
タイムスタンプフィールド５０５は、送信パケットの生成時点を識別するために活用される。タイムスタンプフィールドが含む時間値は、インターネットネットワークプロトコルにより設定された値に基づいて計算された値に設定される。受信装置は、時間値を識別し、パケット間の送信時間差及び送信側と受信測との間のパケット送信遅延時間を計算するために活用される。
【００６８】
フローラベル５０７は、データの送信のために使用されるそれぞれのフローで要求される特定のＱｏＳを識別するためのフローラベルを示す。フローラベルは、例えば、パケットタイプ（Type of Packet）、遅延（Delay）、処理量（Throughput）、及び同期パラメータ（Synchronization parameter）を含む。フローラベル５０７は、データ送信タイプに従って分類される。対応するフローラベルは、サービスの開始の前に送信側及び受信側の相互の参照データの交換を通して設定される。
【００６９】
Ｑフィールド５０９は、対応するパケットの損失重要度（優先順位）及び遅延許容時間を含む。対応する情報は、損失優先順位及び遅延許容時間を含む。損失優先順位は、対応するパケットの重要度を示し、所定の範囲のセクション内の損失での重要度を示す。
【００７０】
図６は、本発明の実施形態によるキュー管理方法を示すフローチャートである。
【００７１】
図６を参照すると、ステップ６０１において、ルータは、サービスプロバイダーからＭＭＴパケットを受信する。
【００７２】
ステップ６０３において、ルータは、受信されたＭＭＴパケットのＭＭＴＰヘッダーを分析する。本発明の様々な実施形態に従って、ルータは、受信されたＭＭＴパケットからＭＭＴＰヘッダーに含まれたＴＢ情報を取得することができる。
【００７３】
ステップ６０５において、ルータは、ＭＭＴパケットのＭＭＴＰヘッダーのＴＢを識別し、ＴＢが分析を通してＣＢＲであるか否かを判定する。
【００７４】
ステップ６０５において、ルータは、ＴＢがＣＢＲでないと判定する場合に、ステップ６０７に進み、受信順序に従ってキューを割り当てる。
【００７５】
しかしながら、ステップ６０５において、ルータは、ＴＢがＣＢＲであると判定する場合に、ステップ６０９に進み、同一の優先順位を有するキューを割り当てる。例えば、ＴＢがＣＢＲである場合に、ルータは、ＭＭＴパケットが同一の優先順位を有するようにキューを割り当てる。本発明の様々な実施形態に従って、ＴＢがＣＢＲである場合に、ルータは、同一の優先順位を有するパケットディスクリプタを割り当てる。本発明の様々な実施形態に従って、ルータは、優先順位が高いＭＭＴパケットに対して２回キューに割り当てることができる。
【００７６】
上述したように、本発明に従って、少なくとも１つのリンクが通信不能であるとしても、パケットディスクリプタは、他の正常のリンクを活用してＬＡＮ／ＷＡＮインターフェースのＭＭＴパケットのフォワーディングのために適応的に割り当てられる。
【００７７】
クレーム及び発明の詳細な説明に従う本発明の様々な実施形態は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合せの形態で実現することができる。
【００７８】
このような任意のソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶されることができる。非一時的なコンピュータ可読記憶媒体は、１つ以上のプログラム（ソフトウェアモジュール）を記憶し、１つ以上のプログラムは、指示を含み、電子装置で１つ以上のプロセッサにより実行される場合に、この指示は、電子装置が本開示の方法を実行するようにする。
【００７９】
このような任意のソフトウェアは、例えば、削除が可能であるか又は再記録が可能であるか否かにかかわらず、読み出し専用メモリ（ＲＯＭ）のような記憶装置のような揮発性又は不揮発性記憶装置、又は、例えば、ランダムアクセスメモリ（ＲＡＭ）、メモリチップ、メモリ装置、又はメモリ集積回路（ＩＣ）、又は、例えば、コンパクトディスク（ＣＤ）、ディジタル多用途ディスク（ＤＶＤ）、磁気ディスク、又は磁気テープなどの光学的又は磁気的に読み取り可能な非一時的な機械読み取り可能な（例えば、コンピュータ読み取り可能な）記憶媒体に記憶することができる。記憶装置及び記憶メディアは、本発明の様々な実施形態を具現化する指示を含むプログラム又はプログラムを格納するのに適合した非一時的な機械読み取り可能な記憶媒体の様々な実施形態である。したがって、本発明の様々な実施形態は、本開示のクレームのうちのいずれか１つでクレームされた装置又は方法を実現するためのコードを含むプログラム及びこのようなプログラムを記憶する非一時的な機械読み取り可能な記憶媒体を提供する。
【００８０】
以上、本発明を具体的な実施形態を参照して詳細に説明してきたが、本発明の範囲及び趣旨を逸脱することなく様々な変更が可能であるということは、当業者には明らかであり、本発明の範囲は、上述の実施形態に限定されるべきではなく、特許請求の範囲の記載及びこれと均等なものの範囲内で定められるべきものである。
【図１】
2016521501.tif 000003
【図２】
2016521501.tif 000004
【図３】
2016521501.tif 000005
【図４】
2016521501.tif 000006
【図５】
2016521501.tif 000007
【図６】
2016521501.tif 000008
【国際調査報告】
2016521501.tif 000009
2016521501.tif 000010