JP4637145B2 - ネットワークシステム、ノード機器、データ配信方法、および、プログラム - Google Patents

ネットワークシステム、ノード機器、データ配信方法、および、プログラム Download PDF

Info

Publication number
JP4637145B2
JP4637145B2 JP2007189149A JP2007189149A JP4637145B2 JP 4637145 B2 JP4637145 B2 JP 4637145B2 JP 2007189149 A JP2007189149 A JP 2007189149A JP 2007189149 A JP2007189149 A JP 2007189149A JP 4637145 B2 JP4637145 B2 JP 4637145B2
Authority
JP
Japan
Prior art keywords
node device
node
server
data
unit
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
JP2007189149A
Other languages
English (en)
Other versions
JP2009026107A (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.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment 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
Priority to JP2007189149A priority Critical patent/JP4637145B2/ja
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to CN2008800047829A priority patent/CN101627374B/zh
Priority to KR20097020896A priority patent/KR101087089B1/ko
Priority to EP20080790967 priority patent/EP2172846A1/en
Priority to PCT/JP2008/062330 priority patent/WO2009013999A1/ja
Priority to US12/669,623 priority patent/US20100183017A1/en
Priority to TW97127268A priority patent/TW200909036A/zh
Publication of JP2009026107A publication Critical patent/JP2009026107A/ja
Application granted granted Critical
Publication of JP4637145B2 publication Critical patent/JP4637145B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching
    • 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/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データ配信時の負荷を適切に低減することのできるネットワークシステム、ノード機器、データ配信方法、および、プログラムに関する。
従来より、インターネット等のネットワークを利用して、種々のデータの提供が行われている。一例としてゲーム会社等では、ユーザに発売前等のゲームを体験してもらうために、評価版プログラム(プレイ範囲等が一部制限されたプロモーション用のプログラム)等のデータ配信を行っている。この他にも、ゲームの修正プログラムやライブラリ等のデータ配信も行われている。
具体的には、ゲーム会社のサーバに、配信対象となる評価版プログラム等を格納し、ユーザがゲーム機等を使用して自由にダウンロードできるようにしている。
なお、このような技術分野においては、ゲーム機の再起動やプレイの中断をせずに、修正プログラムやライブラリ等をダウンロードして利用できるようにする技術も開示されている(例えば、特許文献1参照)。
特開2004−287631(第10−16頁、第1図)
上述したような従来のデータ配信では、サーバに負荷が集中してしまい、効率的な配信が行われない場合があった。
例えば、評価版プログラムの配信開始がアナウンスされると、多くのユーザが同時期にダウンロードを行おうとするため、サーバに負荷が集中してしまうことになる。これにより、ダウンロードが全く開始されなかったり、また、ダウンロードが開始されても完了までに長時間を要してしまうというような状況が生じていた。
そのため、データの提供側(ゲーム会社等)は、複数のサーバを用いて負荷を分散させるといった一般的な負荷分散の技術を採用して、ユーザをそれほど待たせずにダウンロードが行えるように対処していた。
しかしながら、ユーザの関心が高いゲーム(評価版プログラム)を配信する場合等では、より多くのユーザが同時期にダウンロードしようとする状況が生じ易くなる。この状況では、既存の負荷分散の技術を採用していても、許容範囲を超えて負荷が高まってしまい、効率的な配信が行われないというのが実情であった。
そのため、データ配信時の負荷を低減することのできる新たな手法が求められていた。
本発明は、このような課題を解決するためになされたもので、データ配信時の負荷を適切に低減することのできるネットワークシステム、ノード機器、データ配信方法、および、プログラムを提供することを目的とする。
本発明の第1の観点に係るネットワークシステムは、サーバと複数のノード機器とがそれぞれに通信可能なネットワークシステムであって、サーバが、配信求受信部、選定部、紹介部、及び、配信部を含み、各ノード機器のそれぞれが、配信要求送信部、経路決定部、データ受信部、データ送信部、及び、受信通知返信部を含んで構成される。
まず、サーバにおいて、配信要求受信部は、各ノード機器から送られる配信要求を受信する。また、選定部は、当該配信要求を送った各ノード機器のうち、少なくとも1つを最上位のノード機器として選定する。紹介部は、選定していない残りの各ノード機器に、当該最上位のノード機器を紹介する。そして、配信部は、当該最上位のノード機器に向けてデータを配信する。
一方、各ノード機器において、配信要求送信部は、サーバに向けて配信要求を送信する。また、経路決定部は、サーバによって最上位のノード機器に選定された場合に、サーバから紹介された各ノード機器について、自己を起点にそれぞれ上位から下位に並べた配信経路を決定する。データ受信部は、決定された当該配信経路に基づいて接続した直上のノード機器若しくはサーバから配信されるデータを受信する。データ送信部は、当該配信経路に基づいて接続した直下のノード機器がある場合に、当該受信したデータを当該直下のノード機器に送信する。そして、受信通知返信部は、当該配信経路に基づいて直下のノード機器がなく、自己が最下位のノード機器となった場合に、データ受信部がデータを受信すると、最上位のノード機器に受信通知を返信する。
このように、サーバ側は、最上位のノード機器を選定し、そのノード機器に向けてデータの配信を行う。一方、ノード機器側は、最上位のノード機器を起点とした配信経路を決定すると、その経路に沿って上位のノード機器から下位のノード機器へとバケツリレーの様にデータの配信を行う。
このため、データ配信時において、従来のように負荷がサーバに集中することなく、ノード機器側で適宜分散されることになる。
この結果、データ配信時の負荷を適切に低減することができる。
前記サーバの前記選定部は、当該配信要求を最も早く送ったノード機器を最上位のノード機器として選定し、
前記ノード機器の前記経路決定部は、前記サーバから紹介された順番に従って、各ノード機器を上位から下位に並べた配信経路を決定してもよい。
この場合、配信経路を極めて自然に決定することができ、経路を決定するための処理も単純化できる。
前記ノード機器は、
前記データ受信部が受信したデータに、自己のアドレスを付加するアドレス付加部と、
当該受信したデータにすでに付加されていたアドレスに基づいて、現時点における自己よりも上位のノード機器を管理する上位ノード管理部と、をさらに備え、
前記データ送信部は、アドレスが付加されたデータを直下のノード機器に送信し、
前記受信通知返信部は、前記データ受信部が受信したデータに付加されていた全てのアドレスおよび自己のアドレスに基づいて、現時点における実際の配信経路を示すリストを生成し、受信通知に当該リストを付加して最上位のノード機器に返信してもよい。
この場合、最下位のノード機器まで配信が行われたことを把握できると共に、その時点における実際の(最新の)配信経路も把握することができる。
前記ノード機器は、
直上のノード機器との接続断により、前記データ受信部がデータを受信できなくなった場合に、前記上位ノード管理部に管理される上位のノード機器のうち、下位から順に接続を試み、接続できたノード機器にデータの再送を要求する再送要求部をさらに備え、
前記データ受信部は、前記再送要求部が再送を要求したノード機器を新たな直上のノード機器とし、当該直上のノード機器から配信されるデータを受信してもよい。
この場合、自律的に配信経路を再構築し、データ配信を適切に継続することができる。
前記ノード機器の前記経路決定部は、前記サーバから新たなノード機器が紹介された場合に、当該新たなノード機器を最下位とした配信経路を再決定してもよい。
この場合、途中参加のノード機器を含めたデータ配信を適切に行うことができる。
本発明の第2の観点に係るノード機器は、データの配信元となるサーバと、複数のノード機器とがそれぞれに通信可能なネットワークにおける各ノード機器であって、配信要求送信部、経路決定部、データ受信部、データ送信部、及び、受信通知返信部を含んで構成される。
まず、配信要求送信部は、サーバに向けて配信要求を送信する。また、経路決定部は、サーバによって自己が最上位のノード機器に選定された場合に、サーバから紹介された各ノード機器について、自己を起点にそれぞれ上位から下位に並べた配信経路を決定する。データ受信部は、決定された当該配信経路に基づいて接続した直上のノード機器若しくはサーバから配信されるデータを受信する。データ送信部は、当該配信経路に基づいて接続した直下のノード機器がある場合に、当該受信したデータを当該直下のノード機器に送信する。そして、受信通知返信部は、当該配信経路に基づいて直下のノード機器がなく、自己が最下位のノード機器となった場合に、データ受信部がデータを受信すると、最上位のノード機器に受信通知を返信する。
このように、各ノード機器は、最上位のノード機器を起点とした配信経路を決定すると、その経路に沿って上位のノード機器から下位のノード機器へとバケツリレーの様にデータの配信を行う。
このため、データ配信時において、従来のように負荷がサーバに集中することなく、各ノード機器で適宜分散されることになる。
この結果、データ配信時の負荷を適切に低減することができる。
前記サーバに配信要求を最も早く送ったノード機器が最上位のノード機器として選定されるものであり、
前記経路決定部は、前記サーバから紹介された順番に従って、各ノード機器を上位から下位に並べた配信経路を決定してもよい。
この場合、配信経路を極めて自然に決定することができ、経路を決定するための処理も単純化できる。
前記データ受信部が受信したデータに、自己のアドレスを付加するアドレス付加部と、
当該受信したデータにすでに付加されていたアドレスに基づいて、現時点における自己よりも上位のノード機器を管理する上位ノード管理部と、をさらに備え、
前記データ送信部は、アドレスが付加されたデータを直下のノード機器に送信し、
前記受信通知返信部は、前記データ受信部が受信したデータに付加されていた全てのアドレスおよび自己のアドレスに基づいて、現時点における実際の配信経路を示すリストを生成し、受信通知に当該リストを付加して最上位のノード機器に返信してもよい。
この場合、最下位のノード機器まで配信が行われたことを把握できると共に、その時点における実際の(最新の)配信経路も把握することができる。
直上のノード機器との接続断により、前記データ受信部がデータを受信できなくなった場合に、前記上位ノード管理部に管理される上位のノード機器のうち、下位から順に接続を試み、接続できたノード機器にデータの再送を要求する再送要求部をさらに備え、
前記データ受信部は、前記再送要求部が再送を要求したノード機器を新たな直上のノード機器とし、当該直上のノード機器から配信されるデータを受信してもよい。
この場合、自律的に配信経路を再構築し、データ配信を適切に継続することができる。
前記ノード機器の前記経路決定部は、前記サーバから新たなノード機器が紹介された場合に、当該新たなノード機器を最下位とした配信経路を再決定してもよい。
この場合、途中参加のノード機器を含めたデータ配信を適切に行うことができる。
本発明の第3の観点に係るデータ配信方法は、サーバと複数のノード機器とがそれぞれに通信可能なネットワークシステムにおけるデータ配信方法であって、配信求受信ステップ、選定ステップ、紹介ステップ、配信ステップ、配信要求送信ステップ、経路決定ステップ、データ受信ステップ、データ送信ステップ、及び、受信通知返信ステップを含んで構成される。
まず、サーバにおいて、配信要求受信ステップでは、各ノード機器から送られる配信要求を受信する。また、選定ステップでは、当該配信要求を送った各ノード機器のうち、少なくとも1つを最上位のノード機器として選定する。紹介ステップでは、選定していない残りの各ノード機器に、当該最上位のノード機器を紹介する。そして、配信ステップでは、当該最上位のノード機器に向けてデータを配信する。
一方、各ノード機器において、配信要求送信ステップでは、サーバに向けて配信要求を送信する。また、経路決定ステップでは、サーバによって最上位のノード機器に選定された場合に、サーバから紹介された各ノード機器について、自己を起点にそれぞれ上位から下位に並べた配信経路を決定する。データ受信ステップでは、決定された当該配信経路に基づいて接続した直上のノード機器若しくはサーバから配信されるデータを受信する。データ送信ステップでは、当該配信経路に基づいて接続した直下のノード機器がある場合に、当該受信したデータを当該直下のノード機器に送信する。そして、受信通知返信ステップでは、当該配信経路に基づいて直下のノード機器がなく、自己が最下位のノード機器となった場合に、データ受信部がデータを受信すると、最上位のノード機器に受信通知を返信する。
このように、サーバ側は、最上位のノード機器を選定し、そのノード機器に向けてデータの配信を行う。一方、ノード機器側は、最上位のノード機器を起点とした配信経路を決定すると、その経路に沿って上位のノード機器から下位のノード機器へとバケツリレーの様にデータの配信を行う。
このため、データ配信時において、従来のように負荷がサーバに集中することなく、ノード機器側で適宜分散されることになる。
この結果、データ配信時の負荷を適切に低減することができる。
本発明の第4の観点に係るプログラムは、コンピュータ(電子機器を含む。)を、上記のゲーム機として機能させるように構成する。
このプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
本発明によれば、データ配信時の負荷を適切に低減することができる。
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ネットワークを介してサーバ等に接続可能なゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に記載する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
(実施形態1)
図1は、本発明の実施の形態に係るネットワークシステムの概要構成を示す模式図である。以下、本図を参照して説明する。
本ネットワークシステム10では、一例として、インターネット13上にデータ配信を行うサーバ11が配置されている。そして、本ネットワークシステム10における各端末12は、インターネット13を介してサーバ11又は他の端末12と通信可能に接続されている。
なお、サーバ11は、例えば、評価用プログラムを配信可能であり、各端末12から直接的又は間接的に、ダウンロードが行えるようになっている。また、各端末12は、いわゆるピアツーピア通信技術によって、相互に通信を行うことも可能である。
発明の理解を容易にするため、以下では、端末12としてインターネットへの接続が可能なゲーム装置を一例にあげて、説明する。
図2は、本実施形態の端末12(つまり、ノード機器)として機能するゲーム装置100の概要構成を示す模式図である。以下、本図を参照して説明する。
ゲーム装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、DVD(Digital Versatile Disk)−ROMドライブ107と、画像処理部108と、音声処理部109と、NIC(Network Interface Card)110と、を備える。
なお、ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ107に装着して、ゲーム装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のノード機器が実現される。
CPU 101は、ゲーム装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、ゲーム装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。たとえば、コントローラ105は、操作入力に従って、文字列(メッセージ)等の入力を受け付ける。
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲームの進行状態を示すデータ、チャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
DVD−ROMドライブ107に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ107は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
画像処理部108は、DVD−ROMから読み出されたデータをCPU 101や画像処理部108が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部108が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部108に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
なお、画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
音声処理部109は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
NIC 110は、ゲーム装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
このほか、ゲーム装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ107に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。
また、本実施形態のゲーム装置100にかえて、一般的なコンピュータ(汎用のパーソナルコンピュータ等)をノード機器として利用することもできる。たとえば、一般的なコンピュータは、上記ゲーム装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、ゲーム装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、ノード機器として機能する。
(サーバの概要構成)
図3は、本実施形態に係るサーバ11の概要構成の一例を示す模式図である。以下、本図を参照して説明する。
サーバ11は、図3に示すように、配信要求受信部201と、選定部202と、ノード情報記憶部203と、紹介部204と、配信部205と、配信用データ記憶部206とを備えている。
配信要求受信部201は、ノード機器(以下、「ノード」と略す。)となる各端末12から送られる配信要求を受信する。
例えば、端末12から任意の評価用プログラムが指定され、ダウンロードが要求されると、その評価用プログラムについての配信要求を受信する。
選定部202は、配信要求を送った各端末12のうち、少なくとも1つを最上位のノードとして選定する。
例えば、同じ評価用プログラムが指定された配信要求のうち、最も早く配信要求を送った端末12を最上位のノードとして選定する。そして、選定した端末12の識別情報(例えば、MACアドレス等)、及び、その端末12にアクセス可能となるアドレス(例えば、IPアドレス等)を、ノード情報記憶部203に格納する。
ノード情報記憶部203は、最上位のノードとして選定された端末12の情報を記憶する。
例えば、ノード情報記憶部203は、選定された端末12の識別情報(MACアドレス等)及びアドレス(IPアドレス等)を、配信要求された評価用プログラムに対応付けて記憶する。
紹介部204は、選定していない残りの端末12から、配信要求を受信すると、各端末12に、選定した端末12(つまり、最上位のノード)を紹介する。
具体的に紹介部204は、ノード情報記憶部203を参照し、配信要求された評価用プログラムに対応する端末12の情報(最上位のノード情報)が記憶されているか否かを判別する。そして、端末12の情報が記憶されている場合には、最上位のノードが既に選定されているため、記憶された情報(アドレス等)を返答して最上位のノードを紹介する。
なお、最上位のノード情報が記憶されていない場合には、上述した選定部202が、最上位のノードとなる端末12を選定することになる。
配信部205は、最上位のノードとなる端末12(つまり、選定された端末12)に向けてデータを配信する。
例えば、配信部205は、最上位のノードとの間で配信用のセッションを接続し、配信用データ記憶部206から対象の評価用プログラムを読み出して配信する。
なお、評価用プログラムが配信される際には、所定のブロックサイズに分割(断片化)がなされ、このブロック単位にデータ配信が行われる。
配信用データ記憶部206は、ユーザ(具体的には、端末12)に提供可能な種々の評価用プログラム等のデータを記憶している。
(ノードとなる各端末の概要構成)
図4は、本実施形態に係る端末12の概要構成の一例を示す模式図である。以下、本図を参照して説明する。
端末12は、図4に示すように、配信要求送信部301と、経路決定部302と、データ受信部303と、配信データ記憶部304と、アドレス付加部305と、上位ノード管理部306と、再送要求部307と、データ送信部308と、受信通知返信部309とを備えている。
配信要求送信部301は、サーバ11に向けて配信要求を送信する。
例えば、端末12を操作するユーザによって任意の評価用プログラムが指定されると、その評価用プログラムについての配信要求をサーバ11に送信する。
なお、上述したNIC 110がこのような配信要求送信部301として機能しうる。
経路決定部302は、自己(端末12)が、サーバ11によって最上位のノードとして選定された場合に機能し、各端末間12の配信経路を決定する。
例えば、経路決定部302は、サーバ11から紹介された他の各端末12について、自己を起点にそれぞれ上位から下位に並べた配信経路を決定する。
具体的には、図5(a)に示すように最上位のノードAに向けて、ノードB〜Eの順番に、サーバ11からの紹介に基づくアクセスが行われると、ノードAの経路決定部302は、図5(b)に示すような配信経路を決定する。
つまり、ノードA(経路決定部302)は、紹介に基づき最初にアクセスしてきたノードBを直下のノードに決める。そして、続いてアクセスしてきたノードC〜Eに対して、ノードBをそれぞれ紹介する。そのため、ノードC〜Eは、ノードBにアクセスすることになる。
また、ノードBは、紹介に基づき最初にアクセスしてきたノードCを直下のノードに決め、続いてアクセスしてきたノードD,Eに、ノードCをそれぞれ紹介する。そのため、ノードD,Eは、ノードCにアクセスすることになる。
そして、ノードCは、最初にアクセスしてきたノードDを直下のノードに決め、続いてアクセスしてきたノードEにノードDを紹介する。そのため、ノードEは、ノードDにアクセスすることになる。
最後に、ノードDは、アクセスしてきたノードEを直下のノードに決める。
このように決定される配信経路に従って、各ノードは、直上のノードとの間、そして、直下のノードとの間に、それぞれ配信用のセッションを接続する。
例えば、図5(b)に示すノードCであれば、直上のノードBとの間、そして、直下のノードDとの間にセッションを張ることになる。また、ノードEは、直上のノードDとの間にセッションを張るところまでは同様であるが、最下位のノードであるため、最上位のノードAとの間に、後述する受信通知を行うためのセッションを張ることになる。
なお、上述したCPU 101等がこのような経路決定部302として機能しうる。
図4に戻って、データ受信部303は、経路決定部302によって決定された配信経路に基づいて接続した直上のノードから配信されるデータを受信する。なお、最上位のノードとなった端末12の場合、データ受信部303は、サーバ11から直接配信されるデータを受信する。
そして、データ受信部303は、受信したデータを配信データ記憶部304に順次格納する。
なお、上述したNIC 110がこのようなデータ受信部303として機能しうる。
配信データ記憶部304は、データ受信部303が受信したデータを記憶する。
なお、上述したように、評価用プログラムは、所定のブロックサイズに分割されて配信される。そのため、配信されるデータには、元の評価用プログラムに復元するために必要な情報も含まれている。
配信データ記憶部304は、このように配信されたデータを順次記憶し、全てのデータ(全ブロック)を取得した後には、復元された評価用プログラムを記憶する。
なお、上述したRAM 103や外部メモリ106がこのような配信データ記憶部304として機能しうる。
アドレス付加部305は、データ受信部303が受信したデータに自己のアドレス等を付加する。
具体的には、図6(a)に示すように、配信されるデータは、データ本体(データ部)の他に、ヘッダ部が設けられている。このヘッダ部は、所定数のエリア(ad1〜adn)に区分けされており、各ノードが自己のアドレス等の情報を各エリアに付加できるようになっている。
そのため、アドレス付加部305は、このヘッダ部の先頭エリア(ad1)から末尾(adn)に向けて空きエリアを探し、最初に見つけた空きエリアに、自己のアドレス(例えば、IPアドレス等)や自己の識別情報(MACアドレス等)をセットする。
つまり、各ノードがそれぞれに、データを受信した際に、ヘッダ部の空きエリアを探して自己のアドレス等を付加するため、例えば、図6(b)に示すように、実際の配信経路の順番にヘッダ部の各エリアが先頭から埋められていくことになる。
なお、上述したCPU 101等がこのようなアドレス付加部305として機能しうる。
図4に戻って、上位ノード管理部306は、データ受信部303が受信したデータ(ヘッダ部)に付加されていたアドレス等に基づいて、現時点における自己よりも上位のノードとなる端末12を管理する。
例えば、上位ノード管理部306は、上述した図6(b)に示すようなヘッダ部に付加されているノードのアドレス等を読み出し、図7に示すような上位ノードテーブルTを作成(更新)する。つまり、上位ノード管理部306は、上位ノードテーブルTを適宜更新して、自己よりも上位の配信経路(ノードの並び)が、常に最新の状態となるように管理する。この上位ノードテーブルTは、後述するように、直上のノードとのセッションが切断された場合等に参照される。
なお、上述したCPU 101及びRAM 103等がこのような上位ノード管理部306として機能しうる。
再送要求部307は、直上のノードとの接続断により、データ受信部303がデータを受信できなくなった場合に、他の上位のノードに接続してデータの再送を要求する。
例えば、再送要求部307は、上位ノード管理部306に管理される上位ノードテーブルを参照し、直上のノードに代えて他の上位のノードへの接続を試み、接続できた上位のノードに対してデータの再送を要求する。
具体的には、図5(b)に示すような配信経路が決定されていた状態で、ノードCが消滅すると、ノードCとノードDとのセッションが絶たれる(より詳細には、ノードBとノードCとのセッションも絶たれる)。この場合、ノードDの再送要求部307は、図7に示す上位ノードテーブルTを参照し、ノードCの直上のノードBに接続を試みる。そして、接続できた場合にそのノードBにデータの再送を要求する。なお、ノードBに接続ができなかった場合には、更に上位のノードAに接続を試み、接続できた場合にそのノードAにデータの再送を要求することになる。
そして、再送要求部307によって再送を要求したノードが、新たな直上のノードとなる。
なお、上述したNIC 110がこのような再送要求部307として機能しうる。
図4に戻って、データ送信部308は、決定された配信経路に基づいて接続した直下のノードに対して自己が受信したデータを送信する。
つまり、データ受信部303が受信したデータ(より詳細には、アドレス付加部305がアドレス等を付加したデータ)を、直下のノードとなる端末12に配信する。
これにより、各ノードは、上位のノードから下位のノードへと、バケツリレーの様にデータを配信することになる。
なお、最下位のノードのデータ送信部308は、直下のノードがないため、データ送信を行わない。
そして、上述したNIC 110がこのようなデータ送信部308として機能しうる。
受信通知返信部309は、自己(端末12)が最下位のノードとなった場合に機能し、データ受信部303がデータを受信すると、最上位のノードに受信通知を返信する。
例えば、受信通知返信部309は、現時点における全配信経路を示すリストを生成し、このリストを含む受信通知を最上位のノードとなる端末12に返信する。
具体的に図5(b)に示す配信経路の場合を一例として説明すると、最下位のノードEの受信通知返信部309は、上位ノード管理部306に管理される上位ノードテーブルを読み出し、それに、自己のアドレス等を付加したリスト、つまり、ノードAからノードEに至るまでの全配信経路を示すリストを生成する。そして、生成したリストを含む受信通知を、最上位のノードAに送信する。
なお、上述したCPU 101及びNIC 110等がこのような受信通知返信部309として機能しうる。
(サーバ及び端末の動作概要)
図8は、上述した構成のサーバ11にて実行される配信要求受信処理の流れを示すフローチャートである。また、図9は、各端末12にて実行される配信経路決定処理の流れを示すフローチャートである。以下、これらの図を参照してサーバ11及び各端末12の動作について説明する。
最初に、サーバ11の動作について、図8の配信要求受信処理を参照して説明する。なお、サーバ11の配信用データ記憶部206には、評価用プログラムが配信可能に格納されているものとする。
まず、サーバ11は、端末12から配信要求が送られるまで、後続処理の実行を待機する(ステップS401;No)。つまり、任意の評価用プログラムが指定された配信要求を受信するまで待機する。
そして、配信要求を受信すると(ステップS401;Yes)、サーバ11は、配信が要求された評価用プログラムについて、ノード情報記憶部203を検索する(ステップS402)。
つまり、ノード情報記憶部203の中から、指定された評価用プログラムに対応するノード情報について検索する。
サーバ11は、最上位のノードが選定済みであるか否かを判別する(ステップS403)。つまり、指定された評価用プログラムに対応するノード情報が、ノード情報記憶部203に格納されてるかどうかを判別する。
すなわち、評価用プログラムに対応するノード情報が格納されていた場合に、最上位ノードが選定済みであると判別し、逆に、格納されていなかった場合に、最上位ノードが未選定であると判別する。
サーバ11は、最上位のノードが選定済みでないと判別すると(ステップS403;No)、配信を要求した端末12を最上位のノードとして選定する(ステップS404)。
つまり、選定部202は、その評価用プログラムに対して、最も早く配信要求を送ってきた端末12を最上位のノードとして選定する。そして、選定した端末12のアドレス等をノード情報記憶部203に格納する。
一方、最上位のノードが選定済みであると判別した場合に(ステップS403;Yes)、サーバ11は、配信を要求した端末12に最上位のノードを紹介する(ステップS405)。
つまり、紹介部204は、要求した端末12に対して、ノード情報記憶部203に記憶された端末12のアドレス等を返信することにより、最上位のノードとなる端末12を紹介する。
このような配信要求受信処理により、サーバ11は、配信が要求された際に、最上位のノードとなる端末12を未選定の状態であれば、要求してきた端末12を最上位のノードとして選定する。一方、選定済みの状態であれば、その選定済みの端末12(最上位のノード)を、要求してきた端末12に紹介する。
そして、データを配信する際に、サーバ11は、選定したノード機器だけに配信を行えばよいため、負荷を軽減することができる。
次に、各端末12(各ノード)の動作について、図9の配信経路決定処理を参照して説明する。なお、この配信経路決定処理は、データ配信を開始する前に、所定数の端末12が揃った状態で行ってもよく、また、一度配信経路を決定した後であっても、新たな端末を加えるために、随時行ってもよい。
まず、端末12は、他の端末12から紹介によるアクセスがあるまで、後続処理の実行を待機する(ステップS501;No)。つまり、経路決定部302は、サーバ11による紹介や、上位の端末12による紹介に基づいてなされる他の端末12からのアクセスを待機する。
そして、紹介によるアクセスがあると(ステップS501;Yes)、端末12は、自己の直下にノードが存在しているか否かを判別する(ステップS502)。つまり、経路決定部302は、直下のノードとして他の端末12を管理している状態であるかどうかを判別する。
端末12は、直下のノードが存在していないと判別すると(ステップS502;No)、アクセス元の端末12を直下のノードとして管理する(ステップS503)。
つまり、経路決定部302は、アクセス元の端末12との間で配信用のセッションを確立し、自己からその端末12へ配信等が行える状態にする。
一方、直下のノードが存在していると判別した場合に(ステップS502;Yes)、端末12は、アクセス元の端末12に対して直下のノードを紹介する(ステップS504)。
つまり、経路決定部302は、自己の下位に幾つかのノードがあるため、直下のノードをアクセス元の端末12に紹介して、再度アクセスさせる。
このような配信経路決定処理により、後から配信要求を行った端末12は、最上位の端末12、その下位(直下)の端末12、更に下位の端末12へと、順に紹介されることになり、最終的に最下位のノードとしてその1つ上位(直上)のノードと接続することになる。
このようにして配信経路が決定され、それぞれが通信可能になると、その経路に沿って上位のノードから下位のノードへとバケツリレーの様にデータの配信が行われることになる。
このため、データ配信時の負荷が、従来のようにサーバに集中することなく、ノード側で適宜分散されることになる。
この結果、サーバ11に負荷が集中することを避け、データ配信時の負荷を適切に低減することができる。
(ノードが消滅した場合の動作)
上述した配信経路決定処理により配信経路が決定し、データ配信が行われている途中で、何らかの理由により、ノードが消滅してしまうことも生じ得る。例えば、端末12のネットワーク接続が切断されてしまったり、端末12の電源が切られてしまうと、そのノードが消滅してしまうことになる。
この場合、消滅したノードを外して配信経路が再構築されなければ、消滅したノードよりも下位のノードには、データ配信が行われなくなってしまう。
そのため、本願の実施形態に係る端末12には、上述した再送要求部307が備えられており、ノードが消滅した際にも、データ配信が適切に継続できるようにしている。
以下、ノードが消滅した場合における端末12の動作について、図10を参照して説明する。
図10は、各端末12にて実行される再送要求処理の流れを示すフローチャートである。この再送要求処理は、例えば、データ配信と並行して実行される。
まず、端末12は、直上のノードとの接続が途絶したかどうかを逐次判別する(ステップS601)。例えば、再送要求部307は、データ配信を行っている途中で、データ受信部303の受信状態を監視し、受信ができなくなると、直上のノードとの接続が途絶したと判別する。
なお、接続が途絶しなければ(ステップS601;No)、以降の処理は、実行されない。
一方、接続が途絶したと判別すると(ステップS601;Yes)、端末12は、変数nに初期値の2をセットする。この変数nは、自己よりもどれくらい上位のノードであるかを示す値である。
つまり、変数nが2の場合、自己よりも2つ上位のノードを示し、また、変数nが3の場合、自己よりも3つ上位のノードを示すことになる。なお、変数nが1の場合を飛ばしているのは、自己よりも1つ上位のノード、つまり、直上のノードを示すためである。
端末12は、変数nの値に従って、自己よりもnだけ(nつ)上位のノードを、上位ノードテーブルから特定する(ステップS603)。
そして、端末12は、特定したノードとの接続を試みる(ステップS604)。つまり、再送要求部307は、接続が途絶した直上のノードよりも上位のノードに対して接続を試みる。
端末12は、接続可能であったかどうかを判別する(ステップS605)。つまり、再送要求部307は、特定した上位のノードとの間に配信用のセッションが張れたかどうかを判別する。
端末12は、接続不能であったと判別すると(ステップS605;No)、変数nに1を加算して(ステップS606)、ステップS603に処理を戻す。
一方、接続可能であったと判別すると(ステップS605;Yes)、端末12は、接続したノードに再送要求を送信する(ステップS607)。
そして、端末12は、直上のノードを、今回新たに接続したノードに切り換えて、データ配信を継続する(ステップS608)。
すなわち、切り換えた直上のノードから再配信されるデータをデータ受信部303が受信すると、そのデータにアドレス等を付加した後、データ送信部308が直下のノードに配信する。つまり、自己及び、自己よりも下位のノードには、消滅したノードのアドレス等が省かれて(付加されずに)、データが配信される。そのため、上位ノード管理部306により、上位ノードテーブルが最新の状態に更新されることになる。
このような再送要求処理により、途中でノードが消滅した際に、自律的に配信経路を再構築し、データ配信を適切に継続することができる。
(他の実施形態)
上記の実施形態では、発明の理解を容易にするために、図5(b)に示すような、各ノードが1列に並ぶ最もシンプルな配信経路を一例として説明した。
しかしながら、配信経路の並びは、このようなシンプルな経路に限られず、各端末12の処理能力や、各端末12間の通信容量(通信速度等)に応じて、適宜変更可能である。
例えば、図11(a)に示すような枝分かれする配信経路についても、本願発明は、適宜適用することができる。以下、具体的に説明する。
まず、図11(a)の配信経路が決定されるに先立って、同様に、最上位のノード(この場合も、ノードA)が、サーバ11により選定される。そして、図11(b)に示すように最上位のノードAに向けて、ノードB〜Gの順番に、サーバ11からの紹介に基づくアクセスが行われるものとする。
ノードAは、処理能力等に基づいて、直下のノード数を決めると(この場合、ノード数:2)、2番目までにアクセスしてきたノード(この場合、ノードB,C)を直下のノードに決める。そして、続いてアクセスしてきたノードD〜Gに対して、ノードB,Cの何れか一方を紹介する。一例として、ノードAは、紹介先を交互に切り換えて紹介する。そのため、ノードD,Fには、ノードBが紹介され、また、ノードE,Gには、ノードCが紹介される。そして、ノードD〜Gは、紹介されたノードにそれぞれアクセスすることになる。
また、ノードBも、処理能力等に基づいて、直下のノード数を決めると(この場合、ノード数:1)、最初にアクセスしてきたノード(この場合、ノードD)を直下のノードに決める。そして、続いてアクセスしてきたノードFに対して、ノードDを紹介する。
更に、ノードDは、アクセスしてきたノードFを直下のノードに決める。
最後に、ノードCも、処理能力等に基づいて、直下のノード数を決めると(この場合、ノード数:2)、2番目までにアクセスしてきたノード(この場合、ノードE,G)を直下のノードに決める。
このようにして決定された配信経路に従って、各ノードは、直上のノードとの間、そして、直下のノードとの間に、それぞれ配信用のセッションを接続する。
なお、最下位となるノードF,E,Gは、それぞれ最上位のノードAとの間に、受信通知を行うためのセッションを張ることになる。
このような枝分かれする配信経路の場合でも、それらの経路(枝分かれした各経路)に沿って上位のノードから下位のノードへとバケツリレーの様にデータの配信が行われることになる。
この結果、サーバ11に負荷が集中することを避け、データ配信時の負荷を適切に低減することができる。
以上説明したように、本発明によれば、データ配信時の負荷を適切に低減することができる。
本実施形態のネットワークシステムの概要構成を示す模式図である。 本実施形態のゲーム装置の概要構成を示す模式図である。 サーバの概要構成の一例を示す模式図である。 端末の概要構成の一例を示す模式図である。 (a),(b)共に、配信経路が決定される様子を説明するための模式図である。 (a),(b)共に、配信データに含まれるヘッダ部等を説明するための模式図である。 上位ノードテーブルの一例を説明するための模式図である。 本発明の実施形態に係る配信要求受信処理の一例を示すフローチャートである。 本発明の実施形態に係る配信経路決定処理の一例を示すフローチャートである。 本発明の実施形態に係る再送要求処理の一例を示すフローチャートである。 枝分かれする配信経路を説明するための模式図である。
符号の説明
10 ネットワークシステム
11 サーバ
12 端末
13 インターネット
100 ゲーム装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 DVD−ROMドライブ
108 画像処理部
109 音声処理部
110 NIC
201 配信要求受信部
202 選定部
203 ノード情報記憶部
204 紹介部
205 配信部
206 配信用データ記憶部
301 配信要求送信部
302 経路決定部
303 データ受信部
304 配信データ記憶部
305 アドレス付加部
306 上位ノード管理部
307 再送要求部
308 データ送信部
309 受信通知返信部

Claims (8)

  1. サーバと複数のノード機器とがそれぞれに通信可能なネットワークシステムであって、
    前記サーバは、
    前記各ノード機器から送られる配信要求を受信する配信要求受信部と、
    当該配信要求を送った各ノード機器のうち、少なくとも1つを最上位のノード機器として選定する選定部と、
    選定しなかった残りの各ノード機器に、選定した当該ノード機器を紹介する紹介部と、
    選定した当該ノード機器に向けてデータを配信する配信部と、を備え、
    前記各ノード機器のそれぞれは、
    前記サーバに向けて配信要求を送信する配信要求送信部と、
    直上となる通信相手との接続、及び、直下となる通信相手との接続を含む配信経路を決定する経路決定部と、
    決定された当該配信経路に基づいて接続した直上の通信相手から配信されるデータを受信するデータ受信部と、
    当該受信したデータを、決定された当該配信経路に基づいて接続した直下の通信相手に送信するデータ送信部と、を備え、
    前記サーバに選定された前記ノード機器の前記経路決定部は、前記サーバを直上の通信相手とし、前記サーバの紹介により自己にアクセスしてきた前記ノード機器のうちの少なくとも1つを直下のノード機器として選定すると共に、残りのノード機器に当該直下のノード機器を紹介し、
    前記サーバに選定されなかった前記ノード機器の前記経路決定部は、自己が直下のノード機器として選定された際に、自己を選定した前記ノード機器を直上の通信相手とし、前記直上のノード機器の紹介により自己にアクセスしてきた前記ノード機器のうちの少なくとも1つを直下のノード機器として選定すると共に、残りのノード機器があれば、当該残りのノード機器に当該直下のノード機器を紹介し、
    前記サーバの前記選定部は、当該配信要求を最も早く送ったノード機器を最上位のノード機器として選定し、
    前記サーバに選定された前記ノード機器の前記経路決定部は、前記サーバの紹介により最も早く自己にアクセスしてきた前記ノード機器を直下の通信相手として選定し、
    前記サーバに選定されなかった前記ノード機器の前記経路決定部は、前記直上のノード機器の紹介により最も早く自己にアクセスしてきた前記ノード機器を直下の通信相手として選定し、アクセスが無かった場合に、直下の通信相手を選定しないものであり、
    前記ノード機器は、
    前記データ受信部が受信したデータに、自己のアドレスを付加するアドレス付加部と、
    当該受信したデータにすでに付加されていたアドレスに基づいて、現時点における自己よりも上位のノード機器を管理する上位ノード管理部と、をさらに備え、
    直下のノード機器を選定した前記ノード機器の前記データ送信部は、アドレスが付加されたデータを直下のノード機器に送信し、
    直下の通信相手を選定しなかった前記ノード機器は、前記データ受信部が受信したデータに付加されていた全てのアドレスおよび自己のアドレスに基づいて、現時点における実際の配信経路を示すリストを生成し、受信通知に当該リストを付加して最上位のノード機器に返信する受信通知返信部を更に備える、
    ことを特徴とするネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記ノード機器は、
    直上のノード機器との接続断により、前記データ受信部がデータを受信できなくなった場合に、前記上位ノード管理部に管理される上位のノード機器のうち、下位から順に接続を試み、接続できたノード機器にデータの再送を要求する再送要求部をさらに備え、
    前記データ受信部は、前記再送要求部が再送を要求したノード機器を新たな直上のノード機器とし、当該直上のノード機器から配信されるデータを受信する、
    ことを特徴とするネットワークシステム。
  3. 請求項1又は2に記載のネットワークシステムであって、
    前記サーバに選定された前記ノード機器の前記経路決定部は、前記サーバの紹介により自己にアクセスしてきた新たなノードに直下のノード機器を紹介し、
    前記サーバに選定されなかった前記ノード機器のうち、直下のノード機器を選定した前記ノード機器の前記経路決定部は、前記直上のノード機器の紹介により自己にアクセスしてきた新たなノード機器に、直下のノード機器を紹介し、
    前記サーバに選定されなかった前記ノード機器のうち、直下のノード機器を選定しなかった前記ノード機器の前記経路決定部は、前記直上のノード機器の紹介により自己にアクセスしてきた新たなノード機器を直下の通信相手として選定する、
    ことを特徴とするネットワークシステム。
  4. データの配信元となるサーバと、複数のノード機器とがそれぞれに通信可能なネットワークにおける各ノード機器であって、
    前記サーバに向けて配信要求を送信する配信要求送信部と、
    直上となる通信相手との接続、及び、直下となる通信相手との接続を含む配信経路を決定する経路決定部と、
    決定された当該配信経路に基づいて接続した直上の通信相手から配信されるデータを受信するデータ受信部と、
    当該受信したデータを、決定された当該配信経路に基づいて接続した直下の通信相手に送信するデータ送信部と、を備え、
    前記サーバに選定された前記ノード機器の前記経路決定部は、前記サーバを直上の通信相手とし、前記サーバの紹介により自己にアクセスしてきた前記ノード機器のうちの少なくとも1つを直下のノード機器として選定すると共に、残りのノード機器に当該直下のノード機器を紹介し、
    前記サーバに選定されなかった前記ノード機器の前記経路決定部は、自己が直下のノード機器として選定された際に、自己を選定した前記ノード機器を直上の通信相手とし、前記直上のノード機器の紹介により自己にアクセスしてきた前記ノード機器のうちの少なくとも1つを直下のノード機器として選定すると共に、残りのノード機器があれば、当該残りのノード機器に当該直下のノード機器を紹介し、
    前記サーバに配信要求を最も早く送ったノード機器が最上位のノード機器として選定されるものであり、
    前記サーバに選定された前記ノード機器の前記経路決定部は、前記サーバの紹介により最も早く自己にアクセスしてきた前記ノード機器を直下の通信相手として選定し、
    前記サーバに選定されなかった前記ノード機器の前記経路決定部は、前記直上のノード機器の紹介により最も早く自己にアクセスしてきた前記ノード機器を直下の通信相手として選定し、アクセスが無かった場合に、直下の通信相手を選定しないものであり、
    前記データ受信部が受信したデータに、自己のアドレスを付加するアドレス付加部と、
    当該受信したデータにすでに付加されていたアドレスに基づいて、現時点における自己よりも上位のノード機器を管理する上位ノード管理部と、をさらに備え、
    直下のノード機器を選定した前記ノード機器の前記データ送信部は、アドレスが付加されたデータを直下のノード機器に送信し、
    直下の通信相手を選定しなかった前記ノード機器は、前記データ受信部が受信したデータに付加されていた全てのアドレスおよび自己のアドレスに基づいて、現時点における実際の配信経路を示すリストを生成し、受信通知に当該リストを付加して最上位のノード機器に返信する受信通知返信部を更に備える、
    ことを特徴とするノード機器。
  5. 請求項4に記載のノード機器であって、
    直上のノード機器との接続断により、前記データ受信部がデータを受信できなくなった場合に、前記上位ノード管理部に管理される上位のノード機器のうち、下位から順に接続を試み、接続できたノード機器にデータの再送を要求する再送要求部をさらに備え、
    前記データ受信部は、前記再送要求部が再送を要求したノード機器を新たな直上のノード機器とし、当該直上のノード機器から配信されるデータを受信する、
    ことを特徴とするノード機器。
  6. 請求項4又は5に記載のノード機器であって、
    前記サーバに選定された前記ノード機器の前記経路決定部は、前記サーバの紹介により自己にアクセスしてきた新たなノードに直下のノード機器を紹介し、
    前記サーバに選定されなかった前記ノード機器のうち、直下のノード機器を選定した前記ノード機器の前記経路決定部は、前記直上のノード機器の紹介によりアクセスしてきた新たなノード機器に、直下のノード機器を紹介し、
    前記サーバに選定されなかった前記ノード機器のうち、直下のノード機器を選定しなかった前記ノード機器の前記経路決定部は、前記直上のノード機器の紹介によりアクセスしてきた新たなノード機器を直下の通信相手として選定する、
    ことを特徴とするノード機器。
  7. サーバと複数のノード機器とがそれぞれに通信可能なネットワークシステムにおけるデータ配信方法であって、
    前記サーバが行う、前記各ノード機器から送られる配信要求を受信する配信要求受信ステップと、
    前記サーバが行う、当該配信要求を送った各ノード機器のうち、少なくとも1つを最上位のノード機器として選定する選定ステップと、
    前記サーバが行う、選定しなかった残りの各ノード機器に、選定した当該ノード機器を紹介する紹介ステップと、
    前記サーバが行う、選定した当該ノード機器に向けてデータを配信する配信ステップと、
    前記各ノード機器が行う、前記サーバに向けて配信要求を送信する配信要求送信ステップと、
    前記各ノード機器が行う、直上となる通信相手との接続、及び、直下となる通信相手との接続を含む配信経路を決定する経路決定ステップと、
    前記各ノード機器が行う、決定された当該配信経路に基づいて接続した直上の通信相手から配信されるデータを受信するデータ受信ステップと、
    前記各ノード機器が行う、当該受信したデータを、決定された当該配信経路に基づいて接続した直下の通信相手に送信するデータ送信ステップと、を備え、
    前記サーバに選定された前記ノード機器が行う前記経路決定ステップは、前記サーバを直上の通信相手とし、前記サーバの紹介により自己にアクセスしてきた前記ノード機器のうちの少なくとも1つを直下のノード機器として選定すると共に、残りのノード機器に当該直下のノード機器を紹介し、
    前記サーバに選定されなかった前記ノード機器が行う前記経路決定ステップは、自己が直下のノード機器として選定された際に、自己を選定した前記ノード機器を直上の通信相手とし、前記直上のノード機器の紹介により自己にアクセスしてきた前記ノード機器のうちの少なくとも1つを直下のノード機器として選定すると共に、残りのノード機器があれば、当該残りのノード機器に当該直下のノード機器を紹介し、
    前記サーバが行う前記選定ステップでは、当該配信要求を最も早く送ったノード機器を最上位のノード機器として選定し、
    前記サーバに選定された前記ノード機器が行う前記経路決定ステップでは、前記サーバの紹介により最も早く自己にアクセスしてきた前記ノード機器を直下の通信相手として選定し、
    前記サーバに選定されなかった前記ノード機器が行う前記経路決定ステップでは、前記直上のノード機器の紹介により最も早く自己にアクセスしてきた前記ノード機器を直下の通信相手として選定し、アクセスが無かった場合に、直下の通信相手を選定しないものであり、
    前記ノード機器が行う、前記データ受信部が受信したデータに、自己のアドレスを付加するアドレス付加ステップと、
    前記ノード機器が行う、当該受信したデータにすでに付加されていたアドレスに基づいて、現時点における自己よりも上位のノード機器を管理する上位ノード管理ステップと、をさらに備え、
    直下のノード機器を選定した前記ノード機器が行う前記データステップでは、アドレスが付加されたデータを直下のノード機器に送信し、
    直下の通信相手を選定しなかった前記ノード機器が行う、前記データ受信ステップが受信したデータに付加されていた全てのアドレスおよび自己のアドレスに基づいて、現時点における実際の配信経路を示すリストを生成し、受信通知に当該リストを付加して最上位のノード機器に返信する受信通知返信ステップを更に備える、
    ことを特徴とするデータ配信方法。
  8. データの配信元となるサーバと、複数のコンピュータとがそれぞれに通信可能なネットワークにおける各コンピュータを、
    前記サーバに向けて配信要求を送信する配信要求送信部、
    直上となる通信相手との接続、及び、直下となる通信相手との接続を含む配信経路を決定する経路決定部、
    決定された当該配信経路に基づいて接続した直上の通信相手から配信されるデータを受信するデータ受信部、
    当該受信したデータを、決定された当該配信経路に基づいて接続した直下の通信相手に送信するデータ送信部、として機能させ、
    前記サーバに選定された前記コンピュータの前記経路決定部は、前記サーバを直上の通信相手とし、前記サーバの紹介により自己にアクセスしてきた前記コンピュータのうちの少なくとも1つを直下のコンピュータとして選定すると共に、残りのコンピュータに当該直下のコンピュータを紹介し、
    前記サーバに選定されなかった前記コンピュータの前記経路決定部は、自己が直下のコンピュータとして選定された際に、自己を選定した前記コンピュータを直上の通信相手とし、前記直上のコンピュータの紹介により自己にアクセスしてきた前記コンピュータのうちの少なくとも1つを直下のコンピュータとして選定すると共に、残りのコンピュータがあれば、当該残りのコンピュータに当該直下のコンピュータを紹介し、
    前記サーバに選定された前記コンピュータの前記経路決定部は、前記サーバの紹介により最も早く自己にアクセスしてきた前記コンピュータを直下の通信相手として選定し、
    前記サーバに選定されなかった前記コンピュータの前記経路決定部は、前記直上のコンピュータの紹介により最も早く自己にアクセスしてきた前記コンピュータを直下の通信相手として選定し、アクセスが無かった場合に、直下の通信相手を選定しないように機能させ、
    前記データ受信部が受信したデータに、自己のアドレスを付加するアドレス付加部、
    当該受信したデータにすでに付加されていたアドレスに基づいて、現時点における自己よりも上位のコンピュータを管理する上位ノード管理部、としてさらに機能させ、
    直下のコンピュータを選定した前記コンピュータの前記データ送信部は、アドレスが付加されたデータを直下のコンピュータに送信し、
    直下の通信相手を選定しなかった前記コンピュータは、前記データ受信部が受信したデータに付加されていた全てのアドレスおよび自己のアドレスに基づいて、現時点における実際の配信経路を示すリストを生成し、受信通知に当該リストを付加して最上位のコンピュータに返信する受信通知返信部として更に機能させる、
    ことを特徴とするプログラム。
JP2007189149A 2007-07-20 2007-07-20 ネットワークシステム、ノード機器、データ配信方法、および、プログラム Active JP4637145B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2007189149A JP4637145B2 (ja) 2007-07-20 2007-07-20 ネットワークシステム、ノード機器、データ配信方法、および、プログラム
KR20097020896A KR101087089B1 (ko) 2007-07-20 2008-07-08 네트워크 시스템, 노드 기기, 데이터 송신방법, 정보기록매체 및 프로그램
EP20080790967 EP2172846A1 (en) 2007-07-20 2008-07-08 Network system, node device, data distribution method, information recording medium, and program
PCT/JP2008/062330 WO2009013999A1 (ja) 2007-07-20 2008-07-08 ネットワークシステム、ノード機器、データ配信方法、情報記録媒体、および、プログラム
CN2008800047829A CN101627374B (zh) 2007-07-20 2008-07-08 网络***、节点设备及数据分发方法
US12/669,623 US20100183017A1 (en) 2007-07-20 2008-07-08 Network System, Node Device, Data Distribution Method, Information Recording Medium, and Program
TW97127268A TW200909036A (en) 2007-07-20 2008-07-18 Network system, node device, method for distributing data, and information recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007189149A JP4637145B2 (ja) 2007-07-20 2007-07-20 ネットワークシステム、ノード機器、データ配信方法、および、プログラム

Publications (2)

Publication Number Publication Date
JP2009026107A JP2009026107A (ja) 2009-02-05
JP4637145B2 true JP4637145B2 (ja) 2011-02-23

Family

ID=40281257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007189149A Active JP4637145B2 (ja) 2007-07-20 2007-07-20 ネットワークシステム、ノード機器、データ配信方法、および、プログラム

Country Status (7)

Country Link
US (1) US20100183017A1 (ja)
EP (1) EP2172846A1 (ja)
JP (1) JP4637145B2 (ja)
KR (1) KR101087089B1 (ja)
CN (1) CN101627374B (ja)
TW (1) TW200909036A (ja)
WO (1) WO2009013999A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012238095A (ja) * 2011-05-10 2012-12-06 Nippon Telegr & Teleph Corp <Ntt> ソフトウェアイメージ配信方法、ソフトウェアイメージ配信システムおよびそのプログラム
JP6041042B2 (ja) * 2013-03-07 2016-12-07 富士通株式会社 データ収集方法、システム、およびデータ収集プログラム
CN103546559B (zh) * 2013-10-24 2018-02-02 网宿科技股份有限公司 数据分发方法和装置
US10057263B2 (en) * 2016-03-01 2018-08-21 Cay JEGLINSKI Application management system
CN117255129A (zh) * 2022-06-10 2023-12-19 戴尔产品有限公司 镜像部署方法、服务器和***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003521161A (ja) * 2000-01-17 2003-07-08 イージースィー アンド スィー カンパニー リミテッド 階層的構造に基づくインターネット・ブロードキャスティング・データを提供するシステム及び方法
JP2006065660A (ja) * 2004-08-27 2006-03-09 Sony Corp 端末機器、情報配信サーバ、および情報配信方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19531609A1 (de) * 1994-09-13 1996-03-28 Siemens Ag Verfahren zur Verkehrslenkung in einem Kommunikationsnetz
US6973491B1 (en) * 2000-08-09 2005-12-06 Sun Microsystems, Inc. System and method for monitoring and managing system assets and asset configurations
US6975589B2 (en) * 2000-12-30 2005-12-13 Redback Networks Inc. Method and apparatus for a hybrid variable rate pipe
US7181547B1 (en) * 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
JP2004287631A (ja) 2003-03-20 2004-10-14 Konami Co Ltd ダウンロードサービスシステム、端末、指令列の実行方法、ならびに、プログラム
JP2005198201A (ja) * 2004-01-09 2005-07-21 Ntt Docomo Inc ネットワークトポロジー構成方法及びノード
US8099482B2 (en) * 2004-10-01 2012-01-17 E-Cast Inc. Prioritized content download for an entertainment device
JP4487186B2 (ja) * 2004-10-08 2010-06-23 ソニー株式会社 データ取得提供プログラム
EP1659488A1 (en) * 2004-11-17 2006-05-24 Alcatel Method of providing software components to nodes in a telecommunication network
JP2006287919A (ja) * 2005-03-08 2006-10-19 Nec Corp 通信ネットワーク、コンテンツ配信ノード、ツリー構築方法、コンテンツ配信制御プログラム
JP4073923B2 (ja) * 2005-03-30 2008-04-09 富士通株式会社 ネットワーク機器管理装置、ネットワーク機器管理プログラム、及びネットワーク機器管理方法
JP2006293700A (ja) * 2005-04-11 2006-10-26 Ntt Docomo Inc 通信装置、及び、コンテンツ配信方法
JP4604919B2 (ja) * 2005-08-31 2011-01-05 ブラザー工業株式会社 コンテンツ配信システム、コンテンツ配信方法、接続管理装置、配信装置、端末装置、及びそのプログラム
JP2007189149A (ja) 2006-01-16 2007-07-26 Toshiba Corp 磁気記憶装置及びその製造方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003521161A (ja) * 2000-01-17 2003-07-08 イージースィー アンド スィー カンパニー リミテッド 階層的構造に基づくインターネット・ブロードキャスティング・データを提供するシステム及び方法
JP2006065660A (ja) * 2004-08-27 2006-03-09 Sony Corp 端末機器、情報配信サーバ、および情報配信方法

Also Published As

Publication number Publication date
JP2009026107A (ja) 2009-02-05
WO2009013999A1 (ja) 2009-01-29
EP2172846A1 (en) 2010-04-07
US20100183017A1 (en) 2010-07-22
CN101627374A (zh) 2010-01-13
KR20090130371A (ko) 2009-12-23
CN101627374B (zh) 2012-05-23
TW200909036A (en) 2009-03-01
KR101087089B1 (ko) 2011-11-25

Similar Documents

Publication Publication Date Title
US9204180B2 (en) Method, server and terminal for audio and video on demand
US8019823B2 (en) Method, system and device for increasing multimedia messaging service system capacity
US8898245B2 (en) Extending memory capacity of a mobile device using proximate devices and unicasting
JP4637145B2 (ja) ネットワークシステム、ノード機器、データ配信方法、および、プログラム
CN114095557B (zh) 数据处理方法、装置、设备以及介质
US20220258041A1 (en) Account connecting method and apparatus, storage medium, and electronic device
JP2003179642A (ja) データ伝送システム、情報処理装置および方法、中継装置および方法、記録媒体、並びにプログラム
CN104539531A (zh) 数据传输方法及装置
CN110933036B (zh) 一种云游戏服务***和服务器
JP2005322107A (ja) 負荷分散装置及びプログラム
US9723100B2 (en) Extending memory capacity of a mobile device using proximate devices and multicasting
US8619631B2 (en) Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program
JP2023547256A (ja) データダウンロード方法、装置、及びコンピュータ機器
JP4785900B2 (ja) ネットワークシステム、サーバ装置、負荷軽減方法、および、プログラム
JP2007193602A (ja) ストリーム・データ配信管理方法及び装置
JP3916601B2 (ja) 通信システム、サーバ装置、端末、サービス方法、端末方法、および、プログラム
JP2007207013A (ja) 情報処理装置、情報共有プログラム
JP5250065B2 (ja) 配信システム、端末装置、配信方法、端末方法、並びにプログラム
JP3930849B2 (ja) 通信システム、ゲートウェイ装置、データ中継方法、および、プログラム
KR20210064222A (ko) 비디오 품질을 유지하면서 비디오 비트 레이트를 향상시키는 기법
JP2003345692A (ja) 情報処理装置および方法、情報管理装置および方法、記録媒体、並びにプログラム
CN105359485A (zh) 由客户终端获得多媒体内容的内容部分的方法
JP5222899B2 (ja) ゲームシステム、サーバ装置、ログイン方法、ならびに、プログラム
JP2005197767A (ja) ノード装置、通信システム、ノード方法、ならびに、プログラム
JP2011192132A (ja) 情報通信システム、ノード装置、情報通信方法、及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101008

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101122

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

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4637145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250