JP2011077616A - 所定の機能を実行する装置を、ネットワーク内において自律的に決定する方法、該方法のための通信装置及びプログラム - Google Patents

所定の機能を実行する装置を、ネットワーク内において自律的に決定する方法、該方法のための通信装置及びプログラム Download PDF

Info

Publication number
JP2011077616A
JP2011077616A JP2009224244A JP2009224244A JP2011077616A JP 2011077616 A JP2011077616 A JP 2011077616A JP 2009224244 A JP2009224244 A JP 2009224244A JP 2009224244 A JP2009224244 A JP 2009224244A JP 2011077616 A JP2011077616 A JP 2011077616A
Authority
JP
Japan
Prior art keywords
variable
communication device
value
potential
potential variable
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.)
Granted
Application number
JP2009224244A
Other languages
English (en)
Other versions
JP5371047B2 (ja
Inventor
Takeshi Kubo
健 久保
Teruyuki Hasegawa
輝之 長谷川
Toru Hasegawa
亨 長谷川
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2009224244A priority Critical patent/JP5371047B2/ja
Publication of JP2011077616A publication Critical patent/JP2011077616A/ja
Application granted granted Critical
Publication of JP5371047B2 publication Critical patent/JP5371047B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ネットワーク内の通信装置から所定の機能を実行する通信装置をランダムに選択するための通信装置を提供する。
【解決手段】通信装置は、第1変数及び第2変数を保持しており、第1変数を隣接装置に広告し、隣接装置が広告する第1変数、自装置の第1変数及び第2変数に基づき自装置の第1変数を更新し、所定の機能を実行しておらず、かつ、第2変数が所定値ではない場合に、前記所定の機能を実行するか否かを判定し、実行する場合には、前記所定の機能の実行を開始し、実行しない場合には、移動処理の対象とする移動先の隣接装置を決定し、決定した隣接装置に移動要求メッセージを送信し、当該隣接装置から移動完了メッセージを受信した場合、自装置の第2変数を前記所定値に更新する。
【選択図】図2

Description

本発明は、ネットワークを構成する多数の通信装置の中から、所定の機能、例えば、サーバ機能を実行する1つの通信装置を自律的に決定する技術に関する。
P2P(Peer to Peer)ネットワークとは、オーバレイ・ネットワークとも呼ばれ、例えば、インターネットに接続する通信装置間で構成される仮想的なネットワークである。また、センサ・ネットワークとは、環境を測定するセンサ・デバイスを分散配置して、広範囲にわたる環境情報を取得するネットワークである。センサ・ネットワークには、Sinkノードと呼ばれるノードが存在する。Sinkノードとは、当該Sinkノードの周囲のノードが測定した測定値を収集して、測定値を処理する装置に送信するゲートウェイとしての役割を果たしている。
P2Pネットワークや、センサ・ネットワークにおいて、サーバ機能や、Sink機能の様な、特定の役割をする通信装置の存在は不可欠であるが、これらネットワークは、ネットワークに参加する通信装置及びネットワークから離脱する通信装置の発生、故障によるネットワーク・トポロジの変更等が頻繁に生じるため、所定の機能を実行する通信装置を自律的に決定する仕組みが重要となる。分散環境において特定の通信装置を決定する方法は、リーダ選出アルゴリズムと呼ばれ、例えば、非特許文献1や2に記載されている。
E.Chang、 et al.、"An improved algorithm for decentralized extrema−finding in circular configurations of processes"、Communications of the ACM、VOL.22 Issue 5、pp281−283、1979年 E.Chang、 et al.、"An O(nlog n) Unidirectional Algorithm for the Circular Extrema Problem"、ACM Transactions on Programming Languages and Systems、VOL.4 Issue 4、pp758−762、1982年
引用文献1及び2に記載のリーダ選出アルゴリズムは、通信装置の識別子を利用するものである。具体的には、総ての通信装置が重複しない識別子を保持していることを前提に、ネットワーク内で最大の識別子を有する通信装置をリーダとして選択するものである。従来技術による方法は、ネットワーク内のどこかに自装置の識別子より大きな識別子を有する通信装置が存在しているのか否かを、各通信装置が判定しなければならず、処理が複雑になる。また、同じ通信装置により構成されるネットワークでは、必ず同じ通信装置がリーダとなり、負荷分散という観点からは好ましくない。さらに、膨大な数の超小型センサによりネットワークを構成する場合の様に、各通信装置に重複しない個別の識別子を事前に割り当てることが現実的ではない場合には、利用することができない。
したがって、本発明は、ネットワークを構成する通信装置から所定の機能を実行する通信装置をランダムに選択する方法、当該方法のために使用する通信装置及び当該通信装置としてコンピュータを機能させるプログラムを提供することを目的とする。本発明による通信装置で構成されるシステムにおいて、各通信装置の識別子は、直接通信を行う隣接装置と区別できる程度のもので良い。
本発明の通信装置は、
通信リンクにより直接接続している隣接通信装置のポテンシャル変数を保存し、隣接通信装置からポテンシャル変数を受信する度に、保存している該隣接通信装置のポテンシャル変数を更新する第1手段と、自装置のポテンシャル変数、リーダ変数及びリーダ・フラグを保存し、自装置のポテンシャル変数を隣接通信装置に送信する第2手段と、各隣接通信装置のポテンシャル変数、自装置のポテンシャル変数及びリーダ変数に基づき、自装置のポテンシャル変数を更新する第3手段とを備えており、所定の機能を実行していないときはリーダ・フラグを第1の値とし、前記所定の機能を実行しているときはリーダ・フラグを第2の値とする通信装置であって、リーダ・フラグが第1の値であり、かつ、リーダ変数が所定値ではない場合に、前記所定の機能を実行するか否かを判定し、実行する場合には、リーダ・フラグを第2の値に更新して前記所定の機能の実行を開始し、実行しない場合には、移動処理の対象とする移動先の隣接通信装置を決定する第4手段と、第4手段が決定した移動先の隣接通信装置に移動要求メッセージを送信し、移動先の隣接通信装置から移動完了メッセージを受信した場合、リーダ変数を前記所定値に更新する第5手段とを備えていることを特徴とする。
本発明における通信装置の他の実施形態によれば、
第3手段は、所定の計算式により自装置のポテンシャル変数を更新し、ポテンシャル変数の値を高さとすると、前記計算式は、複数の前記通信装置から構成されるネットワークにおけるポテンシャル変数を、リーダ変数が前記所定値ではない通信装置の位置を頂点とする山の形状に分布させるものであることも好ましい。
また、本発明における通信装置の他の実施形態によれば、
前記計算式は、自装置のポテンシャル変数に対して、隣接通信装置のポテンシャル変数から自装置のポテンシャル変数を減じた値を全隣接通信装置に渡り積算した値に基づく値を加算し、自装置のポテンシャル変数に基づく値を減じ、自装置のリーダ変数が前記所定値ではない場合には、さらに、自装置のリーダ変数に基づく値を加算することで、自装置の更新後のポテンシャル変数を求めるものであることも好ましい。
さらに、本発明における通信装置の他の実施形態によれば、
第4手段は、隣接通信装置のポテンシャル変数の平均値と、隣接通信装置のポテンシャル変数の最大値との差の大小を閾値判定し、差が小さいときには、前記所定の機能の実行をすると判定することも好ましい。
さらに、本発明における通信装置の他の実施形態によれば、
第4手段は、前回移動処理を実行したときから所定の期間が経過しており、前回の移動処理直前のリーダ変数と、第2手段が保持しているリーダ変数が等しいときには、前記所定の機能の実行をすると判定することも好ましい。
さらに、本発明における通信装置の他の実施形態によれば、
第4手段は、隣接通信装置の中でポテンシャル変数の最も大きい隣接通信装置を移動先に決定することも好ましい。
さらに、本発明における通信装置の他の実施形態によれば、
移動要求メッセージには、該移動要求メッセージを送信した通信装置のリーダ変数の値が含まれており、第5手段は、隣接通信装置から移動要求メッセージを受信した場合、自装置のリーダ変数を、該移動要求メッセージに含まれる値を加算した値に更新し、更新後に、該隣接通信装置に移動完了メッセージを送信することも好ましい。
本発明の方法は、
それぞれがリーダ・フラグを管理している複数の通信装置を含み、各通信装置は、所定の機能を実行していないときはリーダ・フラグを第1の値とし、所定の機能を実行しているときはリーダ・フラグを第2の値とするシステムにおいて、前記所定の機能を実行する通信装置を決定する方法であって、各通信装置が、通信リンクにより直接接続している隣接通信装置にポテンシャル変数を広告する第1ステップと、各通信装置が、隣接通信装置からポテンシャル変数を受信した場合において、該隣接通信装置のポテンシャル変数を既に保存している場合には、保存している該隣接通信装置のポテンシャル変数を更新し、該隣接通信装置のポテンシャル変数を保存していない場合には、該隣接通信装置のポテンシャル変数を保存する第2ステップと、各通信装置が、各隣接通信装置のポテンシャル変数、自装置のポテンシャル変数及び自装置のリーダ変数に基づき、自装置のポテンシャル変数を更新する第3ステップとを繰り返し、リーダ・フラグが第1の値であり、かつ、リーダ変数が所定値ではない通信装置が、前記所定の機能を実行するか否かを判定し、実行する場合には、自装置のリーダ・フラグを第2の値に更新して前記所定の機能の実行を開始し、実行しない場合には、移動処理の対象とする移動先の隣接通信装置を決定する第4ステップと、移動先の隣接通信装置を決定した通信装置が、移動先の隣接通信装置に移動要求メッセージを送信し、移動先の隣接通信装置から移動完了メッセージを受信した場合、自装置のリーダ変数を前記所定値に更新する第5ステップとを備えていることを特徴とする。
本発明におけるプログラムによれば上記通信装置としてコンピュータを機能させることを特徴とする。
所定の機能を実行する通信装置を、自律的に、かつ、ランダムに選択することができる。また、本発明による通信装置で構成されるシステムにおいて、各通信装置の識別子は、直接通信を行う隣接通信装置と区別できる程度のもので良い。このため、例えば、システムの起動処理(ブートストラップ)に適用することができる。
本発明によるシステムを示す図である。 本発明による通信装置の簡略化した構成図である。 処理の流れを説明する図である。
本発明を実施するための形態について、以下では図面を用いて詳細に説明する。
図1は、本発明によるシステムを示す図であり、本システムは、図1において四角形で表されている本発明による通信装置を複数台含んでいる。なお、図1において、各通信装置を接続する線は通信リンクである。本発明の通信装置により構成されるネットワークは、例えば、P2Pネットワークや、無線のアドホック・ネットワークの様に、ネットワーク構成、つまり、通信装置間の通信リンクや、ネットワークに参加している通信装置が、時間の経過により変化する可能性がある。なお、以下の説明において、隣接装置とは、ある通信装置から見て、通信リンクにより直接接続されている通信装置を意味するものとする。
図1において、斜線で塗り潰された四角形は、リーダ変数の値が0ではない通信装置を表している。なお、以下の説明において、リーダ変数の値が0ではない通信装置を、リーダ・シンボルを有する装置と呼ぶ。本発明においては、リーダ・シンボルを有する装置を1台に集約させ、最後に残ったリーダ・シンボルを有する1台の通信装置が、所定の機能を実行する。
図2に、本発明による通信装置の簡略化した構成を示す。図2に示す様に、本発明による通信装置は、他装置変数管理部1と、ポテンシャル計算部2と、自装置変数管理部3と、実行判定部4と、移動処理部5とを備えている。
他装置変数管理部1は、隣接装置のポテンシャル変数を、当該隣接装置の識別子に関連付けて保持している。具体的には、他装置変数管理部1は、隣接装置が所定のスケジュールに基づいて広告する、当該隣接装置のポテンシャル変数を含む信号を受信する度に、保持している当該隣接装置のポテンシャル変数を受信した値に更新し、ある通信装置と通信リンクが新たに設定され、これにより当該通信装置から初めて広告を受信した場合には、広告に含まれる当該通信装置の識別子に関連付けて、広告に含まれるポテンシャル変数を保存する。ここで、ポテンシャル変数とは、リーダ・シンボルを有する装置を1台に集約させるために利用する値であり、その詳細については後述する。
自装置変数管理部3は、自装置のポテンシャル変数と、リーダ変数を保持しており、所定のスケジュールに基づいて自装置のポテンシャル変数を隣接装置に広告する。さらに、自装置変数管理部3は、リーダ・フラグを管理し、自装置が所定の機能を実行している場合、リーダ・フラグを“真”に、所定の機能を実行していない場合には、リーダ・フラグを“偽”に設定する。
ポテンシャル計算部2は、他装置変数管理部1が保持している各隣接装置のポテンシャル変数と、自装置変数管理部3が保持している自装置のポテンシャル変数及びリーダ変数に基づき、所定のスケジュールで指定されるタイミングにおいて、自装置のポテンシャル変数の更新後における値を決定し、自装置変数管理部3は、保持している自装置のポテンシャル変数を、ポテンシャル計算部2が決定した値に更新する。
実行判定部4は、自装置変数管理部3が保持しているリーダ変数が0ではなく、つまり、自装置がリーダ・シンボルを有しており、リーダ・フラグが“偽”である場合、所定のスケジュールで指定されるタイミングにおいて、自装置がネットワーク内でリーダ・シンボルを有する唯一の装置であるか否かを判定し、唯一の装置と判定した場合には所定の機能の実行を開始し、リーダ・フラグを“真”に更新する。なお、唯一の装置ではないと判定した場合、リーダ・シンボル移動処理の対象とする移動先の隣接装置を決定し、移動処理部5は、移動先の隣接装置とメッセージを交換して、リーダ・シンボルの移動処理を完了させる。
続いて、本発明によるシステムの動作について説明する。なお、初期状態、つまり起動時において、各通信装置は、所定の確率Psで、リーダ変数にQを設定し、それ以外にはリーダ変数に0を設定する様に構成されている。なお、初期状態及び処理の途中において、隣接装置の数が1である通信装置は、リーダ変数に0を設定する。ここで、Qは、総ての通信装置で同じ値であっても、通信装置により異なる値であっても良い。同様に、Psも総ての通信装置で同じ値であっても、通信装置により異なる値であっても良い。さらに、起動時において、各通信装置は、ポテンシャル変数を所定の初期値、本実施形態においては0、に設定する。
本実施形態において、ポテンシャル計算部2は、自装置のポテンシャル変数を、更新間隔Icのタイミングにて周期的に更新し、自装置変数管理部3は、m×Icに1回、自装置のポテンシャル変数を広告し、リーダ変数が0ではなく、かつ、リーダ・フラグが“偽”である通信装置の実行判定部4は、n×Icに1回、所定の機能の実行を行うか否かについての判定を行う。なお、m及びnは整数である。図3に、m=2、n=4の場合における処理の流れを示す。
続いて、ポテンシャル計算部2における、自装置のポテンシャル変数の更新処理について説明する。ポテンシャル計算部2は、自装置変数管理部3が保持しているポテンシャル変数をu、リーダ変数をs、他装置変数管理部1が保持している隣接装置kのポテンシャル変数をvとすると、自装置の更新後のポテンシャル変数unewを、以下の式(1)により求める。ただし、隣接装置数が1である場合には、更新後のポテンシャル変数unewを初期値、本実施形態においては0に更新する。
Figure 2011077616
なお、式(1)において、a、b及びcは正の定数であり、Δt及びΔxは、正の小さな定数であり、総ての通信装置のポテンシャル計算部2に対して同じ値をあらかじめ設定しておく。また、式(1)においてΣは、総ての隣接装置について足し合わせることを意味している。
式(1)は、n次元ユークリッド空間における以下の式(2)を、時間及び空間について離散化した式と考えることができる。つまり、Δtは偏微分方程式を数値計算する際に一般的に行われる時間を離散化するための値であり、Δxは偏微分方程式を数値計算する際に一般的に行われる空間を離散化するための値である。なお、本発明におけるシステムは、n次元ユークリッド空間と異なり、隣接する通信装置の数が一定ではないため、式(1)においては、各隣接装置のポテンシャル変数と自装置のポテンシャル変数との差を積算している。
Figure 2011077616
であり、a、b及びcは、式(1)と同じく正の定数である。また、式(2)の、
Figure 2011077616
はラプラシアンとも呼ばれ、n次元ユークリッド空間では以下の様に定義される。
Figure 2011077616
式(2)(よって式(1)も)は、拡散方程式と呼ばれるクラスの微分方程式を変形したものである。式(1)及び式(2)の定数aを含む項は拡散項、定数aは拡散係数と呼ばれることがあり、物理的には熱や化学物質が空間中を拡散していくことを表している。式(1)において、自装置のポテンシャル変数uが、隣接装置のポテンシャル変数vより平均して大きい場合、定数aを含む項は、更新後のポテンシャル変数unewを小さくする様に働き、自装置のポテンシャル変数uが、隣接装置のポテンシャル変数vより平均して小さい場合、定数aを含む項は、更新後のポテンシャル変数unewを大きくする様に働き、自装置のポテンシャル変数uが、隣接装置のポテンシャル変数vの平均とほぼ等しい場合、定数aを含む項は、更新後のポテンシャル変数unewを、あまり変化させない。つまり、定数aを含む項は、隣接装置と自装置のポテンシャル変数との関係に応じて、更新後のポテンシャル変数unewを増減させる様に作用し、変数aの値が大きい程、更新後のポテンシャル変数unewを大きく変化させる。
また、定数bを含む項は減衰項、定数bは減衰係数と呼ばれることがあり、物理的には様々なエネルギーが摩擦などで失われていく度合いを表す。式(1)において、定数bの値及び現在のポテンシャル変数uが大きい程、更新後のポテンシャル変数unewを小さくする様に働く。さらに、定数cを含む項は、ポテンシャル変数uの時間的な増加の度合いを決定する。式(1)においては、リーダ変数sが0ではない場合のみ、この項が働き、更新後のポテンシャル変数unewを大きくする。しかしながら、定数bを含む項が、更新後のポテンシャル変数unewが時間と共に限りなく大きくなることを抑える。
各通信装置が、ポテンシャル変数を更新していくと、式(1)の定数cを含む項の働きにより、リーダ変数が0ではない通信装置のポテンシャル変数uは、リーダ変数が0である通信装置のポテンシャル変数uより大きくなる。また、その増加の程度は、リーダ変数の値が大きい程、大きくなる、また、リーダ変数が0である通信装置のポテンシャル変数uは、リーダ変数が0ではない通信装置より離れるに従い小さくなる。つまり、式(1)は、ポテンシャル変数を高さとすると、ポテンシャル変数の分布を、リーダ変数が0ではない通信装置を頂点とする山の形状にするものであり、定数a、b、cの大きさを調整することで、山の高さや、その分布の形成速度を調整することができる。一例として、a=100、b=10、c=1であり、Δx=10−8程度のオーダ、Δt=10−3程度のオーダが利用できる。
続いて、リーダ変数が0ではく、かつ、リーダ・フラグが“偽”である通信装置における所定の機能の実行判定と、実行を行わない場合におけるリーダ・シンボルの移動処理について説明する。なお、実行判定及び移動先の隣接装置の決定は実行判定部4が、リーダ・シンボルの移動処理は移動処理部5が行う。
(手順1)実行判定部4は、手順5で説明する様に、過去に移動処理を行っていた場合、そのときの時刻tpと、移動処理直前の自装置のリーダ変数spの値を記録している。各実行判定において、実行判定部4は、まず、記録している時刻tpと、現在時刻との差が所定期間以上であり、かつ、記録しているリーダ変数spと、自装置変数管理部3が保持している現在のリーダ変数の値が同じである場合には、所定の機能の実行を開始し、リーダ・フラグを“真”にして終了する。
(手順2)実行判定部4は、他装置変数管理部1から取得する総ての隣接装置のポテンシャル変数vの平均値Vaを計算し、さらに、平均値Vaと、隣接装置のポテンシャル変数の最大値vxとの差の絶対値Diff=|vx−Va|を計算する。
(手順3)実行判定部4は、差の絶対値Diffが、所定の閾値以下の場合には、所定の機能の実行を開始し、リーダ・フラグを“真”にして処理を終了する。それ以外の場合には、移動処理を行うと判定する。
(手順4)実行判定部4は、前記隣接装置の中でポテンシャル変数が最大の装置を移動先装置とする。なお、ポテンシャル変数が最大のものが複数ある場合には、その中から任意の隣接装置を1つ選択し、選択した隣接装置を移動先装置とする。
(手順5)実行判定部4は、現在時刻と、現在のリーダ変数を記録した後、移動処理部5に、移動処理を開始する様に指示する。
(手順6)移動元装置、つまり、移動処理を開始すると判定した装置の移動処理部5は、移動先装置の移動処理部5に、自装置のリーダ変数の値を含む移動要求メッセージを送信する。
(手順7)移動先装置の移動処理部5は、移動要求メッセージを受信した場合、自装置変数管理部3が保持しているリーダ変数の値を、移動要求メッセージに含まれる移動元装置のリーダ変数の値を加算した値に更新する。移動先装置の移動処理部5は、自装置変数管理部3が保持しているリーダ変数の値を更新後、移動完了メッセージを移動元装置に送信する。
(手順8)移動元装置の移動処理部5は、移動先装置から移動完了メッセージを受信した場合、自装置管理部3が保持しているリーダ変数の値を0に更新する。
なお、移動元装置及び移動先装置は移動処理を行っている間に、他の通信装置から移動要求メッセージを受信した場合、この他の通信装置に対しては移動不可メッセージを送信し、この他の通信装置との移動処理を拒否する。よって、移動元装置は、移動先装置から移動不可メッセージを受信した場合、移動処理を中止する。また、移動先装置は、移動要求メッセージを受信した場合、自装置における実行判定を中止し、自装置が移動先装置となることを防ぐ。
上記手順の中で、手順1は、同じ値のリーダ変数が、ネットワーク内の所定の通信装置間を行き来している状態を判定するものである。式(1)及び上記手順から、この様な状態はリーダ・シンボルを有する通信装置がネットワーク内において唯1つとなっている場合に発生する可能性が高いものであるため、手順1の条件を満たす場合、その通信装置が所定の機能を実行する。ただし、手順1における所定期間を短くしすぎると、他にもリーダ・シンボルを有する通信装置が存在しているのに、所定の機能を実行してしまう可能性が高くなり、逆に、長くしすぎると、リーダ・シンボルを有する装置が1つのみになっているのにも係らず、所定の機能の実行が開始されなくなってしまう。
また、式(1)は、リーダ・シンボルを有する通信装置を頂点とする山の形状に、ポテンシャル変数を分布させるものであり、リーダ・シンボルを有する通信装置が1つである場合には、このリーダ・シンボルを有する通信装置の隣接装置のポテンシャル変数は、ほぼ同じ値、理想的には0になる。これに対して、リーダ・シンボルを有する通信装置が複数ある場合には、各リーダ・シンボルを有する通信装置の周囲にある隣接装置のポテンシャル変数は、他のリーダ・シンボルを有する通信装置の影響によりばらつきが生じる。したがって、差の絶対値Diffを閾値により大小判定し、小である場合には、リーダ変数が0ではない通信装置が1つとなっていると判定することがでる。したがって、手順3の条件を満たす場合、その通信装置が所定の機能を実行する。なお、差の絶対値Diffは、理想的には0になるため、閾値は非常に小さい値となるが、具体的な値は、式(1)によるポテンシャル変数の分布の生じ方、つまり、各定数の値により決定する。
手順1及び手順3の条件を満たさない場合、他にもリーダ・シンボルを有する通信装置が存在するためリーダ・シンボルを移動させる。上記手順から明らかなように、移動先装置がリーダ・シンボルを有する通信装置ではない場合、移動処理は単にリーダ・シンボルを1つ移動させるのみであるが、移動先装置がリーダ・シンボルを有する通信装置の場合、リーダ・シンボルを有する2つの通信装置を1つに集約するものとなる。リーダ・シンボルを有する装置を最終的に1つにするためには、リーダ・シンボルを有する通信装置を互いに近い領域に集め、最終的には、リーダ・シンボルを有する通信装置間で移動処理を行わせる必要がある。
上述した様に、式(1)は、リーダ変数が0ではない通信装置を、リーダ変数の値が大きい程、高い山の頂点とする様にポテンシャル変数を分布させるものである。本実施形態においては、2つのリーダ・シンボルを有する通信装置が1つに集約する場合、集約後の通信装置のリーダ変数は、元の2つの通信装置のリーダ変数の合計となり、集約により大きな山が生じる。したがって、ポテンシャル変数が最大の隣接装置にリーダ・シンボルを移動させることで、リーダ・シンボルを有する通信装置を互いに近い領域に集め、最終的には1台に集約させることができる。
なお、最終的にリーダ・シンボルを有する装置が1つとなり、この装置が所定の機能を実行していたとしても、この装置がネットワークから離脱する可能性がある。この装置がネットワークから離脱した場合、ネットワークの総ての通信装置のポテンシャル変数は、0に収束する。したがって、各通信装置は、ポテンシャル変数の更新後、更新後の値が所定の閾値以下であるか否かを判定し、所定の閾値以下となっている場合、隣接装置数を調べ、隣接装置数が1では無い場合、所定の確率でリーダ変数に、起動時と同じ値Qを設定する。これにより、リーダ・フラグが“真”の装置がネットワークから離脱したとしても、所定の機能を実行する装置を新たに生じさせることができる。ここで、所定の閾値は非常に小さい値とすることが好ましい。なお、隣接装置の数が1である通信装置のリーダ変数を常に0に設定し、ポテンシャル値を0に更新するのは、所定の機能を実行する装置をネットワークの端に張り付かせない様にするためである。
本発明においては、ポテンシャル変数の分布において山の頂点となっている通信装置が所定の機能を実行しているため、この所定の機能にアクセスしたい場合、通信装置は、隣接装置の中で、ポテンシャル変数が最大の通信装置に信号を送信すれば良い。信号を受信した通信装置は、自装置が所定の機能を実行していない場合、さらに、隣接装置の中で、ポテンシャル変数が最大の通信装置に信号を転送することで、最終的には、所定の機能を実行している通信装置に信号が到達することになる。
なお、本発明による通信装置は、コンピュータを図2の各部として機能させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。さらに、本発明は、ハードウェア及びソフトウェアの組合せによっても実現可能である。
1 他装置変数管理部
2 ポテンシャル計算部
3 自装置変数管理部
4 実行判定部
5 移動処理部

Claims (9)

  1. 通信リンクにより直接接続している隣接通信装置のポテンシャル変数を保存し、隣接通信装置からポテンシャル変数を受信する度に、保存している該隣接通信装置のポテンシャル変数を更新する第1手段と、
    自装置のポテンシャル変数、リーダ変数及びリーダ・フラグを保存し、自装置のポテンシャル変数を隣接通信装置に送信する第2手段と、
    各隣接通信装置のポテンシャル変数、自装置のポテンシャル変数及びリーダ変数に基づき、自装置のポテンシャル変数を更新する第3手段と、
    を備えており、所定の機能を実行していないときはリーダ・フラグを第1の値とし、前記所定の機能を実行しているときはリーダ・フラグを第2の値とする通信装置であって、
    リーダ・フラグが第1の値であり、かつ、リーダ変数が所定値ではない場合に、前記所定の機能を実行するか否かを判定し、実行する場合には、リーダ・フラグを第2の値に更新して前記所定の機能の実行を開始し、実行しない場合には、移動処理の対象とする移動先の隣接通信装置を決定する第4手段と、
    第4手段が決定した移動先の隣接通信装置に移動要求メッセージを送信し、移動先の隣接通信装置から移動完了メッセージを受信した場合、リーダ変数を前記所定値に更新する第5手段と、
    を備えている通信装置。
  2. 第3手段は、所定の計算式により自装置のポテンシャル変数を更新し、
    ポテンシャル変数の値を高さとすると、前記計算式は、複数の前記通信装置から構成されるネットワークにおけるポテンシャル変数を、リーダ変数が前記所定値ではない通信装置の位置を頂点とする山の形状に分布させるものである、
    請求項1に記載の通信装置。
  3. 前記計算式は、自装置のポテンシャル変数に対して、隣接通信装置のポテンシャル変数から自装置のポテンシャル変数を減じた値を全隣接通信装置に渡り積算した値に基づく値を加算し、自装置のポテンシャル変数に基づく値を減じ、自装置のリーダ変数が前記所定値ではない場合には、さらに、自装置のリーダ変数に基づく値を加算することで、自装置の更新後のポテンシャル変数を求めるものである、
    請求項2に記載の通信装置。
  4. 第4手段は、隣接通信装置のポテンシャル変数の平均値と、隣接通信装置のポテンシャル変数の最大値との差の大小を閾値判定し、差が小さいときには、前記所定の機能の実行をすると判定する、
    請求項1から3のずれか1項に記載の通信装置。
  5. 第4手段は、前回移動処理を実行したときから所定の期間が経過しており、前回の移動処理直前のリーダ変数と、第2手段が保持しているリーダ変数が等しいときには、前記所定の機能の実行をすると判定する、
    項1から4のずれか1項に記載の通信装置。
  6. 第4手段は、隣接通信装置の中でポテンシャル変数の最も大きい隣接通信装置を移動先に決定する、
    請求項1から5のいずれか1項に記載の通信装置。
  7. 移動要求メッセージには、該移動要求メッセージを送信した通信装置のリーダ変数の値が含まれており、
    第5手段は、隣接通信装置から移動要求メッセージを受信した場合、自装置のリーダ変数を、該移動要求メッセージに含まれる値を加算した値に更新し、更新後に、該隣接通信装置に移動完了メッセージを送信する、
    請求項1から6のいずれか1項に記載の通信装置。
  8. それぞれがリーダ・フラグを管理している複数の通信装置を含み、各通信装置は、所定の機能を実行していないときはリーダ・フラグを第1の値とし、所定の機能を実行しているときはリーダ・フラグを第2の値とするシステムにおいて、前記所定の機能を実行する通信装置を決定する方法であって、
    各通信装置が、通信リンクにより直接接続している隣接通信装置にポテンシャル変数を広告する第1ステップと、
    各通信装置が、隣接通信装置からポテンシャル変数を受信した場合において、該隣接通信装置のポテンシャル変数を既に保存している場合には、保存している該隣接通信装置のポテンシャル変数を更新し、該隣接通信装置のポテンシャル変数を保存していない場合には、該隣接通信装置のポテンシャル変数を保存する第2ステップと、
    各通信装置が、各隣接通信装置のポテンシャル変数、自装置のポテンシャル変数及び自装置のリーダ変数に基づき、自装置のポテンシャル変数を更新する第3ステップと、
    を繰り返し、
    リーダ・フラグが第1の値であり、かつ、リーダ変数が所定値ではない通信装置が、前記所定の機能を実行するか否かを判定し、実行する場合には、自装置のリーダ・フラグを第2の値に更新して前記所定の機能の実行を開始し、実行しない場合には、移動処理の対象とする移動先の隣接通信装置を決定する第4ステップと、
    移動先の隣接通信装置を決定した通信装置が、移動先の隣接通信装置に移動要求メッセージを送信し、移動先の隣接通信装置から移動完了メッセージを受信した場合、自装置のリーダ変数を前記所定値に更新する第5ステップと、
    を備えている方法。
  9. 請求項1から7のいずれか1項に記載の通信装置としてコンピュータを機能させるプログラム。
JP2009224244A 2009-09-29 2009-09-29 所定の機能を実行する装置を、ネットワーク内において自律的に決定する方法、該方法のための通信装置及びプログラム Expired - Fee Related JP5371047B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009224244A JP5371047B2 (ja) 2009-09-29 2009-09-29 所定の機能を実行する装置を、ネットワーク内において自律的に決定する方法、該方法のための通信装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009224244A JP5371047B2 (ja) 2009-09-29 2009-09-29 所定の機能を実行する装置を、ネットワーク内において自律的に決定する方法、該方法のための通信装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2011077616A true JP2011077616A (ja) 2011-04-14
JP5371047B2 JP5371047B2 (ja) 2013-12-18

Family

ID=44021177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009224244A Expired - Fee Related JP5371047B2 (ja) 2009-09-29 2009-09-29 所定の機能を実行する装置を、ネットワーク内において自律的に決定する方法、該方法のための通信装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5371047B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526932A (ja) * 2003-06-02 2006-11-24 松下電器産業株式会社 マスタ/スレーブ交換を実行する機器及び方法並びにプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526932A (ja) * 2003-06-02 2006-11-24 松下電器産業株式会社 マスタ/スレーブ交換を実行する機器及び方法並びにプログラム

Also Published As

Publication number Publication date
JP5371047B2 (ja) 2013-12-18

Similar Documents

Publication Publication Date Title
CN110199500B (zh) 用于更新网络拓扑的网络知识的计算机实现的系统和方法
US10484464B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
Shahsavari et al. A theoretical model for fork analysis in the bitcoin network
US8554615B2 (en) Context-induced wireless network transport for content and profile information
CN102904903B (zh) 通信系统和通信方法
CN105337961A (zh) 和客户端进行通信的方法以及服务器
CN110868465A (zh) 一种容器云的负载均衡系统及方法
CN109842670A (zh) 运算装置、其资源分配方法及通信系统
Ahn et al. Proactive context-aware sensor networks
Baniata et al. DONS: Dynamic Optimized Neighbor Selection for smart blockchain networks
Valetto et al. A self-organized load-balancing algorithm for overlay-based decentralized service networks
Ciobanu et al. Opportunistic dissemination using context-based data aggregation over interest spaces
JP5931243B1 (ja) 情報処理装置、端末装置、情報処理方法、及び情報処理プログラム
JP5371047B2 (ja) 所定の機能を実行する装置を、ネットワーク内において自律的に決定する方法、該方法のための通信装置及びプログラム
Chatzidakis et al. A trust change detection mechanism in mobile ad-hoc networks
JP5303416B2 (ja) ネットワーク内において所定の機能を実行する装置が分散する様に変更する方法、該方法のための通信装置及びプログラム
Chen et al. Self-stopping epidemic routing in cooperative wireless mobile sensor networks
Neogy et al. A reliable service discovery protocol using mobile agents in MANET
JP5313100B2 (ja) クラスタヘッド決定方法、該方法を実行するノードおよび制御プログラム
Dragan et al. Leader election in opportunistic networks
JP5086935B2 (ja) 膨大なノード群で構成されるネットワークを制御する方法、該方法を実行するノードおよび制御プログラム
WO2022069669A1 (en) Operation of a distributed deterministic network
US11425024B2 (en) Thread network routing control
Hegde et al. A cognitive theory-based opportunistic resource-pooling scheme for Ad hoc networks
JP4952276B2 (ja) 分散データ管理システムおよび方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120222

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130509

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130704

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130912

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees