(57)【要約】【課題】通信不能または通信困難になったノードをノードリストから消去することができるようにする。【解決手段】登録部３１は、ノードリストに相手先ノードを登録する。情報付加部３２は、送信データバッファ１５に送信データパケットが格納されるとき、ノードリストで管理されているノードインデックスを付加するとともに適切なTTLを付加する。判定部３４は、送信データバッファ１５において、所定の時間が経過してTTLが０になった送信データパケットがあるか否かを判定する。TTLが０になった送信データパケットがあると判定された場合、消去部３５は、対象となる送信データパケットを送信データバッファ１５から消去するとともに、消去した送信データパケットの宛て先ノードは通信不能または通信困難とみなし、ノードリストから登録を消去する。本発明は、ビーコン信号を送受信することのできる通信端末に適用することができる。【選択図】図４
2007258803.tif 000002
【特許請求の範囲】
【請求項１】
他の装置から回線接続維持に必要となる情報を受信し、その情報に含まれる前記他の装置を識別する識別情報をリストに登録する登録手段と、
前記他の装置に送信するデータパケットに、前記登録手段により登録された前記識別情報および有効残り時間を示す値を付加する付加手段と、
前記有効残り時間を示す値に基づいて、前記データパケットを消去するか否かを判定する判定手段と、
前記判定手段により前記データパケットを消去すると判定された場合、前記データパケットを消去するとともに、前記データパケットに付加されている前記識別情報に基づいて、前記リストに登録されている対象となる前記識別情報を消去する消去手段と
を備える送信装置。
【請求項２】
複数の前記データパケットの中から、送信すべきデータパケットを選択する選択手段をさらに備える
請求項１に記載の送信装置。
【請求項３】
前記選択手段は、最も小さい前記有効残り時間を示す値が付加された前記データパケットを選択する
請求項２に記載の送信装置。
【請求項４】
他の装置から回線接続維持に必要となる情報を受信し、その情報に含まれる前記他の装置を識別する識別情報をリストに登録し、
前記他の装置に送信するデータパケットに、登録された前記識別情報および有効残り時間を示す値を付加し、
前記有効残り時間を示す値に基づいて、前記データパケットを消去するか否かを判定し、
前記データパケットを消去すると判定された場合、前記データパケットを消去するとともに、前記データパケットに付加されている前記識別情報に基づいて、前記リストに登録されている対象となる前記識別情報を消去する
ステップを含む送信方法。
【請求項５】
他の装置から回線接続維持に必要となる情報を受信し、その情報に含まれる前記他の装置を識別する識別情報をリストに登録し、
前記他の装置に送信するデータパケットに、登録された前記識別情報および有効残り時間を示す値を付加し、
前記有効残り時間を示す値に基づいて、前記データパケットを消去するか否かを判定し、
前記データパケットを消去すると判定された場合、前記データパケットを消去するとともに、前記データパケットに付加されている前記識別情報に基づいて、前記リストに登録されている対象となる前記識別情報を消去する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置および方法、並びにプログラムに関し、特に、通信不能または通信困難になったノードをノードリストから消去することができるようにした送信装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、通信端末の普及に伴い、ユーザは、移動先において他の装置と接続し、情報を授受することができるようになってきた。このような、いわゆるモバイルコンピューティング環境では、通信端末であるノードは、移動することが前提となり、ノードの位置が変化しても、継続して通信できるようにする必要がある。
【０００３】
例えば、ノードは、他のノードから送信されてきたパケットに含まれるノードを識別するIDを用いて通信可能な相手先ノードをノードリストに登録し、そのノードリストに基づいて他の装置と通信を行うか否かを判断する。
【０００４】
相手先ノードが一旦ノードリストに登録されると、現在送信待機中のパケットがあるかどうかでその登録を消去するか否かが判断されるのではなく、例えば対象となる相手先ノードからビーコン信号などの通信維持を示す信号が検出されるかどうかでその登録を消去するか否かが判断される。
【特許文献１】特開２００３−１５２７３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、例えば伝送路が送信と受信で非対称な品質であった場合、通信維持を示す信号は維持を示しているが、送信パケットは正しく伝送できないということがありえる。
【０００６】
このような状況では、送信先としてふさわしくない相手先ノードをノードリストに登録したままになり、そのノード宛ての送信パケットが送信バッファをいつまでも占有することになる。そのため、無駄にバッファ領域を占有し、バッファの利用効率を悪化させてしまう。また、正しく伝送できないにもかかわらず、さらに上位層から送信パケットが送られてきて、宛先不明で送信できずバッファあふれを起こす恐れもある。
【０００７】
さらには、ノードが通信不能または通信困難になった場合に、相手先ノードからの通信維持を示す信号の送信や検出の頻度が疎であったりすると、実際に通信不能または通信困難になってから登録消去までの処理を行う時間がかかることが想定され、やはりバッファあふれを起こす恐れがあった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、通信不能または通信困難になったノードをノードリストから消去することができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の送信装置は、他の装置から回線接続維持に必要となる情報を受信し、その情報に含まれる前記他の装置を識別する識別情報をリストに登録する登録手段と、前記他の装置に送信するデータパケットに、前記登録手段により登録された前記識別情報および有効残り時間を示す値を付加する付加手段と、前記有効残り時間を示す値に基づいて、前記データパケットを消去するか否かを判定する判定手段と、前記判定手段により前記データパケットを消去すると判定された場合、前記データパケットを消去するとともに、前記データパケットに付加されている前記識別情報に基づいて、前記リストに登録されている対象となる前記識別情報を消去する消去手段とを備える。
【００１０】
複数の前記データパケットの中から、送信すべきデータパケットを選択する選択手段をさらに設けるようにすることができる。
【００１１】
前記選択手段には、最も小さい前記有効残り時間を示す値が付加された前記データパケットを選択させるようにすることができる。
【００１２】
本発明の一側面の送信方法は、他の装置から回線接続維持に必要となる情報を受信し、その情報に含まれる前記他の装置を識別する識別情報をリストに登録し、前記他の装置に送信するデータパケットに、登録された前記識別情報および有効残り時間を示す値を付加し、前記有効残り時間を示す値に基づいて、前記データパケットを消去するか否かを判定し、前記データパケットを消去すると判定された場合、前記データパケットを消去するとともに、前記データパケットに付加されている前記識別情報に基づいて、前記リストに登録されている対象となる前記識別情報を消去するステップを含む。
【００１３】
本発明の一側面のプログラムは、他の装置から回線接続維持に必要となる情報を受信し、その情報に含まれる前記他の装置を識別する識別情報をリストに登録し、前記他の装置に送信するデータパケットに、登録された前記識別情報および有効残り時間を示す値を付加し、前記有効残り時間を示す値に基づいて、前記データパケットを消去するか否かを判定し、前記データパケットを消去すると判定された場合、前記データパケットを消去するとともに、前記データパケットに付加されている前記識別情報に基づいて、前記リストに登録されている対象となる前記識別情報を消去するステップを含む。
【００１４】
本発明の一側面においては、他の装置から回線接続維持に必要となる情報が受信され、その情報に含まれる他の装置を識別する識別情報がリストに登録される。そして、他の装置に送信するデータパケットに識別情報および有効残り時間を示す値が付加され、有効残り時間を示す値に基づいてデータパケットを消去するか否かが判定され、データパケットを消去すると判定された場合、そのデータパケットが消去されるとともに、データパケットに付加されている識別情報に基づいて、リストに登録されている対象となる識別情報が消去される。
【発明の効果】
【００１５】
本発明によれば、通信不能または通信困難になったノードをノードリストから消去することができる。
【発明を実施するための最良の形態】
【００１６】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外には対応しないものであることを意味するものでもない。
【００１７】
本発明の一側面の送信装置（例えば、図１の通信装置１）は、他の装置（例えば、図１の通信装置２乃至４）から回線接続維持に必要となる情報を受信し、その情報に含まれる前記他の装置を識別する識別情報をリストに登録する登録手段（例えば、図４の登録部３１）と、前記他の装置に送信するデータパケットに、前記登録手段により登録された前記識別情報および有効残り時間を示す値を付加する付加手段（例えば、図４の情報付加部３２）と、前記有効残り時間を示す値に基づいて、前記データパケットを消去するか否かを判定する判定手段（例えば、図４の判定部３４）と、前記判定手段により前記データパケットを消去すると判定された場合、前記データパケットを消去するとともに、前記データパケットに付加されている前記識別情報に基づいて、前記リストに登録されている対象となる前記識別情報を消去する消去手段（図４の消去部３５）とを備える。
【００１８】
この送信装置には、複数の前記データパケットの中から、送信すべきデータパケットを選択する選択手段（例えば、図４の選択部３３）をさらに備えることができる。
【００１９】
本発明の一側面の送信方法およびプログラムは、他の装置から回線接続維持に必要となる情報を受信し、その情報に含まれる前記他の装置を識別する識別情報をリストに登録し、前記他の装置に送信するデータパケットに、登録された前記識別情報および有効残り時間を示す値を付加し（例えば、図５のステップＳ１）、前記有効残り時間を示す値に基づいて、前記データパケットを消去するか否かを判定し（例えば、図５のステップＳ８）、前記データパケットを消去すると判定された場合、前記データパケットを消去するとともに（例えば、図５のステップＳ９）、前記データパケットに付加されている前記識別情報に基づいて、前記リストに登録されている対象となる前記識別情報を消去するステップ（例えば、図５のステップＳ１０）を含む。
【００２０】
以下、本発明の実施の形態について図を参照して説明する。
【００２１】
図１は、本発明の一実施形態に係る通信システムを示す図である。
【００２２】
通信装置１乃至４は、移動ノードであって、例えば、802.11の規格に対応したWLAN（Wireless Local Area Network；無線LAN）機能を有して他の装置と接続し、情報の授受を行うことができる。図１において、注目する通信装置１を自ノードとし、通信装置２乃至４を、それぞれノードＡ、ノードＢ、ノードＣとして以下に説明する。
【００２３】
通信装置１は、通信装置２乃至４から送信されてくる、回線接続維持に必要となる重要な情報が含まれたビーコン信号を受信する。通信装置１は、受信したビーコン信号に含まれる相手先ノードを識別するIDに基づいて、ノードリストに相手先ノードであるノードＡ、ノードＢ、およびノードＣの登録を行う。
【００２４】
同様に、通信装置２乃至４も、他の通信装置から送信されてくるビーコン信号を受信し、そのビーコン信号に含まれる相手先ノードを識別するIDに基づいて、ノードリストに相手先ノードの登録をそれぞれ行う。
【００２５】
図２は、通信装置１に登録されるノードリストの例を示す図である。
【００２６】
ノードリストは、ノードインデックスによって管理され、各ノードインデックスに対応付けて相手先ノードが登録される。
【００２７】
図２に示されるように、１のノードインデックスには通信装置２のノードＡが登録され、２のノードインデックスには通信装置３のノードＢが登録され、３のノードインデックスには通信装置４のノードＣが登録されている。４以降のノードインデックスにはまだ何も登録されていない。
【００２８】
図３は、図１の通信装置１の構成例を示す図である。
【００２９】
図３に示されるように、通信装置１は、制御部１１、上位レイヤ１２、記憶部１３、デキュー１４、送信データバッファ１５、送信処理部１６、アンテナ１７、およびドライブ１８で構成されている。これらの構成は、ソフトウエア的に、またはハードウエア的に実現される。
【００３０】
制御部１１は、CPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)などで構成され、CPUがRAMに記憶されているプログラムを実行することにより、デキュー１４および送信処理部１６を制御する。
【００３１】
上位レイヤ１２は、記憶部１３に記憶されているノードリストを参照し、対象となるノード宛ての送信データパケットをMAC（Media Access Control）レイヤに送り、送信データバッファ１５に格納させる。記憶部１３には、図２に示したノードリストが記憶されている。
【００３２】
デキュー１４は、上位レイヤ１２から送信データバッファ１５に送信データパケットが格納されるとき、適切なTime To Live値を付加する。デキュー１４は、このTime To Live値を所定時間毎（例えば、100msec毎）にデクリメントする。ここでTime To Live値とは、送信データパケットの有効残り時間を示す値である。
【００３３】
また、デキュー１４は、送信データバッファ１５に格納されている送信データパケットのうち、送信優先度の高いものから順次選択して送信処理部１６に転送させる。
【００３４】
さらに、デキュー１４は、送信データバッファ１５に格納されている送信データパケットのうち、Time To Live値が０になった送信データパケットがあると判断した場合、その送信データパケットを送信データバッファ１５から消去するとともに、消去した送信データパケットの宛て先ノードは通信不能または通信困難とみなし、記憶部１３に記憶されているノードリストから登録を消去する。
【００３５】
送信データバッファ１５には、上位レイヤ１２から転送され、相手先ノードとTime To Live値が付加された送信データパケットが格納される。送信処理部１６は、デキュー１４により選択され送信データバッファ１５から転送されてきた送信データパケットをアンテナ１７を介して送信する。
【００３６】
制御部１１に接続されているドライブ１８は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア１９が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて制御部１１に転送され、記憶される。
【００３７】
図４は、通信装置１の機能構成例を示すブロック図である。図４に示す機能部のうちの少なくとも一部は、図３の制御部１１により所定のアプリケーションが実行されることによって実現される。なお、送信データバッファ１５に格納されている送信データパケットに付加されたノードインデックスの括弧内の英字は、ノードを表わしており、例えば、１（Ａ）は、１のノードインデックスに登録されている通信装置２のノードＡであることが示されている。TTLは、Time To live値を示している。
【００３８】
図４に示されるように、通信装置１においては、登録部３１、情報付加部３２、選択部３３、判定部３４、および消去部３５が実現される。
【００３９】
登録部３１は、通信装置２乃至４から送信されてくるビーコン信号を受信し、そのビーコン信号に含まれる相手先ノードを識別するIDに基づいて、図２に示したノードリストに相手先ノードを登録する。
【００４０】
情報付加部３２は、上位レイヤ１２から送信データバッファ１５に送信データパケットが格納されるとき、どのノード宛ての送信データパケットであるかを示す値として、ノードリストで管理されているノードインデックスを付加するとともに、適切なTime To Live値を付加する。
【００４１】
送信データバッファ１５には、ノードインデックスとTime To Live値が付加された送信データパケットが格納される。
【００４２】
図４の例においては、１のノードインデックスおよび１のTime To Live値が付加された送信データパケット、１のノードインデックスおよび３のTime To Live値が付加された送信データパケット、２のノードインデックスおよび４のTime To Live値が付加された送信データパケット、および、１のノードインデックスおよび６のTime To Live値が付加された送信データパケットが送信データバッファ１５に格納されている。
【００４３】
選択部３３は、送信データバッファ１５に格納されている送信データパケットのうち、いま送信すべき送信データパケットとして、Time To Live値が最も小さい送信データパケットを選択する。また選択部３３は、Time To Live値が最も小さい送信データパケットよりも送信優先度の高い送信データパケットがデータバッファ１５内に存在する場合には、その送信データパケットを優先的に選択する。
【００４４】
具体的には、送信データバッファ１５内において、例えば、１のノードインデックスおよび６のTime To Live値が付加された送信データパケットが最も送信優先度が高かった場合、１のノードインデックスおよび１のTime To Live値が付加された送信データパケットよりも先に選択される。
【００４５】
判定部３４は、選択部３３によって選択された送信データパケットの送信に成功したか否かを判定し、送信成功の場合、その旨を消去部３５に通知する。また判定部３４は、送信データバッファ１５に格納されている送信データパケットのTime To Live値を所定時間毎にデクリメントしてその値を管理し、Time To Live値が０になった送信データパケットがあるか否かを判定する。そして、Time To Live値が０になった送信データパケットがあると判定した場合、その旨を消去部３５に通知する。
【００４６】
消去部３５は、判定部３４からの送信成功の通知に基づいて、対象となる送信データパケットを送信データバッファ１５から消去する。また消去部３５は、判定部３４からのTime To Live値が０になった送信データパケットがあるという通知に基づいて、対象となる送信データパケットを送信データバッファ１５から消去するとともに、消去した送信データパケットの宛て先ノードは通信不能または通信困難とみなし、ノードリストから登録を消去する。
【００４７】
次に、図５のフローチャートを参照して、通信装置１が実行する送信処理について説明する。図５の処理は、上位レイヤ１２が、記憶部１３に記憶されているノードリストを参照し、対象となるノード宛ての送信データパケットをMACレイヤに送って送信データバッファ１５に格納させるとき開始される。
【００４８】
ステップＳ１において、情報付加部３２は、送信データパケットが送信データバッファ１５に格納されるとき、どのノード宛ての送信データパケットであるかを示す値として、ノードリストで管理されているノードインデックスを付加するとともに、適切なTime To Live値を付加する。ステップＳ２において、送信データバッファ１５は、ステップＳ１の処理によりノードインデックスとTime To Live値が付加された送信データパケットを格納する。
【００４９】
ステップＳ３において、選択部３３は、送信データバッファ１５に格納されている送信データパケットのうち、送信優先度に鑑み送信データパケットを選択する。すなわち、送信データバッファ１５には、いろいろなノード宛てのいろいろな優先度の送信データパケットが格納されているため、必ずしもTime To Live値の一番小さい送信データパケットが選択されるわけではなく、最も送信優先度の高い送信データパケットが選択される。ステップＳ４において、送信処理部１６は、ステップＳ３の処理により選択された送信データパケットをアンテナ１７を介して送信する。
【００５０】
ステップＳ５において、判定部３４は、ステップＳ４の送信処理は成功したか否かを判定する。ここで、データ送受信時の確認を示す信号であるACK（acknowledgement）を必要とする送信データパケットの場合、そのACKを受信できた場合に送信成功と判定され、ACKを必要としない送信データパケットの場合には、送信した時点で送信成功と判定される。ステップＳ５において、判定部３４は、ステップＳ４の送信処理は成功したと判定した場合、ステップＳ６に進み、ステップＳ３の処理により選択され、ステップＳ４の処理により送信された送信データパケットを送信データバッファ１５から消去する。
【００５１】
ステップＳ７において、判定部３４は、送信データバッファ１５で送信待機中の送信データパケットのTime To Live値をデクリメントする。ステップＳ８において、判定部３４は、送信データバッファ１５に格納されている送信データパケットのうち、Time To Live値が０になった送信データパケットがあるか否かを判定し、Time To Live値が０になった送信データパケットがあると判定した場合、ステップＳ９に進む。
【００５２】
ステップＳ９において、消去部３５は、Time To Live値が０になった送信データパケットを送信データバッファ１５から消去する。ステップＳ１０において、消去部３５は、ステップＳ９において消去された送信データパケットの宛て先ノードを通信不能または通信困難とみなし、ノードリストから登録を消去する。
【００５３】
ステップＳ１０の処理の後、または、ステップＳ８において、送信データバッファ１５に格納されている送信データパケットのうち、Time To Live値が０になった送信データパケットがないと判定された場合、ステップＳ１１に進む。
【００５４】
ステップＳ１１において、選択部３３は、送信データバッファ１５に送信すべき送信データパケットがあるか否かを判定し、送信すべき送信データパケットがまだあると判定した場合、ステップＳ３に戻り、上述したそれ以降の処理を繰り返す。また、ステップＳ５において、ステップＳ４の送信処理に失敗したと判定された場合もステップＳ３に戻り、上述したそれ以降の処理が繰り返される。
【００５５】
そして、ステップＳ１１において、送信データバッファ１５に送信すべき送信データパケットがないと判定された場合、処理は終了される。
【００５６】
以上のように、送信データパケットに付加されたTime To Live値が０になった場合、その送信データパケットの送信をあきらめて送信データバッファ１５から消去すると同時に、その宛て先ノードは通信不能または通信困難とみなしてノードリストから登録を消去するようにしたので、送信先としてふさわしくないノード宛ての送信データパケットが送信データバッファ１５をいつまでも占有することがなくなる。すなわち、無駄にバッファ領域を占有し、利用効率を悪化させることがなくなる。
【００５７】
また、正しく伝送できないにもかかわらず、さらに上位レイヤ１２から送信パケットが送られてきて、宛先不明で送信できずバッファあふれを起こすことを未然に避けることが可能になる。
【００５８】
以上においては、送信データパケットに付加されたTime To Live値が０になった場合、その送信データパケットの送信をあきらめて送信データバッファ１５から消去するようにしたが、これに限らず、例えば、ノード毎に最も古い送信データパケットのTime To Live値だけを参照することで消去するか否かを判断するようにしてもよい。
【００５９】
また以上においては、送信データパケットに付加されるTime To Live値を送信データパケットとともに送信データバッファ１５に格納して管理するようにしたが、もちろん、Time To Live値を他のメモリで管理するようにしてもよい。
【００６０】
さらに以上においては、所定時間毎にTime To Live値をデクリメントし、その値を管理するようにしたが、これに限らず、例えば、上位レイヤ１２から転送されてきたパケット到着時刻を記憶し、現時刻との差を算出することでTime To Live値を管理するようにしてもよい。
【００６１】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【００６２】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図３に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)，DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１９、または、プログラムが一時的もしくは永続的に格納されるハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【００６３】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００６４】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態に係る通信システムを示す図である。
【図２】ノードリストの例を示す図である。
【図３】図１の通信装置の構成例を示す図である。
【図４】通信装置の機能構成例を示すブロック図である。
【図５】通信装置が実行する送信処理について説明するフローチャートである。
【符号の説明】
【００６６】
１乃至４  通信装置，  １１  制御部，  １２  上位レイヤ，  １３  記憶部，  １４  デキュー，  １５  送信データバッファ，  １６  送信処理部，  １７  アンテナ，  １８  ドライブ，  １９  リムーバブルメディア，  ３１  登録部，  ３２  情報付加部，  ３３  選択部，  ３４  判定部，  ３５  消去部
【図１】
2007258803.tif 000003
【図２】
2007258803.tif 000004
【図３】
2007258803.tif 000005
【図４】
2007258803.tif 000006
【図５】
2007258803.tif 000007