JP6206105B2 - 通信システム、通信方法および通信プログラム - Google Patents

通信システム、通信方法および通信プログラム Download PDF

Info

Publication number
JP6206105B2
JP6206105B2 JP2013233347A JP2013233347A JP6206105B2 JP 6206105 B2 JP6206105 B2 JP 6206105B2 JP 2013233347 A JP2013233347 A JP 2013233347A JP 2013233347 A JP2013233347 A JP 2013233347A JP 6206105 B2 JP6206105 B2 JP 6206105B2
Authority
JP
Japan
Prior art keywords
frame
data
node device
gateway
node
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.)
Active
Application number
JP2013233347A
Other languages
English (en)
Other versions
JP2015095723A (ja
Inventor
哲 黒木
哲 黒木
達也 曽根田
達也 曽根田
秀毅 南木野
秀毅 南木野
泰二 近藤
泰二 近藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013233347A priority Critical patent/JP6206105B2/ja
Priority to US14/531,149 priority patent/US9647931B2/en
Publication of JP2015095723A publication Critical patent/JP2015095723A/ja
Application granted granted Critical
Publication of JP6206105B2 publication Critical patent/JP6206105B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、通信システム、通信方法および通信プログラムに関する。
アドホックネットワークでは、ノード装置同士が自律的にネットワークを形成する。自律的に通信を行うことにより、使用者が随時通信ルートを設定する必要がなく、サーバやルータ等の通信管理専用の通信端末やインフラを必要しない。
アドホックネットワークに参加するノード装置の1つにゲートウェイ装置(以下、GWと略することもある)がある。ゲートウェイ装置は、サーバと通信する機能を有している。関連する技術として、アドホックネットワークシステムにおいて、ゲートウェイ機能を切り替える技術が提案されている(例えば、特許文献1参照)。
特開2008−193318号公報
ゲートウェイ装置は、ノード装置が送信したフレームを受信して、受信したフレームをサーバに送信する。ゲートウェイ装置とサーバとの間の通信が何らかの要因によって遮断された場合、ゲートウェイ装置はサーバと通信不能になる。この場合、ゲートウェイ装置は、ノード装置が送信したフレームをサーバに送信できなくなる。
このため、ゲートウェイ装置であった装置(元ゲートウェイ装置と称することもある)は、他のノード装置にデータを送信する。フレームは、別の経路を経由し、別のゲートウェイ装置からサーバに送信される。このときに、フレームが廃棄される可能性がある。
図1を参照して説明する。図1のアドホックネットワークは、ノード装置A〜Dとゲートウェイ装置GW1およびGW2とを有している。ただし、ゲートウェイ装置GW1は、サーバと通信不能になったため、元ゲートウェイ装置F−GW1となる。この元ゲートウェイ装置F−GW1は、サーバと通信することができない。
ゲートウェイ装置GW1が元ゲートウェイ装置F−GW1となったことを認識する前に、ノード装置Aはゲートウェイ装置GW1のアドレス宛にフレームを送信する。ノード装置Aが送信したフレームは、ノード装置Bおよびノード装置Dを経由して、元ゲートウェイ装置F−GW1に送信される。
このときには、ゲートウェイ装置GW1は元ゲートウェイ装置F−GW1に変化している。よって、元ゲートウェイ装置F−GW1は、サーバにフレームを送信できないため、元ゲートウェイ装置F−GW1は、ゲートウェイ装置GW2からサーバにフレームを送信するため、ノード装置Dにフレームを送信する。
ノード装置Dは、既に受信したフレームと同一のフレームを受信したため、経路ループが発生したと判定する。よって、ノード装置Dは、受信したフレームが今まで辿っていない経路にフレームを送信する。従って、ノード装置Dは、フレームをノード装置Aに送信する。
ノード装置Aは、自身が送信したフレームを受信する。従って、ノード装置Aは、経路ループが発生したと判定する。このため、ノード装置Aからノード装置Bまでの経路およびノード装置Aからノード装置Dまでの経路を辿っているため、フレームは全ての経路を辿っていることになる。この時点で、ノード装置Aは、フレームを廃棄する。従って、サーバに送信されるべきフレームが失われる。
フレームの廃棄を回避するために、元ゲートウェイ装置F−GW1が別のフレームを新たに生成し、送信することが考えられる。図2を参照して、説明する。元ゲートウェイ装置F−GW1は、ノード装置Dから受信したフレーム(本フレームと称することもある)とは別のフレーム(別フレームと称することもある)を生成する。
別フレームは、元ゲートウェイ装置F−GW1が受信した本フレームと同じ情報を有しているが、両者は異なるフレームである。元ゲートウェイ装置F−GW1は、別フレームをノード装置Dに送信する。ノード装置Dは、本フレームと別フレームとは異なるフレームであるため、フレームの廃棄は行われない。
ノード装置Dは、フレームを受信すると、自身の送受信バッファにフレームの情報をフレームごとに格納する。従って、図2では、ノード装置BおよびDは、送受信バッファに本フレームと別フレームとを格納する。
従って、図1の場合と比較して、バッファの使用量は2倍になる。バッファがメモリにより実現される場合、メモリの使用量が2倍になる。このため、ノード装置のハードウェア資源の使用量が増大する。
本発明は、1つの側面では、ゲートウェイ装置とサーバが通信断になっても、ノード装置から送信されたフレームを他のゲートウェイ装置経由でサーバに送信することを目的とする。
1つの案では、通信システムは、複数のゲートウェイ装置及びノード装置を含む。前記複数のゲートウェイ装置の内の第一のゲートウェイ装置は、前記ノード装置が送信した少なくとも宛先の情報と転送回数の情報とを含むデータを受信する受信部と、受信した前記データの前記宛先が該第一のゲートウェイ装置であって、かつ、サーバに前記データを送信できない場合、前記データの前記宛先を前記複数のゲートウェイ装置の内の該第一のゲートウェイ装置以外の第二のゲートウェイ装置に設定するとともに、前記データに含まれる前記転送回数を更新して、更新後のデータを前記ノード装置に送信する送信部と、を有する。前記ノード装置は、データを受信する受信部と、データの転送回数を該データごとに記憶する管理部と、受信した前記更新後のデータに含まれる転送回数が該更新後のデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数以上の場合、前記受信したデータを前記設定された前記第二のゲートウェイ装置に向けて送信する送信部と、を有する。
ゲートウェイ装置とサーバが通信断になっても、ノード装置から送信されたフレームを他のゲートウェイ装置経由でサーバに送信することができる。
ゲートウェイ装置がサーバと通信不能になった場合の通信の一例を示す図である。 ゲートウェイ装置がサーバと通信不能になった場合の通信の他の一例を示す図である。 実施形態のアドホックネットワークの一例を示す図である。 図3のアドホックネットワークにおいて、ゲートウェイ装置のグループに分けられた一例を示す図である。 図4のアドホックネットワークにおける通信の一例を示す図である。 図4のアドホックネットワークにおいて、ゲートウェイ装置がサーバと通信不能になった場合の通信の一例を示す図である。 通信装置の機能ブロックの一例を示す図である。 フレーム管理テーブルおよびフレームフォーマットの一例を示す図である。 通信装置の受信処理の一例を示すフローチャートである。 通信装置の送信処理の一例を示すフローチャートである。 第1の具体例を説明する図である。 第2の具体例を説明する図である。 第3の具体例を説明する図である。 第4の具体例のフレーム管理テーブルおよびフレームフォーマットの一例を示す図である。 第5の具体例を説明する図である。 第5の具体例のフレーム管理テーブルおよびフレームフォーマットの一例を示す図である。 第6の具体例を説明する図である。 第6の具体例のフレーム管理テーブルおよびフレームフォーマットの一例を示す図である。 第7の具体例を説明する図である。 第7の具体例のフレーム管理テーブルおよびフレームフォーマットの一例を示す図である。 通信装置のハードウェア構成の一例を示す図である。
<アドホックネットワークの一例>
図3を参照して、アドホックネットワークの一例を説明する。図3の一例に示すように、ノード装置A〜Iとゲートウェイ装置GW1およびGW2とがアドホックネットワークに参加している。アドホックネットワークに参加する装置は、図3の例には限定されない。ゲートウェイ装置GW1およびGW2は、サーバと通信する機能を有している。
一例として、ノード装置A〜Iはスマートメータを適用することができる。スマートメータは、電力やガス、水道等の使用量を計測する計測機器であり、通信機能を有している。計測した値は通信機能を利用して送信することができる。サーバとしては、一例として、情報を収集するサーバ等を適用することができる。
ゲートウェイ装置GW1およびGW2は、ノード装置A〜Iが送信したフレームをゲートウェイ装置GW1またはGW2に送信する。フレームはノード装置が送信するデータの一例である。ゲートウェイ装置GW1およびGW2は、受信したフレームをサーバに送信する。
ノード装置A〜Iはそれぞれ隣接するノード装置と通信を行う。また、ノード装置とゲートウェイ装置との間でも通信が行われる。同様に、ゲートウェイ装置とサーバとの間でも通信が行われる。これらの通信は、無線通信であってもよいし、有線通信であってもよい。実施形態では、各装置の間の通信は無線通信により行われるものとする。
図3に一例として示すように、ノード装置A〜Iとゲートウェイ装置GW1およびGW2との間は、経路が構築されている。この経路を構築するために、Helloフレームを各装置の間で送受信して、経路構築を行うことができる。Helloフレームを送受信することで、ノード装置からゲートウェイ装置までの適切な経路を選択することができる。ノード装置からゲートウェイ装置まで最も早くフレームを送信するできる経路が、適切な経路の一例である。
図4を参照すると、ノード装置A、B、D、EおよびFは、ゲートウェイ装置GW1のグループに属している。ノード装置A、B、D、EおよびFは、隣接するノード装置を経由して、ゲートウェイ装置GW1にフレームを送信する。ゲートウェイ装置GW1は、受信したフレームをサーバに送信する。
ノード装置C、G、HおよびIは、ゲートウェイ装置GW2のグループに属している。ノード装置C、G、HおよびIは、隣接するノード装置を経由して、ゲートウェイ装置GW2にフレームを送信する。そして、ゲートウェイ装置GW2は、サーバにフレームを送信する。
図5は、ノード装置Aがフレームを送信した場合の一例を示している。ノード装置Aは、ゲートウェイ装置GW1宛てのフレームを生成する。ノード装置Aは、ゲートウェイ装置GW1に隣接していない。従って、ノード装置Aは、自身に隣接するノード装置Bにフレームを送信する。
ノード装置Bは、受信したフレームをゲートウェイ装置GW1に送信する。これにより、ノード装置Aが生成したフレームはゲートウェイ装置GW1に送信される。ゲートウェイ装置GW1は、受信したフレームをサーバに送信する。従って、サーバはノード装置Aから送信されたフレームを受信することができる。
上述したように、Helloフレームを使用して、アドホックネットワークの経路構築を行った場合、各ノード装置は、適切な経路でフレームが送信する。図5の一例では、ノード装置Aはノード装置Bを経由して、ゲートウェイ装置GW1にフレームを送信することが適切であることを認識する。
<ゲートウェイ装置GW1とサーバとの間の通信が遮断された場合の説明>
ゲートウェイ装置GW1は、ノード装置A、B、D、EおよびFから送信されたフレームをサーバに送信する。従って、ゲートウェイ装置GW1とサーバとの間は通信可能でなくてはならない。
ここで、図6に示すように、ゲートウェイ装置GW1とサーバとの間の通信が何らかの要因で遮断されたとする。このため、ゲートウェイ装置GW1は、ノード装置A、B、D、EおよびFから送信されたフレームをサーバに送信することができなくなる。つまり、ゲートウェイ装置GW1は、サーバにフレームを送信する機能を果たすことができなくなる。
ゲートウェイ装置は、サーバと通信できなくなったとしても、ノード装置として機能することはできる。サーバと通信できなくなったゲートウェイ装置を元ゲートウェイ装置と称する。従って、元ゲートウェイ装置は、他のノード装置にフレームを送信することはできる。サーバと通信できなくなったゲートウェイ装置GW1を元ゲートウェイ装置F−GW1とする。
実施形態では、元ゲートウェイ装置は、自身宛のフレームを受信した場合、フレームの宛先を別のゲートウェイ装置に変更する。フレームの宛先を別のゲートウェイ装置に変更することで、フレームは別のゲートウェイ装置に転送される。そして、別のゲートウェイ装置は、フレームをサーバに送信する。
元ゲートウェイ装置は、第一のゲートウェイ装置の一例である。ゲートウェイ装置のうち第一のゲートウェイ装置以外のゲートウェイ装置は、第二のゲートウェイ装置の一例である。
<通信装置の構成>
図7は、実施形態の通信装置1の一例を示す。通信装置1は、受信部11と受信処理部12とフレーム管理テーブル13と送信処理部14とルーティング機能部15とルーティングテーブル16と送信部17とを備えている。ノード装置は通信装置の一例である。また、ゲートウェイ装置および元ゲートウェイ装置をノード装置に適用してもよい。
受信部11は、他の通信装置1が送信したフレームを受信する。受信部11は、受信したフレームを受信処理部12に出力する。受信処理部12は、受信したフレームに対して所定の処理を行う。また、受信処理部12は、受信したフレームをルーティング機能部15に出力する。受信処理部12は、フレーム解析部21と転送回数処理部22とフレーム処理部23とテーブル更新部24とを備えている。
フレーム管理テーブル13は、受信したフレームの情報を管理するテーブルである。図8(A)にフレーム管理テーブルの一例を示す。フレーム管理テーブル13は、GSとFIDと転送回数との3つの項目を有している。フレーム管理テーブル13は、管理部の一例である。
GS(Global Source)はグローバル送信元アドレスを示す。グローバル送信元アドレスは、フレームを生成し、生成したフレームを送信したノード装置のアドレスを示す。FID(Flame ID)はフレーム識別子を示す。フレーム識別子は、自身のフレームを他のフレームと識別するための情報である。従って、各フレームは一意的なフレーム識別子を有する。転送回数は、フレームが転送された回数を示す。転送回数については後述する。
フレーム管理テーブル13は、GSとFIDと転送回数と含むエントリを記憶している。エントリは、FIDとGSとの組ごとにフレーム管理テーブル13に記憶される。1つのエントリに記憶される項目は、GSとFIDと転送回数との3つには限定されず、これ以外の項目を有していてもよい。
フレーム管理テーブル13の各エントリの情報は、受信部11が受信したフレームから得ることができる。図8(B)にフレームフォーマットの一例を示す。なお、フレームフォーマットは、図8(B)の6つの項目には限定されない。
GD(Global Destination)はグローバル宛先アドレスを示している。グローバル宛先アドレスはフレームの宛先のアドレスを示している。つまり、GDはフレームの宛先を示している。通常は、GDはゲートウェイ装置GW1またはGW2のアドレスを示す。
LD(Local Destination)はローカル宛先アドレスを示している。ローカル宛先アドレスは、フレームの次の送信先を示している。LDは、自身の通信装置1と隣接している通信装置のアドレスを示す。LS(Local Source)はローカル送信元アドレスを示す。ローカル送信元アドレスは、自身の通信装置1のアドレスを示す。
送信処理部14は、上位機能ブロックより送信依頼されたデータに基づいて、フレームを生成する。上位機能ブロックは、通信装置1を制御する部位としてもよい。送信処理部14がフレームを生成したときには、フレームのGSは自身の通信装置1となる。送信処理部14は、生成したフレームをフレーム管理テーブル13に登録する。送信処理部14は、第3の処理部の一例である。
ルーティング機能部15は、受信処理部12または送信処理部14からフレームを入力する。ルーティング機能部15は、ルーティングテーブル16を参照して、フレームにLDを設定する。ルーティングテーブル16は、自身の通信装置1からGDまでの適切な経路を辿るLDを記憶している。
ルーティング機能部15は、ルーティングテーブル16を参照して、次のLDを決定する。また、LSは自身の通信装置1になる。ルーティング機能部15は、送信処理部14が生成したフレームにLDおよびLSを設定して、送信部17に出力する。
送信部17は、ルーティング機能部15から入力したフレームを送信する。このとき、送信部17は、フレームのLDを参照して、LDが示す通信装置にフレームを送信する。
次に、受信処理部12の中身について説明する。フレーム解析部21は、受信部11が受信したフレームの情報の解析を行う。転送回数処理部22は、所定条件下でフレームに対して所定の処理を行う。転送回数処理部22は、第1の処理部の一例である。
フレーム処理部23は、フレームに対して所定の処理を行う。フレーム処理部23は、第2の処理部の一例である。テーブル更新部24は、受信部11が受信したフレームに応じて、フレーム管理テーブル13の更新を行う。テーブル更新部24は更新部の一例である。
<通信装置の処理>
次に、通信装置1の処理について説明する。図9は、通信装置1が行う受信処理の一例を示すフローチャートである。受信部11は、隣接する他の通信装置からフレームを受信する。受信部11は受信したフレームを受信処理部12に出力する。
フレーム解析部21は、受信したフレームを解析する。フレーム解析部21は、受信したフレームからGSおよびFIDを抽出する。フレーム処理部23は、受信したフレームのGSおよびFIDと一致するエントリがフレーム管理テーブル13にあるか否かを判定する(ステップS1)。
フレーム管理テーブル13に、受信したフレームのGSおよびFIDと一致するエントリがある場合(ステップS1でYES)、フレーム処理部23は、当該エントリの転送回数をフレーム管理テーブル13から取得する。以下、当該エントリの転送回数をフレーム管理テーブル13の転送回数と称することもある。
次に、フレーム処理部23は、受信したフレームの転送回数とフレーム管理テーブル13の転送回数とを比較して、フレーム管理テーブル13の転送回数が受信したフレームの転送回数よりも大きいか否かを判定する(ステップS2)。
フレーム管理テーブル13の転送回数が受信フレームの転送回数よりも大きい場合(ステップS2でYES)、フレーム処理部23は、受信したフレームを廃棄する(ステップS3)。そして、通信装置1は受信処理を終了する。
一方、フレーム管理テーブル13の転送回数が受信フレームの転送回数以下の場合(ステップS2でNO)、フレーム処理部23は受信したフレームを破棄しない。次に、フレーム処理部23は、フレーム管理テーブル13のエントリの転送回数と受信フレームの転送回数とが等しいか否かを判定する(ステップS4)。この判定で、等しくないと判定された場合には(ステップS4でNO)、テーブル更新部24は、フレーム管理テーブル13のエントリを削除する。
そして、テーブル更新部24は、受信したフレームの情報をフレーム管理テーブル13に新規に登録する(ステップS5)。このとき、テーブル更新部24は、FIDが示すエントリに、受信したフレームのGS、FIDおよび転送回数をフレーム管理テーブル13に登録する。つまり、テーブル更新部24は、フレーム管理テーブル13のエントリの更新を行う。
ステップS4において、NOと判定された場合には、ステップS5の処理を行った後にルーティング処理が行われる(ステップS6)。また、フレーム管理テーブル13のエントリの転送回数と受信フレームの転送回数とが等しいと判定された場合にも(ステップS4でYES)、ルーティング処理が行われる(ステップS6)。この場合には、ルーティング処理を行う前に特別な処理は行われない。ルーティング処理を行うことで、通信装置1が受信したフレームを次の通信装置に送信することができる。これにより、受信処理が終了する。
次に、ステップS1でNOと判定された場合の処理について説明する。この場合、受信したフレームのGSおよびFIDと一致するエントリはフレーム管理テーブル13に存在していない。少なくとも、通信装置1は、FIDにより識別されるフレームを受信したことがない。
フレーム処理部23は、自身の通信装置1が元ゲートウェイ装置であり、受信したフレームが自身の通信装置1宛てであるか否かを判定する(ステップS7)。自身の通信装置1が元ゲートウェイ装置であり、受信したフレームが自身の通信装置1宛てである場合(ステップS7でYES)、フレーム処理部23は、受信したフレームのGDを変更する。
つまり、フレーム処理部23は、フレームのGDに別のゲートウェイ装置を設定する(ステップS8)。実施形態では、フレーム処理部23は、フレームのGDにゲートウェイ装置GW2を設定する。
そして、転送回数処理部22は、受信したフレームの転送回数をインクリメントする(ステップS9)。一方、自身が元ゲートウェイ装置でない場合、または受信したフレームが自身の通信装置1宛てでない場合には、ステップS8およびS9の処理は行われない。
テーブル更新部24は、受信したフレームの情報をフレーム管理テーブル13に新規に登録する(ステップS10)。ステップS10の処理が行われるのは、ステップS1でNOと判定された場合である。つまり、受信したフレームのFIDおよびGSと同じエントリがフレーム管理テーブル13に存在していない場合である。
よって、テーブル更新部24は、フレーム管理テーブル13に受信したフレームの情報を新規に登録する。実施形態では、テーブル更新部24は、GSとFIDと転送回数との3つの項目をフレーム管理テーブル13に登録する。
フレーム処理部23は、受信したフレームが自身の通信装置1宛てであるか否かを判定する(ステップS11)。受信したフレームが自身の通信装置1宛てであれば、受信処理部12は、上位機能ブロックにその旨を通知する。
一方、受信したフレームが自身の通信装置1宛てでない場合には、次の通信装置に送信する必要がある。この場合には、ステップS6と同じルーティング処理が行われる(ステップS13)。
次に、図10を参照して、通信装置1がフレームを生成し、生成したフレームを送信する送信処理について説明する。通信装置1がサーバに情報を送信する場合、送信処理部14は、フレームを生成する(ステップS21)。
送信処理部14がフレームを生成するとき、フレームのGSに自身のアドレスを設定する。また、送信処理部14は、フレームのGDに上位機能ブロックより指定された宛先アドレスを設定する。つまり、送信処理部14は、フレームのGDに最終的な宛先のアドレスを設定する。
送信処理部14は、フレームのFIDに今まで設定したことのない値を設定する。FIDはフレームを識別する識別子であるため、FIDは固有の値を有している必要がある。よって、送信処理部14は、フレームのFIDに今まで設定したことのない値を設定する。
送信処理部14は、フレームの転送回数に初期値を設定する(ステップS22)。基本的に、初期値は「0」になるが、「0」以外の値であってもよい。送信処理部14は、送信するフレームの情報をフレーム管理テーブル13に新規登録する(ステップS23)。
ルーティング機能部15は、生成したフレームにルーティング処理を行う(ステップS24)。このルーティング処理は、図9のステップS6およびS13と同じである。ルーティング機能部15がルーティング処理を行うことにより、フレームにLDが設定される。送信部17は、各種の値が設定されたフレームをLD宛に送信する。以上により、送信処理が終了する。
<第1の具体例>
次に、図11を参照して、第1の具体例について説明する。図11の一例では、ノード装置A〜Cとゲートウェイ装置GW1とゲートウェイ装置GW2とがアドホックネットワークに参加している。ただし、ゲートウェイ装置GW1は、サーバと通信不能になり、元ゲートウェイ装置F−GW1になったものとする。アドホックネットワークに参加しているこれらの装置は、通信装置1の一例である。
ノード装置Aの送信処理部14は、新たにフレームを生成する。フレームのGSはノード装置Aのアドレスとなる。フレームのGDの候補としてはゲートウェイ装置GW1およびGW2の2つがある。ノード装置Aの上位機能ブロックは、GDを決定する。一例として、ノード装置Aの上位機能ブロックは、ゲートウェイ装置GW1をGDとして決定したものとする。また、一例として、フレーム処理部23は、フレームのFIDを「10」と設定したものとする。
ノード装置Aがフレームを送信した後、ゲートウェイ装置GW1とサーバとの間の通信が遮断されたとする。従って、ゲートウェイ装置GW1は、サーバと通信を行うことができず、各ノード装置A〜Cから送信されたフレームをサーバに送信することができない。
従って、ゲートウェイ装置GW1は、元ゲートウェイ装置F−GW1となる。この元ゲートウェイ装置F−GW1は、サーバと通信することはできないが、ノード装置Bとフレームの通信を行うことはできる。元ゲートウェイ装置F−GW1はノード装置としてもよい。
ノード装置Aが送信したフレームは、ノード装置Bが受信する。ノード装置Bのテーブル更新部24は、フレーム管理テーブル13に受信したフレームの情報を記憶する。ノード装置Bが受信したフレームは、GSが「A」である。また、FIDは「10」であるものとする。転送回数は初期値の「0」になっている。よって、図11(A)に示すような情報がフレーム管理テーブル13に記憶される。
ノード装置Bは、元ゲートウェイ装置F−GW1と隣接している。そして、フレームのGDはゲートウェイ装置GW1のアドレスとなっている。従って、ノード装置Bは、フレームを元ゲートウェイ装置F−GW1に送信する。ノード装置Bが送信したフレームを受信するのは、元ゲートウェイ装置F−GW1である。
元ゲートウェイ装置F−GW1は、フレームをサーバに送信できない。従って、元ゲートウェイ装置F−GW1は、フレームのGDをゲートウェイ装置GW2に変更する。元ゲートウェイ装置F−GW1は、もともとゲートウェイ装置GW1であったため、フレーム管理テーブル13は、受信したフレームのGSおよびFIDと一致するエントリを有していない。
従って、図9のステップS1はNOとなる。そして、元ゲートウェイ装置F−GW1は、自身が元ゲートウェイ装置であり、フレームのGDは自身宛であるため、ステップS7はYESとなる。よって、図9のステップS8において、元ゲートウェイ装置F−GW1は、フレームのGDを変更する。
これにより、フレームの宛先が変更される。つまり、ノード装置Aが生成したフレームの宛先はゲートウェイ装置GW1であったが、元ゲートウェイ装置F−GW1により、フレームの宛先は他のゲートウェイ装置に変更される。
実施形態では、元ゲートウェイ装置F−GW1のフレーム処理部23は、フレームの宛先をゲートウェイ装置GW2に変更するものとする。つまり、ゲートウェイ装置GW1が元ゲートウェイ装置F−GW1に変更したときに、元ゲートウェイ装置F−GW1はフレームの宛先を変更する。
ゲートウェイ装置GW1が元ゲートウェイ装置F−GW1に変更する要因としては、ゲートウェイ装置GW1がサーバと通信不能になったときが一例として挙げられる。または、ゲートウェイ装置GW1が単なるノード装置として機能するときに、ゲートウェイ装置GW1は元ゲートウェイ装置F−GW1に変化する。
元ゲートウェイ装置F−GW1の転送回数処理部22は、ステップS9において、フレームの転送回数をインクリメントする。フレームの転送回数をインクリメントすることで、フレームの転送回数は初期値「0」から「1」になる。つまり、元ゲートウェイ装置F−GW1がフレームの宛先を変更したときに、フレームの転送回数はインクリメントされる。
元ゲートウェイ装置F−GW1は、ルーティングテーブル16を参照して、フレームをノード装置Bに送信する。つまり、元ゲートウェイ装置F−GW1はノード装置Bにフレームを転送する。
図11(A)に示すように、ノード装置Bのフレーム管理テーブル13のうちFIDが「10」となっているエントリの転送回数は「0」になっている。一方、フレームの転送回数は「1」になっている。よって、フレームの転送回数の方がフレーム管理テーブル13のエントリの転送回数よりも大きいため、図9のステップS2の判定はNOとなる。
従って、図9のステップS2の判定がYESにならないため、フレームが破棄されることはない。フレームの転送回数とフレーム管理テーブル13のエントリの転送回数とは等しくない。このため、ステップS4の判定もNOとなる。
よって、ノード装置Bのテーブル更新部24は、フレーム管理テーブル13のFIDが「10」のエントリを削除して、受信したフレームの情報に基づいて、FIDが「10」のエントリを新規に登録する。つまり、テーブル更新部24は、フレーム管理テーブル13の更新を行う。このとき、GSは「A」、FIDは「10」である。一方、転送回数は「1」になっている。従って、ノード装置Bのフレーム管理テーブル13は、図11(B)のようになる。
ノード装置Bのルーティングテーブル16は、LDはノード装置Cであることを示しているものとする。よって、フレームはノード装置Cに送信される。そして、ノード装置Cは隣接するゲートウェイ装置GW2にフレームを送信する。これにより、フレームは、ゲートウェイ装置GW2からサーバに送信される。
従って、ゲートウェイ装置GW1がサーバと通信できなくなったとしても、フレームが破棄されることはない。ノード装置Aが送信したフレームは元ゲートウェイ装置F−GW1からゲートウェイ装置GW2に転送されるため、フレームをサーバに送信することができる。
また、ノード装置Bは、フレームの転送回数の比較を行い、フレーム管理テーブル13のエントリを削除して、受信したフレームの情報を新規登録している。このため、フレーム管理テーブル13が記憶する情報量が増大しない。従って、ハードウェアの使用量を抑制することができる。
<第2の具体例>
次に、図12を参照して、第2の具体例について説明する。ノード装置Aは、フレームを生成する。生成するフレームのGDはゲートウェイ装置GW1であり、FIDは「10」であるとする。ノード装置Aがフレームを生成するため、初期値は「0」である。
この時点では、ノード装置Aは、ゲートウェイ装置GW1はサーバと通信可能であると認識していたとする。そして、その後、ゲートウェイ装置GW1はサーバと通信できなくなり、ゲートウェイ装置GW1は元ゲートウェイ装置F−GW1になる。
図12(A)に示すように、ノード装置Aはノード装置Bにフレームを送信する。ノード装置Bは、フレーム管理テーブル13に情報を記憶し、元ゲートウェイ装置F−GW1のアドレスにフレームを送信する。このときには、ゲートウェイ装置GW1は、サーバと通信不能になっており、ゲートウェイ装置GW1は元ゲートウェイ装置F−GW1に変化している。
従って、元ゲートウェイ装置F−GW1は、受信したフレームのGDをゲートウェイ装置GW2に変更する。これにより、フレームは元ゲートウェイ装置F−GW1からゲートウェイ装置GW2に転送される。そして、フレームの転送回数がインクリメントされて、フレームの転送回数は「1」になる。
ノード装置Bは、元ゲートウェイ装置F−GW1から送信されたフレームを受信する。第1の具体例で説明したように、ノード装置Bのフレーム管理テーブル13のFIDが「10」のエントリは、転送回数が「0」になっている。一方、フレームの転送回数は「1」になっている。よって、図9のステップS9の判定はNOになるため、フレームは破棄されない。
ノード装置Bは、ノード装置Cにフレームを送信する。ノード装置Cのテーブル更新部24は、受信したフレームのGS、FIDおよび転送回数をフレーム管理テーブル13に記憶する。従って、ノード装置Cのフレーム管理テーブル13は図12(A)に示した値となる。
ノード装置Cのルーティングテーブル16は、LDがノード装置Dであると記憶している。つまり、ノード装置Cはフレームをノード装置Dに送信することが適切であることが分かる。従って、ノード装置Cはフレームをノード装置Dに送信する。
ノード装置Dはフレームを受信して、フレームの情報をフレーム管理テーブル13に記憶する。そして、ノード装置Dはフレームをノード装置Eに送信する。ノード装置Eは、フレームの情報をフレーム管理テーブル13に記憶する。そして、ノード装置Eは、自身に隣接するゲートウェイ装置GW2にフレームを送信する。
ここで、ノード装置Eが送信したフレームをゲートウェイ装置GW2が正常に受信した場合、ゲートウェイ装置GW2はノード装置Eに対して、正常な通信が行われたことを示す通知(Ack:Acknowledgment)をノード装置Eに送信する。Ackを受信することにより、ノード装置Eはフレームを正常に送信したことを認識する。なお、図12の実線の矢印はフレームが送信されている状態を示し、破線の矢印はAckが送信されている状態を示している。図13以降も同様である。
一方、ノード装置EがAckを受信しない場合には、ノード装置Eはフレームを正常に送信することができなかったと認識する。この場合、ノード装置Eは再びフレームを送信する。ただし、ノード装置Eは、ゲートウェイ装置GW2からAckを受信していないため、フレームの送信先を変更する。
図12(B)に示すように、ノード装置Eは、まだ経路として選択していないノード装置Cにフレームを送信する。従って、ノード装置Cは再びフレームを受信する。このとき、ノード装置Cのフレーム管理テーブル13の転送回数は「1」になっている。一方、ノード装置Cが受信したフレームの転送回数も「1」になっている。
よって、図9のステップS2の判定はNOとなり、受信フレームが破棄されることはない。また、図9のステップS4の判定はYESとなり、ステップS5の処理が行われることはない。
従って、図12(B)に示すように、ノード装置Cはノード装置Fにフレームを送信する。ノード装置Fは、自身に隣接しているゲートウェイ装置GW2にフレームを送信する。これにより、ゲートウェイ装置GW2はサーバにフレームを送信することができる。
第2の具体例では、Ackが返信されなかったことにより、ノード装置Eはフレームの送信経路を切り替えている。ノード装置Cは、転送回数の判定を行うときに、フレーム管理テーブル13のエントリの転送回数と受信したフレームの転送回数とが等しいため、フレームの廃棄は行わず、通常のルーティングを行う。これにより、ノード装置Aが生成したフレームをサーバに送信することができる。
<第3の具体例>
次に、図13を参照して、第3の具体例について説明する。ノード装置Aはフレームを生成する。フレームのGSは「A」、FIDは「10」、転送回数は初期値の「0」であるものとする。また、ノード装置Aは、ゲートウェイ装置GW1とサーバとの間の通信が遮断されることを認識していないため、ゲートウェイ装置GW1をフレームのGDに設定する。
ノード装置Aは、ゲートウェイ装置GW1までの適切な経路として、ノード装置Bを選択する。従って、ノード装置Aは、ノード装置Bにフレームを送信する。ノード装置Bは、フレームを受信したが、ノード装置AにAckが届かなかったものとする。
ノード装置Bは、フレームの情報をフレーム管理テーブル13に記憶し、元ゲートウェイ装置F−GW1にフレームを送信する。このときには、ゲートウェイ装置GW1は、サーバとの間の通信が遮断されているため、元ゲートウェイ装置F−GW1となっている。
元ゲートウェイ装置F−GW1は、転送回数をインクリメントして、ノード装置Bにフレームを転送する。ノード装置Bのフレーム管理テーブル13は、既にFIDが「10」のエントリの情報を記憶している。このエントリの転送回数は「0」になっている。
一方、ノード装置Bが元ゲートウェイ装置F−GW1から受信したフレームの転送回数は「1」になっている。従って、図9のステップS2の判定はNOとなるため、フレームが廃棄されることはない。そして、図9のステップS4の判定もNOとなるため、ノード装置Bのテーブル更新部24は、FIDが「10」のエントリを削除して、受信したフレームに基づいて、新たに情報を記憶する。
受信したフレームの転送回数は「1」になっているため、図13(A)に示されるように、ノード装置Bのフレーム管理テーブル13のFIDが「10」のエントリの転送回数は「1」になっている。
ノード装置Bは、フレームをノード装置Cに送信する。そして、ノード装置Cは、自身に隣接するゲートウェイ装置GW2にフレームを送信する。ゲートウェイ装置GW2は、フレームをサーバに送信する。これにより、ノード装置Aが生成したフレームはサーバに送信される。
上述したように、ノード装置Aは、ノード装置Bに送信したフレームのAckを受信していない。ノード装置Aは、Ackを受信しないときには、フレームを再送信する。ただし、ノード装置Aは、フレームを送信してから所定時間経過後にAckを受信していないときに、フレームの再送信を行う。
ノード装置Aは、ノード装置BからのAckを受信していないため、ノード装置Bではなく、ノード装置Dにフレームを再送信する。ノード装置Dに再送信されるフレームは、ノード装置Aがノード装置Bに送信したフレームと同じGS、FIDおよび転送回数の値を有する。つまり、GSは「A」であり、FIDは「10」であり、転送回数は初期値の「0」である。
ノード装置Dは、フレーム管理テーブル13に受信したフレームの情報を記憶し、ノード装置Eにフレームを送信する。ノード装置Eは、フレーム管理テーブル13にフレームの情報を記憶し、ノード装置Fにフレームを送信する。ノード装置Fは、フレーム管理テーブル13にフレームの情報を記憶し、ノード装置Bにフレームを送信する。
ノード装置Fがノード装置Bに送信したフレームの転送回数は「0」である。一方、図13(B)に示すように、ノード装置Bのフレーム管理テーブル13のFIDが「10」のエントリには、既に「1」が記憶されている。
ノード装置Bは、図9のステップS2の判定で、フレーム管理テーブル13のエントリの転送回数と受信したフレームの転送回数とを比較する。フレーム管理テーブル13の転送回数は「1」であり、受信したフレームの転送回数は「0」である。よって、図9のステップS2の判定はYESとなる。従って、受信フレームは廃棄される。
ただし、上述したように、ノード装置Aが生成したフレームは、ゲートウェイ装置GW2からサーバに送信されている。よって、ノード装置Bがノード装置Fから受信したフレームを廃棄したとしても、ノード装置Aが生成したフレームはサーバに送信される。
ノード装置Bがノード装置Fから受信したフレームは、廃棄される必要がある。既に、ノード装置Aが生成したフレームはノード装置Cを経由して、ゲートウェイ装置GW2に送信されている。よって、ノード装置Bがノード装置Fから受信したフレーム(ノード装置Aが再送信したフレーム)は不要になる。
不要なフレームが存在していると、ネットワークにとって負担になる。よって、廃棄される必要がある。第3の具体例では、フレーム管理テーブル13の転送回数と受信したフレームの転送回数とを比較して、フレームを廃棄しているため、ネットワークの負担を生じることはない。
そして、ノード装置Aが生成したフレームはサーバに送信される。また、フレーム管理テーブル13は、ノード装置Fから送信されたフレームをフレーム管理テーブル13に登録せず、廃棄するため、フレーム管理テーブルの情報量は増大しない。従って、ハードウェアの使用量を抑制することができる。
<第4の具体例>
次に、第4の具体例について説明する。第4の具体例では、図5で示したアドホックネットワークの一例を使用して、フレーム管理テーブルおよびフレームフォーマットを説明する。図5を参照すると、ノード装置Aがフレームを生成する。そして、ノード装置Aは、ノード装置Bにフレームを送信する。
第4の具体例では、ゲートウェイ装置GW1は、サーバとの間は通信可能になっている。従って、ノード装置Bがゲートウェイ装置GW1に送信したフレームは、ゲートウェイ装置GW1からサーバに送信される。
図14は、ノード装置AおよびBのそれぞれにおけるフレーム管理テーブル13およびフレームフォーマットを示している。ノード装置Aの送信処理部14は、FIDが「1」のフレームを生成する。生成したフレームのGSは「A」、転送回数は初期値の「0」になる。従って、送信処理部14は、図14に示すような情報を記憶する。
フレームのGDはゲートウェイ装置GW1となる。また、ルーティング機能部15は、フレームのLDとしてノード装置Bを選択している。フレームのLSは「A」である。よって、ノード装置Aが送信するフレームのフレームフォーマットは、図14に示すような情報になる。
ノード装置Bは、ノード装置Aから送信されたフレームの情報を記憶する。よって、ノード装置Bのフレーム管理テーブル13は、図14に示すような情報を記憶する。フレームのフレームフォーマットについては、ノード装置Bのルーティング機能部15により、LDが「GW1」となっている。LSは「B」である。よって、ノード装置Bが送信するフレームのフレームフォーマットは、図14に示すような情報になる。
<第5の具体例>
次に、図15および図16を参照して、第5の具体例について説明する。図15に示すように、ノード装置A、B、D、E、Fはゲートウェイ装置GW1のグループのノード装置である。ただし、ゲートウェイ装置GW1は、サーバとの間の通信が遮断されているため、元ゲートウェイ装置F−GW1となっている。
ノード装置C、G、HおよびIはゲートウェイ装置GW2のグループである。ここで、ノード装置Bとノード装置Cとは異なるグループであるが、ノード装置Bとノード装置Cとの間で通信を行うことができる。
ノード装置Aは、フレームを生成する。フレームのGSは「A」、FIDは「2」、転送回数は初期値の「0」である。また、ノード装置Aは、元ゲートウェイ装置F−GW1とサーバとの間の通信が遮断されていることを認識していないため、GDはゲートウェイ装置GW1となっている。なお、ゲートウェイ装置GW1と元ゲートウェイ装置F−GW1とは同じアドレスになる。
ノード装置Aは、生成したフレームをノード装置Bに送信する。ノード装置Bは、受信したフレームの情報をフレーム管理テーブル13に記憶する。図16に示すように、ノード装置Bのフレーム管理テーブル13のGSは「A」、FIDは「2」、転送回数は「0」となる。
ノード装置Bは、フレームを元ゲートウェイ装置F−GW1に送信する。元ゲートウェイ装置F−GW1は、ゲートウェイ装置GW1から変化している。よって、フレームの転送回数をインクリメントし、GDをゲートウェイ装置GW2に変更する。その後、元ゲートウェイ装置F−GW1は、ノード装置Bにフレームを転送する。
ノード装置Bは、自身のフレーム管理テーブル13が記憶している転送回数と元ゲートウェイ装置F−GW1から受信したフレームの転送回数とを比較する。図16では、ノード装置Bが2つあるが、ハッチングがされている転送回数が比較の対象となる。
フレーム管理テーブル13の転送回数は「0」であり、フレームフォーマットの転送回数は「1」である。よって、図9のステップS2の判定はNOとなり、フレームが廃棄されることはない。また、図9のステップS4の判定もNOとなり、ノード装置Bのフレーム管理テーブル13のFIDが「2」のエントリは削除される。
そして、フレームフォーマットに基づいて、テーブル更新部24はフレーム管理テーブル13を更新する。更新後のフレーム管理テーブル13の各値は、GSが「A」、FIDが「2」、転送回数が「1」となる。
ノード装置Bは、フレームをノード装置Cに送信する。ノード装置Cは、適切な経路として、ノード装置Gを選択する。従って、ノード装置Cはフレームをノード装置Gに送信する。ノード装置Gは、適切な経路として、ノード装置Hを選択する。従って、ノード装置Gは、ノード装置Hにフレームを送信する。
ノード装置Hは隣接するゲートウェイ装置GW2にフレームを送信する。ゲートウェイ装置GW2はサーバと通信可能である。よって、ゲートウェイ装置GW2は、受信したフレームをサーバに送信する。従って、ノード装置Aが生成したフレームはサーバに送信される。
従って、ゲートウェイ装置GW1がサーバと通信することができなくなったとしても、ノード装置Aが生成したフレームは破棄されることなく、サーバに送信することができる。また、ノード装置Bのフレーム管理テーブル13の情報量が変化しないため、ハードウェア資源の増大を回避することができる。
<第6の具体例>
次に、図17および図18を参照して、第6の具体例について説明する。図17に示すように、ゲートウェイ装置GW1はサーバと通信ができなくなっている。また、ノード装置Hとゲートウェイ装置GW2との間の通信もできなくなっている。
図17に一例として示すアドホックネットワークは、図15のアドホックネットワークと同一のネットワーク構成である。ノード装置Aはフレームを生成する。フレームのGSは「A」、FIDは「3」、転送回数は初期値の「0」である。
また、ノード装置Aは、元ゲートウェイ装置F−GW1とサーバとの間の通信が遮断されていることを認識していないため、GDはゲートウェイ装置GW1となっている。なお、ゲートウェイ装置GW1と元ゲートウェイ装置F−GW1とは同じアドレスになる。
ノード装置Aは、生成したフレームをノード装置Bに送信する。ノード装置Bは、フレームを元ゲートウェイ装置F−GW1に送信する。元ゲートウェイ装置F−GW1は、フレームの転送回数をインクリメントして、ノード装置Bにフレームを転送する。
ノード装置Bは、ノード装置Cにフレームを送信する。ノード装置Cは、受信したフレームの情報をフレーム管理テーブル13に記憶する。フレームの転送回数はインクリメントされて「1」になっているため、フレーム管理テーブル13は、GSが「A」、FIDが「3」、転送回数が「1」を記憶する。そして、ノード装置Cは、適切な経路として選択されたノード装置Gにフレームを送信する。
ノード装置Gはノード装置Hにフレームを送信する。ノード装置Hは、ゲートウェイ装置GW2にフレームを送信する。ただし、ノード装置Hとゲートウェイ装置GW2との間は通信ができなくなっているため、ノード装置Hはフレームをノード装置Cに送信する。
ノード装置Cはフレームを受信する。ノード装置Cは、自身のフレーム管理テーブル13が記憶している転送回数と元ゲートウェイ装置F−GW1から受信したフレームの転送回数とを比較する。図18では、ノード装置Cが2つあるが、ハッチングがされている転送回数が比較の対象となる。
フレーム管理テーブル13の転送回数は「1」であり、フレームフォーマットの転送回数も「1」である。よって、図9のステップS2の判定はNOとなり、フレームが廃棄されることはない。図9のステップS4の判定はYESとなり、ステップS5の処理は行われない。
ノード装置Cは、フレームをノード装置Iに送信する。ノード装置Iは、ゲートウェイ装置GW2にフレームを送信する。ゲートウェイ装置GW2は、受信したフレームをサーバに送信する。従って、サーバは、ノード装置Aが生成したフレームを受信する。
従って、ゲートウェイ装置GW1がサーバと通信することができなくなり、ノード装置Hとゲートウェイ装置GW2との間の通信ができなくなったとしても、フレームが廃棄されることはない。これにより、ノード装置Aが生成したフレームをサーバに送信することができる。
<第7の具体例>
次に、図19および図20を参照して、第7の具体例について説明する。図19に示すように、ゲートウェイ装置GW1はサーバと通信ができなくなっている。ノード装置Hとゲートウェイ装置GW2との間の通信もできなくなっている。
図19に一例として示すネットワーク構成は、図15で示したネットワーク構成と同一である。図19のネットワーク構成において、ノード装置Aはフレームを生成する。フレームのGSは「A」、FIDは「4」、転送回数は初期値の「0」である。
また、ノード装置Aは、元ゲートウェイ装置F−GW1とサーバとの間の通信が遮断されていることを認識していないため、GDはゲートウェイ装置GW1となっている。なお、ゲートウェイ装置GW1と元ゲートウェイ装置F−GW1とは同じアドレスになる。
ノード装置Aは、生成したフレームをノード装置Bに送信する。このとき、ノード装置Aはノード装置BからAckを受信しない。ノード装置Aは、所定時間、ノード装置BからAckを受信しない場合、ノード装置Dにフレームを再送信する。
最初にノード装置Aからノード装置Bに送信されたフレームの情報は、ノード装置Bのフレーム管理テーブル13に記憶される。その後、ノード装置Bは、元ゲートウェイ装置F−GW1にフレームを送信する。
元ゲートウェイ装置F−GW1は、ゲートウェイ装置GW1から元ゲートウェイ装置F−GW1に変化しているため、フレームの転送回数をインクリメントして、フレームをノード装置Bに転送する。ノード装置Bは、フレーム管理テーブル13の転送回数が「0」であり、フレームの転送回数が「1」であるため、フレームの廃棄は行わない。フレーム管理テーブル13の転送回数とフレームの転送回数とは等しくないため、エントリの削除および新規登録を行う。
ノード装置Bは、ノード装置Cにフレームを送信する。ノード装置Cは、適切な経路として、ノード装置Gにフレームを送信する。ノード装置Gは、ノード装置Hにフレームを送信する。
ノード装置Hは、ゲートウェイ装置GW2にフレームを送信することができない。従って、ノード装置Hは、ノード装置Cにフレームを送信する。ノード装置Cはノード装置Iにフレームを送信する。ノード装置Iはゲートウェイ装置GW2にフレームを送信する。ゲートウェイ装置GW2は、受信したフレームをサーバに送信する。従って、サーバは、ノード装置Aが生成したフレームを受信する。
次に、ノード装置Aがノード装置Dにフレームを再送信した場合について説明する。ノード装置Aは、ノード装置BからAckを受信しないため、LDが異なるフレームをノード装置Dに送信する。ノード装置Dは、ノード装置Eにフレームを送信する。ノード装置Eは、ノード装置Fにフレームを送信する。ノード装置Fは、ノード装置Bにフレームを送信する。
図20(A)は、正常に送信されるフレーム(ノード装置Aが最初に送信したフレーム)の経路におけるフレーム管理テーブルおよびフレームフォーマットを示している。図20(B)は、廃棄されるフレーム(ノード装置Aが再送信したフレーム)の経路におけるフレーム管理テーブルおよびフレームフォーマットを示している。
図20(A)に示すように、ノード装置Bのフレーム管理テーブル13は、転送回数が「1」になっている(図20(A)のハッチング部分)。一方、図20(B)のうちLDがノード装置Bとなっているフレームフォーマットは、転送回数が「0」になっている(図20(B)のハッチング部分)。
従って、図8のステップS2の判定はYESになる。このため、別フレームは破棄される。ただし、本フレームは、ゲートウェイ装置GW2からサーバに送信されている。よって、ノード装置Aが生成したフレームをサーバに送信することができる。
<通信装置のハードウェア構成>
次に、通信装置1のハードウェア構成の一例について説明する。図21に示すように、通信装置1は、バス30に対して、プロセッサ31とRAM(Random Access Memory)32とROM(Read Only Memory)33と補助記憶装置34と無線モジュール35と可搬型記憶装置接続部36とが接続されている。
プロセッサ31はCPU(Central Processing Unit)のような任意の処理回路である。プロセッサ31はRAM32に展開されたプログラムを実行する。ROM33はRAM32に展開されるプログラムを記憶する不揮発性の記憶装置である。RAM32に展開されるプログラムは補助記憶装置34に記憶されていてもよい。記憶装置の一例としては、フラッシュメモリやハードディスクドライブ等を適用することができる。
無線モジュール35は、通信装置1が他の通信装置と無線通信を行う機能を有する通信インタフェースである。無線モジュール35を介して、ノード装置とノード装置との間の通信、およびノード装置とゲートウェイ装置との間の通信が行われる。
可搬型記憶装置接続部36は、可搬型記憶装置37と接続可能に設けられている。可搬型記憶装置37としては、可搬型のメモリや光学式ディスク(例えば、CD(Compact Disk)やDVD(Digital Video Disk)等)を適用することができる。
RAM32、ROM33および補助記憶装置34は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
一例として、受信部11および送信部17は無線モジュール35により実現されてもよい。受信処理部12、送信処理部14およびルーティング機能部15はプロセッサ31により実現されてもよい。フレーム管理テーブル13およびルーティングテーブル16は、補助記憶装置34により実現されてもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
複数のゲートウェイ装置及びノード装置を含む通信システムであって、
前記複数のゲートウェイ装置の内の第一のゲートウェイ装置は、前記ノード装置が送信した少なくとも宛先の情報と転送回数の情報とを含むデータを受信する受信部と、受信した前記データの前記宛先が該第一のゲートウェイ装置であって、かつ、サーバに前記データを送信できない場合、前記データの前記宛先を前記複数のゲートウェイ装置の内の該第一のゲートウェイ装置以外の第二のゲートウェイ装置に設定するとともに、前記データに含まれる前記転送回数を更新して、更新後のデータを前記ノード装置に送信する送信部と、を有し、
前記ノード装置は、データを受信する受信部と、データの転送回数を該データごとに記憶する管理部と、受信した前記更新後のデータに含まれる転送回数が該更新後のデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数以上の場合、前記受信したデータを前記設定された前記第二のゲートウェイ装置に向けて送信する送信部と、を
有することを特徴とする通信システム。
(付記2)
前記ノード装置は、受信したデータに含まれる転送回数が、前記受信したデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数よりも小さい場合、前記データを破棄する、
ことを特徴とする付記1記載の通信システム。
(付記3)
前記ノード装置は、受信したデータに含まれる転送回数が、前記受信したデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数よりも大きい場合、前記受信したデータに基づいて、前記管理部が記憶している情報を更新する、
ことを特徴とする付記1記載の通信システム。
(付記4)
前記ノード装置は、受信したデータと同じ識別子を持つデータに関連する情報を削除し、前記データの情報を前記管理部に新規に登録する、
ことを特徴とする付記1記載の通信システム。
(付記5)
前記ノード装置は、前記データを新たに生成するときに、前記データに含まれる前記転送回数を初期値に設定して、初期値に設定された前記データを送信する、
ことを特徴とする付記1記載の通信システム。
(付記6)
前記第一のゲートウェイ装置は、
前記データの前記宛先を前記第二のゲートウェイ装置に設定したときに、前記データに含まれる前記転送回数をインクリメントする、
ことを特徴とする付記1記載の通信システム。
(付記7)
前記第一のゲートウェイ装置はサーバと通信する機能を有し、且つ前記サーバとの通信が遮断されたノード装置であり、前記第二のゲートウェイ装置はサーバと通信する機能を有し、且つ前記サーバと通信可能なノード装置である、
付記1記載の通信システム。
(付記8)
複数のゲートウェイ装置及びノード装置を含む通信システムにおける通信方法であって、
前記複数のゲートウェイ装置の内の第一のゲートウェイ装置は、
前記ノード装置が送信した少なくとも宛先の情報と転送回数の情報とを含むデータを受信し、
受信した前記データの前記宛先が該第一のゲートウェイ装置であって、かつ、サーバに前記データを送信できない場合、前記データの前記宛先を前記複数のゲートウェイ装置の内の該第一のゲートウェイ装置以外の第二のゲートウェイ装置に設定するとともに、前記データに含まれる前記転送回数を更新して、更新後のデータを前記ノード装置に送信し、
前記ノード装置は、
データを受信し、
データの転送回数を該データごとに管理部に記憶し、
受信した前記更新後のデータに含まれる転送回数が該更新後のデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数以上の場合、前記受信したデータを前記設定された前記第二のゲートウェイ装置に向けて送信する、
ことを特徴とする通信方法。
(付記9)
複数のゲートウェイ装置及びノード装置を含む通信システムにおける通信プログラムであって、
前記ノード装置が送信した少なくとも宛先の情報と転送回数の情報とを含むデータを前記複数のゲートウェイ装置の内の第一のゲートウェイ装置が受信し、
前記第一のゲートウェイ装置が受信した前記データの前記宛先が該第一のゲートウェイ装置であって、かつ、サーバに前記データを送信できない場合、前記データの前記宛先を前記複数のゲートウェイ装置の内の該第一のゲートウェイ装置以外の第二のゲートウェイ装置に設定するとともに、前記データに含まれる前記転送回数を更新して、更新後のデータを前記ノード装置に送信し、
前記ノード装置がデータを受信し、
前記ノード装置がデータの転送回数を該データごとに管理部に記憶し、
前記ノード装置が受信した前記更新後のデータに含まれる転送回数が該更新後のデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数以上の場合、前記受信したデータを前記設定された前記第二のゲートウェイ装置に向けて送信する、
処理をコンピュータに実行させることを特徴とする通信プログラム。
1 通信装置
11 受信部
12 受信処理部
13 フレーム管理テーブル
14 送信処理部
15 ルーティング機能部
16 ルーティングテーブル
17 送信部
21 フレーム解析部
22 転送回数処理部
23 フレーム処理部
24 テーブル更新部
30 バス
31 プロセッサ
32 RAM
33 ROM
34 補助記憶装置
35 無線モジュール
36 可搬型記憶装置接続部
37 可搬型記憶装置

Claims (8)

  1. 複数のゲートウェイ装置及びノード装置を含む通信システムであって、
    前記複数のゲートウェイ装置の内の第一のゲートウェイ装置は、前記ノード装置が送信した少なくとも宛先の情報と転送回数の情報とを含むデータを受信する受信部と、受信した前記データの前記宛先が該第一のゲートウェイ装置であって、かつ、サーバに前記データを送信できない場合、前記データの前記宛先を前記複数のゲートウェイ装置の内の該第一のゲートウェイ装置以外の第二のゲートウェイ装置に設定するとともに、前記データに含まれる前記転送回数を更新して、更新後のデータを前記ノード装置に送信する送信部と、を有し、
    前記ノード装置は、データを受信する受信部と、データの転送回数を該データごとに記憶する管理部と、受信した前記更新後のデータに含まれる転送回数が該更新後のデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数以上の場合、前記受信したデータを前記設定された前記第二のゲートウェイ装置に向けて送信する送信部と、を
    有することを特徴とする通信システム。
  2. 前記ノード装置は、受信したデータに含まれる転送回数が、前記受信したデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数よりも小さい場合、前記データを破棄する、
    ことを特徴とする請求項1記載の通信システム。
  3. 前記ノード装置は、受信したデータに含まれる転送回数が、前記受信したデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数よりも大きい場合、前記受信したデータに基づいて、前記管理部が記憶している情報を更新する、
    ことを特徴とする請求項1又は2記載の通信システム。
  4. 前記ノード装置は、受信したデータと同じ識別子を持つデータに関連する情報を削除し、前記データの情報を前記管理部に新規に登録する、
    ことを特徴とする請求項1乃至3のうち何れか1項に記載の通信システム。
  5. 前記ノード装置は、前記データを新たに生成するときに、前記データに含まれる前記転送回数を初期値に設定して、初期値に設定された前記データを送信する、
    ことを特徴とする請求項1乃至4のうち何れか1項に記載の通信システム。
  6. 前記第一のゲートウェイ装置は、前記データの前記宛先を前記第二のゲートウェイ装置に設定したときに、前記データに含まれる前記転送回数をインクリメントする、
    ことを特徴とする請求項1乃至5のうち何れか1項に記載の通信システム。
  7. 複数のゲートウェイ装置及びノード装置を含む通信システムにおける通信方法であって、
    前記複数のゲートウェイ装置の内の第一のゲートウェイ装置は、
    前記ノード装置が送信した少なくとも宛先の情報と転送回数の情報とを含むデータを受信し、
    受信した前記データの前記宛先が該第一のゲートウェイ装置であって、かつ、サーバに前記データを送信できない場合、前記データの前記宛先を前記複数のゲートウェイ装置の内の該第一のゲートウェイ装置以外の第二のゲートウェイ装置に設定するとともに、前記データに含まれる前記転送回数を更新して、更新後のデータを前記ノード装置に送信し、
    前記ノード装置は、
    データを受信し、
    データの転送回数を該データごとに管理部に記憶し、
    受信した前記更新後のデータに含まれる転送回数が該更新後のデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数以上の場合、前記受信したデータを前記設定された前記第二のゲートウェイ装置に向けて送信する、
    ことを特徴とする通信方法。
  8. 複数のゲートウェイ装置及びノード装置を含む通信システムにおける通信プログラムであって、
    前記ノード装置が送信した少なくとも宛先の情報と転送回数の情報とを含むデータを前記複数のゲートウェイ装置の内の第一のゲートウェイ装置が受信し、
    前記第一のゲートウェイ装置が受信した前記データの前記宛先が該第一のゲートウェイ装置であって、かつ、サーバに前記データを送信できない場合、前記データの前記宛先を前記複数のゲートウェイ装置の内の該第一のゲートウェイ装置以外の第二のゲートウェイ装置に設定するとともに、前記データに含まれる前記転送回数を更新して、更新後のデータを前記ノード装置に送信し、
    前記ノード装置がデータを受信し、
    前記ノード装置がデータの転送回数を該データごとに管理部に記憶し、
    前記ノード装置が受信した前記更新後のデータに含まれる転送回数が該更新後のデータに対応するデータであって前記管理部が記憶しているデータに含まれる転送回数以上の場合、前記受信したデータを前記設定された前記第二のゲートウェイ装置に向けて送信する、
    処理をコンピュータに実行させることを特徴とする通信プログラム。
JP2013233347A 2013-11-11 2013-11-11 通信システム、通信方法および通信プログラム Active JP6206105B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013233347A JP6206105B2 (ja) 2013-11-11 2013-11-11 通信システム、通信方法および通信プログラム
US14/531,149 US9647931B2 (en) 2013-11-11 2014-11-03 Systems, and methods for rerouting electronic communications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013233347A JP6206105B2 (ja) 2013-11-11 2013-11-11 通信システム、通信方法および通信プログラム

Publications (2)

Publication Number Publication Date
JP2015095723A JP2015095723A (ja) 2015-05-18
JP6206105B2 true JP6206105B2 (ja) 2017-10-04

Family

ID=53044780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013233347A Active JP6206105B2 (ja) 2013-11-11 2013-11-11 通信システム、通信方法および通信プログラム

Country Status (2)

Country Link
US (1) US9647931B2 (ja)
JP (1) JP6206105B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022131053A (ja) * 2021-02-26 2022-09-07 キヤノン株式会社 ゲートウェイ装置、ノード装置、情報処理システム、生産システム、物品の製造方法、ゲートウェイ装置の制御方法、ノード装置の制御方法、制御プログラム、記録媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381649B1 (en) * 1999-02-05 2002-04-30 Pluris, Inc. Data flow monitoring at a network node using periodically incremented counters for comparison to predetermined data flow thresholds
US7177295B1 (en) * 2002-03-08 2007-02-13 Scientific Research Corporation Wireless routing protocol for ad-hoc networks
JP4379237B2 (ja) * 2004-07-14 2009-12-09 ソニー株式会社 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
US8184605B2 (en) * 2004-12-20 2012-05-22 Connectivities, Llc Internet-orientated ad-hoc network
JP4622546B2 (ja) * 2005-01-31 2011-02-02 パナソニック株式会社 通信方法及び無線通信装置
US7570628B2 (en) * 2005-05-06 2009-08-04 Intel Corporation Methods and apparatus for providing a dynamic on-demand routing protocol
US8059544B2 (en) * 2006-12-20 2011-11-15 Honeywell International Inc. Distance adaptive routing protocol
JP2008193318A (ja) 2007-02-02 2008-08-21 Mitsubishi Electric Corp アドホックネットワークシステムおよびゲートウェイ選出方法
JP5326109B2 (ja) * 2010-05-07 2013-10-30 双葉電子工業株式会社 無線メッシュネットワークシステムおよびその制御方法ならびに無線装置
WO2012039040A1 (ja) * 2010-09-22 2012-03-29 富士通株式会社 ネットワークにおけるルーティング方法及びノード装置
WO2013042209A1 (ja) * 2011-09-20 2013-03-28 富士通株式会社 データ転送方法およびそれを用いるノード装置
JP5836477B2 (ja) * 2012-03-09 2015-12-24 三菱電機株式会社 データ通信装置、データ通信システム及びデータ通信方法
US10491458B2 (en) * 2013-01-31 2019-11-26 Dell Products L.P. System and method for reporting peer-to-peer transfer events

Also Published As

Publication number Publication date
US9647931B2 (en) 2017-05-09
JP2015095723A (ja) 2015-05-18
US20150134786A1 (en) 2015-05-14

Similar Documents

Publication Publication Date Title
RU2643475C2 (ru) Многодоменная ретрансляция с маршрутизацией от источника на основе взаимодействующих сетевых контроллеров
US8902733B2 (en) Communication network management system, method and program, and management computer
US20110228696A1 (en) Dynamic directed acyclic graph (dag) topology reporting
US9264327B2 (en) Communication network management system, method and program, and management computer
JP6036841B2 (ja) 通信制御方法、ネットワークシステム、および通信装置
CN104604293B (zh) 用于在无限链路网络中选择路由器的方法和装置
JP5347846B2 (ja) ノード関連情報を収集するシステム、ノード装置、およびフレーム処理方法
JP6323547B2 (ja) 通信システム、制御装置、通信制御方法、および、プログラム
CN110430135B (zh) 一种报文处理方法和装置
US20140169383A1 (en) Seamless switching for multihop hybrid networks
JP5720793B2 (ja) データ転送方法およびそれを用いるノード装置
JPWO2015151184A1 (ja) 通信システム、通信方法、中継装置、および、通信プログラム
JP6264856B2 (ja) ノード装置、制御プログラム、無線通信システム、及びデータ通信方法
CN111464440A (zh) 一种通信方法及装置
JP6206105B2 (ja) 通信システム、通信方法および通信プログラム
JPWO2014133066A1 (ja) 通信システム、端末、通信制御装置、通信方法及びプログラム
CN111464441A (zh) 一种通信方法及装置
JP6272565B1 (ja) 無線通信端末、無線通信システム及び経路選択プログラム
JP6459558B2 (ja) 無線通信装置、無線通信方法、および無線通信プログラム
JP5860135B2 (ja) 通信機器探索方法、通信機器、通信機器探索プログラムおよびアドホックネットワークシステム
US8750134B2 (en) Communication network management system and method and management computer
JP5287373B2 (ja) 通信装置及び通信処理方法
JP6345560B2 (ja) 通信装置システムおよびプログラム
JP6345561B2 (ja) 通信装置システムおよびプログラム
JP5866811B2 (ja) ネットワーク装置、送信先問合せ方法および送信先問合せプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170821

R150 Certificate of patent or registration of utility model

Ref document number: 6206105

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150