JP2004343495A - Communication terminal and communication network - Google Patents

Communication terminal and communication network Download PDF

Info

Publication number
JP2004343495A
JP2004343495A JP2003138542A JP2003138542A JP2004343495A JP 2004343495 A JP2004343495 A JP 2004343495A JP 2003138542 A JP2003138542 A JP 2003138542A JP 2003138542 A JP2003138542 A JP 2003138542A JP 2004343495 A JP2004343495 A JP 2004343495A
Authority
JP
Japan
Prior art keywords
terminal
relay
time
destination
holding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003138542A
Other languages
Japanese (ja)
Other versions
JP4140442B2 (en
Inventor
Nobuyuki Nakamura
信之 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2003138542A priority Critical patent/JP4140442B2/en
Priority to US10/845,199 priority patent/US7554982B2/en
Publication of JP2004343495A publication Critical patent/JP2004343495A/en
Application granted granted Critical
Publication of JP4140442B2 publication Critical patent/JP4140442B2/en
Priority to US12/471,955 priority patent/US8199664B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication terminal and a communication network for effectively utilizing resources of the communication terminal and the communication network by improving a conventional single path technology and a multipath technology. <P>SOLUTION: The communication terminal is provided with a communication control part 102 and a communication interface part 101 for controlling data transmission and reception to/from other communication terminals and controlling the operation of its own terminal, a transmission destination/transmission source analyzing part 103 for analyzing IDs of a transmission source and a transmission destination from received data, a time setting and holding part 105 for holding an initial value of a relay time, and a path control cache holding part 107 for storing the IDs of the terminals of the transmission destination and transmission source, and a relay time which is related to the terminal IDs and reduces with a time lapse and becomes zero soon. If the path control cache holding part 107 holds the IDs of the terminals of the transmission source and transmission destination analyzed from the received data, the received data are relayed and transmitted to a neighboring terminal. If the IDs of the terminals of the transmission source and transmission destination analyzed from the received data are not held, the received data are not relayed or transmitted. Thus, the resources of the communication terminal and communication network can effectively be utilized. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、複数の通信端末によって構成されるアドホックネットワークなどの通信ネットワーク、およびこの通信ネットワークを構成する通信端末に関するものである。
【0002】
【従来の技術】
アドホックネットワークにおいての通信は、送信元端末と送信先端末の間でのパケットの転送において、中間にいる適当な端末がそのパケットを中継することによって成り立っている。このようなアドホックネットワークにおいての通信技術には、1つの通信経路を指定して通信するシングルパス技術と、2つ以上の経路を指定して通信するマルチパス技術とがある。
【0003】
従来のシングルパス技術のアドホックネットワークでは、ネットワーク資源の浪費を最小限にとどめるため、送信元端末と送信先端末の間で、1つの経路を決定し、その経路を用いてデータ交換をすることを特徴としている(例えば特許文献1参照)。
【0004】
また、従来のマルチパス技術のアドホックネットワークでは、送信元端末と送信先端末の間で、あらかじめ複雑な処理のもとで複数の経路を定めておき、その経路を用いてデータ交換をすることを特徴としている(例えば特許文献2参照)。
【0005】
【特許文献1】
特開平8−37535号公報
【特許文献2】
特開2001−237875号公報
【特許文献3】
USP6028857
【非特許文献1】
「On−demand Multipath Distance Vector Routing in Ad Hoc Networks」,Mahesh K.Marina,Samir R.Das,Department of Electrical and Computer Science University of Cincinnati,U.S.A
インターネット<URL:http://www.cs.sunysb.edu/ ̄samir/Pubs/icnp−01.pdf>([平成15年5月16日検索])
【0006】
【発明が解決しようとする課題】
上記従来のシングルパス技術では、1つの経路を用いて通信するので、経路中の端末の電池がなくなったり移動したりして、経路中の端末がその場にいなくなってしまった場合に、経路が途切れて通信が途絶されてしまい、正常に通信するためには再び経路の構築をしなければならないという課題があった。
【0007】
また、上記従来のマルチパス技術では、通信するための複数の経路を持っているため、経路上に障害が起きた場合にも対応できるが、複雑な計算をもとに複数の経路を決定して、その経路を確保しなければならないという課題があった。
【0008】
本発明は、このような従来の課題を解決するためになされたものであり、従来のシングルパス技術およびマルチパス技術を改善して、通信端末および通信ネットワークの資源を有効活用できる通信端末および通信ネットワークを提供することを目的とするものである。
【0009】
【課題を解決するための手段】
本発明の通信端末は、
通信ネットワークを構成する他の通信端末と通信をする通信端末において、
上記他の通信端末とのデータの送受信を制御するととともに、自端末の動作を制御する通信制御手段と、
受信データから送信元または/および送信先の端末のIDを解析する送信先・送信元解析手段と、
中継時間の初期値を保持している時間設定保持手段と、
送信先または/および送信元の端末のIDと、その端末IDについての中継時間であって時間経過とともに減少してやがて0になる中継時間を保持するCache保持手段と
を備え、
上記通信制御手段は、
受信データに従って送信元または/および送信先の端末IDおよび上記中継時間の初期値を上記Cache保持手段に書き込み、
上記Cache保持手段に保持されている中継時間が0になったら、その中継時間についての端末IDを上記Cache保持手段から削除し、
受信データから解析された送信元または/および送信先の端末IDが上記Cache保持手段に保持されているものであれば、その受信データを近隣端末に中継送信し、
受信データから解析された送信元または/および送信先の端末IDが上記Cache保持手段に保持されていないものであれば、その受信データを中継送信しない
ことを特徴とするものである。
【0010】
【発明の実施の形態】
以下に説明する本発明の実施の形態に用いる図において、同じ機能を有する部位には同じ番号を付してあり、基本機能は同じであるが少し処理が異なる部位には、互いに異なった番号を付している。
【0011】
実施の形態1
図1は本発明の実施の形態1の通信端末の構成図である。この実施の形態1の通信端末は、通信インタフェース部101と、通信制御部102と、送信元・送信先解析部103と、近隣端末ID解析部104と、時間設定保持部105と、近隣端末ID保持部106と、経路制御Cache保持部107を備え、これらは図1のように接続されている。また、本発明の実施の形態1の通信ネットワーク(アドホックネットワーク)は、複数の図1に示す通信端末によって構成されている。
【0012】
[通信インタフェース部101]
図1において、通信インタフェース部101は、他の通信端末との通信をする。
【0013】
[通信制御部102]
通信制御部102は、通信インタフェース部101を介して、通信ネットワークからデータパケットを受信し、通信ネットワークにデータパケットを送信する。
【0014】
また、通信制御部102は、受信データパケットを送信元・送信先解析部103に送り、送信元・送信先解析部103から送信元端末IDと送信先端末IDを受け取る。
【0015】
また、通信制御部102は、近隣端末ID解析部104に受信データパケットを送り、近隣端末ID解析部104から近隣端末のIDを受け取る。
【0016】
また、通信制御部102は、中継制御Cacheを保持する時間を表す中継時間および近隣端末IDを保持する時間を表す保持時間の要求を時間設定保持部105に送り、時間設定保持部105にあらかじめ設定されている中継時間の初期値および保持時間の初期値を時間設定保持部105から受け取る。
【0017】
また、通信制御部102は、近隣端末ID解析部104で解析された近隣端末IDと時間設定保持部105から送られてきた保持時間の初期値の組を、近接端末ID保持部106に送る。
【0018】
また、通信制御部102は、送信元・送信先解析部103で解析された送信元端末IDを送信先端末IDとし、近隣端末ID解析部104で解析された近隣端末IDを中継先近隣端末IDとして、これらの送信先端末IDおよび中継先近隣端末IDならびに時間設定保持部105から送られてきた中継時間の初期値の組を、経路制御Cache保持部107に送る。
【0019】
また、通信制御部102は、送信元・送信先解析部103で解析された送信先端末IDが保持されているか否かを経路制御Cache保持部107に問い合わせ、その送信先端末IDが保持されていれば、その送信先端末IDについて保持されている全ての中継先近隣端末IDの返送を経路制御Cache保持部107に要求し、経路制御Cache保持部107から返送された全ての中継先近隣端末IDに、通信インタフェース部101を介して受信データパケットを転送(中継送信)する。また、問い合わせた送信先端末IDが保持されていなければ、受信データパケットを転送しない。
【0020】
[送信元・送信先解析部103]
送信元・送信先解析部103は、通信制御部102から送られてきた受信データパケットから、そのデータパケットの送信元端末IDと送信先端末IDを解析し、その送信元端末IDと送信先端末IDを通信制御部102に送る。
【0021】
[近隣端末ID解析部104]
近隣端末ID解析部104は、通信制御部102から送られてきた受信データパケットから、そのデータパケットを自端末に直接送ってきた近隣端末のIDを解析し、その近隣端末IDを通信制御部102に送る。
【0022】
[時間設定保持部105]
時間設定保持部105には、経路制御Cacheを保持する時間を表す中継時間の初期値と近隣端末IDを保持する時間を表す保持時間の初期値とがあらかじめ設定されて保持されている。この時間設定保持部105は、通信制御部102からの要求に応じて、上記中継時間の初期値および上記保持時間の初期値を通信制御部102に送る。例えば、この時間設定保持部105に保持されている中継時間の初期値は600秒、保持時間の初期値:600秒などである。

【0023】
[近隣端末ID保持部106]
近隣端末ID保持部106は、図2のようなデータ構造のテーブルを有し、通信制御部102から送られてきた近隣端末IDとその保持時間の組を保持する。この近隣端末ID保持部106に保持されている保持時間は、初期値から除々に減り、やがて0になる。近隣端末ID保持部106は、受け取った組の近隣端末IDが上記テーブルに保持されていないものであれば、その組を上記テーブルに追記し、受け取った組の近隣端末IDが上記テーブルに保持されているものであれば、その組を上記テーブルに上書きし(その組の保持時間は初期値に上書きされる)、保持時間が0になると、その組を上記テーブルから削除する。
【0024】
[経路制御Cache保持部107]
経路制御Cache保持部107は、図3のようなテーブルを有し、通信制御部102から送られてきた送信先端末IDと中継先近隣端末IDと中継時間の組を保持する。この経路制御Cache保持部107に保持されている中継時間は、初期値から除々に減り、やがて0になる。経路制御Cache保持部107は、受け取った組の内の送信先端末IDと中継先近隣端末IDの組が上記テーブルに保持されていないものであれば、その受け取った組を上記テーブルに追記し、受け取った組の内の送信先端末IDと中継先近隣端末IDの組が上記テーブルに保持されているものであれば、その受け取った組を上記テーブルに上書きし(その組の中継時間は初期値に上書きされる)、中継時間が0になると、その組を上記テーブルから削除する。
【0025】
また、経路制御Cache保持部107は、通信制御部102から送信先端末IDについての問い合わせがあると、その送信先端末IDを保持しているか否かを通信制御部102に返答し、通信制御部102から保持しているその送信先端末IDについての中継先近隣端末IDの返送を要求されると、該当する全ての中継先近隣端末IDを通信制御部102に送る。
【0026】
[実施の形態1の動作]
実施の形態1の通信端末および通信ネットワークの動作について以下に説明する。説明には、図1から図3までの他に、図4から図6までを用いる。図4から図6までにおいて、それぞれの丸は実施の形態1の通信ネットワークを構成する図1の通信端末である。図4から図6までにおいて、端末Sと端末Dとが通信する場合について以下に説明する。
【0027】
まず、端末Sが、受信したデータパケットを単純に転送するフラッディング法によって、端末Dとの通信を要求するメッセージのデータパケットをネットワーク全体に発信する。
【0028】
また、端末Dからの通信要求メッセージのデータパケットを受信した端末Dは、上記フラッディング法によって、端末Sと通信可能であるという返答メッセージのデータパケットをネットワーク全体に発信する(図4参照)。この返答メッセージのデータパケットは、端末Sも受信する。
【0029】
端末Sおよび端末Dが発信した通信要求メッセージのデータパケットを受信したそれぞれ端末(端末Sが発信したメッセージについては端末Dを含み、端末Dが発信したメッセージについては端末Sを含む)では、この受信データパケットの送信元端末ID(端末Sまたは端末DのID)と送信先端末ID(端末Dまたは端末SのID)が送信元・送信先解析部103によって解析され、この受信データパケットを直接送ってきた近隣端末のIDが近隣端末ID解析部104によって解析される。
【0030】
そして、解析された近隣端末IDおよび時間設定保持部105に保持されている保持時間の初期値の組が近隣端末ID保持部106に書き込まれる。
【0031】
また、解析された送信元端末IDを送信先端末IDとし、解析された近隣端末IDを中継先近隣端末IDとして、これらの送信先端末IDおよび中継先近隣端末IDならびに時間設定保持部105に保持されている中継時間の初期値の組が経路制御Cache保持部107に書き込まれる。
【0032】
この時点において、端末Dを送信先とするデータパケットを受信した場合にそれぞれの端末がいずれの近隣端末に転送(中継送信)するかを図示したのが図5である。
【0033】
端末Dから送信された返答メッセージのデータパケットを受信したことによって、端末Sの経路制御Cache保持部107には、送信先端末IDとして端末DのIDが保持されている。端末Sは、端末Dと通信するに際して、送信先である端末DのIDについて経路制御Cache保持部107に保持されている全ての中継先近隣端末に、端末Dを送信先とするデータパケットを送信する。
【0034】
端末Sから送信されたデータパケットを受信した端末Sの近隣端末も、端末Sと同様に、送信先である端末DのIDについて経路制御Cache保持部107に保持されている全ての中継先近隣端末に、受信したデータパケットを転送(中継送信)する。
【0035】
このように、端末Sから送信されたデータパケットを受信した全ての端末が上記のような中継送信動作をする。ただし、経路制御Cache保持部107に保持されている端末DのIDについて中継時間が0になると、その端末DのIDは経路制御Cache保持部107から削除されるので、経路制御Cache保持部107に端末DのIDが保持されていなければ、受信したデータパケットを転送しない。
【0036】
これによって、図6に示すように自動的に複数経路が選択され、端末Sが送信したデータパケットを端末Dに届けることができる。端末Dから端末Sにデータパケットを送信するときの動作も同様である。
【0037】
なお、この実施の形態1では、送信先端末を特定しないデータパケットを受信した場合などに、近隣端末ID保持部106に保持されている全ての近隣端末にその受信データパケットを転送する。
【0038】
以上のように実施の形態1によれば、受信データパケットを中継送信するか否かをそのデータパケットの送信先端末IDによって判断するためのCacheであって、徐々に減ってやがて0になる中継時間によってデータ内容の保持および削除が制御されるCache(経路制御Cache)を通信端末に設けたことにより、自動的に選択された複数経路によってデータパケットの中継送信がなされるので、中継端末がなくなって経路が遮断されるなどのデータパケット転送の失敗を減らすことができる。また、GPSを用いず、複雑な距離計算を必要としないので、端末の持つ資源を有効に使うことができる。
【0039】
実施の形態2
図7は本発明の実施の形態2の通信端末の構成図である。この実施の形態2の通信端末は、通信インタフェース部101と、通信制御部201と、送信元・送信先解析部103と、中継解析部202と、近隣端末ID解析部104と、時間設定保持部105と、近隣端末ID保持部106と、中継Cache保持部203と、中継制御部204とを備え、これらは図7のように接続されている。また、本発明の実施の形態2の通信ネットワーク(アドホックネットワーク)は、複数の図7に示す通信端末によって構成されている。
【0040】
[通信インタフェース部101]
図7において、通信インタフェース部101は、他の通信端末との通信をする。
【0041】
[通信制御部201]
通信制御部201は、通信インタフェース部101を介して、通信ネットワークからデータパケットを受信し、通信ネットワークにデータパケットを送信する。
【0042】
また、通信制御部201は、受信データパケットを送信元・送信先解析部103に送り、送信元・送信先解析部103から送信元端末IDと送信先端末IDを受け取る。
【0043】
また、通信制御部201は、受信データパケットを中継解析部202に送り、中継解析部202で解析された中継すべき2つの端末のIDおよび中継制御部204で生成された中継要求メッセージのデータパケットを中継制御部204から受け取る。
【0044】
また、通信制御部201は、受信データパケットを近隣端末ID解析部104に送り、近隣端末ID解析部104から近隣端末のIDを受け取る。
【0045】
また、通信制御部201は、中継Cacheを保持する時間を表す中継時間および近隣端末IDを保持する時間を表す保持時間の要求を時間設定保持部105に送り、時間設定保持部105にあらかじめ設定されている中継時間の初期値および保持時間の初期値を時間設定保持部105から受け取る。
【0046】
また、通信制御部201は、近隣端末ID解析部104で解析された近隣端末IDと時間設定保持部105から送られてきた保持時間の初期値の組を、近接端末ID保持部106に送る。
【0047】
また、通信制御部201は、中継制御部204で解析された中継すべき2つの端末のIDと時間設定保持部105から送られてきた中継時間の初期値の組を、中継Cache保持部203に送る。
【0048】
また、通信制御部201は、送信元・送信先解析部103で解析された送信元端末IDと送信先端末IDの組が、2つの端末のIDの組として保持されているか否かを中継Cache保持部203に問い合わせ、その送信元端末IDと送信先端末IDの組が保持されていれば、近隣端末ID保持部106に保持されている全ての近隣端末IDの返送を近隣端末ID保持部106に要求し、近隣端末ID保持部106から返送された全ての近隣端末IDに、通信インタフェース部101を介して受信データパケットを転送(中継送信)する。また、中継Cache保持部203に問い合わせた送信元端末IDと送信先端末IDの組が保持されていなければ、受信データパケットを転送しない。
【0049】
[送信元・送信先解析部103]
送信元・送信先解析部103は、通信制御部201から送られてきた受信データパケットから、そのデータパケットの送信元端末IDと送信先端末IDを解析し、その送信元端末IDと送信先端末IDを通信制御部201に送る。
【0050】
[中継解析部202]
中継解析部202は、通信制御部201から送られてきた受信データパケット中に中継依頼フラグがあるか否かおよび中継要求フラグがあるか否かを判別する(通信制御部201から送られてきた受信データパケットが中継依頼メッセージのデータパケットであるか否かおよび中継要求メッセージのデータパケットであるか否かを判別する)。
【0051】
そして、中継解析部202は、中継依頼フラグがあれば(中継依頼メッセージのデータパケットであれば)、中継依頼情報および中継すべき2つの端末(送信元端末および送信先端末)を解析し、その中継依頼情報を中継制御部204に送る。
【0052】
また、中継解析部202は、中継要求フラグがあれば(中継要求メッセージのデータパケットであれば)、中継すべき2つの端末(送信元端末および送信先端末)のIDを解析し、その中継すべき2つの端末のIDを中継制御部204に送る。
【0053】
[中継制御部204]
中継制御部204は、中継解析部202から送られてきた中継すべき2つの端末のIDをそのまま通信制御部201に送る。
【0054】
また、中継制御部204は、中継解析部202から送られてきた中継依頼情報に従って中継要求メッセージのデータパケットを生成し、その中継要求メッセージのデータパケットを通信制御部201に送る。
【0055】
[近隣端末ID解析部104]
近隣端末ID解析部104は、通信制御部201から送られてきた受信データパケットから、そのデータパケットを自端末に直接送ってきた近隣端末のIDを解析し、その近隣端末IDを通信制御部102に送る。
【0056】
[時間設定保持部105]
時間設定保持部105は、中継Cacheを保持する時間を表す中継時間の初期値と近隣端末IDを保持する時間を表す保持時間の初期値とがあらかじめ設定されて保持されている。この時間設定保持部105は、通信制御部201からの要求に応じて、上記中継時間の初期値および上記保持時間の初期値を通信制御部201に送る。
【0057】
[近隣端末ID保持部106]
近隣端末ID保持部106は、図2のようなデータ構造のテーブルを有し、通信制御部201から送られてきた近隣端末IDとその保持時間の組を保持する。この近隣端末ID保持部106に保持されている保持時間は、初期値から除々に減り、やがて0になる。近隣端末ID保持部106は、受け取った組の近隣端末IDが上記テーブルに保持されていないものであれば、その組を上記テーブルに追記し、受け取った組の近隣端末IDが上記テーブルに保持されているものであれば、その組を上記テーブルに上書きし(その組の保持時間は初期値に上書きされる)、保持時間が0になると、その組を上記テーブルから削除する。
【0058】
また、近隣端末ID保持部106は、通信制御部201から近隣端末IDの返送を要求されると、保持している全ての近隣端末IDを通信制御部201に送る。
【0059】
[中継Cache保持部203]
中継Cache保持部203は、図8のようなテーブルを有し、通信制御部201から送られてきた中継すべき2つの端末のIDと中継時間の初期値の組を保持する。この中継Cache保持部203に保持されている中継時間は、初期値から除々に減り、やがて0になる。中継Cache保持部203は、受け取った組の内の2つの端末のIDの組が上記テーブルに保持されていないものであれば、その受け取った組を上記テーブルに追記し、受け取った組の内の2つの端末のIDの組が上記テーブルに保持されているものであれば、その受け取った組を上記テーブルに上書きし(その組の中継時間は初期値に上書きされる)、中継時間が0になると、その組を上記テーブルから削除する。
【0060】
また、中継Cache保持部203は、通信制御部201から送信先端末IDと送信先端末IDの組が中継すべき2つの端末の組として保持されているか否かの問い合わせがあると、その2つのIDを保持しているか否かを通信制御部201に返答する。
【0061】
[実施の形態2の動作]
実施の形態2の通信端末および通信ネットワークの動作について以下に説明する。説明には、図7および図8の他に、図9から図11までを用いる。図9から図11までにおいて、それぞれの丸は実施の形態2の通信ネットワークを構成する図7の通信端末である。図9から図11までにおいて、端末Sと端末Dとが通信する場合について以下に説明する。
【0062】
まず、端末Sは、端末Dと通信するための1つの経路を特定する。例えば、図9のような経路を1つ特定したとする。このような1つの経路は、従来技術を用いることによって特定できる。
【0063】
さらに、端末Sは、上記特定した1つの経路上において、端末Sと端末Dのほぼ中間に位置する端末を選択する。例えば、中継数をもとに、端末Sから端末Dまでの中継数のほぼ真ん中の場所にある端末として、図9のように端末Mを選択する。
【0064】
さらにまた、端末Sは、例えば、
中継数r=(((端末Sから端末Dまでの中継数)/2)の整数部分+1)
によって中継数rを求め、
例えば「端末Mおよびこの端末Mから中継数r以内となる端末に、所定の期間において、端末Sと端末Dの通信においての中継の中心の端末となってもらうために、上記中継数r=4以内となるそれぞれの端末に端末Mから中継要求のデータパケットを送ってくれるように依頼する」という内容の中継依頼情報を含む中継依頼のデータパケット(中継依頼フラグを付したデータパケット)を、端末Mに送信する。
【0065】
端末Mは、端末Sから送信された上記中継依頼のデータパケットを受信すると、中継解析部202によって中継依頼情報を解析し、中継制御部204において端末Sと端末Dの通信の中継を要求する中継要求のデータパケット(中継要求フラグを付したデータパケットを生成し、この中継要求のデータパケットを端末Mからの中継数がr=4以内の端末に送信する。
【0066】
以上の結果を図示したのが図10である。なお、図10および図11において、は、端末Mからの中継数である。
【0067】
また、端末Mは、中継依頼のデータパケットから中継解析部202によって解析された中継すべき2つの端末(端末Sおよび端末D)のIDと中継時間の初期値の組を中継Cache保持部203に書き込む。
【0068】
端末Mからの中継数がr=4以内のそれぞれの端末は、端末Mから送信された中継要求のデータパケットを受信すると、その中継要求のデータパケットから中継解析部202によって解析された中継すべき2つの端末(端末Sおよび端末D)のIDと中継時間の初期値の組を中継Cache保持部203に書き込む。
【0069】
このように、端末Mおよび端末Mからの中継数がr=4以内のそれぞれの端末が中継すべき2つの端末(端末Sおよび端末D)のIDと中継時間の初期値の組を中継Cache保持部203に書き込むことによって、中継Cache保持部203に端末SのIDと端末DのIDの組を中継すべき2つの端末のIDの組として保持している端末のみが端末Sと端末Dの通信の中継をするので、図11に示すように自動的に複数経路が選択され、端末Sが送信したデータパケットを端末Dに届けることができる。端末Dから端末Sにデータパケットを送信するときの動作も同様である。
【0070】
以上にように実施の形態2によれば、受信データパケットを中継送信するか否かをそのデータパケットの送信元端末IDおよび送信先端末IDによって判断するためのCacheであって、徐々に減ってやがて0になる中継時間によってデータ内容の保持および削除が制御されるCache(中継Cache)を通信端末に設けたことにより、自動的に選択された複数経路によってデータパケットの中継送信がなされるので、データパケット転送の失敗を減らすことができる。また、中継送信するか否かの判断にかかる計算負荷を減らすことができ、通信ネットワーク内の限られた端末のみが中継送信をするので、資源の無駄使いにならない。また、GPSを用いず、複雑な距離計算を必要としないで、端末の持つ資源を有効に使うことができる。
【0071】
実施の形態3
図12は本発明の実施の形態3の通信端末の構成図である。この実施の形態3の通信端末は、通信インタフェース部101と、通信制御部301と、送信元・送信先解析部103と、近隣端末ID解析部104と、時間設定保持部105と、近隣端末ID保持部106と、中継数制御部302と、中継数Cache保持部303とを備え、これらは図12のように接続されている。また、本発明の実施の形態3の通信ネットワーク(アドホックネットワーク)は、複数の図12に示す通信端末によって構成されている。
【0072】
[通信インタフェース部101]
図12において、通信インタフェース部101は、他の通信端末との通信をする。
【0073】
[通信制御部301]
通信制御部301は、通信インタフェース部101を介して、通信ネットワークからデータパケットを受信し、通信ネットワークにデータパケットを送信する。
【0074】
また、通信制御部301は、受信データパケットを送信元・送信先解析部103に送り、送信元・送信先解析部103から送信元端末IDと送信先端末IDを受け取る。
【0075】
また、通信制御部301は、受信データパケットを近隣端末ID解析部104に送り、近隣端末ID解析部104から近隣端末のIDを受け取る。
【0076】
また、通信制御部301は、中継数Cacheを保持する時間を表す中継時間および近隣端末IDを保持する時間を表す保持時間の要求を時間設定保持部105に送り、時間設定保持部105にあらかじめ設定されている中継時間の初期値および保持時間の初期値を時間設定保持部105から受け取る。
【0077】
また、通信制御部301は、近隣端末ID解析部104で解析された近隣端末IDと時間設定保持部105から送られてきた保持時間の初期値の組を、近接端末ID保持部106に送る。
【0078】
また、通信制御部301は、通信要求メッセージの受信データパケットを中継数制御部302に送り、中継先制御部302でこの通信要求メッセージの受信データパケットから解析された送信元から自端末までの中継数を中継先制御部302から受け取る。
【0079】
また、通信制御部301は、受信データパケットを中継数制御部302に送り、この受信データパケットから解析された送信先までの中継数および送信元からの中継数、ならびに上記受信データパケット中のこれら2つの中継数の数値が書き換えることによって生成されたデータパケットを、中継先制御部302から受け取る。
【0080】
また、通信制御部301は、送信元・送信先解析部103で解析された送信元端末IDを送信先端末IDとし、中継数制御部302で解析された送信元から自端末までの中継数を自端末から送信先までの中継数として、これら送信先端末IDおよび自端末から送信先までの中継数ならびに時間設定保持部105から送られてきた中継時間の初期値の組を、中継数Cache保持部303に送る。
【0081】
また、通信制御部301は、送信元・送信先解析部103で解析された送信先端末IDが保持されているか否かを中継数Cache保持部303に問い合わせ、その送信先端末IDが保持されていれば、その送信先端末IDについて保持されている自端末から送信先までの中継数の返送を中継数Cache保持部303に要求し、中継数Cache保持部303から返送された中継数と中継数制御部302で解析された送信先までの中継数とを比較して、中継数Cache保持部303から返送された中継数の値が中継数制御部302で解析された送信先までの中継数の値よりも小さければ、中継が必要と判断し、近隣端末ID保持部106に保持されている全ての近隣端末IDの返送を近隣端末ID保持部106に要求し、近隣端末ID保持部106から返送された全ての近隣端末IDに、中継制御部302で生成されたデータパケット(受信データパケット中の送信先までの中継数を1減じ、送信元からの中継数を1増やしたデータパケット)を転送(中継送信)する。また、中継数Cache保持部303から返送された中継数の値が中継数制御部302で解析された送信先までの中継数の値以上であれば、中継は不要と判断し、データパケットを転送しない。また、中継数Cache保持部302に問い合わせた送信先端末IDが保持されていない場合にも、データパケットを転送しない。
【0082】
[送信元・送信先解析部103]
送信元・送信先解析部103は、通信制御部301から送られてきた受信データパケットから、そのデータパケットの送信元端末IDと送信先端末IDを解析し、その送信元端末IDと送信先端末IDを通信制御部301に送る。
【0083】
[近隣端末ID解析部104]
近隣端末ID解析部104は、通信制御部102から送られてきた受信データパケットから、そのデータパケットを自端末に直接送ってきた近隣端末のIDを解析し、その近隣端末IDを通信制御部301に送る。
【0084】
[時間設定保持部105]
時間設定保持部105は、中継数Cacheを保持する時間を表す中継時間の初期値と近隣端末IDを保持する時間を表す保持時間の初期値とがあらかじめ設定されて保持されている。この時間設定保持部105は、通信制御部301からの要求に応じて、上記中継時間の初期値および上記保持時間の初期値を通信制御部301に送る。
【0085】
[近隣端末ID保持部106]
近隣端末ID保持部106は、図2のようなデータ構造のテーブルを有し、通信制御部301から送られてきた近隣端末IDとその保持時間の組を保持する。この近隣端末ID保持部106に保持されている保持時間は、初期値から除々に減り、やがて0になる。近隣端末ID保持部106は、受け取った組の近隣端末IDが上記テーブルに保持されていないものであれば、その組を上記テーブルに追記し、受け取った組の近隣端末IDが上記テーブルに保持されているものであれば、その組を上記テーブルに上書きし(その組の保持時間は初期値に上書きされる)、保持時間が0になると、その組を上記テーブルから削除する。
【0086】
また、近隣端末ID保持部保持部106は、通信制御部301から近隣端末IDの返送を要求されると、保持している全ての近隣端末IDを通信制御部301に送る。
【0087】
[中継数制御部302]
中継数制御部302は、通信制御部301から送られてきた通信要求メッセージの受信データパケットから、そのデータパケットの送信元から自端末までの中継数を解析し、その送信元から自端末までの中継数の値を通信制御部301に送る。また、通信制御部301から送られてきた受信データパケットから送信先までの中継数および送信元からの中継数を解析するとともに、上記受信データパケット中の送信先までの中継数を1減じ、送信元からの中継数を1増やしたデータパケットを生成し、これら2つの中継数の値および生成したパケットを通信制御部301に送る。
【0088】
[中継数Cache保持部303]
中継数Cache保持部303は、図13のようなテーブルを有し、通信制御部301から送られてきた送信先端末IDと自端末から送信先までの中継数と中継時間の初期値の組を保持する。この中継数Cache保持部303に保持されている中継時間は、初期値から除々に減り、やがて0になる。中継数Cache保持部303は、受け取った送信先端末IDが上記テーブルに保持されていないものであれば、その受け取った組を上記テーブルに追記し、受け取った送信先端末IDが上記テーブルに保持されているものであれば、その受け取った組を上記テーブルに上書きし(その組の中継時間は初期値に上書きされる)、中継時間が0になると、その組を上記テーブルから削除する。
【0089】
また、中継数Cache保持部303は、通信制御部301から送信先端末IDについての問い合わせがあると、その送信先端末IDを保持しているか否かを通信制御部301に返答し、通信制御部102から保持しているその送信先端末IDについての中継数の返送を要求されると、該当する中継数を通信制御部301に送る。
【0090】
[実施の形態3の動作]
実施の形態3の通信端末および通信ネットワークの動作について以下に説明する。説明には、図12および図13の他に、図14および図15を用いる。図14および図15において、それぞれの丸は実施の形態3の通信ネットワークを構成する図12の通信端末である。図14および図15において、端末Sと端末Dとが通信する場合について以下に説明する。
【0091】
まず、端末Dが、フラッディング方法によって、中継数設定のための通信要求メッセージのデータパケットをネットワーク全体に発信する(図14参照)
【0092】
端末Dが発信した通信要求メッセージのデータパケットを受信したそれぞれ端末では、この受信データパケットの送信元端末ID(端末DのID)と送信先端末ID(端末SのID)が送信元・送信先解析部103によって解析され、この受信データパケットを直接送ってきた近隣端末のIDが近隣端末ID解析部104によって解析され、この受信データパケットの送信元から自端末までの中継数が中継数制御部302によって解析される。
【0093】
そして、解析された送信元端末IDを送信先端末IDとし、解析された送信元から自端末までの中継数を自端末から送信先までの中継数として、これらの送信先端末IDおよび自端末から送信先までの中継数ならびに時間設定保持部105に保持されている中継時間の初期値の組が中継数Cache保持部303に書き込まれる。
【0094】
この時点で、上記通信要求メッセージのデータパケットを受信したそれぞれの端末は、自端末から端末Dまでの中継数(=端末Dから自端末までの中継数)を、中継数Cache保持部303に保持されている中継数によって、図14および図15の端末を示す丸に付してある添え字のように認識することができる。
【0095】
また、上記通信要求メッセージのデータパケットは、端末Sも受信している。端末Sは、端末Dと通信するに際して、中継数Cache保持部303に自端末から送信先(端末D)までの中継数を問い合わせ、中継数Cache保持部303から返送された自端末から送信先(端末D)までの中継数の値を送信先(端末D)までの中継数の値とし、送信元からの中継数の値を0としたデータパケットを生成し、このデータパケットを近隣端末に送信する。
【0096】
端末Sから送信された上記データパケットを受信した端末は、中継数制御部302で送信先(端末D)までの中継数および送信元(端末S)からの中継数を解析し、中継数Cache保持部303に自端末から送信先(端末D)までの中継数を問い合わせ、中継数Cache保持部303から返送された中継数の値が上記解析された送信先(端末D)までの中継数の値よりも小さければ、上記受信データパケット中の送信先までの中継数を1減らし、送信元からの中継数を1増やしたデータパケットを生成し、これら2つの中継数の値を変換したデータパケットを近隣端末に転送(中継送信)する。また、中継数Cache保持部303から返送された中継数の値が上記解析された送信先(端末D)までの中継数の値以上であれば、データパケットを転送しない。また、中継数Cache保持部303から返送された中継数の値が上記解析された送信先(端末D)までの中継数と同じであれば、上記受信データパケットをそのまま近隣端末に転送(中継送信)する。
【0097】
このように、端末Sから送信されたデータパケットを受信した全ての端末が上記のような中継送信動作をすることにより、図15に示すように自動的に複数経路が選択され、送信先端末までデータパケットを届けることができる。
【0098】
以上にように実施の形態3によれば、受信データパケットを中継送信するか否かをそのデータパケットの中継数(自端末がそのデータパケット送ってきた近隣端末よりも送信先に近いまたは等しいか否か)によって判断するためのCacheであって、徐々に減ってやがて0になる中継時間によってデータ内容の保持および削除が制御されるCache(中継数Cache)を通信端末に設けたことにより、自動的に選択された複数経路によってデータパケットの中継送信がなされるので、データパケットの中継が送信先端末に近づいていくようにそれぞれの端末が動作し、自動的に選択された複数経路によってデータパケットの中継送信がなされるので、データパケット転送の失敗を減らすことができる。また、GPSを用いず、複雑な距離計算を必要としないで、端末の持つ資源を有効に使うことができる。
【0099】
実施の形態4
以下に説明する実施の形態4では、データパケットの送受信中に通信端末が移動をする場合などに、自端末の移動を検知して周囲の通信端末に発信することにより、通信端末の移動による通信経路の変化に対応できるようにしたものである。
【0100】
図16は本発明の実施の形態4の通信端末の構成図である。この実施の形態4の通信端末は、通信インタフェース部101と、通信制御部401と、送信元・送信先解析部103と、近隣端末ID解析部104と、時間設定保持部105と、近隣端末ID保持部106と、経路制御Cache保持部107と、移動検知部402とを備え、これらは図16のように接続されている。また、本発明の実施の形態4の通信ネットワーク(アドホックネットワーク)は、複数の図16に示す通信端末によって構成されている。
【0101】
この図16の実施の形態4の通信端末は、図1の上記実施の形態1の通信端末において、移動検知部402を設け、通信制御部102を通信制御部401としたものである。
【0102】
[移動検知部402]
図16において、移動検知部402は、振動や加速力などを検出することによって自端末の移動を検知し、そのことを通信制御部401に伝える。この移動検知部402は、例えば、振り子の傾き加減によって移動を検出する振動検出装置、あるいは移動速度の計算までできる速度計装置である。
【0103】
[通信制御部401]
通信制御部401は、上記実施の形態1の通信制御部101(図1参照)において、移動検知部402に対応する機能を設けたものである。
【0104】
[実施の形態4の動作]
実施の形態4の通信端末および通信ネットワークの動作について以下に説明する。なお、主に通信制御部401および移動検知部402の動作について説明し、上記実施の形態1と同様動作についてはその説明を省略する。
【0105】
移動検知部402端末が自端末の移動を検知して、そのことを通信制御部401に伝えると、通信制御部401は、周囲の端末(自端末の近接端末ID保持部106に保持されているそれぞれの近隣端末、または/およびこれらの近隣端末から任意の回数中継される端末)に、例えば「自端末の移動を検知したために自端末のIDを削除を要求する」という内容のID削除要求メッセージのデータパケットを、通信インタフェース部101を介して発信する。
【0106】
上記ID削除要求メッセージのデータパケットを、通信インタフェース部101を介して受信した周囲のそれぞれの端末(それぞれの近隣端末または/およびこれらの近隣端末から任意の回数中継される端末)の通信インタフェース部401は、上記ID削除要求メッセージのデータパケットの送信元端末のIDを、自端末の近隣端末ID保持部106の近隣端末IDまたは/および経路制御Cache保持部107の中継先近隣端末IDから削除する。
【0107】
以上のように実施の形態4によれば、自端末の移動を検知して周囲の端末に知らせることにより、中継端末が移動したことによる生じた中継経路の変更を促して、存在しない近隣端末にデータパケットを送るような無駄を省き、データパケットの遅延を少なくすることができる。
【0108】
実施の形態5
以下に説明する実施の形態5では、データパケットの送受信中に通信端末の集団が移動をする場合などに、移動速度および移動方向を周囲の通信端末と交換することにより、周囲の通信端末と一緒に移動するような通信経路の変化に対応できるようにしたものである。
【0109】
図17は本発明の実施の形態5の通信端末の構成図である。この実施の形態5の通信端末は、通信インタフェース部101と、通信制御部501と、送信元・送信先解析部103と、近隣端末ID解析部104と、時間設定保持部105と、近隣端末ID保持部106と、経路制御Cache保持部107と、移動制御部502と、移動検知部503とを備え、これらは図17のように接続されている。また、本発明の実施の形態5の通信ネットワーク(アドホックネットワーク)は、複数の図17に示す通信端末によって構成されている。
【0110】
この図17の実施の形態5の通信端末は、図1の上記実施の形態1の通信端末において、移動制御部502および移動検知部503を設け、通信制御部102を通信制御部501としたものである。
【0111】
[移動検知部503]
図17において、移動検知部503は、自端末の移動速度・移動方向を検知して、その移動速度・移動方向を移動制御部502に送る。この移動検知部503は、例えば移動速度および移動方向を検出できるGPS装置である。
【0112】
[移動制御部502]
移動制御部502は、図18のようなデータ構造の管理テーブルを有し、移動検知部503によって取得された自端末の移動速度・移動方向、および移動通知メッセージの受信データパケットから取得した周囲の他の端末の移動速度・移動方向を管理する。
【0113】
ここで、図18のテーブルは、自端末および周囲の端末のIDと、これらの端末それぞれの移動速度および移動方向によって構成されている。上記移動方向は、例えば、東をx軸正方向、北をy軸正方向とするベクトル情報などであるとする。
【0114】
また、移動制御部502は、時端末の移動速度・移動方向を周囲の端末に知らせるために、移動検知部503によって取得された自端末の移動速度・移動方向を通信制御部501に送る。
【0115】
また、移動制御部502は、自端末と周囲端末との相対速度(移動速度・移動方向の差異)を計算し、その移動速度・移動方向の差異が大きい(所定値を越える)周囲端末を判別し、その移動速度・移動方向の差異が大きかった周囲端末のIDについては、通信制御部501に送るとともに、図18のような管理テーブルから削除する。
【0116】
[通信制御部501]
通信制御部501は、上記実施の形態1の通信制御部101(図1参照)において、移動制御部502および移動検知部503に対応する機能を設けたものである。
【0117】
[実施の形態5の動作]
実施の形態5の通信端末および通信ネットワークの動作について以下に説明する。なお、主に通信制御部501ならびに移動制御部502および移動検知部503の動作について説明し、上記実施の形態1と同様動作についてはその説明を省略する。
【0118】
移動検知部503が検知した自端末の移動速度・移動方向を移動制御部502に送ると、移動制御部502は、移動検知部503は検知した自端末の移動速度・移動方向を、図18のような管理テーブルに書き込むとともに、通信制御部501に送る。
【0119】
通信制御部501は、移動制御部502から送られてきた自分端末の移動速度・移動方向を移動通知メッセージのデータパケットとし、この移動通知メッセージのデータパケットを、周囲の端末(自端末の近隣端末ID保持部104に保持されているそれぞれの近隣端末、または/およびこれらの近隣端末から任意の回数中継される端末)に、通信インタフェース部101を介して発信する。
【0120】
上記移動通知メッセージのデータパケットを、通信インタフェース部101を介して受信した周囲のそれぞれの端末(それぞれの近隣端末または/およびこれらの近隣端末から任意の回数中継される端末)の通信インタフェース部501は、上記移動通知メッセージの受信データパケットを移動制御部502に送る。
【0121】
移動制御部502は、上記移動通知メッセージの受信データパケットから周囲の端末の移動速度・移動方向を取得し、それを図18のような管理テーブルに書き込む。
【0122】
さらに、移動制御部502は、図18のような管理テーブルをもとに、自端末と周囲のそれぞれの端末との移動速度・移動方向の差異を求め、その差異が小さかった周囲端末のIDについてはそのまま管理テーブルに保持し、その差異が大きかった周囲端末のIDについては、管理テーブルから削除するとともに、通信制御部501に送る。
【0123】
通信制御部501は、上記移動速度・移動方向の差異が大きかった周囲端末IDを近隣端末ID保持部106の近隣端末IDから削除する。
【0124】
例えば、図18の管理テーブルでは、自端末と端末Mは、移動速度および移動方向がほぼ同じであると判断され、端末Mは管理テーブルにそのまま残される。また、端末Qは、静止していると判断され、図18の管理テーブルおよび近隣端末ID保持部106から削除される。
【0125】
以上のように実施の形態5によれば、周囲の端末と互いの移動速度・移動方向を交換することにより、存在しない近隣端末IDを保持しておくような無駄もなく、同じように移動している端末群内では通常通り通信でき、同じように移動している端末群以外の端末とは、その移動端末群の内の周辺の端末のみが通信すればよいので、通信ネットワークの資源を無駄使いにならない。
【0126】
なお、上記実施の形態2では、送信元端末である端末Sが端末Mを計算してこの端末Mに中継依頼をしたが、送信先端末である端末Dが端末Mを計算してこの端末Mに中継依頼をしてもよいし、端末Sと端末Dがそれぞれ異なる端末に中継依頼をしてもよいし、端末Mが自発的に中継の中心端末として機能してもよい。
【0127】
また、端末Sと端末Dの距離が、大きく離れている場合などは、中継の中心となる端末を複数個設置することにより、効率よく利用することも可能である。例えば、図19に黒丸で示すように中継の中心となる端末を3つ設置すると、端末Sと端末Dの間に中継の中心となる端末を1つだけ設置するよりも、通信ネットワークの資源を有効に使うことができる。
【0128】
【発明の効果】
以上説明したように本発明によれば、通信端末および通信ネットワークの資源を有効活用できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態1の通信端末の構成図である。
【図2】近隣端末ID保持部のデータ構造を示す図である。
【図3】経路制御Cache保持部のデータ構造を示す図である。
【図4】本発明の実施の形態1の通信ネットワークの構成および動作を説明する図である。
【図5】本発明の実施の形態1の通信ネットワークの構成および動作を説明する図である。
【図6】本発明の実施の形態1の通信ネットワークの構成および動作を説明する図である。
【図7】本発明の実施の形態2の通信端末の構成図である。
【図8】中継Cache保持部のデータ構造を示す図である。
【図9】本発明の実施の形態2の通信ネットワークの構成および動作を説明する図である。
【図10】本発明の実施の形態2の通信ネットワークの構成および動作を説明する図である。
【図11】本発明の実施の形態2の通信ネットワークの構成および動作を説明する図である。
【図12】本発明の実施の形態3の通信端末の構成図である。
【図13】中継数Cache保持部のデータ構造を示す図である。
【図14】本発明の実施の形態3の通信ネットワークの構成および動作を説明する図である。
【図15】本発明の実施の形態3の通信ネットワークの構成および動作を説明する図である。
【図16】本発明の実施の形態4の通信端末の構成図である。
【図17】本発明の実施の形態5の通信端末の構成図である。
【図18】移動制御部のデータ構造を示す図である。
【図19】本発明の実施の形態2の他の通信ネットワークを説明する図である。
【符号の説明】
101 通信インタフェース部、 102 通信制御部、 103 送信元・送信先解析部、 104 近隣端末ID解析部、 105 時間設定保持部、 106 近隣端末ID保持部、 107 経路制御Cache保持部、 201通信制御部、 202 中継解析部、 203 中継Cache保持部、 204 中継制御部、 301 通信制御部、 302 中継数制御部、 303中継数Cache保持部、 401 通信制御部、 402 移動検知部、 501 通信制御部、 502 移動制御部、 503 移動検知部。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a communication network such as an ad hoc network configured by a plurality of communication terminals, and a communication terminal configuring the communication network.
[0002]
[Prior art]
Communication in an ad hoc network is realized by a suitable intermediate terminal relaying a packet in the transfer of a packet between a source terminal and a destination terminal. Communication technologies in such an ad hoc network include a single-path technology in which communication is performed by specifying one communication route, and a multi-path technology in which communication is performed by specifying two or more routes.
[0003]
In the conventional single-path ad-hoc network, in order to minimize waste of network resources, it is necessary to determine one route between a source terminal and a destination terminal and exchange data using the route. (See, for example, Patent Document 1).
[0004]
In addition, in a conventional multi-path ad hoc network, a plurality of routes are determined in advance under complicated processing between a source terminal and a destination terminal, and data exchange is performed using the routes. (See, for example, Patent Document 2).
[0005]
[Patent Document 1]
JP-A-8-37535
[Patent Document 2]
JP 2001-237875 A
[Patent Document 3]
USP6028857
[Non-patent document 1]
"On-demand Multipath Distance Vector Routing in Ad Hoc Networks", Mahesh K. et al. See Marina, Samir R .; Das, Department of Electrical and Computer Science University of Cincinnati, U.S.A. S. A
Internet <URL: http: // www. cs. sunysb. edu / @ samir / Pubs / icnp-01. pdf> ([Search on May 16, 2003])
[0006]
[Problems to be solved by the invention]
In the above-mentioned conventional single-path technology, communication is performed using one route. Therefore, when the battery of the terminal in the route runs out or moves, and the terminal in the route disappears, the route is lost. However, there has been a problem that communication has been interrupted due to interruption of communication, and a route has to be re-established for normal communication.
[0007]
In addition, the conventional multipath technology has a plurality of routes for communication, and thus can cope with a failure occurring on the route, but determines a plurality of routes based on complicated calculations. Therefore, there was a problem that the route had to be secured.
[0008]
SUMMARY OF THE INVENTION The present invention has been made to solve such a conventional problem, and it is an object of the present invention to improve a conventional single-path technology and a multi-path technology to effectively use resources of a communication terminal and a communication network. It is intended to provide a network.
[0009]
[Means for Solving the Problems]
The communication terminal of the present invention,
In a communication terminal that communicates with other communication terminals constituting a communication network,
Communication control means for controlling the operation of the terminal itself, while controlling the transmission and reception of data with the other communication terminal,
Destination / source analysis means for analyzing the ID of the source or / and destination terminal from the received data;
Time setting holding means for holding an initial value of the relay time;
Cache holding means for holding the ID of the terminal of the transmission destination or / and the transmission source and the relay time for the terminal ID, the relay time being reduced with time and eventually becoming 0
With
The communication control means includes:
According to the received data, the terminal ID of the transmission source or / and transmission destination and the initial value of the relay time are written in the Cache holding means,
When the relay time held in the cache holding means becomes 0, the terminal ID for the relay time is deleted from the cache holding means,
If the terminal ID of the transmission source and / or the transmission destination analyzed from the reception data is stored in the cache storage unit, the reception data is relayed and transmitted to a nearby terminal,
If the terminal ID of the transmission source and / or the transmission destination analyzed from the received data is not held in the cache holding means, the received data is not relayed and transmitted.
It is characterized by the following.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
In the drawings used in the embodiments of the present invention described below, portions having the same function are denoted by the same reference numerals, and portions having the same basic function but slightly different processing are denoted by different numbers. It is attached.
[0011]
Embodiment 1
FIG. 1 is a configuration diagram of a communication terminal according to Embodiment 1 of the present invention. The communication terminal according to the first embodiment includes a communication interface unit 101, a communication control unit 102, a source / destination analyzing unit 103, a nearby terminal ID analyzing unit 104, a time setting holding unit 105, a nearby terminal ID, A holding unit 106 and a route control cache holding unit 107 are provided, and these are connected as shown in FIG. Further, the communication network (ad hoc network) according to the first embodiment of the present invention includes a plurality of communication terminals shown in FIG.
[0012]
[Communication interface unit 101]
In FIG. 1, a communication interface unit 101 performs communication with another communication terminal.
[0013]
[Communication control unit 102]
The communication control unit 102 receives a data packet from a communication network via the communication interface unit 101 and transmits the data packet to the communication network.
[0014]
Further, the communication control unit 102 sends the received data packet to the transmission source / transmission destination analysis unit 103, and receives the transmission source terminal ID and the transmission destination terminal ID from the transmission source / transmission destination analysis unit 103.
[0015]
Further, the communication control unit 102 sends a received data packet to the nearby terminal ID analysis unit 104 and receives the ID of the nearby terminal from the nearby terminal ID analysis unit 104.
[0016]
Further, the communication control unit 102 sends a request for a relay time indicating the time for holding the relay control cache and a request for a holding time indicating the time for holding the neighboring terminal ID to the time setting holding unit 105, and sets the request in the time setting holding unit 105 in advance. The received initial value of the relay time and the initial value of the holding time are received from the time setting holding unit 105.
[0017]
Further, the communication control unit 102 sends a set of the nearby terminal ID analyzed by the nearby terminal ID analysis unit 104 and the initial value of the holding time sent from the time setting holding unit 105 to the near terminal ID holding unit 106.
[0018]
The communication control unit 102 sets the source terminal ID analyzed by the source / destination analysis unit 103 as the destination terminal ID, and uses the nearby terminal ID analyzed by the nearby terminal ID analysis unit 104 as the relay destination nearby terminal ID. Then, a set of the transmission destination terminal ID, the relay destination neighboring terminal ID, and the initial value of the relay time sent from the time setting holding unit 105 is sent to the route control cache holding unit 107.
[0019]
Further, the communication control unit 102 inquires of the route control cache holding unit 107 whether or not the destination terminal ID analyzed by the source / destination analyzing unit 103 is held, and the destination terminal ID is held. If this is the case, a request is sent to the route control cache holding unit 107 to return all relay destination neighbor terminal IDs held for the destination terminal ID, and all relay destination neighbor terminal IDs returned from the route control cache holding unit 107 are returned. Then, the received data packet is transferred (relay transmission) via the communication interface unit 101. If the inquired destination terminal ID is not held, the received data packet is not transferred.
[0020]
[Source / Destination Analysis Unit 103]
The source / destination analyzing unit 103 analyzes the source terminal ID and the destination terminal ID of the data packet from the received data packet sent from the communication control unit 102, and the source terminal ID and the destination terminal The ID is sent to the communication control unit 102.
[0021]
[Nearest terminal ID analysis unit 104]
The nearby terminal ID analysis unit 104 analyzes the ID of the nearby terminal that directly sent the data packet to the own terminal from the received data packet sent from the communication control unit 102, and stores the nearby terminal ID in the communication control unit 102. Send to
[0022]
[Time setting holding unit 105]
In the time setting holding unit 105, an initial value of a relay time indicating a time for holding the route control cache and an initial value of a holding time indicating a time for holding the neighbor terminal ID are set and held in advance. The time setting holding unit 105 sends the initial value of the relay time and the initial value of the holding time to the communication control unit 102 in response to a request from the communication control unit 102. For example, the initial value of the relay time held in the time setting holding unit 105 is 600 seconds, and the initial value of the holding time is 600 seconds.
.
[0023]
[Nearest terminal ID holding unit 106]
The nearby terminal ID holding unit 106 has a data structure table as shown in FIG. 2 and holds a set of the nearby terminal ID sent from the communication control unit 102 and the holding time. The holding time held in the neighboring terminal ID holding unit 106 gradually decreases from the initial value, and eventually becomes zero. If the neighboring terminal ID of the received set is not stored in the table, the neighboring terminal ID holding unit 106 adds the set to the table, and the neighboring terminal ID of the received set is stored in the table. If so, the set is overwritten on the table (the retention time of the set is overwritten with the initial value). When the retention time becomes 0, the set is deleted from the table.
[0024]
[Route control Cache holding unit 107]
The route control cache holding unit 107 has a table as shown in FIG. 3 and holds a set of the transmission destination terminal ID, the relay destination neighboring terminal ID, and the relay time sent from the communication control unit 102. The relay time held in the route control cache holding unit 107 gradually decreases from the initial value, and eventually becomes zero. The route control cache holding unit 107 adds the received set to the table if the set of the transmission destination terminal ID and the relay destination neighboring terminal ID in the received set is not stored in the table, If the set of the transmission destination terminal ID and the relay destination neighboring terminal ID in the received set is held in the table, the received set is overwritten on the table (the relay time of the set is the initial value). When the relay time becomes 0, the set is deleted from the table.
[0025]
Further, when the communication control unit 102 inquires about the destination terminal ID, the route control cache holding unit 107 replies to the communication control unit 102 whether or not the destination terminal ID is held, and the communication control unit 107 When requested to return the relay destination neighboring terminal ID for the transmission destination terminal ID held by 102, all corresponding relay destination neighboring terminal IDs are transmitted to the communication control unit 102.
[0026]
[Operation of First Embodiment]
The operation of the communication terminal and the communication network according to the first embodiment will be described below. In the description, FIGS. 4 to 6 are used in addition to FIGS. 1 to 3. 4 to 6, each circle is the communication terminal of FIG. 1 that configures the communication network of the first embodiment. 4 to 6, a case where the terminal S and the terminal D communicate will be described below.
[0027]
First, the terminal S transmits a data packet of a message requesting communication with the terminal D to the entire network by a flooding method of simply transferring the received data packet.
[0028]
Further, the terminal D, which has received the data packet of the communication request message from the terminal D, transmits a data packet of a reply message indicating that it can communicate with the terminal S to the entire network by the flooding method (see FIG. 4). The terminal S also receives the data packet of the reply message.
[0029]
Each of the terminals receiving the data packet of the communication request message transmitted by the terminal S and the terminal D (including the terminal D for the message transmitted by the terminal S and the terminal S for the message transmitted by the terminal D) The source terminal ID (terminal S or terminal D ID) and the destination terminal ID (terminal D or terminal S ID) of the data packet are analyzed by the source / destination analyzing unit 103, and the received data packet is directly transmitted. The ID of the nearby terminal that has arrived is analyzed by the nearby terminal ID analysis unit 104.
[0030]
Then, a set of the analyzed nearby terminal ID and the initial value of the holding time held in the time setting holding unit 105 is written in the nearby terminal ID holding unit 106.
[0031]
In addition, the analyzed source terminal ID is set as the destination terminal ID, and the analyzed nearby terminal ID is set as the relay destination nearby terminal ID, and held in the destination terminal ID, the relay destination nearby terminal ID, and the time setting holding unit 105. The set of initial values of the relay time that has been set is written in the route control cache holding unit 107.
[0032]
At this point, FIG. 5 shows to which neighboring terminal each terminal transfers (relay transmission) when a data packet destined for the terminal D is received.
[0033]
Upon receiving the data packet of the reply message transmitted from the terminal D, the route control cache holding unit 107 of the terminal S holds the ID of the terminal D as the destination terminal ID. When communicating with the terminal D, the terminal S transmits a data packet destined to the terminal D to all relaying neighboring terminals held in the route control cache holding unit 107 for the ID of the terminal D being the transmission destination. I do.
[0034]
Similarly to the terminal S, the neighboring terminals of the terminal S that has received the data packet transmitted from the terminal S are also all the relay destination neighboring terminals held in the route control cache holding unit 107 for the ID of the terminal D that is the transmission destination. Then, the received data packet is transferred (relay transmission).
[0035]
As described above, all the terminals that have received the data packet transmitted from the terminal S perform the relay transmission operation as described above. However, when the relay time of the terminal D held in the route control cache holding unit 107 becomes 0, the ID of the terminal D is deleted from the route control cache holding unit 107. If the ID of the terminal D is not held, the received data packet is not transferred.
[0036]
Thereby, a plurality of routes are automatically selected as shown in FIG. 6, and the data packet transmitted by the terminal S can be delivered to the terminal D. The same applies to the operation when a data packet is transmitted from terminal D to terminal S.
[0037]
In the first embodiment, when a data packet that does not specify a destination terminal is received, the received data packet is transferred to all the neighboring terminals held in the neighboring terminal ID holding unit 106.
[0038]
As described above, according to the first embodiment, the Cache is used to determine whether to relay a received data packet based on the destination terminal ID of the data packet. By providing a cache (path control cache) in which retention and deletion of data contents are controlled by time in the communication terminal, data packets are relayed and transmitted through a plurality of paths automatically selected. Thus, it is possible to reduce failures in data packet transfer such as interruption of a route. Further, since GPS is not used and complicated distance calculation is not required, resources of the terminal can be used effectively.
[0039]
Embodiment 2
FIG. 7 is a configuration diagram of a communication terminal according to Embodiment 2 of the present invention. The communication terminal according to the second embodiment includes a communication interface unit 101, a communication control unit 201, a source / destination analysis unit 103, a relay analysis unit 202, a nearby terminal ID analysis unit 104, a time setting holding unit 105, a nearby terminal ID holding unit 106, a relay cache holding unit 203, and a relay control unit 204, which are connected as shown in FIG. Further, the communication network (ad hoc network) according to the second embodiment of the present invention includes a plurality of communication terminals shown in FIG.
[0040]
[Communication interface unit 101]
In FIG. 7, a communication interface unit 101 performs communication with another communication terminal.
[0041]
[Communication control unit 201]
The communication control unit 201 receives a data packet from a communication network via the communication interface unit 101 and transmits the data packet to the communication network.
[0042]
In addition, the communication control unit 201 sends the received data packet to the transmission source / transmission destination analysis unit 103, and receives the transmission source terminal ID and the transmission destination terminal ID from the transmission source / transmission destination analysis unit 103.
[0043]
Further, the communication control unit 201 sends the received data packet to the relay analysis unit 202, the IDs of the two terminals to be relayed analyzed by the relay analysis unit 202 and the data packet of the relay request message generated by the relay control unit 204. From the relay control unit 204.
[0044]
Further, communication control section 201 sends the received data packet to neighboring terminal ID analyzing section 104 and receives the ID of the neighboring terminal from neighboring terminal ID analyzing section 104.
[0045]
Further, the communication control unit 201 sends a request for a relay time indicating the time for holding the relay Cache and a request for a holding time indicating the time for holding the neighboring terminal ID to the time setting holding unit 105, and the request is stored in the time setting holding unit 105 in advance. The received initial value of the relay time and the initial value of the holding time are received from the time setting holding unit 105.
[0046]
Further, the communication control unit 201 sends a set of the nearby terminal ID analyzed by the nearby terminal ID analysis unit 104 and the initial value of the holding time sent from the time setting holding unit 105 to the near terminal ID holding unit 106.
[0047]
Further, the communication control unit 201 stores the set of the IDs of the two terminals to be relayed analyzed by the relay control unit 204 and the initial value of the relay time sent from the time setting holding unit 105 in the relay cache holding unit 203. send.
[0048]
Further, the communication control unit 201 determines whether or not the set of the source terminal ID and the destination terminal ID analyzed by the source / destination analysis unit 103 is held as the set of two terminal IDs. Inquiry is made to the holding unit 203, and if the set of the source terminal ID and the destination terminal ID is held, the return of all the nearby terminal IDs held in the nearby terminal ID holding unit 106 is returned to the nearby terminal ID holding unit 106. The received data packet is transferred (relayed and transmitted) to all the neighboring terminal IDs returned from the neighboring terminal ID holding unit 106 via the communication interface unit 101. If the set of the source terminal ID and the destination terminal ID inquired to the relay cache holding unit 203 is not held, the received data packet is not transferred.
[0049]
[Source / Destination Analysis Unit 103]
The source / destination analyzing unit 103 analyzes the source terminal ID and the destination terminal ID of the data packet from the received data packet sent from the communication control unit 201, and the source terminal ID and the destination terminal The ID is sent to the communication control unit 201.
[0050]
[Relay analysis unit 202]
Relay analysis section 202 determines whether or not the received data packet sent from communication control section 201 has a relay request flag and whether or not there is a relay request flag (sent from communication control section 201). It is determined whether the received data packet is a data packet of a relay request message and a data packet of a relay request message).
[0051]
Then, if there is a relay request flag (if it is a data packet of a relay request message), the relay analysis unit 202 analyzes the relay request information and two terminals to be relayed (a source terminal and a destination terminal), and The relay request information is sent to the relay control unit 204.
[0052]
If there is a relay request flag (if it is a data packet of a relay request message), the relay analysis unit 202 analyzes the IDs of the two terminals to be relayed (the source terminal and the destination terminal) and relays the IDs. The IDs of the two terminals to be transmitted are sent to the relay control unit 204.
[0053]
[Relay control unit 204]
The relay control unit 204 sends the IDs of the two terminals to be relayed sent from the relay analysis unit 202 to the communication control unit 201 as they are.
[0054]
In addition, the relay control unit 204 generates a data packet of the relay request message according to the relay request information sent from the relay analysis unit 202, and sends the data packet of the relay request message to the communication control unit 201.
[0055]
[Nearest terminal ID analysis unit 104]
The nearby terminal ID analysis unit 104 analyzes the ID of the nearby terminal that has directly sent the data packet to the own terminal from the received data packet sent from the communication control unit 201, and identifies the nearby terminal ID to the communication control unit 102. Send to
[0056]
[Time setting holding unit 105]
In the time setting holding unit 105, an initial value of the relay time indicating the time for holding the relay cache and an initial value of the holding time indicating the time for holding the neighboring terminal ID are set and held in advance. The time setting holding unit 105 sends the initial value of the relay time and the initial value of the holding time to the communication control unit 201 in response to a request from the communication control unit 201.
[0057]
[Nearest terminal ID holding unit 106]
The nearby terminal ID holding unit 106 has a table having a data structure as shown in FIG. 2 and holds a set of the nearby terminal ID sent from the communication control unit 201 and the holding time. The holding time held in the neighboring terminal ID holding unit 106 gradually decreases from the initial value, and eventually becomes zero. If the neighboring terminal ID of the received set is not stored in the table, the neighboring terminal ID holding unit 106 adds the set to the table, and the neighboring terminal ID of the received set is stored in the table. If so, the set is overwritten on the table (the retention time of the set is overwritten with the initial value). When the retention time becomes 0, the set is deleted from the table.
[0058]
Further, upon receiving a request to return the nearby terminal ID from the communication control unit 201, the nearby terminal ID holding unit 106 sends all the held nearby terminal IDs to the communication control unit 201.
[0059]
[Relay Cache Holder 203]
The relay cache holding unit 203 has a table as shown in FIG. 8 and holds a set of IDs of two terminals to be relayed and initial values of the relay time sent from the communication control unit 201. The relay time held in the relay cache holding unit 203 gradually decreases from the initial value, and eventually becomes zero. If the set of IDs of the two terminals in the received set is not stored in the table, the relay cache holding unit 203 adds the received set to the table and adds the received set to the table. If the set of IDs of the two terminals is held in the table, the received set is overwritten on the table (the relay time of the set is overwritten with the initial value), and the relay time is set to 0. Then, the set is deleted from the table.
[0060]
Further, the relay cache holding unit 203 receives an inquiry from the communication control unit 201 as to whether or not a set of a destination terminal ID and a destination terminal ID is held as a set of two terminals to be relayed. A response is sent to the communication control unit 201 as to whether the ID is held.
[0061]
[Operation of Second Embodiment]
The operation of the communication terminal and the communication network according to the second embodiment will be described below. In the description, FIGS. 9 to 11 are used in addition to FIGS. 7 and 8. 9 to 11, each circle is the communication terminal of FIG. 7 that configures the communication network of the second embodiment. The case where the terminal S and the terminal D communicate with each other in FIGS. 9 to 11 will be described below.
[0062]
First, the terminal S specifies one route for communicating with the terminal D. For example, assume that one route as shown in FIG. 9 is specified. One such path can be identified using conventional techniques.
[0063]
Further, the terminal S selects a terminal located approximately halfway between the terminal S and the terminal D on the one specified route. For example, based on the number of relays, the terminal M is selected as shown in FIG. 9 as a terminal at a location almost in the middle of the number of relays from the terminal S to the terminal D.
[0064]
Furthermore, the terminal S is, for example,
Number of relays r = (integer part of ((number of relays from terminal S to terminal D) / 2) +1)
To determine the number of relays r,
For example, in order to have the terminal M and a terminal within the number r of relays from this terminal M become the center terminal of the relay in the communication between the terminal S and the terminal D for a predetermined period, the number of relays r = 4 A request for transmitting a data packet of a relay request from the terminal M to each of the terminals within the range of "a data packet of a relay request (a data packet with a relay request flag attached) including the relay request information". Send to M.
[0065]
Upon receiving the data packet of the relay request transmitted from the terminal S, the terminal M analyzes the relay request information by the relay analysis unit 202, and the relay control unit 204 requests the relay of the communication between the terminal S and the terminal D. A request data packet (a data packet to which a relay request flag is attached is generated, and this relay request data packet is transmitted to a terminal whose number of relays from the terminal M is within r = 4.
[0066]
FIG. 10 illustrates the above results. 10 and 11 indicate the number of relays from the terminal M.
[0067]
Further, the terminal M stores, in the relay cache holding unit 203, a set of the IDs of the two terminals (terminal S and terminal D) to be relayed and the initial value of the relay time analyzed by the relay analysis unit 202 from the data packet of the relay request. Write.
[0068]
When each terminal whose number of relays from the terminal M is within r = 4 receives the data packet of the relay request transmitted from the terminal M, the terminal to be relayed from the data packet of the relay request by the relay analyzing unit 202 should perform. The set of the IDs of the two terminals (terminal S and terminal D) and the initial value of the relay time is written in the relay cache holding unit 203.
[0069]
In this way, the terminal M and the relay number from the terminal M within r = 4 each set the ID of the two terminals (terminal S and terminal D) to be relayed and the initial value of the relay time and hold the relay cache. By writing to the unit 203, only the terminal holding the set of the ID of the terminal S and the ID of the terminal D as the set of the IDs of the two terminals to be relayed in the relay cache holding unit 203 is the communication between the terminal S and the terminal D. Therefore, a plurality of routes are automatically selected as shown in FIG. 11, and the data packet transmitted by the terminal S can be delivered to the terminal D. The same applies to the operation when a data packet is transmitted from terminal D to terminal S.
[0070]
As described above, according to the second embodiment, a Cache for determining whether to relay a received data packet based on the source terminal ID and the destination terminal ID of the data packet. By providing the communication terminal with a cache (relay cache) in which the holding and deletion of the data content is controlled by the relay time that becomes zero in the near future, the data packet is relayed and transmitted through a plurality of paths automatically selected. Data packet transfer failures can be reduced. In addition, the calculation load for determining whether to perform relay transmission can be reduced, and only a limited number of terminals in the communication network perform relay transmission, so that resources are not wasted. Further, the resources possessed by the terminal can be used effectively without using GPS and without requiring complicated distance calculations.
[0071]
Embodiment 3
FIG. 12 is a configuration diagram of a communication terminal according to Embodiment 3 of the present invention. The communication terminal according to the third embodiment includes a communication interface unit 101, a communication control unit 301, a source / destination analyzing unit 103, a nearby terminal ID analyzing unit 104, a time setting holding unit 105, a nearby terminal ID, It has a holding unit 106, a relay number control unit 302, and a relay number cache holding unit 303, which are connected as shown in FIG. Further, the communication network (ad hoc network) according to the third embodiment of the present invention includes a plurality of communication terminals shown in FIG.
[0072]
[Communication interface unit 101]
In FIG. 12, a communication interface unit 101 performs communication with another communication terminal.
[0073]
[Communication control unit 301]
The communication control unit 301 receives a data packet from a communication network via the communication interface unit 101 and transmits the data packet to the communication network.
[0074]
Further, communication control section 301 sends the received data packet to source / destination analyzing section 103 and receives the source terminal ID and destination terminal ID from source / destination analyzing section 103.
[0075]
Further, communication control section 301 sends the received data packet to neighboring terminal ID analyzing section 104 and receives the ID of the neighboring terminal from neighboring terminal ID analyzing section 104.
[0076]
Further, the communication control unit 301 sends a request for a relay time indicating the time for holding the number of relays Cache and a holding time for indicating the time for holding the neighboring terminal ID to the time setting holding unit 105, and sets the request in the time setting holding unit 105 in advance. The received initial value of the relay time and the initial value of the holding time are received from the time setting holding unit 105.
[0077]
Further, the communication control unit 301 sends a set of the nearby terminal ID analyzed by the nearby terminal ID analysis unit 104 and the initial value of the holding time sent from the time setting holding unit 105 to the near terminal ID holding unit 106.
[0078]
Further, the communication control unit 301 sends the received data packet of the communication request message to the number-of-relays control unit 302, and the relay destination control unit 302 relays the data from the transmission source analyzed from the received data packet of the communication request message to the own terminal. The number is received from the relay destination control unit 302.
[0079]
Further, the communication control unit 301 sends the received data packet to the number-of-relays control unit 302, and analyzes the number of relays from the received data packet to the analyzed destination and the number of relays from the source. A data packet generated by rewriting the numerical values of the two relay numbers is received from the relay destination control unit 302.
[0080]
Also, the communication control unit 301 uses the source terminal ID analyzed by the source / destination analysis unit 103 as the destination terminal ID, and calculates the number of relays from the source to the own terminal analyzed by the relay number control unit 302. As the number of relays from the own terminal to the destination, a set of the destination terminal ID, the number of relays from the own terminal to the destination, and the initial value of the relay time sent from the time setting holding unit 105 is stored in the number of relays Cache. Send to section 303.
[0081]
Further, the communication control unit 301 inquires of the relay number cache holding unit 303 whether or not the destination terminal ID analyzed by the source / destination analyzing unit 103 is held, and the destination terminal ID is held. If this is the case, a request is sent from the relay number cache holding unit 303 to return the number of relays from the own terminal to the destination held for the destination terminal ID, and the number of relays and the number of relays returned from the relay number cache holding unit 303 are returned. The value of the number of relays returned from the number-of-relays cache holding unit 303 is compared with the number of relays to the destination analyzed by the control unit 302, and the number of relays to the destination analyzed by the number-of-relays control unit 302 is calculated. If the value is smaller than the value, it is determined that relaying is necessary, and a request is sent to the neighboring terminal ID holding unit 106 to return all the neighboring terminal IDs held in the neighboring terminal ID holding unit 106, and the nearby terminal ID is held. The data packet generated by the relay control unit 302 (the number of relays to the destination in the received data packet is reduced by one and the number of relays from the source is increased by one) is added to all the neighboring terminal IDs returned from the unit 106. Packet) (relay transmission). If the value of the number of relays returned from the relay number cache holding unit 303 is equal to or greater than the value of the number of relays to the destination analyzed by the relay number control unit 302, it is determined that relaying is unnecessary and the data packet is transferred. do not do. Further, even when the destination terminal ID inquired to the relay number cache holding unit 302 is not held, the data packet is not transferred.
[0082]
[Source / Destination Analysis Unit 103]
The source / destination analyzing unit 103 analyzes the source terminal ID and the destination terminal ID of the data packet from the received data packet sent from the communication control unit 301, and the source terminal ID and the destination terminal The ID is sent to the communication control unit 301.
[0083]
[Nearest terminal ID analysis unit 104]
The nearby terminal ID analysis unit 104 analyzes the ID of the nearby terminal that directly sent the data packet to the own terminal from the received data packet sent from the communication control unit 102, and stores the nearby terminal ID in the communication control unit 301. Send to
[0084]
[Time setting holding unit 105]
In the time setting holding unit 105, an initial value of the relay time indicating the time for holding the number of relays Cache and an initial value of the holding time indicating the time for holding the neighboring terminal ID are set and held in advance. The time setting holding unit 105 sends the initial value of the relay time and the initial value of the holding time to the communication control unit 301 in response to a request from the communication control unit 301.
[0085]
[Nearest terminal ID holding unit 106]
The nearby terminal ID holding unit 106 has a table having a data structure as shown in FIG. 2 and holds a set of the nearby terminal ID sent from the communication control unit 301 and the holding time. The holding time held in the neighboring terminal ID holding unit 106 gradually decreases from the initial value, and eventually becomes zero. If the neighboring terminal ID of the received set is not stored in the table, the neighboring terminal ID holding unit 106 adds the set to the table, and the neighboring terminal ID of the received set is stored in the table. If so, the set is overwritten on the table (the retention time of the set is overwritten with the initial value). When the retention time becomes 0, the set is deleted from the table.
[0086]
Further, when the communication control unit 301 requests the return of the nearby terminal ID, the nearby terminal ID holding unit holding unit 106 sends all the held nearby terminal IDs to the communication control unit 301.
[0087]
[Relay number control unit 302]
Relay number control section 302 analyzes the number of relays from the transmission source of the data packet to the own terminal from the received data packet of the communication request message sent from communication control section 301, and The value of the number of relays is sent to the communication control unit 301. In addition, the number of relays from the received data packet sent from the communication control unit 301 to the destination and the number of relays from the source are analyzed, and the number of relays to the destination in the received data packet is reduced by one. A data packet in which the number of relays from the original is increased by one is generated, and the value of these two relay numbers and the generated packet are sent to the communication control unit 301.
[0088]
[Relay count Cache holding unit 303]
The relay number cache holding unit 303 has a table as shown in FIG. 13 and stores a set of the destination terminal ID sent from the communication control unit 301, the number of relays from the own terminal to the destination, and the initial value of the relay time. Hold. The relay time held in the relay number cache holding unit 303 gradually decreases from the initial value, and eventually becomes zero. If the received destination terminal ID is not stored in the table, the relay number cache holding unit 303 adds the received set to the table, and the received destination terminal ID is stored in the table. If so, the received set is overwritten on the table (the relay time of the set is overwritten with the initial value), and when the relay time becomes 0, the set is deleted from the table.
[0089]
Further, when there is an inquiry about the destination terminal ID from the communication control unit 301, the relay number cache holding unit 303 replies to the communication control unit 301 whether or not the destination terminal ID is held, and the communication control unit When requested to return the number of relays for the transmission destination terminal ID held by 102, the corresponding number of relays is transmitted to the communication control unit 301.
[0090]
[Operation of Third Embodiment]
The operation of the communication terminal and the communication network according to the third embodiment will be described below. 14 and FIG. 15 in addition to FIG. 12 and FIG. 14 and 15, each circle is the communication terminal of FIG. 12 that configures the communication network of the third embodiment. 14 and 15, a case where the terminal S and the terminal D communicate will be described below.
[0091]
First, the terminal D transmits a data packet of a communication request message for setting the number of relays to the entire network by the flooding method (see FIG. 14).
[0092]
In each terminal that has received the data packet of the communication request message transmitted by the terminal D, the source terminal ID (terminal D ID) and the destination terminal ID (terminal S ID) of the received data packet are the source / destination. The analysis is performed by the analysis unit 103, and the ID of the nearby terminal that has directly sent the received data packet is analyzed by the nearby terminal ID analysis unit 104, and the number of relays from the source of the received data packet to the own terminal is determined by the number of relays control unit. Analyzed by 302.
[0093]
Then, the analyzed source terminal ID is used as the destination terminal ID, and the number of relays from the analyzed source to the own terminal is set as the number of relays from the own terminal to the destination. A set of the number of relays to the transmission destination and the initial value of the relay time held in the time setting holding unit 105 is written in the relay number cache holding unit 303.
[0094]
At this point, each terminal that has received the data packet of the communication request message holds the number of relays from its own terminal to terminal D (= the number of relays from terminal D to its own terminal) in the relay number cache holding unit 303. Based on the number of relays, the terminal can be recognized as a subscript attached to a circle indicating the terminal in FIGS. 14 and 15.
[0095]
The data packet of the communication request message is also received by the terminal S. When communicating with the terminal D, the terminal S inquires the number-of-relays cache holding unit 303 about the number of relays from the own terminal to the transmission destination (terminal D), and returns from the own terminal returned from the number-of-relays cache holding unit 303 to the transmission destination ( The value of the number of relays to the terminal D) is set as the value of the number of relays to the destination (terminal D), and the data packet with the value of the number of relays from the source set to 0 is generated. I do.
[0096]
The terminal that has received the data packet transmitted from the terminal S analyzes the number of relays to the transmission destination (terminal D) and the number of relays from the transmission source (terminal S) by the relay number control unit 302, and holds the number of relays Cache. The number of relays from the own terminal to the transmission destination (terminal D) is inquired to the unit 303, and the value of the number of relays returned from the relay number cache holding unit 303 is the value of the number of relays to the transmission destination (terminal D) analyzed above. If the number of relays is smaller than 1, the number of relays to the destination in the received data packet is reduced by 1, the number of relays from the source is increased by 1, and a data packet obtained by converting the value of these two relays is generated. Transfer (relay transmission) to neighboring terminals. If the value of the number of relays returned from the relay number cache holding unit 303 is equal to or greater than the value of the number of relays to the analyzed destination (terminal D), the data packet is not transferred. If the value of the number of relays returned from the number-of-relays cache holding unit 303 is the same as the number of relays to the analyzed destination (terminal D), the received data packet is forwarded to a nearby terminal as it is (relay transmission). ).
[0097]
As described above, all the terminals that have received the data packet transmitted from the terminal S perform the relay transmission operation as described above, so that a plurality of paths are automatically selected as shown in FIG. Data packets can be delivered.
[0098]
As described above, according to Embodiment 3, whether or not to relay a received data packet is determined by the number of relays of the data packet (whether the own terminal is closer to or equal to the destination than the neighboring terminal that sent the data packet). A cache (relay count Cache) in which the retention and deletion of data content is controlled by a relay time that gradually decreases and eventually becomes zero is provided in the communication terminal. The relay of the data packet is performed by a plurality of paths selected in a selective manner, so that each terminal operates so that the relay of the data packet approaches the destination terminal, and the data packet is transmitted by the plurality of paths automatically selected. Is performed, so that the failure of data packet transfer can be reduced. Further, the resources possessed by the terminal can be used effectively without using GPS and without requiring complicated distance calculations.
[0099]
Embodiment 4
In the fourth embodiment described below, when a communication terminal moves during transmission / reception of a data packet, communication by movement of the communication terminal is detected by detecting movement of the own terminal and transmitting to a nearby communication terminal. It is designed to respond to changes in the route.
[0100]
FIG. 16 is a configuration diagram of a communication terminal according to Embodiment 4 of the present invention. The communication terminal according to the fourth embodiment includes a communication interface unit 101, a communication control unit 401, a source / destination analyzing unit 103, a nearby terminal ID analyzing unit 104, a time setting holding unit 105, a nearby terminal ID, A holding unit 106, a route control cache holding unit 107, and a movement detection unit 402 are provided, and these are connected as shown in FIG. Further, the communication network (ad hoc network) according to the fourth embodiment of the present invention includes a plurality of communication terminals shown in FIG.
[0101]
The communication terminal according to the fourth embodiment shown in FIG. 16 differs from the communication terminal according to the first embodiment shown in FIG. 1 in that a movement detection unit 402 is provided and the communication control unit 102 is replaced by a communication control unit 401.
[0102]
[Movement detection unit 402]
In FIG. 16, movement detection section 402 detects movement of its own terminal by detecting vibration, acceleration force, and the like, and notifies communication control section 401 of the movement. The movement detection unit 402 is, for example, a vibration detection device that detects movement by adjusting the inclination of the pendulum, or a speedometer device that can calculate the movement speed.
[0103]
[Communication control unit 401]
The communication control unit 401 is provided with a function corresponding to the movement detection unit 402 in the communication control unit 101 of the first embodiment (see FIG. 1).
[0104]
[Operation of Embodiment 4]
The operation of the communication terminal and the communication network according to the fourth embodiment will be described below. The operation of the communication control unit 401 and the movement detection unit 402 will be mainly described, and the description of the same operation as in the first embodiment will be omitted.
[0105]
When the movement detecting unit 402 detects the movement of the own terminal and informs the communication control unit 401 of the movement, the communication control unit 401 stores the nearby terminals (the near terminal ID holding unit 106 of the own terminal). To each neighboring terminal or / and a terminal that is relayed an arbitrary number of times from these neighboring terminals), for example, an ID deletion request message having a content of “requesting deletion of ID of own terminal due to detection of movement of own terminal” Is transmitted via the communication interface unit 101.
[0106]
The communication interface unit 401 of each of the surrounding terminals (each of the neighboring terminals or / and a terminal that is relayed an arbitrary number of times from the neighboring terminals) that has received the data packet of the ID deletion request message via the communication interface unit 101 Deletes the ID of the transmission source terminal of the data packet of the ID deletion request message from the neighboring terminal ID of the neighboring terminal ID holding unit 106 of the own terminal and / or the relay destination neighboring terminal ID of the route control Cache holding unit 107.
[0107]
As described above, according to Embodiment 4, by detecting the movement of the own terminal and notifying the surrounding terminals, the change of the relay route caused by the movement of the relay terminal is urged, and the nearby terminal that does not exist is notified. Waste of sending data packets can be eliminated, and delay of data packets can be reduced.
[0108]
Embodiment 5
In the fifth embodiment described below, when a group of communication terminals moves during transmission / reception of a data packet, the moving speed and the moving direction are exchanged with the surrounding communication terminals, so that the communication terminals with the surrounding communication terminals are exchanged. It is possible to cope with a change in the communication path that moves to a different location.
[0109]
FIG. 17 is a configuration diagram of a communication terminal according to Embodiment 5 of the present invention. The communication terminal according to the fifth embodiment includes a communication interface unit 101, a communication control unit 501, a source / destination analyzing unit 103, a nearby terminal ID analyzing unit 104, a time setting holding unit 105, a nearby terminal ID, It includes a holding unit 106, a path control cache holding unit 107, a movement control unit 502, and a movement detection unit 503, which are connected as shown in FIG. Further, the communication network (ad hoc network) according to the fifth embodiment of the present invention includes a plurality of communication terminals shown in FIG.
[0110]
The communication terminal according to the fifth embodiment shown in FIG. 17 differs from the communication terminal according to the first embodiment shown in FIG. 1 in that a movement control unit 502 and a movement detection unit 503 are provided, and the communication control unit 102 is replaced by a communication control unit 501. It is.
[0111]
[Movement detection unit 503]
17, the movement detection unit 503 detects the movement speed and movement direction of the own terminal, and sends the movement speed and movement direction to the movement control unit 502. The movement detection unit 503 is a GPS device that can detect a movement speed and a movement direction, for example.
[0112]
[Movement control unit 502]
The movement control unit 502 has a management table having a data structure as shown in FIG. 18, and the movement speed / movement direction of the own terminal acquired by the movement detection unit 503 and the surroundings acquired from the received data packet of the movement notification message. Manage the moving speed and moving direction of other terminals.
[0113]
Here, the table in FIG. 18 is configured by the IDs of the own terminal and peripheral terminals, and the moving speed and moving direction of each of these terminals. The moving direction is, for example, vector information in which east is the positive direction of the x-axis and north is the positive direction of the y-axis.
[0114]
In addition, the movement control unit 502 sends the movement speed and the movement direction of the own terminal acquired by the movement detection unit 503 to the communication control unit 501 in order to notify the surrounding terminals of the movement speed and the movement direction of the hour terminal.
[0115]
In addition, the movement control unit 502 calculates the relative speed (the difference between the moving speed and the moving direction) between the own terminal and the surrounding terminal, and determines the surrounding terminal having a large difference (greater than a predetermined value) in the moving speed and the moving direction. The ID of the peripheral terminal having a large difference in the moving speed and the moving direction is sent to the communication control unit 501 and deleted from the management table as shown in FIG.
[0116]
[Communication control unit 501]
The communication control unit 501 has a function corresponding to the movement control unit 502 and the movement detection unit 503 in the communication control unit 101 (see FIG. 1) of the first embodiment.
[0117]
[Operation of Fifth Embodiment]
The operation of the communication terminal and the communication network according to the fifth embodiment will be described below. The operation of the communication control unit 501, the movement control unit 502, and the movement detection unit 503 will be mainly described, and the description of the same operation as in the first embodiment will be omitted.
[0118]
When the movement speed / movement direction of the own terminal detected by the movement detection unit 503 is sent to the movement control unit 502, the movement control unit 502 determines the movement speed / movement direction of the own terminal detected by the movement detection unit 503 in FIG. The data is written to such a management table and sent to the communication control unit 501.
[0119]
The communication control unit 501 uses the movement speed and the movement direction of the own terminal transmitted from the movement control unit 502 as a data packet of the movement notification message, and transmits the data packet of the movement notification message to a peripheral terminal (a nearby terminal of the own terminal). A call is transmitted via the communication interface unit 101 to each of the neighboring terminals held in the ID holding unit 104 or / and a terminal relayed an arbitrary number of times from these neighboring terminals.
[0120]
The communication interface unit 501 of each of the surrounding terminals (each of the neighboring terminals or / and a terminal that is relayed an arbitrary number of times from the neighboring terminals) receiving the data packet of the movement notification message via the communication interface unit 101 , And sends the received data packet of the movement notification message to the movement control unit 502.
[0121]
The movement control unit 502 obtains the moving speed and moving direction of the peripheral terminal from the received data packet of the movement notification message, and writes them in a management table as shown in FIG.
[0122]
Further, the movement control unit 502 obtains the difference in the moving speed and the moving direction between the own terminal and each of the surrounding terminals based on the management table as shown in FIG. Is stored in the management table as it is, and the IDs of the peripheral terminals having a large difference are deleted from the management table and sent to the communication control unit 501.
[0123]
The communication control unit 501 deletes the peripheral terminal ID having the large difference in the moving speed and the moving direction from the neighboring terminal ID of the neighboring terminal ID holding unit 106.
[0124]
For example, in the management table of FIG. 18, the own terminal and the terminal M are determined to have substantially the same moving speed and moving direction, and the terminal M is left as it is in the management table. Also, the terminal Q is determined to be stationary, and is deleted from the management table and the neighboring terminal ID holding unit 106 in FIG.
[0125]
As described above, according to the fifth embodiment, by exchanging the moving speed and the moving direction of each other with the surrounding terminals, there is no waste in retaining the non-existent neighboring terminal ID, and the moving is performed in the same manner. Communication can be performed as usual within the terminal group that is moving, and only terminals in the vicinity of the mobile terminal group need to communicate with terminals other than the terminal group that is moving in the same way, so that resources of the communication network are wasted. Not use.
[0126]
In the second embodiment, the terminal S, which is the source terminal, calculates the terminal M and sends a relay request to the terminal M. However, the terminal D, which is the destination terminal, calculates the terminal M and calculates the terminal M. The terminal S and the terminal D may make a relay request to different terminals, respectively, or the terminal M may spontaneously function as a central terminal of the relay.
[0127]
In addition, when the distance between the terminal S and the terminal D is large, for example, by installing a plurality of terminals serving as relay centers, efficient use is possible. For example, as shown by a black circle in FIG. 19, when three terminals serving as relay centers are installed, resources of the communication network are more used than when only one terminal serving as a relay center is installed between the terminal S and the terminal D. Can be used effectively.
[0128]
【The invention's effect】
As described above, according to the present invention, there is an effect that resources of a communication terminal and a communication network can be effectively used.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a communication terminal according to a first embodiment of the present invention.
FIG. 2 is a diagram illustrating a data structure of a neighboring terminal ID holding unit.
FIG. 3 is a diagram illustrating a data structure of a route control cache holding unit.
FIG. 4 is a diagram illustrating a configuration and operation of a communication network according to the first embodiment of the present invention.
FIG. 5 is a diagram illustrating a configuration and operation of a communication network according to the first embodiment of the present invention.
FIG. 6 is a diagram illustrating a configuration and operation of a communication network according to the first embodiment of the present invention.
FIG. 7 is a configuration diagram of a communication terminal according to a second embodiment of the present invention.
FIG. 8 is a diagram illustrating a data structure of a relay cache holding unit.
FIG. 9 is a diagram illustrating a configuration and operation of a communication network according to a second embodiment of the present invention.
FIG. 10 is a diagram illustrating a configuration and operation of a communication network according to a second embodiment of the present invention.
FIG. 11 is a diagram illustrating a configuration and operation of a communication network according to a second embodiment of the present invention.
FIG. 12 is a configuration diagram of a communication terminal according to a third embodiment of the present invention.
FIG. 13 is a diagram illustrating a data structure of a relay number cache holding unit.
FIG. 14 is a diagram illustrating a configuration and operation of a communication network according to a third embodiment of the present invention.
FIG. 15 is a diagram illustrating a configuration and operation of a communication network according to a third embodiment of the present invention.
FIG. 16 is a configuration diagram of a communication terminal according to a fourth embodiment of the present invention.
FIG. 17 is a configuration diagram of a communication terminal according to a fifth embodiment of the present invention.
FIG. 18 is a diagram illustrating a data structure of a movement control unit.
FIG. 19 is a diagram illustrating another communication network according to the second embodiment of the present invention.
[Explanation of symbols]
101 communication interface unit, 102 communication control unit, 103 source / destination analysis unit, 104 nearby terminal ID analysis unit, 105 time setting holding unit, 106 nearby terminal ID holding unit, 107 route control cache holding unit, 201 communication control unit , 202 relay analysis unit, 203 relay cache holding unit, 204 relay control unit, 301 communication control unit, 302 relay number control unit, 303 relay number cache holding unit, 401 communication control unit, 402 movement detection unit, 501 communication control unit, 502 Movement control unit, 503 Movement detection unit.

Claims (10)

通信ネットワークを構成する他の通信端末と通信をする通信端末において、
上記他の通信端末とのデータの送受信を制御するととともに、自端末の動作を制御する通信制御手段と、
受信データから送信元または/および送信先の端末のIDを解析する送信先・送信元解析手段と、
中継時間の初期値を保持している時間設定保持手段と、
送信先または/および送信元の端末のIDと、その端末IDについての中継時間であって時間経過とともに減少してやがて0になる中継時間を保持するCache保持手段と
を備え、
上記通信制御手段は、
受信データに従って送信元または/および送信先の端末IDおよび上記中継時間の初期値を上記Cache保持手段に書き込み、
上記Cache保持手段に保持されている中継時間が0になったら、その中継時間についての端末IDを上記Cache保持手段から削除し、
受信データから解析された送信元または/および送信先の端末IDが上記Cache保持手段に保持されているものであれば、その受信データを近隣端末に中継送信し、
受信データから解析された送信元または/および送信先の端末IDが上記Cache保持手段に保持されていないものであれば、その受信データを中継送信しない
ことを特徴とする通信端末。
In a communication terminal that communicates with other communication terminals constituting a communication network,
Communication control means for controlling the operation of the terminal itself, while controlling the transmission and reception of data with the other communication terminal,
Destination / source analysis means for analyzing the ID of the source or / and destination terminal from the received data;
Time setting holding means for holding an initial value of the relay time;
A cache holding means for holding the ID of the terminal of the transmission destination or / and the transmission source, and a relay time for the terminal ID, the relay time being reduced with time and eventually becoming zero,
The communication control means includes:
According to the received data, the terminal ID of the transmission source or / and transmission destination and the initial value of the relay time are written in the Cache holding means,
When the relay time held in the cache holding means becomes 0, the terminal ID for the relay time is deleted from the cache holding means,
If the terminal ID of the transmission source and / or the transmission destination analyzed from the reception data is stored in the cache storage unit, the reception data is relayed and transmitted to a nearby terminal,
If the terminal ID of the transmission source and / or the transmission destination analyzed from the received data is not held in the cache holding means, the communication terminal does not relay the received data.
請求項1記載の通信端末において、
受信データからそのデータを自端末に直接送ってきた近隣端末のIDを解析する近隣端末ID解析手段をさらに備え、
上記通信制御手段は、
受信データから解析された送信元端末IDと近隣端末IDの組が送信先端末IDと中継先近隣端末IDの組として上記Cache保持手段に保持されていなければ、その送信元端末IDを送信先端末IDとし、その近隣端末IDを中継先端末IDとして、これらの送信先端末IDおよび中継先近隣端末IDならびに上記中継時間の初期値を上記Cache保持手段に追記し、
受信データから解析された送信元端末IDと近隣端末IDの組が送信先端末IDと中継先近隣端末IDの組として上記Cache保持手段に保持されていれば、その保持されている端末IDの組についての中継時間を上記中継時間の初期値に上書きし、
上記Cache保持手段に保持されている中継時間が0になったら、その中継時間についての端末IDを上記Cache保持手段から削除し、
受信データから解析された送信先端末IDが上記Cache保持手段に保持されているものであれば、その送信先端末IDについて上記Cache保持手段に保持されている全ての中継先近隣端末にその受信データを中継送信し、
受信データから解析された送信先端末IDが上記Cache保持手段に保持されていないものであれば、その受信データを中継送信しない
ことを特徴とする通信端末。
The communication terminal according to claim 1,
Further comprising a nearby terminal ID analyzing means for analyzing the ID of the nearby terminal which directly sent the data to the own terminal from the received data,
The communication control means includes:
If the set of the source terminal ID and the nearby terminal ID analyzed from the received data is not held in the cache holding unit as the set of the destination terminal ID and the relay destination nearby terminal ID, the source terminal ID is used as the destination terminal. ID, the neighboring terminal ID as a relay destination terminal ID, the destination terminal ID, the relay destination nearby terminal ID, and the initial value of the relay time are added to the Cache holding means,
If the set of the source terminal ID and the neighboring terminal ID analyzed from the received data is held in the cache holding unit as the set of the destination terminal ID and the relay destination neighboring terminal ID, the set of the held terminal IDs Overwrite the relay time for the initial value of the relay time,
When the relay time held in the cache holding means becomes 0, the terminal ID for the relay time is deleted from the cache holding means,
If the destination terminal ID analyzed from the received data is held in the cache holding means, the received data is transmitted to all relay destination neighboring terminals held in the cache holding means for the destination terminal ID. Relays the
If the destination terminal ID analyzed from the received data is not held in the cache holding means, the received data is not relayed and transmitted.
請求項2記載の通信端末において、
近隣端末IDと、その近隣端末IDについての保持時間であって時間経過とともに減少してやがて0になる保持時間を保持する近隣端末ID保持手段と
をさらに備え、
上記時間設定保持手段は、保持時間の初期値を保持しており、
上記通信制御手段は、
受信データから解析された近隣端末IDが上記近隣端末ID保持手段に保持されていなければ、その近隣端末IDおよび上記保持時間の初期値を上記近隣端末ID保持手段に追記し、
受信データから解析された近隣端末IDが上記近隣端末ID保持手段に保持されていれば、その保持されている近隣端末IDについての保持時間を上記保持時間の初期値に上書きし、
上記近隣端末ID保持手段に保持されている保持時間が0になったら、その保持時間についての端末IDを上記近隣端末ID保持手段から削除する
ことを特徴とする通信端末。
The communication terminal according to claim 2,
Further comprising a neighboring terminal ID, and a neighboring terminal ID holding means for holding a holding time for the neighboring terminal ID, the holding time being reduced with time and eventually becoming 0,
The time setting holding means holds an initial value of the holding time,
The communication control means includes:
If the neighboring terminal ID analyzed from the received data is not stored in the neighboring terminal ID holding unit, the neighboring terminal ID and the initial value of the holding time are added to the neighboring terminal ID holding unit,
If the nearby terminal ID analyzed from the received data is held in the nearby terminal ID holding means, the holding time for the held nearby terminal ID is overwritten with the initial value of the holding time,
When the holding time held in the neighboring terminal ID holding means becomes 0, the terminal ID for the holding time is deleted from the neighboring terminal ID holding means.
請求項1記載の通信端末において、
受信データからそのデータを自端末に直接送ってきた近隣端末のIDを解析する近隣端末ID解析手段と、
近隣端末IDと、その近隣端末IDについての保持時間であって時間経過とともに減少してやがて0になる保持時間を保持する近隣端末ID保持手段と、
中継依頼の受信データから中継依頼の内容および中継要求された2つの端末のIDを解析するとともに、中継要求の受信データから中継要求された2つの端末のIDを解析する中継解析手段と、
上記中継依頼の内容に従って中継要求のデータを生成する中継制御手段と
をさらに備え、
上記時間設定保持手段は、保持時間の初期値を保持しており、
上記通信制御手段は、
受信データから解析された近隣端末IDが上記近隣端末ID保持手段に保持されていなければ、その近隣端末IDおよび上記保持時間の初期値を上記近隣端末ID保持手段に追記し、
受信データから解析された近隣端末IDが上記近隣端末ID保持手段に保持されていれば、その保持されている近隣端末IDについての保持時間を上記保持時間の初期値に上書きし、
上記近隣端末ID保持手段に保持されている保持時間が0になったら、その保持時間についての端末IDを上記近隣端末ID保持手段から削除し、
上記中継要求された2つの端末のIDの組が上記Cache保持手段に保持されていなければ、その2つの端末IDの組および上記中継時間の初期値を上記Cache保持手段に追記し、
上記中継要求のデータを上記中継依頼の内容に従って中継端末となる所定の端末に送信し、
上記中継要求された2つの端末のIDの組が上記Cache保持手段に保持されていれば、その保持されている2つの端末IDの組についての中継時間を上記中継時間の初期値に上書きし、
上記Cache保持手段に保持されている中継時間が0になったら、その中継時間についての端末IDを上記Cache保持手段から削除し、
受信データから解析された送信元端末IDと送信先端末IDの組が上記Cache保持手段に保持されているものであれば、その受信データを上記近隣端末ID保持手段に保持されている全ての近隣端末に中継送信し、
受信データから解析された送信元端末IDと送信先端末IDの組が上記Cache保持手段に保持されていないものであれば、その受信データを中継送信しない
ことを特徴とする通信端末。
The communication terminal according to claim 1,
A nearby terminal ID analyzing means for analyzing the ID of the nearby terminal which directly transmitted the data to the own terminal from the received data;
A neighboring terminal ID, and a neighboring terminal ID holding unit that holds a holding time for the neighboring terminal ID, the holding time being reduced with time and eventually becoming 0;
Relay analysis means for analyzing the content of the relay request and the IDs of the two terminals requested to relay from the received data of the relay request, and analyzing the IDs of the two terminals requested to relay from the received data of the relay request;
Relay control means for generating data of the relay request according to the content of the relay request,
The time setting holding means holds an initial value of the holding time,
The communication control means includes:
If the neighboring terminal ID analyzed from the received data is not stored in the neighboring terminal ID holding unit, the neighboring terminal ID and the initial value of the holding time are added to the neighboring terminal ID holding unit,
If the nearby terminal ID analyzed from the received data is held in the nearby terminal ID holding means, the holding time for the held nearby terminal ID is overwritten with the initial value of the holding time,
When the holding time held in the nearby terminal ID holding unit becomes 0, the terminal ID for the holding time is deleted from the nearby terminal ID holding unit,
If the set of IDs of the two terminals requested to be relayed is not held in the cache holding means, the two terminal ID sets and the initial value of the relay time are added to the cache holding means,
Transmitting the data of the relay request to a predetermined terminal to be a relay terminal according to the content of the relay request,
If the set of IDs of the two terminals requested to be relayed is held in the Cache holding means, the relay time for the held set of two terminal IDs is overwritten with the initial value of the relay time,
When the relay time held in the cache holding means becomes 0, the terminal ID for the relay time is deleted from the cache holding means,
If the set of the source terminal ID and the destination terminal ID analyzed from the received data is held in the cache holding means, the received data is transferred to all the neighbors held in the neighboring terminal ID holding means. Relay to the terminal,
If the set of the source terminal ID and the destination terminal ID analyzed from the received data is not held in the cache holding means, the received data is not relayed and transmitted.
請求項1記載の通信端末において、
受信データからそのデータを自端末に直接送ってきた近隣端末のIDを解析する近隣端末ID解析手段と、
近隣端末IDと、その近隣端末IDについての保持時間であって時間経過とともに減少してやがて0になる保持時間を保持する近隣端末ID保持手段と、
受信データからそのデータの送信元から自端末までの中継数、またはそのデータの送信先までの中継数および送信元からの中継数を解析する中継数制御手段と
をさらに備え、
上記時間設定保持手段は、保持時間の初期値を保持しており、
上記通信制御手段は、
受信データから解析された近隣端末IDが上記近隣端末ID保持手段に保持されていなければ、その近隣端末IDおよび上記保持時間の初期値を上記近隣端末ID保持手段に追記し、
受信データから解析された近隣端末IDが上記近隣端末ID保持手段に保持されていれば、その保持されている近隣端末IDについての保持時間を上記保持時間の初期値に上書きし、
上記近隣端末ID保持手段に保持されている保持時間が0になったら、その保持時間についての端末IDを上記近隣端末ID保持手段から削除し、
受信データから解析された送信元端末IDが送信先端末IDとして上記Cache保持手段に保持されていなければ、その送信元端末IDを送信先端末IDとし、上記受信データから解析された送信元から自端末までの中継数を自端末から送信先までの中継数として、これらの送信先端末IDおよび自端末から送信先までの中継数ならびに上記中継時間の初期値を上記Cache保持手段に追記し、
上記受信データから解析された送信元端末IDが送信先端末IDとして上記Cache保持手段に保持されていれば、その保持されている送信先端末IDについての自端末から送信先までの中継数および中継時間をそれぞれ上記受信データから解析された送信元から自端末までの中継数および上記中継時間の初期値に上書きし、
上記Cache保持手段に保持されている中継時間が0になったら、その中継時間についての端末IDを上記Cache保持手段から削除し、
受信データから解析された送信先端末IDが上記Cache保持手段に保持されているものであり、かつその送信先端末IDについて上記Cache保持手段に保持されている中継数が上記受信データから解析された
送信先までの中継数よりも小さければ、その受信データ中の送信先までの中継数を1つ減じたデータを上記近隣端末ID保持手段に保持されている全ての近隣端末に中継送信し、
受信データから解析された送信先端末IDが上記Cache保持手段に保持されていないものであるか、またはその送信先端末IDについて上記Cache保持手段に保持されている中継数が上記受信データから解析された送信先までの中継数以上であれば、その受信データを中継送信しない
ことを特徴とする通信端末。
The communication terminal according to claim 1,
A nearby terminal ID analyzing means for analyzing the ID of the nearby terminal which directly transmitted the data to the own terminal from the received data;
A neighboring terminal ID, and a neighboring terminal ID holding unit that holds a holding time for the neighboring terminal ID, the holding time being reduced with time and eventually becoming 0;
Relay number control means for analyzing the number of relays from the source of the data to the terminal from the source of the data, or the number of relays to the destination of the data and the number of relays from the source,
The time setting holding means holds an initial value of the holding time,
The communication control means includes:
If the neighboring terminal ID analyzed from the received data is not stored in the neighboring terminal ID holding unit, the neighboring terminal ID and the initial value of the holding time are added to the neighboring terminal ID holding unit,
If the nearby terminal ID analyzed from the received data is held in the nearby terminal ID holding means, the holding time for the held nearby terminal ID is overwritten with the initial value of the holding time,
When the holding time held in the nearby terminal ID holding unit becomes 0, the terminal ID for the holding time is deleted from the nearby terminal ID holding unit,
If the source terminal ID analyzed from the received data is not held in the cache holding means as the destination terminal ID, the source terminal ID is set as the destination terminal ID, and the source analyzed from the received data is sent from the source. The number of relays to the terminal as the number of relays from the own terminal to the destination, the destination terminal ID and the number of relays from the own terminal to the destination and the initial value of the relay time are added to the Cache holding means,
If the source terminal ID analyzed from the received data is held in the cache holding means as the destination terminal ID, the number of relays from the own terminal to the destination for the held destination terminal ID and the number of relays Overwriting the time to the initial value of the number of relays from the transmission source to the terminal itself and the relay time, respectively, analyzed from the reception data,
When the relay time held in the cache holding means becomes 0, the terminal ID for the relay time is deleted from the cache holding means,
The destination terminal ID analyzed from the received data is held in the cache holding means, and the number of relays held in the cache holding means for the destination terminal ID is analyzed from the received data. If the number of relays to the transmission destination is smaller than the number of relays to the transmission destination, the data obtained by reducing the number of relays to the transmission destination by one in the received data is relay-transmitted to all the neighboring terminals held in the neighboring terminal ID holding means,
The destination terminal ID analyzed from the received data is not held in the cache holding means, or the number of relays held in the cache holding means for the destination terminal ID is analyzed from the received data. A communication terminal that does not relay the received data if the number of relays is equal to or greater than the number of relays to the destination.
請求項3から5までのいずれかに記載の通信端末において、
自端末の移動を検知する移動検知手段をさらに備え、
上記通信制御手段は、
自端末の移動が検知されたら、自端末IDの削除要求のデータを送信し、
ID削除要求のデータを受信したら、その受信データによって削除要求された端末IDを上記隣接端末ID保持手段から削除する
ことを特徴とする通信端末。
The communication terminal according to any one of claims 3 to 5,
It further comprises a movement detecting means for detecting the movement of the own terminal,
The communication control means includes:
When the movement of the own terminal is detected, the data of the own terminal ID deletion request is transmitted,
A communication terminal, upon receiving data of an ID deletion request, deleting a terminal ID requested to be deleted by the received data from the adjacent terminal ID holding means.
請求項6記載の通信端末において、
上記移動検知部が、振り子の傾き加減によって移動を検出する振動検出装置であることを特徴とする通信端末。
The communication terminal according to claim 6,
A communication terminal, wherein the movement detection unit is a vibration detection device that detects movement by adjusting the inclination of a pendulum.
(実施の形態5) 請求項3から5までのいずれかに記載の通信端末において、
自端末の移動速度および移動方向を検知する移動検知手段と、
上記移動検知手段によって取得された自端末の移動速度および移動方向ならびに受信データから取得した他の端末の移動速度および移動方向を管理し、自端末との相対速度が所定値を越える近隣端末を判別する移動制御手段と
を備え、
上記通信制御手段は、
自端末の移動速度および移動方向を通知するデータを送信し、
上記相対速度が上記所定値を越える近隣端末のIDを上記近隣端末ID保持部から削除する
ことを特徴とする通信端末。
(Embodiment 5) In the communication terminal according to any one of claims 3 to 5,
Movement detection means for detecting a movement speed and a movement direction of the own terminal;
It manages the moving speed and moving direction of the own terminal obtained by the movement detecting means and the moving speed and moving direction of another terminal obtained from the received data, and determines a nearby terminal whose relative speed with the own terminal exceeds a predetermined value. Movement control means,
The communication control means includes:
Send data that notifies the moving speed and moving direction of the terminal,
A communication terminal, wherein an ID of a neighboring terminal whose relative speed exceeds the predetermined value is deleted from the neighboring terminal ID holding unit.
請求項6または8に記載の通信端末において、
上記移動検知部が、GPSによって移動速度を検出するものであることを特徴とする通信端末。
The communication terminal according to claim 6, wherein:
A communication terminal, wherein the movement detection unit detects a movement speed by GPS.
請求項1から9までのいずれか1つに記載の複数の通信端末によって構成されたことを特徴とする通信ネットワーク。A communication network comprising a plurality of communication terminals according to any one of claims 1 to 9.
JP2003138542A 2003-05-16 2003-05-16 Communication terminal and communication network Expired - Fee Related JP4140442B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003138542A JP4140442B2 (en) 2003-05-16 2003-05-16 Communication terminal and communication network
US10/845,199 US7554982B2 (en) 2003-05-16 2004-05-14 Communication terminal and communication network
US12/471,955 US8199664B2 (en) 2003-05-16 2009-05-26 Communication terminal and communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003138542A JP4140442B2 (en) 2003-05-16 2003-05-16 Communication terminal and communication network

Publications (2)

Publication Number Publication Date
JP2004343495A true JP2004343495A (en) 2004-12-02
JP4140442B2 JP4140442B2 (en) 2008-08-27

Family

ID=33527880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003138542A Expired - Fee Related JP4140442B2 (en) 2003-05-16 2003-05-16 Communication terminal and communication network

Country Status (1)

Country Link
JP (1) JP4140442B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191481A (en) * 2005-01-07 2006-07-20 Ntt Docomo Inc Routing method and mobile terminal
JP2006287401A (en) * 2005-03-31 2006-10-19 Sony Corp Data communication equipment, data communication method, and data communication packet
JP2007074700A (en) * 2005-08-09 2007-03-22 Sony Corp Wireless communications system, terminal, method for reporting status of terminal, and program
JP2008060696A (en) * 2006-08-29 2008-03-13 Fujitsu Ltd Communication terminal unit, and communication program

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191481A (en) * 2005-01-07 2006-07-20 Ntt Docomo Inc Routing method and mobile terminal
JP4559237B2 (en) * 2005-01-07 2010-10-06 株式会社エヌ・ティ・ティ・ドコモ Routing method and mobile terminal
JP2006287401A (en) * 2005-03-31 2006-10-19 Sony Corp Data communication equipment, data communication method, and data communication packet
WO2006112148A1 (en) * 2005-03-31 2006-10-26 Sony Corporation Data communication device, data communication method, and data communication packet
US8903423B2 (en) 2005-03-31 2014-12-02 Sony Corporation Data communication apparatus, data communication method, and data communication packet
JP2007074700A (en) * 2005-08-09 2007-03-22 Sony Corp Wireless communications system, terminal, method for reporting status of terminal, and program
JP4561704B2 (en) * 2005-08-09 2010-10-13 ソニー株式会社 WIRELESS COMMUNICATION SYSTEM, TERMINAL, ITS STATUS NOTIFICATION METHOD, AND PROGRAM
JP2008060696A (en) * 2006-08-29 2008-03-13 Fujitsu Ltd Communication terminal unit, and communication program
JP4585497B2 (en) * 2006-08-29 2010-11-24 富士通株式会社 Communication terminal device and communication program

Also Published As

Publication number Publication date
JP4140442B2 (en) 2008-08-27

Similar Documents

Publication Publication Date Title
KR101256687B1 (en) Apparatus for setting multipath and method thereof
KR100595025B1 (en) Wireless network system for routing path for using redundancy degree, and routing method thereof
EP1936889B1 (en) Location aware packet routing in an ad-hoc network
KR101426724B1 (en) A method for communication using virtual sink node in a Wireless Sensor Network and an apparatus thereof
KR100852126B1 (en) A mobile terminal device, topology management device, location management device, and communication method
JP4251018B2 (en) Node position display method
US7948931B2 (en) MANET routing based on best estimate of expected position
Cao et al. A geographic multicopy routing scheme for DTNs with heterogeneous mobility
JP5316966B2 (en) Content download system, agent, and content download method
Araujo et al. SCaN-Mob: An opportunistic caching strategy to support producer mobility in named data wireless networking
JP4410963B2 (en) Content dynamic mirroring system,
KR101058931B1 (en) Multi-hop routing device and method reflecting link life time by node movement
EP1980061B1 (en) Improved route determining methods for a network
JP2004343495A (en) Communication terminal and communication network
KR20180134222A (en) Ad hoc Routing Method using Predicted Location, Link Quality and Topology Information of Unmanned Vehicle
JP2009055511A (en) Mobile terminal location management method in network for transmitting data by means of mobile terminal, relay mobile terminal, relay fixed station, and program
KR20110097979A (en) Distributed geospatial communications system
JP7364539B2 (en) Network management device, network management method, and program
KR20180134497A (en) IP Overlay Ad hoc Routing Method for Unmanned Vehicle Network
US20180062935A1 (en) Hybrid approach with classification for name resolution and producer selection in icn
WO2007129357A1 (en) Mobile communication system and mobile communication apparatus
JP2008109262A (en) Radio communication system, radio communication method, and mobile node
KR101779700B1 (en) Packet data transferring method using mobile equipment and stationary node and determining method for routing path including mobile equipment and stationary node
JP6492718B2 (en) Wireless terminal
Mawad et al. HIDTN: hybrid DTN and infrastructure networks for reliable and efficient data dissemination

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080424

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080602

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4140442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees