JP5924423B2 - 情報処理方法、通信方法、通信ノード、システム、および情報処理プログラム - Google Patents
情報処理方法、通信方法、通信ノード、システム、および情報処理プログラム Download PDFInfo
- Publication number
- JP5924423B2 JP5924423B2 JP2014553952A JP2014553952A JP5924423B2 JP 5924423 B2 JP5924423 B2 JP 5924423B2 JP 2014553952 A JP2014553952 A JP 2014553952A JP 2014553952 A JP2014553952 A JP 2014553952A JP 5924423 B2 JP5924423 B2 JP 5924423B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- route
- communication node
- power consumption
- processing
- 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.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims description 233
- 230000010365 information processing Effects 0.000 title claims description 177
- 238000000034 method Methods 0.000 title claims description 118
- 238000003672 processing method Methods 0.000 title claims description 23
- 238000012545 processing Methods 0.000 claims description 337
- 238000004220 aggregation Methods 0.000 claims description 113
- 230000002776 aggregation Effects 0.000 claims description 113
- 238000003860 storage Methods 0.000 claims description 58
- 230000000644 propagated effect Effects 0.000 claims description 27
- 238000012546 transfer Methods 0.000 claims description 21
- 230000001902 propagating effect Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 37
- 238000013461 design Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
- H04W40/10—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/10—Scheduling measurement reports ; Arrangements for measurement reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/38—TPC being performed in particular situations
- H04W52/46—TPC being performed in particular situations in multi hop networks, e.g. wireless relay networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/52—Allocation or scheduling criteria for wireless resources based on load
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、情報処理方法、通信方法、通信ノード、システム、および情報処理プログラムに関する。
従来、バッテリ駆動する複数の機器を利用して並列処理を行う手法としては、機器のバッテリ残量と他の機器との通信距離に基づいて機器に割り当てる処理を決定する技術が知られている(たとえば、下記特許文献1を参照。)。
また、複数のセンサー付無線端末を所定空間に散在させ、それらが協調して環境や物理的状況を採取することを可能とするセンサーネットワーク(WSN:Wireless Sensor Networks)システムが知られている。
しかしながら、マルチホップ通信によりデータが伝搬される場合は、データの伝搬経路によって通信ノード間のデータ転送量が異なるため、各通信ノードの消費電力量が不均一となるという問題がある。
1つの側面では、本発明は、各通信ノードの消費電力量の均等化を図ることができる情報処理方法、通信方法、通信ノード、システム、および情報処理プログラムを提供することを目的とする。
本発明の一側面によれば、複数の通信ノードでのマルチホップ通信によってそれぞれ異なるデータを第1集約装置から第2集約装置へ伝搬させる複数の経路を示す経路情報を取得して、情報を記憶する記憶部に書き込み、自装置から前記複数の通信ノードに実行が依頼される複数のデータ処理について、前記複数の経路のうちの、前記データ処理の実行を依頼する依頼情報および前記データ処理の処理結果を伝搬させる伝搬経路と、前記伝搬経路に含まれる通信ノードのうちの前記データ処理の実行の依頼先の通信ノードと、を示す伝搬情報を取得して前記記憶部に書き込み、前記記憶部から読み出した前記経路情報および前記伝搬情報に基づく前記複数の通信ノードの各々の消費電力量を導出し、導出した前記消費電力量に基づいて前記複数の通信ノードのうちのいずれかの通信ノードを選択し、前記伝搬情報に基づいて、前記依頼情報または前記処理結果のうち、選択した前記通信ノードが転送する依頼情報または処理結果を選択し、前記依頼情報を選択した場合に、前記複数の経路のいずれかの経路に含まれる経路であって、前記第1集約装置から、選択した前記依頼情報についてのデータ処理の依頼先の通信ノードまでの、選択した前記通信ノードを経由しない経路を特定し、前記処理結果を選択した場合に、前記複数の経路のいずれかの経路に含まれる経路であって、前記処理結果についてのデータ処理の依頼先の通信ノードから、前記第2集約装置までの、選択した前記通信ノードを経由しない経路を特定し、選択した前記依頼情報または前記処理結果の少なくとも一部を、特定した前記経路によって伝搬させることを示す情報を生成する情報処理方法、および情報処理プログラムが提案される。
本発明の他の側面によれば、第1集約装置から第2集約装置へ複数の通信ノードでのマルチホップ通信によってそれぞれ異なるデータを伝搬させる複数の経路を示す経路情報を取得して、情報を記憶する記憶部に書き込み、自装置から前記複数の通信ノードに実行が依頼される複数のデータ処理について、前記複数の経路のうちの、前記データ処理の実行を依頼する依頼情報および前記データ処理の処理結果を伝搬させる伝搬経路と、前記伝搬経路に含まれる通信ノードのうちの前記データ処理を実行させる通信ノードと、を示す伝搬情報を取得して前記記憶部に書き込み、前記記憶部から読み出した前記経路情報および前記伝搬情報に基づく前記複数の通信ノードの各々の消費電力量を導出し、導出した前記消費電力量に基づいて、前記複数の通信ノードのうちの第1通信ノードと、前記複数の通信ノードのうちの選択した前記第1通信ノードよりも消費電力量が少ない第2通信ノードと、を選択し、前記複数の経路から、前記第2通信ノードを含む経路を特定し、前記複数のデータ処理のうち、選択した前記第1通信ノードが依頼先であるデータ処理の一部の依頼先を、選択した前記第2通信ノードとすることを示し、選択した前記第1通信ノードが依頼先であるデータ処理の一部についての前記依頼情報と前記処理結果を、特定した前記経路によって伝搬させることを示す情報を生成する情報処理方法、および情報処理プログラムが提案される。
また、本発明の他の側面によれば、第1集約装置から第2集約装置へマルチホップ通信によってデータ処理の実行を依頼する依頼情報または前記データ処理の処理結果を伝搬させる経路上の各通信ノードであって、前記依頼情報または前記処理結果を含む経由情報を受信し、受信した前記経由情報に含まれる前記依頼情報が示す依頼先が自通信ノードである場合、前記データ処理を前記依頼情報に基づいて実行し、前記依頼情報または前記処理結果を分割して複数の伝搬先に伝搬させる前記経路上のいずれかの通信ノードが前記依頼情報または前記処理結果を分割する割合を示す分割情報が、受信した前記経由情報に含まれている場合、自通信ノードが前記いずれかの通信ノードであれば、前記複数の伝搬先の各々に対応する、前記分割情報が示す割合に基づいて分割した前記依頼情報または前記処理結果を含む経由情報を生成し、自通信ノードが前記いずれかの通信ノードでなければ、前記分割情報と、前記依頼情報または前記処理結果と、を含む経由情報を生成し、前記経由情報に前記分割情報が含まれていない場合、前記依頼情報または前記処理結果を含む経由情報を生成し、生成した前記経由情報を前記経路における自通信ノードの伝搬先に送信する通信方法、通信ノードが提案される。
また、本発明の他の側面によれば、第1集約装置と、前記第1集約装置と異なる第2集約装置と、マルチホップ通信によって前記第1集約装置から前記第2集約装置への複数の経路でそれぞれ異なるデータを伝搬させる複数の通信ノードと、前記第1集約装置と前記第2集約装置との各々と通信可能であって、情報を記憶する記憶部を有する情報処理装置と、を有するシステムであって、前記情報処理装置が、前記複数の通信ノードでのマルチホップ通信によってそれぞれ異なるデータを第1集約装置から第2集約装置へ伝搬させる複数の経路を示す経路情報を取得して前記記憶部に書き込み、前記情報処理装置から前記複数の通信ノードに実行が依頼される複数のデータ処理について、前記複数の経路のうちの前記データ処理の実行を依頼する依頼情報および前記データ処理の処理結果を伝搬させる伝搬経路と、前記伝搬経路に含まれる通信ノードのうちの前記データ処理の依頼先の通信ノードと、を示す伝搬情報を取得して前記記憶部に書き込み、前記記憶部から読み出した前記経路情報および前記伝搬情報に基づく前記複数の通信ノードの各々の消費電力量を導出し、前記複数の通信ノードの各々の導出した前記消費電力量のうち最も多い消費電力量が閾値未満であるか否かを判断し、前記最も多い消費電力量が閾値未満である場合、前記伝搬情報を前記第1集約装置に送信することにより、前記伝搬情報に基づいて前記複数のデータ処理を前記複数の通信ノードに実行させるシステムが提案される。
本発明の一態様によれば、各通信ノードの消費電力量の均等化を図ることができる。
以下に添付図面を参照して、本発明にかかる情報処理方法、通信方法、通信ノード、システム、および情報処理プログラムの実施の形態を詳細に説明する。本実施の形態では、各通信ノードをセンサーネットワークシステム内のセンサーノードとする。たとえば、センサーネットワークでは、個々のセンサーノードが有するプロセッサの処理能力は高くないが、センサーノードの数が数千、数万と大量にあるため、センサーネットワークシステム全体の処理能力は高くなる。そこで、本実施の形態では、センサーノードがセンシング動作をしていない期間にセンサーネットワークを計算機資源として利用する。たとえば、イタレーション間に依存関係がないループ並列処理をセンサーネットワークに演算させる。
図1は、消費電力量の均等化例を示す説明図である。センサーネットワークでは、複数の通信ノードである複数のセンサーノード101のマルチホップ通信によってそれぞれ異なるデータが複数の経路によって第1通信装置である第1集約装置から第2通信装置である第2集約装置に伝搬される。そのため、各センサーノード101の消費電力量は、データ処理に要するデータ量と、データ処理に関するデータの送受信に要する通信量と、によって定まる。
伝搬経路によっては、各センサーノード101は、転送のデータ量が多いと、依頼されたデータ処理量が少なくても、消費電力量が多くなってしまう場合がある。そのため、一部のセンサーノード101において、依頼されたデータ処理とデータ転送を可能な電力量がバッテリの蓄電量を超えてしまう場合がある。マルチホップ通信によってデータが転送されるため、いずれかのセンサーノード101がバッテリ切れになってしまうと、データが転送されなくなってしまい、センサーネットワークに依頼したループ並列処理が完了しない可能性がある。そのため、バッテリに余裕のあるセンサーノード101が多数あったとしても、センサーネットワークにデータ処理を依頼できないこととなる。または、バッテリ切れになると、各センサーノード101の自ノードに関する処理が行えなくなってしまう。
そこで、本実施の形態では、各センサーノード101の消費電力量がバッテリに蓄電可能な電力量を超えないようにするために、情報処理装置100によって各センサーノード101の消費電力量の均等化を図る。情報処理装置100は、センサーノード101の消費電力量を均等化する処理を行うコンピュータである。図1には、センサーノード101−1からセンサーノード101−7がある。たとえば、センサーノード101−7に実行が依頼されるデータ処理についての依頼情報を送受信する経路は複数存在する。たとえば、センサーノード101−3からセンサーノード101−5を経由してセンサーノード101−7に到達する経路と、センサーノード101−3からセンサーノード101−6を経由してセンサーノード101−7に到達する経路と、の2つの経路がある。
たとえば、センサーノード101−5の消費電力量が多い場合に、情報処理装置100は、センサーノード101−7に実行が依頼されるデータ処理についての依頼情報の一部を、センサーノード101−5を迂回した経路によって伝搬させる。具体的に、情報処理装置100は、(1)センサーノード101−7に実行が依頼されるデータ処理についての依頼情報について分岐点であるセンサーノード101−3での分割割合を変更することにより、分配を変える。これにより、消費電力量を均一化させてもよい。
また、たとえば、センサーノード101−5の消費電力量が多い場合に、情報処理装置100は、(2)センサーノード101−5に実行が依頼されるデータ処理の依頼先を別経路のセンサーノード101−6に変更する。これにより、消費電力量を均一化させてもよい。
図2は、センサーネットワーク例を示す説明図である。センサーネットワーク200は、複数の通信ノードである複数のセンサーノード101を含む。センサーネットワーク200には、第1集約装置201−1から第2集約装置201−2へ複数のセンサーノード101でのマルチホップ通信によってそれぞれ異なるデータを転送させる複数の経路(たとえば、rx−1,rx−2,・・・,rx−i)がある。図2のセンサーノード101間が実線で結ばれているが、実際にはマルチホップ通信による経路を示している。複数の経路をネットワーク構成、またはネットワークトポロジと称し、複数の経路を示す情報を経路情報と称する。
センサーネットワーク200の構築方法については特に限定しないが、ここで一例を簡単に説明する。たとえば、まず、各センサーノード101は、(a)近距離無線の届く範囲にいるすべての近隣のセンサーノード101と無線通信によって接続する。複数のセンサーノード101は、(b)第1集約装置201−1から空のデータを周辺のセンサーノードに対してマルチホップ通信によってリレー転送させ、各センサーノード101は、第1集約装置201−1から自センサーノード101までの最短ホップ数を計測する。
各センサーノード101は、(c)(a)において接続した近隣のセンサーノード101のうち自センサーノード101よりホップ数が少ないセンサーノード101を親ノードとする。各センサーノード101は、接続関係があるセンサーノード101−1のうち、ホップ数が多いセンサーノード101を子ノードとする。そして、各センサーノード101は、接続関係があるセンサーノード101−1のうち、ホップ数が同じノードを兄弟ノードとする。各センサーノード101は、このときに、兄弟ノードとの接続は切り、親ノードに対しては親ノードが一つだけなら接続を維持、親ノードが複数ある場合は最も第1集約装置201−1に近い親ノードとだけ接続を残し、それ以外は接続を切る。これにより、センサーネットワーク200を構築できる。
また、第2集約装置201−2が、構築したネットワーク構成を各センサーノード101から接続しているセンサーノード101の情報を回収することにより、取得することができる。上述したように本実施の形態ではこの方法に限らず、様々な方法で構築されたネットワークを利用してもよい。
また、同一のセンサーネットワーク200であっても、マルチホップ通信による経路によって、ネットワーク構成は複数ある。集約装置201については、ここでは、2つを挙げているが、単一であってもよいし、3つ以上であってもよい。
図3は、システムの一例を示す説明図である。システム300では、ループ処理依頼を行う情報処理装置100がセンサーネットワーク200を利用してループ処理を実行させる。システム300は、たとえば、センサーネットワーク200と、複数の通信装置である複数の集約装置201と、情報処理装置100と、を有する。情報処理装置100は、ネットワークNETを介して複数の集約装置201の各々と接続されている。
(情報処理装置100のハードウェア構成例)
図4は、情報処理装置のハードウェア構成例を示すブロック図である。図4において、情報処理装置100は、CPU401と、ROM402と、RAM403と、ディスクドライブ404と、ディスク405と、を有している。情報処理装置100は、ネットワークI/F406と、入力装置407と、出力装置408と、を有している。また、各部はバス400によってそれぞれ接続されている。
図4は、情報処理装置のハードウェア構成例を示すブロック図である。図4において、情報処理装置100は、CPU401と、ROM402と、RAM403と、ディスクドライブ404と、ディスク405と、を有している。情報処理装置100は、ネットワークI/F406と、入力装置407と、出力装置408と、を有している。また、各部はバス400によってそれぞれ接続されている。
ここで、CPU401は、情報処理装置100の全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される記憶部である。ディスクドライブ404は、CPU401の制御にしたがってディスク405に対するデータのリード/ライトを制御する。ディスク405は、ディスクドライブ404の制御で書き込まれたデータを記憶する。ディスク405としては、磁気ディスク、光ディスクなどが挙げられる。
ネットワークI/F406は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークNETに接続され、このネットワークNETを介して他の装置に接続される。そして、ネットワークI/F406は、ネットワークNETと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。ネットワークI/F406には、たとえばモデムやLANアダプタなどを採用することができる。
入力装置407は、キーボード、マウス、タッチパネルなど利用者の操作により、各種データの入力を行うインターフェースである。また、入力装置407は、カメラから画像や動画を取り込むこともできる。また、入力装置407は、マイクから音声を取り込むこともできる。出力装置408は、CPU401の指示により、データを出力するインターフェースである。出力装置408には、ディスプレイやプリンタが挙げられる。
(センサーノード101のハードウェア構成例)
図5は、センサーノードのハードウェア構成例を示すブロック図である。センサーノード101は、マイクロプロセッサ(以下、「MCU(Micro Control Unit)」と称する。)501と、センサー502と、無線通信回路503と、RAM504と、ROM505と、不揮発メモリ506と、アンテナ507と、ハーベスタ508と、バッテリ509と、PMU(Power Management Unit)510と、を有する。センサーノード101は、MCU501と、センサー502と、無線通信回路503と、RAM504と、ROM505と、不揮発メモリ506と、を接続する内部バス500を有する。図5において点線の矢印は電力線を示し、図5において実線の矢印はデータ線を示す。
図5は、センサーノードのハードウェア構成例を示すブロック図である。センサーノード101は、マイクロプロセッサ(以下、「MCU(Micro Control Unit)」と称する。)501と、センサー502と、無線通信回路503と、RAM504と、ROM505と、不揮発メモリ506と、アンテナ507と、ハーベスタ508と、バッテリ509と、PMU(Power Management Unit)510と、を有する。センサーノード101は、MCU501と、センサー502と、無線通信回路503と、RAM504と、ROM505と、不揮発メモリ506と、を接続する内部バス500を有する。図5において点線の矢印は電力線を示し、図5において実線の矢印はデータ線を示す。
センサー502は、設置箇所における所定の変位量を検出する。センサー502は、たとえば、設置箇所の圧力を検出する圧電素子や、温度を検出する素子、光を検出する光電素子などを用いることができる。アンテナ507は、集約装置201と無線通信する電波を送受信する。無線通信回路503(RF(Radio Frequency))は、受信した無線電波を受信信号として出力し、送信信号を無線電波としてアンテナ507を介して送信する。
MCU501は、センサー502が検出したデータを処理する。RAM504は、MCU501における処理の一時データを格納する。RAM504は、MCU501における処理の一時データを格納する。ROM505は、MCU501が実行する処理プログラムなどを格納する。不揮発メモリ506は、書き込み可能なメモリであって、電力供給が途絶えたときなどにおいても書き込まれた所定のデータを保持する。たとえば、書き込みか可能な不揮発メモリ506は、フラッシュメモリが挙げられる。
ハーベスタ508は、センサーノード101の設置箇所における外部環境、たとえば、光、振動、温度、無線電波(受信電波)などのエネルギー変化に基づき発電を行う。ハーベスタ508は、センサー502によって検出された変位量に応じて発電を行ってもよい。バッテリ509は、ハーベスタ508により発電された電力を蓄える。すなわち、センサーノード101は、二次電池や外部電源などが不要であり、動作に必要な電力を自装置の内部で生成する。PMU510は、バッテリ509によって蓄えられた電力を、センサーノード101の各部に駆動電源として供給する制御を行う。
(集約装置201のハードウェア構成例)
図6は、集約装置のハードウェア構成例を示すブロック図である。集約装置201は、センサーノード101と異なり、外部電源に基づき動作する。集約装置201は、センサーノード101のMCU501よりも高性能なプロセッサ(CPU601)と、大容量のROM602、RAM603、および不揮発メモリ604と、インターフェース(I/O(Input/Output))回路605と、を有する。集約装置201は、CPU601と、ROM602と、RAM603と、不揮発メモリ604と、I/O回路605と、を接続するバス600を有する。
図6は、集約装置のハードウェア構成例を示すブロック図である。集約装置201は、センサーノード101と異なり、外部電源に基づき動作する。集約装置201は、センサーノード101のMCU501よりも高性能なプロセッサ(CPU601)と、大容量のROM602、RAM603、および不揮発メモリ604と、インターフェース(I/O(Input/Output))回路605と、を有する。集約装置201は、CPU601と、ROM602と、RAM603と、不揮発メモリ604と、I/O回路605と、を接続するバス600を有する。
また、I/O回路605には、アンテナ606および無線通信回路(RF)607と、ネットワークI/F608が接続されている。これにより、集約装置201は、アンテナ606および無線通信回路607を介して、センサーノード101と無線通信することができる。さらに、集約装置201は、ネットワークI/F608を介して、TCP/IPのプロトコル処理などにより、インターネットなどのネットワークNETを介して情報処理装置100、サーバ301や利用者端末などの外部装置と通信を行うことができる。
(情報処理装置100の機能的構成例)
図7Aおよび図7Bは、情報処理装置の機能的構成を示すブロック図である。図8は、分割割合変更部の詳細なブロック図である。図9は、処理量変更部の詳細なブロック図である。情報処理装置100は、ユーザーインターフェイス部711と、伝搬情報生成部712と、送受信部713と、を有する。
図7Aおよび図7Bは、情報処理装置の機能的構成を示すブロック図である。図8は、分割割合変更部の詳細なブロック図である。図9は、処理量変更部の詳細なブロック図である。情報処理装置100は、ユーザーインターフェイス部711と、伝搬情報生成部712と、送受信部713と、を有する。
ユーザーインターフェイス部711は、ユーザーからのデータ処理依頼などのコマンドを受け付ける。また、ユーザーインターフェイス部711は、データ処理依頼の処理結果の表示を行う。具体的には、ユーザーインターフェイス部711は、入力装置407を介してコマンドを受け付け、出力装置408によって処理結果を出力する。
伝搬情報生成部712は、センサーネットワーク200にユーザーから依頼されたデータ処理についての伝搬情報を生成する。伝搬情報生成部712の詳細については、後述する。
送受信部713は、伝搬情報生成部712によって生成された伝搬情報を第1集約装置201−1に送信する。また、送受信部713は、処理結果を第2集約装置201−2から受信する。具体的に、送受信部713は、たとえば、ネットワークI/F406によって実現される。
つぎに、伝搬情報生成部712について詳細に説明する。図7Bに示すように、伝搬情報生成部712は、第1取得部701と、第2取得部702と、記憶部703と、初期配置部704と、導出部705と、ノード選択部706と、判断部707と、分割割合変更部708と、処理量変更部709と、を有する。記憶部703は、たとえば、RAM403によって実現される。記憶部703以外の各部の処理は、たとえば、CPU401がアクセス可能な記憶装置に記憶された情報処理プログラムにコーディングされている。そして、CPU401が記憶装置から情報処理プログラムを読み出して、情報処理プログラムにコーディングされている処理を実行する。これにより、各部の処理が実現される。また、各部の処理結果は、たとえば、RAM403、ディスク405などの記憶装置に記憶される。
第1取得部701は、第1集約装置201−1から第2集約装置201−2へ複数のセンサーノード101でのマルチホップ通信によってそれぞれ異なるデータを転送させる複数の経路を示す経路情報700を取得して記憶部703に書き込む。複数の経路は、図2で説明したような例がある。取得形式としては、ネットワークNETを介してサーバ301などの他の装置から取得してもよいし、入力装置407による入力を受け付けてもよいし、ディスク405などの記憶装置から読み出してもよい。
<初期配置>
つぎに、情報処理装置100は、初期配置部704によって初期配置を行う。初期配置方法としては、たとえば、初期配置部704は、ループに関するイタレーション数をN等分して、分割したイタレーション数に関するデータ処理を各センサーノード101に割り当てる。端数のイタレーションについては、初期配置部704は、各センサーノード101のループのイタレーション数がなるべく均一になるように各センサーノード101に振り分ける。たとえば、初期配置部704は、10回転のループ処理を4分割する場合、2,2,3,3というように分割する。2,3,2,3に分割されても、3,3,2,2に分割されてもよく、初期配置の時点では特に限定しなくてよい。
つぎに、情報処理装置100は、初期配置部704によって初期配置を行う。初期配置方法としては、たとえば、初期配置部704は、ループに関するイタレーション数をN等分して、分割したイタレーション数に関するデータ処理を各センサーノード101に割り当てる。端数のイタレーションについては、初期配置部704は、各センサーノード101のループのイタレーション数がなるべく均一になるように各センサーノード101に振り分ける。たとえば、初期配置部704は、10回転のループ処理を4分割する場合、2,2,3,3というように分割する。2,3,2,3に分割されても、3,3,2,2に分割されてもよく、初期配置の時点では特に限定しなくてよい。
第1集約装置201−1からあるセンサーノード101までの経路が1つの場合、経路上にあるセンサーノード101は、あるセンサーノード101に実行が依頼されるデータ処理の依頼情報を転送することとなる。ここで、データ処理の実行を依頼する依頼情報を入力データと称する。第1集約装置201−1からあるセンサーノード101までの経路が複数ある場合、経路の分岐点であるセンサーノード101において入力データが分割されてもよい。初期配置部704は、分岐点であるセンサーノード101での分岐数で入力データを等分割するように伝搬経路を決定する。
出力データについても同様に、あるセンサーノード101からみて第2通信経路までの経路が1つの場合、経路上にあるセンサーノード101は、あるセンサーノード101が依頼先であるデータ処理の処理結果を転送することとなる。ここで、データ処理の処理結果を出力データと称する。あるセンサーノード101から第2集約装置201−2までの経路が複数ある場合、経路の分岐点であるセンサーノード101において、あるセンサーノード101に実行された出力データが分割されてもよい。初期配置部704は、分岐点であるセンサーノード101での分岐数で出力データを等分割するように伝搬経路を決定する。
初期配置部704は、すべてのセンサーノード101の各々に実行が依頼される入力データと出力データの初期配置における伝搬経路を決定することにより、各センサーノード101を経由する入出力データ量(Dh)を算出することができる。そして、初期配置部704は、伝搬経路と、伝搬経路に含まれるセンサーノード101のうちのデータ処理を実行させるセンサーノード101と、を示す伝搬情報1100を生成して、記憶部703に書き込む。
または、第2取得部702は、伝搬情報1100を取得して記憶部703に書き込む。取得形式としては、利用者によって入力装置407を介して入力されてもよいし、ディスク405などの記憶装置に記憶された伝搬情報1100を読み出すことにより、取得してもよい。ここで、取得される伝搬情報1100は、初期配置部704によって得られる伝搬情報1100であってもよいし、利用者によって作成された伝搬情報1100であってもよい。または、取得される伝搬情報1100は、後述する分割割合変更部708や処理量変更部709によって処理量や分割割合が変更された後の伝搬情報1100を再度取得してもよい。伝搬情報1100は、複数のデータ処理について、複数の経路のうちのデータ処理の依頼情報および処理結果を伝搬させる伝搬経路と、伝搬経路に含まれるセンサーノード101のうちのデータ処理を実行させるセンサーノード101と、を示す。伝搬情報1100の詳細例は、図11を用いて後述する。
図10は、消費電力量の算出例を示す説明図である。図10の例では、入力または出力は、入力データまたは出力データを示し、入力または出力に付された番号は、入力データまたは出力データについてのデータ処理の依頼先を示す。図10の例では、たとえば、親ノードが複数あるような合流点のセンサーノード101−3については、通信量が増えるため、消費電力量が多くなってしまう。
導出部705は、経路情報700および伝搬情報1100に基づく複数のセンサーノード101の各々の消費電力量を導出する。たとえば、1イタレーション当たりの入出力データ量を予めRAM403、ディスク405などの記憶装置に記憶させる。導出部705は、1イタレーション当たりの入出力データ量に基づいて、各センサーノード101のデータ処理量(C)と依頼されたデータ処理についての入出力データ量(Dh)と、転送する入力データ量(Di)と転送する出力データ量(Do)を算出することができる。
マルチホップ通信方式のセンサーネットワーク200では、入力データは第1集約装置201−1から幾つかの親ノードを経由して依頼先のセンサーノード101に辿り着く。上述したように、親ノードとは、第1集約装置201−1からデータ処理の依頼先までの経路上にある当該データ処理の入力データを転送するセンサーノード101を示す。そして、依頼先のセンサーノード101によってデータ処理した後の出力データは、幾つかの子ノードを経由して第2センサーノード101まで送信される。上述したように、子ノードとは、データ処理の依頼先から第2集約装置201−2までの経路上にある当該データ処理の出力データを転送するセンサーノード101を示す。
そのため、各センサーノード101の消費電力量は、データ処理に要する消費電力量と、そのデータ処理の入出力データの通信に要する消費電力量と、転送する入出力データの通信に要する消費電力量と、によって定まる。
そこで、導出部705は、センサーノード101の設計情報から、単位データ処理量当たりの消費電力量(Pp)と、単位データ量当たりの送信電力量(Ps)と、単位データ量当たりの受信電力量(Pr)を取得する。センサーノード101の設計情報については、ネットワークNETを介してサーバ301から取得してもよいし、利用者から入力されてもよい。設計情報については、予めRAM403、ディスク405などの記憶装置に記憶させる。導出部705は、各センサーノード101の消費電力量を以下式(1)に基づいて算出する。
センサーノード101の消費電力量=C×Pp+I×Pr+O×Ps+Dh×(Pr+Ps)・・・(1)
Iは、受信するデータ量であり、Oは、送信するデータ量である。図10のセンサーノード101−3を例に挙げると、出力データ1,2,4,5の受信に要する消費電力量と、各センサーノード101のデータ処理量(C)と入力データ量(Di)と出力データ量(Do)を算出することができる。導出部705は、入力データ3に基づいてデータ処理量(C)を算出し、入力データ3および出力データ3に基づいて入出力データ量(Dh)を算出する。導出部705は、出力データ1,2,4,5によって受信するデータ量(I)と送信するデータ量(O)を算出する。そして、導出部705は、算出した各情報を式(1)に与えることにより、センサーノード101−3の消費電力量を導出する。
図11は、伝搬情報例を示す説明図である。伝搬情報1100は、依頼するデータ処理についての入力データ1101と、当該入力データのサイズ1102と、分割情報1103と、ループ処理に関するデータ処理のプログラムコードもしくはプログラムの識別情報1104と、を含む。分割情報1103には、分岐点であるセンサーノード101、すなわち、子ノードを複数有するセンサーノード101においてそれぞれの子ノードにどの程度の割合で入力データまたは出力データを分割するかを示す情報が含まれる。たとえば、分割情報1103は、センサーノード101−3において、センサーノード101−1の出力データのうち、センサーノード101−4へ50[%]のデータ、センサーノード101−5に50[%]のデータに分割して送ることを示す情報である。伝搬情報1100は、この出力データが経由するすべての分岐点であるセンサーノード101についての分割情報1103を有する。
つぎに、均等化について説明する。図1で説明したように、均等化には、データ処理量の変更と分岐点であるセンサーノード101における分割割合の変更とが挙げられる。情報処理装置100は、データ処理量の変更と分岐点であるセンサーノード101での分割割合の変更と、のいずれか一方のみを行ってもよい。または、情報処理装置100は、たとえば、いずれかを行って変更できなかった場合に、もう一方をおこなってもよい。そして、たとえば、情報処理装置100は、それでも変更できない場合はこのセンサーネットワーク200に対してはループ処理を依頼できないこととしてもよい。
まず、ノード選択部706は、導出した消費電力量に基づいて複数のセンサーノード101のうちのいずれかのセンサーノード101を選択する。たとえば、ノード選択部706は、導出された消費電力量に基づいて複数のセンサーノード101のうちの最も消費電力量が多いセンサーノード101を選択する。
また、判断部707は、選択されたセンサーノード101の消費電力量のうち、依頼先が他のセンサーノード101である入出力データの転送に要する消費電力量と、選択されたセンサーノード101が依頼されたデータ処理に要する消費電力量と、を比較する。たとえば、判断部707は、2つの消費電力量を比較することにより、いずれの消費電力量が多いかを判断する。
選択されたセンサーノード101が転送する入出力データの転送に要する消費電力量が多い場合、分割割合変更部708は、選択されたセンサーノード101が転送する入出力データの伝搬経路を変更する。分割割合変更部708は、データ選択部801と、特定部802と、経路選択部803と、判断部804と、情報決定部805と、生成部806と、を有する。
一方、選択されたセンサーノード101が依頼されたデータ処理に要する消費電力量が多い場合、処理量変更部709は、選択されたセンサーノード101に実行が依頼されるデータ処理の依頼先を、他のセンサーノード101に変更する。処理量変更部709は、第2ノード選択部901と、第1特定部902と、第2特定部903と、判断部904と、第1候補決定部905と、第2候補決定部906と、第3候補決定部907と、生成部908と、を有する。
ここでは、まず、分割割合変更部708による分割割合変更例を説明した後、処理量変更部709による処理量変更例について説明する。
<分割割合変更例>
図12は、分割割合変更例(その1)を示す説明図である。上述したように、ノード選択部706は、導出した消費電力量に基づいて複数のセンサーノード101のうちのいずれかのセンサーノード101を選択する。図12の例では、センサーノード101−Bが選択される。ここでは、選択されたセンサーノード101を省略して選択センサーノード101と称する。
図12は、分割割合変更例(その1)を示す説明図である。上述したように、ノード選択部706は、導出した消費電力量に基づいて複数のセンサーノード101のうちのいずれかのセンサーノード101を選択する。図12の例では、センサーノード101−Bが選択される。ここでは、選択されたセンサーノード101を省略して選択センサーノード101と称する。
つぎに、データ選択部801は、伝搬情報1100に基づいて、入力データまたは出力データのうち、ノード選択部706によって選択センサーノード101が転送する入力データまたは出力データを選択する。センサーノード101−Bが転送するデータは、入力データINC,INDと、出力データOUTAと、である。入力データINBと出力データOUTBについては、データ処理の依頼先がセンサーノード101−Bであるデータであるため、転送するデータでない。たとえば、データ選択部801は、選択センサーノード101が転送する入力データまたは出力データのうち、サイズが最も大きい入力データまたは出力データを選択する。図12の例では、センサーノード101−Dへの入力データINDが選択される。
図13は、分割割合変更例(その2)を示す説明図である。特定部802は、入力データが選択された場合に、複数の経路のいずれかの経路に含まれる経路であって、第1集約装置201−1から、選択された入力データについてのデータ処理の依頼先のセンサーノード101までの経路を検索する。そして、特定部802は、検索した経路のうち、選択センサーノード101を経由しない経路を特定する。一方、特定部802は、出力データが選択された場合に、複数の経路のいずれかの経路に含まれる経路であって、出力データについてのデータ処理の依頼先のセンサーノード101から、第2集約装置201−2までの経路を検索する。そして、特定部802は、検索した経路のうち、選択センサーノード101を経由しない経路を特定する。図13の例では、入力データINDが選択されているため、第1集約装置201−1からセンサーノード101−Dまでの経路r1〜r3のうち、選択センサーノード101を経由しない経路r2,r3が特定される。
特定された経路が複数あるため、経路選択部803は、特定された経路上のセンサーノード101の最も多い消費電力量が最も少ない経路を選択する。図13の例では、特定された経路上における最も多い消費電力量は、経路r2が70、経路r3が60であるため、経路選択部803は、経路r3を選択する。判断部804は、選択された経路上の最も多い消費電力量が閾値以上であるか否かを判断する。ここでの閾値は、たとえば、センサーノード101が有するバッテリ509が蓄電可能な電力量に基づく値である。より具体的には、たとえば、閾値は、蓄電可能な電力量そのものであってもよいし、見積もりの誤差が考慮され、蓄電可能な電力量から一定割合を減じた値であってもよい。
選択された経路上の最も多い消費電力量が閾値以上である場合、生成部806は、読み出した伝搬情報1100が示す伝搬経路によって伝搬させることを示す情報を生成する。たとえば、生成部806は、分割割合の変更に失敗したことを示す情報を生成してもよい。
また、選択された経路上の最も多い消費電力量が閾値未満である場合、生成部806は、選択された入力データまたは出力データの少なくとも一部を、選択された経路によって伝搬させることを示す情報を生成する。
また、情報決定部805は、選択された入力データまたは出力データのうち、選択された経路によって伝搬させるデータを決定する。具体的には、情報決定部805は、選択センサーノード101の消費電力量と、選択された経路上のセンサーノード101の最も多い消費電力量と、の差分に基づいて選択された経路によって伝搬させるデータを決定する。より具体的には、たとえば、情報決定部805は、「(選択センサーノード101の消費電力量−選択された経路上のセンサーノード101の最も多い消費電力量)/2」を計算する。たとえば、情報決定部805は、計算した電力量に対応するデータ量を算出することにより、選択された入力データまたは出力データのうち、選択された経路によって伝搬させるデータを決定する。
そして、生成部806は、情報決定部805によって決定されたデータを選択された経路によって伝搬させることを示す情報を生成する。具体的には、生成部806は、伝搬情報1100が示す伝搬経路が、決定されたデータが選択された経路によって伝搬されるように変更された伝搬情報1100を生成する。より具体的には、生成部806は、伝搬情報1100に含まれる分割情報の分割割合が変更された伝搬情報1100をあらたに生成する。図13の例では、選択センサーノード101の消費電力量である90から経路r3上のセンサーノード101の最も多い消費電力量である60を引いた値を2で割った結果は、15である。そして、15の消費電力量に相当する分だけ経路r1を流れている依頼情報の一部を経路r3に流れるように、生成部806は、各分岐点であるセンサーノード101での分割割合を変更する。
図14は、分割割合変更例(その3)を示す説明図である。図14の例では、入力データINDが第1集約装置201−1によってIND−1とIND−2に分割される。入力データIND−1が、センサーノード101−Aを経由する経路によって伝搬され、入力データIND−1が、センサーノード101−Eおよびセンサーノード101−Fを経由する経路によって伝搬される。図14では、あらたに生成された伝搬情報1100に基づいて、導出部705によって再度各センサーノード101の消費電力量が導出された例を示す。最も多い消費電力量であっても、75となっている。そのため、変更前よりも、センサーネットワーク200内の消費電力量が均等化する。
<処理量変更例>
図15は、処理量変更例(その1)を示す説明図である。図15の例では、第1集約装置201−1と第2集約装置201−2とA〜Iまでのセンサーノード101を示す。センサーノード101の消費電力量の詳細な導出方法は、上述した例と同一である。各センサーノード101の吹き出しでは、各センサーノード101での処理と通信に関わる消費電力量を示す。たとえば、センサーノード101−Aでは、データ処理の消費電力量が10で、データ処理の入出力データを送受信するための消費電力量(図中「A:」で示す)が10である。さらにセンサーノード101−Aを経由する入力データを送受信するための消費電力量(図中それぞれ「B〜E:」で示す)がそれぞれ10である。したがって、センサーノード101の消費電力量は、60である。他のセンサーノード101の吹き出しについての詳細な説明は省略する。
図15は、処理量変更例(その1)を示す説明図である。図15の例では、第1集約装置201−1と第2集約装置201−2とA〜Iまでのセンサーノード101を示す。センサーノード101の消費電力量の詳細な導出方法は、上述した例と同一である。各センサーノード101の吹き出しでは、各センサーノード101での処理と通信に関わる消費電力量を示す。たとえば、センサーノード101−Aでは、データ処理の消費電力量が10で、データ処理の入出力データを送受信するための消費電力量(図中「A:」で示す)が10である。さらにセンサーノード101−Aを経由する入力データを送受信するための消費電力量(図中それぞれ「B〜E:」で示す)がそれぞれ10である。したがって、センサーノード101の消費電力量は、60である。他のセンサーノード101の吹き出しについての詳細な説明は省略する。
まず、上述したように、ノード選択部706は、導出した消費電力量に基づいて複数のセンサーノード101のうちのいずれかのセンサーノード101を選択する。たとえば、ノード選択部706は、導出した消費電力量に基づいて複数のセンサーノード101のうちの最も消費電力量が多い第1センサーノード101を選択する。図15の例では、第1センサーノード101として、センサーノード101−Aが選択される。ここでは、第1センサーノード101が依頼先となるデータ処理を別のセンサーノード101に移動させることにより、各センサーノード101の消費電力量の均一化を図る。
つぎに、第2ノード選択部901は、センサーノード101の中で、消費電力量が第1センサーノード101よりも少ない第2センサーノード101を選択する。より具体的には、たとえば、第2ノード選択部901は、センサーノード101の中で、消費電力量が最も少ない第2センサーノード101を選択する。図15の例では、第2センサーノード101として、センサーノード101−Gが選択される。
第1特定部902および第2特定部903は、複数の経路から、選択された第2センサーノードを含む経路を特定する。判断部904は、特定した経路上のセンサーノード101の最も多い消費電力量が閾値以上であるか否かを判断する。ここでの閾値は、たとえば、センサーノード101が有するバッテリ509が蓄電可能な電力量に基づく値である。特定された経路上のセンサーノード101の最も多い消費電力量が閾値以上である場合、第2ノード選択部901は、導出した消費電力量に基づいて選択済みのセンサーノード101以外のセンサーノード101をあらたに選択する。
また、第1特定部902は、複数の経路のいずれかの経路に含まれる経路であって、第1集約装置201−1から、第2センサーノード101までの第1経路r21を特定する。第1特定部902は、複数の経路のいずれかの経路に含まれる経路であって、第1集約装置201−1から、第2センサーノード101までの経路が複数ある場合、経路上のセンサーノード101の最も多い消費電力量が最も少ない経路を第1経路r21とする。
第2特定部903は、複数の経路のいずれかの経路に含まれる経路であって、第2センサーノード101から、第2集約装置201−2までの第2経路r22を特定する。第2特定部903は、複数の経路のいずれかの経路に含まれる経路であって、第2センサーノード101から、第2集約装置201−2までの経路が複数ある場合、経路上のセンサーノード101の最も多い消費電力量が最も少ない経路を第2経路r22とする。
判断部904は、特定した第1経路r21上のセンサーノード101の最も多い消費電力量が閾値以上であるか否かを判断し、特定した第2経路r22上のセンサーノード101の最も多い消費電力量が閾値以上であるか否かを判断する。ここでの2つの閾値は、たとえば、センサーノード101が有するバッテリ509が蓄電可能な電力量に基づく値である。第2ノード選択部901は、第1経路r21と第2経路r22とのいずれか一方の経路上のセンサーノード101の最も多い消費電力量が閾値以上である場合、導出した消費電力量に基づいて選択済み以外の第2センサーノード101をあらたに選択する。より具体的には、第2ノード選択部901は、導出した消費電力量に基づいて複数のセンサーノード101のうちの選択済みのセンサーノード101以外のセンサーノード101から、最も消費電力量が少ない第2センサーノード101をあらたに選択する。
図15の例では、第2経路r22がなく、第1経路r21上のセンサーノード101の最も多い消費電力量が閾値を超えていないとする。第1経路r21と第2経路r22とのいずれの経路上のセンサーノード101の消費電力も閾値を超えていない場合、情報処理装置100は、センサーノード101−Aに実行が依頼されるデータ処理の依頼先を、センサーノード101−Gに移すことが可能である。そのため、つぎに、情報処理装置100は、センサーノード101−Aに実行が依頼されるデータ処理のうち、どの程度のデータ処理量を移動可能であるかを決定する。
センサーノード101−Aに実行が依頼されるデータ処理の依頼先をセンサーノード101−Gに変更すると、センサーノード101−Gではデータ処理が増えた分だけ入出力データ量も増える。これに伴い、センサーノード101−Gを含む経路上にあるセンサーノード101もセンサーノード101−Gに関わる入出力データの送受信のための消費電力量が増加する。ここでは、演算の簡単化のために、増加分の入出力データは、特定した第1経路r21と第2経路r22を通るようにする。そのため、第1経路r21上のセンサーノード101では、センサーノード101−Gの入力データが増えた分だけ、その入力データの送受信に相当する消費電力量が増加する。第2経路r22上のセンサーノード101も同様に、センサーノード101−Gの出力データが増えた分だけ、その出力データの送受信に相当する消費電力量が増加する。
したがって、情報処理装置100は、センサーノード101−Aからセンサーノード101−Gにデータ処理を移すことにより消費電力量を均等化する場合、センサーノード101−Gの消費電力量が閾値を超えないようにする。ここでの閾値は、たとえば、センサーノード101が有するバッテリ509が蓄電可能な電力量に基づく値である。さらに、情報処理装置100は、増加した入出力データによって増加する、第1経路r21および第2経路r22上のセンサーノード101の消費電力量が閾値を超えないようにする。ここでの閾値は、たとえば、センサーノード101が有するバッテリ509が蓄電可能な電力量に基づく値である。情報処理装置100は、第1経路r21または第2経路r22上のセンサーノード101の消費電力量がデータ処理量を変更後のセンサーノード101−Aの消費電力量を超えないデータ処理量を決定する。ただし、各経路上のセンサーノード101で消費電力の増加量は同じであるため、第1経路r21と第2経路r22とのそれぞれの経路上で最も消費電力量が大きなセンサーノード101について、消費電力量が閾値を超えないようにすればよい。
そこで、第1候補決定部905は、第1センサーノード101に実行が依頼されるデータ処理のうち、依頼先を第2センサーノード101にするデータ処理の第1候補を決定する。たとえば、第1候補決定部905は、第1センサーノード101の消費電力量と、第1経路r21上のセンサーノード101の最も多い消費電力量と、の差分に基づいて、第1候補を決定する。
具体的には、たとえば、第1候補決定部905は、データ処理を移動したことに伴うセンサーノード101−Aの消費電力量の減少分からセンサーノード101−Aとセンサーノード101−Fの消費電力量が均等になるようなイタレーション数を算出する。より具体的には、たとえば、第1候補決定部905は、「(第1センサーノード101の消費電力量−第1経路r21上のセンサーノード101の最も多い消費電力量)/2」を計算する。つぎに、たとえば、第1候補決定部905は、算出した電力量に対応する入力データ量を算出する。そして、たとえば、第1候補決定部905は、算出した入力データ量に対応する第1イタレーション数(i1)を算出する。
第2候補決定部906は、第1センサーノード101に実行が依頼されるデータ処理のうち、依頼先を第2センサーノード101にするデータ処理の第2候補を決定する。第2候補決定部906は、第1センサーノード101の消費電力量と、第2経路r22上のセンサーノード101の最も多い消費電力量と、の差分に基づいて、第2候補を決定する。より具体的には、たとえば、第2候補決定部906は、「(第1センサーノード101の消費電力量−第2経路r22上のセンサーノード101の最も多い消費電力量)/2」を計算する。つぎに、たとえば、第2候補決定部906は、算出した電力量に対応する出力データ量を算出する。そして、たとえば、第2候補決定部906は、算出した出力データ量に対応する第2イタレーション数(i2)を算出する。図の例では、第1経路r21上で最も消費電力量が大きなセンサーノード101はセンサーノード101−Fである。また、センサーノード101−Gが直接第2集約装置201−2と通信を行うため、センサーノード101−Gの出力データ増加の影響を受ける他のセンサーノード101がない。
また、第3候補決定部907は、第1センサーノード101に実行が依頼されるデータ処理のうち、依頼先を第2センサーノード101にするデータ処理の第3候補を決定する。具体的に、第1センサーノード101の消費電力量と、第2センサーノード101の消費電力量と、の差分に基づいて、第3候補を決定する。具体的には、第3候補決定部907は、センサーノード101−Aからセンサーノード101−Gにデータ処理を移したときに、センサーノード101−Aとセンサーノード101−Gの消費電力量が均等になるようなイタレーション数を算出する。具体的には、たとえば、第3候補決定部907は、「(第1センサーノード101の消費電力量−第2経路r22上のセンサーノード101の最も多い消費電力量)/2」を算出する。つぎに、たとえば、第3候補決定部907は、算出した電力量に対応するデータ処理量を算出する。そして、たとえば、第3候補決定部907は、算出したデータ処理量に対応する第3イタレーション数(i3)を算出する。
生成部908は、第1候補と第2候補と第3候補とのうち、処理量が最も少ない候補に対応するデータ処理の依頼先を第2センサーノード101にすることを示す情報を生成する。具体的には、生成部908は、第1イタレーション数(i1)と第2イタレーション数(i2)と第3イタレーション数(i3)とを比較し、最も小さいイタレーション数を選択する。そして、生成部908は、最も小さいイタレーション数に対応するデータ処理の依頼先を第2センサーノード101にすることを示す情報を生成する。さらに、生成部908は、第1経路r21上と第2経路r22上との他のセンサーノード101に当該最も小さいイタレーション数に対応するデータ処理についての入出力データが経由することを示す情報を生成する。
具体的には、生成部908は、伝搬情報1100が示す第1センサーノード101に実行が依頼されるデータ処理の一部のデータ処理の依頼先を、第2センサーノード101に変更する。そして、生成部908は、読み出した伝搬情報1100が示す伝搬経路を、第1センサーノード101に実行が依頼されるデータ処理の一部についての依頼情報と処理結果を特定した経路によって伝搬させるように変更する。これにより、生成部908は、あらたな伝搬情報1100を生成する。
図16は、処理量変更例(その2)を示す説明図である。図の例では、センサーノード101−Aに実行が依頼されるデータ処理がすべてセンサーノード101−Gに移されている。そのため、センサーノード101−Gが依頼先となるデータ処理は「10」から「20」となり、センサーノード101−Fにおけるセンサーノード101−Gの入力データが「10」から「20」となる。
<複数のネットワークNET構成>
また、ネットワークNET構成が複数ある場合、情報処理装置100は、各ネットワークNET構成について初期配置処理と、消費電力量の見積もり処理と、平均化処理と、を行う。そして、情報処理装置100は、消費電力量が多いセンサーノード101が最も小さいネットワークNET構成を利用して、センサーネットワーク200にループ処理を依頼してもよい。
また、ネットワークNET構成が複数ある場合、情報処理装置100は、各ネットワークNET構成について初期配置処理と、消費電力量の見積もり処理と、平均化処理と、を行う。そして、情報処理装置100は、消費電力量が多いセンサーノード101が最も小さいネットワークNET構成を利用して、センサーネットワーク200にループ処理を依頼してもよい。
(センサーノード101の機能的構成例)
図17は、センサーノードの機能的構成を示すブロック図である。センサーノード101は、受信部1701と、記憶部1702と、実行部1703と、生成部1704と、送信部1705と、を含む。受信部1701と送信部1705は、たとえば、無線通信回路503とアンテナ507とによって実現される。記憶部1702は、たとえば、RAM504や不揮発メモリ506によって実現される。
図17は、センサーノードの機能的構成を示すブロック図である。センサーノード101は、受信部1701と、記憶部1702と、実行部1703と、生成部1704と、送信部1705と、を含む。受信部1701と送信部1705は、たとえば、無線通信回路503とアンテナ507とによって実現される。記憶部1702は、たとえば、RAM504や不揮発メモリ506によって実現される。
実行部1703と生成部1704との処理は、たとえば、MCU501がアクセス可能なROM505や不揮発性メモリ506などの記憶装置に記憶された通信プログラムにコーディングされる。そして、MCU501が、記憶装置から通信プログラムを読み出して、通信プログラムにコーディングされている処理を実行する。これにより、実行部1703と生成部1704との処理が実現される。また、実行部1703と生成部1704との出力データは、たとえば、RAM504、不揮発メモリ506などの記憶装置に記憶される。
受信部1701は、入力データまたは出力データを含む経由情報を受信して記憶部1702に書き込む。記憶部1702から読み出された経由情報に入力データが含まれている場合、実行部1703は、読み出された経由情報に含まれる入力データが示す依頼先が自センサーノード101であるか否かを判断する。ここで、読み出された経由情報を第1経由情報とする。実行部1703は、第1経由情報に含まれる入力データが示す依頼先が自センサーノード101である場合、データ処理を入力データに基づいて実行する。
第1経由情報に含まれる入力データの依頼先が自センサーノード101である場合、生成部1704は、実行部1703による出力データを含む第2経由情報を生成する。また、第1経由情報に依頼先が自センサーノード101でない入力データが含まれる場合、生成部1704は、第1経由情報に依頼先が自センサーノード101でない入力データを含む第2経由情報を生成する。また、第1経由情報に出力データが含まれる場合、生成部1704は、出力データを含む第2経由情報を生成する。
さらに、生成部1704は、第1経由情報に分割情報が含まれている場合、自センサーノード101が分割情報に基づいて分割を行うか否かを判断する。分割情報は、入力データまたは出力データを分割して複数の伝搬先に伝搬させる経路上のいずれかのセンサーノード101が入力データまたは出力データを分割する割合を示す。さらに、分割情報は、いずれの入力データまたはいずれの出力データについて分割を行うかを示す情報を有する。
生成部1704は、分割を行うと判断した場合、分割情報が示す分割割合に基づいて、入力データまたは出力データを分割する。第1経由情報に分割情報が含まれていても分割を行わないと判断した場合、その分割情報は転送データであるため、生成部1704は、当該分割情報を含む第2経由情報を生成する。
そして、送信部1705は、生成部1704によって生成された経由情報を自センサーノード101の伝搬先に送信する。
図18は、経由情報例を示す説明図である。経由情報は、入出力データ1801と、分割サイズ1802と、分割情報1803と、プログラムコードまたはプログラムの識別情報1804と、を有する。分割サイズ1802は、入出力データのサイズである。分割情報1803には、分岐点であるセンサーノード101においてそれぞれの子ノードにどの程度の割合で入力データまたは出力データを分割して伝搬させるかの割合を示す情報が含まれる。
図18では、たとえば、センサーノード101−1が、伝搬先であるセンサーノード101−3に送信するために生成された経由情報1800を示す。また、たとえば、分割情報1803には、子ノードの有無に関わらず、伝搬経路に基づく伝搬先を示す情報が含まれていてもよい。これにより、各センサーノード101は、いずれのセンサーノード101が伝搬先であるかを判断することができる。
(情報処理装置100が行う処理手順)
図19は、情報処理装置が行う全体の処理手順例を示すフローチャートである。情報処理装置100は、処理依頼可能なセンサーネットワーク200を取得し(ステップS1901)、取得可能であるか否かを判断する(ステップS1902)。たとえば、センサーネットワーク200が複数あってもよい。情報処理装置100は、センサーネットワーク200に処理を行わせるために、センシング動作をしていないセンサーネットワーク200を探す。センサーネットワーク200の動作としては、定期的にセンシングを行ってセンシングデータをサーバ301に送るものと、センサーノード101が何らかの異常を検出したときに検出情報をサーバ301に送るものの2種類が想定される。
図19は、情報処理装置が行う全体の処理手順例を示すフローチャートである。情報処理装置100は、処理依頼可能なセンサーネットワーク200を取得し(ステップS1901)、取得可能であるか否かを判断する(ステップS1902)。たとえば、センサーネットワーク200が複数あってもよい。情報処理装置100は、センサーネットワーク200に処理を行わせるために、センシング動作をしていないセンサーネットワーク200を探す。センサーネットワーク200の動作としては、定期的にセンシングを行ってセンシングデータをサーバ301に送るものと、センサーノード101が何らかの異常を検出したときに検出情報をサーバ301に送るものの2種類が想定される。
特に、定期的にセンシングを行ってセンシングデータをサーバ301に送る場合、情報処理装置100は、センシングの間隔や、前回センシングを行ってからの経過時間はサーバ301から取得することができる。そのため、ループ処理依頼を行うのに適している。たとえば、ステップS1902における、取得可能であるか否かの判定では、センシングの間隔や前回センシングを行ってからの経過時間に基づいて、データ処理を依頼可能であるか否かを判定している。さらに、たとえば、ステップS1902における、取得可能であるか否かの判定では、依頼したループ処理によりバッテリ509の蓄電力を使い果たしても、次回のセンシングまでに十分充電可能なセンサーネットワーク200であるか否かを判定してもよい。
取得可能であれば(ステップS1902:Yes)、情報処理装置100は、センサーノード101の蓄電容量と設計情報を取得し(ステップS1903)、初期配置を行う(ステップS1904)。そして、情報処理装置100は、初期配置によって得られる伝搬情報1100を取得して記憶部1702に記憶させる(ステップS1905)。これにより、ステップS1904によって、情報処理装置100は、初期配置を行うことにより、伝搬経路を取得することができる。
そして、情報処理装置100は、各センサーノード101の消費電力量を見積もり(ステップS1906)、ループ処理可能か否かを判断する(ステップS1907)。ループ処理可能か否かの詳細な判定方法については、図20を用いて説明する。ループ処理可能でない場合(ステップS1907:No)、ステップS1901へ戻る。一方、ループ処理可能である場合(ステップS1907:Yes)、情報処理装置100は、選択したセンサーネットワーク200にループ処理を依頼し(ステップS1908)、一連の処理を終了する。取得可能でない場合(ステップS1902:No)、情報処理装置100は、自装置でループ処理を行い(ステップS1909)、一連の処理を終了する。
図20は、情報処理装置が行う均等化処理手順例を示すフローチャートである。情報処理装置100は、未選択なセンサーノード101から最も消費電力量が多いセンサーノード101を選択する(ステップS2001)。情報処理装置100は、選択したセンサーノード101の経由データ送受信に要する消費電力量が依頼されたデータ処理に要する消費電力量より多いか否かを判断する(ステップS2002)。
選択したセンサーノード101の経由データ送受信に要する消費電力量が依頼されたデータ処理に要する消費電力量より多い場合(ステップS2002:Yes)、情報処理装置100は、分割割合を変更する処理を行い(ステップS2003)、変更に成功したか否かを判断する(ステップS2005)。変更に成功した場合(ステップS2005:Yes)、ステップS2001へ戻る。
選択したセンサーノード101の経由データ送受信に要する消費電力量が依頼されたデータ処理に要する消費電力量以下の場合(ステップS2002:No)、情報処理装置100は、処理量を変更する処理を行い(ステップS2004)、変更に成功したか否かを判断する(ステップS2006)。変更に成功した場合(ステップS2006:Yes)、ステップS2001へ戻る。
変更に成功しなかった場合(ステップS2005:No)、情報処理装置100は、処理量を変更する処理を行い(ステップS2007)、ステップS2009へ移行する。変更に成功しなかった場合(ステップS2006:No)、情報処理装置100は、分割割合を変更する処理を行い(ステップS2008)、ステップS2009へ移行する。
ステップS2007またはステップS2008のつぎに、情報処理装置100は、変更に成功したか否かを判断する(ステップS2009)。変更に成功した場合(ステップS2009:Yes)、ステップS2001へ戻る。変更に成功しなかった場合(ステップS2009:No)、情報処理装置100は、最も多い消費電力量が閾値以下であるか否かを判断する(ステップS2010)。ここでの閾値は、たとえば、センサーノード101が有するバッテリ509が蓄電可能な電力量に基づく値である。
最も多い消費電力量が閾値以下である場合(ステップS2010:Yes)、情報処理装置100は、ループ処理可能と判定し(ステップS2011)、一連の処理を終了する。たとえば、情報処理装置100は、ステップS2011において、ループ処理可能であることを示す情報を生成して出力してもよい。最も多い消費電力量が閾値以下でない場合(ステップS2010:No)、情報処理装置100は、ループ処理不可能と判定し(ステップS2012)、一連の処理を終了する。たとえば、情報処理装置100は、ステップS2012において、ループ処理可能でないことを示す情報を生成して出力してもよい。
分割割合を変更する処理および当該変更の成功判定は、図21および図22を用いて詳細に説明し、処理量を変更する処理および当該変更の成功判定は、図23〜図25を用いて詳細に説明する。
図21および図22は、情報処理装置が行う分割割合変更処理手順例を示すフローチャートである。情報処理装置100は、初期配置に基づいて生成された伝搬情報1100に基づいて、選択したセンサーノード101を経由するデータがあるか否かを判断する(ステップS2101)。選択したセンサーノード101を経由するデータがない場合(ステップS2101:No)、情報処理装置100は、変更失敗と判定し(ステップS2109)、一連の処理を終了する。たとえば、情報処理装置100は、ステップS2109において、変更失敗であることを示す情報を生成して出力してもよい。
選択したセンサーノード101を経由するデータがある場合(ステップS2101:Yes)、情報処理装置100は、選択したセンサーノード101を経由するデータのうち、サイズが最大のデータを選択する(ステップS2102)。情報処理装置100は、選択したデータは入力データであるか否かを判断する(ステップS2103)。入力データである場合(ステップS2103:Yes)、第1集約装置201−1から選択したデータの依頼先までの経路を特定し(ステップS2104)、ステップS2106へ移行する。入力データでない場合(ステップS2103:No)、選択したデータの依頼先から第2集約装置201−2までの経路を特定し(ステップS2105)、ステップS2106へ移行する。
ステップS2104またはステップS2105のつぎに、情報処理装置100は、各経路上で消費電力量が最も多いセンサーノード101を特定し(ステップS2106)、特定したセンサーノード101の消費電力量が最も少ない経路を選択する(ステップS2107)。ステップS2106とステップS2107については、特定された経路が複数ある場合に行う。情報処理装置100は、選択した経路上のセンサーノード101の消費電力量は閾値未満であるか否かを判断する(ステップS2108)。ここでの閾値は、たとえば、センサーノード101が有するバッテリ509が蓄電可能な電力量に基づく値である。選択した経路上のセンサーノード101の消費電力量が閾値未満でない場合(ステップS2108:No)、ステップS2109へ移行する。
選択した経路上のセンサーノード101の消費電力量が閾値未満である場合(ステップS2108:Yes)、情報処理装置100は、「(選択されたセンサーノード101の消費電力量−選択した経路上のセンサーノード101の最大の消費電力量)/2」を算出する(ステップS2201)。情報処理装置100は、算出した電力量に対応するデータ量を算出し(ステップS2202)、算出したデータ量>選択したデータのデータ量であるか否かを判断する(ステップS2203)。
算出したデータ量>選択したデータのデータ量である場合(ステップS2203:Yes)、情報処理装置100は、選択した経路に選択したデータすべてが経由するように経路上の分岐点で分割割合を変更し(ステップS2204)、ステップS2206へ移行する。算出したデータ量>選択したデータのデータ量でない場合(ステップS2203:No)、情報処理装置100は、選択した経路に選択したデータのうちの算出したデータ量のデータが経由するように経路上の分岐点で分割割合を変更し(ステップS2205)、ステップS2206へ移行する。ステップS2204またはステップS2205のつぎに、情報処理装置100は、変更成功と判定し(ステップS2206)、一連の処理を終了する。たとえば、情報処理装置100は、ステップS2206において、変更成功であることを示す情報を生成して出力してもよい。
図23〜図25は、情報処理装置が行う処理量変更処理手順例を示すフローチャートである。情報処理装置100は、選択した第1センサーノード101が依頼先であるデータ処理があるか否かを判断する(ステップS2301)。ここでの第1センサーノード101とは、図20のステップS2001によって選択されたセンサーノード101である。
選択した第1センサーノード101が依頼先であるデータ処理がない場合(ステップS2301:No)、情報処理装置100は、変更失敗と判定し(ステップS2308)、一連の処理を終了する。たとえば、情報処理装置100は、ステップS2308において、変更失敗であることを示す情報を生成して出力してもよい。選択した第1センサーノード101が依頼先であるデータ処理がある場合(ステップS2301:Yes)、情報処理装置100は、未選択のセンサーノード101から、消費電力量が最も少ないセンサーノード101を第2センサーノード101に選択する(ステップS2302)。
つぎに、情報処理装置100は、第2センサーノード101の消費電力量が閾値未満であるか否かを判断する(ステップS2303)。ここでの閾値は、たとえば、センサーノード101が有するバッテリ509が蓄電可能な電力量に基づく値である。第2センサーノード101の消費電力量が閾値未満でない場合(ステップS2303:No)、情報処理装置100は、ステップS2308へ移行する。第2センサーノード101の消費電力量が閾値未満である場合(ステップS2303:Yes)、情報処理装置100は、第2センサーノード101について第1経路と第2経路を特定する(ステップS2304)。第1経路は、第1集約装置201−1から第2センサーノード101までの経路であり、第2経路は、第2センサーノード101から第2集約装置201−2までの経路である。
情報処理装置100は、各経路上で最も消費電力量が多いセンサーノード101を検索し(ステップS2305)、第1経路と第2経路のそれぞれで、経路上のセンサーノード101の最も多い消費電力量が最も少ない経路を1つずつ選択する(ステップS2306)。そして、情報処理装置100は、第1経路と第2経路の両方の経路上で最も多い消費電力量が閾値を超えないか否かを判断する(ステップS2307)。ここでの閾値は、たとえば、センサーノード101が有するバッテリ509が蓄電可能な電力量に基づく値である。超える場合(ステップS2307:No)、ステップS2302へ戻る。
超えない場合(ステップS2307:Yes)、情報処理装置100は、「(第1センサーノード101の消費電力量−第1経路上の最も多い消費電力量)/2」を算出する(ステップS2401)。情報処理装置100は、算出した消費電力量に対応する入力データ量を算出し(ステップS2402)、算出した入力データ量に対応する第1イタレーション数i1を算出する(ステップS2403)。
情報処理装置100は、「(第1センサーノード101の消費電力量−第2経路上の最も多い消費電力量)/2」を算出し(ステップS2404)、算出した消費電力量に対応する出力データ量を算出する(ステップS2405)。そして、情報処理装置100は、算出した出力データ量に対応する第2イタレーション数i2を算出し(ステップS2406)、ステップS2501へ移行する。
情報処理装置100は、「(第1センサーノード101の消費電力量−第2センサーノード101の最も多い消費電力量)/2」を算出し(ステップS2501)、算出した消費電力量に対応するデータ処理量を算出する(ステップS2502)。情報処理装置100は、算出したデータ処理量に対応する第3イタレーション数i3を算出し(ステップS2503)、第1イタレーション数i1から第3イタレーション数i3を比較する(ステップS2504)。情報処理装置100は、第1センサーノード101が依頼先のデータ処理のうち、最も小さいイタレーション数分のデータ処理を第2センサーノード101に移動し(ステップS2505)、移動した分のイタレーション数に対応する入出力データ量を算出する(ステップS2506)。ステップS2505での移動とは、依頼先を変更することを示す。
情報処理装置100は、第1経路と第2経路を通るように分岐点での分割割合を変更し(ステップS2507)、変更成功と判定し(ステップS2508)、一連の処理を終了する。たとえば、情報処理装置100は、ステップS2508において、変更成功であることを示す情報を生成して出力してもよい。ステップS2401からS2403までの処理と、ステップS2404からS2406までの処理と、ステップS2501からS2503までの処理と、の実行順は特に限定しない。
図26および図27は、ネットワーク構成が複数ある場合の情報処理装置が行う処理手順例を示すフローチャートである。情報処理装置100は、処理依頼可能なセンサーネットワーク200を取得し(ステップS2601)、取得可能であるか否かを判断する(ステップS2602)。たとえば、センサーネットワーク200が複数あってもよい。また、ループ処理依頼が可能か否かの判定が行われていないセンサーネットワーク200についてのネットワーク構成が、たとえば、サーバ301などの他の装置から取得される。取得可能でない場合(ステップS2602:No)、情報処理装置100は、自装置でループ処理を行い(ステップS2607)、一連の処理を終了する。
取得可能であれば(ステップS2602:Yes)、情報処理装置100は、センサーノード101の蓄電容量と設計情報を取得し(ステップS2603)、情報処理装置100は、ネットワーク構成を取得して1つを選択し(ステップS2604)、初期配置を行う(ステップS2605)。これにより、ステップS2605によって、情報処理装置100は、初期配置を行うことにより、伝搬経路を取得することができる。そして、情報処理装置100は、選択したネットワーク構成で各センサーノード101の消費電力量を見積もり(ステップS2606)、ステップS2701へ移行する。
情報処理装置100は、ループ処理可能であるか否かを判断する(ステップS2701)。ループ処理可能か否かの詳細な判定方法については、上述した図20に示す。ループ処理可能でない場合(ステップS2701:No)、ステップS2706へ移行する。ループ処理可能である場合(ステップS2701:Yes)、情報処理装置100は、ネットワーク構成の候補があるか否かを判断する(ステップS2702)。
ネットワーク構成の候補がない場合(ステップS2702:No)、情報処理装置100は、選択したネットワーク構成と見積もった消費電力量を候補として記録し(ステップS2705)、ステップS2706へ移行する。ネットワーク構成の候補がある場合(ステップS2702:Yes)、情報処理装置100は、ネットワーク構成の候補と選択したネットワーク構成との各センサーノード101の見積もった最も多い消費電力量を比較する(ステップS2703)。
情報処理装置100は、選択したネットワーク構成のセンサーノード101の消費電力量の方が少ないか否かを判断する(ステップS2704)。選択したネットワーク構成のセンサーノード101の消費電力量の方が少ない場合(ステップS2704:Yes)、ステップS2705へ移行する。選択したネットワーク構成のセンサーノード101の消費電力量の方が少なくない場合(ステップS2704:No)、ステップS2706へ移行する。
つぎに、情報処理装置100は、未選択のネットワーク構成があるか否かを判断する(ステップS2706)。未選択のネットワーク構成がある場合(ステップS2706:Yes)、情報処理装置100は、未選択のネットワーク構成の1つを選択し(ステップS2707)、ステップS2605へ戻る。
未選択のネットワーク構成がない場合(ステップS2706:No)、情報処理装置100は、ネットワーク構成の候補があるか否かを判断する(ステップS2708)。ネットワーク構成の候補がある場合(ステップS2708:Yes)、情報処理装置100は、ネットワーク構成の候補を使って選択したセンサーネットワーク200にループ処理を依頼し(ステップS2709)、一連の処理を終了する。ネットワーク構成の候補がない場合(ステップS2708:No)、ステップS2601へ戻る。
(センサーノード101が行う処理手順例)
図28は、センサーノードが行う処理手順例を示すフローチャートである。センサーノード101は、データを受信すると(ステップS2801)、受信済みのデータがあるか否かを判断する(ステップS2802)。ここで、受信するデータと受信済みのデータは、いずれも内容が異なる経由情報1800である。受信済みのデータがある場合(ステップS2802:Yes)、センサーノード101は、受信データと受信済みのデータをマージする(ステップS2803)。たとえば、親ノードが複数あるセンサーノード101は、入力データや出力データが分割されて送信されてくる可能性があるため、ステップS2803によってマージを行う。
図28は、センサーノードが行う処理手順例を示すフローチャートである。センサーノード101は、データを受信すると(ステップS2801)、受信済みのデータがあるか否かを判断する(ステップS2802)。ここで、受信するデータと受信済みのデータは、いずれも内容が異なる経由情報1800である。受信済みのデータがある場合(ステップS2802:Yes)、センサーノード101は、受信データと受信済みのデータをマージする(ステップS2803)。たとえば、親ノードが複数あるセンサーノード101は、入力データや出力データが分割されて送信されてくる可能性があるため、ステップS2803によってマージを行う。
受信済みのデータがない場合(ステップS2802:No)、またはステップS2803のつぎに、センサーノード101は、全親ノードからデータを受信したか否かを判断する(ステップS2804)。たとえば、センサーノード101は、予め伝搬経路を示す情報を有している場合、伝搬経路を示す情報に基づいてステップS2804における判断をおこなってもよい。または、たとえば、センサーノード101は、最後に受信したデータの受信時刻から所定時間経過したか否かに基づいて、ステップS2804における判断をおこなってもよい。
全親ノードからデータを受信した場合(ステップS2804:Yes)、センサーノード101は、依頼先が自センサーノードである入力データに基づいてデータ処理を実行し(ステップS2805)、受信したデータに含まれる分割情報に基づいて経由情報を生成する(ステップS2806)。依頼先が自センサーノードである入力データがなければ、ステップS2805は行われない。センサーノード101は、生成した経由情報を伝搬先である子ノードに送信し(ステップS2807)、受信待機状態へ移行し(ステップS2808)、一連の処理を終了する。
全親ノードからデータを受信していない場合(ステップS2804:No)、ステップS2808へ移行する。これにより、センサーノード101は、すべての経由情報を受信するまで、待機することができる。
(第1集約装置201−1が行う処理手順例)
図29は、第1集約装置が行う処理手順例を示すフローチャートである。第1集約装置201−1は、情報処理装置100から伝搬情報1100を受信し(ステップS2901)、伝搬情報1100に含まれる分割情報に基づいて、子ノードごとに経由情報を生成する(ステップS2902)。そして、第1集約装置201−1は、生成した経由情報を子ノードに送信し(ステップS2903)、受信待機状態へ移行する(ステップS2904)。
図29は、第1集約装置が行う処理手順例を示すフローチャートである。第1集約装置201−1は、情報処理装置100から伝搬情報1100を受信し(ステップS2901)、伝搬情報1100に含まれる分割情報に基づいて、子ノードごとに経由情報を生成する(ステップS2902)。そして、第1集約装置201−1は、生成した経由情報を子ノードに送信し(ステップS2903)、受信待機状態へ移行する(ステップS2904)。
(第2集約装置201−2が行う処理手順例)
図30は、第2集約装置が行う処理手順例を示すフローチャートである。第2集約装置201−2は、データを受信し(ステップS3001)、受信済みのデータがあるか否かを判断する(ステップS3002)。ここで、受信するデータと受信済みのデータは、いずれも内容が異なる経由情報1800である。受信済みのデータがあると判断された場合(ステップS3002:Yes)、第2集約装置201−2は、受信データと受信済みのデータをマージする(ステップS3003)。たとえば、第2集約装置201−2は、イタレーションの順に出力データを並び替えてマージしてもよい。
図30は、第2集約装置が行う処理手順例を示すフローチャートである。第2集約装置201−2は、データを受信し(ステップS3001)、受信済みのデータがあるか否かを判断する(ステップS3002)。ここで、受信するデータと受信済みのデータは、いずれも内容が異なる経由情報1800である。受信済みのデータがあると判断された場合(ステップS3002:Yes)、第2集約装置201−2は、受信データと受信済みのデータをマージする(ステップS3003)。たとえば、第2集約装置201−2は、イタレーションの順に出力データを並び替えてマージしてもよい。
受信済みのデータがないと判断された場合(ステップS3002:No)、またはステップS3003のつぎに、第2集約装置201−2は、全親ノードからデータを受信したか否かを判断する(ステップS3004)。全親ノードからデータを受信したと判断された場合(ステップS3004:Yes)、第2集約装置201−2は、マージしたデータをサーバ301または情報処理装置100に送信する(ステップS3005)。
全親ノードからデータを受信していないと判断された場合(ステップS3004:No)、またはステップS3005のつぎに、第2集約装置201−2は、受信待機状態へ移行し(ステップS3006)、一連の処理を終了する。
以上説明したように、情報処理装置は、仮決定した伝搬経路により見積もった消費電力量に基づきセンサーノードを選択し、該センサーノードによって転送されるデータの一部の転送経路を、該センサーノードを迂回する経路に変更することを示す情報を生成する。これにより、選択されたセンサーノードの転送に要する電力量の低減化を図ることができる。したがって、各センサーノードの消費電力量の均等化を図ることができる。
具体的には、情報処理装置は、取得した伝搬情報と、特定した経路上のセンサーノードによって転送させることを示す情報と、に基づいてあらたな伝搬経路を示す伝搬情報を生成する。これにより、選択されたセンサーノードの転送に要する電力量の低減化を図ることができる。したがって、各センサーノードの消費電力量の均等化を図ることができる。
また、情報処理装置は、特定した経路上のセンサーノードの導出した最も多い消費電力量が閾値以上である場合、取得した伝搬情報が示す伝搬経路によって伝搬させることを示す情報を生成する。これにより、依頼情報または処理結果の転送の移動先の消費電力量が多いと、移動させるとセンサーネットワークにデータ処理を依頼できなくなることを防ぐことができる。
また、情報処理装置は、最も消費電力量が多いセンサーノードを選択することにより、消費電力量が多いセンサーノードの転送に要する電力量の低減化を図ることができる。したがって、各センサーノードの消費電力量の均等化を図ることができる。
また、情報処理装置は、サイズが最も大きい依頼情報または処理結果を選択する。これにより、転送に要する消費電力量が他よりも多い依頼情報または処理結果を他の経路への移動の候補とすることにより、一度の移動処理によって移動可能なデータ量の増大化を図ることができる。これにより、消費電力の均等化に要する時間の短縮化を図ることができる。
また、情報処理装置は、特定した経路が複数ある場合、特定した経路のうち、特定した経路上のセンサーノードの導出した最も多い消費電力量が最も少ない経路を選択して、選択した依頼情報または処理結果を選択した経路によって伝搬させる。これにより、各センサーノードの消費電力の均等化を図ることができる。
また、情報処理装置は、選択したセンサーノードの消費電力量と、特定した経路上のセンサーノードの最も多い消費電力量と、の差分に基づいて、選択した依頼情報または処理結果のうち特定した経路によって伝搬させる情報を決定する。これにより、特定した経路上のセンサーノードの消費電力量が、依頼情報または処理結果の一部を特定した経路に移動した後の選択したセンサーノードの消費電力量を超えないようにすることができる。したがって、選択したセンサーノードと、特定した経路上のセンサーノードと、の消費電力量の均等化を図る。
また、情報処理装置は、選択したセンサーノードの転送に要する消費電力量が、選択したセンサーノードが依頼されたデータ処理に要する消費電力量よりも多い場合、転送する依頼情報または処理結果の一部の経路を変更する。これにより、より多くの消費電力量を減少可能であると推定される方法を利用して、選択されたセンサーノードの消費電力量の低減化を図る。
また、情報処理装置は、選択したセンサーノードの転送に要する消費電力量が、選択したセンサーノードが依頼されたデータ処理に要する消費電力量よりも少ない場合、選択したセンサーノードが依頼されたデータ処理の依頼先を変更する。これにより、より多くの消費電力量を減少可能であると推定される方法を利用して、選択されたセンサーノードの消費電力量の低減化を図ることができる。
また、情報処理装置は、選択した第1センサーノードに依頼されたデータ処理の依頼先を、第1センサーノードよりも消費電力量が低い選択した第2センサーノードに変更する。これにより、第1センサーノードのデータ処理に要する消費電力量の低減化を図ることができる。
また、情報処理装置は、消費電力量が最も低い第2センサーノードを選択することにより、一度の移動処理によって移動可能なデータ処理量の増大化を図ることができる。これにより、消費電力の均等化に要する時間の短縮化を図ることができる。
また、情報処理装置は、第2センサーノードを含む経路上の最も多い消費電力量が閾値以上の場合、あらたな第2センサーノードを選択する。データ処理の依頼先を変更後もセンサーネットワーク内の各センサーノードの消費電力量が閾値を超えないようにデータ処理の依頼先を決定することができる。これにより、消費電力量の均等化を図ることができる。
また、情報処理装置は、第1センサーノードの消費電力量と、第1集約装置から第2センサーノードまでの経路上の最も多い消費電力量と、の差分によって、依頼先を変更するデータ処理量の候補を決定する。これにより、第1センサーノードの消費電力量と、第1集約装置から第2センサーノードまでの経路上のセンサーノードの消費電力量と、の均等化を図ることができる。また、情報処理装置は、第1センサーノードの消費電力量と、第2センサーノードから第1集約装置までの経路上の最も多い消費電力量と、の差分によって、依頼先を変更するデータ処理量の候補を決定する。これにより、第1センサーノードの消費電力量と、第2センサーノードから第1集約装置までの経路上のセンサーノードの消費電力量と、の均等化を図ることができる。
また、情報処理装置は、第1センサーノードの消費電力量と、第2センサーノードの消費電力量と、の差分によって、依頼先を変更するデータ処理量の候補を決定する。これにより、第1センサーノードの消費電力量と、第2センサーノードの消費電力量と、の均等化を図ることができる。
また、情報処理装置は、伝搬情報が示す伝搬経路で伝搬させた際の各センサーノードの消費電力量を導出し、最も多い消費電力量が閾値未満の場合に、センサーネットワークにデータ処理を依頼する。これにより、バッテリ切れにならないであろうと推定されるセンサーネットワークにデータ処理が依頼され、データ処理の処理結果が正常に得ることができる精度を向上させることができる。
また、センサーノードは、受信した経由情報に分割情報が含まれている場合、自ノードの伝搬先が複数あれば、分割情報に基づいて、依頼情報または処理結果を分割して伝搬先に送信する。これにより、依頼先が同一のデータ処理であっても、異なる経路を介して伝搬させることができる。
なお、本実施の形態で説明した情報処理方法は、予め用意された情報処理プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
100 情報処理装置
101 センサーノード
201−1 第1集約装置
201−2 第2集約装置
300 システム
401 CPU
403 RAM
1701 受信部
1702 記憶部
1703 実行部
1704 生成部
1705 送信部
rx−1,rx−2,rx−i,r1,r2,r3 経路
r21 第1経路
r22 第2経路
i1,i2,i3 イタレーション数
101 センサーノード
201−1 第1集約装置
201−2 第2集約装置
300 システム
401 CPU
403 RAM
1701 受信部
1702 記憶部
1703 実行部
1704 生成部
1705 送信部
rx−1,rx−2,rx−i,r1,r2,r3 経路
r21 第1経路
r22 第2経路
i1,i2,i3 イタレーション数
Claims (21)
- 情報を記憶する記憶部を有するコンピュータが、
複数の通信ノードでのマルチホップ通信によってそれぞれ異なるデータを第1集約装置から第2集約装置へ伝搬させる複数の経路を示す経路情報を取得して前記記憶部に書き込み、
前記コンピュータから前記複数の通信ノードに実行が依頼される複数のデータ処理について、前記複数の経路のうちの、前記データ処理の実行を依頼する依頼情報および前記データ処理の処理結果を伝搬させる伝搬経路と、前記伝搬経路に含まれる通信ノードのうちの前記データ処理の実行の依頼先の通信ノードと、を示す伝搬情報を取得して前記記憶部に書き込み、
前記記憶部から読み出した前記経路情報および前記伝搬情報に基づく前記複数の通信ノードの各々の消費電力量を導出し、
導出した前記消費電力量に基づいて前記複数の通信ノードのうちのいずれかの通信ノードを選択し、
前記伝搬情報に基づいて、前記依頼情報または前記処理結果のうち、選択した前記通信ノードが転送する依頼情報または処理結果を選択し、
前記依頼情報を選択した場合に、前記複数の経路のいずれかの経路に含まれる経路であって、前記第1集約装置から、選択した前記依頼情報についてのデータ処理の依頼先の通信ノードまでの、選択した前記通信ノードを経由しない経路を特定し、
前記処理結果を選択した場合に、前記複数の経路のいずれかの経路に含まれる経路であって、前記処理結果についてのデータ処理の依頼先の通信ノードから、前記第2集約装置までの、選択した前記通信ノードを経由しない経路を特定し、
選択した前記依頼情報または前記処理結果の少なくとも一部を、特定した前記経路によって伝搬させることを示す情報を生成する、
処理を実行することを特徴とする情報処理方法。 - 特定した前記経路に伝搬させることを示す情報を生成する処理では、
選択した前記依頼情報または前記処理結果の少なくとも一部が特定した前記経路によって伝搬されるように、前記伝搬経路が変更された伝搬情報を生成する処理を実行することを特徴とする請求項1に記載の情報処理方法。 - 前記コンピュータが、
特定した前記経路上の通信ノードについて導出した最も多い消費電力量が閾値以上であるか否かを判断する処理を実行し、
特定した前記経路に伝搬させることを示す情報を生成する処理では、前記最も多い消費電力量が閾値未満である場合は、読み出された前記伝搬情報が示す前記伝搬経路を、選択した前記依頼情報または前記処理結果の少なくとも一部が特定した前記経路によって伝搬されるように変更した伝搬情報を生成し、前記最も多い消費電力量が閾値以上である場合は、読み出した前記伝搬情報が示す前記伝搬経路によって伝搬させることを示す情報を生成することを特徴とする請求項2に記載の情報処理方法。 - 前記複数の通信ノードからいずれかの通信ノードを選択する処理では、導出した前記消費電力量に基づいて、前記複数の通信ノードのうちの、最も消費電力量が多い通信ノードを選択することを特徴とする請求項1〜3のいずれか一つに記載の情報処理方法。
- 前記依頼情報または前記処理結果を選択する処理では、選択した前記通信ノードが転送する依頼情報または処理結果から、サイズが最も大きい依頼情報または処理結果を選択することを特徴とする請求項1〜4のいずれか一つに記載の情報処理方法。
- 前記コンピュータが、
特定した前記経路が複数ある場合、特定した前記経路のうち、特定した前記経路上の通信ノードの導出した最も多い消費電力量が最も少ない経路を選択する処理を実行し、
特定した前記経路に伝搬させることを示す情報を生成する処理では、
選択した前記依頼情報または前記処理結果の少なくとも一部を、選択した前記経路によって伝搬させることを示す情報を生成することを特徴とする請求項1〜5のいずれか一つに記載の情報処理方法。 - 前記コンピュータが、
導出した前記消費電力量のうち、選択した前記通信ノードの消費電力量と、特定した前記経路上の通信ノードの最も多い消費電力量と、の差分に基づいて、選択した前記依頼情報または前記処理結果のうち特定した前記経路によって伝搬させる情報を決定する処理を実行し、
特定した前記経路によって伝搬させることを示す情報を生成する処理では、
決定した前記情報を特定した前記経路によって伝搬させることを示す情報を生成することを特徴とする請求項1〜6のいずれか一つに記載の情報処理方法。 - 前記コンピュータが、
選択した前記通信ノードについての導出した前記消費電力量のうちの、選択した前記通信ノードが転送する前記依頼情報または前記処理結果の転送に要する消費電力量が、前記複数のデータ処理のうちの選択した前記通信ノードが依頼されたデータ処理に要する消費電力量よりも多いか少ないかを判断する処理を実行し、
選択した前記通信ノードが転送する依頼情報または処理結果を選択する処理は、
前記転送に要する消費電力量が、前記データ処理に要する消費電力量よりも多い場合、取得した前記伝搬情報に基づいて、前記依頼情報または前記処理結果のうち、選択した前記通信ノードが転送する依頼情報または処理結果を選択することを特徴とする請求項1〜7のいずれか一つに記載の情報処理方法。 - 前記コンピュータが、
前記転送に要する消費電力量が前記データ処理に要する消費電力量よりも少ない場合、前記依頼情報または前記処理結果を選択する処理と、選択した前記通信ノードを経由しない経路を特定する処理と、特定した前記経路によって伝搬させることを示す情報を生成する処理と、を実行せず、
導出した前記消費電力量に基づいて、前記複数の通信ノードのうちの選択した前記通信ノード(以下、「第1通信ノード」と称する)よりも消費電力量が少ない第2通信ノードを選択し、
前記複数の経路から、前記第2通信ノードを含む経路を特定し、
前記複数のデータ処理のうち、選択した前記第1通信ノードが依頼先であるデータ処理の一部の依頼先を、選択した前記第2通信ノードとすることを示し、選択した前記第1通信ノードが依頼先であるデータ処理の一部についての依頼情報と処理結果を特定した前記経路によって伝搬させることを示す情報を生成する、
処理を実行することを特徴とする請求項8に記載の情報処理方法。 - 情報を記憶する記憶部を有するコンピュータが、
第1集約装置から第2集約装置へ複数の通信ノードでのマルチホップ通信によってそれぞれ異なるデータを伝搬させる複数の経路を示す経路情報を取得して前記記憶部に書き込み、
前記コンピュータから前記複数の通信ノードに実行が依頼される複数のデータ処理について、前記複数の経路のうちの、前記データ処理の実行を依頼する依頼情報および前記データ処理の処理結果を伝搬させる伝搬経路と、前記伝搬経路に含まれる通信ノードのうちの前記データ処理を実行させる通信ノードと、を示す伝搬情報を取得して前記記憶部に書き込み、
前記記憶部から読み出した前記経路情報および前記伝搬情報に基づく前記複数の通信ノードの各々の消費電力量を導出し、
導出した前記消費電力量に基づいて、前記複数の通信ノードのうちの第1通信ノードと、前記複数の通信ノードのうちの選択した前記第1通信ノードよりも消費電力量が少ない第2通信ノードと、を選択し、
前記複数の経路から、前記第2通信ノードを含む経路を特定し、
前記複数のデータ処理のうち、選択した前記第1通信ノードが依頼先であるデータ処理の一部の依頼先を、選択した前記第2通信ノードとすることを示し、選択した前記第1通信ノードが依頼先であるデータ処理の一部についての前記依頼情報と前記処理結果を、特定した前記経路によって伝搬させることを示す情報を生成する、
処理を実行することを特徴とする情報処理方法。 - 前記コンピュータが、
読み出した前記伝搬情報が示す選択した前記第1通信ノードが依頼先であるデータ処理の一部のデータ処理の依頼先が、選択した前記第2通信ノードに変更され、読み出した前記伝搬情報が示す前記伝搬経路が、選択した前記第1通信ノードが依頼先であるデータ処理の一部についての前記依頼情報と前記処理結果を、特定した前記経路によって伝搬させるように変更された伝搬情報を生成することを特徴とする請求項10に記載の情報処理方法。 - 前記第2通信ノードを選択する処理では、導出した前記消費電力量に基づいて前記複数の通信ノードのうちの最も消費電力量が少ない第2通信ノードを選択することを特徴とする請求項10または11に記載の情報処理方法。
- 前記コンピュータが、
特定した前記経路上の通信ノードについての導出した最も多い消費電力量が閾値以上であるか否かを判断する処理を実行し、
前記第2通信ノードを選択する処理では、特定した前記経路上の通信ノードの最も多い消費電力量が前記閾値以上である場合、導出した前記消費電力量に基づいて、前記複数の通信ノードのうちの選択済みの通信ノード以外の第2通信ノードをあらたに選択することを特徴とする請求項10〜12のいずれか一つに記載の情報処理方法。 - 前記コンピュータが、
前記複数の経路のいずれかの経路に含まれる経路であって、前記第1集約装置から、前記第2通信ノードまでの第1経路を特定し、
前記複数の経路のいずれかの経路に含まれる経路であって、前記第2通信ノードから、前記第2集約装置までの第2経路を特定し、
前記第1通信ノードについての導出した前記消費電力量と、前記第1経路上の通信ノードについての導出した最も多い消費電力量と、の差分に基づいて、選択した前記第1通信ノードが依頼先であるデータ処理のうち、依頼先を選択した前記第2通信ノードにするデータ処理の第1候補を決定し、
前記第1通信ノードについての導出した前記消費電力量と、前記第2経路上の通信ノードについての導出した最も多い消費電力量と、の差分に基づいて、選択した前記第1通信ノードが依頼先であるデータ処理のうち、依頼先を選択した前記第2通信ノードにするデータ処理の第2候補を決定する、
処理を実行し、
選択した前記第2通信ノードとすることを示す情報を生成する処理では、決定した前記第1候補と決定した前記第2候補のうち、処理量が少ない候補のデータ処理の依頼先を前記第2通信ノードにすることを示し、前記少ない候補のデータ処理についての前記依頼情報と前記処理結果とが前記第1経路と前記第2経路とによって伝搬されることを示す情報を生成することを特徴とする請求項10〜13のいずれか一つに記載の情報処理方法。 - 前記コンピュータが、
前記第1通信ノードについての導出した前記消費電力量と、前記第2通信ノードについての導出した前記消費電力量と、の差分に基づいて、選択した前記第1通信ノードが依頼先であるデータ処理のうち、依頼先を選択した前記第2通信ノードにするデータ処理の第3候補を決定する処理を実行し、
選択した前記第2通信ノードにすることを示す情報を生成する処理では、決定した前記第1候補と決定した前記第2候補と決定した前記第3候補のうち、処理量が最も少ない候補のデータ処理の依頼先を前記第2通信ノードにし、前記最も少ない候補のデータ処理についての前記依頼情報と前記処理結果とが前記第1経路と前記第2経路とによって伝搬されることを示す情報を生成することを特徴とする請求項14に記載の情報処理方法。 - 前記コンピュータが、
前記複数の経路のいずれかの経路に含まれる経路であって、前記第1集約装置から、前記第2通信ノードまでの経路のうち、前記経路上の通信ノードの導出した最も多い消費電力量が最小の第1経路を特定し、
前記複数の経路のいずれかの経路に含まれる経路であって、前記第2通信ノードから、前記第2集約装置までの経路のうち、前記経路上の通信ノードの導出した最も多い消費電力量が最小の第2経路を特定することを特徴とする請求項14または15に記載の情報処理方法。 - 第1集約装置から第2集約装置へマルチホップ通信によってデータ処理の実行を依頼する依頼情報または前記データ処理の処理結果を伝搬させる経路上の各通信ノードが、
前記依頼情報または前記処理結果を含む経由情報を受信し、
受信した前記経由情報に含まれる前記依頼情報が示す依頼先が自通信ノードである場合、前記データ処理を前記依頼情報に基づいて実行し、
前記依頼情報または前記処理結果を分割して複数の伝搬先に伝搬させる前記経路上のいずれかの通信ノードが前記依頼情報または前記処理結果を分割する割合を示す分割情報が、受信した前記経由情報に含まれている場合、自通信ノードが前記いずれかの通信ノードであれば、前記複数の伝搬先の各々に対応する、前記分割情報が示す割合に基づいて分割した前記依頼情報または前記処理結果を含む経由情報を生成し、自通信ノードが前記いずれかの通信ノードでなければ、前記分割情報と、前記依頼情報または前記処理結果と、を含む経由情報を生成し、
前記経由情報に前記分割情報が含まれていない場合、前記依頼情報または前記処理結果を含む経由情報を生成し、
生成した前記経由情報を前記経路における自通信ノードの伝搬先に送信する、
処理を実行することを特徴とする通信方法。 - 第1集約装置から第2集約装置へマルチホップ通信によってデータ処理の実行を依頼する依頼情報または前記データ処理の処理結果を伝搬させる経路上の通信ノードであって、
前記依頼情報または前記処理結果を含む経由情報を受信する受信部と、
前記受信部によって受信した経由情報を記憶する記憶部と、
前記記憶部から読み出した前記経由情報に含まれる前記依頼情報が示す依頼先が自通信ノードである場合、前記データ処理を前記依頼情報に基づいて実行する実行部と、
前記依頼情報または前記処理結果を分割して複数の伝搬先に伝搬させる前記経路上のいずれかの通信ノードが前記依頼情報または前記処理結果を分割する割合を示す分割情報が、前記記憶部から読み出した前記経由情報に含まれている場合、自通信ノードが前記いずれかの通信ノードであれば、前記複数の伝搬先の各々に対応する、前記分割情報が示す割合に基づいて分割した前記依頼情報または前記処理結果を含む経由情報を生成し、自通信ノードが前記いずれかの通信ノードでなければ、前記分割情報と、前記依頼情報または前記処理結果と、を含む経由情報を生成し、前記経由情報に前記分割情報が含まれていない場合、前記依頼情報または前記処理結果を含む経由情報を生成する生成部と、
生成した前記経由情報を前記経路における自通信ノードの伝搬先に送信する送信部と、
を有することを特徴とする通信ノード。 - 第1集約装置と、
前記第1集約装置と異なる第2集約装置と、
マルチホップ通信によって前記第1集約装置から前記第2集約装置への複数の経路でそれぞれ異なるデータを伝搬させる複数の通信ノードと、
前記第1集約装置と前記第2集約装置との各々と通信可能であって、情報を記憶する記憶部を有する情報処理装置と、
を有するシステムであって、
前記情報処理装置が、
前記複数の通信ノードでのマルチホップ通信によってそれぞれ異なるデータを第1集約装置から第2集約装置へ伝搬させる複数の経路を示す経路情報を取得して前記記憶部に書き込み、
前記情報処理装置から前記複数の通信ノードに実行が依頼される複数のデータ処理について、前記複数の経路のうちの前記データ処理の実行を依頼する依頼情報および前記データ処理の処理結果を伝搬させる伝搬経路と、前記伝搬経路に含まれる通信ノードのうちの前記データ処理の依頼先の通信ノードと、を示す伝搬情報を取得して前記記憶部に書き込み、
前記記憶部から読み出した前記経路情報および前記伝搬情報に基づく前記複数の通信ノードの各々の消費電力量を導出し、
前記複数の通信ノードの各々の導出した前記消費電力量のうち最も多い消費電力量が閾値未満であるか否かを判断し、
前記最も多い消費電力量が閾値未満である場合、前記伝搬情報を前記第1集約装置に送信することにより、前記伝搬情報に基づいて前記複数のデータ処理を前記複数の通信ノードに実行させる、
処理を実行することを特徴とするシステム。 - 情報を記憶する記憶部を有するコンピュータに、
複数の通信ノードでのマルチホップ通信によってそれぞれ異なるデータを第1集約装置から第2集約装置へ伝搬させる複数の経路を示す経路情報を取得して前記記憶部に書き込み、
前記コンピュータから前記複数の通信ノードに実行が依頼される複数のデータ処理について、前記複数の経路のうちの、前記データ処理の実行を依頼する依頼情報および前記データ処理の処理結果を伝搬させる伝搬経路と、前記伝搬経路に含まれる通信ノードのうちの前記データ処理の依頼先の通信ノードと、を示す伝搬情報を取得して前記記憶部に書き込み、
前記記憶部から読み出した前記経路情報および前記伝搬情報に基づく前記複数の通信ノードの各々の消費電力量を導出し、
導出した前記消費電力量に基づいて前記複数の通信ノードのうちのいずれかの通信ノードを選択し、
前記伝搬情報に基づいて、前記依頼情報または前記処理結果のうち、選択した前記通信ノードが転送する依頼情報または処理結果を選択し、
前記依頼情報を選択した場合に、前記複数の経路のいずれかの経路に含まれる経路であって、前記第1集約装置から、選択した前記依頼情報についてのデータ処理の依頼先の通信ノードまでの、選択した前記通信ノードを経由しない経路を特定し、
前記処理結果を選択した場合に、前記複数の経路のいずれかの経路に含まれる経路であって、前記処理結果についてのデータ処理の依頼先の通信ノードから、前記第2集約装置までの、選択した前記通信ノードを経由しない経路を特定し、
選択した前記依頼情報または前記処理結果の少なくとも一部を、特定した前記経路によって伝搬させることを示す情報を生成する、
処理を実行させることを特徴とする情報処理プログラム。 - 情報を記憶する記憶部を有するコンピュータに、
第1集約装置から第2集約装置へ複数の通信ノードでのマルチホップ通信によってそれぞれ異なるデータを伝搬させる複数の経路を示す経路情報を取得して前記記憶部に書き込み、
前記コンピュータから前記複数の通信ノードに実行が依頼される複数のデータ処理について、前記複数の経路のうちの、前記データ処理の実行を依頼する依頼情報および前記データ処理の処理結果を伝搬させる伝搬経路と、前記伝搬経路に含まれる通信ノードのうちの前記データ処理を実行させる通信ノードと、を示す伝搬情報を取得して前記記憶部に書き込み、
前記記憶部から読み出した前記経路情報および前記伝搬情報に基づく前記複数の通信ノードの各々の消費電力量を導出し、
導出した前記消費電力量に基づいて、前記複数の通信ノードのうちの第1通信ノードと、前記複数の通信ノードのうちの選択した前記第1通信ノードよりも消費電力量が少ない第2通信ノードと、を選択し、
前記複数の経路から、前記第2通信ノードを含む経路を特定し、
前記複数のデータ処理のうち、選択した前記第1通信ノードが依頼先であるデータ処理の一部の依頼先を、選択した前記第2通信ノードとすることを示し、選択した前記第1通信ノードが依頼先であるデータ処理の一部についての前記依頼情報と前記処理結果を、特定した前記経路によって伝搬させることを示す情報を生成する、
処理を実行させることを特徴とする情報処理プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/083755 WO2014102948A1 (ja) | 2012-12-26 | 2012-12-26 | 情報処理方法、通信方法、通信ノード、システム、および情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5924423B2 true JP5924423B2 (ja) | 2016-05-25 |
JPWO2014102948A1 JPWO2014102948A1 (ja) | 2017-01-12 |
Family
ID=51020104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014553952A Expired - Fee Related JP5924423B2 (ja) | 2012-12-26 | 2012-12-26 | 情報処理方法、通信方法、通信ノード、システム、および情報処理プログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US9955402B2 (ja) |
EP (1) | EP2941054A4 (ja) |
JP (1) | JP5924423B2 (ja) |
CN (1) | CN104904272B (ja) |
TW (1) | TWI516152B (ja) |
WO (1) | WO2014102948A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017064758A1 (ja) * | 2015-10-13 | 2017-04-20 | 富士通株式会社 | 制御システムおよび制御方法 |
CN106102140B (zh) * | 2016-05-27 | 2022-03-22 | 集道成科技(北京)有限公司 | 无线传感器的功耗优化方法及装置 |
CN115066002A (zh) * | 2016-06-09 | 2022-09-16 | 富士通株式会社 | 服务器装置、传感器设备、传感器网络、控制方法、以及存储介质 |
CN110958580B (zh) * | 2019-12-11 | 2021-10-15 | 中国科学院计算机网络信息中心 | 一种低功耗的多功能数据汇聚网关及其数据汇聚传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060178150A1 (en) * | 2005-02-04 | 2006-08-10 | Samsung Electronics Co., Ltd. | Method of transmitting data with minimum energy consumption in a wireless sensor network |
JP2007074564A (ja) * | 2005-09-08 | 2007-03-22 | Oki Electric Ind Co Ltd | ネットワーク経路設定方法及び無線局 |
JP2010028614A (ja) * | 2008-07-23 | 2010-02-04 | Nec System Technologies Ltd | 中継装置、経路決定方法、及びプログラム |
JP2011130406A (ja) * | 2009-11-17 | 2011-06-30 | Ricoh Co Ltd | 無線通信装置、無線通信システム、無線通信方法、無線通信プログラム、記録媒体 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7277414B2 (en) * | 2001-08-03 | 2007-10-02 | Honeywell International Inc. | Energy aware network management |
JP3671891B2 (ja) * | 2001-10-04 | 2005-07-13 | オムロン株式会社 | センサネットワークシステム管理方法、センサネットワークシステム管理プログラム、センサネットワークシステム管理プログラムを記録した記録媒体、およびセンサネットワークシステム管理装置 |
US7194463B2 (en) * | 2002-05-28 | 2007-03-20 | Xerox Corporation | Systems and methods for constrained anisotropic diffusion routing within an ad hoc network |
US7414977B2 (en) * | 2003-11-25 | 2008-08-19 | Mitsubishi Electric Research Laboratories, Inc. | Power and delay sensitive ad-hoc communication networks |
US7693049B2 (en) * | 2004-10-29 | 2010-04-06 | Honeywell International Inc. | Self-organization of sensor networks using ant colony optimization |
KR101213158B1 (ko) * | 2006-09-26 | 2012-12-17 | 삼성전자주식회사 | 에너지 기반 경로 설정 장치 및 방법 |
DE102006046184B4 (de) * | 2006-09-29 | 2009-01-02 | Infineon Technologies Ag | Verfahren, Vorrichtung und Computerprogrammprodukt zur Ermittlung einer voraussichtlichen Überschreitung einer maximal erlaubten Leistungsaufnahme eines mobilen elektronischen Geräts und mobiles elektronisches Gerät |
KR100874652B1 (ko) * | 2007-06-26 | 2008-12-17 | 한국전자통신연구원 | 이기종 센서네트워크를 위한 통합 인터페이스 장치 및 그방법 |
PL2212786T3 (pl) * | 2007-11-22 | 2015-10-30 | Ericsson Telefon Ab L M | Sposób i urządzenie do przetwarzania zwinnego |
US8165143B2 (en) * | 2010-03-16 | 2012-04-24 | Novell, Inc. | Routing protocol apparatus, systems, and methods |
US8760995B1 (en) * | 2010-07-08 | 2014-06-24 | Amdocs Software Systems Limited | System, method, and computer program for routing data in a wireless sensor network |
JP5510234B2 (ja) | 2010-09-16 | 2014-06-04 | 株式会社リコー | 情報処理装置および情報処理プログラム |
JP5351133B2 (ja) * | 2010-12-15 | 2013-11-27 | 三菱電機株式会社 | 無線通信システム |
US9432938B2 (en) | 2011-05-13 | 2016-08-30 | Nec Corporation | Network control method, path control apparatus, network control system and path control program |
CN102711213A (zh) * | 2012-05-14 | 2012-10-03 | 南京邮电大学 | 一种基于剩余能量的无线传感网路由方法 |
-
2012
- 2012-12-26 JP JP2014553952A patent/JP5924423B2/ja not_active Expired - Fee Related
- 2012-12-26 WO PCT/JP2012/083755 patent/WO2014102948A1/ja active Application Filing
- 2012-12-26 CN CN201280077999.9A patent/CN104904272B/zh not_active Expired - Fee Related
- 2012-12-26 EP EP12890994.2A patent/EP2941054A4/en not_active Withdrawn
-
2013
- 2013-10-15 TW TW102137088A patent/TWI516152B/zh not_active IP Right Cessation
-
2015
- 2015-06-22 US US14/745,887 patent/US9955402B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060178150A1 (en) * | 2005-02-04 | 2006-08-10 | Samsung Electronics Co., Ltd. | Method of transmitting data with minimum energy consumption in a wireless sensor network |
JP2007074564A (ja) * | 2005-09-08 | 2007-03-22 | Oki Electric Ind Co Ltd | ネットワーク経路設定方法及び無線局 |
JP2010028614A (ja) * | 2008-07-23 | 2010-02-04 | Nec System Technologies Ltd | 中継装置、経路決定方法、及びプログラム |
JP2011130406A (ja) * | 2009-11-17 | 2011-06-30 | Ricoh Co Ltd | 無線通信装置、無線通信システム、無線通信方法、無線通信プログラム、記録媒体 |
Non-Patent Citations (1)
Title |
---|
JPN6016010754; Yuyao He, Xue Li,Shiyan Xu: 'A Balanced Energy Consumption Routing with Receiving Cost for Wireless Sensor Networks' Electronic Computer Technology, 2009 International Conference on , 20090222, p.205-209, IEEE * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2014102948A1 (ja) | 2017-01-12 |
CN104904272A (zh) | 2015-09-09 |
WO2014102948A1 (ja) | 2014-07-03 |
US9955402B2 (en) | 2018-04-24 |
EP2941054A1 (en) | 2015-11-04 |
US20150289192A1 (en) | 2015-10-08 |
EP2941054A4 (en) | 2016-03-30 |
TWI516152B (zh) | 2016-01-01 |
CN104904272B (zh) | 2018-06-05 |
TW201436614A (zh) | 2014-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5924423B2 (ja) | 情報処理方法、通信方法、通信ノード、システム、および情報処理プログラム | |
CN105075179A (zh) | 基于学习机器对异常网络性能的检测 | |
Jalili et al. | Optimal controller placement in large scale software defined networks based on modified NSGA-II | |
EP2408154A1 (en) | Optimal route selection apparatus, optimal route selection method, and program | |
Alenazi et al. | Evaluation and comparison of several graph robustness metrics to improve network resilience | |
Karasabun et al. | Active node determination for correlated data gathering in wireless sensor networks | |
Blouin | Intermission-based adaptive structure estimation of wireless underwater networks | |
Ghosh et al. | Scalable distributed memory community detection using vite | |
Zheng et al. | Optimizing multi-copy two-hop routing in mobile social networks | |
JP6664549B2 (ja) | 情報収集装置、自動検針システム、および経路更新方法 | |
Liu et al. | A generalized coverage-preserving scheduling in WSNs: A case study in structural health monitoring | |
Kim et al. | Trustsgcn: Learning trustworthiness on edge signs for effective signed graph convolutional networks | |
JP5651619B2 (ja) | 通信システム、経路決定装置、経路決定方法及び経路決定プログラム | |
Kim et al. | Improving the topological resilience of mobile ad hoc networks | |
Gao et al. | Forwarding redundancy in opportunistic mobile networks: Investigation, elimination and exploitation | |
Acer et al. | Connectivity in time-graphs | |
US20130163514A1 (en) | Wireless communication apparatus, a computer-readable recording medium and wireless communication method | |
Karaoglanoglou et al. | Directing requests in a large-scale grid system based on resource categorization | |
Zhou et al. | A combined routing path and node importance network invulnerability evaluating method for ad hoc network | |
Deri et al. | Graph sampling: Estimation of degree distributions | |
Iovanovici et al. | Heuristic optimization of wireless sensor networks using social network analysis | |
Varagnolo et al. | Distributed consensus-based Bayesian estimation: sufficient conditions for performance characterization | |
KR101238637B1 (ko) | 센서 네트워크에서 시그니처를 이용한 노드―id 부여 방법 | |
Poonpakdee et al. | Expander graph quality optimisation in randomised communication | |
Schleich et al. | Blackbone2, an efficient deterministic algorithm for creating 2-connected m-dominating set-based backbones in ad hoc networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20160322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160404 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5924423 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |