(57)【要約】  ＨＴＴＰ／ＨＴＭＬは、クライアントに送信されている継続的なデータの現在の使用レベルに関する情報をサーバに提供するように機能強化される。この情報を用いて、サーバは、現在の使用レベルに基づいて、クライアントに送信されるデータを調整することができる。使用レベルがクライアント・システムで変化すると、サーバは、変化したレベルに関する情報を受信し、このレベルに応じて、送信されるデータの量を調整する（上げる、または下げる）。クライアント（ブラウザ）は、現在の使用状況を決定し送信するように機能強化され、サーバは、クライアントから受信した現在の使用状況に基づいて送信するデータを調整するインテリジェンスを有するように機能強化される。
2008524676.tif 000002
【特許請求の範囲】
【請求項１】
データ送信装置及びデータ受信装置を有するコンピュータ・ネットワークにわたってデータ・フローを制御する方法であって、前記方法は前記データ送信装置で行われ、
前記データ受信装置で受信したデータに対して現在の使用レベルを決定するステップであって、前記現在の使用レベルは前記データ受信装置から前記データ送信装置に前に送信されているステップと、
前記現在の使用レベルに基づいて、前記ネットワークにわたって前記データ受信装置への前記データ・フローを制御するステップと
を含む方法。
【請求項２】
前記現在の使用レベルを示す応答に関してクエリーを前記ネットワークにわたって前記データ受信装置に定期的に送出するステップと、
前記応答を前記データ受信装置から受信するステップと、
前記現在の使用レベルが、現在の送信レベルを維持するために事前設定されたしきい値を下回るという決定に基づいて前記データ・フローを制御する前記ステップを実行するステップと
を更に含む、請求項１に記載の方法。
【請求項３】
前記データ受信装置への前記データ・フローをサスペンドする方法と、
前記データ・フローが映像ストリームである場合、前記データ受信装置への前記映像ストリームの送信をサスペンドする方法と、
前記データ・フローが音声ストリームである場合、前記データ受信装置への前記音声ストリームの送信をサスペンドする方法と
を含む複数の方法の１つ以上で、事前設定されたしきい値を下回る前記現在の使用レベルに応答するステップを更に含む、請求項２に記載の方法。
【請求項４】
前記現在の使用レベルが、前記事前設定されたしきい値を下回る期間を決定するステップと、
前記使用レベルが、前記事前設定されたしきい値を下回るが、前記データ・フローが継続できる事前設定された最大期間を前記期間が上回った場合、前記データ・フローを停止するステップと
を更に含む、請求項３に記載の方法。
【請求項５】
データ・フローがサスペンドされている場合、次の使用レベルが、前記事前設定されたしきい値を上回れば、前記データ受信装置へのデータ・フロー・レベルを復元するステップ
を更に含む、請求項３に記載の方法。
【請求項６】
データ送信装置及びデータ受信装置を有するコンピュータ・ネットワークにわたってデータ・フローを受信する方法であって、前記方法は前記データ受信装置で行われ、
前記データ受信装置で受信されたデータに対して現在の使用レベルの指示を生成するステップと、
前記データ送信装置が前記ネットワークにわたって前記データ受信装置への前記データ・フローを前記現在の使用レベルに基づいて制御できるように前記指示を前記データ送信装置に送信するステップと
を含む方法。
【請求項７】
使用レベル・データに対するリクエストの受信に応答して、前記データ受信装置で前記使用レベルの指示を生成する前記ステップを開始するステップと、
前記指示を反映する使用レベル・パケットを前記データ送信装置に送信するステップと
を更に含む、請求項６に記載の方法。
【請求項８】
前記データ受信装置内の使用レベル情報に対して内部クエリーを送信するステップであって、前記内部クエリーが、オペレーティング・システムからの現在状況情報に対する状況検査を含むステップと、
前記状況検査に応答して受信された前記現在状況情報を使用レベル・パケットにコンパイルするステップと
を更に含む、請求項７に記載の方法。
【請求項９】
前記使用レベルの指示を生成する前記ステップを独立して開始するステップと、
前記データ送信装置からのリクエストに対してデータ・フロー・レベルを選択するステップと、
前記受信したデータ・フローの可能な変化に影響を及ぼすように前記データ送信装置のリクエストに対する前記データ・フロー・レベルを転送するステップであって、前記データ受信装置で受信された前記データ・フロー・レベルを、前記データ受信装置が、前記決定した現在の使用レベルに基づいて制御するステップと、
を更に含む、請求項６に記載の方法。
【請求項１０】
前記開始するステップと、前記選択するステップと、前記転送するステップとは、前記データ・フローを受信するソフトウェア内のユーティリティによって実行される、請求項９に記載の方法。
【請求項１１】
サーバ及び送信プロトコルが、前記データ・フロー・レベルのリクエストを介して前記データ・フローを制御できる別個のユーティリティを含む、請求項９に記載の方法。
【請求項１２】
前記データが、継続的に更新されるコンテンツを表示するウェブ・ページを含む、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
前記データが、継続的に更新されるコンテンツを表示するウェブ・ページを含み、前記データ送信装置が、前記現在の使用レベルをリクエストするクエリーを前記受信装置に送信し、前記コンテンツが送信される前記受信装置で前記現在の使用レベルの検査を起動するため、関連するメタ・タグを有する前記ウェブ・ページ内に前記クエリーが送信される、請求項１に記載の方法。
【請求項１４】
前記現在の使用レベルが、事前設定されたしきい値を上回る場合、全コンテンツの送信を許可することと、
前記使用レベルが第１しきい値を下回る場合、提供される前記コンテンツの量をスロットリングすることと、
事前設定された時間量を超えて前記使用レベルが第１しきい値を下回る場合、前記全コンテンツの送信を停止することと
によって、前記送信装置が、前記受信装置に送信される前記データの量を制御するソフトウェア・ユーティリティを有する、請求項１に記載の方法。
【請求項１５】
請求項１〜１４のいずれか一項に記載の方法の前記ステップをすべて行うように適合された手段を備える装置。
【請求項１６】
コンピュータ・システムで実行されると、請求項１〜１４のいずれか一項に記載の方法の前記ステップをすべて行う命令を備えるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、コンピュータ・システムに関し、特に、コンピュータ・ネットワークに関する。より詳細には、本発明は、コンピュータ・ネットワークにわたって情報の送信を制御する方法、システム及びプログラム製品に関する。
【背景技術】
【０００２】
インターネットは、世界一高速に成長している最も大規模なネットワークになった。首位の通信ネットワークとして、インターネットにわたる情報の拡散は、極めて急速に増大している。また、インターネットの特定用途は、従来の静的コンテンツを提供することから進展して、今では、音声及び映像ストリームのような動的なコンテンツを提供するというところまで拡大している。
【０００３】
当業者は、インターネット及びその動作方法に精通している。例えば、インターネットが複数のサーバを備え、各々が、ユニバーサル・リソース・ロケータ（ＵＲＬ）または、一般的に呼ばれるようなウェブ・アドレスを介してサーバにアクセスする遠隔クライアントに提供される特定のコンテンツを有することは周知である。一般的に、クライアントは、ウェブ・ブラウザ（または、略してブラウザ）を介してウェブ・サイトのコンテンツ（ＵＲＬによって識別されたウェブ・ページ）にアクセスし表示する。
【０００４】
一般的に、ウェブ・サイトのコンテンツは、従来のハイパーテキスト・マークアップ言語（ＨＴＭＬ）文書、または、最近の拡張マークアップ言語（ＸＭＬ）文書で作成されるウェブ・ページである。これらウェブ・ページは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）を介してリクエスト中のクライアントに送信される。ＨＴＴＰは、ペイロードとしてＨＴＭＬで動作し、しかも、メタ・タグなどのＨＴＭＬ文書内のインクルードをサポートする。ＨＴＴＰ、ＸＭＬ及びＨＴＭＬなどをインターネットの一般的な記述と同様にワールド・ワイド・ウェブ・サイト（ｗｗｗ）「ｗ３．ｏｒｇ」で見つけることができる。
【０００５】
特定のＨＴＴＰリクエストを（すなわち、クライアントからブラウザを介して）受け入れ、継続的に更新されるクライアントのウェブ・ページに返信することによって応答するウェブ・サーバ（ウェブ・サイト）が現在、数多く存在する。クライアント（ブラウザ）からｗｗｗへのアクセスは、ＨＴＴＰによって施行されるリクエスト−応答アーキテクチャに基づいて動作し、幾つかのリクエストは、自己リフレッシュ・ページや音声／映像ストリーミングなどのようなウェブ・サーバからの連続的な応答が長期にわたることになる。このタイプの継続的に更新されるウェブ・ページを提供する例示的なウェブ・サイトには、生放送のスポーツ・アクションをサービス提供するウェブ・サイト、音声及び映像コンテンツをストリーミングするウェブ・サイト、音声コンテンツまたは映像コンテンツをストリーミングするウェブ・サイト、ニュースの最新情報を提供するウェブ・サイト、及び、（米国株式市場のウェブ・サイトのような）変化する金融コンテンツを有するウェブ・サイトなどが含まれる。いずれの場合にも、一般的に、クライアントは、コンテンツにアクセスするための単一の初期リクエストを送信し、サーバは、クライアントがウェブ・ブラウザを閉じるまで、または、ブラウザからウェブ・サイトを除去するまで、複数の異なる（常に変化している）ページ／データを継続的に提供することによって応答する。
【０００６】
サーバは、特定のクライアント／ブラウザを識別するネットワーク・アドレスにウェブ・ページまたはストリーミング・コンテンツを継続的に送信することによってクライアント・リクエストに応答する非インテリジェント情報ソースとして動作する。サーバは、クライアントに送信されているデータをクライアント（または、クライアントのユーザ）が実際に使用しているかについて何の情報も持たない。しかし、幾つかのウェブ・サイト（特に、セキュアな情報／データを有するウェブ・サイト）を有する何らかのタイムアウト機構に関して、実際には、サーバは、無期限にウェブ・ページをクライアント・システムに送信し続けることがある。
【０００７】
例えば、ユーザは、バスケットボール試合の現在のスコアをリクエストした場合、クライアント（ブラウザ）が作動し（すなわち、クライアントのプロセッサで実行し）、ユーザがブラウザを用いて他のサーバの別のウェブ・ページをリクエストしない限り、サーバは、最新のスコアを定期的に送信し続ける。実際には、クライアント・ブラウザの多くのユーザに既知である１つの要領は、ファイル・メニュー・オプションを選択して新たなブラウザを開け、第１サーバから離れて、次に開けたブラウザ上の第２サーバをブラウズするということである。最初のブラウザはバックグラウンドに開いたままであり、第１サーバのコンテンツは使用されていないが、受信され続けている。
【０００８】
また、従来のオペレーティング・システム（ＯＳ）によって、ユーザはクライアント・システム上でブラウザ・アプリケーションを最小化することができ、または、何か他のアプリケーションを開けることができ、あるいは、その両方を行うことができる。このことが現在のブラウザで生じる場合、ユーザがコンテンツを実際に使用していない／見ていないとしても、サーバはコンテンツをクライアントに送信し続ける。
【０００９】
多くのサーバは、一度にサポートすることができるクライアントの数について有限の限界を有する。帯域幅の問題に関して、様々なインターネット・プロバイダのネットワークを含む大部分のネットワークへの実際の関心事は、最小化されているか第２ブラウザまたは第２アプリケーション・ウィンドウの背後に隠されているブラウザを有するクライアントにサーバが高帯域幅のコンテンツをストリーミングし続けることが帯域幅の浪費であって、サーバ／ネットワークのリソース上に不必要なドレインを生じさせるということである。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従って、本発明は、クライアント・ブラウザまたはユーザが、サーバによって提供された継続的に更新されているウェブ・ページを使用していないときを検出できることが望ましいと認識する。クライアント／コンテンツがアクティブに使用されていない場合、クライアントにストリーミングするコンテンツをスロットリングさせることができる方法及びシステムは、望ましい改善となる。クライアント・ブラウザの現在の使用属性に基づいてクライアント・ブラウザに送信する継続的な更新情報をサスペンドまたはスロットリングする場合にサーバが警告される何らかの機構があれば、更に望ましい。これらの利点及びその他の利点は、本明細書に記述された本発明によって提供される。
【００１１】
本発明は、独立項に記載された方法と、対応する装置及びコンピュータ・プログラムとを提供する。
【００１２】
本発明自体は、本発明の好適な使用モード、更なる目的及び利点と同様に、添付図面と併せて解釈される以下の例示的な実施形態の詳細な説明を参照することによって最も良く理解される。
【課題を解決するための手段】
【００１３】
好ましくは、ソフトウェア・ユーティリティ（使用応答ユーティリティ（ＵＲＵ））はサーバに提供され、クライアントの使用属性を計算する処理を開始する。ＵＲＵは、ｐｉｎｇ（単一リクエスト）を生成し、現在、サーバから継続的な更新情報を受信している各クライアントに、事前設定された間隔でｐｉｎｇを送出する。ウェブ・サイトにアクセスするためのクライアント・リクエストが最初に受信され許可された場合に特定のクライアント・アドレスは記録される。次に、ＵＲＵは、事前設定された最小しきい値に対して比較される使用値について使用属性パケットを解析することによって、クライアントから受信した使用属性パケットに応答する。使用値が最小しきい値を下回る場合、ＵＲＵは、クライアント・ブラウザに送信するコンテンツのいずれの更新情報をもサスペンドまたはスロットリングする。次の使用属性が最小しきい値を上回ることを示す場合、ＵＲＵは、新たなコンテンツの送信を自動的に再開する。
【００１４】
一実施形態では、ＨＴＴＰ／ＨＴＭＬは、クライアントに送信されている継続的なデータの現在の使用レベルに関する情報をサーバに提供するように機能強化される。この情報を用いて、サーバは、現在の使用レベルに基づいて、クライアントに送信されるデータを調整することができる。使用レベルがクライアント・システムで変化すると、サーバは、変化したレベルに関する情報を受信して、このレベルに応じて、送信されるデータの量を調整する（上げる、または下げる）ことができる。例示的な実施形態では、クライアント（ブラウザ）は、現在の使用状況を決定し送信するように機能強化され、サーバは、クライアントから受信した現在の使用状況に基づいて送信するデータを調整するインテリジェンスを有するように機能強化される。
【発明を実施するための最良の形態】
【００１５】
次に図を参照し、特に、本発明の機能が有利に実施される例示的なネットワークを示す図１を参照する。ネットワーク１００は、インターネット１１５を介して互いに接続されているクライアント・システム（またはクライアント）１１０及びサーバ１２０を備える。クライアント１１０は、本発明の実施に関連する２つのソフトウェア・コンポーネントを有するように示されている。これらソフトウェア・コンポーネントは、ブラウザ１０５及び使用追跡ユーティリティ（ＵＴＵ）１０７である。ブラウザ１０５の基本機能は当該技術分野で既知であるが、本明細書では、以下に説明される機能を有するＵＴＵ１０７をサポートするように拡張されている。サーバ１２０もソフトウェア・コンポーネントを含み、これらソフトウェア・コンポーネントは、ウェブ・ページ１２５及び使用応答ユーティリティ（ＵＲＵ）１２７である。ＵＲＵ１２７の機能は先に説明されており、ウェブ・ページ１２５は、クライアントに対して継続的に更新される一連の連続的なページ（または、音声／映像／データ・コンテンツの連続ストリーム）と仮定される。
【００１６】
クライアント１１０及びサーバ１２０の両方はコンピュータ・システムであって、場合によっては、図３のコンピュータ・システム２００に類似する。コンピュータ・システム２００は、プロセッサ２０２、メモリ２０６及び入出力（Ｉ／Ｏ）コントローラ２０８を備え、これらのすべては、システムバス２０４を介して相互接続されている。Ｉ／Ｏコントローラ２０８は、マウス２１２、キーボード２１４、表示モニタ２１０及びスピーカ２１１が示されているデータ処理システム２００の入力及び出力装置を制御する。表示モニタ２１０及びスピーカ２１１はそれぞれ映像及び音声コンテンツの出力を可能にする。上記のコンポーネントに加えて、コンピュータ・システム２００は、コンピュータ・システム２００を図１のインターネット１１５のようなネットワークに接続するのに使用されるモデムやネットワーク・インターフェース・カードなどとすることができるネットワーク・インターフェース装置２１６をも備える。
【００１７】
基本入出力システム（ＢＩＯＳ）２２４、オペレーティング・システム（ＯＳ）２２０、アプリケーション２２２及び（この場合もアプリケーションである）ブラウザ１０５を含む多数のソフトウェア・プログラムは、メモリ２０６内に配置されている。これらソフトウェア・コンポーネントに加えて、コンピュータ・システムは、クライアントとしてコンピュータ・システム２００を識別するＵＴＵ１０７を有するように示されている。特に、コンピュータ・システムがサーバとして動作していることを示すＵＲＵ１２７をＵＴＵ１０７の代わりに有するようにコンピュータ・システムを示すことができる。更に別の実施形態では、コンピュータ・システム２００の現在の使用に応じて単一コンピュータ・システムがクライアントまたはサーバとして動作できる単一ソフトウェア・パッケージとしてＵＴＵ及びＵＲＵの両方をパッケージすることができる。ＵＴＵ１０７の機能をブラウザから分離されたユーティリティとして本発明を通して示されているが、当然のことながら、ＵＴＵ１０７の機能をブラウザ１０５の追加機能として提供して、分離された追加ユーティリティが本発明の機能を行う必要性を除去することができる。
【００１８】
図２には、本発明の実行中のクライアント・ブラウザ１０５とクライアント１１０のＯＳ２２０及びＢＩＯＳ２２４との間の対話通信と、サーバ１２０とクライアント１１０との間の通信との両方を示す。この図の説明を図５の説明と一緒に行う。図５には、図２によって提供される構成内のクライアント及びサーバによって行われる処理を示す。図５の処理はブロック４０２で開始し、クライアント１１０が、ブラウザ１０５を用いてサーバ１２０とのセッションを開始する。ブロック４０４に示すように、サーバ１２０は、データの連続ストリームとしてウェブ・ページ１２５のコンテンツをクライアント１１０に送信する。ブロック４０６に示すように、セッションを確立した後、事前設定された期間に、サーバ１２０は、使用状況に関してｐｉｎｇ１１７を生成し、クライアント１１０に送信する。ブロック４０８に示すように、クライアント１１０はｐｉｎｇを受信し、最後にはクライアント１１０が状況パケット１３０をサーバ１２０に戻すことになる一連のステップを行う。
【００１９】
実際には、ｐｉｎｇ１１７はウェブ・ページで受信され、ウェブ・ページは、ＵＴＵ１０７がクライアントから現在の使用情報を獲得できるメタ・タグを有するように機能強化される。メタ・タグは、オペレーティング・システム２２０、ＢＩＯＳ２２４、及び、受信したコンテンツの使用に関連するブラウザ１０５の現在の状況／状態を検査する一連の状況チェック・クエリーを生成する。クエリーへの応答はＵＴＵ１０７に戻され、ＵＴＵ１０７は、戻された情報をコンパイルして使用状況パケット１３０を生成する。
【００２０】
コマンドが関連情報と共に状況パケット１３０内に結合して戻るようにするため、特定の事前定義された動作状態が、関連のあるものとしてＵＴＵ１０７内で識別される。事前定義された動作状態は、（１）ブラウザが閉じられている、（２）ブラウザが最小化されている、（３）ブラウザが別のウィンドウの背後に隠されている、（４）スクリーン・セーバーがオンになっている、（５）使用クエリーへのユーザ応答が受信されていない、（６）音声プレーヤでミュート・オプションが選択されている、（７）音量がゼロ設定になっている、（８）コンピュータ画面がターン・オフされている、（９）別のサーバから他のストリームが検出された、などのような状態を含むことができる。多くのその他の状態をソフトウェア設計者によってプログラムすることができる。クライアント・システムで受信されるコンテンツのタイプに応じて特定の状態を更に関連のあるものにすることができる。例えば、コンテンツが音声のみである場合、ブラウザの位置決め状態を関連のあるものにしなくてよい。同様に、コンテンツが映像のみである場合、ミュート選択及び音量状態は関連のあるものとならない。各状態には、特定のポイント値が割り当てられ、各関連状態のポイント値は、使用属性値を生成するように合計される。
【００２１】
これら状態の幾つかは、ＯＳレベル及びＢＩＯＳレベル検査（例えば、ブラウザが最小化されているかどうか、ブラウザの上部に別のウィンドウが開かれているかどうか、または、音声がミュートにされているかどうかを決定すること）を含むので、ＵＴＵ１０７はコマンドをそれぞれのＯＳ及びＢＩＯＳコンポーネントに送出し、それぞれのＯＳ及びＢＩＯＳコンポーネントは、必要な応答情報を提供する。
【００２２】
次に図５に戻って、ブロック４１０に示すように、サーバ１２０が使用状況パケット１３０を受信した後、ＵＲＵ１２７は、使用状況パケット１３０に格納された使用情報のパケットを復号化する。使用情報（使用属性値）を、事前設定されたしきい値に対して比較し、クライアントの使用値がしきい値を上回るかどうかの決定をブロック４１２で行う。使用値がしきい値を上回らない場合、ブロック４１６に示すように、サーバからのデータの送信をスロットリングまたは一時停止する。幾つかの状態では、送信を停止し、セッションを終了／閉じることができる。しかし、使用値が、事前設定されたしきい値を上回る場合、ブロック４１４に示すように、サーバはデータを正常に送信し続ける。
【００２３】
一実施形態では、送信のレベルは、クライアントの使用レベルに基づいて調整される。従って、ブロック４１６で生じるスロットリングは、現在の使用レベルに基づいて継続的に調整される。逆相関は、量／使用レベルと、実行されるスロットリングの量との間で行われる。クライアントがコンテンツ／ブラウザをアクティブに使用していない場合、スロットリングは生じない。
【００２４】
本明細書では、事前設定されたしきい値と、計算された使用属性値とを参照して本発明を説明したが、このことは特定の実施形態のみを提供し、本発明を制限するものではない。クライアントによって使用情報をコンパイル／決定し、サーバによって受信された使用情報への応答を決定する代替方法を提供することができる。例えば、スクリーン・セーバーがオンになっているか、ブラウザが最小化されていることを状況パケットが示す場合、ＵＲＵ１２７は、任意の映像のストリーミングを停止／一時停止することによって応答することができる。同様に、ブラウザ内のプレーヤまたはコンピュータ音量コントロールでミュート・オプションが選択されている場合、ＵＲＵ１２７は、音声ストリームを停止／一時停止することによって簡単に応答することができる。
【００２５】
図４は、ストリーミング映像及び音声コンテンツのウェブ・ページを有する例示的なブラウザを提供する。ブラウザ３００は、これと関連する映像プレーヤ３３０と、映像コンテンツのストリームが表示される映像スペース３３２と、映像コントロール３３７とを含む。ブラウザ３００の上面には、ＯＳの音量コントロールＧＵＩ３４０が開かれている。特に、音量レベルに加えて、音量コントロールＧＵＩ３４０は全ミュート・オプション３４２をも含む。全ミュート・オプション３４２は、クライアントでのすべての音声をミュートにし、従って、ＵＴＵ１０７に関連する状態である。同様に、最小化ウィンドウ・オプション３３５は、ユーザにブラウザのストリーミング映像部分（すなわち、映像プレーヤ３３０）を最小化させることができ、従って、ＵＴＵ１０７に関連する状態である。特に、第１状態（全ミュート）はＯＳレベルで生じるのに対して、第２状態（最小化）はブラウザ上面レベル（すなわち、ブラウザ自体は閉じられない）で生じる。
【００２６】
クライアント／サーバ・アプリケーションが異なるストリームを別々に処理できるが、同じ出力をユーザに表示するストリーム制御送信プロトコル（ＳＣＴＰ）によって、特定のストリーム（音声または映像）を選択的にターン・オン／オフすることが可能である。例えば、歌の映像をストリーミングする場合、ビジュアル・ストリーミングが音声ストリーミングとは独立して生じることができる。この柔軟性の場合、サーバからのデータ・フローを制御するのに使用状況を極めて効率良く用いることができる。
【００２７】
図６には、セッションの終了（シャットダウン）を可能にする本発明のサーバ側の処理を示す。この処理はブロック５０２で開始し、パケットを受信し、事前設定されたしきい値を下回るクライアント使用値を判別する。ブロック５０４で、ＵＲＵ１２７によってシャットダウン状態に関するタイマを開始する。ブロック５０６に示すように、ＵＲＵ１２７は、定期的にクライアントにｐｉｎｇしてクライアント使用値の検査を開始する。次に、ブロック５０８で、クライアント使用値が依然としてしきい値を下回るかどうかを決定する。クライアント使用値が下回っていない場合、ブロック５１０でタイマを再設定する。また、接続が前にスロットリングされていた場合、接続を再開する。
【００２８】
クライアント使用値が依然としてしきい値を下回っている場合、ブロック５１２で、セッションの終了に対して事前設定された時間が経過したかどうかを決定する。事前設定された時間が経過し、使用値が依然としてしきい値を下回る場合、ブロック５１４に示すようにクライアントとのセッションを閉じる。その他の場合、クライアント使用値の定期的な検査を継続する。前述の処理に関して、クライアントが所定の期間中にセッションを使用しなかった場合、または、所定の期間中に使用されていなかったコンテンツがクライアントに送信し始める場合、サーバはセッションを閉じることができる。
【００２９】
前述の方法では、クライアントが、サーバによって送信されたｐｉｎｇを受信する場合のみ、クライアントは現在の使用状況についてサーバに通知するので、使用状況を用いるインテリジェンスはサーバに属する。図７に示す代替実施形態では、クライアントは、現在の使用状況の独立したクライアント決定に基づいて（すなわち、最初にｐｉｎｇを受信することなしに）、どの／どのくらいの／どんなタイプのコンテンツをリクエストするか（または、リクエストをどのようにして再定義するか）について要求を開始する。ブロック６０２で、クライアント・ブラウザのＵＴＵ１０７は使用レベルを記録する。次に、ブロック６０４で、クライアントは、記録した使用レベルに基づいて計算した量／タイプのコンテンツに対するリクエストを動的に生成する。ブロック６０６に示すように、最後に、サーバは、クライアントによってリクエストしたコンテンツの量で応答する。クライアント（ブラウザ）からインターネット上のウェブ・サイトへのアクセスは、ＨＴＴＰによって施行されるリクエスト−応答アーキテクチャに基づいて動作するので、この代替実施形態はクライアント−サーバ・アーキテクチャとほとんど一致していない、従って、定義／実施するのがより難しい。
【００３０】
本発明の前述した機能は、クライアントの使用状況をウェブ・サーバに知らせる。一実施形態では、ウェブ・サーバは、サービス提供するウェブ・ページの可能な使用値を定義する。可能な使用値は、ＨＴＭＬメタ・タグを拡張／定義することによって定義される。その後、クライアント・ブラウザは、これら使用状況のいずれかが変化したかどうかをサーバに知らせることができる。ＨＴＴＰは、クライアントがサーバに使用状況を通知する方法を提供するように機能強化される。（クライアント・ブラウザによって提供された）現在の使用状況に基づいて、サーバは、クライアントに提供されるデータを調整する。
【００３１】
特に、本発明によって提供された利点は、（１）本発明の実施が、現在使用されていない不必要なデータの送信を除去し、これによって、利用可能なネットワーク帯域幅を改善し、（２）ユーザが関心のあるウェブ・ページの部分をサーバが検出できるように使用状況を定義することができ、サーバはこの情報をキャッシュし、将来この情報を用いることができ、この機能は、サーバ側でインテリジェント・キャッシング方法を可能にし、従ってネットワーク帯域幅の可用性を改善し、（３）使用レベル及び現在の使用状況を共有するという考えをその他の様々なクライアント・サーバ・アーキテクチャに適用することができ、データ転送を最小化することができ、（４）本発明の実施によって、データ・フローの最適化がサーバとクライアントとの間でユーザに対して透過的に完了することができる、ということである。
【００３２】
本発明の機能を有利に用いることができる幾つかの例として、生放送のニュース更新情報、選挙結果更新情報、スポーツ・スコア更新情報などのような自己リフレッシュ・ページが挙げられる。ブラウザが最小化されているか、スクリーン・セーバーが作動している場合、サーバは、リフレッシュされた更新情報をブラウザに送信する必要がない。従って、本発明の実施に関して、その他の利点として、（１）音源カードがない場合、音声及び映像ストリームでの音声ストリーミングを回避することができ、（２）スピーカがミュートにされている場合、音声ストリーミングを回避することができ、（３）ブラウザが最小化されているか、スクリーン・セーバーがオンである場合、映像ストリーミングを除去することができる、などが挙げられる。
【００３３】
最後の事項として、本発明の例示的な実施形態を、管理ソフトウェアが導入された全機能コンピュータ・システムと関連して説明したが、本発明の例示的な実施形態のソフトウェア構成が様々な態様でプログラム製品として分散可能であって、実際に分散を行うのに用いられる特定タイプの信号担持媒体にかかわらず、本発明の例示的な実施形態が等しく適用することは当業者にとって明らかであるということは重要である。信号担持媒体の例として、フレキシブル・ディスク、ハード・ディスク・ドライブ、ＣＤ−ＲＯＭのような書き込み可能なタイプの媒体と、デジタル及びアナログ通信リンクのような送信タイプの媒体とが挙げられる。
【図面の簡単な説明】
【００３４】
【図１】本発明の機能を有利に実施することができるネットワークを介して接続された単一クライアント及びサーバを示す簡単なネットワーク図である。
【図２】本発明の一実施形態によるクライアントからサーバまでのネットワークにわたる使用状況パケットの収集及び交換を示す詳細なネットワーク図である。
【図３】本発明の一実施形態によるクライアント／サーバとして使用されるコンピュータ・システムを示すブロック図である。
【図４】ソフトウェア・プレーヤ／アプリケーションを介して提供されたストリーミング音声及び映像コンテンツを有するクライアント・ブラウザであって、本発明の一実施形態を示すクライアント・ブラウザである。
【図５】本発明の一実施形態によってクライアント使用情報をクライアントからサーバに送信し、これを使用して、サーバからのデータの送信レベルを調整する処理を示すフローチャートである。
【図６】本発明の一実施形態による定期的なタイマに基づくサーバ側のスロットリング処理を示すフローチャートである。
【図７】本発明の一代替実施形態によってクライアントがデータ送信レベルを決定する処理を示すフローチャートである。
【図１】
2008524676.tif 000003
【図２】
2008524676.tif 000004
【図３】
2008524676.tif 000005
【図４】
2008524676.tif 000006
【図５】
2008524676.tif 000007
【図６】
2008524676.tif 000008
【図７】
2008524676.tif 000009
【国際調査報告】
2008524676.tif 000010
2008524676.tif 000011
2008524676.tif 000012