説明

データ・パケットのストリーミングを行う装置および方法

【課題】リアルタイムでデータパケットのストリーミングを行う装置および方法を提供する。
【解決手段】本発明の提供する装置は、送信まで複数のデータ・パケットを記憶するバッファと、記憶された複数のデータ・パケットからマクロパケットを作成し、所定の再送プロトコルを含むUDPモードで動作するマクロパケット送信器と、コンピュータ/サーバまたは記憶装置へ前記マクロパケットをリアルタイムでストリーミングし、コンピュータ/サーバからの要求に従って、再送プロトコルによってマクロパケットのストリームのそれぞれのマクロパケットを再送するプロセッサと、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、パケット・ネットワークからデータ・パケットを捕捉し、データ・パケットに処理を施し、処理済データ・パケットをコンピュータまたは記憶装置に対してリアルタイムでストリーミングすることに関するものである。
【背景技術】
【0002】
ワールド・ワイド・ウェブの発生当初、動的に発生したウェブ・ページから構成されるデータベース方式のサイトが、静的ページから構成されるウェブ・サイトに取って代わり始めた。こうして、静的ウェブ・サイトは、ウェブ・アプリケーションの豊かさ及び双方向性に取って代わられた。実行中にデータベースからページを提供することによって、ユーザに合わせてカスタマイズされた情報を配信する全く新しい方法が可能になった。ストリーミング・メディアの配信において同様の革命が進行中である。
【0003】
現在、インテル社のxScaleプロセッサが、捕捉バッファ、及び、ストリーミングまたは媒体への実行時記憶(run time store to media:RTSM)を20メガビット/秒に制限するTCP/IPスタックの実行に利用されている。
【0004】
線状及び環状同期ディジタル・ハイアラーキ(Synchronous Digital Hierarchy:SDH)ネットワークまたは同期式光ネットワーク(Synchronous Optical Network:SONET)において、パケット・データ伝送に関するいくつかの要件が、ITU−T推奨規格によって推奨されている所定の時間限界内に納まるように指定されている。例えば、公称データ転送速度は、SONET標準速度オプティカル・キャリア(OC)−192によって規定された、9.95328Gb/秒である。あるパケットを受信できないか、またはあるシーケンスをなしている全てのパケットの再送が必要となる場合に、問題が生じる。
【0005】
マルチプロトコル・オーバATM(Multi-protocol over ATM:MPOA)及びPPPオーバSONET(PPP-over-SONET:POS)は、SONETによるパケット・パッケージ化及び転送のための周知の2つのプロトコルである。MPOAの欠点の1つは、各中間ノードにおいてレイヤ3のIP経路指定を実施するため、パケット化情報をセグメント化し、再アセンブルすることが要求されるという点である。この要求によって、MPOAパケット化情報の配信が遅くなる可能性があり、従って、ビデオまたは他の時間制約型情報の配信が不満足なものになる。POSの欠点の1つは、同期の損失を生じるビット誤りが、平均パケット・サイズに応じて増すという点である。マルチメディア用途は、さらに大きいパケット・サイズを有することになりがちなので、ストリーミング・ビデオのようなマルチメディア用途の場合、POSの信頼性は、潜在的に低くなる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の目的は、リアルタイムでデータパケットのストリーミングを行う装置および方法を提供することである。
【課題を解決するための手段】
【0007】
本発明の態様の1つによれば、パケット・データ捕捉装置は、リアルタイムでデータ・パケットのストリーミングを行う。この装置には、送信まで複数のデータ・パケットを記憶するバッファと、記憶されている複数のデータ・パケットからマクロパケットを作成し、所定の再送及びフロー制御を含むユーザ・データグラム・プロトコル(User Datagram Protocol:UDP)モードで動作するマクロパケット送信器と、コンピュータ/サーバまたは記憶装置にマクロパケットをリアルタイムでストリーミングし、コンピュータ/サーバからの要求に従って、再送プロトコルによってマクロパケットのストリームのそれぞれのマクロパケットを再送するプロセッサと、を含む。UDP送信では、受信器でのフロー制御を可能にするウィンドウ方式(window scheme)を利用することもできる。一例として、受信器は、送信側がxバイトのデータを送って良いことを通知することができる。送信側は、別のウィンドウ更新を受信しない限り、xバイトの受信が済むと、データの送信を停止する。
【0008】
本発明のもう1つの態様によれば、バッファは、サーキュラ・バッファ(circular buffer)であり、サーキュラ・バッファの書き込み位置を指示する書き込みポインタと、サーキュラ・バッファの読み取り位置を指示する読み取りポインタを含んでいる。
【0009】
本発明のもう1つの態様では、この装置には、さらに、複数のデータ・パケットがバッファに記憶される前にデータ・パケットのパターン整合及びフィルタリングを実施するフィルタが含まれている。
【0010】
本発明のもう1つの態様によれば、この装置には、さらに、フィルタリングの前に、データ・パケットを抽出するラインインタフェース(line interface)が含まれている。
【0011】
本発明のもう1つの態様によれば、ラインインタフェースは、データ・パケットを直接抽出するか、または非同期転送モード(Asynchronous Transfer Mode:ATM)再アセンブリによってデータ・パケットを抽出する。
【0012】
本発明のもう1つの態様によれば、ラインインタフェースは、各データ・パケットに長さ標識(length indicator)を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加する。
【0013】
本発明のもう1つの態様によれば、この装置は、サーキュラ・バッファを利用して、コンピュータ/サーバ及び記憶装置へのマクロパケットのストリーミングを行う。
【0014】
本発明のもう1つの態様によれば、所定の再送プロトコルには、紛失しているかまたは誤りのあるマクロパケットを再送することが含まれる。
【0015】
本発明のもう1つの態様によれば、データ・パケットのストリーミングがリアルタイムで行われる方法が提供される。この方法には、バッファを利用して、送信まで複数のデータ・パケットを記憶するステップと、マクロパケット送信器を利用して記憶されている複数のデータ・パケットからマクロパケットを生成し、所定の再送及びフロー制御プロトコルを含むUDPモードを利用してマクロパケットを送信するステップと、コンピュータ/サーバまたは記憶装置へのマクロパケットのストリーミングをリアルタイムで実施し、コンピュータ/サーバからの要求に従って、再送プロトコルによってマクロパケットのストリームのそれぞれのマクロパケットを再送するステップと、が含まれている。
【0016】
本発明の態様の1つによれば、バッファはサーキュラ・バッファであり、バッファの利用には、書き込みポインタを用いてサーキュラ・バッファの書き込み位置を指示することと、読み取りポインタを用いてサーキュラ・バッファの読み取り位置を指示することが含まれる。
【0017】
本発明のもう1つの態様によれば、この方法には、さらに、バッファを利用する前に、フィルタを利用してパターン整合及びフィルタリングを実施することが含まれる。
【0018】
本発明のもう1つの態様によれば、この方法には、さらに、フィルタを利用してパターン整合及びフィルタリングを実施する前に、ラインインタフェースを利用してデータ・パケットを抽出することが含まれる。
【0019】
本発明のもう1つの態様によれば、ラインインタフェースを利用してデータ・パケットを抽出するステップには、データ・パケットを直接抽出すること、または非同期転送モード(ATM)・アダプテーション・レイヤ(AAL)再アセンブリによってデータ・パケットを抽出することが含まれる。
【0020】
本発明のもう1つの態様によれば、ラインインタフェースを利用してデータ・パケットを抽出するステップには、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加することが含まれる。
【0021】
本発明のもう1つの態様によれば、所定の再送及びフロー制御プロトコルが、紛失しているかまたは誤りのあるマクロパケットを再送し、マクロパケット送信器の伝送速度を制御することを含む。
【0022】
本発明のもう1つの態様によれば、リアルタイムでデータ・パケットのストリーミングを行うコンピュータ読取り可能命令が記録されるコンピュータ読取り可能媒体が提供される。命令には、送信までバッファに複数のデータ・パケットを記憶することと、複数のデータ・パケットからマクロパケットを作成し、所定の再送及びフロー制御プロトコルを利用する、マクロパケットのUDPヘッダを記憶しているUDPモードでマクロパケットを送信することと、コンピュータ/サーバ及び記憶装置へのマクロパケットのストリーミングをリアルタイムで行い、コンピュータ/サーバからの要求に従って、再送プロトコルによってマクロパケットのストリームのそれぞれのマクロパケットを再送することが含まれている。
【0023】
本発明のもう1つの態様によれば、命令には、さらに、複数のデータ・パケットをバッファに記憶する前に、フィルタリングによってパターン整合及びフィルタリングを実施することが含まれる。
【0024】
本発明のもう1つの態様によれば、命令には、さらに、フィルタリングによってパターン整合及びフィルタリングを実施する前に、ラインインタフェースを利用して、データ・パケットを直接抽出するか、またはAAL再アセンブリによってデータ・パケットを抽出することによりデータ・パケットを抽出することが含まれる。
【0025】
本発明のもう1つの態様によれば、ラインインタフェースを利用してデータ・パケットを抽出する命令には、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加することが含まれる。
【0026】
本発明のもう1つの態様によれば、所定の再送プロトコルに、紛失しているかまたは誤りのあるマクロパケットを再送することが含まれる。
【0027】
本発明のもう1つの態様によれば、所定のフロー制御プロトコルには、受信側コンピュータ/サーバの受信バッファがオーバフローするのを回避するため、マクロパケット送信器を停止する機能が含まれる。
【0028】
本発明のさらなる態様及び/または利点については、部分的には、以下に続く説明に示されることになり、部分的には、その説明から明らかになるか、または本発明を実施することによって知ることができる。
【図面の簡単な説明】
【0029】
【図1】本発明の実施態様の1つに従って、パケット・ネットワークからデータ・パケットを捕捉し、コンピュータ/サーバまたはハード・ドライブへのマクロパケットの形をとるデータ・パケットのストリーミングをリアルタイムで実施する装置を描いたブロック図である。
【図2】本発明の実施態様の1つに従って、リアルタイムでマクロパケットの形をとるデータ・パケットのストリーミングを行うプロセス200を例示したフローチャートである。
【図3】本発明の実施態様の1つに従って、マクロパケットの形をとるデータ・パケットのストリーミングをリアルタイムで行うコンピュータ読取り可能命令が記録された、コンピュータ読取り可能媒体のブロック図である。
【発明を実施するための形態】
【0030】
本発明の以上の及び/または他の態様及び利点については、付属の図面に関連してなされる下記の実施態様の説明から明らかになり、理解が容易になるであろう。
【0031】
通信分野において、ビデオ、データ、及び音声のような情報の高帯域で、信頼性が高く、待ち時間の短い配信を行うことは重要である。同期式光ネットワーク(SONET)は、オプティカル・キャリアを利用する高帯域伝送にとって周知の規格である。SONETは、参考までに本明細書において援用されている、ANSI T1.105、ANSI T1.106、及びANSI T1.117において定義されている。欧州では、同期ディジタル・ハイアラーキ(SDH)と呼ばれる、SONETと同様の規格が用いられる。
【0032】
SONETによって、「同期ペイロード・エンベロープ(synchronous payload envelope)」と呼ばれる伝送単位が定義されている。同期転送信号レベル1(Synchronous Transport Signal Level 1:STS−1)の場合、同期ペイロード・エンベロープは、合計で810バイトの、9行×90列の構造として表わすことができる。列1〜列3は転送オーバヘッドに対応し、列4はパス・オーバヘッドに対応し、列4〜90は関連ペイロードに対応する。転送オーバヘッド及びパス・オーバヘッドは、共に、SONETシステム内において、情報データ・チャネルの操作、保守、プロビジョニング、及び管理を行う。ペイロードは、それぞれが多様なフォーマットでパッケージ化されている可能性のあるビデオ、データ、または音声のような情報を収容している。
【0033】
セクション、回線、及びパス・オーバヘッドにおけるフォーマット・バイトは、SONETの分野において周知のところである。SONETは、ビット、タイムスロット、及びフレームの3つのレベルで同期を必要とする。ビット同期は、マスタ・クロック周波数に関したビットの送受信を表わしている。タイムスロット同期は、データ検索のためタイムスロットを識別できるように、送信器と受信器のアライメントをとることを表わしている。タイムスロット同期は、オーバヘッドとペイロードを分離する固定フレーム・フォーマットを利用して実施される。フレーム同期は、マスタ・クロック周波数に従って、各ペイロードの開始部を識別できるようにすることが要求される。フレーム同期には、さらに、マスタ・クロック周波数に従って、SONETペイロード内における各フレーム/パケット・ペイロードの開始部を識別することも含まれる。
【0034】
伝送されるパケット又はフレームのビット誤りによって、同期がとれなくなる可能性があり、その結果、パケットまたはフレームが廃棄される可能性がある。ビット・エラー源の1つは、不適切なフレーム/パケットの線引き、すなわちフレームまたはパケット境界の不適切な決定である。もう1つのビット誤り源は、ノイズのある通信リンクである。
【0035】
SONETは、非同期転送モード(ATM)及びパケット・データの両方に関する転送レイヤの転送機構として利用することができる。データには、この用語が本明細書において用いられる限りにおいて、ディジタル方式で表現することが可能な任意のタイプの情報が含まれ、ストリーミング・ビデオまたは音声のような時間に敏感なデータ、及び/またはコンピュータ・ファイルのような時間に敏感ではないデータが含まれる。パケット・テクノロジには、TCP/IP(転送制御プロトコル/インターネット・プロトコル)、トークン・リング等が含まれる。パケット・テクノロジの一例が、OSIレイヤ2によって伝送されるIP(インターネット・プロトコル)パケットである。パケット・テクノロジのもう1つの例が、イーサネット(登録商標)である。ATM及びSONETテクノロジは、周知のところであって、明確であり、本明細書ではこれ以上の詳述は控えることにする。同様に、OSI 7レイヤ・モデルの各種レイヤも周知のところであって、明確であり、本明細書での説明は控えることにする。
【0036】
SONETには、光ファイバでディジタル信号を伝送するための1組の信号速度の倍数が含まれている。基本速度(OC−1)は、51.84Mbpsである。OC3(オプティカル・キャリア・レベル3、光ファイバ、155.520Mbpsの2016の音声回路)のようなオプティカル・キャリア・レベル回路は、例えば、大規模ビジネスに利用可能なハイエンドMultiMeg回路である。
【0037】
OC3コネクションの速度は、155Mbpsである。これは、3つのT3回線または84のT1回線に相当する。
【0038】
入力(ingress)フレーム/パケットのフォーマットには、例えば、フレーム・リレー、TCP/IP、ATM、またはイーサネット(登録商標)信号が含まれる。
【0039】
図1は、本発明の実施態様の1つに従って、パケット・ネットワークからデータ・パケットを捕捉し、データ・パケットに処理を施し、コンピュータ、サーバ、またはハード・ドライブへのデータ・パケットのストリーミングをリアルタイムで実施する装置100を描いたブロック図である。図1を参照すると、装置100には、送信まで複数のデータ・パケットを記憶するバッファ102、複数の記憶されているデータ・パケットからマクロパケットを作成し、所定の再送プロトコルを含んでいるUDPモードで動作するマクロパケット送信器104、及びコンピュータ/サーバ112または記憶装置114へのマクロパケットのストリーミングをリアルタイムで行い、コンピュータ/サーバ112と通信し、コンピュータ・サーバ112からの要求に従って、マクロパケットのストリームのそれぞれのマクロパケットを再送するプロセッサ110が含まれている。バッファ102は、例えば、サーキュラ・バッファとすることができる。
【0040】
他の実施例もできる。装置100は、TCP/IPモードまたはUDPモードで動作するように選択することができる。マクロパケット送信器104外部のメモリ106を利用することもできる。プロセッサ110、マクロパケット送信器104、コンピュータ/サーバ112、及び記憶装置114の間のインターフェイスをなすネットワーク・インターフェイス装置108は、一時的に情報を記憶するためのレジスタ及び記憶空間を提供することが可能であり、プロセッサ110の外部の位置に設けることができる。
【0041】
バッファ102は、サーキュラ・バッファとすることができ、書き込み位置を指示する書き込みポインタ116、及び読み取り位置を指示する読み取りポインタ118を備えることができる。サーキュラ・バッファにデータ・パケットが書き込まれると、そのデータ・パケットに、長さ、タイムスタンプ、及びパケット分類フラグのようなそのオーバヘッドを加えたサイズの分だけ、書き込みバッファの記憶量が増加する。複数バッファまたは単一交互配置バッファを利用して、1つの全二重通信リンクまたは複数の全二重通信リンクからのデータを記憶することができる。
【0042】
マクロパケット送信器104は、一般に、ユーザによる選択が可能な3つのモード、すなわち、TCP/IPモード、UDPモード、及びUDPモードに所定の再送及びフロー制御プロトコルを加えたモードのうちの1つで動作することができる。TCP/IPモードは、例えば、コンピュータまたはディスクへの、及びコンピュータまたはディスクからのイーサネット(登録商標)・リンクが直接配線された(ファイバ)リンクではない、すなわち、パケット損失を生じデータ転送速度が保証されないことになる中間スイッチを介して通されている場合に利用される。TCP/IPモードでは、ローカルメモリの読み取りを行って、ネットワーク・インターフェイス装置108にパケットを送る前に、パケットにチェックサムを付加する。従って、TCP/IPプロトコルを用いて再送及び速度制御が行われるが、TCP/IPモードによるデータ・パケットの伝送速度は低下し、システムは過負荷になる可能性がある。UDPモードは、ユーザ・データグラム・プロトコルである。ただ単に、ブロードキャスト、マルチキャスト、またはユニキャストを行うだけで、専用イーサネット(登録商標)・リンクを介してディスクにデータを書き込む場合に利用される。すなわち、UDPモードの場合、フロー制御または再送機能がない。従って、UDPモードの場合、ビデオ・インターネット伝送が損なわれる可能性がある。しかし、UDPモードの場合、CRCの計算ができず、パケットの損失の可能性があるけれども、一般に、音声の伝送は許容できる。所定の再送及びフロー制御プロトコルを実施するUDPモードは、高速でコンピュータにデータを送る場合に利用され、コンピュータは、所定の再送及びフロー制御プロトコルを実施するソフトウェアを備えている。従って、UDPモードに所定の再送及びフロー制御プロトコルを加えたモードの場合、データ・パケットは効率よく伝送され、紛失したり、あるいは誤りのあるデータ・パケットは再送されるので、効率のよい動作が得られる。
【0043】
バッファ内のデータが所定の量に達すると、例えば、未送のデータ・パケットの結合長が64キロバイトを超えると、マクロパケット送信器104は、ネットワーク・インターフェイス装置108に対して、UDPヘッダ、続いて所定のヘッダ、64キロバイトまでのデータ、及びデータグラム全体のチェックサムを出力する。例えば、チェックサムは、CRC−32とすることができる。
【0044】
所定のヘッダには、シーケンス番号、現在のマクロパケットが要求された再送の結果であることを示すフラグ、このマクロパケット内にあるデータ量の長さ、及びマクロパケット・タイプの標識を含むことができる。マクロパケット送信器104は、時間切れ機構を用いて、バッファ内に蓄積されたデータが、所定の時間内に64キロバイトに達しなければ、所定の時間後におけるバッファ内のデータが、マクロパケットとして出力されるようにする。
【0045】
さらに、マクロパケット送信器104は、プロセッサ110からの要求に応答して、マクロパケットのシーケンス番号が付与された特定のマクロパケットを再送することができる。マクロパケット送信器104は、一般に、メモリ106を備えているので、マクロパケットのシーケンス番号を探索して、マクロパケットの長さ、及びマクロパケットの開始部における読み取りポインタを確認することができる。
【0046】
また、マクロパケット送信器104は、プロセッサからの要求に応答して、選択されたシーケンス番号から始まる全てのマクロパケットを再送することができる。所望の場合、マクロパケット送信器104は、プロセッサからの要求に応答して、選択されたシーケンス番号以後の全てのマクロパケットを再送することができるが、要求されたマクロパケットがもはや利用可能ではなく、再送が次の利用可能なマクロパケットから開始されていることを示すため、マクロパケットにマークを付けることができる。マクロパケット送信器は、プロセッサ110またはマクロパケット送信器104によって追跡されるフロー制御機構によって休止させることもできる。
【0047】
プロセッサ110は、パケット・ネットワーク・ストリーミング・システム全体の全般制御に利用される。プロセッサ110は、一般に、制御コンピュータ/サーバ112と通信を行う。実施態様の1つでは、プロセッサは、ネットワーク・インターフェイス装置108を介して、TCP/IPスタックを利用して通信を行うことができる。従って、プロセッサ110は、選択されたシーケンス番号で始まる全てのパケットの再送を要求する特別なマークが付いたメッセージを受信することができる。適合するプロセッサの一例としては、インテル社(登録商標)から入手可能なxScale SA-1110がある。ネットワーク・インターフェイス装置108が利用される場合、ネットワーク・インターフェイス装置108は、例えば、コンピュータへのマクロパケットのストリーミングを行うネットワーク・インターフェイス・チップとすることができる。
【0048】
コンピュータ/サーバ112は、所定の再送及びフロー制御プロトコルの受信端を作動させる。所定の再送プロトコルは、マクロパケットを受信して、CRC及びシーケンス番号を調べる。最適な条件下では、受信したマクロパケットは、順序正しく、誤りがない。マクロパケットが紛失していたり、あるいは誤りを含んでいる場合、コンピュータ/サーバ112は、対応するシーケンス番号に従ったマクロパケットの再送を要求することができる。コンピュータ/サーバ112は、送信との同期が大幅にずれる場合、選択されたシーケンス番号から、全てのマクロパケットを再送するように要求することができる。
【0049】
フロー制御を利用すると、マクロパケット送信器によるデータ送信が速すぎてコンピュータ/サーバが受信できないかもしれないといった状況を回避することが可能になる。コンピュータ/サーバ112によって、周期的ウィンドウ・サイズ更新(シーケンス番号と共に)が、ネットワーク・インターフェイス装置108に送られ、次に、プロセッサ110に経路指定され、さらに、マクロ・パケット送信器104に送られる。マクロパケット送信器104は、シーケンス番号にウィンドウ・サイズを加えた値に対応するバッファ内のバイト位置に達すると、送信を停止し、コンピュータ/サーバ112がその受信バッファをオーバフローさせないようにする。
【0050】
装置100には、さらに、バッファ102に結合されて、バッファにデータ・パケットを納める前にパターン整合及びフィルタリングを実施するフィルタ120を含むことができる。さらに、所望の場合、装置100には、フィルタ120に結合されて、フィルタリングの前にデータ・パケットを抽出するラインインタフェース122を含むことができる。ラインインタフェース122は、データ・パケットを直接抽出するか、またはAAL再アセンブリによってデータ・パケットを抽出することができる。ラインインタフェース122は、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加することもできる。ラインインタフェース122は、例えば、T1、E1、OC3、100baseT、1000baseTx等のようなさまざまなラインインタフェース規格の1つ以上のポートのための受信器を備えている。
【0051】
装置100は、一般に、コンピュータ/サーバ112と記憶装置114の少なくとも一方に対するマクロパケットのストリーミングを行うように構成されている。
【0052】
当該技術者には明らかなように、本発明は、図1に示す特定の構成に制限されるものではない。例えば、バッファ102の代わりに、専用バッファを利用することができる。ネットワーク・インターフェイス装置108には、ネットワーク・インターフェイス・チップを利用することもできるし、あるいは、代替案として、プロセッサ110が、ネットワーク・インタフェイス装置108の機能を実施して、独立したネットワーク・インターフェイス装置108用コンポーネントを不要にすることもできる。あるいはまた、マクロパケット送信器104及びプロセッサ110の両方の代わりに、ネットワーク・プロセッサを利用することもできる。
【0053】
図2は、本発明の実施態様の1つに従って、リアルタイムでデータ・パケットのストリーミングを行うプロセス200を例示したフローチャートである。図2を参照すると、ステップ202において、バッファを利用して、送信まで複数のデータ・パケットが記憶される。所定の量のデータを受信するまでデータ・パケットを蓄積し、及び/またはタイマを事前設定して、蓄積データ・パケットをいつ送信できるかを判定することができる。
【0054】
プロセスは、ステップ202からステップ204に移行し、マクロパケット送信器は、複数のパケットからマクロパケットを生成し、所定の再生及びフロー制御プロトコルを含むUDPモードを利用して、マクロパケットを送信する。所定の再送プロトコルには、一般に、紛失しているかまたは誤りのあるマクロパケットの再送が含まれる。マクロパケットには、コンピュータ/サーバが選択されたマクロパケットの再送を要求する場合に、選択された所望のマクロパケットを再送できるようにする、UDPヘッダが納められている。あるいはまた、マクロパケット・ヘッダは、バッファへの書き込み時に、データの先頭に付加するか、またはデータに追加することもできるし、あるいは、独立したバッファに書き込むこともできる。これによって、再送方式が単純化される。
【0055】
プロセスは、ステップ204からステップ206に移行し、コンピュータ/サーバまたは記憶装置に対するマクロパケットのストリーミングがリアルタイムで実施され、コンピュータ/サーバは、検査して、マクロパケットに紛失または誤りがあるか否かを確認し、もしあれば、所望のマクロパケットの再送を要求し、マクロパケット送信器によって所望のマクロパケットが再送される。
【0056】
ステップ206では、所定のフロー制御プロトコルを利用して、コンピュータ/サーバへのフレームのストリーミングを休止することができる。コンピュータ/サーバの受信バッファを満杯にするのに十分なデータを送信すると、フロー制御プロトコルによって、送信器が休止させられる。
【0057】
バッファを利用するステップ202には、書き込みポインタを利用して、書き込み位置を指示し、読み取りポインタを利用して、読み取り位置を指示するステップを含むことができる。
【0058】
所望の場合、バッファを利用するステップ202の前にステップ208を実施して、フィルタを利用してパターン整合及びフィルタリングを施すことができる。さらに、ステップ208を実施する前にステップ210を実施して、ラインインタフェースを利用してデータ・パケットを抽出することができる。ラインインタフェースを利用してデータ・パケットを抽出するステップ210には、データ・パケットを直接抽出するステップと、AAL再アセンブリによってデータ・パケットを抽出するステップの一方を含むことができる。さらに、ラインインタフェースを利用してデータ・パケットを抽出するステップ210には、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加するステップを含むことができる。
【0059】
本発明の機能を変更することなく、本発明の実施態様の1つに関する上述のプロセス200の操作に変更を加えることができる。
【0060】
図3は、本発明の実施態様の1つに従って、データ・パケットのストリーミングをリアルタイムで行うコンピュータ読取り可能命令が記録された、コンピュータ読取り可能媒体300のブロック図である。次に図3を参照すると、ステップ302では、命令によって、送信まで複数のデータ・パケットがバッファに記憶される。バッファに関して所定のデータ量を事前設定しておいて、マクロパケットを送るべき時期を判定するか、あるいは、時限を事前設定しておいて、所定の量のデータを受信したか否かにかかわらずマクロパケットを送るべき時期を判定することが可能であり、さらにこれらの両方を実施することもできる。
【0061】
プロセスは、ステップ302からステップ304に移行し、マクロパケットが複数のデータ・パケットから作成され、所定の再送及びフロー制御プロトコルを利用する、マクロパケットのUDPヘッダを納めたUDPモードで伝送される。所定の再送及びフロー制御プロトコルには、一般に、紛失しているかまたは誤りのあるマクロパケットを再送することと、受信側の受信バッファを満杯にするのに十分なデータが送られると、送信を休止することが含まれる。
【0062】
プロセスは、ステップ304からステップ306に移行し、コンピュータ/サーバと記憶装置の少なくとも一方に対するマクロパケットのストリーミングをリアルタイムで行い、コンピュータ/サーバと通信を行い、コンピュータ/サーバからの要求に従って、マクロパケットのストリームのそれぞれのマクロパケットを再送することによって、コンピュータ/サーバと記憶装置の少なくとも一方に対するマクロパケットのストリーミングが実施される。
【0063】
上述の実施例によれば、命令には、送信まで複数のデータ・パケットをバッファに記憶するステップ302の前に、フィルタを用いて、複数のデータ・パケットのパターン整合及びフィルタリングを実施するステップ308を含むことができる。また、所望の場合、命令には、フィルタを用いて、パターン整合及びフィルタリングを実施するステップ308の前に、ラインインタフェースを利用して、データ・パケットの直接抽出と、AAL再アセンブリによるデータ・パケットの抽出の一方によるデータ・パケットの抽出を行う、ステップ310を含むことができる。ラインインタフェースを利用して、データ・パケットを抽出するステップ310の命令には、各データ・パケットに長さ標識を付加し、データ・パケットを分類し、データ・パケットにタイムスタンプを付加する命令を含むこともできる。すなわち、一般に、プロセス200の操作は、コンピュータ読取り可能媒体300のコンピュータ読取り可能命令に組み込むことができる。
【0064】
コンピュータ読取り可能媒体のコンピュータ読取り可能命令の実施態様の一例について上述したが、本発明の機能から逸脱することなく、これらの命令に変更を加えることができる点に留意されたい。
【0065】
本明細書には、さまざまなプロトコル及び規格が解説されている。しかし、本発明は、いかなる特定のプロトコル及び/または規格にも限定されるものではない。
【0066】
本発明は、コンピュータ読取り可能記録媒体上のコンピュータ読取り可能コードとして具現化することができる。コンピュータ読取り可能記録媒体は、後でコンピュータ・システムによって読み取ることが可能なデータを記憶することができる、任意のデータ記憶装置である。コンピュータ読取り可能記録媒体の例には、読み取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、CD−ROM、磁気テープ、フロッピ・ディスク、光データ記憶装置、及び搬送波(インターネットを介したデータ伝送のような)が含まれる。さらに、コンピュータ読取り可能記録媒体は、コンピュータ読取り可能コードが分散方式で記憶され実行されるように、ネットワークで結合されたコンピュータ・システムに分散させることができる。
【0067】
本発明のいくつかの実施態様について示し、解説してきたが、当該技術者には明らかなように、その範囲が請求項において定義されている本発明の原理及び精神、及び、その同等物から逸脱することなく、これらの実施態様に変更を加えることができる。
【符号の説明】
【0068】
100 装置
102 バッファ
104 マクロパケット送信器
110 プロセッサ
112 コンピュータ/サーバ
114 記憶装置
116 書き込みポインタ
118 読み取りポインタ
120 フィルタ

【特許請求の範囲】
【請求項1】
送信まで複数のデータ・パケットを記憶するバッファと、
前記記憶された複数のデータ・パケットからマクロパケットを作成し、所定の再送プロトコルを含むUDPモードで動作するマクロパケット送信器と、
コンピュータ/サーバまたは記憶装置へ前記マクロパケットをリアルタイムでストリーミングし、前記コンピュータ/サーバからの要求に従って、再送プロトコルによって前記マクロパケットのストリームのそれぞれのマクロパケットを再送するプロセッサと、
を有する装置。
【請求項2】
前記バッファが、サーキュラ・バッファであり、
前記バッファが、
前記サーキュラ・バッファの書き込み位置を指示するための書き込みポインタと、
前記サーキュラ・バッファの読み取り位置を指示するための読み取りポインタと、をさらに含む、請求項1に記載の装置。
【請求項3】
前記複数のデータ・パケットが前記バッファに記憶される前に、前記複数のデータ・パケットのパターン整合及びフィルタリングを実施するフィルタをさらに有し、
選択された場合には、前記フィルタリングの前にデータ・パケットを抽出するラインインタフェースをさらに有し、
前記ラインインタフェースは、
前記データ・パケットを直接抽出するラインインタフェース、
AAL再アセンブリによって前記データ・パケットを抽出するラインインタフェース、
または、各データ・パケットに長さ標識を付加し、前記データ・パケットを分類し、前記データ・パケットにタイムスタンプを付加する、ラインインタフェース
のうち少なくとも1つである、請求項1に記載の装置。
【請求項4】
前記装置が、サーキュラ・バッファを利用して、前記コンピュータ/サーバ及び記憶装置へ前記マクロパケットをストリーミングする、請求項1に記載の装置。
【請求項5】
前記所定の再送プロトコルが、紛失しているかまたは誤りのあるマクロパケットの再送を含むこと、
または、前記所定のフロー制御プロトコルが、ウィンドウ制御方式を利用して前記送信器が受信器を圧倒しないことを保証する、フロー制御のための機構を含むこと、
のうち少なくとも1つを含む、請求項1に記載の装置。
【請求項6】
データ・パケットのストリーミングを行う方法であって、
バッファを利用して、送信まで複数のデータ・パケットを記憶するステップと、
マクロパケット送信器を利用して、前記記憶された複数のデータ・パケットからマクロパケットを生成し、所定の再送及びフロー制御プロトコルを含むUDPモードを利用して前記マクロパケットを送信するステップと、
コンピュータ/サーバ及び記憶装置へ前記マクロパケットをリアルタイムでストリーミングし、前記コンピュータ/サーバからの要求に従って、再送及びフロー制御プロトコルによって前記マクロパケットのストリームのそれぞれのマクロパケットを再送するステップと、
を有する方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2011−160485(P2011−160485A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2011−110584(P2011−110584)
【出願日】平成23年5月17日(2011.5.17)
【分割の表示】特願2005−351669(P2005−351669)の分割
【原出願日】平成17年12月6日(2005.12.6)
【出願人】(399117121)アジレント・テクノロジーズ・インク (710)
【氏名又は名称原語表記】AGILENT TECHNOLOGIES, INC.
【Fターム(参考)】