JP5673268B2 - 通信装置、およびプログラム - Google Patents

通信装置、およびプログラム Download PDF

Info

Publication number
JP5673268B2
JP5673268B2 JP2011062779A JP2011062779A JP5673268B2 JP 5673268 B2 JP5673268 B2 JP 5673268B2 JP 2011062779 A JP2011062779 A JP 2011062779A JP 2011062779 A JP2011062779 A JP 2011062779A JP 5673268 B2 JP5673268 B2 JP 5673268B2
Authority
JP
Japan
Prior art keywords
communication device
communication
data
downstream
data distribution
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
JP2011062779A
Other languages
English (en)
Other versions
JP2011229132A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2011062779A priority Critical patent/JP5673268B2/ja
Priority to PCT/JP2011/057252 priority patent/WO2011122452A1/ja
Priority to CN201180006121.1A priority patent/CN102714630B/zh
Publication of JP2011229132A publication Critical patent/JP2011229132A/ja
Application granted granted Critical
Publication of JP5673268B2 publication Critical patent/JP5673268B2/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、電子ファイルなどのデータを複数のユーザに共有させる技術に関し、特に、共有対象のデータの配信によりそのデータを共有させる技術に関する。
企業等においては、支社などの各拠点に敷設されるLAN(Local Area Network:以下、拠点内LAN)をルータなどの中継装置を用いて一般公衆網(例えば、インターネットなど)に接続して全社的な情報システムを構築することが一般に行われている。このような情報システムにおいては、同一データを複数の拠点へ配信し、各拠点の従業者にそのデータを共有させることができると便利である。このような形態のデータ配信を行うことができると、例えば、複数の拠点を跨いで開催される遠隔プレゼンテーションにて使用する資料の電子ファイルを各参加者が勤務する拠点に事前に配布しておくことができるからである。
従来、複数の拠点への同一データの配信はサーバ・クライアント型のデータ通信で実現されることが多かった。ここで、サーバ・クライアント型のデータ通信とは、例えば、共有対象のデータを記憶するサーバ装置を何れかの拠点内LANに接続しておき、各ユーザの利用する通信端末(クライアント装置)からのリクエストに応じて当該データをサーバ装置からそのクライアント装置へ送信したり、所定のタイミングでサーバ装置から全てのクライアント装置へ当該データを同報送信したりする態様のデータ通信をいう。また、近年では、所謂P2P(Point To Pointの意味)技術を用いてファイルを拡散させてゆく方法も提案されている。P2P技術においては、各通信装置の役割がサーバ(或いはクライアント)と明確に固定されているのではなく、クライアントとしてデータを受信した通信装置がそれ以降は他の通信装置へデータを配信するサーバの役割を担うといった点がサーバ・クライアント型のデータ通信と異なる。また、特許文献1には、ツリー状(木構造)のトポロジを有するデータ配信経路を回線交換方式で各通信装置に順次確立させ、そのデータ配信経路に沿ってデータを配信する技術が開示されており、特許文献2にはマルチキャストによりデータの同報送信を実現する際のマルチキャストツリーを各通信装置が利用可能な帯域幅に応じて公平に決定する技術が開示されている。
特開平11−055258号公報 特開2009−213120号公報
しかし、サーバ・クライアント型のデータ通信には、アベイラビリティ(可用性)が低いといった問題がある。何故ならば、サーバ・クライアント型のデータ通信では、サーバに何らかの異常が発生するとデータの配信を全く行えなくなるからである。また、サーバに負荷が集中して輻輳を発生させる虞があり、大規模システムへの適用が難しく、スケーラビリティ(クライアント数の増加への対応余力)も低いといった問題もある。一方、P2P形式の通信態様では、サーバ・クライアント型の問題点は解消されるものの、取得するべきデータに関する情報を各拠点に事前に通知したり、全ての拠点にデータが行き渡ったか否かを確認したりするといった拠点管理を行うことが難しいといった問題がある。
また、特許文献1に開示された技術では、回線交換方式で各通信装置を接続するため、同時に複数の拠点へデータを配信することができず、全ての拠点へのデータ配信を完了するまでに長い時間を要するといった問題がある。加えて、特許文献1に開示された技術では無線回線交換により各通信装置を接続することを前提としているため、上述のような企業内情報システムに常に採用することができるとは限らない。そして、特許文献2に開示された技術では、データ配信経路を構築するためにフルメッシュの通信(すなわち参加する全ての装置同士が帯域情報や遅延情報をやりとりする)を行う必要があり、大量の制御メッセージの送受信やデータ配信経路構築のための計算処理によって各通信装置に大きな処理負荷がかかるといった問題がある。
本発明は、上記課題に鑑みて為されたものであり、特定の通信装置に過大な負荷がかかることを回避しつつ、共有対象のデータを短時間のうちに各通信装置へ行き渡らせることを可能にする技術を提供することを目的とする。
上記課題を解決するために、本発明は、通信ネットワークを介して1または複数の他の通信装置とともにツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側のものから下流側に向けて前記データ配信経路を経由して共有対象のデータを順次配信するデータ共有グループを構成する通信装置であって、前記データ配信経路において当該通信装置の直下に位置する下流側通信装置として配置するべき1または複数の通信装置を前記1または複数の他の通信装置のうちから選択する選択手段と、前記選択手段により選択した下流側通信装置に対して、当該下流側通信装置にとっての下流側通信装置を選択することを指示する指示手段と、前記データ配信経路において当該通信装置の直上に位置する上流側通信装置から配信された共有対象のデータを前記選択手段にて選択した下流側通信装置に転送するデータ転送手段と、を備え、前記選択手段乃至前記指示手段により、当該通信装置から1階層分の前記データ配信経路を形成することを特徴とする通信装置、を提供する。
このような通信装置によれば、ツリー状のデータ配信経路における起点(根(ルート)ノード)および中間ノード(ルートノードではなく、かつ、直下に1または複数の通信装置が配置されるノード)の役割を果たす通信装置のそれぞれが、上記ツリー状のデータ配信経路の決定に寄与するため、データ共有グループに属する通信装置のうちの特定のものに負荷が集中することはなく、輻輳も発生しにくくなる。また、本発明によれば、特定の通信装置に負荷が集中することはないため、サーバ・クライアント方式の通信システムに比較してスケーラビリティが高くなる。
好ましい態様においては、上記通信装置は、前記データ配信経路において当該通信装置よりも下流側に配置される1または複数の通信装置を表すリストを保持するリスト保持手段と、前記リスト保持手段に保持されているリストの表す1または複数の通信装置から前記選択手段により選択した下流側通信装置を除いたものを表す他のリストを、前記リスト保持手段に保持されているリストに基づいて生成し、前記選択手段により選択した下流側通信装置に対して、当該生成したリストを通知するリスト生成・通知手段と、を有することを特徴とする。このような態様においては、起点として動作する通信装置は、リスト保持手段に保持されているリストに基づいて下流側通信装置を選択する。
さらに好ましい態様としては、上記選択手段は、前記データ配信経路において当該通信装置よりも上流側に配置される通信装置からの指示に応じて下流側通信装置を選択する態様が考えられる。このような態様においては、中間ノードとして動作する各通信装置は、データ配信経路において当該通信装置の直上に位置する通信装置である上流側通信装置から通知されたリストに基づいて下流側通信装置を選択することが可能になる。
また、別の好ましい態様においては、上記通信装置は、さらに、前記通信ネットワークに接続し前記1または複数の他の通信装置の各々と相互に通信するための第1の通信手段と、1または複数のネットワーク機器と通信するための第2の通信手段と、当該通信装置の上流側通信装置から配信され前記第1の通信手段によって受信された共有対象のデータを記憶する共有対象データ記憶手段と、前記第2の通信手段を介して前記ネットワーク機器から受信した要求に応じて、前記共有対象データ記憶手段に記憶させた前記共有対象のデータを当該ネットワーク機器に提供するデータ配信手段と、を備え、前記データ配信手段は、前記第1の通信手段を介して上流側通信装置から受信した前記共有対象のデータを、前記選択手段により選択した下流側通信装置に前記第1の通信手段を介して配信することを特徴とする。
このような態様によれば、共有データ記憶手段に記憶されたデータは、選択手段により選択された下流側通信装置に配信(転送)される一方、第2の通信手段に接続されているネットワーク機器からのリクエストに応じてそれらネットワーク機器に提供される。各通信装置間の通信方式は回線交換方式に限定されるものではないから、例えばパケット交換方式を採用することにより、所謂オーバレイネットワークを構築して複数の宛先へのデータの同時配信を行うことができる。このため、本発明によれば、特許文献1に開示された技術やP2P型の通信システムに比較して、データ共有グループに属する全ての通信装置に対して短時間のうちに確実にデータを行き渡らせることができる。また、上記データ配信経路の決定の際にフルメッシュの通信を行う必要もないから、特許文献2に開示された技術に比較して各通信装置に過大な処理負荷がかかることもない。
好ましい態様においては、上記通信装置は、前記選択手段によって下流側通信装置として選択された1の通信装置が前記データ共有グループから離脱したこと、を検知する離脱検知手段を備え、前記選択手段は、前記離脱検知手段により前記データ共有グループからの離脱を検知された下流側通信装置のさらに下流に配置された1乃至複数の通信装置のうちから、当該通信装置に対して下流側通信装置としてデータ配信経路上に配置するべき、1乃至複数の通信装置を選択することを特徴とする。このような態様によれば、データ共有グループから離脱した下流側通信装置のさらに下流に当該データ共有グループに属する通信装置がある場合に、それら通信装置を組み込んでデータ配信経路を再構築することが可能になる。
他の好ましい態様においては、上記通信装置は、前記データ配信経路において当該通信装置よりも下流側に配置された通信装置が前記データ共有グループから離脱したことを検知する離脱検知手段を備え、前記指示手段は、前記離脱検知手段により前記データ共有グループからの離脱を検知された通信装置の上流に配置された通信装置に対して下流側通信装置を選択するよう指示することを特徴とする。このような態様によっても、データ共有グループから離脱した通信装置のさらに下流に当該データ共有グループに属する通信装置がある場合に、それら通信装置を組み込んでデータ配信経路を再構築することが可能になる。
他の好ましい態様においては、上記通信装置は、当該通信装置が前記データ配信経路の起点に位置する通信装置によって下流側通信装置として選択された場合において、当該起点に位置する通信装置が前記データ共有グループから離脱したことを検知する離脱検知手段を備え、前記選択手段は、前記データ配信経路の起点に位置する通信装置が前記データ共有グループから離脱したことを前記離脱検知手段により検知した場合には、当該通信装置が前記データ配信経路の新たな起点となって下流側通信装置を選択することを特徴とする。このような態様によれば、データ配信経路の起点となっていた通信装置がデータ共有グループから離脱した場合に、本態様の通信装置を起点とする新たなデータ配信経路を構築することができる。
他の好ましい態様においては、上記通信装置は、さらに、前記データ配信経路において中間ノードの役割を担っていた上流側通信装置が前記データ共有グループから離脱したことを検知する離脱検知手段と、前記離脱検知手段により前記データ共有グループからの離脱が検知された上流側通信装置に関する情報をさらに上流の他の通信装置に通知する手段とを有することを特徴とする。このような態様によれば、中間ノードの役割を担っていた通信装置がデータ共有グループから離脱した場合に、さらに上流側の通信装置に下流側通信装置を選択し直させ、データ配信経路を再構築することが可能になる。
ここで、データ共有グループからの通信装置の離脱を検知するための具体的な態様としては種々の態様が考えられる。第1に、上記通信装置の離脱検知手段は、前記データ共有グループから離脱しようとする通信装置から離脱要求を受け取ったことに応じて、当該要求元の通信装置の前記データ共有グループからの離脱を検知する態様が考えられる。第2に、上記離脱検知手段は、前記データ配信経路において前記データ共有グループから離脱した通信装置の下流側に配置された通信装置から離脱通知を受け取ったことに応じて、当該通知元の上流側に配置された通信装置が前記データ共有グループから離脱したことを検知する態様が考えられる。
他の好ましい態様においては、上記通信装置は、さらに、優先順位を記憶した優先順位記憶手段と、他の通信装置の優先順位記憶手段に記憶されている優先順位を前記通信ネットワークを介して取得する優先順位取得手段と、を備え、前記選択手段は、前記優先順位取得手段により取得された優先順位に基づいて下流側通信装置を選択することを特徴とする。例えば、処理能力の高さや通信ネットワークにて利用可能な帯域幅の広さといったデータ伝送能力を指標化して上記優先順位を定め、これに基づいて(例えば、優先順位が高い順に)下流側通信装置を選択するようにすれば、データ配信経路の上流側においてボトルネックが発生しにくくなり、簡易なアルゴリズムで通信効率の高いデータ配信経路を構築し、当該構築されたデータ配信経路にて短時間にデータ配信を完了することが可能になる。
他の好ましい態様においては、上記通信装置は、さらに、前記優先順位記憶手段に記憶された優先順位と前記優先順位取得手段により取得された優先順位とに基づいて、当該通信装置の優先順位が最も高いか否かを判定する判定手段、を備え、当該通信装置の優先順位が最も高いと前記判定手段により判定された場合に、当該通信装置が前記データ配信経路の起点となることを特徴とする。このような態様によれば、データ共有グループに属する通信装置のうちで最も優先順位の高いもの(前述したようにデータ伝送能力に応じて優先順位を定めれば、最もデータ伝送能力が高いもの)を起点としてデータ配信経路を構築することが可能になる。
他の好ましい態様においては、上記通信装置は、前記データ共有グループに属さない他の通信装置から前記データ共有グループへの参加要求を受け取る手段を備え、当該通信装置が前記データ共有グループの起点である場合には、前記優先順位取得手段は前記参加要求を行った通信装置の優先順位を取得し、前記参加要求を行った通信装置の優先順位が当該通信装置の優先順位よりも高いか否かを前記判定手段によって判定し、前記参加要求を行った通信装置の優先順位が高いと前記判定手段によって判定された場合には、前記参加要求を行った通信装置に対して前記データ配信経路の新たな起点となるよう前記参加要求を行った通信装置に指示することを特徴とする。このような態様によれば、データ共有グループに参加中の通信装置および参加要求を行った通信装置のうちで最も優先順位の高いもの(前述したようにデータ伝送能力に応じて優先順位を定めれば、最もデータ伝送能力が高いもの)を起点としてデータ配信経路を構築し直すことが可能になる。
他の好ましい態様においては、上記通信装置は、前記データ共有グループに属さない他の通信装置から前記データ共有グループへの参加要求を受け取る手段を備え、当該通信装置が前記データ共有グループの起点である場合には、前記優先順位取得手段は前記参加要求を行った通信装置の優先順位を取得し、前記参加要求を行った通信装置の優先順位が当該通信装置の優先順位よりも高いか否かを前記判定手段によって判定し、前記参加要求を行った通信装置の優先順位が高いと前記判定手段によって判定された場合には、前記データ配信経路の新たな起点となるよう前記参加要求を行った通信装置に指示し、当該通信装置の優先順位が高いと前記判定手段によって判定された場合には、自装置の下流側通信装置のなかに前記参加要求を行った通信装置よりも優先順位の低いものがあるか否かを判定し、該当するものがある場合には、該当する下流側通信装置に換えて前記参加要求を行った通信装置を新たな下流側通信装置として選択し直した後に、自装置の下流側通信装置のうちの1つに対して、上流側通信装置が未定の通信装置のうちから下流側通信装置を選択すべきことを指示する一方、該当する通信装置がない場合には自装置の下流側通信装置のうちの1つに対して前記参加要求を行った通信装置を下流側通信装置として選択すべきことを指示することを特徴とする。このような態様によれば、データ共有グループに参加中の通信装置および参加要求を行った通信装置のうちで最も優先順位の高いもの(前述したようにデータ伝送能力に応じて優先順位を定めれば、最もデータ伝送能力が高いもの)を起点とし、かつ、優先順位の高いものほど上流側に位置するようにデータ配信経路を再構築することが可能になる。
他の好ましい態様においては、上記通信装置は、前記データ共有グループへの参加を要求する手段を備え、前記データ共有グループへの参加要求に対する応答として前記データ配信経路の起点の通信装置から、起点の交代を指示する応答を受け取った場合に、前記選択手段は、当該応答の送信元の通信装置を下流側通信装置として選択し、当該通信装置が前記データ配信経路の新たな起点となることを特徴とする。このような態様によっても、データ共有グループに参加中の通信装置および参加要求を行った通信装置のうちで最も優先順位の高いもの(前述したようにデータ伝送能力に応じて優先順位を定めれば、最もデータ伝送能力が高いもの)を起点としてデータ配信経路を再構築することが可能になる。
他の好ましい態様においては、上記通信装置は、前記第1の通信手段または前記第2の通信手段を介して受信したデータを当該データに付加されている宛先情報に基づいて前記データ共有グループに属する他の通信装置、または前記ネットワーク機器に転送するルーティング手段をさらに備えることを特徴とする。このような態様においては上記通信装置は例えばルータなどの中継装置の役割を果たすこととなる。
また、上記課題を解決するために、本発明は、通信ネットワークを介して相互に接続された複数の通信装置がツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側通信装置から下流側通信装置に対して前記データ配信経路を経由して共有対象のデータを順次配信する、データ共有グループを構成する通信システムであって、各通信装置は、当該通信装置に対して前記下流側通信装置として前記データ配信経路上に配置すべき1乃至複数の通信装置を選択する選択手段と、前記選択手段により選択した下流側通信装置に対して、当該下流側通信装置がさらに下流側通信装置を選択するよう指示する指示手段と、前記データ配信経路において当該通信装置の直上に位置する他の通信装置から配信された共有対象データを前記選択手段により選択した下流側通信装置に転送するデータ配信手段と、を備え、前記データ配信経路の起点となる通信装置から順次下流側通信装置を選択することにより、通信装置毎に1階層分の前記データ配信経路が順次形成されることを特徴とする通信システム、を提供する。このような通信システムによっても、ツリー状のデータ配信経路におけるルートノード(起点)および中間ノードの役割を果たす通信装置のそれぞれが、上記ツリー状のデータ配信経路の決定に寄与するため、データ共有グループに属する通信装置のうちの特定のものに負荷が集中することはなく、輻輳も発生しにくくなる。また、当該通信システムにおいても特定の通信装置に負荷が集中することはないため、サーバ・クライアント方式の通信システムに比較してスケーラビリティが高くなる。
好ましい態様においては、上記通信システムの各通信装置は、前記データ配信経路において当該通信装置よりも下流側に配置される1または複数の通信装置を表すリストを保持するリスト保持手段と、前記リスト保持手段に保持されているリストの表す1または複数の通信装置から前記選択手段により選択した下流側通信装置を除いたものを表す他のリストを、前記リスト保持手段に保持されているリストに基づいて生成し、前記選択手段により選択した下流側通信装置に対して、当該生成したリストを通知するリスト生成・通知手段と、を有することを特徴とする。このような態様によっても、起点として動作する通信装置には、リスト保持手段に保持されているリストに基づいて下流側通信装置を選択させるとともに、中間ノードとして動作する各通信装置には、その上流側通信装置から通知されたリストに基づいて下流側通信装置を選択させることが可能になる。
他の好ましい態様においては、上記通信システムの各通信装置にはそれぞれ優先順位が割り当てられているとともに、前記複数の通信装置の内、前記優先順位に基づいて1の通信装置が前記データ配信経路の起点となり、各通信装置は、前記優先順位に基づいて各々の下流側通信装置を選択することを特徴とする。前述したように、データ伝送能力が高い通信装置ほど高い優先順位を割り当てておき、最も優先順位の高いものが起点となり、優先順位の高いものほど上流側に位置するように下流側通信装置の選択が行われるようにすれば、データ配信経路の上流側においてボトルネックが発生しにくくなり、簡易なアルゴリズムで通信効率の高いデータ配信経路を構築することが可能になる。
他の好ましい態様においては、上記通信システムの各通信装置は、前記通信ネットワークに接続し他の通信装置と相互に通信するための第1の通信手段と、1乃至複数のネットワーク機器と通信するための第2の通信手段と、前記第1の通信手段を介して上流側通信装置から受信した共有対象データを記憶する共有対象データ記憶手段と、前記共有対象データ記憶手段に記憶した共有対象データを前記ネットワーク機器からの要求に応じて当該ネットワーク機器に提供する手段と、を備え、前記データ配信手段は、前記第1の通信手段を介して上流側通信装置から受信した共有対象データを前記選択手段により選択した下流側通信装置に前記第1の通信手段を介して配信する手段であり、各通信装置の前記共有対象データ記憶手段に記憶された共有対象データを、前記データ共有グループに属する何れかの通信装置に接続された前記ネットワーク機器において共有することを特徴とする。このような態様によれば、上記データ配信経路経由のデータ配信を短時間に完了することが可能になる。
また別の好ましい態様においては、上記通信システムの各通信装置は、前記第1の通信手段乃至前記第2の通信手段を介して受信したデータを当該データに付加された宛先情報に基づいて前記他の通信装置または前記ネットワーク機器に転送するルーティング手段を備えたことを特徴とする。このような態様においては上記各通信装置は、例えばルータなどの中継装置の役割を果たすこととなる。
また、上記課題を解決するために本発明は、通信ネットワークを介して相互に接続された複数の通信装置が、ツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側通信装置から下流側通信装置に対して、前記データ配信経路を経由して共有対象のデータを順次配信する、データ共有グループを構成する通信方法であって、各通信装置は、制御手段と、前記通信ネットワークに接続し他の通信装置と相互に通信するための第1の通信手段と、を有しており、前記制御手段が、当該通信装置に対して前記下流側通信装置として前記データ配信経路上に配置すべき1乃至複数の通信装置を選択する選択手順と、前記選択手順にしたがって選択された下流側通信装置に対して、該下流側通信装置がさらに下流側通信装置を選択するよう指示する指示手順と、前記データ配信経路において当該通信装置の直上に位置する他の通信装置から配信された共有対象データを前記選択手順にしたがって選択した下流側通信装置に転送するデータ配信手順と、を実行し、前記選択手順乃至指示手順によって、当該通信装置から1階層分の前記データ配信経路を形成することを特徴とする通信方法、を提供する。このような通信方法によっても、ツリー状(木構造)のデータ配信経路におけるルートノード(起点)および中間ノードの役割を果たす通信装置のそれぞれが上記ツリー状のデータ配信経路の決定に寄与するため、データ共有グループに属する通信装置のうちの特定のものに負荷が集中することはなく、輻輳も発生しにくくなる。
他の好ましい態様においては、上記通信方法によって各々1階層分のデータ配信経路を形成する各通信装置は、前記データ配信経路において当該通信装置よりも下流側に配置される1乃至複数の通信装置を表すリストを保持するリスト保持手段を有しており、前記制御手段は、前記選択手順にしたがって選択した下流側通信装置を除く1乃至複数の通信装置のリストを前記リスト保持手段に保持されているリストに基づいて生成し、前記選択手順にしたがって選択した下流側通信装置に対して、当該生成したリストを通知する手順を実行し、前記選択手順においては、前記リスト保持手段に保持されているリストから下流側装置を選択することを特徴とする。このような態様によっても、起点として動作する通信装置には、リスト保持手段に保持されているリストに基づいて下流側通信装置を選択させるとともに、中間ノードとして動作する各通信装置には、その上流側通信装置から通知されたリストに基づいて下流側通信装置を選択させることが可能になる。
他の好ましい態様においては、上記通信方法によって各々1階層分のデータ配信経路を形成する各通信装置は、それぞれに割り当てられた優先順位を記憶する手段を有しており、前記制御手段は、前記通信ネットワークを介して他の通信装置の優先順位を取得する手順を実行し、前記選択手順においては、前記取得した優先順位に基づいて前記下流側通信装置を選択することを特徴とする。前述したように、データ伝送能力が高い通信装置ほど高い優先順位を割り当てておき、最も優先順位の高いものが起点となり、優先順位の高いものほど上流側に位置するように下流側通信装置の選択を行うようにすれば、データ配信経路の上流側においてボトルネックが発生しにくくなり、簡易なアルゴリズムで通信効率の高いデータ配信経路を構築することが可能になる。
他の好ましい態様においては、上記通信方法によって各々1階層分のデータ配信経路を形成する各通信装置は、1乃至複数のネットワーク機器と通信するための第2の通信手段を有しており、前記制御手段は、前記第1の通信手段を介して上流側の通信装置から受信した共有対象データを記憶する手順と、前記記憶した共有対象データを、前記第2の通信手段を介したネットワーク機器からの要求に応じて当該ネットワーク機器に提供する手順と、を実行することを特徴とする。このような態様によれば、上記データ配信経路経由のデータ配信を短時間に完了することが可能になる。
また、上記課題を解決するために本発明は、コンピュータに、通信ネットワークを介して相互に接続された他の1または複数の通信装置とともにツリー状のデータ配信経路を形成させ、前記ツリー状のデータ配信経路の起点側に位置する上流側の通信装置から下流側に向けて前記データ配信経路を経由して共有対象のデータを順次配信するデータ共有グループを構成させる処理を実行されるプログラムであって、前記データ配信経路において当該通信装置の直下に位置する下流側通信装置として配置するべき1または複数の通信装置を前記1または複数の他の通信装置のうちから選択する選択処理と、前記選択処理にて選択された下流側通信装置に対して、当該下流側通信装置の直下に位置する下流側通信装置を選択することを指示する指示処理と、前記データ配信経路において当該通信装置の直上に位置する上流側通信装置から配信された共有対象のデータを前記選択処理にて選択された下流側通信装置に転送するデータ転送処理と、を実行させ、前記選択処理乃至前記指示処理を当該コンピュータに実行させることによって、当該コンピュータから1階層分の前記データ配信経路を形成させることを特徴とするプログラムを提供する。このようなプログラムにしたがって一般的なコンピュータを作動させることで、当該コンピュータを本発明の通信装置として機能させることが可能になる。
本発明の一実施形態の通信システムの構成を示す図である。 同通信システムにおけるデータ配信経路の一例を示す図である。 同通信システムに含まれる通信装置20−jの構成例を示すブロック図である。 親機として動作する通信装置20−jに記憶される参加装置リストの一例を示す図である。 通信装置20−jが実行するデータ共有グループ形成処理を説明するための図である。 通信装置20−jの制御部210が通信制御プログラムにしたがって実行する配信経路決定処理の流れを示すフローチャートである。 同制御部210が通信制御プログラムにしたがって実行する配信経路再構築処理の流れを示すフローチャートである。 配信経路決定動作を説明するための図である。 親機よりも優先順位の低い通信装置の途中参加による配信経路再構築動作を説明するための図である。 親機よりも優先順位の高い通信装置の途中参加による配信経路再構築動作を説明するための図である。 中間ノードの役割を担っている通信装置の中途離脱による配信経路再構築動作を説明するための図である。 親機の役割を担っている通信装置の中途離脱による配信経路再構築動作を説明するための図である。 本発明の概念を説明するための図である。 本発明の概念を説明するための図である。 本発明の概念を説明するための図である。
以下、図面を参照しつつ本発明の実施形態について説明する。
(A:構成)
図1は、本発明の一実施形態の通信装置20−j(j=1〜8)を含む通信システムの構成を示す図である。図1では8台の通信装置20−jが例示されているが、9台以上の通信装置20−jが通信システムに含まれていても良く、逆に、通信システムに含まれる通信装置20−jが8台未満であっても勿論良い。通信装置20−jの各々は企業の各拠点に敷設される拠点内LAN(図示略)を一般公衆網10(データ通信網)に相互接続するルータである。通信装置20−jの各々は、OSI参照モデルの第1層(物理層)から第3層(ネットワーク層)までの接続を行い、IP(Internet Protocol)などのネットワーク層の通信プロトコルにしたがって送信されてくるパケットの転送制御を行う。各拠点内LANには、その拠点に勤務する従業者(以下、単に「ユーザ」と呼ぶ)の使用する通信端末(例えば、パーソナルコンピュータ:図示略)が接続されている。これら通信端末は、その拠点内LANと一般公衆網10とを接続する通信装置20−jを介して他の通信装置(例えば、他の拠点内LANに収容されている通信端末)とデータ通信をすることができる。
各拠点内LANに収容される通信端末のユーザは、その通信端末を用いて遠隔プレゼンテーションや遠隔会議に参加することができる。このような遠隔プレゼンテーション等において、資料等の電子ファイルをその参加者に共有させることができると便利であることは前述したとおりである。図1に示す通信システムでは、遠隔プレゼンテーションに参加するユーザの通信端末を配下に有する通信装置20−j(すなわち、その通信端末を収容する拠点内LANを一般公衆網10に接続する通信装置20−j)にデータ共有グループを形成させ、そのデータ共有グループに参加している通信装置20−jの各々に共有対象のデータを配信して記憶させる。そして、各通信端末のユーザはその通信端末を配下に有する通信装置20−jにアクセスして上記共有対象のデータを取得し閲覧するのである。ここで、データ共有グループに属する各通信装置20−jへの同一データの配信は以下の要領で行われる。
本実施形態では、通信装置20−jの各々に本実施形態の特徴を顕著に示す処理を実行させることにより、データ共有グループに参加している各通信装置20−jにて図2に示すようなツリー形状の論理的なデータ配信経路を構築させ、親機(データ配信経路の起点に位置する通信装置)からのマルチキャストなどによって共有対象のデータを、構築したデータ配信経路に従ってデータ共有グループに参加している各通信装置20−jに伝播させるのである。より詳細に説明すると、図1の通信装置20−jの各々には、親機として選定される優先度を表す(あるいは通信装置20−jの処理能力の高さや通信網にて利用可能な帯域幅の広さを指標化した)優先順位がその処理能力および一般公衆網10において利用可能な帯域幅に応じてシステム管理者によって予め割り当てられており、その優先順位を表す優先順位データPr−j(j=1〜8)が各通信装置20−jに記憶されている。具体的には、通信装置20−jの各々には、その処理能力が高いほど、処理能力が同じであれば利用可能な帯域幅が広いほど高い優先順位が割り当てられている。図1の通信装置20−jの各々は、システム管理者或いは配下の通信端末のユーザによってデータ共有グループへの参加を指示されると、最も優先順位が高いものが親機、すなわちデータ配信経路における起点(ルートノード)となり、親機以外の通信装置20−jのうちで優先順位が高いものほど親機側に近い中間ノードとなるように、上記ツリー形状のデータ配信経路を構築する処理を実行するのである。
以下、本実施形態の特徴を顕著に示す通信装置20−jを中心に説明する。
図3は、通信装置20−jの構成例を示すブロック図である。図3に示すように通信装置20−jは、制御部210、第1通信インタフェース(以下、I/F)部220、第2通信I/F部230、外部機器I/F部240、記憶部250、およびこれら構成要素間のデータ授受を仲介するバス260を含んでいる。
制御部210は、例えばCPU(Central Processing Unit)である。この制御部210は、記憶部250(より正確には、不揮発性記憶部254)に記憶されているプログラムを実行することにより、通信装置20−jの各部の作動制御を行う制御中枢として機能する。
第1通信I/F部220と第2通信I/F部230は、共にNIC(Network Interface Card)であり、各々異なる通信網に接続されている。具体的には、第1通信I/F部220は一般公衆網10に接続されており、第2通信I/F部230は拠点内LANに接続されている。第1通信I/F部220と第2通信I/F部230は、各々の接続先の通信網から受信したパケット(通信メッセージを予め定められたデータサイズ分ずつに分割し、その各々に所定のヘッダを付与して得られるデータブロック)を制御部210へ引渡すとともに、制御部210から引渡されるパケットを各々の接続先の通信網へと送出する。
外部機器I/F部240は、USBメモリやシリアルコンソール、あるいは内部拡張バスに接続された拡張カードなどの外部機器との間で所定のプロトコル(USBやRS−232C等の有線プロトコルあるいはBluetooth等の無線プロトコル)にしたがってデータの授受を行うインタフェースの集合体である。例えば、外部機器としてUSBメモリを用いる場合には、USBインタフェースを外部機器I/F部240に含めておけば良く、外部機器としてシリアルコンソールを用いる場合には、RS−232Cインタフェースなどのシリアルインタフェースを外部機器I/F部240に含めておけば良い。この外部機器I/F部240は、前述した優先順位データPr−jなどの各種データを通信装置20−jに予め記憶させる際に利用される。
記憶部250は、揮発性記憶部252と不揮発性記憶部254を含んでいる。揮発性記憶部252は、例えばRAM(Random Access Memory)などの揮発性メモリであり、制御部210が各種プログラムを実行する際のワークエリアとして利用されるとともに、第1通信I/F部220や第2通信I/F部230を介して受信したパケットを一時的に蓄積しておくバッファの役割を果たす。また、少なくとも親機または中間ノードとして機能する通信装置20−jの揮発性記憶部252には参加装置リストが格納され、親機として機能する通信装置を除く各通信装置20−jの揮発性記憶部252にはデータ配信経路において当該通信装置20−jの直上に配置された通信装置を特定する情報(装置識別データ等)や、データ共有グループにおける親機を特定する情報(装置識別データ等)が格納される。
例えば、図1の8台の通信装置20−jが全てデータ共有グループに参加し、図2に示すようなツリー形状の論理的なデータ配信経路が構築されている状態において、親機として動作している通信装置20−1の揮発性記憶部252には、図4に示す参加装置リストが格納される。この参加装置リストには、自装置(当該参加装置リストを記憶している通信装置)についてのレコードと、データ共有グループに参加している通信装置のうちで自装置よりも優先順位が低い装置についてのレコードとが格納される。そして、参加装置リストに格納される各レコードには、図4に示すように、装置識別データ、優先順位データPr−jが含まれている。通信装置20−1以外の各通信装置の揮発性記憶部252には、親機である通信装置20−1の装置識別データやデータ配信経路において直上に配置された他の通信装置の装置識別データ等も格納される。
ここで装置識別データとは、通信装置20−jの各々を一意に識別するためのデータである。一例として、本実施形態ではMAC(Media Access Control)アドレスやIPアドレスなどの通信アドレスと通信装置20−jの名称を示す文字列とが用いられている。上記通信アドレスは、データリンク層(或いはネットワーク層)の通信プロトコルにしたがって当該通信装置20−jとデータ通信を行う際の宛先アドレスとして使用され、通信装置20−jの名称は図1に示す通信システムにおけるオーバレイネットワークにおいて当該通信装置20−jを各ユーザに一意に識別させる際に使用される。また、通信装置20−jが親機または中間ノードとして機能する場合、当該通信装置20−jが下流側通信装置として選択している他の通信装置に関する情報も揮発性記憶部252には記憶される。ここで、下流側通信装置とは、ツリー状のデータ配信経路において当該通信装置の直下に位置する通信装置のことをいう。逆に、ツリー状のデータ配信経路において当該通信装置の直上に位置する通信装置のことを上流側通信装置と呼ぶ。この情報は参加装置リストに含ませてもよく、この場合選択中の下流側通信装置を識別するためのフィールドを設けて下流側通信装置であれば“1”そうでなければ“0”といった値を記録するようにすればよい。
不揮発性記憶部254は、例えばEPROM(Erasable Programmable Read Only Memory)やフラッシュメモリなどの不揮発性メモリであり、この不揮発性記憶部254には、各種データや各種プログラムが予め記憶されている。不揮発性記憶部254に記憶されているデータの一例としては、所謂ルーティングテーブルなどパケット転送制御を実行する際に必要となるデータ(図3では図示略)、優先順位データPr−j、自装置についての装置識別データ、初期ノードデータ、および事前共有鍵が挙げられる。初期ノードデータとは、当該通信装置20−jがデータ共有グループに参加する際に最初にアクセスするべき1または複数の装置(本実施形態では、通信装置20−k(k=1〜8、ただし、k≠j)の7台)を示すデータである。そして、事前共有鍵とは、当該データ共有グループに参加するための認証やそのデータ共有グループにおいて送受信するデータを暗号化する際に利用される暗号キーである。なお、本実施形態ではデータ共有グループ内の各通信装置20−jにおいて、共有対象とするデータ(各種ファイル)を保持するための記憶領域は不揮発性記憶部254に設けられるが、メモリ容量が充分であれば揮発性メモリ252に当該記憶領域を設けてもよいし、外部機器I/F部240を介して接続されたHDD等の外部記憶デバイスに記憶領域を設けてもよい。
また、不揮発性記憶部254に記憶されているプログラムの一例としては図3に示す通信制御プログラムが挙げられる。制御部210は、通信装置20−jの電源(図示略)が投入されたことを契機として、この通信制御プログラムを不揮発性記憶部254から揮発性記憶部252に読み出してその実行を開始し、図3に示す各種機能を実現する。この通信制御プログラムにしたがって制御部210が実現する機能の概略は以下の通りである。
(a)パケット転送制御機能
これは、自装置以外の通信装置を宛先とするパケット(すなわち、送信先IPアドレスが当該通信装置20−jのものではないパケット)を第1通信I/F部220または第2通信I/F部230を介して受信した場合に、その送信先IPアドレスに応じた転送制御を行う機能である。このパケット転送制御機能は、謂わばルータ本来の機能であり、一般的なルータにおけるものと特段に変るところはないため、詳細な説明を省略する。
(b)データ共有グループ形成機能
これは、データ共有グループを形成しそのグループの親機を選定する機能である。より詳細に説明すると、制御部210は、例えば通信装置20−jがデータ共有グループへ参加していない状態において、第2通信I/F部230に接続された、通信装置20−jの配下の通信端末から、データ共有グループへの参加指示が与えられたことを契機として、データ共有グループへの参加を要求する旨の通信メッセージ(以下、参加要求メッセージ)に、自装置の優先順位データPr−jと装置識別データと事前共有鍵とを書き込んで、初期ノードデータの示す通信装置20−k宛てに参加要求メッセージ送信する。なお、初期ノードデータとして複数の通信装置20−kを示すものが不揮発性記憶部254に格納されている場合には、それら複数の通信装置20−kのうちから1台を選択(例えば、通信アドレスが最も若いものを選択)して参加要求メッセージを送信する。
通信装置20−kの制御部210は、参加要求メッセージを受信すると、データ共有グループへの自装置の参加状況に応じて未参加通知メッセージ、親機紹介メッセージ、受付確認メッセージ、および親機交代指示メッセージの何れかを返信する。未参加通知メッセージは、通信装置20−kがデータ共有グループに参加していない場合にその旨の通知のために返信する通信メッセージである。親機紹介メッセージは、通信装置20−kがデータ共有グループには参加しているものの親機として動作していない場合にその旨の通知のために返信する通信メッセージである。この親機紹介メッセージを返信する際には、通信装置20−kの制御部210は、その時点の親機の装置識別データをペイロード部等に書き込んで返信する。受付確認メッセージと親機交代指示メッセージは、通信装置20−kが親機として動作している場合に返信する通信メッセージである。
親機として動作している通信装置20−kの制御部210は、参加要求メッセージを受信すると、その参加要求メッセージに書き込まれている事前共有鍵を用いてその送信元の認証を行い、認証に成功すると以下の処理を実行する。すなわち、通信装置20−kの制御部210は、受信した参加要求メッセージに書き込まれている優先順位データPr−jを読み出して自装置の優先順位データPr−kと比較する。そして、自装置の優先順位が高い場合には、通信装置20−kの制御部210は、参加要求メッセージに書き込まれている装置識別データと優先順位データPr−jとを含むレコードを生成して参加装置リストに登録し、その後、受付確認メッセージを参加要求メッセージの送信元である通信装置20−jへ返信する。逆に、自装置の優先順位が低い場合には、通信装置20−kの制御部210は、その時点の参加装置リストを書き込んだ親機交代指示メッセージを返信して親機の交代を参加要求メッセージの送信元である通信装置20−jに指示するとともに、その参加装置リストに装置識別データが登録されている各通信装置に宛てて新たな親機の装置識別データ(すなわち親機を交代する相手である通信装置20−jの装置識別データ)を送信する。
一方、参加要求メッセージの送信元である通信装置20−jの制御部210は上記4種類の通信メッセージの何れが返信されてきたのかによって異なる処理を実行する。未参加通知メッセージが返信されてきた場合には、通信装置20−jの制御部210は、他に初期ノードデータの示す通信装置があればその装置へ宛てて参加要求メッセージを送信し応答を待ち受ける。これに対して、他に初期ノードデータの示す通信装置がない場合(初期ノードデータの示す全ての通信装置から未参加通知メッセージが返信されてきた場合)には、以後、この通信装置20−jがデータ共有グループの親機として動作する。また、親機交代指示メッセージが返信されてきた場合も、通信装置20−jの制御部210は、その親機交代指示メッセージに書き込まれている参加装置リストを揮発性記憶部252に格納し、以後、親機として動作する。
親機紹介メッセージが返信されてきた場合には、通信装置20−jの制御部210は、その親機紹介メッセージに書き込まれている装置識別データの示す通信装置(例えば、通信装置20−i)に宛てて改めて参加要求メッセージを送信する。この参加要求メッセージに対して受付確認メッセージが返信されてきた場合には、通信装置20−jの制御部210は、上記装置識別データを親機を示す情報として揮発性記憶部252に書き込む。なお、親機交代指示メッセージが返信されてきた場合には、以後、親機として動作する点については前述した通りである。また、通信装置20−jが親機として動作していない状態において、他の通信装置から参加要求メッセージを受信すると、通信装置20−jの制御部210は、揮発性記憶部252に格納した親機を示す装置識別データを書き込んだ親機紹介メッセージを、当該参加要求メッセージの送信元へ宛てて返信する。
以上に説明した処理が行われる結果、例えば、図1に示す8台の通信装置20−jのうちのj=1〜7に対してデータ共有グループへの参加指示が為されると、詳細については動作例において明らかにするが、図5に示すように、それら7台のうちで最も高い優先順位を有する通信装置20−1が親機となり、その揮発性記憶部252には上記7台の通信装置各々の装置識別データ等が登録された参加装置リストが格納されるのである。
(c)配信経路決定機能
これは、データ共有グループに参加している通信装置20−j間のデータ配信経路として、図2に示すようなツリー状のデータ配信経路を決定し構築する機能である。詳細については後述するが、本実施形態では、制御部210は、例えば、第2通信I/F部230に接続された、通信装置20−jの配下の通信端末から、データ配信の開始指示等が与えられたことを契機として配信経路決定処理(図6参照)を実行して下流側通信装置を選択し、それら下流側通信装置に対してそれら下流側通信装置にとっての下流側通信装置を選択することを指示するのである。そして、制御部210は、自装置の下流側通信装置との間に暗号化通信路を確立して図2に示すようなツリー状のデータ配信路を構築するのである。
(d)配信経路再構築機能
これは、上記配信経路決定機能によりデータ共有グループに参加した複数の通信装置間でのデータ配信経路が決定され、ツリー状のデータ配信経路の構築が行われた後に、このデータ共有グループへ新たに通信装置が参加する(途中参加)或いはデータ共有グループに参加しておりツリー状のデータ配信経路のノードを構成している何れかの通信装置がデータ共有グループから離脱する(中途離脱)場合にデータ配信経路を再構築する機能である。例えば、親機として動作している通信装置20−jの制御部210は、他の通信装置から途中参加を要求されると、図7に示す配信経路再構築処理を実行してデータ配信経路の再構築を行う。この配信経路再構築処理についても重複を避けるため動作例の説明においてその詳細を明らかにする。
(e)暗号化通信機能
これは、下流側通信装置との間に暗号化通信路を確立して暗号化通信を行う機能である。なお、暗号化通信の具体的な手法としては、例えば、IPsecトンネルを下流側通信装置との間に設定する方式やSSL−VPNのようにセッション毎に暗号化を行う方式であっても良く、また、フルメッシュVPN方式であっても良い。このように、データ配信経路に沿ったデータ通信を暗号化しておくことによって共有対象のデータを安全に配信することができるのである。本実施形態では、通信装置20−j間のデータ通信を仲介する通信網が一般公衆網10であるため、そのデータ通信を暗号化して行ったが、このような暗号化は必ずしも必須ではない。
(f)状態通知/監視機能
これは、データ共有グループに属する通信装置20−jのうち、予め指定した相手装置(本実施形態では、下流側通信装置)に対して定期的にパケットを送信し、自装置の稼動状況を通知するとともに、自装置を相手装置として指定した他の通信装置20−j(すなわち、上流側通信装置)から自装置に送信されるパケットの受信状況に基づいてその通信装置20−j(上流側通信装置)の稼動監視を行う機能である。詳細については後述するが、この機能は、電源断や回線断などにより、データ共有グループに参加しておりツリー状のデータ配信経路のノードを構成している何れかの通信装置が突然データ共有グループから離脱したことを検知することに利用される。
以上が通信装置20−jの構成である。
(B:動作)
以下、本実施形態の特徴を顕著に示す動作例を図面を参照しつつ説明する。
(B−1:データ共有グループ形成動作)
以下、通信装置20−j(j=1〜7)の各々に対して、各々の(あるいは何れかの)配下にある通信端末等から、通信装置20−2、通信装置20−1、通信装置20−3・・・通信装置20−7の順にデータ共有グループへの参加指示が順次与えられた場合に、各通信装置20−jの制御部210(以下、制御部210−jと表記する。記憶部250など他の構成要素についても同様)が実行する処理について説明する。
通信装置20−2に対してデータ共有グループへの参加指示が与えられると、制御部210−2は不揮発性記憶部254−2に格納されている初期ノードデータの示す通信装置20−k(k≠2)へ参加要求メッセージを送信する。なお、本動作例では各通信装置は自身を除く他の通信装置全てを初期ノードデータとして予め格納しているものとする。本動作例では、通信装置20−2に対して上記指示が与えられた時点では他の6台の通信装置は何れもデータ共有グループには参加していない。このため、制御部210−2は通信装置20−k(k≠2)の何れからも未参加通知メッセージを受信する。初期ノードデータの示す全ての通信装置からの未参加通知メッセージの受信を確認すると、以後、通信装置20−2は親機として動作する。併せて通信装置20−2の揮発性記憶部252−2には参加装置リストとして自身の装置識別データ等を記述したものが格納される。
その後、通信装置20−1に対してデータ共有グループへの参加指示が与えられると、制御部210−1は不揮発性記憶部254−1に格納されている初期ノードデータの示す通信装置2−k(k≠1)へ参加要求メッセージを送信する。この時点では、通信装置20−2を除く他の5台がデータ共有グループへ参加していないため、これら5台に対して参加要求メッセージを送信しても、これら5台は何れも未参加通知メッセージを返信する。これに対して、通信装置20−2は既にデータ共有グループの親機として動作しており、通信端末20−1に対して受付確認メッセージまたは親機交代指示メッセージの何れかを返信する。本動作例の場合、通信装置20−2の制御部210−2は、通信装置20−1から参加要求メッセージが送信されてくると、まず、自装置の不揮発性記憶部254−2に格納されている優先順位データPr−2と参加要求メッセージに書き込まれている通信装置20−1の優先順位データPr−1とを比較する。図2に例示するように、本動作例では、通信装置20−1のほうが通信装置20−2よりも優先順位が高い(Pr−1>Pr−2)ため、制御部210−2は、通信装置20−1を示す装置識別データを揮発性記憶部252−2に格納するとともに、通信装置20−1に対し揮発性記憶部252−2に格納していた参加装置リストを含む親機交代指示メッセージを返信し、以後、通信装置20−2は親機以外の参加装置として動作する。一方、通信装置20−1の制御部210−1は、上記親機交代指示メッセージを受信すると、その親機交代指示メッセージに書き込まれている参加装置リストを揮発性記憶部252−1に書き込むとともに自身の装置識別データ等を参加装置リストに追加し、以後、通信装置10−1はデータ共有グループの親機として動作する。
親機交代指示メッセージを通信装置20−1に返信した後は、通信装置20−2の制御部210−2は他の通信装置から参加要求メッセージを受信した場合には、親機を示す情報として通信装置20−1を示す装置識別データを含んだ親機紹介メッセージを返信する処理を実行する。この状態で通信装置20−j(j=3〜7)の各々に対してデータ共有グループへの参加指示が与えられ、制御部210−jが通信装置20−2に対して参加要求メッセージを送信すると、通信装置20−2からは親機紹介メッセージが返信されてくる。制御部210−jはその親機紹介メッセージに書き込まれている装置識別データの示す通信装置(すなわち、通信装置20−1)に宛てて参加要求メッセージを再度送信する。通信装置20−1の制御部210−1は、参加要求メッセージに書き込まれている送信元の優先順位データPr−jと自装置(すなわち、通信装置20−1)の不揮発性記憶部254−1に格納されている優先順位データPr−1との比較を行うのであるが、本動作例では、通信装置20−1の優先順位が最も高いため、親機の交代が発生することは無い。通信装置20−1の制御部210−1は、参加要求メッセージの送信元の装置識別データ等を順次参加装置リストに登録する。その結果、図5に示すように、通信装置20−1を親機とするデータ共有グループが形成され、そのデータ共有グループに参加する通信装置についての装置識別データ等を含む参加装置リストが揮発性記憶部252−1に格納されるのである。また、他の通信装置(図5の場合、通信装置20−2〜7)の揮発性記憶部252には、参加したデータ共有グループの親機として機能する通信装置(通信装置20−1)についての装置識別データがそれぞれ格納される。
以上がデータ共有グループの形成動作である。
(B−2:配信経路決定処理における動作)
次いで、図5に示すようにデータ共有グループが形成されている状況下で、そのデータ共有グループにおけるデータ配信経路を決定する際の動作について説明する。本実施形態においては、データ共有グループに参加している通信装置20−j(j=1〜7)のうち親機または中間ノードの役割を果たすものが各々の配下となるべき通信装置を優先順位に基づいて選択してゆく、といった分散モデルを採用した点に特徴がある。具体的には、以下の要領でツリー状の配信経路が決定される。
具体的には、親機として動作している通信装置20−1の制御部210−1は所定の通信メッセージ(例えば、データの配信開始を指示する旨の配信開始指示メッセージ)を、通信装置20−1の第2通信I/F部230−1に接続された通信端末から受信すると(図6:ステップSA100 Yes)、揮発性記憶部252−1に格納された参加装置リストに情報が登録されている通信装置のうち、自装置を除く通信装置の中から優先順位が高い順に予め定められた台数(例えば、2台)だけ選択する(ステップSA110)。本動作例において、通信装置20−1を除く他の6台の通信装置20−jの優先順位はPr−2>Pr−3・・・であるから、制御部210−1は、図8(a)に示すように、下流側通信装置として通信装置20−2と通信装置20−3を選択する。なお、以下参照する各図面の参加装置リストにおいて、下流側通信装置として選択された通信装置に対応するレコードを網掛けにて示す。
次いで、制御部210−1は、データ共有グループに属する通信装置のなかに自装置とステップSA110にて選択した下流側通信装置とを除いて上流側通信装置が未定のもの(以下、上流側未定装置)があるか否かを判定する(ステップSA120)。そして、制御部210−1はステップSA120の判定結果が“Yes”である場合にステップSA130の処理を実行する。本動作例においては、図8(a)に示すように通信装置20−1の参加装置リストには自装置を含めて7台の通信装置20−jについての情報が登録されており、これら7台の通信装置20−jのうち自装置(通信装置20−1)を除いて上流側通信装置が定まっているのは通信装置20−2および20−3の2台だけであるからステップSA120の判定結果は“Yes”になり、ステップSA130の処理が実行される。
ステップSA130の処理は、通信装置20−1の制御部210−1が、ステップSA110にて選択した各下流側通信装置に対して、各々にとっての下流側通信装置を上流側未定装置のうちから選択すべきことを指示する旨の通信メッセージ(以下、選択指示メッセージ)を送信する処理である。より詳細に説明すると、制御部210−1は、まず、参加装置リスト(参加装置リスト1)に格納されているレコードのうちの自装置以外のものをステップSA110にて選択した下流側通信装置(この動作例の場合通信装置20−2および通信装置20−3)の数分にグループ分けし、このグループ毎に新たな参加装置リスト(参加装置リスト2、3)を生成する。そして、制御部210−1は、これら生成した参加装置リストの各々を含む選択指示メッセージをステップSA110にて選択した各下流側通信装置に送信する。ここで、上記グループ分けの仕方としては種々の態様が考えられる。例えば、ステップSA110にて選択した各下流側通信装置の優先順位が互いに大きく異ならないのであれば、各参加装置リストに含まれる上流側未定装置の数が略均等になり、かつ、各グループに属する通信装置の優先順位の分布も均等になるようにグループ分けする態様が考えられる。これに対してステップSA110にて選択した各下流側通信装置の優先順位にばらつきがある場合には、優先順位が高い下流側通信装置に与える参加装置リストほど多くの上流側未定装置を含むものとなるようにグループ分けすれば良い。生成された参加装置リストは選択された下流側通信装置とそのさらに下流に配置されるようにグループ分けされた1乃至複数の上流側未定装置に関する情報が登録されたものとなる。
本動作例では、ステップSA110にて下流側通信装置として選択される通信装置20−2と通信装置20−3とでは優先順位に大きな差はないため、前者の態様で参加装置リストの分割が行われる。具体的には、図8(b)に示すように、通信装置20−2に対してはその通信装置20−2の他に通信装置20−4および20−6の情報が登録された参加装置リストが送信され、通信装置20−3に対してはその通信装置20−3の他に通信装置20−5および20−7の情報が登録された参加装置リストが送信される。なお、親機として動作している通信装置20−1の制御部210−1は、選択指示メッセージ乃至参加装置リストの送信とは別に、自装置の下流側通信装置のうちの適当なものに揮発性記憶部252−1に記憶されている参加装置リスト(参加装置リスト1)を送信し、バックアップ用データとして記憶することを指示する。好適には自装置の下流側通信装置のうち最も優先順位の高いもの(処理能力や利用可能な帯域幅などのデータ伝送の能力が最も高く、親機となる順位が自装置の次位となるもの)に参加装置リスト(参加装置リスト1)が送信され、バックアップ用データとして記憶することが指示される。なお、このバックアップ用の参加装置リスト送信と指示とは任意のタイミングで実行すればよく、例えば、上記選択指示メッセージの送信に前後して行われる。このバックアップ用データがどのように使用されるのかについては後に明らかにする。
以降、制御部210−2(或いは制御部210−3)は、上流側通信装置である通信装置20−1から送信された選択指示メッセージを受信すると(図6:ステップSA100 Yes)、その選択指示メッセージに書き込まれている参加装置リスト(参加装置リスト2、3)を揮発性記憶部252に格納した後に、上述した制御部210−1と同様にステップSA110以降の処理を実行する。また、制御部210−2(或いは制御部210−3)は、選択指示メッセージを受信したことに応じて、選択指示メッセージの送信元の通信装置20−1の装置識別データを、データ配信経路においてこの通信装置20−2(或いは通信装置20−3)の直上に配置された通信装置(すなわち、上流側通信装置)を特定する情報として揮発性記憶部252に格納する。なお、制御部210−2は、図6のステップSA110以降の処理の他に上記バックアップ用データを揮発性記憶部252−2に書き込む処理も実行する。
例えば、制御部210−2は、通信装置20−1から受信した参加装置リストを参照し、予め定められた数(例えば、2台)の下流側通信装置を優先順位の高い順に選択する(ステップSA110)。図8(b)に示すように通信装置20−1から通信装置20−2に送信される参加装置リストには、自装置(通信装置20−2)、通信装置20−4および20−6の情報が含まれているため、制御部210−2は、通信装置20−4および通信装置20−6を下流側通信装置として選択する。これにより、通信装置20−1から通信装置20−2に送信される参加装置リストに登録されている情報の示す各通信装置の上流側通信装置は全て定まることになり、制御部210−2が実行するステップSA120の判定処理の判定結果は“No”になる。このため、制御部210−2はステップSA130の処理を実行することなく、配信経路決定処理を終了する。同様に、制御部210−3も通信装置20−1から受信した参加装置リストを参照し、通信装置20−5および通信装置20−7を下流側通信装置として選択して、本配信経路決定処理を終了する。以降、親機または中間ノードの役割を担う通信装置20−jの各々は、その下流側通信装置との間に暗号化通信路を確立し、これにより、図8(c)に示すツリー状のデータ配信経路に従った共有対象データの伝播がなされるのである。
以上説明したように本実施形態においては、親機(すなわち、優先順位の最も高い通信装置20−1)のみがデータ配信経路の決定のための処理を行うのではなく、中間ノードの役割を果たす通信装置20−2や20−3もデータ配信経路の決定に寄与する。このため、特定の装置に負荷が集中することはなく、輻輳も発生しにくくなる。加えて、通信装置20−j(j=1〜7)のうちで最も優先順位が高いものが親機となり、優先順位の高い通信装置ほど上流側(親機に近い側)の中間ノードとなるようにデータ配信経路が決定される。このため、途中の経路がボトルネックになることはなく、通信効率の高いデータ配信を行うことが可能になる。
(B−3:通信装置が途中参加する場合の動作)
次いで、データ共有グループが形成されツリー状のデータ配信経路が構築されている状態において、このデータ共有グループに新たな通信装置(途中参加装置)が途中参加する場合の動作を、データ配信経路が図8(c)に示すように定まっている状況を例に説明する。
(B−3−1:親機よりも優先順位の低い通信装置が途中参加する場合の動作)
まず、通信装置20−8が途中参加する場合を例にとって、親機よりも優先順位の低い通信装置が途中参加する場合の動作を説明する。通信装置20−8の不揮発性記憶部254−8に格納された優先順位データPr−8の表す優先順位は通信装置20−1の優先順位データPr−1の表す優先順位以下であるとする。通信装置20−8の制御部210−8はデータ共有グループの形成を指示されると、不揮発性記憶部254−8に格納されている初期ノードデータの示す通信装置20−k(例えば、k=7)に参加要求メッセージを送信し、その時点の親機の紹介を受ける。前述したように通信装置20−8が途中参加する時点では、図8(c)に示すようにデータ配信経路が定まっており、その時点の親機は通信装置20−1であるから、制御部210−8は初期ノードデータの示す通信装置20−kから通信装置20−1を親機として紹介される。このようにして親機を紹介された通信装置20−8の制御部210−8は、前述した参加要求メッセージを当該親機(すなわち、通信装置20−1)へ送信する(図9(a)参照)。一方、制御部210−1は参加要求メッセージを受信すると、その参加要求メッセージに書き込まれている事前共有鍵を参照してその送信元の認証を行い、認証を完了すると配信経路再構築処理を実行する。
図7は、通信装置20−1の制御部210−1が実行する配信経路再構築処理の流れを示すフローチャートである。図7に示すように、制御部210−1は、途中参加の要求元の通信装置(すなわち、上記途中参加装置:本動作例では通信装置20−8)が自装置の優先順位よりも高いか否かの判定を行う(ステップSB100)。この例の場合、参加要求メッセージを送信した通信装置20−8の優先順位は通信装置20−1の優先順位以下であるので、ステップSB100の判定結果は“No”となり、制御部210−1はステップSB120以降の処理を実行する。
図7のステップSB120では、制御部210−1は、自装置(通信装置20−1)の下流側通信装置(図8(c)の例では通信装置20−2および通信装置20−3)の中で途中参加装置よりも優先順位の低いものがあるか否かを判定する。そして、ステップSB120の判定結果が“Yes”であれば、制御部210−1は、ステップSB130およびステップSB140の処理を実行し、逆にステップSB120の判定結果が“No”であればステップSB140の処理のみを実行する。
ステップSB130は、該当する下流側通信装置を途中参加装置と入れ替える処理である。なお、該当する下流側通信装置が複数ある場合には制御部210−1は、それらのうちから1つを選択して途中参加装置との入れ替えを行う。ここで、途中参加装置よりも優先順位の低い下流側通信装置が複数ある場合に入れ替え対象の下流側通信装置を1つ選択する際の具体的な選択態様としては種々の態様が考えられる。例えば、下流側通信装置のうちで優先順位が最も低いものを選択する態様、あるいは途中参加装置よりも優先順位の低い下流側通信装置のうちで最も優先順位の高いものを選択する態様、または途中参加装置よりも優先順位の低い下流側通信装置に通し番号を付与し、その通し番号の範囲内で擬似乱数を発生させ、その擬似乱数と一致する通し番号を有するものを入れ替え対象として選択する態様などが考えられる。
ステップSB140は、制御部210−1が、下流側通信装置のうちの1つを選択し、その時点の上流側未定装置(ステップSB130の処理が実行されていれば、途中参加装置と入れ替えられた通信装置、同処理が実行されていなければ途中参加装置)のレコードを書き込んだ選択指示メッセージを送信して、その上流側未定装置のデータ配信経路への組み入れを指示する処理である。図9(a)の例では、制御部210−1は、この選択指示メッセージとして途中参加装置に関する情報のみを添付したものを上記選択した下流側通信装置へ送信し、データ配信経路への途中参加装置の組み入れを指示する。このようにして上流側未定装置の組み入れを指示された下流側通信装置の制御部210は、この下流側通信装置を起点とした配信経路再構築処理あるいは前述した配信経路決定処理(図6参照)のステップSA110以降の処理を実行する。以降、下流側の通信装置20−jにおいても上流側未定装置がなくなるまで配信経路決定処理が順次実行される。なお、途中参加装置の組み入れを指示する下流側通信装置の選択態様としては種々の態様が考えられる。本実施形態では、最も優先順位の高いものを選択する態様が採用されているが、逆に、最も優先順位の低いものを選択する態様であっても良く、また擬似乱数を用いて選択する態様であっても良い。
さて、本動作例においては、途中参加の要求元である通信装置20−8は、親機である通信装置20−1の下流側通信装置(すなわち、通信装置20−2および通信装置20−3)の何れよりも優先順位が低いため、制御部210−1が実行する配信経路再構築処理のステップSB120の判定結果は“No”になり、制御部210−1はステップSB140の処理のみを実行する。本動作例では、通信装置20−1の下流側通信装置は通信装置20−2および20−3であり、前者のほうの優先順位が高いため通信装置20−2に対して上流側未定装置の組み入れが指示される。
この組み入れ指示に応じて、通信装置20−2の制御部210−2は通信装置20−2を起点とした場合の配信経路再構築処理を実行する。この配信経路再構築処理では、制御部210−2は、まず、組み入れを指示された途中参加装置の優先順位と、自装置(通信装置20−2)の下流側通信装置として選択していた各通信装置(図8(c)に示す例では通信装置20−4および通信装置20−6)の優先順位と、を比較する。そして、制御部210−2は、途中参加装置よりも優先順位の低い下流側通信装置がある場合には当該装置を途中参加装置と入れ替え、他の場合には下流側通信装置のいずれかに途中参加装置の組み入れを指示する。本動作例では、優先順位に基づいて通信装置20−8は通信装置20−6と入れ替えられ、通信装置20−4と通信装置20−8とが通信装置2−2の下流側通信装置となる。さらに、通信装置20−4と通信装置20−8では、通信装置20−8の方が優先順位が高いため、通信装置20−8に対して上流側未定装置となった通信装置20−6の組み入れが指示される。この指示に応じて通信装置20−8の制御部210−8は配信経路再構築処理を実行するが、この状態では通信装置20−8は下流側通信装置を選択していないため(再構築するべき配信経路が未構築であるため)、配信経路決定処理を実行する。制御部20−8が実行する配信経路決定処理においては、通信装置20−6が通信装置20−8の下流側通信装置として選択され、その結果、図9(b)に示すようにデータ配信経路が再構築される。
このように、本実施形態によれば、親機がデータ配信経路全体のトポロジを把握していなくとも、途中参加装置にその優先順位に応じた役割を割り振ってデータ配信経路を再構築することができるのである。加えて、図9(a)と図9(b)とを対比すれば明らかように、通信装置20−3より下流のデータ配信経路には全く影響が生じていない。つまり、本実施形態によれば、データ配信経路の再構築の影響範囲を小さく抑えることもできるのである。
(B−3−2:親機よりも優先順位の高い通信装置が途中参加する場合の動作)
これに対して、親機よりも優先順位の高い通信装置(以下、通信装置20−x)が途中参加する場合は、図7のステップSB100の判定結果は“Yes”になり、前述した親機の交代が発生する。具体的には、制御部210−1は、通信装置20−1よりも高い優先順位を有する通信装置20−xから送信された参加要求メッセージを受信すると、参加装置リスト(参加装置リスト1)とデータ配信経路の構築を指示する旨の指示子とを書き込んだ親機交代指示メッセージを返信する。この親機交代指示メッセージを受信した制御部210−xは、その親機交代指示メッセージに書き込まれている参加装置リストを揮発性記憶部252−xに書き込むとともに自身の装置識別データ等の情報を追加し、以後、親機としての処理を実行する。具体的には、制御部210−xは、その親機交代指示メッセージに書き込まれている指示子に応じてデータ配信経路を再構築する処理を実行する。
ここで、制御部210−xがデータ配信経路を再構築する際の具体的な態様としては種々の態様が考えられる。第1に、参加装置リストの格納内容にしたがってデータ配信経路全体を再構築する態様(通信装置20−x以外の全ての通信装置20−jを上流側未定装置として図6のステップSA110以降の処理を実行する態様)が考えられる。このような態様によれば、データ共有グループに参加している通信装置20−jの各々に対してその処理能力等に応じた役割を割り振ってデータ配信経路を再構築することができるといった利点があるものの、再構築の影響範囲が大きくなるといった欠点もある。
そこで、上記第1の態様の他に、図10(a)に示すように通信装置20−1のみを通信装置20−xの下流側通信装置としてデータ配信経路を再構築する態様(以下、第2の態様)や、図10(b)に示すように通信装置20−1と通信装置20−1の下流側通信装置であった通信装置(すなわち、通信装置20−2および通信装置20−3)とを通信装置20−xの下流側通信装置とする態様(以下、第3の態様)を採用することも考えられる。これらの態様によれば、通信装置20−xの途中参加が発生する以前に親機の役割を担っていた通信装置20−1の下流側通信装置よりも下流のデータ配信経路に影響が生じることはなく、データ配信経路の再構築の影響範囲を最小限にすることができる。なお、図10(a)に示す態様での再構築を実現するには、通信装置20−1のみを上流側未定装置とした状態で図6のステップSA110以降の処理を通信装置20−xの制御部210に実行させるようにすれば良い。また、図10(b)に示す態様での再構築を実現するには、通信装置20−1、20−2および20−3を上流側未定装置とし、かつ、通信装置20−xが選択可能な下流側通信装置の数を3台とした状態で図6のステップSA110以降の処理を通信装置20−xの制御部210に実行させるようにすれば良い。なお、上記第2または第3の態様にて再構築処理を行う場合には、データ配信経路の起点(ルートノード)となる親機の通信装置、および末端以外(中間ノード)の通信装置は、前述の配信経路決定処理においてそれぞれ下流のブランチを構成する各グループを示す情報(すなわち、参加装置リスト)を記憶しておき、再構築に応じてその情報を更新するのである。
なお、上記第1〜第3の態様の何れか1つを選択するのではなく、親機の交代が発生した直後には第2または第3の態様によってデータ配信経路を再構築し、その後、一定時間経過後に第1の態様による再構築を行うようにしても勿論良い。これは、データ配信経路が構築されている状態では何らかのデータ配信が行われている可能性があるため、データ配信経路の大幅な変更によってそのデータ配信が妨げられないようにするとともに、そのデータ配信が終了するころを見計らってデータ配信経路をより効率の良いものへと再構築するためである。また、データ共有グループ内でのデータ配信が実際に行われているか否かを親機に検出させることができる場合には、親機の交代が発生した時点でデータ配信が行われているのであれば第2または第3の態様でデータ配信経路を再構築するとともにそのデータ配信の終了を検出した時点で第1の態様による再構築を行い、親機の交代が発生した時点でデータ配信が行われていないのであれば即座に第1の態様でデータ配信経路を再構築するようにしても良い。なお、親機よりも優先順位の低い通信装置が途中参加する場合において、下流側通信装置と途中参加装置とを入れ替える際に、入れ替え対象となる下流側通信装置(上述の例では、通信装置20−6)の下流にさらに他の通信装置が下流側通信装置として配置されている場合においても、ここで説明した第1〜第3の態様またはその組み合わせによってデータ配信経路の再構築が行われる。
(B−4:通信装置が中途離脱する場合の動作)
次いで、データ配信経路が図9(b)に示すように定まっている状況下で、親機または中間ノードの役割を担っている通信装置20−jが中途離脱する場合の動作について説明する。なお、上記データ配信経路において下流側の末端ノード(例えば、図9(b)の通信装置20−4、20−5、20−6、および20−7)が中途離脱したとしてもデータ配信経路の再構築を行う必要はないため、これら末端ノードが中途離脱する場合については説明を省略する。
(B−4−1:親機以外の通信装置が中途離脱する場合の動作)
まず、図9(b)に示す状態において通信装置20−8が中途離脱する場合を例にとって中間ノードの役割を担っている通信装置20−jが中途離脱する場合の動作を図11を参照しつつ説明する。本実施形態では、中間ノードの役割を担っている通信装置20−jがデータ共有グループから中途離脱する場合、その旨を上流側通信装置へ通知する処理(以下、離脱通知処理)を行ってから離脱することを原則としている。中間ノードの役割を担っている通信装置が中途離脱すると、その中途離脱した通信装置の下流側通信装置および当該下流側通信装置よりもさらに下流側の通信装置はデータの共有を行えなくなる。このため、中途離脱の要求元の通信装置20−jを除いてデータ配信経路を再構築し、その再構築が完了してから離脱させるようにしたのである。しかし、何らかのハードウェア障害や、電源の切断、或いは通信回線の切断等によって離脱通知処理が行われることなく、中間ノードの役割を担っている通信装置20−jの中途離脱が生じる場合も起こり得る。以下、所定の離脱通知処理を行って通信装置20−4が中途離脱する場合と、離脱通知処理を行わずに中途離脱する場合に分けて説明する。
(B−4−1−1:離脱通知を行ってから離脱する場合)
データ共有グループからの離脱を指示された通信装置20−jの制御部210は、まず、離脱通知処理を実行する。この離脱通知処理では、制御部210は、離脱を要求する旨の通信メッセージ(以下、離脱要求メッセージ)に揮発性記憶部252に格納されている参加装置リスト(通信装置20−jより下流に配置されている1乃至複数の通信装置の装置識別データおよび優先順位データ)を書き込んで上流側通信装置へ送信する。例えば、図9(b)に示すようにデータ配信経路が構築されている状況下で、制御部210−8が第2通信I/F部230に接続された通信端末からデータ共有グループからの離脱を指示されると、制御部210−8は、揮発性記憶部252を参照し、通信装置20−6についての情報を書き込んだ離脱要求メッセージを通信装置20−8の上流側通信装置である通信装置20−2へ送信する(図11(a)参照)。
一方、下流側通信装置から離脱要求メッセージを受信した通信装置の制御部210は、その離脱要求メッセージに書き込まれている参加装置リストに登録された通信装置を上流側未定装置とし、その参加装置リストの示す通信装置のうちから優先順位の最も高いものを下流側通信装置として選択した後に図6のステップSA120以降の処理を実行する。以後、上流側未定装置がなくなるまで、新たに下流側通信装置として選択される各通信装置20も図6のステップSA120以降の処理を順次実行し、データ配信経路の再構築を行う。併せて、下流側通信装置から離脱要求メッセージを受信した通信装置の制御部210は、さらに上流側の通信装置に対して、下流側の通信装置が離脱したことを通知し、以下、親機として動作する通信装置までこの情報が伝播される。当該通知を受信した通信装置の制御部210は、離脱した通信装置に対応するレコードを参加装置リストから削除する。例えば、図11(a)に示すように、通信装置20−8から送信された離脱要求メッセージを受信した制御部210−2は、その離脱要求メッセージに書き込まれている参加装置リストの示す通信装置(すなわち、通信装置20−6)と、通信装置20−4と、を新たに下流側通信装置として選択し(図11(b)参照)、データ配信経路を再構築するのである。
(B−4−1−2:離脱通知を行わずに離脱する場合)
これに対して、図9(b)に示す状態において、通信装置20−8が上記離脱通知処理を行うことなく突然離脱した場合には、通信装置20−8の下流側通信装置である通信装置20−6の制御部210−6は前述した状態通知/監視機能によってその離脱を検出し、通信装置20−8が中途離脱したことを通知する旨の通信メッセージ(以下、離脱通知メッセージ)を親機(すなわち、通信装置20−1)に送信する(図11(c)参照)。以降、制御部210−1は、離脱した通信装置(本動作例では、通信装置20−8)に対応するレコードを参加装置リストから削除し、離脱通知メッセージの送信元の通信装置を途中参加と同様の手順でデータ配信経路に組み入れる処理を実行する。
例えば、図11(c)に示すように、通信装置20−6から通信装置20−8の離脱を通知された場合には、制御部210−1は、通信装置20−2に対して通信装置20−8の不在通知を行うとともに、通信装置20−6の組み入れを指示する。これにより、通信装置20−6は通信装置20−2の下流側通信装置としてデータ配信経路に組み込まれるのである。なお、この場合、通信装置20−6よりも下流に既にデータ配信経路が構築されている場合でも、それを維持したままデータ共有グループ全体のデータ配信経路を再構築することができる。つまり、本実施形態によれば、余計な再計算を行うことなくデータ配信経路の再構築を行えるのである。また、図11(c)を参照すれば明らかように、通信装置20−3より下流のデータ配信経路は変化しないため、データ配信経路の再構築の影響範囲を最小限に抑えることができるのである。
(B−4−2:親機が中途離脱する場合の動作)
次いで、図9(b)に示す状態から親機として動作している通信装置20−1が中途離脱する場合について説明する。
親機として動作している通信装置20−jが中途離脱する場合、その通信装置20−jの制御部210は、自装置の下流側通信装置のうち参加装置リストをバックアップ用データとして格納しておくことを指示したもの(好適には、下流側通信装置のうちの優先順位の高い方、すなわち、データ共有グループ内において親機の次に優先順位が高い通信装置)に離脱要求メッセージを送信する。例えば図9(b)に示す状態において通信装置20−1が中途離脱する場合、通信装置20−1から通信装置20−2へ離脱要求メッセージが送信される。制御部210−2は上流側通信装置から離脱要求メッセージを受信した場合には、以後、親機としての処理を実行する。具体的には、制御部210−2は、揮発性記憶部252−2に記憶されているバックアップ用データに基づいて参加装置リストを生成し(具体的には通信装置20−1に関するレコードを参加装置リストから削除し)、この生成した新たな参加装置リストに基づいてデータ配信経路の再構築を行い、次位の通信装置20−j(すなわち、通信装置20−3)へ、生成した新たな参加装置リストを送信し、バックアップ用データとして記憶させる処理を実行する。
この場合の再構築の態様についても種々の態様が考えられる。具体的には、通信装置20−2が通信装置20−1からバックアップ用データとして受信していた参加装置リストの格納内容に基づいてデータ配信経路全体を再構築する態様であっても良く、また、図12に示すように、通信装置20−4、20−8および通信装置20−3の各々より下流側のデータ配信経路を維持したままデータ配信経路を再構築する態様や両者を併用する態様であっても良い。例えば、通信装置20−4、20−8および通信装置20−3の各々より下流側のデータ配信経路を維持したままデータ配信経路を再構築する態様を実現するには、通信装置20−3のみを上流側未定装置とし、かつ、通信装置20−2が選択可能な下流側通信装置の数を3台として図6のステップSA110以降の処理を制御部210−2に実行させるようにすれば良い。なお、通信装置20−3のみを上流側未定装置として扱えるようにするためには、下流側通信装置を示す情報を書き込んだ離脱要求メッセージを通信装置20−1に送信させ、その情報の示す通信装置のうちで自装置を除いたものを上流側未定装置として扱う処理を制御部210−2に実行させるようにすれば良い。また、親機が離脱要求メッセージを送信することなく中途離脱したことを上記状態通知/監視機能によって制御部210−2が検出した場合についても同様に、制御部210−2は、揮発性記憶部252−2に記憶されているバックアップ用データを参加装置リストとしてデータ配信経路の再構築を行い、次位の通信装置20−j(すなわち、通信装置20−3)へその参加装置リストを送信し、バックアップ用データとして記憶させる処理を実行する。
以上が親機が中途離脱した場合の動作である。
このように親機が中途離脱する場合(或いはハードウェア障害等によって中途離脱した場合)も、データ配信経路を再構築することができ、また、その再構築の態様によっては、その影響範囲を最小限に抑えることができる。
以上説明したように、本実施形態によれば、特定の通信装置20−jに過大な負荷がかかることを回避しつつ、通信装置20−j間のデータ配信経路を各通信装置20−jの処理能力等に応じて柔軟に定め、それら通信装置20−jへの同一データの配信を効率的に行うことが可能になる。加えて、本実施形態においては、通信装置20−j間の通信方式はパケット交換方式であるから、所謂オーバレイネットワークを構築することにより、接続回線を選ばず、自由に複数の宛先へデータの同時転送が可能である。このため、オーバレイネットワークにおいて柔軟なネットワークトポロジを構築することができ、また全ての通信装置20−jへデータを配信するのに要する時間を短くすることもできる。
(C:まとめ)
以上本発明の実施形態について説明したが、この実施形態に現れた本発明の概念をまとめると以下のようになる。
図13〜図15は、本発明の概念を説明する図である。図13に示すように通信装置20−jは、データ共有グループ内でデータ配信経路を構築するための選択手段と指示手段とを備えている。なお、選択手段および指示手段は制御部210が実現する機能である。選択手段はツリー状のデータ配信経路において、通信装置20−jの直下に位置すべき通信装置(すなわち、下流側通信装置)を選択する。図13には、通信装置20−jが通信装置20−mおよび通信装置20−nを下流側通信装置として選択した状態が例示されている。下流側通信装置として選択する数は1以上の任意の数であってよい。通信装置20−jが下流側通信装置を選択すると、指示手段は、この選択した下流側通信装置に対してさらに当該下流側通信装置にとっての下流側通信装置を選択するよう指示を行う。
ツリー状のデータ配信経路の起点(ルートノード)となる親機(起点通信機器)から、下流側通信装置(木構造における中間ノード或いはリーフノード)の選択およびその選択した下流側通信装置に対して下流側通信装置を選択する指示(言うまでもなく、選択した下流側通信装置がリーフノードとなるのであれば、この指示は行われない、あるいは指示が行われたとしてもその下流側通信装置(リーフノード)においてさらに下流側通信装置の選択が行われることはない)を順次行い、データ共有グループを形成する各通信装置が協働することによりデータ配信経路が決定される。
その際、図14に示すように各通信装置間では、下流側通信装置として選択され得る他の通信装置のリストが通知される。図14には、通信装置20−jが通信装置20−mおよび通信装置20−nを選択した状態で、これら選択した通信装置に通知するリスト(図14に示す例では、リストmおよびリストn)をリスト生成手段が生成し、リストmを通信装置20−mに、リストnを通信装置20−nにそれぞれ通知する様子が例示されている。通信装置20−jが保持するリストは、例えば通信装置20−mおよび通信装置20−nを含むN個の通信装置が記述されたものであり、選択手段は当該リストに記述された通信装置のうちから下流側通信装置を選択する。リスト生成手段は、当該リストから選択手段によって下流側通信装置として選択された通信装置を除外して、下流側通信装置に通知する新たなリスト(図14に示す例では、リストmおよびリストn)を生成する。この際、リストmおよびリストnは各々に記述された通信装置が重複しないように生成される。当該リストを通知された通信装置20−mおよび20−nは、通信装置20−jからの指示に応じて同様にリストから(すなわち、通信装置20−jから通知されたリストから)、さらに下流側通信装置を選択するのである。
なお、好適には、各通信装置における下流側通信装置の選択は、下流側通信装置として選択され得る各通信装置の処理能力(処理速度等)あるいは利用可能なネットワーク帯域等、通信装置のデータ伝送能力を指標化した優先順位に基づいて行い、選択手段は優先順位が高いもの(データ伝送能力が高いもの)から順に下流側通信装置を選択することが好ましい。このような優先順位は上記リストとして順次下流の通信装置(中間ノード)に通知される。このように選択することで、データ伝送能力の低い通信装置が木構造の中間ノードとして配置され当該通信装置が共有データ伝播のボトルネックとなることを回避することができるとともに、簡易なアルゴリズムで通信効率の高いデータ配信経路を構築することが可能になる。
本発明においては、さらに、図15に示すようにツリー状のデータ配信経路を経由して共有対象のデータが配信される。各通信装置は、通信装置相互間でデータ伝送を行うための第1の通信手段と、他のネットワーク機器(パーソナルコンピュータなどのクライアント端末)との間でデータ伝送を行うための第2の通信手段と、第1の通信手段を介して上流側の通信装置から受信した共有対象のデータを記憶して保持するための共有データ記憶手段とを備えている。共有データ記憶手段に記憶されたデータは、選択手段により選択された下流側通信装置に配信(転送)され、また、第2の通信手段に接続されているネットワーク機器からのリクエストに応じて当該ネットワーク機器に提供される。
このように、本発明においては、木構造におけるルートノードおよび中間ノードの役割を果たす通信装置それぞれがデータ配信経路の決定に寄与するため、特定の通信装置に負荷が集中することはなく、輻輳も発生しにくくなる。また、本発明によれば、特定の通信装置に負荷が集中することはないため、サーバ・クライアント方式の通信システムに比較してスケーラビリティが高くなる。
また、例えば、処理能力の高さや通信網にて利用可能な帯域幅の広さといったデータ伝送能力を指標化した優先順位を各通信装置に割り当て、これに基づいて下流側に配置される通信装置を選択するようにすれば、データ配信経路の上流側においてボトルネックが発生しにくくなり、簡易なアルゴリズムで通信効率の高いデータ配信経路を構築し、当該構築されたデータ配信経路にて短時間にデータ配信を完了することが可能になる。
さらに、各通信装置間の通信方式は回線交換方式に限定されるものではないから、例えばパケット交換方式を採用することにより、所謂オーバレイネットワークを構築して複数の宛先へのデータの同時配信を行うことができる。このため、本発明によれば、特許文献1に開示された技術やP2P型の通信システムに比較して、データ共有グループに属する全ての通信装置に対して短時間のうちに確実にデータを行き渡らせることができる。また、上記データ配信経路の決定の際にフルメッシュの通信を行う必要もないから、特許文献2に開示された技術に比較して各通信装置に過大な処理負荷がかかることもない。
(D:変形)
以上本発明の一実施形態について説明したが、この実施形態に以下に述べる変形を加えても勿論良い。
(1)以上の説明では、通信装置20−jの処理能力およびその通信装置20−jが利用可能な帯域幅の両者に基づいてその通信装置20−jの優先順位を定めたが、何れか一方に基づいて優先順位を定めても勿論良く、また、他の指標(例えば、配下の通信端末数など)に応じて優先順位を定めても良い。また、各通信装置20−jの処理能力等に大差がない場合には、例えば通信アドレスの若い順に高い優先順位を割り当てるような態様であっても良い。要は、データ共有グループを形成する通信装置20−jの各々に対して何らかの指標に基づいて優先順位付けがなされていれば良い。
(2)以上の説明では、各通信装置20−jの優先順位が予めシステム管理者等によって定められていたが、例えば利用可能な帯域幅を各通信装置20−jの制御部210に計測させ、その計測値に応じて自装置の優先順位を算出させるようにしても良い。また、上述した実施形態では、データ共有グループへの参加指示を契機としてデータ共有グループを形成する処理(具体的には、初期ノードデータの示す他の通信装置20−kに参加要求メッセージを送信する処理)を制御部210−jに実行させたが、データの配信開始を指示されたこと(すなわち、配信開始指示メッセージを配下の通信端末から受信したこと)または通信装置20−jの電源が投入されたことを契機としてデータ共有グループを形成する処理を制御部210−jに実行させるようにしても良い。
(3)以上の説明では、一般公衆網10と各拠点内LANとを接続するルータに本発明を適用した。しかし、本発明の適用対象はルータなどの中継装置に限定されるものではなく、データ通信の終端に位置する通信端末(例えば、拠点内LANに収容され、各ユーザに使用される通信端末)に本発明を適用しても勿論良い。要は、他の通信装置とデータ通信を行う通信装置であれば、本発明を適用することができる。
(4)以上の説明では、途中参加装置の組み入れを指示する際に送信される選択指示メッセージには、途中参加装置に関する情報のみを添付したが、配信経路決定時と同様、途中参加装置に関する情報を含む参加装置リストを選択指示メッセージに添付するようにしても良い。
(5)以上の説明では、選択指示メッセージに参加装置リストを添付したが、選択指示メッセージと参加装置リストとを、異なるタイミングにて各々別個に下流側通信装置へ送信するようにしても良い。また、以上の説明では、送信元の参加装置リストを分割したものに相当するものを下流側に送信したが、送信元の参加装置リストの各レコードに選択した下流側通信装置のグループに属する通信装置をグループ毎に識別するフラグを付与したものを下流側に送信しても良い。この場合、各通信装置にて保持される参加装置リストのサイズ(レコード数)は同一となる。また、参加装置リストに加え、データ配信経路の起点となる親機から選択した下流側通信装置へ至るまでの経路(パス)を併せて通知するようにしても良い。
(6)以上の説明では、通信装置が下流側通信装置を選択する場合、下流側通信装置を選択した後に当該選択した通信装置の下流側に配置される他の(選択されなかった)通信装置をグループ化し、当該グループに関する参加装置リストを通知するようにしたが、最初に参加装置リストを所定数(1以上)のグループに分け、各グループの中から下流側通信装置として1の通信装置を選択するようにしても良い。例えば、図8の例の場合、親機となった通信装置20−1は参加装置リストに登録された自装置を除く通信装置を第1のグループ(通信装置20−2、通信装置20−4、通信装置20−6)と第2のグループ(通信装置20−3、通信装置20−5、通信装置20−7)とに分け、各グループの中からそれぞれ1の通信装置(通信装置20−2および通信装置20−3)を下流側通信装置として選択するようにしても良い。この場合もデータ共有グループ形成時に取得した各通信装置の優先順位(あるいは上流側の通信装置から通知された参加装置リストに記述された各通信装置の優先順位)に基づいて、例えば優先順位順にグループ毎に1つずつ通信装置を振り分け、その中から最も優先順位の高いものを下流側通信装置として選択すれば良い。
(7)以上の説明では、データ共有グループから通信装置が離脱する際に、離脱する通信装置が、離脱要求メッセージをデータ配信経路において直上に配置された上流側通信装置へ送信したが、離脱要求メッセージを親機へ送信するようにしても良い。例えば、図9(b)に示すようにデータ配信経路が構築されている状況下で、制御部210−8が第2通信I/F部230−8に接続された通信端末からデータ共有グループからの離脱を指示されると、制御部210−8は、離脱要求メッセージを親機である通信装置20−1へ送信する。この場合、離脱要求メッセージを受信した通信装置20−1の制御部210−1は、揮発性記憶部252−1に記憶している参加装置リストから通信装置20−8に関するレコードを削除し、以降、上記「B−4−1−2:離脱通知を行わずに離脱する場合」にて説明した手順と同様の手順によってデータ配信経路の再構築を行う。
(8)以上の説明では、離脱要求メッセージを送信することなく通信装置がデータ共有グループから離脱した場合、その離脱を検知した下流側の通信装置が親機に離脱通知を行ったが、下流側の通信装置が上流側にある通信装置に順次離脱通知メッセージの送信を行う態様を採用しても良い。この場合、データ配信経路において直上に配置された通信装置が突然離脱したことを検知した通信装置は、中途離脱装置の上流に配置された通信装置から上流に向って、応答があるまで順次離脱通知メッセージを送信する。図11(c)に示した例の場合、通信装置20−8が離脱したことを検知した通信装置20−6は、まず、通信装置20−2に離脱通知メッセージを送信する。仮に離脱通知メッセージの送信先の通信装置から応答が無かった場合(所定時間経過しても応答が無かった場合等)は、通信装置20−6は、さらに上流側の通信装置(この場合は通信装置20−1)に離脱通知メッセージを送信する。一方、離脱通知メッセージを受信した通信装置は、離脱通知メッセージの送信元の通信装置を途中参加の場合と同様の手順でデータ配信経路に組み入れる処理を実行する。なお、このような態様でデータ配信経路の再構築処理を行う場合には、各通信装置に少なくともデータ配信経路の起点となる親機から自装置に至るまでの経路(パス等)を記憶させておく必要がある。
(9)以上の説明では、離脱要求メッセージの送信を行わずに通信装置がデータ共有グループから離脱した場合、その離脱を下流側の通信装置が検知したが、上流側の装置が下流側の装置の接続状態を前述した状態通知/監視機能によって検出するようにしても良い。あるいは、親機が集中的にデータ共有グループに参加している各通信装置の接続状態を監視し、親機にて通信装置の離脱を検知するようにしても良い。
(10)以上の説明では、データ共有グループから通信装置が離脱した際、各通信装置の参加装置リストから離脱した通信装置に関するレコードを削除するものとしたが、これに代えて、参加装置リストの各レコードに参加/離脱状態を示す状態フラグを付記し、この状態フラグの値に基づいて参加/離脱を識別するようにしても良い。例えば、状態フラグとして“0”または“1”の何れかの値をとる2値データを用い、データ共有グループに参加している状態では状態フラグの値を“1”とし、データ共有グループから離脱した状態では同状態フラグの値を“0”とするのである。例えば、図5、図8に示す例の場合、データ共有グループを形成した段階にあるため、参加装置リスト中の各装置の状態フラグの値は“1”となる。図9に示す例の場合、途中参加した通信装置20−8に関するレコードが状態フラグの値を“1”とした状態で親機である通信装置20−1の参加装置リストに追加される。また、図11に示す例の場合、通信装置20−8が離脱したため、通信装置20−1および通信装置20−2においては、それぞれの参加装置リストに含まれている通信装置20−8に関するレコードの状態フラグが離脱状態を示す値“0”に書き換えられ、以後、通信装置20−1および通信装置20−2の各々は通信装置20−8がデータ共有グループに属さないものとして共有データの伝送を行わない。
このような構成を採用した場合、各通信装置に格納される参加装置リストの内容は状態フラグの値が更新されるのみであり、一旦離脱した通信装置がデータ共有グループに復帰した際、参加装置リストに含まれている当該通信装置に関する情報を再利用することが可能になる。例えば、図11に示す例の場合、通信装置20−8が再びデータ共有グループに参加した場合、通信装置20−1および通信装置20−2は、各々の参加装置リストの通信装置20−8に関するレコードの状態フラグを“1”に戻すとともに、通信装置20−2が通信装置20−8を下流側通信装置として再選択することで簡易にデータ配信経路を再構築することができる。
(11)以上の説明では、本発明の特徴を顕著に示す配信経路決定処理や配信経路再構築処理を制御部210に実行させる通信制御プログラムが不揮発性記憶部254に予め記憶されていた。しかし、CD−ROM(Compact Disk-Read Only Memory)などのコンピュータ装置読み取り可能な記録媒体に上記通信制御プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより上記通信制御プログラムを配布しても良い。このようにして配布される通信制御プログラムを一般的な通信装置にインストールしその制御部を当該通信制御プログラムにしたがって作動させることで当該通信装置に本発明に係る通信装置と同一の機能を付与することが可能になるからである。
(12)以上の説明では、配信経路決定処理および配信経路再構築処理をプログラムで実現した。しかし、通信装置20−jがスクリプト実行機能を備えている場合には、これら各処理をスクリプトで実現しても勿論良い。具体的には、図6に示す配信経路決定処理を制御部210に実行させるためのコマンド列を所定のスクリプト言語で記述したテキストファイルである配信経路決定処理スクリプトと、図7に示す配信経路再構築処理を制御部210に実行させるためのコマンド列を同スクリプト言語で記述したテキストファイルである配信経路再構築処理スクリプトとを不揮発性記憶部254に予め記憶させておき、通信装置20−jの電源投入を契機として上記各スクリプトの解釈および実行を制御部210に開始させるのである。なお、上記スクリプト記述言語としては種々のものを用いることが考えられるが、Luaを用いることが好ましい。Luaは、perlなどの他のスクリプト言語に比較してスクリプトファイルの解釈および実行に要するメモリ量等が少なく、電子機器への組み込みに好適だからである。
10…一般公衆網、20−j(j=1〜8)…通信装置、210…制御部、220…第1通信I/F部、230…第2通信I/F部、240…外部機器I/F部、250…記憶部、252…揮発性記憶部、254…不揮発性記憶部、260…バス。

Claims (8)

  1. 通信ネットワークを介して1または複数の他の通信装置とともにツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側のものから下流側に向けて前記データ配信経路を経由して共有対象のデータを順次配信するデータ共有グループを構成する通信装置であって、
    前記データ配信経路において当該通信装置の直下に位置する下流側通信装置として配置するべき1または複数の通信装置を前記1または複数の他の通信装置のうちから選択する選択手段と、
    前記選択手段により選択した下流側通信装置に対して、当該下流側通信装置にとっての下流側通信装置を選択することを指示する指示手段と、
    前記データ配信経路において当該通信装置の直上に位置する上流側通信装置から配信された共有対象のデータを前記選択手段にて選択した下流側通信装置に転送するデータ転送手段と、
    当該通信装置の上流側通信装置が前記データ共有グループから離脱したことを検知する離脱検知手段と、
    前記離脱検知手段により前記データ共有グループからの離脱が検知された上流側通信装置に関する情報をさらに上流の他の通信装置に通知する手段と、を備え、
    前記選択手段乃至前記指示手段により、当該通信装置から1階層分の前記データ配信経路を形成する
    ことを特徴とする通信装置。
  2. さらに、
    前記データ配信経路において当該通信装置よりも下流側に配置される1または複数の通信装置を表すリストを保持するリスト保持手段と、
    前記リスト保持手段に保持されているリストの表す1または複数の通信装置から前記選択手段により選択した下流側通信装置を除いたものを表す他のリストを、前記リスト保持手段に保持されているリストに基づいて生成し、前記選択手段により選択した下流側通信装置に対して、当該生成したリストを通知するリスト生成・通知手段と、
    を有することを特徴とする請求項1に記載の通信装置。
  3. さらに、
    前記通信ネットワークに接続し前記1または複数の他の通信装置の各々と相互に通信するための第1の通信手段と、
    1または複数のネットワーク機器と通信するための第2の通信手段と、
    前記データ配信経路において上流側通信装置から配信され前記第1の通信手段によって受信された共有対象のデータを記憶する共有対象データ記憶手段と、
    前記第2の通信手段を介して前記ネットワーク機器から受信した要求に応じて、前記共有対象データ記憶手段に記憶させた前記共有対象のデータを当該ネットワーク機器に提供するデータ配信手段と、を備え、
    前記データ配信手段は、前記第1の通信手段を介して上流側通信装置から受信した前記共有対象のデータを、前記選択手段により選択した下流側通信装置に前記第1の通信手段を介して配信する
    ことを特徴とする請求項1または2に記載の通信装置。
  4. さらに、
    前記離脱検知手段は、前記選択手段によって選択した下流側通信装置のうちの何れかが前記データ共有グループから離脱したこと、を検知し、
    前記選択手段は、前記離脱検知手段により前記データ共有グループからの離脱が検知された下流側通信装置の下流に配置された1または複数の通信装置のうちから、当該下流側通信装置に換えて当該通信装置の直下に配置するべきものを選択する
    ことを特徴とする請求項1〜3の何れか1項に記載の通信装置。
  5. さらに、
    優先順位を記憶した優先順位記憶手段と、
    他の通信装置の優先順位記憶手段に記憶されている優先順位を前記通信ネットワークを介して取得する優先順位取得手段と、を備え、
    前記選択手段は、前記優先順位取得手段により取得された優先順位に基づいて当該通信装置の下流側通信装置を選択する
    ことを特徴とする請求項1〜4の何れか1項に記載の通信装置。
  6. さらに、
    前記優先順位記憶手段に記憶された優先順位と前記優先順位取得手段により取得された優先順位とに基づいて、当該通信装置の優先順位が最も高いか否かを判定する判定手段、を備え、
    当該通信装置の優先順位が最も高いと前記判定手段により判定された場合に、当該通信装置が前記データ配信経路の起点となる
    ことを特徴とする請求項5に記載の通信装置。
  7. 前記データ共有グループに属さない他の通信装置から前記データ共有グループへの参加要求を受け取る手段を備え、
    当該通信装置が前記データ共有グループの起点である場合には、前記優先順位取得手段は前記参加要求を行った通信装置の優先順位を取得し、前記参加要求を行った通信装置の優先順位が当該通信装置の優先順位よりも高いか否かを前記判定手段によって判定し、
    前記参加要求を行った通信装置の優先順位が高いと前記判定手段によって判定された場合には、前記データ配信経路の新たな起点となるよう前記参加要求を行った通信装置に指示し、
    当該通信装置の優先順位が高いと前記判定手段によって判定された場合には、自装置の下流側通信装置のなかに前記参加要求を行った通信装置よりも優先順位の低いものがあるか否かを判定し、該当するものがある場合には、該当する下流側通信装置に換えて前記参加要求を行った通信装置を新たな下流側通信装置として選択し直した後に、自装置の下流側通信装置のうちの1つに対して、上流側通信装置が未定の通信装置のうちから下流側通信装置を選択すべきことを指示する一方、該当する通信装置がない場合には自装置の下流側通信装置のうちの1つに対して前記参加要求を行った通信装置を下流側通信装置として選択すべきことを指示する
    ことを特徴とする請求項6に記載の通信装置。
  8. コンピュータに、
    通信ネットワークを介して相互に接続された他の1または複数の通信装置とともにツリー状のデータ配信経路を形成させ、前記ツリー状のデータ配信経路の起点側に位置する上流側の通信装置から下流側に向けて前記データ配信経路を経由して共有対象のデータを順次配信するデータ共有グループを構成させる処理を実行されるプログラムであって、
    前記データ配信経路において当該通信装置の直下に位置する下流側通信装置として配置するべき1または複数の通信装置を前記1または複数の他の通信装置のうちから選択する選択処理と、
    前記選択処理にて選択された下流側通信装置に対して、当該下流側通信装置にとっての下流側通信装置を選択することを指示する指示処理と、
    前記データ配信経路において当該通信装置の直上に位置する上流側通信装置から配信された共有対象のデータを前記選択処理にて選択された下流側通信装置に転送するデータ転送処理と、
    当該通信装置の上流側通信装置が前記データ共有グループから離脱したことを検知する離脱検知処理と、
    前記離脱検知処理により前記データ共有グループからの離脱が検知された上流側通信装置に関する情報をさらに上流の他の通信装置に通知する処理と、を実行させ、
    前記選択処理乃至前記指示処理を当該コンピュータに実行させることによって、当該コンピュータから1階層分の前記データ配信経路を形成させることを特徴とするプログラム。
JP2011062779A 2010-03-30 2011-03-22 通信装置、およびプログラム Active JP5673268B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011062779A JP5673268B2 (ja) 2010-03-30 2011-03-22 通信装置、およびプログラム
PCT/JP2011/057252 WO2011122452A1 (ja) 2010-03-30 2011-03-24 通信装置、通信システムおよび通信方法
CN201180006121.1A CN102714630B (zh) 2010-03-30 2011-03-24 通信装置、通信系统及通信方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010079291 2010-03-30
JP2010079291 2010-03-30
JP2011062779A JP5673268B2 (ja) 2010-03-30 2011-03-22 通信装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2011229132A JP2011229132A (ja) 2011-11-10
JP5673268B2 true JP5673268B2 (ja) 2015-02-18

Family

ID=44712161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011062779A Active JP5673268B2 (ja) 2010-03-30 2011-03-22 通信装置、およびプログラム

Country Status (3)

Country Link
JP (1) JP5673268B2 (ja)
CN (1) CN102714630B (ja)
WO (1) WO2011122452A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6062743B2 (ja) * 2013-01-11 2017-01-18 日本放送協会 配信ツリー構築方法、端末管理サーバ及びコンテンツ配信システム
JP7217647B2 (ja) * 2019-02-27 2023-02-03 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法、及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000082053A (ja) * 1998-07-03 2000-03-21 Mitsubishi Electric Corp ネットワ―ク監視装置
JP2003051824A (ja) * 2001-08-08 2003-02-21 Canon Inc 通信方法、通信システム、プログラム及び記憶媒体
JP4075347B2 (ja) * 2001-10-15 2008-04-16 Sky株式会社 クライアント−サーバ間の通信方法
US20030101253A1 (en) * 2001-11-29 2003-05-29 Takayuki Saito Method and system for distributing data in a network
JP2003186777A (ja) * 2001-12-17 2003-07-04 Nippon Telegraph & Telephone East Corp パーソナルポータル装置、通信方法、プログラム及び記録媒体
JP2004318274A (ja) * 2003-04-11 2004-11-11 Nippon Telegr & Teleph Corp <Ntt> 中継型コンテンツ配信方法及び装置並びにプログラム
JP2005217677A (ja) * 2004-01-29 2005-08-11 Japan Radio Co Ltd セルラipネットワークにおける中継ノードおよびマルチキャストデータ配信用のルーティング情報作成方法
JP2006033115A (ja) * 2004-07-13 2006-02-02 Brother Ind Ltd 配信装置、受信装置、ツリー型配信システム及び情報処理方法等
CN100373889C (zh) * 2004-12-03 2008-03-05 北京大学 一种ip网络的组播传输方法
JP2006221423A (ja) * 2005-02-10 2006-08-24 Canon Inc データ配布方法、装置、及び記憶媒体
JP4604824B2 (ja) * 2005-05-10 2011-01-05 ブラザー工業株式会社 情報配信システム、処理プログラム、管理プログラム及び情報配信方法等
CN101013948B (zh) * 2006-01-30 2011-12-07 瞻博网络公司 构建等耗多径多播分发结构
JP2007251805A (ja) * 2006-03-17 2007-09-27 Mitsubishi Electric Corp 通信装置およびネットワークシステム
CN100442786C (zh) * 2007-07-10 2008-12-10 北京航空航天大学 基于树形结构的路由方法
JP2009124617A (ja) * 2007-11-19 2009-06-04 Nikon Corp 通信端末及び通信システム
CN101247253A (zh) * 2008-03-21 2008-08-20 清华大学 Ip网络中基于虚拟分发网的多播传送方法

Also Published As

Publication number Publication date
WO2011122452A1 (ja) 2011-10-06
CN102714630B (zh) 2016-01-20
JP2011229132A (ja) 2011-11-10
CN102714630A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
JP6544401B2 (ja) パケット転送装置、制御装置、通信システム、通信方法及びプログラム
Jia A scalable multicast source routing architecture for data center networks
TW200941988A (en) Mapless global traffic load balancing via anycast
JP2012085115A (ja) 通信端末およびクラスター監視方法
JP5205289B2 (ja) 端末装置およびパケット送信方法
JP2014131186A (ja) 経路制御方法、情報処理装置、及びプログラム
JP4815547B2 (ja) データ同期システム、データ同期方法、及び同期管理サーバ
Sobeih et al. Vring: A case for building application-layer multicast rings (rather than trees)
JP5673268B2 (ja) 通信装置、およびプログラム
JP2011211543A (ja) 情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラム
Goh et al. A comparative study of tree-based and mesh-based overlay p2p media streaming
WO2012029248A1 (ja) データ転送システム
Ripeanu et al. In search of simplicity: a self‐organizing group communication overlay
JP5440574B2 (ja) ノード装置、情報通信方法及びプログラム
JP2015041938A (ja) ネットワーク制御方法
JP2012175293A (ja) 通信システム、スイッチングハブ、ルータおよびプログラム
Zhang et al. Anysee: Multicast-based peer-to-peer media streaming service system
Al Asaad et al. Peer-to-peer file sharing over wireless mesh networks
JP4508007B2 (ja) Vpnトンネル接続トポロジを決定する管理サーバ及びプログラム
Karaata et al. Multipath Routing Over Star Overlays for Quality of Service Enhancement in Hybrid Content Distribution Peer-to-Peer Networks
JP2016046785A (ja) キャッシュサーバ選択装置、分散キャッシュシステム、及びキャッシュサーバ選択方法
WO2012029247A1 (ja) データ転送システム
JP2005244526A (ja) ネットワークノード装置およびサーバ装置ならびにマルチキャストツリー構築方法およびプログラム
JP2008206028A (ja) 機能分散型通信装置、構成要素結合制御方法、およびプログラム
Guo et al. Partial probing for scaling overlay routing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141107

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141215

R151 Written notification of patent or utility model registration

Ref document number: 5673268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151