JP2003527800A - ネットワークを介してデータを転送するためのシステム及び方法 - Google Patents

ネットワークを介してデータを転送するためのシステム及び方法

Info

Publication number
JP2003527800A
JP2003527800A JP2001560080A JP2001560080A JP2003527800A JP 2003527800 A JP2003527800 A JP 2003527800A JP 2001560080 A JP2001560080 A JP 2001560080A JP 2001560080 A JP2001560080 A JP 2001560080A JP 2003527800 A JP2003527800 A JP 2003527800A
Authority
JP
Japan
Prior art keywords
network
data
utilization
level
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001560080A
Other languages
English (en)
Other versions
JP4711586B2 (ja
Inventor
ムチ アレッサンドロ
エー.シャー ダーシャットクーマー
ジョーゼフ ムーア ブライアン
エス.ロバーツ ジェフリー
スコット エバンス スティーブン
ディー.ゾラン マイケル
エフ.レウス エドワード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/505,735 external-priority patent/US7437428B1/en
Priority claimed from US09/783,407 external-priority patent/US6920110B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003527800A publication Critical patent/JP2003527800A/ja
Application granted granted Critical
Publication of JP4711586B2 publication Critical patent/JP4711586B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

(57)【要約】 実際のネットワーク帯域幅使用レベルをモニタすることによってネットワークを介してデータの集合を転送するための方法が提供される。本方法は、異なるアルゴリズムを利用する2つの実施形態を包含する。第1の実施形態では、本方法は、実際の使用率のモニタされた最大値を識別し、使用率のモニタされた最大値の相関的要素として使用率のしきい値レベルを計算する。しきい値レベルは、それを下回ると、ネットワーク・インターフェースにおける他のネットワーク活動を妨げることなく、ソフトウェア更新などのデータの集合を、ネットワークを介して転送またはダウンロードすることができるレベルを表す。使用率の実際のレベルがしきい値レベルを下回っている場合、データの少なくとも一部分、すなわち、セグメントが、ネットワークを介して受信される。第2の実施形態では、本方法は、実際の使用率のモニタされた最大値を識別し、使用率のモニタされたレベル最大値の相関的要素として、転送されるべきデータ・ブロックのサイズを計算する。データ・ブロックは、ネットワーク・インターフェースにおける他のネットワーク活動を妨げることなくネットワークを介して転送またはダウンロードすることができる、ソフトウェア更新などのデータの集合のセグメント、を表す。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、コンピュータ・ソフトウェアに関し、より詳細には、インターネッ
トなどのネットワークを介してデータを転送するためのシステムおよび方法に関
する。
【0002】 (発明の背景) 1つまたは複数のクライアント・マシンがネットワークを介して1つまたは複
数のサーバと通信するコンピュータ・システムは、一般的な構成である。例えば
、様々なサーバとの通信のためにインターネットに接続された数百万のパーソナ
ル・コンピュータ(PC)が存在する。これらのPCユーザの多くは、インター
ネットを介して遠隔サーバからソフトウェアをダウンロードすることによって彼
等自身のPC上に新しいソフトウェアまたは更新されたソフトウェアを獲得する
【0003】 インターネットなどのネットワークを介して新しいソフトウェアや更新された
ソフトウェアなどのデータをPCにアップロードおよびダウンロードする従来の
方法は、ダウンロード中にPCユーザが、インターネットをブラウズする能力、
または他の仕方でネットワークを介して通信する能力を妨げる。PCに関して処
理速度が増大するにもかかわらず、ユーザのブラウズ体験にとっての重要なボト
ルネックとなっているのが、インターネットに対する帯域幅である。従来のダウ
ンロードは、通常、ダウンロードが完了するまで、ユーザの使用可能通信帯域幅
の100%を占有するため、ユーザは、ダウンロード中、その他のタスクのため
にネットワークを利用することができない。さらに、ダウンロードが何らかの理
由で(例えば、ネットワーク接続が失われて)中断された場合、ファイルの開始
からダウンロードを再開することが必要である可能性があり、これにより、相当
なネットワーク・リソースが浪費される。他の従来のダウンロード・ソフトウェ
アは、ユーザが、指定時間にダウンロードをスケジュールできるようにする。い
ずれにしても、インターネットなどのネットワークを介してソフトウェアをダウ
ンロードするための従来の方法は、ユーザが、他のネットワーク活動に関わる能
力をひどく制限する。
【0004】 ソフトウェア更新を提供することは、ユーザのPCの問題を修正し、パフォー
マンスを向上させるため、PCユーザにとって有益である。さらに、ソフトウェ
ア・ベンダには、製品サポート・コールの数が減少することで利益があり、その
結果、この減少は、そうでなければベンダが、そのようなコールを扱うために割
り振る可能性がある相当なリソースを低減する。
【0005】 本出願人は、「WINDOWS(登録商標) UPDATE」の商標の下で、
オペレーティング・システム製品のMICROSOFT WINDOWS(登録
商標)ファミリに関連するソフトウェア更新サービスを提供している。「WIN
DOWS(登録商標) UPDATE」インターネットWebサイトにアクセス
することにより、MICROSOFT WINDOWS(登録商標)ユーザは、
インターネットを介して自らのシステムを評価させ、クリティカルなソフトウェ
ア更新とクリティカルでないソフトウェア更新(例えば、修正またはパッチ)を
ともにダウンロードすることができる。ユーザのPC上に既にロードされてはい
ない入手可能な更新が存在すると判定されたとき、そのような更新が入手可能で
あるとユーザに通知され、ユーザは、インターネットを介してダウンロードする
ために更新の1つまたは複数を選択するよう促される。これは、ユーザにソフト
ウェア更新を提供するための便利な方法であるが、そのようなダウンロードは、
他のネットワーク活動を妨げる可能性がある。さらに、多くのユーザは、自主的
に「WINDOWS(登録商標) UPDATE」Webサイトにナビゲートし
て、自身のPCに対するオペレーティング・システム更新をダウンロードするこ
とをしない可能性が高い。したがって、クリティカルな更新をまだダウンロード
していないユーザは、自身のPCで問題に遭遇する可能性がより高く、問題が生
じたときにベンダの製品サポートを呼び出す可能性が高い。
【0006】 したがって、ネットワークを介してソフトウェア更新をダウンロードし、他の
ネットワーク活動に対する妨げが最小限に抑えるようにするための有効な方法が
必要とされている。1つの可能な解決策は、単にネットワーク帯域幅を増大させ
ることである。ただし、帯域幅をより大きくすることは、高価であり、従来、帯
域幅の増大に連れてユーザ要求も増大している。したがって、技術の進歩ととも
に可用帯域幅が増大するにしても、ユーザ要求の対応する増大のため、他のネッ
トワーク活動の妨げをなくす必要が存在することに変わりはない。
【0007】 (発明の概要) 一態様では、本発明は、ネットワークを介してデータ集合を転送する方法を対
象とする。この方法は、実際のネットワーク帯域幅使用率のレベルをモニタする
ステップと、実際の使用率のモニタされたレベルの最大値を識別するステップと
を備える。次に、この方法は、使用率についてモニタされたレベルの最大値の相
関的要素として使用率についてのしきい値レベルを計算する。実際のレベルが、
しきい値レベルより低い場合、そのデータの集合の少なくとも一部分が、ネット
ワークを介して受信される。
【0008】 本発明の別の態様は、第1のデータ・フィールドおよび第2のデータ・フィー
ルドを含むデータ構造を記憶しているコンピュータ可読媒体を対象とする。第1
のデータ・フィールドは、実際のネットワーク帯域幅使用率のモニタされたレベ
ルの最大を表すデータを含む。第2のデータ・フィールドは、それを下回ると、
他のネットワーク活動を妨げることなくネットワークを介してデータを転送する
ことができるネットワーク帯域幅使用率のしきい値レベルを表すデータを含む。
第2のデータ・フィールドは、モニタされる最大レベルの相関的要素としてしき
い値レベルを計算することにより、第1のデータ・フィールドから導出される。
【0009】 本発明のさらに別の態様は、ネットワークを介するデータの転送を管理するた
めのコンピュータ実行可能構成要素を有するコンピュータ可読媒体に関する。第
1の構成要素は、ネットワーク接続に関して実際の帯域幅使用率をモニタし、使
用率のモニタされたレベルの最大値を識別する帯域幅モニタ構成要素である。第
2の構成要素は、第1の構成要素によって識別されたモニタされた使用率のモニ
タされたレベルの最大値の相関的要素として使用率のしきい値レベルを計算する
しきい値計算構成要素である。第3の構成要素は、実際の帯域幅使用率のレベル
が使用率のしきい値レベルを下回っているとき、ネットワークを介するデータの
転送を管理する転送管理構成要素である。
【0010】 本発明のさらに別の態様は、ネットワークを介するクライアント・プロセスと
サーバ・プロセスの間における通信の方法を対象とする。この方法は、ファイル
を識別し、サーバ・プロセスがネットワークを介してそのファイルの第1のセグ
メントをダウンロードすることを要求する第1のダウンロード要求、をサーバ・
プロセスに対して発行することを含む。また、この方法は、サーバ・プロセスに
より、ファイルの第1のセグメントをダウンロードすることも含む。次に、この
方法は、実際のネットワーク帯域幅使用率がしきい値レベルを下回っているなら
ば、そのファイルに関連付けられたダウンロード要求で、サーバ・プロセスがネ
ットワークを介してそのファイルのさらなるセグメントをダウンロードすること
を要求するさらなるダウンロード要求をサーバ・プロセスに発行する。この方法
は、サーバ・プロセスにより、ファイルのさらなるセグメントをダウンロードす
ることをさらに含む。最後に、この方法は、サーバ・プロセスがネットワークを
介してファイルの各セグメントのダウンロードを完了するまで、さらなるダウン
ロード要求を発行するステップと、さらなるセグメントをダウンロードするステ
ップとを繰り返すことを含む。
【0011】 本発明の代替の実施形態では、ある態様は、ネットワークを介してデータの集
合を転送する方法を対象とする。この方法は、実際のネットワーク帯域幅使用率
のレベルをモニタするステップと、実際の使用率のモニタされたレベルの平均を
識別するステップとを含む。次に、この方法は、現在の活動および帯域幅しきい
値との相関的要素として転送されるべきデータ・ブロックのサイズを計算する。
次に、計算されたサイズのブロックが、ダウンロードされる。
【0012】 本発明の代替の実施形態の別の態様は、第1のデータ・フィールドおよび第2
のデータ・フィールドを含むデータ構造を記憶しているコンピュータ可読媒体を
対象とする。第1のデータ・フィールドは、ネットワーク使用率のサンプル時刻
に対応するタイムスタンプを表すデータを含む。第2のデータ・フィールドは、
ネットワーク・アダプタを通過したバイトの総数を表すデータを含む。
【0013】 本発明の代替の実施形態のさらに別の態様は、ネットワークを介するデータの
転送を管理するためのコンピュータ実行可能構成要素を有するコンピュータ可読
媒体に関する。第1の構成要素は、ネットワーク接続に関して実際の帯域幅使用
率のレベルをモニタし、使用率のモニタされたレベルの平均を識別する帯域幅モ
ニタ構成要素である。第2の構成要素は、第1の構成要素によって識別された使
用率のレベルの平均の相関的要素として、使用率に基づいて転送されるべきブロ
ック・サイズを計算する転送ブロック・サイズ計算構成要素である。第3の構成
要素は、計算されたブロック・サイズでネットワークを介するデータの転送を管
理する転送管理構成要素である。
【0014】 本発明の代替の実施形態のさらに別の態様は、ネットワーク速度計算とデータ
・ブロック・サイズ計算を連続的にリファインする(refine 改良する)方法を
対象とする。この方法は、間隔をおいてネットワーク使用(network usage)を
サンプリングするステップと、いくつかのサンプルにわたって獲得された速度の
移動平均(moving average)を計算するステップとを含む。平均計算において、
最新のサンプルにより大きい重みを与える。ネットワークのサンプリング間隔は
、ネットワークの速度に基づいて調整される。
【0015】 本発明を添付の図面を参照してより詳細に説明する。
【0016】 (発明の詳細な説明) 本発明は、インターネットなどのネットワークを介してデータを転送するため
のシステムおよび方法を提供する。
【0017】 図1は、本発明を実施することが可能である適切なコンピュータ・システム環
境の例を示している。このコンピュータ・システム環境は、適切なコンピュータ
環境の一例に過ぎず、本発明の使用または機能性の範囲に関する限定を全く示唆
するものではない。また、コンピュータ環境が、例としての動作環境において示
す構成要素のどれか1つ、または組み合わせに関連するどのような依存性または
要件も有するものと解釈すべきではない。
【0018】 本発明は、他の多数の汎用または特殊目的のコンピュータ・システム環境また
はコンピュータ・システム構成で動作する。本発明とともに使用するのに適して
いる可能性がある周知のコンピュータ・システム、コンピュータ環境、および/
またはコンピュータ構成の例には、パーソナル・コンピュータ、サーバ・コンピ
ュータ、ハンドヘルド装置またはラップトップ装置、マルチ・プロセッサ・シス
テム、マイクロ・プロセッサ・ベースのシステム、プログラマブル家庭用電化製
品、ネットワークPC、ミニ・コンピュータ、メイン・フレーム・コンピュータ
、前述のシステムまたは装置の任意のものを含む分散コンピュータ環境等が含ま
れるが、それらには限定されない。
【0019】 本発明は、コンピュータによって実行される、プログラム・モジュールなどの
コンピュータ実行可能命令の一般的コンテキストで説明することができる。一般
に、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象デ
ータ・タイプを実装するルーチン、プログラム、オブジェクト、構成要素、デー
タ構造等を含む。また、本発明は、タスクが、通信網を介してリンクされた遠隔
処理装置によって実行される分散コンピュータ環境で実施することも可能である
。分散コンピュータ環境では、メモリ記憶装置を含むローカルのコンピュータ記
憶媒体と遠隔のコンピュータ記憶媒体の両方の中にプログラム・モジュールを配
置することが可能である。
【0020】 図1を参照すると、本発明を実施するための例としてのシステムが、コンピュ
ータ20の形態で汎用コンピュータ装置を含む。コンピュータ20の構成要素に
は、処理装置22、システム・メモリ24、およびシステム・メモリを含む様々
なシステム構成要素を処理装置22に結合するシステム・バス26が含まれるが
、それらには限定されない。システム・バス26は、メモリ・バスまたはメモリ
・コントローラ、周辺バス、および様々なバス・アーキテクチャのどれかを使用
するローカル・バスを含むいくつかのタイプのバス構造のどれであることも可能
である。例として、限定するものではなく、そのようなアーキテクチャには、イ
ンダストリ・スタンダード・アーキテクチャ(Industry Standard Architecture
)(ISA)バス、マイクロ・チャネル・アーキテクチャ(Micro Channel Arch
itecture(MCA)バス、エンハンスト(Enhanced)ISA(EISA)バス、
ビデオ・エレクトロニクス・スタンダード・アソシエーション(Video Electron
ics Standards Association)(VESA)ローカル・バス、およびメザニン(M
ezzanine)バスとしても知られるペリフェラル・コンポーネント・インターコネ
クト(Peripheral Component Interconnect)(PCI)バスが含まれる。
【0021】 コンピュータ20は、通常、様々なコンピュータ可読媒体を含む。コンピュー
タ可読媒体は、コンピュータ20によってアクセスされることが可能な任意の利
用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、取外し可能
な媒体と取外し不可能な媒体がともに含まれる。例として、限定するものではな
く、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むこと
が可能である。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造
、プログラム・モジュール、またはその他のデータなどの情報の記憶のために任
意の方法または任意の技術で実装される不揮発性と揮発性の媒体、取外し可能な
媒体と取外し不可能な媒体がともに含まれる。コンピュータ記憶媒体には、RA
M、ROM、EEPROM、フラッシュ・メモリ、またはその他のメモリ技術、
CD−ROM、デジタル・バーサタイル・ディスク(DVD)またはその他の光
ディスク・ストーレッジ、磁気カセット、磁気テープ、磁気ディスク記憶装置ま
たは他の磁気記憶装置、あるいは所望の情報を記憶するのに使用することが可能
であり、コンピュータ20によってアクセスされることが可能な他の任意の媒体
が含まれるが、それらには限定されない。通信媒体は、通常、搬送波などの変調
されたデータ信号、または他のトランスポート機構としてコンピュータ可読命令
、データ構造、プログラム・モジュール、または他のデータを実現し、任意の情
報送付媒体を含む。「変調されたデータ信号」という用語は、その特性の1つま
たは複数が、情報を信号に符号化するような仕方で設定された、または変更され
た信号を意味する。例として、限定するものではなく、通信媒体には、有線網ま
たは直接有線接続などの有線媒体、および音響媒体、RF媒体、赤外線媒体、お
よびその他の無線媒体(wireless media)などの無線媒体が含まれる。以上のど
の組み合わせも、コンピュータ可読媒体の範囲に含まれるべきものである。
【0022】 システム・メモリ24は、読取り専用(ROM)28およびランダム・アクセ
ス・メモリ(RAM)30などの揮発性メモリおよび/または不揮発性メモリの
形態のコンピュータ記憶媒体を含む。始動中などにコンピュータ20の中の要素
間で情報を転送するのを助ける基本ルーチンを含む基本入力/出力システム32
(BIOS)は、通常、ROM28の中に記憶される。RAM30は、通常、処
理装置22にとって即時にアクセス可能であり、かつ/または現在、操作されて
いるデータおよび/またはプログラム・モジュールを含む。例として、限定する
ものではなく、図1は、オペレーティング・システム46、アプリケーション・
プログラム48、その他のプログラム・モジュール50、およびプログラム・デ
ータ52を示す。
【0023】 また、コンピュータ20は、他の取外し可能/取外し不可能な、揮発性/不揮
発性のコンピュータ記憶媒体を含むことも可能である。単に例として、図1は、
取外し不可能な不揮発性磁気媒体に対する読取り、または書込みを行うハード・
ディスク・ドライブ34、取外し不可能な不揮発性磁気媒体38に対する読取り
、または書込みを行う磁気ディスク・ドライブ36、およびCD ROMまたは
その他の光媒体などの取外し可能な不揮発性光ディスク42に対する読取り、ま
たは書込みを行う光ディスク・ドライブ40を示す。例としての動作環境におい
て使用するのが可能であるその他の取外し可能/取外し不可能な、揮発性/不揮
発性のコンピュータ記憶媒体には、磁気テープ・カセット、フラッシュ・メモリ
・カード、デジタル・ビデオ・ディスク、デジタル・ビデオ・テープ、ベルヌー
イ(Bernoulli)カートリッジ、ソリッドステートRAM、ソリッドス
テートROM等が含まれるが、それらには限定されない。ハード・ディスク・ド
ライブ34、磁気ディスク・ドライブ36、および光ディスク・ドライブ40は
、通常、スモール・コンピュータ・システム・インターフェース(Small Comput
er System Interface)(SCSI)44でシステム・バス26に接続される。
別法では、ハード・ディスク・ドライブ34、磁気ディスク・ドライブ36、お
よび光ディスク・ドライブ40は、それぞれ、ハード・ディスク・ドライブ・イ
ンターフェース、磁気ディスク・ドライブ・インターフェース、および光ドライ
ブ・インターフェースによってシステム・バス26に接続されることが可能であ
る。
【0024】 前述し、図1に示したドライブおよびドライブに関連するコンピュータ記憶媒
体は、コンピュータ20に関するコンピュータ可読命令、データ構造、プログラ
ム・モジュール、およびその他のデータのストーレッジを提供する。図1では、
例えば、ハード・ディスク・ドライブ34が、オペレーティング・システム46
、アプリケーション・プログラム48、その他のプログラム・モジュール50、
およびプログラム・データ52を記憶するものとして示されている。以上の構成
要素は、オペレーティング・システム46、アプリケーション・プログラム48
、その他のプログラム・モジュール50、およびプログラム・データ52と同一
である、またはそれらとは異なるのが可能であることに留意されたい。ユーザは
、キーボード54、およびマウス、トラック・ボール、またはタッチ・パッドと
一般に呼ばれるポインティング・デバイス56などの入力装置を介してコンピュ
ータ20にコマンドおよび情報を入力することができる。その他の入力装置(図
示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライト
・ディッシュ、スキャナ等が含まれることが可能である。以上の入力装置および
その他の入力装置は、しばしば、システム・バスに結合されたユーザ入力インタ
ーフェース58またはシリアル・ポート・インターフェ60を介して処理装置2
2に接続されるが、パラメータ・ポート、ゲームポート、またはユニバーサル・
シリアル・バス(USB)などのその他のインターフェースおよびバス構造によ
って接続されることも可能である。モニタ61またはその他の表示装置も、ビデ
オ・アダプタ62などのインターフェースを介してシステム・バス26に接続さ
れる。モニタ61に加えて、コンピュータは、出力周辺インターフェースを介し
て接続することができるスピーカやプリンタなどのその他の周辺出力装置を含む
ことも可能である。
【0025】 コンピュータ20は、遠隔コンピュータ64などの1つまたは複数の遠隔コン
ピュータに対する論理接続を使用するネットワーク化された環境で動作すること
が可能である。遠隔コンピュータ64は、パーソナル・コンピュータ、サーバ、
ルータ、ネットワークPC、ピア装置、またはその他の一般的ネットワーク・ノ
ードであることが可能であり、メモリ記憶装置だけを図1で示したが、通常、コ
ンピュータ20に関連して前述した要素の多く、またはすべてを含む。図1に描
いた論理接続は、ローカル・エリア・ネットワーク(LAN)66、およびワイ
ド・エリア・ネットワーク(WAN)68を含むが、その他のネットワークを含
むことも可能である。そのようなネットワーク環境は、オフィス、企業全体のコ
ンピュータ・ネットワーク、イントラネット、およびインターフェースで一般的
である。
【0026】 LANネットワーク環境で使用されるとき、コンピュータ20は、ネットワー
ク・インターフェース、つまりアダプタ70を介してLAN66に接続される。
WANネットワーク環境で使用されるとき、コンピュータ20は、通常、インタ
ーネットなどのWAN68を介して通信を確立するためのモデム72またはその
他の手段を含む。内部または外部にあることが可能なモデム72は、シリアル・
ポート・インターフェース60または他の適切な機構を介してシステム・バス2
6に接続されることが可能である。ネットワーク化された環境では、コンピュー
タ20に関連して描いたプログラム・モジュール、またはプログラム・モジュー
ルの部分を遠隔メモリ記憶装置の中に記憶することが可能である。例として、限
定するものではなく、図1は、メモリ装置64上に常駐するものとして遠隔アプ
リケーション・プログラム48を示している。示すネットワーク接続は、例とし
てのものであり、コンピュータ間で通信リンクを確立する他の手段も使用できる
ことが理解されよう。
【0027】 コンピュータ20の他の多数の内部構成要素は示していないが、そのような構
成要素および相互接続は周知であることが、当分野の技術者には理解されよう。
したがって、コンピュータ20の内部構成に関するさらなる詳細は、本発明に関
連して開示する必要がない。
【0028】 オペレーティング・システム46、アプリケーション・プログラム48、およ
びデータ52などのプログラム・モジュールは、ROM28、RAM30、ハー
ド・ディスク・ドライブ34、磁気ディスク・ドライブ36、または光ディスク
・ドライブ40を含むことが可能なメモリ記憶装置を介してコンピュータ20に
提供されることが、当分野の技術者には理解されよう。好ましくは、ハード・デ
ィスク・ドライブ34を使用して、オペレーティング・システム46およびアプ
リケーション・プログラム48を含むデータ52およびプログラムを記憶する。
【0029】 コンピュータ20をオンにしたとき、またはリセットしたとき、ROM28の
中に記憶されているBIOS32が、ハード・ディスク・ドライブ34からRA
M30の中にオペレーティング・システムをロードするように処理装置22に命
令する。オペレーティング・システム46がRAM30の中にロードされると、
処理装置22が、オペレーティング・システム・コードを実行して、オペレーテ
ィング・システム46のユーザ・インターフェースに関連するビジュアル要素が
、モニタ61上に表示されるようにする。アプリケーション・プログラム48が
ユーザによって開かれたとき、プログラム・コードおよび関係のあるデータが、
ハード・ディスク・ドライブ34から読み取られ、RAM30の中に記憶される
【0030】 図2を参照すると、本発明を実施するための例としてのシステムが、参照番号
74によって一般的に示されている。システム74は、ネットワーク80(例え
ば、インターネット)にアクセスするためにPC76などのクライアント・マシ
ンおよびモデムなどの通信装置78を含む。また、サーバ82も従来の仕方でネ
ットワーク80に接続されている。PC76およびモデム78は、ネットワーク
80を介してサーバ82との接続を確立して、クライアントとサーバの間におけ
るデータの転送を円滑にする。
【0031】 図3に提示するシステム84は、図2のシステム74と同様であり、イントラ
ネットなどのリンク88を介して互いに接続されている第1のクライアント86
Aおよび第2のクライアント86Bをシステム84が含むことだけが異なってい
る。システム74と同様に、通信装置78(例えば、モデム)が、第1のクライ
アント86Aとネットワーク80の間で接続を確立する。したがって、クライア
ント86A、86Bは、ネットワーク80を介してサーバ82とデータを交換す
ることができる。
【0032】 本発明は、図2および3に示すシステム74、84に対する可能な多数の変形
形態を包含することが、当分野の技術者には容易に理解されよう。もちろん、任
意の数のクライアント・マシンおよびサーバ・マシンをネットワーク80に(直
接または間接的に)接続することができる。例えば、システム84が、2つ以上
のクライアント・マシンを含み、その1つが、その他のマシンのためのプロキシ
として動作することが可能である。その場合、クライアント・マシンは、イント
ラネットを介して互いに接続されていることが可能であり、またプロキシ・マシ
ンの中のネットワーク・カードは、T1回線を介してネットワーク80にリンク
されたルータに接続されていることが可能である。さらに、ネットワーク80は
、インターネット、または他の任意の公衆網または私設網であることが可能であ
る。さらに、通信装置78は、PC76の一部であること、または独立のハード
ウェア装置であることが可能である。
【0033】 本発明の一適用例では、クライアント・マシンは、PC76であり、装置78
は、56Kbps(キロビット/秒)モデムであり、ネットワーク80は、イン
ターネットであり、またサーバ82は、PCのオペレーティング・システムのた
めのソフトウェア更新をダウンロードするためのインターネットを介してアクセ
ス可能なWebサイトである。図4を参照すると、曲線90は、ある期間中、イ
ンターネットにアクセスするクライアントPCに関する実際のネットワーク帯域
幅使用率のレベルを表している。曲線90は、TないしTで上昇し、ユーザ
が最初にインターネットにアクセスした際に通常、生じるネットワーク活動の一
時的な上昇を反映する。次に、Tにおけるネットワーク活動の短い低下の後、
クライアントの実際の使用率は、再び劇的に上昇してTでピークに達する。こ
のピークは、Webページをダウンロードすること、または電子メール・メッセ
ージを開くことなどの、クライアントによって開始されるあらゆる数の可能な処
理を表していることが可能である。クライアント・マシンにおけるユーザがWe
bページまたは電子メール・メッセージを読んでいる間、または、場合により、
インターネットを介して音楽を聴いている間、実際のネットワーク使用率は、T ないしTで相当により低いレベルにまで低下する。
【0034】 TないしTに示す(図4)比較的低い実際のネットワーク帯域幅使用率の
レベルは、ときとして、「ネットワーク・アイドル状態」と呼ばれる。この概念
は、PCユーザが現在、キーボードまたはマウスを使用していないときに生じる
「マシン・アイドル状態」とは異なる。マシンが、ある期間にわたってアイドル
状態に留まる場合、スクリーン・セーバが起動される可能性がある。しかし、ネ
ットワーク使用率は、マシンがアイドル状態にあるのと同時に(例えば、ダウン
ロード中)、高い可能性があり、またマシンがアイドル状態にないときに、ネッ
トワーク・インターフェースが、「アイドル状態」にある可能性がある。したが
って、本発明は、ネットワーク使用率が比較的低いときに、ネットワークを介し
てソフトウェア更新などのデータの集合を転送することを目的とする。このデー
タ転送は、ユーザにはトランスペアレントであるものとされ、またユーザのマシ
ンが、この転送中にアイドル状態にある必要はない。このデータ転送は、ビデオ
・ゲームをすること、または音楽MP3ファイル、eBook等をダウンロード
することなどのPC上のユーザの処理によって開始された活動に関連することも
、容易に可能である。さらに、転送されるデータは、テキスト、イメージ、およ
び/またはオーディオ・データを含むことが可能である。また、本発明は、クラ
イアントからサーバへのアップロードに、またはコンピュータ間の他のデータ通
信にも同様に適用可能である。
【0035】 図7に関連して以下に説明するとおり、本発明は、曲線90(図4)で表され
る実際の使用率のレベルをモニタ(測定)し、それを下回ると、クライアントと
サーバの間におけるデータの転送が、その他のネットワーク活動を妨げる可能性
が低い、使用率のしきい値レベルを計算する。好ましい実施形態では、しきい値
レベルは、実際のネットワーク使用率の検出されるレベルの最大値のおよそ33
%に等しい。図4に示すとおり、しきい値レベルは、参照番号92で一般的に示
され、ゼロに初期設定される。ネットワーク活動は、周期的にサンプリングされ
、新しい最大値が識別されるたびに毎回、新しいしきい値レベルが計算される。
で実際の帯域幅使用レベルが、新しい最大値である15Kbpsであり、し
たがって、しきい値92は、5Kbpsに設定される。実際の帯域幅使用レベル
がTで再びサンプリングされ、30Kbpsの別の新しい最大値が識別される
。したがって、新しいしきい値92が計算されて10Kbpsになる。
【0036】 Tにおけるように、実際の使用レベル90が、しきい値レベル92を下回っ
て低下したとき、データの短い転送は、その他のネットワーク活動をそれほど妨
げないはずである。データの転送は、実際の使用率がしきい値レベルを下回った
のを最初に検出した時点で即時に開始することが可能である。ただし、ユーザを
より尊重するという意味でより保守的な手法は、低い使用率が少なくとも2回、
連続して生じたのを検出してからダウンロードを開始することである。いずれに
しても、Tで45Kbpsの新しい最大値が検出され、これにより、15Kb
psの更新されたしきい値レベルの計算がトリガされる。したがって、Tで何
らかのデータ転送が開始された場合には、その転送は、Tで即時にサスペンド
されることになる。Tで、実際の使用率90が再び、しきい値レベル92を下
回って低下する。今度は、実際の使用レベル90は、TないしTで、15K
bpsのしきい値レベルを下回る5〜10Kbpsの間に留まる。したがって、
ネットワークを介するデータの転送は、この期間中、その他のネットワーク活動
を妨げないことになる。
【0037】 本発明のクライアントの好ましいアーキテクチャを図5に提示している。クラ
イアント94が、更新クライアント96、更新エンジン98、更新ダウンローダ
100、および更新アプレット102を含む。クライアント94は、好ましくは
、HTTP(ハイパー・テキスト転送プロトコル)リンクである一対のリンク1
06、108を介して更新Webサイト104を介するなどしてサーバに接続さ
れる。更新クライアント96は、ユーザのための通知および個人化オプション(
personalization options)を担う。更新エンジン98は、更新サイト104と
の内容対話(content interaction)、ならびにソフトウェア更新の、検出、イ
ンストール、およびログ記録、を制御する。更新ダウンローダ100は、パケッ
ト・バックグラウンド・ダウンロード/スロットリング(packet background do
wnloading/throttling)、および着信パケット待ち行列管理を実施することを担
う。更新アプレット102は、ユーザに対する更新通知の構成(configuration
)、およびユーザとの他の対話を決定する。バックエンド内容(backend conten
t)およびカタログが、更新サイト104から入手可能である。
【0038】 本発明は、図6に示すデータ構造110を利用する。データ構造110は、実
際の帯域幅使用率の識別されたレベルの最大値を含む第1のフィールド112と
、使用率のしきい値レベルを含む第2のフィールド114とを含む。図4に示す
とおり、識別された最大レベルとしきい値レベルはともに、実際の使用率のレベ
ルに応じて、時間の経過につれて変化する傾向がある。前述したとおり、しきい
値レベルは、実際の使用の識別されたレベルの最大値の相関的要素として計算さ
れる。したがって、新しい最大レベルが検出されるたびに毎回、新しいしきい値
レベルが計算される。
【0039】 図7は、本発明の好ましい実施形態による、ネットワークを介してデータを選
択的に転送するためのコンピュータ・プログラム、を表す流れ図を提示している
。このプログラムは、ある所定の条件が存在するときにステップ120で開始さ
れる。通常、プログラムを開始する前にクライアントPCが、「オン」にされ、
ネットワークに接続されていなければならない。プログラムがPCとネットワー
クの間で接続を確立することも可能であろうが、いくらかのPCユーザは、自身
のモデムが自らネットワークをダイアル呼出しする予期しない音で驚かされる可
能性がある。また、クライアントが別のネットワーク(例えば、私設網(privat
e network))に接続されており、したがって、クライアントが私設網から接続
解除し、インターネットに再接続するまで、Webサーバに対するアクセスが可
能でないことも可能である。サーバに「ping(TCP/IPにおける最も基
本的で、かつ重要なコマンド)」を行い、サーバから確認応答を受信することに
よってクライアントとサーバが同一のネットワークに接続されていることを確認
することができる。当分野の技術者は、所与の状況でどの事前条件が適切である
かを容易に判定することができる。
【0040】 クライアントがサーバと同一のネットワークに接続されると、実際のネットワ
ーク帯域幅使用率のレベルが、ステップ122で獲得される。図4に示すとおり
、実際の使用率は、周期的に(例えば、5秒毎に)サンプリングされる。好まし
くは、サンプリングは、クライアントとネットワークの間の通信インターフェー
スにおいて所与の期間(例えば、1秒間)にわたって着信パケットの数および発
信パケットの数を記録しておくことによって行われる。「WINDOWS(登録
商標)98」オペレーティング・システムを実行するPCの場合、この情報は、
「iphlpapi.dll」におけるGetIfEntry関数を使用して入
手可能である。
【0041】 比較的大きなファイルが、ネットワーク・インターフェースにおいて実際のネ
ットワーク帯域幅使用のレベルを測定するためのより正確な基準を提供する。例
えば、測定のオーバーヘッドが相当なものであり、小さいファイルは可用帯域幅
を飽和させないため、200バイトのファイルに関してダウンロード時間を正確
に測定するのは困難である。したがって、本発明は、好ましくは、使用率の実際
のレベルの測定が、少なくとも4KBのサイズのファイルの転送速度に基づく場
合にだけ、使用率の最大レベルを更新する。
【0042】 好ましくは、特にシステム74より複雑なシステムにおいて、正確なモニタを
確実にするために、「バーチャル装置」のそれぞれが1つ1つ列挙される。本明
細書で使用する「バーチャル装置」という用語は、モデム(ケーブル・モデムお
よびISDNモデムを含む)、ネットワーク・カード、およびDSL(デジタル
加入者回線)などの、デバイス・ドライバを有する任意のネットワーク装置を指
す。2チャネルISDNモデムの各チャネルは、本発明に関しては、別個のバー
チャル装置と見なされる。
【0043】 重要なことには、実際のネットワーク帯域幅使用率のレベルは、単にネットワ
ーク装置の定格のスループット、つまり記載のスループットを当てにするのでは
なく、モニタ(測定)される。定格値は、実際のところ、モデムによって達せら
れる最大スループットが記載のスループットより小さく、各ネットワーク・セッ
ションごとに異なる可能性があるため、信頼できない。電話接続の品質などの不
確定要素により、通常、56Kbpsモデムに関して50Kbpsを下回る最大
可用帯域幅がもたらされる。
【0044】 さらに、定格値は、クライアントがプロキシによってネットワークに接続され
ている場合、正確であると見なすことができない。システム84では、第1のク
ライアント86Aと第2のクライアント86Bの間でイントラネット88を介す
るピア・ツー・ピア接続が存在し、また、第1のクライアント86Aは、モデム
78によってネットワーク80にリンクされている。56Kbpsモデムおよび
10Mbpsのイントラネットを想定すると、モデム78は、ネットワーク80
に対するボトルネックである。したがって、第1のクライアント86Aが、40
Kbpsのネットワーク帯域幅を利用しており、同時に第2のクライアント86
Bが、5Kbpsだけの帯域幅を使用する場合、他方のクライアントのネットワ
ーク活動を低下させることなくどちらかのクライアントにサーバ82から、デー
タの集合(例えば、ソフトウェア更新)をダウンロードするのに利用できる十分
なネットワーク帯域幅が存在しないことになる。さらに、第2のクライアント8
6Bが10Mbpsの最大スループットを有する、または第2のクライアント8
6Bはネットワーク・インターフェースの5Kbpsだけを使用しているため、
第2のクライアント86Bが相当な帯域幅が利用可能であると想定するのは正確
でないことになる。この場合、遠隔アクセスのケースでは、第2のクライアント
86Bに関する実際の帯域幅使用率のレベルは、RAS(遠隔アクセス・サービ
ス)装置テーブルから獲得することができる。したがって、各仮想装置において
実際のスループットをモニタすることは、セッション間の構成(configuration
)の変更に有利に適合し、したがって、より信頼できる手法である。
【0045】 図7を再び参照すると、実際の使用で検出されるレベルの最大値が、ゼロに初
期設定される。次に、ステップ124で、実際の使用率が現行の最大値を上回っ
ているかどうかが判定される。上回っていない場合、実際の使用率が、ステップ
122で再びサンプリングされる。ただし、実際の使用率が、現行の最大値を上
回る場合には、ステップ126で、新しい最大値が現行の実際のレベルに等しく
設定される。次に、ステップ128で、しきい値レベルが、最大値との関係で計
算される。しきい値は、ゼロに初期設定され、新しい最大値が検出されるたびに
毎回、新しいしきい値が計算される。一般的に、しきい値レベルは、検出される
最大レベルのおよそ5%〜80%までのどのようなレベルであることも可能であ
る。ただし、インターネット適用例に関して現行で好ましいしきい値は、検出さ
れる最大レベルのおよそ33%である。新しいしきい値レベルが計算されると、
ステップ122で実際の使用率が再びサンプリングされる。
【0046】 本発明は、ネットワーク接続が所与の期間中にビジー状態である時間のパーセ
ンテージなどの他の何らかのパラメータではなく、1秒当りのキロビットの実際
のネットワーク帯域幅のパーセンテージとして、しきい値レベルを計算すること
に留意されたい。例えば、1時間が経過するなかで75%の時間、ネットワーク
接続を利用しているクライアント・マシンは、必ずしも、可用帯域幅の75%を
使用していない。実際、クライアントPCにおけるユーザが、単にWebページ
を読んでいる、電子メールを読んでいる、音楽等を聞いている場合、実際の帯域
幅使用率のレベルは、最大可用帯域幅をはるかに下回る可能性が高い。クライア
ント・レベルで実施される本発明は、ハードウェア・レベルで帯域幅を制限する
ための方法(例えば、ソケット)とは、根本的に異なることが、当分野の技術者
には理解されよう。
【0047】 実際のネットワーク帯域幅使用率のレベルは、ステップ122で獲得されるご
とに、現行のしきい値レベルに対する比較も行われる。ステップ130で、実際
の使用率がしきい値レベルを下回っているかどうかが決定される。下回っている
場合、サーバから入手可能なソフトウェア更新(または、他のデータの集合)を
、ネットワークを介してクライアントにダウンロードすることができる。クライ
アントの他のあらゆる現在または将来のネットワーク活動に対する妨げを最小限
に抑えるため、ダウンロードは、好ましくは、いくつかのセグメントで、ソフト
ウェア更新をダウンロードすることによって行われる。したがって、ステップ1
32で、ファイルの1つのセグメントが、サーバからクライアントにダウンロー
ドされる。第1のセグメントをダウンロードした後、クライアントのネットワー
ク活動が増大する場合、ファイル全体のダウンロードは、実際の使用率が低下し
て再びしきい値レベルを下回るまでサスペンドすることができる。ただし、ネッ
トワークが、長期間にわたってアイドル状態にある場合、ネットワークを介して
ダウンロードするファイルのセグメントを次第により大きくすることにより、ダ
ウンロードを加速させることができる。
【0048】 カウント装置が、本発明の好ましい実施形態において提供されて、次第に、よ
り大きなファイル・セグメントをダウンロードするのを容易にする。例えば、図
7のステップ132で、ファイルの8KBのセグメントを最初に転送することに
より、インターネットを介してサーバからクライアントに144KBのファイル
をダウンロードすることができる。8KBなどの小さいセグメントは、短い期間
中にパイプラインの100%を使用し、セグメント間の実際の使用率を頻繁にモ
ニタすることを可能にするため、効果的なデフォルトであることが判明している
。ユーザが、8KBのブロックのダウンロード中にURL(ユニフォーム・リソ
ース・ロケータ)上でクリックした場合でさえ、ユーザに対する目立った遅延は
存在しない。さらに、中断が生じた場合、損失する可能性があるのは、せいぜい
8KBである。
【0049】 ステップ134で、ファイル全体がダウンロードされたかどうかが判定される
。8KBのブロックは144KBのファイルの第1のセグメントであるため、フ
ァイル全体は、ダウンロードされておらず、ゼロに初期設定されているカウンタ
が、ステップ136で「1」に増分(increment)される。カウンタは、中断な
しに連続的にダウンロードされたセグメント数の経過を記録し、それゆえ、ネッ
トワーク活動が低いままである限り、セグメントのサイズを増大させることがで
きる。例として、カウンタが「2」に等しい場合、セグメントのサイズを16K
Bに増大させることが可能であり、カウンタが「4」に等しい場合、セグメント
のサイズを32KBに増大させることが可能である。これにより、ネットワーク
活動がしきい値レベルを下回ったままであるという条件付きで、小さな8KBの
セグメント18個ではなく、7つの次第に大きくなるセグメントで144KBの
ファイルをダウンロードすることが可能になる。より大きいセグメントは、ダウ
ンロードするのにより長い時間がかかり、したがって、実際の使用率がモニタさ
れる頻度がより低くなることになるが、この手法は、低いネットワーク活動が延
長されたすべての期間を利用する。通常、ヘッダが各セグメントに付け加えられ
る、したがって、より少ない個数のより大きいセグメントを転送することは、ネ
ットワークを介して転送されるヘッダの総数を減少させるので、ネットワーク・
オーバーヘッドも低減する。現在、56Kbpsモデムを使用する場合に推奨さ
れる最大のセグメントは、64KBのセグメントである。
【0050】 ステップ136でカウンタを増分した後、ステップ122および130が繰り
返される。実際の使用レベルが、もはやしきい値レベルを下回っていない場合、
ステップ138で、ファイルのダウンロードがサスペンドされ、カウンタがクリ
アされる(すなわち、ゼロに設定される)。次に、ステップ122で、実際の使
用率が再びサンプリングされる。ダウンロードがサスペンドされた場合、そのダ
ウンロードが、サスペンドされたポイントから再開される。しかし、実際の使用
率がしきい値レベルを下回ったままである場合、ステップ132で、次のセグメ
ントがダウンロードされ、ファイル全体がダウンロードされたことがステップ1
34で決定されるまでプロセスが繰り返される。ファイル全体がダウンロードさ
れたことが決定された場合、ステップ140でカウンタがクリアされ、ステップ
142でループが終了する。
【0051】 本発明の漸進的ダウンロード(progressive download)の特徴は、いくらかの
既存のサーバの限界を克服するために、フィルタリングまたは同様の技法を必要
とする可能性がある。漸進的ダウンロードは、FTP(ファイル転送プロトコル
)レベルで一般に利用可能であったが、HTTP1.1サーバが利用可能になる
までは、HTTPレベルでは利用可能でなかった。前述したとおり、本発明は、
8KBのファイル・セグメントをデフォルトとするバイト範囲手法を利用する。
第1のセグメントに関して、「0〜7999」のバイト範囲が、クライアントか
らのダウンロード要求において指定され、「8000〜15999」の範囲が、
第2のセグメントに関するダウンロード要求において指定され、以下同様である
。ただし、HTTP1.0サーバに遭遇した場合、要求のバイト範囲部分は失わ
れることになり、ファイル全体が一度にダウンロードされることになる。この問
題を回避する一方策は、ISAPI(インターネット・サーバ・アプリケーショ
ン・プログラミング・インターフェース)フィルタを使用して、HTTP1.0
プロキシを介してHTTP1.1のバイト要求を促すことである。この場合、H
TTP1.0サーバに遭遇した場合でも、バイト範囲情報が失われない。
【0052】 もちろん、セグメントの好ましいサイズ、つまり好ましいバイト範囲は、モデ
ムの速度などの要因に基づいて劇的に異なる可能性がある。前述の例(例えば、
8KBのデフォルト・セグメント・サイズ)は、多数のユーザが、56Kbps
モデムを使用してネットワークにアクセスするという想定に基づく。しかし、多
数のユーザが、28Kbpsモデムを使用してネットワークにアクセスするもの
と想定するのが適切である可能性がある。その場合、好ましいデフォルト・セグ
メント・サイズは、8KBではなく、4KBになる。同様に、漸次のより大きい
セグメントは、16KBおよび32KBではなく、8KBおよび16KBになる
。様々なその他のセグメント・サイズの使用も本明細書によって企図されること
が、当分野の技術者には認められよう。
【0053】 本発明の別の実施形態では、長いダウンロード中の実際の帯域幅使用率のモニ
タに、そのようなダウンロードの前または後における実際の帯域幅使用率のモニ
タに対してよりも大きい重みを与えることが可能である。つまり、所定数のセグ
メントが連続的にダウンロードされた場合、そのセグメントのそれぞれに関する
平均使用レベルを新しい「最大」レベルとして採用することができる。例えば、
セグメントの所定数が10である場合、10の連続するセグメントのダウンロー
ド中における平均使用レベルが、その平均レベルが前の最大値を下回る場合でさ
え、その前の最大レベルを置き換えることになる。さらに、11のセグメントが
連続的にダウンロードされた場合、セグメント2〜11に関して平均レベルが計
算され、したがって、10のダウンロードの移動平均が、新しい最大レベルと新
しいしきい値レベルの両方を決定する。
【0054】 最大レベルを識別するために移動平均を使用することは、有都合良く、測定の
正確さを損なうことなく、変化するネットワーク・トラフィック条件に応答して
しきい値レベルに対する動的な増加または減少を提供する。好ましくは、最大レ
ベルは、別の長いダウンロードが行われるまで、最新の移動平均(所定数のセグ
メントの)にとどめ置かれる。言い換えれば、長いダウンロードに基づく最大レ
ベルの方が、ダウンロードに先立って測定された最初の最大レベルよりも正確な
可用帯域幅の反映であると考えられる。同様に、独立したセグメントのダウンロ
ードは、可用帯域幅の正確な反映を提供しない可能性がある。移動平均に関する
連続するダウンロードの数を記録に留めておくため、図7で参照するもののよう
なカウンタを使用することができる。
【0055】 本発明の別の実施形態を以下に図8〜10に関連して説明する。図10を参照
すると、本発明のさらなる実施形態が、曲線804(図8)によって表される実
際のネットワーク使用率のレベルをモニタし、クライアントとサーバの間におけ
るデータの転送がその他のネットワーク活動を妨げる可能性が低いように、所定
の間隔(Tn−1〜T)(図8)内で転送することができるデータ・ブロック
のサイズを計算する。ブロックは、転送されるべきデータの集合全体の一部分、
またはデータの他の独立した有用な単位を表す。このさらなる実施形態は、ブロ
ック・サイズを計算し、ネットワーク速度推定についてリファインすることによ
り、固定されたしきい値を利用していつデータを転送するかを決定する前述した
実施形態と対比して、ネットワークの可用帯域幅をより十分に利用する。
【0056】 実際には、例として、限定するものではなく、図8は、本発明のさらなる実施
形態からのいくつかの概念を示す。図8に示すとおり、サンプリング時刻は、T で一般的に示され、また間隔Tn−1〜Tは、1秒間などの値に初期設定さ
れる。図8で、TとTの間隔(808)の間の外部使用率曲線804の下の
領域(エリア1)が、本発明以外のプロセスによって転送されたバイトの総数を
表す。観察されたネットワーク・スループット802、外部使用率曲線804、
およびTとTの間隔(808)で画定された領域(エリア2)が、ブロック
・サイズとして割り当てることができる可能性のあるバイト量を表す。示すとお
り、ネットワーク・スループット802および外部使用率804は、時間の経過
とともに変動し、これにより、可用帯域幅を十分に利用するため、ブロック・サ
イズの再計算が必要となる。ネットワーク活動が、各間隔中の様々な時点でサン
プリングされる。次に、サンプリング間隔は、図4〜7の実施形態とは対照的に
、固定値に維持されるのではなく、判定されたネットワーク速度およびネットワ
ーク使用率に応答して調整される。これにより、ネットワークに合せて最適化さ
れていないブロック・サイズを使用することから生じるCPUのオーバーヘッド
およびネットワークのオーバーヘッドが低減される。
【0057】 この実施形態は、3つの構成要素を含む。ネットワーク・インターフェース・
ハードウェアを介して送受信されるバイト数に関するデータを収集するネットワ
ーク・インターフェース構成要素が存在する。グローバル速度、ダウンロード速
度、および空き帯域幅を判定するネットワーク速度計算機構成要素が存在する。
最後に、速度構成要素によって計算された値を使用してブロック・サイズおよび
ダウンロード間隔サイズを計算するデータ・ブロック・ダウンロード構成要素が
存在する。
【0058】 このさらなる実施形態によって使用されるアルゴリズムを以下に詳述する。こ
の場合も、以下のアルゴリズムの中の参照内容は、例としてのものであることに
留意されたい。というのは、このアルゴリズムは、データのアップロードにも同
様に適用可能だからである。
【0059】 この実施形態は、各時間間隔を2つの段階、ダウンロード・フェーズおよびア
イドル・フェーズに分割する。ダウンロード・フェーズ中、ソフトウェアは、サ
ーバからデータ・ブロックをダウンロードする。アイドル・フェーズ中、ソフト
ウェアは、ネットワークを他のアプリケーションに明け渡す。
【0060】 この実施形態のネットワーク・モニタ構成要素は、所与の時点でネットワーク
・インターフェースを通過したバイト数を記録するカウンタに対するアクセスを
有する。カウンタの2つの読取りの間の差が、その2つの読取りの間の時間中に
転送されたバイト数を示す。
【0061】 各時間間隔(Tn−1〜T)中、ネットワーク・モニタ構成要素は、次の3
つの時点、(1)ダウンロード・フェーズの開始でもある間隔の開始、(2)ダ
ウンロード・フェーズの終了、および(3)間隔の終了、でシステム・クロック
および転送バイト・カウンタをサンプリングする。ダウンロード構成要素は、間
隔の長さ、ダウンロードされるブロックのサイズ、およびダウンロード・フェー
ズの予期される継続時間を記録する。間隔の終了時に、ネットワーク速度構成要
素が、以下のとおり自らの速度推定値を更新する。
【0062】 1.間隔中にブロックがダウンロードされた場合、ダウンロード速度は、 最新速度=(ブロック・サイズ+ネットワーク・ヘッダ・サイズ)/時点2に
おける時刻−時点1における時刻) として計算され、平均ダウンロード速度が更新される。本実施形態は、次の数式
を使用する サンプル・カウントを3に設定して、 1−1.新ダウンロード速度=旧ダウンロード速度(サンプル・カウント−
1)/サンプル・カウント、 1−2.新ダウンロード速度=新ダウンロード速度+(最新速度/サンプル・
カウント)、 ただし、他の多数の数式を代りに使用することも可能である。このことは、ダウ
ンローダが計算するその他の平均値についても当てはまる。平均ダウンロード速
度により、ブロック・ダウンロード構成要素が、次の間隔のダウンロード・フェ
ーズ中に完了可能なブロック・サイズを選択することができるようになる。
【0063】 2.構成要素が、グローバル速度に達するダウンロード・フェーズ中のネット
ワーク使用率を以下のとおり測定する。 転送バイト=(時点2におけるバイト−時点1におけるバイト) ダウンロード・フェーズの長さ=(時点2における時刻−時点1における時刻
) 最新グローバル速度=転送バイト/ダウンロード・フェーズの長さ これが、ダウンローダの開始から最初の間隔である場合、グローバル速度は、
最新グローバル速度に設定される。 そうでなれば、 if 最新グローバル速度<グローバル速度/2 then グローバル速度=(グローバル速度0.9) 最新グローバル速度は、平均ダウンロード速度に関して使用するのと同じアルゴ
リズムによってグローバル速度に平均される。グローバル速度は、ネットワーク
・インターフェースの合計スループットの推定値として使用される。
【0064】 3.以下のとおり、間隔全体にわたってネットワーク使用率を測定し、ダウン
ローダの外部のソースからの部分を計算し、空きパーセンテージを計算する。 転送バイト=(時点3におけるバイト−時点1におけるバイト)−(ブロック
・サイズ+オーバーヘッド) 実際の間隔の長さ=(時点3における時刻−時点1における時刻) 外部使用率=転送バイト/実際の間隔の長さ 空きパーセンテージ=100(1−外部使用率/グローバル速度) ブロック・ダウンローダ構成要素が、空きパーセンテージを使用して後続のダ
ウンロード間隔のダウンロード・フェーズとアイドル・フェーズの相対的長さを
選択する。さらなる実施形態は、外部活動の増大に対する備えとして空きパーセ
ンテージを80%に制限し、他の同様なポリシーも可能である。
【0065】 さらなる実施形態は、図1〜7のように固定値を使用するのではなく、ネット
ワーク速度およびネットワーク使用率に応じてサンプリング間隔の継続時間を調
整する。これにより、ネットワークに合せて最適化されていないブロック・サイ
ズを使用することから生じるCPUのオーバーヘッドおよびネットワークのオー
バーヘッドが低減される。例えば、多くの実施形態において、非常に大きいブロ
ック・サイズを使用することは、法外な量のメモリをバッファとして専用にする
ことを必要とする。反対に、データを一連の非常に小さいブロックとして送信す
ることは、余分のネットワーク・ヘッダ・フィールドおよびネットワーク・プロ
トコル確認応答を必要とするので、リソースを浪費する可能性がある。ネットワ
ーク帯域幅を十分に利用し、ネットワーク・トラフィックに対する妨げを最小限
に抑えるブロック・サイズを導出することが、このさらなる実施形態の利点であ
る。適切なブロック・サイズを決定することに関与するいくつかのステップおよ
び構成要素が存在する。
【0066】 さらなる例示のため、図8に関連して、ダウンローダのメモリによって規定さ
れるブロック・サイズの上限が、30Kbである、すなわち、ダウンローダが、
ディスクに書き込むのを必要とするまでに、30Kbのデータを保持することが
できるものと想定する。デフォルトの間隔の継続時間が、1秒間であり、間隔T 〜Tに対して計算されたブロック・サイズが、最大値を超える35Kbであ
るものとさらに想定する。このため、本発明のアルゴリズムは、最大値を下回る
ようにブロック・サイズを縮小するため、次の間隔T〜Tの継続時間を短縮
する。この例示を続けると、間隔T〜Tが、例えば、0.8秒間に短縮され
た場合、ブロック・サイズの限度内である28Kbの計算されたブロック・サイ
ズがもたらされる。したがって、次の間隔T〜T(820)も1秒間ではな
く、0.8秒間に設定される。様々な間隔値および他のブロック・サイズの限度
の使用も本発明によって企図されることが、当分野の技術者には理解されよう。
反対に、計算されたサイズが、所与の間隔中に転送するのに非効率的なデータ・
サイズであると判定されているデフォルトの下限を下回る場合、そのブロック・
サイズは、小さすぎると考えられる。この場合、ダウンローダは、最小サイズを
ダウンロードし、次に、1つまたは複数の間隔中、何もダウンロードしないのを
選択すること、または間隔の長さを増大させるのを選択することが可能である。
【0067】 いくつかの保守的手法がこのさらなる実施形態においてとられ、可用ネットワ
ーク帯域幅をより十分に利用しながら、許容可能なシステム応答性レベルをサポ
ートする。任意の数の多かれ少なかれ保守的な手法が、本発明によって使用され
ることが可能であり、企図されることが、当分野の技術者には理解されよう。よ
り具体的には、最新サンプルにより大きい重みを付けたグローバル速度およびダ
ウンロード速度に関する平均を使用することにより、サンプリングされたネット
ワーク・データの平滑化が達せられる。移動平均を計算する際に、最新サンプル
は、新しい合計の30%に相当し、前の値が、70%に相当する。最新値を前の
平均値で薄めるこの特定の方法を使用しているが、他の実施形態も、ネットワー
ク活動におけるスパイクからの回復を可能にする同じ結果を達することになる。
例えば、最新の10のサンプルを保持し、次に、毎回、すべての保存されたサン
プルおよび新しく獲得されたサンプルを使用して平均を再計算することで、同じ
結果が達せられることになる。行われる別の手法は、平均使用速度の1/2を下
回ると判定されたグローバル速度に関わる。この場合、この低下は、帯域幅が突
然、失われたのではなく、クライアントが活動していないことの結果であると考
えられる。したがって、新たに判定されたグローバル速度値は、平均値には導入
されない。というのは、導入すると、帯域幅平均値を不当に低下させることにな
るからである。ただし、グローバル速度平均値は、帯域幅が実際に変化した場合
、10%のような値だけ、わずかに低下する。そのような帯域幅変化の例は、地
域における雷雨のために電話回線の雑音が突然、増加した場合であろう。行われ
るさらに別の保守的手法は、他のアプリケーションのために少し余裕を残すため
、80%のような値に空きパーセンテージを制限することに関する。
【0068】 本発明のさらなる実施形態は、図9に示すデータ構造900を利用する。デー
タ構造900は、実際の帯域幅使用率の識別されたレベルが調べられた時刻を含
む第1のフィールド912と、ネットワーク・インターフェースを通るバイトの
総数を含む第2のフィールド914と、アダプタによって送信または受信された
バイトの単調に増加するカウンタとを含む。図8に示すとおり、タイムスタンプ
とバイト・カウントはともに、実際の使用率802に応じて、各サンプリングで
異なる。これらの値の連続する測定を引き算することにより、間隔期間、および
間隔期間中に転送されたバイトの数が得られる。
【0069】 図10は、本発明のさらなる実施形態によるネットワークを介してデータを選
択的に転送するためのコンピュータ・プログラムを表す流れ図を提示している。
このプログラムは、ある所定の条件が存在するとき、ステップ1000で開始さ
れる。クライアントがサーバと同じネットワークに接続されると、ステップ10
02で、ブロック・サイズ、空きパーセンテージ、およびサンプリング間隔が、
デフォルト値に初期設定される。図8に示すとおり、実際の使用率が周期的に(
例えば、毎秒)サンプリングされる。好ましくは、前述したとおり、サンプリン
グは、クライアントとネットワークの間の通信インターフェースにおいて間隔サ
ンプリング期間の重要な時点(例えば、間隔の開始、ブロック転送の終了、およ
び間隔の終了)で着信バイトの数および発信バイトの数を記録しておくことによ
って行われる。
【0070】 図10を再び参照すると、ブロック・サイズ、空きパーセンテージ、および間
隔に関する初期設定された値に基づき、ステップ1004で、ブロック・ダウン
ロードおよびネットワーク・データ収集が行われる。次に、ステップ1006で
、ネットワーク速度関連要素、すなわち、ダウンロード速度、グローバル速度、
および空きパーセンテージが、適宜にリファインされ、更新される。次に、ステ
ップ1008で、ネットワーク速度関連要素との関係でブロック・サイズが計算
される。一般的に、ブロック・サイズは、通信パケット・ヘッダのサイズからダ
ウンローダに割り振られたメモリのサイズまでのどのサイズであることも可能で
ある。インターネット適用例に関する現行で好ましい最小ブロック・サイズは、
ブロック・データとして500バイト、またHTTP要求および応答パケット・
ヘッダとして500バイトのおよそ1000バイトである。サイズが計算される
と、ステップ1004で、実際の使用率が再び計算される。
【0071】 ステップ1006で、ダウンロード速度の平均およびグローバル速度が計算さ
れ、ネットワーク空きパーセンテージ値も計算される。図8に関連して前述した
とおり、このプロセス中、観察されたグローバル速度が、平均グローバル速度の
許容可能な範囲内にあるかどうか、また空きパーセンテージが、帯域幅値の所定
の最大分数値を下回るかどうかが判定される。本発明のさらなる実施形態では、
観察されたグローバル速度は、新しい平均グローバル速度の計算に含められるに
は、平均グローバル速度の1/2を上回らなければならない。そうでなければ、
新しい平均値は、前の平均グローバル速度の90%に決定される。空きパーセン
テージに関して、本発明のさらなる実施形態では、計算される空きパーセンテー
ジが80%を超えないことが必要とされるのが可能である。
【0072】 サーバから入手可能なソフトウェア更新(または他のデータの集合)をネット
ワークを介してクライアントにダウンロードすることができる。前述したとおり
、クライアントの他のあらゆる現在または将来のネットワーク活動に対する妨げ
を最小限に抑えるため、ダウンロードは、好ましくは、ブロックとも呼ばれるい
くつかのセグメントでソフトウェア更新をダウンロードすることによって行われ
る。したがって、ステップ1004で、ファイルの1つのセグメントが、サーバ
からクライアントにダウンロードされる。第1のセグメントをダウンロードした
後、クライアントのネットワーク活動が増大した場合、このさらなる実施形態は
、ブロック・サイズが前述した最小値を下回らない限り、より小さいブロックを
ダウンロードする。しかし、ネットワークがアイドル状態になった場合、ステッ
プ1006の次の反復が、ブロック・サイズを適切に増大させる。
【0073】 ステップ1008で、計算されるブロック・サイズが、下限値および上限値に
よって限定される。下限は、余りにも小さいので、その特定の間隔中に何も行わ
ない方がより効率的であるようなサイズである。計算されるブロック・サイズが
、2つの連続する間隔中にこの限界を下回った場合、ステップ1010で示すと
おり、間隔のサイズが増分され、この第2の間隔中、ブロックが全くダウンロー
ドされない。計算されるブロック・サイズが、新たに増分された間隔中に下限を
下回ったままである場合、ブロック・サイズは、「ビジー・ブロック・サイズ」
に設定され、間隔は、デフォルトの間隔値に設定される。ビジー・ブロック・サ
イズは、最小限のダウンロードが行われるのを可能にして、1)ダウンロードプ
ロセス中に何らかの漸進が行われ、2)サーバが余りにも遅く、計算されるブロ
ック・サイズがダウンローダの最小値まで決して上昇しない状況に本発明が対処
することができ、3)ダウンロードのプロセスが、推定ネットワーク速度につい
てリファインする(refinement)のを可能にするようにする値である。最大限度
を超えるブロック・サイズは、計算されるブロック・サイズを限度内に保つこと
ができるように間隔の短縮をもたらす。
【0074】 本発明は、制限するものではなく、例示するものである例としての実施形態に
関連して説明してきた。例えば、PCのオペレーティング・システムに関するソ
フトウェア更新をダウンロードするコンテキストにおいて、本発明を説明してき
た。ソフトウェア更新は、同様に、PC上のビデオ・ゲームに対する更新などの
他の多くのタイプのソフトウェアに関わることも容易に可能である。さらに、ダ
ウンロードされるデータは、テキスト、イメージ、および/またはオーディオ・
データを含むことが可能である。また、本発明は、クライアントからサーバへの
アップロードにも同様に適用可能である。
【0075】 本発明の代替の実施形態は、図面を含む本明細書を吟味することにより、本発
明が関係する分野の技術者には明白になろう。したがって、本発明の範囲は、以
上の説明によってではなく、頭記の特許請求の範囲によって定義される。
【図面の簡単な説明】
【図1】 本発明を実施する際に使用するのに適したコンピュータ・システム環境を示す
ブロック図である。
【図2】 ネットワークを介してサーバと通信するクライアント・マシンを含むシステム
を示すブロック図である。
【図3】 図2と同様であるが、第1のクライアント・マシンおよび第2のクライアント
・マシンがイントラネットを介して互いに接続されているのを示すブロック図で
ある。
【図4】 曲線が、実際のネットワーク帯域幅使用率を示し、また破線が、本発明に従っ
て計算された使用率のしきい値レベルを表す、時間経過におけるネットワーク帯
域幅使用率を示す図である。
【図5】 本発明によるクライアント・マシンのアーキテクチャを示すブロック図である
【図6】 本発明によるデータ構造を示すブロック図である。
【図7】 本発明に従ってネットワークを介してデータを転送するためのコンピュータ・
プログラムを表すフローチャートである。
【図8】 実線の曲線が、実際のネットワーク帯域幅使用率を表し、また破線の曲線が、
クライアントとサーバの間の観察された転送速度、および本発明のさらなる実施
形態によるネットワークを介するデータ・フロー速度を表す、時間経過における
ネットワーク帯域幅使用率を示す図である。
【図9】 本発明のさらなる実施形態によるデータ構造を示すブロック図である。
【図10】 本発明のさらなる実施形態によるネットワークを介してデータを転送するため
のコンピュータ・プログラムを表す流れ図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,UZ,VN, YU,ZA,ZW (72)発明者 ダーシャットクーマー エー.シャー アメリカ合衆国 98007 ワシントン州 ベルビュー ノースイースト 40 プレイ ス 14717 アパートメント ナンバーエ ス912 (72)発明者 ブライアン ジョーゼフ ムーア アメリカ合衆国 98052 ワシントン州 レドモンド 161 プレイス ノースイー スト 10220 (72)発明者 ジェフリー エス.ロバーツ アメリカ合衆国 98034−4638 ワシント ン州 カークランド 116 プレイス ノ ースイースト 14827 (72)発明者 スティーブン スコット エバンス アメリカ合衆国 98052 ワシントン州 レドモンド 165 プレイス ノースイー スト 3904 アパートメント ゼット1079 (72)発明者 マイケル ディー.ゾラン アメリカ合衆国 98052 ワシントン州 レドモンド 156 アベニュー ノースイ ースト 4850 アパートメント 187 (72)発明者 エドワード エフ.レウス アメリカ合衆国 98072 ワシントン州 ウッディンビル 164 ストリート ノー スイースト 16934 Fターム(参考) 5B085 AC11 BA06 BG02 5K030 LC01 LC09 MA04 MB09 【要約の続き】 妨げることなくネットワークを介して転送またはダウン ロードすることができる、ソフトウェア更新などのデー タの集合のセグメント、を表す。

Claims (56)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークを介してデータの集合を転送する方法であって
    、 実際のネットワーク帯域幅使用率のレベルをモニタ(測定)するステップと、 実際の使用率についてモニタされたレベルの最大値を識別するステップと、 使用率についてモニタされたレベルの前記最大値の相関的要素(function)と
    して使用率についてのしきい値レベルを計算するステップと、 前記実際のレベルが前記しきい値レベルを下回っている場合、前記ネットワー
    クを介して前記データの集合の少なくとも一部分を受信するステップと を備えることを特徴とする方法。
  2. 【請求項2】 クライアントが、前記ネットワークを介して前記データをサ
    ーバから受信することを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記モニタするステップは、前記クライアントと前記ネット
    ワークの間のインターフェースにおいて行われることを特徴とする請求項2に記
    載の方法。
  4. 【請求項4】 前記ネットワークは、インターネットであることを特徴とす
    る請求項1に記載の方法。
  5. 【請求項5】 前記しきい値レベルは、前記モニタされたレベルの最大値の
    所定パーセンテージに等しいことを特徴とする請求項1に記載の方法。
  6. 【請求項6】 前記データの集合は、ソフトウェア更新を備えることを特徴
    とする請求項1に記載の方法。
  7. 【請求項7】 前記データの集合の一部分が受信されるたびに毎回、少なく
    とも前記モニタするステップを繰り返すステップをさらに備えることを特徴とす
    る請求項1に記載の方法。
  8. 【請求項8】 前記受信するステップは、前記実際のレベルが前記しきい値
    レベルを下回っているとき、前記ネットワークを介して前記データの集合の、複
    数の個別の部分を別々に受信するステップを備えることを特徴とする請求項7に
    記載の方法。
  9. 【請求項9】 前記ネットワークを介して前記データの個別の部分が受信さ
    れるたびに毎回、カウンタを増分するステップをさらに備えることを特徴とする
    請求項8に記載の方法。
  10. 【請求項10】 前記データの前記個別の部分のサイズは、前記カウンタの
    値の相関的要素であることを特徴とする請求項9に記載の方法。
  11. 【請求項11】 前記カウンタの値が所定の値を上回るとき、前記データの
    前記個別の部分のサイズを増大させるステップをさらに備えることを特徴とする
    請求項10に記載の方法。
  12. 【請求項12】 前記ネットワークを介して前記データの前記複数の個別の
    部分のすべてを受信した後、前記カウンタをクリアするステップをさらに備える
    ことを特徴とする請求項9に記載の方法。
  13. 【請求項13】 前記実際の使用率のレベルが前記しきい値レベルを上回る
    ようになった場合、前記カウンタをクリアするステップをさらに備えることを特
    徴とする請求項9に記載の方法。
  14. 【請求項14】 前記実際の使用率のレベルが前記しきい値レベルを上回る
    ようになった場合、前記データの個別の部分の前記受信をサスペンドするステッ
    プをさらに備えることを特徴とする請求項8に記載の方法。
  15. 【請求項15】 前記実際の使用率のレベルが前記しきい値レベルを下回る
    ようになったとき、前記サスペンドの時点から前記データの個別の部分の前記受
    信を再開するステップをさらに備えることを特徴とする請求項14に記載の方法
  16. 【請求項16】 前記データの集合が受信されるたびに毎回、前記モニタす
    るステップを繰り返すステップと、 前記データの集合の受信中、使用率の最大レベルを識別するステップと、 前記データの集合の受信中に識別された使用率の前記最大レベルの相関的要素
    として、前記データの集合に関するしきい値レベルを計算するステップと をさらに備えることを特徴とする請求項1に記載の方法。
  17. 【請求項17】 前記識別するステップは、前記データの集合の受信中、前
    記モニタするステップを所定の回数繰り返した後、前記データの集合に関する使
    用率の平均レベルを計算することによって前記データの集合の受信中に使用率の
    前記最大レベルを推定するステップを備えることを特徴とする請求項16に記載
    の方法。
  18. 【請求項18】 前記実際のレベルが前記データの集合に関する前記しきい
    値レベルを下回っている場合、前記ネットワークを介して前記データの集合の少
    なくとも一部分を受信するステップをさらに備えることを特徴とする請求項16
    に記載の方法。
  19. 【請求項19】 前記実際のレベルが前記データの集合に関する前記しきい
    値レベルを下回っている場合、前記ネットワークを介して第2のデータ集合の少
    なくとも一部分を受信することをさらに備えることを特徴とする請求項16に記
    載の方法。
  20. 【請求項20】 請求項1に記載の前記ステップを行うためのコンピュータ
    実行可能命令を有することを特徴とするコンピュータ可読媒体。
  21. 【請求項21】 メモリと、オペレーティング・システムと、中央プロセッ
    サとを有するコンピュータ・システムであって、前記プロセッサは、請求項20
    に記載の前記コンピュータ可読媒体上に記憶された前記命令を実行するように動
    作可能であることを特徴とするシステム。
  22. 【請求項22】 データ構造を記憶しているコンピュータ可読媒体であって
    、 実際のネットワーク帯域幅使用率のモニタされたレベルの最大値を表すデータ
    を備える第1のデータ・フィールドと、 それを下回ると、他のネットワーク活動を妨げることなく前記ネットワークを
    介してデータを転送することができるネットワーク帯域幅使用率のしきい値レベ
    ルを表すデータを備える第2のデータ・フィールドとを含み、 前記第2のデータ・フィールドは、前記モニタされたレベルの最大値の相関的
    要素として前記しきい値レベルを計算することによって、前記第1のデータから
    導出されることを特徴とする媒体。
  23. 【請求項23】 前記しきい値レベルは、モニタされたレベルの前記最大値
    の所定のパーセンテージとして計算されることを特徴とする請求項22に記載の
    コンピュータ可読媒体。
  24. 【請求項24】 前記実際のネットワーク帯域幅使用率は、クライアント・
    マシンと前記ネットワークの間のインターフェースにおいて、モニタされること
    を特徴とする請求項22に記載のコンピュータ可読媒体。
  25. 【請求項25】 ネットワークを介するデータの転送を管理するためのコン
    ピュータ実行可能構成要素を有するコンピュータ可読媒体であって、 ネットワーク接続に関して実際の帯域幅使用率のレベルをモニタし、使用率の
    モニタされたレベルの最大値を識別する帯域幅モニタ構成要素と、 前記帯域幅モニタ構成要素によって識別された前記モニタされた、使用率のモ
    ニタされたレベルの最大値の相関的要素として使用率のしきい値レベルを計算す
    るしきい値計算構成要素と、 前記実際の帯域幅使用率のレベルが使用率の前記しきい値レベルを下回ってい
    るとき、前記ネットワークを介してデータの転送を管理する転送管理構成要素と を備えることを特徴とする媒体。
  26. 【請求項26】 前記ネットワーク接続は、クライアント・マシンと前記ネ
    ットワークの間のインターフェースであることを特徴とする請求項25に記載の
    コンピュータ可読媒体。
  27. 【請求項27】 前記しきい値レベルは、前記モニタされる最大レベルの所
    定のパーセンテージとして計算されることを特徴とする請求項25に記載のコン
    ピュータ可読媒体。
  28. 【請求項28】 ネットワークを介してクライアント・プロセスとサーバ・
    プロセスの間で通信する方法であって、 (a)ファイルを識別し、前記サーバ・プロセスが前記ネットワークを介して
    前記ファイルの第1のセグメントをダウンロードすることを要求する第1のダウ
    ンロード要求、を前記サーバ・プロセスに対して発行するステップと、 (b)前記ファイルの前記第1のセグメントを、前記サーバ・プロセスによっ
    てダウンロードするステップと、 (c)実際のネットワーク帯域幅使用用率がしきい値レベルを下回っているな
    らば、前記ファイルに関連付けられたダウンロード要求で、前記ネットワークを
    介して前記ファイルのさらなるセグメントを前記サーバ・プロセスがダウンロー
    ドすることを要求するさらなるダウンロード要求、を前記サーバ・プロセスに対
    して発行するステップと、 (d)前記ファイルの前記さらなるセグメントを、前記サーバ・プロセスによ
    ってダウンロードするステップと、 (e)前記サーバ・プロセスが前記ネットワークを介して前記ファイルの各セ
    グメントのダウンロードを完了するまで、ステップ(c)および(d)を繰り返
    すステップと を備えることを特徴とする方法。
  29. 【請求項29】 ネットワークを介してデータ集合を転送する方法であって
    、 実際のネットワーク帯域幅使用率のレベルをモニタするステップと、 実際の使用率のモニタされたレベルの最大値を識別するステップと、 使用率のモニタされたレベルの最大値の相関的要素として転送するブロック・
    サイズを計算するステップと、 1つまたは複数の間隔で前記ネットワークを介して前記データの集合の前記ブ
    ロック・サイズ部分を受信するステップと を備えることを特徴とする方法。
  30. 【請求項30】 使用率の前記最大レベルは、 ネットワーク帯域幅使用率の平均を計算するステップと、 平均転送速度を計算するステップと、 帯域幅可用パーセンテージを計算するステップと を備えることを特徴とする請求項29に記載の方法。
  31. 【請求項31】 前記ブロック・サイズは実際の使用率の前記最大レベルに
    応じて調整され、前記ブロック・サイズを最大しきい値と最小しきい値の間に限
    定するステップを備えることを特徴とする請求項29に記載の方法。
  32. 【請求項32】 前記最大しきい値は前記受信する装置の中の可用メモリの
    相関的要素であり、前記最小しきい値はネットワーク・パケット・ヘッダ・サイ
    ズに基づいて決定されることを特徴とする請求項31に記載の方法。
  33. 【請求項33】 クライアントが、前記ネットワークを介して前記データを
    サーバから受信することを特徴とする請求項29に記載の方法。
  34. 【請求項34】 前記モニタするステップは、前記クライアントと前記ネッ
    トワークの間のインターフェースにおいて行われることを特徴とする請求項33
    に記載の方法。
  35. 【請求項35】 前記ブロック・サイズが最小しきい値を下回っているとき
    、前記間隔のサイズを増大させるステップと、 前記ブロック・サイズが最大しきい値を上回っているとき、前記間隔のサイズ
    を減少させるステップと をさらに備えることを特徴とする請求項33に記載の方法。
  36. 【請求項36】 前記ネットワークは、インターネットであることを特徴と
    する請求項29に記載の方法。
  37. 【請求項37】 前記データの集合は、ソフトウェア更新を備えることを特
    徴とする請求項29に記載の方法。
  38. 【請求項38】 前記データの集合が受信されるたびに毎回、少なくとも前
    記モニタすることを繰り返すステップをさらに備えることを特徴とする請求項2
    9に記載の方法。
  39. 【請求項39】 前記最大レベル導出は、前記データの集合の前記部分の受
    信中に所定の回数、前記モニタするステップを繰り返すことによって使用率の平
    均レベルを計算するステップを含むことを特徴とする請求項29に記載の方法。
  40. 【請求項40】 前記データの集合の一部分が受信されるたびに毎回、実際
    の使用率の前記最大レベルの識別を繰り返すステップをさらに備えることを特徴
    とする請求項29に記載の方法。
  41. 【請求項41】 クライアントが、前記ネットワークを介して前記データを
    サーバに送信することを特徴とする請求項29に記載の方法。
  42. 【請求項42】 請求項29に記載の前記方法を行うためのコンピュータ実
    行可能命令を有することを特徴とするコンピュータ可読媒体。
  43. 【請求項43】 メモリと、オペレーティング・システムと、中央プロセッ
    サとを有するコンピュータ・システムであって、前記プロセッサは、請求項42
    に記載の前記コンピュータ可読媒体上に記憶された前記命令を実行するように動
    作可能であるシステム。
  44. 【請求項44】 1つまたは複数のデータ構造を記憶しているコンピュータ
    可読媒体であって、 実際のネットワーク帯域幅使用率のレベルがモニタされた際のタイムスタンプ
    を表すデータを含む第1のデータ・フィールドと、 前記タイムスタンプに対応する時点において前記ネットワーク・インターフェ
    ースを通過しているデータの量を表すデータを含む第2のデータ・フィールドと を備えるコンピュータ可読媒体。
  45. 【請求項45】 ネットワーク利用率は、第1のデータ構造と第2のデータ
    構造とを合わせた複数値の差に基づいて計算されることを特徴とする請求項44
    に記載のコンピュータ可読媒体。
  46. 【請求項46】 実際のネットワーク帯域幅使用率は、クライアント・マシ
    ンと前記ネットワークの間のインターフェースにおいてモニタされることを特徴
    とする請求項44に記載のコンピュータ可読媒体。
  47. 【請求項47】 ネットワークを介するデータの転送を管理するためのコン
    ピュータ実行可能構成要素を有するコンピュータ可読媒体であって、 ネットワーク接続に関して実際の帯域幅使用率のレベルをモニタする帯域幅モ
    ニタ構成要素と、 前記帯域幅モニタ構成要素によって観察された使用率のモニタされたレベルの
    相関的要素としてネットワーク転送速度を計算するネットワーク速度計算構成要
    素と、 前記ネットワークを介するデータの転送を管理する転送管理構成要素と を備えることを特徴とする媒体。
  48. 【請求項48】 前記ネットワーク接続は、クライアント・マシンと前記ネ
    ットワークの間のインターフェースであることを特徴とする請求項47に記載の
    コンピュータ可読媒体。
  49. 【請求項49】 ネットワークを介するデータの集合の転送においてネット
    ワーク使用率決定およびダウンロードデータ・ブロック・サイズをリファイン(
    refine)する方法であって、 複数の間隔でネットワーク使用率を獲得するステップと、 前記ネットワーク使用率の平均を計算するステップと、 前記平均の相関的要素として前記インターバル中に転送するデータのブロック
    ・サイズを計算するステップと を備えることを特徴とする方法。
  50. 【請求項50】 前記ネットワーク使用率を獲得することは、前記間隔の各
    期間中の特定の時点で行われることを特徴とする請求項49に記載の方法。
  51. 【請求項51】 前記計算される平均は、より最近に獲得されたネットワー
    ク使用率により高い比を割り振ることによって重み付けされることを特徴とする
    請求項49に記載の方法。
  52. 【請求項52】 前記ブロック・サイズは、前記平均と、前記間隔のサイズ
    と、ネットワーク可用率の積に正比例することを特徴とする請求項49に記載の
    方法。
  53. 【請求項53】 前記間隔は、前記計算されたブロック・サイズに基づいて
    調整されたサイズを有することを特徴とする請求項49に記載の方法。
  54. 【請求項54】 前記ネットワークを介して前記データの集合の最小ブロッ
    クを転送して、前記ネットワーク使用率決定に関連付けられた変数をリファイン
    (refine)することを可能にすることを特徴とする請求項49に記載の方法。
  55. 【請求項55】 請求項49に記載の前記方法を行うためのコンピュータ実
    行可能命令を有することを特徴とする方法。
  56. 【請求項56】 メモリと、オペレーティング・システムと、中央プロセッ
    サとを有するコンピュータ・システムであって、前記プロセッサは、請求項54
    に記載の前記コンピュータ可読媒体上に記憶された前記命令を実行するように動
    作可能であることを特徴とするシステム。
JP2001560080A 2000-02-16 2001-02-16 ネットワークを介してデータを転送するためのシステム及び方法 Expired - Lifetime JP4711586B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US09/505,735 2000-02-16
US09/505,735 US7437428B1 (en) 2000-02-16 2000-02-16 System and method for transferring data over a network
US09/783,407 US6920110B2 (en) 2001-02-14 2001-02-14 System and method for transferring data over a network
US09/783,407 2001-02-14
PCT/US2001/004885 WO2001061944A1 (en) 2000-02-16 2001-02-16 System and method for transferring data over a network

Publications (2)

Publication Number Publication Date
JP2003527800A true JP2003527800A (ja) 2003-09-16
JP4711586B2 JP4711586B2 (ja) 2011-06-29

Family

ID=27055235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001560080A Expired - Lifetime JP4711586B2 (ja) 2000-02-16 2001-02-16 ネットワークを介してデータを転送するためのシステム及び方法

Country Status (6)

Country Link
EP (2) EP1256212B1 (ja)
JP (1) JP4711586B2 (ja)
AT (1) ATE338406T1 (ja)
AU (2) AU2001238419A1 (ja)
DE (1) DE60122676T2 (ja)
WO (2) WO2001061945A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009501496A (ja) * 2005-07-15 2009-01-15 マイクロソフト コーポレーション ゲートウェイデバイスの背後でのバックグラウンドネットワーク帯域幅の共有
JP2010514024A (ja) * 2006-12-19 2010-04-30 アルカテル−ルーセント 非リアルタイムメディア配信システム、関連システム、関連メディアサーバ、およびメディアクライアントにおいて非リアルタイムメディアを配信するための方法
JP2016535946A (ja) * 2013-10-07 2016-11-17 ボーズ・コーポレーションBose Corporation オーディオ配信
JP2017516188A (ja) * 2014-03-18 2017-06-15 クアルコム,インコーポレイテッド 要求マネージャおよび接続マネージャの機能を実装するトランスポートアクセラレータ

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8272020B2 (en) * 2002-08-17 2012-09-18 Disney Enterprises, Inc. System for the delivery and dynamic presentation of large media assets over bandwidth constrained networks
JP4651912B2 (ja) * 2003-01-27 2011-03-16 Necインフロンティア株式会社 インタネット電話システム、呼接続制御装置及びそれに用いる端末連携方法並びにそのプログラム
WO2005026978A2 (de) * 2003-09-11 2005-03-24 Siemens Aktiengesellschaft Verfahren zur ratenbestimmung durch einen zeitlich gewichteten gleitenden durchschnitt
EP1668860A1 (de) * 2003-09-29 2006-06-14 Siemens Aktiengesellschaft Verfahren zur bereitstellung von leistungsmerkmalen bei bedarf
DE102004013438A1 (de) * 2004-03-18 2005-10-13 Siemens Ag Verfahren zur Ratenbestimmung durch einen zeitlich gewichteten gleitenden Durchschnitt
US11184447B2 (en) * 2019-05-14 2021-11-23 Swiftly Systems, Inc. Systems and methods for efficient transmission of catalog data
CN112887146A (zh) * 2021-01-28 2021-06-01 杭州迪普科技股份有限公司 网络节点升级方法、装置与电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05153154A (ja) * 1991-11-28 1993-06-18 Nippon Telegr & Teleph Corp <Ntt> チヤネル帯域管理処理方式
JPH09512678A (ja) * 1994-04-28 1997-12-16 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 通信ネットワーク用サービス提供システム
JPH11261632A (ja) * 1998-03-06 1999-09-24 Chokosoku Network Computer Gijutsu Kenkyusho:Kk 帯域割当制御方法
JPH11511574A (ja) * 1995-08-22 1999-10-05 バックウェブ 遠隔地のネットワークと局地のコンピュータとの間の情報を伝送し、表示する方法及び装置
JP2002510891A (ja) * 1998-03-30 2002-04-09 ジェネシス・テレコミュニケーションズ・ラボラトリーズ・インコーポレーテッド あるメディアタイプから他のメディアタイプに電話呼を変換する機能を有するインターネットプロトコルメッセージ通信の要求に応じた帯域幅の管理

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701292A (en) * 1995-12-04 1997-12-23 Lucent Technologies Inc. Method and apparatus for controlling data transfer rates of data sources in asynchronous transfer mode-based networks
US6963923B1 (en) * 1997-02-10 2005-11-08 International Business Machines Corporation Method for file transfer restarts using standard internet protocol
WO2000001123A1 (en) * 1998-06-30 2000-01-06 Sun Microsystems, Inc. Congestion control in reliable multicast protocol

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05153154A (ja) * 1991-11-28 1993-06-18 Nippon Telegr & Teleph Corp <Ntt> チヤネル帯域管理処理方式
JPH09512678A (ja) * 1994-04-28 1997-12-16 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 通信ネットワーク用サービス提供システム
JPH11511574A (ja) * 1995-08-22 1999-10-05 バックウェブ 遠隔地のネットワークと局地のコンピュータとの間の情報を伝送し、表示する方法及び装置
JPH11261632A (ja) * 1998-03-06 1999-09-24 Chokosoku Network Computer Gijutsu Kenkyusho:Kk 帯域割当制御方法
JP2002510891A (ja) * 1998-03-30 2002-04-09 ジェネシス・テレコミュニケーションズ・ラボラトリーズ・インコーポレーテッド あるメディアタイプから他のメディアタイプに電話呼を変換する機能を有するインターネットプロトコルメッセージ通信の要求に応じた帯域幅の管理

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009501496A (ja) * 2005-07-15 2009-01-15 マイクロソフト コーポレーション ゲートウェイデバイスの背後でのバックグラウンドネットワーク帯域幅の共有
JP4801154B2 (ja) * 2005-07-15 2011-10-26 マイクロソフト コーポレーション ゲートウェイデバイスの背後でのバックグラウンドネットワーク帯域幅の共有
KR101231380B1 (ko) 2005-07-15 2013-02-07 마이크로소프트 코포레이션 배경 파일 전송에 이용가능한 대역폭을 제어하고 추정하는방법 및 이를 구현하기 위한 컴퓨터 프로그램 제품
JP2010514024A (ja) * 2006-12-19 2010-04-30 アルカテル−ルーセント 非リアルタイムメディア配信システム、関連システム、関連メディアサーバ、およびメディアクライアントにおいて非リアルタイムメディアを配信するための方法
JP2016535946A (ja) * 2013-10-07 2016-11-17 ボーズ・コーポレーションBose Corporation オーディオ配信
JP2017516188A (ja) * 2014-03-18 2017-06-15 クアルコム,インコーポレイテッド 要求マネージャおよび接続マネージャの機能を実装するトランスポートアクセラレータ

Also Published As

Publication number Publication date
AU2001238419A1 (en) 2001-08-27
EP1256212A1 (en) 2002-11-13
AU2001238326A1 (en) 2001-08-27
WO2001061944A1 (en) 2001-08-23
ATE338406T1 (de) 2006-09-15
EP1256212B1 (en) 2006-08-30
DE60122676D1 (de) 2006-10-12
EP1720304A2 (en) 2006-11-08
DE60122676T2 (de) 2007-09-06
WO2001061945A1 (en) 2001-08-23
JP4711586B2 (ja) 2011-06-29
WO2001061944A8 (en) 2001-11-01

Similar Documents

Publication Publication Date Title
US7325068B2 (en) Method and system for managing data transfer over a network
US7437428B1 (en) System and method for transferring data over a network
KR101231380B1 (ko) 배경 파일 전송에 이용가능한 대역폭을 제어하고 추정하는방법 및 이를 구현하기 위한 컴퓨터 프로그램 제품
US7076544B2 (en) Caching techniques for streaming media
US8239564B2 (en) Dynamic throttling based on network conditions
JP2003527800A (ja) ネットワークを介してデータを転送するためのシステム及び方法
US20050080872A1 (en) Learned upload time estimate module
US7698417B2 (en) Optimized performance counter monitoring
KR20060090923A (ko) 클라이언트 버퍼 충만도의 감시를 통한 네트워크장치에서의 클록 편차 검출
JP2002521745A (ja) モジュールのストリーミング
US20020165970A1 (en) System and method for intelligent bit rate and buffer selection
CN111541626A (zh) 网络带宽更新方法、装置、电子设备及存储介质
WO2020026018A1 (zh) 文件的下载方法、装置、设备/终端/服务器及存储介质
US20050021739A1 (en) Methods, systems and computer program products for communicating the expected efficacy of invoking a network turbo boost service
CN110311963B (zh) 消息推送方法、装置、计算机设备及计算机可读存储介质
US11627630B2 (en) TCP performance over cellular mobile networks
CN113726691B (zh) 带宽预留方法、装置、设备以及存储介质
US11683250B2 (en) Managing proxy throughput between paired transport layer connections
CN117896371A (zh) 一种云存储配额限速下载方法及装置
Huang et al. Phatpackets for Data Transport within an HPC Network.
JP2003157196A (ja) ファイル転送時間の推定方法および装置およびプログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110322

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250