(57)【特許請求の範囲】
【請求項１】
データを出力する複数のデータ・サーバおよびバーチャル・サーキット・ネットワーク・スイッチを有するシステムにおいて、
前記データ・サーバのそれぞれのものからデータ・シーケンスで連続するデータ・ブロックを出力するステップ、および
前記データ・サーバによって出力されるデータ・ブロックを、前記バーチャル・サーキット・ネットワーク・スイッチにより、単一の連続データ・ストリームに結合するステップを備えている方法であって、
データ・サーバのそれぞれのものからデータ・シーケンスで連続するデータ・ブロックを出力する前記ステップは、
セルが出力されるべき前記バーチャル・ネットワーク・サーキット・スイッチの出力ポートを識別するトークンを、前記データ・サーバの第１のものへ転送するステップと、
前記トークンの受信に応答して、前記データ・シーケンスの第１データ・ブロックを保持するセルを、前記データ・サーバの第１のものから前記トークンによって識別される、前記バーチャル・サーキット・ネットワーク・スイッチの出力ポートへ出力するステップと、
前記データ・サーバの第２のものへ前記トークンを転送するステップ、および
前記トークンの受信に応答して、前記データ・シーケンスの第２データ・ブロックを保持するセルを、前記データ・サーバの第２のものから前記トークンによって識別される、前記バーチャル・サーキット・ネットワーク・スイッチの出力ポートへ出力するステップを含むことを特徴とする方法。
【請求項２】
前記データ・サーバが、前記データ・シーケンスの前記連続するデータ・ブロックを蓄積する記憶装置を含み、前記データ・サーバのそれぞれのものからデータ・シーケンスで連続するデータ・ブロックを出力する前記ステップが、前記データ・サーバの前記記憶装置からデータ・シーケンスで前記連続するデータ・ブロックを読み出すステップを備えている、請求項１に記載の方法。
【請求項３】
前記データ・シーケンスの連続するデータ・ブロックが異なるデータ・サーバに格納されるように、前記データ・シーケンスのデータ・ブロックを前記データ・サーバ全体に渡ってストライプ状にする、ステップをさらに備えている請求項１に記載の方法。
【請求項４】
前記データ・サーバのそれぞれのものからデータ・シーケンスで連続するデータ・ブロックを出力する前記ステップが、各データ・サーバがそこに格納されたデータ・シーケンスのブロックを出力するタイム・スロットを与えられるように、前記データ・シーケンスの前記連続するデータ・ブロックの出力を時間多重化するステップを含んでいる、請求項３に記載の方法。
【請求項５】
前記バーチャル・サーキット・ネットワーク・スイッチが、非同期転送モード（ＡＴＭ）・スイッチである、請求項１に記載の方法。
【請求項６】
データ・サーバ群、および出力ポートを有するバーチャル・サーキット・ネットワーク・スイッチを備えたシステムにおいて、
トークンの受信に応答して、前記データ・サーバ群の第１のものから前記バーチャル・サーキット・ネットワーク・スイッチへ第１のデータのセットを出力するステップと、
前記バーチャル・サーキット・ネットワーク・スイッチを通じて、前記第１のデータのセットを、前記バーチャル・サーキット・ネットワーク・スイッチの選択された出力ポートであって、前記トークンにより識別される出力ポートに向けるステップと、
前記データ・サーバ群の第１のものから転送される前記トークンの受信に応答して、前記データ・サーバ群の第２のものから前記バーチャル・サーキット・ネットワーク・スイッチへ第２のデータのセットを出力するステップ、および
前記選択された出力ポートから前記第１のデータのセットとともに連続する出力ストリームを生成するために、前記バーチャル・サーキット・ネットワーク・スイッチを通じて、前記第２のデータのセットを、前記バーチャル・サーキット・ネットワーク・スイッチの前記選択された出力ポートに向けるステップを備えている方法。
【請求項７】
前記第１のデータのセットおよび前記第２のデータのセットが、同じデータ・シーケンスの一部である、請求項６に記載の方法。
【請求項８】
前記データ・サーバ群の第１のものから前記バーチャル・サーキット・ネットワーク・スイッチへ第１のデータのセットを出力する前記ステップが、前記第１のデータのセットと仮想チャネルを識別する情報とを保持する第１のセルのセットを出力するステップを備え、前記仮想チャネルが、前記第１のセルのセットが前記データ・サーバ群の前記第１のものから向かうチャネルである、請求項６に記載の方法。
【請求項９】
前記バーチャル・サーキット・ネットワーク・スイッチを通じて、前記第１のセットのデータを、前記バーチャル・サーキット・ネットワーク・スイッチの選択された出力ポートに向ける前記ステップが、
前記セルが向かう前記仮想チャネルを識別する前記第１のセルのセットの前記情報を検査して、前記第１のセルのセットが向かう前記仮想チャネルを識別し、
前記選択された出力ポートが、前記第１のセルのセットが向かう前記仮想チャネルと関連するものと判断し、および
前記バーチャル・サーキット・ネットワーク・スイッチを介して前記第１のセルのセットを前記選択された出力ポートへ向ける、
ステップを含む請求項８に記載の方法。
【請求項１０】
前記データ・サーバ群の第２のものから前記バーチャル・サーキット・ネットワーク・スイッチへ第２のデータのセットを出力する前記ステップが、前記第２のデータのセットと仮想チャネルを識別する情報とを保持する第２のセットのセルを出力するステップを備え、前記仮想チャネルが、前記第２のセルのセットが前記データ・サーバ群の前記第２のものから向かうチャネルである、請求項６に記載の方法。
【請求項１１】
前記バーチャル・サーキット・ネットワーク・スイッチを通じて、前記第２のデータのセットを、前記バーチャル・サーキット・ネットワーク・スイッチの選択された出力ポートに向ける前記ステップが、
前記セルが向かう前記仮想チャネルを識別する前記第２のセルのセットの前記情報を検査して、前記第２のセルのセットが向かう前記仮想チャネルを識別し、
前記選択された出力ポートが、前記第２のセルのセットが向かう前記仮想チャネルと関連するものと判断し、および
前記バーチャル・サーキット・ネットワーク・スイッチを介して前記第２のセルのセットを前記選択された出力ポートへ向ける、
ステップを含む請求項10に記載の方法。
【請求項１２】
前記バーチャル・サーキット・ネットワーク・スイッチが、非同期転送モード（ＡＴＭ）スイッチである、請求項６に記載の方法。
【請求項１３】
複数のデータ・サーバならびに入力ポートおよび出力ポートを有するスイッチを備えたビデオ・オン・ディマンド・サーバ・システムにおいて、
トークンの受信に応答して、前記データ・サーバの第１のものから前記スイッチの前記入力ポートの第１のものへ、データ・ブロック群のシーケンスを含むビデオ画像シーケンスの第１ブロックを出力するステップと、
前記ビデオ画像シーケンスの前記第１ブロックを、前記スイッチを介して、前記トークンによって識別される、前記スイッチの前記出力ポートの第１のものへ向けるステップと、
前記データ・サーバの第１のものから転送される前記トークンの受信に応答して、前記ビデオ画像シーケンスの第２ブロックを、前記データ・サーバの第２のものから出力するステップ、および
前記ビデオ画像シーケンスの前記第２ブロックを、前記スイッチを介して、前記スイッチの前記出力ポートの前記第１のものへ向けて、前記出力ポートの前記第１のものから前記ビデオ画像シーケンスの前記第１ブロックと前記第２ブロックを有する連続出力データ・ストリームを生成するステップを有する方法。
【請求項１４】
前記ビデオ画像シーケンスが、オーディオ・データおよびビデオ・データを含むものである、請求項13に記載の方法。
【請求項１５】
前記データ・サーバから前記ビデオ画像シーケンスの付加ブロックを出力し、および
前記ビデオ画像データの前記付加ブロックを、前記スイッチを介して、前記出力ポートの前記第１のものへ向けて、前記ビデオ画像シーケンスのブロック群の連続出力ストリームを生成する、
ステップをさらに含む請求項13に記載の方法。
【請求項１６】
前記スイッチが非同期転送モード・スイッチである、請求項13に記載の方法。
【請求項１７】
データ・サーバ群および出力ポート群を有するスイッチを備えたコンピュータ・システムにおいて、データ・ブロック群のシーケンスを出力する方法であって、
セルが出力されるべき前記スイッチの出力ポートを識別するトークンを、前記データ・サーバ群の第１のものへ転送し、
前記トークンの受信に応答して、前記シーケンスの第１データ・ブロックを保持するセルを、前記データ・サーバ群の第１のものから前記トークンによって識別される前記スイッチの出力ポートへ出力し、
前記データ・サーバ群の第２のものへ前記トークンを転送し、および
前記トークンの受信に応答して、前記シーケンスの第２データ・ブロックを保持するセルを、前記データ・サーバ群の第２のものから前記トークンによって識別される前記スイッチの出力ポートへ出力する、
ステップを備えている方法。
【請求項１８】
前記スイッチが非同期転送モード・スイッチである、請求項17に記載の方法。
【請求項１９】
データを仮想チャネルに向ける非同期転送モード（ＡＴＭ）・スイッチにデータを出力するための複数のサーバを有するシステムにおいて、
仮想チャネルを識別するトークンを、前記データ・サーバの第１のものへ渡し、
前記データ・サーバの第１のものにおけるトークンの受信に応答して、データ・シーケンスの第１データ・ブロックのセルに含まれるヘッダに前記仮想チャネルの識別子を組み込み、
前記第１データ・ブロックの前記セルが前記識別された仮想チャネル上で経路選択されるように、前記データ・サーバの前記第１のものから前記ＡＴＭスイッチへ前記第１データ・ブロックのセルを出力し、
前記仮想チャネルを識別する前記トークンを、前記データ・サーバの第２のものへ渡し、
前記データ・サーバの第２のものにおけるトークンの受信に応答して、データ・シーケンスの第２データ・ブロックのセルに含まれたヘッダに前記仮想チャネルの識別子を組み込み、および
前記第２データ・ブロックのセルが前記識別された仮想チャネル上で経路選択されるように、前記データ・サーバの前記第２のものから前記ＡＴＭスイッチへ前記第２データ・ブロックのセルを出力する、
ステップを備えている方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、データ処理システムに関し、具体的には、スイッチ（交換機）を用いて、複数のデータ・サーバからのデータを単一の連続したデータ・ストリームに結合することに関する。
【０００２】
【発明の背景】
非同期転送モード（ＡＴＭ：Asynchronous Transfer Mode）は、各パケットに含まれるアドレスによりトラフィックの経路選択を行う高速パケット交換技術の一般的な分類の一つである。非同期転送モードは、多数のディジタル電話網に使用されている同期転送モードの技法と対比されることがある。非同期転送モードは、開発されてきた広帯域サービス統合ディジタル網（ＢＩＳＤＮ）の標準の産物である。ＡＴＭスイッチ（ＡＴＭ交換機）は、ＡＴＭの環境において経路選択（ルーティング）を制御するために開発されてきた。これらのスイッチは、セルとして知られている固定サイズのパケットを、それらが向かう送信先（デスティネーション）へ経路選択する。一般に、ＡＴＭスイッチは、一つの送信元のポイントから一つの送信先のポイントへの接続を行うために使用される。
【０００３】
【発明の概要】
本発明の一特徴によると、データを出力する複数のデータ・サーバおよびＡＴＭスイッチを有するシステムにおいて、一方法が実行される。この方法は、トークンの受信に応答して、前記データ・サーバ群の第１のものから前記バーチャル・サーキット・ネットワーク・スイッチへ第１のデータのセットを出力するステップと、前記バーチャル・サーキット・ネットワーク・スイッチを通じて、前記第１のデータのセットを、前記バーチャル・サーキット・ネットワーク・スイッチの選択された出力ポートであって、前記トークンにより識別される出力ポートに向けるステップと、前記データ・サーバ群の第１のものから転送される前記トークンの受信に応答して、前記データ・サーバ群の第２のものから前記バーチャル・サーキット・ネットワーク・スイッチへ第２のデータのセットを出力するステップ、および前記選択された出力ポートから前記第１のデータのセットとともに連続する出力ストリームを生成するために、前記バーチャル・サーキット・ネットワーク・スイッチを通じて、前記第２のデータのセットを、前記バーチャル・サーキット・ネットワーク・スイッチの前記選択された出力ポートに向けるステップを備えている。
【０００４】
本発明の別の特徴によると、データ・サーバ群、および出力ポートを有するＡＴＭスイッチを有するシステムにおいて、一方法が実行される。この方法は、トークンの受信に応答して、前記データ・サーバ群の第１のものから前記バーチャル・サーキット・ネットワーク・スイッチへ第１のデータのセットを出力するステップと、前記バーチャル・サーキット・ネットワーク・スイッチを通じて、前記第１のデータのセットを、前記バーチャル・サーキット・ネットワーク・スイッチの選択された出力ポートであって、前記トークンにより識別される出力ポートに向けるステップと、前記データ・サーバ群の第１のものから転送される前記トークンの受信に応答して、前記データ・サーバ群の第２のものから前記バーチャル・サーキット・ネットワーク・スイッチへ第２のデータのセットを出力するステップ、および前記選択された出力ポートから前記第１のデータのセットとともに連続する出力ストリームを生成するために、前記バーチャル・サーキット・ネットワーク・スイッチを通じて、前記第２のデータのセットを、前記バーチャル・サーキット・ネットワーク・スイッチの前記選択された出力ポートに向けるステップを備えている。
【０００５】
本発明のさらに別の特徴によると、複数のデータ・サーバならびに入力ポートおよび出力ポートを有するスイッチを備えたビデオ・オン・ディマンド・サーバ・システムにおいて、一方法が実行される。この方法は、トークンの受信に応答して、前記データ・サーバの第１のものから前記スイッチの前記入力ポートの第１のものへ、データ・ブロック群のシーケンスを含むビデオ画像シーケンスの第１ブロックを出力するステップと、前記ビデオ画像シーケンスの前記第１ブロックを、前記スイッチを介して、前記トークンによって識別される、前記スイッチの前記出力ポートの第１のものへ向けるステップと、前記データ・サーバの第１のものから転送される前記トークンの受信に応答して、前記ビデオ画像シーケンスの第２ブロックを、前記データ・サーバの第２のものから出力するステップ、および前記ビデオ画像シーケンスの前記第２ブロックを、前記スイッチを介して、前記スイッチの前記出力ポートの前記第１のものへ向けて、前記出力ポートの前記第１のものから前記ビデオ画像シーケンスの前記第１ブロックと前記第２ブロックを有する連続出力データ・ストリームを生成するステップを備えている。
【０００６】
本発明の他の特徴によると、セルが出力されるべき前記スイッチの出力ポートを識別するトークンが、第１データ・サーバへ転送される。データ・シーケンスの第１ブロックのデータを保持するセルは、第１データ・サーバから前記トークンによって識別される前記ＡＴＭスイッチの出力ポートへ出力される。続いて、前記トークンは、データ・サーバの第２ものへ転送され、前記データ・シーケンスの第２データ・ブロックを保持するセルが、前記第２データ・サーバから前記トークンによって識別される出力ポートを介して出力される。
【０００７】
本発明のさらに他の特徴によると、データを仮想チャネルに向ける非同期転送モード（ＡＴＭ）・スイッチにデータを出力するための複数のサーバを有するシステムにおいて、一方法が実行される。この方法において、仮想チャネルを識別するトークンが、前記データ・サーバの第１のものへ渡される。前記データ・サーバの第１のものにおけるトークンの受信に応答して、前記仮想チャネルの識別子が、データ・シーケンスの第１データ・ブロックのセルの一部であるヘッダに組み込まれる。前記セルが前記識別された仮想チャネル上で経路選択されるように、前記第１データ・サーバから前記ＡＴＭスイッチへ前記第１データ・ブロックのセルが出力される。前記仮想チャネルを識別する前記トークンは、前記データ・サーバの第２のものへ渡される。前記第２データ・サーバにおけるトークンの受信に応答して、前記第２データ・サーバは、前記仮想チャネルの識別子およびデータ・シーケンスの第２データ・ブロックのセルのヘッダを組み込む。続いて、第２データ・ブロックのこれらのセルは、前記識別された仮想チャネル上で経路選択されるように、前記第２データ・サーバから前記ＡＴＭスイッチへ出力される。
【０００８】
【発明の実施の形態または実施例】
本発明の好ましい実施例は、ＡＴＭスイッチ（ＡＴＭ交換機）を用いて、複数のデータ・サーバから生じるデータを単一の連続データ・ストリームに結合する方法およびシステムを提供する。このデータの結合は、複数の連続出力データ・ストリームを生成するために、複数のデータ・シーケンス上で同時に行われてもよい。データ・サーバからのデータ送信は、同期トークンおよびデータ・サーバ群からの出力の時分割多重化を組み合わせて使用することにより、各データ・シーケンスについて同期して行われる。本発明の好ましい実施例の方法およびシステムにより、２台またはそれ以上のコンピュータ群から構築されるビデオ・オン・ディマンドのサーバ・システムのような分散データ・サーバ・システムが、クライアントには、各データ・シーケンスに対して単一のデータ・ストリームを送信する１台のコンピュータとして見える。好ましい実施例は、データ・ストリームのダウンストリーム・スイッチング（すなわち、データがサーバ・システムから出力された後のスイッチング）を非常に簡単にする。
【０００９】
本発明の好ましい実施例は、ビデオ・オン・ディマンド・サーバ・システムに実現されるものとして以下に説明される。しかしながら、本発明は、複数のデータ・サーバが、単一のデータ・ストリームに結合されるべきデータ・シーケンスのデータを生成する他の環境においても実現することができる。また、本発明の好ましい実施例は、ＡＴＭスイッチを用いて実現されたものとして以下に説明されている。しかし、本発明は、他のタイプのスイッチング・ネットワーク（交換網）を使用して実現することもできる。例えば、本発明は、セル交換ネットワーク、回線交換ネットワーク、およびＡＴＭでないパケット交換ネットワークにおいても実現することができる。
【００１０】
図１は、本発明の好ましい実施例を実現するのに適したビデオ・オン・ディマンド・サーバ・システム10のブロック図である。ビデオ・オン・ディマンド・サーバ・システム10は、複数のデータ・サーバ14のアクティビティを制御するコントローラ12を備えている。これらのデータ・サーバ群の出力は、ＡＴＭスイッチ16に送られる。各データ・サーバ14は、ＡＴＭスイッチ16の各入力ポートに接続されている。ＡＴＭスイッチ16は、複数のサーバ14からのデータを、加入者群18へ出力されるデータ・ストリームに結合する。変形例として、ＡＴＭスイッチ16は、コントローラとサーバ群14を含むコンポーネントの少なくとも一つの追加セットからの入力も処理する。ＡＴＭスイッチ16と加入者群18との間の接続は、図１に図示しない付加的な交換技術を備えていてもよい。具体的には、ＡＴＭ交換ネットワークは、加入者群に直接接続する必要はなく、むしろ、テレビ・ケーブル、電話交換網、構内網、または他の相互接続機構のような異なる送信機構が、ＡＴＭスイッチ16の出力を加入者群18に接続していてもよい。
【００１１】
各サーバ14は、加入者群18に利用可能なビデオ画像シーケンス群のブロック群を記憶する少なくとも一つの記憶装置を備えている。サーバ群14は、磁気ディスク・ドライブ、磁気テープ・ドライブ、光ディスク・ドライブ、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭおよびフラッシュＥＰＲＯＭのような記憶装置にビデオ画像シーケンス群を保持してもよい。各ビデオ画像シーケンスは、サーバ群14のそれぞれの記憶装置に渡って記憶される。ビデオ画像シーケンスの複数のコピーが、ビデオ・オン・ディマンド・サーバ・システム10に記憶されていてもよい。ビデオ画像シーケンス群をストライプ状にすることにより、記憶装置が一定時間内にデータを出力する効率が上がり、各記憶装置に対する負荷の要求をバランスさせることが助けられる。各ビデオ画像シーケンスの連続ブロック群は、記憶装置の予め定められた順番にしたがって記憶装置に記憶される。しかしながら、本発明は、データがサーバ群14全体に渡ってストライプ状にされる実施例に制限されるものでないことはいうまでもない。ストライプ処理が適用されると、ビデオ画像シーケンスの最初のブロックは第１のサーバに記憶され、ビデオ画像シーケンスの次のブロックは次のサーバ群14のうちの一つの次の記憶装置に記憶される。ビデオ画像シーケンスのブロック群を記憶するこのシーケンスは、このビデオ画像シーケンスの全データが、全記憶装置群に渡ってストライプ形式で記憶されるまで繰り返される。このシーケンスの終了時には、この予め定められたシーケンスが、開始部分に巻き付く。ブロック・サイズは、さまざまなものとすることができるが、代表的には64ＫＢから４ＭＢのデータの間の範囲である。与えられたデータ・シーケンス内の各ブロックは、同じ最大サイズを有するが、最大ブロック・サイズはデータ・シーケンス間で異なってもよい。
【００１２】
ビデオ・オン・ディマンド・システムでは、加入者18は、サーバ群14からＡＴＭスイッチ16を介して加入者に送信される、ある特定のビデオ画像シーケンスを視聴する要求を任意の時刻に出すことができる。このビデオ画像シーケンスのデータは、クローズ・キャプションのデータを含むビデオ・データ、オーディオ・データおよび他のタイプのデータの全てまたはいずれか一つ以上のものを含んでいてもよい。本発明は、ビデオ・データ、オーディオ・データのデータ・シーケンス群にのみ適用されてもよいし、他のタイプのデータ・シーケンス群に適用されてもよい。
【００１３】
ビデオ画像シーケンス群の加入者18への表示は、前もってスケジュールされていない。ビデオ画像シーケンス群は、ディマンドによってのみ加入者へ転送される。加入者は、他の加入者が視聴しているビデオ画像シーケンスを選択する必要はなく、むしろ、加入者は、システムによって提供される利用可能なビデオ画像シーケンス群の多くのものを選択することができる。また、各加入者は、自分が視聴を開始したいときにビデオ画像シーケンスを選択し、一時停止制御、停止制御、早送り制御および巻き戻し制御のようなコントロールを使用して、ビデオ画像シーケンスの視聴を調整することができる。加入者は、ビデオ画像シーケンスの視聴を開始および停止したい箇所をシーケンス内において選択することができる。多数の異なる加入者が、同じビデオ画像シーケンスの異なる部分を同時に視聴することもできる。選択的に、ビデオ画像シーケンスは、単一の加入者18ではなく、ビデオ画像シーケンスを個別に一時停止、巻き戻し、停止または早送りできない複数の加入者に出力されることがある。
【００１４】
図２は、ビデオ画像シーケンス群のデータ・ブロック群がデータ・サーバ群14の記憶装置からどように出力されるかを示している。こられのディスクのそれぞれからのデータ送信出力のスケジューリングは、時分割多重化を用いて行われる。このスケジューリングの詳細は、1993年11月11日に本出願と同一の出願人によって出願された米国特許出願第08/159,188号の「データ・シーケンスの送信スケジュール方法およびシステム（Method and System for Scheduling Transfer of Data Sequences ）」に示されている。データ・ブロック群の出力は、タイム・スロットにより分割される。各タイム・スロットは、ディスクがデータ・ブロックを出力するのに十分な時間を有している。したがって、図２に示すように、ディスク０は、第１のタイム・スロット１に一つのデータ・ブロックを出力し、第２のタイム・スロットに第２のデータ・ブロックを出力する。長方形内の数字は、加入者の識別子に対応する。各加入者は、ビデオ画像シーケンスのブロック群の個別のデータ・ストリームを受信する。図２の長方形は、タイム・スロットを示している。各タイム・スロットは、データ・ブロック全体を出力するのに十分な長さを有する。ディスク（ディスク０、ディスク１およびディスク２）によるデータの出力は、各時間ユニット（マスタ・クロックの単位目盛）の開始において、異なるディスクが一つのデータ・ブロックの出力を開始するように交互に行われる。例えば、時刻零では、ディスク１が第１の加入者に与えられるデータ・ブロックの出力を開始する。時刻１では、ディスク１は、加入者１に与えられるビデオ画像シーケンスの次のブロックの出力を開始する。上述したように、一ビデオ画像シーケンスのブロック群が全ディスクに渡ってストライプ状にされている。したがって、これらの３つのディスク（ディスク０、ディスク１、ディスク２）は、７つの個別のデータ・ストリームを７つの個別の加入者18に同時に出力することができる。
【００１５】
本発明は、サーバが予め定められたシーケンスにデータを出力する環境に制限されるものでなく、複数のサーバが、前もって定められていないシーケンスにデータを出力する環境でもよく適合して使用される。また、本発明は、上述したビデオ・データ・スクリーンのように、適切に並べられた連続データ・スクリーンとして出力される必要のない時間に対してクリティカルでないデータとともに使用することもできる。特に、本発明は、データ・サーバからの出力が時分割多重化されない環境においても実行することができる。
【００１６】
ＡＴＭスイッチ16が、複数のデータ・サーバ14からのデータを、データ・シーケンスとして単一の出力データ・ストリームに結合するためにどのように使用されるかを知るために、ＡＴＭスイッチ16のアーキテクチャをさらに調べることが有益である。図３は、ＡＴＭスイッチ16の詳細なアーキテクチャを示している。ＡＴＭスイッチ16は、制御プロセッサ20、スイッチング装置（交換装置）22、入力コントローラ24および出力コントローラ26を備えている。図３に示す例では、ＡＴＭスイッチ16は、７つの入力ポート、７つの入力コントローラ24、７つの出力コントローラ26および７つの出力ポートを有する。制御プロセッサ20は、本発明には重要でない高レベルの機能を実現するために使用される。各入力コントローラ24は、対応する入力ポートと関連している。入力コントローラ24は、対応する入力ポートからの入力を受け取り、情報セルがスイッチング装置22を介して適切な出力ポートへ向けられるように情報セルを操作する。入力コントローラ24は、入力ポートで受信される入力セルを検査し、それらのセルが出力ポートへ適切に経路選択されるようにセルを処理する役割を有する。スイッチング装置22は、多数のスイッチング素子から構成されている。出力コントローラ26は、スイッチング装置22から受信されるセルを制御し、セルを、それらの対応する出力ポートに向ける。
【００１７】
図３に示すＡＴＭスイッチ構成が単なる例示にすぎないことはいうまでもない。他のＡＴＭスイッチの設計が本発明を実現するために使用されてもよい。多くの異なるタイプのＡＴＭスイッチが知られており、本発明を実現するために使用できる。
【００１８】
ＡＴＭ環境では、経路選択（ルーティング）は、仮想チャネル（ＶＣｓ：Virtual Channels）および仮想パス（ＶＰｓ：Virtual Paths ）をセルに指定することにより行われる。「仮想チャネル」は、２つの通信するＡＴＭエンティティの間のコネクションである。「仮想パス」は、２つのポイント間で運ばれる仮想チャネルのグループである。仮想パスは、同じ目的地に向かっているトラフィックをまとめるための便利な技法である。特に、スイッチング装置は、セルに含まれるアドレス全体をチェックするのではなく、トラフィックを中継するために仮想パス識別子のチェックのみを必要とする。図４は、仮想パスおよび仮想チャネルの概念の一例を示している。図４に示す例において、物理リンク28は、３つの仮想パスＶＰ１、ＶＰ２およびＶＰ３のトラフィックを運ぶ。これらの仮想パスのそれぞれは、一または複数の仮想チャネルを含む。特に、ＶＰ１は、仮想チャネルＶＣ１、ＶＣ２およびＶＣ３を含み、ＶＰ２は、仮想チャネルＶＣ４およびＶＣ５を含み、ＶＰ３は、仮想チャネルＶＣ６を含む。
【００１９】
上述したように、ＡＴＭネットワークの環境においては、全ての通信が、固定サイズのセルに包装される。各セルは、そのセルが経路選択されるべき仮想パスおよび仮想チャネルを同定する情報を保持する。各サーバ14は、ＡＴＭネットワークへのインタフェースとして動作するネットワーク・インタフェース・カードを備えている。このネットワーク・インタフェース・カードに設けられたＡＴＭインタフェースは、サーバ群14の記憶装置から取り出されるデータ・ブロック群を、ＡＴＭスイッチ16へ送信されるのに適したセルに包装する。図５は、ＡＴＭセルの一例を示している。ＡＴＭセルは、53バイトの長さであり、５バイトのヘッダ32および48バイトの情報フィールド34を備えている。ヘッダは、仮想パス識別子（ＶＰＩ：Virtual Path Identifier ）36および仮想チャネル識別子（ＶＣＩ：Virtual Channel identifier）38を含んでいる。これらのＶＰＩ36およびＶＣＩ38は、ＡＴＭスイッチ16（図１）の入力コントローラ24（図３）によって使用され、指定された仮想パスおよびバーチャル・サーキット（仮想回線）に関連した出力ポートへセルを適切に経路選択する。後に詳述するように、セルがＡＴＭネットワーク上で経路選択されるにしたがい、セル内に格納されたＶＰＩおよびＶＣＩの値は変化することがある。
【００２０】
図６は、ＡＴＭスイッチを介してセルを経路選択するときに実行されるステップのフローチャートである。まず、入力するセルは、ＡＴＭスイッチの入力ポートの一つによって受信される（ステップ40）。セル30のヘッダ32（図５）に格納されたＶＰＩおよびＶＣＩが、ＡＴＭスイッチの入力コントローラ24（図３）によって検査される（図６のステップ42）。各ＡＴＭスイッチ16（図１）は、コネクション・テーブルを備えている。このテーブルは、セルがその目的地に届くために適切な経路上を経路選択されるように、入力ポートならびにセルのヘッダ内のＶＰＩ36およびＶＣＩ38を含むセットを、出力ポート、出力ＶＰＩおよび出力ＶＣＩを含む新たなセットに変換するために使用されるルックアップ・テーブルである。このコネクション・テーブルは、入力するセルのＶＰＩ／ＶＣＩによってインデックスされる出力ポート識別子を格納している。入力コントローラ24（図３）は、コネクション・テーブルにアクセスして、セルが向かうべき出力ポートを決定する（図６のステップ44）。コネクション・テーブルは、入力コントローラ群24によって共有されるグローバルなテーブルの形をとってもよいし、選択的に、各入力コントローラがそれ自身のテーブルを有していてもよい。入力コントローラ24は、望ましい出力ポートへセルをどのように経路選択するかを決定するために、スイッチング装置22によって使用される経路選択タグをそのセルへ取り付け、ＶＰＩ36およびＶＣＩ38（図５）を、次のＡＴＭリンク（もしあるならば）に役に立つ値に書き換える（図６のステップ46）。この例においては簡単化のために、ＡＴＭコネクションは一つのリンクのみを含んでいるものとする。
【００２１】
続いて、セルは、スイッチング装置22に渡され（図６のステップ48）、適切な出力ポートに経路選択される（ステップ50）。スイッチング装置22は、セルがスイッチング装置内を送信されている間、セルをバッファリングするためのバッファを備えていてもよい。
【００２２】
この本発明の好ましい実施例においては、サーバ群14全体に渡ってストライプ状にされるビデオ画像シーケンスのデータ・ブロック群は、ＡＴＭスイッチ16で単一の連続データ・ストリームにマージされる。これは、このような単一データ・ストリームへのデータ・ブロック群の結合を実現するためにＶＰＩ／ＶＣＩ値を割り当て、かつ、後述する同期トークンを使用することにより行われる。ビデオ画像シーケンスにおける各データ・ブロックのためのデータ・セル群は、それぞれ、共通の仮想パスおよび仮想チャネルを割り当てられる。したがって、一つのビデオ画像シーケンスのデータ・ブロック群は、ＡＴＭスイッチ16によって同じ目的地に向けられる。同期トークンは、異なるサーバから共通の仮想チャネルへ出力されるセルを適切なシーケンスにすることを確実にする。換言すると、同期トークンは、セルが適切な順序で送信されることを確実にする。
【００２３】
図７は、ビデオ画像シーケンスのデータ・ブロックを出力するサーバ14によって実行されるステップを示すフローチャートである。まず、サーバ14は、それがデータを出力できるように、同期トークンの待ち状態となる（ステップ52）。続いて、同期トークンがサーバに渡される（ステップ54）。サーバ14は、そのネットワーク・インタフェース・カードを通じて、起動されたデータ・ブロックをＡＴＭスイッチ16にセルとして出力する（ステップ56）。逆に、データがサーバから出力準備される前に、トークンが到着していてもよいことはいうまでもない。図７のフローチャートは、データが先に到着することを示している例示にすぎない。続いて、次のサーバがデータを出力できるように、同期トークンは、予め定められたサーバの順序により次のサーバ（すなわち、ビデオ画像サーバ10の次のデータ・ブロックを保持するサーバ）に渡される。選択的に、同期トークンは、次のサーバ14が参照することを知っている場所に戻されてもよい。図７のステップは、サーバ14のそれぞれに対して独立に繰り返される。
【００２４】
個別のトークンが、各仮想チャネル（すなわち、各出力データ・ストリーム）に与えられる。このトークンは、サーバからサーバへ次々と渡され、ビデオ画像シーケンスのブロック群が適切な順序で出力されるようにする。同期トークンは、サーバ群14の一つまたは別にあるコンピュータに存在する独立した供給プロセスによって生成される。この供給プロセスは、使用状態にある仮想チャネルのそれぞれに対してトークンを生成、管理および消去する役割をもつ。
【００２５】
同期トークンの使用は、マルチステージ相互接続ネットワークにおいて見られるように、可変の待ち行列遅延の存在でデータの順序を維持する。また、同期トークンの使用により、本発明は、複数のユーザが異なるデータ・レートで異なるブロック化のファクタにいる場合に作動することができる。例えば、本発明は、異なるバイト数が各サーバ14から出力される環境における使用にもよく適合する。
【００２６】
図８および図９は、複数のデータ・サーバのデータを単一のデータ・ストリームに結合する際の、本発明の好ましい実施例の処理の一例を示している。これらのステップは、各出力データ・ストリームに対して別々に実行される。図８および図９に示す例では、各サーバは、関連した入力ポートを有する。図８では、入力ポート１に関連したサーバが、ビデオ画像シーケンスの第１のブロック用のセルをＡＴＭスイッチ16に転送する。これらのセルを出力ポート１に転送するようにＡＴＭスイッチを指示するＶＰＩ／ＶＣＩの値が、これらのセルに与えられる。次の時間のフレームにおいて、ビデオ画像シーケンスのこの第１のブロックのデータの全てが出力された後、トークンは、入力ポート２に関連した第２のサーバに渡される。第２のサーバは、入力ポート２を介してＡＴＭスイッチ16にデータを渡し、ビデオ画像シーケンスの第２のブロックのセルが、出力ポート１に向けられるように、スイッチング・ロジックをセットする。このシーケンスがそれ自身の繰り返すポイントに最後のサーバが到達するまで、このプロセスは、ビデオ画像シーケンスの連続するブロック群を保持する残りのサーバに対して繰り返される。
【００２７】
好ましい実施例を参照して、本発明を説明してきたが、形態におけるさまざまな変更および詳細化が、特許請求の範囲に定められた発明の範囲から逸脱することなく行えることはいうまでもない。例えば、本発明は、上述したものとは異なる交換アーキテクチャによって実現されてもよい。
【図面の簡単な説明】
【図１】本発明の好ましい実施例を実現するのに適したビデオ・オン・ディマンド・サーバ・システムを示すブロック図である。
【図２】本発明の好ましい実施例によるデータ・ブロックの出力タイミングを示す。
【図３】通常のＡＴＭスイッチのアーキテクチャを示すブロック図である。
【図４】通常のＡＴＭ環境における仮想パスおよび仮想チャネルの概念を示す。
【図５】通常のＡＴＭセルのフォーマットを示すブロック図である。
【図６】通常のＡＴＭスイッチを介してセルを経路選択するために実行されるステップのフローチャートである。
【図７】本発明の好ましい実施例による、ＡＴＭスイッチを介した連続データ・ストリームに連続データ・ブロック群を結合するために実行されるステップを示すフローチャートである。
【図８】本発明の好ましい実施例による、単一の連続データ・ストリームに連続データ・ブロック群を結合するＡＴＭスイッチの処理の一例を示す。
【図９】本発明の好ましい実施例による、単一の連続データ・ストリームに連続データ・ブロック群を結合するＡＴＭスイッチの処理の一例を示す。
【符号の説明】
10  ビデオ・オン・ディマンド・サーバ・システム
12  コントローラ
14  サーバ
16  ＡＴＭスイッチ
18  加入者群
20  制御プロセッサ
22  スイッチング装置
24  入力コントローラ
26  出力コントローラ
【図１】
0003723254.tif 000002
【図２】
0003723254.tif 000003
【図３】
0003723254.tif 000004
【図４】
0003723254.tif 000005
【図５】
0003723254.tif 000006
【図６】
0003723254.tif 000007
【図７】
0003723254.tif 000008
【図８】
0003723254.tif 000009
【図９】
0003723254.tif 000010