JP2009009297A - データ配信方法およびデータ配信システム - Google Patents

データ配信方法およびデータ配信システム Download PDF

Info

Publication number
JP2009009297A
JP2009009297A JP2007169171A JP2007169171A JP2009009297A JP 2009009297 A JP2009009297 A JP 2009009297A JP 2007169171 A JP2007169171 A JP 2007169171A JP 2007169171 A JP2007169171 A JP 2007169171A JP 2009009297 A JP2009009297 A JP 2009009297A
Authority
JP
Japan
Prior art keywords
data
client
transfer
server
divided
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.)
Pending
Application number
JP2007169171A
Other languages
English (en)
Inventor
Masahiro Nakakubo
昌宏 仲窪
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.)
Noritsu Koki Co Ltd
Original Assignee
Noritsu Koki Co 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 Noritsu Koki Co Ltd filed Critical Noritsu Koki Co Ltd
Priority to JP2007169171A priority Critical patent/JP2009009297A/ja
Publication of JP2009009297A publication Critical patent/JP2009009297A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】サーバからクライアントに対し、サーバの負荷を軽減しつつ、効率的なデータ配信を行う。
【解決手段】サーバSは、配信するデータを分割するデータ分割手段12と、分割データの配信情報を表現したデータ配信情報を作成するデータ配信情報作成手段13、クライアントに分割データを配信するデータ配信手段を備え、クライアントCsは、サーバSからの分割データ等を受信するサーバデータ受信手段21と転送するクライアントを決定する転送先クライアント決定手段22と分割データを転送先クライアント決定手段により決定されたクライアントCdに転送するデータ転送手段23を備えると共に、転送先クライアントからの分割データを受信する転送データ受信手段31と受信した分割データから元データを復元するデータ復元手段32を備えるデータ配信システム。
【選択図】図2

Description

本発明は、ネットワークにより接続されたサーバから複数のクライアントにデータを配信する技術に関する。
現在、ネットワーク上で様々なサービスが展開されている。各クライアントにインストールされたプログラムの更新ファイルや各種更新データなども、ネットワーク上においてサーバからクライアントにファイルを配信することにより行われている場合も多い。特に、コンピュータウィルスの検出プログラムに利用されるパターンファイルやセキュリティホールに対する修正プログラムの配信では、可能な限り全てのクライアントへの同時配信が要求される。
しかしながら、サーバおよびネットワークの能力には限界があるため、データ等を配信すべきクライアントに対し、タイムラグなくデータを配信することは困難である。
このような問題を解決するために、サーバを複数設置することにより、個々のサーバの負荷を低減させる技術がある。
また、単一のサーバでデータの転送効率を向上させる技術として、クライアントからファイルの配信要求がサーバに送られた場合には、サーバは同じデータを既に他のクライアントに送っている場合には、クライアント間でデータの配信を行わせることでサーバの負荷を低減させるものがある(特許文献1)。
更に、特定のサーバの設置を不要とした技術として、ネットワーク上にデータを保持した機器を複数配置し、各クライアントはその複数の機器から所定のルールによりデータをダウンロードする機器を選択する。これにより、特定の機器にアクセスが集中することを防ぎ、ダウンロードの効率化を図るもの(特許文献2)や、ピアツーピアネットワークにおいて、各ピアにコンテンツを分割して配置すると共に、分割したコンテンツを復元するための関連情報を配置し、コンテンツを要求するピアは、関連情報を取得後、分割されたコンテンツを取得し、復元することによりコンテンツの取得を行うものがある(特許文献3)。
特開2004−213508(段落番号0009、図1) 特開2005−122412(段落番号0007−0009、図1) 特開2006−178782(段落番号0014−0017、図7)
このように、複数のサーバを用いるもの、単一のサーバを用いるもの、サーバを用いずにピアツーピアネットワークを用いるもの、様々な形態を用い、データ配信の効率化を図っている。
しかしながら、複数のサーバを設置した場合には、個々のサーバの負荷は低下するものの、負荷分散させるためのサーバが必要となると同時に、ネットワーク負荷の低減にはあまり寄与できない問題がある。また、特許文献1の技術では、各クライアントに配信した過去のデータを管理する必要があり、サーバに対し不要な負荷をかける恐れがあると共にクライアントの負荷が把握できていないので特定のクライアントに負荷をかける恐れもある。また、特許文献2および3の技術では、データのダウンロード時のサーバへの負荷軽減を図っているが、サーバからのデータ配信には対応できない。
本発明の課題は、これらの問題を解決するために、サーバの負荷を低減し、効率的なデータ配信技術を提供することである。
本発明は、ネットワークで接続されたサーバから2台以上のクライアントにデータを配信する方法であって、前記サーバにおいて、前記データを配信するクライアントを決定するクライアント決定ステップと、前記データを分割し所定数の分割データを作成する分割データ作成ステップと、前記決定された各々のクライアントに配信すべき前記分割データを決定すると共に、前記決定された各々のクライアントと前記決定された分割データの関係を規定するデータ配信情報を作成するデータ配信情報作成ステップと、前記データ配信情報および当該データ配信情報により規定される前記分割データを当該分割データに対応する前記クライアントに配信するデータ配信ステップを備え、前記クライアントにおいて、前記データ配信ステップにより配信された前記データ配信情報および前記分割データを受信するサーバデータ受信ステップと、前記サーバデータ受信ステップにより受信した前記分割データを転送すべきクライアントである転送先クライアントを決定する転送先クライアント決定ステップと、前記サーバデータ受信ステップにより受信した前記分割データを前記転送先クライアントに転送するデータ転送ステップと、前記転送先クライアントにおいて、前記クライアントのデータ転送ステップにより転送された分割データを受信する転送データ受信ステップと、前記サーバから受信した分割データおよび前記クライアントから受信した分割データから前記データ配信情報を用いて前記データを復元するデータ復元ステップを備えている。
このデータ配信方法では、サーバから各クライアントに対して配信すべきデータを分割した分割データが配信され、各クライアントはサーバから受信した分割データを他のクライアントに転送する。これにより、サーバの負荷が低減され、効率的なデータ配信が可能となる。
また、本発明のデータ配信方法は、前記データ配信情報作成ステップは、前記クライアント決定ステップにより決定された各々のクライアントのデータ送受信能力に基づいて、当該クライアントに配信する分割データを決定する。
このデータ配信方法では、各々のクライアントの送受信能力に基づき転送させるデータ量が決定され、分割データの転送の効率を高めることが可能となる。
また、本発明のデータ配信方法は、前記サーバは、前記各々のクライアントにおける分割データの送受信状況を管理すると共に前記クライアントからの問い合わせに対し、当該クライアントが前記サーバデータ受信ステップにより受信した前記分割データを転送すべきクライアントを決定し返答する転送データ管理ステップを備え、前記クライアントにおいて、前記転送先クライアント決定ステップは、前記転送データ管理ステップへの問い合わせ結果を転送先クライアントと決定し、前記データ転送ステップは、前記転送先クライアントに当該分割データを転送すると共に、前記転送データ管理ステップに当該転送先クライアントに当該分割データを転送したことを表す転送情報を送信する。
このデータ配信方法では、サーバは各々のクライアントの送受信状況を把握し、負荷の小さいクライアントへの転送を指示することができ、効率的なデータ配信が可能となる。
また、本発明のデータ配信方法は、前記クライアントにおいて、前記転送先クライアント決定ステップは、前記データ配信情報により規定されるクライアントの情報を基に転送先クライアントを決定する。
このデータ配信方法では、サーバや他のクライアントに負荷をかけることなく、容易に転送先のクライアントを決定することが可能となる。
また、本発明のデータ配信方法は、前記転送先クライアントにおいて、前記ネットワーク上の当該転送先クライアント以外のクライアントに対し、当該転送先クライアントが保持していない前記分割データの転送に関する情報の問い合わせを行う転送可能性情報取得ステップと、前記転送可能性情報取得ステップにより取得された各々の前記クライアントの前記転送可能性情報を基に前記保持していない分割データの転送を依頼するクライアントである転送元クライアントを決定する転送元クライアント決定ステップと、前記転送元クライアントに対し、当該保持していない分割データの転送を依頼する分割データ転送依頼ステップを備え、前記転送先クライアント以外のクライアントにおいて、前記転送可能性情報取得ステップからの問い合わせに対し、当該転送先クライアントが保持していない分割データの有無および当該クライアントの送受信状況を示す転送可能性情報を送信する転送可能性情報配信ステップを備え、前記転送元クライアントにおいて、前記転送依頼ステップからの転送依頼を受信する転送依頼受信ステップを備え、転送先クライアント決定ステップは、転送依頼受信ステップにより受信した前記転送依頼を行ったクライアントを転送先クライアントと決定する。
このデータ配信方法では、サーバに負荷をかけることなく、クライアント間通信のみで負荷の小さいクライアントを検出し、転送を依頼することにより効率的なデータ配信が可能となる。
また、本発明のデータ配信方法は、前記クライアントは、前記データ転送ステップにおけるデータの転送速度を測定する転送速度測定ステップと、前記転送速度が所定の転送速度に満たない場合に、前記転送を中止すると共に前記サーバに前記中止した転送に関する情報である転送中止情報を送信する転送中止ステップを備え、前記サーバは、前記転送中止ステップにより送信された転送中止情報を受信する転送中止情報受信ステップを備え、前記転送中止情報により規定されるクライアントに対し、前記転送中止情報により規定される分割データを配信する。
このデータ配信方法では、何らかの原因でクライアント間通信が遅いもしくは不通などの場合には、サーバから分割データを配信させることができ、効率的なデータ配信が可能となる。
さらに、本発明では、上述したデータ配信方法をコンピュータに実行させるプログラムやそのプログラムを記録した媒体も権利の対象とするものである。
さらに、本発明では、上述したデータ配信方法を組み込んだサーバおよびクライアントから構成されるシステムも権利の対象としており、そのようなデータ配信システムでは、前記サーバにおいて、前記データを配信するクライアントを決定するクライアント決定手段と、前記データを分割し所定数の分割データを作成する分割データ作成手段と、
前記決定された各々のクライアントに配信すべき前記分割データを決定すると共に、前記決定された各々のクライアントと前記決定された分割データの関係を規定するデータ配信情報を作成するデータ配信情報作成手段と、前記データ配信情報および当該データ配信情報により規定される前記分割データを当該分割データに対応する前記クライアントに配信するデータ配信手段を備え、前記クライアントにおいて、前記データ配信手段により配信された前記データ配信情報および前記分割データを受信するサーバデータ受信手段と、前記サーバデータ受信手段により受信した前記分割データを転送すべきクライアントである転送先クライアントを決定する転送先クライアント決定手段と、前記サーバデータ受信手段により受信した前記分割データを前記転送先クライアントに転送するデータ転送手段と、前記転送先クライアントにおいて、前記クライアントのデータ転送手段により転送された分割データを受信する転送データ受信手段と、前記サーバから受信した分割データおよび前記クライアントから受信した分割データから前記データ配信情報を用いて前記データを復元するデータ復元手段を備える。
当然ながら、このようなデータ配信システムは上述したデータ配信方法で述べた全ての作用効果を得ることができる。
以下、本発明のデータ配信方法を用いたシステムの実施形態を図面に基づいて説明する。図1に示すように、本実施形態によるファイル配信システムは、配信するデータDを保持し、データをクライアントに配信するサーバS、前記データを受け取るクライアントCから構成され、各々が通信ネットワークN(以下、ネットワークと称する)により接続されている。前記ネットワークNは、企業や学校等の限られた施設内において情報を物理的に送るケーブルと、LANスイッチやハブ等でなる中継機器を備えたCSMA/CD(Carrier Sense Multiple Access with Collision Detection)方式のイーサネット(Ethernet)(商標)型のLANとして構成されたものであるが、このネットワークNとしてイーサネット型のLAN以外に、インターネットの技術を用いたイントラネットで構築されたものや、WAN(Wide Area Network)の技術によって構築されるものでも良い。本実施形態では、配信すべきデータはサーバSに保持されているが、これに限定されるものではなく、別途ファイルサーバを設置し、ファイルサーバに配信すべきデータを保持させ、必要に応じてサーバSがファイルサーバからデータを取得するようにしても構わない。
〔第1の実施形態〕
図2に本発明におけるデータ配信方法を用いたシステムの機能ブロック図を示す。本発明におけるデータ配信方法を用いたシステムの第1の実施形態では、サーバSはデータの配信先クライアントを決定するクライアント決定手段11、配信するデータを所定数に分割し分割データを作成するデータ分割手段12、クライアント決定手段11により決定されたクライアントに対して配信する分割データを決定すると共に、決定されたクライアントと決定された分割データの関係を規定するデータ配信情報を作成するデータ配信情報作成手段13、データ配信情報作成手段13により作成されたデータ配信情報に基づき分割データを配信するデータ配信手段14を備えている。
図2では、クライアントは便宜上、転送元クライアントCsおよび転送先クライアントCdとして記載しているが、全てのクライアントCは転送元クライアントCsおよび転送先クライアントCdの各手段を備えており、分割データを転送するときには転送元クライアントCs、転送データを受信するときには転送先クライアントCdとして機能する。
転送元クライアントCsは、サーバSのデータ配信手段14から配信される分割データおよびデータ配信情報を受信するサーバデータ受信手段21、サーバデータ受信手段により受信されたデータ配信情報を基にサーバデータ受信手段21により受信された分割データを転送するクライアントを決定する転送先クライアント決定手段22、転送先クライアント決定手段22により決定されたクライアントにサーバデータ受信手段21により受信された分割データを転送するデータ転送手段23を備えている。
転送先クライアントCdは、転送元クライアントCsのデータ転送手段23から転送される分割データを受信する転送データ受信手段31、サーバSのデータ配信手段14から配信されサーバデータ受信手段21により受信された分割データと転送元クライアントCsのデータ転送手段23から転送された分割データから元データDを復元するデータ復元手段32を有している。
通常、サーバS、クライアントC(CsおよびCd)の各手段は、ソフトウェアで構成されているが、これらをソフトウェアおよびハードウェアとの組み合わせにより構成しても良いし、ロジック等を組み合わせたハードウェアのみで構成しても構わない。
次に、図3から図5のフローチャートを用いて本発明におけるデータ配信方法を用いたシステムの動作を説明する。サーバSは、クライアント決定手段11によりデータDを配信するクライアントCを決定する(#01)。配信先のクライアントCの決定は、予めクライアントCのリストを作成しておき、リストに登録されているクライアントCに対し通信を行い、配信可能な状態にあるクライアントを抽出する、クライアントCの起動時等にサーバSに配信可能な旨が伝えられ、その情報に基づき配信するクライアントCを決定する、ブロードキャストに応えたクライアントCを配信するクライアントCとする方法などを用いることができるが、これに限定されるものではなく、他の方法を用いても構わない。
データ分割手段12では、配信するデータを分割し、所定数nの分割データDi(i=1〜n)を作成する(#02)。このとき、所定数nは、クライアント決定手段11により決定されたクライアント数、予め決められた固定値などを用いることができるが、これに限定されるものではなく、他の方法により決定しても構わない。また、分割の方法は、配信するデータをn等分しても良いし、クライアント決定手段11により決定されたクライアントのCPUや接続されているネットワーク機器の能力等により決定される送受信応力を考慮して分割データのサイズを異ならせるなどしても構わない。図6の例では、所定数として固定値4を用い、D1からD4が作成されている。
データ配信情報作成手段13では、クライアント決定手段11により決定された各々のクライアントCに配信する分割データDiを決定し、各々のクライアントCと配信する分割データDiの関係を表したデータ配信情報が作成される(#03)。このとき、データ分割手段12が、配信するデータDを等分している場合には、各クライアントCの送受信応力に応じて、配信する分割データDiの数を異ならせ、分割データサイズが各クライアントCの送受信能力に応じて異なっている場合には、各クライアントCの送受信能力に応じたサイズの分割データDiを割り当てることになる。図6の例では、前記の通り、データ分割手段12は固定値4を用いて分割データDiを作成しており、クライアントC1の送受信能力が他のクライアントC2、C3に比べて高いため、クライアントC1には2つの分割データ、他のクライアントC2、C3には1つの分割データを配信するとしている。本実施形態では、各クライアントCに配信する分割データDiは重複がないよう設定されているが、これに限定される訳ではなく、重複させても構わない。
配信先のクライアントCdが決定すると、データ配信情報作成手段13により、データ配信情報Iが作成される。データ配信情報Iには、どのクライアントCにどの分割データDiを送信するかが記載されている。データ配信情報Iは、本実施形態では図6のような表現を用いるが、この表現方法に限定されるものではなく、他の表現方法を用いても構わない。
データ配信手段14では、データ配信情報Iに基づき、各クライアントCに分割データDiが配信される。図6の例では、前記の通りn=4であり、クライアントC1に分割データD1およびD2、クライアントC2に分割データD3、クライアントC3には分割データD4がサーバSからデータ配信情報Iと共に配信される。
次に、転送元クライアントCsでは、サーバデータ受信手段21により、データ配信手段14により配信された分割データDiおよびデータ配信情報Iが受信される(#11)。転送先クライアント決定手段22により、サーバデータ受信手段21により受信した分割データDiの一つが選択され(#12)、受信したデータ配信情報Iに基づき、受信した分割データDiの転送先が決定される(#13)。図7の例で、クライアントC1が転送元クライアントCsであり、受信したデータ配信情報から自らを除外した残りのクライアントC2およびC3が分割データD1およびD2の転送先とされる。
データ転送手段23では、転送先クライアント決定手段22により決定されたクライアントCにサーバデータ受信手段21により受信した分割データDiを転送する(#14)。#13から#14の動作が、分割データDiを転送すべき全クライアントに転送される(#15のYes分岐)まで繰り返され、#12から#15の動作が、サーバデータ受信手段21により受信した全分割データDiに対して行われるまで(#16のYes分岐)繰り返される。図7の例では、クライアントC2およびC3に分割データD1およびD2が転送される。また、クライアントC2を転送元クライアントCsであるとすると、前記の処理により、クライアントC1およびC3に分割データD3が転送される。
一方、転送先クライアントCdでは、サーバデータ受信手段21によりデータ配信手段14から配信された分割データDiおよびデータ配信情報Iが受信され(#21)、転送データ受信手段31により転送元クライアントCsのデータ転送手段23から転送された分割データDiが受信される(#22)。データ復元手段32は、サーバデータ受信手段21により受信したデータ配信情報Iを参照し、全分割データDiを受信し終える(#23のYes分岐)と、元データDを復元する(#24)。図7の例では、クライアントC3は、クライアントC1から分割データD1およびD2、クライアントC2から分割データD3を受信すると、データ配信情報Iから分割データはD1からD4までの4個であると判明し、サーバSから受信した分割データD4と合わせると全分割データが揃っているので、元データDを復元する。
図8に本発明のデータ配信方法を用いたシステムによるデータ配信と通常の単一サーバからのデータ配信に要する時間を比較するための概念図を示す。横軸は、配信時間である。理解を容易にするため、サーバSおよび各クライアントCのデータの配信および転送は、並列には行わないものとする。サーバSから3台のクライアントC1〜C3に対してデータDを配信するためには、4分かかるとすると、通常の単一サーバで配信する場合には、4分×3=12分必要となる。
一方、図8の例における本発明のデータ配信方法を用いたシステムでは、データDは分割データDi(i=1〜4)に分割されるため、各分割データDiの配信に必要な時間は4分/4=1分であり、全分割データを配信するために必要な時間は1分×4=4分である。各クライアントは、分割データDiを受信すると転送を開始するので、図8の例の場合、クライアントC1は分割データD1を受信した時点(サーバからの配信開始から1分後)に、クライアントC2に対し分割データD1の転送を開始する。なお、クライアント間の転送時間は、送受信が同時に発生する可能性があるため、サーバからの配信速度の1/2であるとする。すなわち、サーバSからクライアントC1に対して1分で配送できる分割データD1は、クライアントC1からクライアントC2に転送する場合には2分かかることになる。
このように転送が行われるとすると、クライアントC1からクライアントC2およびC3への分割データD1およびD2の転送は、2分×4=8分必要であり、サーバSからの配信開始から9分後に完了する。同様に、クライアントC2からの転送は、配信開始から7分後、クライアントC3からの転送は、配信開始から8分後に完了することとなり、全クライアントCへの全分割データDiの配信完了は9分となる。この例からも分かるように、クライアントC間の転送がサーバSからの配信よりも遅いと過程しても、サーバ1台から配信するよりも、本発明のデータ配信方法を用いたシステムの方が、データの配信を効率的に行うことが可能となっている。つまり、本発明のデータ配信方法を用いたシステムでは、サーバの負荷を低減させ、効率的なデータ配信が可能となる。
〔第2の実施形態〕
次に、図2の機能ブロック図および図9のフローチャートを用いて、本発明のデータ配信方法を用いたシステムの第2の実施形態を説明する。本実施形態のサーバSは、第1の実施形態の手段に加え、各クライアントの送受信状況を管理し、各クライアントが次にどのクライアントに転送すべきかを決定する転送データ管理手段15を備えている。
サーバSの分割データDiの配信は、第1の実施形態における動作と同様なので説明は割愛する。転送元クライアントCsは、サーバデータ受信手段21によりサーバSのデータ配信手段14からの分割データDiを受信する(#31)。転送先クライアント決定手段22は、サーバSに対し、受信した分割データDiをいずれのクライアントCに転送すべきかを問い合わせる。転送先クライアント決定手段22により問い合わせを受けたサーバSは、転送データ管理手段15により、管理している各クライアントC間の転送状況に基づき、転送すべきクライアントCdを決定し、クライアントCsに送信する(#32)。このとき、転送データ管理手段15には、各クライアントCがその時点で行っている分割データDiの送受信状況が管理されており、送受信負荷が小さなクライアントCdを選択し、転送先クライアント決定手段22に返答する。転送先クライアント決定手段22は、転送データ管理手段15からの応答であるクライアントCdを転送先クライアントCdと決定する。
データ転送手段23は、転送先クライアント決定手段22により決定されたクライアントCdに対し、サーバデータ受信手段21により受信した分割データDiを転送する(#33)。分割データの転送開始時と完了時には、サーバSに対し、転送の状況を通知する(#34)。転送状況を通知されたサーバSは、転送データ管理手段15により、各クライアントC間の転送状況情報が更新される。サーバデータ受信手段21により受信した全分割データDiの転送が完了する(#35のYes分岐)まで#32から#34までの処理が繰り返される。転送先クライアントCdの動作は、第1の実施形態と同様なので割愛する。
このように、本発明の第2の実施形態によると、サーバSが各クライアントCの分割データDiの送受信状況を把握することができ、転送元クライアントCsに対して、ネットワーク負荷の小さいクライアントCを転送先クライアントCdとして転送を行うよう指示することができ、これによりネットワーク全体の利用効率を高めることが可能となる。
〔第3の実施形態〕
次に、本発明のデータ配信方法を用いたシステムの第3の実施形態を図2の機能ブロック図および図10のフローチャートを用いて説明する。転送先クライアントCdは、第1の実施形態の手段に加え、他のクライアントCに対し必要とする分割データDiを保持しているか否かおよび現在の送受信状況を問い合わせる転送可能性情報取得手段33、転送可能性情報取得手段33により取得された転送可能性情報を基に分割データDiの転送を依頼するクライアントCを決定し、転送を依頼する転送元クライアント決定手段34を備え、転送元クライアントCsは、転送先クライアントCdの転送可能性情報取得手段33からの問い合わせに応える転送可能性情報送信手段24、転送先クライアントCdの転送元クライアント決定手段34の転送依頼を受信する転送依頼受信手段25を有している。
サーバSの分割データDiの配信は、第1の実施形態と同様なので説明は割愛する。転送先クライアントCdは、サーバデータ受信手段21によりサーバSのデータ配信手段14から配信された分割データDiと共にデータ配信情報Iを受信する(#41)。転送先クライアントCdの転送可能性情報取得手段33は、サーバデータ受信手段21により受信されたデータ配信情報Iを基にデータDを復元するために欠けている分割データDiを判別し、他のクライアントCに対して分割データDiの転送に関連する情報を問い合わせる(#42)。問い合わせは、ネットワークNにブロードキャストもしくはマルチキャストしても良いし、個々のクライアントCに対しユニキャストしても構わない。
転送元クライアントCsの転送可能性情報送信手段24は、転送先クライアントCdの転送可能性情報取得手段33からの問い合わせを受信し、データDiの転送可能性に関して応答する(#43)。本実施形態では、転送可能性情報として、分割データDiの有無および問い合わせ時点の自身の送受信状態を用いるが、これに限定される訳ではなく、他の情報を用いても構わない。図11の例では、クライアントC3から分割データD1の転送可能性の問い合わせが発せられている(図中(1))。この問い合わせに対し、クライアントC1およびC2が、転送可能性情報を応答している(図中(2))。
転送先クライアントCdの転送元クライアント決定手段34は、各クライアントCから送信された転送可能性情報を基に、分割データDiの転送を依頼するクライアントCを決定し、当該分割データDiの転送を決定されたクライアントCsに依頼する(#44)。図11の例では、分割データD1の転送可能性情報の問い合わせがあり、クライアントC1はD1を保持、クライアントC2はD1を保持していない旨の応答があったので、転送元クライアント決定手段34は、クライアントC1を転送元クライアントCsと決定し、クライアントC1に分割データD1の転送を依頼する。
図12の例では、クライアントC3から分割データD1の転送可能性情報の問い合わせが発せられ、クライアントC1およびC2からは、図中の返答がなされる。C1およびC2共に分割データD1を保持しており、クライアントC1の送受信数は2、クライアントC2の送受信数は1となっている。転送元クライアント決定手段34はネットワーク負荷の小さい、すなわち送受信数が小さいクライアントC2を転送元クライアントCsとして決定する。
転送元クライアントCsの転送依頼受信手段25は、転送先クライアントCdの転送元クライアント決定手段34からの転送依頼を受信し、データ転送手段23により転送先クライアントCdに依頼された分割データDiを転送する(#45)。
転送先クライアントCdおよび転送元クライアントCsは、データDの復元に必要な全ての分割データDiを受信するまで#42から#45の処理を繰り返し、復元に必要な全ての分割データDiを受信する(#46のYes分岐)とデータ復元手段32によりデータDが復元される(#47)。
このように、本発明の第3の実施形態では、各クライアントCに対し、転送されていない分割データDiの有無およびネットワーク負荷を問い合わせ、それらの情報を基に転送を依頼するクライアントCsを決定することにより、サーバSに負荷をかけることなく、効率的なデータ転送が可能となっている。
〔第4の実施形態〕
次に、本発明のデータ配信方法を用いたシステムの第4の実施形態を図2の機能ブロック図および図13のフローチャートを用いて説明する。転送元クライアントCsは、第1の実施形態の手段に加え、分割データDiの転送速度を測定する転送速度測定手段26と、転送速度測定手段26により測定されている転送速度が所定の速度を下回った場合に、転送を中止すると共にサーバSに転送を中止した旨を通知する転送中止手段27を備えている。サーバSは、第1の実施形態の手段に加え、転送元クライアントCsの転送中止手段27からの転送中止情報を受信し、データ配信手段14に対し、転送中止情報に規定された転送先クライアントCdに対し転送中止情報により規定される分割データDiを配信させる転送中止情報受信手段16を備えている。
サーバSからの分割データDiの配信に関しては、第1の実施形態と同じなので説明は割愛する。転送元クライアントCsは、サーバデータ受信手段21により、サーバSのデータ配信手段14から分割データDiおよびデータ配信情報Iを受信し(#51)、転送先クライアント決定手段22により転送先クライアントCdが決定される。この転送先クライアント決定手段22の動作は、前記のいずれの実施形態を用いても構わない。次に、データ転送手段23により、転送先クライアントCdに対し、分割データDiの転送が開始される(#52)。
転送元クライアントCsから分割データDiの転送が開始されると、転送速度測定手段26によりデータ転送速度の測定が行われ(#53)、データ転送速度が所定の速度を下回った場合(#54のYes分岐)には、転送中止手段27により分割データDiの転送が中止されると共にサーバSに転送先クライアントCdに対する分割データDiの転送が中止された旨が通知される(#55)。転送元クライアントCsの転送中止手段27からの転送中止情報を受信したサーバSの転送中止情報受信手段16は、データ配信手段14に対し、転送先クライアントCdに対して分割データDiの配信を指示する(#56)。
また、転送先クライアントCdへの転送速度が所定速度以下になった場合若しくは転送先クライアントCdへの通信が不通の場合、直ちに転送を中止し、サーバSに転送中止情報を通知するのではなく、何度かリトライした後、所定時間後、もしくは転送先クライアントCdの転送順序を変更し再転送した後などに、サーバSに転送中止情報を通知しても構わない。
このように、本発明の第4の実施形態では、クライアント間のデータ転送速度を監視し、所定速度を下回った場合には、クライアント間転送を中止し、サーバクライアント間配信に切り替えることにより、ネットワークを効率的に利用し、データ配信効率を向上させることが可能となる。
本発明によるデータ配信方法を用いたシステムの構成図 本発明によるデータ配信方法を用いたシステムの機能要素を示す機能ブロック図 本発明の第1の実施形態におけるサーバの動作を表すフローチャート 本発明の第1の実施形態における転送元クライアントの動作を表すフローチャート 本発明の第1の実施形態における転送先クライアントの動作を表すフローチャート サーバからの分割データ配信を示す図 各クライアント間の分割データ転送を示す図 サーバからの一括配信と本発明によるデータ配信方法を用いた場合の配信速度比較図 本発明の第2の実施形態における動作を表すフローチャート 本発明の第3の実施形態における動作を表すフローチャート 本発明の第3の実施形態における転送可能性情報取得動作を表す概念図 本発明の第3の実施形態における転送可能性情報取得動作を表す概念図 本発明の第4の実施形態における動作を表すフローチャート
符号の説明
S:サーバ
Cs:転送元クライアント
Cd:転送先クライアント
11:クライアント決定手段
12:データ分割手段
13:データ配信情報作成手段
14:データ配信手段
15:転送データ管理手段
16:転送中止情報受信手段
21:サーバデータ受信手段
22:転送先クライアント決定手段
23:データ転送手段
24:転送可能性情報送信手段
25:転送依頼受信手段
26:転送速度測定手段
27:転送中止手段
31:転送データ受信手段
32:データ復元手段
33:転送可能性情報取得手段
34:転送元クライアント決定手段

Claims (7)

  1. ネットワークで接続されたサーバから2台以上のクライアントにデータを配信する方法であって、
    前記サーバにおいて、前記データを配信するクライアントを決定するクライアント決定ステップと、
    前記データを分割し所定数の分割データを作成する分割データ作成ステップと、
    前記決定された各々のクライアントに配信すべき前記分割データを決定すると共に、前記決定された各々のクライアントと前記決定された分割データの関係を規定するデータ配信情報を作成するデータ配信情報作成ステップと、
    前記データ配信情報および当該データ配信情報により規定される前記分割データを当該分割データに対応する前記クライアントに配信するデータ配信ステップを備え、
    前記クライアントにおいて、前記データ配信ステップにより配信された前記データ配信情報および前記分割データを受信するサーバデータ受信ステップと、
    前記サーバデータ受信ステップにより受信した前記分割データを転送すべきクライアントである転送先クライアントを決定する転送先クライアント決定ステップと、
    前記サーバデータ受信ステップにより受信した前記分割データを前記転送先クライアントに転送するデータ転送ステップと、
    前記転送先クライアントにおいて、前記クライアントのデータ転送ステップにより転送された分割データを受信する転送データ受信ステップと、
    前記サーバから受信した分割データおよび前記クライアントから受信した分割データから前記データ配信情報を用いて前記データを復元するデータ復元ステップを備えることを特徴とするデータ配信方法。
  2. 前記サーバにおいて、前記データ配信情報作成ステップは、前記クライアント決定ステップにより決定された各々のクライアントのデータ送受信能力に基づいて、当該クライアントに配信する分割データを決定することを特徴とする請求項1記載のデータ配信方法。
  3. 前記サーバは、前記各々のクライアントにおける分割データの送受信状況を管理すると共に前記クライアントからの問い合わせに対し、当該クライアントが前記サーバデータ受信ステップにより受信した前記分割データを転送すべきクライアントを決定し返答する転送データ管理ステップを備え、
    前記クライアントにおいて、前記転送先クライアント決定ステップは、前記転送データ管理ステップへの問い合わせ結果を転送先クライアントと決定し、
    前記データ転送ステップは、前記転送先クライアントに当該分割データを転送すると共に、前記転送データ管理ステップに当該転送先クライアントに当該分割データを転送したことを表す転送情報を送信することを特徴とする請求項1または請求項2記載のデータ配信方法。
  4. 前記クライアントにおいて、前記転送先クライアント決定ステップは、前記データ配信情報により規定されるクライアントの情報を基に転送先クライアントを決定することを特徴とする請求項1から3のいずれか一項に記載のデータ配信方法。
  5. 前記転送先クライアントにおいて、前記ネットワーク上の当該転送先クライアント以外のクライアントに対し、当該転送先クライアントが保持していない前記分割データの転送に関する情報の問い合わせを行う転送可能性情報取得ステップと、
    前記転送可能性情報取得ステップにより取得された各々の前記クライアントの前記転送可能性情報を基に前記保持していない分割データの転送を依頼するクライアントである転送元クライアントを決定する転送元クライアント決定ステップと、
    前記転送元クライアントに対し、当該保持していない分割データの転送を依頼する分割データ転送依頼ステップを備え、
    前記転送先クライアント以外のクライアントにおいて、前記転送可能性情報取得ステップからの問い合わせに対し、当該転送先クライアントが保持していない分割データの有無および当該クライアントの送受信状況を示す転送可能性情報を送信する転送可能性情報配信ステップを備え、
    前記転送元クライアントにおいて、前記転送依頼ステップからの転送依頼を受信する転送依頼受信ステップを備え、
    転送先クライアント決定ステップは、転送依頼受信ステップにより受信した前記転送依頼を行ったクライアントを転送先クライアントと決定することを特徴とする請求項1から3のいずれか一項に記載のデータ配信方法。
  6. 前記クライアントは、前記データ転送ステップにおけるデータの転送速度を測定する転送速度測定ステップと、
    前記転送速度が所定の転送速度に満たない場合に、前記転送を中止すると共に前記サーバに前記中止した転送に関する情報である転送中止情報を送信する転送中止ステップを備え、
    前記サーバは、前記転送中止ステップにより送信された転送中止情報を受信する転送中止情報受信ステップを備え、前記転送中止情報により規定されるクライアントに対し、前記転送中止情報により規定される分割データを配信することを特徴とする請求項1から5のいずれか一項に記載のデータ配信方法。
  7. ネットワークで接続されたサーバから2台以上のクライアントにデータを配信するシステムであって、
    前記サーバにおいて、前記データを配信するクライアントを決定するクライアント決定手段と、
    前記データを分割し所定数の分割データを作成する分割データ作成手段と、
    前記決定された各々のクライアントに配信すべき前記分割データを決定すると共に、前記決定された各々のクライアントと前記決定された分割データの関係を規定するデータ配信情報を作成するデータ配信情報作成手段と、
    前記データ配信情報および当該データ配信情報により規定される前記分割データを当該分割データに対応する前記クライアントに配信するデータ配信手段を備え、
    前記クライアントにおいて、前記データ配信手段により配信された前記データ配信情報および前記分割データを受信するサーバデータ受信手段と、
    前記サーバデータ受信手段により受信した前記分割データを転送すべきクライアントである転送先クライアントを決定する転送先クライアント決定手段と、
    前記サーバデータ受信手段により受信した前記分割データを前記転送先クライアントに転送するデータ転送手段と、
    前記転送先クライアントにおいて、前記クライアントのデータ転送手段により転送された分割データを受信する転送データ受信手段と、
    前記サーバから受信した分割データおよび前記クライアントから受信した分割データから前記データ配信情報を用いて前記データを復元するデータ復元手段を備えることを特徴とするデータ配信システム。
JP2007169171A 2007-06-27 2007-06-27 データ配信方法およびデータ配信システム Pending JP2009009297A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007169171A JP2009009297A (ja) 2007-06-27 2007-06-27 データ配信方法およびデータ配信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007169171A JP2009009297A (ja) 2007-06-27 2007-06-27 データ配信方法およびデータ配信システム

Publications (1)

Publication Number Publication Date
JP2009009297A true JP2009009297A (ja) 2009-01-15

Family

ID=40324332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007169171A Pending JP2009009297A (ja) 2007-06-27 2007-06-27 データ配信方法およびデータ配信システム

Country Status (1)

Country Link
JP (1) JP2009009297A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012155689A (ja) * 2011-01-28 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> ソフトウェアイメージ配信方法およびシステム
JP5624224B2 (ja) * 2012-07-31 2014-11-12 株式会社スクウェア・エニックス データ提供システム、提供装置、実行装置、制御方法、プログラム、及び記録媒体
JP2015015022A (ja) * 2014-06-24 2015-01-22 株式会社スクウェア・エニックス コンテンツ提供システム、コンテンツ提供機器、コンテンツ再生機器、制御方法、プログラム、及び記録媒体
JP2015537306A (ja) * 2013-04-28 2015-12-24 小米科技有限▲責▼任公司Xiaomi Inc. ファイル・ダウンロード方法、ファイル・ダウンロード装置、そのシステム、プログラム及び記録媒体
WO2016088237A1 (ja) * 2014-12-04 2016-06-09 富士通株式会社 配信方法、装置、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296445A (ja) * 1998-04-14 1999-10-29 Nec Corp データ配布方法、サーバ装置、クライアント装置、及びデータ配布プログラムを記録した媒体
JP2002132613A (ja) * 2000-10-30 2002-05-10 Denso Corp ダウンロード方法およびそのダウンロード方法を実施するユーザ端末、配信サーバ
JP2003157197A (ja) * 2001-11-22 2003-05-30 Nifty Corp ダウンロード方法、ダウンロード補助方法及びコンピュータ
JP2004070712A (ja) * 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296445A (ja) * 1998-04-14 1999-10-29 Nec Corp データ配布方法、サーバ装置、クライアント装置、及びデータ配布プログラムを記録した媒体
JP2002132613A (ja) * 2000-10-30 2002-05-10 Denso Corp ダウンロード方法およびそのダウンロード方法を実施するユーザ端末、配信サーバ
JP2003157197A (ja) * 2001-11-22 2003-05-30 Nifty Corp ダウンロード方法、ダウンロード補助方法及びコンピュータ
JP2004070712A (ja) * 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012155689A (ja) * 2011-01-28 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> ソフトウェアイメージ配信方法およびシステム
JP5624224B2 (ja) * 2012-07-31 2014-11-12 株式会社スクウェア・エニックス データ提供システム、提供装置、実行装置、制御方法、プログラム、及び記録媒体
JPWO2014020641A1 (ja) * 2012-07-31 2016-07-11 株式会社スクウェア・エニックス データ提供システム、提供装置、実行装置、制御方法、プログラム、及び記録媒体
US9814979B2 (en) 2012-07-31 2017-11-14 Kabushiki Kaisha Square Enix Data provision system, provision apparatus, execution apparatus, control method, and recording medium
JP2015537306A (ja) * 2013-04-28 2015-12-24 小米科技有限▲責▼任公司Xiaomi Inc. ファイル・ダウンロード方法、ファイル・ダウンロード装置、そのシステム、プログラム及び記録媒体
US9800510B2 (en) 2013-04-28 2017-10-24 Xiaomi Inc. Method and device for downloading file
JP2015015022A (ja) * 2014-06-24 2015-01-22 株式会社スクウェア・エニックス コンテンツ提供システム、コンテンツ提供機器、コンテンツ再生機器、制御方法、プログラム、及び記録媒体
WO2016088237A1 (ja) * 2014-12-04 2016-06-09 富士通株式会社 配信方法、装置、及びプログラム

Similar Documents

Publication Publication Date Title
CN101370035B (zh) 用于动态客户端/服务器网络管理的方法以及系统
TW448656B (en) Reliable multicast for cluster communications
WO2012086919A2 (ko) 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
US9531802B2 (en) Data transmission and reception system
KR100300787B1 (ko) 브로커 구조에서 이웃들 간에 로컬 정보를 배포하기 위해 스트림을 이용하는 발행 및 인용 데이터 프로세싱 장치, 방법, 및컴퓨터 프로그램 제품
CN106657314B (zh) 跨数据中心数据同步系统及方法
JP5526137B2 (ja) 選択的データ転送ストレージ
CN101406060A (zh) 应用对等(p2p)内容分发网络延时下载视频服务
US20070150602A1 (en) Distributed and Replicated Sessions on Computing Grids
US8607233B2 (en) Web service management
JP2004246632A (ja) データ分配サーバ、プログラム及びネットワークシステム
WO2014052099A2 (en) Load distribution in data networks
JP2011041006A (ja) 負荷分散装置、負荷分散方法および負荷分散プログラム
JP2007219608A (ja) 負荷分散処理プログラム及び負荷分散装置
JP2009009297A (ja) データ配信方法およびデータ配信システム
US20120290655A1 (en) Redirecting messages in a publish/subscribe messaging system
JP3784137B2 (ja) 負荷分散システム
TW200929941A (en) Apparatus and method for transmitting streaming services
EP2823622B1 (en) A control node in an overlay network
US9936011B2 (en) Distributed database, method of sharing data, program storing medium, and apparatus for a distributed database
KR102119456B1 (ko) 분산 클라우드 환경에서의 분산 브로커 코디네이터 시스템 및 방법
CN106657195A (zh) 任务处理方法和中继设备
JP6577907B2 (ja) 通信監視装置および通信監視方法
JP2006285315A (ja) ソフトウェア構成変更方式
KR100556716B1 (ko) 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100423

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120412