(57)【特許請求の範囲】
【請求項１】
自己のアドレスとしてそれぞれに固有な固有アドレスとマルチキャストアドレスとを有する複数個のノードからなり、送信元のノードは送信先となるノードを決めるマルチキャストアドレスを含む送信パケットをマルチキャスト通信で送信し、送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有するノードは送信パケットを受信して返信パケットを作成し、送信パケットには返信パケットを返信するノードの個数のオーダーで生成された生成値が含まれ、返信パケットを返信するノードは自己の固有アドレスを送信パケットから取得した生成値で除して剰余を算出し、算出した剰余と予め定められた基本単位時間とを乗じる演算を用いて返信待機時間を算出し、送信パケットの受信後の経過時間が返信待機時間となったときに返信パケットを送信元のノードにユニキャスト通信で返信し、
送信元のノードは、返信パケットを返信すべきノードのうち肯定応答を含む返信パケットを受信できなかったノードの固有アドレスを含む返信ノード情報を送信パケットに含ませる修正をし、修正した送信パケットをマルチキャスト通信で再送信し、送信パケットを受信したノードは返信ノード情報に含まれる固有アドレスと自己の固有アドレスとが一致する場合に返信パケットを作成して返信し、
送信元のノードは、送信パケットにおいて、返信ノード情報に含まれる固有アドレスを、再送信した送信パケットに対して返信パケットを返信すべきノードのうち肯定応答を含む返信パケットを受信できなかったノードの固有アドレスに変更する修正をし、生成値を再度生成した後再度生成した生成値をより大きな値に変更する修正をし、修正した送信パケットをマルチキャスト通信で再度再送信することを特徴とする通信システム。
【請求項２】
自己のアドレスとしてそれぞれに固有な固有アドレスとマルチキャストアドレスとを有する複数個のノードからなり、送信元のノードは送信先となるノードを決めるマルチキャストアドレスを含む送信パケットをマルチキャスト通信で送信し、送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有するノードは送信パケットを受信して返信パケットを作成し、送信パケットには返信パケットを返信するノードの個数のオーダーで生成された生成値が含まれ、返信パケットを返信するノードは自己の固有アドレスを送信パケットから取得した生成値で除して剰余を算出し、算出した剰余と予め定められた基本単位時間とを乗じる演算を用いて返信待機時間を算出し、送信パケットの受信後の経過時間が返信待機時間となったときに返信パケットを送信元のノードにユニキャスト通信で返信し、
前記送信パケットには返信パケットを返信すべきノードの固有アドレスを含む返信ノード情報が含まれ、送信パケットを受信したノードは返信ノード情報に含まれる固有アドレスと自己の固有アドレスとが一致する場合に返信パケットを作成して返信し、
送信元のノードが過去に返信された返信パケットから算出した受信成功率の高いノードの固有アドレスを含む返信ノード情報を送信パケットに含ませてマルチキャスト通信で送信することを特徴とする通信システム。
【請求項３】
前記各ノードは他のノードを順位付けした優先リストを格納するリスト格納部をそれぞれ備え、送信元のノードは、返信パケットを返信すべきノードのうち肯定応答を含む返信パケットを受信できなかったノードにおいて、優先リストにおける優先順位が最も高いノードの固有アドレスのみを含む返信ノード情報を送信パケットに含ませてマルチキャスト通信で再送信することを特徴とする請求項２に記載の通信システム。
【請求項４】
自己のアドレスとしてそれぞれに固有な固有アドレスとマルチキャストアドレスとを有する複数個のノードからなり、送信元のノードは送信先となるノードを決めるマルチキャストアドレスを含む送信パケットをマルチキャスト通信で送信し、送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有するノードは送信パケットを受信して返信パケットを作成し、送信パケットには返信パケットを返信するノードの個数のオーダーで生成された生成値が含まれ、返信パケットを返信するノードは自己の固有アドレスを送信パケットから取得した生成値で除して剰余を算出し、算出した剰余と予め定められた基本単位時間とを乗じる演算を用いて返信待機時間を算出し、送信パケットの受信後の経過時間が返信待機時間となったときに返信パケットを送信元のノードにユニキャスト通信で返信し、
送信パケットを受信したノードが作成する前記返信パケットには送信パケットに含まれていたアドレスが含まれ、各ノードは他のノードが返信した返信パケットを監視し、返信パケットに含まれているアドレスと自己の有するアドレスとが一致し、かつ、返信パケットを返信していない場合は、否定応答を含む返信パケットを作成して送信元のノードに送信することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、防犯設備、防災設備、照明設備などに用いられる通信システムに関するものである。
【背景技術】
【０００２】
従来より、人感知センサや警報器などで構成される防犯設備、温度センサや振動センサや警報器などで構成される防災設備、人感知センサや照明器具や照明器具を点灯させるスイッチ素子などで構成される照明設備などの住宅等設置型の設備において、人感知センサ等の機器をノードとして各ノード間の通信を行う通信システムが提供されている。このような設備に使用される通信システムでは、送信元のノードが命令や情報を含む送信パケットを一または複数個のノードに送信し、送信後、各ノードの送信パケットの受信の成否や、命令や情報に対する応答を確認するような通信が行われる。
【０００３】
そのような通信の方法としては、送信元のノードが送信パケットを受信したノードと個々にユニキャスト通信を行って確認する通信方法（例えば、特許文献１参照）と、送信パケットを受信したノードが送信パケットに対する応答と肯定応答（ＡＣＫ）または否定応答（ＮＡＣＫ）を含む返信パケットを送信元のノードに返信することにより確認する通信方法（例えば、特許文献２参照）とが提供されている。
【０００４】
上述の２つの通信方法のうち、送信元のノードが送信パケットを受信したノードと個々にユニキャスト通信を行う通信方法は、送信パケットを受信したノードの個数に応じた通信時間が必要となり、送信先のノードの個数が多い場合通信時間が長くなるという問題がある。照明設備に用いられる通信システムにおいては、スイッチ素子を操作してから全ての照明器具がほぼ同時に点灯することが求められるので、点灯確認に長時間を要する通信方法は望ましくない。通信システムとして高速通信システムを実現できれば通信時間を短縮できるが、設備投資費が増大するため住宅等設置型の設備に導入することはやはり望ましくない。したがって、照明設備に用いられる通信システムにおいては、送信パケットを受信したノードが送信元のノードに返信パケットを返信する通信方法を採用することが望ましい。
【０００５】
一方、送信元のノードが送信先のノードに送信パケットを送信する通信方法には、送信先の各ノードに対して個々に送信パケットを送信するユニキャスト通信と、送信先のノードに一度に送信するマルチキャスト通信やブロードキャスト通信などとがあるが、ユニキャスト通信は送信先の各ノードに個々に送信パケットを送信するので送信先のノードの個数に応じた送信時間が必要となって通信に時間がかかり、また、ブロードキャスト通信は全てのノードが送信パケットを受信するので、返信パケットの個数が増加してやはり通信に時間がかかる。したがって、上述のような照明設備などに用いられる通信システムにおいては、送信パケットの送信にはマルチキャスト通信を用いることが望ましい。
【０００６】
ところで、上述のような送信元のノードがマルチキャスト通信などを用いて複数個のノードに同時に送信パケットを送信し、送信パケットを受信したノードが肯定応答などを含む返信パケットを送信元のノードに返信する通信においては、返信パケット同士のコリジョン（衝突）が発生して送信元のノードが正常に返信パケットを受信できないという問題がある。この問題を解決する方法として、返信パケットの返信前に衝突確認を行い、衝突が確認された場合は設定される待ち時間の経過後に再度衝突確認を行い、衝突が確認されない場合に返信パケットを返信する技術が提供されている。
【特許文献１】特開２００５−１３６８８１号広報
【特許文献１】特開平７−３０３１１１号広報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、衝突確認を行う方法においては、返信パケットを返信する各ノードが衝突確認を行い、また、衝突を確認した場合は設定される待ち時間の経過後再び衝突確認を行うので、全ての返信パケットが返信されるまでの時間が長くなるという問題がある。
【０００８】
本発明は上記事由に鑑みて為されたものであり、その目的は、衝突確認を行うことなく返信パケット同士の衝突の発生を減らし、通信時間を短縮できる通信システムを提供することにある。
【課題を解決するための手段】
【０００９】
請求項１の発明は、自己のアドレスとしてそれぞれに固有な固有アドレスとマルチキャストアドレスとを有する複数個のノードからなり、送信元のノードは送信先となるノードを決めるマルチキャストアドレスを含む送信パケットをマルチキャスト通信で送信し、送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有するノードは送信パケットを受信して返信パケットを作成し、送信パケットには返信パケットを返信するノードの個数のオーダーで生成された生成値が含まれ、返信パケットを返信するノードは自己の固有アドレスを送信パケットから取得した生成値で除して剰余を算出し、算出した剰余と予め定められた基本単位時間とを乗じる演算を用いて返信待機時間を算出し、送信パケットの受信後の経過時間が返信待機時間となったときに返信パケットを送信元のノードにユニキャスト通信で返信し、送信元のノードは、返信パケットを返信すべきノードのうち肯定応答を含む返信パケットを受信できなかったノードの固有アドレスを含む返信ノード情報を送信パケットに含ませる修正をし、修正した送信パケットをマルチキャスト通信で再送信し、送信パケットを受信したノードは返信ノード情報に含まれる固有アドレスと自己の固有アドレスとが一致する場合に返信パケットを作成して返信し、送信元のノードは、送信パケットにおいて、返信ノード情報に含まれる固有アドレスを、再送信した送信パケットに対して返信パケットを返信すべきノードのうち肯定応答を含む返信パケットを受信できなかったノードの固有アドレスに変更する修正をし、生成値を再度生成した後再度生成した生成値をより大きな値に変更する修正をし、修正した送信パケットをマルチキャスト通信で再度再送信することを特徴とする。
【００１０】
請求項２の発明は、自己のアドレスとしてそれぞれに固有な固有アドレスとマルチキャストアドレスとを有する複数個のノードからなり、送信元のノードは送信先となるノードを決めるマルチキャストアドレスを含む送信パケットをマルチキャスト通信で送信し、送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有するノードは送信パケットを受信して返信パケットを作成し、送信パケットには返信パケットを返信するノードの個数のオーダーで生成された生成値が含まれ、返信パケットを返信するノードは自己の固有アドレスを送信パケットから取得した生成値で除して剰余を算出し、算出した剰余と予め定められた基本単位時間とを乗じる演算を用いて返信待機時間を算出し、送信パケットの受信後の経過時間が返信待機時間となったときに返信パケットを送信元のノードにユニキャスト通信で返信し、前記送信パケットには返信パケットを返信すべきノードの固有アドレスを含む返信ノード情報が含まれ、送信パケットを受信したノードは返信ノード情報に含まれる固有アドレスと自己の固有アドレスとが一致する場合に返信パケットを作成して返信し、送信元のノードが過去に返信された返信パケットから算出した受信成功率の高いノードの固有アドレスを含む返信ノード情報を送信パケットに含ませてマルチキャスト通信で送信することを特徴とする。
【００１４】
請求項３の発明は、請求項２の発明において、前記各ノードは他のノードを順位付けした優先リストを格納するリスト格納部をそれぞれ備え、送信元のノードは、返信パケットを返信すべきノードのうち肯定応答を含む返信パケットを受信できなかったノードにおい
て、優先リストにおける優先順位が最も高いノードの固有アドレスのみを含む返信ノード情報を送信パケットに含ませてマルチキャスト通信で再送信することを特徴とする。
【００１５】
請求項４の発明は、自己のアドレスとしてそれぞれに固有な固有アドレスとマルチキャストアドレスとを有する複数個のノードからなり、送信元のノードは送信先となるノードを決めるマルチキャストアドレスを含む送信パケットをマルチキャスト通信で送信し、送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有するノードは送信パケットを受信して返信パケットを作成し、送信パケットには返信パケットを返信するノードの個数のオーダーで生成された生成値が含まれ、返信パケットを返信するノードは自己の固有アドレスを送信パケットから取得した生成値で除して剰余を算出し、算出した剰余と予め定められた基本単位時間とを乗じる演算を用いて返信待機時間を算出し、送信パケットの受信後の経過時間が返信待機時間となったときに返信パケットを送信元のノードにユニキャスト通信で返信し、送信パケットを受信したノードが作成する前記返信パケットには送信パケットに含まれていたアドレスが含まれ、各ノードは他のノードが返信した返信パケットを監視し、返信パケットに含まれているアドレスと自己の有するアドレスとが一致し、かつ、返信パケットを返信していない場合は、否定応答を含む返信パケットを作成して送信元のノードに送信することを特徴とする。
【発明の効果】
【００１６】
請求項１の発明の構成によれば、マルチキャスト通信を用いて同時に複数個のノードに送信パケットを送信した場合においても、送信先の各ノードはそれぞれが算出する返信待機時間の経過後に返信パケットをそれぞれ返信するので、返信パケット同士の衝突を減らすことができる。また、送信先のノードの個数から生成した生成値を用いて返信待機時間を算出するので、送信先のノードの個数が少ない場合に、全ての返信パケットが返信されるまでの時間を短くすることができる。
【００１８】
また、送信パケットの再送信が必要なノードのみを返信パケットを返信するノードにすることができるので、返信パケットの個数を減らして返信パケット同士の衝突の発生を減らすことができる。
【００１９】
さらに、送信パケットを再度再送信する場合、生成値をより大きな値に変更することにより各ノードの算出する剰余の値を変更し、返信パケット同士の衝突を減らすことができる。したがって、送信元のノードと送信先のノードとの通信時間を短縮することができる通信システムを提供できる。
【００２０】
請求項２の発明の構成によれば、マルチキャスト通信を用いて同時に複数個のノードに送信パケットを送信した場合においても、送信先の各ノードはそれぞれが算出する返信待機時間の経過後に返信パケットをそれぞれ返信するので、返信パケット同士の衝突を減らすことができる。また、送信先のノードの個数から生成した生成値を用いて返信待機時間を算出するので、送信先のノードの個数が少ない場合に、全ての返信パケットが返信されるまでの時間を短くすることができる。また、固有アドレスを用いて返信パケットを返信するノードを限定し、返信パケットを返信するノードの個数を減らすことができるので、返信パケットの個数を減らして返信パケット同士の衝突の発生を減らすことができる。さらに、肯定応答を含む返信パケットを受信する確率が高いノードを、返信パケットを返信するノードとするので、送信元のノードが肯定応答を含む返信パケットを受信する確率が高くなる。したがって、送信元のノードと送信先のノードとの通信時間を短くすることできる通信システムを提供することができる。
【００２１】
請求項３の発明の構成によれば、送信パケットの再送信が必要なノードのうち、優先リストにおける優先順位の最も高いノードのみを返信パケットを返信するノードとすることができるので、優先順位の最も高いノードからの返信パケットを衝突の発生なく送信元のノードが受信することができる通信システムを提供することができる。
【００２２】
請求項４の発明の構成によれば、マルチキャスト通信を用いて同時に複数個のノードに送信パケットを送信した場合においても、送信先の各ノードはそれぞれが算出する返信待機時間の経過後に返信パケットをそれぞれ返信するので、返信パケット同士の衝突を減らすことができる。また、送信先のノードの個数から生成した生成値を用いて返信待機時間を算出するので、送信先のノードの個数が少ない場合に、全ての返信パケットが返信されるまでの時間を短くすることができる。したがって、送信元のノードと送信先のノードとの通信時間を短くすることができる通信システムを提供できる。また、送信パケットを受信できず送信パケットの存在を認識できなかったノードが送信パケットの存在を認識することができ、また、否定応答を含む返信パケットを送信元のノードに送信することにより送信元のノードに送信パケットの再送信を要求することができる通信システムを提供できる。
【発明を実施するための最良の形態】
【００２３】
以下の各実施形態においては、コンテンション方式のマルチキャスト通信システムを例として説明するが、ポーリング方式の通信システムであってもよい。また、各ノードは通信機能と共に以下の動作を実現するコンピュータを備えている。
【００２４】
（実施形態１）
本実施形態では、図１に示すように、送信元のノードＡが３個のノードＢ１，Ｂ２，Ｂ３にマルチキャスト通信で送信パケットを送信し、送信パケットをそれぞれ受信した３個のノードＢ１，Ｂ２，Ｂ３が返信パケットをユニキャスト通信で送信元のノードＡにそれぞれ返信する通信システムを例として説明する。
【００２５】
送信元のノードＡは、３個のノードＢ１，Ｂ２，Ｂ３のマルチキャストアドレスと、自己の固有アドレスと、送信したい命令や情報などで構成される送信データと、返信パケットを返信するノードの個数Ｎ＝３から生成した生成値Ｍ＝Ｎとを含む送信パケットを作成してマルチキャスト通信で送信する（Ｐ１１）。送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有する３個のノードＢ１，Ｂ２，Ｂ３は送信パケットをそれぞれ受信する。送信パケットを受信した３個のノードＢ１，Ｂ２，Ｂ３は、送信元のノードＡの固有アドレスと、自己の固有アドレスと、肯定応答または否定応答と、送信データに対する応答データとを含む返信パケットをそれぞれ作成すると共に返信パケットを返信するまでの返信待機時間をそれぞれ算出し（Ｐ１２）、送信パケット受信後の経過時間が返信待機時間となったノードから順に返信パケットを送信元のノードにユニキャスト通信で返信する（Ｐ１３，Ｐ１４，Ｐ１５）。
【００２６】
次に、図２のフローチャートを参照して送信元のノード以外のノードの動作について詳説する。各ノードは、送信パケットに含まれるマルチキャストアドレスと自己の有するマルチキャストアドレスとが一致するかを判断し（Ｓ１１）、一致する場合は送信パケットを受信する（Ｓ１２）。送信パケットを受信したノードは、送信パケットに含まれている生成値Ｍを取得し（Ｓ１３）、自己の固有アドレスを生成値Ｍで除して剰余を算出し、算出した剰余と予め定められた基本待機時間とを乗じて返信待機時間を算出する（Ｓ１４）。
その後送信パケットの受信後からの経過時間が返信待機時間となったかを判断し（Ｓ１５）、経過時間が返信待機時間となったときに送信元のノードに返信パケットをユニキャスト通信で返信する（Ｓ１６）。なお、基本待機時間は、返信パケットの返信に要する時間に基づいて各ノードに予め設定される時間であり、本実施形態では返信パケットの返信に要する時間と略同じ時間で設定されている。
【００２７】
本実施形態では、３個のノードＢ１，Ｂ２，Ｂ３の有する固有アドレスはそれぞれ１，２，３であり、また、生成値Ｍ＝Ｎ＝３であるので、算出する剰余はそれぞれ１，２，０となり、算出する返信待機時間はそれぞれ基本待機時間，基本待機時間の２倍，０となる。したがって、ノードＢ３が最初に返信パケットを返信し、次いでノードＢ１が返信パケットを返信し、最後にノードＢ２が返信パケットを返信する。
【００２８】
上述のように、本実施形態においてはマルチキャスト通信を用いて同時に複数個のノードに送信パケットを送信するが、送信先の各ノードは、それぞれが算出する返信待機時間の経過後に返信パケットをそれぞれ返信するので、返信パケット同士の衝突を減らすことができる。また、返信パケットを返信するノードの個数Ｎから生成した生成値Ｍ＝Ｎを用いて返信待機時間を算出するので、返信パケットを返信するノードの個数が少ない場合に全ての返信パケットが返信されるまでの時間を短くすることができる。また、基本単位時間を返信パケットの返信に要する時間と略同じ時間で設定することにより、異なる返信待機時間を算出したノードが返信する返信パケット同士が衝突することを回避している。したがって、通信時間を短くすることできる通信システムを提供することができる。
【００２９】
なお、本実施形態では生成値Ｍを、返信パケットを返信するノードの個数Ｎと同じとしているが、生成値Ｍを個数Ｎよりも大きくして返信パケット同士の衝突をより減らすことができる。
【００３０】
（実施形態２）
本実施形態では、図３に示すように、送信元のノードＡが３個のノードＢ１，Ｂ２，Ｂ３に送信パケットをマルチキャスト通信で送信し、２個のノードＢ１，Ｂ２が送信元のノードＡに返信パケットをユニキャスト通信でそれぞれ返信する通信システムを例として説明する。
【００３１】
送信元のノードＡは、３個のノードＢ１，Ｂ２，Ｂ３のマルチキャストアドレスと、自己の固有アドレスと、返信パケットを返信すべきノードの個数と２個のノードＢ１，Ｂ２の固有アドレスを連接したデータとで構成される返信ノード情報と、送信パケットに返信ノード情報が含まれることを示す情報と、送信データと、返信パケットを返信するノードの個数Ｎ＝２から生成した生成値Ｍ＝Ｎを含む送信パケットを作成してマルチキャスト通信で送信する（Ｐ２１）。送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有する３個のノードＢ１，Ｂ２，Ｂ３は、送信パケットを受信し、送信パケットに返信ノード情報が含まれることを示す情報から返信ノード情報を認識し、返信ノード情報に含まれる返信パケットを返信すべきノードの個数と固有アドレスを連接したデータとから返信パケットを返信すべきノードの固有アドレスＢ１，Ｂ２を認識する。認識した固有アドレスと同じ固有アドレスを有する２個のノードＢ１，Ｂ２は返信パケットをそれぞれ作成する。２個のノードＢ１，Ｂ２は返信待機時間をそれぞれ算出し（Ｐ２２）、返信待機時間の経過後返信パケットをユニキャスト通信で送信元のノードＡにそれぞれ返信する（Ｐ２３，Ｐ２４）。
【００３２】
なお、本実施形態においては、送信パケットに返信ノード情報が含まれることを示す情報を送信パケットが有する構成としているが、送信パケットは常に返信パケットを有する構成として、送信パケットに返信ノード情報が含まれることを示す情報を、送信パケットが有さない構成とすることができる。
【００３３】
上述のように、本実施形態によれば送信元のノードは返信パケットを返信するノードの固有アドレスを含む返信ノード情報を送信パケットに含めることにより返信パケットを返信するノードの個数を減らすことができる。したがって、返信パケットの個数が減り、通信時間を短くすることができる通信システムを提供できる。
【００３４】
（実施形態３）
本実施形態では、図４に示すように実施形態１の通信システムに加えて、送信元のノードＡが３個のノードＢ１，Ｂ２，Ｂ３にマルチキャスト通信で送信パケットを再送信し、２個のノードＢ１，Ｂ３が返信パケットを送信元のノードＡにユニキャスト通信でそれぞれ返信する通信システムを例として説明する。
【００３５】
２個のノードＢ１，Ｂ３の返信する返信パケットには否定応答が含まれ、ノードＢ２の返信する返信パケットには肯定応答が含まれ、各返信パケットを受信した送信元のノードＡは、２個のノードＢ１，Ｂ３を送信パケットの再送信が必要なノードと判断する（Ｐ３１）。送信元のノードＡは、返信パケットを返信するノードの個数と２個のノードＢ１，Ｂ３の固有アドレスを連接したデータとを含む返信ノード情報と、送信パケットに返信ノード情報が含まれることを示す情報とを送信パケットに含ませる修正をし、また、生成値Ｍを再度生成（Ｍ＝Ｎ＝２）して送信パケットに含まれる生成値を修正し、修正した返信パケットをマルチキャスト通信で再送信する（Ｐ３２）。送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有する３個のノードＢ１，Ｂ２，Ｂ３は送信パケットをそれぞれ受信し、送信パケットを受信した３個のノードＢ１，Ｂ２，Ｂ３のうち返信ノード情報に含まれる固有アドレスと同じ固有アドレスを有する２個のノードＢ１，Ｂ３は返信パケットをそれぞれ作成する。返信パケットを作成した２個のノードＢ１，Ｂ３は、返信待機時間をそれぞれ算出し（Ｐ３３）、返信待機時間の経過後返信パケットをユニキャスト通信で送信元のノードＡにそれぞれ返信する（Ｐ３４，Ｐ３５）。
【００３６】
本実施形態の通信システムにおいては、上述のように送信元のノードは、送信パケットの再送信が必要なノードの固有アドレスを含む返信ノード情報を送信パケットに含めることにより、送信パケットの再送信における返信パケットを返信するノードの個数を減らすことができる。したがって、返信パケット同士の衝突の発生を減らすことができ、通信時間を短くすることができる通信システムを提供できる。
【００３７】
（実施形態４）
本実施形態では、図５に示すように、実施形態３の通信システムに加えて送信元のノードＡが３個のノードＢ１，Ｂ２，Ｂ３にマルチキャスト通信で送信パケットを再度再送信し、２個のノードＢ１，Ｂ３が返信パケットを送信元のノードＡにユニキャスト通信でそれぞれ返信する通信システムを例として説明する。
【００３８】
再送信された送信パケットを受信した３個のノードＢ１，Ｂ２，Ｂ３のうち返信パケットを返信する２個のノードＢ１，Ｂ３の固有アドレスは１，３であり、生成値Ｍ＝Ｎ＝２である。したがって、２個のノードＢ１，Ｂ３が算出する剰余は共に１となり、２個のノードＢ１，Ｂ３が算出する返信待機時間が同じとなって返信パケット同士の衝突が発生する。送信元のノードＡは、再送信した送信パケットに対して２個のノードＢ１，Ｂ３が返信した返信パケットを、衝突の発生により受信できず、２個のノードＢ１，Ｂ３を送信パケットの再度の再送信が必要なノードと判断する（Ｐ４１）。送信元のノードＡは、返信ノード情報において、返信パケットを返信すべきノードの個数を変更する修正とノードＢ１，Ｂ３の固有アドレスを２個のノードＢ１，Ｂ３の固有アドレスに変更する修正とを行い、生成値Ｍを新たに生成し（Ｍ＝Ｎ＝２）、さらに、新たに生成した生成値Ｍをより大きな値（Ｍ＝Ｎ＋１＝３）に変更し、送信パケットに含まれる生成値Ｍを変更した生成値Ｍに修正して、修正した送信パケットを再度再送信する（Ｐ４２）。送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有する３個のノードＢ１，Ｂ２，Ｂ３は送信パケットをそれぞれ受信し、送信パケットを受信した３個のノードＢ１，Ｂ２，Ｂ３のうち返信ノード情報に含まれる固有アドレスと同じ固有アドレスを有する２個のノードＢ１，Ｂ３は返信パケットをそれぞれ作成し、返信待機時間をそれぞれ算出する（Ｐ４３）。ここで、２個のノードＢ１，Ｂ３の固有アドレスはそれぞれ１，３であり、生成値Ｍ＝３であるので、２個のノードＢ１，Ｂ３が算出する剰余はそれぞれ１，０となり、２個のノードＢ１，Ｂ３の算出する返信待機時間はそれぞれ基本待機時間，０となる。したがって、ノードＢ３が最初に返信パケットを返信し（Ｐ４４）、次いでノードＢ１が返信パケットを返信する（Ｐ４５）。
【００３９】
上述のように本実施形態の通信システムにおいては、送信パケットを再度再送信する場合、生成値Ｍ＝Ｎ＋１とし返信パケットを返信するノードの算出する剰余の値を変更し、返信パケット同士の衝突を減らしている。したがって、通信時間を短縮することができる通信システムを提供できる。
【００４０】
なお、本実施形態においては、生成値Ｍを１大きくする変更としているが、これに限るものではない。
【００４１】
（実施形態５）
本実施形態では、図６に示すように、送信元のノードＡが３個のノードＢ１，Ｂ２，Ｂ３にマルチキャスト通信で送信パケットを送信し、２個のノードＢ１，Ｂ２が返信パケットを送信元のノードＡにユニキャスト通信でそれぞれ返信する通信システムを例として説明する。
【００４２】
送信元のノードＡは、過去に受信した返信パケットから他の各ノードについて肯定応答を含む返信パケットを受信する受信成功率を算出し、算出した受信成功率の高い２個のノードＢ１，Ｂ２を選出し、３個のノードＢ１，Ｂ２，Ｂ３のマルチキャストアドレスと、返信パケットを返信すべきノードの個数と２個のノードＢ１，Ｂ２の固有アドレスを連接したデータとを含む返信ノード情報と、送信パケットに返信ノード情報が含まれることを示す情報と、自己の固有アドレスと、送信データと、返信パケットを返信するノードの個数Ｎ＝２から生成した生成値Ｍ＝Ｎとを含む送信パケットを作成してマルチキャスト通信で送信する（Ｐ５１）。送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有する３個のノードＢ１，Ｂ２，Ｂ３は送信パケットをそれぞれ受信し、送信パケットを受信した３個のノードＢ１，Ｂ２，Ｂ３のうち返信ノード情報に含まれる固有アドレスと同じ固有アドレスを有する２個のノードＢ１，Ｂ２は返信パケットをそれぞれ作成する。返信パケットを作成した２個のノードＢ１，Ｂ２は返信待機時間をそれぞれ算出し（Ｐ５２）、返信待機時間の経過後返信パケットをユニキャスト通信で送信元のノードＡにそれぞれ返信する（Ｐ５３，Ｐ５４）。
【００４３】
上述のように本実施形態の通信システムによれば、送信元のノードが、肯定応答を含む返信パケットを受信する確率が高いノードを、返信パケットを返信するノードとするので、送信元のノードが肯定応答を含む返信パケットを受信する確率が高くなる。したがって、通信時間を短くすることができる通信システムを提供できる。
【００４４】
なお、本実施形態の通信システムにおいては受信成功率の高いノードから２個のノードを選択する構成としているが、２個に限るものではない。
【００４５】
（実施形態６）
本実施形態では、図７に示すように、実施形態３の通信システムに加えて送信元のノードＡが３個のノードＢ１，Ｂ２，Ｂ３にマルチキャスト通信で送信パケットを再送信し、ノードＢ１が返信パケットを送信元のノードＡにユニキャスト通信で返信する通信システムを例として説明する。
【００４６】
再送信された送信パケットを受信した３個のノードＢ１，Ｂ２，Ｂ３のうち返信パケットを返信する２個のノードＢ１，Ｂ３の固有アドレスは１，３であり、生成値Ｍ＝Ｎ＝２である。したがって、２個のノードＢ１，Ｂ３が算出する剰余は共に１となり、２個のノードＢ１，Ｂ３が算出する返信待機時間が同じとなって返信パケット同士の衝突が発生する。送信元のノードＡは、再送信した送信パケットに対して２個のノードＢ１，Ｂ３が返信した返信パケットを衝突の発生により受信できず、２個のノードＢ１，Ｂ３を送信パケットの再度の再送信が必要なノードと判断する（Ｐ６１）。送信元のノードＡは、送信パケットの再送信が必要な２個のノードＢ１，Ｂ３のうち、内蔵する記憶部に設けたリスト格納部に格納されている各ノードを順位付けした優先リストにおける順位が高いノードＢ１を選択し、返信ノード情報において、返信パケットを返信すべきノードの個数を変更する修正と固有アドレスをノードＢ１の固有アドレスに変更する修正とを行い、生成値Ｍを新たに生成（Ｍ＝Ｎ＝１）し、送信パケットに含まれる生成値Ｍを新たに生成した生成値Ｍに修正して、修正した送信パケットをマルチキャスト通信で再度再送信する（Ｐ６２）。送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有する３個のノードＢ１，Ｂ２，Ｂ３は送信パケットをそれぞれ受信し、送信パケットを受信した３個のノードＢ１，Ｂ２，Ｂ３のうち返信ノード情報に含まれる固有アドレスと同じ固有アドレスを有するノードＢ１は返信パケットを作成する。返信パケットを作成したノードＢ１は返信待機時間を算出し（Ｐ６３）、返信待機時間の経過後返信パケットをユニキャスト通信で送信元のノードＡに返信する（Ｐ６４）。
【００４７】
上述のように、本実施形態の通信システムにおいては送信パケットの再度の再送信が必要なノードのうち、優先リストにおける優先順位の最も高いノードのみが返信パケットを返信するので、返信パケット同士の衝突の発生がなく、優先順位の最も高いノードからの返信パケットを送信元のノードが確実に受信することができる。
【００４８】
なお、送信元のノードＡはノードＢ１からの肯定応答を含む返信パケットを受信した後、返信ノード情報に含まれる固有アドレスを次に優先順位の高いノードＢ３の固有アドレスに変更してマルチキャスト通信で送信パケットを再度再送信することができる。
【００４９】
（実施形態７）
本実施形態では、図８に示すように、送信元のノードＡが３個のノードＢ１，Ｂ２，Ｂ３にマルチキャスト通信で送信パケットを送信し、ノードＢ３がユニキャスト通信で返信パケットを送信元のノードＡに返信する通信システムを例として説明する。
【００５０】
送信元のノードＡは、３個のノードＢ１，Ｂ２，Ｂ３のマルチキャストアドレスと、返信パケットを返信すべきノードの個数と２個のノードＢ１，Ｂ３の固有アドレスを連接したデータとを含む返信ノード情報と、送信パケットに返信ノード情報が含まれることを示す情報と、送信データと、受信すべきノードの個数Ｎ＝２から生成した生成値Ｍ＝Ｎとを含む送信パケットを作成してマルチキャスト通信で送信する（Ｐ７１）。送信パケットに含まれるマルチキャストアドレスと同じマルチキャストアドレスを有する２個のノードＢ２，Ｂ３は送信パケットを受信するが、ノードＢ１は偶発的なノイズの発生またはパケットの受信回路の一時的な故障により送信パケットを受信できずにいる。送信パケットを受信した２個のノードＢ２，Ｂ３のうち返信ノード情報に含まれる固有アドレスと同じ固有アドレスを有するノードＢ３は、送信元のノードＡの固有アドレスと、自己の固有アドレスと、肯定応答または否定応答と、返信ノード情報に含まれていた固有アドレスとを含む返信パケットを作成すると共に返信待機時間を算出し（Ｐ７２）、返信待機時間の経過後送信元のノードＡにユニキャスト通信で返信パケットを返信する（Ｐ７３）。ノードＢ１はノードＢ３が返信する返信パケットを監視し、ノードＢ３が返信した返信パケットに含まれる固有アドレスと自己の固有アドレスとが一致するかを判断すると共に自己が送信元のノードＡに返信パケットを既に返信しているかを判断する（Ｐ７４）。ノードＢ３が返信した返信パケットに含まれていた固有アドレスと自己の固有アドレスとが一致し、送信元のノードＡに返信パケットを返信していないと判断したノードＢ１は、否定応答を含む返信パケットを作成して送信元のノードＡにユニキャスト通信で送信する（Ｐ７５）。
【００５１】
上述のように、本実施形態の通信システムにおいては、偶発的なノイズの発生や送信パケットを受信する受信回路の一時的な故障により送信パケットを受信できず、送信パケットの存在を認識できなかったノードが送信パケットの存在を知ることができ、また、否定応答を含む返信パケットを送信元のノードに送信することにより送信元のノードに送信パケットの再送信を要求することができる通信システムを提供できる。
【００５２】
なお、送信パケットに返信ノード情報が含まれない場合は、ノードＢ３は、返信パケットに固有アドレスではなく送信パケットに含まれていたマルチキャストアドレスを含ませ、ノードＢ１は、ノードＢ３が返信した返信パケットに含まれるマルチキャストアドレスと自己のマルチキャストアドレスとが一致するかを判断する構成としてもよい。
【００５３】
また、上述した各実施形態においては、４個のノード間の通信を行う通信システムを例示したが、これに限るものではなく、ノードは複数個であればよい。また、送信元のノードが常に特定のノードである場合は、送信パケットに自己の固有アドレスを含めず、また、返信パケットに送信元のノードの固有アドレスを含めないこともできる。
【図面の簡単な説明】
【００５４】
【図１】実施形態１の動作を示す図である。
【図２】同上の送信元のノード以外のノードの動作を表すフローチャートである。
【図３】実施形態２の動作を示す図である。
【図４】実施形態３の動作を示す図である。
【図５】実施形態４の動作を示す図である。
【図６】実施形態５の動作を示す図である。
【図７】実施形態６の動作を示す図である。
【図８】実施形態７の動作を示す図である。
【符号の説明】
【００５５】
Ａ  ノード
Ｂ１  ノード
Ｂ２  ノード
Ｂ３  ノード
【図１】
0004936469.tif 000002
【図２】
0004936469.tif 000003
【図３】
0004936469.tif 000004
【図４】
0004936469.tif 000005
【図５】
0004936469.tif 000006
【図６】
0004936469.tif 000007
【図７】
0004936469.tif 000008
【図８】
0004936469.tif 000009