(57)【要約】【課題】ネットワークを構成する各通信装置の中で、所定の機能を実行する通信装置を密度制御変数により決まる密度にて自律的に配置する。【解決手段】各通信装置は、隣接装置からポテンシャル変数及び補助変数を受信する度に、保存している該隣接装置のポテンシャル変数及び補助変数を更新し、各隣接装置のポテンシャル変数及び補助変数、並びに、自装置のポテンシャル変数、補助変数及び密度制御変数に基づき自装置のポテンシャル変数及び補助変数を所定の計算式により更新し、自装置のポテンシャル変数と、各隣接装置のポテンシャル変数に基づき所定の機能の実行を行うか否かを判定する。ここで、各通信装置は、自装置のポテンシャル変数が、全隣接装置のポテンシャル変数より大きいこと、或いは、小さいことを、前記所定の機能の実行を行う条件の１つとする。【選択図】図２
2011101148.tif 000002
【特許請求の範囲】
【請求項１】
通信リンクにより接続している隣接装置のポテンシャル変数及び補助変数を保存し、隣接装置からポテンシャル変数及び補助変数を受信する度に、保存している該隣接装置のポテンシャル変数及び補助変数を更新する第１手段と、
自装置のポテンシャル変数、補助変数及び密度制御変数を保存し、自装置のポテンシャル変数及び補助変数を隣接装置に送信する第２手段と、
各隣接装置のポテンシャル変数及び補助変数、並びに、自装置のポテンシャル変数、補助変数及び密度制御変数に基づき自装置のポテンシャル変数及び補助変数を所定の計算式により更新する第３手段と、
自装置のポテンシャル変数と、各隣接装置のポテンシャル変数に基づき所定の機能の実行を行うか否かを判定する第４手段と、
を備えており、
第４手段は、自装置のポテンシャル変数が、全隣接装置のポテンシャル変数より大きいこと、或いは、小さいことを、前記所定の機能の実行を行う条件の１つとする、
通信装置。
【請求項２】
前記所定の計算式は、複数の前記通信装置から構成されるネットワークにおける各通信装置のポテンシャル変数を、極大値と極小値が繰り返す様に分布させるものであり、
前記極大値と極小値の繰り返し密度は、前記密度制御変数により変化する、
請求項１に記載の通信装置。
【請求項３】
Ａ、ΔＴ及びΔｘを正の定数とすると、
隣接装置ｋの補助変数ｖｋ、自装置のポテンシャル変数ｕ、自装置の補助変数ｖ及び自装置の密度制御変数Ｃから、自装置の更新後のポテンシャル変数ｕｎｅｗを求める計算式は、
【数１】
2011101148.tif 000016
であり、
隣接装置ｋのポテンシャル変数ｕｋ、自装置のポテンシャル変数ｕから、自装置の更新後の補助変数ｖｎｅｗを求める計算式は、
【数２】
2011101148.tif 000017
である、
請求項１又は２に記載の通信装置
【請求項４】
Ａ、ΔＴ及びΔｘを正の定数とすると、
隣接装置ｋの２つの補助変数ｖｋ及びｗｋ、自装置のポテンシャル変数ｕ、自装置の２つの補助変数ｖ及びｗ、自装置の密度制御変数Ｃから自装置の更新後のポテンシャル変数ｕｎｅｗ及び補助変数ｗｎｅｗを求める計算式は、それぞれ、
【数３】
2011101148.tif 000018
であり、
隣接装置ｋのポテンシャル変数ｕｋ、自装置のポテンシャル変数ｕから、自装置の更新後の補助変数ｖｎｅｗを求める計算式は、
【数４】
2011101148.tif 000019
である、
請求項１又は２に記載の通信装置
【請求項５】
第４手段は、自装置のポテンシャル変数を更新することによる値の変化を、所定の閾値により大小判定し、変化が小さいことを前記所定の機能の実行を行う条件の１つとする、
請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
密度制御変数を、自装置の内部又は外部の監視対象の値により決定する、
請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
密度制御変数を更新するとき、自装置の補助変数に所定値を、自装置のポテンシャル変数に０以上であり所定の最大値以下の乱数を設定する、
請求項６に記載の通信装置。
【請求項８】
それぞれがポテンシャル変数、補助変数及び密度制御変数を管理する複数の通信装置を含むシステムにおいて、所定の機能を実行する通信装置を選択する方法であって、
各通信装置が、通信リンクにより接続している隣接装置にポテンシャル変数及び補助変数を広告する第１ステップと、
各通信装置が、隣接装置からポテンシャル変数及び補助変数を受信した場合において、該隣接装置のポテンシャル変数及び補助変数を既に保存している場合には、保存している該隣接装置のポテンシャル変数及び補助変数を更新し、保存していない場合には、該隣接装置のポテンシャル変数及び補助変数を保存する第２ステップと、
各通信装置が、各隣接装置のポテンシャル変数及び補助変数、並びに、自装置のポテンシャル変数、補助変数及び密度制御変数に基づき、自装置のポテンシャル変数及び補助変数を所定の計算式により更新する第３ステップと、
を繰り返し、
各通信装置が、自装置のポテンシャル変数と、各隣接装置のポテンシャル変数に基づき所定の機能の実行を行うか否かを判定する第４ステップを有し、
第４ステップにおいて、所定の機能の実行を行うと判定する条件の１つは、ポテンシャル変数が、全隣接装置のポテンシャル変数より大きいこと、或いは、小さいことである、方法。
【請求項９】
前記所定の計算式は、ポテンシャル変数の値を高さとすると、各通信装置のポテンシャル変数の分布を、山と谷が繰り返す形状にするものであり、
前記山と谷が生じる密度は、前記密度制御変数により変化する、
請求項８に記載の方法。
【請求項１０】
請求項１から７のいずれか１項に記載の通信装置としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク全体を管理する管理装置を設けることなく、ネットワークを構成する多数の通信装置の中から、所定の機能、例えば、サーバ機能を実行する通信装置を、ネットワークが所定の密度で自律的に選択する技術に関する。なお、所定の密度は、各装置にあらかじめ与える、あるいは、各装置が何らかの方法にて取得する値に基づき決定される。
【背景技術】
【０００２】
Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）ネットワークとは、オーバレイ・ネットワークとも呼ばれ、例えば、インターネットに接続する通信装置間で構成される仮想的なネットワークである。これら、Ｐ２Ｐネットワークでは、Ｐ２Ｐネットワークを構成する通信装置が対等の関係にあり、サーバとしての機能や、クライアントとしての機能をそれぞれの通信装置が提供している。
【０００３】
また、センサ・ネットワークとは、環境を測定するセンサ・デバイスを分散配置して、広範囲にわたる環境情報を取得するネットワークである。センサ・ネットワークには、Ｓｉｎｋノードと呼ばれるノードが存在する。Ｓｉｎｋノードとは、当該Ｓｉｎｋノードの周囲のノードが測定した測定値を収集して、測定値を処理する装置に送信するゲートウェイとしての役割を果たしている。これらセンサ・ネットワークにおけるルーティング技術が、非特許文献１及び２には記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｃ．Ｉｎｔａｎａｇｏｎｗｉｗａｔ、  ｅｔ  ａｌ．、“Ｄｉｒｅｃｔｅｄ  Ｄｉｆｆｕｓｉｏｎ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｉｎｇ"、ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ、ＶＯＬ．１１  Ｎｏ．  1、ｐｐ２、２００３年
【非特許文献２】Ｆ．Ｙｅ、ｅｔ  ａｌ．、“ＧＲＡｄｉｅｎｔ  Ｂｒｏａｄｃａｓｔ：  Ａ  Ｒｏｂｕｓｔ  Ｄａｔａ  Ｄｅｌｉｖｅｒｙ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ”、ＡＣＭ  Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋｓ、  Ｖｏｌ．１１  Ｎｏ．３、ｐｐ．２８５−２９８（１４）、２００５年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記、複数の通信装置から構成されるＰ２Ｐネットワークや、センサ・ネットワークに対して、サーバ機能や、Ｓｉｎｋノードとしての機能を提供する通信装置を所定の密度で配置したいとする。ネットワークが固定的であり、ネットワークに新たに参加する装置や、このネットワークから離脱する装置が発生しない場合には、ネットワークの構成から、所定の機能を実行する装置を決定するのみで良い。しかしながら、通信装置間の接続関係が時間と共に変化したり、Ｐ２Ｐネットワークの様に、ネットワークに新たに参加する装置や、このネットワークから離脱する装置が発生したりする場合には、ネットワーク構成の変化に伴い、所定の機能を実行する通信装置を変更させる仕組みが必要となる。
【０００６】
なお、上記Ｐ２Ｐネットワークにおいて、例えば、あるファイ転送に係った通信装置は、そのファイルを蓄積して、そのファイルのサーバ装置として動作するが、サーバ装置の位置や密度を制御することはできない。また、上記センサ・ネットワークにおいても、Ｓｉｎｋノードは固定的であり、センサの配置状況において、自律的に、その機能を担う装置を変更することはない。
【０００７】
さらに、所定の機能を実行する通信装置には、他の通信装置が、所定の機能を利用するためにアクセスするが、他の通信装置による所定の機能へのアクセス頻度は、通信装置毎に異なるため、所定の機能を実行している通信装置に他の通信装置がアクセスすることにより生じる負荷も、所定の機能を実行している通信装置毎に異なることになる。このため、所定の機能を実行している通信装置の配置密度についても、例えば、他の通信装置が所定の機能にアクセスすることにより生じる負荷等に基づき増減させることできれば、所定の機能を実行している通信装置に生じる負荷を均等にすることができるため便利である。
【０００８】
所定の機能を実行する通信装置を、例えば、上記通信装置に生じる負荷といった、何らかのパラメータ値に基づき決定される密度にて動的に決定する方法の１つとして、全ネットワークの構成を管理する管理装置を導入し、この管理装置が、ネットワーク構成の変化及びパラメータ値の変化に応じて、所定の機能を実行する装置を決定することが考えられる。しかしながら、通信装置間の接続関係の変化、新たな通信装置の参加、既存の通信装置の離脱、パラメータ値を、総て、管理装置に通知しなければならず、処理が煩雑となる。
【０００９】
したがって、本発明は、ネットワーク全体を管理する管理装置を設けることなく、ネットワークを構成する各通信装置の中で、所定の機能を実行する通信装置を、通信装置に与えられた、あるいは、通信装置が取得する値により決まる密度にて選択して配置する方法と、そのための通信装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明における通信装置によれば、
通信リンクにより接続している隣接装置のポテンシャル変数及び補助変数を保存し、隣接装置からポテンシャル変数及び補助変数を受信する度に、保存している該隣接装置のポテンシャル変数及び補助変数を更新する第１手段と、自装置のポテンシャル変数、補助変数及び密度制御変数を保存し、自装置のポテンシャル変数及び補助変数を隣接装置に送信する第２手段と、各隣接装置のポテンシャル変数及び補助変数、並びに、自装置のポテンシャル変数、補助変数及び密度制御変数に基づき自装置のポテンシャル変数及び補助変数を所定の計算式により更新する第３手段と、自装置のポテンシャル変数と、各隣接装置のポテンシャル変数に基づき所定の機能の実行を行うか否かを判定する第４手段とを備えており、第４手段は、自装置のポテンシャル変数が、全隣接装置のポテンシャル変数より大きいこと、或いは、小さいことを、前記所定の機能の実行を行う条件の１つとすることを特徴とする。
【００１１】
本発明における通信装置の他の実施形態によれば、
前記所定の計算式は、複数の前記通信装置から構成されるネットワークにおける各通信装置のポテンシャル変数を、極大値と極小値が繰り返す様に分布させるものであり、前記極大値と極小値の繰り返し密度は、前記密度制御変数により変化することも好ましい。
【００１２】
また、本発明における通信装置の他の実施形態によれば、
Ａ、ΔＴ及びΔｘを正の定数とすると、
隣接装置ｋの補助変数ｖｋ、自装置のポテンシャル変数ｕ、自装置の補助変数ｖ及び自装置の密度制御変数Ｃから、自装置の更新後のポテンシャル変数ｕｎｅｗを求める計算式は、
【００１３】
【数１】
2011101148.tif 000003
であり、隣接装置ｋのポテンシャル変数ｕｋ、自装置のポテンシャル変数ｕから、自装置の更新後の補助変数ｖｎｅｗを求める計算式は、
【００１４】
【数２】
2011101148.tif 000004
であることも好ましい。
【００１５】
また、本発明における通信装置の他の実施形態によれば、
Ａ、ΔＴ及びΔｘを正の定数とすると、
隣接装置ｋの２つの補助変数ｖｋ及びｗｋ、自装置のポテンシャル変数ｕ、自装置の２つの補助変数ｖ及びｗ、自装置の密度制御変数Ｃから自装置の更新後のポテンシャル変数ｕｎｅｗ及び補助変数ｗｎｅｗを求める計算式は、それぞれ、
【００１６】
【数３】
2011101148.tif 000005
であり、隣接装置ｋのポテンシャル変数ｕｋ、自装置のポテンシャル変数ｕから、自装置の更新後の補助変数ｖｎｅｗを求める計算式は、
【００１７】
【数４】
2011101148.tif 000006
であることも好ましい。
【００１８】
さらに、本発明における通信装置の他の実施形態によれば、
第４手段は、自装置のポテンシャル変数を更新することによる値の変化を、所定の閾値により大小判定し、変化が小さいことを前記所定の機能の実行を行う条件の１つとすることも好ましい。
【００１９】
さらに、本発明における通信装置の他の実施形態によれば、
密度制御変数を、自装置の内部又は外部の監視対象の値により決定することも好ましい。
【００２０】
さらに、本発明における通信装置の他の実施形態によれば、
密度制御変数を更新するとき、自装置の補助変数に所定値を、自装置のポテンシャル変数に０以上であり所定の最大値以下の乱数を設定することも好ましい。
【００２１】
本発明による方法によれば、
それぞれがポテンシャル変数、補助変数及び密度制御変数を管理する複数の通信装置を含むシステムにおいて、所定の機能を実行する通信装置を選択する方法であって、各通信装置が、通信リンクにより接続している隣接装置にポテンシャル変数及び補助変数を広告する第１ステップと、各通信装置が、隣接装置からポテンシャル変数及び補助変数を受信した場合において、該隣接装置のポテンシャル変数及び補助変数を既に保存している場合には、保存している該隣接装置のポテンシャル変数及び補助変数を更新し、保存していない場合には、該隣接装置のポテンシャル変数及び補助変数を保存する第２ステップと、各通信装置が、各隣接装置のポテンシャル変数及び補助変数、並びに、自装置のポテンシャル変数、補助変数及び密度制御変数に基づき、自装置のポテンシャル変数及び補助変数を所定の計算式により更新する第３ステップとを繰り返し、各通信装置が、自装置のポテンシャル変数と、各隣接装置のポテンシャル変数に基づき所定の機能の実行を行うか否かを判定する第４ステップを有し、第４ステップにおいて、所定の機能の実行を行うと判定する条件の１つは、ポテンシャル変数が、全隣接装置のポテンシャル変数より大きいこと、或いは、小さいことであることを特徴とする。
【００２２】
本発明による方法によれば、
前記所定の計算式は、ポテンシャル変数の値を高さとすると、各通信装置のポテンシャル変数の分布を、山と谷が繰り返す形状にするものであり、前記山と谷が生じる密度は、前記密度制御変数により変化することも好ましい。
【００２３】
本発明のプログラムによれば、
上記通信装置としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００２４】
ネットワーク全体を管理する管理装置を設けることなく、ネットワークを構成する各通信装置の中で、所定の機能を実行する通信装置を、通信装置に与えられた、あるいは、通信装置が取得する密度制御変数により決まる密度にて選択して配置することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明による通信システムを示す図である。
【図２】本発明による通信装置の簡略化した構成図である。
【図３】処理の流れを説明する図である。
【図４】ポテンシャル変数の分布を示す図である。
【発明を実施するための形態】
【００２６】
本発明を実施するための形態について、以下では図面を用いて詳細に説明する。
【００２７】
図１は、本発明による通信システムを示す図である。本発明による通信システムは、図１において四角形で表されている本発明による通信装置を複数台含んでいる。なお、図１において、各通信装置を接続する線は通信リンクである。本発明の通信装置により構成されるネットワークにおいては、例えば、Ｐ２Ｐネットワークや、無線のアドホック・ネットワークの様に、ネットワーク構成、つまり、通信装置間の通信リンクや、ネットワークに参加している通信装置が、時間の経過により変化する可能性がある。なお、以下の説明において、隣接装置とは、ある通信装置から見て、通信リンクにより接続されている通信装置を意味するものとする。つまり、図１の縦線で塗り潰された四角形に対応する通信装置は、図１の斜線で塗り潰された四角形に対応する通信装置の隣接装置である。
【００２８】
図２に、本発明による通信装置の簡略化した構成を示す。図２に示す様に、本発明による通信装置は、隣接装置変数管理部１と、変数計算部２と、自装置変数管理部３と、実行判定部４とを備えている。また、以下に説明する本発明の第１実施形態において、各通信装置は、ポテンシャル変数ｕと、補助変数ｖと、密度制御変数Ｃを管理している。ここで、ポテンシャル変数とは、各通信装置が、所定の機能の実行を行うか否かを判定するために使用する値であり、補助変数とは、ポテンシャル変数の計算に利用する変数であり、密度制御変数とは、所定の機能を実行する通信装置の密度を変化させる変数である。ここで、第１実施形態において、密度制御変数は、各通信装置にあらかじめ設定されている値とする。
【００２９】
隣接装置変数管理部１は、隣接装置のポテンシャル変数及び補助変数を、当該隣接装置の識別子に関連付けて保持している。具体的には、隣接装置変数管理部１は、隣接装置が所定のスケジュールに基づいて広告する、当該隣接装置のポテンシャル変数及び補助変数を含む信号を受信する度に、保持している当該隣接装置のポテンシャル変数及び補助変数を受信した値に更新し、ある通信装置と通信リンクが新たに設定され、これにより当該通信装置から初めて広告を受信した場合には、広告に含まれる当該通信装置の識別子に関連付けて、広告に含まれるポテンシャル変数及び補助変数を保存する。なお、ある隣接装置から所定の期間、ポテンシャル変数及び補助変数を含む信号を受信しなかった場合、当該隣接装置とはもはや隣接関係にはないと看做すことができるので、隣接装置変数管理部１は、当該隣接装置であった通信装置のポテンシャル変数及び補助変数を削除する。
【００３０】
自装置変数管理部３は、自装置のポテンシャル変数、補助変数及び密度制御変数を保持しており、所定のスケジュールに基づいて自装置のポテンシャル変数及び補助変数を隣接装置に広告する。
【００３１】
変数計算部２は、隣接装置変数管理部１が保持している各隣接装置のポテンシャル変数及び補助変数と、自装置変数管理部３が保持している自装置のポテンシャル変数、補助変数及び密度制御変数に基づき、所定のスケジュールで指定されるタイミングにおいて、自装置のポテンシャル変数及び補助変数の値を新たに決定する。自装置変数管理部３は、管理している自装置のポテンシャル変数及び補助変数を、変数計算部２が決定した値に更新する。なお、自装置変数管理部３は、変数計算部２が決定した値にポテンシャル変数の値を更新する前に、更新前の値を実行判定部４に出力し、実行判定部４は、この値を、自装置のポテンシャル変数の１つ前の値として保持する。
【００３２】
実行判定部４は、所定のスケジュールで指定されるタイミングにおいて、保持している自装置の１つ前のポテンシャル変数と、自装置変数管理部３が保持している自装置の最新のポテンシャル変数と、隣接装置変数管理部１が管理している各隣接装置のポテンシャル変数から、所定の機能の実行を行うか否かを判定する。判定時に所定の機能を実行していない場合において、実行するとの判定になった場合には所定の機能の実行を開始し、実行しないとの判定になった場合には、所定の機能の実行は開始しない。同様に、判定時に所定の機能を実行している場合において、実行するとの判定になった場合には、そのまま所定の機能の実行を継続し、実行しないとの判定になった場合には、所定の機能の実行を停止する。
【００３３】
続いて、第１実施形態におけるシステムの動作について説明する。なお、初期状態において、各通信装置は、補助変数に所定の値、例えば０を、ポテンシャル変数に０以上であり所定の最大値以下の乱数を設定する。
【００３４】
本実施形態において、変数計算部２は、自装置のポテンシャル変数及び補助変数を、更新間隔Ｉｃのタイミングにて周期的に計算して更新し、自装置変数管理部３は、ｍ×Ｉｃに１回、自装置のポテンシャル変数を広告し、実行判定部４は、ｎ×Ｉｃに１回、所定の機能の実行判定を行う。なお、ｍ及びｎは整数である。図３に、ｍ＝１、ｎ＝４の場合における処理の流れを示す。なお、ポテンシャル変数及び補助変数の更新は、異なるタイミングで行っても良い。つまり、時刻Ｔ＋ｘ・Ｉｃ（ｘは整数）にポテンシャル変数の更新を行い、時刻Ｔ＋ｘ・Ｉｃ＋Ｉｃ／２に補助変数の更新を行う形態であっても良い。
【００３５】
続いて、変数計算部２における、自装置のポテンシャル変数及び補助変数の更新処理について説明する。まず、変数計算部２は、自装置変数管理部３が保持しているポテンシャル変数をｕ、補助変数をｖ、密度制御変数をＣ、隣接装置変数管理部１が保持している隣接装置ｋの補助変数をｖｋすると、自装置の更新後のポテンシャル変数ｕｎｅｗを、以下の式（１）により求める。その後、自装置変数管理部３は、保持しているポテンシャル変数ｕを、求めたｕｎｅｗに更新する。続いて、変数計算部２は、自装置変数管理部３が保持しているポテンシャル変数をｕ、隣接装置変数管理部１が保持している隣接装置ｋの補助変数をｕｋすると、自装置の更新後の補助変数ｖｎｅｗを、以下の式（２）により求める。
【００３６】
【数５】
2011101148.tif 000007
【００３７】
なお、上式において、Ａは正の定数であり、ΔＴ及びΔｘは、正の小さな定数であり、総ての通信装置の変数計算部２に対して同じ値をあらかじめ設定しておく。また、上式においてΣは、総ての隣接装置について足し合わせることを意味している。なお、上述した例では、式（１）により自装置のポテンシャル変数ｕを先に更新し、その後、更新後のポテンシャル変数を使用して、式（２）により、自装置の補助変数ｖを更新していたが、補助変数を先に更新し、その後、ポテンシャル変数を計算する形態であっても良い。ただし、その順序は固定的とする。つまり、式（１）によりポテンシャル変数を先に更新するのであれば、各タイミングにおいてポテンシャル変数を先に更新し、その後、式（２）による補助変数の更新を行う。
【００３８】
式（１）及び（２）は、ｎ次元ユークリッド空間における以下の式（３）を、時間１階・空間２階の偏微分方程式と、空間２階の微分方程式の連立微分方程式に分割し、それらを時間及び空間について離散化した式と考えることができる。つまり、ΔＴは偏微分方程式を数値計算する際に一般的に行われる時間を離散化するための値であり、Δｘは偏微分方程式を数値計算する際に一般的に行われる空間を離散化するための値である。なお、本発明におけるシステムは、ｎ次元ユークリッド空間と異なり、隣接する通信装置の数が一定ではないため、式（１）及び（２）においては、各隣接装置と自装置の変数の差を積算している。
【００３９】
【数６】
2011101148.tif 000008
なお、Ａは、式（１）と同じく正の定数である。また、式（３）の、
【００４０】
【数７】
2011101148.tif 000009
はラプラシアンと呼ばれる微分演算子であり、ｎ次元ユークリッド空間では以下の式（４）の様に定義される。同様に、
【００４１】
【数８】
2011101148.tif 000010
は以下の式（５）の様に定義される。したがって、
【００４２】
【数９】
2011101148.tif 000011
は以下の式（６）の様に表される。
【００４３】
【数１０】
2011101148.tif 000012
も、式（５）から式（６）と同様にして求められる。
【００４４】
【数１１】
2011101148.tif 000013
【００４５】
各通信装置が、式（１）及び（２）に従い、ポテンシャル変数及び補助変数を更新していくと、各通信装置のポテンシャル変数の空間分布は、密度制御変数Ｃの値により決まる密度にて極大値及び極小値が繰り返す様になる。なお、密度制御変数Ｃの値が大きい程密度は低く、つまり、繰り返し周期が長くなる。図４は、各通信装置がそれぞれ４つの通信装置と通信リンクを設定し、つまり、ネットワーク構成が格子状である場合において、定常状態となったときの、ある一列の通信装置のポテンシャル変数の分布を示している。よって、例えば、通信装置Ｅは、通信装置Ｄ及びＦの隣接装置である。ポテンシャル変数の値を高さとすると、図４は、１２台の通信装置毎に山及び谷が生じている様子を示している。なお、図４は、ネットワークが格子状であるため、ポテンシャル変数は、正弦波状に分布しているが、実際には、通信リンクの設定状態により、図４に示すものより歪んだ分布となる。しかしながら、通信リンクの設定状態に係らず、ポテンシャル変数は、極大値及び極小値が繰り返す様に分布し、その密度については、密度制御変数Ｃにより制御することが可能である。なお、ΔＴ、Δｘ及びＡの値により定常状態になるまでの時間が決定される。
【００４６】
続いて、実行判定部４における所定の機能を実行するか否かの判定について説明する。まず、実行判定部４は、上述した様に、保持している自装置の１つ前のポテンシャル変数ｕｂと、自装置変数管理部３が保持している自装置の最新のポテンシャル変数ｕａと、ポテンシャル変数の更新間隔Ｉｃに基づき、自装置のポテンシャル変数の時間変化率＝（ｕａ−ｕｂ）／Ｉｃを求め、求めた時間変化率の絶対値が閾値以下であるか否かを判定する。
【００４７】
閾値より大きい場合には、ポテンシャル変数の分布が定常状態にないと判定できるため、所定の機能を実行しないと判定する。なお、この閾値は、理想的には０とすべきであるが、現実的には０とすることはできず、０に近い所定の値、例えば、ポテンシャル変数ｕの初期値として設定する乱数の最大値をＭＡＸとすると、（ＭＡＸ／Ｉｃ）×０．０００１等に設定する。なお、この閾値が低すぎると所定の機能の実行がなかなか開始されなくなり、高すぎると、多数の通信装置において無駄に所定の機能の実行が開始されることになる。
【００４８】
時間変化率の絶対値が閾値以下である場合、実行判定部４は、自装置変数管理部３が保持している自装置の最新のポテンシャル変数ｕａと、隣接装置変数管理部１が保持している全隣接装置のポテンシャル変数を比較し、自装置変数管理部３が保持している自装置の最新のポテンシャル変数ｕａが最大である場合、所定の機能を実行すると判定し、それ以外の場合には、所定の機能を実行しないと判定する。これは、自装置が、ネットワークのポテンシャル変数の分布における極大値に該当する場合には、所定の機能を実行すると判定するものであるが、極小値の場合に所定の機能を実行すると判定する形態であっても、極大値及び極小値の両方において所定の機能を実行すると判定する形態であっても良い。
【００４９】
なお、本実施形態においては、ポテンシャル変数の分布において山の頂点となっている通信装置が所定の機能を実行しているため、この所定の機能にアクセスしたい場合、通信装置は、隣接装置の中で、ポテンシャル変数が最大の通信装置に信号を送信すれば良い。信号を受信した通信装置は、自装置が所定の機能を実行していない場合、さらに、隣接装置の中で、ポテンシャル変数が最大の通信装置に信号を転送することで、最終的には、所定の機能を実行している通信装置に信号が到達することになる。
【００５０】
続いて、本発明の第２実施形態について説明する。第１実施形態においては、１つの補助変数ｖのみを使用していたが、第２実施形態においては、２つの補助変数ｖ及びｗを利用する。したがって、隣接装置変数管理部１は、隣接装置のポテンシャル変数及び２つの補助変数を保持し、自装置変数管理部３は、自装置のポテンシャル変数、２つの補助変数及び密度制御変数を保持し、所定のスケジュールに基づいて自装置のポテンシャル変数及び２つの補助変数を隣接装置に広告する。また、変数計算部２は、隣接装置変数管理部１が保持している各隣接装置のポテンシャル変数及び２つの補助変数と、自装置変数管理部３が保持している自装置のポテンシャル変数、２つの補助変数及び密度制御変数に基づき、所定のスケジュールで指定されるタイミングにおいて、自装置のポテンシャル変数及び２つの補助変数の値を新たに決定する。
【００５１】
本実施形態においては、各通信装置が広告する変数が増え、広告するデータ量と、変数の計算量が増加する。しかしながら、ΔＴ、Δｘ及びＡが同一である場合、定常状態に収束する時間は第１実施形態より短くなる。以下に、第２実施形態におけるポテンシャル変数、補助変数の更新方法を説明する。その他の処理は第１実施形態と同じである。
【００５２】
まず、初期状態において、各通信装置は、２つの補助変数に所定値、例えば０を、ポテンシャル変数に０以上であり所定の最大値以下の乱数を設定する。また、変数計算部２は、自装置変数管理部３が保持しているポテンシャル変数をｕ、２つの補助変数をｖ及びｗ、隣接装置変数管理部１が保持している隣接装置ｋの２つの補助変数をｖｋ及びｗｋとすると、自装置の更新後のポテンシャル変数ｕｎｅｗ及びｗｎｅｗを、それぞれ、以下の式（７）及び（８）により求める。その後、自装置変数管理部３は、保持しているポテンシャル変数ｕを求めたｕｎｅｗに、さらに、保持している補助変数ｗを求めたｗｎｅｗに更新する。続いて、変数計算部２は、自装置変数管理部３が保持しているポテンシャル変数をｕ、隣接装置変数管理部１が保持している隣接装置ｋの補助変数をｕｋすると、自装置の更新後の補助変数ｖｎｅｗを、以下の式（９）により求める。
【００５３】
【数１２】
2011101148.tif 000014
【００５４】
なお、Ａ、ΔＴ及びΔｘ、さらに、Σの意味は第１実施形態と同じである。なお、第１実施形態と同様、先に式（９）により補助変数ｖを更新し、その後、式（７）及び（８）により、ポテンシャル変数及び補助変数ｗの更新を行う形態であっても良い。ただし、式（７）及び（８）による更新と、式（９）による更新の順番は、各タイミングにおいて同じとする。さらに、式（９）による補助変数ｖの更新を、式（７）及び（８）によるポテンシャル変数ｕ及び補助変数ｗの更新とは異なるタイミングで行っても良い。つまり、時刻Ｔ＋ｘ・Ｉｃ（ｘは整数）にポテンシャル変数ｕ及び補助変数ｗの更新を行い、時刻Ｔ＋ｘ・Ｉｃ＋Ｉｃ／２に補助変数ｖの更新を行う形態であっても良い。
【００５５】
式（７）、（８）及び（９）は、ｎ次元ユークリッド空間における以下の式（１０）を、時間１階・空間２階の偏微分方程式と、空間２階の微分方程式の連立微分方程式に分割し、それらを時間及び空間について離散化した式と考えることができる。なお、本発明におけるシステムは、ｎ次元ユークリッド空間と異なり、隣接する通信装置の数が一定ではないため、式（７）、（８）及び（９）においては、各隣接装置と自装置の変数の差を積算している。
【００５６】
【数１３】
2011101148.tif 000015
なお、Ａは、式（１）と同じく正の定数であり、ラプラシアンに関しては第１実施形態と同様である。
【００５７】
上述した２つの実施形態において、各通信装置には、あらかじめ所定の値が密度制御変数Ｃとして設定されているものとしていた。しかしながら、各通信装置が、密度制御変数Ｃの値を、例えば、ＣＰＵの負荷率、通信用バッファの空き容量、センサが測定した温度等の環境値、通信装置が電池駆動である場合の電池の残量、通信装置が太陽電池で駆動されている場合の発電量等により動的に変更する形態であっても良い。この場合、各通信装置の自装置変数管理部３は、自装置の密度制御変数Ｃを決定する装置内部又は外部の監視対象を監視し、対象が変化したことにより、自装置の密度制御変数Ｃを異なる値に更新する場合、同時に、自装置の総ての補助変数を例えば０といった所定値に、ポテンシャル変数を０以上であり所定の最大値以下の乱数に更新する。つまり、補助変数及びポテンシャル変数を初期化する。これにより、更新後の密度制御変数Ｃに基づくポテンシャル変数の空間分布に遷移させる。
【００５８】
例えば、通信装置が太陽電池で駆動されている場合において、発電量により密度制御変数Ｃを決定するものとすると、日向にあり発電量の多い領域においては高い密度で所定の機能を実行する通信装置が配置され、日陰にあり発電量の少ない領域においては低い密度で所定の機能を実行する通信装置が配置され、さらに、発電量の変化に応じてその密度が自律的に変更されることになる。同様に、ＣＰＵの負荷率により密度制御変数Ｃを決定するものとすると、負荷に応じて所定の機能を実行する通信装置の密度を制御することが可能になる。
【００５９】
なお、本発明による通信装置は、コンピュータを図２の各部として機能させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。さらに、本発明は、ハードウェア及びソフトウェアの組合せによっても実現可能である。
【符号の説明】
【００６０】
１  隣接装置変数管理部
２  変数計算部
３  自装置変数管理部
４  実行判定部
【図１】
2011101148.tif 000020
【図２】
2011101148.tif 000021
【図３】
2011101148.tif 000022
【図４】
2011101148.tif 000023