JP5974373B2 - トランスペアレンシー機能を用いる適応ファイル送達のシステムおよび方法 - Google Patents

トランスペアレンシー機能を用いる適応ファイル送達のシステムおよび方法 Download PDF

Info

Publication number
JP5974373B2
JP5974373B2 JP2014181366A JP2014181366A JP5974373B2 JP 5974373 B2 JP5974373 B2 JP 5974373B2 JP 2014181366 A JP2014181366 A JP 2014181366A JP 2014181366 A JP2014181366 A JP 2014181366A JP 5974373 B2 JP5974373 B2 JP 5974373B2
Authority
JP
Japan
Prior art keywords
file
receiving system
network
transmission
segment
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.)
Active
Application number
JP2014181366A
Other languages
English (en)
Other versions
JP2015029295A (ja
Inventor
ジェフリー ポール ハラング
ジェフリー ポール ハラング
ディヴィッド ビー ギボンズ
ディヴィッド ビー ギボンズ
カミヤー モインザデ
カミヤー モインザデ
Original Assignee
オパンガ ネットワークス インコーポレイテッド
オパンガ ネットワークス インコーポレイテッド
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
Application filed by オパンガ ネットワークス インコーポレイテッド, オパンガ ネットワークス インコーポレイテッド filed Critical オパンガ ネットワークス インコーポレイテッド
Publication of JP2015029295A publication Critical patent/JP2015029295A/ja
Application granted granted Critical
Publication of JP5974373B2 publication Critical patent/JP5974373B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0036Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
    • H04L1/0038Blind format detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • 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/19Flow control; Congestion control at layers above the network layer
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • 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/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/22Negotiating communication rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support

Description

本発明は、一般にコンピュータネットワークに関し、より具体的には、かかるネットワークを介したファイル伝送に関する。
インターネットおよび広域ネットワーク(WAN)等のネットワークは、ファイル転送サービスのようなサービスを提供するために相当量の設備を設置している。設置した設備の容量に基づいて、ある種のサイズのファイルは、ネットワークにあまり大きい影響を与えずに、従来の伝送方法を使用してこれらのネットワークを介して効率的に伝送できる。
ファイル転送サービスに関与する他の所望されるシナリオは、大体は、相当大きなサイズのファイルの大規模なマルチキャスティングを用いる等、非常に大きいサイズの伝送されるファイルおよび/または配布要求のため、従来のファイル転送方法によって避けられてきた。かかる巨大なファイルサイズの例は、大きなフォーマットの高解像度音声ビデオファイルまたは電子ゲームファイルを含むことができる。有線(デジタル加入者回線(DLS)、ケーブル、電力線)、ファイバー、無線、衛星およびセルラータイプを含むが、これに限定されるものではない、インターネットまたはWAN等のネットワーク向けの従来の方法を使用した巨大なサイズのファイルの伝送は、それらの所与の現在の設備基盤を考慮すると、特に頻繁に行われる場合、これらのネットワークに多大な影響を引き起こす可能性があるため、実践的、またはおそらく実行可能とも思えない。従来の解決策は、ピークトラフィック需要を満たすためにネットワーク伝送容量を拡大することを重視してきた。
残念なことに、これらの従来の解決策は、資源および資金の巨額の費用を必要とするため、大部分は疑問点の多い選択肢として残っている。
一般に、適応ファイル送達システムの例示的な実装を表す概略図である。 図1の適応ファイル送達システムによって使用される方法の例示的な実装を描く相互作用図である。 適応ファイル送達システムの例示的な実装の第1の集合体を示す概略図である。 適応ファイル送達システムの例示的な実装の第2の集合体を示す概略図である。 起動された送信システムとして適応ファイル送達システムの実装を示す相互作用図である。 ユーザによるブラウジングを伴う適応ファイル送達システムの実装を示す概略図である。 ユーザによる編集を伴う図6の実装の概略図である。 ユーザによるファイル選択を伴う図6の実装の概略図である。 ユーザによる優先順位付けを伴う図6の実装の概略図である。 期限計算を伴う図6の実装の一部の概略図である。 ステータス表示およびユーザ対話を伴う図6の実装の概略図である。 ユーザによるファイル順序付けを伴う適応ファイル送達システムの実装の概略図である。 順序付けられたファイルの送達を伴う図12の適応ファイル送達システムの実装の概略図である。 ファイルプレイバックの詳細を示す図12の適応ファイル送達システムの実装の概略図である。 暗号化されたファイルを伴い、かつ問い合わせ段階を示す適応ファイル送達システムの実装の概略図である。 暗号化されたファイルの送達を示す図15の適応ファイル送達システムの実装の概略図である。 アクセス要求およびアクセス拒否を示す図15の適応ファイル送達システムの実装の概略図である。 アクセス要求およびアクセス許可を示す図15の適応ファイル送達システムの実装の概略図である。 ファイルプレイバックの詳細を示す図15の適応ファイル送達システムの実装の概略図である。 ファイルのプレロードを示す適応ファイル送達システムの実装の概略図である。 送達の態様を示す適応ファイル送達システムの実装の概略図である。 ネットワークの態様を示す適応ファイル送達システムの実装の概略図である。
本明細書に説明されるように、適応ファイル送達システムおよび方法は、音声ビデオファイル等のデータファイルを、各セグメントが異なる期間中に伝送されるセグメントで、ネットワークまたはネットワークの集合体を介して伝送する。各期間は、その関連付けられたファイルセグメントを伝送するための伝送部分と、その伝送されるセグメントに関してネットワークとの追加の相互作用が発生しない待機部分とを有する。いくつかの実装では、各期間の伝送部分の持続時間は、定常状態スループット状態に達するために十分であり、このことがファイルセグメント伝送の速度測定から1つまたは複数のネットワークのトラフィック負荷ステータスを決定できるようにする。各期間の待機部分の持続時間は、ファイル全体を所定の送達期限内に送達させる一方、少なくとも、ネットワークトラフィック負荷の変動に対処するファイルセグメント伝送の効果的な速度を提供するほど十分に長い。
一般に、大きなユーザ人口を有するネットワークは、毎日、毎週および毎年のような周期性で定期的なピーク輻輳期間を経験する。これらのピーク期間を乗り切るようにネットワークを設計することは、トラフィックエンジニアリングの領域である。ネットワーク設計者は、ネットワーク資源を増築し、これらの動作の例外的な期間中に負荷を適切に処理するためにピーク輻輳を重視しければならない。残念なことに、これは必ず、ネットワークが十分に活用されていないときには大きなギャップがあることを意味する。
さらには、データアプリケーションでは、ソースと宛先との間でどの程度多くの使用可能な帯域幅が必要とされるのかと、情報を送達するためにどの程度の時間がかかるのかとの間の二律背反がある。多くのアプリケーションの場合、情報の要求と情報の送達の間には、リアルタイムまたはほぼリアルタイムの遅延時間があると予想される。たとえば、パーソナルコンピュータ(PC)ユーザがウェブアドレスを入力するとき、数秒以下でページが取り出されるという予想がある。同様に、大きな電子メール転送の場合、いったん要求がなされると、ネットワークは、ネットワークが送達できるピーク速度で動作を完了すると予想される。しかしながら、送達期限が数時間または数日先である、リアルタイムではないアプリケーションでは、データ転送速度は、大きく削減できる。
適応ファイル送達システムおよび方法は、ネットワーク活動が最小の期間中の、大きなフォーマットの高解像度音声ビデオファイルおよび他の媒体のファイル等の巨大なファイルの送達の選択的スケジューリングを提供する。送達時間を延ばすことによって、送信者および受信者を接続する既存のネットワークにほとんどまたはまったく影響を与えずに、大量の情報の効率的なトランスポートを達成できる。適応ファイル送達システムは、多数のユーザが一度にアクティブにオンラインになっているときに生じるネットワークピークを平滑化しながら、巨大なファイル転送をサポートする。この適応ファイル送達システムおよび方法は、送達要件に応じてスケーラブルとすることもできる。
適応ファイル送達システムは、巨大ファイル転送のネットワーク影響を削減する上で、他のネットワークトラフィックによって引き起こされる輻輳に迅速に対応する上で、送達期限を維持するために転送速度を調整する上で、ならびに最悪のケースのネットワークモデルシナリオに影響を及ぼさずに、多数の受信システムおよび送信システムに拡張する上で貢献する。
適応ファイル送達システム100は、ともにネットワーク106に通信可能にリンクされている送信システム102および受信システム104を含むように図1に示されている。送信システム102は、1つのコンピュータシステム、またはファイバー手段、有線手段、無線手段を介してネットワーク106に接続されるサーバ、データベース、記憶装置、ルータ、スイッチ、ファイアウォール、または他のかかる装置等の複数の一所に置かれたまたは分散されたコンピュータシステムから構成できる可能性がある。受信システム104は、DVR、PC、ネットワーク記憶装置、クライアントワークステーション、テレビセットトップボックス、モデム、ゲートウェイ、または携帯情報端末(PDA)、ポータブルオーディオビデオプレーヤー、携帯電話等のセルラー通信装置の他のかかる装置とともに、あるいは専用のハードウェア装置内に、一所に配置できる可能性がある。受信システム104は、ファイバー手段、有線手段、または無線手段を介してネットワーク106に接続できる可能性がある。ネットワーク106は、インターネット、あるいは有線(DSL、ケーブル、パワーライン)、ファイバー、無線、衛星およびセルラータイプのネットワークを含むがこれに限定されない、WAN等の他のネットワークからの1つまたは複数のネットワーク構成要素を含むことができる可能性がある。ネットワーク106は、モデム、ルータ、ブリッジ、ゲートウェイ、ネットワークインタフェース、電信伝送、無線伝送、ローカルエリアネットワーク(LAN)、アクセスネットワーク、プロバイダネットワーク、およびピアツーピア構成等であるが、これに限定されない、他のかかるネットワーク構成要素を含む可能性がある。送信システム102は、受信システム104にネットワーク106を介してファイルセグメント108を送信するように図1に示されている。送信システム102は、ネットワーク106にアクセスするためのインタフェース110、プロセッサ112、およびネットワークを介して受信システム104へ送信されるファイル116を含み、適応ファイル送達方法を実施するための命令を伴う1つまたは複数のモジュールを含む記憶装置114を含む。受信システム104は、ネットワーク106にアクセスするためのインタフェース118、プロセッサ120、および送信システム102から受信されるファイル116の部分のコピーを格納するため、および適応ファイル送達方法に関する命令を実施するための1つまたは複数のモジュールを格納するための記憶装置122を含む。受信システム104が、たとえば複数のエンドユーザに地理的により近くにコンテンツを分散するためのキャッシングモードとして機能するために、エンドユーザの位置に位置できる、またはなんらかの仲介ネットワーク位置に位置できることが理解されよう。
ファイルセグメント108は、ファイル116の一部のコピーである。送信システム102は、ファイル116のコピーを、図1に示されるセグメント108を含む等の複数のセグメントにそのファイルコピーを分割することによって受信システム104に送信する。複数のセグメントは、受信システム104がファイル116のコピー全体を受け取るまで一度に1つづつネットワーク106を介して送信される。各セグメントは、複数の期間のうちの異なる期間に送信される。
期間は、それぞれ、ファイルセグメントのうちの1つが伝送される伝送部分、およびファイルセグメントのどれも伝送されない待機部分を有する。この待機部分は、セグメントがセグメントの1つの連続ストリームとして伝送されるよりもはるかに大きい期間にわたってファイルセグメントが伝送されるように、効果的に伝送部分に間隔をあけることができる。期間の伝送部分は、巨大ファイルの伝送に関連するネットワーク106のトラフィック負荷に対する悪影響を大幅に減少させるために一定の間隔をあけられる。以下にさらに説明される手法に基づき、ネットワークにかかる負荷が相対的に大きいときよりも、ネットワーク106にかかるトラフィック負荷が相対的に小さいときに、より大きなサイズのファイルセグメントおよび/またはより多数のファイルセグメントが伝送される。ネットワークトラフィックが少ない期間を少なくとも部分的に活用することによって、巨大ファイルを、ネットワーク106のトラフィック負荷に対する悪影響を少なくして送信することができる。
いくつかの実装形態では、受信システム104のユーザは、グラフィックユーザインタフェースを使用して、別々のコンテンツファイルに対する複数の類似したファイル要求の中で、関連付けられた送達期限および優先順位を伴うファイルを送信システム102に要求する。この要求を通して、送信システム102および受信システム104は、受信システムが要求されたファイルを受信する許可を有することを知らされ、転送構成の詳細を知らされる。適応ファイル送達で発生するイベントのいくつかの概要が以下に含まれるが、必ずしも以下の順序ではない。(1)受信システム104がファイルを要求する、(2)送信システムが要求されたファイルの送達に対する許可の位置を突き止め、入手し、いくつかの実装形態では、デジタル権利管理(DRM)ライセンスを取得する、(3)送信システムの1つまたは複数の適応ファイル送達モジュールが、送達期限、クライアントLANアイドルスケジュールを含むクライアントプロファイル、プロバイダネットワーク106アイドルスケジュール、ファイルサイズ等の転送詳細を入手する、(4)受信システムの1つまたは複数の適応ファイル送達モジュールが送信システムの識別、ファイルサイズ等の転送詳細を入手する、(5)送信システムが要求された送達期限を満たすために必要とされる最小転送速度、およびファイルのセグメントの転送に許容できる最大速度を計算する。いくつかの実装形態は、サーバとしての送信システム102とクライアントとしての受信システムとの間の標準的なクライアント/サーバTCP/IPまたはUDP/IP相互作用に基づいている。
例示的な適応ファイル送達方法130は、受信システム104が、ファイル要求および送達期限Tdを送信システム102に送信する(ステップ132)ことを含むように図2に示されている。図2に示されているように時間の経過は下方への縦方向をたどるが、図2ではこの時間の経過は原寸に比例して示されていない。一般に、伝送期間の待機部分に関連付けられた期間W_j、および伝送期間のセグメント伝送部分に関連付けられた期間dT_jに関連付けられた期間だけが、相対的に有意な量の時間が経過するのを必要とする。図2では、示されている他の活動も相対的に有意な量の時間を要するように見えることがあるが、一般に、これらの他の活動は相対的にわずかな量の時間を要し、これらの他の活動を相対的に有意な期間を要するとして表示することを意図するのではなく、描写の形式の制限のために活動を表示する上での便宜のためだけに図2の縦軸に沿って追加の空間を割り当てられている。
送達期限Tdは、一般に、受信システム104のユーザが、それまでに受信システムがファイル116のすべてのセグメントを受け取っていることを所望するであろう時間である。いくつかの実装形態では、送達期限Tdは、特定の持続時間(例えば、ファイルが最初に送信されることを要求された、または送信され始めた時間から、あるいは別の時間からの複数の時間数または日数)であるとシステム100によって計算されてもよく、結果として、ある輻輳期間中に経験された、または他のネットワーク活動期間中に経験されたネットワークの容量をも下回る等、ネットワーク106の全体的に評価されたまたは経験された最小容量をも下回るレベルまでファイルの全体的な転送速度を効果的に削減する場合がある。次に、受信システム104は送信システム102に、送信システムによって送信される第1のファイルセグメントに対する要求として機能する初期肯定応答を送信する(ステップ134)。受信システム104から初期肯定応答を受信すると、送信システム102は、第1の最大セグメント伝送速度限度Rmax_1、および第1の最小セグメント伝送速度限度、Rmin_1を決定する(ステップ136)。
一般に、最小セグメント伝送速度限度、Rminは、2つの要因に基づいて送信システム102によって決定される。第1の要因は、送信システム102によって受信システム104にまだ送信されていないファイル116の残りの部分のファイルサイズXremである。第2の要因は、決定の現在の時刻Tnowと送達期限時間Tdとの間の、送信システム102から受信システム104にファイルセグメントを伝送するために使用できる残り時間の量である。この使用可能な残り時間量は、ネットワーク106および/または送信システム102および/または受信システム102をセグメント伝送に利用できないために、適応ファイル送達が特定のファイル伝送について、設定可能な低転送速度閾値(ゼロ以上となる可能性がある)を超えて発生できないときに分かる、所定の時間量Tunavailだけ、減少する場合がある。
これらの使用不可期間、Tunavalは、通常、ネットワーク106および/または送信システム102にとってのビジー期間であってもよい。使用不可期間、Tunavalは、送信システム102および/または受信システム104のプロファイルの中に事前設定できる。代わりに、使用不可期間、Tunavalは、適応ファイル送達伝送を含む以前の伝送の履歴データを調べることによって、送信システム102および/または受信システム104によって決定できる。たとえば、適応ファイル送達のj番目のセグメントの伝送のうちの1つまたは複数の実際のセグメント伝送速度R_jに関する履歴データは、送信システム102、および/または受信システム104、および/またはネットワーク106にとってのビジー時間を決定するために調べることができる可能性がある。
たとえば、受信システム104のユーザが、適応ファイル送達以外の受信システムにとってのタスクのユーザの要件が、毎平日午前9時から午前11時の間に受信システムにとってローカルなネットワーク106の一部から最大の性能を必要とする場合に、その特定の期間中の適応ファイル送達を遮断することを希望することがある。その遮断された期間中、受信システム104のユーザは、転送がRmin_j未満の速度等の何らかの最小バックグラウンド速度でこの遮断期間中に進むことを許されていたかどうかを示すように受信システムのプロファイルを設定できる可能性がある。代わりに、ユーザは、この遮断期間中にいかなる適応ファイル送達をも受け取らないように受信システム104のプロファイルを設定してもよい。受信システム104のユーザが、ユーザが受信システムにファイルセグメントを受信してほしくない期間を指定しない場合には、受信システムは次に、ビジー期間、セグメント伝送速度の変動等について、受信システムおよび受信システムにとってローカルなネットワーク106の1つまたは複数の部分の使用を監視することによって、これらの遮断期間を知ることができる。同様に、アクセスネットワークプロバイダが、そうでなければプロバイダネットワークが関係のないトラフィックでビジーまたはほぼいっぱいの容量である場合に、毎日の間の特定のビジー時間期間、適応ファイル送達を遮断することを希望することがある。また、プロバイダがそのネットワーク全体での複数の適応ファイル送達ジョブを、総計的な最小バックグラウンド速度に制限することを希望することがある。
賢明な評価基準は、実際の実行が幸いにも保守的に予想されるよりも好ましい条件を有している場合に、送信システム102は、各最小転送速度Rmin_jの値が、要求された送達期限を満たすために必要となる可能性があるよりも長いと保守的に判断することを保証するだろう。Rmin_jの計算ではあ、通常、残りのファイルサイズおよびあらゆる予想アイドル期間に基づいて適応ファイル送達の「ジャストインタイムの」完了が前提とされることが、この保守的な手法によって理解される。
ネットワーク106は、保守的なRmin_jの決定に考慮されられていない余剰容量を有することがあるため、適応ファイル送達は、適応ファイル送達に関与するすべてのRmin_jの平均速度で排他的に実行されたセグメントの伝送に基づいた推定値よりも速く進むことがある。その結果、多様な巨大ファイルの多くの実際の転送は早期に終了することがある。Rmin_jを推定する保守的な手法を使用すると、予期せぬネットワーク輻輳に対する時間のバッファが提供され、要求された送達期限Tdまでに適応ファイル送達を完了する予想が維持される。予期せぬ輻輳のために、転送がその最小速度スケジュールに後れを取る場合、適応ファイル送達の方法は、送達期限が近づくにつれて連続するj番目のセグメント各伝送の後に、最小転送速度Rmin_jを徐々に上昇させることによって自動的に補償する。この、連続的な最小転送速度Rmin_jを徐々に上昇させることは、時間通りのジョブまたは前倒しのジョブよりも遅れたジョブを優遇するために優先順位を調整する巧みな方法である。Rmin_jは、ファイルセグメントが送信システムから受信システムに送信されるたびに、送信システム102によって、あるいは代替実装形態では受信システム104によって評価される。
j番目の伝送のRminの決定のための例示的な方程式は、以下のとおりである。
(1) Rmin_j = Xrem_j/(Td - Tnow_j - Tunaval_j)
いくつかの実装形態では、送信システム102は、なんらかの遅延イベントがネットワーク106上で発生するかどうかに応じて、要求された送達期限Tdと同じ、Tdより早い、またはTdより遅いことがある推定送達時間に更新を送信できる。受信システム104を、推定送達時間に関して更新しておいた結果、実際には、推定送達時間に関する受信システムのユーザによる問い合わせの数は削減する可能性がある。
一般に、最大セグメント伝送速度限度、Rmaxは、最小セグメント伝送速度限度Rminよりも、別の伝送タスクに割り当てられなかった送信システム102の何らかの追加の余剰伝送容量を含む多くの考えられる要因のうちの1つまたは複数に応じた量だけ大きい。Rmaxに影響を与えるために使用できる可能性がある他の考えられる要因は、ユーザのそのネットワークプロバイダとのサービス契約によって決定されるユーザに許容される最大転送速度、最後のセグメントの実際の測定速度または最後のN個のセグメントの平均速度、事前設定されたアクセスネットワークプロバイダプロファイル等を含む。したがって、最大セグメント伝送速度限度Rmaxは、3つの要因に基づいて送信システム102によって決定される。
第1の要因は、すでに決定された最小セグメント伝送速度限度Rminである。第2の要因は、送信システム102の最大伝送速度容量Rcapである。送信システム102の最大伝送容量は、送信システムのインタフェース110の伝送帯域幅容量のようなことによって影響を受ける。
第3の要因は、送信システム102が受信システム104にファイル116を伝送する現在のタスクを考慮に入れるだけではなく、ファイル116が送信されるべき期間中に別のファイルの少なくとも一部を受信システム104または任意の他の受信システムに伝送するために送信システムによって引き受けられる他のファイル伝送タスクのための任意の他のアクティブジョブも考慮に入れる。これらの他のタスクの数は、数Qが、ファイル116の伝送タスクを含むすべてのアクティブな伝送ジョブを含むように「Q−1」として表すことができる。
1つの手法では、送信システム102のどのような余剰伝送容量も、Q個の伝送タスクの間で等しく割り当てられるだろうと仮定する。この手法によって、ファイル116伝送タスクに割り当てられる伝送余剰は、Rcap/Qと、Q個の伝送タスクの最小セグメント伝送速度限度<Rmin>の平均の差異となるだろう。この平均<Rmin>は、Sum(Rmin)/Qとして表すことができ、この式ではSum(Rmin)は、そのQ個の伝送タスクのすべての多様な最小セグメント伝送速度限度の総計を表す。
ファイル116の伝送タスクのj番目のセグメント伝送の最大セグメント伝送速度限度Rmaxを決定するための例示的な等式は、以下のとおりである。
Rmax_j = Rmin_j + Rcap/Q_j - Sum(Rmin)_j/Q_j.
方程式2で計算されるRmax_jが、Rmin_jに等しい、またはRmin_jを超える値に制限されるだろうことが理解されよう。
方程式2は、送信システム102が実施してもよい方針の例であるが、Rmaxを計算するためには他の方針決定も等しく利用できる可能性がある。たとえば、代替手法は、余剰帯域幅を均等に共有するのではなく、むしろ選択された伝送ジョブに優先順位を与えるだろう。たとえば、一時的に特定のジョブに余剰伝送容量を与えるために、送信システム102は輻輳測定値を使用し、最大割り当て速度を利用できないジョブのRmaxを削減することができるだろう。
方程式2に加えて、Rmax_jは、ネットワーク106内で検知される輻輳にさらに対応することを目的とする多くの追加の制約を条件にできることがさらに理解されよう。ファイル116の転送タスクのj番目のセグメントの最大セグメント転送速度限度Rmaxを決定するための追加の例示的な方程式(2a)は、以下のとおりである。

(2a) Rmax_j = H(R_(j-1)) * Rmax_j

ここで、方程式2aの右側のRmax_jは、上記方程式2で計算される通りであり、R_(j−1)は、それが最初のセグメントである場合には以前送信されたセグメントの実際測定速度、またはゼロである。たとえば、

(2b) H(R_(j-1)) = ( R_(j-1)/Rpeak)**n , n = 2, 3 . . .

ここで、Rpeakは、たとえば受信システムのネットワーク106によって実施される所与の受信システム104に対して許容される最大スループットである。方程式2bにおけるような測定速度Rに対する他の機能上の依存性、および他の輻輳検知測定基準は、ネットワーク106のオペレータからの設定された時刻プロファイル、ネットワーク106内の輻輳検知エージェントのフィードバック等を含み、可能である。
ステップ136で第1の最大セグメント伝送速度限度Rmax_1、および第1の最小セグメント伝送速度限度Rmin_1を決定した後、送信システム102は、ファイル116の第1のセグメント、Rmax_1およびRmin_1の値、および第1の伝送が送信システムから送信された時間を示すタイムスタンプを含む第1の伝送を伝送する(ステップ138)。この第1の伝送は、さらに以下に説明されるような待機部分も含む、第1の期間の伝送部分である。
第1のセグメントのファイルサイズX_1は、所定のデフォルト値である。一般に、ファイルセグメントは、多くのより小さいファイルサブセグメント部分から構成される。いくかの実装形態では、送信システム102から受信システム102に伝送されるファイルは、送信システムの記憶装置114に格納され、連続番号が付けられた固定サイズのサブセグメント部分から成るセグメントにフォーマットされる。これらの実装形態では、サブセグメント部分のサイズは変化しないが、サブセグメント部分から構成される個々のセグメントは、異なる数のサブセグメント部分を含むことによって異なるサイズを有することができる。サブセグメント部分は、通常は、実用的な最小の値を有する所定の伝送容量を有するネットワークによって送信できるファイルの最小部分となるようなサイズにすることができる。
送信システム102から第1の伝送を受信すると、受信システム104は、(1)第1の伝送の実際の伝送速度R_1、(2)第1の伝送の有効伝送速度[R_1]、および(3)第1の伝送と関連付けられた総期間の第1の待機部分の持続時間W_1に関して多くの決定を実行する(ステップ140)。
第1の伝送の実際の伝送速度を決定する際に、受信システム104は、受信システムによって測定される第1の伝送の完了時間と、受信システムによって受信された第1の伝送で検出されるタイムスタンプによって示される第1の伝送の開始時刻の時間差dT_1を決定する。この時間差dT_1は、受信システム104によって、第1の伝送の伝送時間として使用される。
受信システム104は、第1の伝送で送信される第1のセグメントのセグメントサイズX_1を測定するか、第1の伝送とともに含まれるデータから読み取るかのどちらかである。その後、受信システム104は、j番目の伝送のための以下の一般的な方程式によって第1の伝送の実際の伝送速度R_1を計算することができる。
R_j = X_j/dT_j
次に、受信システム104は、送信システム102および送信システムに既知のネットワーク106に関して現在の状態に対応するために、第1の伝送の有効伝送速度[R_1]を決定する。一般に、この有効伝送は、セグメントと関連付けられた期間の総持続時間で除算されるセグメントのファイルサイズである。上述されたこの期間は、セグメント伝送部分および待機部分を含む。この待機部分がゼロという持続時間を有する場合には、有効伝送速度は、それがRmaxを超えている場合、巨大ファイルの伝送または相当大きなファイルのマルチキャスト伝送に対して有害なネットワーク影響を引き起こす可能性が高いであろう実際の伝送速度に等しくなるだろう。実際の伝送速度よりも著しく小さく、Rmaxと一貫している有効伝送速度を選択することによって、送信システム104は、巨大ファイルの伝送または相当大きなファイルのマルチキャスト伝送のネットワーク106に対する悪影響を減少させる、または実質的に排除することができる。
いくつかの実装形態では、ネットワーク106は、インターネット、リージョナルネットワーク、および受信システム104の役立つローカルネットワーク等を含む部分から構成できる可能性がある。第1の伝送の実際の伝送速度R_1の決定された値、およびネットワークプローブ等の他の装置から入力される所与であっても良いステータス入力、または第1の伝送に含まれる送信システム102のステータス情報を考慮すると、受信システム104は、どのようなステータス情報が受信システムに既知であっても適切である第1の伝送の有効伝送速度[R_1]を選択する。
第1の伝送の決定された実際の伝送速度R_1、および可能な他の入力を使用することによって、輻輳がどこに位置していようとも、受信システム104は、送信システム102と受信システムの間の輻輳に対応できる。たとえば、受信システム104にとってローカルなネットワーク106の一部が関係のないトラフィックでビジーである場合、または受信システムに未知のステータスを有する場合、受信システムは、第1の最小セグメント伝送速度限度Rmin_1に等しい有効伝送速度[R_1]を、第1の伝送のために選択できる。第1の最小セグメント伝送速度限度の選択により、送達期限Tdを依然として満たしつつ、ネットワーク106に対する影響が最小量になる。
他方、ネットワーク106が受信システム104によって実際にはアイドルであることが既知である場合、受信システムは、第1の最大セグメント伝送速度限度Rmax_1に等しい有効伝送速度[R_1]を、第1の伝送のために選択できる。この第1の最大セグメント伝送速度限度は、任意の他のネットワークトラフィックが存在するとしてもほとんどないと考えれば、ネットワークには依然として有害な影響を及ぼさないだろう。通常、ネットワークの状態および送信システム102の状態は中間状態にあると思われ、したがって、この状態が受信システム104に知られると、受信システムは、第1の最小セグメント伝送速度限度Rmin_1と第1の最大セグメント伝送速度限度Rmax_1との間で有効伝送速度[R_1]を第1の伝送のために選択するだろう。
また、受信システム104は、他の適応ファイル送達、あるいはネットワーク106上および/または送信システム102上および/または受信システム104上での他の活動に対応するために、適応ファイル送達を完全に停止する、またはj番目の伝送のための最小セグメント伝送速度Rmin_jの値よりもなお低い速度でj番目の伝送について有効伝送速度[R_j]で進むことができる。たとえば、いくつかのバージョンでは、受信システムによって共用されるローカルエリアネットワークに接続されるソフトウェア輻輳検出エージェントにより、受信システムに、ローカルエリアネットワークが、関係がないネットワークトラフィックで混雑してきていると通知することができ、その結果受信システムは適応ファイル送達の有効伝送速度を停止または削減できる可能性がある。受信システム104がj番目の伝送のために、最小セグメント伝送速度Rmin_j未満の、j番目の伝送の有効伝送速度[R_j]を調整した場合、送信システム102は、残りのファイルサイズおよび送達期限に基づき、j+1番目のセグメントの伝送のために、増分的により大きな最小セグメント伝送速度、Rmin_j+1を計算し直す。その結果、セグメントの伝送のペーシングは、予期せぬネットワーク輻輳または伝送の中断に対応する傾向がある。他の実装形態では、j番目の伝送の有効伝送速度[R_j]の選択は、つねに、関与する特定の伝送のために最小セグメント伝送速度限度と最大セグメント伝送速度限度との間に留まることが必要とされる可能性がある。
受信システム104は、適応速度で送信システム102からファイル116のコピーを転送するために有効伝送速度を選択することによってセグメントの伝送の速度を整え、送信システム102および/または受信システム104および/またはネットワーク106についての変化する状態に対応する。第1の伝送の実際の伝送速度R_1の値および考えられる他の入力を使用することによって、受信システム104は、有効伝送速度の理性的な選択を行うことができる。これらの適応ファイル転送方法によって、セグメント伝送は、送信システム102から受信システム104へのエンドツーエンドダウンリンク接続容量のための実際のサウンディングシステムとして使用される。その後、適応ファイル送達システム100は、輻輳の場所に関わりなく送信システム102と受信システム104との間の輻輳に対応できる。
第1の伝送の有効伝送速度[R_1]に対する受信システム104による選択に基づいて、第1の伝送に関連付けられた総期間のうちの第1の待機部分の持続時間W_1が、以下の一般的な方程式によってj番目の伝送について引き出すことができる。
W_j = X_j/[R_j] - X_j/R_j
ステップ140の一部として、受信システム104は、送信システム102によって送信される次のセグメント、つまり第2のセグメントサイズX_2を有する第2のセグメントのサイズも計算する。これを行うために、受信システム104は、ネットワーク106がセグメントを伝送する際に定常状態条件に達するために要する時間量に、所定の一般的な値Tssを使用する。たとえば、TCP環境においては、Tssは、約5秒に等しい可能性がある。第1の伝送の実際の伝送速度R_1はTssで乗算され、以下の一般的な方程式によってX_2を得る。
X_j+1 = R_j * Tss
1つのファイルの続いて起こる転送から次の転送までの実際の伝送速度の可変性が、X_(j+1)の計算において望ましくない振動を引き起こす可能性があることも示されている。これを回避するための1つの実際的な方法は、実際の転送速度Rの最後のN個のサンプルのスライディングウィンドウ平均を使用することである。
第1の伝送に関連付けられた総期間のうちの第1の待機部分の持続時間W_1を待機した(ステップ142)後、受信システム104は送信システム102に第2のセグメントサイズX_2を含む第1のセグメント肯定応答を伝送する(ステップ144)。
送信システム102は、次に、方程式(1)を使用して第2の最小セグメント伝送速度限度Rmin_2を決定し、かつ方程式(2)を使用して第2の最大セグメント伝送速度限度Rmax_2を決定する(ステップ146)。送信システム102は、第2の伝送において第2のセグメントサイズX_2を有するファイル116の第2のセグメントを伝送する(ステップ148)。送信システム102は、Rmax_2およびRmin_2の値も伝送し、かつ第2の伝送が送信システム102から送信された時刻を示すタイムスタンプも伝送する。
受信システム104は、第2のセグメントを受信すると、第2のセグメント伝送のために要する時間dT_2を計算し(ステップ150)、第2のセグメントサイズの値X_2を使用して、方程式(3)から第2のセグメントの実際の伝送速度R_2を決定する。また、ステップ150では、受信システム104は、上述された既知のネットワークトラフィック状態に基づいて第2のセグメントの有効伝送速度[R_2]を選択し、次に方程式(4)に従って第2の伝送と関連付けられた総期間の第2の待機部分W_2を決定する。受信システム104は、次に方程式(5)に従って第3のセグメントサイズX_3を決定する。
第2の伝送と関連付けられた総期間の第2の待機部分W_2を待機した(ステップ152)後、受信システム104は、第3のセグメントサイズX_3の値を含む第2のセグメントの肯定応答を送信する(ステップ154)。
その後、送信システム102は、ファイル116の最後のn番目のセグメントが、任意選択でファイル終了の表示を含む、n番目のセグメント伝送で受信システムに送信される(ステップ156)まで、上述された手順に従って受信システム104にファイル116の残りのセグメントを送信する。
適応ファイル送達は、適応ファイル送達が完了するまで、このようにして進行し、受信システム104によって速度を整えられる。適応ファイル送達がストールするまたはネットワーク故障によって中断される不運な場合には、受信システム104は、中断の時点で適応ファイル送達を再開し、帯域幅の無駄を最小限に抑えるまたは妨げるために、不揮発性メモリ等の記憶装置122内に転送の状態を保持する。受信システム104は、たとえば、記憶装置122内に格納され、プロセッサ120によって実装されるモジュール内で見つかるようなカウントダウンタイマーを維持することによって、ストールしたセッションを検出する。
このカウントダウンタイマーは、受信システム104が送信システム102に初期要求を行うと始動できる。次に、送信システム102は、カウントダウンタイマーがリセットされた後に期限切れになるたびに、適応ファイル送達のために所要の反復回数まで要求を繰り返すことができる。カウントダウンタイマーがリセットされるたびに、期限切れまでのカウントダウン時間は、たとえば指数因子によって等、大きな因数によって増加することができ、その結果、受信システム104による追加の要求は、相応して間隔をあけることができる。受信システム104による適応ファイル送達に対する最後の要求の終わりに、受信システムは、特定の適応ファイル送達セッションをストールすると宣言することができ、次に適応ファイル送達の継続のために、使用できる場合には送信システム102のうちの第2のシステムへの接続を試みることができる。受信システム104が送信システム102のうちの第2のシステムに連絡することができない場合、受信システムは、送達期限Tdが過ぎるまで使用可能と示されている多くの送信システムのうちの1つに周期的に連絡を試み続けることができる。この送達期限後、その特定の適応ファイル送達ジョブは受信システムによって終了され、受信システムに格納されているファイル116のどのような部分も消去され、受信システムのユーザ(複数の場合がある)への通知のためにエラーが記録される。
上述されたように、送信システム102および受信システム104は、それぞれが、有線、ファイバー、または無線等の異なる種類であり、その間で通信するネットワーク106の異なる部分に結合できる。さらに、やはり本明細書に説明されるように、送信システム102と受信システム104の間のファイルセグメント送達セッションは、(ネットワーク故障による等あらゆる理由のために)中断され、のちに再開される可能性があり、ファイルセグメントの転送は、以前に送信され、受信された部分を再送する必要なしに中断の時点で進行する。適応ファイル送達システム100の実装形態は、これらの2つの機能の両方を活用し、送信システム102または受信システム104がネットワーク106の第1の部分から切断され、後にネットワークの第2の部分に後に再接続されたときに、ネットワークの第1の部分およびネットワークの第2の部分が同じタイプ(たとえば、有線、ファイバー、無線他)であるかどうかに関係なく、ファイルセグメント送達セッションが完了できるようにする。中断されたファイルセグメント送達セッションの完了は、受信システム104または送信システム102のどちらかによって、ユーザが介入する必要なく、自動的に開始できる。
たとえば、受信システム104は、第1の部分が第1のネットワークタイプであるネットワーク106のその第1の部分に接続できる。また、送信システム102は、ネットワーク106の第1の部分に接続することもでき、あるいは送信システムはネットワークの第1の部分とは異なるネットワークタイプであるネットワークの第2の部分に接続することもできる。ファイルセグメント送達セッションの開始後、受信システム104がネットワーク106の第1の部分から切断されると、送信システム102は、送信システムが接続性のステータスを検出するために使用できるいくつかの監視プロセスのうちの1つを介して受信システムの切断を検出できる。たとえば、受信システム104のローカルネットワークインタフェースのステータスに関して、送信システム102によって定期的な問い合わせが実行できる可能性がある(たとえば、毎秒1回)。
代わりに、または加えて、受信システム104は、たとえば受信システム内に見出されるカウントダウンタイマーを使用することによって、ネットワーク106の第1の部分から受信システムが切断によりストールしているセッションを検出できる。受信システム104が切断を検出すると、受信システムは、次に、切断がファイルセグメント受信中に発生した場合にはそのファイルセグメントの残りの部分を要求する、または切断が2つのシーケンシャルファイルセグメント伝送の間のサイレント期間中に発生した場合には送信システム102によって送信される次のファイルセグメントを要求することができる。その後受信システム104のネットワーク106の第1の部分に対する接続、またはネットワーク106の第1の部分とは異なるネットワークタイプの同じネットワークの第2の部分に対する接続が確立されると、この要求は開始できる。受信システム104は、ネットワーク106に対する再接続が発生したことを、ローカルネットワークインタフェースのステータスを定期的に問い合わせることによる監視接続性ステータスによって検出できる。
代わりに、この要求がより速やかに始まり、ネットワーク106の部分の1つに対する接続が、その後、受信システム104で検出されたカウントダウンタイマーを使用することによって確立されるまでなんらかの方法で繰り返すことができる。カウントダウンタイマーは、受信システム104が中断の地点で追加のファイル内容を受信し続けるように、ストールしているセッションを再開するためにリトライ機能の速度を整えることができる。ときどき、セッション中断の前に使用されたインスタンス以外の送信システム102のインスタンスを、ファイルセグメント転送を再開するために使用できる。
受信システム104によるファイルセグメントの次の部分または次のファイルセグメントに対する要求は、要求が受信システム104から送信されている限り、送信システム102にとって重要ではない。要求がネットワーク故障、ネットワーク輻輳、受信システム104のネットワーク106の別の部分への意図的な移動のためであるか、それとも別の理由であるかどうかに関わらず、送信システム102は要求を満たすために依然として動作する。さらに、受信システム104による要求は、受信システム104の新しいネットワークの位置に一致する異なるソースネットワークアドレスで送信システム102に到達することができる。いくつかの実装形態では、送信システム102は、受信システム104の新しいネットワーク位置のネットワークソースアドレスを使用し、以後のファイルコンテンツをどこに送信するのかを知り、以前のセッションの性能レコードに基づいてその最大スループット容量等の接続についての他の詳細を推測することができる。別の実装形態では、オフラインからオンラインへのステータス変化を検出すると、受信システム104は、送信システム102に、セッションID、新しいネットワークアドレス、最大スループット容量等を含む新しい接続詳細を示すステータスメッセージを送信できる。
いくつかの例外的な状況では、受信システム104、あるいは送信システム102および受信システムを接続するネットワーク106の部分が、送達期限を超えて延長する期間、使用できないことがある。いくつかの実装形態では、これにより受信システム104をトリガし、転送の試行を打ち切り、セッションをリセットし、以前に受信された部分的なコンテンツを廃棄することができる。他の実装形態では、受信システム104または送信システム102は、送達例外を検出し、セッションを続行する、またはセッションを打ち切る、あるいは通知がトリガされたら自動的にセッションを継続するための要求の、システムのエンドユーザに対する通知をトリガできるシステムアラートを生成することができる。
ファイル送達セッションを中断し、再開するための一次シナリオは、受信システム104がそのネットワーク接続を変更することと一致する。ただし、送信システム102がそのネットワーク接続を変更する、またはネットワーク106の部分がステータスまたは接続性トポロジーを変更する等の他のシナリオも考えられる。いずれの場合も、中断されたセッションを検出し、のちにそれを再開する方法は、受信システムがそのネットワーク接続を変更するのと同じままである。
n番目のセグメントはファイル116の最後のセグメントであるので、いくつかの実装形態では、受信システム104は、実際のn番目のセグメント伝送速度R_n、n番目のセグメントの有効伝送速度[R_n]等に関する決定を実行するのではなく、むしろn番目の伝送の待機部分W_nを実行せずに送信システム102にn番目のセグメントの肯定応答を送信する(ステップ158)。
適応ファイル送達システム100の例示的な実装形態の第1の集合体300は、インターネット304に通信可能にリンクされているアプリケーションサービスプロバイダ302に通信可能にリンクされている送信システム102の1つのインスタンスを有するとして図3に示されており、インターネット304は、代わりにリージョナルデータノード306に通信可能にリンクされている。送信システム102の別のインスタンスは、リージョナルデータノード306に直接的に通信可能にリンクされている。リージョナルデータノード306は、分散ハブ310に通信可能にリンクされているリージョナルネットワーク308に通信可能にリンクされており、分散ハブはハイブリッドファイバーケーブルネットワーク等のネットワーク312に通信可能にリンクされている。
デジタルビデオレコーダとしての受信システム104のインスタンスは、セットトップボックス314を通してケーブルネットワーク312に通信可能にリンクされている。受信システム104のデジタルビデオレコーダとして、およびポータルメディアセンターとしての他のインスタンスは、ケーブルモデム316およびローカルエリアネットワーク318を通してケーブルネットワーク312に通信可能にリンクされている。いくつかの実装形態では、輻輳検知エージェント319がローカルエリアネットワーク318に通信可能にリンクされ、いつファイルセグメント伝送が発生するのかの調整のために、送信システム102または受信システム104に、ローカルエリアネットワーク上でのネットワーク活動およびネットワーク輻輳を報告する。たとえば、輻輳検知エージェント319、またはローカルエリアネットワーク318に通信可能にリンクされている複数の同様のエージェントは、受信装置104への適応ファイル転送と関連付けられていないネットワーク活動のレポートをトリガするために最小スループット閾値を定義できる可能性がある。代わりに、ネットワーク活動レポートは、受信システムがレポートを、ローカルエリアネットワーク318の設定されたまたは測定されたピーク容量と比較することによってローカルエリアネットワークの輻輳を決定するために、輻輳検知エージェント319によって見られ、受信システム104に報告されるように、ローカルエリアネットワーク318の進入および退出トラフィック活動の評価基準を含むことができる可能性がある。いくつかのバージョンでは、スループット閾値を超え、受信システム104へのレポートをトリガした後に、測定されたネットワーク活動がトリガ閾値のすぐ下およびすぐ上を行き来するときに受信システムに過剰なレポートが送信されるのを防ぐために、輻輳検知エージェントが、それがデルタだけトリガ閾値を下回るネットワーク活動を測定するまで、その報告機構を再度備えさせないであろうことがさらに理解されよう。
いくつかのバージョンでは、分散ハブ310またはリージョナルネットワーク308またはインターネット304に通信可能にリンクされている、たとえば図3に示される1つまたは複数の輻輳検知エージェント319は、送信システム102にネットワーク活動の測定されたレポート提供するか、またはネットワーク輻輳を信号で知らせることができる可能性がある。これらの輻輳検知エージェントは、ネットワーク106における特定点でのネットワーク活動を信号で伝えるために、いくつかのバージョンでは送信システム102に対し、または他のバージョンでは受信システム104に対し報告するだろう。
適応ファイル送達システム100の例示的な実装形態の第2の集合体400は、公衆交換電話網(PSTN)404に通信可能にリンクされている地上局402に通信可能にリンクされている送信システム102の1つのインスタンスを有するとして図4に示されており、公衆交換電話網は、加入回線408に通信可能にリンクされている電話交換局406に通信可能にリンクされており、加入回線408は、たとえば非対称型デジタル加入者回線(ASDL)装置412等の加入者宅内機器を通して通信可能にリンクされている。
地上局402は、受信局422に信号422を中継する衛星18に信号416を送信する衛星送信システム414にも通信可能にリンクされており、受信局422は加入者宅内機器412に通信可能にリンクされている。デジタルビデオレコーダとしておよびポータブルメディアセンターとしての受信システム104のインスタンスは、ローカルエリアネットワーク424を通して加入者宅内機器412に通信可能にリンクされている。また、地上局402は、無線パーソナル装置として受信システム104のインスタンスに無線信号432を送信するセルラーネットワーク430にも通信可能にリンクされている。
受信システム104は特定の実装形態で描かれてきたが、巨大ファイルを受信し、音声出力および/またはビデオ出力および/または他の出力を通してその巨大ファイルのコンテンツを出力するために、多数の他の実装形態も使用できる。一般に、手法は、受信システム104がクライアントであり、送信システム102がサーバであるクライアント/サーバモデルを実装できる。ただし、他のモデルを使用する他の手法も使用できる。
ネットワーク106の多様な実装形態も描かれてきたが、多数の他の実装形態も使用できる。たとえば、送信システムを受信システムに通信可能にリンクしているネットワーク106の基本的な送達アーキテクチャを変更しなくても、送信システム102が、代わりに受信システム104のローカルアクセスネットワーク内に位置できる可能性がある。
適応送達システムおよび方法は、本質的に、きわめてスケーラブルである。適応送達システムおよび方法は、送信システム102の1つ以上の数多くのインスタンスのうちの各インスタンスで実行されている適応送達方法の数多くの同時インスタンスをサポートするように拡張できる。適応送達方法の数多くの同時インスタンスを実行することによって、送信システム102の各インスタンスは数多くの受信システム104に巨大ファイルを送信できる。一般に、送信システム102のインスタンスのアレイは、適応ファイル送達方法の同時に実行されるインスタンスを通して、巨大ファイルを受信システム104の数多くのインスタンスに送信することをサポートするために別々の地域施設に位置付けることができる。送信システム102のためのこれらのアレイまたは他の種類の集合体は、ネットワーク106の中心位置に位置付けることができるか、またはネットワーク全体に分散できる可能性がある。送信システム102の多様な構成要素は、同じハードウェア装置内に設置することもできる可能性があり、または多様なハードウェア装置の間に分散することもできる可能性がある。また、送信システム104の複数のインスタンスを含む全体的なファイル送達システム100が、浮動するネットワークトラフィック負荷に従ってネットワーク106の経路を使用して受信システム102に巨大ファイルのセグメントを送信できるように、巨大ファイルの多様なセグメントを送信システム104の複数のインスタンスの間で分散することができる可能性があり、または同じ巨大ファイルの複数のインスタンスを送信システム104の複数のインスタンスで格納することもできる可能性がある。たとえば、巨大ファイルの多様なセグメントは、所望される場合、セグメント伝送単位でのセグメント伝送の更新されるまたはほぼリアルタイムの監視およびフィードバック等の補助的な要因を使用することによって、ネットワーク106のすでに輻輳している任意の部分に対する影響の削減を保証するために、送信システム104の複数のインスタンスから送信できる。送信システム104のインスタンスのバランスを取ることは、ネットワーク106に対する全体的な帯域幅の影響を削減し、ネットワークの資源を効率的に使用するために実施できる可能性がある。送信システム104が最大容量にあるのかどうかを判定するための1つの手法は、送信システムが、関連付けられた最小転送速度Rminで別のファイル転送ジョブに対処できるかどうかを検証することである。
上述された輻輳検知エージェント319を関与させる、または他の輻輳検知エージェントまたはサウンディングエージェントを関与させる等の追加の監視システム、および方法が、j番目の待機期間w_jの受信システム104による決定を改善するために使用できる。たとえば、受信システム104の適応ファイル送達方法の部分を実施するためのコードを含む1つまたは複数のモジュールが、受信システム104にとってローカルなネットワーク106の部分を、送信システム102により近いネットワークの別の部分に通信可能にリンクするゲートウェイ装置上に常駐できる可能性がある。
一例として、かかる監視システムのホストとなるゲートウェイ装置は、ケーブルまたはDSLモデムまたはLANスイッチ、ルータ、またはハブを含んでもよい。ゲートウェイ上のソフトウェアエージェントは、インターネットまたは他のローカルネットワークの使用量を監視できる可能性がある。ゲートウェイ上のソフトウェアエージェントは、送信システム102および受信システム104の組み合わせのうちの1つまたは複数に特定の適応ファイル送達伝送と関連付けられていない任意のネットワークトラフィックを監視できる可能性がある。受信システム104にローカルなローカルネットワークトラフィックをソフトウェアエージェントによって通知されると、ローカルネットワークの部分が再び別のセグメント伝送に妥当に対処するまで、受信システム102クライアントは、上述されたように、継続中のセグメント伝送を減速するまたは停止することによって適切な処置を講じることができる可能性がある。閾値を下回る重要ではないバックグラウンド活動を無視することができるように、適切なタイマーおよびより低い使用量限度が、ある期間(たとえば、5分および10kbps)に渡る平均的な使用量に対し実施できるだろう。
代わりに、いつインターネット部分等のネットワークの他の部分での活動が、セグメント伝送を受け入れることができないほどビジーであると、ワークステーションのうちの1つによって検出されるのかを発見し、ネットワークのローカル部分を介して受信側および/または送信システム102に報告できるソフトウェアエージェントが、受信システム104にとってローカルなネットワーク106の一部の上のコンピュータワークステーションにインストールできる可能性がある。
代わりに、ツーポートイーサネット(登録商標)ハードウェア/ソフトウェアモジュール等の装置を、受信システム104にとってローカルなゲートウェイまたはブロードバンドモデムとインラインで設置できる可能性がある。この装置は、それを通過するすべてのトラフィックを監視し、送信システム102から受信システム104へのセグメント伝送と関連付けられていない、インターネット活動等のネットワーク106の1つまたは複数の部分での活動を報告できる可能性がある。
適応ファイル送達方法の各セッションは、実際の転送性能を監視し、報告することによって、送達される各ファイルセグメントのアクセスネットワーク輻輳を調べ、対応することができる。これに加えて、ネットワーク106の容量/輻輳問題のグローバルビューが、ネットワークのアクセス部分を横切って戦略的に位置付けられ、送信システム102に返信として報告するソフトウェアサウンディングエージェントによって任意選択で強化できる場合がある。これらのサウンディングエージェントは、総計帯域幅および残りの容量のローカルビューを報告できる可能性がある。たとえば、DSLネットワークでは、これらのネットワーク活動を測定するサウンディングエージェントは、DSLアクセスマルチプレクサ(DSLAM)に配置することができ、ケーブルネットワークの場合、それらは各ケーブルモデム終端システム(CMTS)に配置することができ、3G、セルラーの場合、それらは基地局またはアクセスサービスノードのゲートウェイに配置できる可能性がある。その後、送信システム102は、任意の時間に、ネットワーク106を横切って、またはある特定の部分に送達されているトラフィックセッションの総量を制限するために、特定のアクセスプロバイダのための方針プロファイル、またはネットワーク106の他の部分を改善するための追加情報をもつことができる可能性がある。たとえば、この制約は、ネットワーク106の時刻または使用可能な余剰容量のパーセンテージに基づいて実施できる可能性がある。
受信システム104がプロファイル503を更新し(ステップ502)、送信システム102にそのプロファイルを送信する(ステップ504)適応ファイル送達システム100の実装形態500が、図5に示されている。実装形態500のいくつかのバージョンでは、定期的に、または他の継続的な方式で、プロファイル503を更新し、送信システム102に送信することができる。プロファイル503は、最初は空またはある種のデータを事前に入力されていることがあるが、経時的に、プロファイル内のデータは、さらに以下に説明されるように受信システム104の一人または複数のユーザの観察に従って、概して更新され、改善される。送信システム102は、受信システム104に送信されるプロファイル503との関連に従って二次ファイル507を選択する(ステップ506)。二次ファイル選択とプロファイル503との間の関連付けは、広告および/またはマーケティング戦略等の所定の戦略、またはそれ以外の場合は取得された戦略に応じて多様な方法のどれかで実行できる。
実装形態500のいくつかのバージョンでは、送信システム102は、受信システム104に通知509を送信する(ステップ508)。受信システムは二次ファイルを要求していないので、通知509は、受信システム104に、送信システム102が適応ファイル送達を介して選択された二次ファイル507を受信システムに送信することを通知する。送信システム102は、ある期間に渡って、送信システムによって起動された適応ファイル送達を介して二次ファイル507を受信システム104に送信する(ステップ510)。送信システム102および/または受信システム104は、二次ファイル507のどのコンテンツが受信システム104に格納されたのかを記録する。
実装形態500のいくつかのバージョンでは、二次ファイル507の記憶のための記憶装置122上の空き領域がきわめて注意深く調べられ、最小限に抑えられ、期限切れの二次ファイルがすぐに削除される。他の実装形態では、削除管理は、受信システム104のユーザに任されてもよい。次に受信システム104は、受信システムによって要求され、受け取られた他のファイルと混ぜられた二次ファイルを再生する(ステップ512)。
実装形態500のバージョンは、受信システム104の記憶装置122に対する豊富なメディアコンテンツを有する広告および他のメッセージとしての二次ファイル507のキャッシングに使用できる。キャッシュに格納された二次ファイルは、後に、娯楽コンテンツ、教育コンテンツ、または映画、音楽、テキスト、ゲーム等のフォーマットを有する他のコンテンツを有するファイル等の受信システム104によって要求された、要求ファイルのプレイバックとともに挿入されるようにプレイバックすることができる。実装形態500のバージョンは、たとえば加入およびペイパービューに加え、オペレータおよびコンテンツオーナーが、消費者にメディアを提供するコストを削減し、かつ/または自分のサービスの収益性を高めるために使用できる、財務収益モデルで使用できる。サードパーティは、実装形態500の二次ファイル507の適応ファイル送達を介して、サードパーティのメッセージを受信システム104のユーザに送信するためにオペレータに資金を支払うことができる。
広告および他のメッセージコンテンツは、いくつかのバージョンでは、受信システムが、受信システムによって要求されたコンテンツをそうでなければ受信しない期間中に、送達期限があってもなくてもバックグラウンド転送として適応ファイル送達を使用して実装形態500を通して受信システム104に送信される。実装形態500を通して送信される二次ファイル507は、受信システム104にいったん格納されると、たとえば映画等の要求されたファイルの再生の前、再生の間、または再生の後に挿入できる。たとえば、娯楽コンテンツのプレイバックの前、プレイバックの間、またはプレイバックの後に、受信システム104は、その娯楽コンテンツのために再生されている要求されたファイルのプレイバックを休止することによって、広告ファイル等の二次ファイル507のうちの1つまたは複数にアクセスし、再生してもよい。受信システム104がどのようにして二次ファイル507を再生する機会を検出するのかは、結果としてフェードツーブラック効果または他のプログラムマーカー効果を生じさせる、娯楽コンテンツの中に明示的に埋め込まれた信号等の従来の放送産業の実施と同様に、類似した手法で行うことができる。再生される二次ファイルコンテンツは、プロファイル503に基づいて受信システム104によって選ばれることができるが、無作為、および/またはプレイバック装置のタイプ、および/または時刻、および/または再生されている娯楽または他のコンテンツのタイプ、および/または要求されるファイルコンテンツタイプ、および/またはユーザログオン識別、および/または他の基準に基づくことができる可能性がある。
二次ファイル507のコンテンツは、二次ファイル507の適応ファイル送達の前に受信システム104から送信システム102に送信されるプロファイル503に格納される特定の消費者データに調整されてもよい。プロファイル503の中のデータは、受信システム104によって、要求されたファイルコンテンツタイプ、オンライン注文習慣等に相互に関連付けることができる。広告のために使用されるとき、二次ファイル507は要求されたファイルとともに受信システム104に格納される。受信システム104のユーザは、潜在的なカスタマとなり得るため、二次ファイル507のコンテンツをこれらの潜在的なカスタマのプロファイルに調整することは、特定の視聴者に向けてより的が絞られるように、二次ファイルに含まれる広告の効果を増すために役立つことがある。
プロファイル507のコンテンツは、受信システムのユーザ識別、および/または対話型ブラウザインタフェースを介したオンライン注文を含むそれらの記録等の、購入記録を含むことがあるが、これに限定されない。他のデータは、娯楽コンテンツの説明(タイトル、ジャンル等)、再生日、ユーザの好み、購入習慣、表されている興味、広告コンテンツが再生された頻度等の調査からコンパイルされたデータの記録を含むことができる。適応ファイル送達システムの他の実装形態と同様に、記憶装置114を含む送信システム102が、ともにネットワーク化されているが、地理的には分離されている1台または複数の大量記憶装置を含むことがあることを理解されたい。
適応ファイル送達システム100の実装形態600は、図6から図11に示されている。実装形態600は、適応ファイル送達を介して送信システム102から受信システムに送信されるべきである多様なファイルの送達期限および送達順序を表示し、優先順位付けし、かつ操作する等の機能を実行するために、別々に設置されているか、または受信システム104の一部となるかのいずれかの、コンピュータワークステーション、携帯情報端末(pda)、携帯電話、ゲームコンソール、または他の装置等の入力装置604を、ユーザ602が使用できるようにする。他の実装形態の場合と同様に、送信システム102は、通常の商業的なネットワーキング装置を使用して、ともにネットワーク化されていてもよいが、地理的には分離されてもよい1台または複数の物理ユニットとすることができる。
実装形態600のバージョンは、ファイルの選択、送達、および再生等の互いから大きく分けられた異なる時間に発生する多様な活動を有する。ユーザ602は、送達されるファイルの選択、送達期限、ならびに優先順位および/または送達の順序を、入力装置604を通して制御することができる。
実装形態600は、多様な形式の適応ファイル送達によって送達されるべきファイルの送達および送達ステータスを制御する。実装形態600のシステム要件および目標のいくつかの態様は、ある程度まで、消費者に対する購入された商品の物理的な郵便配達と類似した言葉で理解できる。他方、実装形態600の他の態様は、たとえば期限に間に合わせるためのデジタルコンテンツの電子送達を関与させる等、特有である。たとえば、この実装形態の1つの例示的な態様は、受信が単一のイベントではなく、ある間隔に渡って分散されるコンテンツファイルの受信を伴う。態様は、関連付けられた送達期限を伴う、メディアコンテンツファイル等のファイルの適応ファイル送達の間に、ユーザ602が実装形態600と対話することと関連している。
図6に示されるように、ユーザ602は、無線、有線、ネットワーク、電話、または他の通信媒体を通して送信システム102に通信可能にリンクされている入力装置604を使用している。入力装置604は、ユーザ602が、適応ファイル送達に利用できる、送信システム102上に格納されたメディアコンテンツファイル等のファイルをブラウズする(ステップ606)のを支援するためにブラウザタイプのアプリケーションの形式を操作することができる。
図7に示されるように、ユーザ602は、ユーザ用の既存の個人メディアコンテンツライブラリを集合的に形成できる受信システム102にすでに送達されたコンテンツファイルを、入力装置604を通して任意選択で閲覧してもよい。ユーザ602は、受信システムに送達される新しいコンテンツファイルのための十分な記憶スペースがあるように、受信システム104上に格納されたある種のコンテンツファイルに、削除のために、入力装置604を用いて印を付ける(ステップ610)ことを任意選択で選んでもよい。
図8に示されるように、ユーザ602は入力装置604を使用することによって、送達のために1つまたは複数のメディアコンテンツファイルを選択できる(ステップ612)。実装形態600のバージョンでは、選択されたファイルのオリジナルの送達順序が、ファイルが選択されたシーケンスに基づいて生成される。図9に示されるように、ユーザ602は、所望されるように、選択したメディアコンテンツファイルのオリジナルの送達順序の優先順位を任意選択で改訂してもよい(ステップ614)。
図10に示されるように、送信システム102は、保留中の適応ファイル送達の予想送達期限を計算する(ステップ616)。送信システム102の予想される送達性能は、表示されたおよび/または入力された送達優先順位、ユーザ602の加入プロファイル、格納された履歴ネットワーク送達性能データ、および送信システムによって取得された現在のネットワーク状態に基づいてもよいが、これに限定されない。
いくつかのバージョンでは、送信システム102は、ユーザに、予測不可能なネットワークの低速化および/または故障を見越すための何らかの追加の時間デルタを加えた予想送達期限の総計から送信システムによって計算された送達期限を提示してもよい。
他のバージョンでは、送信システム102は、選択された送達期限が、なんらかの追加時間デルタが加えられた、送信システムによって計算された予想送達期限を超える限り、ユーザが送達期限を選択できるようにしてもよい。これらのバージョンでは、システム100は、ユーザの選んだ送達期限の長さに従って記録し、ユーザに請求してもよい。
実装形態600のいくつかのバージョンでは、最高の優先順位のファイルの送達は最も早期に行われ、次に高い優先順位の送達が続き、以下同様である。この予想送達期限の計算の結果は、グラフィックおよび/またはテキスト形式で入力装置604を通してユーザ602に提示できる。実装形態600のいくつかのバージョンでは、ユーザ602は、適応ファイル送達をさらに開始するために送達計算結果を認めてもよい。
図11に示されるように、適応ファイル送達は実装形態600により発生するにつれ、送信システムは、ユーザ602が送達スケジュールを編集できる(ステップ620)ように、入力装置604を通して、適応ファイル送達と関連付けられた送達スケジュールを表示する(ステップ618)。表示される送達スケジュールの編集を通して、1つまたは複数の保留中の適応ファイル送達の優先順位を付け直すまたは取り消すことができる。
実装形態600のいくつかのバージョンでは、ファイルの送達が、送達されるファイルの部分に関してある種の事前に選択された点を超えて進行した場合、ユーザ602はなんらかのサービスペナルティ無しに命令を取り消すことは許されない場合がある。コンテンツファイルの新しい選択は、入力装置604上に表示される送達スケジュールに追加され、同様にユーザ602によって優先順位を付け直され得る。
再優先順位付けの後、送信システム102は、保留中の適応ファイル送達の新しいスケジュールを、再び計算し(ステップ616)、新規に計算したスケジュールを入力装置604上でユーザ602に表示する(ステップ618)。ある最大部分を超えてすでに部分的に送達されたファイルを取り消す等、関与するなんらかのサービスペナルティがある場合があることを考慮して、表示された送達スケジュールの編集、編集したスケジュールの再計算、および再計算したスケジュールの表示のシーケンスは、ユーザ604によって所望されるだけ繰り返すことができる。
パーソナライズされたコンテンツライブラリ等ユーザによってカスタマイズされたメディアコンテンツのライブラリを可能にするように、実装形態700は、図12から図14に示されている。パーソナライズされたコンテンツライブラリは、ユーザの家庭または会社で、受信システム102上、あるいは受信システムに加えて、デジタルビデオレコーダ(DVR)、ポータブルメディアセンター(PMC)、ネットワークに接続された記憶装置、PC、携帯電話等の大容量記憶装置によってイネーブルにされた装置等の、受信システムに関連付けられた、または通信可能にリンクされた多岐に渡るコンテンツ記憶装置上のどちらかに、ローカルに格納することができる。ユーザ602は、メディアファイルの選択、選択したメディアファイルの適応ファイル伝送、および送達されたコンテンツのプレイバックの3つの段階で実装形態700と対話する。
図12に示されるように、ユーザ602は、入力装置604を使用して、送信システム102からファイルを選択し、注文する(ステップ702)。ファイルの注文は、注文の時点で、加入者契約を通して、定期的に課金するように累積して、または別の取り決めでのいずれかの金銭的な取引を伴ってもよい。ユーザによるファイルの選択および注文は、ウェブブラウザを介して提示、またはメディアカタログ等のファイルリスティングの他の提示表示を提供できる入力装置604によってサポートされる。各ファイル選択は、送信システム102によって計算され、管理される送達期限と関連付けられる。
図13に示されるように、送信システム102は、受信システム104のそれぞれの上にメディアファイルのパーソナルコンテンツライブラリ706を構築するために多様なユーザ602の受信システム102に対する注文されたファイル704、つまり選択したコンテンツファイルの適応ファイル送達を管理する。
代わりに、注文されたファイル704の適応ファイル送達は、単一のメインパーソナルコンテンツライブラリ706を構築するために受信システム104のうちの1つに対して行うことができる。代わりに、受信システム104は、より小さなパーソナルコンテンツライブラリ706に格納し、かつ/または送達されたファイルを再生するために複数の装置に通信可能にリンクすることができる。
図14に示されるように、いったんメディアファイルが受信システム104に送達され、パーソナルコンテンツライブラリ706を構成すると、パーソナルコンテンツライブラリの選択されたファイル708は、受信システム104の一部としてまたは受信システム104とは別個としてのどちらかでプレイバック装置712上で再生できる(ステップ710)。ファイルはいったんパーソナルコンテンツライブラリ706に入ると、送達ネットワーク106または送信システム102とさらに対話しなくても、所望されるようにプレイバックできる。したがって、パーソナルコンテンツライブラリ706内のファイルの再生は、ネットワーク106および/または送信システム102上で経験される不利な状況から隔離することができる。
実装形態700のバージョンは、期限によって規制される時間枠の中で家庭のコンテンツ記憶装置(たとえばDVR)に対する映画等の大きなメディアファイルの将来の送達を注文するために、ブラウザを介して遠隔オンラインストアサーバシステムとして、消費者が送信システム102と対話できるようにするための遠隔注文のために使用できる。
注文経験は、送信システム102が消費者にとって関心があると予想されるコンテンツの提案を提供することによって改良できる。たとえば、消費者は、送達のために1つまたは複数のコンテンツファイルを検索し、それによって受信システム104によって送信システム102に渡されるその消費者のプロファイルに基づいて提案されるコンテンツファイルのリストの提示を受けることができる。消費者プロファイルは、以前に注文されたコンテンツファイルのジャンル、信頼される友人の推薦、連載されたフィーチャ、依然に選択されたコンテンツの続き、購入習慣等に基づいてもよい。消費者は、また、タイトル、著者、監督、ジャンル、レーティング、セックス/バイオレンス/言語コンテンツプロファイル、出演者、言語、プレイバックフォーマット、消費者評価、レビュー評価等を含んでもよいが、これに限定されない検索用語を使用して利用可能なタイトルのデータベース内で入手できるコンテンツを検索できる。次に、消費者は、各コンテンツファイルと関連付けられた期限内での送達のために1つまたは複数のコンテンツファイルを選択することができる。
人気のあるコンテンツに対する要求のピークを低減するまたは回避するのに役立てるために送達されたファイルを再生できる予定されている公開日から、予定されている送達期限を分離することを含む適応ファイル送達システム100の実装形態800が、図15から図19に示されている。実装形態800は、所定の公開日に先行して、単一ネットワークまたはネットワークの集合体として、ネットワーク106上でコンテンツ記憶装置の集合体を含む、または通信可能にリンクできる受信システム104に、デジタル化されたメディアファイルを、適応ファイル送達を介して、電子的に送達できるようにする。公開日とは、以前利用できなかったコンテンツがユーザのグループによるプレイバックに利用できるようになる事前に予定される日付を指す。
たとえば、送達されるファイルのコンテンツは、まだ一般に入手できない新しい映画または娯楽シリーズのエピソードである可能性がある。適応ファイル送達は、公開日前のファイル送達のきわめて可能性の高い保証を提供するために、送達されるファイルのコンテンツと関連付けられる公開日より十分に前に完了するように計画できる。適応ファイル送達による配布を公開日から分離することによって、消費者の大きいグループは、人気のあるコンテンツのための公開日に、大きな帯域幅同報通信送達システムを必要とせずに、またはそうでなければ需要の大きなピークに対処するために送達ネットワークに負担をかけることなく、ある特定の公開日にメディアに対する同時アクセスを有する場合がある。いったん配布されると、消費者は、公開日または公開日後に、所望されるように、または任意の他の購読計画に従ってコンテンツをプレイバックすることができる。
図15に示されるように、複数の受信システム104が、入手できるようになる可能性がある新しいコンテンツファイルについて送信側サーバ102に問い合わせる(ステップ802)。この問い合わせ(ステップ802)は、代わりに、前述されたように入力装置604上での使用によって行うこともできる可能性がある。これらの問い合わせは、受信システム104および/または入力装置602によって自動的に実行できるか、または受信システムおよび入力装置のユーザによって手動で実行できる可能性がある。送信システム102は、コンテンツ806、タイムスタンプ808、およびファイルコンテンツの暗号化を表すロック810を備えた暗号化ファイル804を有すると示されている。
図16に示されているように、送信システム102は、送信システムで入手可能になるどのようなファイルも送達すること、または送信システムの上に格納される、および/または受信システムの上に格納されるリストに従って選択されるそれらのファイルだけを送達すること、または受信システムのユーザによる手動選択に従ってそれらのファイルだけを送達すること等の任意の数の注文方式に基づいて、受信システム104に適応ファイル送達を介して暗号化ファイル804を送達する。たとえば、所与のコンテンツファイルに対する受信システム104の適格な受信システムの集合体は、ネットワーク106のある部分にリンクされた受信システムのグループのいくつかまたはすべてを含んでもよい事前に設定された定期購読リストを使用することによって決定されてもよい。
この例では、暗号化ファイル804のコンテンツ806は、復号され、再生されるために、復号キーを必要とする通常のデジタル暗号化方法を介して早期公開から保護されている。暗号化ファイル804は、暗号化ファイルのコンテンツ806の将来の公開日を示すタイムスタンプ808を含むが、これに限定されない、暗号化されていないメタデータを関連付けている。いったん送達されると、受信システム104は、このメタデータにアクセスし、コンテンツがまだ入手できないことを示し、いつ公開日が起こるかを示すこのグラフィックブラウザタイプのインタフェースまたはテキストブラウザタイプのインタフェースを消費者に提供することができる。
図17に示されるように、暗号化ファイル104が適応ファイル送達を介して受信システム104に送信された後で、受信システムは、適切な復号キーを要求するためのライセンスシステム814に対するアクセス要求を実行する(ステップ812)ことによって暗号化ファイル804を再生しようと試みる。図17に示されるように、適切な復号キーが、使用不可能な復号キー816としてライセンスシステム814に現在格納されている。実装形態800のいくつかのバージョンでは、ライセンスシステム814は、送信システム102または別のシステムであってもよい。
ライセンスシステム814は、アクセス拒否で応答する(ステップ818)。実装形態800のいくつかのバージョンでは、受信システム104は、まず、それ自体の内蔵クロックを、受信システムにすでに格納されている暗号化ファイル804のタイムスタンプ808と比較することによって、アクセス要求を送信する前に検証する。実装形態800のいくつかのバージョンでは、受信システムの内蔵クロックはハッキングまたはエラーを受けやすい場合があるので、意図されないアクセスに対する二次的な保護として、受信システム104は、暗号化ファイル804の復号キーを取得するために送信システム102とは別個のシステムとしてライセンスシステム814と取引を行う必要がある場合がある。これらのバージョンでは、ライセンスシステム814は、受信システム104による無効要求を拒絶するのに役立つであろうそれ自体の時間参照を維持するだろう。
図18に示されるように、受信システム104は、公開日にまたは公開日後に、使用可能な復号キー822として関連付けられた復号キーを格納しているライセンスシステム814に有効なアクセス要求を送信する(ステップ820)。ライセンスシステム814は、暗号化ファイル804の以後の復号およびプレイバックのために、受信システム104に使用可能な復号キー822を伝送することによって応答する。
図19に示されるように、受信システム104は、使用可能なライセンスキー822を取得し、格納している。使用可能なライセンスキー822の取得の後で、受信システム104が受信システム上に格納されている暗号化ファイル804の再生を開始するたびに、受信システムは、コンテンツの承認されたプレイバックを可能にするためにこのライセンスキーを参照する。実装形態800のいくつかのバージョンでは、ライセンスキー822は、別の受信システムに対するこのライセンスキーの以後の許可されていない伝送を妨げるように受信システムに格納される。
受信システムの製造時に受信システム104の中にコンテンツファイルを予めロードすることを目的とした適応ファイル送達システム100の実装形態900が、図20に示されている。実装形態900を通して、予めロードされたコンテンツライブラリは、受信システムの製造時に受信システム104の中にロードされる。
パーソナライズされたコンテンツライブラリ706のうちの1つを初期に入力するために適応ファイル送達システム100を使用するには、ある種の状況では望ましくない量の時間がかかる場合があるので、実装形態900は、パーソナライズされたコンテンツライブラリのためのファイルの初期の集合体を適応ファイル送達へのジャンプスタートとして予めロードできるようにし、それ以後、適応ファイル送達の使用により予めロードされたパーソナライズされたコンテンツライブラリを更新し、さらに拡大する。パーソナライズされたコンテンツライブラリのためのファイルの選択は、個々の購入ユーザ、典型的なユーザタイプ、または典型的な集合体タイプ等の示されている要望のような多様なモデルに基づくことができる可能性がある。
実装形態900は、ロック908によって表されるように暗号化されているファイル906を暗号化し(ステップ904)関連付けられたキー910を生成するコンテンツサービスプロバイダ902を含む。実装形態900は、さらにキー910のコピーを保持するためのキー記憶装置914を有するコンテンツライセンスプロバイダ912と、受信システム製造メーカ916と、ユーザ918とを含む。示されるように、暗号化はコンテンツサービスプロバイダ902で発生してもよいが、代替バージョンでは、暗号化はコンテンツライセンスプロバイダ912で発生する。一般に、キー910は、コンテンツライセンスプロバイダ912で格納される。
暗号化(ステップ904)後、コンテンツサービスプロバイダは、キー記憶装置914内への格納(ステップ922)のためにコンテンツライセンスプロバイダ912にキー910のコピーを送信する(ステップ920)。コンテンツライセンスプロバイダ912が暗号化(ステップ904)を実行すると、ライセンスプロバイダは次にキー910の格納に進むことができる。コンテンツサービスプロバイダ902は、暗号化ファイル906のコピーを受信システムの製造メーカ916に送信し(ステップ924)、暗号化ファイル906を、製造されている受信システム104のコピーの中に統合する(ステップ926)。
受信システム104のコピーは、通常、一連の商業的な交換を通して受信システム製造メーカ916からユーザ918に転送される(ステップ928)。ユーザ918がいったん受信システム104を取得すると、ユーザは通常受信システムを用いてインストール手順を実行し(ステップ930)、それによってコンテンツライセンスプロバイダ912からのキー910のコピーに対する要求が行われる(ステップ932)。いくつかのバージョンでは、予めロードされたコンテンツライブラリをイネーブルすることは任意選択であり、ユーザ918はそれを遂行することを拒否してもよい。実装形態900のいくつかのバージョンでは、キー要求(ステップ932)は、コンテンツサービスプロバイダ902と関連付けられたオンラインストア(不図示)によりオンラインブラウザセッションを介して達成される。
ブラウザセッション中、ユーザ918は、適切なバージョンのキー910を供給するためにライセンスプロバイダ912が使用できる受信システム104のハードウェア識別を示すことができる。キー910のコピーは、コンテンツライセンスプロバイダ912から受信システム104に送信される(ステップ934)。キー910のコピーは、次に、暗号化ファイル906のうちの1つまたは複数を復号し、再生する(ステップ936)ために使用される。実装形態900のいくつかのバージョンでは、受信システム104が暗号化ファイル908のうちの1つを再生しようと初期に試みることで、キー要求932がトリガされる。ライセンスプロバイダ912が、ライセンスプロバイダによって維持される装置のサービス有効リストの中のキー要求932の中でハードウェア識別を提供されない場合、ライセンスプロバイダはキー要求を拒否する。いったん復号キー910が受信システム104によって取得されると、通常、さらなるキー要求(ステップ932)は必要とされない。
本明細書で説明される適応ファイル送達システムおよび方法が、ファイルセグメント送信する等のための本明細書で説明される特定の手順以上を含むことをさらに示すために、適応ファイル送達システム100の実装形態1000が、適応ファイル送達システム100の要素および関連付けられた方法を概して示す図21に示されている。一般に、適応ファイル送達システム100および方法は、ある送達期限までに区分的にファイルを電子的に送達しようとする。いくつかのバージョンでは、他の態様は、要求することによってまたは注文することによって適応ファイル送達を開始することを含むことができる。追加の態様は、受信されたファイルを再生することを含むことができる。実装形態1000の示されているバージョンは、送達セッションにおける3つのイベント、つまりコンテンツを注文すること(ステップ1004)、送達期限までにコンテンツを送達すること(ステップ1006)、およびコンテンツをプレイバックすること(ステップ1008)を含み、時系列1002に沿った時間分離によって動作する。これらのイベントを分離することによって、送信システム102は、そうでなければ定期的に、および特定されない期間、予測不可能に使用できない1012ことがあるネットワーク可用性1010の間にコンテンツを送達できる。
実装形態1000は、サービスプロバイダが、格納されているメディアコンテンツファイルのライブラリと関連付けられたサーバとして送信システム104を操作することを含むことができる。送信システム1000は、サービスプロバイダのカスタマを表す受信システム104の集合体にコンテンツファイルを送達する。送達されたコンテンツファイルは、それらが送達されるときに受信システム104でローカルに格納される。コンテンツを注文すること(ステップ1004)は、送達段階を開始し、消費者によって直接的に、または消費者の代わりに活動する別の人または機械によるプロキシによって実行できる。送信システム102は、次にネットワーク可用性1010および/または非可用性1012の予測時間を想定して、クライアントにコンテンツファイルを送達するために必要とされる予想送達速度を計算する。ネットワーク送達の予測時間は、手動で設定されたプロファイル、以前の期間の履歴測定値、ネットワーク活動の傾向等に基づいてもよい。
送達中のいつか、ネットワークが使用できない1012予測されない期間があることがある。これらの故障が予想外である場合、故障の終了時に、送信システム102は、送達期限を達成するために新しい必須送達速度を自動的に再計算し、メディアコンテンツファイルの残りの部分の送達を再開する。ファイル全体が受信システム104に送達される(ステップ1006)と、送達は終了する。送達後の特定されない期間、注文する消費者または他のユーザによって操作される受信システム104は、受信システム104と送信システム102との間の送達ネットワークのあらゆる不利な性能にわずらわされずに、受信システム104上で、ローカルに格納されたメディアファイルの全てをプレイバックできる(ステップ1014)。
送信システム102がバーチャルネットワークオペレータとして使用される実装形態1100が図22に示されている。適応ファイル送達手法を使用することによって、送信システム102は、ネットワーク106を、それぞれが、大きなファイルを多数の受信システム104に送信するために多様な異なるタイプのネットワークロードプロファイル1104を有する1つまたは複数の送達ネットワークまたはサービスプロバイダネットワーク1102を含むとして使用できる。
さらなるネットワークロードの複雑さには、他のロードプロファイル1108がサービスプロバイダネットワーク1102の1つまたは複数のリンクされているLAN1106が含まれることがある。多様なネットワークロードの複雑さにも関わらず、送信システム102は、サービスを中断させる、またはこれらのサービスプロバイダネットワーク上での帯域幅を拡大する理由を与える程度までサービスプロバイダネットワーク1102に影響を及ぼさずに、設定された送達期限に間に合うように無事に大きなファイルを伝送できる。
実装形態1100では、送信システム102は、ネットワークアクセスプロバイダといかなる契約によっても関係しないことがある事業体が、ある期間中は余剰容量を有するが、他の期間には有さないサービスプロバイダネットワーク1102上で大きなメディアコンテンツ配布サービスを確立し、運営できるようにするために、バーチャルネットワークオペレータ構成を通して使用できる。一般に、実装形態1100は、バーチャルネットワークオペレータサービスを支援するために追加容量の増築を必要とせずに、ネットワークの既存の容量の範囲内にとどまるために、図22に示されるネットワーク106等のネットワークの、またはバーチャルネットワークオペレータとしての送信システム102とカスタマの間の他のネットワークのオフピークネットワーク容量を使用するために、適応ファイル送達を使用する。
バーチャルネットワークオペレータとして、送信システム102は、1つまたは複数のコンテンツサーバ、またはカスタマによってアクセスできるコンテンツファイルのライブラリを格納する他の記憶装置を維持する。バーチャルネットワークオペレータのサービスは、ユーザのコンテンツ記憶装置(DVR、PMC、ネットワーク接続記憶装置、PC等)上での格納のための指定されたユーザへのメディアコンテンツファイルの送達として幅広く定義できる。したがって、バーチャルネットワークオペレータのサービスは、自らのコンテンツがその企業のカスタマに送達されること希望する企業にとっての送達エージェントサービスに類似している。
適応ファイル送達システム100の実装形態は、サービスプロバイダネットワーク1102、LAN1106、他のネットワーク、および/またはIPまたはネットワークレイヤアドレスのうちの2つ以上の間で移動機能(たとえばラップトップ)が移動される、受信システム104の1つまたは複数を含むことができる。たとえば、ユーザは、ユーザの受信システム104を、サービスプロバイダネットワーク1102のうちの1つを通して通信可能にリンクされるDSLモデムに接続するホームアクセスポイントに接続できる可能性がある。この場合、受信システム104と関連付けられたネットワークアドレスは、DSLモデムの広域ネットワークアドレスである可能性が高い。この例を続けると、ユーザは、次に受信システム104を、ユーザの仕事場所にある企業LAN等のLAN1106のうちの1つに接続し、その結果受信システムのネットワークアドレスを変更する。
さらに、ユーザは、次に、空港で3Gモデムを介して受信システム104を、サービスプロバイダネットワーク1102またはLAN1106のうちの別のものに接続し、アクセスネットワークのタイプを再度変更すると仮定する。この例に提供されるネットワーク接続のこれらの多様な変更を通して、送信システム102は、受信システム104と確立された多様なリンクのための記憶装置114の中にネットワークロードプロファイル1104の履歴を保持し、その履歴はこれらのリンクのそれぞれについて性能を追跡するために使用される。性能の追跡は、ある特定のリンクが無負荷状態でまたは輻輳がない状態でどれほどよく機能するのかを含むことがある。動作中、送信システム102は、リンクが現在の帯域幅の活用方法を決定するために、収集された履歴を活用できる。
リンク性能の追跡は、ファイルセグメントのうちの1つが受信システムに転送されるたびに、受信システム104がスループットを測定することによって実行できる。受信システム104は、次に測定したスループットを送信システム102に報告できる。その結果、送信システム102は、次に、受信システム104からリアルタイムのリンク性能測定基準を受け取ることができる。
性能追跡調査の特定の態様は、実装時に変わることがある。たとえば、送信システム102が受信システム104のうちの1つからダウンロード要求を受け取ると、送信システムは要求を認証できる。バリデーションは、受信システム104クライアントマシンの電子シリアルナンバー(ESN)および受信システムのユーザに割り当てられるカスタマID(ID)で実行できるが、他のバリデーション方法も使用できる。
バリデーション時、送信システム102は、次に、送信システムによって受信システムから受信されるダウンロード要求のネットワークパケットヘッダー部分の中の受信システム104の入信接続ソースIPアドレス情報を取得できる。送信システム102のプロセッサ112は、次に、送信システムの記憶装置114が、ダウンロード要求と関連付けられたESNおよびソースアドレスを含む記録をすでに含んでいるかどうかを判定できる。かかる記録が存在する場合、プロセッサは、その記録の性能情報を更新することができ、かかる記録が存在しない場合は、新しい記録を作成できる。いくつかの実装形態では、送信システム102は、それぞれが新しい記録を作成するのに役立てるために、ダウンロード要求のESN以外のESNを除く同じソースアドレスを含む1つまたは複数の既存記録からの性能情報を使用できる。
いくつかの実施形態では、現在のピーク帯域幅の値が、送信システム102の記憶装置114内で見出される記録に以前保持されていた履歴ピーク帯域幅の値に比して閾値よりも大きいときにのみ記録が更新される必要があるように、リンク性能は、現在のファイルセグメント転送のためのピーク帯域幅値に従って追跡される。たとえば、現在のピーク帯域幅の値が履歴ピーク帯域幅について格納されている値よりも大きい場合には、履歴ピーク帯域幅の値は、現在のピーク帯域幅の値で置換される。
現在のピーク帯域幅の値が履歴ピーク帯域幅の値の何らかのパーセンテージ等の履歴閾値よりも大きい(たとえば、履歴ピーク帯域幅の値の90%よりも大きい)場合には、現在の時間は、かかる発生を注記するために記録に記憶される。これは、履歴ピーク帯域幅の値が、ネットワーク構造の変化または打ち切られたネットワーク接続のために無関係になっているのかどうかを判定する場合に使用できる。とにかく、最後のアクティブダウンロードの時刻も、リンクがダウンロード中に期限切れになることを妨ぐために記録される。
現在のピーク帯域幅の値が、履歴ピーク帯域幅の値の何らかのパーセンテージに満たない場合には、記録は最後のアクティブダウンロード時刻を現在のダウンロード時刻で置換するだけで更新される。新しい記録を作成するために、送信システム102は受信システム104のソースアドレスおよびESNを記憶し、現在時刻を、履歴閾値が超えられた最も最新の時刻として記憶できる。すべての場合において、最後のアクティブダウンロード時刻は、リンクがダウンタイム中に期限切れになることを防ぐためにも記録される。表1は、送信システム102の記憶装置114内の記録をどのようにして構造化できるかの代表的な例を示す。
Figure 0005974373
前述された手法を考えると、送信システム102は、すべての新しいダウンロードリンクを追跡し、それぞれのピーク性能を追跡できる。さらに、送信システム102は、受信システム104が確立された記録を有するリンクの間で切り替わるときに、そのリンクの性能を追跡し続けることができる。この手法は、送信システム102が、ある特定のリンクが新しいより低い性能レベルを有するときを認識し、気付くことができるようにする。一般に関連付けられた記録は、ある特定のソースアドレスまたはESNの比較性能分析のために使用されてもよい。さらに、2つ以上の送信システム104が、リンク状態認識を改善するために多様なリンクの情報を共有できる。リンクは(IPアドレス等の)ソースアドレスおよび宛先アドレスによって定義されるので、ソースアドレスに関して事前に記憶された情報は、ソースアドレスおよびESNの新しい組み合わせのための記録を作成する上で有用である場合がある。
前記から、本発明の特定の実施形態が本明細書で説明のために説明されてきたが、本発明の精神および範囲から逸脱することなく多様な変更が加えられてもよいことが理解されよう。したがって、本発明は、添付の特許請求の範囲によって以外制限されない。

Claims (26)

  1. ネットワークの第1の部分に接続されており、第1のネットワークアドレスを有する受信システムと送信システムの間で、前記受信システムによってまだ受信されていないファイルの残りの部分のファイルセグメントを送信するためのセッションを開始することと、 前記ファイルセグメントの第1の部分が前記受信システムによって受信された後で、かつ前記ファイルセグメントの第2の部分が前記受信システムによってまだ受信されていないセッションの間に、前記受信システムを前記ネットワークの前記第1の部分から切断し、それによってファイル転送動作を終了させることと、
    前記ネットワークの前記第1の部分から前記受信システムを切断した後に、前記第1のネットワークアドレスとは異なる第2のネットワークアドレスを有する前記受信システムを前記ネットワークの第2の部分に接続することと、
    前記受信システムを前記ネットワークの前記第2の部分に接続した後に、前記セッションを自動的に再開し、前記ファイルセグメントの前記第2の部分を前記送信システムから前記受信システムに送信することと、
    を含む方法。
  2. 前記送信システムが、前記セッションを再開するために前記受信システムから前記第2のネットワークアドレスを受信する、請求項1に記載の方法。
  3. 前記送信システムが、前記セッションを再開するために前記受信システムから要求を受信する、請求項1に記載の方法。
  4. 実質的に前記ネットワークの前記第1の部分から前記受信システムを切断した時点の前記セッションの状態を保持することをさらに含む、請求項1に記載の方法。
  5. 前記受信システムがカウントダウンタイマーを使用し、前記セッションを再開するために前記送信システムに要求を送信することを開始する、請求項1に記載の方法。
  6. 前記セッション再開後に、前記ファイルセグメントの前記第2の部分だけが前記送信システムから前記受信システムに送信される、請求項1に記載の方法。
  7. 前記ファイルの残りの部分の決められたサイズおよび前記ファイルの前記残りの部分を転送するために使用可能な時間の量を用いて、前記ファイルセグメントを転送するための最小転送速度を決定することと、
    前記最小転送速度および前記送信システムの最大転送容量を用いて、前記ファイルの前記残りの部分の前記ファイルセグメントを転送するための最大転送速度を決定することと、
    をさらに含む、請求項1に記載の方法。
  8. 前記送信システムの記憶装置に保持されるセッション状態に基づいて、前記送信システムから前記受信システムへ前記ファイルセグメントの前記第2の部分を送信することをさらに含む、請求項1に記載の方法。
  9. 前記ファイルセグメントの前記第2の部分を、前記送信システム以外の送信システムから前記受信システムに送信することをさらに含む、請求項1に記載の方法。
  10. 前記ファイルセグメントの前記第2の部分を受信することと、
    前記ファイルセグメントのサイズ、および前記ファイルセグメントが前記送信システムから送信された時と前記ファイルセグメントが前記受信システムで受信された時の間の経過時間を用いて、前記ファイルセグメントが前記送信システムから前記受信システムに送信された実際の転送速度を決定することと、
    最大転送速度、最小転送速度、および前記実際の転送速度に基づいて待機期間を決定することと、
    前記受信システムで前記ファイルセグメントを受信した後に、前記受信システムによる前記ファイルセグメントの受信を肯定応答する肯定応答メッセージを前記受信システムから送信する前に待機期間、待機することと、
    前記受信システムから前記肯定応答メッセージを送信することと、
    をさらに含む、請求項1に記載の方法。
  11. 前記ネットワークの前記第1の部分が、前記ネットワークの前記第2の部分とは異なるタイプである、請求項1に記載の方法。
  12. ネットワークの第1の部分に接続され、第1のネットワークアドレスを有する受信システムに、送信システムから、ファイルの複数のセグメントのうちの1つを送信することと、
    前記ネットワークの前記第1の部分から前記受信システムを切断し、それによってファイル転送動作を終了させることと、
    第2のネットワークアドレスを有する前記受信システムを前記ネットワークの第2の部分に接続することと、
    前記第2のネットワークアドレスを有する前記送信システムから前記受信システムへ前記ファイルの前記複数のセグメントのうちの別のセグメントを送信することと、
    を含む方法。
  13. 前記ネットワークの前記第1の部分が、前記ネットワークの前記第2の部分とは異なるタイプである、請求項12に記載の方法。
  14. 前記送信システムが前記受信システムから前記第2のネットワークアドレスを受信し、前記受信システムへ前記ファイルの前記複数のセグメントの他のセグメントを送信することを開始する、請求項12に記載の方法。
  15. 前記受信システムが前記ネットワークの前記第2の部分に接続すると、前記送信システムが前記受信システムから自動的に要求を受信し、前記ファイルの前記複数のセグメントのうちの別のセグメントを送信する、請求項12に記載の方法。
  16. 実質的に前記ネットワークの前記第1の部分から前記受信システムを切断する時点において、前記ファイルの前記複数のセグメントのうちの前記1つを送信することに関する情報を保持することをさらに含む、請求項12に記載の方法。
  17. 前記受信システムがカウントダウンタイマーを使用し、前記ファイルの前記複数のセグメントのうちの別のセグメントを送信するために、要求を前記送信システムに送信することを開始する、請求項12に記載の方法。
  18. 前記受信システムが前記ネットワークの第2の部分に接続された後、前記ファイルの前記複数のセグメントのうちの別のセグメントが、前記複数のファイルセグメントのうちの前記1つを前記受信システムに再送することなく、前記受信システムに送信される、請求項12に記載の方法。
  19. まだ送信されていない前記ファイルの残りの部分の決定されたサイズ、および前記ファイルの前記残りの部分を転送するために使用可能な時間の量を用いて、前記ファイルの前記複数のセグメントのうちの前記1つを転送するための最小転送速度を決定することと、
    前記最小転送速度、および前記送信システムの最大転送容量を用いて、前記ファイルの前記複数のセグメントのうちの前記一つを転送するための最大転送速度を決定することと、
    をさらに含む、請求項12に記載の方法。
  20. 前記送信システムの記憶装置に保持されるセッション状態に基づいて、前記送信システムから前記受信システムに前記ファイルの前記複数のセグメントのうちの別のセグメントを送信することをさらに含む、請求項12に記載の方法。
  21. 前記送信システム以外の送信システムから前記受信システムに前記ファイルの前記複数のセグメントのうちの別のセグメントを送信することをさらに含む、請求項12に記載の方法。
  22. 前記ファイルの前記複数のセグメントのうちの前記つのサイズおよび送信された時刻および受信された時刻を用いて、前記送信システムから前記受信システムに、前記ファイルの前記複数のセグメントのうちの前記つが送信された実際の転送速度を決定することと、
    前記実際の転送速度を用いて待機期間を決定することと、
    前記受信システムで前記ファイルの前記複数のセグメントの前記つを受信した後に、前記受信システムによる前記ファイルセグメントの受信を肯定応答する肯定応答メッセージを前記受信システムから送信する前に前記待機期間が期限切れになるのを待つこと、
    前記受信システムからの前記肯定応答メッセージを、前記第2のネットワークアドレスから送信することと、
    をさらに含む、請求項12に記載の方法。
  23. 複数の待機期間のうちの異なる待機期間が各伝送後に発生する複数の伝送によって、一度に1つづつ、複数のファイルセグメントを送信することを含む、複数のファイルセグメントから構成されるファイルの一部を、送信システムから受信システムに送信することと、
    ファイルセグメント伝送について、前記ファイルセグメントが前記送信システムから前記受信システムに送信された実際の転送速度を決定することと、
    前記ファイルセグメント伝送のうちの少なくとも1つについて、第1のネットワークアドレスを有するネットワークの第1の部分に接続されている前記受信システムで前記ファイルセグメント伝送を受信し、前記受信システムを前記ネットワークの前記第1のネットワークアドレスから切断し、それによってファイル転送を終了させ、その後前記受信システムを第2のネットワークアドレスに接続することと、
    前記ファイルセグメント伝送のうちの少なくとも1つについて、前記第2のネットワークアドレスを有する前記ネットワークの第2の部分に接続されている前記受信システムで前記ファイルセグメント伝送を受信することと、
    前記第1のネットワークアドレスを有し、前記第1のネットワークアドレスへの以前のファイルセグメント伝送を有する前記受信システムへの各ファイルセグメント伝送について、前記第1のネットワークアドレスへの前記以前のファイルセグメント伝送の前記実際の転送速度を用いて、前記第1のネットワークアドレスを有する前記受信システムへの前記ファイルセグメント伝送で送信される前記ファイルセグメントのサイズを決定することと、
    前記第2のネットワークアドレスを有し、前記第2のネットワークアドレスへの以前のファイルセグメント伝送を有する前記受信システムへの各ファイルセグメント伝送について、前記第2のネットワークアドレスへの前記以前のファイルセグメント伝送の前記実際の転送速度を用いて、前記第2のネットワークアドレスを有する前記受信システムへの前記ファイルセグメント伝送で送信される前記ファイルセグメントのサイズを決定することと、
    を含む方法。
  24. 前記ネットワークの前記第1の部分が、前記ネットワークの前記第2の部分とは異なるタイプである、請求項23に記載の方法。
  25. 要求後の少なくとも第1の複数時間に発生する送達期限までに送達されるファイルを要求することと、
    前記送達期限までに送達されるように、複数時間の期間に渡って、一度に1ファイルセグメントづつ、前記ファイルを受信システムに電子的に送達し、ここで、前記期間のある部分の間、前記受信システムが第1のネットワークアドレスを有するネットワークの第1の部分に接続され、前記ネットワークの前記第1の部分から切断され、それによってファイル転送を終了させ、前記期間の別の部分の間、前記受信システムが、前記第1のネットワークアドレス以外の第2のネットワークアドレスを有する前記ネットワークの第2の部分に接続されることと、
    を含む方法。
  26. 前記ネットワークの前記第1の部分が、前記ネットワークの前記第2の部分とは異なるタイプである、請求項25に記載の方法。
JP2014181366A 2008-07-02 2014-09-05 トランスペアレンシー機能を用いる適応ファイル送達のシステムおよび方法 Active JP5974373B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/167,154 2008-07-02
US12/167,154 US7921196B2 (en) 2005-04-07 2008-07-02 Adaptive file delivery with transparency capability system and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011516859A Division JP2011527164A (ja) 2008-07-02 2009-07-01 トランスペアレンシー機能を用いる適応ファイル送達のシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2015029295A JP2015029295A (ja) 2015-02-12
JP5974373B2 true JP5974373B2 (ja) 2016-08-23

Family

ID=41466600

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011516859A Pending JP2011527164A (ja) 2008-07-02 2009-07-01 トランスペアレンシー機能を用いる適応ファイル送達のシステムおよび方法
JP2014181366A Active JP5974373B2 (ja) 2008-07-02 2014-09-05 トランスペアレンシー機能を用いる適応ファイル送達のシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011516859A Pending JP2011527164A (ja) 2008-07-02 2009-07-01 トランスペアレンシー機能を用いる適応ファイル送達のシステムおよび方法

Country Status (5)

Country Link
US (1) US7921196B2 (ja)
EP (1) EP2297913B1 (ja)
JP (2) JP2011527164A (ja)
KR (1) KR101444987B1 (ja)
WO (1) WO2010003024A2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7995588B2 (en) * 2006-01-27 2011-08-09 Vuze Llc Systems and methods for distributing data within an internet having a plurality of nodes
US20090006624A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Entertainment Access Service
US8219283B2 (en) * 2007-11-14 2012-07-10 Ford Global Technologies Active steering nibble control algorithm for electric steering systems
US20090171762A1 (en) * 2008-01-02 2009-07-02 Microsoft Corporation Advertising in an Entertainment Access Service
US10475010B2 (en) * 2008-01-10 2019-11-12 Microsoft Technology Licensing, Llc Federated entertainment access service
JP2010027004A (ja) * 2008-07-24 2010-02-04 Fujitsu Ltd コンテンツ配信装置、通信システム、コンテンツ配信方法、およびプログラム
US8103631B2 (en) * 2008-11-19 2012-01-24 Sandisk Il Ltd Merging files on storage and retrieve
US8103769B1 (en) * 2009-09-03 2012-01-24 Amazon Technologies, Inc. Dynamic isolation of shared resources
US20110210835A1 (en) * 2010-03-01 2011-09-01 Denso Corporation Emergency notification system and method for notifying emergency
WO2012011467A1 (ja) * 2010-07-20 2012-01-26 シャープ株式会社 データ配信システム、データ配信方法、配信側データ中継装置、及び受信側データ中継装置
CN103297449B (zh) 2012-02-24 2017-12-12 腾讯科技(深圳)有限公司 一种文件传输方法、即时通信终端及系统
CN104168081B (zh) * 2013-05-20 2018-09-07 腾讯科技(深圳)有限公司 一种文件传输方法及装置
EP3072258B1 (en) * 2013-11-20 2019-11-06 Opanga Networks, Inc. Fractional pre-delivery of content to user devices
EP3108496B1 (en) * 2014-02-21 2021-04-28 Purdue Research Foundation Analyzing an extracted sample using an immiscible extraction solvent
US20150271231A1 (en) * 2014-03-18 2015-09-24 Qualcomm Incorporated Transport accelerator implementing enhanced signaling
JP6137149B2 (ja) * 2014-12-01 2017-05-31 コニカミノルタ株式会社 情報処理システム、クラウドサーバー、装置制御方法および装置制御プログラム
US9807010B2 (en) 2015-06-05 2017-10-31 Akamai Technologies, Inc. Congestion detection in mobile networks and delivery of content in non-congested conditions
WO2017134120A1 (en) 2016-02-01 2017-08-10 Piksel, Inc Providing recommendations based on predicted context
KR102421791B1 (ko) * 2016-05-26 2022-07-15 삼성전자주식회사 Mmt 네트워크 시스템에서 미디어 시간 정보를 전송 하는 방법 및 장치
US10667172B2 (en) 2018-06-18 2020-05-26 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles
US11012362B2 (en) 2018-06-18 2021-05-18 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10290475A (ja) * 1997-02-12 1998-10-27 Fujitsu Ltd 移動通信システム
US6651105B1 (en) * 1998-11-12 2003-11-18 International Business Machines Corporation Method for seamless networking support for mobile devices using serial communications
JP4299911B2 (ja) * 1999-03-24 2009-07-22 株式会社東芝 情報転送システム
JP2001016253A (ja) * 1999-06-29 2001-01-19 Hitachi Ltd 残留tcpコネクション切断方法
US6845398B1 (en) * 1999-08-02 2005-01-18 Lucent Technologies Inc. Wireless multimedia player
US6377805B1 (en) * 1999-08-04 2002-04-23 International Business Machines Corporation Maintaining data communication through neighboring mobile units during handoff
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
US7103906B1 (en) * 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
US6948010B2 (en) 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
JP4011319B2 (ja) * 2001-09-18 2007-11-21 京セラ株式会社 通信装置及び通信方法
US7451205B2 (en) * 2001-10-01 2008-11-11 Hewlett-Packard Development Company, L.P. Multimedia stream pre-fetching and redistribution in servers to accommodate mobile clients
US7533158B2 (en) * 2003-01-17 2009-05-12 At&T Intellectual Property I, L.P. System and method for handling digital content delivery to portable devices
JP2004336256A (ja) * 2003-05-02 2004-11-25 Ntt Docomo Inc データ通信システム
US20040221929A1 (en) * 2003-05-09 2004-11-11 Hebda John J. Processing of titanium-aluminum-vanadium alloys and products made thereby
DE60306754T2 (de) 2003-05-21 2007-07-12 Siemens S.P.A. Verfahren zum Herunterladen von Software mit Unterstützung von mobilen Sitzungen in Mobilkommunikationssystemen
US20050128995A1 (en) 2003-09-29 2005-06-16 Ott Maximilian A. Method and apparatus for using wireless hotspots and semantic routing to provide broadband mobile serveices
US20050091395A1 (en) 2003-10-08 2005-04-28 Jason Harris Method and system for transferring data files
EP1721410A2 (en) * 2004-03-05 2006-11-15 Nextnet Wireless, Inc. Method and apparatus for isochronous datagram delivery over contention-based data link
US7500010B2 (en) 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
KR20080043925A (ko) * 2006-11-15 2008-05-20 엘지전자 주식회사 파일에 대한 접근 제어 방법
KR100838524B1 (ko) * 2006-11-28 2008-06-17 전자부품연구원 메타데이터를 이용한 멀티미디어 재생장치 간의 멀티미디어컨텐츠 북마크 공유 방법 및 시스템

Also Published As

Publication number Publication date
EP2297913A4 (en) 2017-07-05
WO2010003024A2 (en) 2010-01-07
JP2015029295A (ja) 2015-02-12
KR101444987B1 (ko) 2014-09-26
KR20110046461A (ko) 2011-05-04
EP2297913A2 (en) 2011-03-23
JP2011527164A (ja) 2011-10-20
WO2010003024A3 (en) 2010-04-15
US7921196B2 (en) 2011-04-05
US20090024749A1 (en) 2009-01-22
EP2297913B1 (en) 2018-11-28

Similar Documents

Publication Publication Date Title
JP5974373B2 (ja) トランスペアレンシー機能を用いる適応ファイル送達のシステムおよび方法
US8812722B2 (en) Adaptive file delivery system and method
US10396913B2 (en) System and method for peak flow detection in a communication network
US8589508B2 (en) System and method for flow control in an adaptive file delivery system
JP2011527054A (ja) リンクプロファイルを用いる適応ファイル送達のシステムおよび方法
US7139834B1 (en) Data routing monitoring and management
US11258531B2 (en) System and method for peak flow detection in a communication network
EP2741517A1 (en) Managing content on an ISP cache
US7593922B1 (en) Method and system for providing delivery of segmented data files

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150617

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160405

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160627

R150 Certificate of patent or registration of utility model

Ref document number: 5974373

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250