JP5724154B2 - データ配信システム、データ配信のためのデータ通信装置およびプログラム - Google Patents

データ配信システム、データ配信のためのデータ通信装置およびプログラム Download PDF

Info

Publication number
JP5724154B2
JP5724154B2 JP2013104584A JP2013104584A JP5724154B2 JP 5724154 B2 JP5724154 B2 JP 5724154B2 JP 2013104584 A JP2013104584 A JP 2013104584A JP 2013104584 A JP2013104584 A JP 2013104584A JP 5724154 B2 JP5724154 B2 JP 5724154B2
Authority
JP
Japan
Prior art keywords
data
communication
distribution
data communication
communication device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013104584A
Other languages
English (en)
Other versions
JP2014225169A5 (ja
JP2014225169A (ja
Inventor
巧巳 北林
巧巳 北林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Skeed Co. Ltd.
Original Assignee
Skeed 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 Skeed Co. Ltd. filed Critical Skeed Co. Ltd.
Priority to JP2013104584A priority Critical patent/JP5724154B2/ja
Priority to EP14797775.5A priority patent/EP3012742B1/en
Priority to PCT/JP2014/058966 priority patent/WO2014185167A1/ja
Priority to US14/891,127 priority patent/US10666723B2/en
Publication of JP2014225169A publication Critical patent/JP2014225169A/ja
Publication of JP2014225169A5 publication Critical patent/JP2014225169A5/ja
Application granted granted Critical
Publication of JP5724154B2 publication Critical patent/JP5724154B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1085Resource delivery mechanisms involving dynamic management of active down- or uploading connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークを介したデータ配信技術に関する。
P2P(ピア・ツー・ピア、Peer to Peer)として知られる多数のデータ通信装置間で通信を行うアーキテクチャが普及している。P2Pにおいては、複数のデータ通信装置がサーバおよびクライアントの区別なく、互いに他のデータ通信装置と直接通信を行い、他のデータ通信装置が記憶しているデータを受信するとともに、自機が記憶しているデータを他のデータ通信装置に送信する。その結果、データの配信元のデータ通信装置からデータの配信先のデータ通信装置に対し、複数のデータ通信装置を介したデータの配信が行われる。
P2Pを利用したデータ配信技術を提案する特許文献として、例えば特許文献1〜3がある。特許文献1には、複数の受信装置の伝送能力に関する情報をそれらの複数の受信装置から受信し、受信した伝送能力に関する情報に基づき推定される利用可能な帯域に基づいて複数の受信装置を複数のクラスに分類し、クラス毎に推定される利用可能な帯域が高い順に並び替えることで、特定の配信元から特定の配信先へのユニキャスト経路を決定する仕組みが提案されている。なお、特許文献1においては、所定時間経過毎に複数の受信装置の伝送能力に関する情報を再取得し、決定したユニキャスト経路の再決定が行われてもよい点が記載されている。
特許第4598073号公報
例えば、本店から複数の支店に対し、同じデータ(配信対象データ)を配信したい場合がある。そのための方法として、まず、本店にデータの配信元となる配信サーバ装置を設け、配信サーバ装置から各支店の端末装置に対し配信対象データを送信することが考えられる。この方法による場合、支店の数が多いと、配信サーバ装置のデータ送信能力がボトルネックとなり、各支店の端末装置に対する配信対象データの配信に長時間を要する、という問題が生じる。
上記の問題を軽減する方法として、負荷分散サーバ装置と複数の配信サーバ装置を設け、複数のサーバ装置の各々が負荷分散サーバ装置から割り当てられた端末装置に対し同時平行して同じ配信対象データを送信することが考えられる。この方法による場合、複数のサーバ装置を準備し管理する必要があり、コスト高となる。
上記の事情に鑑み、本発明は、配信元のデータ通信装置から複数の配信先のデータ通信装置に対し同じ配信対象データを、高速かつ低コストで配信する手段を提供することを目的とする。
上記の課題を解決するため、本発明は、配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置と、前記複数の配信データ通信装置の間のデータの送信経路を管理するデータ通信装置である管理データ通信装置とを備え、前記管理データ通信装置は、前記複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する受信手段と、予め定められた条件が満たされる毎に、前記受信手段により受信された通信状態データおよび記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの1以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する決定手段と、前記決定手段による決定に従い、前記複数の配信データ通信装置の各々に対し、当該配信データ通信装置の通信相手を示す通信相手データを送信する送信手段とを備え、前記複数の配信データ通信装置の各々は、少なくとも前記管理データ通信装置から自機に宛てて送信された自機の通信相手を示す通信相手データを受信する受信手段と、少なくとも前記管理データ通信装置にデータを送信する送信手段と、自機の前記送信手段および前記受信手段の少なくとも一方に、自機の前記受信手段により受信された通信相手データが示す通信相手との間の前記配信対象データの少なくとも一部の送信または受信を指示する指示手段と、自機の前記受信手段が前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する記憶手段と、前記配信対象データのうち自機の前記記憶手段に記憶されているデータの量を示す記憶済みデータ量データを生成し、自機の前記送信手段および前記受信手段の少なくとも一方が自機の前記指示手段の指示に従い前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する生成手段とを備え、前記複数の配信データ通信装置の各々の前記送信手段は、予め定められた条件が満たされる毎に、自機の前記生成手段により生成された通信状態データおよび記憶済みデータ量データを前記管理データ通信装置に送信するデータ配信システムを提供する。
上記のデータ配信システムにおいて、前記複数の配信データ通信装置の各々は、自機の前記受信手段により受信された通信相手データが複数の通信相手を示す場合、自機の前記生成手段により生成された通信状態データに基づき、予め定められた規則に従い、当該通信相手データが示す複数の通信相手のなかから1以上の通信相手を選択する選択手段を備え、前記指示手段は、自機の前記選択手段により選択された1以上の通信相手との間の前記配信対象データの少なくとも一部の送信または受信を自機の前記送信手段または前記受信手段に指示する、という構成としてもよい。
また、本発明は、配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する受信手段と、予め定められた条件が満たされる毎に、前記受信手段により受信された通信状態データおよび記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの1以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する決定手段と、前記決定手段による決定に従い、前記複数の配信データ通信装置の各々に対し、当該配信データ通信装置の通信相手を示す通信相手データを送信する送信手段とを備えるデータ通信装置を提供する。
また、本発明は、少なくとも、複数のデータ通信装置の間で送受信される配信対象のデータである配信対象データの送信経路を管理するデータ通信装置である管理データ通信装置から通信相手を示す通信相手データを受信する受信手段と、少なくとも、前記管理データ通信装置にデータを送信する送信手段と、前記送信手段および前記受信手段の少なくとも一方に、前記受信手段により受信された通信相手データが示す通信相手との間の前記配信対象データの少なくとも一部の送信または受信を指示する指示手段と、前記受信手段が前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する記憶手段と、前記配信対象データのうち前記記憶手段に記憶されているデータの量を示す記憶済みデータ量データを生成し、前記送信手段および前記受信手段の少なくとも一方が前記指示手段の指示に従い前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する生成手段とを備え、前記送信手段は、予め定められた条件が満たされる毎に、前記生成手段により生成された通信状態データおよび記憶済みデータ量データを前記管理データ通信装置に送信するデータ通信装置を提供する。
上記のデータ通信装置において、前記受信手段により受信された通信相手データが複数の通信相手を示す場合、前記生成手段により生成された通信状態データに基づき、予め定められた規則に従い、当該通信相手データが示す複数の通信相手のなかから1以上の通信相手を選択する選択手段を備え、前記指示手段は、前記選択手段により選択された1以上の通信相手との間の前記配信対象データの少なくとも一部の送信または受信を前記送信手段または前記受信手段に指示する、という構成としてもよい。
また、本発明は、他のデータ通信装置との間でデータ通信を行う通信手段を備えたコンピュータに、配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する処理と、予め定められた条件が満たされる毎に、受信した前記通信状態データおよび前記記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの1以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する処理と、前記複数の配信データ通信装置の各々に対し、決定した当該配信データ通信装置の通信相手を示す通信相手データを送信する処理とを実行させるためのプログラムを提供する。
また、本発明は、他のデータ通信装置との間でデータ通信を行う通信手段を備えたコンピュータに、少なくとも、複数のデータ通信装置の間で送受信される配信対象のデータである配信対象データの送信経路を管理するデータ通信装置である管理データ通信装置から通信相手を示す通信相手データを受信する処理と、受信した前記通信相手データが示す通信相手との間で前記配信対象データの少なくとも一部の送信または受信を行う処理と、前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する処理と、前記配信対象データのうち記憶しているデータの量を示す記憶済みデータ量データを生成する処理と、前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する処理と、予め定められた条件が満たされる毎に、生成した前記通信状態データおよび前記記憶済みデータ量データを前記管理データ通信装置に送信する処理とを実行させるためのプログラムを提供する。
上記のプログラムを、前記コンピュータに、受信した前記通信相手データが複数の通信相手を示す場合、生成した前記通信状態データに基づき、予め定められた規則に従い、前記通信相手データが示す複数の通信相手のなかから1以上の通信相手を選択する処理を実行させ、前記配信対象データの少なくとも一部の送信または受信を行う処理において、選択した前記1以上の通信相手との間で前記配信対象データの少なくとも一部の送信または受信を行う処理を実行させるためのプログラムとして構成してもよい。
本発明によれば、例えば所定の時間の経過などの予め定められた条件が満たされる毎に、複数の配信データ通信装置の各々から管理データ通信装置に対し、通信相手毎の通信速度を示す通信状態データと、配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データが送信される。そして、管理データ通信装置において各配信データ通信装置に関する通信状態データと記憶済みデータ量データに基づき、各配信データ通信装置の通信相手が決定される。各配信データ通信装置は、そのように管理データ通信装置により決定される通信相手との間で配信対象データの送受信を行う。
なお、配信対象データの配信先のデータ通信装置は、配信対象データの送受信を行う複数の配信データ通信装置に含まれており、少なくともその一部は、配信対象データを受信するとともに、受信済みの配信対象データを他のデータ通信装置に送信する。
管理データ通信装置は、例えば配信対象データのうち記憶しているデータの量が多い配信データ通信装置をデータの配信経路の上流側に配置し、記憶しているデータの量が少ない配信データ通信装置をデータの配信経路の下流側に配置する、という具合に、配信データ通信装置の配置を予め定められた規則に従い、適宜変更する。その結果、配信対象データの配信の開始から配信先のデータ通信装置の全てに対する配信対象データの配信の完了までに要する時間が短縮される。その際、負荷分散サーバ装置や複数の配信サーバ装置を設ける必要がなく、コスト高とならない。
一実施形態にかかるデータ配信システムの全体構成を示した図である。 一実施形態にかかる管理データ通信装置、配信元データ通信装置および配信先データ通信装置のハードウェア構成を示したブロック図である。 一実施形態にかかる管理データ通信装置の機能構成を示したブロック図である。 一実施形態にかかる管理データ通信装置により配信データ通信装置の大域的な配置が決定される様子を示した図である。 一実施形態にかかる通信状態データおよび記憶済みデータ量データのデータ構成を例示した図である。 一実施形態にかかる管理データ通信装置により配信データ通信装置の大域的な配置が決定される様子を示した図である。 一実施形態にかかる管理データ通信装置により決定された配信データ通信装置の大域的な配置を例示した図である。 一実施形態にかかる配信元データ通信装置の機能構成を示したブロック図である。 一実施形態にかかる配信先データ通信装置の機能構成を示したブロック図である。 一実施形態にかかるデータ配信システムの動作を示したフロー図である。 一変形例にかかる管理データ通信装置により決定された配信データ通信装置の大域的な配置を例示した図である。
[実施形態]
以下に、本発明の一実施形態にかかるデータ配信システム1の構成および動作を説明する。図1は、データ配信システム1の全体構成を示した図である。データ配信システム1は、配信元データ通信装置12から複数の配信先データ通信装置13、すなわち、配信先データ通信装置13−1、配信先データ通信装置13−2、・・・、配信先データ通信装置13−n(ただし、nは任意の自然数)に対し、配信対象データを配信するシステムである。
データ配信システム1においては、配信先データ通信装置13の各々が、配信元データ通信装置12または他の配信先データ通信装置13から受信した配信対象データの少なくとも一部を他の配信先データ通信装置13にバケツリレー式に配信する。すなわち、配信先データ通信装置13は配信対象データの少なくとも一部に関し、配信元のデータ通信装置として機能する。本願においては、配信元データ通信装置12と配信先データ通信装置13を総称して「配信データ通信装置」を呼ぶ。
データ配信システム1においては、配信対象データが複数のブロックに分割されて、ブロック単位で、基本的に配信対象データの先頭側から末尾側に向かう順序で、一の配信データ通信装置から他の配信データ通信装置へと送信される。
また、データ配信システム1においては、配信対象データの配信に要する時間を短縮するために、配信対象データの配信経路(バケツリレーの経路)を構成する配信先データ通信装置13の「大域的な」配置が「動的」に変更される。
ここで「動的」とは、配信先データ通信装置13の各々の受信済みブロックの数量や配信先データ通信装置13が他の配信データ通信装置との間で行うブロックの送受信における通信速度の変化に応じて、配信先データ通信装置13の「大域的な」配置が適宜変更される、という意味である。
また、「大域的な」配置とは、自由度を伴う配置であることを意味する。データ配信システム1においては、配信先データ通信装置13の一部は、大域的な配置によって複数の通信相手との間の通信が許可される。そして、配信先データ通信装置13は複数の通信相手の中から自律的に、例えば通信速度が速い通信相手を選択し、選択した通信相手と通信を行い、他の通信相手とは通信を行わないこともできる。従って、配信対象データの配信経路は大域的な配置によっては一義的に定まらない。
上述した配信先データ通信装置13の大域的な配置を決定する装置として、データ配信システム1は管理データ通信装置11を備えている。
管理データ通信装置11、配信元データ通信装置12および配信先データ通信装置13はいずれも、他のデータ通信装置との間でネットワークを介したデータ通信を行う通信手段を備えた一般的なコンピュータに、本実施形態にかかるアプリケーションプログラムに従った処理を実行させることにより実現される。
図2は、管理データ通信装置11、配信元データ通信装置12および配信先データ通信装置13の各々のハードウェア構成を示したブロック図である。すなわち、管理データ通信装置11、配信元データ通信装置12および配信先データ通信装置13の各々は、ハードウェアとしてはコンピュータ10で構成される。コンピュータ10は、OSやアプリケーションプログラム等のプログラムに従い各種演算を行うとともに他の構成部を制御するCPU101と、上記プログラム及び各種データを記憶するメモリ102と、他のデータ通信装置との間で各種データの送受信を行うインタフェース(Interface)である通信I/F103を備えている。
図3は、管理データ通信装置11の機能構成を示したブロック図である。すなわち、管理データ通信装置11のハードウェアであるコンピュータ10は、本実施形態にかかる管理データ通信装置11用のアプリケーションプログラムに従う処理を実行することにより、図3に示す構成部を備える装置として機能する。
管理データ通信装置11は、配信先データ通信装置13の大域的な配置を決定する決定手段111と、決定手段111により決定された大域的な配置に従い配信データ通信装置の各々に関し生成された通信相手を示す通信相手データを配信データ通信装置の各々に送信する送信手段112と、送信手段112により送信された通信相手データに従い配信データ通信装置の各々が行った通信における通信相手毎の通信速度を示す通信状態データを配信データ通信装置の各々から受信する受信手段113を備える。
図4は、配信先データ通信装置13の数が6つの場合を例として、決定手段111により配信先データ通信装置13の大域的な配置が決定される様子を示した図である。なお、図4において、丸は配信データ通信装置を示している。
決定手段111は、新たな配信対象データの配信の開始時において、受信手段113により記憶済みデータ量データおよび通信状態データがまだ受信されていない場合、図4(a)に示されるように、配信先データ通信装置13をランダムに一列に並べて配置する。なお、図4(a)の例では、ランダムに配置された結果、配信先データ通信装置13−1〜6がその順で配信対象データの配信経路の上流から下流(以下、「上流」「下流」という場合、配信対象データの配信される方向の上流、下流を意味する)へと並んでいるが、この段階ではこの順序に特段の意味はない。
続いて決定手段111は、一列に並べて配置した配信先データ通信装置13に対し、図4(b)に矢印で示されるような、配信データ通信装置間のデータの送受信の経路を決定する。図4(b)の例は、決定手段111が、配信先データ通信装置13の各々は、自機に対し上流側に隣接する配信データ通信装置と、さらにその配信データ通信装置に対し上流側に隣接する配信データ通信装置との2つの配信データ通信装置からデータを受信する、という所定の規則に従い決定した送受信の経路である。(ただし、上流側または下流側に該当する配信データ通信装置がない場合は、その部分の通信相手は不在となる。)
決定手段111は、上記のように決定した送受信の経路に従い、配信データ通信装置の各々に関し、通信相手を示す通信相手データを生成する。図4(c)は図4(b)に示される配信先データ通信装置13−2に関し生成される通信相手データを例示した図である。図4(c)に示されるように、通信相手データは通常、受信元の配信データ通信装置のIPアドレスと送信先の配信データ通信装置のIPアドレスを各々1以上含んでいる。ただし、例えば図4(b)の配信先データ通信装置13−6のように、最下流側に配置された配信先データ通信装置13に関する通信相手データには、送信先の配信データ通信装置のIPアドレスは含まれない。また、最上流側に配置される配信元データ通信装置12に関する通信相手データには、受信元の配信データ通信装置のIPアドレスは含まれない。
決定手段111により上記のように生成された通信相手データは、送信手段112により配信元データ通信装置12および配信先データ通信装置13の各々に対し送信される。配信元データ通信装置12および配信先データ通信装置13の各々は、管理データ通信装置11から送信されてくる通信相手データに示される通信相手との間でブロックの送受信を開始する。
その後、所定時間が経過すると、配信元データ通信装置12からは通信状態データが、また配信先データ通信装置13の各々からは通信状態データと記憶済みデータ量データが管理データ通信装置11に対し送信されてくる。受信手段113は配信データ通信装置の各々から送信されてくるこれらのデータを受信する。
図5は、通信状態データ(図5(a))および記憶済みデータ量データ(図5(b))のデータ構成を例示した図である。図5(a)に示すように、通信状態データは通信相手(受信元の配信データ通信装置および送信先の配信データ通信装置)の各々に関し、直近の所定時間内における平均通信速度を示すデータである。ただし、配信先データ通信装置13が自律的な選択により通信を行わなかった通信相手との通信に関しては、通信状態データは例えばNull値を示す。また、図5(b)に示すように、記憶済みデータ量データは配信対象データの総ブロック数に対する受信が完了したブロック数の比率(%)を示すデータである。
受信手段113により受信された通信状態データおよび記憶済みデータ量データは、決定手段111に引き渡され、新たな大域的な配置の決定(通信相手データの生成)に利用される。具体的には、決定手段111は通信状態データおよび記憶済みデータ量データが示す配信元データ通信装置12および配信先データ通信装置13の通信状態や、配信先データ通信装置13に既に記憶されている配信対象データのブロックの数の多少に基づき、以下に示す規則に従い、配信先データ通信装置13の大域的な配置を決定する。図6は、決定手段111により通信状態データおよび記憶済みデータ量データに基づき大域的な配置を決定される様子を示した図である。
(1)送信先との通信速度が速い配信先データ通信装置13程、上流側に配置する。
(2)記憶済みのブロックの数が多い配信先データ通信装置13程、上流側に配置する。
(3)受信元との通信速度が速い配信先データ通信装置13程、上流側に配置する。
具体的には、例えば、決定手段111は、送信先との通信速度が速い程、その配信先データ通信装置13に高いスコアを付与し、記憶済みのブロックの数が多い程、その配信先データ通信装置13に高いスコアを付与し、受信元との通信速度が速い程、その配信先データ通信装置13に高いスコアを付与し、(1)〜(3)の重要度に応じたウェイトをそれらのスコアに乗じて加算することで、配信先データ通信装置13の配信能力の指標を算出する。決定手段111は算出した指標が高い順に、上流から下流へと配信先データ通信装置13を配置する。図6(a)はそのように決定された配信先データ通信装置13の配置を例示した図である。
例えば、図6(a)の例では、配信先データ通信装置13−5および配信先データ通信装置13−2は共に、経路の末端に配置されている。これは、これらの配信先データ通信装置13がデータのリレーを許可されていない(通信状態データが示す送信先の通信速度が0bps)か、もしくは何らかの通信障害によりこれらの配信先データ通信装置13から送信されるデータの通信速度が極めて遅かったため、決定手段111がこれらの配信先データ通信装置13を、専らブロックを受信する配信先データ通信装置13として経路の末端に配置したためである。
続いて、決定手段111は、上記のように配置を決定した配信先データ通信装置13に対し、図6(b)に矢印で示されるような、配信データ通信装置間のデータの送受信の経路を決定する。その際、決定手段111は、受信元となる配信データ通信装置の送信速度の合計と、送信先となる配信先データ通信装置13の受信速度の合計との差が小さくなるように、経路(矢印)の位置や数を決定する。その結果、配信先データ通信装置13の各々に割り当てられる通信相手(受信元および送信先の配信データ通信装置)の数やその相対的な位置関係は、互いに異なったものとなり得る。
決定手段111は、上記のように決定した送受信の経路に従い、配信データ通信装置の各々に関し、通信相手を示す通信相手データを生成する。図6(c)は図6(b)に示される配信先データ通信装置13−4に関し生成される通信相手データを例示した図である。決定手段111により生成された通信相手データは、上述したように、送信手段112により配信データ通信装置の各々に送信される。
その後、受信手段113は通信状態データおよび記憶済みデータ量データの受信を、決定手段111は通信相手データの生成を、送信手段112は通信相手データの送信を、配信対象データの配信が完了するまで繰り返し実行する。
ところで、配信対象データの配信が開始された後、配信データ通信装置間のブロックの送受信が進行すると、全てのブロックの受信を完了した配信先データ通信装置13が現れ始める。全てのブロックの受信を完了した配信先データ通信装置13はもはやブロックを受信する必要はなく、配信元データ通信装置12と同様に、専ら、まだ全てのブロックの受信を完了していない他の配信先データ通信装置13に対しブロックを送信する役割を果たす。
図7は、全てのブロックの受信を完了した配信先データ通信装置13が現れた状態において決定手段111により決定される配信先データ通信装置13の大域的な配置および配信データ通信装置間の送受信の経路を例示した図である。図7の例においては、配信先データ通信装置13−1と配信先データ通信装置13−3が全てのブロックの受信を完了し、配信先データ通信装置13−1は配信先データ通信装置13−6と配信先データ通信装置13−2に対し、配信先データ通信装置13−3は配信先データ通信装置13−5に対し、専らブロックの送信を行う役割を果たしている。
以上が管理データ通信装置11の機能構成の説明である。続いて、配信元データ通信装置12および配信先データ通信装置13の機構構成を説明する。
図8は、配信元データ通信装置12の機能構成を示したブロック図である。すなわち、配信元データ通信装置12のハードウェアであるコンピュータ10は、本実施形態にかかる配信元データ通信装置12用のアプリケーションプログラムに従う処理を実行することにより、図8に示す構成部を備える装置として機能する。
配信元データ通信装置12は、機能構成部として、配信対象データの配信の開始時において配信対象データの全てのブロックを予め記憶する記憶手段121と、管理データ通信装置11から通信相手データを受信する受信手段122と、受信手段122により受信された通信相手データが示す送信先の配信先データ通信装置13にブロックの送信を指示する指示手段123と、指示手段123の指示に従い記憶手段121から送信対象のブロックを読み出して配信先データ通信装置13に送信する送信手段124と、送信手段124によるブロックの送信における通信速度を通信相手毎に監視し通信状態データを生成する生成手段124を備える。送信手段124はブロックの配信先データ通信装置13に対する送信に加え、生成手段124により生成された通信状態データの管理データ通信装置11に対する送信も行う。
図9は、配信先データ通信装置13の機能構成を示したブロック図である。すなわち、配信先データ通信装置13のハードウェアであるコンピュータ10は、本実施形態にかかる配信先データ通信装置13用のアプリケーションプログラムに従う処理を実行することにより、図9に示す構成部を備える装置として機能する。
配信先データ通信装置13は、機能構成部として、管理データ通信装置11から通信相手データを受信するとともに他の配信データ通信装置から配信対象データのブロックを受信する受信手段131と、受信手段131により受信されたブロックを記憶する記憶手段132と、記憶手段132に記憶されているブロックを他の配信データ通信装置に送信する送信手段133を備える。
また、配信先データ通信装置13は、受信手段131によるブロックの受信および送信手段133によるブロックの送信における通信速度を通信相手毎に監視し通信状態データを生成するとともに、記憶手段132に記憶済みのブロックの数を配信対象データの全ブロックの数(例えば受信手段131を介して管理データ通信装置11から取得)で除して記憶済みデータ量データを生成する生成手段134と、受信手段131により受信された通信相手データが示す通信相手の中から生成手段134により生成された通信状態データに基づき実際に通信を行う通信相手を選択する選択手段136を備える。選択手段136は、例えば通信状態データが示す通信速度が閾値以上の通信相手を、実際に通信を行う通信相手として選択する。
さらに、配信先データ通信装置13は、通信相手データが示す受信元の配信データ通信装置のうち選択手段136により選択された配信データ通信装置からのブロックの受信を受信手段131に指示するとともに、通信相手データが示す送信先の配信先データ通信装置13のうち選択手段136により選択された配信先データ通信装置13に対するブロックの送信を送信手段133に指示する指示手段136を備える。
なお、配信データ通信装置間におけるブロックの送受信は、例えば送信先(下流側)の配信データ通信装置が受信元(上流側)の配信データ通信装置に対しブロックの送信要求を行い、受信元の配信データ通信装置が要求されたブロックを記憶していれば当該ブロックを送信先の配信データ通信装置に送信する、という手順により行われる。
図10は、上述した構成を備えるデータ配信システム1が配信対象データの配信を行う際の動作を示したフロー図である。なお、配信元データ通信装置12には、予め配信対象データの全ブロックが記憶されているものとする。
まず、管理データ通信装置11は配信先データ通信装置13の大域的な配置を決定する(ステップS001)。続いて、管理データ通信装置11は、大域的に配置した配信データ通信装置間の送受信の経路を決定する(ステップS002)。なお、最初に行われるステップS001においては、管理データ通信装置11はランダムに大域的な配置の決定を行う。また、最初に行われるS002においては、管理データ通信装置11は配信先データ通信装置13の各々が上流側に隣接する2つの配信データ通信装置からデータを受信する、といった単純な規則に従い配信データ通信装置間の送受信の経路を決定する。
続いて、管理データ通信装置11は決定した経路に従い、配信データ通信装置の各々に関する通信相手データを生成する(ステップS003)。続いて、管理データ通信装置11は生成した通信相手データを配信データ通信装置の各々に送信する(ステップS004)。
配信データ通信装置の各々は、管理データ通信装置11から送信されてくる通信相手データを受信すると、通信相手データに示される通信相手との間でブロックの送受信を開始し(ステップS005)、受信したブロックを記憶する(ステップS006)。(ただし、配信元データ通信装置12はブロックの受信および記憶は行わない。)
配信データ通信装置の各々は、ステップS005およびS006の処理と平行して、通信相手毎の通信速度を監視するとともに(ステップS007)、所定時間が経過したか否かの判定を継続的に繰り返す(ステップS008)。ステップS008の判定において所定時間が経過したと判定した場合(ステップS008:Yes)、配信データ通信装置は記憶済みデータ量データおよび通信状態データを生成し(ステップS009)、生成したそれらのデータを管理データ通信装置11に送信する(ステップS010)。
管理データ通信装置11は、ステップS004の実行の後、所定時間が経過したか否かの判定を継続的に繰り返す(ステップS011)。その間、配信データ通信装置の各々から送信されてくる記憶済みデータ量データおよび通信状態データを受信する。ステップS011の判定において所定時間が経過したと判定した場合(ステップS011:Yes)、管理データ通信装置11は続いて、受信した記憶済みデータ量データに基づき、全ての配信先データ通信装置13が全てのブロックの受信を完了したか否かを判定する(ステップS012)。1つでも100%に達していない値を示す記憶済みデータ量データがあれば、管理データ通信装置11は配信対象データの配信が完了していないと判定し(ステップS012:No)、処理をステップS001に戻す。
2回目以降に行われるステップS001の処理においては、管理データ通信装置11は配信データ通信装置の各々から受信した記憶済みデータ量データおよび通信状態データに基づき、大域的な配置の決定を行う。また、それに続く2回目以降に行われるステップS002の処理においては、管理データ通信装置11は配信データ通信装置の各々から受信した記憶済みデータ量データおよび通信状態データに基づき、配信データ通信装置間の送受信の経路を決定する。その後、ステップS003以降の処理が繰り返される。
ステップS012において、全ての記憶済みデータ量データが100%を示す場合、管理データ通信装置11は配信対象データの配信が完了した判定する(ステップS012:Yes)。この場合、データ配信システム1は一連の配信対象データの配信のための処理を終了する。
上述したデータ配信システム1によれば、配信データ通信装置の各々における既に記憶しているブロックの数量と、通信相手毎の通信状態とに応じて、配信先データ通信装置13の大域的な配置と、その配置に従った配信データ通信装置間の送受信の経路が動的に決定される。そのため、複数の配信先データ通信装置13に対する同じ配信対象データの配信が高速に行われる。また、データ配信システム1は負荷分散サーバ装置や複数の配信サーバ装置を備えないため、低コストで実現可能である。
さらに、データ配信システム1においては、配信先データ通信装置13が管理データ通信装置11により決定された通信相手のうち、例えば通信速度が閾値以上に速い通信相手とのみ通信を行う、という具合に、自律的に自機の配信対象データの配信における効率の向上を図る構成となっており、そのように向上された効率が通信状態データに反映されて大域的な配置や配信データ通信装置の送受信の経路の決定にフィードバックされる。その結果、より高速な配信対象データの配信が行われる。
[変形例]
上述した実施形態は本発明の技術的思想の範囲内において様々に変形することができる。以下にそれらの変形の例を示す。
[第1変形例]
この変形例においては、上述したデータ配信システム1に対し、自らは配信対象データの配信先ではないが、配信対象データの全てのブロックもしくはそれらの一部を記憶しており、専ら配信先データ通信装置13に対し自機が記憶しているブロックの送信を行うデータ通信装置が導入される。なお、以下の説明において、この専ら配信先データ通信装置13に対し自機が記憶しているブロックの送信を行うデータ通信装置を「配信支援データ通信装置14」という。また、配信元データ通信装置12、配信先データ通信装置13および配信支援データ通信装置14を総称して「配信データ通信装置」という。
配信支援データ通信装置14は、例えば、現在の配信対象データの配信先ではないが、過去に同じ配信対象データの配信先(配信先データ通信装置13)であったために、その配信対象データのブロックを記憶しているデータ通信装置である。従って、配信支援データ通信装置14の構成は配信先データ通信装置13の構成と同様である。
この変形例において、決定手段111は、配信支援データ通信装置14を、例えば以下に示す規則に従い並び替える。
(1)送信先との通信速度が速い配信支援データ通信装置14程、上流側に配置する。
(2)記憶済みのブロックの数が多い配信支援データ通信装置14程、上流側に配置する。
具体的には、例えば、決定手段111は、送信先との通信速度が速い程、その配信支援データ通信装置14に高いスコアを付与し、記憶済みのブロックの数が多い程、その配信支援データ通信装置14に高いスコアを付与し、(1)および(2)の重要度に応じたウェイトをそれらのスコアに乗じて加算することで、配信支援データ通信装置14の配信能力の指標を算出する。決定手段111は算出した指標が高い順に、上流から下流へと配信支援データ通信装置14を配置する。
決定手段111は、上記のように並び替えた配信支援データ通信装置14を、大域的に配置された配信先データ通信装置13に対し、例えば上流側から順に配置し、配信データ通信装置間の送受信の経路を決定する。その際、決定手段111は、受信元となる配信データ通信装置の送信速度の合計と、送信先となる配信先データ通信装置13の受信速度の合計との差が小さくなるように、経路の位置や数を決定する。
図11は、配信支援データ通信装置14が導入された場合に決定手段111により決定される配信先データ通信装置13の大域的な配置および配信データ通信装置間の送受信の経路を例示した図である。図11の例においては、配信支援データ通信装置14−1が配信先データ通信装置13−1と配信先データ通信装置13−2の受信元の配信データ通信装置として配置され、配信支援データ通信装置14−2が配信先データ通信装置13−3と配信先データ通信装置13−4の受信元の配信データ通信装置として配置されている。
この変形例によれば、配信支援データ通信装置14の支援により、ブロックの送信元が増えるため、データ配信システム1における配信対象データの配信がより高速に行われる。
[第2変形例]
この変形例においては、上述したデータ配信システム1に対し、自らは配信対象データの配信先ではないが、データの配信能力が高いデータ通信装置が、純粋にデータ配信システム1における配信対象データの配信速度を速める目的で導入される。以下、この純粋にデータ配信システム1における配信対象データの配信速度を速める目的で導入されるデータ通信装置を「中継データ通信装置15」という。また、配信元データ通信装置12、配信先データ通信装置13および中継データ通信装置15を総称して「配信データ通信装置」という。
中継データ通信装置15は、配信先データ通信装置13と比較してデータの配信能力が高い(潜在的な送信速度および受信速度が速い)点を除き、配信先データ通信装置13と同様の構成を備えるデータ通信装置である。
中継データ通信装置15は、例えば管理データ通信装置11に対し、自機が中継データ通信装置15であることを通知し、管理データ通信装置11の決定手段111はその通知に従い、配信先データ通信装置13の大域的な配置の決定において、中継データ通信装置15を配信先データ通信装置13の上流側に配置した後、配信データ通信装置間の送受信の経路の決定を行う。
この変形例によれば、中継データ通信装置15により、上流側におけるブロックの送信能力が向上されるため、データ配信システム1における配信対象データの配信がより高速に行われる。
[その他の変形例]
(1)上述の実施形態においては、ブロックは配信対象データにおける順序に従い配信データ通信装置間で送受信されるものとしたが、下流側の配信データ通信装置において受信したブロックを正しい順序でアセンブリして配信対象データを再構築することができる限り、ブロックの送信の順序はいずれの順序であってもよい。
(2)上述の実施形態においては、記憶済みデータ量データは配信データ通信装置の全ブロックの数に対する記憶済みのブロックの数の比率(%)を示すものとしたが、記憶済みデータ量データは配信対象データのうち記憶済みのデータの量を示すデータであれば他の数値を示すものであってもよい。例えば、記憶済みデータ量データは、配信先データ通信装置13に記憶されているブロックの数そのものを示すデータや、配信対象データの全ビット数に対する配信先データ通信装置13に記憶されている配信対象データの一部(または全部)のビット数の比率を示すデータ等であってもよい。
(3)上述の実施形態においては、配信元データ通信装置12および配信先データ通信装置13は所定時間の経過をトリガとして、記憶済みデータ量データや通信状態データを生成し、管理データ通信装置11に送信する構成としているが、記憶済みデータ量データや通信状態データの生成および送信のトリガは所定時間の経過に限られず、他の条件が満たされたことをもってそのトリガとしてもよい。例えば、配信先データ通信装置13の各々が、予め定められた量のデータを受信する毎に記憶済みデータ量データおよび通信状態データを管理データ通信装置11に送信するように構成してもよい。
(4)上述の実施形態においては、通信状態データは、前回の通信状態データの生成の後、新たな通信状態データの生成の時点までに観測された通信速度を示すデータとしたが、通信状態データが示す通信速度はこれに限られない。例えば、前回に通信状態データを生成したタイミング以前の期間を含む所定の期間内における通信速度を示すデータを通信状態データとしてもよい。また、例えば現時点に近いタイミングにおける通信速度に大きいウェイトを割り当て、現時点より遠い(古い)タイミングにおける通信速度に小さいウェイトを割り当て、それらを加重平均する等により、過去の所定期間における通信速度の代表値を算出し、その代表値を示すデータを通信状態データとしてもよい。
(5)上述した実施形態においては、互いに通信が行われる上流側の配信データ通信装置の通信状態データと、下流側の配信データ通信装置の通信状態データに、各々の送信先と受信元の欄に同じ通信速度を示すデータが含まれる。従って、通信状態データがこれらの一方のみ(例えば、送信先の欄のデータのみ)を示す構成としてもよい。
(6)上述した実施形態においては、大域的な配置において配信先データ通信装置13が一列に並べられるものとしたが、大域的な配置の形状は一列に限られず、例えば複数列や複数の枝に分岐する形状や、網の目のような形状など、他の形状を採用してもよい。
(7)上述した実施形態においては、決定手段111が最初の大域的な配置の決定を行う際、配信先データ通信装置13の順序をランダムに決定するものとしたが、例えば決定手段111が、配信データ通信装置のIPアドレスに基づき、配信データ通信装置の間のネットワーク上における距離を推定し、距離が近いと推定されるデータ通信装置が互いに隣接または近接するように大域的な配置を決定するなど、決定手段111が特定の規則に従って配信先データ通信装置13の大域的な配置を決定するように構成してもよい。
(8)決定手段111が最初の大域的な配置の決定を行う際、過去に例えば他の配信対象データの配信において管理データ通信装置11が配信データ通信装置から受信した通信状態データが利用可能であれば、配信先データ通信装置13の順序をランダムに決定する代わりに、過去に受信した通信状態データに基づき、配信先データ通信装置13の大域的な配置決定する構成としてもよい。
(9)上述した実施形態においては、管理データ通信装置11と配信元データ通信装置12が個別な装置であるものとしたが、管理データ通信装置11と配信元データ通信装置12が同じ筐体内に配置された装置として構成されてもよい。
(10)上述した実施形態においては、配信元データ通信装置12は1つであるものとしたが、データ配信システム1が配信元データ通信装置12を複数備えてもよい。その場合、複数の配信元データ通信装置12から同時並行して配信対象データの配信が開始されるため、配信対象データの配信がより高速に行われる。
(11)上述した実施形態においては、管理データ通信装置11、配信元データ通信装置12および配信先データ通信装置13は各々、一般的なコンピュータに本実施形態にかかるアプリケーションプログラムに従った処理を実行させることにより実現されるものとしたが、これらの装置の1以上を、いわゆる専用機として構成してもよい。
(12)上述した実施形態において示した、大域的な配置の決定に用いられる規則はあくまで一例であって、他の規則がこれらに加えて、もしくはこれらに代えて、大域的な配置の決定に用いられてもよい。
(13)上述した実施形態においては、管理データ通信装置11により、配信データ通信装置の通信相手が受信元と送信先に区別されて指定されるものとしている。これに代えて、管理データ通信装置11は受信元と送信先の区別なく、配信データ通信装置の各々に許可する通信相手を指定する構成としてもよい。その場合、配信データ通信装置は管理データ通信装置11により指定された通信相手との間で、ブロックの送信、受信の両方を行うことができる。なお、配信データ通信装置は指定された通信相手との間で行った通信の通信速度を、受信と送信の各々に関し示す通信状態データを生成する。この変形例においては、例えば大域的な配置において下流側の配信先データ通信装置13が上流側の配信先データ通信装置13よりも先に多くのブロックを受信し記憶した場合に、上流側の配信先データ通信装置13が下流側の配信先データ通信装置13からブロックを受信することも許可されるため、配信対象データの配信がより高速に行われる。
(14)上述した実施形態の説明において、通信相手データは通常、受信元の配信データ通信装置のIPアドレスと送信先の配信データ通信装置のIPアドレスを含む旨を述べた。通信相手データに含まれるデータは通信相手の通信装置のIPアドレスに限られず、ネットワーク上で通信相手のノードを特定可能とするデータであれば如何なるフォーマットのデータが含まれてもよい。また、通信相手データが、通信相手のノードを特定可能とするためのデータに加え、例えば通信プロトコルを示す識別子や、当該通信プロトコルにおけるポート番号等の通信装置間の通信に要するデータを含む構成が採用されてもよい。通信相手データがこれらのデータを含むように構成すれば、別途、通信装置間でこれらのデータの授受の処理を行うことを要さず、好都合である。
(15)上述した実施形態の説明において、配信データ通信装置間におけるブロックの送受信は、例えば、送信先(下流側)の配信データ通信装置が受信元(上流側)の配信データ通信装置に対しブロックの送信要求を行い、受信元の配信データ通信装置が要求されたブロックを記憶していれば当該ブロックを送信先の配信データ通信装置に送信する、という手順により行われるものとした。配信データ通信装置間におけるブロックの記憶の有無の確認手順はこれに限られず、他の様々な手順が採用され得る。例えば、受信元(上流側)の配信データ通信装置が送信先(下流側)の配信データ通信装置に対し、送信可能なブロックを取得済みであるか否かの確認要求を行い、送信先の配信データ通信装置が確認要求に応じて、受信元の配信データ通信装置が送信可能なブロックのうち未取得のブロックを受信元の配信データ通信装置に通知し、受信元の配信データ通信装置が当該ブロックを送信先の配信データ通信装置に送信する、という手順によって行われてもよい。
(16)上述した実施形態において示した管理データ通信装置11、配信元データ通信装置12および配信先データ通信装置13のためのアプリケーションプログラムは、コンピュータ10に読み取り可能な記録媒体に記録されて配布されてもよいし、ネットワークを介してコンピュータ10にダウンロードされてもよい。
本発明は、広くデータ配信を行うサービス業等において利用可能である。
1…データ配信システム、10…コンピュータ、11…管理データ通信装置、12…配信元データ通信装置、13…配信先データ通信装置、14…配信支援データ通信装置、15…中継データ通信装置、101…CPU、102…メモリ、103…通信I/F、111…決定手段、112…送信手段、113…受信手段、121…記憶手段、122…受信手段、123…指示手段、124…生成手段、124…送信手段、131…受信手段、132…記憶手段、133…送信手段、134…生成手段、136…選択手段、136…指示手段

Claims (8)

  1. 配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置と、前記複数の配信データ通信装置の間のデータの送信経路を管理するデータ通信装置である管理データ通信装置と
    を備え、
    前記管理データ通信装置は、
    前記複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する受信手段と、
    予め定められた条件が満たされる毎に、前記受信手段により受信された通信状態データおよび記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの1以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する決定手段と、
    前記決定手段による決定に従い、前記複数の配信データ通信装置の各々に対し、当該配信データ通信装置の通信相手を示す通信相手データを送信する送信手段と
    を備え、
    前記複数の配信データ通信装置の各々は、
    少なくとも前記管理データ通信装置から自機に宛てて送信された自機の通信相手を示す通信相手データを受信する受信手段と、
    少なくとも前記管理データ通信装置にデータを送信する送信手段と、
    自機の前記送信手段および前記受信手段の少なくとも一方に、自機の前記受信手段により受信された通信相手データが示す通信相手との間の前記配信対象データの少なくとも一部の送信または受信を指示する指示手段と、
    自機の前記受信手段が前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する記憶手段と、
    前記配信対象データのうち自機の前記記憶手段に記憶されているデータの量を示す記憶済みデータ量データを生成し、自機の前記送信手段および前記受信手段の少なくとも一方が自機の前記指示手段の指示に従い前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する生成手段と
    を備え、
    前記複数の配信データ通信装置の各々の前記送信手段は、予め定められた条件が満たされる毎に、自機の前記生成手段により生成された通信状態データおよび記憶済みデータ量データを前記管理データ通信装置に送信する
    データ配信システム。
  2. 前記複数の配信データ通信装置の各々は、
    自機の前記受信手段により受信された通信相手データが複数の通信相手を示す場合、自機の前記生成手段により生成された通信状態データに基づき、予め定められた規則に従い、当該通信相手データが示す複数の通信相手のなかから1以上の通信相手を選択する選択手段
    を備え、
    前記指示手段は、自機の前記選択手段により選択された1以上の通信相手との間の前記配信対象データの少なくとも一部の送信または受信を自機の前記送信手段または前記受信手段に指示する
    請求項1に記載のデータ配信システム。
  3. 配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する受信手段と、
    予め定められた条件が満たされる毎に、前記受信手段により受信された通信状態データおよび記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの1以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する決定手段と、
    前記決定手段による決定に従い、前記複数の配信データ通信装置の各々に対し、当該配信データ通信装置の通信相手を示す通信相手データを送信する送信手段と
    を備えるデータ通信装置。
  4. 少なくとも、複数のデータ通信装置の間で送受信される配信対象のデータである配信対象データの送信経路を管理するデータ通信装置である管理データ通信装置から通信相手を示す通信相手データを受信する受信手段と、
    少なくとも、前記管理データ通信装置にデータを送信する送信手段と、
    前記送信手段および前記受信手段の少なくとも一方に、前記受信手段により受信された通信相手データが示す通信相手との間の前記配信対象データの少なくとも一部の送信または受信を指示する指示手段と、
    前記受信手段が前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する記憶手段と、
    前記配信対象データのうち前記記憶手段に記憶されているデータの量を示す記憶済みデータ量データを生成し、前記送信手段および前記受信手段の少なくとも一方が前記指示手段の指示に従い前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する生成手段と
    を備え、
    前記送信手段は、予め定められた条件が満たされる毎に、前記生成手段により生成された通信状態データおよび記憶済みデータ量データを前記管理データ通信装置に送信する
    データ通信装置。
  5. 前記受信手段により受信された通信相手データが複数の通信相手を示す場合、前記生成手段により生成された通信状態データに基づき、予め定められた規則に従い、当該通信相手データが示す複数の通信相手のなかから1以上の通信相手を選択する選択手段
    を備え、
    前記指示手段は、前記選択手段により選択された1以上の通信相手との間の前記配信対象データの少なくとも一部の送信または受信を前記送信手段または前記受信手段に指示する
    請求項4に記載のデータ通信装置。
  6. 他のデータ通信装置との間でデータ通信を行う通信手段を備えたコンピュータに、
    配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する処理と、
    予め定められた条件が満たされる毎に、受信した前記通信状態データおよび前記記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの1以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する処理と、
    前記複数の配信データ通信装置の各々に対し、決定した当該配信データ通信装置の通信相手を示す通信相手データを送信する処理と
    を実行させるためのプログラム。
  7. 他のデータ通信装置との間でデータ通信を行う通信手段を備えたコンピュータに、
    少なくとも、複数のデータ通信装置の間で送受信される配信対象のデータである配信対象データの送信経路を管理するデータ通信装置である管理データ通信装置から通信相手を示す通信相手データを受信する処理と、
    受信した前記通信相手データが示す通信相手との間で前記配信対象データの少なくとも一部の送信または受信を行う処理と、
    前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する処理と、
    前記配信対象データのうち記憶しているデータの量を示す記憶済みデータ量データを生成する処理と、
    前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する処理と、
    予め定められた条件が満たされる毎に、生成した前記通信状態データおよび前記記憶済みデータ量データを前記管理データ通信装置に送信する処理と
    を実行させるためのプログラム。
  8. 前記コンピュータに、
    受信した前記通信相手データが複数の通信相手を示す場合、生成した前記通信状態データに基づき、予め定められた規則に従い、前記通信相手データが示す複数の通信相手のなかから1以上の通信相手を選択する処理
    を実行させ、
    前記配信対象データの少なくとも一部の送信または受信を行う処理において、選択した前記1以上の通信相手との間で前記配信対象データの少なくとも一部の送信または受信を行う処理を実行させる
    ための請求項7に記載のプログラム。
JP2013104584A 2013-05-16 2013-05-16 データ配信システム、データ配信のためのデータ通信装置およびプログラム Active JP5724154B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013104584A JP5724154B2 (ja) 2013-05-16 2013-05-16 データ配信システム、データ配信のためのデータ通信装置およびプログラム
EP14797775.5A EP3012742B1 (en) 2013-05-16 2014-03-27 Data distribution system, data communication device and program for data distribution
PCT/JP2014/058966 WO2014185167A1 (ja) 2013-05-16 2014-03-27 データ配信システム、データ配信のためのデータ通信装置およびプログラム
US14/891,127 US10666723B2 (en) 2013-05-16 2014-03-27 Data distribution system, data communication device and program for data distribution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013104584A JP5724154B2 (ja) 2013-05-16 2013-05-16 データ配信システム、データ配信のためのデータ通信装置およびプログラム

Publications (3)

Publication Number Publication Date
JP2014225169A JP2014225169A (ja) 2014-12-04
JP2014225169A5 JP2014225169A5 (ja) 2015-01-22
JP5724154B2 true JP5724154B2 (ja) 2015-05-27

Family

ID=51898151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013104584A Active JP5724154B2 (ja) 2013-05-16 2013-05-16 データ配信システム、データ配信のためのデータ通信装置およびプログラム

Country Status (4)

Country Link
US (1) US10666723B2 (ja)
EP (1) EP3012742B1 (ja)
JP (1) JP5724154B2 (ja)
WO (1) WO2014185167A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5996691B2 (ja) 2015-02-19 2016-09-21 株式会社シミュラティオ ファイル転送方法及びファイル転送プログラム
US10630494B2 (en) * 2017-12-15 2020-04-21 Crestron Electronics, Inc. PoE powered device with link layer startup processor
US11128731B2 (en) * 2019-01-24 2021-09-21 Microsoft Technology Licensing, Llc Generalized resource accountant
US11755100B2 (en) * 2021-03-18 2023-09-12 Dell Products L.P. Power/workload management system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI265697B (en) * 2002-06-06 2006-11-01 Ibm Digital contents distribution system, digital contents distribution method, computer readable recording medium storing the program therein, and server and client therefor
JP4598073B2 (ja) 2005-08-01 2010-12-15 パナソニック株式会社 送信装置および送信方法
US20090300673A1 (en) * 2006-07-24 2009-12-03 Nds Limited Peer- to- peer set-top box system
JP2009171388A (ja) * 2008-01-18 2009-07-30 Panasonic Corp 情報送信装置および情報配信システム
JP4609547B2 (ja) * 2008-08-14 2011-01-12 ソニー株式会社 無線通信装置、通信システム、および通信制御方法、並びにプログラム
JP2011151701A (ja) * 2010-01-25 2011-08-04 Cellius Inc サーバシステム、クライアント装置、プログラム、及び情報記憶媒体
WO2012153173A2 (en) 2011-01-29 2012-11-15 Redthorne Media, Llc Feedback oriented private overlay network for content distribution
JP5776339B2 (ja) * 2011-06-03 2015-09-09 富士通株式会社 ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム
JP5874253B2 (ja) * 2011-09-08 2016-03-02 富士通株式会社 配信システム、配信方法、及び配信プログラム

Also Published As

Publication number Publication date
WO2014185167A1 (ja) 2014-11-20
EP3012742B1 (en) 2019-05-08
EP3012742A4 (en) 2017-03-29
US20160255147A1 (en) 2016-09-01
US10666723B2 (en) 2020-05-26
EP3012742A1 (en) 2016-04-27
JP2014225169A (ja) 2014-12-04

Similar Documents

Publication Publication Date Title
US8180853B2 (en) Method and apparatus for transmitting data in a peer-to-peer network
CN108023812B (zh) 云计算系统的内容分发方法及装置、计算节点及系统
JP5724154B2 (ja) データ配信システム、データ配信のためのデータ通信装置およびプログラム
KR20130008325A (ko) 컨텐츠 중심 네트워크에서 컨텐츠 요청자, 중간 노드 및 컨텐츠 소유자의 통신 방법
US20110246658A1 (en) Data exchange optimization in a peer-to-peer network
JP6540892B2 (ja) 無線ピアツーピアネットワーク内のデバイス、無線通信システム及び制御方法
JP5960820B2 (ja) ツリー構造の管理方法、情報処理システム、及び、プログラム
KR101805458B1 (ko) 웹 소켓 지원 방법, 그리고 이를 사용한 웹 서버 및 웹 애플리케이션 서버
US20210392200A1 (en) Systems and methods for remote network topology discovery
US10216593B2 (en) Distributed processing system for use in application migration
CN111935242A (zh) 数据传输方法、装置、服务器以及存储介质
US10474643B2 (en) Distributed file system and method of creating files effectively
CN114731297B (zh) 用于计算设备对等方匹配的消息限制的自组织网络组
JP6131907B2 (ja) 分散データベース、データ共有方法、プログラム、装置
JP6197692B2 (ja) サーバ
KR20120138546A (ko) 분산 네트워크에서 우선순위에 기반한 디스커버리를 수행하는 장치 및 방법과, 디스커버리 백오프 타임 결정 방법
CN102651757A (zh) 一种p2p内容分发的方法和系统
JP6816511B2 (ja) セッション管理プログラム、セッション管理方法、情報処理装置、及び情報処理システム
EP3940536A1 (en) Event stream processing method and event stream processing program
JP5783008B2 (ja) ストレージ装置、ストレージシステム、データ更新方法およびデータ管理プログラム
US9942314B2 (en) System and method for optimizing web service availability with a node group agreement protocol
JP5673268B2 (ja) 通信装置、およびプログラム
JP2016046785A (ja) キャッシュサーバ選択装置、分散キャッシュシステム、及びキャッシュサーバ選択方法
JP2017073089A (ja) データ配布プログラム、データ配布方法、情報処理装置及び情報処理システム
KR101420108B1 (ko) 순차적 p2p 다운로드 시스템 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141024

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20141024

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20141204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150314

R150 Certificate of patent or registration of utility model

Ref document number: 5724154

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150