(57)【要約】【課題】所定のパケットに要求される高速受信処理と、既存のプロトコルとの互換性を兼ね備えたパケット受信装置を提供する。特に映像／音声ストリームの受信処理に適したパケット受信装置を提供することを目的としている。【解決手段】パケット受信装置１０１は、アプリケーション１０５と、通信アクセス制御プログラム１０４と、通信制御装置１０６から構成され、通信アクセス制御プログラム１０４は、拡張性は高いが処理負荷が大きい第１のプロトコルスタック１０２と、所定のパケットに特化することで高速受信処理を実現する第２のプロトコルスタック１０３とをもつことで、既存のプロトコルとの互換性を保持しながら、映像／音声ストリームなどの大容量マルチメディア情報を高速に処理することができる。【選択図】  図１
2004289239.tif 000002
【特許請求の範囲】
【請求項１】
設定条件のパケットを受信する第１のプロトコルスタックと、前記設定条件内のより狭い設定条件、或いは前記設定条件とは異なる設定条件のパケットのみを受信する、前記第１のプロトコルスタックよりも優先して処理される第２のプロトコルスタックと、を有するパケット受信装置。
【請求項２】
設定条件のパケットを受信する第１のプロトコルスタックと、前記設定条件内のより狭い設定条件、或いは前記設定条件とは異なる設定条件のパケットのみを受信する第２のプロトコルスタックを有し、前記第２のプロトコルスタックにおいて、前記第２のプロトコルスタックの設定条件を満たさない場合に、前記入力パケットを前記第１のプロトコルスタックに委譲する、パケット受信装置。
【請求項３】
前記第２のプロトコルスタックにおいて、入力パケットが前記第２のプロトコルスタックの設定条件を満たさず、且つ前記第１のプロトコルスタックの設定条件を満たさない場合に、前記入力パケットを破棄する、請求項１又は請求項２に記載のパケット受信装置。
【請求項４】
前記第２のプロトコルスタックにおいて、入力パケットが前記第２のプロトコルスタックの設定条件を満たすフラグメントである場合に、前記フラグメントをリアセンブルすることなく、上位層に転送する、請求項１から３に記載のパケット受信装置。
【請求項５】
前記第２のプロトコルスタックにおいて、設定条件として、映像／音声ストリームを受信するための条件を与える、請求項１から４に記載のパケット受信装置。
【請求項６】
前記映像／音声ストリームとして、ＭＰＥＧ２トランスポートストリーム或いはＭＰＥＧ２プログラムストリームを扱う、請求項５に記載のパケット受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット受信処理に要求される高速性を実現しながら、既存プロトコルへの互換性も兼ね備えたパケット受信装置に関するものである。特に、映像／音声ストリームの受信装置に関する。
【０００２】
【従来の技術】
以前のネットワークシステムは、各々のベンダが独自方式で設計しており、様々な通信手順が存在した。しかし現在では、ＯＳＩ（開放型システム間相互接続）基本参照モデルに倣って、通信に必要な機能を階層化し、階層間のプロトコルを標準化する傾向にある（例えば、非特許文献１参照）。ここでは、ＯＳＩ基本参照モデルとＴＣＰ／ＩＰの階層の対応を図９に示す。このように、機能やプロトコルを体系的に分類することで、相互接続性の向上を図ったり、新しい機能やサービスの追加／変更を容易にすることが可能となる。
【０００３】
ここで具体的に、ＴＣＰ／ＩＰを利用するアプリケーションがデータを送信する手順を考える（図１０参照）。データはＴＣＰ／ＩＰの階層を下層に向かって順に辿り、最終的には物理的な回線の規格に合わせた電気信号に変換されて送出される。各層では、プロトコル制御情報をヘッダやトレーラとしてデータに追加していく。例えば、アプリケーションがトランスポート層のプロトコルとしてＵＤＰを利用する場合、送信すべきデータをＵＤＰ層に転送する（ＵＤＰは非特許文献２参照）。するとＵＤＰ層ではデータにＵＤＰヘッダを追加してＵＤＰデータグラムに加工し、それをネットワーク層であるＩＰ層に転送する（ＩＰは非特許文献３参照）。ＩＰ層ではＵＤＰデータグラムにＩＰヘッダを追加してＩＰパケットに加工し、ネットワークアクセス層に転送する。このとき、ＩＰデータグラムのサイズがネットワークの最大転送単位を超えるならば、ＩＰデータグラムを分割して送信する（フラグメント化）。ネットワークアクセス層がイーサネット（Ｒ）であれば、ＩＰデータグラムにヘッダとトレーラを追加してイーサネット（Ｒ）フレームに加工し、電気信号に変換して、宛先の通信装置に転送する（イーサネット（Ｒ）は非特許文献４参照）。
【０００４】
データを受け取った宛先の通信装置は、送信元の通信装置と逆の手順、つまりヘッダやトレーラの情報をもとに各層でデータを取り出し、それを上位層に転送していく。フラグメントを受信した場合は、それらをすべて集めて元のデータグラムに戻してから、上位のプロトコルに渡す（リアセンブル）。そして、最終的な宛先となるアプリケーションにデータが渡される。
【０００５】
このような、通信装置内に実装されるＴＣＰ／ＩＰなどのプロトコル処理部をプロトコルスタックと呼ぶ。プロトコルスタックでは、単一のプロトコルが任意の上位プロトコルを格納して転送する機能（多重化）や、多重化されたデータから選別して上位層のプロトコルに転送する機能（多重分離）を有する。
【０００６】
【非特許文献１】
ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｘ．２００  （１９９４）  ｜  ＩＳＯ／ＩＥＣ  ７４９８−１  （１９９４），  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  −  Ｂａｓｉｃ  ｒｅｆｅｒｅｎｃｅ  ｍｏｄｅｌ：  Ｔｈｅ  ｂａｓｉｃ  ｍｏｄｅｌ
【非特許文献２】
ＲＦＣ７６８  （１９８０），  ＳＴＤ６，  Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ
【非特許文献３】
ＲＦＣ７９１  （１９８１），  ＳＴＤ５，  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ
【非特許文献４】
Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｎｄ  ｉｎｆｏｒｍａｔｉｏｎ  ｅｘｃｈａｎｇｅ  ｂｅｔｗｅｅｎ  ｓｙｓｔｅｍｓ  −  Ｌｏｃａｌ  ａｎｄ  ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋｓ  −  Ｓｐｅｃｉｆｉｃ  ｒｅｑｕｉｒｅｍｅｎｔｓ  −  Ｐａｒｔ  ３：  Ｃａｒｒｉｅｒ  ｓｅｎｓｅ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ  ｗｉｔｈ  ｃｏｌｌｉｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ  （ＣＳＭＡ／ＣＤ）  ａｃｃｅｓｓ  ｍｅｔｈｏｄ  ａｎｄ  ｐｈｙｓｉｃａｌ  ｌａｙｅｒ  ｓｐｅｃｉｆｉｃａｔｉｏｎｓ
【０００７】
【発明が解決しようとする課題】
しかしながら、受信処理における多重分離性能は、通信装置やＮＩＣ（ネットワーク・インタフェース・カード）の処理能力だけではなく、対応するプロトコルの種類や数に大きく左右されるため、十分な処理性能をもたない通信装置においては処理が追いつかずにパケットロスを招いたり、通信装置のその他の処理を遅延させるなどの課題を有していた。
【０００８】
本発明は、前記従来の課題を解決するもので、既存のプロトコルとの互換性を保持しながら、所定のパケットに要求される高速受信処理を実現するパケット受信装置を提供することを目的とする。特に映像／音声ストリームの受信処理に適したパケット受信装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
前記課題を解決するため、本発明のパケット受信装置は、設定条件のパケットを受信する第１のプロトコルスタックと、前記設定条件内のより狭い設定条件、或いは前記設定条件とは異なる設定条件のパケットのみを受信する、前記第１のプロトコルスタックよりも優先して処理される第２のプロトコルスタックを有する。第１のプロトコルスタックは、通常のパケット受信処理で使用し、設定条件に合致したパケットを受信する。前記第１のプロトコルスタックは、ＯＳ（オペレーティング・システム）のカーネル内に組み込まれることが多く、ダイナミックリンクライブラリによる実装方法も存在する。第２のプロトコルスタックは、第１のプロトコルスタックのもつ設定条件内のより狭い設定条件、或いは前記設定条件とは異なる設定条件に合致するパケットのみを受信し、高速受信処理や下位層において特殊な（簡略化した）受信処理を要する場合に特化する。
【００１０】
本構成によって、既存のプロトコルとの互換性を保持しながら、所定のパケットに要求される高速受信処理を実現する。
【００１１】
【発明の実施の形態】
（実施の形態１）
図１は、本発明の実施の形態１におけるパケット受信装置の構成図である。
【００１２】
図１において、パケット受信装置１０１は、通信回線１０８を終端するＤＣＥ（回線終端装置）１０７を介してデータの伝送を行う。パケット受信装置１０１は、データの（送）受信処理を行うアプリケーション１０５と、プロトコル処理、アクセスパスの管理、ネットワーク管理を行う通信アクセス制御プログラム１０４と、伝送制御、同期制御、フロー制御、誤り制御を行う通信制御装置１０６から構成される。通信アクセス制御プログラム１０４は第１のプロトコルスタック１０２と第２のプロトコルスタック１０３をもつ（実施の形態１の構成）。
【００１３】
図２は、パケット受信装置１０１の処理シーケンス図である。
【００１４】
図３は、第１のプロトコルスタック１０２と第２のプロトコルスタック１０３の階層図である。
【００１５】
アプリケーション１０５は、他のパケットとは差別化して受信すべきパケットがあれば、その受信条件、例えばクライアント側／サーバ側のＩＰアドレス／ポート番号の４つの数字の組み合わせ（ネームと呼ぶ）を、第２のプロトコルスタック１０３に設定する（図２のＳ１）。以降、パケット受信装置１０１がパケットを受信すると、第２のプロトコルスタック１０３が第１のプロトコルスタック１０２に優先して処理される。第２のプロトコルスタック１０３がパケットを受信すると（図２のＳ２）、第２のプロトコルスタック１０３に準じたパケットであるか、また設定されたネームと一致するパケットであるかを判断し、もし受信すべきパケットであればそのパケットにカプセル化されたデータをアプリケーション１０５に転送する（もしくは所定のメモリ領域にデータを転送する）。もし受信すべきパケットでなければ、パケットを破棄して終了する。第１のプロトコルスタック１０２では、他のアプリケーションから受信条件が設定されている、或いは何も設定されていない状態とし、その設定条件に応じて前記パケットを受信、或いは破棄する（図２のＳ３）。
【００１６】
このような第２のプロトコルスタックをもつことにより、ある設定条件に合致するパケットに対しては、アプリケーションに特化したプロトコルスタックで受信することにより、高速な受信処理を実現することができる。例えば、パケットの順序制御や再送制御などのプロトコル処理を簡略化し、重複制御やシーケンス管理は上位プロトコル（アプリケーション）に任せる方法がある。また、ＯＳに搭載されるような標準的なプロトコルスタックを第１のプロトコルスタックとして併用すれば、通常のパケット受信も行えるため、既存アプリケーションとの互換性も保持することができる。
【００１７】
なお、本実施の形態において、通信制御装置１０６はパケット受信装置１０１の内部に設けたが、外部から通信アクセス制御プログラム１０４と連携するように接続してもよい。また、ここでは受信条件としてネームを設定したが、伝送プロトコルなど特定のパケットを識別するための情報であれば、これに限るものではない。さらに、第１のプロトコルスタック１０２と第２のプロトコルスタック１０３においては、下位層（イーサネット（Ｒ）層乃至ＩＰ層）を２つのプロトコルスタックで共有してもよい。
【００１８】
（実施の形態２）
図４は、本発明の実施の形態２におけるパケット受信装置の処理シーケンス図である。実施の形態２の構成は、実施の形態１と同様とし、構成要素については説明を省略する。
【００１９】
アプリケーション１０５は、他のパケットとは差別化して受信すべきパケットがあれば、その受信条件となるネームを、第２のプロトコルスタック１０３に設定する（図４のＳ１）。パケット受信装置１０１がパケットを受信すると、第２のプロトコルスタック１０３に転送され、第２のプロトコルスタック１０３に準じたパケットであるか、また設定されたネームと一致するパケットであるかを判断する（図４のＳ２）。もし設定条件に一致しなければ、そのパケットを第１のプロトコルスタック１０２に委譲する。第１のプロトコルスタック１０２では、他のアプリケーションから受信条件が設定されている、或いは何も設定されていない状態とし、その設定条件に応じてパケットを受信、或いは破棄する（図４のＳ３）。パケット受信装置１０１が次のパケットを受信し、第２のプロトコルスタック１０３に転送されると、第２のプロトコルスタック１０３に準じたパケットであり、且つ設定条件に一致するパケットであれば、そのパケットにカプセル化されたデータをアプリケーション１０５に転送する（図４のＳ４）。このように、第２のプロトコルスタック１０３で正常に受信処理したパケットは、第１のプロトコルスタック１０２には転送しない。
【００２０】
かかる処理によれば、同一のパケットを第１、第２のプロトコルスタック両方で処理する必要がなく、パケット受信装置の処理負荷を軽減することができる。
【００２１】
なお、図４のＳ２の処理において、第２のプロトコルスタック１０３の受信条件に一致せず、その処理過程において第１のプロトコルスタック１０２の受信条件も満たさないことが判断できる場合、そのパケットを破棄してもよい。
【００２２】
（実施の形態３）
図５は、本発明の実施の形態３におけるパケット受信装置の処理シーケンス図である。実施の形態３の構成は、実施の形態１と同様とし、構成要素については説明を省略する。
【００２３】
図６は、第２のプロトコルスタック１０３で受信すべきパケットフォーマットの一例である。図６ａは、パケットの送信装置が送ろうとしているＩＰデータグラムを示している。この場合、送信装置が接続されているネットワークがイーサネット（Ｒ）であれば、その最大転送単位が１５００バイトであることから、図６ｂのようにフラグメント化される。
【００２４】
アプリケーション１０５は、他のパケットとは差別化して受信すべきパケットがあれば、その受信条件となるネームを、第２のプロトコルスタック１０３に設定する（図５のＳ１）。以降、パケット受信装置１０１がパケットを受信すると、第２のプロトコルスタック１０３が第１のプロトコルスタック１０２に優先して処理される。第２のプロトコルスタック１０３がパケットを受信すると（図５のＳ２）、第２のプロトコルスタック１０３に準じたパケットであるか、また設定されたネームと一致するパケットであるかを判断する。そして、受信すべきパケットで、且つそれがフラグメントであれば、ヘッダのオフセット情報を見て、順序に従って到着していれば、それをアプリケーションに転送する（もしくは所定のメモリ領域にデータを転送する）。このとき、第２のプロトコルスタック１０３では、リアセンブルを行わない。
【００２５】
かかる処理によれば、パケットロスを許容できるアプリケーションを利用する場合に、１つのフラグメントの損失が複数のフラグメントの損失につながるというＩＰ層の問題を回避できる。また、リアルタイム伝送を必要とするアプリケーションであれば、リアセンブルが完了する前にデータをアプリケーションに転送することもできる。
【００２６】
なお、ここでは、フラグメントの到着した順にアプリケーション１０５にデータを転送するものとしたが、第２のプロトコルスタック１０３のもつバッファにフラグメントを蓄積し、その蓄積された範囲内でフラグメントの到着順序を保証するようにしてもよい。
【００２７】
（実施の形態４）
図７は、本発明の実施の形態４におけるＭＰＥＧ２受信装置の構成図である。図７において図１と同じ構成要素については同じ符号を用い、説明を省略する。ＭＰＥＧ２受信装置は２０１は、パケット受信装置１０１にＭＰＥＧ２デコーダ２０２を付加したもので、映像／音声ストリームの再生機能を有する。ＭＰＥＧ２デコーダ２０２は、アプリケーション１０５と連携しながら、ＭＰＥＧ２トランスポートストリームをデコードし、映像／音声の出力を行う。
【００２８】
図８は、本発明の実施の形態４におけるＭＰＥＧ２受信装置の処理シーケンス図である。
【００２９】
アプリケーション１０５は、他のパケットとは差別化して受信すべきパケットとして、ＭＰＥＧ２トランスポートストリームを伝送するＵＤＰパケットのネームを、第２のプロトコルスタック１０３に設定する（図８のＳ１）。ＭＰＥＧ２受信装置２０１がパケットを受信すると、第２のプロトコルスタック１０３に転送され、第２のプロトコルスタック１０３に準じたパケットであるか、また設定されたネームと一致するパケットであるか判断する（図８のＳ２）。もし設定条件に一致しなければ、そのパケットを第１のプロトコルスタック１０２に委譲する。第１のプロトコルスタック１０２では、他のアプリケーションから受信条件が設定されている、或いは何も設定されていない状態とし、その設定条件に応じてパケットを受信、或いは破棄する（図８のＳ３）。ＭＰＥＧ２受信装置２０１が次のパケットを受信し、第２のプロトコルスタック１０３に転送されると、設定条件に一致するパケットであればそのパケットにカプセル化されたＭＰＥＧ２データをアプリケーション１０５に転送する（図８のＳ４）。ＭＰＥＧ２データを受信したアプリケーション１０５は、それをＭＰＥＧ２デコーダ２０２に転送し（図８のＳ５）、ＭＰＥＧ２デコーダ２０２がＭＰＥＧ２データのデコードを行い、映像／音声を出力する（図８のＳ６）。
【００３０】
かかる処理によれば、映像／音声ストリームを第２のプロトコルスタックで高速に処理しながら、その他のパケットは第１のプロトコルスタックで処理することにより、大容量マルチメディア情報の高速受信と既存アプリケーションとの互換性を実現できる。
【００３１】
なお、映像／音声ストリームとして、ＭＰＥＧ２トランスポートストリームを扱ったが、ＭＰＥＧ２プログラムストリームやその他のＩＰ伝送可能な映像／音声フォーマットでもかまわない。
【００３２】
【発明の効果】
以上のように、本発明のパケット受信装置によれば、新しい機能やサービスの追加／変更は容易であるが処理負荷が大きい第１のプロトコルスタックと、複数の階層のプロトコルに跨って柔軟に実装でき、所定のパケットに特化することで受信処理が軽い第２のプロトコルスタックを用いることによって、既存のプロトコルとの互換性を保持しながら、映像／音声ストリームなどの大容量マルチメディア情報を高速に処理することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態１におけるパケット受信装置の構成図
【図２】本発明の実施の形態１におけるパケット受信装置の処理シーケンス図
【図３】本発明の実施の形態１における通信アクセス制御プログラムの階層図
【図４】本発明の実施の形態２におけるパケット受信装置の処理シーケンス図
【図５】本発明の実施の形態３におけるパケット受信装置の処理シーケンス図
【図６】本発明の実施の形態３におけるパケットフォーマットを示す図
【図７】本発明の実施の形態４におけるＭＰＥＧ２受信装置の構成図
【図８】本発明の実施の形態４におけるＭＰＥＧ２受信装置の処理シーケンス図
【図９】ＯＳＩ基本階層モデルとＴＣＰ／ＩＰの階層図
【図１０】ＴＣＰ／ＩＰによる送受信機能を有する通信装置の階層図
【符号の説明】
１０１  パケット受信装置
１０２  第１のプロトコルスタック
１０３  第２のプロトコルスタック
１０４  通信アクセス制御プログラム
１０５  アプリケーション
１０６  通信制御装置
１０７  ＤＣＥ
１０８  通信回線
２０１  ＭＰＥＧ２受信装置
２０２  ＭＰＥＧ２デコーダ
【図１】
2004289239.tif 000003
【図２】
2004289239.tif 000004
【図３】
2004289239.tif 000005
【図４】
2004289239.tif 000006
【図５】
2004289239.tif 000007
【図６】
2004289239.tif 000008
【図７】
2004289239.tif 000009
【図８】
2004289239.tif 000010
【図９】
2004289239.tif 000011
【図１０】
2004289239.tif 000012