(57)【要約】【課題】  ネットワーク内でリモート・データ処理システムからクライアント・データ処理システムへの通信リンクを介したデータ・ストリームのトランスポートを管理するデータ処理システムにおいて、改善された方法、システムおよび装置を提供する。【解決手段】  ネットワーク・クライアント（１０６）のグラフィック・ユーザ・インターフェースには、ストリーム制御送信プロトコル（ＳＣＴＰ）に基づいて指定されたビデオ・サーバ（１０４）からマルチホーム型アドレス・リストの前記クライアント（１０６）に通知された前記ＩＰアドレスを通して得られた株式サーバ（１１０）からの株式ティッカー、およびニュース・サーバ（１１２）からのニュース補足記事が含まれる。前記クライアントは、リアルタイム・データを前記ビデオ・サーバ（１０４）との接続時に指定されたマルチホーム型ＩＰアドレス上で、前記株式取引サーバおよび前記ニュース・エージェンシー・サーバからリアルタイム・データを受け取るが、その際前記データが、前記ビデオ・サーバ（１０４）以外のソースから来ていることは分からない。前記ビデオ・サーバ、株式サーバおよびニュース・サーバからの前記リアルタイム・データ・フィードは、前記クライアント（１０６）上に、高速で集約される。何故ならば、前記フィードは、前記クライアントに直接入り、前記ビデオ・サーバを介さないからである。前記ホーム・サーバおよびリモート・サーバのオペレーティング・システムは、ＳＣＴＰコマンドおよび特定のコマンドを用いて、ネットワーク・クライアントにストリーミングされているリアルタイム・データの集約を高速で実施するが、その際、既存のクライアント・システムを何ら改変する必要はない。【選択図】  図１
2007509552.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内におけるリモート・データ処理システム（リモート）からクライアント・データ処理システム（クライアント）への通信リンクを介したデータ・ストリームのトランスポート（移送）を管理するデータ処理システム（ホーム）における方法であって、
前記クライアントと前記ホームとの間での複数のデータ・ストリームの転送のために、前記ホームおよび前記リモートに係る複数のアドレスの関数として、前記クライアントと前記ホームとの間の関連付けを生成するステップと、
前記関連付けを生成するために用いられる前記リモートの前記複数のアドレスのうち、１つまたは複数のアドレスを用いて、リモート・データ・ストリームを前記クライアントに転送するように前記リモートに指令するステップであって、これにより前記クライアントが、前記関連付けの範囲内において前記リモート・データ・ストリームを受信する、ステップと
を含む方法。
【請求項２】
前記関連付けはＳＣＴＰ連想として生成され、前記複数のアドレスは、マルチホーム型機構を用いて、前記ホームのＩＰアドレスとして前記クライアントに指定される、請求項１に記載の方法。
【請求項３】
前記指令するステップは、ストリーム識別番号と前記クライアントに関するＩＰアドレスとを前記リモートに提供するステップを含む、請求項２に記載の方法。
【請求項４】
前記指令するステップは、ある範囲の送信シーケンス番号を前記リモートに提供するステップと、
前記範囲内の前記リモート・データ・ストリームを送信するよう、前記リモートに指令するステップと
を含む、請求項２に記載の方法。
【請求項５】
前記クライアントが前記範囲内のリモート・データ・ストリームを受信したことを示す、前記リモートからの受信通知を受信するステップと、
新規範囲の送信シーケンス番号を前記リモートに提供するステップと、
前記新規範囲内の前記リモート・データ・ストリームを送信するよう、前記リモートに指令するステップと
をさらに含む、請求項４に記載の方法。
【請求項６】
前記リモートにおいて前記クライアントとの関連付けを、前記リモートにおけるＩＮＩＴを前記クライアントから受信することなく生成するステップと、
前記関連付けを生成するステップに含まれる、前記クライアントに送信されたＩＮＩＴ  ＡＣＫメッセージ中の、前記ホームに指定された前記リモートのＩＰアドレスを用いて、前記リモート・データ・ストリームを前記クライアントに送信するステップと
をさらに含む、請求項２に記載の方法。
【請求項７】
前記生成するステップが、前記クライアントと前記ホームとの間の複数のデータ・ストリームの転送のために、前記ホームと複数のリモートとに係る複数のアドレスの関数として前記クライアントと前記ホームとの間の関連付けを生成するステップを含み、
前記指令するステップが、前記関連付けを生成するために用いられた前記リモートの前記複数のアドレスのうちの１つまたは複数のアドレスを用いて、前記クライアントにリモート・データ・ストリームを転送するよう前記複数のリモートの各々に指令して、これにより、前記クライアントが同一の関連付けの範囲内で前記複数のリモートから複数のリモート・データ・ストリームを受信するステップを含む、
請求項１に記載の方法。
【請求項８】
ストリーム集約コマンドを、前記ホームから、前記リモート・データ・ストリームの送信に用いるために、ストリーム識別子と前記クライアントのアドレスを指定する前記リモートに送信するステップ
をさらに含む、請求項１に記載の方法。
【請求項９】
送信シーケンス範囲コマンドを、前記ホームから、前記リモート・データ・ストリームの送信に用いるために、ある範囲の送信シーケンス番号を指定する前記リモートに送信するステップ
をさらに含む、請求項１に記載の方法。
【請求項１０】
ネットワーク内におけるリモート・データ処理システム（リモート）からクライアント・データ処理システム（クライアント）への通信リンクを介したデータ・ストリームのトランスポート（移送）を管理するデータ処理システムであって、
前記クライアントと前記ホームとの間での複数のデータ・ストリームの転送のために、前記ホームおよび前記リモートの、複数のアドレスの関数として、前記クライアントと前記ホームとの間の関連付けを生成する手段と、
前記関連付けを生成するために用いられる前記リモートの前記複数のアドレスのうち、１つまたは複数のアドレスを用いて、リモート・データ・ストリームを前記クライアントに転送するよう前記リモートに指令し、それによって前記クライアントが、前記関連付けの範囲内において前記リモート・データ・ストリームを受信する手段と
を含む、データ処理システム。
【請求項１１】
前記関連付けはＳＣＴＰ連想として生成され、前記複数のアドレスは、マルチホーム型機構を用いて、前記ホームのＩＰアドレスとして前記クライアントに指定される、請求項１０に記載のデータ処理システム。
【請求項１２】
ストリーム識別番号と前記クライアントに関するＩＰアドレスとを前記リモートに提供する手段をさらに含む、請求項１１に記載のデータ処理システム。
【請求項１３】
ある範囲の送信シーケンス番号を前記リモートに提供し、前記範囲内の前記リモート・データ・ストリームを送信するよう前記リモートに指令する手段をさらに含む、請求項１１に記載のデータ処理システム。
【請求項１４】
前記クライアントが前記範囲内のリモート・データ・ストリームを受信したことを示す前記リモートからの受信通知を受信する手段と、
新規範囲の送信シーケンス番号を前記リモートに提供する手段と、
前記リモートに、前記新規範囲内の前記リモート・データ・ストリームを送信するよう指令する手段と、
をさらに含む、請求項１３に記載のデータ処理システム。
【請求項１５】
前記クライアントと前記ホームとの間の複数のデータ・ストリームの転送のために、前記ホームと複数のリモートとに係る複数のアドレスの関数として前記クライアントと前記ホームとの間の関連付けを生成する手段と、
前記関連付けを行うために用いられた前記リモートの前記複数のアドレスのうちの１つまたは複数のアドレスを用いて、リモート・データ・ストリームを前記クライアントに転送するよう前記複数のリモートの各々に指令し、それによって、前記クライアントが、同一の関連付けの範囲内で複数のリモート・データ・ストリームを、前記複数のリモートから受信する手段と
をさらに含む、請求項１０に記載のデータ処理システム。
【請求項１６】
ストリーム集約コマンドを、前記ホームから、前記リモート・データ・ストリームの送信に用いるために、ストリーム識別子と前記クライアントのアドレスとを指定する前記リモートに送信する手段
をさらに含む、請求項１０に記載のデータ処理システム。
【請求項１７】
送信シーケンス範囲コマンドを前記ホームから、前記リモート・データ・ストリームの送信に用いるために、ある範囲の送信シーケンス番号を指定する前記リモートに送信する手段
をさらに含む、請求項１０に記載のデータ処理システム。
【請求項１８】
組み込み型プログラム論理を含む機械読取り可能な媒体を有する装置であって、前記プログラム論理が、ネットワーク内におけるリモート・データ処理システム（リモート）からクライアント・データ処理システム（クライアント）への通信リンクを介したデータ・ストリームのトランスポート（移送）を管理するデータ処理システム（ホーム）において制御回路に、
前記クライアントと前記ホームとの間での、複数のデータ・ストリームの転送のために、前記ホームおよび前記リモートに係る複数のアドレスの関数として、前記クライアントと前記ホームとの間の関連付けを生成するステップと、
前記リモートに、前記関連付けを生成するために用いられる前記リモートの前記複数のアドレスのうち、１つまたは複数のアドレスを用いて、リモート・データ・ストリームを前記クライアントに転送するように前記リモートに指令し、それによって、前記クライアントが、前記関連付けの範囲内において前記リモート・データ・ストリームを受信する、ステップと
を行わせる、装置。
【請求項１９】
前記関連付けはＳＣＴＰ連想として生成され、前記複数のアドレスは、マルチホーム型機構を用いて、前記ホームのＩＰアドレスとして前記クライアントに指定される、請求項１８に記載の装置。
【請求項２０】
前記指令するステップは、前記ストリーム識別番号と前記クライアントに関するＩＰアドレスとを前記リモートに提供するステップを含む、請求項１９に記載の装置。
【請求項２１】
前記指令するステップは、ある範囲の送信シーケンス番号を前記リモートに提供するステップと、前記範囲内の前記リモート・データ・ストリームを送信するよう、前記リモートに指令するステップを含む、請求項１９に記載の装置。
【請求項２２】
前記クライアントが前記範囲内のリモート・データ・ストリームを受信したことを示す、前記リモートからの受信通知を受信するステップと、
新規範囲の送信シーケンス番号を前記リモートに提供するステップと、
前記新規範囲内の前記リモート・データ・ストリームを送信するよう、前記リモートに指令するステップと
をさらに含む、請求項２１に記載の装置。
【請求項２３】
前記リモートにおいて前記クライアントとの関連付けを、前記リモートにおけるＩＮＩＴを前記クライアントから受信することなく生成するステップと、
前記関連付けを生成するステップに含まれる前記クライアントに送られたＩＮＩＴ  ＡＣＫメッセージ中の前記ホームによって指定された前記リモートのＩＰアドレスを用いて、前記リモート・データ・ストリームを前記クライアントに送信するステップと
をさらに含む、請求項１９に記載の装置。
【請求項２４】
前記生成するステップが、前記クライアントと前記ホームとの間の複数のデータ・ストリームの転送のために、前記ホームと複数のリモートとに係る、複数のアドレスの関数として、前記クライアントと前記ホームとの間の関連付けを生成するステップを含み、
前記指令するステップが、前記関連付けを生成するために用いられた前記リモートの前記複数のアドレスのうちの１つまたは複数のアドレスを用いて、リモート・データ・ストリームを前記クライアントに転送するよう、前記複数のリモートの各々に指令し、それによって、前記クライアントが同一の関連付けの範囲内において前記複数のリモートから複数のリモート・データ・ストリームを受信する、ステップを含む、
請求項１８に記載の装置。
【請求項２５】
ストリーム集約コマンドを、前記ホームから、前記リモート・データ・ストリームの送信に用いるために、ストリーム識別子と前記クライアントのアドレスとを指定する前記リモートに送信するステップ
をさらに含む、請求項１８に記載の装置。
【請求項２６】
送信シーケンス範囲コマンドを、前記ホームから、前記リモート・データ・ストリームの送信に用いるために、ある範囲の送信シーケンス番号を指定する前記リモートに送信するステップ、
をさらに含む、請求項１８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は総じて、データ処理システムのネットワークにおけるデータ転送に関する。特に本発明は、インターネットまたは同様のネットワーク上でのデータ・ブロックの転送に関する。さらに特定すれば、本発明は、前記ネットワーク内の多数のソースから、単一のクライアントへの多数のデータ・ストリームの集約に関する。
【背景技術】
【０００２】
ネットワークによって特定のルートを介して、あるソースから目的地へ情報を送信することが可能になる。前記情報はルータを介し特定のプロトコルに従って、前記ルートに沿って送信される。前記インターネットは、データ（テキスト、コード、画像、ビデオ、音声またはその混合物）およびソフトウェアの送信および配信には、特に重要なネットワークとなっている。ユーザは、14.4Kb/sから45Mb/s以上に及ぶ広範囲に分岐した性能レベルを有する、インターネットおよび他のネットワークのバックボーンに接続される。
【０００３】
前記ネットワーク内のクライアントが、図形ユーザインターフェース上のユーザに対する単一構成物として提示されるアプリケーションへのリアルタイム・データ入力として、多様な種類とソースの情報を受信する、いくつかのアプリケーションがある。これは、アプリケーション・サーバのような、共通ポイントで集約されるリアルタイム・データによって達成され、その後、集約データとしてクライアント・デバイスへ直接送られる。多数のソースからクライアントに、集約ビデオデータを提供するネットワーク・システムの一例を図８に示す。ビデオ・サーバは、株式情報を株式サーバからリンク１を介して受信し、ニュース・データをニュース・サーバからリンク２を介して受信する。その後、ビデオ・サーバは、リンク３を介してクライアントに通信される合成ビデオ画面中に、株式ティッカーおよびニュース補足記事情報を集約する。
【０００４】
上記から分かるように、ニュース情報および株式情報をビデオ・サーバに集約して、クライアントへ転送すると、クライアントがリアルタイム・データを入手するのが遅くなる。それにもかかわらず、このように遅れが大きくなっても、ビデオ・サーバ上のビデオ画面の構築に必要なビデオの処理を持続するためには必要であるとして、従来から容認されてきており、またそれが多数のソースからデータを集約して、前記ソースからビデオ画像を構築する.という仕事でさらにクライアントに負担をかけることなない。しかし、クライアントが画面構築に関するビデオ指令をビデオ・サーバから直接受信するのではなく、ニュースおよび株式データをニュース・サーバおよび株式サーバから直接受信し、そうすることによって、リアルタイム・データの受信の遅れが減少する方が望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明に従って、ネットワーク内でリモート・データ処理システム（リモート）からクライアント・データ処理システム（クライアント）への通信リンクを介したデータ・ストリームのトランスポート（移送）を管理するデータ処理システム（ホーム）において、改善された方法、システムおよび装置が開示される。本発明の１つの好適な方法は、前記クライアントと前記ホーム間で、複数のデータ・ストリームを転送するために、前記クライアントと前記ホームとの間の関連付けを、前記ホームおよびリモートの複数のアドレスの関数として行い、前記関連付けを生成するために用いられる前記リモートの前記複数のアドレスのうち、１つまたは複数のアドレスを用いてリモート・データ・ストリームを前記クライアントに転送するよう前記リモートに指令し、これによって、前記クライアントは前記関連付けの範囲内において前記リモート・データ・ストリームを受信する、ステップを含む。
【課題を解決するための手段】
【０００６】
本発明の目的、特徴および利点は全て、以下の詳細な説明文で明確になる。
【０００７】
本発明については、図面を参照しながら以下に記載する好適な実施形態において、説明するが、図面内の類似の符号は、同一または類似の構成要素を示す。
【発明を実施するための最良の形態】
【０００８】
好適な実施形態において、ホーム・サーバは、クライアント・アプリケーションによる消費のために、ネットワーク・クライアントのネットワーク・インターフェースにおいて、多数のリモート・サーバから多数のデータ・ストリームの集約をリアルタイムで制御している。ＳＣＴＰ連想は、前記ホーム・サーバと、多数の有効ソースＩＰアドレスを指定するクライアント間で、ＳＣＴＰマルチホーム型機構に従って生成されるが、そこでは、前記クライアントに送られた少なくとも１つまたは複数の前記ソースＩＰアドレスが、複数のリモート・サーバおよびホーム・サーバと関連付けられる。前記ホーム・サーバは、ＵＤＰパケットを用いて前記リモート・サーバと通信し、前記リモート・サーバに、指定ＩＰアドレス上で前記要求されたリアルタイム・データを、クライアントに直接配信するよう指令する。それから、各リモート・サーバは、前記クライアントとのＳＣＴＰ連想のためにローカル・エンド・ポイントを作成するが、その際、ＳＣＴＰ連想を生成するための標準始動手順は必要としない（すなわち、ＩＮＩＴメッセージおよびＩＮＩＴ ＡＣＫメッセージは送られない）。その後、前記ホーム・サーバおよびリモート・サーバは、同一集約アプリケーションに関するリアルタイム・データを、前記クライアントの前記マルチホーム・アドレス・リスト内で指定された第２のＩＰアドレス上のリンクを介して配信するが、一方、前記クライアントは、前記データが前記ホーム・サーバにおいて単一ソースを有するものと考えて、動作する。
【０００９】
ここで図面に関して、特に図１に関しては、本発明の好適な形態が実施される、データ処理システム・ネットワークが表示されている。データ処理システムのネットワーク１０２は、インターネットのような少なくとも１つのネットワーク１０８を介して、少なくとも１つのクライアント・システム１０６に接続された、少なくとも１つのホーム・サーバ・システム１０４を含む。データ処理システムのネットワーク１０２は、ネットワーク１０８を介して、クライアント・システム１０６およびホーム・サーバ１０４に接続された２つ以上のリモート・サーバ・システム１１０および１１２を、さらに含む。上記から分かるように、単一ホーム・サーバ・システム１０４、２つのリモート・サーバ１１０および１１２ならびに単一クライアント・システム１０６のみ、図示されているが、データ処理システム・ネットワーク１０２には、ネットワーク１０８を含む、１つまたは複数の接続およびネットワークによって相互接続された任意の数のホーム・サーバ、リモート・サーバおよびクライアント・システム（図示せず）が含まれる。
【００１０】
図１に示す好適な実施形態において、クライアント１０６は、ホーム・サーバ１０４に管理される多数のリモート・ソースからの、リアルタイム・データ・フローを必要とするアプリケーションを実行している。前記好適な実施形態に従って、ホーム・サーバ１０４は、多数のデータ・ストリームの集約を、クライアント・アプリケーションによる消費のために、クライアント１０６のネットワーク・インターフェースにおける、多数のリモート・サーバ１１０および１１２からリアルタイムで制御している。ホームサーバ１０４ならびにリモートサーバ１１０および１１２を通じて本発明の機能性を提供することにより、クライアント１０６は、多数のデータ・ストリーム自体を集約する能力を保持する必要がない。一実施形態において、ホーム・サーバ１０４は、クライアント１０６でのユーザ画面上の表示のために、リアルタイム・データを制御するビデオ・サーバである。
【００１１】
ネットワークでデータ転送を行うために、転送シーケンスの全ての部分が適切に実行されるように、一連の規則を設定する必要がある。これらの規則はそれぞれ、プロトコルと呼ばれ、一連の規則はプロトコル群と呼ばれる。前記ホーム・サーバ・システム１０４と、リモート・サーバ１１０および１１２と、クライアント・システム１０６間のデータ転送は、ＳＣＴＰ／ＩＰ仕様（ＲＦＣ２９６０）、ＴＣＰ／ＩＰ仕様（ＲＦＣ７９３）、ＵＤＰ／ＩＰ仕様（ＲＦＣ７６８）、およびファイル転送プロトコル（ＦＴＰ）、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）、またはいくつかの類似の通信プロトコルを含む、多様なプロトコルに適合する。ほとんどのネットワーク・プロトコルは、元々は独立の研究グループによって開発されたものではあるが、公開された（非機密の）基準であり、その多くは、一連の番号順のＲＦＣ（Request for Common 公開請求）文書として公開されている。例えば、ＩＰプロトコルはＲＦＣ７９１である。ＲＦＣ文書およびこれらのプロトコルに関する他の詳細な説明は、インターネットまたは様々な図書館において用意に閲覧できる。
【００１２】
伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）は、インターネットおよびイントラネット技術において、広く実行されている標準的通信プロトコルとなっていて、クライアント、サーバおよびこれらを接続する通信システム間で、広範な異質性を可能にする。インターネット・プロトコル（ＩＰ）はネットワーク層プロトコルであり、伝送制御プロトコル（ＴＣＰ）は、トランスポート層プロトコルである。ネットワーク・レベルでは、ＩＰは、「データグラム」配信サービスを提供する。ＴＣＰは、データグラム・サービスを介してトランスポート・レベル・サービスを構築し、２つのＩＰホスト間でバイト・ストリームの保証付き連続配信を提供する。一般的に使用されている他の転送プロトコルには、不接続型データグラム・サービスを規定するユーザ・データグラム・プロトコル（ＵＤＰ）と、接続指向の信頼性あるトランスポート・サービスを提供してマルチストリーミングおよびマルチホーミング機能性を可能にする、ストリーム制御送信プロトコル（ＳＣＴＰ）が含まれる。明確なことではあるが、これらのネットワーク・プロトコル群は、それぞれ構造が類似していて、一連の層を有しており、各層がそれぞれ前記通信業務の違った側面を担っている。説明を簡単にするため、下記の議論は主として、前記ＳＣＴＰ／ＩＰプロトコルおよびＵＤＰ／ＩＰプロトコルを用いる時に、前記発明を使用することに関わる。しかし、前記発明が他の多様なネットワーク・プロトコルにも適用できることは、当業者が認知するはずである。
【００１３】
好適な実施形態において、ホーム・サーバ１０４はＳＣＴＰコマンドを用いて、クライアント１０６を、ホーム・サーバ１０４ならびにリモート・サーバ１１０および１１２から集約されたデータ・ストリームを受信するように構成する。ＳＣＴＰにより、接続されたエンド・ポイント間でのいくつかのデータ・ストリーム（これらは、メッセージと呼ばれる単位で構成される）の完全な同時送信が保障される。ＳＣＴＰによって提供される前記マルチストリーミング関数により、データを、独立して配信される特性を持つ多数のストリームに分割することができ、それによって、前記ストリームのいずれかでメッセージが紛失しても、前記ストリーム内の配信に影響が出るだけで、他のストリームには影響が出ないようにすることができる。ＳＣＴＰはまた、マルチホーミングもサポートしているが、それは、接続されたエンド・ポイントが、ネットワーク障害の変化する条件を迂回するために、前記エンド・ポイントに接続された代替ＩＰアドレスを持つことができることを意味する。好適な実施形態に従って、クライアント１０６は、始動コマンド（ＩＮＩＴ）をホーム・サーバ１０４へ発することにより、接続リンク１１４を介してホーム・サーバ１０４とのＳＣＴＰ連想を開始する。所定の関係、指定されたアプリケーション、または前記ホーム・サーバ１０４に通信される特定の選択肢により、前記ホーム・サーバ１０４は、前記関連付けにはネットワーク上の１つまたは複数のリモート・サーバから集約されたデータのリアルタイム・データ・ストリームが必要であることを認識する。
【００１４】
ＳＣＴＰ連想の開始を求めるＩＮＩＴメッセージの受信に応えて、ホーム・サーバ１０４は、前記ＩＮＩＴコマンドにおいて指定されている前記ソース・アドレスで、応答開始受信（ＩＮＩＴ ＡＣＫ）メッセージをクライアント１０６に送信する。前記クライアント・アプリケーションが、リモート・サーバから集約されたデータを消費しようとしている場合、ホーム・サーバ１０４は、ＩＮＩＴ ＡＣＫメッセージを、ＳＣＴＰマルチホーム型機構に従って、多数の有効ソースＩＰアドレスを指定するリンク１１４を介して、クライアント１０６に送信するが、この場合、クライアントに送信された少なくとも１つまたは複数の前記ソースＩＰアドレスが、各リモート・サーバ１１０、１１２ならびに前記ホーム・サーバ１０４に関連付けられる。クライアント１０６は、リアルタイム・データ・ストリームを受信するために、マルチホーム型アドレス・リストにこれらのＩＰアドレスを保存する。
【００１５】
ホーム・サーバ１０４は、リモート・サーバ１１０、１１２と、ＵＤＰパケットを用いるリンク１１６および１１８を介して通信し、リモート・サーバ１１０および１１２に、前記指定されたＩＰアドレス上で求められたリアルタイム・データをクライアント１０６に直接配信するよう指令する。リモート・サーバ１１０、１１２に送信された第１の組のＵＤＰパケットは、好適な実施形態に従って、前記リモート・サーバのオペレーティング・システムによって解釈され実行されるストリーム集約（ＳＡ）コマンドを含むペイロードを有する。図２はＳＡコマンドのフォーマットを示す。ＳＡコマンド２０２は、前記ＵＤＰペイロードを、ＳＡコマンドとして指定するコマンド・タイプ２０４と、例えばＩＰｖ４またはＩＰｖ６を指定するクライアント・アドレス・タイプ２０６と、前記ストリーミング・データを受信する前記クライアント１０６の前記ＩＰアドレスを指定するクライアント・アドレス２０８と、前記クライアント１０６との関連付けのために、前記リモート・サーバの指定されたストリームＩＤを指定するストリームＩＤ２１０とクライアント１０６上の消費アプリケーションによって要求されているアプリケーション・データを指定するデータ・タイプ２１２とを含む。前記ＳＡコマンドは、リモート・サーバに前記マルチホーム型の関連付けを通知し、前記リモート・サーバに、前記要求されたリアルタイム・データを前記クライアントに直接送信するよう指令する。その後、前記ＳＡコマンドに応えて、各リモート・サーバ１１０、１１２は、前記クライアント１０６とのＳＣＴＰ連想のためにローカル・エンド・ポイントを作成するが、その際、ＳＣＴＰ連想を生成するための標準始動手順は不要である（すなわち、ＩＮＩＴメッセージおよびＩＮＩＴ  ＡＣＫメッセージは送信されない）。
【００１６】
その後、ホーム・サーバ１０４は、第２の組のＵＤＰパケットを、好適な実施形態に従って、ＴＳＮ範囲（ＴＳＮＲ）コマンドを含むペイロードを有する各リモート・サーバ１１０、１１２に送信する。図３は、前記ＴＳＮＲコマンドのフォーマットを示す。ＴＳＮＲコマンド２２０は、前記ＵＤＰペイロードをＴＳＮＲコマンドとして指定するコマンド・タイプ２２２と、前記クライアント１０６との関連付けのためにストリームＩＤを指定した前記リモート・サーバを指定するストリームＩＤ２２４と、前記メッセージ・シーケンスに関する前記ＴＳＮ始動番号を指定するＴＳＮスタート２２６と、前記リモート・サーバによる送信の許容範囲内で、前記最終送信シーケンス番号を指定するＴＳＮエンド２２８とを含む。前記ＴＳＮＲコマンドは、前記リモート・サーバが用いるべき前記送信シーケンス番号（ＴＳＮ）範囲の番号で、前記受信側のリモート・サーバに、前記ストリーミング・データを前記クライアント１０６に送信するよう指示する。上記から分かるように、前記ＳＡコマンドと前記ＴＳＮＲコマンドは、別の実施形態では、組み合わせて単一コマンドやＵＤＰペイロードにすることもできる。
【００１７】
その後、ホーム・サーバ１０４は、クライアント１０６上の集約アプリケーション用のデータを、一次ＩＰアドレスに関連付けられたリンク１１４を介して送信する。リモート・サーバ１１２は、同一の集約アプリケーション用のリアルタイム・データを、クライアント１０６のマルチホーム・アドレス・リスト内で指定された第２のＩＰアドレス上のリンク１２０を介して、配信する。そして、リモート・サーバ１１０は、同一の集約アプリケーション用のリアルタイム・データを、クライアント１０６のマルチホーム・アドレス・リスト内で指定された第２のＩＰアドレス上のリンク１２２を介して、配信する。
【００１８】
ＳＣＴＰにおけるデータ交換の後、ＴＣＰの選択的ＡＣＫ手順（ＳＡＣＫ）が続き、これによって、データメッセージの受信が、ＳＡＣＫメッセージを送信することによって確認されるが、前記ＳＡＣＫメッセージは、受信したＴＳＮシーケンスのギャップを表示して、受信した累積ＴＳＮ範囲だけでなく、任意の非累積ＴＳＮをも示す。リンク１２０および１２２を介して配信された前記ＳＣＴＰメッセージは、識別されたＩＰアドレス上でストリームＩＤ／ストリーム・シーケンス番号ペアが識別するデータ・ストリームに、前記クライアント１０６と前記ホーム・サーバ１０４の間の、現行の関連付けを提供する。その結果、データの全リモート・ソースがリアルタイム・データを直接前記クライアントに送信できるようになるが、一方前記クライアントは、前記データがホーム・サーバ１０４において単一のソースを有するものと思って動作する。クライアント１０６は、前記データ・リンク１１４、１２０、および１２２の各々から各データ・メッセージ（データ）を受信すると、前記受信されたデータ・メッセージに含まれるソース・アドレスに、選択的受信通知（ＳＡＣＫ）により返信する。
【００１９】
ホーム・サーバ１０４は、そのメモリ内にテーブルを保持し、前記クライアント１０６との関連付けに際し、リアルタイム・データ・ストリームを送信する前記リモート・サーバの各々に関して、前記割り当てられたＴＳＮの範囲を追跡していく。例えば、図４は、ホーム・サーバ１０４のメモリ内に保存されたＴＳＮテーブル３００を示す。ＴＳＮテーブル３００は、（図１に示すような）前記ホーム・サーバ、リモート・サーバ１、およびリモート・サーバ２の各々に関して、前記ストリームＩＤおよび前記割り当てられたＴＳＮ範囲を識別する入口を有す。図４に示す例において、ホーム・サーバ１０４は、前記ＴＳＮテーブル内において、１００００〜１２９９９の範囲を自身のために予約されたものとして、割り当てている。前記テーブルは、リモート・サーバ１のＴＳＮ範囲を１３０００から１５９９９まで、またリモート・サーバ２のＴＳＮ範囲を１６０００から１９９９９まで、さらに識別する。これらの範囲はそれぞれ、前記リモートサーバの各々について、ＴＳＮＲコマンド２２０を経てリモートサーバ１１０、１１２に通信される。
【００２０】
前記クライアントは、前記ＳＣＴＰヘッダで指定された前記サーバの前記ソース・アドレスに、ＳＡＣＫで応答するので、前記送信リモート・サーバは、前記ＳＡＣＫを受信して、前記受信通知をリンク１１６および１１８を介してホーム・サーバ１０４に転送し、これによって、前記ホーム・サーバ１０４は、前記割り当てられたＴＳＮの範囲を示すために、そのメモリ内のＴＳＮテーブル３００を更新することができる。特定のリモート・サーバによって用いられる前記累積ＴＳＮが、前記ホーム・サーバのＴＳＮテーブルに示されているように、前記サーバが割り当てたＴＳＮ範囲を超えた場合、ホーム・サーバ１０４は、次に利用可能な一連の送信シーケンス番号に基づいて、前記リモート・サーバの新規ＴＳＮ番号範囲を割り当てる。前記所定のリモート・サーバの新規送信シーケンス番号範囲でＴＳＮテーブル３００を更新した後、ホーム・サーバ１０４は、ＴＳＮＲコマンド２２０を、そのリモート・サーバの新規ＴＳＮ範囲を指定する前記リモート・サーバに発する。
【００２１】
好適な実施形態の一例において、クライアント（１０６）のグラフィック・ユーザ・インターフェース上に示された累積画面には、前記ビデオ・サーバ（１０４）から送られるマルチホーム型アドレス・リスト内の、前記クライアント（１０６）に通知された前記ＩＰアドレス経由で株式サーバ（１１０）から送られる株式ティッカーおよび、ニュース・サーバ（１１２）上のニュース・エージェンシーから送られるニュース補足記事などが含まれる。前記クライアントは、前記ビデオ・サーバ（１０４）との関連付けに際して指定された、前記マルチホーム型ＩＰアドレス上の前記株式取引サーバおよび、前記ニュース・エージェンシー・サーバからの前記データを受け取るが、その際、前記データが、前記ビデオ・サーバとは異なるソースから来ているものであることは分からない。前記ビデオ・サーバ、前記株式サーバおよび前記ニュース・サーバからの前記リアルタイム・データ・フィードは、前記クライアント（１０６）上で、高速で集約される。なぜならば、前記フィードは、前記ビデオサーバを経由せず直接、前記クライアントに来信しているからである。当然のことながら、前記クライアントは標準ＳＣＴＰを用いて動作しているため、前記クライアント・システムは本発明を用いるために、いかなる方法によっても修正する必要が無い。前記ホーム・サーバおよび前記リモート・サーバの前記オペレーティング・システムは、ＳＣＴＰコマンドおよび特殊コマンドを用い、ネットワーク・クライアントに流入するリアルタイム・データの集約のために、高速の好適実施形態を実行する。
【００２２】
図５は、本発明の好適な実施形態において用いられるサーバ／クライアント・システムの典型的なソフトウェア・アーキテクチャを示す。サーバ１０４およびクライアント１０６はそれぞれ、ソフトウェア・アーキテクチャ４００で構築される。最低レベルでも、オペレーティング・システム４０５は、前記ユーザおよび他のソフトウェアに高レベルの機能性を提供するために、使用される。このようなオペレーティング・システムには一般的には、ＢＩＯＳ（基本入出力システム）が含まれる。通信ソフトウェア４１０は、オペレーティング・システムの機能性を直接起動するかまたは、オペレーティング・システムを迂回して間接的にネットワークによる通信のためのハードウェアにアクセスすることによって、外部ポート経由の通信を、物理的通信リンクを介したインターネットのようなネットワークに提供する。アプリケーション・プログラミング・インターフェース４１５により、前記システム・ユーザは、それが個人であれソフトウェア・ルーチンであれ、前記特定の機能性がどのように実践されるかについて気遣うことなく、標準的な一貫性のあるインターフェースを用いて、システムの能力を起動させることができるようになる。前記インターネット・ソフトウェア４２０は、コンピュータにインターネットの機能性を備えさせるために利用できる、標準的コマーシャル・パッケージのいずれかに相当する。前記アプリケーション・ソフトウェア４２５は、通信ポートを通じてデータに反応して、ユーザが追求する望ましい機能性を提供するように設計された多数のソフトウェア・アプリケーションを示している。このレベルのアプリケーションには、インターネット・ユーザがアクセスできるデータ、ビデオ、グラフィックス、写真または文字を処理するために必要なアプリケーションが含まれる。
【００２３】
図６に示すように、ＳＣＴＰ／ＩＰプロトコルおよび類似のプロトコルは、アプリケーション層４１１、トランスポート層４１２、ネットワーク層４１４およびリンク層４１６を有するネットワークのための４層通信アーキテクチャ４０１により用いられる。各層は、以下のような多様な通信業務の処理を担当する。前記リンク層４１６（データ・リンク層またはネットワーク・インターフェース層とも呼ばれる）は通常、前記オペレーティング・システムの前記デバイス・ドライバおよび前記コンピュータの前記対応するネットワーク・インターフェース・カードを含む。これらは共に、使用されている前記ネットワーク媒体、例えば、イーサネット・ケーブル等と物理的にインターフェースする全ての前記ハードウェアの細部まで処理する。前記ネットワーク層４１４（インターネット層とも呼ばれる）は、前記ネットワーク周辺のパケット・データの移動を処理する。例えば、前記ネットワーク層は、前記ネットワークで転送される多様なデータ・パケットのルーティングを処理する。前記ＳＣＴＰ／ＩＰ群の前記ネットワーク層は、ＩＰ（インターネット・プロトコル）、ＩＣＭＰ（インターネット制御メッセージ・プロトコル）、およびＩＧＭＰ（インターネット・グループ管理プロトコル））を含む、いくつかのプロトコルで構成される。前記トランスポート層４１２は、前記ネットワーク層４１４と、２つのホスト・コンピュータ間でデータ転送を容易にする前記アプリケーション層４１１の間に、インターフェースを提供する。前記トランスポート層は、前記アプリケーションから前記トランスポート層に送られてきたデータを、下記のように前記ネットワークに適したサイズの塊に分割したり、受信されたパケットを認識したり、送信される他端の認識パケットを確認するためにタイムアウトを設定したりするようなものなどに関わる。前記アプリケーション層４１０は、前記特定のアプリケーションの詳細まで処理する。アプリケーションがＳＣＴＰ／ＩＰを用いてデータを送信する場合、前記データは、前記ネットワークを介してビット・ストリームとして送信されるまで、各層を通じてプロトコル・スタックを下降する。
【００２４】
ここで図７を参照すると、前記発明の好適な実施形態に従って、クライアントのための動的リアルタイム・ストリーム集約のプロセス・フロー図が示されている。クライアントが、前記ホーム・サーバが該ホーム・サーバから隔たった多数のソースからリアルタイム・データを送信するために、ＳＣＴＰ連想を設定することを求める前記ホーム・サーバに、ＩＮＩＴメッセージを送信する場合、プロセス５００がステップ５０２で始動する。ステップ５０４において、前記ホーム・サーバは、前記ＩＮＩＴメッセージに対して、マルチホーム型ＳＣＴＰ連想のために多数のホームＩＰアドレスを指定するＩＮＩＴ ＡＣＫで応答するが、その場合、前記ＩＰアドレスには、前記リモート・サーバのＩＰアドレスが含まれる。ステップ５０６において、前記ホーム・サーバは、前記クライアントとのマルチストリーミングされた関連付けが、前記リモート・サーバにおいて具体化されることを求める前記リモート・サーバに、ストリーム集約（ＳＡＮ）コマンドを送信する。その後、ステップ５０８において、前記ホーム・サーバは、データ・メッセージの前記クライアントへの送信に関する各サーバのＴＳＮ範囲を指定する前記リモート・サーバの各々に、送信シーケンス番号範囲（ＴＳＮＲ）コマンドを送信する。
【００２５】
ステップ５１０において、前記ホーム・サーバおよびリモート・サーバは、前記ホーム・サーバのＴＳＮテーブル内の各々において指定され、割り当てられ、かつ、前記ＳＡコマンドおよびＴＳＮＲコマンド内の前記リモート・サーバの各々に報告されたストリームＩＤおよびＴＳＮシーケンスを用いて、リアルタイム・データ・ストリームをクライアントへ同時に送信し始める。前記クライアントは、前記ホーム・サーバによって提供されるマルチホーム型アドレス・テーブルにおいて指定された、ＩＰアドレス上のデータ・ストリームの各々を受信する。それで、各ストリームは、前記クライアント上でアプリケーションの稼動時に消費されるデータ・ストリームの一部として、前記ホーム・サーバから命令されるとされている。ステップ５１２において、前記クライアントは、前記リモート・サーバおよび前記ホーム・サーバの各々から、データ・ストリーム内で送信されたデータ・メッセージの受信に応答して、前記リモート・サーバおよび前記ホーム・サーバの各々に、ＳＡＣＫを送信する。決定ブロック５１４において、受信されたＳＡＣＫがリモート・サーバの割り当てたＴＳＮ範囲の末端にＴＳＮを有する受信メッセージを特定したか否かが、決定される。特定されない場合、プロセスはステップ５１０に戻るが、ここで、前記ホーム・サーバおよびリモート・サーバは、リアルタイム・データ・ストリームを割り当てられたＴＳＮ範囲内で、クライアントに送信し続ける。ステップ５１４において、前記リモート・サーバがその割り当てられたＴＳＮ範囲の末端に到達したと判定された場合、前記プロセスはステップ５１６へ進むが、そのステップで前記ホーム・サーバは、リアルタイム・データ・ストリームの継続送信のために、新規ＴＳＮ範囲をリモート・サーバに割り当てる前記リモート・サーバに、ＴＳＮＲコマンドを送信する。前記プロセスはそれから、ステップ５１０に戻るが、ここで、前記リモート・サーバは、前記リアルタイム・データ・ストリームを前記クライアントへに送信し続ける。
【００２６】
前記発明について好適な実施形態を参照しながら具体的に図示および説明してきたが、当業者であれば、前記発明の精神および範囲から逸脱することなく形式および詳細面の多様な変更が、そこでなされていることが理解されるであろう。例えば、本発明は、コンピュータ・プログラムのソフトウェア、ファームウェアまたはハードウェアの任意の組み合わせを用いて、実施することができる。前記発明を実施するかまたは、前記発明による装置を構成するための予備ステップとして、前記発明による前記コンピュータ・プログラム・コードが（それがソフトウェアかファームウェアかには関わらず）一般的には、固定（ハード）ドライブ、ディスケット、光ディスク、磁気テープ、ＲＯＭやＰＲＯＭ等の半導体メモリのような、１つまたは複数の機械読取り可能な記憶媒体に保存され、それによって前記発明に従ってある装置が製作される。前記コンピュータ・プログラム・コードを含む装置は、記憶装置から前記コードを直接実行するか、前記記憶装置から前記コードをハード・ディスク、ＲＡＭのような別の記憶装置にコピーするか、または前記コードを遠隔実施のために送信することによって、利用される。前記発明の前記方法形態は、本発明による前記コードを含む１つまたは複数の機械読取り可能な記憶装置を、そこに含まれている前記コードを実施するための適切な標準的コンピュータ・ハードウェアと組み合わせることによって、実施できる。前記発明を実施するための装置は、前記発明によって符号化された前記コンピュータ・プログラムへのネットワーク・アクセスを含むか又は有する、１つまたは複数のコンピュータおよび記憶システムとなり得る。
【００２７】
この発明については、本発明の目的を達成するための最良の形態に関して説明したが、当業者が本発明の精神または範囲から逸脱することなくこれらの教示内容を考慮すれば、改変することが可能なことは理解するであろう。
【図面の簡単な説明】
【００２８】
【図１】図１は、本発明の好適な実施形態が実施されるデータ処理システムのネットワークを示す。
【図２】図２は、本発明の好適な実施形態によるストリーム集約（ＳＡ）コマンドのフォーマットを示す。
【図３】図３は、本発明の好適な実施形態による送信シーケンス番号範囲（ＴＳＮＲ）コマンドのフォーマットを示す。
【図４】図４は、本発明の好適な実施形態によるホーム・サーバのメモリ内に保存される送信シーケンス番号（ＴＳＮ）テーブルを示す。
【図５】図５は、本発明の好適な実施形態において用いられるような、サーバ／クライアント・システムのための典型的ソフトウェア・アーキテクチャを示す。
【図６】図６は、本発明の好適な実施形態において用いられるような、ネットワークのための４層通信アーキテクチャを示す。
【図７】図７は、本発明の好適な実施形態による、クライアントのための動的リアルタイム・ストリーム集約のための処理のフロー図を示す。
【図８】図８は、多数のソースから集約された映像データを、クライアントに提供する従来技術におけるネットワーク・システムのブロック図を示す。
【図１】
2007509552.tif 000003
【図２】
2007509552.tif 000004
【図３】
2007509552.tif 000005
【図４】
2007509552.tif 000006
【図５】
2007509552.tif 000007
【図６】
2007509552.tif 000008
【図７】
2007509552.tif 000009
【図８】
2007509552.tif 000010
【国際調査報告】
2007509552.tif 000011
2007509552.tif 000012
2007509552.tif 000013