JP5857791B2 - Communication device - Google Patents
Communication device Download PDFInfo
- Publication number
- JP5857791B2 JP5857791B2 JP2012039251A JP2012039251A JP5857791B2 JP 5857791 B2 JP5857791 B2 JP 5857791B2 JP 2012039251 A JP2012039251 A JP 2012039251A JP 2012039251 A JP2012039251 A JP 2012039251A JP 5857791 B2 JP5857791 B2 JP 5857791B2
- Authority
- JP
- Japan
- Prior art keywords
- group
- routing information
- inter
- node
- area
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
Description
この発明は、移動端末に係り、特に、エリアに関するデータを移動端末群で分散して記憶する移動端末に関する。 The present invention relates to a mobile terminal, and more particularly to a mobile terminal that stores data related to an area in a mobile terminal group.
従来から、MANET環境への適応を目標としたDHT(Distributed Hash Table)の一つとして、MADPastryが知られている(非特許文献1)。MADPastryでは、ルーティングテーブルの肥大化、維持コストを抑えるために、複数のグループに分割して管理を行っている。Pastryと呼ばれるDHTに基づいた手法で、アドホックルーティングプロトコルにはAODVを用いている。 Conventionally, MADPastry is known as one of DHT (Distributed Hash Table) aimed at adaptation to the MANET environment (Non-patent Document 1). In MADPastry, management is divided into a plurality of groups in order to suppress the enlargement and maintenance cost of the routing table. A method based on DHT called Pastry, and AODV is used as an ad hoc routing protocol.
また、MADPastryに参加する移動体は必ず、どこかのグループに属している。各グループのマスターはグループのビーコンを発信し、グループマスター以外の移動体は受信したビーコンのホップ数が最も少ないグループに属する。また、各移動体はグループへのルーティングテーブルと同一グループの移動体リストを持ち、これらを用いてルーティングを行っている。 In addition, a mobile that participates in MADPastry always belongs to some group. The master of each group transmits a beacon of the group, and mobiles other than the group master belong to the group with the smallest number of received beacon hops. Each mobile unit has a mobile unit list of the same group as the routing table to the group, and performs routing using these groups.
上記のMADPastryでは、位置情報を用いてグループに分けて管理しているが、各グループは、遠方のグループのルーティング情報を維持する必要があるため、ルーティングテーブルの更新に遅延が生じ、通信量も大きくなる可能性が高い、という問題がある。 In the above MADPastry, the location information is used to manage each group. However, since each group needs to maintain the routing information of a distant group, there is a delay in updating the routing table, and the traffic is also large. There is a problem that it is likely to become large.
本発明は、上記の問題点を解決するためになされたもので、ルーティング情報の更新の遅延を抑制すると共に、ルーティング情報を維持するための通信負荷の増大を抑制することができる移動端末を提供することを目的とする。 The present invention has been made to solve the above problems, and provides a mobile terminal capable of suppressing a delay in updating routing information and suppressing an increase in communication load for maintaining the routing information. The purpose is to do.
上記の目的を達成するために本発明に係る移動端末は、予め定められたエリアに関連するエリアデータを、移動端末群の各移動端末に対応するノードの集合に対して分散して割り当てることにより、前記エリアデータを前記移動端末群の各移動端末で分散して記憶するためのデータ分散記憶システムにおける移動端末であって、周辺の移動端末と無線通信を行うための通信手段と、前記エリアを分割した分割エリアのうち、自端末が存在する前記分割エリアに隣接する前記分割エリアの各々について、前記隣接する分割エリア内に存在する移動端末のグループを経由してルーティング可能な、分割エリア内に存在する移動端末のグループのグループIDの集合を表わすグループ間ルーティング情報を、前記隣接する各分割エリア内に存在する移動端末から前記通信手段により受信して取得するID取得手段と、自端末が存在する前記分割エリアに隣接する前記分割エリアの各々を送信先として、前記ID取得手段によって取得した各グループ間ルーティング情報のうち、前記送信先の分割エリアについて取得した前記グループ間ルーティング情報を除いた前記グループ間ルーティング情報の各々が表わすグループIDの和集合と、自端末が存在する前記分割エリアの前記グループIDとを表わす前記グループ間ルーティング情報を、前記送信先へ送信する前記グループ間ルーティング情報として各々生成するルーティング情報生成手段と、前記ルーティング情報生成手段によって生成された前記グループ間ルーティング情報の各々を、前記送信先の各々へ送信するように前記通信手段を制御する送信制御手段と、を含んで構成されている。 To achieve the above object, a mobile terminal according to the present invention distributes and assigns area data related to a predetermined area to a set of nodes corresponding to each mobile terminal in a mobile terminal group. A mobile terminal in a distributed data storage system for storing and storing the area data in each mobile terminal of the mobile terminal group, the communication means for performing wireless communication with surrounding mobile terminals, and the area Among the divided areas, each of the divided areas adjacent to the divided area where the own terminal exists is in a divided area that can be routed via a group of mobile terminals existing in the adjacent divided area. the inter-group routing information that represents a set of group ID of the group of mobile terminals present, present in each divided area to the adjacent Inter-group routing information acquired by the ID acquisition unit using the ID acquisition unit that is received and acquired from the mobile terminal by the communication unit and each of the divided areas adjacent to the divided area where the own terminal exists as a transmission destination Among these, the union of the group IDs represented by each of the inter-group routing information excluding the inter-group routing information acquired for the transmission-destination divided area, and the group ID of the divided area where the own terminal exists Routing information generating means for generating the inter-group routing information representing the inter-group routing information to be transmitted to the destination, and the inter-group routing information generated by the routing information generating means for the destination Said communication hand to send to each of It is configured to include a transmission control means for controlling.
本発明の移動端末によれば、ID取得手段によって、前記エリアを分割した分割エリアのうち、自端末が存在する前記分割エリアに隣接する前記分割エリアの各々について、前記隣接する分割エリア内に存在する移動端末のグループを経由してルーティング可能な、分割エリア内に存在する移動端末のグループのグループIDの集合を表わすグループ間ルーティング情報を、前記隣接する各分割エリア内に存在する移動端末から前記通信手段により受信して取得する。 According to the mobile terminal of the present invention, among the divided areas obtained by dividing the area by the ID acquisition unit, each of the divided areas adjacent to the divided area where the own terminal exists is present in the adjacent divided area. Inter-group routing information representing a set of group IDs of groups of mobile terminals existing in a divided area, which can be routed via a group of mobile terminals, from the mobile terminals existing in each adjacent divided area, Received and acquired by communication means.
そして、ルーティング情報生成手段によって、自端末が存在する前記分割エリアに隣接する前記分割エリアの各々を送信先として、前記ID取得手段によって取得した各グループ間ルーティング情報のうち、前記送信先の分割エリアについて取得した前記グループ間ルーティング情報を除いた前記グループ間ルーティング情報の各々が表わすグループIDの和集合と、自端末が存在する前記分割エリアの前記グループIDとを表わす前記グループ間ルーティング情報を、前記送信先へ送信する前記グループ間ルーティング情報として各々生成する。送信制御手段によって、前記ルーティング情報生成手段によって生成された前記グループ間ルーティング情報の各々を、前記送信先の各々へ送信するように前記通信手段を制御する。 Then, the routing information generating means sets each of the divided areas adjacent to the divided area where the terminal is present as the transmission destination, and among the inter-group routing information acquired by the ID acquisition means, the transmission destination divided area. The inter-group routing information representing the union of the group IDs represented by each of the inter-group routing information excluding the inter-group routing information acquired for the above and the group IDs of the divided areas where the own terminal exists, Each is generated as the inter-group routing information to be transmitted to the transmission destination. The transmission control unit controls the communication unit to transmit each of the inter-group routing information generated by the routing information generation unit to each of the transmission destinations.
このように、隣接する各分割エリアのグループを経由してルーティング可能なグループのグループIDの和集合と、自端末が存在する分割エリアのグループIDとを表わすグループ間ルーティング情報を生成して、隣接する各分割エリア内の移動体との間でグループ間ルーティング情報を送受信することにより、ルーティング情報の更新の遅延を抑制すると共に、ルーティング情報を維持するための通信負荷の増大を抑制することができる。 In this way, the inter-group routing information indicating the union of the group IDs of groups that can be routed through the groups of the adjacent divided areas and the group ID of the divided area where the own terminal exists is generated, By transmitting / receiving routing information between groups to / from mobiles in each divided area, it is possible to suppress delay in updating routing information and to suppress an increase in communication load for maintaining routing information. .
本発明に係るルーティング情報生成手段は、前記隣接する前記分割エリアの各々に対して予め定められた、前記分割エリアを送信先とする前記グループ間ルーティング情報を生成するために必要な前記グループ間ルーティング情報の送信元となる前記分割エリアに基づいて、隣接する前記分割エリアの各々について、前記分割エリアに対して定められた前記送信元の分割エリアの全てについて前記グループ間ルーティング情報を取得したときに、前記分割エリアを送信先として送信する前記グループ間ルーティング情報を生成するようにすることができる。これによって、ルーティング情報の更新順序を指定することができ、ルーティング情報の更新の遅延を更に抑制すると共に、ルーティング情報を維持するための通信負荷の増大を更に抑制することができる。 The routing information generating means according to the present invention provides the inter-group routing necessary for generating the inter-group routing information that is predetermined for each of the adjacent divided areas and that uses the divided area as a transmission destination. When the inter-group routing information is acquired for all of the divided areas of the transmission source determined for the divided area for each of the adjacent divided areas based on the divided area that is the information transmission source. The inter-group routing information for transmitting the divided area as a transmission destination can be generated. Thereby, the update order of the routing information can be specified, the delay in updating the routing information can be further suppressed, and an increase in communication load for maintaining the routing information can be further suppressed.
本発明に係るルーティング情報生成手段は、前記隣接する前記分割エリアの各々の自端末に対する方角に応じて予め定められた、前記分割エリアを送信先とする前記グループ間ルーティング情報を生成するために必要な前記グループ間ルーティング情報の送信元となる前記分割エリアに基づいて、隣接する前記分割エリアの各々について、前記分割エリアの方角に応じて定められた前記送信元の分割エリアの全てについて前記グループ間ルーティング情報を取得したときに、前記分割エリアを送信先として送信する前記グループ間ルーティング情報を生成するようにすることができる。これによって、ルーティング情報の更新順序を指定することができ、ルーティング情報の更新の遅延を更に抑制すると共に、ルーティング情報を維持するための通信負荷の増大を更に抑制することができる。 The routing information generating means according to the present invention is necessary for generating the inter-group routing information whose destination is the divided area, which is predetermined according to the direction of each of the adjacent divided areas with respect to the own terminal. Based on the divided area that is the transmission source of the inter-group routing information, for each of the adjacent divided areas, all of the divided areas of the transmission source determined according to the direction of the divided area When the routing information is acquired, the inter-group routing information that is transmitted using the divided area as a transmission destination can be generated. Thereby, the update order of the routing information can be specified, the delay in updating the routing information can be further suppressed, and an increase in communication load for maintaining the routing information can be further suppressed.
上記のルーティング情報生成手段は、前記ID取得手段によって取得した各グループ間ルーティング情報のうち、前記送信先の分割エリアについて取得した前記グループ間ルーティング情報を除いた前記グループ間ルーティング情報の各々が表わすグループIDの和集合の各グループIDのビットパターンと、自端末が存在する前記分割エリアの前記グループIDのビットパターンとを足し合わせたビットパターンを、前記グループ間ルーティング情報として生成するようにすることができる。これによって、グループ間ルーティング情報のデータ量を抑制することができ、ルーティング情報を維持するための通信負荷の増大を更に抑制することができる。 The routing information generating means is a group represented by each of the inter-group routing information excluding the inter-group routing information acquired for the divided area of the transmission destination among the inter-group routing information acquired by the ID acquisition means. A bit pattern in which the bit pattern of each group ID of the union of IDs and the bit pattern of the group ID of the divided area where the terminal is present is generated as the inter-group routing information. it can. Thereby, the data amount of the routing information between groups can be suppressed, and an increase in communication load for maintaining the routing information can be further suppressed.
グループ間ルーティング情報をビットパターンとする上記移動端末は、自端末が存在する前記分割エリア内に存在する各移動端末を示すノードIDを取得するノードID取得手段を更に含み、前記グループIDのビットパターンを、前記分割エリア内に存在する各移動端末を示すノードIDを用いて定められるビットパターンとし、前記ルーティング情報生成手段は、前記ノードID取得手段によって取得した、自端末が存在する前記分割エリア内に存在する各移動端末を示すノードID及び自端末のノードIDを用いて、自端末が存在する前記分割エリアに対応する前記グループIDのビットパターンを生成し、前記ID取得手段によって取得した各グループ間ルーティング情報のうち、前記送信先の分割エリアについて取得した前記グループ間ルーティング情報を除いた前記グループ間ルーティング情報の各々が表わすグループIDの和集合の各グループIDのビットパターンと、前記生成された自端末の前記グループIDのビットパターンとを足し合わせて、前記グループ間ルーティング情報のビットパターンを生成するようにすることができる。 The mobile terminal using the inter-group routing information as a bit pattern further includes node ID acquisition means for acquiring a node ID indicating each mobile terminal existing in the divided area where the own terminal exists, and the bit pattern of the group ID Is a bit pattern determined using a node ID indicating each mobile terminal existing in the divided area, and the routing information generating means is acquired by the node ID acquiring means in the divided area where the own terminal exists. Each group acquired by the ID acquisition means by generating a bit pattern of the group ID corresponding to the divided area where the own terminal exists using the node ID indicating each mobile terminal existing in the node and the node ID of the own terminal Among the inter-routing information acquired for the divided area of the transmission destination The bit pattern of each group ID of the union of group IDs represented by each of the inter-group routing information excluding the inter-group routing information and the generated bit pattern of the group ID of the terminal itself are added, A bit pattern of inter-group routing information can be generated.
また、上記移動端末は、周辺の移動端末から、前記通信手段により前記エリアデータを受信した場合に、前記ノードID取得手段によって取得した自端末が存在する前記分割エリア内に存在する各移動端末のノードID及び自端末のノードIDを用いて、自端末が存在する前記分割エリアに対応する前記グループIDを生成すると共に、前記受信したエリアデータのデータIDを所定の関数を用いてランダムパターンに変換し、前記ランダムパターンを用いて、前記ID取得手段によって前記隣接する分割エリアの各々から取得した前記グループ間ルーティング情報のビットパターンと、前記生成した自端末が存在する前記分割エリアに対応するグループIDのビットパターンとの各々に処理を加え、前記処理が加えられた各ビットパターンを評価して、前記エリアデータを割り当てる前記移動端末のグループを決定するグループ決定手段と、前記グループ決定手段によって決定された前記グループが、自端末が存在する前記分割エリアに対応するグループである場合、前記ノードID取得手段によって取得した自端末が存在する前記分割エリア内に存在する各移動端末のノードID及び自端末のノードIDの各々をビットパターンに変換すると共に、前記受信したエリアデータのデータIDを所定の関数を用いてランダムパターンに変換し、前記ランダムパターンを用いて、前記変換した各移動端末のノードID及び自端末のノードIDの各々のビットパターンに処理を加え、前記処理が加えられた各移動端末のノードID及び自端末のノードIDの各々のビットパターンを評価して、前記エリアデータを割り当てる前記ノードを決定するノード決定手段と、前記自端末のノードに割り当てられた前記エリアデータを記憶する記憶手段と、前記グループ決定手段によって決定されたグループが、自端末が存在する前記分割エリアに対応するグループでない場合、及び前記ノード決定手段によって決定されたノードが、自端末のノードでない場合、前記受信した前記エリアデータを他の移動端末へ転送するように前記通信手段を制御する転送制御手段と、を更に含むようにすることができる。 Further, when the mobile terminal receives the area data from the surrounding mobile terminals by the communication means, each mobile terminal in the divided area where the own terminal acquired by the node ID acquisition means exists Using the node ID and the node ID of the own terminal, the group ID corresponding to the divided area where the own terminal exists is generated, and the data ID of the received area data is converted into a random pattern using a predetermined function And using the random pattern, a bit pattern of the inter-group routing information acquired from each of the adjacent divided areas by the ID acquisition means, and a group ID corresponding to the divided area where the generated own terminal exists Each bit pattern to which the above processing is applied When evaluating, a group determining means for determining the group of the mobile terminal to which the area data is allocated, and the group determined by the group determining means is a group corresponding to the divided area where the own terminal exists, Each of the node ID of each mobile terminal and the node ID of the own terminal existing in the divided area where the own terminal obtained by the node ID obtaining means is converted into a bit pattern, and the data ID of the received area data Is converted into a random pattern using a predetermined function, and processing is performed on each bit pattern of the converted node ID of each mobile terminal and node ID of its own terminal using the random pattern, and the processing is added. Evaluate each bit pattern of node ID of each mobile terminal and node ID of own terminal A node determining means for determining the node to which the area data is allocated, a storage means for storing the area data allocated to the node of the terminal, and a group determined by the group determining means The communication means is configured to transfer the received area data to another mobile terminal when the group is not a group corresponding to the existing divided area and the node determined by the node determination means is not a node of its own terminal. And a transfer control means for controlling.
ノードIDに応じて1以上である所定数のビットを1にしたビットパターンを、対応する前記分割エリア内に存在する各移動端末のノードIDについて足し合わせることにより、前記グループIDのビットパターンを求めるようにすることができる。これによって、エリアデータを多くの移動端末で安定して分散記憶することができる。 The bit pattern in one of a predetermined number of bits at 1 or more depending on the node ID, by summing Rukoto for the node ID of each mobile terminal that exists in the divided area corresponding bit of the group ID The pattern can be determined. As a result, the area data can be stably distributed and stored in many mobile terminals.
以上説明したように、本発明の移動端末によれば、隣接する各分割エリアのグループを経由してルーティング可能なグループのグループIDの和集合と、自端末が存在する分割エリアのグループIDとを表わすグループ間ルーティング情報を生成して、隣接する各分割エリア内の移動体との間でグループ間ルーティング情報を送受信することにより、ルーティング情報の更新の遅延を抑制すると共に、ルーティング情報を維持するための通信負荷の増大を抑制することができる、という効果が得られる。 As described above, according to the mobile terminal of the present invention, the union of the group IDs of groups that can be routed through the groups of adjacent divided areas and the group ID of the divided area where the own terminal exists are obtained. In order to suppress routing information update delay and maintain routing information by generating inter-group routing information to be expressed and transmitting / receiving inter-group routing information to / from mobile units in each adjacent divided area It is possible to suppress the increase in communication load.
以下、図面を参照して、本発明の好適な実施の形態について説明する。なお、本発明を適用した移動端末を車両に搭載し、複数の移動端末の間で無線通信を行って、データを分散して記憶するデータ分散記憶システムを例に説明する。 Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. An example of a data distributed storage system in which a mobile terminal to which the present invention is applied is mounted on a vehicle and wireless communication is performed among a plurality of mobile terminals to distribute and store data will be described.
図1に示すように、第1の実施の形態に係るデータ分散記憶システムの移動端末10は、自端末を搭載している車両に設けられ、かつ、自端末の位置を測定するためのGPS12と、周辺の他の移動端末10と無線通信を行うためのデータ通信部14と、GPS12によって測定された自端末の位置に基づいて、周辺の複数の移動端末10を含む移動端末群でのデータの分散管理を行うコンピュータ16とを備えている。 As shown in FIG. 1, the mobile terminal 10 of the data distribution storage system according to the first embodiment is provided in a vehicle on which the mobile terminal is mounted, and a GPS 12 for measuring the position of the mobile terminal. Based on the data communication unit 14 for performing wireless communication with other mobile terminals 10 in the vicinity and the position of the own terminal measured by the GPS 12, the data of the mobile terminal group including the plurality of mobile terminals 10 in the vicinity And a computer 16 that performs distributed management.
データ通信部14は、無線アドホック通信を行って、周辺の他の移動端末10と通信を行う。データ通信部14は、送信データとして、GPS12によって計測した自端末の位置情報を含むデータを送信する。データ通信部14は、後述するグループ内ルーティング情報を送信する場合には、DSDVのようなプロアクティブ形式のアドホックプロトコルで、同一グループ内でグループ内ルーティング情報を共有する。 The data communication unit 14 performs wireless ad hoc communication and communicates with other mobile terminals 10 in the vicinity. The data communication unit 14 transmits data including position information of the terminal measured by the GPS 12 as transmission data. When transmitting intra-group routing information, which will be described later, the data communication unit 14 shares the intra-group routing information within the same group using a proactive ad hoc protocol such as DSDV.
コンピュータ16は、移動端末10全体の制御を司るCPU、後述する参加時処理ルーチン、参加中処理ルーチン、グループ内ルーティング情報受信時処理ルーチン、データ受信時処理ルーチン、グループ間ルーティング情報受信時処理ルーチン、エリア端グループ送信時処理ルーチン、及びグループ間ルーティング情報送信処理ルーチンのプログラム等を記憶した記憶媒体としてのROM、ワークエリアとしてデータを一時格納するRAM、及びこれらを接続するバスを含んで構成されている。このような構成の場合には、各構成要素の機能を実現するためのプログラムをROMに記憶しておき、これをCPUが実行することによって、各機能が実現されるようにする。 The computer 16 is a CPU that controls the entire mobile terminal 10, a later-described participation processing routine, a participating processing routine, an intra-group routing information reception processing routine, a data reception processing routine, an inter-group routing information reception processing routine, It is configured to include a ROM as a storage medium that stores programs for the area end group transmission processing routine and the inter-group routing information transmission processing routine, a RAM that temporarily stores data as a work area, and a bus that connects them. Yes. In the case of such a configuration, a program for realizing the function of each component is stored in the ROM, and the CPU executes the program so that each function is realized.
このコンピュータ16をハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、上記図1に示すように、各交差点エリアの位置情報及び後述する分割エリアの位置情報を含む道路地図データ、並びに各分割エリアに対するルーティング情報送信条件情報を記憶する地図データベース20と、GPS12によって計測された自端末の位置を取得する共に、地図データベース20から自車両の直近の交差点エリアの位置情報及び分割エリアの位置情報を取得する位置取得部22と、位置取得部22によって取得された自端末位置と交差点エリアの中心位置との距離、及び分割エリアの中心位置との距離に基づいて、後述するグループ内ルーティングテーブル管理部26及びグループ間ルーティングテーブル管理部30を制御する制御部24と、地図データベース20から自端末が存在する分割エリアに対して定められたルーティング情報送信条件情報を取得する送信条件取得部25と、グループ内のルーティングを行うためのグループ内ルーティングテーブルを管理するグループ内ルーティングテーブル管理部26と、グループ内ルーティングテーブルを記憶するグループ内ルーティングテーブル記憶部28と、ルーティング情報送信条件情報を用いて、グループ間のルーティングを行うためのグループ間ルーティングテーブルを管理するグループ間ルーティングテーブル管理部30と、グループ間ルーティングテーブルを記憶するグループ間ルーティングテーブル記憶部32と、DHTに従ってデータ分散管理を行うデータ管理部34と、自端末に対して割り当てられたエリアデータを記憶するデータ記憶部36と、グループ内ルーティング情報を生成すると共に、グループ間ルーティングテーブルに基づいてグループ間ルーティング情報を生成するルーティング情報生成部38とを備えている。なお、グループ内ルーティングテーブル管理部26が、ノードID取得手段の一例であり、グループ間ルーティングテーブル管理部30がID取得手段の一例である。また、ルーティング情報生成部38が、ルーティング情報生成手段及び送信制御手段の一例である。データ管理部34が、グループ決定手段、ノード決定手段、転送制御手段の一例であり、DHTデータ記憶部36が、記憶手段の一例である。 If the computer 16 is described with function blocks divided for each function realization means determined based on hardware and software, as shown in FIG. 1, the position information of each intersection area and the position information of the divided areas described later are obtained. The map database 20 that stores road map data including the routing information transmission condition information for each divided area, and the position of the own terminal measured by the GPS 12, and the position of the nearest intersection area of the host vehicle from the map database 20 Based on the distance between the position acquisition unit 22 that acquires the information and the position information of the divided area, the distance between the own terminal position acquired by the position acquisition unit 22 and the center position of the intersection area, and the center position of the divided area, Intra-group routing table management unit 26 and inter-group routing described later The control unit 24 that controls the table management unit 30, the transmission condition acquisition unit 25 that acquires the routing information transmission condition information determined for the divided area where the terminal is present from the map database 20, and the routing within the group In order to perform routing between groups using the intra-group routing table management unit 26 that manages the intra-group routing table, the intra-group routing table storage unit 28 that stores the intra-group routing table, and the routing information transmission condition information The inter-group routing table management unit 30 for managing the inter-group routing table, the inter-group routing table storage unit 32 for storing the inter-group routing table, and the data management unit 34 for performing data distribution management according to DHT A data storage unit 36 that stores area data allocated to the terminal itself, and a routing information generation unit 38 that generates intra-group routing information and generates inter-group routing information based on an inter-group routing table. I have. The intra-group routing table management unit 26 is an example of a node ID acquisition unit, and the inter-group routing table management unit 30 is an example of an ID acquisition unit. The routing information generation unit 38 is an example of a routing information generation unit and a transmission control unit. The data management unit 34 is an example of a group determination unit, a node determination unit, and a transfer control unit, and the DHT data storage unit 36 is an example of a storage unit.
ここで、本実施の形態に係るデータ分散管理を行う原理について説明する。 Here, the principle of performing data distribution management according to the present embodiment will be described.
本実施の形態では、移動体が無線通信を行う環境下で、位置に依存した情報(エリアデータ)を、特定のエリア(例えば、交差点)内の複数の移動端末によって維持し、分散管理する。エリアから離脱する移動端末は、エリア内の他の移動端末にデータを転送することで、エリア内へ情報を維持する。データの分散管理を、DHTを用いて実現する。 In the present embodiment, information (area data) depending on the position is maintained and managed by a plurality of mobile terminals in a specific area (for example, an intersection) in an environment in which a mobile object performs wireless communication. A mobile terminal that leaves the area maintains information in the area by transferring data to other mobile terminals in the area. Data distribution management is realized using DHT.
DHT(Distributed Hash Table)とは、分散環境でデータを管理する手法の1つであり、ハッシュテーブルを用いてデータを管理する手法である。また、ハッシュテーブルは、キーとデータの組を格納し、キーに対応するデータをすばやく参照するためのデータ構造である。 DHT (Distributed Hash Table) is one of the techniques for managing data in a distributed environment, and is a technique for managing data using a hash table. The hash table is a data structure for storing a pair of a key and data and quickly referring to data corresponding to the key.
DHTの例としては、Chord、Pastry、Kademliaなどが挙げられ、DHTの応用例としては、Dynamo、Cassandra、Kaiなどがある。 Examples of DHT include Chord, Pastry, Kademlia, etc., and examples of application of DHT include Dynamo, Cassandra, Kai, and the like.
DHTを用いることにより、データ管理負荷をノードに対して均等に分散でき、エリアデータを誰が持つか、サーバ無しで一意に決定でき、データのキーが分かれば正確な目的地がわからなくてもルーティング可能である。ただし、ルーティングテーブルが正しく構成されていることが条件である。また、DHTを無線通信環境で応用することで、特定エリアに仮想分散データベースを実現することができる。 By using DHT, the data management load can be evenly distributed to the nodes, who can have the area data can be determined uniquely without a server, and routing can be done without knowing the exact destination if the data key is known. Is possible. However, it is a condition that the routing table is correctly configured. Further, by applying DHT in a wireless communication environment, a virtual distributed database can be realized in a specific area.
ここで、Chordを用いたデータ分散管理について説明する。各移動端末の持つ固有のIDとデータの持つ固有のIDとをそれぞれ、ハッシュ関数を用いてハッシュ値にする。移動端末(ノード)とデータとは、図2のように対応付けられ、データは、自身のハッシュ値より大きいハッシュ値を持つ移動端末(ノード)の中で、最小のハッシュ値を持つ移動端末(ノード)に保存される。 Here, data distribution management using Chord will be described. The unique ID of each mobile terminal and the unique ID of the data are converted into hash values using a hash function. The mobile terminal (node) and the data are associated as shown in FIG. 2, and the data is a mobile terminal (node) having the smallest hash value among mobile terminals (nodes) having a hash value larger than its own hash value. Node).
また、自端末位置と交差点位置との距離が、所定値以内であれば、参加処理を行う。参加処理では、自端末EのIDのハッシュ値f(E)を計算して、自端末のノードを追加する。これによって、図3に示すように、自端末のノードに割り当てられるエリアデータが、他の移動端末Aから送信され、自端末が当該エリアデータを受け取る。なお、図3の例では、他の移動端末Dを介して、他の移動端末Aからのエリアデータを自端末Eが受け取っている。 If the distance between the terminal position and the intersection position is within a predetermined value, the participation process is performed. In the participation process, the hash value f (E) of the ID of the own terminal E is calculated, and the node of the own terminal is added. Thereby, as shown in FIG. 3, the area data allocated to the node of the own terminal is transmitted from the other mobile terminal A, and the own terminal receives the area data. In the example of FIG. 3, the local terminal E receives area data from another mobile terminal A via the other mobile terminal D.
また、自端末位置と交差点位置との距離が、所定値より大きくなると、離脱処理を行う。離脱処理では、自端末のノードを削除する。これによって、図4に示すように、自端末(図4のG参照)のノードに割り当てられていたエリアデータが、他の移動端末Dへ送信される。なお、図4の例では、他の移動端末Fを介して、自端末Gから他の移動端末Dへエリアデータが送信されている。 In addition, when the distance between the own terminal position and the intersection position becomes larger than a predetermined value, the leaving process is performed. In the leaving process, the node of the own terminal is deleted. Thereby, as shown in FIG. 4, the area data assigned to the node of the own terminal (see G in FIG. 4) is transmitted to another mobile terminal D. In the example of FIG. 4, the area data is transmitted from the own terminal G to another mobile terminal D via another mobile terminal F.
ここで、図5に示すような階層化されていないDHTでは、データを正しく管理するために、エリア内の全ノードIDを知る必要がある。そのため、DHTのルーティングテーブルを維持するための通信が多くなる。そこで、本実施の形態では、ルーティングテーブルを維持するための通信を抑制するために、図6のような2階層DHTを用いる。2階層DHTでは、データを管理するために複数のノードで構成されるグループという単位を追加する。DHTを階層化する場合、データはまずどのグループで管理するかが決定され、その後グループ内のどのノードがデータを管理するかが決定される。各ノードは所属するグループ内の全ノードIDと情報保持エリア内のグループIDを知っていればルーティング可能であるためルーティングテーブルの維持コストを抑制できる。 Here, in the non-hierarchical DHT as shown in FIG. 5, it is necessary to know all node IDs in the area in order to correctly manage data. Therefore, the communication for maintaining the DHT routing table increases. Therefore, in this embodiment, a two-layer DHT as shown in FIG. 6 is used to suppress communication for maintaining the routing table. In the two-layer DHT, a unit called a group composed of a plurality of nodes is added to manage data. When the DHT is hierarchized, it is first determined in which group the data is managed, and then it is determined which node in the group manages the data. Since each node can perform routing if it knows all the node IDs in the group to which it belongs and the group ID in the information holding area, the maintenance cost of the routing table can be suppressed.
また、本実施の形態では、グループ内のノードIDを用いてグループIDを変更する2階層DHTを採用する。すなわち、図7に示すように、グループIDをグループ内のノードIDのOR演算によって構成することで、グループとノードのIDの間で関連付けを行う。これによって、各ノードは全ノードIDを知る必要が無いため、ルーティングテーブル管理通信を低く抑えることが可能となる。また、グループ間をノードが移動する際に、ノードが管理しているデータが移動後のグループに所属する可能性があるように、グループIDが適切に変更されるため、グループ間を移動しても、同じノードに対して同じデータ割り当てられる可能性があり、データ通信の発生を抑えられる。 In the present embodiment, a two-level DHT that changes a group ID using a node ID in the group is adopted. That is, as shown in FIG. 7, the group ID is configured by OR operation of the node IDs in the group, thereby associating the group and node IDs. Thereby, since each node does not need to know all node IDs, routing table management communication can be kept low. In addition, when a node moves between groups, the group ID is appropriately changed so that the data managed by the node may belong to the group after movement. However, the same data may be assigned to the same node, and the occurrence of data communication can be suppressed.
次に、グループ構成の具体例を図8に示す。交差点エリアは位置情報を用いて複数の分割エリアに分割され、ノードのグループが、分割エリアの中心座標と範囲(x座標、y座標、範囲)によって定義される。例えば、グループAが(150、300、100)で定義され、グループBが(300、300、100)で定義され、グループCが(450、300、100)で定義される。なお、交差点エリアが、情報保持エリアの一例である。 Next, a specific example of the group configuration is shown in FIG. The intersection area is divided into a plurality of divided areas using position information, and a group of nodes is defined by the center coordinates and the range (x coordinate, y coordinate, range) of the divided area. For example, group A is defined by (150, 300, 100), group B is defined by (300, 300, 100), and group C is defined by (450, 300, 100). The intersection area is an example of the information holding area.
また、グループ(分割エリア)のサイズは、同一グループ内の全ノードが1ホップで通信可能なサイズを想定している。 The size of the group (divided area) is assumed to be a size that allows all nodes in the same group to communicate with each other in one hop.
グループIDは可変であり、内部ノードによって構成される。上記図8の例では、グループIDのサイズは10bitで、グループ内に存在するノードIDの各々からビットパターンに1を書き込む位置を決定している。グループAでは内部ノードIDの各々が1、2、3であり、1〜3ビットに1の書き込みを行うので、グループIDは”0000000111”となっている。 The group ID is variable and is configured by internal nodes. In the example of FIG. 8, the size of the group ID is 10 bits, and the position where 1 is written in the bit pattern is determined from each node ID existing in the group. In group A, the internal node IDs are 1, 2, and 3, and 1 is written in 1 to 3 bits, so the group ID is “0000000111”.
制御部24は、位置取得部22によって取得された自端末位置と交差点エリアの中心位置との距離が、所定の範囲内であれば、制御部24は、DHTへの参加を判断する。制御部24は、位置取得部22によって取得された自端末位置と交差点エリアの中心位置との距離が、所定の範囲より大きくなると、DHTからの離脱を判断する。 If the distance between the terminal position acquired by the position acquisition unit 22 and the center position of the intersection area is within a predetermined range, the control unit 24 determines participation in the DHT. When the distance between the terminal position acquired by the position acquisition unit 22 and the center position of the intersection area is greater than a predetermined range, the control unit 24 determines the departure from the DHT.
また、制御部24は、位置取得部22によって取得された自端末位置と分割エリアの中心位置との距離に基づいて、自端末が所属するグループ(自端末が存在する分割エリア)を判断する。また、制御部24は、所属するグループの変化により、グループ間の移動を判断する。 Further, the control unit 24 determines a group to which the own terminal belongs (divided area where the own terminal exists) based on the distance between the own terminal position acquired by the position acquisition unit 22 and the center position of the divided area. Moreover, the control part 24 judges the movement between groups by the change of the group to which it belongs.
次に、ルーティングテーブル及びルーティング情報について説明する。 Next, a routing table and routing information will be described.
まず、参考例として、グループが存在しない場合のルーティングテーブルの具体例を図9に示す。ルーティングテーブルは、自端末が直接通信可能なノードから提供されたルーティング情報に基づいて生成され、自端末が直接通信可能なノードのノードID及びビットパターンから構成される。 First, as a reference example, FIG. 9 shows a specific example of a routing table when no group exists. The routing table is generated on the basis of routing information provided from a node with which the terminal itself can communicate directly, and includes a node ID and a bit pattern of a node with which the terminal itself can communicate directly.
次に、参考例として、グループが存在しない場合のルーティング情報の具体例について図10を用いて説明する。ルーティング情報は送信先・送信元ノードIDとビットパターンによって構成されている。ビットパターンは、ルーティングテーブルの中でノードIDが送信先ノードIDでないビットパターンをOR演算すると共に、送信元ノードIDによって決定されたビットを更に1にしたビット列である。 Next, as a reference example, a specific example of routing information when no group exists will be described with reference to FIG. The routing information is composed of a transmission destination / transmission source node ID and a bit pattern. The bit pattern is a bit string obtained by performing an OR operation on a bit pattern whose node ID is not the destination node ID in the routing table and further setting the bit determined by the source node ID to 1.
上記図10の例では、ノード4がノード5に対してルーティング情報を送信する。その場合、ノード4のルーティングテーブルの中で、ノードIDが5以外のビットパターンをOR演算し、さらに送信元ノードIDが4なので右から4ビット目に1を書き込んだものをビットパターンとする。作成したビットパターンに送信先ノードID(=5)と送信元ノードID(=4)を付加して、ノード5に対して送信する。 In the example of FIG. 10 described above, the node 4 transmits routing information to the node 5. In that case, in the routing table of the node 4, the bit pattern other than the node ID of 5 is ORed. Further, since the transmission source node ID is 4, the bit pattern in which 1 is written in the fourth bit from the right is used. A transmission destination node ID (= 5) and a transmission source node ID (= 4) are added to the created bit pattern and transmitted to the node 5.
ビットパターンの具体例にはシンプルなものを用いたが、これ以外にもBloom Filter(BF)を用いる手法などが考えられる。 A simple example of the bit pattern is used, but other methods such as using a Bloom Filter (BF) are also conceivable.
次に、本実施の形態におけるルーティングテーブル(グループ化したときのルーティングテーブル)の具体例について説明する。グループ内ルーティングテーブル及びグループ間ルーティングテーブルの具体例を図11に示す。各ノードはグループ間とグループ内の2つのルーティングテーブルを保持する。グループ間ルーティングテーブルは同一グループのノードの間では共通であり、隣接するグループとのデータのやりとりに用いる。グループ間ルーティングテーブルの行数は隣接するグループの数と一致し(グループAやCは1、グループBは2)、各行は隣接するグループの位置情報とビットパターンという項目を持つ。隣接グループ位置情報は、上記図11の例ではA、B、Cと書かれているが、実際には(x座標、y座標、範囲)である。以下、グループ位置情報の表記については同様である。グループ間ルーティングテーブルのビットパターンについては後述する。 Next, a specific example of the routing table (routing table when grouped) in the present embodiment will be described. Specific examples of the intra-group routing table and the inter-group routing table are shown in FIG. Each node maintains two routing tables between groups and within groups. The inter-group routing table is common between nodes in the same group, and is used for exchanging data with adjacent groups. The number of rows in the inter-group routing table matches the number of adjacent groups (1 for groups A and C, 2 for group B), and each row has items of position information and bit pattern of adjacent groups. The adjacent group position information is written as A, B, and C in the example of FIG. 11, but is actually (x coordinate, y coordinate, range). Hereinafter, the notation of the group position information is the same. The bit pattern of the inter-group routing table will be described later.
グループ内ルーティングテーブルは同一グループ内でのデータのやりとりに用いる。同一グループの全ノードのIDがグループ内ルーティングテーブルに登録される。 The intra-group routing table is used for exchanging data within the same group. The IDs of all nodes in the same group are registered in the intra-group routing table.
グループ内ルーティングテーブル記憶部28は、上述したように、同一グループに所属する全ノードのノードIDからなるグループ内ルーティングテーブルを記憶する。グループ間ルーティングテーブル記憶部32は、隣接グループ毎の隣接グループ位置情報及びビットパターンからなるグループ間ルーティングテーブルを記憶する。また、グループ間ルーティングテーブル記憶部32に記憶されているグループ間ルーティングテーブルには、隣接グループ毎に、グループ間ルーティング情報と共に、更新時刻が格納されている。 As described above, the intra-group routing table storage unit 28 stores an intra-group routing table including node IDs of all nodes belonging to the same group. The inter-group routing table storage unit 32 stores an inter-group routing table composed of adjacent group position information and bit patterns for each adjacent group. The inter-group routing table stored in the inter-group routing table storage unit 32 stores the update time together with the inter-group routing information for each adjacent group.
また、本実施の形態におけるグループ間ルーティング情報の具体例について図12を用いて説明する。 A specific example of inter-group routing information in the present embodiment will be described with reference to FIG.
グループ間ルーティング情報は、送信先グループの位置情報と送信元グループの位置情報とビットパターンとによって構成される。 The inter-group routing information is composed of transmission destination group position information, transmission source group position information, and a bit pattern.
上記図12のようにグループBのノードからグループAのノードへグループ間ルーティング情報を送信する例を考える。送信先グループ位置情報はAで送信元グループ位置情報はBである。ビットパターンは、グループBで保持するグループ間ルーティングテーブルの中で隣接グループ位置情報がAではないビットパターンと自グループのグループID(自グループ内の各ノードIDをOR演算したもの)とをOR演算して構成する。 Consider an example in which inter-group routing information is transmitted from a group B node to a group A node as shown in FIG. The destination group position information is A and the source group position information is B. The bit pattern is an OR operation between a bit pattern whose adjacent group position information is not A in the inter-group routing table held in group B and the group ID of the own group (OR operation of each node ID in the own group). And configure.
このとき、グループ間ルーティング情報は、同一グループのノードの間で共通であるため、グループ間ルーティング情報を送信するときに、1対1で送信する以外にも、1対多のブロードキャストでルーティング情報を伝える手法も考えられる。 At this time, since the inter-group routing information is common among the nodes of the same group, when transmitting the inter-group routing information, the routing information is transmitted by a one-to-many broadcast in addition to the one-to-one transmission. A method to convey is also conceivable.
このように、グループ間ルーティングテーブル記憶部32は、上述したように、隣接グループ位置情報と、当該隣接グループを経由してルーティング可能なグループのグループIDのOR演算により求まるビットパターンとからなるグループ間ルーティングテーブルを記憶する。 As described above, the inter-group routing table storage unit 32 is, as described above, an inter-group consisting of adjacent group position information and a bit pattern obtained by OR operation of group IDs of groups that can be routed via the adjacent group. Store the routing table.
また、ルーティング情報生成部38は、図13に示すように、グループ間ルーティングテーブル記憶部32に記憶されているグループ間ルーティングテーブルに基づいて、送信先グループ位置情報以外の隣接グループ位置情報のビットパターンを抽出するルーティング情報抽出部38Aと、ルーティング情報抽出部38Aによって抽出した各隣接グループ位置情報のビットパターンと、グループ内ルーティングテーブル記憶部28に記憶されているグループ内ルーティングテーブルから得られる自グループ内の各ノードIDのビットパターンとをOR演算して、得られたビットパターン、送信先グループ位置情報、及び送信元グループ位置情報(自グループのグループ位置情報)からなるグループ間ルーティング情報を生成してデータ通信部14に出力するOR演算部38Bとを備えている。グループ間ルーティング情報が入力されたデータ通信部14は、隣接する送信先グループに対して、グループ間ルーティング情報を送信する。 Further, as shown in FIG. 13, the routing information generation unit 38, based on the inter-group routing table stored in the inter-group routing table storage unit 32, the bit pattern of the adjacent group position information other than the destination group position information. Routing information extracting unit 38A for extracting the information, the bit pattern of each adjacent group position information extracted by the routing information extracting unit 38A, and the intra-group routing table stored in the intra-group routing table storage unit 28. ORed with the bit pattern of each node ID to generate inter-group routing information consisting of the obtained bit pattern, transmission destination group position information, and transmission source group position information (group position information of the own group) Data communication department And an OR operation unit 38B to be outputted to the 4. The data communication unit 14 to which the inter-group routing information is input transmits the inter-group routing information to the adjacent transmission destination group.
また、グループ間ルーティングテーブル管理部30は、データ通信部14により他の移動端末10からブロードキャストされたグループ間ルーティング情報を受信すると、グループ間ルーティングテーブル記憶部32に記憶されているグループ間ルーティングテーブルを更新する。 Further, when the inter-group routing table management unit 30 receives the inter-group routing information broadcast from the other mobile terminals 10 by the data communication unit 14, the inter-group routing table storage unit 32 stores the inter-group routing table. Update.
また、本実施の形態におけるグループ内ルーティング情報の具体例について、図14を用いて説明する。 A specific example of intra-group routing information in this embodiment will be described with reference to FIG.
グループ内ルーティングテーブルを維持するためのグループ内ルーティング情報は、自端末が所属するグループの位置情報と自端末のノードIDとから構成され、グループ内のノードに対してブロードキャストされる。例えば、ノード3ならば、グループA内のノード1、2に対してグループ位置情報=A、ノードID=3というグループ内ルーティング情報が送信されるようにブロードキャストされる。 The intra-group routing information for maintaining the intra-group routing table is composed of the position information of the group to which the own terminal belongs and the node ID of the own terminal, and is broadcast to the nodes in the group. For example, in the case of the node 3, the intra-group routing information of group position information = A and node ID = 3 is broadcast to the nodes 1 and 2 in the group A.
また、ノードがグループ間を移動する場合は、移動前と移動後のグループそれぞれに、新たに所属するグループ位置情報と自ノードIDをブロードキャストすることで、グループ内ルーティングテーブルを更新させる。例えば、ノード5がグループBからCへ移動する場合、ノード4、6、7、8、9に対して、グループ位置情報=C、ノードID=5というグループ内ルーティング情報が送信されるようにブロードキャストされる。グループ内ルーティング情報を受け取ることで、ノード4、6ではグループ内ルーティングテーブルからノード5の情報が削除され、ノード7、8、9では、グループ内ルーティングテーブルにノード5の情報が追加される。 In addition, when a node moves between groups, the intra-group routing table is updated by broadcasting the newly belonging group position information and the own node ID to each of the groups before and after the movement. For example, when the node 5 moves from the group B to the group C, it is broadcast so that the intra-group routing information of the group position information = C and the node ID = 5 is transmitted to the nodes 4, 6, 7, 8, and 9. Is done. By receiving the intra-group routing information, the nodes 4 and 6 delete the information of the node 5 from the intra-group routing table, and the nodes 7, 8, and 9 add the information of the node 5 to the intra-group routing table.
このように、制御部24がグループ間の移動を判断すると、ルーティング情報生成部38は、移動後のグループ位置情報と自ノードIDとからなるグループ内ルーティング情報を生成し、データ通信部14によりブロードキャストする。このとき、グループ内ルーティングテーブル管理部26は、移動後のグループ内の移動端末10から、データ通信部14によりグループ内ルーティングテーブルを受信し、グループ内ルーティングテーブル記憶部28に格納する。また、グループ間ルーティングテーブル管理部30は、移動後のグループ内の移動端末10から、データ通信部14によりグループ間ルーティングテーブルを受信し、グループ間ルーティングテーブル記憶部32に格納する。 As described above, when the control unit 24 determines movement between groups, the routing information generation unit 38 generates intra-group routing information including the group position information after movement and the own node ID, and broadcasts the data communication unit 14. To do. At this time, the intra-group routing table management unit 26 receives the intra-group routing table from the mobile terminal 10 in the moved group by the data communication unit 14 and stores it in the intra-group routing table storage unit 28. In addition, the inter-group routing table management unit 30 receives the inter-group routing table from the mobile terminal 10 in the group after movement by the data communication unit 14 and stores it in the inter-group routing table storage unit 32.
また、制御部24がDHTへの新たな参加を判断した場合には、グループ内ルーティングテーブル管理部26は、所属するグループ内の移動端末10から、データ通信部14によりグループ内ルーティングテーブルを受信し、グループ内ルーティングテーブル記憶部28に格納する。また、グループ間ルーティングテーブル管理部30は、所属するグループ内の移動端末10から、データ通信部14によりグループ間ルーティングテーブルを受信し、グループ間ルーティングテーブル記憶部32に格納する。ルーティング情報生成部38は、所属するグループ位置情報と自ノードIDとからなるグループ内ルーティング情報を生成し、データ通信部14によりブロードキャストする。 Further, when the control unit 24 determines new participation in DHT, the intra-group routing table management unit 26 receives the intra-group routing table from the mobile terminal 10 in the group to which the intra-group routing table management unit 26 belongs. And stored in the intra-group routing table storage unit 28. Further, the inter-group routing table management unit 30 receives the inter-group routing table from the mobile terminal 10 in the group to which the inter-group routing table management unit 30 belongs, and stores the inter-group routing table in the inter-group routing table storage unit 32. The routing information generation unit 38 generates intra-group routing information composed of the group position information to which it belongs and its own node ID, and broadcasts it by the data communication unit 14.
また、制御部24がDHTからの離脱を判断した場合には、ルーティング情報生成部38は、離脱後のグループ位置情報(=NULL)と自ノードIDとからなるグループ内ルーティング情報を生成し、データ通信部14によりブロードキャストする。このとき、グループ内ルーティングテーブル管理部26は、グループ内ルーティングテーブル記憶部28の内容を消去する。また、グループ間ルーティングテーブル管理部30は、グループ間ルーティングテーブル記憶部32の内容を消去する。 In addition, when the control unit 24 determines leaving from the DHT, the routing information generating unit 38 generates intra-group routing information including the group position information (= NULL) after leaving and the own node ID, and the data Broadcast by the communication unit 14. At this time, the intra-group routing table management unit 26 deletes the contents of the intra-group routing table storage unit 28. Further, the inter-group routing table management unit 30 deletes the contents of the inter-group routing table storage unit 32.
次に、グループ間ルーティング情報の交換方法について説明する。 Next, a method for exchanging inter-group routing information will be described.
本実施の形態では、図15に示すように、位置情報を考慮して、ルーティング可能なグループのグループIDを足し合わせたビットパターンを、隣接グループと交換することにより、DHTのデータのルーティングを可能とする。 In this embodiment, as shown in FIG. 15, DHT data can be routed by exchanging a bit pattern in which group IDs of routable groups are added together with adjacent groups in consideration of position information. And
例えば、図16のような状況を考える。グループDに存在するノードがデータを管理する場合、グループCまたはグループEのノードに当該データを転送するか、自グループで管理するかが判断できれば、どのグループでデータを管理するか詳細に知る必要はない。そのため、グループDのノードは、グループD内のノードIDとグループCのID、それ以外のグループのIDのOR(A∪B∪E∪F∪G∪H∪I)を所有していれば、データのルーティングが可能である。 For example, consider the situation shown in FIG. When a node in group D manages data, if it can be determined whether to transfer the data to a node in group C or group E or manage it in its own group, it is necessary to know in detail which group will manage the data. There is no. Therefore, if a node in group D owns a node ID in group D, an ID in group C, and an OR of other group IDs (A∪B∪E∪F∪G∪H∪I), Data routing is possible.
そこで、ルーティング情報生成部38は、隣接グループXに、グループ間ルーティング情報を送信するときには、ルーティング情報抽出部38Aによって、グループ間ルーティングテーブルの中で、隣接グループX以外の隣接グループに対するビットパターンを抽出し、OR演算部38Bによって、抽出したビットパターンと、自グループIDのビットパターンとのOR演算を行い、それを含むグループ間ルーティング情報をデータ通信部14により隣接グループXに送信する。 Therefore, when the routing information generating unit 38 transmits the inter-group routing information to the adjacent group X, the routing information extracting unit 38A extracts the bit pattern for the adjacent group other than the adjacent group X in the inter-group routing table. Then, the OR operation unit 38B performs an OR operation on the extracted bit pattern and the bit pattern of the own group ID, and transmits the inter-group routing information including the bit pattern to the adjacent group X by the data communication unit 14.
また、各グループが任意のタイミングで隣接グループにグループ間ルーティング情報を送信する場合、更新される直前にグループ間ルーティング情報を転送してしまい更新が反映されなかったり、最新の状態を保つために多くの通信を行ってしまったりする可能性がある。 In addition, when each group sends inter-group routing information to an adjacent group at an arbitrary timing, the inter-group routing information is transferred immediately before the update, so that the update is not reflected or is often kept up-to-date. There is a possibility of communication.
そこで、情報保持エリア内のグループ間ルーティングテーブルの更新を順序付けて、隣接グループからグループ間ルーティング情報を受信したことを確認して、他の隣接グループにグループ間ルーティング情報を送信することで、通信を抑制しつつルーティングテーブルを更新の状態に保つことができる。 Therefore, by ordering the update of the inter-group routing table in the information holding area, confirming that the inter-group routing information has been received from the adjacent group, and transmitting the inter-group routing information to other adjacent groups The routing table can be kept updated while being suppressed.
エリア内のグループの更新順序はあらかじめ決まっており、更新順序の決め方は全グループに対して個別に決定(例えば、図17に示すように、C−>D−>E−>D−>Cと繰り返し更新)する。本実施の形態では、エリア端のグループ(上記図17参照)から、エリア中心のグループに向かって順に更新し、エリア中心のグループでの更新後、エリア端のグループに向かって順に更新していく場合を例に説明する。 The update order of the groups in the area is determined in advance, and the method of determining the update order is determined individually for all groups (for example, as shown in FIG. 17, C-> D-> E-> D-> C Update repeatedly). In this embodiment, the area end group (see FIG. 17 above) is updated in order toward the area center group, and after updating in the area center group, the area end group is updated in order. A case will be described as an example.
地図データベース20には、各分割エリアに対するルーティング情報送信条件情報を記憶している。分割エリアXに対するルーティング情報送信条件情報は、分割エリアXの隣接グループ毎に、当該隣接グループを送信先とするグループ間ルーティング情報を送信するために、どの隣接グループからのグループ間ルーティング情報が更新される必要があるかを規定している。 The map database 20 stores routing information transmission condition information for each divided area. In the routing information transmission condition information for the divided area X, the inter-group routing information from which adjacent group is updated for each adjacent group of the divided area X in order to transmit the inter-group routing information whose destination is the adjacent group. It stipulates what needs to be done.
本実施の形態の例では、地図データベース20に記憶されている各分割エリアXについて、分割エリアXよりエリア中心側に隣接する隣接グループを送信先とする場合に対して、分割エリアXよりエリア中心と反対側に隣接する隣接グループが、更新される必要があるグループ間ルーティング情報の送信元として、ルーティング情報送信条件に規定されている。また、エリア端のグループに相当する分割エリアXに対しては、ルーティング情報送信条件は規定されていない。また、エリア中心のグループに相当する分割エリアXに対しては、送信先の隣接グループ以外の全ての隣接グループが、更新される必要があるグループ間ルーティング情報の送信元として、ルーティング情報送信条件に規定されている。 In the example of the present embodiment, for each divided area X stored in the map database 20, the area center from the divided area X is compared to the case where an adjacent group adjacent to the area center side from the divided area X is used as the transmission destination. The adjacent group adjacent to the opposite side is defined in the routing information transmission condition as the transmission source of the inter-group routing information that needs to be updated. In addition, the routing information transmission condition is not defined for the divided area X corresponding to the group at the end of the area. For the divided area X corresponding to the group at the center of the area, all the adjacent groups other than the destination adjacent group are set as the transmission source of the inter-group routing information that needs to be updated, in the routing information transmission condition. It is prescribed.
送信条件取得部25は、制御部24より自端末が存在する分割エリアを取得し、取得した当該分割エリアについて記憶されているルーティング情報送信条件情報を、地図データベース20から取得し、グループ間ルーティングテーブル管理部30へ出力する。 The transmission condition obtaining unit 25 obtains the divided area where the own terminal exists from the control unit 24, obtains the routing information transmission condition information stored for the obtained divided area from the map database 20, and the inter-group routing table. Output to the management unit 30.
グループ間ルーティングテーブル管理部30は、ルーティング情報送信条件情報に基づいて、グループ間ルーティングテーブルの各隣接グループのグループ間ルーティング情報の更新状況に従って、各隣接グループについてルーティング情報送信条件を満たすか否かを判断し、ルーティング情報送信条件を満たしたと判定された隣接グループを送信先とするグループ間ルーティング情報を生成するように、ルーティング情報生成部38に指示(送信先のグループID)を出力する。なお、グループ間ルーティングテーブルの各隣接グループのグループ間ルーティング情報の更新状況については、グループ間ルーティングテーブルの更新時刻の変化に基づいて判断すればよい。 Based on the routing information transmission condition information, the inter-group routing table management unit 30 determines whether the routing information transmission condition is satisfied for each adjacent group according to the update status of the inter-group routing information of each adjacent group in the inter-group routing table. An instruction (transmission destination group ID) is output to the routing information generation unit 38 so as to generate inter-group routing information with the adjacent group determined to satisfy the routing information transmission condition as the transmission destination. Note that the update status of the inter-group routing information of each adjacent group in the inter-group routing table may be determined based on a change in the update time of the inter-group routing table.
ルーティング情報生成部38は、グループ間ルーティングテーブル管理部30から出力された送信先のグループIDに基づいて、当該送信先に対するグループ間ルーティング情報を生成し、データ通信部14により送信する。 Based on the group ID of the transmission destination output from the inter-group routing table management unit 30, the routing information generation unit 38 generates inter-group routing information for the transmission destination, and transmits it by the data communication unit 14.
これによって、各グループのノードは、対応する各分割エリアのルーティング情報送信条件情報によって定められた隣接グループからグループ間ルーティング情報を受け取るまで、グループ間ルーティング情報の送信を行わない。本実施の形態の例では、図18から図22のように、エリア端のグループから、エリア中心のグループに向かって、順にグループ間ルーティング情報が送信され、各グループで保持するグループ間ルーティングテーブルが更新される。エリア中心のグループで、グループ間ルーティングテーブルが更新された後には、エリア中心のグループからエリア端のグループに向かって、順にグループ間ルーティング情報が送信され、各グループで保持するグループ間ルーティングテーブルが更新される。 Thereby, the node of each group does not transmit the inter-group routing information until it receives the inter-group routing information from the adjacent group defined by the routing information transmission condition information of each corresponding divided area. In the example of the present embodiment, as shown in FIG. 18 to FIG. 22, the inter-group routing information is sequentially transmitted from the group at the end of the area toward the group at the center of the area. Updated. After the inter-group routing table is updated in the area-centric group, the inter-group routing information is transmitted in order from the area-centric group to the group at the end of the area, and the inter-group routing table held in each group is updated. Is done.
なお、図18は初期状態を示し、図19は、エリア端のグループによってグループ間ルーティング情報の送信が行われた状態を示す。また、図20は、エリア中心のグループへグループ間ルーティング情報が送信された状態を示し、図21は、エリア中心のグループによってグループ間ルーティング情報の送信が行われた状態を示し、図22は、エリア端のグループへグループ間ルーティング情報が送信された状態を示す。 18 shows an initial state, and FIG. 19 shows a state in which inter-group routing information is transmitted by the group at the end of the area. FIG. 20 illustrates a state in which inter-group routing information is transmitted to an area-centered group, FIG. 21 illustrates a state in which inter-group routing information is transmitted by an area-centered group, and FIG. This shows a state in which the inter-group routing information is transmitted to the area end group.
上記図18〜図22の例では、エリア端のグループから順に行われるグループ間ルーティング情報の送信が、各エリア端のグループで同期して行われる場合を例に説明したが、これに限定されるものではない。例えば、図23(A)に示すように、グループEからエリア中心のグループCへのグループ間ルーティング情報の送信が遅延してもよい。この場合には、図23(B)に示すように、エリア中心のグループCからグループEに送信するためのグループ間ルーティング情報が全て更新されているため、エリア中心のグループCからグループEへグループ間ルーティング情報が送信される。その後に、図23(D)に示すように、グループEからエリア中心のグループCへグループ間ルーティング情報が送信されると、図23(C)に示すように、エリア中心のグループCからグループA,B,Dに送信するためのグループ間ルーティング情報が全て更新されたことになるため、エリア中心のグループCからグループA,B,Dへグループ間ルーティング情報が送信される。 In the example of FIGS. 18 to 22 described above, the transmission of the inter-group routing information performed in order from the group at the end of the area has been described as an example in synchronization with each group at the end of the area. It is not a thing. For example, as shown in FIG. 23A, transmission of inter-group routing information from group E to area-centered group C may be delayed. In this case, as shown in FIG. 23B, since all the inter-group routing information for transmission from the group C in the area center to the group E has been updated, the group C from the group C in the area center to the group E Inter-routing information is transmitted. Thereafter, as shown in FIG. 23D, when the inter-group routing information is transmitted from the group E to the group C in the area center, as shown in FIG. , B, and D, all the inter-group routing information for transmission is updated, so that the inter-group routing information is transmitted from the group C at the center of the area to the groups A, B, and D.
上記のようなグループ間ルーティング情報の交換手法を用いることで、隣接グループに対して自グループを経由することで到着可能(ルーティング可能)な全グループIDを伝えることができる。つまり、各隣接グループとグループ間ルーティング情報のビットパターンを交換するだけで、情報保持エリア全体のグループ情報を入手することができる。 By using the inter-group routing information exchange method as described above, all group IDs reachable (routable) by passing through the own group can be transmitted to adjacent groups. That is, the group information of the entire information holding area can be obtained simply by exchanging the bit patterns of the routing information between the adjacent groups and the groups.
また、DHTへの参加中に、データ通信部14によりエリアデータを受信すると、データ管理部34は、エリアデータのデータIDと、グループ内ルーティングテーブル記憶部28に記憶されているグループ内ルーティングテーブルから得られる同一グループの各ノードIDと、グループ間ルーティングテーブル記憶部32に記憶されているグループ間ルーティングテーブルから得られる各隣接グループのビットパターン(ルーティング可能なグループのグループIDを足し合わせたもの)とに基づいて、エリアデータを割り当てるグループを決定し、決定されたグループが自グループである場合には、エリアデータを割り当てるノードIDを決定する。 When the area data is received by the data communication unit 14 during participation in the DHT, the data management unit 34 determines the data ID of the area data and the intra-group routing table stored in the intra-group routing table storage unit 28. Each obtained node ID of the same group, and a bit pattern of each adjacent group obtained from the inter-group routing table stored in the inter-group routing table storage unit 32 (a sum of group IDs of routable groups) Based on the above, a group to which area data is allocated is determined. If the determined group is its own group, a node ID to which area data is allocated is determined.
以下に、エリアデータを割り当てるノードが所属するグループの決定方法について説明する。 A method for determining a group to which a node to which area data is assigned belongs will be described below.
データ管理部34は、図24に示すグループ決定部50を備えており、グループ決定部50は、2階層のDHTに従って、どのグループでデータを管理するか決定する。このときに、グループIDを、グループ内のノードIDのOR演算によって構成することで、グループとノードのIDの間で関連付けを行う。 The data management unit 34 includes a group determination unit 50 shown in FIG. 24, and the group determination unit 50 determines in which group data is to be managed according to the two-level DHT. At this time, the group ID is configured by OR operation of the node IDs in the group, thereby associating the group and node IDs.
まず、同一グループ内の各ノードに対する関数f(x)により、同一グループ内のノードIDを引数としてビットパターンに変換して出力する。例えば、関数f(x)は、ハッシュ関数を用いて、ノードIDのハッシュ値を導き、そのハッシュ値を用いてビット列のどこか1ビットを1にしたビットパターンを出力する。もしくは、関数f(x)は、直接ノードIDから1にするビット数ビットの位置を決定する(例えば、ハッシュ値もしくはノードIDが3ならビットパターンの3ビット目を書き込む)ようにしてもよい。それ以外にも、関数f(x)は、ハッシュ関数から導かれたハッシュ値をそのままビットパターンとして出力してもよい。 First, the function f (x) for each node in the same group is converted into a bit pattern using the node ID in the same group as an argument and output. For example, the function f (x) uses a hash function to derive a hash value of the node ID, and outputs a bit pattern in which one bit of the bit string is set to 1 using the hash value. Alternatively, the function f (x) may directly determine the position of the number of bits to be set to 1 from the node ID (for example, if the hash value or the node ID is 3, the third bit of the bit pattern is written). In addition, the function f (x) may output the hash value derived from the hash function as a bit pattern as it is.
次に、グループID生成部52は、OR演算を用いて、各関数f(x)から出力されたビットパターン(ビット列)を足し合わせて、自グループのグループIDを示すビットパターンを生成する。OR演算による足し合わせを行う場合、関数f(x)で生成するビットパターンはハッシュ値よりも、ノードIDやノードIDのハッシュ値を用いてビットパターンのどこか1ビットに書き込む手法を用いることが好ましい。 Next, the group ID generation unit 52 adds the bit patterns (bit strings) output from the functions f (x) using OR operation to generate a bit pattern indicating the group ID of the own group. When performing addition by OR operation, the bit pattern generated by the function f (x) should use a technique of writing to one bit of the bit pattern using the node ID or the hash value of the node ID rather than the hash value. preferable.
また、関数h(x)により、データIDを引数としてランダムパターンを生成して出力する。例えば、関数h(x)で導かれるランダムパターンは、データIDのハッシュ値から導かれる数列である。具体的には、全てのビットの並び替えの順番が決定するまで、データIDからハッシュ値を生成し、まだ順番が決定していないビット数で割るという操作を繰り返してランダムパターンを生成する。 Also, a random pattern is generated and output using the data ID as an argument by the function h (x). For example, the random pattern derived by the function h (x) is a sequence derived from the hash value of the data ID. Specifically, a random pattern is generated by repeating the operation of generating a hash value from the data ID and dividing by the number of bits for which the order has not yet been determined until the order of rearranging all the bits is determined.
また、自グループ及び隣接グループの各々に対する関数g(x、y)により、ランダムパターンを用いて、図25に示すように、自グループのグループIDを示すビットパターン、及び各隣接グループのビットパターンのビットの並び替えを行い、並び替えられたビットパターンを各々出力する。 In addition, as shown in FIG. 25, the function g (x, y) for each of the own group and the adjacent group is used to generate a bit pattern indicating the group ID of the own group and a bit pattern of each adjacent group as shown in FIG. The bits are rearranged, and the rearranged bit patterns are output respectively.
評価部54は、関数g(x、y)から出力されたビットパターンから、どのグループのビットパターンがエリアデータを管理するのに適しているのかを決定する評価関数を持ち、決定されたビットパターンのグループを出力する。例えば、上記図25の例のように、ビットパターンを数値として評価して最も数値が大きいビットパターンのグループが、エリアデータが割り当てられるグループとして決定される。なお、隣接グループのビットパターンは、隣接グループを経由してルーティング可能なグループIDをOR演算したものであるため、評価部54によって出力されたグループが、隣接グループである場合には、隣接グループを経由してルーティング可能なグループの何れかが、エリアデータを管理するのに適しているグループとなる。 The evaluation unit 54 has an evaluation function for determining which group of bit patterns is suitable for managing the area data from the bit pattern output from the function g (x, y). Output the group. For example, as in the example of FIG. 25 described above, a bit pattern is evaluated as a numerical value, and a group of bit patterns having the largest numerical value is determined as a group to which area data is allocated. Since the bit pattern of the adjacent group is obtained by ORing the group IDs that can be routed via the adjacent group, if the group output by the evaluation unit 54 is an adjacent group, the adjacent group is selected. Any group that can be routed via is a group that is suitable for managing area data.
次に、エリアデータを割り当てるノードの決定方法について説明する。 Next, a method for determining a node to which area data is allocated will be described.
データ管理部34は、図26に示すノード決定部60を備えており、ノード決定部60は、グループ決定部50により決定されたグループが、自グループである場合に、自グループ内のどのノードでデータを管理するか決定する。 The data management unit 34 includes the node determination unit 60 shown in FIG. 26. When the group determined by the group determination unit 50 is the own group, the node determination unit 60 determines which node in the own group. Decide whether to manage the data.
まず、同一グループ内の各ノードに対する関数f(x)により、グループ決定部50と同様に、同一グループ内のノードIDを引数としてビットパターンに変換して出力する。 First, the function f (x) for each node in the same group is converted into a bit pattern using the node ID in the same group as an argument and output, as in the group determination unit 50.
また、関数h(x)により、グループ決定部50と同様に、データIDを引数としてランダムパターンを生成して出力する。 In addition, the function h (x) generates and outputs a random pattern using the data ID as an argument, similarly to the group determination unit 50.
また、各ノードIDに対する関数g(x、y)により、グループ決定部50と同様に、関数h(x)から出力されたランダムパターンを用いて、グループIDを示すビットパターンのビットの並び替えを行い、並び替えられたビットパターンを出力する。 Further, the function g (x, y) for each node ID is used to rearrange the bits of the bit pattern indicating the group ID using the random pattern output from the function h (x), similarly to the group determination unit 50. Output the rearranged bit pattern.
評価部62は、各関数g(x、y)から出力されたビットパターンから、どのノードがエリアデータを管理するのに適しているのかを決定する評価関数を持ち、決定されたノードIDを出力する。例えば、ビットパターンを数値として評価して最も数値が大きいビットパターンに対応するノードIDが、エリアデータが割り当てられるノードのノードIDとして決定される。 The evaluation unit 62 has an evaluation function for determining which node is suitable for managing area data from the bit pattern output from each function g (x, y), and outputs the determined node ID. To do. For example, the bit ID is evaluated as a numerical value, and the node ID corresponding to the bit pattern having the largest numerical value is determined as the node ID of the node to which the area data is allocated.
データ管理部34は、エリアデータを受信すると、グループ決定部50及びノード決定部60により、エリアデータを割り当てるグループ又はグループ及びノードIDを決定し、決定されたノードIDが、自ノードIDである場合には、受信したエリアデータを、DHTデータ記憶部36に格納する。データ管理部34は、決定されたグループが、隣接グループである場合には、決定された隣接グループに対して、データ通信部14によりエリアデータを転送する。また、データ管理部34は、決定されたグループが、自グループであり、かつ、決定されたノードIDが、自ノードIDでない場合には、決定されたノードIDが示す自グループ内のノードに対して、データ通信部14によりエリアデータを転送する。 When the data management unit 34 receives the area data, the group determination unit 50 and the node determination unit 60 determine the group or the group and the node ID to which the area data is allocated, and the determined node ID is the own node ID. The received area data is stored in the DHT data storage unit 36. When the determined group is an adjacent group, the data management unit 34 transfers area data to the determined adjacent group by the data communication unit 14. In addition, when the determined group is the own group and the determined node ID is not the own node ID, the data management unit 34 applies to the node in the own group indicated by the determined node ID. Then, the area data is transferred by the data communication unit 14.
次に、本実施の形態に係る移動端末10の作用について説明する。移動端末10を搭載した車両の走行中に、DHTへ参加していない場合には、コンピュータ16において、図27に示す参加時処理ルーチンが実行される。 Next, the operation of mobile terminal 10 according to the present embodiment will be described. When the vehicle equipped with the mobile terminal 10 is traveling and does not participate in DHT, the computer 16 executes a participation processing routine shown in FIG.
まず、ステップ100において、DHTへの参加を示す変数AInに、初期値Falseを設定し、ステップ102において、GPS12から自車両の位置を取得すると共に、自車両の直近にある交差点エリアの位置情報(予め求められた情報保持エリアの中心位置及び範囲)及び当該交差点エリアの分割エリアの位置情報(予め求められたグループの中心位置及び範囲)を、地図データベース20から取得する。 First, in step 100, an initial value False is set to a variable AIn indicating participation in DHT, and in step 102, the position of the own vehicle is acquired from the GPS 12, and the position information ( The position information (center position and range of the information holding area determined in advance) and the position information of the divided area of the intersection area (the center position and range of the group determined in advance) are acquired from the map database 20.
そして、ステップ104において、上記ステップ102で取得した自車両の位置と交差点エリアの中心位置との距離とが、交差点エリアの範囲内であるか否かに基づいて、交差点エリア内に存在するか否かを判定し、交差点エリア内に存在する場合には、AInにTrueを設定し、一方、交差点エリア内に存在しない場合には、AInにFalseを設定する。 In step 104, whether the distance between the position of the host vehicle acquired in step 102 and the center position of the intersection area is within the intersection area or not is determined based on whether the distance is within the intersection area. If it exists in the intersection area, True is set in AIn. On the other hand, if it does not exist in the intersection area, False is set in AIn.
次のステップ106では、変数AInがTrueであるか否かを判定する。変数AInがFalseであれば、上記ステップ102へ戻るが、変数AInがTrueであれば、DHTへ参加すると判断し、ステップ108へ進む。 In the next step 106, it is determined whether or not the variable AIn is True. If the variable AIn is False, the process returns to Step 102. If the variable AIn is True, it is determined to participate in DHT, and the process proceeds to Step 108.
ステップ108では、上記ステップ102で取得した自車両の位置と各分割エリアの中心位置との距離とに基づいて、自端末が所属するグループを特定し、同一グループ内に存在する周辺の移動端末10とデータ通信を行い、グループ内ルーティングテーブル及びグループ間ルーティングテーブルを、当該周辺の移動端末10から受信して取得し、グループ内ルーティングテーブル記憶部28及びグループ間ルーティングテーブル記憶部32に格納する。 In step 108, the group to which the own terminal belongs is specified based on the distance between the position of the own vehicle acquired in step 102 and the center position of each divided area, and the surrounding mobile terminals 10 existing in the same group. The intra-group routing table and the inter-group routing table are received from the peripheral mobile terminal 10 and acquired, and stored in the intra-group routing table storage unit 28 and the inter-group routing table storage unit 32.
そして、ステップ110において、上記ステップ108で特定した自端末が所属するグループの位置情報をG_Locに設定し、自端末のノードIDをN_IDに設定する。次のステップ112では、G_Locのグループ内の移動端末10に送信するように、グループ内ルーティング情報(N_IDとG_Loc)をブロードキャストし、参加中処理へ移行する。 In step 110, the position information of the group to which the own terminal specified in step 108 belongs is set to G_Loc, and the node ID of the own terminal is set to N_ID. In the next step 112, the intra-group routing information (N_ID and G_Loc) is broadcast so as to be transmitted to the mobile terminals 10 in the G_Loc group, and the process proceeds to the participation process.
次に、コンピュータ16によって実行される参加中処理ルーチンについて図28を用いて説明する。 Next, the participating process routine executed by the computer 16 will be described with reference to FIG.
ステップ120において、GPS12から自車両の位置を取得すると共に、自車両の直近にある交差点エリアの位置情報及び当該交差点エリアの各分割エリアの位置情報を、地図データベース20から取得する。 In step 120, the position of the own vehicle is acquired from the GPS 12, and the position information of the intersection area nearest to the own vehicle and the position information of each divided area of the intersection area are acquired from the map database 20.
そして、ステップ122において、上記ステップ120で取得した自車両の位置と交差点エリアの中心位置との距離が、交差点エリアの範囲内であるか否かに基づいて、交差点エリア内に存在するか否かを判定し、交差点エリア内に存在する場合には、AInにTrueを設定し、一方、交差点エリア内に存在しない場合には、AInにFalseを設定する。また、上記ステップ120で取得した自車両の位置と各分割エリアの中心位置との距離とに基づいて、自端末が所属するグループを特定し、特定した自端末が所属するグループの位置情報をG_Locに設定する。 In step 122, whether or not the distance between the position of the host vehicle acquired in step 120 and the center position of the intersection area is within the intersection area is determined based on whether or not the distance is within the intersection area. If it exists in the intersection area, True is set in AIn. On the other hand, if it does not exist in the intersection area, False is set in AIn. Further, based on the distance between the position of the host vehicle acquired in step 120 and the center position of each divided area, the group to which the own terminal belongs is identified, and the position information of the group to which the identified own terminal belongs is represented by G_Loc. Set to.
次のステップ124では、G_Locが変化したか否かを判定する。G_Locが変化していない場合には、上記ステップ120へ戻るが、G_Locが変化した場合には、グループ間移動があったと判断し、ステップ126へ移行する。 In the next step 124, it is determined whether or not G_Loc has changed. If G_Loc has not changed, the process returns to step 120. However, if G_Loc has changed, it is determined that there has been a movement between groups, and the process proceeds to step 126.
ステップ126では、変化前のG_Locを、G_Loc0に設定する。そして、ステップ128において、上記ステップ122で設定したG_Loc及び上記ステップ126で設定したG_Loc0を用いて、グループ間移動時処理を行う。 In step 126, G_Loc before the change is set to G_Loc0. In step 128, the inter-group movement process is performed using G_Loc set in step 122 and G_Loc0 set in step 126.
次のステップ130では、変数AInが、Falseであるか否かを判定する。AInがTrueであれば、DHTへ参加中であると判断し、上記ステップ120へ戻る。一方、AInがFalseであれば、DHTから離脱したと判断し、ステップ132において、グループ内ルーティングテーブル記憶部28及びグループ間ルーティングテーブル記憶部32の内容をクリアし、参加時処理へ移行する。 In the next step 130, it is determined whether or not the variable AIn is False. If AIn is True, it is determined that it is participating in DHT, and the process returns to Step 120 above. On the other hand, if AIn is False, it is determined that the DHT has left, and in step 132, the contents of the intra-group routing table storage unit 28 and the inter-group routing table storage unit 32 are cleared, and the process proceeds to the participation process.
このように、参加中処理ルーチンが実行されることにより、自端末の位置情報と交差点エリア位置情報とグループ位置情報からAInとG_Locが周期的に更新される。また、自端末のノードがグループ間を移動することでG_Locが変化すると、グループ間移動時の処理を行う。AInがFalseの場合、エリアから離脱するため、現在所持しているグループルーティングテーブルとグループ内ルーティングテーブルがクリアされる。 Thus, by executing the processing routine during participation, AIn and G_Loc are periodically updated from the position information of the own terminal, the intersection area position information, and the group position information. Further, when G_Loc changes due to the movement of the node of the own terminal between groups, the process at the time of movement between groups is performed. When AIn is False, the group routing table currently held and the intra-group routing table are cleared to leave the area.
上記ステップ128は、図29に示すグループ間移動時処理ルーチンにより実現される。 Step 128 is realized by the inter-group movement processing routine shown in FIG.
ステップ140において、グループ内ルーティングテーブル記憶部28及びグループ間ルーティングテーブル記憶部32の内容をクリアする。そして、ステップ142において、変数AInが、Trueであるか否かを判定する。AInがTrueであれば、交差点エリア内に存在する(DHTへ参加中である)と判断し、ステップ144において、G_Locのグループ内に存在する周辺の移動端末10とデータ通信を行い、グループ内ルーティングテーブル及びグループ間ルーティングテーブルを、当該周辺の移動端末10から受信して取得し、グループ内ルーティングテーブル記憶部28及びグループ間ルーティングテーブル記憶部32に格納する。ステップ146では、G_Locのグループ内の移動端末10及びG_Loc0のグループ内の移動端末10に送信するように、グループ内ルーティング情報(N_IDとG_Loc)をブロードキャストする。 In step 140, the contents of the intra-group routing table storage unit 28 and the inter-group routing table storage unit 32 are cleared. In step 142, it is determined whether or not the variable AIn is True. If AIn is True, it is determined that it exists in the intersection area (participating in DHT), and in step 144, data communication is performed with the surrounding mobile terminals 10 existing in the G_Loc group, and intra-group routing is performed. The table and the inter-group routing table are received from the peripheral mobile terminal 10 and acquired, and stored in the intra-group routing table storage unit 28 and the inter-group routing table storage unit 32. In step 146, the intra-group routing information (N_ID and G_Loc) is broadcast so as to be transmitted to the mobile terminal 10 in the G_Loc group and the mobile terminal 10 in the G_Loc0 group.
一方、AInがFalseであれば、自端末のノードがエリア外に存在する(DHTから離脱した)と判断し、ステップ148において、G_Loc0のグループ内の移動端末10に送信するように、グループ内ルーティング情報(N_IDとG_Loc(=NULL))をブロードキャストする。 On the other hand, if AIn is False, it is determined that the node of the own terminal exists outside the area (leaves from DHT), and in step 148, intra-group routing is performed so as to transmit to the mobile terminal 10 in the group of G_Loc0. Broadcast information (N_ID and G_Loc (= NULL)).
そして、ステップ150では、自端末のDHTデータ記憶部36に格納されているエリアデータのデータID(n個)を、Data_ID[n]に設定する。ステップ152では、上記ステップ150で設定されたData_ID[n]を用いて、データ転送処理を行って、グループ間移動時処理ルーチンを終了する。データ転送処理では、現在自端末が管理しているエリアデータの管理者が変更されていないか判断し、変更されている場合には、当該エリアデータを転送し、また、交差点エリアの外に出る場合には全エリアデータを転送する。 In step 150, the data ID (n) of the area data stored in the DHT data storage unit 36 of the own terminal is set to Data_ID [n]. In step 152, data transfer processing is performed using Data_ID [n] set in step 150, and the inter-group movement processing routine ends. In the data transfer process, it is determined whether the manager of the area data currently managed by the terminal itself has been changed, and if so, the area data is transferred and moved out of the intersection area. In this case, all area data is transferred.
上記ステップ152の処理は、図30に示すデータ転送処理ルーチンにより実現される。 The processing of step 152 is realized by the data transfer processing routine shown in FIG.
まず、ステップ160では、グループ内ルーティングテーブル記憶部28に記憶されている、現在所属するグループ内の全ノードIDに基づいて、グループID(ビットパターン)を生成し、G_IDに設定する。そして、ステップ162において、自端末が保持するエリアデータを識別するための変数iを初期値1に設定する。 First, in step 160, a group ID (bit pattern) is generated based on all the node IDs in the currently belonging group stored in the intra-group routing table storage unit 28, and set to G_ID. In step 162, a variable i for identifying area data held by the terminal is set to an initial value 1.
ステップ164では、グループ間ルーティングテーブル記憶部32に記憶されている各隣接グループに対するグループ間ルーティング情報のビットパターンと、G_IDと、i番目のエリアデータのデータID(Data_ID[i])とに基づいて、i番目のエリアデータが割り当てられるグループを決定する。決定されたグループが自グループである場合には、変数Go_jにTrueを設定し、一方、決定されたグループが自グループでない場合には、変数Go_jにFalseを設定する。 In step 164, based on the bit pattern of the inter-group routing information for each adjacent group stored in the inter-group routing table storage unit 32, G_ID, and the data ID (Data_ID [i]) of the i-th area data. , A group to which the i-th area data is assigned is determined. If the determined group is its own group, True is set in the variable Go_j. On the other hand, if the determined group is not its own group, False is set in the variable Go_j.
そして、ステップ166において、変数Go_jがTrueであるか否かを判定する。Go_jがFalseである場合、自ノードが所属するグループに割り当てられないと判断し、ステップ168において、上記ステップ164で決定された隣接グループに所属する移動端末10へ、i番目のエリアデータを転送し、ステップ176へ移行する。 In step 166, it is determined whether or not the variable Go_j is True. When Go_j is False, it is determined that the node is not assigned to the group to which the own node belongs, and in step 168, the i-th area data is transferred to the mobile terminal 10 belonging to the adjacent group determined in step 164. The process proceeds to step 176.
一方、Go_jがTrueである場合、自ノードが所属するグループに割り当てられると判断し、ステップ170において、グループ内ルーティングテーブル記憶部28に記憶されている各ノードIDと、N_IDと、i番目のエリアデータのデータID(Data_ID[i])とに基づいて、i番目のエリアデータが割り当てられるノードを決定する。決定されたノードが自ノードである場合には、変数Gi_jにTrueを設定し、一方、決定されたノードが自ノードでない場合には、変数Gi_jにFalseを設定する。 On the other hand, if Go_j is True, it is determined that the node belongs to the group to which the node belongs, and in step 170, each node ID, N_ID, and i-th area stored in the intra-group routing table storage unit 28 are determined. Based on the data ID (Data_ID [i]) of the data, the node to which the i-th area data is assigned is determined. If the determined node is its own node, True is set to the variable Gi_j. On the other hand, if the determined node is not its own node, False is set to the variable Gi_j.
そして、ステップ172において、変数Gi_jがTrueであるか否かを判定する。Gi_jがFalseである場合、自ノードに割り当てられないと判断し、ステップ176において、上記ステップ170で決定されたノードの移動端末10へ、i番目のエリアデータを転送し、ステップ176へ移行する。 In step 172, it is determined whether or not the variable Gi_j is True. If Gi_j is False, it is determined that the node cannot be assigned to the own node. In step 176, the i-th area data is transferred to the mobile terminal 10 of the node determined in step 170, and the process proceeds to step 176.
一方、Gi_jがTrueである場合、i番目のエリアデータを、DHTデータ記憶部36にそのまま格納しておき、ステップ176へ移行する。 On the other hand, when Gi_j is True, the i-th area data is stored in the DHT data storage unit 36 as it is, and the routine goes to Step 176.
ステップ176では、変数iを1インクリメントする。そして、ステップ178において、変数iが、保持しているエリアデータの数を示すn以下であるか否かを判定し、変数iがn以下であれば、上記ステップ164へ戻るが、一方、変数iがnより大きい場合には、データ転送処理ルーチンを終了する。 In step 176, the variable i is incremented by one. In step 178, it is determined whether or not the variable i is n or less indicating the number of area data held. If the variable i is n or less, the process returns to step 164. If i is larger than n, the data transfer processing routine is terminated.
次に、データ通信部14によって他の移動端末10からグループ内ルーティング情報を受信すると、コンピュータ16によって、図31に示すグループ内ルーティング情報受信時処理ルーチンが実行される。 Next, when intra-group routing information is received from another mobile terminal 10 by the data communication unit 14, the intra-group routing information reception processing routine shown in FIG.
ステップ180において、受信したグループ内ルーティング情報から、ノード(移動端末)のID及びグループ位置情報を取り出し、取り出したノードIDをRT_N_IDに設定し、取り出したグループ位置情報をRT_G_Locに設定する。 In step 180, the ID of the node (mobile terminal) and group position information are extracted from the received intra-group routing information, the extracted node ID is set to RT_N_ID, and the extracted group position information is set to RT_G_Loc.
次のステップ182では、自端末が所属するグループの位置情報をG_Locに設定する。ステップ184では、RT_G_LocとG_Locとが一致するか否かを判定する。RT_G_LocとG_Locとが一致する場合には、ステップ186において、グループ内ルーティングテーブル記憶部28に記憶されているグループ内ルーティングテーブルに、RT_N_IDが登録されていなければ、RT_N_IDを追加登録して、グループ内ルーティング情報受信時処理ルーチンを終了する。一方、RT_G_LocとG_Locとが一致しない場合には、ステップ188において、グループ内ルーティングテーブル記憶部28に記憶されているグループ内ルーティングテーブルに、RT_N_IDが登録されていれば、RT_N_IDを削除して、グループ内ルーティング情報受信時処理ルーチンを終了する。 In the next step 182, the position information of the group to which the terminal belongs belongs to G_Loc. In step 184, it is determined whether RT_G_Loc and G_Loc match. If RT_G_Loc and G_Loc match, in step 186, if RT_N_ID is not registered in the intra-group routing table stored in intra-group routing table storage unit 28, RT_N_ID is additionally registered, The routing information reception processing routine is terminated. On the other hand, if RT_G_Loc and G_Loc do not match, in step 188, if RT_N_ID is registered in the intra-group routing table stored in intra-group routing table storage unit 28, RT_N_ID is deleted and group The internal routing information reception processing routine is terminated.
また、移動端末10が、データ通信部14によって他の移動端末10から送信されたエリアデータを受信した場合には、コンピュータ16によって、図32に示すデータ受信時処理ルーチンを実行する。 When the mobile terminal 10 receives the area data transmitted from the other mobile terminal 10 by the data communication unit 14, the computer 16 executes a data reception processing routine shown in FIG.
まず、ステップ200において、受信したデータから、データのIDを取り出し、Data[1]に、取り出したデータIDを設定する。次のステップ202では、上記ステップ200で設定したData[1]を用いて、上記図30で説明したデータ転送処理ルーチンを実行し、データ受信時処理ルーチンを終了する。これによって、エリアデータを自ノードで保持するか、他のノードに転送するかが判断される。 First, in step 200, the data ID is extracted from the received data, and the extracted data ID is set in Data [1]. In the next step 202, the data transfer processing routine described with reference to FIG. 30 is executed using Data [1] set in step 200, and the data reception processing routine is terminated. As a result, it is determined whether the area data is held in the own node or transferred to another node.
また、データ通信部14によって他の移動端末10からグループ間ルーティング情報を受信すると、コンピュータ16によって、図33に示すグループ間ルーティング情報受信時処理ルーチンが実行される。 When the inter-group routing information is received from the other mobile terminal 10 by the data communication unit 14, the inter-group routing information reception processing routine shown in FIG.
ステップ210において、受信したグループ間ルーティング情報から、送信先グループの位置情報、送信元グループの位置情報、及びビットパターンを取り出し、取り出した送信元グループの位置情報をRT_G_Srcに設定し、取り出した送信先グループの位置情報をRT_G_Dstに設定し、取り出したビットパターンを、RT_Bitに設定する。 In step 210, the location information of the transmission destination group, the location information of the transmission source group, and the bit pattern are extracted from the received inter-group routing information, the location information of the extracted transmission source group is set to RT_G_Src, and the extracted transmission destination The group position information is set to RT_G_Dst, and the extracted bit pattern is set to RT_Bit.
次のステップ212では、自端末が所属するグループの位置情報をG_Locに設定すると共に、グループ間ルーティングテーブルに基づいてm個の隣接グループの中心座標をA_Loc[m]に設定する。ステップ214では、RT_G_DstとG_Locとが一致するか否かを判定する。RT_G_DstとG_Locとが一致する場合には、ステップ216において、グループ間ルーティングテーブル記憶部32に記憶されているグループ間ルーティングテーブルの隣接グループ位置情報がRT_G_Srcである行のビットパターンをRT_Bitで更新し、あるいは隣接グループ位置情報としてRT_G_Srcが登録されていなければ、隣接グループ位置情報がRT_G_Srcであり、ビットパターンがRT_Bitである行を追加登録する。 In the next step 212, the position information of the group to which the terminal belongs belongs to G_Loc, and the center coordinates of m adjacent groups are set to A_Loc [m] based on the inter-group routing table. In step 214, it is determined whether RT_G_Dst and G_Loc match. If RT_G_Dst and G_Loc match, in step 216, the bit pattern of the row in which the adjacent group position information of the inter-group routing table stored in the inter-group routing table storage unit 32 is RT_G_Src is updated with RT_Bit, Alternatively, if RT_G_Src is not registered as the adjacent group position information, a line in which the adjacent group position information is RT_G_Src and the bit pattern is RT_Bit is additionally registered.
次のステップ218では、G_Locを用いて、自端末が所属するグループに対するルーティング情報送信条件情報を、地図データベース20から取得する。そして、ステップ220では、自端末が所属するグループの隣接グループを識別するための変数iを初期値1に設定する。 In the next step 218, the routing information transmission condition information for the group to which the own terminal belongs is acquired from the map database 20 using G_Loc. In step 220, the variable i for identifying the adjacent group of the group to which the terminal belongs belongs to an initial value of 1.
ステップ222において、上記ステップ218で取得したルーティング情報送信条件情報に基づいて、A_Loc[i]を送信先とするグループ間ルーティング情報を生成するために必要とされる、隣接グループからのグループ間ルーティング情報が全て更新されているか否かを判定する。A_Loc[i]を送信先とするグループ間ルーティング情報を生成するために必要とされる、隣接グループからのグループ間ルーティング情報が少なくとも1つ更新されていない場合には、A_Loc[i]を送信先とするルーティング情報送信条件を満たさないと判断し、ステップ226へ移行する。一方、A_Loc[i]を送信先とするグループ間ルーティング情報を生成するために必要とされる、隣接グループからのグループ間ルーティング情報が全て更新されていた場合には、A_Loc[i]を送信先とするルーティング情報送信条件を満たすと判断し、ステップ224において、A_Loc[i]を送信先とするグループ間ルーティング情報を生成して送信する。 In step 222, based on the routing information transmission condition information acquired in step 218, the inter-group routing information from the adjacent group that is required to generate the inter-group routing information having A_Loc [i] as the transmission destination It is determined whether or not all are updated. In a case where at least one inter-group routing information from an adjacent group required for generating inter-group routing information having A_Loc [i] as a transmission destination has not been updated, A_Loc [i] is transmitted as the transmission destination. It is determined that the routing information transmission condition is not satisfied, and the routine proceeds to step 226. On the other hand, when all the inter-group routing information from the adjacent group required for generating the inter-group routing information having A_Loc [i] as the transmission destination has been updated, the transmission destination of A_Loc [i] is transmitted. In step 224, inter-group routing information having A_Loc [i] as a transmission destination is generated and transmitted.
ステップ226では、変数iを1インクリメントし、ステップ228において、変数iが、隣接グループの数を示すm以下であるか否かを判定する。変数iが、m以下である場合には、上記ステップ222へ戻る。一方、変数iが、mより大きい場合には、グループ間ルーティング情報受信時処理ルーチンを終了する。 In step 226, the variable i is incremented by 1. In step 228, it is determined whether or not the variable i is equal to or less than m indicating the number of adjacent groups. If the variable i is less than or equal to m, the process returns to step 222 above. On the other hand, when the variable i is larger than m, the inter-group routing information reception processing routine is terminated.
また、上記ステップ214で、RT_G_DstとG_Locとが一致しない場合には、グループ間ルーティング情報受信時処理ルーチンを終了する。 If RT_G_Dst and G_Loc do not match at step 214, the inter-group routing information reception processing routine is terminated.
また、移動端末10がDHTへ参加しているときであって、エリア端のグループに所属している場合には、コンピュータ16において、図34に示すエリア端グループ送信処理ルーチンが実行される。 When the mobile terminal 10 is participating in DHT and belongs to the area end group, the area end group transmission processing routine shown in FIG. 34 is executed in the computer 16.
ステップ230において、隣接グループを送信先とするグループ間ルーティング情報を生成して送信する。そして、ステップ232において、所定時間経過したか否かを判定し、所定時間が経過すると、上記ステップ230へ戻る。 In step 230, inter-group routing information whose destination is an adjacent group is generated and transmitted. In step 232, it is determined whether or not a predetermined time has elapsed. When the predetermined time has elapsed, the process returns to step 230.
これによって、周期的に、エリア端のグループから、グループ間ルーティング情報が送信される。 Thereby, the inter-group routing information is periodically transmitted from the group at the end of the area.
また、上記ステップ224及びステップ230は、図35に示すグループ間ルーティング情報送信処理ルーチンによって実現される。 Moreover, the said step 224 and step 230 are implement | achieved by the routing information transmission process routine between groups shown in FIG.
まず、ステップ240において、現在自端末が所属するグループの位置情報をG_Locに設定する。また、グループ間ルーティング情報の送信先となる隣接するグループの位置情報(中心座標)をA_Locに設定する。同一グループ内の各ノードから送信されたデータに含まれる位置情報を用いて、同一グループのノードID及び現在の位置情報(n個)をGN_Loc[n]に設定する。 First, in step 240, the position information of the group to which the current terminal belongs is set to G_Loc. Further, the position information (center coordinates) of the adjacent group that is the transmission destination of the inter-group routing information is set to A_Loc. Using the position information included in the data transmitted from each node in the same group, the node ID and the current position information (n pieces) of the same group are set to GN_Loc [n].
そして、ステップ242において、自グループのノードの位置情報GN_Locの中で、隣接グループの位置情報A_Locに最も近いノードのノードIDを決定し、決定されたノードIDをNear_IDに設定する。 In step 242, the node ID of the node closest to the position information A_Loc of the adjacent group in the position information GN_Loc of the node of the own group is determined, and the determined node ID is set to Near_ID.
次のステップ244では、Near_IDと自端末のノードIDを示すN_IDとが一致するか否かを判定する。Near_IDとN_IDとが一致する場合には、ステップ246において、グループ間ルーティング情報を生成する。このとき、送信元グループ位置情報をG_Locとし、送信先グループ位置情報をA_Locとする。また、グループ間ルーティングテーブルにおいて、グループ間ルーティング情報の隣接グループ位置情報がA_Locでない全てのビットパターンと、自グループのグループIDを示すビットパターン(グループ内ルーティングテーブルから得られる自グループ内のノードIDのビットパターンを足し合わせたもの)とのOR演算により構成されるビットパターンを、グループ間ルーティング情報のビットパターンとする。 In the next step 244, it is determined whether Near_ID and N_ID indicating the node ID of the terminal match. If Near_ID and N_ID match, inter-group routing information is generated in step 246. At this time, the transmission source group position information is G_Loc and the transmission destination group position information is A_Loc. Further, in the inter-group routing table, all the bit patterns whose adjacent group position information of the inter-group routing information is not A_Loc, and the bit pattern indicating the group ID of the own group (the node ID in the own group obtained from the intra-group routing table) A bit pattern formed by OR operation with a sum of bit patterns) is set as a bit pattern of routing information between groups.
そして、ステップ248では、上記ステップ246で生成したグループ間ルーティング情報をデータ通信部14により送信して、グループ間ルーティング情報送信処理ルーチンを終了する。 In step 248, the inter-group routing information generated in step 246 is transmitted by the data communication unit 14, and the inter-group routing information transmission processing routine is terminated.
また、上記ステップ244で、Near_IDとN_IDとが一致しない場合には、グループ間ルーティング情報送信処理ルーチンを終了する。 If Near_ID and N_ID do not match at step 244, the inter-group routing information transmission processing routine is terminated.
これによって、自グループの中で、隣接グループA_Locに最も近いノードによって、グループ間ルーティング情報が生成され、隣接グループA_Locに送信される。 As a result, the inter-group routing information is generated by the node closest to the adjacent group A_Loc in the own group and transmitted to the adjacent group A_Loc.
上記のように、各種処理ルーチンが各移動端末10で実行されると、交差点エリアに関連するエリアデータが、交差点エリア内の移動端末群で分散して記憶される。 As described above, when various processing routines are executed in each mobile terminal 10, area data related to the intersection area is distributed and stored in the mobile terminal group in the intersection area.
以上説明したように、第1の実施の形態に係る移動端末によれば、隣接する各グループを経由してルーティング可能なグループのグループIDのビットパターンの各々と、自端末が所属するグループのグループIDのビットパターンとのOR演算により得られるビットパターンを表わすグループ間ルーティング情報を生成して、隣接する各グループとの間でグループ間ルーティング情報を送受信することにより、ルーティング情報の更新の遅延を抑制すると共に、ルーティング情報を維持するための通信負荷の増大を抑制することができる。 As described above, according to the mobile terminal according to the first embodiment, each of the group ID bit patterns of groups that can be routed through adjacent groups and the group of the group to which the terminal belongs. Inter-group routing information representing bit pattern obtained by OR operation with ID bit pattern is generated, and inter-group routing information is transmitted / received between adjacent groups, thereby suppressing delay in updating routing information In addition, an increase in communication load for maintaining routing information can be suppressed.
また、各グループはデータを転送するときに目的までの正確な経路を知る必要はなく、隣接するグループの中でどれに転送すればいいのかがわかれば良い。そこで、各ノードは、隣接するグループのノードに対して、自身のグループを経由することで到達可能な全グループ情報を転送する。隣接グループの移動体とルーティング情報を交換するだけでエリア全域のグループ情報を把握でき、マルチホップ通信によるルーティングテーブルの維持が不要になるため、ルーティングテーブルを維持するための通信を効率化、抑制できる。 Further, each group does not need to know the exact route to the purpose when transferring data, and it is only necessary to know to which of the adjacent groups it should be transferred. Therefore, each node forwards all group information that can be reached via its own group to the nodes in the adjacent group. By exchanging routing information with adjacent group mobile units, group information for the entire area can be grasped, and maintenance of the routing table by multi-hop communication becomes unnecessary, so communication for maintaining the routing table can be made more efficient and suppressed. .
また、位置情報を用いて情報保持エリアを分割して、ノードのグループを設定し、グループ間で、グループ間ルーティングテーブルの更新を行うことで、ルーティングのループを回避することができる。 Further, by dividing the information holding area using the position information, setting a group of nodes, and updating the inter-group routing table between the groups, a routing loop can be avoided.
また、各グループIDのビットパターンはグループ内のノードIDのビットパターンの足し合わせである。そのため、ノードを何個追加してもグループIDのビットパターンの通信量は増加しないため、DHTの全ノードIDを知る場合と比べて、データ通信量を抑えることができる。 The bit pattern of each group ID is the sum of the bit patterns of node IDs in the group. Therefore, no matter how many nodes are added, the communication amount of the bit pattern of the group ID does not increase, so that the data communication amount can be suppressed as compared with the case where all the node IDs of the DHT are known.
また、グループ内のノードIDを用いて生成されるグループIDのビットパターン及びデータIDに基づいて、エリアデータを割り当てるグループを決定すると共に、グループ内のノードIDのビットパターン及びデータIDに基づいて、エリアデータを割り当てるノードを決定することにより、移動端末のノードが所属するグループが切り替わっても、当該ノードにエリアデータが割り当てられる可能性があるため、移動端末のノードが所属するグループが切り替わる際のデータ通信負荷の増大を抑制することができる。 Further, based on the bit pattern and data ID of the group ID generated using the node ID in the group, the group to which the area data is allocated is determined, and on the basis of the bit pattern and data ID of the node ID in the group, By determining the node to which the area data is assigned, even if the group to which the mobile terminal node belongs is switched, the area data may be assigned to the node, so when the group to which the mobile terminal node belongs is changed An increase in data communication load can be suppressed.
次に、第2の実施の形態に係る移動端末について説明する。なお、第2の実施の形態に係る移動端末は、第1の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。 Next, a mobile terminal according to the second embodiment will be described. In addition, since the mobile terminal which concerns on 2nd Embodiment becomes a structure similar to 1st Embodiment, it attaches | subjects the same code | symbol and abbreviate | omits description.
第2の実施の形態では、エリア内でのグループ間ルーティングテーブルの更新順序が第1の実施の形態と異なっている。 In the second embodiment, the update order of the inter-group routing table in the area is different from that in the first embodiment.
図36に示すように、方角を用いてルーティング情報送信条件が定められている。例えば、エリア南北方向端のグループ(図37参照)から、南北方向に、エリア内でのグループ間ルーティングテーブルが順番に更新された後、エリア東西方向端のグループ(図37参照)から、東西方向に、エリア内でのグループ間ルーティングテーブルが順番に更新されるように、各分割エリアに対するルーティング情報送信条件が定められている。また、南北方向にグループ間ルーティングテーブルを更新する場合、グループ間ルーティングテーブルの破壊を防ぐために、東西方向に隣接する隣接グループから受信したグループ間ルーティング情報を送信しないように、各分割エリアに対するルーティング情報送信条件が定められている。 As shown in FIG. 36, the routing information transmission condition is determined using the direction. For example, the inter-group routing table in the area is updated in order from the group at the end of the area in the north-south direction (see FIG. 37), and then from the group at the end of the area in the east-west direction (see FIG. 37). In addition, the routing information transmission condition for each divided area is determined so that the inter-group routing table in the area is updated in order. In addition, when updating the inter-group routing table in the north-south direction, in order to prevent the inter-group routing table from being destroyed, the routing information for each divided area is not transmitted so that the inter-group routing information received from the adjacent group adjacent in the east-west direction is not transmitted. Transmission conditions are defined.
本実施の形態の例では、地図データベース20に記憶されている各分割エリアXについて、分割エリアXより北側に隣接する隣接グループを送信先とする場合に対して、分割エリアXより南側に隣接する隣接グループが、更新される必要があるグループ間ルーティング情報の送信元としてルーティング情報送信条件に規定されていると共に、東西方向に隣接する隣接グループから受信したグループ間ルーティング情報を送信しないようにルーティング情報送信条件に規定されている。また、分割エリアXより南側に隣接する隣接グループを送信先とする場合に対して、分割エリアXより北側に隣接する隣接グループが、更新される必要があるグループ間ルーティング情報の送信元としてルーティング情報送信条件に規定されていると共に、東西方向に隣接する隣接グループから受信したグループ間ルーティング情報を送信しないようにルーティング情報送信条件に規定されている。また、分割エリアXより東側に隣接する隣接グループを送信先とする場合に対して、分割エリアXより西側に隣接する隣接グループが、更新される必要があるグループ間ルーティング情報の送信元としてルーティング情報送信条件に規定されている。また、分割エリアXより西側に隣接する隣接グループを送信先とする場合に対して、分割エリアXより東側に隣接する隣接グループが、更新される必要があるグループ間ルーティング情報の送信元としてルーティング情報送信条件に規定されている。 In the example of the present embodiment, each divided area X stored in the map database 20 is adjacent to the south side of the divided area X as compared with the case where the adjacent group adjacent to the north side of the divided area X is set as the transmission destination. The routing information is specified in the routing information transmission condition as the source of the inter-group routing information that needs to be updated, and the routing information is not transmitted from the adjacent group received from the adjacent group in the east-west direction. It is defined in the transmission conditions. Further, when the adjacent group adjacent to the south side from the divided area X is set as the transmission destination, the adjacent group adjacent to the north side from the divided area X is the routing information as the transmission source of the inter-group routing information that needs to be updated. In addition to being defined in the transmission condition, the routing information transmission condition is defined so as not to transmit the inter-group routing information received from the adjacent groups adjacent in the east-west direction. Further, when the adjacent group adjacent to the east side from the divided area X is set as the transmission destination, the adjacent group adjacent to the west side from the divided area X is the routing information as the transmission source of the inter-group routing information that needs to be updated. It is defined in the transmission conditions. Further, when the adjacent group adjacent to the west side from the divided area X is set as the transmission destination, the adjacent group adjacent to the east side from the divided area X is the routing information as the transmission source of the inter-group routing information that needs to be updated. It is defined in the transmission conditions.
また、エリア南北方向端のグループに相当する分割エリアXに対しては、南北方向に隣接する隣接グループを送信先とする場合に対してルーティング情報送信条件は規定されていないが、他の方向に隣接する隣接グループを送信先とする場合に対しては上記と同様のルーティング情報送信条件が規定されている。また、エリア東西方向端のグループに相当する分割エリアXに対しては、東西方向に隣接する隣接グループを送信先とする場合に対して、南北方向に隣接する全ての隣接グループが、更新される必要があるグループ間ルーティング情報の送信元として、ルーティング情報送信条件に規定されており、南北方向に隣接する隣接グループを送信先とする場合に対して上記と同様のルーティング情報送信条件が規定されている。 In addition, for the divided area X corresponding to the group at the end of the area in the north-south direction, the routing information transmission condition is not defined for the case where the adjacent group adjacent in the north-south direction is set as the transmission destination. The routing information transmission condition similar to the above is defined for the case where the adjacent group is the transmission destination. For the divided area X corresponding to the group at the end in the east-west direction, all adjacent groups adjacent in the north-south direction are updated with respect to the case where the adjacent group adjacent in the east-west direction is the transmission destination. It is specified in the routing information transmission condition as the source of the inter-group routing information that is required, and the same routing information transmission condition as above is specified for the case where the adjacent group adjacent in the north-south direction is the transmission destination. Yes.
グループ間ルーティングテーブル管理部30は、グループ間ルーティングテーブルの隣接グループ位置情報に基づいて、各隣接グループが位置する方角を求めると共に、ルーティング情報送信条件情報に基づいて、各方角に位置する隣接グループについて、グループ間ルーティングテーブルの更新状況に従ってルーティング情報送信条件を満たすか否かを判断し、ルーティング情報送信条件を満たしたと判定された隣接グループを送信先とするグループ間ルーティング情報を生成するように、ルーティング情報生成部38に指示(送信先のグループID)を出力する。 The inter-group routing table management unit 30 obtains the direction in which each adjacent group is located based on the adjacent group position information in the inter-group routing table, and the adjacent group located in each direction based on the routing information transmission condition information. In accordance with the update status of the inter-group routing table, it is determined whether or not the routing information transmission condition is satisfied, and the routing is performed so as to generate the inter-group routing information with the adjacent group determined to satisfy the routing information transmission condition as the transmission destination. An instruction (destination group ID) is output to the information generation unit 38.
本実施の形態の例では、図38に示すように、エリア南北方向端の各グループから、南北方向に、順にグループ間ルーティング情報が送信され、各グループで保持するグループ間ルーティングテーブルが南北方向に更新される。南北方向の全ての隣接グループからグループ間ルーティング情報を受信して、グループ間ルーティングテーブルが更新された後には、図39に示すように、エリア東西方向端のグループから、東西方向に、順にグループ間ルーティング情報が送信され、各グループで保持するグループ間ルーティングテーブルが東西方向に更新される。所定時間経過後に、再び、図40に示すように、エリア南北方向端の各グループから、南北方向に、順にグループ間ルーティング情報が送信され、各グループで保持するグループ間ルーティングテーブルが南北方向に更新される。このとき、東西方向に隣接する隣接グループから受信したグループ間ルーティング情報は、送信されるグループ間ルーティング情報に含まれない。 In the example of the present embodiment, as shown in FIG. 38, the inter-group routing information is sequentially transmitted from each group at the end of the area in the north-south direction in the north-south direction, and the inter-group routing table held in each group is in the north-south direction. Updated. After the inter-group routing information is received from all the adjacent groups in the north-south direction and the inter-group routing table is updated, as shown in FIG. Routing information is transmitted, and the inter-group routing table held in each group is updated in the east-west direction. After a predetermined time has elapsed, as shown in FIG. 40, the inter-group routing information is sequentially transmitted in the north-south direction from each group at the end of the north-south direction, and the inter-group routing table held in each group is updated in the north-south direction. Is done. At this time, the inter-group routing information received from the adjacent groups adjacent in the east-west direction is not included in the transmitted inter-group routing information.
移動端末10がDHTへ参加しているときであって、エリア南北方向端のグループに所属している場合に、コンピュータ16は、上記図34に示すエリア端グループ送信処理ルーチンと同様の処理ルーチンを実行し、周期的に、南北方向に隣接する隣接グループを送信先とするグループ間ルーティング情報を生成して送信する。 When the mobile terminal 10 participates in DHT and belongs to the group at the end of the area in the north-south direction, the computer 16 executes a processing routine similar to the area end group transmission processing routine shown in FIG. And periodically generate and transmit inter-group routing information whose destination is an adjacent group adjacent in the north-south direction.
なお、第2の実施の形態に係る移動端末の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。 In addition, since it is the same as that of 1st Embodiment about the other structure and effect | action of the mobile terminal which concerns on 2nd Embodiment, description is abbreviate | omitted.
このように、エリア南北方向端のグループから、南北方向に、エリア内でのグループ間ルーティングテーブルが順番に更新された後、エリア東西方向端のグループから、東西方向に、エリア内でのグループ間ルーティングテーブルが順番に更新される。これによって、ルーティング情報の更新の遅延を抑制すると共に、ルーティング情報を維持するための通信負荷の増大を抑制することができる。 In this way, after the inter-group routing table in the area is updated in order from the north-south end group to the north-south direction, the group from the area east-west end to the east-west direction between groups in the area. The routing table is updated in order. As a result, it is possible to suppress a delay in updating the routing information and to suppress an increase in communication load for maintaining the routing information.
また、南北方向にグループ間ルーティング情報を送信する時に東西方向の隣接グループと交換したグループ間ルーティング情報を含まないように、グループ間ルーティング情報を生成することにより、南北のグループのルーティング情報と東西のグループのルーティング情報を分けることができ、ループが発生することを防ぐことができる。 Also, by generating the inter-group routing information so that the inter-group routing information exchanged with the adjacent group in the east-west direction is not included when sending the inter-group routing information in the north-south direction, the north-south group routing information and the east-west routing The group routing information can be divided, and a loop can be prevented from occurring.
次に、第3の実施の形態に係る移動端末について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。 Next, a mobile terminal according to the third embodiment will be described. In addition, about the part which becomes the structure similar to 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted.
第3の実施の形態では、隣接グループにノードがいないと判断した場合に、グループ間ルーティング情報を、他のグループを経由して送信している点が、第1の実施の形態と異なっている。 The third embodiment is different from the first embodiment in that, when it is determined that there is no node in the adjacent group, the inter-group routing information is transmitted via another group. .
第3の実施の形態では、図41に示すように、ルーティング情報生成部38は、ルーティング情報抽出部38Aと、OR演算部38Bと、OR演算部38Bにより生成されたグループ間ルーティング情報の送信先の隣接グループに、ノード(移動端末10)が存在するか否かに基づいて、グループ間ルーティング情報を転送するか否かを判断する転送判断部38Cとを備えている。 In the third embodiment, as shown in FIG. 41, the routing information generation unit 38 is the destination of the routing information extraction unit 38A, the OR operation unit 38B, and the inter-group routing information generated by the OR operation unit 38B. And a transfer determination unit 38C that determines whether to transfer the inter-group routing information based on whether or not the node (mobile terminal 10) exists in the adjacent group.
転送判断部38Cは、OR演算部38Bにより生成されたグループ間ルーティング情報の送信先の隣接グループについて、グループ間ルーティングテーブルに格納されている当該送信先の隣接グループの更新時刻から所定時間経過している場合には、当該送信先の隣接グループにノードが存在しないと判断し、一方、所定時間経過していない場合には、当該送信先の隣接グループにノードが存在すると判断する。転送判断部38Cは、当該送信先の隣接グループにノードが存在すると判断した場合、生成されたグループ間ルーティング情報をそのままデータ通信部14に出力する。一方、当該送信先の隣接グループにノードが存在しないと判断した場合、予め定められた、離れたグループへ送信するために他のグループを経由する経路情報を、グループ間ルーティング情報に追加して、グループ間ルーティング情報をデータ通信部14に出力する。 The transfer determining unit 38C, for the adjacent group of the transmission destination of the inter-group routing information generated by the OR operation unit 38B, has passed a predetermined time from the update time of the adjacent group of the transmission destination stored in the inter-group routing table. If it is determined that there is no node in the adjacent group of the transmission destination, on the other hand, if the predetermined time has not elapsed, it is determined that the node exists in the adjacent group of the transmission destination. If the transfer determination unit 38C determines that a node exists in the adjacent group of the transmission destination, the transfer determination unit 38C outputs the generated inter-group routing information to the data communication unit 14 as it is. On the other hand, when it is determined that there is no node in the adjacent group of the transmission destination, the route information that passes through another group to transmit to a predetermined remote group is added to the inter-group routing information, The inter-group routing information is output to the data communication unit 14.
例えば、図42に示すように、グループIから、離れたグループGへ、グループ間ルーティング情報を送信するために、F−>E−>Dを経由することが経路情報により指定される。 For example, as shown in FIG. 42, in order to transmit the inter-group routing information from the group I to the remote group G, the route information specifies that the route passes through F-> E-> D.
経路情報が追加されたグループ間ルーティング情報を受信した移動端末10は、自端末が送信先のグループに所属していないと判断すると、グループ間ルーティング情報に改変を加えず、指定された経路通りに転送する。 When the mobile terminal 10 that has received the inter-group routing information to which the route information has been added determines that the mobile terminal 10 does not belong to the destination group, the mobile terminal 10 does not modify the inter-group routing information and follows the specified route. Forward.
なお、第3の実施の形態に係る移動端末の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。 In addition, since it is the same as that of 1st Embodiment about the other structure and effect | action of the mobile terminal which concerns on 3rd Embodiment, description is abbreviate | omitted.
このように、あるグループにノードが存在しない場合、その周辺のグループのルーティング情報が更新されなくなるが、本実施の形態では、グループにノードが存在しないと判断した場合、周辺グループを経由して、グループ間ルーティング情報を転送させることにより、グループ間ルーティングテーブルの更新を持続させることができる。 In this way, when there is no node in a certain group, the routing information of the surrounding group is not updated, but in this embodiment, when it is determined that there is no node in the group, via the neighboring group, By transferring the inter-group routing information, the inter-group routing table can be continuously updated.
次に、第4の実施の形態に係る移動端末について説明する。なお、第4の実施の形態に係る移動端末は、第1の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。 Next, a mobile terminal according to the fourth embodiment will be described. In addition, since the mobile terminal which concerns on 4th Embodiment becomes the structure similar to 1st Embodiment, it attaches | subjects the same code | symbol and abbreviate | omits description.
第4の実施の形態では、図43に示すように、ノードID及びグループIDを示すビットパターンをBF(Bloom Filter)にしている点が、第1の実施の形態と異なっている。 As shown in FIG. 43, the fourth embodiment is different from the first embodiment in that the bit pattern indicating the node ID and the group ID is BF (Bloom Filter).
ここで、BFについて説明する。BFとは要素が集合の一部であるかを調べるために用いられる固定長ビットパターンのデータ構造である。参考例として図44に動作例を示す。図44では、ノードAが作成したBFをノードBで参照し、ノードAとBの所有データの差を判定している。g(X)、f(X)はハッシュ関数であり、BFでのビットへの1の書き込みはハッシュ関数によって導いた値に基づいて行われる。本実施の形態では、ハッシュ関数によって導いた値をビットパターンの長さで割り、その剰余を用いてBFでの1を書き込むビットの位置を決定する。図44では、ビットパターンの長さが13なので、f(X)=1mod13、g(X)=8mod13のビットに1を書き込む。図44ではビットパターンの長さが13だが、実際には衝突を回避するためにもっと長いビットパターンを使用する。 Here, BF will be described. BF is a data structure of a fixed-length bit pattern used to check whether an element is part of a set. As a reference example, FIG. 44 shows an operation example. In FIG. 44, the BF created by the node A is referred to by the node B, and the difference between the owned data of the nodes A and B is determined. g (X) and f (X) are hash functions, and writing 1 to a bit in BF is performed based on a value derived by the hash function. In this embodiment, the value derived by the hash function is divided by the length of the bit pattern, and the remainder of the bit is used to determine the position of the bit to write 1 in BF. In FIG. 44, since the length of the bit pattern is 13, 1 is written in the bits of f (X) = 1 mod13 and g (X) = 8 mod13. In FIG. 44, the length of the bit pattern is 13, but actually a longer bit pattern is used to avoid collision.
BFの初期状態は全て0のビットパターンで、ノードAはハッシュ関数を用いてデータX、Y、Zを所有していることをBFに書き込む。ノードBはノードAの所有データを書き込んだBFを受信すると、自身の所有しているデータからハッシュ関数を用いて特定のビットを参照し、そのビットが全て1ならばデータを所有していると判断し、そうでないなら所有していないと判断する。上記図44の例では、f(Q)=1mod13、g(Q)=3mod13のビットを参照すると1と0であるためノードAはQを所有していないと判断できる。同様にf(W)=6mod13、g(W)=8mod13のビットは、0と1なのでノードAはWを所有していない。f(Z)=8mod13、g(Z)12mod13のビットは1と1なので、ノードAはZを所有していると判断できる。 The initial state of the BF is a bit pattern of all 0s, and the node A writes to the BF that the data X, Y, and Z are owned using a hash function. When the node B receives the BF in which the data owned by the node A is written, the node B refers to a specific bit using the hash function from the data owned by the node B, and if the bit is all 1, the node B owns the data. Judgment, otherwise it is determined that you do not own. In the example shown in FIG. 44, referring to the bits f (Q) = 1 mod 13 and g (Q) = 3 mod 13, since they are 1 and 0, it can be determined that the node A does not own Q. Similarly, since the bits of f (W) = 6 mod 13 and g (W) = 8 mod 13 are 0 and 1, node A does not own W. Since the bits of f (Z) = 8mod13 and g (Z) 12mod13 are 1 and 1, it can be determined that the node A owns Z.
また、BFには偽陽性による誤検出の問題はあるものの、ハッシュ関数の種類やビットパターンのサイズの調整により、偽陽性による誤検出の発生を十分低く抑えることが可能である。また、BFは固定長のメモリ消費でビット演算が使用可能であるため、一定サイズのグループIDに複数のノード情報を書き込み、かつBFを用いた素早いルーティング処理が可能となる。 In addition, although there is a problem of false detection due to false positive in BF, the occurrence of false detection due to false positive can be sufficiently suppressed by adjusting the type of hash function and the size of the bit pattern. In addition, since BF can use bit operations with a fixed-length memory consumption, it is possible to write a plurality of node information in a group ID of a certain size and to perform quick routing processing using BF.
また、本実施の形態におけるBFを用いたグループIDの構成を図45に示す。グループIDはBFであり、同一グループ内に存在するノードIDを示すBFを足し合わせたものである。このグループIDとノードIDを用いてDHTを管理する。 In addition, FIG. 45 shows a group ID configuration using BF in the present embodiment. The group ID is BF, and is a sum of BFs indicating node IDs existing in the same group. DHT is managed using this group ID and node ID.
グループ間ルーティングテーブル記憶部32は、隣接グループ位置情報と、当該隣接グループを経由してルーティング可能なグループのグループIDを示すBFのOR演算により求まるBFとからなるグループ間ルーティングテーブルを記憶する。 The inter-group routing table storage unit 32 stores an inter-group routing table composed of adjacent group position information and BF obtained by OR operation of BF indicating a group ID of a group that can be routed via the adjacent group.
データ管理部34は、エリアデータのデータIDと、グループ内ルーティングテーブル記憶部28に記憶されているグループ内ルーティングテーブルから得られる同一グループの各ノードIDと、グループ間ルーティングテーブル記憶部32に記憶されているグループ間ルーティングテーブルから得られる各隣接グループのBFとに基づいて、エリアデータを割り当てるグループを決定し、決定されたグループが自グループである場合には、エリアデータを割り当てるノードIDを決定する。 The data management unit 34 stores the data ID of the area data, each node ID of the same group obtained from the intra-group routing table stored in the intra-group routing table storage unit 28, and the inter-group routing table storage unit 32. The group to which the area data is allocated is determined based on the BF of each adjacent group obtained from the inter-group routing table. If the determined group is the own group, the node ID to which the area data is allocated is determined. .
データ管理部34は、図46に示すグループ決定部250を備えており、グループ決定部250は、2階層のDHTに従って、どのグループでデータを管理するか決定する。 The data management unit 34 includes a group determination unit 250 shown in FIG. 46, and the group determination unit 250 determines in which group data is managed according to the two-level DHT.
まず、同一グループ内の各ノードに対する関数f(x)により、同一グループ内のノードIDを引数として、1以上の所定個のビットを1にしたBFに変換して出力する。 First, the function f (x) for each node in the same group is converted into a BF in which one or more predetermined bits are set to 1 using the node ID in the same group as an argument and output.
次に、グループID生成部252は、OR演算を用いて、関数f(x)から出力されたBFを足し合わせて、自グループのグループIDを示すBFを生成する。 Next, the group ID generation unit 252 adds the BFs output from the function f (x) using an OR operation, and generates a BF indicating the group ID of the own group.
また、関数h(x)により、データIDを引数としてランダムパターンを生成して出力する。 Also, a random pattern is generated and output using the data ID as an argument by the function h (x).
また、自グループ及び隣接グループの各々に対する関数g(x、y)により、ランダムパターンを用いて、上記図46に示すように、自グループのグループIDを示すBF、及び各隣接グループのBFのビットの並び替えを行い、並び替えられたBFを各々出力する。 Further, as shown in FIG. 46, the function g (x, y) for each of the own group and the adjacent group is used, and the BF indicating the group ID of the own group and the bits of the BF of each adjacent group are used as shown in FIG. Are rearranged, and the rearranged BFs are output.
評価部254は、各関数g(x、y)から出力されたBFから、どのグループのBFがエリアデータを管理するのに適しているのかを決定する評価関数を持ち、決定されたBFのグループを出力する。例えば、上記図46の例のように、BFを数値として評価して最も数値が大きいBFのグループが、エリアデータが割り当てられるグループとして決定される。 The evaluation unit 254 has an evaluation function for determining which group of BF is suitable for managing area data from the BF output from each function g (x, y). Is output. For example, as in the example of FIG. 46 described above, BF is evaluated as a numerical value, and the BF group having the largest numerical value is determined as a group to which area data is assigned.
また、データ管理部34は、第1の実施の形態で説明したノード決定部60と同様の構成を備えており、グループ決定部50により決定されたグループが、自グループである場合に、自グループ内の各ノードIDのBFとデータIDとに基づいて、自グループ内のどのノードでデータを管理するか決定する。 The data management unit 34 has the same configuration as the node determination unit 60 described in the first embodiment. When the group determined by the group determination unit 50 is the own group, the data management unit 34 Based on the BF of each node ID and the data ID, it is determined which node in the own group manages the data.
なお、第4の実施の形態に係る移動端末の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。 In addition, since it is the same as that of 1st Embodiment about the other structure and effect | action of the mobile terminal which concerns on 4th Embodiment, description is abbreviate | omitted.
以上説明したように、第4の実施の形態に係る移動端末によれば、グループ内のノードIDのBFを用いて生成されるグループIDのBF、及びデータIDに基づいて、エリアデータを割り当てるグループを決定すると共に、グループ内のノードIDのBF及びデータIDに基づいて、エリアデータを割り当てるノードを決定することにより、移動端末のノードが所属するグループが切り替わっても、当該ノードにエリアデータが割り当てられる可能性があるため、移動端末のノードが所属するグループが切り替わる際のデータ通信負荷の増大を抑制することができる。 As described above, according to the mobile terminal according to the fourth embodiment, the group to which the area data is allocated based on the BF of the group ID generated using the BF of the node ID in the group and the data ID. And determining the node to which the area data is assigned based on the BF of the node ID and the data ID in the group, so that the area data is assigned to the node even if the group to which the node of the mobile terminal belongs is switched. Therefore, it is possible to suppress an increase in data communication load when the group to which the node of the mobile terminal belongs is switched.
各ノードがビットパターン中の1ビットにID情報を埋める方式を用いる場合、DHTに参加できるノード数がビットパターンの長さに依存してしまう。これに対し、ビットパターンにハッシュ値を用いる場合、OR演算を行ってランダムパターンでビットパターンの並び替えを行っても、データが分散しない可能性が高い。そこで、本実施の形態では、上記図43に示すように、ノードIDについて、BFを用いて数ビットのビットパターンの書き込みを行うことによって、DHTに参加できるノード数を増加させつつ、データを分散させることが可能になる。 When using a method in which each node embeds ID information in one bit in a bit pattern, the number of nodes that can participate in DHT depends on the length of the bit pattern. On the other hand, when a hash value is used for a bit pattern, there is a high possibility that the data will not be dispersed even if the bit pattern is rearranged with the random pattern by performing an OR operation. Therefore, in this embodiment, as shown in FIG. 43, data is distributed while increasing the number of nodes that can participate in DHT by writing a bit pattern of several bits using BF for the node ID. It becomes possible to make it.
なお、上記の第1の実施の形態〜第4の実施の形態において、グループ間ルーティング情報として、ビットパターンを用いている場合を例に説明したが、これに限定されるものではない。グループ間ルーティング情報が、ルーティング可能なグループのグループIDのリストであってもよい。 In the first to fourth embodiments, the case where a bit pattern is used as the inter-group routing information has been described as an example. However, the present invention is not limited to this. The inter-group routing information may be a list of group IDs of groups that can be routed.
また、交差点エリア内の移動端末群で、データ分散記憶システムを実現する場合を例に説明したが、これに限定されるものではなく、交差点エリア内に、固定端末を設け、交差点エリア内の移動端末群と固定端末とで、データ分散記憶システムを実現するようにしてもよい。この場合には、エリア内に移動端末が存在しない場合であっても、エリア内にエリアデータを維持することができる。 Further, the case where the data distributed storage system is realized by the mobile terminal group in the intersection area has been described as an example. However, the present invention is not limited to this, and a fixed terminal is provided in the intersection area to move in the intersection area. You may make it implement | achieve a data distributed storage system with a terminal group and a fixed terminal. In this case, even when there is no mobile terminal in the area, the area data can be maintained in the area.
また、交差点エリアの基準位置として、交差点エリアの中心位置を用いる場合を例に説明したが、これに限定されるものではなく、交差点内の他の所定位置を、交差点エリアの基準位置として用いてもよい。 Moreover, although the case where the center position of the intersection area is used as the reference position of the intersection area has been described as an example, the present invention is not limited to this, and another predetermined position in the intersection is used as the reference position of the intersection area. Also good.
また、仮想分散データベースを実現するエリアが、交差点である場合を例に説明したが、これに限定されるものではなく、他の所定エリアで、仮想分散データベースを実現するようにしてもよい。 Moreover, although the case where the area for realizing the virtual distributed database is an intersection has been described as an example, the present invention is not limited to this, and the virtual distributed database may be realized in another predetermined area.
10 移動端末
14 データ通信部
16 コンピュータ
20 地図データベース
22 位置取得部
24 制御部
25 送信条件取得部
26 グループ内ルーティングテーブル管理部
28 グループ内ルーティングテーブル記憶部
30 グループ間ルーティングテーブル管理部
32 グループ間ルーティングテーブル記憶部
34 データ管理部
36 データ記憶部
38 ルーティング情報生成部
38A ルーティング情報抽出部
38B OR演算部
38C 転送判断部
50、250 グループ決定部
60 ノード決定部
DESCRIPTION OF SYMBOLS 10 Mobile terminal 14 Data communication part 16 Computer 20 Map database 22 Position acquisition part 24 Control part 25 Transmission condition acquisition part 26 Intragroup routing table management part 28 Intragroup routing table storage part 30 Intergroup routing table management part 32 Intergroup routing table Storage unit 34 Data management unit 36 Data storage unit 38 Routing information generation unit 38A Routing information extraction unit 38B OR operation unit 38C Transfer determination unit 50, 250 Group determination unit 60 Node determination unit
Claims (8)
周辺の移動端末と無線通信を行うための通信手段と、
前記エリアを分割した分割エリアのうち、自端末が存在する前記分割エリアに隣接する前記分割エリアの各々について、前記隣接する分割エリア内に存在する移動端末のグループを経由してルーティング可能な、分割エリア内に存在する移動端末のグループのグループIDの集合を表わすグループ間ルーティング情報を、前記隣接する各分割エリア内に存在する移動端末から前記通信手段により受信して取得するID取得手段と、
自端末が存在する前記分割エリアに隣接する前記分割エリアの各々を送信先として、前記ID取得手段によって取得した各グループ間ルーティング情報のうち、前記送信先の分割エリアについて取得した前記グループ間ルーティング情報を除いた前記グループ間ルーティング情報の各々が表わすグループIDの和集合と、自端末が存在する前記分割エリアの前記グループIDとを表わす前記グループ間ルーティング情報を、前記送信先へ送信する前記グループ間ルーティング情報として各々生成するルーティング情報生成手段と、
前記ルーティング情報生成手段によって生成された前記グループ間ルーティング情報の各々を、前記送信先の各々へ送信するように前記通信手段を制御する送信制御手段と、
を含む移動端末。 By distributing and assigning area data related to a predetermined area to a set of nodes corresponding to each mobile terminal in the mobile terminal group, the area data is distributed in each mobile terminal in the mobile terminal group. A mobile terminal in a data distributed storage system for storing
A communication means for performing wireless communication with surrounding mobile terminals;
Of the divided areas obtained by dividing the area, each of the divided areas adjacent to the divided area where the own terminal exists can be divided via a group of mobile terminals existing in the adjacent divided area. ID acquisition means for receiving and acquiring inter-group routing information representing a set of group IDs of groups of mobile terminals existing in the area from the mobile terminals existing in the adjacent divided areas;
The inter-group routing information acquired for the divided area of the transmission destination among the inter-group routing information acquired by the ID acquisition unit with each of the divided areas adjacent to the divided area where the terminal is present as the transmission destination The inter-group routing information that represents the union of group IDs represented by each of the inter-group routing information except for the group ID and the group IDs of the divided areas in which the own terminal exists is transmitted to the transmission destination. Routing information generating means for generating each as routing information;
Transmission control means for controlling the communication means to transmit each of the inter-group routing information generated by the routing information generating means to each of the transmission destinations;
Mobile terminal including
前記グループIDのビットパターンを、前記分割エリア内に存在する各移動端末を示すノードIDを用いて定められるビットパターンとし、
前記ルーティング情報生成手段は、前記ノードID取得手段によって取得した、自端末が存在する前記分割エリア内に存在する各移動端末を示すノードID及び自端末のノードIDを用いて、自端末が存在する前記分割エリアに対応する前記グループIDのビットパターンを生成し、前記ID取得手段によって取得した各グループ間ルーティング情報のうち、前記送信先の分割エリアについて取得した前記グループ間ルーティング情報を除いた前記グループ間ルーティング情報の各々が表わすグループIDの和集合の各グループIDのビットパターンと、前記生成された自端末の前記グループIDのビットパターンとを足し合わせて、前記グループ間ルーティング情報のビットパターンを生成する請求項5記載の移動端末。 A node ID acquisition means for acquiring a node ID indicating each mobile terminal existing in the divided area where the own terminal exists;
The bit pattern of the group ID is a bit pattern determined using a node ID indicating each mobile terminal existing in the divided area,
The routing information generating means uses the node ID indicating each mobile terminal existing in the divided area where the own terminal exists and the node ID of the own terminal acquired by the node ID acquiring means, and the own terminal exists. The group obtained by generating a bit pattern of the group ID corresponding to the divided area and excluding the inter-group routing information acquired for the divided area of the transmission destination among the inter-group routing information acquired by the ID acquisition unit The bit pattern of each group ID of the union of the group IDs represented by each of the inter-routing information and the bit pattern of the group ID of the generated own terminal are added to generate the bit pattern of the inter-group routing information The mobile terminal according to claim 5.
前記グループ決定手段によって決定された前記グループが、自端末が存在する前記分割エリアに対応するグループである場合、前記ノードID取得手段によって取得した自端末が存在する前記分割エリア内に存在する各移動端末のノードID及び自端末のノードIDの各々をビットパターンに変換すると共に、前記受信したエリアデータのデータIDを所定の関数を用いてランダムパターンに変換し、前記ランダムパターンを用いて、前記変換した各移動端末のノードID及び自端末のノードIDの各々のビットパターンに処理を加え、前記処理が加えられた各移動端末のノードID及び自端末のノードIDの各々のビットパターンを評価して、前記エリアデータを割り当てる前記ノードを決定するノード決定手段と、
前記自端末のノードに割り当てられた前記エリアデータを記憶する記憶手段と、
前記グループ決定手段によって決定されたグループが、自端末が存在する前記分割エリアに対応するグループでない場合、及び前記ノード決定手段によって決定されたノードが、自端末のノードでない場合、前記受信した前記エリアデータを他の移動端末へ転送するように前記通信手段を制御する転送制御手段と、
を更に含む請求項6記載の移動端末。 When the area data is received from the surrounding mobile terminal by the communication means, the node ID of each mobile terminal existing in the divided area where the local terminal acquired by the node ID acquisition means exists and the node of the local terminal Using the ID, the group ID corresponding to the divided area where the terminal is present is generated, and the data ID of the received area data is converted into a random pattern using a predetermined function, and the random pattern is used. Then, each of the bit pattern of the inter-group routing information acquired from each of the adjacent divided areas by the ID acquisition means and the bit pattern of the group ID corresponding to the divided area where the generated own terminal exists Process, evaluate each bit pattern to which the process has been added, and And group determining means for determining said group of mobile terminals to assign over data,
When the group determined by the group determining means is a group corresponding to the divided area where the own terminal exists, each movement existing in the divided area where the own terminal acquired by the node ID acquiring means exists Each of the node ID of the terminal and the node ID of the own terminal is converted into a bit pattern, the data ID of the received area data is converted into a random pattern using a predetermined function, and the conversion is performed using the random pattern. Processing is performed on each bit pattern of the node ID of each mobile terminal and the node ID of the own terminal, and each bit pattern of the node ID of each mobile terminal and the node ID of the own terminal to which the processing is added is evaluated. Node determining means for determining the node to which the area data is allocated;
Storage means for storing the area data assigned to the node of the terminal;
If the group determined by the group determining means is not a group corresponding to the divided area where the terminal is present, and if the node determined by the node determining means is not a node of the own terminal, the received area Transfer control means for controlling the communication means to transfer data to another mobile terminal;
The mobile terminal according to claim 6, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012039251A JP5857791B2 (en) | 2012-02-24 | 2012-02-24 | Communication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012039251A JP5857791B2 (en) | 2012-02-24 | 2012-02-24 | Communication device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013175939A JP2013175939A (en) | 2013-09-05 |
JP5857791B2 true JP5857791B2 (en) | 2016-02-10 |
Family
ID=49268473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012039251A Expired - Fee Related JP5857791B2 (en) | 2012-02-24 | 2012-02-24 | Communication device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5857791B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ768365A (en) * | 2014-04-01 | 2022-04-29 | Endace Tech Limited | Hash tag load balancing |
JP6459558B2 (en) * | 2015-01-27 | 2019-01-30 | 富士通株式会社 | Wireless communication apparatus, wireless communication method, and wireless communication program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4503513B2 (en) * | 2005-08-31 | 2010-07-14 | 株式会社エヌ・ティ・ティ・ドコモ | Mobile terminal device, topology management device, communication method, and communication network |
JP2007306547A (en) * | 2006-04-11 | 2007-11-22 | Nagoya Institute Of Technology | Wireless communication method in ad hoc network between vehicle |
JP5287622B2 (en) * | 2009-09-11 | 2013-09-11 | 日本電気株式会社 | Communication system, node, communication control method, and program |
-
2012
- 2012-02-24 JP JP2012039251A patent/JP5857791B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013175939A (en) | 2013-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | ASGR: An artificial spider-web-based geographic routing in heterogeneous vehicular networks | |
Tsiachris et al. | Junction-based geographic routing algorithm for vehicular ad hoc networks | |
JP2013168883A (en) | Communication device | |
WO2004110082B1 (en) | System and method for determining location of a device in a wireless communication network | |
CN102355406A (en) | Self-adaption data distributing method based on node density distribution in vehicle-mounted ad hoc network | |
Cao et al. | A geographic multicopy routing scheme for DTNs with heterogeneous mobility | |
JP2012217164A5 (en) | ||
JP5857791B2 (en) | Communication device | |
Vijay Vasanth et al. | An Efficient Cache Refreshing Policy to Improve QoS in MANET Through RAMP | |
CN104683232B (en) | The route selection method of long Connection Service can be provided in a kind of VANET | |
Upadhyay et al. | Comparison and performance analysis of reactive type DSR, AODV and proactive type DSDV routing protocol for wireless mobile ad-hoc network, using NS-2 simulator | |
Sasirekha et al. | Efficient route map based ant colony optimization for route discovery in vanet | |
CN111050374B (en) | Method for realizing low-delay new-generation information network | |
Singh et al. | A noble routing protocol for Vehicular ad hoc Networks (VANETs) with less routing overheads | |
Tang et al. | Knowledge‐based replica deletion scheme using directional anti‐packets for vehicular delay‐tolerant networks | |
Wang et al. | A receiver-based routing algorithm using competing parameter for VANET in urban scenarios | |
JP4335945B2 (en) | Ad hoc network system and its node equipment | |
Khattra et al. | ROUTING PROTOCOLS FOR VEHICULAR AD-HOC NETWORKS: A REVIEW. | |
De Rango et al. | Hierarchical trajectory-based routing protocol for Vehicular Ad Hoc Networks | |
Chao et al. | Utilizing the dropped packets for data delivery in VANETs | |
Vanitha et al. | Energy Efficient Geographic DOA (EEGDOA) Routing Protocol for Mobile Ad-Hoc Networks | |
Wang et al. | Social structure based routing of intermittently connected network using contact information | |
Dhanush et al. | Delay and hop sensitive routing protocol for vehicular ad hoc networks | |
Reddy et al. | BMRRP-Block Mesh Reliable Routing Protocol for Vehicular Ad hoc Networks. | |
Ghorbani et al. | Modern blockchain-based routing protocol to increase reliability in delay-tolerant networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141010 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150731 |
|
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: 20151117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5857791 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |