(57)【要約】サーバ（１００）は、第１の型のデータおよび１つまたは複数の第２の型のデータのデータ・ストリームを生成し、第１の指定で第１の型のデータを送信し、１つまたは複数の他の指定で１つまたは複数の第２の型のデータを送信する。ネットワーク（５００）における混雑状態によりデータを捨てる必要が生じたとき、ルータ（６００）が第１の指定のデータを捨てる前に１つまたは複数の他の指定のデータを捨てるように、ルータ（６００）は、ネットワーク（５００）を介して第１の優先順位で第１の指定のデータを経路指定し、ネットワーク（５００）を介して第１の優先順位よりも低い１つまたは複数の優先順位で１つまたは複数の他の指定のデータを経路指定する。クライアント（２００）は、ネットワーク（５００）を介して第１の指定のデータおよび１つまたは複数の指定のデータを受信し、これらのデータを合成して、サーバ（１００）から送信されたデータ・ストリームを表すものを生成する。
2005530367.tif 000002
【特許請求の範囲】
【請求項１】
第１の型のデータと、１つまたは複数の第２の型のデータとを含むデータ・ストリームをネットワークを介して配信する方法において、前記データ・ストリームを処理することが、前記データ・ストリームの前記第１の型のデータに基づいて前記データ・ストリームの前記１つまたは複数の第２の型のデータを処理することを必要とするような方法であって、
前記ネットワークにおける混雑状態によりデータを捨てる必要が生じたとき、前記第１の型のデータより前に前記１つまたは複数の第２の型のデータが捨てられるように、前記ネットワークを介して、第１の優先レベルで前記第１の型のデータを経路指定し、前記第１の優先レベルよりも低い１つまたは複数の優先レベルで前記１つまたは複数の第２の型のデータを経路指定するステップと、
前記ネットワークを介して経路指定された前記第１の型のデータと前記１つまたは複数の第２の型のデータを合成して前記データ・ストリームを生成するステップとを含む方法。
【請求項２】
前記第１の型のデータが、前記１つまたは複数の第２の型のデータとは別に送信されるように前記データ・ストリームを送信するステップを更に含み、
前記合成するステップが、前記ネットワークを介して経路指定された前記第１の型のデータと前記１つまたは複数の第２の型のデータを合成して、少なくとも前記送信されたデータ・ストリームを表す前記データ・ストリームを生成するステップを含む、請求項１に記載の方法。
【請求項３】
前記データ・ストリームを生成するステップと、
前記送信するステップを行う前に、前記データ・ストリームの前記１つまたは複数の第２の型の前記データから、前記データ・ストリームの前記第１の型の前記データを分離するステップとを更に含む、請求項２に記載の方法。
【請求項４】
前記生成されたデータ・ストリームを処理してユーザに提示するステップを更に含む、請求項１に記載の方法。
【請求項５】
前記送信するステップが、第１の指定に関連付けて前記データ・ストリームの前記第１の型を送信し、前記第１の指定以外の１つまたは複数の指定に関連付けて前記データ・ストリームの前記１つまたは複数の第２の型の前記データを送信するステップを含み、
前記経路指定するステップが、前記ネットワークにおける混雑状態によりデータを捨てる必要が生じたとき、前記第１の指定に関連付けられたデータより前に、前記第１の指定以外の前記１つまたは複数の指定に関連付けられたデータが捨てられるように、前記第１の優先レベルで前記第１の指定に関連付けられたデータを経路指定し、前記第１の優先レベルよりも低い前記１つまたは複数の優先レベルで前記第１の指定以外の前記１つまたは複数の指定に関連付けられたデータを経路指定するステップを含み、
前記合成するステップが、前記ネットワークを介して経路指定された前記第１の指定に関連付けられたデータと、前記第１の指定以外の前記１つまたは複数の指定に関連付けられたデータとを合成して、少なくとも前記送信されたデータ・ストリームを表すデータ・ストリームを生成するステップを含む、請求項２に記載の方法。
【請求項６】
前記送信するステップが、第２の指定に関連付けて前記データ・ストリームの前記１つまたは複数の第２の型のデータを送信するステップを含み、
前記合成するステップが、前記ネットワークを介して経路指定された前記第１の指定に関連付けられたデータと前記第２の指定に関連付けられたデータを合成するステップを含む、請求項５に記載の方法。
【請求項７】
前記送信するステップが、第２の指定に関連付けて前記データ・ストリームの前記第２の型の１つのデータを送信し、第３の指定に関連付けて前記データ・ストリームの前記第２の型の別のデータを送信するステップを含み、
前記経路指定するステップが、前記ネットワークにおける混雑状態によりデータを捨てる必要が生じたとき、前記第１および第２の指定に関連付けられたデータより前に前記第３の指定に関連付けられたデータが捨てられ、前記第１の指定に関連付けられたデータより前に前記第２の指定に関連付けられたデータが捨てられるように、第１、第２および第３の指定に関連付けられたデータを、それぞれ第１の優先レベル、前記第１の優先レベルよりも低い第２の優先レベルおよび前記第２の優先レベルよりも低い第３の優先レベルで経路指定するステップを含み、
前記合成するステップが、前記ネットワークを介して経路指定された前記第１、第２および第３の指定に関連付けられたデータを合成して、少なくとも前記送信されたデータ・ストリームを表すデータ・ストリームを生成するステップを含む、請求項５に記載の方法。
【請求項８】
前記送信されるデータ・ストリームが、ビデオ・ストリームを含み、
前記送信するステップが、前記ビデオ・ストリームのキー・フレームおよび予測フレームが別々に送信されるように前記ビデオ・ストリームを送信するステップを含み、
前記経路指定するステップが、前記ネットワークにおける混雑状態によりデータを捨てる必要が生じたとき、キー・フレームより前に予測フレームが捨てられるように、前記ネットワークを介して、第１の優先レベルでキー・フレームを経路指定し、前記第１の優先レベルよりも低い１つまたは複数の優先順位で予測フレームを経路指定するステップを含み、
前記合成するステップが、前記ネットワークを介して経路指定されたキー・フレームと予測フレームを合成して、少なくとも前記送信されたビデオ・ストリームを表すデータ・ストリームを生成するステップを含む、請求項２に記載の方法。
【請求項９】
前記送信するステップが、第１ポート番号に関連付けて前記ビデオ・ストリームのキー・フレームを送信し、前記第１ポート番号以外の１つまたは複数のポート番号に関連付けて前記ビデオ・ストリームの予測フレームを送信するステップを含み、
前記経路指定するステップが、前記ネットワークにおける混雑状態によりデータを捨てる必要が生じたとき、前記第１ポート番号に関連付けられて経路指定されるデータより前に、前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられて経路指定されるデータが捨てられるように、第１の優先レベルで第１ポート番号に関連付けられたデータを経路指定し、前記第１の優先レベルよりも低い１つまたは複数の優先レベルで前記第１ポート番号以外の１つまたは複数のポート番号に関連付けられたデータを経路指定するステップを含み、
前記合成するステップが、前記ネットワークを介して前記第１ポート番号に関連付けられて経路指定されたデータと、前記ネットワークを介して前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられて経路指定されたデータを合成して、少なくとも前記送信されたビデオ・ストリームを表すデータ・ストリームを生成するステップを含む、請求項８に記載の方法。
【請求項１０】
前記第１ポート番号が、第１ＴＣＰ／ＵＤＰポート番号を含み、前記第１ポート番号以外の前記１つまたは複数のポート番号が、前記第１ＴＣＰ／ＵＤＰポート番号以外の１つまたは複数のＴＣＰ／ＵＤＰポート番号を含む、請求項９に記載の方法。
【請求項１１】
前記ネットワークを介して経路指定されたデータがルータに送信され、前記ルータが、前記第１の優先レベルに関連付けて前記第１の型のデータを経路指定し、前記第１の優先レベルよりも低い前記１つまたは複数の優先レベルに関連付けて前記１つまたは複数の第２の型のデータを経路指定する、請求項２に記載の方法。
【請求項１２】
データ・ストリームを処理するには、前記データ・ストリームの第１の型のデータに基づいて前記データ・ストリームの１つまたは複数の第２の型のデータを処理するステップが必要な、前記第１の型のデータおよび前記１つまたは複数の第２の型のデータを含む前記データ・ストリームの配信を容易にする方法であって、
前記データ・ストリームを生成するステップと、
前記データ・ストリームの前記１つまたは複数の第２の型の前記データから、前記データ・ストリームの前記第１の型の前記データを分離するステップと、
第１の指定に関連付けて前記データ・ストリームの前記第１の型のデータを送信し、前記第１の指定以外の１つまたは複数の指定に関連付けて前記データ・ストリームの前記１つまたは複数の第２の型のデータを送信するステップとを含む、方法。
【請求項１３】
前記データ・ストリームが、ビデオ・ストリームを含み、
前記生成するステップが、前記ビデオ・ストリームを生成するステップを含み、
前記分離するステップが、前記ビデオ・ストリームのＰおよびＢフレームから前記ビデオ・ストリームのＩフレームを分離するステップを含み、
前記送信するステップが、第１の指定に関連付けて前記ビデオ・ストリームの前記Ｉフレームを送信し、前記第１の指定以外の１つまたは複数の指定に関連付けて前記ビデオ・ストリームの前記ＰおよびＢフレームを送信するステップを含む、請求項１２に記載の方法。
【請求項１４】
前記送信するステップが、第１ポート番号に関連付けて前記ビデオ・ストリームの前記Ｉフレームを送信し、前記第１ポート番号以外の１つまたは複数のポート番号に関連付けて前記ビデオ・ストリームの前記ＰおよびＢフレームを送信するステップを含む、請求項１３に記載の方法。
【請求項１５】
データ・ストリームをユーザに提示する方法であって、
第１の指定に関連付けられたデータおよび前記第１の指定以外の１つまたは複数の指定に関連付けられたデータを受信するステップと、
前記第１の指定に関連付けられて受信した前記データと、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記データとを合成して、前記データ・ストリームを生成するステップと、
前記第１の指定に関連付けられて受信した前記データ・ストリームの前記データに基づいて、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記データ・ストリームの前記データを処理することにより、前記データ・ストリームを処理して前記ユーザに提示するステップとを含む、方法。
【請求項１６】
前記データ・ストリームが、ビデオ・ストリームを含み、
前記受信するステップが、第１の指定に関連付けられたＩフレームを受信し、前記第１の指定以外の１つまたは複数の指定に関連付けられたＰおよびＢフレームを受信するステップを含み、
前記合成するステップが、前記第１の指定に関連付けられて受信した前記Ｉフレームと、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記ＰおよびＢフレームとを合成して、前記ビデオ・ストリームを生成するステップを含み、
前記処理するステップが、前記第１の指定に関連付けられて受信した前記ビデオ・ストリームの前記Ｉフレームに基づいて、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記ビデオ・ストリームの前記ＰおよびＢフレームを処理するステップにより、前記ビデオ・ストリームを処理して前記ユーザに提示するステップを含む、請求項１５に記載の方法。
【請求項１７】
前記受信するステップが、第１ポート番号に関連付けられたＩフレームを受信し、前記第１ポート番号以外の１つまたは複数のポート番号に関連付けられたＰおよびＢフレームを受信するステップを含み、
前記合成するステップが、前記第１ポート番号に関連付けられて受信した前記Ｉフレームと、前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられて受信した前記ＰおよびＢフレームとを合成して、前記ビデオ・ストリームを生成するステップを含み、
前記処理するステップが、前記第１ポート番号に関連付けられて受信した前記ビデオ・ストリームの前記Ｉフレームに基づいて、前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられて受信した前記ビデオ・ストリームの前記ＰおよびＢフレームを処理するステップにより、前記ビデオ・ストリームを処理して前記ユーザに提示するステップを含む、請求項１６に記載の方法。
【請求項１８】
第１の型のデータと、１つまたは複数の第２の型のデータとを含むデータ・ストリームをユーザに提示するシステムにおいて、前記データ・ストリームを処理するステップが、前記データ・ストリームの前記第１の型のデータに基づいて前記データ・ストリームの前記１つまたは複数の第２の型のデータを処理するステップを必要とするようなシステムであって、
前記データ・ストリームを生成し、第１の指定に関連付けて前記データ・ストリームの前記第１の型の前記データを送信し、前記第１の指定以外の１つまたは複数の指定に関連付けて前記データ・ストリームの前記１つまたは複数の第２の型のデータを送信する第１コンピュータと、
前記第１の指定に関連付けられて前記第１コンピュータから送信された前記データを受信し、ネットワークを介して第１の優先レベルに従って前記第１の指定に関連付けられた前記データを経路指定し、且つ、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて前記第１コンピュータから送信された前記データを受信し、前記ネットワークを介して前記第１の優先レベルよりも低い１つまたは複数の優先レベルに従って前記第１の指定以外の前記１つまたは複数の指定に関連付けられた前記データを経路指定するルータであって、それにより、前記ネットワークにおける混雑状態により前記ルータで受信したデータを捨てる必要が生じたとき、前記第１の指定に関連付けられて前記ルータで受信したデータより前に、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて前記ルータで受信したデータを捨てるルータと、
前記ルータから前記ネットワークを介して前記第１の指定および前記第１の指定以外の前記１つまたは複数の指定に関連付けられたデータを受信し、前記第１の指定に関連付けられて前記ルータから前記ネットワークを介して受信した前記データと、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて前記ルータから前記ネットワークを介して受信した前記データとを合成して、前記第１コンピュータにより生成された前記データ・ストリームを表現するデータ・ストリームを生成し、前記表現されたデータ・ストリームを処理して前記ユーザに提示する第２コンピュータとを備える、システム。
【請求項１９】
前記データ・ストリームが、ビデオ・ストリームを含み、
前記第１コンピュータが、前記ビデオ・ストリームを生成し、第１の指定に関連付けて前記ビデオ・ストリームのＩフレームを送信し、前記第１の指定以外の１つまたは複数の指定に関連付けてＰおよびＢフレームを送信し、
前記第２コンピュータが、前記第１の指定に関連付けられて前記ルータから前記ネットワークを介して受信した前記データと、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて前記ルータから前記ネットワークを介して受信した前記データとを合成して、前記第１コンピュータにより生成された前記ビデオ・ストリームを表現するビデオ・ストリームを生成し、前記表現されたデータ・ストリームを処理してその中で符号化された前記ビデオを前記ユーザに表示する第２コンピュータとを備える、請求項１８に記載のシステム。
【請求項２０】
前記第１コンピュータが、第１ポート番号に関連付けて前記ビデオ・ストリームのＩフレームを送信し、前記第１ポート番号以外の１つまたは複数のポート番号に関連付けてＰおよびＢフレームを送信し、
前記ルータが、前記第１ポート番号に関連付けられて前記第１コンピュータから送信された前記データを受信し、ネットワークを介して前記第１の優先レベルに従って前記第１ポート番号に関連付けられた前記データを経路指定し、且つ、前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられて前記第１コンピュータから送信された前記データを受信し、前記ネットワークを介して前記第１の優先レベルよりも低い前記１つまたは複数の優先レベルに従って前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられた前記データを経路指定し、それにより、前記ネットワークにおける混雑状態により前記ルータで受信したデータを捨てる必要が生じたとき、前記第１ポート番号に関連付けられて前記ルータで受信したデータより前に、前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられて前記ルータで受信したデータを捨て、
前記第２コンピュータが、前記ルータから前記ネットワークを介して前記第１ポート番号および前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられたデータを受信し、前記第１ポート番号に関連付けられて前記ルータから前記ネットワークを介して受信した前記データと、前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられて前記ルータから前記ネットワークを介して受信した前記データとを合成して、前記第１コンピュータにより生成された前記ビデオ・ストリームを表すビデオ・ストリームを生成する、請求項１９に記載のシステム。
【請求項２１】
データ・ストリームを処理するには前記データ・ストリームの第１の型のデータに基づいて前記データ・ストリームの１つまたは複数の第２の型のデータを処理するステップが必要な、前記第１の型のデータおよび前記１つまたは複数の第２の型のデータを含む前記データ・ストリームの配信を容易にするシステムであって、
前記データ・ストリームを生成する手段と、
前記データ・ストリームの前記１つまたは複数の第２の型の前記データから、前記データ・ストリームの前記第１の型の前記データを分離する手段と、
第１の指定に関連付けて前記データ・ストリームの前記第１の型のデータを送信し、前記第１の指定以外の１つまたは複数の指定に関連付けて前記データ・ストリームの前記１つまたは複数の第２の型のデータを送信する手段とを含む、システム。
【請求項２２】
前記データ・ストリームがビデオ・ストリームを含み、
前記生成する手段が前記ビデオ・ストリームを生成する手段を含み、
前記分離する手段が、前記ビデオ・ストリームのＰおよびＢフレームから前記ビデオ・ストリームのＩフレームを分離する手段を含み、
前記送信する手段が、第１の指定に関連付けて前記ビデオ・ストリームの前記Ｉフレームを送信し、前記第１の指定以外の１つまたは複数の指定に関連付けて前記ビデオ・ストリームの前記ＰおよびＢフレームを送信する手段を含む、請求項２１に記載のシステム。
【請求項２３】
前記送信する手段が、第１ポート番号に関連付けて前記ビデオ・ストリームの前記Ｉフレームを送信し、前記第１ポート番号以外の１つまたは複数のポート番号に関連付けて前記ビデオ・ストリームの前記ＰおよびＢフレームを送信する手段を含む、請求項２２に記載のシステム。
【請求項２４】
データ・ストリームをユーザに提示するシステムであって、
第１の指定に関連付けられたデータおよび前記第１の指定以外の１つまたは複数の指定に関連付けられたデータを受信する手段と、
前記第１の指定に関連付けられて受信した前記データと、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記データとを合成して、前記データ・ストリームを生成する手段と、
前記第１の指定に関連付けられて受信した前記データ・ストリームの前記データに基づいて、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記データ・ストリームの前記データを処理することにより、前記データ・ストリームを処理して前記ユーザに提示する手段とを備える、システム。
【請求項２５】
前記データ・ストリームが、ビデオ・ストリームを含み、
前記受信する手段が、第１の指定に関連付けられたＩフレームを受信し、前記第１の指定以外の１つまたは複数の指定に関連付けられたＰおよびＢフレームを受信する手段を含み、
前記合成する手段が、前記第１の指定に関連付けられて受信した前記Ｉフレームと、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記ＰおよびＢフレームとを合成して、前記ビデオ・ストリームを生成する手段を含み、
前記処理する手段が、前記第１の指定に関連付けられて受信した前記ビデオ・ストリームの前記Ｉフレームに基づいて、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記ビデオ・ストリームの前記ＰおよびＢフレームを処理することにより、前記ビデオ・ストリームを処理して前記ユーザに提示する手段を含む、請求項２４に記載のシステム。
【請求項２６】
前記受信する手段が、第１ポート番号に関連付けられたＩフレームを受信し、前記第１ポート番号以外の１つまたは複数のポート番号に関連付けられたＰおよびＢフレームを受信する手段を含み、
前記合成する手段が、前記第１ポート番号に関連付けられて受信した前記Ｉフレームと、前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられて受信した前記ＰおよびＢフレームとを合成して、前記ビデオ・ストリームを生成する手段を含み、
前記処理する手段が、前記第１ポート番号に関連付けられて受信した前記ビデオ・ストリームの前記Ｉフレームに基づいて、前記第１ポート番号以外の前記１つまたは複数のポート番号に関連付けられて受信した前記ビデオ・ストリームの前記ＰおよびＢフレームを処理することにより、前記ビデオ・ストリームを処理して前記ユーザに提示する手段を含む、請求項２５に記載のシステム。
【請求項２７】
コンピュータ内で実行されるコンピュータ読み取り可能なコードを有するコンピュータ使用可能な媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ読み取り可能なコードが実行されると、データ・ストリームを処理するには前記データ・ストリームの第１の型のデータに基づいて前記データ・ストリームの１つまたは複数の第２の型のデータを処理するステップが必要な、前記第１の型のデータおよび前記１つまたは複数の第２の型のデータを含む前記データ・ストリームの配信を容易にする方法がコンピュータにより実行され、前記方法が、
前記データ・ストリームを生成するステップと、
前記データ・ストリームの前記１つまたは複数の第２の型の前記データから、前記データ・ストリームの前記第１の型の前記データを分離するステップと、
第１の指定に関連付けて前記データ・ストリームの前記第１の型のデータを送信し、前記第１の指定以外の１つまたは複数の指定に関連付けて前記データ・ストリームの前記１つまたは複数の第２の型のデータを送信するステップとを含む、コンピュータ・プログラム製品。
【請求項２８】
前記データ・ストリームが、ビデオ・ストリームを含み、
前記実行される方法において、前記生成するステップが前記ビデオ・ストリームを生成するステップを含み、
前記実行される方法において、前記分離することが、前記ビデオ・ストリームのＰおよびＢフレームから前記ビデオ・ストリームのＩフレームを分離するステップを含み、
前記実行される方法において、前記送信するステップが、第１の指定に関連付けて前記ビデオ・ストリームの前記Ｉフレームを送信し、前記第１の指定以外の１つまたは複数の指定に関連付けて前記ビデオ・ストリームの前記ＰおよびＢフレームを送信するステップを含む、請求項２７に記載のコンピュータ・プログラム製品。
【請求項２９】
前記実行される方法において、前記送信するステップが、第１ＴＣＰ／ＵＤＰポート番号に関連付けて前記ビデオ・ストリームの前記Ｉフレームを送信し、前記第１ＴＣＰ／ＵＤＰポート番号以外の１つまたは複数のＴＣＰ／ＵＤＰポート番号に関連付けて前記ビデオ・ストリームの前記ＰおよびＢフレームを送信するステップを含む、請求項２８に記載のコンピュータ・プログラム製品。
【請求項３０】
コンピュータ内で実行されるコンピュータ読み取り可能なコードを有するコンピュータ使用可能な媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ読み取り可能なコードが実行されると、データ・ストリームをユーザに提示する方法がコンピュータにより実行され、前記方法が、
第１の指定に関連付けられたデータおよび前記第１の指定以外の１つまたは複数の指定に関連付けられたデータを受信するステップと、
前記第１の指定に関連付けられて受信した前記データと、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記データとを合成して、前記データ・ストリームを生成するステップと、
前記第１の指定に関連付けられて受信した前記データ・ストリームの前記データに基づいて、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記データ・ストリームの前記データを処理するステップにより、前記データ・ストリームを処理して前記ユーザに提示するステップとを含む、コンピュータ・プログラム製品。
【請求項３１】
前記データ・ストリームが、ビデオ・ストリームを含み、
前記実行される方法において、前記受信するステップが、第１の指定に関連付けられたＩフレームを受信し、前記第１の指定以外の１つまたは複数の指定に関連付けられたＰおよびＢフレームを受信するステップを含み、
前記実行される方法において、前記合成するステップが、前記第１の指定に関連付けられて受信した前記Ｉフレームと、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記ＰおよびＢフレームとを合成して、前記ビデオ・ストリームを生成するステップを含み、
前記実行される方法において、前記処理するステップが、前記第１の指定に関連付けられて受信した前記ビデオ・ストリームの前記Ｉフレームに基づいて、前記第１の指定以外の前記１つまたは複数の指定に関連付けられて受信した前記ビデオ・ストリームの前記ＰおよびＢフレームを処理するステップにより、前記ビデオ・ストリームを処理して前記ユーザに提示するステップを含む、請求項２８に記載のコンピュータ・プログラム製品。
【請求項３２】
前記実行される方法において、前記受信するステップが、第１ＴＣＰ／ＵＤＰポート番号に関連付けられたＩフレームを受信し、前記第１ＴＣＰ／ＵＤＰポート番号以外の１つまたは複数のＴＣＰ／ＵＤＰポート番号に関連付けられたＰおよびＢフレームを受信するステップを含み、
前記実行される方法において、前記合成するステップが、前記第１ＴＣＰ／ＵＤＰポート番号に関連付けられて受信した前記Ｉフレームと、前記第１ＴＣＰ／ＵＤＰポート番号以外の前記１つまたは複数のＴＣＰ／ＵＤＰポート番号に関連付けられて受信した前記ＰおよびＢフレームとを合成して、前記ビデオ・ストリームを生成するステップを含み、
前記実行される方法において、前記処理するステップが、前記第１ＴＣＰ／ＵＤＰポート番号に関連付けられて受信した前記ビデオ・ストリームの前記Ｉフレームに基づいて、前記第１ＴＣＰ／ＵＤＰポート番号以外の前記１つまたは複数のＴＣＰ／ＵＤＰポート番号に関連付けられて受信した前記ビデオ・ストリームの前記ＰおよびＢフレームを処理することにより、前記ビデオ・ストリームを処理して前記ユーザに提示するステップを含む、請求項３１に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する発明は、データ通信ネットワークを介してデータ・ストリームを配信するシステムおよび方法に関する。
【背景技術】
【０００２】
本出願は、２００１年１２月１５日に出願の米国仮出願第６０／３４１，８１７号の優先権を主張する。
【０００３】
データ通信ネットワークは、しばしば、データを任意に捨てることにより回線の込み合った状態、即ち混雑状態（ｃｏｎｇｅｓｔｉｎ）に対処する。このようにデータの重要性を考慮せずにデータを捨てると、ある種の型のデータ送信では、大きなマイナスの結果が生じる恐れがある。
【０００４】
例えば、ビデオ・データは、一般にキー・フレーム（ｋｅｙ  ｆｒａｍｅ）および予測フレーム（ｐｒｅｄｉｃｔｉｖｅ  ｆｒａｍｅ）を含み、キー・フレームが予測フレームの基礎となるので、ビデオ・データを処理してユーザに表示するときには、キー・フレームが予測フレームよりも重要である。従って、混雑状態が生じるネットワークを介してビデオ・データ・ストリームが送信される場合、任意にデータが捨てられると、キー・フレームが失われる恐れがあり、それにより、受信されたビデオ・データ・ストリームから再生されるビデオ表示の品質が著しく損なわれることになる。
【発明の開示】
【０００５】
（発明の概要）
本発明は、ネットワークにおける混雑状態によりデータが捨てられるときに、データ・ストリームの重要度が高いデータ型のデータより前に、そのストリームの中でそれよりも重要度が低いデータ型のデータを捨てるように、ネットワークを介して複数のデータ型からなるデータ・ストリームを配信する方法、システムおよびコンピュータ・プログラム製品を提供する。本発明によれば、ネットワークを介して配信されるデータ・ストリームは、主要な（ｐｒｉｍａｒｙ：プライマリ）第１の型のデータおよび１つまたは複数の副次的な（ｓｅｃｏｎｄａｒｙ：セカンダリ）第２の型のデータを含んでいる。ネットワークにおける混雑状態によりデータを捨てる必要が生じたとき、第１の型のデータより前に第２の型のデータが捨てられるように、ネットワークを介して第１の型のデータは第１の優先レベルで経路指定され、第２の型のデータは第１の優先レベルよりも低い１つまたは複数の優先レベルで経路指定される。次いで、ネットワークを介して経路指定された第１の型のデータと第２の型のデータを合成してデータ・ストリームが生成される。
【０００６】
本発明の実施形態では、第１の型のデータが、１つまたは複数の第２の型のデータとは別に送信されるようにデータ・ストリームを送信する。次いで、ネットワークを介して経路指定された第１の型のデータと、１つまたは複数の第２の型のデータを合成してデータ・ストリームが生成される。このようにして生成されたデータ・ストリームは、少なくとも送信されたデータ・ストリームを表したもの、即ち、データが捨てられない場合にはデータ・ストリームそのものであり、データが捨てられた場合には、そのデータ・ストリームを表したものである。
【０００７】
好ましい実施形態では、このデータ・ストリームは、ルータに送信される。ルータは、第１の優先順位で第１の型のデータを経路指定し、第１の優先レベルよりも低い１つまたは複数の優先レベルで第２の型のデータを経路指定する。データ・ストリームが、ビデオ・ストリームを含む本発明の実施形態によれば、第１の指定に関連付けられてビデオ・ストリームのＩ（Ｉｎｔｒａ：イントラ）フレームが送信され、第１の指定以外の１つまたは複数の指定に関連付けられてビデオ・ストリームのＰ（Ｐｒｅｄｉｃｔｉｖｅ：予測）フレームおよびＢ（Ｂｉｄｒｅｃｔｉｏｎａｌ：双方向予測）フレームが送信される。
【０００８】
データ・ストリームが、ビデオ・ストリームを含む本発明の別の実施形態によれば、ビデオ・ストリームのＩフレームは、第１ＴＣＰ／ＵＤＰポート番号に関連付けられ、例えばルータに送信され、ビデオ・ストリームのＰフレームおよびＢフレームは、第１ポート番号以外の１つまたは複数のＴＣＰ／ＵＤＰポート番号に関連付けられ、例えばルータに送信される。ネットワークにおける混雑状態により、例えばルータで受信したデータを捨てる必要が生じたとき、第１ポート番号に関連付けられたデータより前に、第１ポート番号以外の１つまたは複数のポート番号に関連付けられたデータが捨てられるように、例えばルータで第１ポート番号に関連付けられて受信したデータは、ネットワークを介して第１の優先レベルで経路指定され、例えばルータで第１ポート番号以外の１つまたは複数のポート番号に関連付けられて受信したデータは、ネットワークを介して第１の優先レベルよりも低い１つまたは複数の優先レベルで経路指定される。次いで、ネットワークを介して、例えばルータから第１ポート番号に関連付けられて経路指定されたデータと、ネットワークを介してルータから第１ポート番号以外の１つまたは複数のポート番号に関連付けられて受信したデータとを合成して、送信されたビデオ・ストリームを表したものが生成される。
【０００９】
添付の図面に本発明を示すが、これらの図面は限定的なものではなく例示的なものである。図では、同じ参照番号は、同じまたは対応する部分を示すものとする。
【発明を実施するための最良の形態】
【００１０】
図面を参照して、本発明によるソフトウエア・プログラムを含む方法、システムおよび製品の好ましい実施形態を説明する。
【００１１】
図１に示すように、サーバ１００は、第１ネットワーク３００、第１ルータ６００、第２ネットワーク４００、第２ルータ７００および第３ネットワーク５００を介してクライアント２００に接続される。サーバ１００は、（ａ）第１の型のデータおよび１つまたは複数の第２の型のデータを含むデータ・ストリームであって、第１の型のデータが第２の型のデータを処理する基礎として働くデータ・ストリームを生成し、（ｂ）第１の指定に関連付けられて第１の型のデータが送信され、第１の指定以外の１つまたは複数の指定に関連付けられて第２の型のデータが送信されるように、生成されたデータ・ストリームを送信することができる任意のコンピュータ・システムを含んでいる。サーバ１００が生成し得るデータ・ストリームの例は、（それぞれＩフレーム、ＰフレームおよびＢフレームと称することがある）キー・フレーム、前方向予測（ｆｏｒｗａｒｄ  ｐｒｅｄｉｃｔｉｖｅ）フレームおよび後方向予測（ｂａｃｋｗａｒｄ  ｐｒｅｄｉｃｔｉｖｅ）フレームなどの異なる型のビデオ・フレームを含むビデオ・データ・ストリーム（または単なるビデオ・ストリーム）である。ただし、キー・フレームは、前方向および後方向予測フレームを処理する基礎として働く。上述した指定（ｄｅｓｉｇｎａｔｉｏｎ）は、例えば、ＩＰネットワークのトランスポート層で用いられるＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などのポート番号を含むことができ、それにより、データ・ストリームの第１の型のデータは、第１ポート番号に関連付けられて経路指定され、データ・ストリームの第２の型のデータは、第１ポート番号以外の１つまたは複数のポート番号に関連付けられて経路指定される。
【００１２】
本発明の実施形態では、サーバ１００は、データ・ストリーム（ＤＳ：Ｄａｔａ  Ｓｔｒｅａｍ）生成システム１１０およびデータ・ストリーム送信機（ＤＳＴ：Ｄａｔａ  Ｓｔｒｅａｍ  Ｔｒａｎｓｍｉｔｔｅｒ）システム１２０を備えている。ＤＳ生成システム１１０は、上述のデータ・ストリームを生成する任意のコンピュータ・システムを含んでいる。例えば、生成されるデータ・ストリームがビデオ・ストリームを含む場合、ＤＳ生成システム１１０は、ビデオ・ストリームを生成する任意の周知のコンピュータ・システムを含んでいる。更に、ＤＳ生成システム１１０は、例えば、生（ライブ）のビデオ・データまたは前に記録したビデオ・ファイルに基づいて、任意の複数の方法でビデオ・ストリームを生成することが出来る。本発明の実施形態では、ＤＳ生成システム１１０は、上述のデータ・ストリームを生成する機能を実行するコンピュータ・コードを含んでいる。
【００１３】
データ・ストリーム送信機（ＤＳＴ）システム１２０は、（ａ）データ・ストリームの異なる型のデータを分離し、（ｂ）第１の指定に関連付けて第１の型のデータを送信し、第１の指定以外の１つまたは複数の指定に関連付けて１つまたは複数の第２の型のデータを送信する任意のコンピュータ・システムを含んでいる。例えば、送信されるデータ・ストリームが、ビデオ・ストリームである場合、ＤＳＴシステム１２０は、ビデオ・ストリームのＩフレーム、ＰフレームおよびＢフレームを分離し、第１ＴＣＰ／ＵＤＰポート番号に関連付けてＩフレームを送信し、第１ポート番号以外の１つまたは複数のＴＣＰ／ＵＤＰポート番号に関連付けてＰおよびＢフレームを送信するコンピュータ・システムを含んでいる。例えば、ＰフレームおよびＢフレームは共に、第２ポート番号に関連付けて送信することもでき、ＰフレームおよびＢフレームはそれぞれ、第２および第３ポート番号に関連付けて送信することもできる。本発明の実施形態では、ＤＳＴシステム１２０は、上述のデータ・ストリームの分離および送信を実行するコンピュータ・コードを含んでいる。
【００１４】
クライアント２００は、サーバ１００により生成され送信されたデータ・ストリームを受信し処理する。従って、クライアント２００は、（ａ）所定のデータ・ストリームに関係し、第４の指定に関連付けられたデータと、この所定のデータ・ストリームに関係し、第４の指定以外の１つまたは複数の指定に関連付けられたデータとを受信し、この所定のデータ・ストリームに関係し、第４の指定に関連付けられた受信データと、この所定のデータ・ストリームに関係し、第４の指定以外の指定に関連付けられた受信データとを合成して、この所定のデータ・ストリームを表すデータ・ストリームを生成し、（ｂ）このようにして表されたデータ・ストリームを処理する任意のコンピュータ・システムを含んでいる。
【００１５】
本発明の実施形態では、クライアント２００は、データ・ストリーム受信（ＤＳＲ：Ｄａｔａ  Ｓｔｒｅａｍ  Ｒｅｃｅｉｖｉｎｇ）システム２１０およびデータ・ストリーム（ＤＳ）処理システム２２０を備えている。ＤＳＲシステム２１０は、上述の受信動作を実行する任意のコンピュータ・システムを含んでいる。例えば、受信され処理されるデータがビデオ・データである場合、ＤＳＲシステム２１０は、所定のビデオ・ストリームに関係し、第４ポート番号に関連付けられたＩフレームと、この所定のビデオ・ストリームに関係し、第４ポート番号以外の１つまたは複数のポート番号に関連付けられたＰフレームおよびＢフレームとを受信し（例えば、ＰおよびＢフレームは共に、第５ポート番号に関連付けて受信することもでき、ＰおよびＢフレームはそれぞれ、第５および第６ポート番号に関連付けて受信することもできる）、受信したこの所定のビデオ・ストリームに関係するＩ、ＰおよびＢフレームを合成して、（例えば、このように表されたストリームは、混雑状態によりデータが失われたために、最初に送信されたストリームよりもフレーム数が少ないことがあるが、このように表されたストリームの中の残りのフレームが、最初に送信されたストリーム中のものに相当する同一物を有する場合）この所定のビデオ・ストリームを表すビデオ・ストリームを生成する任意のコンピュータ・システムを含んでいる。本発明の実施形態では、ＤＳＲシステム２１０は、上述の受信および合成動作を実行するコンピュータ・コードを含んでいる。
【００１６】
データ・ストリーム（ＤＳ）処理システム２２０は、上述のデータ・ストリームを処理する任意のコンピュータ・システムを含んでいる。例えば、このようにして表されたストリームがビデオ・ストリームである場合、ＤＳ処理システム２２０は、ビデオ・ストリームを処理して、それをユーザに表示することができる任意の周知のコンピュータ・システムを含んでいる。本発明の実施形態では、ＤＳ処理システム２２０は、上述の処理を実行するコンピュータ・コードを含んでいる。
【００１７】
本明細書において、「コンピュータ・システム（ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ）」という用語は広い意味で用いられており、コンピュータ・ハードウエアおよびコンピュータ・ソフトウエア、或いはコンピュータ・ソフトウエアだけを含んでいる。例えば、データ・ストリーム（ＤＳ）生成システム１１０およびデータ・ストリーム送信機（ＤＳＴ）１２０はそれぞれ、サーバ１００の同じコンピュータ・ハードウエア上に常駐するコンピュータ・コードを含んでいる。或いは、ＤＳ生成システム１１０およびＤＳＴ１２０はそれぞれ、別個のコンピュータ・ハードウエア内で実行することが出来る。
【００１８】
単一のシステム内でクライアントおよびサーバの機能を組み合わせることができることに留意されたい。本発明の実施形態では、図２に示すように、エンド・ユーザ・システム１５１および１５２はそれぞれ、（例えば、テレビ会議構成で用いる）上述のサーバ１００およびクライアント２００の機能を共に含むことができ、それにより、各エンド・ユーザ・システムが、他の類似のエンド・ユーザ・システムとの間でデータ・ストリームの送受信を同時に行うことができる。
【００１９】
図１に戻ると、サーバ１００およびクライアント２００はそれぞれ、第１ネットワーク３００および第２ネットワーク４００と通信する。ネットワーク３００および４００はそれぞれ、第１ルータ６００および第２ルータ７００を介して第３ネットワーク５００と通信する。ネットワーク３００、４００および５００はそれぞれ、コンピュータ・システム間でデータを転送する任意のデータ通信ネットワーク、例えば、ＬＡＮ、ＷＡＮ（広域ネットワーク）またはインターネットを含んでいる。ある構成例では、ネットワーク３００、４００および５００はそれぞれ、企業のイントラネットで一般に使用するネットワークを含んでいる。例えば、ネットワーク３００および４００は、ＷＡＮを意味するネットワーク５００により互いに接続された地理的に離れた企業の各拠点におけるＬＡＮを意味している。
【００２０】
データは、本明細書で開示する経路指定（ｒｏｕｔｉｎｇ：ルーティング）機能を実行し得る任意の適切なハードウエアおよび／またはソフトウエアにより、ネットワーク３００、４００および５００の任意のもの、或いは全てを介して経路指定する。また、本明細書で開示するように、データは、本明細書で開示する捨てる（ｄｉｓｃａｒｄ）機能を実行することができる任意のハードウエアおよび／またはソフトウエアにより捨てられる。例えば、このような機能は、ルータ６００および７００により実行することが出来る。各ルータは、混雑状態によりルータ内のデータを捨てる必要が生じたとき、高い優先レベルに従って処理される指定に関連付けられたデータより前に、それよりも低い優先レベルに従って処理される指定に関連付けられたデータが捨てられるように、複数の優先レベルに従って複数の指定に関連付けられたデータを処理する任意のルータを含んでいる。例えば、ルータ６００および７００はそれぞれ、複数のポート番号に関連付けられて受信されたデータを複数の処理レベルに分類する「ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ：サービス品質）」機能付きルータを含むことができ、それにより、混雑状態によりＱｏＳルータ内のデータを捨てる必要が生じたとき、高い処理レベルに分類されたポート番号に関連付けられたデータより前に、それよりも低い処理レベルに分類されたポート番号に関連付けられたデータが捨てられる。
【００２１】
本発明の実施形態では、サーバ１００、クライアント２００およびルータ６００と７００は全て、同じ指定に基づいてそれぞれデータの送受信および処理を行うように、例えばコンピュータ・ハードウエアまたはコンピュータ・コードにより静的に構成される。問題のデータ・ストリームがビデオ・ストリームである場合、サーバ１００は、第１指定ポート番号（例えば、指定ポート番号５１５１）に関連付けてビデオ・ストリームのＩフレームを送信し、第１指定ポート番号以外の１つまたは複数の指定ポート番号に関連付けて（例えば、ＰおよびＢフレーム共に指定ポート番号５１５３に関連付けるか、或いは、ＰおよびＢフレームはそれぞれ、指定ポート番号５１５３および５１５５に関連付けて）ビデオ・ストリームのＰおよびＢフレームを送信するように構成する。また、続けてこの例を参照すると、クライアント２００は、第１指定ポート番号と同じ第４指定ポート番号（例えば、指定ポート番号５１５１）上でビデオ・ストリームのＩフレームを受信し、第１指定ポート番号以外の１つまたは複数の指定ポート番号と同じ第４指定ポート番号以外の１つまたは複数の指定ポート番号上で（例えば、ＰおよびＢフレーム共に指定ポート番号５１５３に関連付けるか、或いは、ＰおよびＢフレームはそれぞれ、指定ポート番号５１５３および５１５５に関連付けて）ビデオ・ストリームのＰおよびＢフレームを受信するように構成する。
【００２２】
また、同じ例を参照すると、ルータ６００および７００は、混雑状態によりルータ内のデータを捨てる必要が生じたとき、高い優先レベルに従って処理される指定ポート番号に関連付けられたデータより前に、それよりも低い優先レベルに従って処理される指定ポート番号に関連付けられたデータが捨てられるように、第１指定ポート番号（例えば、指定ポート番号５１５１）に関連付けられて受信したデータを第１の優先レベルに従って処理し、第１指定ポート番号以外の１つまたは複数の指定ポート番号（例えば、指定ポート番号５１５３、或いは指定ポート番号５１５３および５１５５）に関連付けられて受信したデータを第１の優先レベルよりも低い１つまたは複数の優先レベルに従って処理するように構成する。
【００２３】
例えば、サーバ１００およびクライアント２００が、第１指定ポート番号（例えば、５１５１）に関連付けてＩフレームをそれぞれ送受信し、第１指定ポート番号以外の単一の指定ポート番号（例えば、指定ポート番号５１５３）に関連付けてＰおよびＢフレームをそれぞれ送受信するように構成される場合、ルータ６００および７００は、混雑状態によりルータ内のデータを捨てる必要が生じたとき、第１指定番号に関連付けられたデータ（例えば、指定ポート番号５１５１に関連付けられたＩフレーム）より前に、他の指定ポート番号に関連付けられたデータ（例えば、指定ポート番号５１５３に関連付けられたＰおよびＢフレーム）が捨てられるように、第１指定ポート番号に関連付けられて受信したデータを第１の優先レベルに従って処理し、他のポート番号に関連付けられて受信したデータを第１の優先レベルよりも低い第２の優先レベルに従って処理するように構成する。
【００２４】
或いは、サーバ１００およびクライアント２００が、第１指定ポート番号（例えば、５１５１）に関連付けられたＩフレーム、第２指定ポート番号（例えば、５１５３）に関連付けられたＰフレームおよび第３指定ポート番号（例えば、５１５５）に関連付けられたＢフレームをそれぞれ送受信するように構成される場合、ルータ６００および７００は、混雑状態によりルータ内のデータを捨てる必要が生じたとき、第１および第２指定ポート番号に関連付けられたデータ（例えば、ポート番号５１５１のＩフレームおよびポート番号５１５３のＰフレーム）より前に、第３指定ポート番号に関連付けられたデータ（例えば、ポート番号５１５５のＢフレーム）が捨てられ、第１指定ポート番号に関連付けられたデータより前に、第２指定ポート番号に関連付けられたデータが捨てられるように、第１、第２および第３指定ポート番号に関連付けられて受信したデータを第１、第２および第３の優先レベルに従ってそれぞれ処理するように構成する。
【００２５】
本発明の別の実施形態では、サーバ１００、クライアント２００およびルータ６００と７００は、様々なユーザ定義可能な指定に基づいて、データの送受信および処理をそれぞれ行う。この実施形態では、図３に示すように、制御システム８００は、サーバ１００、クライアント２００およびルータ６００と７００と通信して、上述と同じ指定に基づいて、それぞれデータの送受信および処理を行うようにそれらに命令する。例えば、テレビ会議（ｖｉｄｅｏ  ｃｏｎｆｅｒｅｎｃｅ）を実行する場合、制御システム８００は、ポリシー・サーバ（図示しない）からテレビ会議用のポリシー（ｐｏｌｉｃｙ：方針、規定）を読み出す。これにより、例えば、ビデオ・データにおいて、Ｉフレームに高い優先順位を与えポート５１５１上に送信し、Ｐフレームに中間の優先順位を与えポート５１５３上に送信し、Ｂフレームにそれよりも低い優先順位を与えポート５１５５上に送信するというポリシーが得られる。次いで、制御システム８００は、サーバ１００がＩ、ＰおよびＢフレームをそれぞれポート５１５１、５１５３および５１５５上に送信し、クライアント２００がそれらを受信するように命令し、ルータ６００および７００が、ポート５１５１、５１５３および５１５５に関連付けられたデータをそれぞれ高中低の優先順位に従って処理するように命令する。
【００２６】
図３に、第２ネットワーク４００との接続を介してサーバ１００、クライアント２００およびルータ６００と７００と通信する制御システム８００を示すが、その必要はなく、制御システム８００は任意のネットワーク位置、例えば、制御システム８００がサーバ１００、クライアント２００およびルータ６００と７００と通信することができる第１ネットワーク３００または第３ネットワーク５００のところで、制御システム８００を接続することができることに留意されたい。
【００２７】
図４は、本発明が動作し得る一方法を示す流れ図である。まず、ブロック１０００に示すように、第１の型のデータおよび１つまたは複数の第２の型のデータを含むデータ・ストリームが生成される。ただし、第１の型のデータは、第２の型のデータを処理する基礎として働く。生成されるデータ・ストリームは、例えば、第１の型のデータおよび１つまたは複数の第２の型のデータがそれぞれ、ビデオ・ストリームのＩフレーム並びにＰおよびＢフレームに相当するビデオ・ストリームを含んでいる。このデータ・ストリームがビデオ・ストリームを含む場合、サーバ１００のデータ・ストリーム（ＤＳ）生成システム１１０は、幾つかの方法で、例えばテレビ会議用の生ビデオを符号化することにより、或いは、あらかじめ記録されたビデオ・ファイルを読み出すことによりビデオ・ストリームを生成する。
【００２８】
次に、ブロック１１００に示すように、異なるデータ型に従って、提供されたデータ・ストリームのデータを分離する。例えば、生成されたデータ・ストリームが、ビデオ・ストリームである場合、サーバ１００のデータ・ストリーム送信機（ＤＳＴ）システム１２０は、例えば、提供されたビデオ・ストリームからＩ、ＰおよびＢフレームを分離することにより、ブロック１１００に示す動作を実行することが出来る。
【００２９】
次いで、ブロック１２００に示すように、第１の指定に関連付けて第１の型のデータを送信し、第１の指定以外の１つまたは複数の指定に関連付けて１つまたは複数の第２の型のデータを送信するように、このデータ・ストリームの分離されたデータを送信する。例えば、このデータ・ストリームがビデオ・ストリームであり、Ｉフレームを高い優先順位で送信し、ＰおよびＢフレームを高い優先順位よりも低い同じ優先順位で送信することが望まれる場合、サーバ１００のデータ・ストリーム送信機（ＤＳＴ）システム１２０は、例えば、第１指定ポート番号（例えば、５１５１）に関連付けてビデオ・ストリームのＩフレームを送信し、第１指定ポート番号以外の指定ポート番号（例えば、５１５３）に関連付けてビデオ・ストリームのＰおよびＢフレームを送信することにより、ブロック１２００に示す動作を実行することが出来る。或いは、このデータ・ストリームがビデオ・ストリームであり、Ｉフレームを高い優先順位で送信し、Ｐフレームを中間の優先順位で送信し、Ｂフレームをそれよりも低い優先順位で送信することが望まれる場合、サーバ１００のＤＳＴシステム１２０は、例えば、第１（例えば、５１５１）、第２（例えば、５１５３）および第３（例えば、５１５５）指定ポート番号に関連付けてビデオ・ストリームのＩ、ＰおよびＢフレームを送信することにより、ブロック１２００に示す動作を実行することが出来る。
【００３０】
送信されたデータ・ストリームのデータは、ルータ６００で受信される。ブロック１３００に示すように、ルータ６００は、第３ネットワーク５００における混雑状態によりルータ内のデータを捨てる必要が生じたとき、高い優先レベルに従って経路指定される指定に関連付けられたデータより前に、それよりも低い優先レベルに従って経路指定される指定に関連付けられたデータが捨てられるように、第１の指定に関連付けられたデータ・ストリームの送信データを第１の優先レベルに従って経路指定し、第１の指定以外の１つまたは複数の指定に関連付けられたデータ・ストリームの送信データを第１の優先レベルよりも低い１つまたは複数の優先レベルに従って経路指定する。例えば、このデータ・ストリームがビデオ・ストリームである場合、ルータ６００は、第３ネットワーク５００における混雑状態によりルータ内のデータを捨てる必要が生じたとき、第１指定ポート番号に関連付けられたデータ（例えば、ポート番号５１５１のＩフレーム）より前に、第２指定ポート番号に関連付けられたデータ（例えば、ポート番号５１５３のＰおよびＢフレーム）が捨てられるように、第１指定ポート番号に関連付けられたデータ（例えば、ポート番号５１５１のＩフレーム）を第１の優先レベルに従って経路指定し、第２指定ポート番号に関連付けられたデータ（例えば、共にポート番号５１５３のＰおよびＢフレーム）をそれよりも低い優先レベルに従って経路指定するように構成する。別の例では、ルータ６００は、第３ネットワーク５００における混雑状態によりルータ内のデータを捨てる必要が生じたとき、第１および第２指定ポート番号に関連付けられたデータ（例えば、ポート番号５１５１のＩフレームおよびポート番号５１５３のＰフレーム）より前に、第３指定ポート番号に関連付けられたデータ（例えば、ポート番号５１５５のＢフレーム）が捨てられ、第１指定ポート番号に関連付けられたデータより前に、第２指定ポート番号に関連付けられたデータが捨てられるように、第１、第２および第３指定ポート番号に関連付けられたデータ（例えば、ポート番号５１５１のＩフレーム、ポート番号５１５３のＰフレームおよびポート番号５１５５のＢフレーム）をそれぞれ第１、第２および第３の優先レベルに従って経路指定するように構成する。
【００３１】
第３ネットワーク５００における混雑状態のためにルータ６００により捨てられなかった第１の指定および第１の指定以外の１つまたは複数の指定に関連付けられたデータ・ストリームのデータは、第３ネットワーク５００を介して経路指定され、ルータ７００で受信される。次いで、ルータ７００は、第２ネットワーク４００に関して上述と同様の方法でデータ・ストリームのデータを経路指定する。例えば、ルータ７００は、第１の指定に関連付けられたデータ・ストリームのデータが第１の優先レベルに従って経路指定され、第１の指定以外の１つまたは複数の指定に関連付けられたデータ・ストリームのデータが第１の優先レベルよりも低い１つまたは複数の優先レベルに従って経路指定されるように、ルータ７００が第３ネットワーク５００から受信したデータ・ストリームのデータを経路指定し、それにより、第２ネットワーク４００における混雑状態によりルータ内のデータを捨てる必要が生じたとき、高い優先レベルに従って経路指定される指定に関連付けられたデータより前に、それよりも低い優先レベルに従って経路指定される指定に関連付けられたデータが捨てられる。
【００３２】
次に、図４に戻ると、ブロック１４００に示すように、混雑状態のために（例えば、第３ネットワーク５００における混雑状態のためにルータ６００により、或いは、第２ネットワーク４００における混雑状態のためにルータ７００により）捨てられなかった第１の指定および第１の指定以外の１つまたは複数の指定に関連付けられたデータ・ストリームのデータが、クライアント２００で受信される。このデータ・ストリームが、ビデオ・ストリームを含む場合、ブロック１４００で示す動作は、例えば、クライアント２００のデータ・ストリーム受信（ＤＳＲ）システム２１０が、第１指定ポート番号（例えば、５１５１）でＩフレームを受信し、第１指定ポート番号以外の１つまたは複数の指定ポート番号で（例えば、ＰおよびＢフレームを共にポート番号５１５３で、或いはＰおよびＢフレームをそれぞれポート番号５１５３と５１５５で）ＰおよびＢフレームを受信することにより実行することが出来る。
【００３３】
次いで、ブロック１５００に示すように、第１の指定および第１の指定以外の１つまたは複数の指定に関連付けられて別々に受信したデータ・ストリームのデータを合成して、このデータ・ストリームを表したものが生成される。例えば、このデータ・ストリームがビデオ・ストリームを含む場合、ブロック１５００に示す動作は、上述したように、クライアント２００のデータ・ストリーム受信（ＤＳＲ）２１０が、第１指定ポート番号（例えば、５１５１）上で受信され、所定のビデオ・ストリーム（例えば、所定のＩＰアドレスからの所定のソース・ポート番号を有するデータ）に関係するＩフレームと、第１ポート番号以外の１つまたは複数の指定ポート番号上で受信され、同じビデオ・ストリームに関係するＰおよびＢフレーム（例えば、共に５１５３上のＰおよびＢフレーム、或いは、それぞれ５１５３および５１５５上のＰおよびＢフレーム）とを合成して、この所定のビデオ・ストリームを表したものを生成することを含んでいる。
【００３４】
最後に、ブロック１６００に示すように、このデータ・ストリームを表したものを処理してユーザに提示する。例えば、このデータ・ストリームを表したものがビデオ・ストリームを含む場合、クライアント２００のデータ・ストリーム（ＤＳ）処理システム２２０は、このようにして表されたビデオ・ストリームを処理して、クライアント２００を操作するユーザに、このようにして表されたビデオ・ストリーム中で符号化したビデオを表示する。
【００３５】
上述の本発明の実施形態では、サーバ１００は、クライアント２００にデータを送信し、ルータ６００および７００は、第３ネットワーク５００および第２ネットワーク４００における混雑状態に対してそれぞれ２つ以上の優先レベルに従ってデータを経路指定する。エンド・ユーザ・システム１５１および１５２が、サーバ且つクライアントとして機能する図２に示す本発明の実施形態では、エンド・ユーザ・システム１５１からエンド・ユーザ・システム１５２に送信されるデータは、上述のように第３ネットワーク５００における混雑状態に対してはルータ６００により経路指定され、上述のように第２ネットワーク４００における混雑状態に対してはルータ７００により経路指定される。同様に、エンド・ユーザ・システム１５２からエンド・ユーザ・システム１５１に送信されるデータは、第３ネットワーク５００における混雑状態に対してはルータ７００により経路指定され、第１ネットワーク３００における混雑状態に対してはルータ６００により経路指定される。
【００３６】
図５は、制御システム８００により、サーバ１００、クライアント２００（またはエンド・ユーザ・システム１５１および１５２）およびルータ６００と７００が、協調して機能するように構成され、それにより、それらが、同じ指定および優先レベルに関連付けてデータをそれぞれ送信し、受信し、経路指定する、本発明の別の実施形態の動作を説明する流れ図である。まず、ブロック２０００に示すように、サーバ１００（または、エンド・ユーザ・システム１５１および１５２のサーバ機能）が、第１の指定に関連付けてデータ・ストリームの第１の型のデータを送信し、第１の指定以外の１つまたは複数の指定に関連付けてデータ・ストリームの１つまたは複数の第２の型のデータを送信するように構成される。また、ブロック２１００に示すように、クライアント２００（または、エンド・ユーザ・システム１５１および１５２のクライアント機能）は、第１の指定に関連付けられたデータ・ストリームの第１の型のデータを受信し、第１の指定以外の１つまたは複数の指定に関連付けられたデータ・ストリームの１つまたは複数の第２の型のデータを受信するように構成される。更に、ブロック２２００に示すように、ルータ６００および７００は、それらが第１の指定に関連付けられて受信したデータを第１の優先レベルに従って経路指定し、第１の指定以外の１つまたは複数の指定に関連付けられて受信したデータを第１の優先レベルよりも低い１つまたは複数の優先レベルに従って経路指定するように構成され、それにより、上述したように、データが転送されるネットワークにおける混雑状態によりルータ内のデータを捨てる必要が生じたとき、高い優先レベルに従って経路指定される指定に関連付けられてルータが受信したデータより前に、それよりも低い優先レベルに従って経路指定される指定に関連付けられてルータが受信したデータが捨てられる。
【００３７】
ブロック２０００、２１００および２２００に示す動作は、例えば、制御システム８００が、（例えば、ポリシー・サーバからポリシーを読み出すことにより）ポリシーを取得して、データ・ストリームの第１の型のデータおよび１つまたは複数の第２の型のデータを上述のように送信し、受信し、経路指定することにより実行する。次いで、制御システム８００は、サーバ１００およびクライアント２００（またはエンド・ユーザ・システム１５１および１５２）並びにルータ６００および７００のそれぞれと通信して、それらが、ポリシーが提供する指定および対応する優先レベルを用いてそれぞれ送信し、受信し、経路指定するように構成する。
【００３８】
次に、ブロック２３００に示すように、ポリシーに従って、サーバ１００（またはエンド・ユーザ・システムの１つ）からルータ６００および７００を介してクライアント２００（または別のエンド・ユーザ・システム）にデータ・ストリームが配信される。例えば、図４に関して上述したのと同じ方式で、サーバ１００（またはエンド・ユーザ・システムの１つ）からルータ６００および７００を介してクライアント２００（または別のエンド・ユーザ・システム）にデータ・ストリームを配信する。
【００３９】
好ましい実施形態に関して本発明を説明し示してきたが、本発明の趣旨および範囲から逸脱することなく、当業者には明らかな多くの変形および変更を加えることができる。従って、本発明は上記で述べた方法または構成の精確な細部に限定されるものではなく、このような変形および変更は本発明の範囲に含まれるものとする。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態およびそれが動作する環境を示すブロック図である。
【図２】本発明の別の実施形態を示すブロック図である。
【図３】本発明の別の実施形態を示すブロック図である。
【図４】本発明の動作の実施形態を示す流れ図である。
【図５】本発明の別の動作実施形態を示す流れ図である。
【図１】
2005530367.tif 000003
【図２】
2005530367.tif 000004
【図３】
2005530367.tif 000005
【図４】
2005530367.tif 000006
【図５】
2005530367.tif 000007
【国際調査報告】
2005530367.tif 000008
2005530367.tif 000009