[go: up one dir, main page]

JP3646126B2 - Route selection type data transfer system, route selection method in data transfer, and medium recording program for executing the method - Google Patents

Route selection type data transfer system, route selection method in data transfer, and medium recording program for executing the method Download PDF

Info

Publication number
JP3646126B2
JP3646126B2 JP2002072819A JP2002072819A JP3646126B2 JP 3646126 B2 JP3646126 B2 JP 3646126B2 JP 2002072819 A JP2002072819 A JP 2002072819A JP 2002072819 A JP2002072819 A JP 2002072819A JP 3646126 B2 JP3646126 B2 JP 3646126B2
Authority
JP
Japan
Prior art keywords
server
transfer
data
transfer rate
reference value
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
JP2002072819A
Other languages
Japanese (ja)
Other versions
JP2003273912A (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.)
Computer Engineering and Consulting Ltd
Original Assignee
Computer Engineering and Consulting Ltd
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 Computer Engineering and Consulting Ltd filed Critical Computer Engineering and Consulting Ltd
Priority to JP2002072819A priority Critical patent/JP3646126B2/en
Publication of JP2003273912A publication Critical patent/JP2003273912A/en
Application granted granted Critical
Publication of JP3646126B2 publication Critical patent/JP3646126B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はデータ転送システムに関するものであり、特にネットワークにおけるデータ転送経路を動的に変更可能として効率よくデータを転送するようにした経路選択型データ転送システムに関する。
【0002】
【従来の技術】
例えば、ウェブサーバで公開しているホームページを閲覧ソフトを利用してクライアントの端末に表示したり、あるいは、このようなホームページに掲載されているファイルをクライアントがダウンロードするような場合、クライアントは通常、ネットワーク上の配信サービスサーバにリクエストを出し、このリクエストを受けた配信サービスサーバがウェブサーバにアクセスして必要なファイルをダウンロードしてクライアントに転送する。
【0003】
このファイル転送を、クライアントとサービスサーバの関係を1対1にして行うと、ファイル転送が完了するか、クライアントが転送処理をキャンセルするまでは、その転送経路を変更することができなくなり、人気が高いサイトでファイル転送のアクセス数が多いような場合に、サーバの負荷や、回線負荷が大きくなる。このため、ファイルを配信する配信サーバは、通常、ミラーサーバと呼ぶサーバを複数箇所に設置しておき、このミラーサーバの中からクライアントに最も早くデータを転送できるサーバを選択して、そのサーバ(実行サーバ)を介してデータを転送するようにしている。
【0004】
しかしながら、このような従来のデータ転送方法では、転送を開始する前に転送経路が一義的に決まってしまう。すなわち、ミラーサーバを複数箇所に設けていても、転送開始前に使用するミラーサーバを決定した時点でファイル転送経路が決まるため、転送途中にその経路に何らかの不具合が生じた場合に、転送に時間がかかることがある。この問題は、企業間ネットワーク、ケーブルTV、ADSL契約者等の高速回線ネットワークに対して、通常の低速回線を使用するクライアントが、サイズの大きいファイルの転送を依頼する場合などに特に著しい。
【0005】
【発明が解決しようとする課題】
本発明は、この問題を解決すべくなされたものであり、データ転送経路を動的に変更できるようにすると共に、ミラーサーバ間で同期を取ってデータ転送を行うことにより、転送効率を向上させた経路選択型データ転送システムを提供することを目的とする。
【0006】
【課題を解決するための手段】
上記課題を解決するために、本発明の経路選択型データ転送システムは、ネットワークを介してクライアントにデータを転送するデータ転送システムであって、主サーバと、前記ネットワーク上の物理的に異なる地点に設置され前記主サーバから提供されるデータを複製、蓄積し、前記主サーバに代わって前記クライアントにこのデータを転送する機能を有する複数のミラーサーバとを具え、ルーティング処理を行って前記主サーバと複数のミラーサーバの中から適宜実行サーバを選択してデータ転送を行うデータ転送システムにおいて、
前記選択された実行サーバによるデータ転送速度を測定して当該測定した転送速度と所定の転送速度を比較する転送速度比較手段を具え、この転送速度比較手段の出力に応じて再度ルーティング処理を行って前記主サーバあるいは前記複数のミラーサーバから再度実行サーバを選択して、この再度選択された実行サーバにて、これより以前に選択された実行サーバによって転送されなかった未転送データを前記クライアントに転送することを特徴とする。
【0007】
このように、本発明のシステムによれば、実行サーバのデータ転送速度に応じて、実行サーバを動的に変更することができ、また、新たに選択された実行サーバでは、以前に選択された実行サーバで転送されなかった未転送データをクライアントに転送するため、実行サーバになんらかの障害が生じたような場合に、適宜サーバを変更して転送を引き継いで、スムーズにデータ転送を行うことができる。
【0008】
なお、前記ルーティング処理は、前記主サーバと前記複数のミラーサーバの各々から前記クライアントに対して所定の信号を配信してその応答時間を測定して比較し、最も応答時間が速いサーバを実行サーバとして選択して行うのが好ましい。
【0009】
また、実行サーバにおける転送速度を、当該実行サーバが前記クライアントに転送したデータの応答速度で測定するようにした。
【0010】
さらに、本発明のシステムでは、前記主サーバと前記ミラーサーバとがそれぞれ相互通信機能を有し、実行サーバが新たに選択された場合に、現実行サーバはそれまでに転送が終了したデータ位置を示す情報を新たに選択された実行サーバへ直接通知しうるようにするとともに、主サーバおよびミラーサーバが、それぞれ、自身が転送したデータをレコード単位で計数する手段を有しており、現実行サーバはこの計数結果を転送が終了したデータ位置として新たに選択された実行サーバへ通知するようにした。
【0011】
このように構成することによって、現実行サーバでのデータ転送情報を次に選択された実行サーバに直接送り、各サーバ間で同期を取ってデータ転送が行われるため、効率よくデータを転送することができる。
【0012】
本願第2発明は、データ転送を行う際の経路転送方法に関するものであり、 主サーバと、前記主サーバから提供されるデータを複製、蓄積し、前記主サーバに代わってこのデータを配信する機能を有する複数のミラーサーバとをネットワーク上の物理的に異なる地点に設置して、これらのサーバの中から、実行サーバを選択してクライアントにデータを転送するデータ転送において、
(1)前記主サーバおよび前記ミラーサーバの各々から前記クライアントに対して信号を送信してその応答時間を測定する工程と;
(2)前記工程(1)で測定した応答時間のうち最短の応答時間を示したサーバを実行サーバとして選択する工程と;
(3)前記工程(2)で選択した実行サーバにて前記データをクライアントに転送する工程と;
(4)前記工程(3)における実行サーバのデータ転送速度を測定して、これを所定の基準転送速度と比較する工程と;
(5)工程(4)における比較結果が前記実行サーバのデータ転送速度が所定の基準転送速度より遅いことを示す場合に、前記主サーバおよび前記ミラーサーバの中から新たに転送実行サーバを選択して、この新たに選択したサーバにて前記工程(3)にて転送できなかった残りのデータを転送する工程と;
を具えることを特徴とする。
【0013】
このような方法によれば、データ転送を実行中のサーバに障害が生じた場合に、速やかに実行サーバを変更して残りのデータを転送することが可能となり、より迅速にクライアントにデータを配信して、サーバの混雑を回避することができる。
【0014】
なお、工程(5)における転送実行サーバの選択は、前記工程(1)および(2)を再度実行して行うのが好ましい。
【0015】
また、転送すべき全データの転送が終了するまで、前記工程(3)ないし(5)を繰り返して実行し、(ただし、工程(3)の転送実行サーバは工程(5)で選択した新たなサーバとする)て、実行サーバにおける障害の発生に対応すれば、実行サーバに何度障害が生じてもそれに対応することができる。
【0016】
前記工程(4)における測定は、データを構成するレコードを転送する毎、あるいは所定の数のレコードを転送する毎、あるいは所定の時間間隔毎に行うことができる。
【0017】
また、前記工程(5)における転送実行サーバのデータ転送速度が所定の基準転送速度より遅いか否かの判断は、工程(4)において測定したクライアントからの応答時間を基準転送時間と比較して、これが前記基準転送時間より遅い場合にデータ転送時間が遅いとする、あるいは前記工程(4)において測定した複数回のクライアントからの応答時間がいずれも前記基準転送時間より遅い場合に、データ転送時間が基準転送時間より遅いとする、あるいは前記工程(4)において測定した複数回のクライアントからの応答時間の平均値を求め、この平均値が前記基準転送時間より遅い場合に、前記データ転送時間が基準転送時間より遅いと判断することができる。
【0018】
なお、本明細書で、「ミラーサーバ」とは、あるファイルサーバがダウンロード可能なファイルを持ち、ダウンロードサービスを提供する場合に、アクセスが集中するサーバの負荷を分散させることを目的として設置した、前記ファイルサーバと同一の内容を持つ他のサーバをいい、「転送経路」とは、ネットワーク上でデータを送受信する際に、クライアントとサーバ間のデータ転送のための伝送路をいい、「ルーティング」とは、ネットワーク上にある機器により、データを送信するために当該機器に接続されている複数の転送経路中から最適な転送経路を選択する動作をいい、「通信ソフト」とは、クライアントがネットワーク上でウェブサーバで公開されているホームページ等の情報を見る際に使用するブラウザ等のソフトウエア、あるいはファイル転送の目的に使用するソフトウエアを意味する。
【0019】
【発明の実施の形態】
以下に、図面を参照して本発明のデータ転送システムおよび当該システムにおける転送経路選択方法について詳細に説明する。
図1は、本発明のデータ転送システムの全体の構成を示す図である。図1に示すように、クライアント10、配送サーバ30、ウェブサーバ40は、インターネット20に接続されている。クライアント10はウェブサーバ40が配信しているファイル(データ)の入手を希望しており、ブラウザ等の通信ソフトを使用して、ウェブサーバ40のURL(Uniform Resource Locators)を指定してネットワーク20上の配信サーバ30を介してファイルの取り込みを試みている。
【0020】
クライアントが指定したURLは、DNS(Domain Name Server)(図示せず)によってIPアドレスに変換され、通信ソフトはこのIPアドレスをデータに付加して、パケットとして配信サーバ30に送信する。これを受けた配信サーバ30は、クライアント10が指定するウェブサイト40にアクセスして必要なファイルをダウンロードしてクライアント10に転送する。
【0021】
配信サーバ30は、このファイル転送処理を司る主サーバ30−1と、ネットワーク20上の物理的に異なる地点に設置された複数台のミラーサーバ30−2〜30−nで構成されている。各ミラーサーバ30−2〜30−nは、本サーバ30aから提供されるデータを複製、蓄積し、本サーバ30aに代わってこのデータをクライアント10に配信する機能を有する。また、主サーバ30−1とミラーサーバ30−2〜30−nは、各々が相互に通信する機能を有する。
【0022】
配信サーバ30は、ルーティング機能を備えており、本サーバ30−1とミラーサーバ30−2〜30−nの中から最速でデータ転送を行うことのできるサーバを選択して転送を実行する。すなわち、本サーバ30−1はクライアントのリクエストを受けてウェブサーバ40からファイルをダウンロードすると共に、各ミラーサーバ30−2〜30−nに対してクライアント10にパケットを発信してその応答時間を測定し、本サーバ30−1に報告するように指示を出す。なお、本サーバ30−1自身でも同様にパケットを発信して自身の応答時間を測定する。本サーバ30−1は、各サーバ(本サーバ自身を含む)の応答時間を比較して最速のミラーサーバ(あるいは本サーバ自身)を選択して、クライアント10にファイル転送を行うようにそのサーバに指示する。なお、各サーバは、自身で転送したファイルを構成するレコード数をカウントする機能を有しており、実行サーバとして選択されたら、自身が転送したレコード数をカウントする。
【0023】
また、各ミラーサーバ(本サーバ30−1を含む)は、実行サーバとしてファイル転送を行う場合、転送したデータの応答時間を測定して、この測定した応答時間を所定の基準値と比較する機能を具えており、この応答時間が基準値より遅くなった場合に、その旨を本サーバ30−1に通知する。本サーバ30−1は、転送を実行しているミラーサーバからこの通知を受けるか、あるいは自身が実行サーバである場合は、自身が測定したデータの応答時間が基準値より遅くなった場合に、上記ルーティング処理を再度行って、新たに実行サーバを選択し、元の実行サーバに新しく選択した実行サーバのアドレスを通知する(自身が実行サーバである場合は、この通知は不要である)。
【0024】
このアドレスの通知を受けた現実行サーバは、自身でカウントした転送済みのレコード数を新たに選択された実行サーバに通知して、通知を受けた新実行サーバでは、このカウント値の次のレコードから転送を開始して、転送処理を引き継ぐ。
【0025】
新たに選択された実行サーバでも、同様に転送データの応答時間を測定して基準値と比較し、この応答時間が基準値を下回った場合は、上記のルーティング処理を繰り返して再度実行サーバを選択して、転送処理を引き継ぐようにする。
【0026】
次いで、本発明のシステムの動作をフローチャートに基づいて説明する。
図2は、配信サーバ30におけるルーティング処理を説明するためのフローチャート、図3は実行サーバを変更する場合のデータ転送引継処理を説明するためのフローチャートである。以下、順次説明する。
【0027】
クライアント10は入手を希望するファイル名を指定して本サーバ30−1に対して転送要求を送る(ステップS1)。これを受けて本サーバ30−1は、必要なファイルをウェブサーバ40ダウンロードして、ミラーサーバ30−2〜30−nにこれを送り、一方、各ミラーサーバ30−2〜30−nに対してクライアント10のIPアドレスを通知して、クライアント10からの応答時間を測定するよう指示を出す(ステップS2)。なおクライアント10のIPアドレスは、クライアント10からのファイル転送要求によって知ることができる。
【0028】
各ミラーサーバ30−2〜30−nは、パケットをクライアント10に送信して応答を要求し(ステップS3)、クライアント10からの応答時間を測定して(ステップS4、S5)これを本サーバ30−1に報告する(ステップS8)。なお、本サーバ30−1自身もパケットを送信して自身のクライアント10からの応答時間を測定する。
【0029】
なお、本例では、パケットを送信して応答時間を測定するようにしているが、このほか、PINGコマンド、TRACERTコマンド等を用いて応答時間を測定するようにしても良い。
【0030】
本サーバ30−1では、各ミラーサーバ30−2〜30−nから報告されてきた応答時間および自身の応答時間を比較して(ステップS9)、各ミラーサーバおよび自身の中から最も応答時間の短いサーバを選択して(ステップS10、本例では、ミラーサーバ30−3)実行サーバとして、このサーバ30−3にファイル名を指定してデータ転送を指示する(ステップS11)。
【0031】
選択されたミラーサーバ30−3は、クライアント10に対してファイル転送を開始するが(ステップS12)、ここで、ファイルを構成するレコード毎にクライアント10からの応答時間を測定し、所定の基準時間と比較して、応答時間が基準時間より遅い場合は、他のミラーサーバあるいは本サーバへ転送処理を引き継ぐようにする。なお、応答時間に遅延が認められなかった場合は、その実行サーバ(30−3)にてそのままファイル転送を継続し、完遂させる。
【0032】
図3は、実行サーバ30−3でファイル転送に遅延が生じて、他のサーバに転送処理を引き継ぐ場合の動作を示すフローチャートである。
上述したとおり、実行サーバであるミラーサーバ30−3にてデータ転送を行うと共に、転送するレコード毎にクライアントに応答を要求して(ステップS20)、その応答時間を測定する(ステップS21、S22)。ここで、応答時間が所定の基準値より長い場合に(ステップS23、YES)、ミラーサーバ30−3はその旨を本サーバ30−1へ通知する(ステップS26)。この通知を受けた本サーバ30−1は、再度ルーティング処理を行い(ステップS27)、最適サーバを再び選択する(ステップS28、ここではミラーサーバ30−2を選択)。このルーティング処理は、図2に示すステップS2〜S9を繰り返して行う。
【0033】
本サーバ30−1は、ここで新たに実行サーバとして選択したミラーサーバ30−2のアドレスを元の実行サーバであるミラーサーバ30−3に通知して引継処理を行うよう指示する(ステップS28、S29)。
【0034】
この指示を受けてミラーサーバ30−3は新たに選択されたミラーサーバ30−2に対して、クライアントのIPアドレスと、転送を行うファイル名と、自身がカウントした転送済みのレコード数を通知し(ステップS29)、新たに選択された実行サーバ30−2は、元のサーバ30−3から通知を受けた次のレコード位置からクライアント10にファイル転送を開始する(ステップS30)。
【0035】
このように構成することによって、クライアント10は、最も早い転送経路でファイルをダウンロードすることが可能となる。なお、ファイル転送を引き継いだミラーサーバ30−2に、更に障害が生じて転送速度が遅くなった場合は、上記ステップS20以降の動作を繰り返して、その都度最適なサーバを見つけて転送を引き継いでゆく。当然のことながら、本サーバ30−1も、最適サーバの選択候補の一つである。本サーバ30−1が実行サーバとして選択された場合は、転送速度の遅れを判断して、自身で代替のミラーサーバを選択して転送を引き継ぐようにする。
【0036】
なお、転送ファイルは、レコードの集まりとしてとらえることができるので、各サーバは、昇順でファイル転送を実行し、自身が転送したレコードの数をカウントすることによって、転送ファイルのどこまでを転送したかを把握することができる。従って、転送途中で他のサーバに引き継ぎを行う場合は、転送を中止した時点におけるレコードの数を次に選択されたサーバに通知すればよい。新たに選択されたサーバでは、通知されたレコード数+1のレコード位置から転送を開始する。なお、全サーバがその順序を認識している限り、あるいは転送を引き継ぐ際にその順序も通知するようにすれば、転送は降順で、あるいはその他の順序で行ってもよい。
【0037】
実行サーバにおけるファイル転送速度の遅延は、以下の通り判断する。
実行サーバは、クライアントへ最初に転送したレコードの応答時間をTminとして記録しておき、順次、レコードを転送してその応答時間を測定して、これをTminと比較し、測定した応答時間がTminより小さければTminを更新してゆく。測定した応答時間が、Tminより大きいときは、その時点から連続して数回の応答時間を測定し、これらの測定結果すべてがTminより大きい場合に遅延が生じたと判断する。なお、この測定回数は任意に設定することができる。
【0038】
転送速度の遅延の判断は、上述の方法に限るものではなく、例えば、数回の測定結果の平均値を計算して、この平均値がTminより大きい場合いに遅延が生じたと判断するようにしても良い。また、一回でも応答時間がTminより小さければ、遅延が生じたと判断しても良い。さらに、上述の例では、レコードを送信する毎に応答時間を測定するようにしているが、所定数のレコードを送信する毎、あるいは所定の時間毎に応答を求めるようにしても良い。
【0039】
【発明の効果】
上述したとおり、本発明のデータ転送システムによれば、転送経路を動的に変更することができるため、一旦選択したサーバに障害が生じたような場合でも、適宜経路を変更してデータを転送することによって、効率よく、最速ルートでデータ転送を実行することができる。
【図面の簡単な説明】
【図1】図1は、本発明のデータ転送システムの全体の構成を示す図である。
【図2】図2は、本発明のデータ転送システムにおけるルーティング処理動作を説明するためのフローチャートである。
【図3】図3は、本発明のデータ転送システムにおける転送引継処理動作を説明するための図である。
【符号の説明】
10 クライアント
20 インターネット
30 配信サーバ
30−1 主サーバ
30−2〜30−n ミラーサーバ
40 ウェブサーバ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data transfer system, and more particularly, to a route selection type data transfer system in which data transfer routes in a network can be dynamically changed to efficiently transfer data.
[0002]
[Prior art]
For example, when a homepage published on a web server is displayed on a client terminal using browsing software, or a client downloads a file posted on such a homepage, the client usually A request is made to the distribution service server on the network, and the distribution service server that receives this request accesses the web server, downloads a necessary file, and transfers it to the client.
[0003]
If this file transfer is performed with a one-to-one relationship between the client and the service server, the transfer path cannot be changed until the file transfer is completed or the client cancels the transfer process, which is popular. When the number of file transfer accesses is large at a high site, the load on the server and the line load increase. For this reason, a distribution server that distributes files usually has servers called mirror servers installed at a plurality of locations, and a server that can transfer data to the client earliest is selected from the mirror servers. The data is transferred via the execution server.
[0004]
However, in such a conventional data transfer method, the transfer path is uniquely determined before the transfer is started. That is, even if there are multiple mirror servers, the file transfer path is determined when the mirror server to be used is determined before the transfer starts. May take. This problem is particularly significant when a client using a normal low-speed line requests a high-speed line network such as an inter-company network, cable TV, or an ADSL contractor to transfer a large file.
[0005]
[Problems to be solved by the invention]
The present invention has been made to solve this problem, and enables the data transfer path to be dynamically changed and improves the transfer efficiency by performing data transfer in synchronization between mirror servers. Another object of the present invention is to provide a route selection type data transfer system.
[0006]
[Means for Solving the Problems]
In order to solve the above problems, a route selection type data transfer system of the present invention is a data transfer system for transferring data to a client via a network, and is located at a physically different point on the network from the main server. A plurality of mirror servers having a function of replicating and accumulating data provided from the main server installed and transferring the data to the client in place of the main server, and performing routing processing with the main server In a data transfer system that performs data transfer by appropriately selecting an execution server from a plurality of mirror servers,
A transfer rate comparing means for measuring a data transfer rate by the selected execution server and comparing the measured transfer rate with a predetermined transfer rate, and performing a routing process again according to the output of the transfer rate comparing unit; The execution server is selected again from the main server or the plurality of mirror servers, and untransferred data that has not been transferred by the execution server selected before is transferred to the client at the reselected execution server. It is characterized by doing.
[0007]
As described above, according to the system of the present invention, the execution server can be dynamically changed according to the data transfer rate of the execution server, and the newly selected execution server is selected before. Since untransferred data that has not been transferred by the execution server is transferred to the client, if any failure occurs in the execution server, the server can be changed as appropriate to transfer the data smoothly. .
[0008]
The routing process distributes a predetermined signal from each of the main server and the plurality of mirror servers to the client, measures and compares the response time, and executes the server with the fastest response time. It is preferable to select and carry out.
[0009]
Further, the transfer speed in the execution server is measured by the response speed of the data transferred from the execution server to the client.
[0010]
Furthermore, in the system according to the present invention, when the main server and the mirror server each have an intercommunication function, and the execution server is newly selected, the current execution server determines the data position that has been transferred so far. The information to be shown can be notified directly to the newly selected execution server, and the main server and the mirror server each have means for counting the data transferred by itself in units of records, and the current execution server Notifies the execution server newly selected of the counting result as the data position at which the transfer is completed.
[0011]
By configuring in this way, data transfer information at the current execution server is directly sent to the next selected execution server, and data transfer is performed in synchronization between the servers, so that data can be transferred efficiently. Can do.
[0012]
The second invention of the present application relates to a route transfer method for data transfer, and a function of replicating and accumulating data provided from a main server and the main server, and distributing the data on behalf of the main server In the data transfer in which a plurality of mirror servers having the above are installed at physically different points on the network, and the execution server is selected from these servers and the data is transferred to the client.
(1) transmitting a signal from each of the main server and the mirror server to the client and measuring a response time thereof;
(2) selecting a server showing the shortest response time among the response times measured in the step (1) as an execution server;
(3) transferring the data to the client at the execution server selected in the step (2);
(4) measuring the data transfer rate of the execution server in the step (3) and comparing it with a predetermined reference transfer rate;
(5) If the comparison result in step (4) indicates that the data transfer rate of the execution server is slower than a predetermined reference transfer rate, a new transfer execution server is selected from the main server and the mirror server. And transferring the remaining data that could not be transferred in the step (3) by the newly selected server;
It is characterized by comprising.
[0013]
According to such a method, when a failure occurs in a server that is executing data transfer, it is possible to quickly change the execution server and transfer the remaining data, and to distribute data to the client more quickly. Thus, server congestion can be avoided.
[0014]
The selection of the transfer execution server in the step (5) is preferably performed by executing the steps (1) and (2) again.
[0015]
Further, the steps (3) to (5) are repeatedly executed until the transfer of all data to be transferred is completed (however, the transfer execution server in step (3) is the new one selected in step (5)). Therefore, if a failure occurs in the execution server, it is possible to cope with any number of failures in the execution server.
[0016]
The measurement in the step (4) can be performed every time a record constituting data is transferred, every time a predetermined number of records are transferred, or every predetermined time interval.
[0017]
Further, in the step (5), whether or not the data transfer rate of the transfer execution server is slower than a predetermined reference transfer rate is determined by comparing the response time from the client measured in the step (4) with the reference transfer time. If this is later than the reference transfer time, the data transfer time is slow, or if the response times from the plurality of clients measured in step (4) are all slower than the reference transfer time, the data transfer time Is determined to be slower than the reference transfer time, or an average value of response times from a plurality of clients measured in the step (4) is obtained, and if this average value is later than the reference transfer time, the data transfer time is It can be determined that it is later than the reference transfer time.
[0018]
In this specification, the “mirror server” is a file server that is installed for the purpose of distributing the load of the server where access is concentrated when a file server has a downloadable file and provides a download service. Another server having the same contents as the file server is referred to as “transfer path”, which is a transmission path for data transfer between a client and a server when data is transmitted / received over a network. The term “communication software” refers to an operation in which a device on the network selects an optimal transfer route from among a plurality of transfer routes connected to the device in order to transmit data. Software such as a browser used to view information such as websites published on the web server above, Rui means the software to be used for the purposes of the file transfer.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a data transfer system of the present invention and a transfer route selection method in the system will be described in detail with reference to the drawings.
FIG. 1 is a diagram showing an overall configuration of a data transfer system according to the present invention. As shown in FIG. 1, the client 10, the delivery server 30, and the web server 40 are connected to the Internet 20. The client 10 desires to obtain a file (data) distributed by the web server 40, and designates a URL (Uniform Resource Locators) of the web server 40 by using communication software such as a browser. Attempts to import a file via the distribution server 30.
[0020]
The URL specified by the client is converted into an IP address by a DNS (Domain Name Server) (not shown), and the communication software adds this IP address to the data and transmits it to the distribution server 30 as a packet. Receiving this, the distribution server 30 accesses the website 40 specified by the client 10, downloads a necessary file, and transfers it to the client 10.
[0021]
The distribution server 30 includes a main server 30-1 that manages this file transfer process and a plurality of mirror servers 30-2 to 30-n installed at physically different points on the network 20. Each of the mirror servers 30-2 to 30-n has a function of copying and accumulating data provided from the server 30a and distributing the data to the client 10 on behalf of the server 30a. The main server 30-1 and the mirror servers 30-2 to 30-n have a function of communicating with each other.
[0022]
The distribution server 30 has a routing function, and selects a server that can perform data transfer at the fastest speed from the server 30-1 and the mirror servers 30-2 to 30-n and executes the transfer. That is, the server 30-1 receives a client request, downloads a file from the web server 40, and transmits a packet to the client 10 to each mirror server 30-2 to 30-n to measure the response time. Then, an instruction is given to report to the server 30-1. The server 30-1 itself transmits a packet in the same manner and measures its own response time. The server 30-1 compares the response time of each server (including the server itself), selects the fastest mirror server (or the server itself), and transmits the file to the client 10. Instruct. Each server has a function of counting the number of records constituting the file transferred by itself, and when selected as an execution server, counts the number of records transferred by itself.
[0023]
Further, when each mirror server (including the server 30-1) performs file transfer as an execution server, it measures the response time of the transferred data and compares the measured response time with a predetermined reference value. When this response time becomes later than the reference value, this is notified to the server 30-1. This server 30-1 receives this notification from the mirror server that is executing the transfer, or when the server 30-1 is an execution server, when the response time of the data measured by the server 30-1 is later than the reference value, The above routing process is performed again, a new execution server is selected, and the address of the newly selected execution server is notified to the original execution server (if the server itself is an execution server, this notification is unnecessary).
[0024]
The current execution server that has received the notification of this address notifies the newly selected execution server of the number of transferred records counted by itself, and in the new execution server that has received the notification, the next record of this count value is notified. Start the transfer from, and take over the transfer process.
[0025]
Even for the newly selected execution server, measure the response time of the transfer data in the same way and compare it with the reference value. If this response time falls below the reference value, repeat the above routing process and select the execution server again. Then, the transfer process is taken over.
[0026]
Next, the operation of the system of the present invention will be described based on a flowchart.
FIG. 2 is a flowchart for explaining the routing process in the distribution server 30, and FIG. 3 is a flowchart for explaining the data transfer takeover process when the execution server is changed. Hereinafter, description will be made sequentially.
[0027]
The client 10 designates a file name to be obtained and sends a transfer request to the server 30-1 (step S1). In response to this, the server 30-1 downloads the necessary file to the web server 40 and sends it to the mirror servers 30-2 to 30-n. The IP address of the client 10 is notified, and an instruction is given to measure the response time from the client 10 (step S2). The IP address of the client 10 can be known by a file transfer request from the client 10.
[0028]
Each mirror server 30-2 to 30-n sends a packet to the client 10 to request a response (step S3), measures the response time from the client 10 (steps S4, S5), and sends this to the server 30. -1 (step S8). The server 30-1 itself also transmits a packet and measures the response time from its own client 10.
[0029]
In this example, the response time is measured by transmitting a packet. However, the response time may be measured using a PING command, a TRACERT command, or the like.
[0030]
In this server 30-1, the response time reported from each mirror server 30-2 to 30-n and its own response time are compared (step S9). A short server is selected (step S10, in this example, the mirror server 30-3). As an execution server, a file name is designated to the server 30-3 to instruct data transfer (step S11).
[0031]
The selected mirror server 30-3 starts file transfer to the client 10 (step S12). Here, the response time from the client 10 is measured for each record constituting the file, and a predetermined reference time is measured. If the response time is later than the reference time, the transfer process is taken over to another mirror server or this server. If there is no delay in the response time, the execution server (30-3) continues the file transfer as it is and completes it.
[0032]
FIG. 3 is a flowchart showing an operation in the case where a delay occurs in file transfer in the execution server 30-3 and transfer processing is taken over by another server.
As described above, the mirror server 30-3 as the execution server performs data transfer, requests a response from the client for each record to be transferred (step S20), and measures the response time (steps S21 and S22). . Here, when the response time is longer than the predetermined reference value (step S23, YES), the mirror server 30-3 notifies the server 30-1 to that effect (step S26). Receiving this notification, the server 30-1 performs the routing process again (step S27), and selects the optimum server again (step S28, here, the mirror server 30-2 is selected). This routing process is performed by repeating steps S2 to S9 shown in FIG.
[0033]
The server 30-1 notifies the mirror server 30-3, which is the original execution server, of the address of the mirror server 30-2 newly selected as the execution server, and instructs the mirror server 30-3 to perform the takeover process (step S28, S29).
[0034]
Upon receiving this instruction, the mirror server 30-3 notifies the newly selected mirror server 30-2 of the client IP address, the name of the file to be transferred, and the number of transferred records counted by itself. (Step S29) The newly selected execution server 30-2 starts file transfer to the client 10 from the next record position received from the original server 30-3 (Step S30).
[0035]
With this configuration, the client 10 can download a file through the earliest transfer path. If the mirror server 30-2 that has taken over the file transfer has further failed and the transfer rate has slowed down, repeat the operations after step S20 to find the optimal server and take over the transfer each time. go. As a matter of course, the server 30-1 is also one of selection candidates for the optimum server. When this server 30-1 is selected as the execution server, the delay of the transfer rate is determined, and the alternative mirror server is selected by itself to take over the transfer.
[0036]
Since the transfer file can be viewed as a collection of records, each server executes the file transfer in ascending order and counts the number of records transferred by itself to determine how far the transfer file has been transferred. I can grasp it. Therefore, when taking over to another server in the middle of the transfer, the number of records at the time of stopping the transfer may be notified to the next selected server. The newly selected server starts transfer from the notified record number + 1 record position. The transfer may be performed in descending order or in other order as long as all the servers recognize the order, or when the order is notified when the transfer is taken over.
[0037]
The file transfer rate delay in the execution server is determined as follows.
The execution server records the response time of the record first transferred to the client as Tmin, sequentially transfers the records, measures the response time, compares this with Tmin, and measures the measured response time Tmin. If it is smaller, Tmin is updated. If the measured response time is greater than Tmin, the response time is measured several times continuously from that point, and it is determined that a delay has occurred when all of these measurement results are greater than Tmin. The number of measurements can be set arbitrarily.
[0038]
The determination of the transfer rate delay is not limited to the above-described method. For example, an average value of several measurement results is calculated, and it is determined that a delay has occurred when this average value is greater than Tmin. May be. Further, if the response time is smaller than Tmin even once, it may be determined that a delay has occurred. Furthermore, in the above-described example, the response time is measured every time a record is transmitted, but a response may be obtained every time a predetermined number of records are transmitted or every predetermined time.
[0039]
【The invention's effect】
As described above, according to the data transfer system of the present invention, since the transfer route can be dynamically changed, even if a failure occurs in the server once selected, the route is appropriately changed to transfer the data. By doing so, data transfer can be executed efficiently and with the fastest route.
[Brief description of the drawings]
FIG. 1 is a diagram showing an overall configuration of a data transfer system according to the present invention.
FIG. 2 is a flowchart for explaining a routing processing operation in the data transfer system of the present invention;
FIG. 3 is a diagram for explaining a transfer takeover processing operation in the data transfer system of the present invention;
[Explanation of symbols]
10 Client 20 Internet 30 Distribution Server 30-1 Main Server 30-2-30-n Mirror Server 40 Web Server

Claims (14)

通信ネットワークを介してクライアント端末にデータを転送するデータ転送システムであって、主サーバと、前記ネットワーク上の物理的に異なる地点に設置され前記主サーバから提供されるデータを複製、蓄積し、前記主サーバに代わって前記クライアント端末にこのデータを転送する機能を有する複数のミラーサーバとを具え、ルーティング処理を行って前記主サーバと複数のミラーサーバの中から前記クライアント端末までの転送速度が最も早い実行サーバを選択してデータ転送を行うシステムにおいて、
前記選択された実行サーバが、転送開始時のデータ転送速度または転送中に転送速度が上昇したらその転送速度を示す情報を基準値として記憶する基準値記憶手段と、前記選択された実行サーバによるデータ転送速度を監視して、実際の転送速度が前記基準値が示す転送速度を下回ってきた場合に前記主サーバに再ルーティング処理を促す転送速度比較手段を具え、
前記主サーバが、前記実行サーバの転送速度比較手段の出力に応じて、前記主サーバと複数のミラーサーバのうちその時点におけるクライアント端末までの転送速度の最も早いサーバを新たな実行サーバとして選択して、この新たに選択された実行サーバにて、これより以前に選択された実行サーバによって転送されなかった未転送データを前記クライアントに転送することを特徴とする経路選択型データ転送システム。
A data transfer system for transferring data to a client terminal via a communication network, wherein the main server and data provided from the main server installed at physically different points on the network are copied and stored, A plurality of mirror servers having a function of transferring this data to the client terminal instead of the main server, and performing a routing process so that the transfer speed from the main server and the plurality of mirror servers to the client terminal is the highest. In a system that selects a fast execution server and transfers data,
Reference value storage means for storing the data transfer rate at the start of transfer or information indicating the transfer rate when the transfer rate is increased during transfer as a reference value when the selected execution server is started, and data by the selected execution server monitors the transfer rate, comprising a transfer speed comparison means actual transfer rate urging rerouting to the main server if that has less than the transfer rate which the reference value is shown,
The main server selects, as a new execution server, a server having the fastest transfer speed to the client terminal at that time among the main server and the plurality of mirror servers in accordance with the output of the transfer speed comparison means of the execution server. Then, in the newly selected execution server, untransferred data that has not been transferred by the previously selected execution server is transferred to the client.
請求項1に記載の経路選択型データ転送システムにおいて、前記ルーティング処理は、前記主サーバと前記複数のミラーサーバの各々から前記クライアント端末に対して所定の信号を配信してその応答時間を測定して比較し、最も応答時間が短いサーバを実行サーバとして選択して行うことを特徴とする経路選択型データ転送システム。2. The route selection type data transfer system according to claim 1, wherein the routing process distributes a predetermined signal from each of the main server and the plurality of mirror servers to the client terminal and measures a response time thereof. And selecting the server with the shortest response time as an execution server. 請求項1または2に記載の経路選択型データ転送システムにおいて、前記実行サーバにおける転送速度を、当該実行サーバが前記クライアントに転送したデータの応答時間で測定することを特徴とする経路選択型データ転送システム。 3. The route selection type data transfer system according to claim 1 , wherein the transfer rate in the execution server is measured by a response time of data transferred from the execution server to the client. system. 請求項1ないし3のいずれかに記載のデータ転送システムにおいて、前記主サーバと前記ミラーサーバとがそれぞれ相互通信機能を有し、実行サーバが新たに選択された場合に、現実行サーバはそれまでに転送が終了したデータ位置を示す情報を新たに選択された実行サーバへ直接通知することを特徴とする経路選択型データ転送システム。4. The data transfer system according to claim 1, wherein when the main server and the mirror server each have an intercommunication function, and an execution server is newly selected, the current execution server is A route selection type data transfer system characterized in that information indicating the data position at which the transfer has been completed is directly notified to the newly selected execution server. 請求項4に記載の経路選択型データ転送システムにおいて、前記主サーバおよび前記ミラーサーバが、それぞれ、自身が転送したデータをレコード単位で計数する手段を有しており、現実行サーバはこの計数結果を転送が終了したデータ位置として新たに選択された実行サーバへ通知することを特徴とする経路選択型データ転送システム。  5. The route selection type data transfer system according to claim 4, wherein each of the main server and the mirror server has means for counting data transferred by itself in units of records, and the current execution server determines the counting result. Is notified to the newly selected execution server as the data position where the transfer has been completed. 主サーバと、前記主サーバから提供されるデータを複製、蓄積し、前記主サーバに代わってこのデータを配信する機能を有する複数のミラーサーバとをネットワーク上の物理的に異なる地点に設置して、これらのサーバの中から、実行サーバを選択してクライアント端末にデータを転送するデータ転送において、
(1)前記主サーバおよび前記ミラーサーバの各々から前記クライアント端末に対して信号を送信してその応答時間を測定する工程と;
(2)前記主サーバが、前記工程(1)で測定した応答時間のうち最短の応答時間を示したサーバを実行サーバとして選択する工程と;
3−1)前記工程(2)で選択された実行サーバが、前記データをクライアント端末に転送する工程と;
(3−2) 前記実行サーバが、転送開始時のデータ転送速度または転送中に転送速度が上昇したらその転送速度を示す情報を基準値として記憶する工程と;
(4)前記工程(3−1)における実行サーバのデータ転送速度を監視して、実際の転送速度が前記基準値が示す転送速度を下回ってきたかを判断する工程と;
(5)工程(4)における比較結果が前記実行サーバのデータ転送速度が前記基準値が示す転送速度を下回ってきたことを示す場合に、再び前記工程(1)および(2)を行って前記主サーバおよび前記ミラーサーバの中からその時点でクライアント端末までの転送速度が最も早い実行サーバを選択して、この新たに選択したサーバにて前記工程(3)にて転送できなかった残りのデータを転送する工程と;
を具えることを特徴とするデータ転送における経路選択方法。
The main server and a plurality of mirror servers having a function of replicating and accumulating data provided from the main server and distributing the data on behalf of the main server are installed at physically different points on the network. In the data transfer in which the execution server is selected from these servers and the data is transferred to the client terminal ,
(1) a step of transmitting a signal from each of the main server and the mirror server to the client terminal and measuring a response time thereof;
(2) the step in which the main server selects, as an execution server, a server that shows the shortest response time among the response times measured in the step (1);
( 3-1 ) a step in which the execution server selected in the step (2) transfers the data to a client terminal;
(3-2) a step in which the execution server stores, as a reference value, a data transfer rate at the start of transfer or information indicating the transfer rate when the transfer rate increases during transfer;
(4) monitoring the data transfer rate of the execution server in the step ( 3-1 ) to determine whether the actual transfer rate has fallen below the transfer rate indicated by the reference value ;
(5) When the comparison result in the step (4) indicates that the data transfer rate of the execution server is lower than the transfer rate indicated by the reference value, the steps (1) and (2) are performed again to The execution server with the fastest transfer speed to the client terminal at that time is selected from the main server and the mirror server, and the remaining data that could not be transferred in the step (3) at the newly selected server Transferring the; and
A route selection method in data transfer, comprising:
請求項6に記載の経路選択方法において、転送すべき全データの転送が終了するまで、前記工程(3−1)ないし(5)を繰り返して実行する(ただし、2回目以降の実行サーバは工程(5)で選択した新たなサーバとする)ことを特徴とするデータ転送における経路選択方法。In route selection method according to claim 6, until the transfer of all the data to be transferred to end, said to step (3-1) to repeatedly execute the (5) (wherein, the second and subsequent execution server process A route selection method in data transfer, characterized in that the new server selected in (5) is used. 請求項6または7に記載の経路選択方法において、工程(1)における信号が、パケット、PINGコマンド、あるいはTRACERTコマンドであることを特徴とするデータ転送における経路選択方法。8. The route selection method according to claim 6, wherein the signal in step (1) is a packet, a PING command, or a TRACERT command. 請求項6ないし8のいずれかに記載の経路選択方法において、前記工程(4)における判断を、前記データを構成するレコードを転送する毎、あるいは所定の数のレコードを転送する毎、あるいは所定の時間間隔毎に行うことを特徴とするデータ転送における経路選択方法。9. The route selection method according to claim 6 , wherein the determination in the step (4) is performed every time a record constituting the data is transferred, every time a predetermined number of records are transferred, or every time a predetermined number of records are transferred. A route selection method in data transfer, which is performed at each time interval. 請求項6ないし9のいずれかに記載の経路選択方法において、前記基準値は転送開始時の転送応答時間または転送中に転送速度が上昇したらその応答時間であり、前記工程(4)における判断を、前記工程(3)においてクライアントに転送したデータの応答時間を前記基準値と比較して行うことを特徴とするデータ転送における経路選択方法。 10. The route selection method according to claim 6 , wherein the reference value is a transfer response time at the start of transfer or a response time when the transfer speed increases during transfer, and the determination in the step (4) is performed. route selection method in the data transfer, characterized in that a response time of the data transferred in the client the step (3) compared to the reference value. 請求項6ないし9のいずれかに記載の経路選択方法において、前記基準値は転送開始時の転送応答時間または転送中に転送速度が上昇したらその応答時間であり、前記工程(4)における判断を、測定した所定回数のクライアントからの応答時間がいずれも前記基準値より大きい場合に、実際の転送速度が前記基準値が示す転送速度を下回ってきたと判断することを特徴とするデータ転送における経路選択方法。 10. The route selection method according to claim 6 , wherein the reference value is a transfer response time at the start of transfer or a response time when the transfer speed increases during transfer, and the determination in the step (4) is performed. , routing in the data transfer, characterized in that the response time from a client of the measured predetermined number of times when both larger than the reference value, it is determined that the actual transfer rate has been below the transfer rate indicated by the reference value Method. 請求項6ないし9のいずれかに記載のデータ転送方法において、前記基準値は転送開始時の転送応答時間または転送中に転送速度が上昇したらその応答時間であり、前記工程(4)における判断を、測定した所定回数のクライアントからの応答時間の平均値を求め、この平均値が前記基準値より大きい場合に、実際の転送速度が前記基準値が示す転送速度を下回ってきたと判断することを特徴とするデータ転送における経路選択方法。 10. The data transfer method according to claim 6 , wherein the reference value is a transfer response time at the start of transfer or a response time when the transfer speed increases during transfer, and the determination in the step (4) is performed. , an average value of the response time from the client's measured a predetermined number of times, characterized in that the when the average value is larger than the reference value, it is determined that the actual transfer rate has been below the transfer rate which the reference value is shown Route selection method in data transfer. 請求項1に記載の主サーバで動作するプログラムであって、
(1)前記クライアント端末からデータ転送要求を受けた場合に各ミラーサーバに前記クライアント端末への転送速度を問い合わせるとともに主サーバから前記クライアント端末への転送速度を測定するステップと、
(2)前記主サーバと複数のミラーサーバのうち前記クライアント端末への転送速度が最も早いサーバを転送実行サーバとして選択するステップと、
(3)前記ステップ(2)において前記主サーバを実行サーバとして選択した場合に、転送開始時のデータ転送速度または転送中に転送速度が上昇したらその転送速度を示す情報を基準値として記憶するとともに、実際のデータ転送速度を測定して前記基準値が示す速度と比較するステップと、
(4)実際の転送速度が前記基準値が示す速度を下回ってきた場合に、再び前記ステップ(1)および(2)を行って前記主サーバおよび前記ミラーサーバの中からその時点でクライアント端末までの転送速度が最も早い実行サーバを選択するステップと、
を前記主サーバに実行させることを特徴とするプログラム。
A program that operates on the main server according to claim 1,
(1) inquiring each mirror server about the transfer rate to the client terminal when receiving a data transfer request from the client terminal, and measuring the transfer rate from the main server to the client terminal;
(2) selecting a server having the fastest transfer speed to the client terminal among the main server and a plurality of mirror servers as a transfer execution server;
(3) When the main server is selected as the execution server in the step (2), the data transfer rate at the start of transfer or information indicating the transfer rate when the transfer rate increases during transfer is stored as a reference value. Measuring the actual data transfer rate and comparing it with the rate indicated by the reference value;
(4) When the actual transfer speed falls below the speed indicated by the reference value, the steps (1) and (2) are performed again to reach the client terminal at that time from the main server and the mirror server. Selecting the execution server with the fastest transfer speed,
To cause the main server to execute.
請求項1に記載のミラーサーバで動作するプログラムであって、前記主サーバから問い合わせを受けた場合に前記クライアント端末への転送速度を測定し前記主サーバに返答するステップと、前記主サーバから実行サーバとして選択された場合に、転送開始時のデータ転送速度または転送中に転送速度が上昇したらその転送速度を示す情報を基準値として記憶するステップと、実際のデータ転送速度を測定して前記基準値が 示す速度と比較するステップと、ここで測定した転送速度が前記基準値が示す速度を下回ってきた場合に前記主サーバへその旨通知するステップと、を前記ミラーサーバに実行させることを特徴とするプログラム。 A program that operates on the mirror server according to claim 1, wherein when an inquiry is received from the main server, a step of measuring a transfer rate to the client terminal and replying to the main server, and executing from the main server when it is selected as the server, and storing as a reference value information indicating the transfer speed when the transfer rate is increased during a data transfer rate or transfer at the start transfer, the reference to measure the actual data transfer rate A step of comparing with the speed indicated by the value, and a step of notifying the main server when the measured transfer speed falls below the speed indicated by the reference value. Program.
JP2002072819A 2002-03-15 2002-03-15 Route selection type data transfer system, route selection method in data transfer, and medium recording program for executing the method Expired - Fee Related JP3646126B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002072819A JP3646126B2 (en) 2002-03-15 2002-03-15 Route selection type data transfer system, route selection method in data transfer, and medium recording program for executing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002072819A JP3646126B2 (en) 2002-03-15 2002-03-15 Route selection type data transfer system, route selection method in data transfer, and medium recording program for executing the method

Publications (2)

Publication Number Publication Date
JP2003273912A JP2003273912A (en) 2003-09-26
JP3646126B2 true JP3646126B2 (en) 2005-05-11

Family

ID=29202709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002072819A Expired - Fee Related JP3646126B2 (en) 2002-03-15 2002-03-15 Route selection type data transfer system, route selection method in data transfer, and medium recording program for executing the method

Country Status (1)

Country Link
JP (1) JP3646126B2 (en)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4855107B2 (en) * 2006-03-08 2012-01-18 ソニー株式会社 Information processing system, information processing method, providing apparatus and method, information processing apparatus, and program
JP4709055B2 (en) * 2006-03-31 2011-06-22 Necインフロンティア株式会社 IP telephony system and VoIP service providing method
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US10554426B2 (en) 2011-01-20 2020-02-04 Box, Inc. Real time notification of activities that occur in a web-based collaboration environment
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
WO2013009337A2 (en) 2011-07-08 2013-01-17 Arnold Goldberg Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
GB2503625A (en) 2011-07-08 2014-01-01 Box Inc Collaboration sessions in a workspace on cloud-based content management system
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
GB2500152A (en) 2011-11-29 2013-09-11 Box Inc Mobile platform file and folder selection functionalities for offline access and synchronization
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
GB2514947B (en) 2012-05-04 2015-06-17 Box Inc Repository redundancy implementation of a system which incrementally updates clients with events that occured via a cloud-enabled platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
JP6030884B2 (en) * 2012-08-07 2016-11-24 株式会社コナミデジタルエンタテインメント MATCHING DEVICE, GAME SYSTEM, MATCHING METHOD, MATCHING PROGRAM
JP6194458B2 (en) * 2012-08-07 2017-09-13 株式会社コナミデジタルエンタテインメント MATCHING DEVICE, GAME SYSTEM, MATCHING METHOD, MATCHING PROGRAM
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
GB2507161B (en) * 2012-08-19 2014-11-12 Box Inc Enhancement of upload and/or download performance based on client and/or server feedback information
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
EP2784717A1 (en) 2012-10-17 2014-10-01 Box, Inc. Remote key management in a cloud-based environment
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9507795B2 (en) 2013-01-11 2016-11-29 Box, Inc. Functionalities, features, and user interface of a synchronization client to a cloud-based environment
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
KR101774490B1 (en) * 2016-02-12 2017-09-19 엔쓰리엔 주식회사 Recording duplexing method and apparatus for streaming video
WO2017213068A1 (en) * 2016-06-09 2017-12-14 日本電気株式会社 Reply waiting time update apparatus, system and method, and recording medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3275954B2 (en) * 1998-02-20 2002-04-22 日本電気株式会社 Server registration method in server multiplexing
JPH11261580A (en) * 1998-03-12 1999-09-24 Toshiba Corp Network information search path adjustment device and information search path adjustment method
JP2000099435A (en) * 1998-09-18 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> Server switching device and method and recording medium recording server switching program
JP2001290787A (en) * 2000-04-10 2001-10-19 Ntt Communications Kk Data distribution method and storage medium storing data distribution program
JP3401478B2 (en) * 2000-06-20 2003-04-28 日本電信電話株式会社 Location selection device, location selection system, and recording medium
JP2003076623A (en) * 2001-09-05 2003-03-14 Mitsubishi Electric Corp Network system, server device, communication terminal, and server switching method

Also Published As

Publication number Publication date
JP2003273912A (en) 2003-09-26

Similar Documents

Publication Publication Date Title
JP3646126B2 (en) Route selection type data transfer system, route selection method in data transfer, and medium recording program for executing the method
CN109951338B (en) CDN network configuration method, configuration device, electronic equipment and storage medium
JP4108486B2 (en) IP router, communication system, bandwidth setting method used therefor, and program thereof
EP1388073B1 (en) Optimal route selection in a content delivery network
US7574499B1 (en) Global traffic management system using IP anycast routing and dynamic load-balancing
US8631129B2 (en) Service provider optimization of content management
US20190075075A1 (en) Content node network address selection for content delivery
US20140059158A1 (en) Method, device and system for processing content
US20120110148A1 (en) Domain name resolution using a distributed dns network
CN102932204B (en) Monitoring method and monitoring system of content delivery network
US12519994B2 (en) Context-aware content delivery
JP2010531618A (en) Real-time protocol stream migration
KR20090097034A (en) Peer Selection Method and System for Peer-to-Peer Communication
JP2000049858A (en) Communications system
EP3066577B1 (en) Content node selection using network performance profiles
CN113676514B (en) File source returning method and device
US7877479B2 (en) Bandwidth control system and method capable of reducing traffic congestion on content servers
WO2012034414A1 (en) Method and system for processing peer to peer (p2p) services
JP4445783B2 (en) File management apparatus and computer system using file management apparatus
US20090150564A1 (en) Per-user bandwidth availability
JP2011180820A (en) Data transfer management apparatus, data transfer management method and data transfer management program
CN119788692A (en) Dynamically switching distributed file storage system based on elastic data network
KR102141444B1 (en) Apparatus and method for delivering and receiving data in mobile content network
CN115914398A (en) CDN node back-to-source scheduling system, method, server and storage medium
JP6179981B2 (en) Information processing system, information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041126

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees