(57)【特許請求の範囲】
【請求項１】
サーバコンピュータとクライアントコンピュータとの間でネットワークノードによってルート設定されるデータを通信ネットワーク上でサーバコンピュータからクライアントコンピュータへ送る方法であって；
ネットワークノードがサーバコンピュータからデータを受取る入力をもち、該入力は第１および第２のバッファ要素へ接続されており、前記バッファ要素は所定のバンド幅の出力チャンネルに接続され、第１のバッファ要素は出力バンド幅の一部分に優先的に割り当てられ、第２のバッファ要素は出力バンド幅の残りの部分に割り当てられ、第１のバッファ要素において受け取られたパケットは第２のバッファ要素において受け取られたパケットに優先して送られ：
（ｉ）ネットワークノードの第1のバッファ要素を使用してサーバコンピュータからクライアントコンピュータへデータを送る段階と；
（ii）サーバコンピュータが第１の制御信号をクライアントコンピュータから受け取ると、ネットワークノードの第２のバッファ要素を使用してサーバコンピュータからクライアントコンピュータへデータを送る段階とを含み、
第１の制御信号が、第１の閾値に到達したクライアントコンピュータのデータキャッシュに記憶されたデータレベルに応答してクライアントコンピュータによって生成される、方法。
【請求項２】
（iii）サーバコンピュータがクライアントコンピュータから第２の制御信号を受け取ると、ネットワークノードの第１のバッファ要素を使用したサーバコンピュータからクライアントコンピュータへのデータ伝送に戻す別の段階を含む請求項１記載のサーバコンピュータからクライアントコンピュータへデータを送る方法。
【請求項３】
第２の制御信号が、第１の閾値よりも低い第２の閾値に到達したクライアントコンピュータのデータキャッシュ内に記憶されたデータレベルに応答してクライアントコンピュータによって生成される、請求項２記載のサーバコンピュータからクライアントコンピュータへデータを送る方法。
【請求項４】
サーバコンピュータとクライアントコンピュータとの間の通信ルートが２以上のネットワークノードを含み；
制御信号に応答する第１または第２のバッファ要素の選択は、サーバコンピュータとクライアントコンピュータとの間の通信ルートを構成しているネットワークノードの１つ以上の中で行われる請求項１ないし３の何れか１項記載のサーバコンピュータからクライアントコンピュータへデータを送る方法。
【請求項５】
サーバコンピュータからのデータをクライアントコンピュータにおいて受取る方法であって、データはネットワークノードによって通信ネットワーク上でルート設定され；
ネットワークノードはサーバコンピュータからデータを受取る入力をもち、入力は第１および第２のバッファ要素に接続され、前記バッファ要素は所定のバンド幅の出力チャンネルに接続され、第１のバッファ要素は出力バンド幅の一部分に優先的に割り当てられ、第２のバッファ要素は出力バンド幅の残りの部分に割り当てられて、第１のバッファ要素において受取られたパケットは第２のバッファ要素において受取られたパケットに優先して送られ：
（ｉ）クライアントコンピュータが、サーバコンピュータからネットワークノードの第1のバッファ要素を介してデータを受け取る段階と；
（ii）クライアントコンピュータが、第１の制御信号をクライアントコンピュータからサーバコンピュータへ伝送することに応答して、サーバコンピュータからネットワークノードの第２のバッファ要素を介してデータを受け取る段階とを含み、
第１の制御信号が、第１の閾値に到達したクライアントコンピュータのデータキャッシュに記憶されたデータレベルに応答してクライアントコンピュータによって生成される、方法。
【請求項６】
前記方法が、
（iii）クライアントコンピュータが、第２の制御信号をクライアントコンピュータからサーバコンピュータへ伝送することに応答して、サーバコンピュータからネットワーク要素の第１のバッファ要素を介してデータを受け取る追加の段階を含む請求項５記載のサーバコンピュータからのデータをクライアントコンピュータにおいて受取る方法。
【請求項７】
第２の制御信号が、第１の閾値よりも低い第２の閾値に到達したクライアントコンピュータのデータキャッシュ内に記憶されたデータレベルに応答してクライアントコンピュータによって生成される、請求項６記載のサーバコンピュータからのデータをクライアントコンピュータにおいて受取る方法。
【請求項８】
サーバコンピュータとクライアントコンピュータとの間の通信ルートが２以上のネットワークノードを含み；
制御信号に応答する第１または第２のバッファ要素の選択は、サーバコンピュータとクライアントコンピュータとの間の通信ルートを構成しているネットワークノードの１つ以上の中で行われる、請求項５ないし７の何れか１項記載のサーバコンピュータからのデータをクライアントコンピュータにおいて受取る方法。
【請求項９】
ネットワークノードによってルート設定されるデータを通信ネットワーク上でクライアントコンピュータへ送るサーバコンピュータであって、データは複数のデータパケットとしてサーバコンピュータから送られ；
サーバコンピュータは使用の際に、第１の識別子を含むデータパケットを送って、ネットワークノードにおいてデータパケットをクライアントコンピュータへ優先的に転送することができ；
サーバコンピュータはクライアントコンピュータからの第１の制御信号に応答して、第２の識別子を含むデータパケットを送って、ネットワークノードにおいてデータパケットをクライアントコンピュータへ優先的に転送することができず、
第１の制御信号が、第１の閾値に到達したクライアントコンピュータのデータキャッシュに記憶されたデータレベルに応答してクライアントコンピュータによって生成される、サーバコンピュータ。
【請求項１０】
サーバコンピュータが更に、クライアントコンピュータからの第２の制御信号に応答して、第１の識別子を含むデータパケットを送って、ネットワークノードにおいてデータパケットをクライアントコンピュータへ優先的に転送することが再びできる請求項９記載のクライアントコンピュータへデータを送るサーバコンピュータ。
【発明の詳細な説明】
【０００１】
発明の属する技術分野
本発明は、サーバコンピュータからクライアントコンピュータへデータを通信する方法に関する。
【０００２】
従来の技術
通信ネットワークおよびシステムのオペレータによって与えられるサービス品質（ＱｏＳ）は、とくに確実で高速の情報供給が要求される部門、例えば金融、株取引、などにおいて非常に重要である。例えばオーディオおよびビデオのストリーミング、テレビジョンのマルチキャスティングおよびブロードキャスティング、などにおけるマルチメディア通信の使用増加は、要求される高いバンド幅および実時間性のデータにこれらのサービスを許容可能なＱｏＳで全てのユーザへ供給することに関係する問題を増加することになる。ネットワークキャパシティの増加、すなわち伝送リンクのキャパシティの増加をスイッチおよびルータのスループットの増加とによって所望のＱｏＳの目標を満足することができるが、これには相当な資本の支出が必要であり、この投資のために供給されるサービスコストが法外に高くなる。このような幅広い性質のネットワーク投資を行うことを必要とせずに、所定のＱｏＳをもつサービスを供給できるときに相当な長所があることが明白である。
【０００３】
発明が解決しようとする課題
本発明の第１の態様にしたがって、通信ネットワーク上でサーバコンピュータからクライアントコンピュータへデータを送る方法であって：第１のサービス品質レベルをもつ通信リンク上でサーバコンピュータからクライアントコンピュータへデータを送る段階と；サーバコンピュータがクライアントコンピュータから第１の制御信号を受取る際に第２のサービス品質レベルをもつ通信リンクを選択する段階と；第２のサービス品質レベルをもつ前記通信リンクを使用してサーバコンピュータからクライアントコンピュータへデータを送る段階とを含む方法を提供する。選択的に、この方法は、サーバコンピュータが第２の制御信号をクライアントコンピュータから受取る際に第1のサービス品質レベルをもつ通信リンクを使用して、サーバコンピュータからクライアントコンピュータへのデータ伝送を元に戻す、すなわち復帰する追加の段階を含んでもよい。
【０００４】
保証されたＱｏＳレベルを提供するのに要求されるネットワーク資源レベルの１つの重要な例は、コネクションベースのネットワークおよびコネクションレスのネットワークによって証明される。コネクションベースのネットワークの例は公衆交換電話ネットワーク（ＰＳＴＮ）であり、接続は要求される電話番号をダイヤルすることによって設定される。コネクションレスのネットワークの例にはインターネットがあり、データパケットはネットワークによって送信先へルート設定され、ユーザは個々のパケットがとるルートを制御しない。接続設定における欠点は、接続を維持し、情報の配信を保証するのに支払わなければならない値段が高いことであり、一方でコネクションレスのパケット流伝送における欠点は、装置の故障またはネットワークの輻輳の何れかによる中間のネットワーク要素の変更により失敗することがあることである。パケット流の混乱、例えばテキストファイルがサーバコンピュータからダウンロードされるときの問題はより小さい。しかしながら、ビデオまたはオーディオのような実時間のデータが送られるとき、パケット流の混乱、崩壊、すなわちパケットが順不同でまたはデータ再生に要求されるレートよりも遅いレートで到達すること対する影響は重大である。したがって、とくにコンピュータ通信に関して、接続を設定することによるコストを追加せずに、コネクションベースの伝送方法によって与えられるサービス品質を達成することが望ましい。
【０００５】
本発明の第２の態様にしたがって、サーバコンピュータとクライアントコンピュータとの間でネットワークによってルート設定されるでーたを通信ネットワーク上でサーバコンピュータからクライアントコンピュータへ送る方法であって；ネットワークノードがサーバコンピュータからデータを受取る入力をもち、該入力は第１および第２のバッファ要素へ接続され、前記バッファ要素は所定のバンド幅をもつ出力チャンネルに接続され、第１のバッファ要素は出力バンド幅の一部分に優先的に割り当てられ、第２のバッファ要素は出力バンド幅の残りの部分に割り当てられ、第１のバッファ要素において受け取られたパケットは第２のバッファ要素において受け取られたパケットに優先して送られ：
（ｉ）ネットワークノードの第1のバッファ要素を使用してサーバコンピュータからクライアントコンピュータへデータを送る段階と；
（ii）サーバコンピュータが第１の制御信号をクライアントコンピュータから受け取る際に、ネットワークノードの第２のバッファ要素を使用してサーバコンピュータからクライアントコンピュータへデータを送る段階とを含む方法を提供する。さらに加えてこの段階は、
（iii）サーバコンピュータがクライアントコンピュータから第２の制御信号を受け取る際にネットワークノードの第１のバッファ要素を使用してサーバコンピュータからクライアントコンピュータへのデータ伝送を反転する別の段階を含んでもよい。第１の制御信号は、第１の上方閾値を達成するクライアントコンピュータデータキャッシュに記憶されたデータレベルに応答してクライアントコンピュータによって生成することができる。第２の制御信号は、第１の閾値よりも低い第２の閾値に到達するクライアントコンピュータのデータキャッシュ内に記憶されるデータレベルに応答してクライアントコンピュータによって生成することができる。
【０００６】
さらに加えて、サーバコンピュータとクライアントコンピュータとの間の通信ルートは２以上のネットワークノードを含んでもよく、制御信号に応答する第１または第２のバッファ要素の選択は、サーバコンピュータとクライアントコンピュータとの間の通信ルートを含むネットワークノードの１つ以上の中で行われる。
【０００７】
データキャリアは、上述の方法の実行するためにコンピュータへロードするためのコンピュータの実行可能なコードを含んでもよい。
【０００８】
本発明の第３の態様にしたがって、サーバコンピュータからのデータをクライアントコンピュータにおいて受取る方法であって、データはネットワークによって通信ネットワーク上でルート設定され、ネットワークノードはサーバコンピュータからデータを受取る入力をもち、入力は第１および第２のバッファ要素に接続され、前記バッファ要素は所定のバンド幅の出力チャンネルに接続され、第１のバッファ要素は出力バンド幅の一部分に優先的に割り当てられ、第２のバッファ要素は出力バンド幅の残りの部分に割り当てられて、第１のバッファ要素において受取られたパケットは第２のバッファ要素において受取られたパケットへ優先的に送られ：
（ｉ）クライアントコンピュータが、サーバコンピュータからネットワークノードの第1のバッファ要素を介してデータを受け取る段階と；
（ii）クライアントコンピュータが、第１の制御信号をクライアントコンピュータからサーバコンピュータへ伝送することに応答して、サーバコンピュータからネットワークノードの第２のバッファ要素を介してデータを受け取る段階とを含む方法を提供する。さらに加えて、この方法は、
（iii）クライアントコンピュータが、第２の制御信号をクライアントコンピュータからサーバコンピュータへ伝送することに応答して、サーバコンピュータからネットワーク要素の第１のバッファ要素を介してデータを受け取る追加の段階を含んでもよい。
【０００９】
第１の制御信号は、第１の上方制限値に到達した第１のクライアントコンピュータのデータキャッシュ内に記憶されたデータレベルに応答してクライアントコンピュータによって生成される。第２の制御信号は、第１の閾値よりも低い第２の閾値に到達したクライアントコンピュータのデータキャッシュ内に記憶されたデータレベルに応答してクライアントコンピュータによって生成することができる。さらに加えて、サーバコンピュータとクライアントコンピュータとの間の通信ルートは２以上のネットワークノードを含んでもよく、制御信号に応答する第１または第２のバッファ要素の選択は、サーバコンピュータとクライアントコンピュータとの間の通信ルートを構成しているネットワークノードの２以上内で行われる。データキャリアは、上述の方法を行うためにコンピュータへロードするためのコンピュータの実行可能なコードを含んでもよい。
【００１０】
本発明の第４の態様にしたがって、ネットワークノードによってルート設定されるデータを通信ネットワーク上でクライアントコンピュータへ送るサーバコンピュータであって、データは複数のデータパケットとしてサーバから送られ；サーバコンピュータは使用の際に、第１の識別子を含むデータパケットを送って、ネットワークノードにおいてデータパケットをクライアントコンピュータへ優先的に順方向へ送ることができ；サーバコンピュータはクライアントコンピュータからの第１の制御信号に応答して、第２の識別子を含むデータパケットを送って、ネットワークノードにおいてデータパケットをクライアントコンピュータへ優先的に順方向へ送ることができないようにするサーバコンピュータを提供する。さらに加えて、サーバコンピュータは、クライアントコンピュータからの第２の制御信号に応答して、第１の識別子を含むデータパケットを送って、ネットワークノードにおいてデータパケットをクライアントコンピュータへ優先的に順方向へ送ることが再びできるようにする。
【００１１】
ここで添付の図面を参照して例示的に本発明の実施形態を記載することにする。
【００１２】
発明の実施の形態
図１は、本発明の通信方法を使用することができる通信ネットワークの模式図を示す。サーバコンピュータ10はコネクションレスの通信ネットワーク30を介してクライアントコンピュータ20へ接続され、通信コンピュータ30はサーバコンピュータ10とクライアントコンピュータ20との間の通信ルート内に少なくとも１つのネットワークノード40を含む。各ネットワークノードは２つのバッファ要素41および42を含み、到来パケットが各ネットワークノードに到達した際にはバッファ要素41および42に記憶される。各データパケットのヘッダ内のフラグは、何れのバッファ要素にパケットをスイッチするかを判断する。バッファ要素の一方41は高優先度バッファとして示され、一方で他方のバッファ要素42は低優先度バッファとして示される。高優先度バッファ41はネットワークノードの出力に優先的にアクセスするので、ネットワークノードによって使用されるバンド幅の大半は高優先度バッファに対して確保される。ネットワークノードの出力バンド幅の残りは低優先度バッファ42に対して確保されるが、高優先度バッファが全バンド幅割り当てを使用していないとき、低優先度バッファは、高優先度バッファがバンド幅割り当ての使用を再開することが必要になるまで、高優先度バッファに割り当てられるバンド幅を一時的に使用することができる。バッファ要素は既知の形態のバッファ、例えばランダムアクセスメモリ、遅延ライン、などであってもよく、ネットワークノードの構成に依存して電気または光のバッファ要素であってもよい。２つのバッファ要素41および42はバーチャル上で（仮想的には）または物理的に分れていてもよい。ネットワークノードは２以上の高優先度バッファ要素か、または２以上の低優先度バッファ要素か、あるいはこの両者であってもよい。
【００１３】
このようなネットワークノードの例は国際特許出願第GB98/02727号に記載されている。ネットワークノードはＩＰ（Internet Protocol, インターネットプロトコル）ルータ、ＡＴＭ（Asynchronous Transfer Mode, 非同期転送モード）ネットワーク上でＩＰデータをスイッチングするＡＴＭスイッチ、または類似のまたは同等の機能をもつデバイスであってもよい。
【００１４】
通信はクライアントコンピュータによって開始され、クライアントコンピュータはサーバコンピュータへデータを送って、実時間のオーディオまたはビデオファイルのようなデータ資源を伝送し、これはサーバコンピュータ上に記憶されるか、または遠隔操作であるがサーバコンピュータの制御のもとで記憶される。要求にはクライアントコンピュータに関する十分な情報を含み（例えば、クライアントコンピュータのネットワークアドレスを少なくとも含む）、サーバコンピュータはデータパケット流をクライアントコンピュータへ送ることができる。流れの中の各伝送されたデータパケットのヘッダ内のフラグは、サーバコンピュータとクライアントコンピュータとの間の通信路内の各ネットワークノードの高優先度バッファへパケット流をスイッチすることができる。したがってデータパケットはクライアントコンピュータへ少なくとも保証された最低配信レートで送られる。
【００１５】
保証された配信レートは、実時間のデータ資源の配信を要求するときに、クライアントコンピュータによって要求することができる。一般的に、保証される配信レートの上限は、サーバコンピュータ−クライアントコンピュータの通信路内の最も遅い通信リンク上で使用可能な伝送レートにしたがって判断されることになる。したがってクライアントコンピュータと通信ネットワークとの間のリンクであってもよく、モデムのダイヤルアップリンク、またはＬＡＮを通信ネットワークに接続する端末アダプタであってもよい。保証される配信レートに対する下限は、実時間のデータ資源に対して要求される再生レートにしたがって判断することができるが、クライアントコンピュータのユーザはデータの再生を開始する前に待機する準備をされ、十分なローカルキャッシュキャパシティをもち、サーバは、クライアントからの要求に応答して、再生レートよりも低いレートでクライアントへデータを送ることができる。各ネットワークノードの高優先度バッファ要素を使用してデータを配信するとき、実際の配信レートは保証される配信レートの最低値を相当に越えている。データがプロキシサーバ、または第２のサーバコンピュータ上に保持されているネットワークキャッシュへを介してクライアントへ配信されるとき、追加データをキャッシュするプロキシサーバを使用して、クライアントの配信レートよりも高いレートで、データ流をプロキシサーバへ配信することができる。
【００１６】
大抵の環境のもとでは、データパケット流は実時間のデータ資源を再生するのに必要なレートよりも相当に高いレートでクライアントコンピュータによって受取られる。クライアントコンピュータによって受取られる超過データはキャッシュ内に記憶されなければならず、したがって必要とされるときに再生用に使用できる。このキャッシュはローカルな、例えばＲＡＭまたはディスクドライブであるか、または各クライアントコンピュータから遠く隔っていて、クライアントコンピュータによって制御される（クライアントコンピュータは、例えばＬＡＮを介してクライアントコンピュータに接続されるサーバ上のネットワークキャッシュまたはディスク領域である。このような場合に、このような遠隔のキャッシュからのデータ転送レートは、実時間のデータ資源の再生レートよりも相当に高く、遠隔のキャッシュからクライアントコンピュータへのデータ転送は、通信リンクの動作制限段階にならない。ローカルキャッシュの大きさは、クライアントコンピュータの能力に非常に依存しているが、クライアントコンピュータによって受取られる超過データ量はローカルキャッシュのキャパシティよりも相当に大きい可能性がある。ローカルキャッシュのオーバーフロー、およびこれに続くデータ損失を防ぐために、（制御メッセージの伝送および処理に必要な時間を考慮して）ローカルキャッシュの合計キャパシティよりも少ない（一般的にはごく僅かに少ない）上方閾値レベルをローカルキャッシュが満たすときに制御メッセージをサーバコンピュータへ送ることが必要である。
【００１７】
制御メッセージは、サーバコンピュータによって受取られると、サーバコンピュータはインターネットワーキングプロトコルに命令して、データ流をスイッチするネットワークノードのバッファ要素を制御するフラグを変更して、サーバとクライアントとの間の通信路内の各ネットワークノード内の低優先度バッファ要素へデータパケットをスイッチさせる。これは、‘ベストエフォート’ベースで配信されるデータパケット流のクライアントへの保証された配信を停止する。さらに加えて、低優先度バッファを使用すると、パケットがサーバとクライアントとの間で失われるか、またはデータパケットがデータパケット流内のシーケンスから外れて到達する可能性があることを意味する。このようなことが起きると、サーバとクライアントとの間の通信を制御するのに使用されるプロトコルは、パケットの再伝送を要求し、シーケンスから外れて受取られたパケットを再び順序付けることによって、それらを修正できるであろう。
【００１８】
クライアントが、実時間のデータ資源の再生レートよりもはるかに高いレートで再生流を受取るとすると、ローカルキャッシュはより低いレートであっても、一杯であり続けることになる。これは、通信ネットワークが僅かにロードされていることを示すが、これはほとんど発生しない傾向がある。この情況が続くとき、ローカルキャッシュがオーバーフローして、データを失う可能性がある。この情況は、クライアントが制御信号をサーバへ送って、より低いレートでデータ流を送ることをサーバに要求することによって修正することができる。さらに加えて、高優先度バッファと低優先度バッファの両者に対する要求が低いとき、低優先度バッファが使用されるときにデータ配信レートが実際に増加する可能性がある。この情況が発生したときは、クライアントは制御信号をサーバへ送って、データ流をより低いレートで送ることをサーバに要求することができる。
【００１９】
パケット流が実時間のデータの資源の再生レートに整合してクライアントに配信されると、ローカルキャッシュメモリのレベルは一定値を維持し、データパケットの全てがクライアントによって受取られると、この時点で実時間のデータ資源の残りがローカルキャッシュから再生されるのにしたがって、ローカルキャッシュのメモリレベルは低減することになる。
【００２０】
パケット流が再生レートよりも低いレートでクライアントへ配信されると、ローカルキャッシュメモリのレベルは、再生レートとデータ配信レートとの間の差に等しいレートで低減することになる。ローカルキャッシュが比較的に大きく、ローカルキャッシュが空にされるレートが比較的に小さいとすると、ローカルキャッシュが空になって、データが損失されることなく全実時間のデータ資源を受取り、クライアントによって再生することができる。しかしながらローカルキャッシュが比較的に小さく、ローカルキャッシュが空にされるレートが比較的に大きいときは、ローカルキャッシュは空になるが、一方でデータパケット流は再生に必要なレートよりも低いレートで配信されて、実時間のデータ資源の再生を部分的にまたは完全に損失することになる。これを防ぐために、ローカルキャッシュのメモリレベルがより低い閾値レベルであるが、ローカルキャッシュが空になる点より少なくとも僅かに高いすると、クライアントは第２の制御メッセージをサーバへ送る。この第２の制御メッセージは、サーバコンピュータによって受取られるとき、サーバコンピュータに命令して、データパケットをスイッチするネットワークノードのバッファ要素を制御するフラグを変更し、サーバとクライアントとの間の通信路内の各ネットワークノード内の高優先度バッファ要素へデータパケットをスイッチさせる。これにより、クライアントへのデータパケット流の保証された配信を配信し、データパケット流がクライアントによって受取られるレートを増加し、クライアントが十分なデータを受取って、実時間のデータ資源を中断せずに再生し、一方でローカルキャッシュのメモリレベルも増加することができる。
【００２１】
このプロセスは要求に応じて反復的に繰り返され、ローカルキャッシュのメモリレベルが上方閾値に到達するときにデータ配信レートを低減し、ローカルキャッシュのメモリレベルが下方閾値に到達すると、全データ資源がクライアントへ配信され、クライアントによって再生されるまで、データ配信レートを増加する。
【００２２】
本発明において使用される通信ネットワークは、標準のインターネットワーキングプロトコルスーツ、すなわちＴＣＰ／ＩＰを使用するが、本発明はコネクションレスの通信ネットワークを使用して実行することができる。サーバコンピュータはワールドワイドウエッブ（World Wide Web, ＷＷＷ）サーバであってもよく、クライアントコンピュータは、ＷＷＷブラウザアプリケーションプログラム、例えばネットスケープナビゲータ（Netscape Navigator(商標)）、マイクロソフトインターネットエクスプローラ（Microsoft Internet Explorer(商標)）、またはパームパイロット（Palm Pilot(商標)）またはプション（Psion(商標)）シリーズオーガナイザのようなパーソナルディジタルアシスタント（Personal Digital Assistant (ＰＤＡ)）デバイスをパーソナルコンピュータ（personal computer, ＰＣ）またはネットワークコンピュータ（network computer, ＮＣ）であってもよい。さらに加えて、第３世代のモバイルシステム（例えばＵＭＴＳ[Universal Mobile Telephony System]）用および向上した機能をもつモバイル電話ハンドセット用の端末をクライアントコンピュータとして使用してもよい。
【００２３】
大型の通信ネットワークには、多数のサーバコンピュータおよび多数のクライアントコンピュータがあり、多くのデータ流がサーバとクライアントの種々の組合せの間で送られることが分かるであろう。特定のサーバと特定のクライアントとの間の通信路内のネットワークノードが保証されるデータ配信レートでのデータ流を伝送できることを確実にするために、いくつかの形態の参入許可制御（admission control）をネットワークノードへ加えることが必要である。最も簡単なレベルにおいてこの参入許可制御は、各ネットワークノードが一定数のみのデータ流が高優先度バッファへ入るのを許可し、高優先度バッファに割り当てられたバンド幅の全てが使用されると、別のデータ流が入るのを許可されないようにする。ネットワークノードはさらに、データ流の全てをサポートするバッファ容量が不十分なとき、データ流を拒絶することができる。また、低優先度バッファによって送られるデータ流は、関係するクライアントコンピュータのローカルキャッシュがほぼ空のときに高優先度バッファへスイッチされる必要があるとも考えられる。十分なネットワーク動作を保証するために、低優先度バッファから高優先度バッファへ入るのを許可されないデータ流が少ないことが必要である。
【００２４】
データ流が1つのバッファから別のバッファへスイッチされる頻度を低減できる上述の方法に対する別の変形では、クライアントコンピュータによって制限値を制御できる調整可能な再生レートを使用することによって達成することができる。高優先度バッファおよびローカルキャッシュのメモリレベルを使用してクライアントへ送られるデータが増加すると、上方閾値に到達し、クライアントコンピュータは、低優先度バッファを使用してデータを送る信号をサーバコンピュータへ送ることが多い。この発生を防ぎ、データ流がバッファ間でスイッチされる頻度を低減するために、クライアントコンピュータは、再生バッファが満たされる瞬間平均レートによって制御されるアルゴリズムに基いて再生レートを上げる。再生レートが過度に迅速に変更されず、一定の制限値に保持されると、再生品質は許容可能な制限値に維持することができる。同様に、ローカルキャッシュのメモリレベルが低減すると、再生レートは調整可能に低減して、より低い閾値に達する可能性を低減する。再生レートの制限値は伝送の振舞いまたはネットワークの輻輳に応答して、またはクライアントコンピュータのユーザによって判断することができる。マルチキャストグループ内の異なるユーザが異なる輻輳状態を経験する可能性があるので、この技術はマルチキャストのときにとくに有益であり、このような情況下でサーバを制御することは絶対に必要でない限り望ましくない。
【００２５】
このアプローチは、過渡的な輻輳効果に応答するための、クライアント内の動作以外の動作を一時的に遅延させる主要な方法である。この長所は、短い継続期間の輻輳効果はデータ流を送るのに使用されるバッファを変更する必要なく順応でき、この期間中に生成される制御信号数が低減することである。
【００２６】
実時間データをクライアントへ送るさらに別の方法では、クライアントがサーバに対して実時間のデータ資源の伝送を開始することを要求し、さらに追加命令として実時間のデータ資源の規定部分を選択されたバッファを使用して送ることを要求する。例えば、要求によって高優先度バッファを使用して規定数のバイトを送り、低優先度バッファを使用して実時間のデータ資源の残りを送り始めるようにサーバに命令することができる。クライアントはそれ自身の資源、動作速度、現在のネットワークの振舞い、などの知識を使用して、高優先度バッファを使用して送られるバイト数を判断する。したがってローカルキャッシュメモリのレベルが上方閾値に到達するとき、クライアントがサーバに制御メッセージを送る必要はなくなる。このアプローチは高優先度バッファへ戻るときに、ローカルキャッシュメモリのレベルを所定の下方閾値まで低減して、クライアントが実時間のデータ資源の一部分を高優先度バッファを使用して送ることを要求し、該部分の大きさを計算して、ローカルキャッシュメモリのレベルをほぼ上方閾値に回復することによって使用することができる。この方法の長所は、高優先度バッファを再び使用するとき、サーバが、ネットワークノードに対して高優先度バッファを使用して送るバイト数を特定できることであり、したがって高優先度バッファの使用を効率的に制御するより多様的な技術が可能になる。
【００２７】
図３は、本発明の別の実施形態にしたがう通信方法を使用することができる通信ネットワークの模式図を示す。サーバコンピュータ10は、通信ネットワーク130を介してクライアントコンピュータ20に接続されている。
【００２８】
通信ネットワーク130は、異なるサービス品質（ＱｏＳ）クラスをもつ通信リンクを使用して通信ネットワークに接続されたコンピュータ間でデータを送ることができ、したがって通信リンクのいくつかはＱｏＳの高いクラスを用意するが、別の組の通信リンクは低いクラスのＱｏＳを用意する。一般的に、通信リンクによってより高いＱｏＳレベルが用意され、通信リンクを与えるのにより大きい資源レベルが要求される。
【００２９】
通信ネットワークは、サーバコンピュータ10とクライアントコンピュータ20との間に少なくとも１つの高品質の通信リンク50を含む。高品質の通信リンク50は、サーバコンピュータとクライアントコンピュータとの間の伝送に保証されたサービス品質、すなわち高いＱｏＳクラスを与える。通信ネットワークは、さらにサーバコンピュータ10とクライアントコンピュータ20との間に少なくとも1つの低品質の通信リンク60を含む。低品質の通信リンクは、高品質の通信リンクよりも低いレベルのＱｏＳの保証されたサービス品質を用意するか、または“ベストエフォート”ベースで日付を送る、すなわち低いクラスのＱｏＳを用意することができる。
【００３０】
上述と同様の方法において、高品質の通信リンク50を使用してサーバコンピュータ10からクライアントコンピュータ20へデータを送り、次にクライアントコンピュータはサーバコンピュータからの実時間のデータの資源を受取ることを要求する。データ流が実時間のデータ資源の再生レートよりも高いレートでクライアントコンピュータへ配信されると、データの‘超過分’はクライアントコンピュータのローカルキャッシュに記憶されることになる。クライアントコンピュータのローカルキャッシュが溢れてしまうのを防ぐために、クライアントコンピュータはキャッシュキャパシティの上方閾値に到達したときに制御メッセージをサーバコンピュータへ送る。制御メッセージでは、サーバコンピュータが高品質の通信リンクから低品質の通信リンクへデータ伝送をスイッチするように促す。低品質の通信リンクのデータ配信レートが適切であるとき、クライアントコンピュータは実時間のデータ資源の全体を受信および再生することができる。しかしながら、低品質の通信リンクのデータ配信レートが実時間のデータ資源の再生レートよりも著しく低いとき、ローカルキャッシュキャパシティの下方閾値に到達することができる。このとき、ローカルキャッシュが空になり、実時間のデータ資源の再生が中断されるのを防ぐために、さらにクライアントコンピュータからサーバコンピュータへ別の制御メッセージを送る。この制御メッセージでは、低品質の通信リンクから高品質の通信リンクへデータ伝送をスイッチして、実時間のデータ資源の再生レートよりも高いレートでクライアントへデータを配信するように促す。高品質の通信リンクから低品質の通信リンクへのスイッチング（逆の場合も同様）はサーバコンピュータからクライアントコンピュータへ実時間のデータ資源を送るのに要求されるのと同じ頻度で反復することができる。
【００３１】
その代わりに、サーバコンピュータは低品質の通信リンクを使用してクライアントコンピュータへデータを送り、次に高品質の通信リンクにスイッチすることができる。
【００３２】
通信リンク130は、コネクションベースのネットワークであるＡＴＭ（Asynchronous Transfer Mode, 非同期転送モード）ネットワークであってもよく、この場合は高品質の通信リンクは相手先選択接続（Switched Virtual Circuit, ＳＶＣ）を使用して用意することができ、低品質の通信リンクはアベイラブルビットレート（Available Bit Rate, ＡＢＲ）のリンクまたは低伝送レートの固定速度サービス（Constant Bit Rate, ＣＢＲ）のリンクを使用してデータを送ることによって用意することができる。
【００３３】
通信ネットワークはインターロッキングプロトコル（すなわち、コネクションレスネットワーク）を使用し、高品質の通信リンクは資源予約セットアッププロトコル（Resource Reservation Set-up Protocol, ＲＳＶＰ）を使用して設定され、低品質の通信リンクはインターネットプロトコル（internet Protocol, ＩＰ）を使用して設定することができる。
【００３４】
データを送受信する上述の方法は、サーバコンピュータおよびクライアントコンピュータ上で適切なコンピュータプログラムを実行することによって行なうことができることが分かるであろう。例えばサーバコンピュータがＷＷＷサーバであるときは、このようなプログラムはＷＷＷサーバを用意するのに要求されるソフトウエアプログラムと並行して実行されるか、またはこのようなＷＷＷサーバプログラム内で統合することができる。同様に、クライアントコンピュータがＷＷＷブラウザを実行するＰＣまたはＮＣであるときは、適切なプログラムはＷＷＷブラウザプログラム内で統合されるか、またはこれと並行して実行することができる。これらの適切なプログラムは、フロッピーディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＤＶＤ（Digital Versatile Disk）、などのようなデータキャリアに供給することができる。同様に、遠隔通信ネットワークにこのようなプログラムを用意してもよい。図２は、それぞれサーバコンピュータおよびクライアントコンピュータに対して適切なプログラムを記憶するデータキャリア70および80を示し、図３は、それぞれサーバコンピュータおよびクライアントコンピュータに対して適切なプログラムを記憶する類似のデータキャリア170および180を示す。
【図面の簡単な説明】
【図１】  本発明の通信方法を使用することができる通信ネットワークの模式図。
【図２】  本発明の通信方法を使用することができる通信ネットワークの別の模式図。
【図３】  本発明の別の実施形態の通信方法を使用することができる通信ネットワークの模式図。
【図１】
0004536928.tif 000002
【図２】
0004536928.tif 000003
【図３】
0004536928.tif 000004