JP6135078B2 - 到達確認メッセージについての情報処理方法及び情報処理装置 - Google Patents

到達確認メッセージについての情報処理方法及び情報処理装置 Download PDF

Info

Publication number
JP6135078B2
JP6135078B2 JP2012203427A JP2012203427A JP6135078B2 JP 6135078 B2 JP6135078 B2 JP 6135078B2 JP 2012203427 A JP2012203427 A JP 2012203427A JP 2012203427 A JP2012203427 A JP 2012203427A JP 6135078 B2 JP6135078 B2 JP 6135078B2
Authority
JP
Japan
Prior art keywords
identifier
identifiers
bit string
range
source 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.)
Expired - Fee Related
Application number
JP2012203427A
Other languages
English (en)
Other versions
JP2014060533A (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 JP2012203427A priority Critical patent/JP6135078B2/ja
Publication of JP2014060533A publication Critical patent/JP2014060533A/ja
Application granted granted Critical
Publication of JP6135078B2 publication Critical patent/JP6135078B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Description

本技術は、通信ノード間の通信パスが不確定なネットワークの通信技術に関する。
モバイル端末や固定端末(これらについては、以下通信ノード、又は単にノードと呼ぶ)間でデータの送受信を行い、各ノードが受信したデータを蓄積、運搬(モバイル端末のみ)、転送を行うようなネットワークが考案されている。このように、送信元ノードと宛先ノードとの間の通信パスが常に存在するとは限らないような、すなわち通信パスが不確定な通信環境においてもデータ転送が可能となるネットワークは、遅延耐性ネットワーク(Delay Tolerant Network)又は途絶耐性ネットワーク(DTN:Disruption-Tolerant Network)と呼ばれる。
DTNにおいては、送信元ノードから宛先ノードまでのEnd-to-Endのデータ転送にかかる時間が長く、またパケットロスや通信回線の切断が頻繁に発生する等の劣悪な通信環境を含むことがあり、このような通信環境においても効率的にデータ転送を行うことが求められている。
DTNにおいては、移動可能な移動ノードや移動不可能な固定ノードがデータの転送を繰り返すことで送信元ノードから宛先ノードへデータを届けることになる。具体的には、データを受信したノードは、転送先となるノードが近くにいない場合、その受信データを一旦自身の記憶領域に蓄積する。その後、自ノード又は他ノードの移動により、他のノードが近接することでデータの転送を行う。このようにEnd-to-Endの通信パスが常に存在するとは限らないような通信環境においても、データ転送が可能となる。
DTN上のノードはデータ転送を行うために、他のノードから受信したデータを自身の記憶領域(ハードディスクドライブ、メモリなど)に一時的にキャッシュとして蓄積する。しかしながら、ノードの記憶領域の容量には制限があり、新たに送信元ノードから発生するデータを蓄積及び転送するためには、宛先ノードに到達したデータのキャッシュを消去することが好ましい。そのため、データの宛先ノードは、データの到達を送信元ノード及び転送ノードに対して伝えるために、到達確認メッセージ、すなわちACKメッセージをDTN上で伝送することが好ましい。一方で、データが宛先ノードに到達する度にACKメッセージを送信すると、DTN上に大量のACKメッセージが伝播することになる。これは、通信効率上好ましくない。
図1に示すように、インターネットなどの通常の通信環境においては、左端のサーバから右端のサーバへデータを送信する場合、左端のサーバは、当該データを含むパケットにシーケンス番号を付与して送信する。このようなネットワークでは、途中でパケットが無くなったり大幅に遅延したりすることはあまりないので、右端のサーバは、連続して受信したパケットに付与されたシーケンス番号のうち最大のシーケンス番号を含むACKパケットを、左端のサーバに送信する。例えば、最大のシーケンス番号が「4」であれば、「4」を含むACKパケットを送信する。左端のサーバは、ACKパケットを受信すると、当該ACKパケットに含まれるシーケンス番号以下のシーケンス番号についてのパケットのデータを破棄する。シーケンス番号「4」を含むACKパケットの場合には、0乃至4のシーケンス番号に係るデータを破棄することになる。
DTNでは、途中でパケットが無くなったり大幅に遅延したりする場合があるので、このような技術は、連続してパケットを受信できない場合がある。例えば、シーケンス番号「0」「2」「4」といったように、とびとびのシーケンス番号のパケットを受信する場合もある。受信したパケットのシーケンス番号が連続していないので、最大のシーケンス番号は「0」となり、ACKパケットを集約できない。
特開2011−4333号公報 特開2011−172196号公報
「DTN:遅延と仲良くするネットワーク」、通信ソサイエティマガジンNo.16 [春号]2011 「DTN技術の現状と展望」、通信ソサイエティマガジンNo.16 [春号]2011 Wing Ho Yuen, et. al, "IMPROVING SEARCH EFFICIENCY USING BLOOM FILTER IN PARTIALLY CONNECTED AD HOC NETWORKS, A NODE-CENTRIC ANALYSIS", Global Telecommunications Conference, 2006. GLOBECOM '06. IEEE
従って、本技術の目的は、一側面として、通信ノード間の通信パスが不確定なネットワークにおいて効率よく到達確認メッセージを送信できるようにするための技術を提供することである。
本技術の第1の態様に係る到着確認メッセージ送信方法は、(A)ある送信元ノードから受信されたデータの識別子の集合を、識別子が上記集合に包含されているか否かを確認するためのビット列に写像する処理と、(B)上記集合に含まれる識別子の範囲を規定するデータと上記ビット列とを含む到着確認メッセージを、ある送信元ノード宛に送信する処理とを含む。
本技術の第2の態様に係るデータ削除方法は、(C)ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が上記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信する処理と、(D)ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、到着確認メッセージに含まれる上記データから特定される範囲に含まれる識別子を抽出する処理と、(E)上記ビット列に基づき、抽出された識別子が、上記集合に包含されているか否かを判断する処理と、(F)上記集合に包含されていると判断された識別子及び当該識別子についてのデータを、データ格納部から削除する処理とを含む。
通信ノード間の通信パスが不確定なネットワークにおいて効率よく到達確認メッセージを送信できるようになる。
図1は、通常のネットワークにおけるACKメッセージの送信について説明するための図である。 図2は、DTNにおけるデータパケットの伝送の様子を模式的に示す図である。 図3は、DTNにおけるACKパケットの伝送の様子を模式的に示す図である。 図4は、本技術の実施の形態の概要を説明する図である。 図5は、送信元ノードとして機能するノードの機能ブロック図である。 図6は、転送ノードとして機能するノードの機能ブロック図である。 図7は、宛先ノードとして機能するノードの機能ブロック図である。 図8は、宛先ノードの受信部で実行される処理の処理フローを示す図である。 図9は、宛先ノードのデータ格納部に格納されるデータの一例を示す図である。 図10は、宛先ノードで実行される処理の処理フローを示す図である。 図11は、第1の前処理の処理フローを示す図である。 図12は、第2の前処理の処理フローを示す図である。 図13は、ブルームフィルタを説明するための図である。 図14は、ブルームフィルタを説明するための図である。 図15は、誤検出検証処理の処理フローを示す図である。 図16は、誤検出検証処理について説明するための図である。 図17は、ACKパケットの構成例を示す図である。 図18は、転送ノード及び送信元ノードに格納されるデータの一例を示す図である。 図19は、転送ノード及び送信元ノードにおいてACKパケットを受信した場合の処理の処理フローを示す図である。 図20は、転送ノード及び送信元ノードにおいてACKパケットを受信した場合の処理の処理フローを示す図である。 図21は、ノードである情報処理装置の機能ブロック図である。
図2は、DTNにおけるデータパケット(又はデータメッセージ)の伝送の様子を例示する図である。図2の例では、左端に示された固定の送信元ノード1001から右端に示された固定の宛先ノード1007へデータを送信する場合を示している。この例では、移動可能な転送ノード1002が、送信元ノード1001に接近してきたところで、送信元ノード1001は、データパケットを転送ノード1002に送信し、転送ノード1002は、データパケットを受信してキャッシュに蓄積する。転送ノード1002の付近に他の転送ノードがなければ、データパケットの転送が行われないが、例えば転送ノード1002が移動して付近に固定の転送ノード1003や移動可能な転送ノード1005が近接すると、転送ノード1002は、キャッシュに格納されているデータパケットを転送する。転送ノード1003は、受信したデータパケットをキャッシュし、移動可能な転送ノード1004が近づいてくると、当該転送ノード1004にキャッシュ内のデータパケットを転送する。また、転送ノード1005は、転送ノード1002からデータパケットを受信すると、当該データパケットをキャッシュして移動する。そして、転送ノード1005は、宛先ノード1007と通信可能な程度に近づくと、キャッシュしているデータパケットを宛先ノード1007に送信する。このようにして、送信元ノード1001から宛先ノード1007までデータパケットが転送されることになる。
また、図3は、DTNにおけるACKパケット(又はACKメッセージ)の伝送の様子を例示する図である。基本的には図2の逆方向に送信元ノード1001宛にACKパケットを送信することになるが、必ずしも同じノードが用いられるわけではない。宛先ノード1007は、以下で詳細に述べるACKパケットを、その際に近隣に存在する移動可能な転送ノード1005に送信する。転送ノード1005は、以下で述べるようにACKパケットに含まれるデータに基づきキャッシュからデータを削除する処理を実行する。さらに転送ノード1005は移動して、固定の転送ノード1003や移動可能な転送ノード1103の付近にやってくる。そうすると、転送ノード1005は、ACKパケットを、転送ノード1003及び1103に送信する。
転送ノード1003は、ACKパケットを受信すると、以下で述べるようにACKパケットに含まれるデータに基づきキャッシュからデータを削除する処理を実行する。また、移動可能な転送ノード1102が近づいてくると、転送ノード1003は、ACKパケットを転送ノード1102に転送する。また、転送ノード1103は、ACKパケットを受信した後、移動を開始する。そして、転送ノード1103は、送信元ノード1001に近づいて通信可能な状態になると、ACKパケットを転送する。そうすると、送信元ノード1001も、以下で述べるようにACKパケットに含まれるデータに基づきキャッシュからデータを削除する処理を実行する。
このような処理を様々なノード間で実施することで、DTN上でデータ通信が行われるようになる。なお、実施の形態では説明を簡単にするため、送信元ノード、転送ノード、宛先ノードの区別をつけて説明するが、いずれのノードも送信元ノード、転送ノード又は宛先ノードとして機能する。
なお、本実施の形態は、図4に模式的に示すように、左端の送信元ノードから、シーケンシャルな識別番号「0」乃至「9」のデータパケットを、右端の宛先ノードまで送信したが、宛先ノードでは識別番号「0」「2」及び「4」のデータパケットしか受信できていないような場合に有効である。すなわち、この場合識別番号「0」「2」及び「4」のデータパケットが受信済みであることを表し且ついずれの識別番号についてのデータパケットを受信したのかを確認するためのビット列を付加したACKパケットを、宛先ノードが送信元ノードへ送信する。これによって、ACKパケットの転送経路上の転送ノード及び送信元ノードにおいて、いずれのデータパケットを破棄してもよいのかを確認できるようになる。
以下、本実施の形態においてDTNに含まれるノードの構成及び当該ノードが実行する処理について説明する。
図5は、送信元ノードとして機能するノード100の機能ブロック図を示す。送信元ノード100は、通信インタフェース101と、送信部102と、受信部103と、データ生成部104と、ID生成部105と、データ削除処理部106と、データ格納部107とを有する。
通信インタフェース101は、例えば無線通信処理を行うモジュールである。データ生成部104は、他のノードに送信すべきデータを生成する。生成されるデータは、例えば、位置センサなどのセンサの出力データや処理のログデータ等である。
送信部102は、データ生成部104によって生成された、他のノードに送信すべきデータからパケットを生成して通信インタフェース101を介して送信する。ID生成部105は、例えば送信部102と連携して、宛先ノードの識別子毎に、送信するパケットの識別子(ID)であるシーケンシャルな識別番号を順次生成して、送信部102に出力する。送信部102は、宛先ノードの識別子及び識別番号に対応付けて、送信したデータをデータ格納部107に格納する。なお、データ生成部104が、ID生成部105と連携して、宛先ノードの識別子毎に識別番号を生成させ、データと共にデータ格納部107に格納するようにしても良い。
受信部103は、通信インタフェース101を介して他のノードからパケットを受信し、データ格納部107に格納し、以下で述べるようにACKパケットを受信した場合にはデータ削除処理部106に処理を実行させる。データ削除処理部106は、受信部103が受信したACKパケットに含まれるデータを用いて、データ格納部107に格納されているデータのうち削除可能なデータを特定して削除する。
また、図6は、転送ノードとして機能するノード200の機能ブロック図を示す。転送ノード200は、通信インタフェース201と、送信部202と、受信部203と、転送処理部204と、データ削除処理部205と、データ格納部206とを有する。
通信インタフェース201は、例えば無線通信処理を行うモジュールである。送信部202は、転送処理部204からの指示に応じてデータ格納部206に格納されているデータパケットを、他のノードに対して送信する。受信部203は、他のノードからデータパケット及びACKパケットを受信すると、データ格納部206に格納する。データパケットは、宛先ノードの識別子及び識別番号に関連付けてデータ格納部206において管理される。なお、ACKパケットについては転送すれば削除する。
転送処理部204は、通信インタフェース201を介して他のノードが近接していることを検出すると、データ格納部206に格納されているデータパケット及びACKパケットを送信部202に送信させる。データ削除処理部205は、受信部203が受信したACKパケットに含まれるデータを用いて、データ格納部206に格納されているデータのうち削除可能なデータを特定して削除する。送信元ノード100におけるデータ削除処理部106と、転送ノード200のデータ削除処理部205とは、同様な処理を実行する。
図7は、宛先ノードとして機能するノード300の機能ブロック図である。宛先ノード300は、通信インタフェース301と、送信部302と、受信部303と、ビット列生成部304と、検証処理部305と、データ格納部306とを有する。
通信インタフェース301は、例えば無線通信処理を行うモジュールである。送信部302は、ACKパケット等を通信インタフェース301を介して送信する。受信部303は、データパケットを通信インタフェース301を介して受信し、データ格納部306に格納する。
ビット列生成部304は、送信元ノード毎に、受信したデータパケットの識別番号がビット列生成時に用いられたか否かを確認するためのビット列を生成する。また、検証処理部305は、ビット列生成部304により生成されたビット列の検証処理を実行する。
次に、図8乃至図17を用いて、宛先ノード300における処理について説明する。宛先ノード300の受信部303は、データパケットの受信を待機しており(図8:ステップS1)、データパケットを受信すると、データパケットのデータ部分をデータ格納部306に格納する(ステップS2)。また、受信部303は、当該データパケットから当該データパケットの送信元ノードの識別子を特定する(ステップS3)。
そして、受信部303は、送信元ノードの未処理パケット数のカウンタを1インクリメントすると共に(ステップS5)、データパケットに含まれるデータの識別子を抽出して、データ格納部306に格納する(ステップS6)。データ格納部306には、例えば図9に示すようなデータが送信元ノード毎に格納される。図9の例では、未処理パケット数のカウンタ値と、未処理の識別番号群とが格納されるようになっている。
このような処理を、例えばユーザによる終了指示などの理由で処理終了となるまで繰り返す(ステップS7)。
これに対してビット列生成部304、検証処理部305及び送信部302が実行する処理について図10乃至図17を用いて説明する。
ビット列生成部304は、データ格納部306にデータが格納されている送信元ノードのうち、例えばラウンドロビン式に1つの送信元ノードを選択する(図10:ステップS11)。そうすると、ビット列生成部304は、選択された送信元ノードについてデータ格納部306に格納されている未処理パケット数のカウンタ値が閾値以上となっているか判断する(ステップS13)。閾値以上の個数のデータパケットを受信してまとめて集約してACKパケットを送信するためである。
選択された送信元ノードについて未処理パケット数のカウンタ値が閾値以上となっていない場合には、処理はステップS11に戻る。一方、選択された送信元ノードについて未処理パケット数のカウンタ値が閾値以上であれば、ビット列生成部304は、前処理を実行する(ステップS15)。前処理については、図11及び図12を用いて説明する。前処理は、本実施の形態では、後に実行される誤検出検証処理の処理効率を向上させるために実行される。
まず、ビット列生成部304は、データ格納部306に格納されている未処理パケットの識別番号を集合Sに設定する(図11:ステップS31)。そして、ビット列生成部304は、集合Sに含まれる識別番号の範囲に対する集合Sに含まれる識別番号の数の割合を算出する(ステップS33)。集合Sに、識別番号{1,3,5,9,11}が含まれる場合、識別番号の範囲は10(=11−1)であり、集合Sに含まれる識別番号の数は5であるから、割合は50%(=5/10)となる。
そして、ビット列生成部304は、算出された割合が閾値を超えているか判断する(ステップS35)。閾値は例えば50%以上の所定の数値である。後に実行される誤検出検証処理では、(100%−算出された割合)の数の識別番号について誤検出するか否かを検証するので、集合Sに含まれる識別番号の範囲に含まれる識別番号の過半数が誤検出検証処理の処理対象となるのは非効率だからである。
算出された割合が閾値を超えていない場合には、ビット列生成部304は、集合Sから、識別番号最大値を除外する(ステップS37)。そして処理はステップS33に戻る。
一方、算出された割合が閾値を超えている場合には、ビット列生成部304は、集合Sに含まれる識別番号を、ビット列生成対象の識別番号に設定する(ステップS39)。そして、呼出元の処理に戻る。
この前処理は、例えば図12に示すような処理に変更してもよい。ビット列生成部304は、データ格納部306に格納されている未処理パケットの識別番号を集合に設定する(ステップS41)。そして、ビット列生成部304は、未処理の集合を1つ選択する(ステップS43)。
その後、ビット列生成部304は、選択された集合に含まれる識別番号の範囲に対する、選択された集合に含まれる識別番号の数を算出する(ステップS45)。演算内容はステップS33と同様である。
そして、ビット列生成部304は、算出された割合が閾値を超えたか判断する(ステップS47)。算出された割合が閾値を超えていない場合には、ビット列生成部304は、選択された集合に含まれる識別番号間の間隔が最大となる部分で、選択された集合を分割する(ステップS49)。そして処理はステップS43に戻る。なお、分割によって生成された集合のうち、あまりに包含される識別番号の数が少ない集合については、処理対象から外すようにしてもよい。
一方、算出された割合が閾値を超えている場合には、ビット列生成部304は、選択された集合に含まれる識別番号を、ビット列生成対象に設定する(ステップS51)。そして、ビット列生成部304は、未処理の集合が存在するか判断する(ステップS53)。未処理の集合が存在する場合には、処理はステップS43に戻る。一方、未処理の集合が存在しない場合には、処理は呼出元の処理に戻る。
本前処理によれば、ビット列生成対象の識別番号の集合が複数存在するので、以下の処理は、集合毎に実行することになる。
図10の処理の説明に戻って、ビット列生成部304は、任意の識別番号が、ビット列生成対象の集合に包含されているか否かを確認するためのビット列を生成する(ステップS17)。本実施の形態では、ビット列として確率的データ構造、具体的にはブルームフィルタ(Bloom Filter)を採用する。
ブルームフィルタは、よく知られているが、図13及び図14を用いて簡単に説明しておく。ブルームフィルタを生成するためには、図13に示すように、k個のハッシュ関数を用意し、識別番号をそれぞれに入力してハッシュ値を取得する。図13の例では、ハッシュ関数1からはハッシュ値「8」が生成され、ハッシュ関数2からはハッシュ値「1」が生成され、ハッシュ関数kからはハッシュ値「11」が生成されたものとする。そうすると、mビット配列において、ハッシュ値の位置のビットを「1」にセットする。図13の例では、「8」ビット目、「1」ビット目、「11」ビット目を「1」にセットする。このようにして生成されたビット列がブルームフィルタである。k個のハッシュ関数は、DTNにおいて共通である。
さらに、図14に示すように、ビット列生成対象の集合に含まれる他の識別番号についても、k個のハッシュ関数にそれぞれ入力してハッシュ値を取得する。図14の例では、ハッシュ関数1からハッシュ値「0」が生成され、ハッシュ関数2からハッシュ値「1」が生成され、ハッシュ関数kからハッシュ値「8」が生成されたものとする。そうすると、図13で生成されたブルームフィルタのmビット配列において、ハッシュ値の位置のビットを「1」にセットする。図14の例では、「0」ビット目、「1」ビット目、「8」ビット目に「1」をセットする。但し、「1」及び「8」ビット目は既に「1」がセットされているので変更はない。このように、複数の識別番号についてのビット操作を、重ねて同じmビット配列に対して実施することになる。
図10の処理の説明に戻って、このようにビット列生成部304により生成されたビット列は検証処理部305に出力されて、検証処理部305は、誤検出検証処理を実行する(ステップS19)。誤検出検証処理については、図15及び図16を用いて説明する。
検証処理部305は、ビット列生成に用いられた識別番号の範囲に含まれ且つビット列生成に用いられなかった特定識別番号のうち未処理の識別番号を1つ特定する(図15:ステップS61)。識別番号{1,3,5,9,11}がビット列生成に用いられた場合には、識別番号1乃至11の範囲において{2,4,6,7,8,10}が特定識別番号となる。
そして、検証処理部305は、ブルームフィルタの誤検出の有無を判定する(ステップS63)。ブルームフィルタは、その性質から誤検出が発生しうることが知られており、この誤検出を許容してしまうと、再送すべきデータパケットが、通信経路上の転送ノード及び送信元ノードにおいて削除されてしまう。そこで、誤検出が発生するか否かをここで検証しておく。
例えば図16に示すように、特定識別番号を、ブルームフィルタ生成時と同じk個のハッシュ関数に入力してハッシュ値を取得する。ハッシュ値が示すビット位置の値が全て「1」であれば、特定識別番号はブルームフィルタ生成時の集合に含まれていたことになるので、誤検出と判断される。図16の例では、ハッシュ関数1のハッシュ値が「3」であり、ハッシュ関数2のハッシュ値が「10」であり、ハッシュ関数kのハッシュ値が「4」であり、これらのビット位置のビット値は、全て「1」となっているので、誤検出と判断される。一方、ハッシュ値が示すビット位置の値が1つでも「0」となっている場合には、誤検出無しと判断される。
ステップS63の結果として誤検出ありとされた場合には(ステップS65:Yesルート)、ビット列生成部304に誤検出ありを出力する(ステップS67)。そして、処理は呼出元の処理に戻る。一方、ステップS63の結果として誤検出無しとされた場合には(ステップS65:Noルート)、検証処理部305は、特定識別番号に未処理の識別番号が存在するか判断する(ステップS69)。未処理の識別番号が存在する場合には、処理はステップS61に戻る。一方、未処理の識別番号が存在しない場合には、生成されたブルームフィルタについて誤検出無しということになるので、検証処理部305は、ビット列生成部304に、誤検出無しを出力する(ステップS71)。そして処理を終了する。
このような処理を実行することで、生成されたビット列、すなわちブルームフィルタをそのまま使用できるか否かが判定される。
図10の処理の説明に戻って、ビット列生成部304は、検証処理部305からの出力に基づき、誤検出があったか否かを判断する(ステップS21)。誤検出が存在していた場合には、ビット列生成部304は、ビット列生成対象の識別番号の調整を実行する(ステップS29)。
この識別番号の調整については、様々な方法が可能である。但し、どの識別番号をビット列生成対象から外せば誤検出が無くなるのかは直接的には不明なので、(A)ビット列生成対象の識別番号のうち最大の識別番号を削除する方法、(B)ビット列生成対象の識別番号のうち最小の識別番号と最大の識別番号のうち、除外した場合にビット列生成対象の識別番号の範囲が狭くなる識別番号を削除する方法、(C)ビット列生成対象の識別番号の間隔を算出し、最も広い部分から後ろの識別番号を削除する方法などを採用しうる。
その後処理はステップS17に戻って再度ビット列を生成し直した上で、誤検出検証処理を実施する。
一方、誤検出がなかった場合には、ビット列生成部304は、生成したビット列と、ビット列生成対象の識別番号の範囲を規定するデータ(例えば先頭識別番号及び末尾識別番号の組み合わせ。但し、先頭識別番号と末尾識別番号までのオフセット値との組み合わせ)とを含むACKパケットを生成して、送信部302に送信させる(ステップS23)。
例えば図17に示すようなACKパケットのデータ構成例を示す。図17の例では、パケットタイプとして到達確認(ACK)が指定されており、送信元ノードの識別子と、先頭識別番号と、末尾識別番号と、ビット列であるブルームフィルタとが含まれている。
そして、ビット列生成部304は、処理終了が指示された等の理由で処理終了するか判断する(ステップS25)。処理終了ではない場合には、ビット列生成部304は、処理に係る送信元ノードについてデータ格納部306において、未処理パケット数のカウンタ値を、ビット列生成に用いた識別子の個数分だけ減分し、ビット列生成対象の識別番号を削除する(ステップS27)。そして処理はステップS11に戻る。
以上のような処理を実行することで、識別番号の誤検出無しを保証した上で多数のデータパケットのACKパケットを集約したACKパケットを1つ生成して送信できるようになる。すなわち、通信効率が向上する。
次に、転送ノード及び送信元ノードにおいてACKパケットを受信した際の処理について図18乃至図20を用いて説明する。なお、送信元ノード及び転送ノードにおいては、図18に示すようなデータを、データ格納部に格納しているものとする。図18の例では、データパケットのデータだけではなく、未処理の識別番号群を、送信元ノード毎(送信元ノードについては自ノード分のみ)に保持しているものとする。なお、ここでは、転送ノード200を一例に説明するが、送信元ノード100についてもデータ削除処理部106が同様の処理を実行することになる。
まず、転送ノード200のデータ削除処理部205は、受信部203からACKパケットを受信するまで待機する(図19:ステップS81)。ACKパケットを受信すると、データ削除処理部205は、ACKパケットからデータの送信元ノードの識別子、先頭及び末尾識別番号、そしてビット列を抽出する(ステップS83)。
また、データ削除処理部205は、抽出された送信元ノードの識別子についてデータ格納部206に格納されている未処理パケットの識別番号を抽出する(ステップS85)。図18に示すようなデータを読み出す。
その後、データ削除処理部205は、抽出された識別番号のうち未処理の識別番号を1つ選択する(ステップS87)。そして、データ削除処理部205は、ACKパケットに含まれるビット列に基づき、選択された識別番号の包含判定を実行する(ステップS89)。ブルームフィルタの場合、k個のハッシュ関数のハッシュ値が示すビット位置の値が全て「1」であれば、ブルームフィルタ生成時の識別番号集合に包含されていたことが確認できる。従って、本ステップでも、k個のハッシュ関数に、選択された識別番号を入力してハッシュ値を取得し、当該ハッシュ値が示すビット位置の値を確認し、全てのビット値が「1」であれば、包含と判定する。そして処理は端子Aを介して図20の処理に移行する。
図20の処理の説明に移行して、データ削除処理部205は、選択された識別番号は包含されていると判定されたか判断する(ステップS91)。包含されていないと判定された場合には、処理はステップS95に移行する。一方、包含されていると判断された場合には、データ削除処理部205は、データ格納部206において、選択された識別番号のパケットのデータを削除する(ステップS93)。到達確認ができた分だけキャッシュの容量を有効活用できるようになる。
そして、データ削除処理部205は、未処理の識別番号が存在するか判断する(ステップS95)。未処理の識別番号が存在する場合には、端子Bを介してステップS87に戻る。一方、未処理の識別番号が存在しない場合には、処理終了が明示的に指示されるまで、上で述べた処理を繰り返す(ステップS87)。すなわち、処理終了でない場合には端子Cを介してステップS81に戻る。
以上のような処理を実施することで、宛先ノードにデータパケットが到着したことを確認した上で、保持しているデータパケットを破棄できるようになる。これによってキャッシュが有効活用できるようになる。
上で述べた実施の形態では、ビット列としてブルームフィルタを用いる例を示した。ブルームフィルタを用いることで、多数のデータパケットを集約できるが、ブルームフィルタの性質から誤検出防止の処理を行うことになる。例えば、ACKパケットに含めることができるビット列のビット長に相当するデータパケットを集約すればよい場合には、ブルームフィルタを用いずとも良い。
例えば、ビット長がmビットであれば、最大mデータパケットを集約できる。例えば、先頭識別番号「11」で末尾識別番号「23」であって、ビット列生成対象の識別番号が{11,13,15,17,19,21,23}であれば、各識別番号について先頭識別番号からのオフセット位置に相当するビット位置を「1」にセットした「1010101010101」というビット列を採用するようにしても良い。すなわち、ビット列生成処理は、ビット列生成対象の識別番号から、先頭識別番号からのオフセット位置に相当するビット位置のビット値によってビット列生成対象の集合に包含されているか否かを確認するための所定長のビット列への写像となる。なお、ブルームフィルタを用いる場合においても、ビット列生成対象の識別番号からブルームフィルタに相当するビット列への写像とも言える。
この場合には、誤検出検証処理及びビット列生成対象の識別番号を調整する処理については行わずに済む。また、転送ノード及び送信元ノードについても、ビット列におけるビット位置が「1」か否かだけで包含判定ができるので、処理が簡易になる。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図は、プログラムモジュール構成とは一致しない場合もある。データ構造例も一例にすぎず、同様の内容を保持する他のデータ構造を採用しても良い。
さらに、処理フローについても処理結果が変わらない限りにおいて処理ステップの順番を入れ替えたり、処理を並列実行するようにしても良い。
なお、上で述べた送信元ノード100、転送ノード200、宛先ノード300は、コンピュータ装置であって、図21に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る到着確認メッセージ送信方法は、(A)ある送信元ノードから受信されたデータの識別子の集合を、識別子が上記集合に包含されているか否かを確認するためのビット列に写像する処理と、(B)上記集合に含まれる識別子の範囲を規定するデータと上記ビット列とを含む到着確認メッセージを、ある送信元ノード宛に送信する処理とを含む。
このようにすれば到着確認メッセージを集約することができ、通信効率を上げることができるようになる。なお、メッセージは、どの階層レベルのメッセージ又はパケットであってもよい。
さらに、上で述べたビット列は、確率的データ構造であってもよい。そして、上で述べた写像する処理が、(a1)ビット列に基づき、上記識別子の範囲に含まれるが上記集合には含まれない識別子が、上記集合に含まれていることになっているか否かを検証する処理と、(a2)上記識別子の範囲に含まれるが上記集合には含まれない識別子が、上記集合に含まれていることになっている場合には、上記集合に含まれる識別子を削減してから上記ビット列を生成し直す処理とを含むようにしても良い。より多くのデータメッセージ又はデータパケットの集約を行うことができるようになる。
また、上で述べた写像する処理が、(a3)上記検証する処理と上記生成し直す処理とを、上記検証する処理において上記識別子の範囲に含まれるが上記集合には含まれない識別子が上記集合に含まれていると判断されることが無くなるまで繰り返す処理をさらに含むようにしても良い。
また、上で述べた写像する処理は、上記集合に含まれる識別子の範囲に含まれる識別子の数に対する上記集合に含まれる識別子の数の比率が、一定値以上となるように上記集合に含まれる識別子を特定する処理を含むようにしても良い。例えば、集約度合いを一定以上にすることで通信効率を上げ、また上記検証する処理を効率化するためである。
さらに、上で述べた特定する処理が、上記識別子の範囲に含まれる識別子のうち最後の識別子を削除する処理、又は上記識別子の範囲に含まれる識別子の間隔のうち最大の間隔が生じている部分で上記集合を分割する処理を含むようにしてもよい。
さらに、上で述べた生成し直す処理が、上記識別子の範囲に含まれる識別子のうち最後の識別子を削除する処理、上記識別子の範囲に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と上記識別子の範囲に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、上記識別子の範囲に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理を含むようにしても良い。
本技術の第2の態様に係るデータ削除方法は、(C)ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が上記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信する処理と、(D)ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、到着確認メッセージに含まれる上記データから特定される範囲に含まれる識別子を抽出する処理と、(E)上記ビット列に基づき、抽出された識別子が、上記集合に包含されているか否かを判断する処理と、(F)上記集合に包含されていると判断された識別子及び当該識別子についてのデータを、データ格納部から削除する処理とを含む。
このようにすればデータ格納部の容量を有効活用することができるようになる。
なお、上記処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータに実行させるためのプログラム。
(付記2)
前記ビット列が、確率的データ構造であり、
前記写像する処理が、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
を含む付記1記載のプログラム。
(付記3)
前記写像する処理が、
前記検証する処理と前記生成し直す処理とを、前記検証する処理において前記識別子の範囲に含まれるが前記集合には含まれない識別子が前記集合に含まれていると判断されることが無くなるまで繰り返す処理
をさらに含む付記2記載のプログラム。
(付記4)
前記写像する処理は、
前記集合に含まれる識別子の範囲に含まれる識別子の数に対する前記集合に含まれる識別子の数の比率が、一定値以上となるように前記集合に含まれる識別子を特定する処理
を含む付記1乃至3のいずれか1つ記載のプログラム。
(付記5)
前記特定する処理が、
前記識別子の範囲に含まれる識別子のうち最後の識別子を削除する処理、又は前記識別子の範囲に含まれる識別子の間隔のうち最大の間隔が生じている部分で前記集合を分割する処理
を含む付記4記載のプログラム。
(付記6)
前記生成し直す処理が、
前記識別子の範囲に含まれる識別子のうち最後の識別子を削除する処理、前記識別子の範囲に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と前記識別子の範囲に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、前記識別子の範囲に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理
を含む付記2記載のプログラム。
(付記7)
ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が前記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信し、
前記ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、前記到着確認メッセージに含まれる前記データから特定される範囲に含まれる識別子を抽出し、
前記ビット列に基づき、抽出された前記識別子が、前記集合に包含されているか否かを判断し、
前記集合に包含されていると判断された識別子及び当該識別子についてのデータを、前記データ格納部から削除する
処理を、コンピュータに実行させるためのプログラム。
(付記8)
ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータが実行する到着確認メッセージ送信方法。
(付記9)
ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が前記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信し、
前記ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、前記到着確認メッセージに含まれる前記データから特定される範囲に含まれる識別子を抽出し、
前記ビット列に基づき、抽出された前記識別子が、前記集合に包含されているか否かを判断し、
前記集合に包含されていると判断された識別子及び当該識別子についてのデータを、前記データ格納部から削除する
処理を、コンピュータが実行するデータ削除方法。
(付記10)
ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像するビット列生成部と、
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する送信部と、
を有する情報処理装置。
(付記11)
ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が前記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信する受信部と、
前記ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、前記到着確認メッセージに含まれる前記データから特定される範囲に含まれる識別子を抽出し、前記ビット列に基づき、抽出された前記識別子が、前記集合に包含されているか否かを判断し、前記集合に包含されていると判断された識別子及び当該識別子についてのデータを、前記データ格納部から削除する削除部と、
を有する情報処理装置。
100 送信元ノード
101 通信インタフェース
102 送信部
103 受信部
104 データ生成部
105 ID生成部
106 データ削除処理部
107 データ格納部
200 転送ノード
201 通信インタフェース
202 送信部
203 受信部
204 転送処理部
205 データ削除処理部
206 データ格納部
300 宛先ノード
301 通信インタフェース
302 送信部
303 受信部
304 ビット列生成部
305 検証処理部
306 データ格納部

Claims (11)

  1. ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
    前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
    処理を、コンピュータに実行させるためのプログラムであって、
    前記ビット列が、確率的データ構造であり、
    前記写像する処理が、
    前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
    前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
    を含むプログラム。
  2. 前記写像する処理が、
    前記検証する処理と前記生成し直す処理とを、前記検証する処理において前記識別子の範囲に含まれるが前記集合には含まれない識別子が前記集合に含まれていると判断されることが無くなるまで繰り返す処理
    をさらに含む請求項1記載のプログラム。
  3. ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
    前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
    処理を、コンピュータに実行させるためのプログラムであって、
    前記ビット列が、確率的データ構造であり、
    前記写像する処理は、
    前記集合に含まれる識別子の範囲に含まれる識別子の数に対する前記集合に含まれる識別子の数の比率が、一定値以上となるように前記集合に含まれる識別子を特定する処理と、
    前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と
    を含むプログラム。
  4. 前記特定する処理が、
    前記集合に含まれる識別子のうち最後の識別子を削除する処理、又は前記集合に含まれる識別子の間隔のうち最大の間隔が生じている部分で前記集合を分割する処理
    を含む請求項3記載のプログラム。
  5. ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
    前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
    処理を、コンピュータに実行させるためのプログラムであって、
    前記ビット列が、確率的データ構造であり、
    前記写像する処理が、
    前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
    前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
    を含み、
    前記生成し直す処理が、
    前記集合に含まれる識別子のうち最後の識別子を削除する処理、前記集合に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と前記集合に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、前記集合に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理
    を含むプログラム。
  6. ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
    前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
    処理を、コンピュータが実行する到着確認メッセージ送信方法であって、
    前記ビット列が、確率的データ構造であり、
    前記写像する処理が、
    前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
    前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
    を含む到着確認メッセージ送信方法。
  7. ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
    前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
    処理を、コンピュータが実行する到着確認メッセージ送信方法であって、
    前記ビット列が、確率的データ構造であり、
    前記写像する処理は、
    前記集合に含まれる識別子の範囲に含まれる識別子の数に対する前記集合に含まれる識別子の数の比率が、一定値以上となるように前記集合に含まれる識別子を特定する処理と、
    前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と
    を含む到着確認メッセージ送信方法。
  8. ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
    前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
    処理を、コンピュータが実行する到着確認メッセージ送信方法であって、
    前記ビット列が、確率的データ構造であり、
    前記写像する処理が、
    前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
    前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
    を含み、
    前記生成し直す処理が、
    前記集合に含まれる識別子のうち最後の識別子を削除する処理、前記集合に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と前記集合に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、前記集合に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理
    を含む到着確認メッセージ送信方法。
  9. ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像するビット列生成部と、
    前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する送信部と、
    を有する情報処理装置であって、
    前記ビット列が、確率的データ構造であり、
    前記ビット列生成部が、
    前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証し、
    前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す
    情報処理装置。
  10. ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像するビット列生成部と、
    前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する送信部と、
    を有する情報処理装置であって、
    前記ビット列が、確率的データ構造であり、
    前記ビット列生成部は、
    前記集合に含まれる識別子の範囲に含まれる識別子の数に対する前記集合に含まれる識別子の数の比率が、一定値以上となるように前記集合に含まれる識別子を特定し、
    前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する
    情報処理装置。
  11. ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像するビット列生成部と、
    前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する送信部と、
    を有する情報処理装置であって、
    前記ビット列が、確率的データ構造であり、
    前記ビット列生成部が、
    前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
    前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理とを実行し、
    前記ビット列生成部は、前記生成し直す処理において、
    前記集合に含まれる識別子のうち最後の識別子を削除する処理、前記集合に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と前記集合に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、前記集合に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理
    を実行する情報処理装置。
JP2012203427A 2012-09-14 2012-09-14 到達確認メッセージについての情報処理方法及び情報処理装置 Expired - Fee Related JP6135078B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012203427A JP6135078B2 (ja) 2012-09-14 2012-09-14 到達確認メッセージについての情報処理方法及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012203427A JP6135078B2 (ja) 2012-09-14 2012-09-14 到達確認メッセージについての情報処理方法及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2014060533A JP2014060533A (ja) 2014-04-03
JP6135078B2 true JP6135078B2 (ja) 2017-05-31

Family

ID=50616640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012203427A Expired - Fee Related JP6135078B2 (ja) 2012-09-14 2012-09-14 到達確認メッセージについての情報処理方法及び情報処理装置

Country Status (1)

Country Link
JP (1) JP6135078B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444718A (en) * 1993-11-30 1995-08-22 At&T Corp. Retransmission protocol for wireless communications
JPH11177536A (ja) * 1997-12-08 1999-07-02 Mitsubishi Electric Corp 無線データリンク層の誤り制御方式
US9237101B2 (en) * 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
WO2010022767A1 (en) * 2008-08-26 2010-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Packet forwarding in a network
JP2010213239A (ja) * 2009-03-12 2010-09-24 Nec Corp パケットロス頻度推定システム、パケットロス頻度推定方法およびプログラム

Also Published As

Publication number Publication date
JP2014060533A (ja) 2014-04-03

Similar Documents

Publication Publication Date Title
US7885197B2 (en) System and method for measuring per node packet loss in a wireless network
US20130258843A1 (en) Network system and apparatis
CN104521192A (zh) 用于网络拓扑结构中的链路状态协议的洪泛优化的技术
WO2011016882A1 (en) Method and system to enable a hybrid routing protocol
JPWO2012029422A1 (ja) 通信品質監視システム、通信品質監視方法、及び記憶媒体
CN108632940B (zh) 适用于光电传感器无线mesh网络的可靠多径路由算法
JP5056438B2 (ja) パケット解析方法
CN109525376B (zh) 快速重传方法、装置及终端设备
CN108881009A (zh) 基于临空信息网的时延约束路由方法及装置
CN102752799B (zh) 容迟网络路由方法、设备及系统
JP5163398B2 (ja) パケット特定プログラム、パケット特定方法、パケット特定装置及び制御プログラム
JP2023515955A (ja) ルート更新方法及び装置
JP5720340B2 (ja) 制御サーバ、通信システム、制御方法およびプログラム
KR20150131327A (ko) 애플리케이션-제공 전송 메타데이터에 기초한 네트워크 전송 조절
CN104869062B (zh) 一种数据包转发方法及设备
JP6135078B2 (ja) 到達確認メッセージについての情報処理方法及び情報処理装置
CN111629416A (zh) 消息传输方法、系统、终端设备及计算机可读存储介质
CN103117955B (zh) 消息传输方法及装置、系统
CN117176649A (zh) 报文传输方法和装置、电子设备、计算机可读介质
JP5287373B2 (ja) 通信装置及び通信処理方法
CN108322402B (zh) 报文处理方法、设备及系统
CN115379501B (zh) Spn业务的传输方法、装置及网络节点
US20180123942A1 (en) Route control apparatus and route control method
KR101895887B1 (ko) 기회적 네트워크에서 접촉 비율에 기반한 메시지 전달 시스템 및 방법, 이를 수행하기 위한 기록 매체
CN118301070B (zh) 一种高效跨层消息转发电路及控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161017

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170410

R150 Certificate of patent or registration of utility model

Ref document number: 6135078

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees