(57)【要約】【課題】リアルタイムでデータパケットのストリーミングを行う装置および方法を提供する。【解決手段】本発明の提供する装置は、送信まで複数のデータ・パケットを記憶するバッファと、記憶された複数のデータ・パケットからマクロパケットを作成し、所定の再送プロトコルを含むＵＤＰモードで動作するマクロパケット送信器と、コンピュータ／サーバまたは記憶装置へ前記マクロパケットをリアルタイムでストリーミングし、コンピュータ／サーバからの要求に従って、再送プロトコルによってマクロパケットのストリームのそれぞれのマクロパケットを再送するプロセッサと、を有する。【選択図】図１
2006174446.tif 000002
【特許請求の範囲】
【請求項１】
送信まで複数のデータ・パケットを記憶するバッファと、
前記記憶された複数のデータ・パケットからマクロパケットを作成し、所定の再送プロトコルを含むＵＤＰモードで動作するマクロパケット送信器と、
コンピュータ／サーバまたは記憶装置へ前記マクロパケットをリアルタイムでストリーミングし、前記コンピュータ／サーバからの要求に従って、再送プロトコルによって前記マクロパケットのストリームのそれぞれのマクロパケットを再送するプロセッサと、
を有する装置。
【請求項２】
前記バッファが、サーキュラ・バッファであり、
前記バッファが、
前記サーキュラ・バッファの書き込み位置を指示するための書き込みポインタと、
前記サーキュラ・バッファの読み取り位置を指示するための読み取りポインタと、をさらに含む、請求項１に記載の装置。
【請求項３】
前記複数のデータ・パケットが前記バッファに記憶される前に、前記複数のデータ・パケットのパターン整合及びフィルタリングを実施するフィルタをさらに有し、
選択された場合には、前記フィルタリングの前にデータ・パケットを抽出するラインインタフェースをさらに有し、
前記ラインインタフェースは、
前記データ・パケットを直接抽出するラインインタフェース、
ＡＡＬ再アセンブリによって前記データ・パケットを抽出するラインインタフェース、
または、各データ・パケットに長さ標識を付加し、前記データ・パケットを分類し、前記データ・パケットにタイムスタンプを付加する、ラインインタフェース
のうち少なくとも１つである、請求項１に記載の装置。
【請求項４】
前記装置が、サーキュラ・バッファを利用して、前記コンピュータ／サーバ及び記憶装置へ前記マクロパケットをストリーミングする、請求項１に記載の装置。
【請求項５】
前記所定の再送プロトコルが、紛失しているかまたは誤りのあるマクロパケットの再送を含むこと、
または、前記所定のフロー制御プロトコルが、ウィンドウ制御方式を利用して前記送信器が受信器を圧倒しないことを保証する、フロー制御のための機構を含むこと、
のうち少なくとも１つを含む、請求項１に記載の装置。
【請求項６】
データ・パケットのストリーミングを行う方法であって、
バッファを利用して、送信まで複数のデータ・パケットを記憶するステップと、
マクロパケット送信器を利用して、前記記憶された複数のデータ・パケットからマクロパケットを生成し、所定の再送及びフロー制御プロトコルを含むＵＤＰモードを利用して前記マクロパケットを送信するステップと、
コンピュータ／サーバ及び記憶装置へ前記マクロパケットをリアルタイムでストリーミングし、前記コンピュータ／サーバからの要求に従って、再送及びフロー制御プロトコルによって前記マクロパケットのストリームのそれぞれのマクロパケットを再送するステップと、
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、パケット・ネットワークからデータ・パケットを捕捉し、データ・パケットに処理を施し、処理済データ・パケットをコンピュータまたは記憶装置に対してリアルタイムでストリーミングすることに関するものである。
【背景技術】
【０００２】
ワールド・ワイド・ウェブの発生当初、動的に発生したウェブ・ページから構成されるデータベース方式のサイトが、静的ページから構成されるウェブ・サイトに取って代わり始めた。こうして、静的ウェブ・サイトは、ウェブ・アプリケーションの豊かさ及び双方向性に取って代わられた。実行中にデータベースからページを提供することによって、ユーザに合わせてカスタマイズされた情報を配信する全く新しい方法が可能になった。ストリーミング・メディアの配信において同様の革命が進行中である。
【０００３】
現在、インテル社のxScaleプロセッサが、捕捉バッファ、及び、ストリーミングまたは媒体への実行時記憶（run time store to media：ＲＴＳＭ）を２０メガビット／秒に制限するＴＣＰ／ＩＰスタックの実行に利用されている。
【０００４】
線状及び環状同期ディジタル・ハイアラーキ（Synchronous Digital Hierarchy：ＳＤＨ）ネットワークまたは同期式光ネットワーク（Synchronous Optical Network：ＳＯＮＥＴ）において、パケット・データ伝送に関するいくつかの要件が、ＩＴＵ−Ｔ推奨規格によって推奨されている所定の時間限界内に納まるように指定されている。例えば、公称データ転送速度は、ＳＯＮＥＴ標準速度オプティカル・キャリア（ＯＣ）−１９２によって規定された、9.95328Gb/秒である。あるパケットを受信できないか、またはあるシーケンスをなしている全てのパケットの再送が必要となる場合に、問題が生じる。
【０００５】
マルチプロトコル・オーバＡＴＭ（Multi-protocol over ATM：ＭＰＯＡ）及びＰＰＰオーバＳＯＮＥＴ（PPP-over-SONET：ＰＯＳ）は、ＳＯＮＥＴによるパケット・パッケージ化及び転送のための周知の２つのプロトコルである。ＭＰＯＡの欠点の１つは、各中間ノードにおいてレイヤ３のＩＰ経路指定を実施するため、パケット化情報をセグメント化し、再アセンブルすることが要求されるという点である。この要求によって、ＭＰＯＡパケット化情報の配信が遅くなる可能性があり、従って、ビデオまたは他の時間制約型情報の配信が不満足なものになる。ＰＯＳの欠点の１つは、同期の損失を生じるビット誤りが、平均パケット・サイズに応じて増すという点である。マルチメディア用途は、さらに大きいパケット・サイズを有することになりがちなので、ストリーミング・ビデオのようなマルチメディア用途の場合、ＰＯＳの信頼性は、潜在的に低くなる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、リアルタイムでデータパケットのストリーミングを行う装置および方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の態様の１つによれば、パケット・データ捕捉装置は、リアルタイムでデータ・パケットのストリーミングを行う。この装置には、送信まで複数のデータ・パケットを記憶するバッファと、記憶されている複数のデータ・パケットからマクロパケットを作成し、所定の再送及びフロー制御を含むユーザ・データグラム・プロトコル（User Datagram Protocol：ＵＤＰ）モードで動作するマクロパケット送信器と、コンピュータ／サーバまたは記憶装置にマクロパケットをリアルタイムでストリーミングし、コンピュータ／サーバからの要求に従って、再送プロトコルによってマクロパケットのストリームのそれぞれのマクロパケットを再送するプロセッサと、を含む。ＵＤＰ送信では、受信器でのフロー制御を可能にするウィンドウ方式（window scheme）を利用することもできる。一例として、受信器は、送信側がｘバイトのデータを送って良いことを通知することができる。送信側は、別のウィンドウ更新を受信しない限り、ｘバイトの受信が済むと、データの送信を停止する。
【０００８】
本発明のもう１つの態様によれば、バッファは、サーキュラ・バッファ（circular buffer）であり、サーキュラ・バッファの書き込み位置を指示する書き込みポインタと、サーキュラ・バッファの読み取り位置を指示する読み取りポインタを含んでいる。
【０００９】
本発明のもう１つの態様では、この装置には、さらに、複数のデータ・パケットがバッファに記憶される前にデータ・パケットのパターン整合及びフィルタリングを実施するフィルタが含まれている。
【００１０】
本発明のもう１つの態様によれば、この装置には、さらに、フィルタリングの前に、データ・パケットを抽出するラインインタフェース（line interface）が含まれている。
【００１１】
本発明のもう１つの態様によれば、ラインインタフェースは、データ・パケットを直接抽出するか、または非同期転送モード（Asynchronous Transfer Mode：ＡＴＭ）再アセンブリによってデータ・パケットを抽出する。
【００１２】
本発明のもう１つの態様によれば、ラインインタフェースは、各データ・パケットに長さ標識（length indicator）を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加する。
【００１３】
本発明のもう１つの態様によれば、この装置は、サーキュラ・バッファを利用して、コンピュータ／サーバ及び記憶装置へのマクロパケットのストリーミングを行う。
【００１４】
本発明のもう１つの態様によれば、所定の再送プロトコルには、紛失しているかまたは誤りのあるマクロパケットを再送することが含まれる。
【００１５】
本発明のもう１つの態様によれば、データ・パケットのストリーミングがリアルタイムで行われる方法が提供される。この方法には、バッファを利用して、送信まで複数のデータ・パケットを記憶するステップと、マクロパケット送信器を利用して記憶されている複数のデータ・パケットからマクロパケットを生成し、所定の再送及びフロー制御プロトコルを含むＵＤＰモードを利用してマクロパケットを送信するステップと、コンピュータ／サーバまたは記憶装置へのマクロパケットのストリーミングをリアルタイムで実施し、コンピュータ／サーバからの要求に従って、再送プロトコルによってマクロパケットのストリームのそれぞれのマクロパケットを再送するステップと、が含まれている。
【００１６】
本発明の態様の１つによれば、バッファはサーキュラ・バッファであり、バッファの利用には、書き込みポインタを用いてサーキュラ・バッファの書き込み位置を指示することと、読み取りポインタを用いてサーキュラ・バッファの読み取り位置を指示することが含まれる。
【００１７】
本発明のもう１つの態様によれば、この方法には、さらに、バッファを利用する前に、フィルタを利用してパターン整合及びフィルタリングを実施することが含まれる。
【００１８】
本発明のもう１つの態様によれば、この方法には、さらに、フィルタを利用してパターン整合及びフィルタリングを実施する前に、ラインインタフェースを利用してデータ・パケットを抽出することが含まれる。
【００１９】
本発明のもう１つの態様によれば、ラインインタフェースを利用してデータ・パケットを抽出するステップには、データ・パケットを直接抽出すること、または非同期転送モード（ＡＴＭ）・アダプテーション・レイヤ（ＡＡＬ）再アセンブリによってデータ・パケットを抽出することが含まれる。
【００２０】
本発明のもう１つの態様によれば、ラインインタフェースを利用してデータ・パケットを抽出するステップには、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加することが含まれる。
【００２１】
本発明のもう１つの態様によれば、所定の再送及びフロー制御プロトコルが、紛失しているかまたは誤りのあるマクロパケットを再送し、マクロパケット送信器の伝送速度を制御することを含む。
【００２２】
本発明のもう１つの態様によれば、リアルタイムでデータ・パケットのストリーミングを行うコンピュータ読取り可能命令が記録されるコンピュータ読取り可能媒体が提供される。命令には、送信までバッファに複数のデータ・パケットを記憶することと、複数のデータ・パケットからマクロパケットを作成し、所定の再送及びフロー制御プロトコルを利用する、マクロパケットのＵＤＰヘッダを記憶しているＵＤＰモードでマクロパケットを送信することと、コンピュータ／サーバ及び記憶装置へのマクロパケットのストリーミングをリアルタイムで行い、コンピュータ／サーバからの要求に従って、再送プロトコルによってマクロパケットのストリームのそれぞれのマクロパケットを再送することが含まれている。
【００２３】
本発明のもう１つの態様によれば、命令には、さらに、複数のデータ・パケットをバッファに記憶する前に、フィルタリングによってパターン整合及びフィルタリングを実施することが含まれる。
【００２４】
本発明のもう１つの態様によれば、命令には、さらに、フィルタリングによってパターン整合及びフィルタリングを実施する前に、ラインインタフェースを利用して、データ・パケットを直接抽出するか、またはＡＡＬ再アセンブリによってデータ・パケットを抽出することによりデータ・パケットを抽出することが含まれる。
【００２５】
本発明のもう１つの態様によれば、ラインインタフェースを利用してデータ・パケットを抽出する命令には、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加することが含まれる。
【００２６】
本発明のもう１つの態様によれば、所定の再送プロトコルに、紛失しているかまたは誤りのあるマクロパケットを再送することが含まれる。
【００２７】
本発明のもう１つの態様によれば、所定のフロー制御プロトコルには、受信側コンピュータ／サーバの受信バッファがオーバフローするのを回避するため、マクロパケット送信器を停止する機能が含まれる。
【００２８】
本発明のさらなる態様及び／または利点については、部分的には、以下に続く説明に示されることになり、部分的には、その説明から明らかになるか、または本発明を実施することによって知ることができる。
【発明を実施するための最良の形態】
【００２９】
本発明の以上の及び／または他の態様及び利点については、付属の図面に関連してなされる下記の実施態様の説明から明らかになり、理解が容易になるであろう。
【００３０】
通信分野において、ビデオ、データ、及び音声のような情報の高帯域で、信頼性が高く、待ち時間の短い配信を行うことは重要である。同期式光ネットワーク（ＳＯＮＥＴ）は、オプティカル・キャリアを利用する高帯域伝送にとって周知の規格である。ＳＯＮＥＴは、参考までに本明細書において援用されている、ANSI T1.105、ANSI T1.106、及びANSI T1.117において定義されている。欧州では、同期ディジタル・ハイアラーキ（ＳＤＨ）と呼ばれる、ＳＯＮＥＴと同様の規格が用いられる。
【００３１】
ＳＯＮＥＴによって、「同期ペイロード・エンベロープ（synchronous payload envelope）」と呼ばれる伝送単位が定義されている。同期転送信号レベル１（Synchronous Transport Signal Level 1：ＳＴＳ−１）の場合、同期ペイロード・エンベロープは、合計で８１０バイトの、９行×９０列の構造として表わすことができる。列１〜列３は転送オーバヘッドに対応し、列４はパス・オーバヘッドに対応し、列４〜９０は関連ペイロードに対応する。転送オーバヘッド及びパス・オーバヘッドは、共に、ＳＯＮＥＴシステム内において、情報データ・チャネルの操作、保守、プロビジョニング、及び管理を行う。ペイロードは、それぞれが多様なフォーマットでパッケージ化されている可能性のあるビデオ、データ、または音声のような情報を収容している。
【００３２】
セクション、回線、及びパス・オーバヘッドにおけるフォーマット・バイトは、ＳＯＮＥＴの分野において周知のところである。ＳＯＮＥＴは、ビット、タイムスロット、及びフレームの３つのレベルで同期を必要とする。ビット同期は、マスタ・クロック周波数に関したビットの送受信を表わしている。タイムスロット同期は、データ検索のためタイムスロットを識別できるように、送信器と受信器のアライメントをとることを表わしている。タイムスロット同期は、オーバヘッドとペイロードを分離する固定フレーム・フォーマットを利用して実施される。フレーム同期は、マスタ・クロック周波数に従って、各ペイロードの開始部を識別できるようにすることが要求される。フレーム同期には、さらに、マスタ・クロック周波数に従って、ＳＯＮＥＴペイロード内における各フレーム／パケット・ペイロードの開始部を識別することも含まれる。
【００３３】
伝送されるパケット又はフレームのビット誤りによって、同期がとれなくなる可能性があり、その結果、パケットまたはフレームが廃棄される可能性がある。ビット・エラー源の１つは、不適切なフレーム／パケットの線引き、すなわちフレームまたはパケット境界の不適切な決定である。もう１つのビット誤り源は、ノイズのある通信リンクである。
【００３４】
ＳＯＮＥＴは、非同期転送モード（ＡＴＭ）及びパケット・データの両方に関する転送レイヤの転送機構として利用することができる。データには、この用語が本明細書において用いられる限りにおいて、ディジタル方式で表現することが可能な任意のタイプの情報が含まれ、ストリーミング・ビデオまたは音声のような時間に敏感なデータ、及び／またはコンピュータ・ファイルのような時間に敏感ではないデータが含まれる。パケット・テクノロジには、ＴＣＰ／ＩＰ（転送制御プロトコル／インターネット・プロトコル）、トークン・リング等が含まれる。パケット・テクノロジの一例が、ＯＳＩレイヤ２によって伝送されるＩＰ（インターネット・プロトコル）パケットである。パケット・テクノロジのもう１つの例が、イーサネットである。ＡＴＭ及びＳＯＮＥＴテクノロジは、周知のところであって、明確であり、本明細書ではこれ以上の詳述は控えることにする。同様に、ＯＳＩ  ７レイヤ・モデルの各種レイヤも周知のところであって、明確であり、本明細書での説明は控えることにする。
【００３５】
ＳＯＮＥＴには、光ファイバでディジタル信号を伝送するための１組の信号速度の倍数が含まれている。基本速度（ＯＣ−１）は、５１．８４Ｍｂｐｓである。ＯＣ３（オプティカル・キャリア・レベル３、光ファイバ、１５５．５２０Ｍｂｐｓの２０１６の音声回路）のようなオプティカル・キャリア・レベル回路は、例えば、大規模ビジネスに利用可能なハイエンドＭｕｌｔｉＭｅｇ回路である。
【００３６】
ＯＣ３コネクションの速度は、１５５Ｍｂｐｓである。これは、３つのＴ３回線または８４のＴ１回線に相当する。
【００３７】
入力（ingress）フレーム／パケットのフォーマットには、例えば、フレーム・リレー、ＴＣＰ／ＩＰ、ＡＴＭ、またはイーサネット信号が含まれる。
【００３８】
図１は、本発明の実施態様の１つに従って、パケット・ネットワークからデータ・パケットを捕捉し、データ・パケットに処理を施し、コンピュータ、サーバ、またはハード・ドライブへのデータ・パケットのストリーミングをリアルタイムで実施する装置１００を描いたブロック図である。図１を参照すると、装置１００には、送信まで複数のデータ・パケットを記憶するバッファ１０２、複数の記憶されているデータ・パケットからマクロパケットを作成し、所定の再送プロトコルを含んでいるＵＤＰモードで動作するマクロパケット送信器１０４、及びコンピュータ／サーバ１１２または記憶装置１１４へのマクロパケットのストリーミングをリアルタイムで行い、コンピュータ／サーバ１１２と通信し、コンピュータ・サーバ１１２からの要求に従って、マクロパケットのストリームのそれぞれのマクロパケットを再送するプロセッサ１１０が含まれている。バッファ１０２は、例えば、サーキュラ・バッファとすることができる。
【００３９】
他の実施例もできる。装置１００は、ＴＣＰ／ＩＰモードまたはＵＤＰモードで動作するように選択することができる。マクロパケット送信器１０４外部のメモリ１０６を利用することもできる。プロセッサ１１０、マクロパケット送信器１０４、コンピュータ／サーバ１１２、及び記憶装置１１４の間のインターフェイスをなすネットワーク・インターフェイス装置１０８は、一時的に情報を記憶するためのレジスタ及び記憶空間を提供することが可能であり、プロセッサ１１０の外部の位置に設けることができる。
【００４０】
バッファ１０２は、サーキュラ・バッファとすることができ、書き込み位置を指示する書き込みポインタ１１６、及び読み取り位置を指示する読み取りポインタ１１８を備えることができる。サーキュラ・バッファにデータ・パケットが書き込まれると、そのデータ・パケットに、長さ、タイムスタンプ、及びパケット分類フラグのようなそのオーバヘッドを加えたサイズの分だけ、書き込みバッファの記憶量が増加する。複数バッファまたは単一交互配置バッファを利用して、１つの全二重通信リンクまたは複数の全二重通信リンクからのデータを記憶することができる。
【００４１】
マクロパケット送信器１０４は、一般に、ユーザによる選択が可能な３つのモード、すなわち、ＴＣＰ／ＩＰモード、ＵＤＰモード、及びＵＤＰモードに所定の再送及びフロー制御プロトコルを加えたモードのうちの１つで動作することができる。ＴＣＰ／ＩＰモードは、例えば、コンピュータまたはディスクへの、及びコンピュータまたはディスクからのイーサネット・リンクが直接配線された（ファイバ）リンクではない、すなわち、パケット損失を生じデータ転送速度が保証されないことになる中間スイッチを介して通されている場合に利用される。ＴＣＰ／ＩＰモードでは、ローカルメモリの読み取りを行って、ネットワーク・インターフェイス装置１０８にパケットを送る前に、パケットにチェックサムを付加する。従って、ＴＣＰ／ＩＰプロトコルを用いて再送及び速度制御が行われるが、ＴＣＰ／ＩＰモードによるデータ・パケットの伝送速度は低下し、システムは過負荷になる可能性がある。ＵＤＰモードは、ユーザ・データグラム・プロトコルである。ただ単に、ブロードキャスト、マルチキャスト、またはユニキャストを行うだけで、専用イーサネット・リンクを介してディスクにデータを書き込む場合に利用される。すなわち、ＵＤＰモードの場合、フロー制御または再送機能がない。従って、ＵＤＰモードの場合、ビデオ・インターネット伝送が損なわれる可能性がある。しかし、ＵＤＰモードの場合、ＣＲＣの計算ができず、パケットの損失の可能性があるけれども、一般に、音声の伝送は許容できる。所定の再送及びフロー制御プロトコルを実施するＵＤＰモードは、高速でコンピュータにデータを送る場合に利用され、コンピュータは、所定の再送及びフロー制御プロトコルを実施するソフトウェアを備えている。従って、ＵＤＰモードに所定の再送及びフロー制御プロトコルを加えたモードの場合、データ・パケットは効率よく伝送され、紛失したり、あるいは誤りのあるデータ・パケットは再送されるので、効率のよい動作が得られる。
【００４２】
バッファ内のデータが所定の量に達すると、例えば、未送のデータ・パケットの結合長が６４キロバイトを超えると、マクロパケット送信器１０４は、ネットワーク・インターフェイス装置１０８に対して、ＵＤＰヘッダ、続いて所定のヘッダ、６４キロバイトまでのデータ、及びデータグラム全体のチェックサムを出力する。例えば、チェックサムは、ＣＲＣ−３２とすることができる。
【００４３】
所定のヘッダには、シーケンス番号、現在のマクロパケットが要求された再送の結果であることを示すフラグ、このマクロパケット内にあるデータ量の長さ、及びマクロパケット・タイプの標識を含むことができる。マクロパケット送信器１０４は、時間切れ機構を用いて、バッファ内に蓄積されたデータが、所定の時間内に６４キロバイトに達しなければ、所定の時間後におけるバッファ内のデータが、マクロパケットとして出力されるようにする。
【００４４】
さらに、マクロパケット送信器１０４は、プロセッサ１１０からの要求に応答して、マクロパケットのシーケンス番号が付与された特定のマクロパケットを再送することができる。マクロパケット送信器１０４は、一般に、メモリ１０６を備えているので、マクロパケットのシーケンス番号を探索して、マクロパケットの長さ、及びマクロパケットの開始部における読み取りポインタを確認することができる。
【００４５】
また、マクロパケット送信器１０４は、プロセッサからの要求に応答して、選択されたシーケンス番号から始まる全てのマクロパケットを再送することができる。所望の場合、マクロパケット送信器１０４は、プロセッサからの要求に応答して、選択されたシーケンス番号以後の全てのマクロパケットを再送することができるが、要求されたマクロパケットがもはや利用可能ではなく、再送が次の利用可能なマクロパケットから開始されていることを示すため、マクロパケットにマークを付けることができる。マクロパケット送信器は、プロセッサ１１０またはマクロパケット送信器１０４によって追跡されるフロー制御機構によって休止させることもできる。
【００４６】
プロセッサ１１０は、パケット・ネットワーク・ストリーミング・システム全体の全般制御に利用される。プロセッサ１１０は、一般に、制御コンピュータ／サーバ１１２と通信を行う。実施態様の１つでは、プロセッサは、ネットワーク・インターフェイス装置１０８を介して、ＴＣＰ／ＩＰスタックを利用して通信を行うことができる。従って、プロセッサ１１０は、選択されたシーケンス番号で始まる全てのパケットの再送を要求する特別なマークが付いたメッセージを受信することができる。適合するプロセッサの一例としては、インテル社（登録商標）から入手可能なxScale SA-1110がある。ネットワーク・インターフェイス装置１０８が利用される場合、ネットワーク・インターフェイス装置１０８は、例えば、コンピュータへのマクロパケットのストリーミングを行うネットワーク・インターフェイス・チップとすることができる。
【００４７】
コンピュータ／サーバ１１２は、所定の再送及びフロー制御プロトコルの受信端を作動させる。所定の再送プロトコルは、マクロパケットを受信して、ＣＲＣ及びシーケンス番号を調べる。最適な条件下では、受信したマクロパケットは、順序正しく、誤りがない。マクロパケットが紛失していたり、あるいは誤りを含んでいる場合、コンピュータ／サーバ１１２は、対応するシーケンス番号に従ったマクロパケットの再送を要求することができる。コンピュータ／サーバ１１２は、送信との同期が大幅にずれる場合、選択されたシーケンス番号から、全てのマクロパケットを再送するように要求することができる。
【００４８】
フロー制御を利用すると、マクロパケット送信器によるデータ送信が速すぎてコンピュータ／サーバが受信できないかもしれないといった状況を回避することが可能になる。コンピュータ／サーバ１１２によって、周期的ウィンドウ・サイズ更新（シーケンス番号と共に）が、ネットワーク・インターフェイス装置１０８に送られ、次に、プロセッサ１１０に経路指定され、さらに、マクロ・パケット送信器１０４に送られる。マクロパケット送信器１０４は、シーケンス番号にウィンドウ・サイズを加えた値に対応するバッファ内のバイト位置に達すると、送信を停止し、コンピュータ／サーバ１１２がその受信バッファをオーバフローさせないようにする。
【００４９】
装置１００には、さらに、バッファ１０２に結合されて、バッファにデータ・パケットを納める前にパターン整合及びフィルタリングを実施するフィルタ１２０を含むことができる。さらに、所望の場合、装置１００には、フィルタ１２０に結合されて、フィルタリングの前にデータ・パケットを抽出するラインインタフェース１２２を含むことができる。ラインインタフェース１２２は、データ・パケットを直接抽出するか、またはＡＡＬ再アセンブリによってデータ・パケットを抽出することができる。ラインインタフェース１２２は、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加することもできる。ラインインタフェース１２２は、例えば、Ｔ１、Ｅ１、ＯＣ３、100baseT、1000baseTx等のようなさまざまなラインインタフェース規格の１つ以上のポートのための受信器を備えている。
【００５０】
装置１００は、一般に、コンピュータ／サーバ１１２と記憶装置１１４の少なくとも一方に対するマクロパケットのストリーミングを行うように構成されている。
【００５１】
当該技術者には明らかなように、本発明は、図１に示す特定の構成に制限されるものではない。例えば、バッファ１０２の代わりに、専用バッファを利用することができる。ネットワーク・インターフェイス装置１０８には、ネットワーク・インターフェイス・チップを利用することもできるし、あるいは、代替案として、プロセッサ１１０が、ネットワーク・インタフェイス装置１０８の機能を実施して、独立したネットワーク・インターフェイス装置１０８用コンポーネントを不要にすることもできる。あるいはまた、マクロパケット送信器１０４及びプロセッサ１１０の両方の代わりに、ネットワーク・プロセッサを利用することもできる。
【００５２】
図２は、本発明の実施態様の１つに従って、リアルタイムでデータ・パケットのストリーミングを行うプロセス２００を例示したフローチャートである。図２を参照すると、ステップ２０２において、バッファを利用して、送信まで複数のデータ・パケットが記憶される。所定の量のデータを受信するまでデータ・パケットを蓄積し、及び／またはタイマを事前設定して、蓄積データ・パケットをいつ送信できるかを判定することができる。
【００５３】
プロセスは、ステップ２０２からステップ２０４に移行し、マクロパケット送信器は、複数のパケットからマクロパケットを生成し、所定の再生及びフロー制御プロトコルを含むＵＤＰモードを利用して、マクロパケットを送信する。所定の再送プロトコルには、一般に、紛失しているかまたは誤りのあるマクロパケットの再送が含まれる。マクロパケットには、コンピュータ／サーバが選択されたマクロパケットの再送を要求する場合に、選択された所望のマクロパケットを再送できるようにする、ＵＤＰヘッダが納められている。あるいはまた、マクロパケット・ヘッダは、バッファへの書き込み時に、データの先頭に付加するか、またはデータに追加することもできるし、あるいは、独立したバッファに書き込むこともできる。これによって、再送方式が単純化される。
【００５４】
プロセスは、ステップ２０４からステップ２０６に移行し、コンピュータ／サーバまたは記憶装置に対するマクロパケットのストリーミングがリアルタイムで実施され、コンピュータ／サーバは、検査して、マクロパケットに紛失または誤りがあるか否かを確認し、もしあれば、所望のマクロパケットの再送を要求し、マクロパケット送信器によって所望のマクロパケットが再送される。
【００５５】
ステップ２０６では、所定のフロー制御プロトコルを利用して、コンピュータ／サーバへのフレームのストリーミングを休止することができる。コンピュータ／サーバの受信バッファを満杯にするのに十分なデータを送信すると、フロー制御プロトコルによって、送信器が休止させられる。
【００５６】
バッファを利用するステップ２０２には、書き込みポインタを利用して、書き込み位置を指示し、読み取りポインタを利用して、読み取り位置を指示するステップを含むことができる。
【００５７】
所望の場合、バッファを利用するステップ２０２の前にステップ２０８を実施して、フィルタを利用してパターン整合及びフィルタリングを施すことができる。さらに、ステップ２０８を実施する前にステップ２１０を実施して、ラインインタフェースを利用してデータ・パケットを抽出することができる。ラインインタフェースを利用してデータ・パケットを抽出するステップ２１０には、データ・パケットを直接抽出するステップと、ＡＡＬ再アセンブリによってデータ・パケットを抽出するステップの一方を含むことができる。さらに、ラインインタフェースを利用してデータ・パケットを抽出するステップ２１０には、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加するステップを含むことができる。
【００５８】
本発明の機能を変更することなく、本発明の実施態様の１つに関する上述のプロセス２００の操作に変更を加えることができる。
【００５９】
図３は、本発明の実施態様の１つに従って、データ・パケットのストリーミングをリアルタイムで行うコンピュータ読取り可能命令が記録された、コンピュータ読取り可能媒体３００のブロック図である。次に図３を参照すると、ステップ３０２では、命令によって、送信まで複数のデータ・パケットがバッファに記憶される。バッファに関して所定のデータ量を事前設定しておいて、マクロパケットを送るべき時期を判定するか、あるいは、時限を事前設定しておいて、所定の量のデータを受信したか否かにかかわらずマクロパケットを送るべき時期を判定することが可能であり、さらにこれらの両方を実施することもできる。
【００６０】
プロセスは、ステップ３０２からステップ３０４に移行し、マクロパケットが複数のデータ・パケットから作成され、所定の再送及びフロー制御プロトコルを利用する、マクロパケットのＵＤＰヘッダを納めたＵＤＰモードで伝送される。所定の再送及びフロー制御プロトコルには、一般に、紛失しているかまたは誤りのあるマクロパケットを再送することと、受信側の受信バッファを満杯にするのに十分なデータが送られると、送信を休止することが含まれる。
【００６１】
プロセスは、ステップ３０４からステップ３０６に移行し、コンピュータ／サーバと記憶装置の少なくとも一方に対するマクロパケットのストリーミングをリアルタイムで行い、コンピュータ／サーバと通信を行い、コンピュータ／サーバからの要求に従って、マクロパケットのストリームのそれぞれのマクロパケットを再送することによって、コンピュータ／サーバと記憶装置の少なくとも一方に対するマクロパケットのストリーミングが実施される。
【００６２】
上述の実施例によれば、命令には、送信まで複数のデータ・パケットをバッファに記憶するステップ３０２の前に、フィルタを用いて、複数のデータ・パケットのパターン整合及びフィルタリングを実施するステップ３０８を含むことができる。また、所望の場合、命令には、フィルタを用いて、パターン整合及びフィルタリングを実施するステップ３０８の前に、ラインインタフェースを利用して、データ・パケットの直接抽出と、ＡＡＬ再アセンブリによるデータ・パケットの抽出の一方によるデータ・パケットの抽出を行う、ステップ３１０を含むことができる。ラインインタフェースを利用して、データ・パケットを抽出するステップ３１０の命令には、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加する命令を含むこともできる。すなわち、一般に、プロセス２００の操作は、コンピュータ読取り可能媒体３００のコンピュータ読取り可能命令に組み込むことができる。
【００６３】
コンピュータ読取り可能媒体のコンピュータ読取り可能命令の実施態様の一例について上述したが、本発明の機能から逸脱することなく、これらの命令に変更を加えることができる点に留意されたい。
【００６４】
本明細書には、さまざまなプロトコル及び規格が解説されている。しかし、本発明は、いかなる特定のプロトコル及び／または規格にも限定されるものではない。
【００６５】
本発明は、コンピュータ読取り可能記録媒体上のコンピュータ読取り可能コードとして具現化することができる。コンピュータ読取り可能記録媒体は、後でコンピュータ・システムによって読み取ることが可能なデータを記憶することができる、任意のデータ記憶装置である。コンピュータ読取り可能記録媒体の例には、読み取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ＣＤ−ＲＯＭ、磁気テープ、フロッピ・ディスク、光データ記憶装置、及び搬送波（インターネットを介したデータ伝送のような）が含まれる。さらに、コンピュータ読取り可能記録媒体は、コンピュータ読取り可能コードが分散方式で記憶され実行されるように、ネットワークで結合されたコンピュータ・システムに分散させることができる。
【００６６】
本発明のいくつかの実施態様について示し、解説してきたが、当該技術者には明らかなように、その範囲が請求項において定義されている本発明の原理及び精神、及び、その同等物から逸脱することなく、これらの実施態様に変更を加えることができる。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施態様の１つに従って、パケット・ネットワークからデータ・パケットを捕捉し、コンピュータ／サーバまたはハード・ドライブへのマクロパケットの形をとるデータ・パケットのストリーミングをリアルタイムで実施する装置を描いたブロック図である。
【図２】本発明の実施態様の１つに従って、リアルタイムでマクロパケットの形をとるデータ・パケットのストリーミングを行うプロセス２００を例示したフローチャートである。
【図３】本発明の実施態様の１つに従って、マクロパケットの形をとるデータ・パケットのストリーミングをリアルタイムで行うコンピュータ読取り可能命令が記録された、コンピュータ読取り可能媒体のブロック図である。
【符号の説明】
【００６８】
１００  装置
１０２  バッファ
１０４  マクロパケット送信器
１１０  プロセッサ
１１２  コンピュータ／サーバ
１１４  記憶装置
１１６  書き込みポインタ
１１８  読み取りポインタ
１２０  フィルタ
【図１】
2006174446.tif 000003
【図２】
2006174446.tif 000004
【図３】
2006174446.tif 000005