JP3666796B2 - Download method in data distribution system and storage medium storing program thereof - Google Patents

Download method in data distribution system and storage medium storing program thereof Download PDF

Info

Publication number
JP3666796B2
JP3666796B2 JP2000214562A JP2000214562A JP3666796B2 JP 3666796 B2 JP3666796 B2 JP 3666796B2 JP 2000214562 A JP2000214562 A JP 2000214562A JP 2000214562 A JP2000214562 A JP 2000214562A JP 3666796 B2 JP3666796 B2 JP 3666796B2
Authority
JP
Japan
Prior art keywords
download
time
user
file
determined
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.)
Expired - Fee Related
Application number
JP2000214562A
Other languages
Japanese (ja)
Other versions
JP2002032284A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000214562A priority Critical patent/JP3666796B2/en
Publication of JP2002032284A publication Critical patent/JP2002032284A/en
Application granted granted Critical
Publication of JP3666796B2 publication Critical patent/JP3666796B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ配信システムにおけるダウンロード方法(配信予約方法)及びファイル転送を行うダウンロードプログラムを記録したクライアントの記録媒体に関する。
【0002】
【従来の技術】
ダウンロードの中断再開を可能とするソフトウェアモジュールとして、パソコン上のiria(フリーウェア)等のダウンロード支援ソフトウェアを利用する方法がある。
【0003】
ダウンロード支援ソフトウェアは、FTP(ファイル転送)及びHTTP(Web)から自分のパソコンにファイルのダウンロードを行い、希望のファイルを確実にダウンロードすることを目的としており、ファイルをダウンロードしようとしているサーバーがビジー(忙しい状態)もしくは反応が無かった場合には、ダウンロードが完了するまでリトライ(再試行)することができる。HTTPとFTPのどちらからでも、中断された位置からダウンロードをレジューム(再開)することができる。
【0004】
さらに、複数のファイルを同時にダウンロードすることもできる。また、スケジューリング機能(以下、予約配信機能)として、指定された時刻にインターネットプロバイダに自動接続してファイルをダウンロードしたり、逆に、接続を切断したりすることができる。
【0005】
但し、これらのダウンロード支援ソフトウェアにおいて、ダウンロード中断時の、ダウンロード再開方法は、図8に示すように、サーバマシンからクライアントマシンヘのダウンロード開始後に、ダウンロード状況を判定し、データを全て受信完了する前にデータ受信の失敗によりタウンロード中断が生じた場合、ウェイトタイマー値Tsの時間(定数)待って、ダウンロードを再開していた。このウェイトタイマー値Tsは、固定の設定値であった。
【0006】
【発明が解決しようとする課題】
この場合、ダウンロード中断が連続して生じた場合は、ウェイトタイマー値Tsという定数を基に再送を行っていた。
【0007】
しかし、この再送を行う時点で、(a)サーバマシンとクライアントマシン間の通信路に、一時的な何らかのトラブルが生じている、(b)一時的にサーバのダウンロードプロセスが高負荷により停止している等の事象が発生している可能性があり、その場合は、いくらリトライしても、ダウンロードは再開されず、(c)ダウンロードセッションの確立による、無駄なトラフィックの発生が生じていた。もし、クライアントとサーバの間にダウンロードのセッションを確立するために有料の回線を利用する場合には、無駄な回線使用コストが生じていた。
【0008】
本発明の目的は、無駄なトラフィックを抑制しつつ、できるだけ短時間にダウンロードを終了することが可能な技術を提供することにある。
【0009】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【0010】
【課題を解決するための手段】
本願において開示される発明の概要を簡単に説明すれば、下記のとおりである。
【0012】
)帯域が保証されていないデータ配信システム(ネットワーク)における、ファイル転送の中断再開が可能なダウンロード方法において、ダウンロードが中断した際、クライアントマシンが、ダウンロードするサーバマシンとの過去X(Xは固定値、設定により可変)秒のスループット(以下、Sと称する)が事前に設定した閾値(以下、Sminと称する)を超える(SSmin)場合は、(F−1)回(Fは固定値、設定により可変)は、短時間(ウェイトタイマー値Ts)で再開を試み、F回以上連続して再開に失敗した場合は、ウェイトタイマー値TsをTl(Ts)に設定変更して再開を試み、S≦Sminの場合は、短時間(ウェイトタイマー値Ts)で再開を試みる。
【0013】
ここで、Tl、Tsは、ともに回線の実効帯域が理想値の場合、ダウンロードが中断せずに完了したと仮定した場合の予想ファイル転送時間(Tdown)に対しては、非常に短い値とする。
【0014】
)帯域が保証されていないデータ配信システム(ネットワーク)における、ファイル転送の中断再開が可能なダウンロード方法の処理手順を、コンピュータに実行させるためのプログラムを記憶したコンピュータが読み出し可能な記憶媒体であって、ダウンロードが中断した際、ダウンロードするサーバマシンとの過去X(Xは固定値、設定により可変)秒のスループット(以下、Sと称する)が事前に設定した閾値(以下、Sminと称する)を超える(SSmin)場合は、(F−1)回(Fは固定値、設定により可変)は、短時間(ウェイトタイマー値Ts)で再開を試みる手順と、F回以上連続して再開に失敗した場合は、ウェイトタイマー値をTl(Ts)に設定変更して再開を試みる手順と、S≦Sminの場合は、短時間(ウェイトタイマー値=Ts)で再開を試みる手順を、コンピュータに実行させるためのプログラムを記憶したコンピュータが読み出し可能な記憶媒体である。
【0015】
前記本発明の手段によれば、中断再開が可能なファイルのダウンロードを行う場合に、ダウンロードの中断再開タイマー値を可変とし、データダウンロードが成功している時の平均スループット(not=直前のスループット)を保持し、中断発生時には、そのスループットをパラメータとして、スループット高で予め設定した回数連続して中断が発生したら、中断再開タイマー値を長くし、スループット低なら何度連続して中断が発生しても、中断再開タイマー値を維持することにより、クライアントとサーバの間のトラフィックを軽減できるので、できるだけ早くダウンロードを完了させることができる。また、クライアントとサーバ間で有料の回線を利用する場合は、無駄な回線使用コストを軽減できる。
【0016】
以下に、本発明について、本発明による実施形態(実施例)とともに図面を参照して詳細に説明する。
【0017】
【発明の実施の形態】
本発明による一実施形態は、ダウンロードの中断再開タイマー値の制御方法において、生じる中断再開タイマーの制御方法として、ダウンロードが中断した際、ダウンロードするサーバマシンとの過去X(Xは固定値、設定により可変)秒のスループットSが事前に設定した閾値Sminを超える(SSmin)場合は、一時的な回線または一時的なサーバ障害の疑いと判定し、(F−1)回(Fは固定値、設定により可変)は、ウェイトタイマー値Ts(短時間)で再開を試みる。F回以上連続して再開に失敗した場合は、何らかの一時的障害が発生したと判定し、ウェイトタイマー値TsをTl(Ts)に設定変更して再開を試みる。
【0018】
また、S≦Sminの場合は、恒久的に回線状況が悪いと判断し、ウェイトタイマー値Ts(短時間)で再開を試みる。
【0019】
ここで、Tl、Tsは、ともに回線の実効帯域が理想値の場合、ダウンロードが中断せずに完了したと仮定した場合の予想ファイル転送時間(Tdown)に対しては、非常に短い値とする。すなわち、Tdown≫Tl>Tsである。具体的には、ダウンロード対象のファイルサイズが、8MB(=64000kbit)で、回線帯域が64kbit/secの場合は、Tdown=64000/64=1000secとなり、この場合の、Tl、Tsはそれぞれ60sec、10sec程度を想定している。勿論、これらの値は、状況に応じて、適切な値に設定することが望ましいし、もしくは、ファイルのダウンロードを実行する毎に回線速度とファイルサイズファイルから適切なTl、Tsを計算して、設定する方法でもよい。
【0020】
前記のダウンロード中断再開におけるウェイトタイマー値Tsの制御方法が、無駄なトラフィックを抑制しつつ、できるだけ速くダウンロードを完了させる根拠としては、以下の(a)及び(b)が挙げられる。
【0021】
(a)ダウンロード実行時のスループットが高くて、ダウンロードが中断した場合は、サーバまでの回線状況が一時的に悪化して、ダウンロードが中断したと推定される。通常は、数回(以下、F回とする)のリトライでダウンロード再開に成功することが普通であり、もし、F回のリトライでダウンロード再開に成功しなかった場合も、再開後、高いスループットでのダウンロードが期待されるので、F+1回以降のリトライは、ウェイトタイマー値Tsを長めに設定しても、トータルの転送時間は、短く完了する。
【0022】
(b)ダウンロード実行時のスループットが低くて、ダウンロードが中断した場合は、サーバまでの回線状況が一時的ではなく、恒久的に悪く、ダウンロードが中断しやすい状態と考えられる。よってダウンロードの中断が回線状況が悪いことが原因で頻繁に生じることが予想されるため、再開までのウェイトタイマー値を大きくすることは、意味がなく、逆に、頻繁にアクセスして、少しずつのデータ量でもよいから、ダウンロードを実行したほうが効率的である。
【0023】
本発明を実現するダウンロード方法及びそのプログラムを記憶した記憶媒体の中には、ファイル転送実行部とファイル転送制御部の2つを設ける。
【0024】
ファイル転送実行部は、サーバから実際にデータを受信、格納するモジュールである。ダウンロードアルゴリズムは、中断再開に対応しているプロトコルである必要があり、現時点では、HTTPのファイル受信プロトコルが望ましい。勿論、将来的にFTP等のTCP/IP汎用ファイル転送プロトコルが中断再開に対応すれば、そのプロトコルであってもよいし、TCP/IPを使っていれば、独自のプロトコルでもよい。
【0025】
前記ファイル転送実行部は、既存のファイル転送モジュールであり、特に新規性はないが、ダウンロード状況として、
i)データを全て受信完了したか?
ii)データを受信失敗してダウンロードを中断したか?
iii)データを受信実行中で、かつ残りのデータがあるか?
を外部のモジュールから判定できるようにしておく必要がある。
【0026】
この実現手法の一例としては、プロセスの終了時に、その終了の理由を示すステータスコードファイルを生成し、外部からそれを参照する方法があるが、他にどんな方法でもダウンロード状況が判定できればそれでよい。
【0027】
以下に、プロセスの終了時にステータスコードファイルを生成する方法の代表例を以下に説明する。ステータスコードファイルの内容は、
(a)データを受信失敗してダウンロードを中断した場合:エラー終了
(b)データを全て受信完了した場合:正常終了
(c)データを受信実行中で、かつ残りのデータがない場合:ファイル未作成
とする。
【0028】
また、ダウンロードのスループットを計算するため、ダウンロードしたファイルサイズを保持し、外部からそれを参照する機能も必要である。この実現手法の一例として、ファイルをダウンロードする毎に、ダウンロードしたファイルサイズを別のファイル(以下、ダウンロード済みファイルサイズファイル)に記憶しておく方法があるが、ファイルではなく、メモリ空間でもよいし、他にどんな方法でもファイルサイズを保持できればよい。
【0029】
前記ファイル転送制御部は、前記ファイル転送実行部に対して、ダウンロードの開始、再開及び再開までのウェイトタイマー値Tsを制御するモジュールである。
【0030】
図1は、本実施形態の一実施例のファイル転送制御部の動作を示すフローチャートである。図1において、各定数、変数の説明は、以下のとおりである。
【0031】
初期設定を行う定数としては、
Ts:間隔の短いタイマー値(sec)
Tl:間隔の長いタイマー値(Tl>Ts)(sec)
Smin:回線状況良好と判定するスループットの最小値
Fmin:高スループット状態でのデータ受信連続許容失敗回数
Xtimer:スループットを観測する間隔
また、変数としては、
S:データ受信時の過去X秒のスループット(kbit/sec)
F:高スループット状態でのデータ受信連続失敗回数
Time:ダウンロード開始からの経過時間(secが最小単位、端数は切り捨て)を用いる。
【0032】
本実施例のファイル転送制御部は、図1に示すように、ステップ(step)0をスタート(START)とする。ステップ0では、演算制御の初期値としてS=0、F=0をセットし、ステップ1に進む。
【0033】
ステップ1において、ファイル転送制御部は、ファイル転送実行部に対してダウンロード開始指示を出し、Time=0にセットし、ステップ2に進む。
【0034】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。
【0035】
ステータスコードファイルが生成されていない場合は、データを受信成功し、かつ、残りのデータがあると判定しステップ7に進む。
【0036】
ステータスコードファイルの内容がエラー終了の場合、ステップ3に進む。
【0037】
ステータスコードファイルの内容が正常終了の場合は、処理を終了する。
【0038】
ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。
【0039】
ステップ11では、ダウンロード時間(Time)が、設定値Xを既に経過しているか否かを判定する。具体的には、Time≧Xを判定し、真なら、ステップ12に進む。偽なら、ステップ13に進む。
【0040】
ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。すなわち、Timeが、Xtimerの整数倍か否かを判定する。具体的には、(Time)mod(Xtimer)=0を判定し、真なら、ステップ8に進む。偽なら、ステップ13に進む。
【0041】
ステップ8では、過去X秒の平均スループットを計算してSとして保持し、ステップ2へ進む。平均スループットは、(ダウンロード済みファイルサイズファイルの過去X秒の増加分)/Xの計算式から求める。ステップ13へ進む。
【0042】
ステップ13では、ファイル転送制御部の処理の負荷を軽減するため、処理を1秒に一回に制限するために、1秒のウェイトを置き、ステップ2へ遷移する。
【0043】
ステップ3では、データ受信時の過去X秒のスループットが回線状況良好と判定するスループットの最小値よりも大きいか否かを判定する。具体的には、S>Sminを判定し、真なら、一時的な回線またはサーバ障害の疑いありと判定し、ステップ4に進む。偽なら、回線状況が良好でないと判定し、ステップ9に進む。
【0044】
ステップ4では、ここに遷移するのは高スループット状態でのデータ受信連続失敗が一回増加した場合であるから、Fを1インクリメントする。すなわち、F=F+1の演算を行う。
【0045】
ステップ5では、高スループット状態でのデータ受信連続失敗が、高スループット状態でのデータ受信連続許容失敗回数以上に達したかを判定する。具体的には、F≧Fminを判定し、真なら、一時的な回線またはサーバ障害発生と判定し、ステップ6に進む。偽なら、ステップ9に進む。
【0046】
ステップ6では、Tlのウェイトタイマー値のウェイトを置く。そしてステップ10に進む。
【0047】
ステップ9では、Tsのウェイトタイマー値のウェイトを置く。そしてステップ10に進む。
【0048】
ステップ10において、ファイル転送制御部は、ファイル転送実行部に対してダウンロード再開指示を出し、Time=0にセットし、ステップ2に進む。
【0049】
図2は、本実施形態のファイル転送実行部の動作を示すフローチャートである。
【0050】
本実施形態のファイル転送実行部は、図2に示すように、ステップAは処理のスタート(START)である。これは、ファイル転送制御部から、ダウンロード開始指示を受信することにより、スタートする。この時、ステータスコードファイルは消去し、ステップBに進む。
【0051】
ステップBで、ファイルのダウンロードを試みる。ステップCに進む。
【0052】
ステップCで、ダウンロードエラーが発生したか否かを判定する。ダウンロードエラーが発生していたら、ステップHに進む。エラーが発生しておらず、ダウンロードが正常に行えた場合は、ステップDに進む。
【0053】
ステップDで、受信したデータをファイルに格納し、再開指示の場合は、従来ダウンロードしたファイルの後ろにデータをアペンドする。ステップEに進む。
【0054】
ステップEで、受信したファイルのデータ長をダウンロード済みファイルサイズファイルに格納し、ステップFに進む。
【0055】
ステップFでは、ダウンロードが完了したか否かを判定する。ダウンロードが完了していたらステップGに進む。ダウンロードが未完了の場合は、ステップBに進む。
【0056】
ステップGでは、ステータスコードファイルに正常終了を示す情報を書き込み、処理を終了する。
【0057】
ステップHでは、ステータスコードファイルにエラー終了を示す情報を書き込み、処理を終了する。
【0058】
次に、ファイル転送制御部、ファイル転送実行部、ポータルの各ノード間のシーケンスチャートの例を図3、図4、図5に示す。ポータルは、ダウンロードするコンテンツが格納されているサーバである。
【0059】
図3は、中断が一度も発生せずに正常終了した場合のシーケンスであり、図4は、中断が1回発生したが、次の再開で復旧して、正常終了の場合のシーケンスである。図5は、途中で中断し、そのまま時間切れの場合のシーケンスチャートである。
【0060】
(実施例1)
本実施形態の実施例1は、ダウンロードクライアントソフトウェアがサーバからデータを受信し、ダウンロードエラーが発生しなかった場合の処理の流れの実施例である。
【0061】
本実施例1においての各種条件は、
・コンテンツのファイルサイズ=8000KB=64000bit
・回線帯域が64kbit/sec
・Tl=60sec
・Ts=10sec
・Smin=40(kbit/sec)
・Fmin=2(回)
・X=30sec
・Xtimer=5sec
・ダウンロード実行部のダウンロードプロトコル:HTTPプロトコルによるダウンロード
である。以下、前記図1及び図2のフローチャートについてファイル転送実行部及びファイル転送制御部の処理の流れを時系列的に説明する。
【0062】
(ファイル転送実行部の動作)
図2に示すように、ファイル転送制御部からのダウンロード開始指示を受けると処理を開始し、ステップBに進みHTTPプロトコルによるダウンロードを実行する。ステップCに進む。
【0063】
ステップCでは、ダウンロードエラー発生の判定を行う。ここでは、エラーが発生しなかったので、ステップDに進む。
【0064】
ステップDで、受信したデータをファイルに格納し、ステップEで、受信したデータ長をダウンロード済ファイルサイズファイルに格納し、ステップFに進む。ステップFではダウンロードが完了したか否かを判定するが、ここでは、まだダウンロードが完了していないので、ステップBに戻る。
【0065】
ここで、ステップB→ステップC→ステップD→ステップE→ステップF→ステップBを繰り返す。
【0066】
ここで、繰り返し処理の間、その時点で、ダウンロード済みファイルの容量(=ダウンロード済みファイルサイズファイルの内容)は、単調に増えていく。すなわち、
Time=0secの時は、0kbit
Time=1secの時は、64kbit
Time=5secの時は、320kbit
Time=10secの時は、640kbit
Time=30secの時は、1920kbit
Time=35secの時は、2240kbit
Time=100secの時は、6400kbit
Time=965secの時に、61760kbit
Time=995secの時に、63680kbitである。Time=1000secの時に、64000kbitとなり、ステップFのダウンロード完了判定で、ダウンロード完了と判定し、ステップGに進み、ステータスコードファイルをクリエイトして正常終了を示す情報を書込み、ファイル転送実行部の処理を終了する。
【0067】
(ファイル転送制御部の動作)
図1において、ステップ0でS=0、F=0と設定する。ステップ1に進む。
【0068】
ステップ1において、ファイル転送制御部は、ファイル転送実行部に対してダウンロード開始指示を出し、Timeを0secに設定し、ステップ2に進む。
【0069】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ、残りのデータがあると判定し、ステップ7に進む。
【0070】
ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。
【0071】
ステップ11では、Time≧Xを判定する。ここでは、Time=0、X=30であるため、偽と判定されステップ13へ遷移する。ステップ13で1秒のウェイトを置き、ステップ2へ遷移する。
【0072】
以下、Time=30まで、ステップ2→ステップ7→ステップ11→ステップ13の処理を繰り返す。Time=30における、ステップ11の処理でTime=30、X=30であるため、真と判定されステップ12へ遷移する。
【0073】
ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。すなわち、Timeが、Xtimerの整数倍か否かを判定する。具体的には、(Time)mod(Xtimer)=0を判定する。ここでは、30mod5=0なので、真と判定し、ステップ8に進む。
【0074】
ステップ8では、過去X秒の平均スループットを計算してSとして保持する。平均スループットは、(ダウンロード済みファイルサイズファイルの過去X秒の増加分)/Xの計算式から求めるが、ここでは、ファイル転送実行部のダウンロード済みファイルサイズファイルの過去X秒の増加分は1920kbit−0kbit=1920kbitなので、1920kbit/30sec=64(kbit/sec)となる。ステップ13に進む。ステップ13では、1秒のウェイトを置き、ステップ2へ遷移する。
【0075】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ残りのデータがあると判定しステップ7に進む。
【0076】
ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。ステップ11では、Time≧Xを判定する。ここでは、Time=31、X=30であるため、真と判定されステップ12へ遷移する。
【0077】
ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。ここでは、31mod5=1なので、偽と判定し、ステップ13に進む。
【0078】
以下、Time=35までステップ2→ステップ7→ステップ11→ステップ12→ステップ13の処理を繰り返す。
【0079】
Time=35におけるステップ12の処理で35mod5=0なので、真と判定し、ステップ8に進む。ステップ8では、過去X秒の平均スループットを計算してSとして保持する。平均スループットは、(ダウンロード済みファイルサイズファイルの過去X秒の増加分)/Xの計算式から求めるが、ここでは、ファイル転送実行部のダウンロード済みファイルサイズファイルの過去X秒の増加分は2240kbit−320kbit=1920kbitなので、1920kbit/30sec=64(kbit/sec)となる。ステップ13に進む。
【0080】
ステップ13では、ファイル転送制御部の処理の負荷を軽減するため、処理を1秒に一回に制限するために、1秒のウェイトを置き、ステップ2へ遷移する。
【0081】
以下、同様にステップ2〜ステップ13処理を行い、Time=995となったとする。
【0082】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ残りのデータがあると判定しステップ7に進む。
【0083】
ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。ステップ11では、Time≧Xを判定する。ここでは、Time=995、X=30であるため、真と判定されステップ12へ遷移する。
【0084】
ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。ここでは、995mod5=0なので真と判定し、ステップ8に進む。ステップ8では、過去X秒の平均スループットを計算してSとして保持する。平均スループットは、(ダウンロード済みファイルサイズファイルの過去X秒の増加分)/Xの計算式から求めるが、ここでは、ファイル転送実行部のダウンロード済みファイルサイズファイルの過去X秒の増加分は63680kbit−61760kbit=1920kbitなので、1920kbit/30sec=64(kbit/sec)となる。ステップ13に進む。
【0085】
ステップ13では、ファイル転送制御部の処理の負荷を軽減するため、処理を1秒に一回に制限するために、1秒のウェイトを置き、ステップ2へ遷移する。
【0086】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ残りのデータがあると判定しステップ7に進む。
【0087】
ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。ステップ11では、Time≧Xを判定する。ここでは、Time=996、X=30であるため、真と判定されステップ12へ遷移する。
【0088】
ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。ここでは、996mod5=1なので、偽と判定し、ステップ13に進む。ステップ13で1秒のウェイトを置き、ステップ2へ遷移する。
【0089】
以下、Time=999までステップ2→ステップ7→ステップ11→ステップ12→ステップ13の処理を繰り返す。
【0090】
Time=999におけるステップ13の処理後、Time=1000になった時点でステップ2に進む。
【0091】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点で、ダウンロードが終了しているので、ステータスコードファイルが正常終了なためデータを全て受信完了と判定し、ファイル転送処理部の処理を終了する。
【0092】
(実施例2)
本実施形態の実施例2は、ダウンロードクライアントソフトウェアがサーバからデータを受信し、ダウンロードエラーが発生した場合の処理の流れの例である。本実施例2は、平均スループットが64kbit/secの場合である。
本実施例2においての各種条件は、
・コンテンツのファイルサイズ=8000KB=64000bit
・回線帯域が64kbit/sec
・Tl=60sec
・Ts=10sec
・Smin=40(kbit/sec)
・Fmin=2(回)
・X=30sec
・Xtimer=5sec
・ダウンロード実行部のダウンロードプロトコル:HTTPプロトコルによるダウンロード
・Time=35の時点でダウンロードが2回連続して失敗し、その後、再開に成功した場合である。
【0093】
以下、図1及び図2のフローチャートについてファイル転送実行部及びファイル転送制御部の処理の流れを時系列的に説明する。
【0094】
(ファイル転送実行部の動作)
図2に示すように、ファイル転送制御部からのダウンロード開始指示を受けると処理を開始し、ステップBに進みHTTPプロトコルによるダウンロードを実行する。ステップCに進む。
【0095】
ステップCでは、ダウンロードエラー発生の判定を行う。ここでは、エラーが発生しなかったので、ステップDに進む。
【0096】
ステップDで、受信したデータをファイルに格納し、ステップEで、受信したデータ長をダウンロード済ファイルサイズファイルに格納し、ステップFに進む。ステップFではダウンロードが完了したか否かを判定するが、ここでは、まだダウンロードが完了していないので、ステップBに戻る。
【0097】
ここで、ステップB→ステップC→ステップD→ステップE→ステップF→ステップBをTime=35まで繰り返す。
【0098】
前記繰り返し処理の間、その時点で、ダウンロード済みファイルの容量(=ダウンロード済みファイルサイズファイルの内容)は、単調に増えていく。すなわち、
Time=0secの時は、0kbit
Time=1secの時は、64kbit
Time=5secの時は、320kbit
Time=10secの時は、640kbit
Time=30secの時は、1920kbit
Time=35secの時は、2240kbit
である。
【0099】
Time=35のステップCの時点でダウンロードエラーが発生したので、ステップHに遷移し、ステータスコードファイルにエラー終了を示す情報を書込み、一旦処理を終了する。
【0100】
ファイル転送制御部からのダウンロード再開指示を受けると処理を開始し、ステップBにすすみHTTPプロトコルによるダウンロードを実行する。ステップCに進む。
【0101】
ステップCでは、もう一度エラーが発生したので、ステップHに遷移し、ステータスコードファイルにエラー終了を示す情報を書込み、一旦処理を終了する。
【0102】
ファイル転送制御部からのダウンロード再開指示を受けると処理を開始し、ステップBにすすみHTTPプロトコルによるダウンロードを実行する。ステップCに進む。
【0103】
ステップCでは、ダウンロードエラー発生の判定を行う。ここでは、エラーが発生しなかったので、ステップDに進む。
【0104】
ステップDで、受信したデータを前回中断したファイルの後ろに追記する形で格納し、ステップEで、今回の再開処理で受信したデータ長をダウンロード済ファイルサイズファイルに格納し、ステップFに進む。ステップFではダウンロードが完了したか否かを判定するが、ここでは、まだダウンロードが完了していないので、ステップBに戻る。
【0105】
ここで、ステップB→ステップC→ステップD→ステップE→ステップF→ステップBをTime=965まで繰り返す。
【0106】
Time=0secの時は、0kbit
Time=30secの時は、1920kbit
Time=930secの時に、59520kbit
Time=960secの時に、61440kbit
となり、ステップFのダウンロード完了判定で、ダウンロード完了と判定し、ステップGに進み、ステータスコードファイルをクリエイトして正常終了を示す情報を書込み、ファイル転送実行部の処理を終了する。
【0107】
(ファイル転送制御部の動作)
図1に示すように、ステップ0でS=0、F=0と設定する。ステップ1に進む。ステップ1において、ファイル転送制御部は、ファイル転送実行部に対してダウンロード開始指示を出し、Timeを0secに設定し、ステップ2に進む。
【0108】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ残りのデータがあると判定しステップ7に進む。
【0109】
ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。ステップ11では、Time≧Xを判定する。ここでは、Time=0、X=30であるため、偽と判定されステップ13へ遷移する。ステップ13で1秒のウェイトを置き、ステップ2へ遷移する。
【0110】
以下、Time=30まで、ステップ2→ステップ7→ステップ11→ステップ13の処理を繰り返す。Time=30におけるステップ11の処理でTime=30、X=30であるため、真と判定されステップ12へ遷移する。
【0111】
ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。すなわち、Timeが、Xtimerの整数倍か否かを判定する。具体的には、(Time)mod(Xtimer)=0を判定する。ここでは、30mod5=0なので、真と判定し、ステップ8に進む。
【0112】
ステップ8では、過去X秒の平均スループットを計算してSとして保持する。平均スループットは、(ダウンロード済みファイルサイズファイルの過去X秒の増加分)/Xの計算式から求めるが、ここでは、ファイル転送実行部のダウンロード済みファイルサイズの過去X秒の増加分は、1920kbit−0kbit=1920kbitなので、1920kbit/30sec=64(kbit/sec)となる。これをSとして保持する。ステップ13に進む。ステップ13では、1秒のウェイトを置き、ステップ2へ遷移する。
【0113】
ステップ2では、ダウンロードの状況を判定する。ダウンロードの状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ残りのデータがあると判定し、ステップ7に進む。
【0114】
ステップ7では、データの受信が成功しているため、変数Fを0にセットしステップ11に進む。
【0115】
ステップ11では、Time≧Xを判定する。ここでは、Time=31、X=30であるため、真と判定されステップ12へ遷移する。ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。ここでは、31mod5=1なので、偽と判定し、ステップ13に進む。
【0116】
以下、Time=35までステップ2→ステップ7→ステップ11→ステップ12→ステップ13の処理を繰り返す。
【0117】
Time=35におけるステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点で、ダウンロードが終了しているので、ステータスコードファイルがエラー終了であるためデータを受信失敗と判定し、ステップ3へ遷移する。
【0118】
ステップ3では、データ受信時の過去X秒のスループットが回線状況良好と判定するスループットの最小値よりも大きいか否かを判定する。具体的には、S>Sminを判定する。ここでは、64(kbit/sec)>40(kbit/sec)が真なので、一時的な回線またはサーバ障害の疑いありと判定し、ステップ4に進む。ステップ4では、ここに遷移するのは高スループット状態でのデータ受信連続失敗が一回増加した場合であるから、Fを1インクリメントする。すなわち、F=0+1=1となり、Fに1をセットし、ステップ5に遷移する。
【0119】
ステップ5では、高スループット状態でのデータ受信連続失敗が、高スループット状態でのデータ受信連続許容失敗回数以上に達したかを判定する。具体的には、F≧Fminを判定する。ここでは、1≧2が偽なので、ステップ9に進む。
【0120】
ステップ9では、Ts=10秒のウェイトタイマー値のウェイトを置く。そしてステップ10に進む。ステップ10において、ファイル転送制御部は、ファイル転送実行部に対してダウンロード再開支持を出し、Time=0にセットし、ステップ2に進む。
【0121】
Time=0におけるステップ2では、ダウンロードの状況を判定できる。ダウンロード状況の判定は、ファイル転送実行部からのステータスコードファイルを読み出すことにより行う。この時点で、ダウンロードが終了しているので、ステータスコードファイルがエラー終了なためデータを受信失敗と判定し、ステップ3へ遷移する。
【0122】
ステップ3では、データ受信時の過去X秒のスループットが回線状況良好と判定するスループットの最小値よりも大きい否かを判定する。具体的には、S>Sminを判定する。ここでは、64(kbit/sec)>40(kbit/sec)が真なので、一時的な回線またはサーバ障害の疑いありと判定し、ステップ4に進む。
【0123】
ステップ4では、ここに遷移するのは、高スループット状態でのデータ受信連続失敗が一回増加した場合であるから、Fを1インクリメントする。すなわち、F=1+1=2となり、Fに2をセットし、ステップ5に遷移する。
【0124】
ステップ5では、高スループット状態でのデータ受信連続失敗が、高スループット状態でのデータ受信連続失敗許容失敗回数以上に達したかを判定する。具体的には、F≧Fminを判定する。ここでは、2≧2が真なので、一時的な回線またはサーバ障害発生と判定し、ステップ6に進む。
【0125】
ステップ6では、Tl=60秒のウェイトタイマー値のウェイトを置く。そしてステップ10に進む。ステップ10において、ファイル転送制御部は、ファイル転送実行部に対してダウンロード再開指示を出し、Time=0にセットし、ステップ2に進む。
【0126】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ、残りのデータがあると判定しステップ7に進む。
【0127】
ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。ステップ11では、Time≧Xを判定する。ここでは、Time=0、X=30であるため、偽と判定されステップ13へ遷移する。ステップ13で1秒のウェイトを置き、ステップ2へ遷移する。
【0128】
以下、Time=30まで、ステップ2→ステップ7→ステップ11→ステップ13の処理を繰り返す。Time=30における、ステップ11の処理でTime=30、X=30であるため、真と判定されステップ12へ遷移する。
【0129】
ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。すなわち、Timeが、Xtimerの整数倍か否かを判定する。具体的には、(Time)mod(Xtimer)=0を判定する。ここでは、10mod5=0なので、真と判定し、ステップ8に進む。
【0130】
ステップ8では、過去X秒の平均スループットを計算してSとして保持する。平均スループットは、(ダウンロード済みファイルサイズファイルの過去X秒の増加分)/Xの計算式から求めるが、ここでは、ファイル転送実行部のダウンロード済みファイルサイズファイルの過去X秒の増加分は、1920kbit−0kbit=1920kbitなので、1920kbit/30sec=64(kbit/sec)となる。ステップ13に進む。ステップ13では、1秒のウェイトを置き、ステップ2へ遷移する。
【0131】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ、残りのデータがあると判定しステップ7に進む。
【0132】
ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。ステップ11では、Time≧Xを判定する。ここでは、Time=31、X=30であるため、真と判定されステップ12へ遷移する。
【0133】
ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。ここでは、31mod5=1なので、偽と判定し、ステップ13に進む。
【0134】
以下、Time=35までステップ2→ステップ7→ステップ11→ステップ12→ステップ13の処理を繰り返す。Time=35におけるステップ12の処理で35mod5=0なので、真と判定し、ステップ8に進む。ステップ8では、過去X秒の平均スループットを計算してSとして保持する。
【0135】
平均スループットは、(ダウンロード済みファイルサイズファイルの過去X秒の増加分)/Xの計算式から求めるが、ここでは、ファイル転送実行部のダウンロード済みファイルサイズファイルの過去X秒の増加分は2240kbit−320kbit=1920kbitなので、1920kbit/30sec=64(kbit/sec)となる。ステップ13に進む。
【0136】
ステップ13では、ファイル転送制御部の処理の負荷を軽減するため、処理を1秒に一回に制限するために、1秒のウェイトを置き、ステップ2へ遷移する。
【0137】
以下、同様にステップ2〜ステップ13処理を行い、Time=955となったとする。
【0138】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ残りのデータがあると判定しステップ7に進む。
【0139】
ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。ステップ11では、Time≧Xを判定する。ここでは、Time=960、X=30であるため、真と判定されステップ12へ遷移する。ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。ここでは、960mod5=0なので真と判定し、ステップ8に進む。
【0140】
ステップ8では、過去X秒の平均スループットを計算してSとして保持する。平均スループットは、(ダウンロード済みファイルサイズファイルの過去X秒の増加分)/Xの計算式から求めるが、ここでは、ファイル転送実行部のダウンロード済みファイルサイズファイルの過去X秒の増加分は61440kbit−59520kbit=1920kbitなので、1920kbit/30sec=64(kbit/sec)となる。ステップ13に進む。ステップ13では、ファイル転送制御部の処理の負荷を軽減するため、処理を1秒に一回に制限するために、1秒のウェイトを置き、ステップ2へ遷移する。
【0141】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点ではダウンロードが終了していないので、ステータスコードファイルが生成されていないので、データを受信成功し、かつ、残りのデータがあると判定しステップ7に進む。ステップ7では、データの受信が成功しているため変数Fを0にセットしステップ11に進む。
【0142】
ステップ11では、Time≧Xを判定する。ここでは、Time=961、X=30であるため、真と判定されステップ12へ遷移する。ステップ12では、ダウンロード時間(Time)が、スループットの測定タイミングであるかを判定する。ここでは、961mod5=1なので、偽と判定し、ステップ13に進む。ステップ13で1秒のウェイトを置き、ステップ2へ遷移する。
【0143】
以下、Time=964までステップ2→ステップ7→ステップ11→ステップ12→ステップ13の処理を繰り返す。Time=964におけるステップ13の処理後、Time=965になった時点でステップ2に進む。
【0144】
ステップ2では、ダウンロードの状況を判定する。ダウンロード状況の判定は、ファイル転送実行部からステータスコードファイルを読み出すことにより行う。この時点で、ダウンロードが終了しているので、ステータスコードファイルが正常終了なためデータを全て受信完了と判定し、ファイル転送処理部の処理を終了する。
【0145】
(実施例3)
以下、前記本発明の帯域が保証されていないデータ配信システム(ネットワーク)における、ファイル転送の中断再開が可能なダウンロード方法の処理手順のを、コンピュータが実行するためのプログラムを記憶した記憶媒体を、音楽配信サービスシステムヘ適用した場合の実施例3を記述する。
【0146】
(実施例3において使用する通信ノード)
本実施例3においては、以下の5つを通信ノードとする。
・ユーザ登録端末(以下ユーザ登録端末)
・予約端末(以下予約端末)
・お客様のPC(以下PC)
・ホームゲートウェイ(以下HGW)
・音楽配信ポータルサイト(以下ポータル)
である。各通信ノード間は、TCP/IPのネットワークで接続されている。
【0147】
ユーザ登録端末及び予約端末は、ポータルにインターネット経由で接続できることだけが、必要要件である。
【0148】
PCはLAN(TCP/IP)でHGWに接続され、一台のHGWに一台のPCではなく複数のPCが接続することもあり得る。但し、本実施例3では、一台のPCが接続されているものとして説明する。
【0149】
HGWは、インターネットを介してポータルに接続し、複数のHGWが存在する。本実施例3では、そのうちの1つのHGWに着目して説明する。
【0150】
ポータルはインターネット上に1つのみとする。ポータルは音楽コンテンツダウンロードサービスを提供している。
【0151】
(本音楽配信サービスシステムのポイント)
本音楽配信サービスシステムは、お客様がポータルから音楽コンテンツを取得することを目的としている。
【0152】
本音楽配信サービスシステムは、単にお客様のPC上のダウンロードソフトで、音楽コンテンツが存在するポータルからコンテンツをダウンロードするのではなく、ポータルにコンテンツの配信を予約すると決まった時間にポータルからHGWにコンテンツを配信してくれて、予約したお客様だけがHGWに蓄積されたコンテンツを取り出せるという特徴を持つ。但し、ポータルからHGWへのデータ配信は、HGWがポータルからデータをダウンロードすることにより実現している。
【0153】
以下、お客様がコンテンツを予約してからデータを取り出すまでのシーケンスをHGWが1つで、ユーザがひとりの場合を例に説明する。次に、予約したお客様だけがHGWに蓄積されたコンテンツを取り出せるためのユーザID認証方法を複数のユーザが存在する事象で説明する。
【0154】
本実施例3においても、ダウンロードの中断再開タイマー値を可変とし、データダウンロード実行中の平均スループットをパラメータとして中断再開タイマー値を制御して、無駄なトラフィックを抑制しつつ、できるだけ速くダウンロードを完了させる処理を適用しているが、詳細は後述する。
【0155】
(音楽の予約配信サービスにおける時系列的な処理)
以下、音楽の予約配信サービスにおける時系列的な処理の説明を行う。
以下の項番において、1.3.1.と1.3.2(1.3.2.1.1.3.2.2)については、準備処理であり、これらの処理は時系列的にシーケンシャルでなくてもよい。また、これらの処理は、後述する予約処理の前に終わっていればよい。但し、1.3.2.1と1.3.2.2の順番はこの順番に行うことが必須である。
【0156】
1.3.3〜1.3.6は予約処理であり、予約端末からポータルに対する操作及びデータ送信である。これらはシーケンシャルに行う必要がある。
【0157】
1.3.7は配送処理であり、予約処理が終わっていることが前提である。ポータルからHGWヘコンテンツを配送する仕組みを説明している。
【0158】
1.3.8は、コンテンツ取り出し処理であり、配送処理が終了していることが前提である。HGWからPCへのデータの取り出しについて説明している。
【0159】
これらを図示すると、図6のようになる。
【0160】
(1.3.1音楽コンテンツの登録)
音楽コンテンツの登録は、ポータルサイト管理者が手動で行う。管理者は、音楽コンテンツをポータルのダウンロード用コンテンツ領域に置く。また、音楽コンテンツのリスト(以下、ポータルの曲目リスト)のページを用意する。
・ポータルの曲目リストには、曲名、(アーティスト)、(レコード会社)、ファイルサイズ、(料金)を登録する。( )内の情報は省略可能である。
【0161】
(1.3.2ユーザ登録)
1.3.2.1ポータルサイトヘのユーザ登録はポータルルサイトで、音楽配信サービスのユーザ登録を行う。ユーザ登録はログインの前に予め行う必要があり、ユーザ登録端末からユーザが行う。必須で登録する項目は、以下の通りである。
・ユーザID
・パスワード
・HGW−ID(HGWへのダウンロード先を決定するのに利用)
・接続環境(ダイヤルアップアナログ56k、ダイヤルアップアナログ28k、ダイヤルアップISDN64k、常時IP64k、LAN10M)
・利用サービス(INSテレホーダイ、テレホーダイ1800、テレホーダイ3600)
なお、接続環境は、データ配信時のスループットを推定するために使用する。接続環境(ISDN、アナログ56k、28k…)については、ユーザが設定した値を初期値とするが、後に実行される1.3.7で実際に実行された配信処理での平均的な通信速度(配信速度)を記録しておき、それに応じて設定値を動的に変化させる方法も考えられる。
【0162】
以下の項目は、オプションとし、登録が望ましいが、無くても運用可能である。
・氏名
・電話番号
・連絡先メールアドレス
・ダウンロード完了通知用メールアドレス(連絡先用メールアドレスと同じか違うか選択する。違うときは入力してもらう。)
但し、ユーザIDは、ユーザを特定するIDであり、その重複は許さない。従って、各項目は、ユーザIDに対してバインドされる。
【0163】
登録方法の一例としては、前記登録項目のWEBの画面をポータルからユーザが登録端末に表示し、ユーザは入力した情報を、HTTPのPOSTコマンド等でユーザ登録端末からユーザに伝え、それを受け取ったポータルはプロファイル保存ファイルに書き込むという処理があげられる。但し、最終的に、ユーザが入力した必須項目をポータル上のプロファイル保存ファイルに書き込むことが目的であり、それができれば手段は問わない。
【0164】
(1.3.2.2HGWへのユーザ登録)
HWGへのユーザ登録は、1.3.2.1のポータルへのユーザ登録処理で発行されたユーザIDとパスワードをHWG内部のユーザ登録ファイルに保持することを目的とする処理である。
【0165】
ユーザ登録ファイルは、ユーザIDとパスワードを対にして保存される。登録方法は、前記目的を満たせれば問わないので、具体例は示さない。
【0166】
(1.3.3予約処理/ログイン)
ログインは、予約端末から行う。予約端末とはユーザ登録端末と同一でも良いし、別でも良い。ログイン処理では、ユーザが、予約端末から登録してあるユーザIDとパスワードをポータルに伝え、ポータルではプロファイル保存ファイルからユーザIDに対応するパスワードをチェックした上で予約サービスのユーザIDを特定し、正しければ音楽コンテンツ選択画面を予約端末に表示することが目的である。
【0167】
ログイン処理の一例としては、予約端末のWEBブラウザでユーザIDとパスワードのダイヤログボックスをポータルから予約端末に表示し、ユーザは入力した情報をHTTPのPOSTコマンド等で予約端末からポータルに伝え、それを受け取ったポータルは、プロファイル保存ファイルからユーザIDに対応するパスワードをチェックし正しい場合に、WEBブラウザ上に音楽コンテンツ選択画面を表示するという処理が挙げられるが、前記目的を実現できれば、手段は問わない。
【0168】
(1.3.4音楽コンテンツの選択)
音楽コンテンツの選択処理は、ユーザが獲得したい音楽コンテンツの曲目をポータルに指定する処理である。音楽コンテンツの曲目を予約端末からポータルに伝え、ポータルがそれを保持し、アーカイブ処理に遷移することが目的である。
【0169】
音楽コンテンツの選択処理の一例としては、予約端末のWEBブラウザに対して音楽コンテンツの曲目リストをポータルから予約端末に表示し、ユーザはダウンロードする曲を一曲または複数選択し、HTTPのPOSTコマンド等で予約端末からポータルに伝え、それを受け取ったポータルは、ユーザが指定した曲を得て、アーカイブ処理に遷移するという処理が挙げられるが、前記処理を実現できれば、手段は問わない。
【0170】
(1.3.5アーカイブ処理)
ポータルが、1.3.4で指定されたひとつまたは複数の音楽コンテンツを、ひとまとめにしてアーカイブしてそのURLとファイルの実体を保持し、配信ポリシーの指定画面に遷移することがアーカイブ処理の目的である。アーカイブ手段として、UNIXでよく使われるtarやWindowsでよく使われるZIP等の形式があるが、アーカイブできればアルゴリズムは問わない。
【0171】
以下、アーカイブ処理された音楽コンテンツをアーカイブと呼ぶ。アーカイブ処理を行う理由は、一回の配送で指定された全部の音楽コンテンツを効率的に配信することが期待されるためである。
【0172】
(1.3.6配信ポリシーの指定)
配信ポリシーの指定は、ユーザがポータルに配信ポリシーを指定し、その上で予約が完了したことをユーザに伝えることが目的である。配信ポリシーの指定手段として、表1の「時刻指定」の項目の項番1〜6、すなわち、「いますぐ」、「指定した時間から」、「指定した時間までに」、「一番安い時間」、「HGWの未使用時」からユーザが1つ選んでポータルに伝え、ポータルが配信ポリシーを保持することが必要である。
【0173】
【表1】

Figure 0003666796
配信ポリシーの指定処理の一例としては、予約端末のWEBブラウザに対して表1の配信ポリシー表をポータルから予約端末に表示し、ユーザは配信ポリシーを1つ選択し、HTTPのPOSTコマンド等で予約端末からポータルに伝え、それを受け取ったポータルは、ユーザが指定した配信ポリシーを決定し、ポータルは予約端末のWEBブラウザに対して、予約を受け付けたことを表示するという処理が挙げられるが、上記目的を実現できれば、手段は問わない。
【0174】
以下、決定された配信ポリシーに従って、1.3.6.1〜1.3.6.4の処理のいずれかを実行する。これらの処理のポイントは、配信開始時刻を設定することである。その後、1.3.7の処理に遷移する。1.3.6.1今すぐ、配信開始時刻を指定無しと設定する。配信終了期限は指定無しとする。1.3.6.2指定した時間から、配信開始時刻を設定された時刻に設定する。配信終了期限は指定無しとする。
【0175】
【表2】
Figure 0003666796
表2は、時刻の指定方法に応じてコンテンツに価格変化を付ける一例である。この例では、今すぐ、指定した時間からの場合は通常のコンテンツ価格に対して10%の割り増し料金をとり、一番安い時間を指定した場合は、15%割引する。
【0176】
本価格変化の手法を時刻の指定方法と併用することにより、ユーザヘの配信時刻は平滑化サーバ及びネットワークの負荷分散が行え、サーバ及びネットワークコストが安くできるので、安価な設備でサーバ設備を構築できる。
【0177】
なお、これは現実の物流システムに例えるならば、宅配便において到着時間を指定して、荷物の配送を依頼する時間指定配送サービスなどと同じである。
【0178】
通常、コンテンツをダウンロードする際はユーザが配信開始時刻を指定する。本手法においては、ユーザが指定した範囲内でサーバが配信時刻を指定する。
【0179】
これにより、ユーザの指定範囲によりサーバ側の配信開始時刻を設定する際の自由度は変動する。例えば、ユーザが「3日以内に」といった大まかな時間を指定しただけならばサーバ側自由度は大きくなるが、「3日の12時から13時の間に」といった詳細な指定をするとサーバの自由度は小さくなる。サーバ側の自由度が大きいと、そのオーダによる負荷を自由に分散できる。サーバ側の負荷分散の観点からは、ユーザのオーダはなるべくサーバ側自由度の大きなものの方が望ましい。
【0180】
この点に着目し、ユーザの配信オーダを、サーバの配信時刻指定の自由度という点からとらえ、自由度の大きなオーダに対してはコンテンツの料金や通信料金を安くし、自由度の小さなオーダに対しては、それら料金を安くして提供する。
【0181】
宅配便の例においては、配送が集中する「翌朝9時までに配送」という指定をすると、利用者はその分の高い料金を支払う必要があり、通常の配送である「翌日中で時間指定は特にしない」という指定の際には、高い料金は必要なく通常の料金で配送が可能であるのと、同様である。
【0182】
1.3.6.3指定した時間までに(終了時指定配信)、アーカイブのサイズと、接続環境の平均通信速度から、配信開始時刻を決定する。
【0183】
(1)アーカイブの配信に必要な時間を計算する。
通信時間=(アーカイブのサイズ)/(接続環境の平均通信速度)
(2)指定された終了時間にちょうど配信が終了する時刻を計算する。
配信開始最終時刻=配信終了期限−通信時間
(3)配信開始最終時刻から1時間前の時刻を配信開始時刻とする。配信終了期限は、ユーザが選択した配信終了期限を設定する。
【0184】
1.3.6.4一番安い時間(最低コスト配信)は、多量のアーカイブの配送が同時刻に集中するのをさけるために、配信開始時刻については一定の時間帯内でランダムに指定する。
・テレホーダイ利用:テレホーダイ時間内で指定する。23時から1時の間で配信開始時刻をランダムに指定。配信終了期限は、1時に指定。
・ISDN及びアナログのダイヤルアップ:24時間以内で最も通信料の安い時間帯(最も通信料の安い時間帯の計算方法は、ユーザの利用している通信会社の通信料金テーブルを元に算出する)を考慮し、配信開始時刻をランダムに設定する。配信終了期限は指定無しとする。
・IP常時接続:23時から1時を除いた時刻の中から配信開始時刻をランダムに指定する。配信終了期限は指定しない。
【0185】
以上の1.3.6.1〜1.3.6.4のいずれかで、配信開始時刻が決定される。
(1.3.7配信)
1.3.7.1ポータル(ダウンロードサーバ側)の処理は、ダウンロードすべきコンテンツを指定したメッセージとして「受取人情報、URL、時刻指定プル情報」をメッセージ要素として設定したファイル転送要求メッセージをHGWへ送信する。各メッセージ要素には、以下の情報を格納する。
【0186】
(メッセージ要素名)
・受取人情報:1.3.3で特定された本サービスのユーザID(図7ではAAAA等)を設定。
・URL:1.3.5で指定された、アーカイブファイルのURLを設定。
・時刻指定プル情報:1.3.6.1〜1.3.6.4のいずれかで特定された、配信開始時刻及び配信終了期限。
【0187】
なお、ポータルからHGWへのファイル転送要求メッセージの伝達手段は、ポータルからHGWヘファイルを送信する方法ではなく、特願平10−49771のテレポーリング技術により、HGWがポータルから周期的にファイル転送要求メッセージをポーリング受信する方法でもよい。
【0188】
(1.3.7.2HGW(クライアント)側の処理)
▲1▼「ファイル転送要求」メッセージを受け取った場合、「時刻指定プル情報」メッセージ要素で、配信開始時刻が指定なしの場合は、即時に指定されたURLからのプルを実行する(プルの定義は後述する)。
【0189】
▲2▼メッセージが時間指定ダウンロード(「時刻指定プル情報」メッセージ要素に配信開始時刻が含まれる)の場合は、HGWテーブルに登録する。登録する内容は、受信したファイル転送要求メッセージ内の「受取人情報」、「URL」、「時刻指定プル情報」及び「ダウンロード終了ステータス」である。ダウンロード終了ステータスは初期値として1(ダウンロード待ち状態を示す)をセットする。
【0190】
▲3▼HGWでは、現在時刻が、時刻指定プル情報の配信開始時刻以前になったHGWテーブルのレコードについて、指定されたURLからのプルを開始する。プルを開始する時点で、ダウンロード終了ステータスを2(ダウンロード中を示す)にセットする。
【0191】
ここで述べるプル(コンテンツセッション)は、HTTPあるいはFTPなどの一般的に用いられるプロトコルによりファイルを受信する処理である。
【0192】
ここでは、レジューム機能を持つプロトコルとして、HTTPダウンロードプロトコルによりHGWがファイルを受信したとする。ただし、ダウンロード時刻をすぎても完了しない場合には、プルを中止する。
【0193】
本実施例3では、プル処理において、HGW(ダウンロードクライアント)がポータル(サーバ)からアーカイブ(データ)を受信し、ダウンロードエラーが発生しなかったとする。この場合、処理フローは、前記実施例1と同様である。
【0194】
(1.3.8コンテンツ取り出し処理)
ユーザがHGWに配送されたコンテンツをPCに対して取り出すことが目的である。また、予約したユーザ以外がコンテンツを取り出せないことも必須である。
【0195】
以下、処理の一例を示す。
ユーザは、PCからユーザIDとパスワードをHGWに対して送信し、HGWはユーザ登録ファイルをもとに、ユーザIDとパスワードを照合する。受け取ったユーザIDとパスワードがユーザ登録ファイルに含まれている場合は、そのユーザIDを持つユーザに対して配信されているコンテンツを、取り出し端末に渡す。この後、ユーザは、PC上で、取り出し端末にあるコンテンツを自由に再生したり、編集することができる。
【0196】
予約したお客様だけがHGWに蓄積されたコンテンツを取り出せるためのユーザID認証方法について説明する。
【0197】
本サービスでは、ポータルとHGWの双方で利用ユーザを特定できるユーザIDを利用ユーザ毎に付与する。ユーザIDは後述のユーザ登録時にポータルにて登録するとともに、HGW側にも同一のユーザIDを登録しておく必要がある。
【0198】
ユーザIDは、家庭内で複数の人が利用することを想定し、HGWに複数の設定が可能である。ポータルにおいては、ユーザID毎に配送すべきHGWのIDをユーザ登録時に登録し、通常は注文したユーザのユーザIDに対して、登録されているHGWのIDに対してTPPを利用した配送が行われる。また、HGWに配送する時は、HGWに登録されているユーザID毎にコンテンツを区分して登録し、特定のユーザIDのユーザのみがHGWに配送されたコンテンツを取り出せるようにする(図7の例)。
【0199】
図7に示されるHGWへのユーザ登録から取り出しまでの方法について説明する。ここでは、例として、HGW(HGW−IDが100であるHGW、以下HGW1)にはユーザが2名登録され、HGW(HGW−IDが200であるHGW、以下HGW2)にはユーザが1名登録されることを想定する。また、HGWからコンテンツを取り出すにはPCなどHGWに接続されているコンテンツ取り出し端末が必要である。
【0200】
1)HGWへのユーザ登録処理
HGWには、そのHGWを利用するユーザが登録されている必要がある。HGWへのユーザ登録は、ユーザのユーザIDとパスワードを登録する処理である。HGWでは、ユーザから入力されたユーザIDとパスワードをHGW内部のユーザ登録ファイルに保持する。ここで、ユーザIDの重複は許さない。また、ユーザ登録ファイルは、ユーザIDとパスワードを対にして保存される。
【0201】
この例においては、HGW1においては、ユーザIDとしてAAAAを持つユーザ(以下ユーザAAAA)、ユーザIDとしてBBBBを持つユーザ(ユーザBBBB)の2名が登録する。
【0202】
ユーザAAAAは、ユーザID(AAAA)、パスワード
ユーザBBBBは、ユーザID(BBBB)、パスワード
をHGWに登録する。ここで、各ユーザの登録するパスワードは任意の文字列を指定し登録出来る。
【0203】
HGW2においては、ユーザIDとしてCCCCを持つユーザ(ユーザCCCC)1名が登録する。ユーザCCCCは、ユーザID(CCCC)、パスワードをHGWに登録する。
【0204】
2)予約配信処理
次に、ユーザが注文端末から予約したコンテンツを、ポータルからHGWへ配信する処理がある。
【0205】
ユーザの予約の処理については、詳細は後述する。HGWへの配信処理は、例においては、ユーザAAAAは、コンテンツAの配信を予約し、同じくユーザBBBBはコンテンツB、ユーザCCCCはコンテンツCの配信を予約することを想定する。コンテンツは、予約したユーザがユーザ登録をしてあるHGWへ配送される。つまり、ユーザAAAA、ユーザBBBBはともにHGW1にユーザ登録されているので、コンテンツA及びコンテンツBはHGW1に配送される。コンテンツCは、ユーザCCCCがユーザ登録されているHGW2へ配送される。HGWへ配送されたコンテンツは、HGWに登録された各ユーザIDに対応して確保されているメモリエリアに蓄積される。
【0206】
3)HGWからのコンテンツ取り出し処理
HGWには複数のユーザが登録される場合があるため、複数ユーザが予約した複数のコンテンツが1つのHGWに同時に蓄積されている。その中から、各ユーザに対して、自分の予約したコンテンツのみを取り出させる必要がある。つまり、HGWからコンテンツを取り出す際には、HGWに登録された各ユーザに自分の予約したコンテンツのみの取り出しを許可し、他ユーザの予約したコンテンツの取り出しは許可しないことになる。
【0207】
HGWは、ユーザがコンテンツ取り出し端末から入力したユーザIDとパスワードを受け取る。HGWは、受け取ったユーザIDとパスワードを、ユーザ登録ファイルに登録されているユーザIDとパスワードとを照合する。受け取ったユーザIDとパスワードがユーザ登録ファイルに含まれている場合は、そのユーザIDを持つユーザに対して配信されているコンテンツを、取り出し端末に渡す。前記の例においては、HGW2には、ユーザはCCCCのみ1名登録されているので、HGW2に配信され蓄積されているコンテンツCはユーザCCCCのみが取り出せばよい。
【0208】
HGW1では、ユーザはAAAAとBBBBの2名が登録されている。HGW1に接続された取り出し端末から、ユーザIDとしてAAAAとパスワードを受け取ったときは、ユーザAAAAに対して配信されているコンテンツAを取り出し端末に渡す。同様に、ユーザIDとしてBBBBとパスワードを受け取ったときは、ユーザBBBBに対して配信されているコンテンツBを取り出し端末に渡す。
【0209】
以上、本発明者によってなされた発明を、前記実施形態(実施例)に基づき具体的に説明したが、本発明は、前記実施形態(実施例)に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【0210】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【0211】
本発明によれば、クライアントとサーバの間のトラフィックを軽減できる。
【0212】
また、クライアントとサーバ間で有料の回線を利用する場合は、無駄な回線使用コストを軽減できる。
【図面の簡単な説明】
【図1】本発明による一実施形態(実施例)のファイル転送制御部の動作を示すフローチャートである。
【図2】本実施形態のファイル転送実行部の動作を示すフローチャートである。
【図3】本実施形態の中断が一度も発生せずに正常終了した場合のシーケンスチャートである。
【図4】本実施形態の中断が1回発生したが、次の再開で復旧して、正常終了の場合のシーケンスチャートである。
【図5】本実施形態の途中で中断し、そのまま時間切れの場合のシーケンスチャートである。
【図6】本実施形態のHGWからPCへのデータの取り出しについて説明するための図である。
【図7】本実施形態のユーザとHGWの関係を示す図である。
【図8】従来のダウンロードレジュームのアルゴリズムを示すフローチャートである。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a download method (distribution reservation method) in a data distribution system and a client recording medium in which a download program for performing file transfer is recorded.
[0002]
[Prior art]
There is a method of using download support software such as iria (freeware) on a personal computer as a software module capable of interrupting and resuming download.
[0003]
The download support software is intended to download a file from FTP (file transfer) and HTTP (Web) to his / her personal computer and to download the desired file without fail. The server that is trying to download the file is busy ( If there is no response, you can retry until the download is complete. The download can be resumed (resumed) from the interrupted position from either HTTP or FTP.
[0004]
You can also download multiple files at the same time. Further, as a scheduling function (hereinafter referred to as “reservation delivery function”), it is possible to automatically connect to an Internet provider at a specified time to download a file, or conversely, to disconnect the connection.
[0005]
However, in these download support softwares, the download resumption method when the download is interrupted is as follows. As shown in FIG. When the town load is interrupted due to a failure in data reception, the download is resumed after waiting for the time (constant) of the wait timer value Ts. This wait timer value Ts was a fixed set value.
[0006]
[Problems to be solved by the invention]
In this case, when download interruptions occur continuously, retransmission is performed based on a constant called a wait timer value Ts.
[0007]
However, at the time of this retransmission, (a) some temporary trouble has occurred in the communication path between the server machine and the client machine, (b) the server download process is temporarily stopped due to high load. In such a case, the download is not resumed no matter how many retries are performed, and (c) the generation of useless traffic due to the establishment of the download session has occurred. If a pay line is used to establish a download session between the client and the server, useless line use costs are incurred.
[0008]
An object of the present invention is to provide a technique capable of ending download in as short a time as possible while suppressing unnecessary traffic.
[0009]
The above and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.
[0010]
[Means for Solving the Problems]
The outline of the invention disclosed in the present application will be briefly described as follows.
[0012]
( 1 ) When a download is interrupted in a download method that allows file transfer to be interrupted and resumed in a data distribution system (network) where bandwidth is not guaranteed, The client machine A threshold (hereinafter referred to as Smin) set in advance by the past X (X is a fixed value, variable depending on settings) seconds throughput (hereinafter referred to as S) with the server machine to be downloaded. Over (S > Smin ) Place If , ( F-1) times (F is a fixed value, variable depending on the setting), try to restart in a short time (wait timer value Ts), and if the restart fails continuously more than F times The Set the wait timer value Ts to Tl ( > Change the setting to Ts) and try to restart, if S ≦ Smin Short Attempt to resume at time (wait timer value Ts).
[0013]
Here, when the effective bandwidth of the line is an ideal value, Tl and Ts are very short values with respect to the expected file transfer time (Tdown) on the assumption that the download is completed without interruption. .
[0014]
( 2 ) A computer-readable storage medium storing a program for causing a computer to execute processing procedures of a download method capable of interrupting and resuming file transfer in a data distribution system (network) whose bandwidth is not guaranteed. When the download is interrupted, a threshold (hereinafter referred to as Smin) set in advance by the past X (X is a fixed value, variable by setting) seconds throughput (hereinafter referred to as S) with the server machine to be downloaded. Over (S > Smin ) Place If , ( F-1) times (F is a fixed value, variable depending on the setting) is a procedure for attempting to restart in a short time (wait timer value Ts), and if the restart fails continuously more than F times, the wait timer value is set to Tl. ( > Ts) to change the setting and try to restart, and if S ≦ Smin Short This is a computer-readable storage medium that stores a program for causing a computer to execute a procedure for trying to restart at a time (wait timer value = Ts).
[0015]
According to the means of the present invention, when downloading a file that can be interrupted and resumed, the download interruption / resumption timer value is made variable, and the average throughput when data download is successful (not = throughput immediately before) When interruption occurs, if the interruption occurs continuously for a preset number of times with the throughput as a parameter, the interruption resumption timer value is lengthened. However, since the traffic between the client and the server can be reduced by maintaining the interruption / resumption timer value, the download can be completed as soon as possible. Further, when a pay line is used between the client and the server, useless line use costs can be reduced.
[0016]
Hereinafter, the present invention will be described in detail with reference to the drawings together with embodiments (examples) according to the present invention.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
According to an embodiment of the present invention, in the control method of the interrupt / resume timer value of download, when the download is interrupted, the past X (X is a fixed value, depending on the setting) when the download is interrupted. Variable) Threshold Smin set by the throughput S in seconds Over (S > Smin ) Place If this is the case, it is determined that there is a temporary line or temporary server failure, and (F-1) times (F is a fixed value, variable depending on the setting) is attempted with a wait timer value Ts (short time). If the restart fails continuously for F times or more, it is determined that some temporary failure has occurred, and the wait timer value Ts is set to Tl ( > Change the setting to Ts) and try to restart.
[0018]
When S ≦ Smin, it is determined that the line condition is permanently bad, and resumption is attempted with the wait timer value Ts (short time).
[0019]
Here, when the effective bandwidth of the line is an ideal value, Tl and Ts are very short values with respect to the expected file transfer time (Tdown) on the assumption that the download is completed without interruption. . That is, Tdown >>Tl> Ts. Specifically, when the file size to be downloaded is 8 MB (= 64000 kbit) and the line bandwidth is 64 kbit / sec, Tdown = 64000/64 = 1000 sec. In this case, Tl and Ts are 60 sec and 10 sec, respectively. Assume the degree. Of course, it is desirable to set these values to appropriate values according to the situation, or calculate appropriate Tl and Ts from the line speed and file size file each time a file is downloaded, A method of setting may be used.
[0020]
The following (a) and (b) are grounds for the above-described control method of the wait timer value Ts in resuming the download interruption to complete the download as quickly as possible while suppressing unnecessary traffic.
[0021]
(A) When the download is interrupted due to high throughput during download execution, it is presumed that the line condition to the server has temporarily deteriorated and the download has been interrupted. Normally, it is normal to succeed in resuming downloads after several retries (hereinafter referred to as F times). Even if resuming of downloads is not successful after F retries, high throughput is achieved after resuming. Therefore, even if the wait timer value Ts is set to be longer, the total transfer time is completed in a short time after retrying F + 1 times.
[0022]
(B) If the download is interrupted due to low throughput during download execution, the line status to the server is not temporary, it is permanently bad, and the download is likely to be interrupted. Therefore, it is expected that download interruptions will frequently occur due to poor line conditions, so it is not meaningful to increase the wait timer value until resumption, conversely, frequent access and little by little It is more efficient to execute the download.
[0023]
The download method for realizing the present invention and the storage medium storing the program are provided with a file transfer execution unit and a file transfer control unit.
[0024]
The file transfer execution unit is a module that actually receives and stores data from the server. The download algorithm needs to be a protocol that supports interruption and resumption, and at the present time, an HTTP file reception protocol is desirable. Of course, if the TCP / IP general-purpose file transfer protocol such as FTP corresponds to interruption / resumption in the future, that protocol may be used, or an original protocol may be used if TCP / IP is used.
[0025]
The file transfer execution unit is an existing file transfer module and is not particularly novel.
i) Have you received all the data?
ii) Was the download interrupted due to data reception failure?
iii) Is data being received and is there remaining data?
Must be determined from an external module.
[0026]
As an example of this realization method, there is a method of generating a status code file indicating the reason for the termination at the end of the process and referring to it from the outside.
[0027]
A typical example of a method for generating a status code file at the end of the process will be described below. The contents of the status code file are
(A) When data reception fails and download is interrupted: Error end
(B) When all data has been received: Normal end
(C) When data is being received and there is no remaining data: file not created
And
[0028]
In addition, in order to calculate the download throughput, a function for holding the downloaded file size and referring to it from the outside is also required. As an example of this realization method, every time a file is downloaded, there is a method of storing the downloaded file size in a separate file (hereinafter referred to as a downloaded file size file). Any other method is acceptable as long as the file size can be maintained.
[0029]
The file transfer control unit is a module that controls the wait timer value Ts until the start, restart, and restart of download for the file transfer execution unit.
[0030]
FIG. 1 is a flowchart showing the operation of the file transfer control unit of an example of the present embodiment. In FIG. 1, the explanation of each constant and variable is as follows.
[0031]
As constants for initial setting,
Ts: Timer value with short interval (sec)
Tl: timer value with long interval (Tl> Ts) (sec)
Smin: Minimum throughput value determined to be good
Fmin: Number of continuous data reception failure failures in a high throughput state
Xtimer: Interval to observe throughput
As a variable,
S: Throughput of the past X seconds when receiving data (kbit / sec)
F: Number of consecutive data reception failures in high throughput state
Time: Elapsed time from the start of download (sec is the minimum unit, rounded down) is used.
[0032]
As shown in FIG. 1, the file transfer control unit of the present embodiment sets step 0 as a start. In step 0, S = 0 and F = 0 are set as the initial values of the calculation control, and the process proceeds to step 1.
[0033]
In step 1, the file transfer control unit issues a download start instruction to the file transfer execution unit, sets Time = 0, and proceeds to step 2.
[0034]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit.
[0035]
If the status code file has not been generated, it is determined that data has been successfully received and that there is remaining data, and the process proceeds to step 7.
[0036]
If the content of the status code file ends in error, the process proceeds to step 3.
[0037]
If the content of the status code file ends normally, the process ends.
[0038]
In step 7, since the data has been successfully received, variable F is set to 0. 11 Proceed to
[0039]
In step 11, it is determined whether or not the download time (Time) has already passed the set value X. Specifically, Time ≧ X is determined. If true, the process proceeds to step 12. If false, go to step 13.
[0040]
In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. That is, it is determined whether Time is an integer multiple of Xtimer. Specifically, (Time) mod (Xtimer) = 0 is determined, and if true, the process proceeds to Step 8. If false, go to step 13.
[0041]
In step 8, the average throughput of the past X seconds is calculated and held as S, and the process proceeds to step 2. The average throughput is obtained from the calculation formula of (an increase in the past X seconds of the downloaded file size file) / X. Proceed to step 13.
[0042]
In Step 13, in order to reduce the processing load of the file transfer control unit, a 1-second wait is placed in order to limit the processing to once per second, and the process proceeds to Step 2.
[0043]
In step 3, it is determined whether or not the throughput of the past X seconds at the time of data reception is larger than the minimum value of the throughput for determining that the line condition is good. Specifically, S> Smin is determined. If true, it is determined that there is a temporary line or server failure, and the process proceeds to step 4. If false, it is determined that the line status is not good, and the process proceeds to step 9.
[0044]
In Step 4, since the transition to this is a case where the continuous data reception failure in the high throughput state has increased once, F is incremented by one. That is, F = F + 1 is calculated.
[0045]
In step 5, it is determined whether the continuous data reception failure in the high throughput state has reached the number of continuous data reception allowable failures in the high throughput state. Specifically, F ≧ Fmin is determined. If true, it is determined that a temporary line or server failure has occurred, and the process proceeds to step 6. If false, go to Step 9.
[0046]
In step 6, the weight of the Tl wait timer value is set. Then, the process proceeds to Step 10.
[0047]
In step 9, the weight of the Ts wait timer value is set. Then, the process proceeds to Step 10.
[0048]
In step 10, the file transfer control unit issues a download restart instruction to the file transfer execution unit, sets Time = 0, and proceeds to step 2.
[0049]
FIG. 2 is a flowchart showing the operation of the file transfer execution unit of this embodiment.
[0050]
In the file transfer execution unit of this embodiment, as shown in FIG. 2, step A is a start of processing (START). This starts when a download start instruction is received from the file transfer control unit. At this time, the status code file is erased and the process proceeds to Step B.
[0051]
Step B attempts to download the file. Proceed to step C.
[0052]
In step C, it is determined whether a download error has occurred. If a download error has occurred, go to Step H. If no error has occurred and the download was successful, the process proceeds to step D.
[0053]
In step D, the received data is stored in a file, and in the case of a restart instruction, the data is appended after the conventionally downloaded file. Proceed to step E.
[0054]
In step E, the data length of the received file is stored in the downloaded file size file, and the process proceeds to step F.
[0055]
In step F, it is determined whether the download is completed. If the download is complete, go to Step G. If the download is not complete, go to Step B.
[0056]
In step G, information indicating normal end is written in the status code file, and the process ends.
[0057]
In step H, information indicating an error end is written in the status code file, and the process ends.
[0058]
Next, examples of sequence charts between the file transfer control unit, the file transfer execution unit, and the portal nodes are shown in FIGS. The portal is a server that stores content to be downloaded.
[0059]
FIG. 3 is a sequence in the case of normal termination without any interruption, and FIG. 4 is a sequence in the case of normal termination after recovery is resumed at the next restart after one interruption. FIG. 5 is a sequence chart in the case of interruption in the middle and time-out as it is.
[0060]
(Example 1)
Example 1 of this embodiment is an example of the flow of processing when the download client software receives data from the server and no download error has occurred.
[0061]
Various conditions in Example 1 are as follows:
-Content file size = 8000KB = 64000 bits
・ Line bandwidth is 64 kbit / sec
・ Tl = 60sec
・ Ts = 10sec
・ Smin = 40 (kbit / sec)
・ Fmin = 2 (times)
・ X = 30sec
・ Xtimer = 5sec
-Download protocol of download execution part: Download by HTTP protocol
It is. Hereinafter, the processing flow of the file transfer execution unit and the file transfer control unit will be described in time series in the flowcharts of FIGS.
[0062]
(Operation of the file transfer execution unit)
As shown in FIG. 2, when a download start instruction is received from the file transfer control unit, the process is started, and the process proceeds to step B to execute download using the HTTP protocol. Proceed to step C.
[0063]
In step C, it is determined whether a download error has occurred. Here, since no error has occurred, the process proceeds to Step D.
[0064]
In step D, the received data is stored in a file. In step E, the received data length is stored in a downloaded file size file, and the process proceeds to step F. In step F, it is determined whether or not the download has been completed. Here, since the download has not been completed, the process returns to step B.
[0065]
Here, Step B → Step C → Step D → Step E → Step F → Step B is repeated.
[0066]
Here, during the repetitive processing, the capacity of the downloaded file (= contents of the downloaded file size file) increases monotonically at that time. That is,
When Time = 0 sec, 0 kbit
When Time = 1 sec, 64 kbit
When Time = 5 sec, 320 kbit
640kbit when Time = 10sec
When Time = 30 sec, 1920 kbit
When Time = 35 sec, 2240 kbit
When Time = 100 sec, 6400 kbit
61760kbit when Time = 965sec
When Time = 995 sec, it is 63680 kbit. When Time = 1000 sec, it becomes 64000 kbits. In the download completion determination in Step F, it is determined that the download is completed. The process proceeds to Step G, where the status code file is created and information indicating normal termination is written. finish.
[0067]
(Operation of the file transfer control unit)
In FIG. 1, in step 0, S = 0 and F = 0 are set. Go to step 1.
[0068]
In step 1, the file transfer control unit issues a download start instruction to the file transfer execution unit, sets Time to 0 sec, and proceeds to step 2.
[0069]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download has not been completed at this time, the status code file has not been generated. Therefore, it is determined that the data has been successfully received and there is remaining data, and the process proceeds to step 7.
[0070]
In step 7, since data reception is successful, the variable F is set to 0 and the process proceeds to step 11.
[0071]
In step 11, Time ≧ X is determined. Here, since Time = 0 and X = 30, it is determined to be false, and the process proceeds to step 13. In step 13, a 1-second wait is set, and the process proceeds to step 2.
[0072]
Thereafter, the processing of Step 2 → Step 7 → Step 11 → Step 13 is repeated until Time = 30. Since Time = 30 and X = 30 in the process of Step 11 when Time = 30, it is determined to be true, and the process proceeds to Step 12.
[0073]
In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. That is, it is determined whether Time is an integer multiple of Xtimer. Specifically, (Time) mod (Xtimer) = 0 is determined. here, 30 Since mod5 = 0, it is determined to be true, and the process proceeds to Step 8.
[0074]
In step 8, the average throughput of the past X seconds is calculated and held as S. The average throughput is calculated from the formula of (the increase in the past X seconds of the downloaded file size file) / X. Here, the increase in the past X seconds of the downloaded file size file of the file transfer execution unit is 1920 kbit− Since 0 kbit = 1920 kbit, 1920 kbit / 30 sec = 64 (kbit / sec). Proceed to step 13. In step 13, a 1-second wait is set, and the process proceeds to step 2.
[0075]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download is not completed at this point, the status code file has not been generated, so it is determined that the data has been successfully received and there is remaining data, and the process proceeds to step 7.
[0076]
In step 7, since data reception is successful, the variable F is set to 0 and the process proceeds to step 11. In step 11, Time ≧ X is determined. Here, since Time = 31 and X = 30, it is determined to be true and the process proceeds to step 12.
[0077]
In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. Here, since 31 mod 5 = 1, it is determined to be false, and the process proceeds to step 13.
[0078]
Thereafter, the processing of Step 2 → Step 7 → Step 11 → Step 12 → Step 13 is repeated until Time = 35.
[0079]
Since 35 mod 5 = 0 in the process of step 12 at Time = 35, it is determined to be true, and the process proceeds to step 8. In step 8, the average throughput of the past X seconds is calculated and held as S. The average throughput is calculated from the formula of (the increase in the past X seconds of the downloaded file size file) / X. Here, the increase in the past X seconds of the downloaded file size file of the file transfer execution unit is 2240 kbit− Since 320 kbit = 1920 kbit, 1920 kbit / 30 sec = 64 (kbit / sec). Proceed to step 13.
[0080]
In Step 13, in order to reduce the processing load of the file transfer control unit, a 1-second wait is placed in order to limit the processing to once per second, and the process proceeds to Step 2.
[0081]
Hereinafter, it is assumed that Steps 2 to 13 are similarly performed and Time = 995.
[0082]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download is not completed at this point, the status code file has not been generated, so it is determined that the data has been successfully received and there is remaining data, and the process proceeds to step 7.
[0083]
In step 7, since data reception is successful, the variable F is set to 0 and the process proceeds to step 11. In step 11, Time ≧ X is determined. Here, since Time = 995 and X = 30, it is determined to be true, and the process proceeds to step 12.
[0084]
In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. Here, since it is 995mod5 = 0, it determines with it being true and progresses to step 8. FIG. In step 8, the average throughput of the past X seconds is calculated and held as S. The average throughput is calculated from the formula of (the increase in the past X seconds of the downloaded file size file) / X. Here, the increase in the past X seconds of the downloaded file size file of the file transfer execution unit is 63680 kbit− Since 61760 kbit = 1920 kbit, 1920 kbit / 30 sec = 64 (kbit / sec). Proceed to step 13.
[0085]
In Step 13, in order to reduce the processing load of the file transfer control unit, a 1-second wait is placed in order to limit the processing to once per second, and the process proceeds to Step 2.
[0086]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download is not completed at this point, the status code file has not been generated, so it is determined that the data has been successfully received and there is remaining data, and the process proceeds to step 7.
[0087]
In step 7, since data reception is successful, the variable F is set to 0 and the process proceeds to step 11. In step 11, Time ≧ X is determined. Here, since Time = 996 and X = 30, it is determined to be true and the process proceeds to step 12.
[0088]
In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. Here, since 996 mod 5 = 1, it is determined to be false, and the process proceeds to step 13. In step 13, a 1-second wait is set, and the process proceeds to step 2.
[0089]
Thereafter, the processing of Step 2 → Step 7 → Step 11 → Step 12 → Step 13 is repeated until Time = 999.
[0090]
After the processing of Step 13 at Time = 999, the process proceeds to Step 2 when Time = 1000.
[0091]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. At this point in time, since the download has been completed, the status code file has been completed normally, so it is determined that all data has been received, and the processing of the file transfer processing unit is completed.
[0092]
(Example 2)
Example 2 of this embodiment is an example of the flow of processing when download client software receives data from a server and a download error occurs. In the second embodiment, the average throughput is 64 kbit / sec.
Various conditions in Example 2 are as follows:
-Content file size = 8000KB = 64000 bits
・ Line bandwidth is 64 kbit / sec
・ Tl = 60sec
・ Ts = 10sec
・ Smin = 40 (kbit / sec)
・ Fmin = 2 (times)
・ X = 30sec
・ Xtimer = 5sec
-Download protocol of download execution part: Download by HTTP protocol
-When Time = 35, the download fails twice in succession and then resumes successfully.
[0093]
Hereinafter, the flow of processing of the file transfer execution unit and the file transfer control unit will be described in time series with respect to the flowcharts of FIGS. 1 and 2.
[0094]
(Operation of the file transfer execution unit)
As shown in FIG. 2, when a download start instruction is received from the file transfer control unit, the process is started, and the process proceeds to step B to execute download using the HTTP protocol. Proceed to step C.
[0095]
In step C, it is determined whether a download error has occurred. Here, since no error has occurred, the process proceeds to Step D.
[0096]
In step D, the received data is stored in a file. In step E, the received data length is stored in a downloaded file size file, and the process proceeds to step F. In step F, it is determined whether or not the download has been completed. Here, since the download has not been completed, the process returns to step B.
[0097]
Here, Step B → Step C → Step D → Step E → Step F → Step B is repeated until Time = 35.
[0098]
During the repetitive processing, the capacity of the downloaded file (= content of the downloaded file size file) increases monotonically at that time. That is,
When Time = 0 sec, 0 kbit
When Time = 1 sec, 64 kbit
When Time = 5 sec, 320 kbit
640kbit when Time = 10sec
When Time = 30 sec, 1920 kbit
When Time = 35 sec, 2240 kbit
It is.
[0099]
Since a download error has occurred at the time point of Step C where Time = 35, the process proceeds to Step H, where information indicating the end of the error is written in the status code file, and the process is temporarily terminated.
[0100]
When a download resumption instruction is received from the file transfer control unit, the process is started, and the process proceeds to Step B where the download using the HTTP protocol is executed. Proceed to step C.
[0101]
In step C, since an error has occurred again, the process transitions to step H, information indicating the end of error is written in the status code file, and the process is temporarily terminated.
[0102]
When a download resumption instruction is received from the file transfer control unit, the process is started, and the process proceeds to Step B where the download using the HTTP protocol is executed. Proceed to step C.
[0103]
In step C, it is determined whether a download error has occurred. Here, since no error has occurred, the process proceeds to Step D.
[0104]
In step D, the received data is stored in the form of appending after the previously interrupted file. In step E, the data length received in the current restart process is stored in the downloaded file size file, and the process proceeds to step F. In step F, it is determined whether or not the download has been completed. Here, since the download has not been completed, the process returns to step B.
[0105]
Here, Step B → Step C → Step D → Step E → Step F → Step B is repeated until Time = 965.
[0106]
When Time = 0 sec, 0 kbit
When Time = 30 sec, 1920 kbit
When Time = 930 sec, 59520 kbit
61440 kbit when Time = 960 sec
In the download completion determination in step F, it is determined that the download is completed, the process proceeds to step G, the status code file is created, information indicating normal termination is written, and the process of the file transfer execution unit is terminated.
[0107]
(Operation of the file transfer control unit)
As shown in FIG. 1, in step 0, S = 0 and F = 0 are set. Go to step 1. In step 1, the file transfer control unit issues a download start instruction to the file transfer execution unit, sets Time to 0 sec, and proceeds to step 2.
[0108]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download is not completed at this point, the status code file has not been generated, so it is determined that the data has been successfully received and there is remaining data, and the process proceeds to step 7.
[0109]
In step 7, since data reception is successful, the variable F is set to 0 and the process proceeds to step 11. In step 11, Time ≧ X is determined. Here, since Time = 0 and X = 30, it is determined to be false, and the process proceeds to step 13. In step 13, a 1-second wait is set, and the process proceeds to step 2.
[0110]
Thereafter, the processing of Step 2 → Step 7 → Step 11 → Step 13 is repeated until Time = 30. Since Time = 30 and X = 30 in the process of Step 11 when Time = 30, it is determined to be true, and the process proceeds to Step 12.
[0111]
In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. That is, it is determined whether Time is an integer multiple of Xtimer. Specifically, (Time) mod (Xtimer) = 0 is determined. here, 30 Since mod5 = 0, it is determined to be true, and the process proceeds to Step 8.
[0112]
In step 8, the average throughput of the past X seconds is calculated and held as S. The average throughput is calculated from the formula of (the increase in the past X seconds of the downloaded file size file) / X. Here, the increase in the past X seconds of the downloaded file size of the file transfer execution unit is 1920 kbit− Since 0 kbit = 1920 kbit, 1920 kbit / 30 sec = 64 (kbit / sec). This is held as S. Proceed to step 13. In step 13, a 1-second wait is set, and the process proceeds to step 2.
[0113]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download has not been completed at this time, the status code file has not been generated. Therefore, it is determined that the data has been successfully received and there is remaining data, and the process proceeds to step 7.
[0114]
In step 7, since the data has been successfully received, the variable F is set to 0 and the process proceeds to step 11.
[0115]
In step 11, Time ≧ X is determined. Here, since Time = 31 and X = 30, it is determined to be true and the process proceeds to step 12. In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. Here, since 31 mod 5 = 1, it is determined to be false, and the process proceeds to step 13.
[0116]
Thereafter, the processing of Step 2 → Step 7 → Step 11 → Step 12 → Step 13 is repeated until Time = 35.
[0117]
In step 2 at Time = 35, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. At this point, since the download has been completed, the status code file has ended in error, so it is determined that data reception has failed, and the process proceeds to step 3.
[0118]
In step 3, it is determined whether or not the throughput of the past X seconds at the time of data reception is larger than the minimum value of the throughput for determining that the line condition is good. Specifically, S> Smin is determined. Here, since 64 (kbit / sec)> 40 (kbit / sec) is true, it is determined that there is a temporary line or server failure, and the process proceeds to step 4. In Step 4, since the transition to this is a case where the continuous data reception failure in the high throughput state has increased once, F is incremented by one. That is, F = 0 + 1 = 1, 1 is set in F, and the process proceeds to step 5.
[0119]
In step 5, it is determined whether the continuous data reception failure in the high throughput state has reached the number of continuous data reception allowable failures in the high throughput state. Specifically, F ≧ Fmin is determined. Here, since 1 ≧ 2 is false, the process proceeds to step 9.
[0120]
In step 9, a wait timer value of Ts = 10 seconds is set. Then, the process proceeds to Step 10. In step 10, the file transfer control unit gives support for resuming download to the file transfer execution unit, sets Time = 0, and proceeds to step 2.
[0121]
In step 2 at Time = 0, the download status can be determined. The download status is determined by reading the status code file from the file transfer execution unit. At this point, since the download has been completed, the status code file has ended in error, so it is determined that data reception has failed, and the process proceeds to step 3.
[0122]
In step 3, it is determined whether or not the throughput of the past X seconds at the time of data reception is larger than the minimum value of the throughput for determining that the line condition is good. Specifically, S> Smin is determined. Here, since 64 (kbit / sec)> 40 (kbit / sec) is true, it is determined that there is a temporary line or server failure, and the process proceeds to step 4.
[0123]
In Step 4, since the transition to this is a case where the continuous data reception failure in the high-throughput state has increased once, F is incremented by 1. That is, F = 1 + 1 = 2, 2 is set in F, and the process proceeds to step 5.
[0124]
In step 5, it is determined whether or not the continuous data reception failure in the high throughput state has reached the number of allowable failures of continuous data reception in the high throughput state. Specifically, F ≧ Fmin is determined. Here, since 2 ≧ 2 is true, it is determined that a temporary line or server failure has occurred, and the process proceeds to step 6.
[0125]
In step 6, a wait timer value of Tl = 60 seconds is set. Then, the process proceeds to Step 10. In step 10, the file transfer control unit issues a download restart instruction to the file transfer execution unit, sets Time = 0, and proceeds to step 2.
[0126]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download has not been completed at this time, the status code file has not been generated. Therefore, it is determined that the data has been successfully received and the remaining data is present, and the process proceeds to step 7.
[0127]
In step 7, since data reception is successful, the variable F is set to 0 and the process proceeds to step 11. In step 11, Time ≧ X is determined. Here, since Time = 0 and X = 30, it is determined to be false, and the process proceeds to step 13. In step 13, a 1-second wait is set, and the process proceeds to step 2.
[0128]
Thereafter, the processing of Step 2 → Step 7 → Step 11 → Step 13 is repeated until Time = 30. Since Time = 30 and X = 30 in the process of Step 11 when Time = 30, it is determined to be true, and the process proceeds to Step 12.
[0129]
In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. That is, it is determined whether Time is an integer multiple of Xtimer. Specifically, (Time) mod (Xtimer) = 0 is determined. Here, since 10 mod 5 = 0, it is determined to be true, and the process proceeds to Step 8.
[0130]
In step 8, the average throughput of the past X seconds is calculated and held as S. The average throughput is calculated from the formula of (the increase in the past X seconds of the downloaded file size file) / X. Here, the increase in the past X seconds of the downloaded file size file of the file transfer execution unit is 1920 kbit. Since −0 kbit = 1920 kbit, 1920 kbit / 30 sec = 64 (kbit / sec). Proceed to step 13. In step 13, a 1-second wait is set, and the process proceeds to step 2.
[0131]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download has not been completed at this time, the status code file has not been generated. Therefore, it is determined that the data has been successfully received and the remaining data is present, and the process proceeds to step 7.
[0132]
In step 7, since data reception is successful, the variable F is set to 0 and the process proceeds to step 11. In step 11, Time ≧ X is determined. Here, since Time = 31 and X = 30, it is determined to be true and the process proceeds to step 12.
[0133]
In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. Here, since 31 mod 5 = 1, it is determined to be false, and the process proceeds to step 13.
[0134]
Thereafter, the processing of Step 2 → Step 7 → Step 11 → Step 12 → Step 13 is repeated until Time = 35. Since 35 mod 5 = 0 in the process of step 12 at Time = 35, it is determined to be true, and the process proceeds to step 8. In step 8, the average throughput of the past X seconds is calculated and held as S.
[0135]
The average throughput is calculated from the formula of (the increase in the past X seconds of the downloaded file size file) / X. Here, the increase in the past X seconds of the downloaded file size file of the file transfer execution unit is 2240 kbit− Since 320 kbit = 1920 kbit, 1920 kbit / 30 sec = 64 (kbit / sec). Proceed to step 13.
[0136]
In Step 13, in order to reduce the processing load of the file transfer control unit, a 1-second wait is placed in order to limit the processing to once per second, and the process proceeds to Step 2.
[0137]
Hereinafter, it is assumed that Steps 2 to 13 are similarly performed and Time = 955.
[0138]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download is not completed at this point, the status code file has not been generated, so it is determined that the data has been successfully received and there is remaining data, and the process proceeds to step 7.
[0139]
In step 7, since data reception is successful, the variable F is set to 0 and the process proceeds to step 11. In step 11, Time ≧ X is determined. Here, since Time = 960 and X = 30, it is determined to be true and the process proceeds to step 12. In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. Here, since 960 mod 5 = 0, it is determined to be true, and the process proceeds to step 8.
[0140]
In step 8, the average throughput of the past X seconds is calculated and held as S. The average throughput is calculated from the formula of (the increase in the past X seconds of the downloaded file size file) / X. Here, the increase in the past X seconds of the downloaded file size file of the file transfer execution unit is 61440 kbit− Since 59520 kbit = 1920 kbit, 1920 kbit / 30 sec = 64 (kbit / sec). Proceed to step 13. In Step 13, in order to reduce the processing load of the file transfer control unit, a 1-second wait is placed in order to limit the processing to once per second, and the process proceeds to Step 2.
[0141]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. Since the download has not been completed at this time, the status code file has not been generated. Therefore, it is determined that the data has been successfully received and the remaining data is present, and the process proceeds to step 7. In step 7, since data reception is successful, the variable F is set to 0 and the process proceeds to step 11.
[0142]
In step 11, Time ≧ X is determined. Here, since Time = 961 and X = 30, it is determined to be true, and the process proceeds to step 12. In step 12, it is determined whether the download time (Time) is the measurement timing of the throughput. Here, since 961 mod 5 = 1, it is determined to be false, and the process proceeds to step 13. In step 13, a 1-second wait is set, and the process proceeds to step 2.
[0143]
Thereafter, the processing of Step 2 → Step 7 → Step 11 → Step 12 → Step 13 is repeated until Time = 964. After the processing of Step 13 at Time = 964, the process proceeds to Step 2 when Time = 965.
[0144]
In step 2, the download status is determined. The download status is determined by reading the status code file from the file transfer execution unit. At this point in time, since the download has been completed, the status code file has been completed normally, so it is determined that all data has been received, and the processing of the file transfer processing unit is completed.
[0145]
(Example 3)
Hereinafter, in the data distribution system (network) in which the bandwidth of the present invention is not guaranteed, a storage medium storing a program for executing a processing procedure of a download method capable of interrupting and resuming file transfer, A third embodiment when applied to a music distribution service system will be described.
[0146]
(Communication node used in Example 3)
In the third embodiment, the following five are used as communication nodes.
・ User registration terminal (hereinafter referred to as user registration terminal)
・ Reservation terminal (hereinafter reservation terminal)
・ Customer's PC (PC)
・ Home gateway (HGW)
・ Music distribution portal site (hereinafter referred to as portal)
It is. Each communication node is connected by a TCP / IP network.
[0147]
The only requirement is that the user registration terminal and the reservation terminal can be connected to the portal via the Internet.
[0148]
The PC is connected to the HGW via a LAN (TCP / IP), and a plurality of PCs may be connected to one HGW instead of one PC. However, in the third embodiment, a description will be given assuming that one PC is connected.
[0149]
The HGW is connected to the portal via the Internet, and there are a plurality of HGWs. The third embodiment will be described by paying attention to one of the HGWs.
[0150]
There is only one portal on the Internet. The portal provides a music content download service.
[0151]
(Point of this music distribution service system)
The purpose of this music distribution service system is for customers to acquire music content from the portal.
[0152]
This music distribution service system is not simply a download software on the customer's PC, but downloads the content from the portal where the music content exists, rather than downloading the content from the portal to the HGW at a fixed time to reserve the content distribution to the portal. Only customers who have made a reservation and made a reservation can retrieve the content stored in the HGW. However, data distribution from the portal to the HGW is realized by the HGW downloading data from the portal.
[0153]
Hereinafter, the sequence from the time when the customer reserves the content to the time when the data is retrieved will be described by taking as an example the case where there is one HGW and one user. Next, a user ID authentication method for allowing only a reserved customer to take out content stored in the HGW will be described in the event that there are a plurality of users.
[0154]
Also in the third embodiment, the download interruption / resumption timer value is made variable, and the interruption / resumption timer value is controlled using the average throughput during the data download as a parameter, thereby reducing unnecessary traffic and completing the download as quickly as possible. Although the process is applied, details will be described later.
[0155]
(Time-series processing in the music reservation distribution service)
Hereinafter, a time-series process in the music reservation distribution service will be described.
In the following item numbers, 1.3.1. And 1.3.2 (1.3.2.1.1.3.2.2) are preparation processes, and these processes may not be sequential in time series. Moreover, these processes should just be completed before the reservation process mentioned later. However, it is essential that the order of 1.3.2.1 and 1.3.2.2 be performed in this order.
[0156]
1.3.3 to 1.3.6 are reservation processes, which are operations and data transmission from the reservation terminal to the portal. These must be done sequentially.
[0157]
1.3.7 is a delivery process, and it is assumed that the reservation process has been completed. A mechanism for delivering content from the portal to the HGW is described.
[0158]
1.3.8 is a content retrieval process, and it is assumed that the delivery process has been completed. Describes how to extract data from the HGW to the PC.
[0159]
These are shown in FIG.
[0160]
(1.3.1 Registration of music content)
Registration of music content is performed manually by the portal site administrator. The administrator places the music content in the download content area of the portal. In addition, a page of a music content list (hereinafter referred to as a portal music list) is prepared.
-Register the song name, (artist), (record company), file size, and (fee) in the song list on the portal. Information in parentheses can be omitted.
[0161]
(1.3.2 User registration)
1.3.2.1 User registration at the portal site is a portal site, and user registration of the music distribution service is performed. User registration needs to be performed in advance before login, and is performed by the user from the user registration terminal. The required items to be registered are as follows.
・ User ID
·password
・ HGW-ID (used to determine the download destination to HGW)
Connection environment (Dial-up analog 56k, dial-up analog 28k, dial-up ISDN 64k, always IP64k, LAN10M)
・ Use service (INS Telehodai, Telehodai 1800, Telehodai 3600)
The connection environment is used for estimating the throughput during data distribution. For the connection environment (ISDN, analog 56k, 28k, etc.), the value set by the user is the initial value, but the average communication speed in the distribution process actually executed in 1.3.7 executed later. It is also conceivable to record (delivery speed) and dynamically change the setting value accordingly.
[0162]
The following items are optional and should be registered, but can be used without them.
・ Name
·phone number
・ Contact email address
-Download completion notification e-mail address (Select whether it is the same as or different from the contact e-mail address.
However, the user ID is an ID for identifying the user, and duplication is not allowed. Therefore, each item is bound to the user ID.
[0163]
As an example of a registration method, the user displays a WEB screen of the registration item on the registration terminal from the portal, and the user transmits the input information to the user from the user registration terminal using an HTTP POST command or the like, and receives it. The portal can be written to a profile storage file. However, the purpose is to write the essential items input by the user in the profile saving file on the portal, and any means can be used as long as it is possible.
[0164]
(User registration to 1.3.2.2 HGW)
The user registration to the HWG is a process intended to hold the user ID and password issued in the user registration process to the portal of 1.3.2.1 in the user registration file inside the HWG.
[0165]
The user registration file is stored with a user ID and password as a pair. The registration method is not limited as long as it satisfies the above purpose, and no specific example is shown.
[0166]
(1.3.3 Reservation processing / login)
Log in from the reservation terminal. The reservation terminal may be the same as the user registration terminal or may be different. In the login process, the user communicates the user ID and password registered from the reservation terminal to the portal, and the portal checks the password corresponding to the user ID from the profile save file and specifies the user ID of the reservation service. For example, the purpose is to display a music content selection screen on a reservation terminal.
[0167]
As an example of the login process, a user ID and password dialog box is displayed on the reservation terminal from the portal using the WEB browser of the reservation terminal, and the user transmits the input information from the reservation terminal to the portal using an HTTP POST command or the like. If the portal receives the password, the password corresponding to the user ID is checked from the profile saving file and if it is correct, the music content selection screen is displayed on the WEB browser. Absent.
[0168]
(1.3.4 Selection of music content)
The music content selection process is a process of designating a music piece of music content that the user wants to acquire to the portal. The purpose is to transmit the music contents of the music from the reservation terminal to the portal, and the portal holds the music, and transitions to archive processing.
[0169]
As an example of music content selection processing, a music content list is displayed on the reservation terminal from the portal to the WEB browser of the reservation terminal, and the user selects one or a plurality of songs to be downloaded, an HTTP POST command, etc. The portal receives the information from the reservation terminal and obtains the music specified by the user and transitions to the archiving process. Any means can be used as long as the process can be realized.
[0170]
(1.3.5 Archive processing)
The purpose of archiving is that the portal archives one or more music contents specified in 1.3.4 together, stores the URL and file entity, and transitions to the distribution policy specification screen. It is. As an archiving means, there are formats such as tar often used in UNIX and ZIP frequently used in Windows, but the algorithm is not limited as long as it can be archived.
[0171]
Hereinafter, the archived music content is called an archive. The reason for performing the archiving process is that it is expected to efficiently distribute all the music contents designated by one delivery.
[0172]
(1.3.6 Specifying the distribution policy)
The purpose of specifying the distribution policy is to inform the user that the user has specified the distribution policy in the portal and that the reservation has been completed. As the delivery policy specification means, items 1 to 6 of “Time specification” in Table 1, ie, “Now”, “From specified time”, “By specified time”, “Lowest time” ”,“ When the HGW is not used ”, the user must select one and transmit it to the portal, and the portal must maintain the distribution policy.
[0173]
[Table 1]
Figure 0003666796
As an example of the distribution policy designation process, the distribution policy table of Table 1 is displayed on the reservation terminal from the portal for the WEB browser of the reservation terminal, and the user selects one distribution policy and makes a reservation with an HTTP POST command or the like. The portal communicates from the terminal to the portal, and the portal receives the information, determines the distribution policy specified by the user, and the portal displays processing for accepting the reservation to the WEB browser of the reservation terminal. Any means can be used as long as the object can be realized.
[0174]
Thereafter, one of the processes of 1.3.6.1 to 1.3.6.4 is executed according to the determined distribution policy. The point of these processes is to set the distribution start time. Thereafter, the process proceeds to 1.3.7. 1.3.6.1 Immediately set the delivery start time to not specified. The delivery end date is not specified. 1.3.6.2 Set the distribution start time to the set time from the specified time. The delivery end date is not specified.
[0175]
[Table 2]
Figure 0003666796
Table 2 is an example in which a price change is added to the content according to the time designation method. In this example, immediately from the designated time, a 10% surcharge is charged with respect to the normal content price, and when the cheapest time is designated, a 15% discount is applied.
[0176]
By using this price change method together with the time specification method, the distribution time to the user can be smoothed and the load on the network can be distributed, and the server and network costs can be reduced, so the server equipment can be constructed with inexpensive equipment. .
[0177]
If this is compared to an actual physical distribution system, it is the same as a time-designated delivery service for requesting delivery of a package by designating an arrival time in a courier.
[0178]
Normally, when downloading content, the user designates the distribution start time. In this method, the server designates the delivery time within the range designated by the user.
[0179]
Thereby, the freedom degree at the time of setting the delivery start time on the server side varies depending on the range specified by the user. For example, if the user only designates a rough time such as “within 3 days”, the degree of freedom on the server side increases, but if a detailed designation such as “between 12:00 and 13:00 on the 3rd” is given, the degree of freedom of the server is increased. Becomes smaller. If the degree of freedom on the server side is large, the load due to the order can be freely distributed. From the viewpoint of load distribution on the server side, it is desirable that the user order has as much freedom as possible on the server side.
[0180]
Focusing on this point, the user's distribution order is considered from the viewpoint of the degree of freedom for specifying the distribution time of the server. For orders with a large degree of freedom, the content fee and communication fee are reduced, and the order with a small degree of freedom is reduced. On the other hand, these fees are offered at a low price.
[0181]
In the case of courier service, if you specify “delivery before 9 am the next morning” when delivery is concentrated, the user needs to pay a high fee for that, and it is normal delivery “ In the case of designation of “no particular”, a high charge is not necessary and delivery is possible at a normal charge.
[0182]
1.3.6.3 The distribution start time is determined from the archive size and the average communication speed of the connection environment by the specified time (end-time specified distribution).
[0183]
(1) Calculate the time required for archive distribution.
Communication time = (Archive size) / (Average communication speed in the connection environment)
(2) Calculate the time at which the distribution ends exactly at the specified end time.
Delivery start final time = Delivery end deadline-Communication time
(3) A time one hour before the final distribution start time is set as the distribution start time. The distribution end time limit sets the distribution end time limit selected by the user.
[0184]
1.3.6.4 For the cheapest time (lowest cost delivery), the delivery start time is specified at random within a certain time period to avoid the delivery of a large amount of archives at the same time. .
・ Tele-hodai use: Specify within tele-hodai time. The distribution start time is randomly specified between 23:00 and 1pm. The delivery end time is specified at 1 o'clock.
-ISDN and analog dial-up: Time zone with the lowest communication charge within 24 hours (The calculation method for the time zone with the lowest communication charge is calculated based on the communication charge table of the communication company used by the user) The distribution start time is set at random. The delivery end date is not specified.
-Always-on IP: Randomly specify the distribution start time from the time except 13:00 from 13:00. No delivery end date is specified.
[0185]
The distribution start time is determined by any one of the above 1.3.6.1 to 1.3.6.4.
(1.3.7 distribution)
1.3.7.1 Portal (on the download server side) processes a file transfer request message in which “recipient information, URL, time specification pull information” is set as a message element as a message designating content to be downloaded. Send to. The following information is stored in each message element.
[0186]
(Message element name)
Recipient information: The user ID (AAAA etc. in FIG. 7) of this service specified in 1.3.3 is set.
URL: Set the URL of the archive file specified in 1.3.5.
-Time designation pull information: the distribution start time and the distribution end time limit specified in any of 1.3.6.1 to 1.3.6.4.
[0187]
Note that the file transfer request message transmission means from the portal to the HGW is not a method of transmitting a file from the portal to the HGW, but the HGW periodically sends a file transfer request from the portal by the telepoling technology of Japanese Patent Application No. 10-49771. A method of polling and receiving a message may also be used.
[0188]
(1.3.7.2 HGW (client) side processing)
(1) When the “file transfer request” message is received, if the delivery start time is not specified in the “time specified pull information” message element, the pull from the specified URL is immediately executed (pull definition) Will be described later).
[0189]
(2) If the message is a time-designated download (the “time-designated pull information” message element includes the delivery start time), it is registered in the HGW table. The contents to be registered are “recipient information”, “URL”, “time specified pull information”, and “download end status” in the received file transfer request message. The download end status is set to 1 (indicating a download waiting state) as an initial value.
[0190]
(3) The HGW starts pulling from the specified URL with respect to the record of the HGW table whose current time is before the distribution start time of the time specified pull information. At the start of pulling, the download end status is set to 2 (indicating that download is in progress).
[0191]
The pull (content session) described here is a process of receiving a file by a commonly used protocol such as HTTP or FTP.
[0192]
Here, it is assumed that the HGW receives a file by the HTTP download protocol as a protocol having a resume function. However, if it is not completed after the download time, pulling is stopped.
[0193]
In the third embodiment, it is assumed that in the pull process, the HGW (download client) receives the archive (data) from the portal (server) and no download error occurs. In this case, the processing flow is the same as in the first embodiment.
[0194]
(1.3.8 Content retrieval processing)
The purpose is that the user takes out the content delivered to the HGW to the PC. In addition, it is essential that contents other than the reserved user cannot be taken out.
[0195]
Hereinafter, an example of processing will be described.
The user transmits a user ID and password from the PC to the HGW, and the HGW verifies the user ID and password based on the user registration file. When the received user ID and password are included in the user registration file, the content distributed to the user having the user ID is transferred to the take-out terminal. Thereafter, the user can freely play back or edit the content in the takeout terminal on the PC.
[0196]
A user ID authentication method for allowing only a reserved customer to retrieve contents stored in the HGW will be described.
[0197]
In this service, a user ID that can identify a user in both the portal and the HGW is assigned to each user. The user ID must be registered at the portal at the time of user registration, which will be described later, and the same user ID must be registered on the HGW side.
[0198]
Assuming that a plurality of people use a user ID in the home, a plurality of settings can be set in the HGW. In the portal, the ID of the HGW to be delivered for each user ID is registered at the time of user registration, and usually the delivery using the TPP is performed for the registered user ID of the HGW for the user ID of the ordered user. Is called. Further, when delivering to the HGW, the contents are classified and registered for each user ID registered in the HGW, so that only the user with the specific user ID can take out the contents delivered to the HGW (FIG. 7). Example).
[0199]
A method from user registration to extraction from the HGW shown in FIG. 7 will be described. Here, as an example, two users are registered in the HGW (HGW whose HGW-ID is 100, hereinafter HGW1), and one user is registered in the HGW (HGW whose HGW-ID is 200, hereinafter HGW2). Assuming that Further, in order to take out content from the HGW, a content take-out terminal connected to the HGW such as a PC is required.
[0200]
1) User registration process to HGW
The HGW needs to register a user who uses the HGW. User registration in the HGW is a process of registering the user ID and password of the user. In the HGW, the user ID and password input by the user are held in a user registration file inside the HGW. Here, duplicate user IDs are not allowed. The user registration file is stored with a pair of user ID and password.
[0201]
In this example, in the HGW 1, two users, a user having AAAA as a user ID (hereinafter referred to as user AAAA) and a user having BBBB as a user ID (user BBBB) are registered.
[0202]
User AAAA has a user ID (AAAAA) and password
User BBBB has user ID (BBBB) and password
Is registered with the HGW. Here, the password registered by each user can be registered by specifying an arbitrary character string.
[0203]
In HGW2, one user (user CCCC) having CCCC as a user ID is registered. The user CCCC registers a user ID (CCCC) and a password with the HGW.
[0204]
2) Reservation delivery processing
Next, there is a process of distributing the content reserved by the user from the order terminal to the HGW from the portal.
[0205]
Details of the user reservation process will be described later. In the example of the distribution process to the HGW, it is assumed that the user AAAA reserves the distribution of the content A, the user BBBB also reserves the distribution of the content B, and the user CCCC reserves the distribution of the content C. The content is delivered to the HGW where the reserved user has registered as a user. That is, since both the user AAAA and the user BBBB are registered as users in the HGW 1, the contents A and the contents B are delivered to the HGW 1. The content C is delivered to the HGW 2 where the user CCCC is registered as a user. The content delivered to the HGW is stored in a memory area reserved corresponding to each user ID registered in the HGW.
[0206]
3) Content retrieval processing from HGW
Since a plurality of users may be registered in the HGW, a plurality of contents reserved by a plurality of users are simultaneously stored in one HGW. From these, it is necessary for each user to retrieve only the content reserved by him / her. That is, when content is extracted from the HGW, each user registered in the HGW is allowed to extract only the content reserved by himself / herself, and is not permitted to extract the content reserved by other users.
[0207]
The HGW receives the user ID and password input by the user from the content retrieval terminal. The HGW checks the received user ID and password against the user ID and password registered in the user registration file. When the received user ID and password are included in the user registration file, the content distributed to the user having the user ID is transferred to the take-out terminal. In the above example, since only one CCCC user is registered in the HGW 2, only the user CCCC needs to take out the content C distributed and stored in the HGW 2.
[0208]
In HGW1, two users, AAAA and BBBB, are registered. When AAAA and a password are received as the user ID from the takeout terminal connected to the HGW 1, the content A distributed to the user AAAA is taken out and passed to the takeout terminal. Similarly, when BBBB and a password are received as the user ID, the content B distributed to the user BBBB is taken out and passed to the terminal.
[0209]
Although the invention made by the present inventor has been specifically described based on the embodiment (example), the invention is not limited to the embodiment (example), and departs from the gist thereof. Of course, various changes can be made without departing from the scope.
[0210]
【The invention's effect】
The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
[0211]
According to the present invention, traffic between a client and a server can be reduced.
[0212]
Further, when a pay line is used between the client and the server, useless line use costs can be reduced.
[Brief description of the drawings]
FIG. 1 is a flowchart showing the operation of a file transfer control unit according to an embodiment (example) of the present invention.
FIG. 2 is a flowchart showing an operation of a file transfer execution unit of the present embodiment.
FIG. 3 is a sequence chart in the case of normal termination without occurrence of interruption of the present embodiment.
FIG. 4 is a sequence chart in the case where the interruption of the present embodiment occurs once, but is restored by the next restart and is normally terminated.
FIG. 5 is a sequence chart in the case of interruption in the middle of the present embodiment and time-out as it is.
FIG. 6 is a diagram for explaining extraction of data from the HGW to the PC according to the present embodiment.
FIG. 7 is a diagram illustrating a relationship between a user and an HGW according to the present embodiment.
FIG. 8 is a flowchart illustrating a conventional download resume algorithm.

Claims (2)

帯域が保証されていないデータ配信システム(ネットワーク)における、ファイル転送の中断再開が可能なダウンロード方法において、ダウンロードが中断した際、クライアントマシンが、ダウンロードするサーバマシンとの過去X(Xは固定値、設定により可変)秒のスループット(以下、Sと称する)が事前に設定した閾値(以下、Sminと称する)を超える(SSmin)場合は、(F−1)回(Fは固定値、設定により可変)は、短時間(ウェイトタイマー値Ts)で再開を試み、F回以上連続して再開に失敗した場合は、ウェイトタイマー値TsをTl(Ts)に設定変更して再開を試み、S≦Sminの場合は、短時間(ウェイトタイマー値Ts)で再開を試みることを特徴とするダウンロード方法。In a data distribution system bandwidth is not guaranteed (network), the download method capable suspend resume file transfer, when the download is interrupted, the client machine, past X (X is a fixed value to the server machine to be downloaded, setting the variable) s throughput (hereinafter, threshold value referred to as S) was set in advance (hereinafter, exceeds referred Smin) (S> Smin) field if the, (F-1) times (F is a fixed value, setting the variable) by, attempts to restart in a short time (the wait timer value Ts), if it fails to restart or more consecutive F times, the restart setting change window Eitotaima value Ts to Tl (> Ts) attempts, in the case of S ≦ Smin, download method, characterized in that attempting to restart in a short time (the wait timer value Ts). 帯域が保証されていないデータ配信システム(ネットワーク)における、ファイル転送の中断再開が可能なダウンロード方法の処理手順を、コンピュータに実行させるためのプログラムを記憶したコンピュータが読み出し可能な記憶媒体であって、ダウンロードが中断した際、ダウンロードするサーバマシンとの過去X(Xは固定値、設定により可変)秒のスループット(以下、Sと称する)が事前に設定した閾値(以下、Sminと称する)を超える(SSmin)場合は、(F−1)回(Fは固定値、設定により可変)は、短時間(ウェイトタイマー値Ts)で再開を試みる手順と、F回以上連続して再開に失敗した場合は、ウェイトタイマー値をTl(Ts)に設定変更して再開を試みる手順と、S≦Sminの場合は、短時間(ウェイトタイマー値=Ts)で再開を試みる手順を、コンピュータに実行させるためのプログラムを記憶したコンピュータが読み出し可能な記憶媒体。A computer-readable storage medium storing a program for causing a computer to execute a processing procedure of a download method capable of interrupting and resuming file transfer in a data distribution system (network) whose bandwidth is not guaranteed, When the download is interrupted, the past X (X is a fixed value, variable depending on the setting) seconds throughput (hereinafter referred to as S) with the server machine to be downloaded exceeds a preset threshold (hereinafter referred to as Smin) ( S> Smin) field if the, (F-1) times (F is a fixed value, variable) by setting, the procedure attempts to restart in a short time (the wait timer value Ts), fail to resume continuous or F times If you, the procedure attempts to restart setting change window Eitotaima value Tl (> Ts), in the case of S ≦ Smin, short time (Weight timer value = Ts) in a procedure to attempt to restart the computer readable storage medium storing a program to be executed by a computer.
JP2000214562A 2000-07-14 2000-07-14 Download method in data distribution system and storage medium storing program thereof Expired - Fee Related JP3666796B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000214562A JP3666796B2 (en) 2000-07-14 2000-07-14 Download method in data distribution system and storage medium storing program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000214562A JP3666796B2 (en) 2000-07-14 2000-07-14 Download method in data distribution system and storage medium storing program thereof

Publications (2)

Publication Number Publication Date
JP2002032284A JP2002032284A (en) 2002-01-31
JP3666796B2 true JP3666796B2 (en) 2005-06-29

Family

ID=18710116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000214562A Expired - Fee Related JP3666796B2 (en) 2000-07-14 2000-07-14 Download method in data distribution system and storage medium storing program thereof

Country Status (1)

Country Link
JP (1) JP3666796B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210385512A1 (en) * 2015-06-01 2021-12-09 Comcast Cable Communications, Llc Transmission of applications with content

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2856489B1 (en) * 2003-06-23 2005-08-26 Bouygues Telecom Sa METHOD FOR DOWNLOADING FILES ON MOBILE EQUIPMENT
US7853609B2 (en) * 2004-03-12 2010-12-14 Microsoft Corporation Update distribution system architecture and method for distributing software
US8266260B2 (en) 2007-12-11 2012-09-11 Sharp Laboratories Of America, Inc. Method and system for updating the software of multiple network nodes
CN102790917B (en) * 2011-05-19 2016-02-17 上海贝尔股份有限公司 Interactive multi-screen business tine transmission method and equipment
JP2022158591A (en) * 2021-04-02 2022-10-17 株式会社デンソー Map information output device, automatic driving control system, map information output system, and map information output method
JP7399929B2 (en) * 2021-11-26 2023-12-18 株式会社日立製作所 Information processing system, information processing method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210385512A1 (en) * 2015-06-01 2021-12-09 Comcast Cable Communications, Llc Transmission of applications with content
US11595705B2 (en) * 2015-06-01 2023-02-28 Comcast Cable Communications, Llc Transmission of applications with content

Also Published As

Publication number Publication date
JP2002032284A (en) 2002-01-31

Similar Documents

Publication Publication Date Title
JP3139408B2 (en) Homepage update notification device
US7945673B2 (en) Reduced wireless internet connect time
US6742023B1 (en) Use-sensitive distribution of data files between users
US20050125456A1 (en) File migration method based on access history
JP2005513617A (en) System and method for downloading data using a proxy
WO1998040831A1 (en) System and method for selection and retrieval of diverse types opf video data on a computer network
JPH11272711A (en) Information providing system
JP2002540491A (en) Web server content replication
US20040117461A1 (en) Download system and downloading device
JP3666796B2 (en) Download method in data distribution system and storage medium storing program thereof
KR20010095113A (en) Information processing device, server connection method, program storage medium, and network system
JP2006209571A (en) Image forming apparatus, and system for distributing printer driver
JP2927259B2 (en) Download device
US20050086357A1 (en) Method and system for distributing images to client systems
JP3528681B2 (en) Information processing terminal
JP2005063153A (en) Information distribution system, terminal device, server device, method for distributing information, and program for terminal device
JP2003067194A (en) Terminal device
JP2003208367A (en) Service use device
JP3933452B2 (en) Support method and support server for supporting acquisition of information
JP3915115B2 (en) Computer and computer program
EP1345377B1 (en) Method for scheduling of file transfers for wireless networks
KR100391952B1 (en) Using server-side application direct file execution method on AIP system
JP2003051846A (en) Band control method, network service system, contents server device, band management device and contents management device
JP2003087433A (en) Internet connection method and system, and computer program
JP2006344115A (en) Server, and information processing method and program therefor

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050302

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: 20050329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050401

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees