JP6135078B2 - Information processing method and information processing apparatus for arrival confirmation message - Google Patents
Information processing method and information processing apparatus for arrival confirmation message Download PDFInfo
- 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
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Description
本技術は、通信ノード間の通信パスが不確定なネットワークの通信技術に関する。 The present technology relates to a network communication technology in which a communication path between communication nodes is uncertain.
モバイル端末や固定端末(これらについては、以下通信ノード、又は単にノードと呼ぶ)間でデータの送受信を行い、各ノードが受信したデータを蓄積、運搬(モバイル端末のみ)、転送を行うようなネットワークが考案されている。このように、送信元ノードと宛先ノードとの間の通信パスが常に存在するとは限らないような、すなわち通信パスが不確定な通信環境においてもデータ転送が可能となるネットワークは、遅延耐性ネットワーク(Delay Tolerant Network)又は途絶耐性ネットワーク(DTN:Disruption-Tolerant Network)と呼ばれる。 A network in which data is transmitted and received between mobile terminals and fixed terminals (hereinafter referred to as communication nodes or simply nodes), and data received by each node is stored, transported (only mobile terminals), and transferred Has been devised. In this way, a network that does not always have a communication path between a source node and a destination node, that is, a network that can transfer data even in a communication environment in which the communication path is indeterminate, is a delay tolerant network ( It is called Delay Tolerant Network (DTN) or Disruption-Tolerant Network (DTN).
DTNにおいては、送信元ノードから宛先ノードまでのEnd-to-Endのデータ転送にかかる時間が長く、またパケットロスや通信回線の切断が頻繁に発生する等の劣悪な通信環境を含むことがあり、このような通信環境においても効率的にデータ転送を行うことが求められている。 In DTN, it takes a long time to transfer end-to-end data from a source node to a destination node, and it may include a poor communication environment such as frequent packet loss and communication line disconnection. Even in such a communication environment, efficient data transfer is required.
DTNにおいては、移動可能な移動ノードや移動不可能な固定ノードがデータの転送を繰り返すことで送信元ノードから宛先ノードへデータを届けることになる。具体的には、データを受信したノードは、転送先となるノードが近くにいない場合、その受信データを一旦自身の記憶領域に蓄積する。その後、自ノード又は他ノードの移動により、他のノードが近接することでデータの転送を行う。このようにEnd-to-Endの通信パスが常に存在するとは限らないような通信環境においても、データ転送が可能となる。 In DTN, a mobile node that can move or a fixed node that cannot move moves data from the source node to the destination node by repeating data transfer. Specifically, when a node that receives data is not near a transfer destination node, the node temporarily stores the received data in its own storage area. Thereafter, the data is transferred when another node comes close by the movement of the own node or another node. In this way, data transfer is possible even in a communication environment in which an end-to-end communication path does not always exist.
DTN上のノードはデータ転送を行うために、他のノードから受信したデータを自身の記憶領域(ハードディスクドライブ、メモリなど)に一時的にキャッシュとして蓄積する。しかしながら、ノードの記憶領域の容量には制限があり、新たに送信元ノードから発生するデータを蓄積及び転送するためには、宛先ノードに到達したデータのキャッシュを消去することが好ましい。そのため、データの宛先ノードは、データの到達を送信元ノード及び転送ノードに対して伝えるために、到達確認メッセージ、すなわちACKメッセージをDTN上で伝送することが好ましい。一方で、データが宛先ノードに到達する度にACKメッセージを送信すると、DTN上に大量のACKメッセージが伝播することになる。これは、通信効率上好ましくない。 A node on the DTN temporarily stores data received from another node as a cache in its own storage area (hard disk drive, memory, etc.) in order to transfer data. However, the capacity of the storage area of the node is limited, and it is preferable to erase the cache of data that has reached the destination node in order to store and transfer data newly generated from the transmission source node. Therefore, it is preferable that the destination node of data transmits an arrival confirmation message, that is, an ACK message on the DTN in order to notify the arrival of data to the transmission source node and the forwarding node. On the other hand, if an ACK message is transmitted every time data reaches the destination node, a large amount of ACK messages are propagated on the DTN. This is not preferable in terms of communication efficiency.
図1に示すように、インターネットなどの通常の通信環境においては、左端のサーバから右端のサーバへデータを送信する場合、左端のサーバは、当該データを含むパケットにシーケンス番号を付与して送信する。このようなネットワークでは、途中でパケットが無くなったり大幅に遅延したりすることはあまりないので、右端のサーバは、連続して受信したパケットに付与されたシーケンス番号のうち最大のシーケンス番号を含むACKパケットを、左端のサーバに送信する。例えば、最大のシーケンス番号が「4」であれば、「4」を含むACKパケットを送信する。左端のサーバは、ACKパケットを受信すると、当該ACKパケットに含まれるシーケンス番号以下のシーケンス番号についてのパケットのデータを破棄する。シーケンス番号「4」を含むACKパケットの場合には、0乃至4のシーケンス番号に係るデータを破棄することになる。
As shown in FIG. 1, in a normal communication environment such as the Internet, when transmitting data from the left end server to the right end server, the left end server transmits a packet including the data with a sequence number. . In such a network, it is unlikely that packets will be lost or greatly delayed in the middle, so the rightmost server will receive an ACK containing the largest sequence number among the sequence numbers assigned to consecutively received packets. Send the packet to the leftmost server. For example, if the maximum sequence number is “4”, an ACK packet including “4” is transmitted. When receiving the ACK packet, the leftmost server discards the packet data for the sequence number equal to or less than the sequence number included in the ACK packet. In the case of an ACK packet including the sequence number “4”, the data related to the
DTNでは、途中でパケットが無くなったり大幅に遅延したりする場合があるので、このような技術は、連続してパケットを受信できない場合がある。例えば、シーケンス番号「0」「2」「4」といったように、とびとびのシーケンス番号のパケットを受信する場合もある。受信したパケットのシーケンス番号が連続していないので、最大のシーケンス番号は「0」となり、ACKパケットを集約できない。 In DTN, there are cases where packets are lost or greatly delayed in the middle of the process, so such a technique may not be able to continuously receive packets. For example, a packet with a sequence number such as sequence numbers “0”, “2”, and “4” may be received. Since the sequence numbers of the received packets are not consecutive, the maximum sequence number is “0”, and ACK packets cannot be aggregated.
従って、本技術の目的は、一側面として、通信ノード間の通信パスが不確定なネットワークにおいて効率よく到達確認メッセージを送信できるようにするための技術を提供することである。 Therefore, an object of the present technology is to provide a technology for efficiently transmitting an arrival confirmation message in a network in which a communication path between communication nodes is indefinite.
本技術の第1の態様に係る到着確認メッセージ送信方法は、(A)ある送信元ノードから受信されたデータの識別子の集合を、識別子が上記集合に包含されているか否かを確認するためのビット列に写像する処理と、(B)上記集合に含まれる識別子の範囲を規定するデータと上記ビット列とを含む到着確認メッセージを、ある送信元ノード宛に送信する処理とを含む。 An arrival confirmation message transmission method according to the first aspect of the present technology includes (A) a method for confirming whether a set of identifiers of data received from a certain source node is included in the set. A process of mapping to a bit string; and (B) a process of transmitting an arrival confirmation message including data defining the range of identifiers included in the set and the bit string to a certain source node.
本技術の第2の態様に係るデータ削除方法は、(C)ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が上記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信する処理と、(D)ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、到着確認メッセージに含まれる上記データから特定される範囲に含まれる識別子を抽出する処理と、(E)上記ビット列に基づき、抽出された識別子が、上記集合に包含されているか否かを判断する処理と、(F)上記集合に包含されていると判断された識別子及び当該識別子についてのデータを、データ格納部から削除する処理とを含む。 In the data deletion method according to the second aspect of the present technology, (C) data defining a set range of identifiers of data received from a certain transmission source node, and whether or not the identifiers are included in the set. From the data included in the arrival confirmation message, the process of receiving the arrival confirmation message including the bit string for confirmation, and (D) the data storage unit that stores the data about the source node and the identifier of the data. A process of extracting an identifier included in a specified range; (E) a process of determining whether the extracted identifier is included in the set based on the bit string; and (F) an included in the set. And the process of deleting the data about the identifier determined to have been deleted from the data storage unit.
通信ノード間の通信パスが不確定なネットワークにおいて効率よく到達確認メッセージを送信できるようになる。 An arrival confirmation message can be efficiently transmitted in a network in which a communication path between communication nodes is uncertain.
図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までデータパケットが転送されることになる。
FIG. 2 is a diagram illustrating a state of transmission of a data packet (or data message) in DTN. In the example of FIG. 2, data is transmitted from the fixed
また、図3は、DTNにおけるACKパケット(又はACKメッセージ)の伝送の様子を例示する図である。基本的には図2の逆方向に送信元ノード1001宛にACKパケットを送信することになるが、必ずしも同じノードが用いられるわけではない。宛先ノード1007は、以下で詳細に述べるACKパケットを、その際に近隣に存在する移動可能な転送ノード1005に送信する。転送ノード1005は、以下で述べるようにACKパケットに含まれるデータに基づきキャッシュからデータを削除する処理を実行する。さらに転送ノード1005は移動して、固定の転送ノード1003や移動可能な転送ノード1103の付近にやってくる。そうすると、転送ノード1005は、ACKパケットを、転送ノード1003及び1103に送信する。
FIG. 3 is a diagram illustrating a state of transmission of an ACK packet (or ACK message) in DTN. Basically, an ACK packet is transmitted to the
転送ノード1003は、ACKパケットを受信すると、以下で述べるようにACKパケットに含まれるデータに基づきキャッシュからデータを削除する処理を実行する。また、移動可能な転送ノード1102が近づいてくると、転送ノード1003は、ACKパケットを転送ノード1102に転送する。また、転送ノード1103は、ACKパケットを受信した後、移動を開始する。そして、転送ノード1103は、送信元ノード1001に近づいて通信可能な状態になると、ACKパケットを転送する。そうすると、送信元ノード1001も、以下で述べるようにACKパケットに含まれるデータに基づきキャッシュからデータを削除する処理を実行する。
When receiving the ACK packet, the forwarding
このような処理を様々なノード間で実施することで、DTN上でデータ通信が行われるようになる。なお、実施の形態では説明を簡単にするため、送信元ノード、転送ノード、宛先ノードの区別をつけて説明するが、いずれのノードも送信元ノード、転送ノード又は宛先ノードとして機能する。 By performing such processing between various nodes, data communication is performed on the DTN. In the embodiment, for simplification of description, the source node, the forwarding node, and the destination node are distinguished from each other. However, any node functions as the source node, the forwarding node, or the destination node.
なお、本実施の形態は、図4に模式的に示すように、左端の送信元ノードから、シーケンシャルな識別番号「0」乃至「9」のデータパケットを、右端の宛先ノードまで送信したが、宛先ノードでは識別番号「0」「2」及び「4」のデータパケットしか受信できていないような場合に有効である。すなわち、この場合識別番号「0」「2」及び「4」のデータパケットが受信済みであることを表し且ついずれの識別番号についてのデータパケットを受信したのかを確認するためのビット列を付加したACKパケットを、宛先ノードが送信元ノードへ送信する。これによって、ACKパケットの転送経路上の転送ノード及び送信元ノードにおいて、いずれのデータパケットを破棄してもよいのかを確認できるようになる。 In the present embodiment, as schematically shown in FIG. 4, the data packets with sequential identification numbers “0” to “9” are transmitted from the leftmost source node to the rightmost destination node. This is effective when the destination node can receive only the data packets having the identification numbers “0”, “2”, and “4”. That is, in this case, an ACK indicating that a data packet having identification numbers “0”, “2”, and “4” has been received and a bit string for confirming which identification packet has been received is added. The destination node transmits the packet to the source node. This makes it possible to confirm which data packet can be discarded at the transfer node and the transmission source node on the transfer path of the ACK packet.
以下、本実施の形態においてDTNに含まれるノードの構成及び当該ノードが実行する処理について説明する。 Hereinafter, a configuration of a node included in the DTN and a process executed by the node will be described in the present embodiment.
図5は、送信元ノードとして機能するノード100の機能ブロック図を示す。送信元ノード100は、通信インタフェース101と、送信部102と、受信部103と、データ生成部104と、ID生成部105と、データ削除処理部106と、データ格納部107とを有する。
FIG. 5 shows a functional block diagram of the
通信インタフェース101は、例えば無線通信処理を行うモジュールである。データ生成部104は、他のノードに送信すべきデータを生成する。生成されるデータは、例えば、位置センサなどのセンサの出力データや処理のログデータ等である。
The
送信部102は、データ生成部104によって生成された、他のノードに送信すべきデータからパケットを生成して通信インタフェース101を介して送信する。ID生成部105は、例えば送信部102と連携して、宛先ノードの識別子毎に、送信するパケットの識別子(ID)であるシーケンシャルな識別番号を順次生成して、送信部102に出力する。送信部102は、宛先ノードの識別子及び識別番号に対応付けて、送信したデータをデータ格納部107に格納する。なお、データ生成部104が、ID生成部105と連携して、宛先ノードの識別子毎に識別番号を生成させ、データと共にデータ格納部107に格納するようにしても良い。
The
受信部103は、通信インタフェース101を介して他のノードからパケットを受信し、データ格納部107に格納し、以下で述べるようにACKパケットを受信した場合にはデータ削除処理部106に処理を実行させる。データ削除処理部106は、受信部103が受信したACKパケットに含まれるデータを用いて、データ格納部107に格納されているデータのうち削除可能なデータを特定して削除する。
The receiving
また、図6は、転送ノードとして機能するノード200の機能ブロック図を示す。転送ノード200は、通信インタフェース201と、送信部202と、受信部203と、転送処理部204と、データ削除処理部205と、データ格納部206とを有する。
FIG. 6 shows a functional block diagram of the
通信インタフェース201は、例えば無線通信処理を行うモジュールである。送信部202は、転送処理部204からの指示に応じてデータ格納部206に格納されているデータパケットを、他のノードに対して送信する。受信部203は、他のノードからデータパケット及びACKパケットを受信すると、データ格納部206に格納する。データパケットは、宛先ノードの識別子及び識別番号に関連付けてデータ格納部206において管理される。なお、ACKパケットについては転送すれば削除する。
The
転送処理部204は、通信インタフェース201を介して他のノードが近接していることを検出すると、データ格納部206に格納されているデータパケット及びACKパケットを送信部202に送信させる。データ削除処理部205は、受信部203が受信したACKパケットに含まれるデータを用いて、データ格納部206に格納されているデータのうち削除可能なデータを特定して削除する。送信元ノード100におけるデータ削除処理部106と、転送ノード200のデータ削除処理部205とは、同様な処理を実行する。
When the
図7は、宛先ノードとして機能するノード300の機能ブロック図である。宛先ノード300は、通信インタフェース301と、送信部302と、受信部303と、ビット列生成部304と、検証処理部305と、データ格納部306とを有する。
FIG. 7 is a functional block diagram of the
通信インタフェース301は、例えば無線通信処理を行うモジュールである。送信部302は、ACKパケット等を通信インタフェース301を介して送信する。受信部303は、データパケットを通信インタフェース301を介して受信し、データ格納部306に格納する。
The
ビット列生成部304は、送信元ノード毎に、受信したデータパケットの識別番号がビット列生成時に用いられたか否かを確認するためのビット列を生成する。また、検証処理部305は、ビット列生成部304により生成されたビット列の検証処理を実行する。
The bit
次に、図8乃至図17を用いて、宛先ノード300における処理について説明する。宛先ノード300の受信部303は、データパケットの受信を待機しており(図8:ステップS1)、データパケットを受信すると、データパケットのデータ部分をデータ格納部306に格納する(ステップS2)。また、受信部303は、当該データパケットから当該データパケットの送信元ノードの識別子を特定する(ステップS3)。
Next, processing in the
そして、受信部303は、送信元ノードの未処理パケット数のカウンタを1インクリメントすると共に(ステップS5)、データパケットに含まれるデータの識別子を抽出して、データ格納部306に格納する(ステップS6)。データ格納部306には、例えば図9に示すようなデータが送信元ノード毎に格納される。図9の例では、未処理パケット数のカウンタ値と、未処理の識別番号群とが格納されるようになっている。
Then, the
このような処理を、例えばユーザによる終了指示などの理由で処理終了となるまで繰り返す(ステップS7)。 Such a process is repeated until the process ends due to, for example, an end instruction from the user (step S7).
これに対してビット列生成部304、検証処理部305及び送信部302が実行する処理について図10乃至図17を用いて説明する。
In contrast, processing executed by the bit
ビット列生成部304は、データ格納部306にデータが格納されている送信元ノードのうち、例えばラウンドロビン式に1つの送信元ノードを選択する(図10:ステップS11)。そうすると、ビット列生成部304は、選択された送信元ノードについてデータ格納部306に格納されている未処理パケット数のカウンタ値が閾値以上となっているか判断する(ステップS13)。閾値以上の個数のデータパケットを受信してまとめて集約してACKパケットを送信するためである。
The bit
選択された送信元ノードについて未処理パケット数のカウンタ値が閾値以上となっていない場合には、処理はステップS11に戻る。一方、選択された送信元ノードについて未処理パケット数のカウンタ値が閾値以上であれば、ビット列生成部304は、前処理を実行する(ステップS15)。前処理については、図11及び図12を用いて説明する。前処理は、本実施の形態では、後に実行される誤検出検証処理の処理効率を向上させるために実行される。
If the counter value of the number of unprocessed packets is not equal to or greater than the threshold for the selected transmission source node, the process returns to step S11. On the other hand, if the counter value of the number of unprocessed packets for the selected transmission source node is greater than or equal to the threshold value, the bit
まず、ビット列生成部304は、データ格納部306に格納されている未処理パケットの識別番号を集合Sに設定する(図11:ステップS31)。そして、ビット列生成部304は、集合Sに含まれる識別番号の範囲に対する集合Sに含まれる識別番号の数の割合を算出する(ステップS33)。集合Sに、識別番号{1,3,5,9,11}が含まれる場合、識別番号の範囲は10(=11−1)であり、集合Sに含まれる識別番号の数は5であるから、割合は50%(=5/10)となる。
First, the bit
そして、ビット列生成部304は、算出された割合が閾値を超えているか判断する(ステップS35)。閾値は例えば50%以上の所定の数値である。後に実行される誤検出検証処理では、(100%−算出された割合)の数の識別番号について誤検出するか否かを検証するので、集合Sに含まれる識別番号の範囲に含まれる識別番号の過半数が誤検出検証処理の処理対象となるのは非効率だからである。
Then, the bit
算出された割合が閾値を超えていない場合には、ビット列生成部304は、集合Sから、識別番号最大値を除外する(ステップS37)。そして処理はステップS33に戻る。
When the calculated ratio does not exceed the threshold value, the bit
一方、算出された割合が閾値を超えている場合には、ビット列生成部304は、集合Sに含まれる識別番号を、ビット列生成対象の識別番号に設定する(ステップS39)。そして、呼出元の処理に戻る。
On the other hand, when the calculated ratio exceeds the threshold value, the bit
この前処理は、例えば図12に示すような処理に変更してもよい。ビット列生成部304は、データ格納部306に格納されている未処理パケットの識別番号を集合に設定する(ステップS41)。そして、ビット列生成部304は、未処理の集合を1つ選択する(ステップS43)。
This pre-processing may be changed to the processing shown in FIG. 12, for example. The bit
その後、ビット列生成部304は、選択された集合に含まれる識別番号の範囲に対する、選択された集合に含まれる識別番号の数を算出する(ステップS45)。演算内容はステップS33と同様である。
After that, the bit
そして、ビット列生成部304は、算出された割合が閾値を超えたか判断する(ステップS47)。算出された割合が閾値を超えていない場合には、ビット列生成部304は、選択された集合に含まれる識別番号間の間隔が最大となる部分で、選択された集合を分割する(ステップS49)。そして処理はステップS43に戻る。なお、分割によって生成された集合のうち、あまりに包含される識別番号の数が少ない集合については、処理対象から外すようにしてもよい。
Then, the bit
一方、算出された割合が閾値を超えている場合には、ビット列生成部304は、選択された集合に含まれる識別番号を、ビット列生成対象に設定する(ステップS51)。そして、ビット列生成部304は、未処理の集合が存在するか判断する(ステップS53)。未処理の集合が存在する場合には、処理はステップS43に戻る。一方、未処理の集合が存在しない場合には、処理は呼出元の処理に戻る。
On the other hand, when the calculated ratio exceeds the threshold, the bit
本前処理によれば、ビット列生成対象の識別番号の集合が複数存在するので、以下の処理は、集合毎に実行することになる。 According to this pre-processing, there are a plurality of sets of identification numbers to be subjected to bit string generation, and therefore the following processing is executed for each set.
図10の処理の説明に戻って、ビット列生成部304は、任意の識別番号が、ビット列生成対象の集合に包含されているか否かを確認するためのビット列を生成する(ステップS17)。本実施の形態では、ビット列として確率的データ構造、具体的にはブルームフィルタ(Bloom Filter)を採用する。
Returning to the description of the processing in FIG. 10, the bit
ブルームフィルタは、よく知られているが、図13及び図14を用いて簡単に説明しておく。ブルームフィルタを生成するためには、図13に示すように、k個のハッシュ関数を用意し、識別番号をそれぞれに入力してハッシュ値を取得する。図13の例では、ハッシュ関数1からはハッシュ値「8」が生成され、ハッシュ関数2からはハッシュ値「1」が生成され、ハッシュ関数kからはハッシュ値「11」が生成されたものとする。そうすると、mビット配列において、ハッシュ値の位置のビットを「1」にセットする。図13の例では、「8」ビット目、「1」ビット目、「11」ビット目を「1」にセットする。このようにして生成されたビット列がブルームフィルタである。k個のハッシュ関数は、DTNにおいて共通である。
Bloom filters are well known, but will be briefly described with reference to FIGS. In order to generate a Bloom filter, as shown in FIG. 13, k hash functions are prepared, and an identification number is input to each to obtain a hash value. In the example of FIG. 13, the hash value “8” is generated from the
さらに、図14に示すように、ビット列生成対象の集合に含まれる他の識別番号についても、k個のハッシュ関数にそれぞれ入力してハッシュ値を取得する。図14の例では、ハッシュ関数1からハッシュ値「0」が生成され、ハッシュ関数2からハッシュ値「1」が生成され、ハッシュ関数kからハッシュ値「8」が生成されたものとする。そうすると、図13で生成されたブルームフィルタのmビット配列において、ハッシュ値の位置のビットを「1」にセットする。図14の例では、「0」ビット目、「1」ビット目、「8」ビット目に「1」をセットする。但し、「1」及び「8」ビット目は既に「1」がセットされているので変更はない。このように、複数の識別番号についてのビット操作を、重ねて同じmビット配列に対して実施することになる。
Further, as shown in FIG. 14, other identification numbers included in the set of bit string generation targets are also input to k hash functions, respectively, to obtain hash values. In the example of FIG. 14, it is assumed that the hash value “0” is generated from the
図10の処理の説明に戻って、このようにビット列生成部304により生成されたビット列は検証処理部305に出力されて、検証処理部305は、誤検出検証処理を実行する(ステップS19)。誤検出検証処理については、図15及び図16を用いて説明する。
Returning to the description of the processing in FIG. 10, the bit string generated by the bit
検証処理部305は、ビット列生成に用いられた識別番号の範囲に含まれ且つビット列生成に用いられなかった特定識別番号のうち未処理の識別番号を1つ特定する(図15:ステップS61)。識別番号{1,3,5,9,11}がビット列生成に用いられた場合には、識別番号1乃至11の範囲において{2,4,6,7,8,10}が特定識別番号となる。
The
そして、検証処理部305は、ブルームフィルタの誤検出の有無を判定する(ステップS63)。ブルームフィルタは、その性質から誤検出が発生しうることが知られており、この誤検出を許容してしまうと、再送すべきデータパケットが、通信経路上の転送ノード及び送信元ノードにおいて削除されてしまう。そこで、誤検出が発生するか否かをここで検証しておく。
And the
例えば図16に示すように、特定識別番号を、ブルームフィルタ生成時と同じk個のハッシュ関数に入力してハッシュ値を取得する。ハッシュ値が示すビット位置の値が全て「1」であれば、特定識別番号はブルームフィルタ生成時の集合に含まれていたことになるので、誤検出と判断される。図16の例では、ハッシュ関数1のハッシュ値が「3」であり、ハッシュ関数2のハッシュ値が「10」であり、ハッシュ関数kのハッシュ値が「4」であり、これらのビット位置のビット値は、全て「1」となっているので、誤検出と判断される。一方、ハッシュ値が示すビット位置の値が1つでも「0」となっている場合には、誤検出無しと判断される。
For example, as shown in FIG. 16, the specific identification number is input to the same k hash functions as when the Bloom filter is generated, and the hash value is acquired. If the values of the bit positions indicated by the hash values are all “1”, the specific identification number is included in the set at the time of generating the Bloom filter, so it is determined that it is a false detection. In the example of FIG. 16, the hash value of the
ステップS63の結果として誤検出ありとされた場合には(ステップS65:Yesルート)、ビット列生成部304に誤検出ありを出力する(ステップS67)。そして、処理は呼出元の処理に戻る。一方、ステップS63の結果として誤検出無しとされた場合には(ステップS65:Noルート)、検証処理部305は、特定識別番号に未処理の識別番号が存在するか判断する(ステップS69)。未処理の識別番号が存在する場合には、処理はステップS61に戻る。一方、未処理の識別番号が存在しない場合には、生成されたブルームフィルタについて誤検出無しということになるので、検証処理部305は、ビット列生成部304に、誤検出無しを出力する(ステップS71)。そして処理を終了する。
When it is determined that there is an erroneous detection as a result of step S63 (step S65: Yes route), an erroneous detection is output to the bit string generation unit 304 (step S67). Then, the process returns to the caller process. On the other hand, if no false detection is detected as a result of step S63 (step S65: No route), the
このような処理を実行することで、生成されたビット列、すなわちブルームフィルタをそのまま使用できるか否かが判定される。 By executing such processing, it is determined whether or not the generated bit string, that is, the Bloom filter can be used as it is.
図10の処理の説明に戻って、ビット列生成部304は、検証処理部305からの出力に基づき、誤検出があったか否かを判断する(ステップS21)。誤検出が存在していた場合には、ビット列生成部304は、ビット列生成対象の識別番号の調整を実行する(ステップS29)。
Returning to the description of the processing of FIG. 10, the bit
この識別番号の調整については、様々な方法が可能である。但し、どの識別番号をビット列生成対象から外せば誤検出が無くなるのかは直接的には不明なので、(A)ビット列生成対象の識別番号のうち最大の識別番号を削除する方法、(B)ビット列生成対象の識別番号のうち最小の識別番号と最大の識別番号のうち、除外した場合にビット列生成対象の識別番号の範囲が狭くなる識別番号を削除する方法、(C)ビット列生成対象の識別番号の間隔を算出し、最も広い部分から後ろの識別番号を削除する方法などを採用しうる。 Various methods can be used for adjusting the identification number. However, since it is unclear directly which identification number is removed from the bit string generation target, it is unknown (A) a method of deleting the largest identification number among the identification numbers of the bit string generation target, and (B) bit string generation. A method of deleting an identification number whose range of identification numbers of a bit string generation target is narrowed when excluded from among a minimum identification number and a maximum identification number of target identification numbers; For example, a method of calculating the interval and deleting the rear identification number from the widest portion may be employed.
その後処理はステップS17に戻って再度ビット列を生成し直した上で、誤検出検証処理を実施する。 Thereafter, the process returns to step S17 to generate a bit string again, and then performs a false detection verification process.
一方、誤検出がなかった場合には、ビット列生成部304は、生成したビット列と、ビット列生成対象の識別番号の範囲を規定するデータ(例えば先頭識別番号及び末尾識別番号の組み合わせ。但し、先頭識別番号と末尾識別番号までのオフセット値との組み合わせ)とを含むACKパケットを生成して、送信部302に送信させる(ステップS23)。
On the other hand, if there is no false detection, the bit
例えば図17に示すようなACKパケットのデータ構成例を示す。図17の例では、パケットタイプとして到達確認(ACK)が指定されており、送信元ノードの識別子と、先頭識別番号と、末尾識別番号と、ビット列であるブルームフィルタとが含まれている。 For example, a data configuration example of an ACK packet as shown in FIG. 17 is shown. In the example of FIG. 17, arrival confirmation (ACK) is specified as the packet type, and includes an identifier of a transmission source node, a head identification number, a tail identification number, and a Bloom filter that is a bit string.
そして、ビット列生成部304は、処理終了が指示された等の理由で処理終了するか判断する(ステップS25)。処理終了ではない場合には、ビット列生成部304は、処理に係る送信元ノードについてデータ格納部306において、未処理パケット数のカウンタ値を、ビット列生成に用いた識別子の個数分だけ減分し、ビット列生成対象の識別番号を削除する(ステップS27)。そして処理はステップS11に戻る。
Then, the bit
以上のような処理を実行することで、識別番号の誤検出無しを保証した上で多数のデータパケットのACKパケットを集約したACKパケットを1つ生成して送信できるようになる。すなわち、通信効率が向上する。 By executing the processing as described above, it is possible to generate and transmit one ACK packet in which ACK packets of a large number of data packets are aggregated while guaranteeing that there is no erroneous detection of the identification number. That is, communication efficiency is improved.
次に、転送ノード及び送信元ノードにおいてACKパケットを受信した際の処理について図18乃至図20を用いて説明する。なお、送信元ノード及び転送ノードにおいては、図18に示すようなデータを、データ格納部に格納しているものとする。図18の例では、データパケットのデータだけではなく、未処理の識別番号群を、送信元ノード毎(送信元ノードについては自ノード分のみ)に保持しているものとする。なお、ここでは、転送ノード200を一例に説明するが、送信元ノード100についてもデータ削除処理部106が同様の処理を実行することになる。
Next, processing when an ACK packet is received at the forwarding node and the transmission source node will be described with reference to FIGS. In the transmission source node and the forwarding node, it is assumed that data as shown in FIG. 18 is stored in the data storage unit. In the example of FIG. 18, it is assumed that not only the data of the data packet but also an unprocessed identification number group is held for each transmission source node (for the transmission source node only for the own node). Here, the forwarding
まず、転送ノード200のデータ削除処理部205は、受信部203からACKパケットを受信するまで待機する(図19:ステップS81)。ACKパケットを受信すると、データ削除処理部205は、ACKパケットからデータの送信元ノードの識別子、先頭及び末尾識別番号、そしてビット列を抽出する(ステップS83)。
First, the data
また、データ削除処理部205は、抽出された送信元ノードの識別子についてデータ格納部206に格納されている未処理パケットの識別番号を抽出する(ステップS85)。図18に示すようなデータを読み出す。
Further, the data
その後、データ削除処理部205は、抽出された識別番号のうち未処理の識別番号を1つ選択する(ステップS87)。そして、データ削除処理部205は、ACKパケットに含まれるビット列に基づき、選択された識別番号の包含判定を実行する(ステップS89)。ブルームフィルタの場合、k個のハッシュ関数のハッシュ値が示すビット位置の値が全て「1」であれば、ブルームフィルタ生成時の識別番号集合に包含されていたことが確認できる。従って、本ステップでも、k個のハッシュ関数に、選択された識別番号を入力してハッシュ値を取得し、当該ハッシュ値が示すビット位置の値を確認し、全てのビット値が「1」であれば、包含と判定する。そして処理は端子Aを介して図20の処理に移行する。
Thereafter, the data
図20の処理の説明に移行して、データ削除処理部205は、選択された識別番号は包含されていると判定されたか判断する(ステップS91)。包含されていないと判定された場合には、処理はステップS95に移行する。一方、包含されていると判断された場合には、データ削除処理部205は、データ格納部206において、選択された識別番号のパケットのデータを削除する(ステップS93)。到達確認ができた分だけキャッシュの容量を有効活用できるようになる。
Shifting to the description of the processing in FIG. 20, the data
そして、データ削除処理部205は、未処理の識別番号が存在するか判断する(ステップS95)。未処理の識別番号が存在する場合には、端子Bを介してステップS87に戻る。一方、未処理の識別番号が存在しない場合には、処理終了が明示的に指示されるまで、上で述べた処理を繰り返す(ステップS87)。すなわち、処理終了でない場合には端子Cを介してステップS81に戻る。
Then, the data
以上のような処理を実施することで、宛先ノードにデータパケットが到着したことを確認した上で、保持しているデータパケットを破棄できるようになる。これによってキャッシュが有効活用できるようになる。 By performing the processing as described above, it is possible to discard the held data packet after confirming that the data packet has arrived at the destination node. As a result, the cache can be used effectively.
上で述べた実施の形態では、ビット列としてブルームフィルタを用いる例を示した。ブルームフィルタを用いることで、多数のデータパケットを集約できるが、ブルームフィルタの性質から誤検出防止の処理を行うことになる。例えば、ACKパケットに含めることができるビット列のビット長に相当するデータパケットを集約すればよい場合には、ブルームフィルタを用いずとも良い。 In the embodiment described above, an example in which a Bloom filter is used as a bit string has been described. By using the Bloom filter, a large number of data packets can be aggregated. However, due to the nature of the Bloom filter, erroneous detection prevention processing is performed. For example, when data packets corresponding to the bit length of a bit string that can be included in an ACK packet are aggregated, the Bloom filter may not be used.
例えば、ビット長がmビットであれば、最大mデータパケットを集約できる。例えば、先頭識別番号「11」で末尾識別番号「23」であって、ビット列生成対象の識別番号が{11,13,15,17,19,21,23}であれば、各識別番号について先頭識別番号からのオフセット位置に相当するビット位置を「1」にセットした「1010101010101」というビット列を採用するようにしても良い。すなわち、ビット列生成処理は、ビット列生成対象の識別番号から、先頭識別番号からのオフセット位置に相当するビット位置のビット値によってビット列生成対象の集合に包含されているか否かを確認するための所定長のビット列への写像となる。なお、ブルームフィルタを用いる場合においても、ビット列生成対象の識別番号からブルームフィルタに相当するビット列への写像とも言える。 For example, if the bit length is m bits, a maximum of m data packets can be aggregated. For example, if the head identification number is “11”, the tail identification number is “23”, and the identification number of the bit string generation target is {11, 13, 15, 17, 19, 21, 23}, the head for each identification number. A bit string “1010101010101” in which the bit position corresponding to the offset position from the identification number is set to “1” may be adopted. That is, the bit string generation process is performed with a predetermined length for confirming whether or not the bit string generation target identification number is included in the bit string generation target set by the bit value of the bit position corresponding to the offset position from the head identification number. To a bit string of. Even when the Bloom filter is used, it can be said that the bit string generation target identification number is mapped to the bit string corresponding to the Bloom filter.
この場合には、誤検出検証処理及びビット列生成対象の識別番号を調整する処理については行わずに済む。また、転送ノード及び送信元ノードについても、ビット列におけるビット位置が「1」か否かだけで包含判定ができるので、処理が簡易になる。 In this case, the erroneous detection verification process and the process of adjusting the identification number of the bit string generation target need not be performed. In addition, regarding the forwarding node and the transmission source node, the inclusion determination can be performed only by checking whether the bit position in the bit string is “1”, so that the processing becomes simple.
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図は、プログラムモジュール構成とは一致しない場合もある。データ構造例も一例にすぎず、同様の内容を保持する他のデータ構造を採用しても良い。 Although the embodiment of the present technology has been described above, the present technology is not limited to this. For example, the functional block diagram may not match the program module configuration. The data structure example is merely an example, and other data structures that hold the same contents may be adopted.
さらに、処理フローについても処理結果が変わらない限りにおいて処理ステップの順番を入れ替えたり、処理を並列実行するようにしても良い。 Furthermore, as for the processing flow, as long as the processing result does not change, the order of the processing steps may be changed, or the processing may be executed in parallel.
なお、上で述べた送信元ノード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及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
The
以上述べた本実施の形態をまとめると、以下のようになる。 The above-described embodiment can be summarized as follows.
本実施の形態の第1の態様に係る到着確認メッセージ送信方法は、(A)ある送信元ノードから受信されたデータの識別子の集合を、識別子が上記集合に包含されているか否かを確認するためのビット列に写像する処理と、(B)上記集合に含まれる識別子の範囲を規定するデータと上記ビット列とを含む到着確認メッセージを、ある送信元ノード宛に送信する処理とを含む。 In the arrival confirmation message transmission method according to the first aspect of the present embodiment, (A) a set of identifiers of data received from a certain transmission source node is confirmed whether or not the identifiers are included in the set. And (B) a process of transmitting an arrival confirmation message including data defining the range of identifiers included in the set and the bit string to a certain source node.
このようにすれば到着確認メッセージを集約することができ、通信効率を上げることができるようになる。なお、メッセージは、どの階層レベルのメッセージ又はパケットであってもよい。 In this way, arrival confirmation messages can be aggregated, and communication efficiency can be improved. The message may be a message or packet at any hierarchical level.
さらに、上で述べたビット列は、確率的データ構造であってもよい。そして、上で述べた写像する処理が、(a1)ビット列に基づき、上記識別子の範囲に含まれるが上記集合には含まれない識別子が、上記集合に含まれていることになっているか否かを検証する処理と、(a2)上記識別子の範囲に含まれるが上記集合には含まれない識別子が、上記集合に含まれていることになっている場合には、上記集合に含まれる識別子を削減してから上記ビット列を生成し直す処理とを含むようにしても良い。より多くのデータメッセージ又はデータパケットの集約を行うことができるようになる。 Further, the bit string described above may be a stochastic data structure. Whether or not the above-described mapping process includes (a1) an identifier included in the identifier range but not included in the set based on the bit string. (A2) If an identifier included in the identifier range but not included in the set is to be included in the set, the identifier included in the set is And processing for regenerating the bit string after the reduction. More data messages or data packets can be aggregated.
また、上で述べた写像する処理が、(a3)上記検証する処理と上記生成し直す処理とを、上記検証する処理において上記識別子の範囲に含まれるが上記集合には含まれない識別子が上記集合に含まれていると判断されることが無くなるまで繰り返す処理をさらに含むようにしても良い。 In addition, the mapping process described above includes (a3) the verification process and the re-generation process, and identifiers that are included in the identifier range but not included in the set in the verification process. You may make it further include the process repeated until it is determined that it is not included in the set.
また、上で述べた写像する処理は、上記集合に含まれる識別子の範囲に含まれる識別子の数に対する上記集合に含まれる識別子の数の比率が、一定値以上となるように上記集合に含まれる識別子を特定する処理を含むようにしても良い。例えば、集約度合いを一定以上にすることで通信効率を上げ、また上記検証する処理を効率化するためである。 The mapping process described above is included in the set such that the ratio of the number of identifiers included in the set to the number of identifiers included in the range of identifiers included in the set is equal to or greater than a certain value. You may make it include the process which specifies an identifier. For example, this is for increasing the communication efficiency by setting the degree of aggregation to a certain level or more and improving the efficiency of the verification process.
さらに、上で述べた特定する処理が、上記識別子の範囲に含まれる識別子のうち最後の識別子を削除する処理、又は上記識別子の範囲に含まれる識別子の間隔のうち最大の間隔が生じている部分で上記集合を分割する処理を含むようにしてもよい。 Further, the above-described specifying process is a process in which the last identifier among the identifiers included in the identifier range is deleted, or a portion where the maximum interval occurs among the identifier intervals included in the identifier range. The process of dividing the set may be included.
さらに、上で述べた生成し直す処理が、上記識別子の範囲に含まれる識別子のうち最後の識別子を削除する処理、上記識別子の範囲に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と上記識別子の範囲に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、上記識別子の範囲に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理を含むようにしても良い。 Further, the re-generation process described above is a process for deleting the last identifier among the identifiers included in the identifier range, and a new one when the first identifier is deleted among the identifiers included in the identifier range. An identifier that generates a narrow range between the first range of identifiers included in the set and the second range of identifiers included in the new set when the last identifier is deleted among the identifiers included in the range of the identifiers Or a process of deleting identifiers after the widest interval among identifier intervals included in the identifier range.
本技術の第2の態様に係るデータ削除方法は、(C)ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が上記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信する処理と、(D)ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、到着確認メッセージに含まれる上記データから特定される範囲に含まれる識別子を抽出する処理と、(E)上記ビット列に基づき、抽出された識別子が、上記集合に包含されているか否かを判断する処理と、(F)上記集合に包含されていると判断された識別子及び当該識別子についてのデータを、データ格納部から削除する処理とを含む。 In the data deletion method according to the second aspect of the present technology, (C) data defining a set range of identifiers of data received from a certain transmission source node, and whether or not the identifiers are included in the set. From the data included in the arrival confirmation message, the process of receiving the arrival confirmation message including the bit string for confirmation, and (D) the data storage unit that stores the data about the source node and the identifier of the data. A process of extracting an identifier included in a specified range; (E) a process of determining whether the extracted identifier is included in the set based on the bit string; and (F) an included in the set. And the process of deleting the data about the identifier determined to have been deleted from the data storage unit.
このようにすればデータ格納部の容量を有効活用することができるようになる。 In this way, the capacity of the data storage unit can be used effectively.
なお、上記処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。 A program for causing a computer to perform the above-described processing can be created. The program is, for example, a computer-readable storage medium or storage device such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. Stored in The intermediate processing result is temporarily stored in a storage device such as a main memory.
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following supplementary notes are further disclosed with respect to the embodiments including the above examples.
(付記1)
ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータに実行させるためのプログラム。
(Appendix 1)
A set of identifiers of data received from a source node is mapped to a bit string for confirming whether the identifier is included in the set;
A program for causing a computer to execute processing for transmitting an arrival confirmation message including data defining a range of identifiers included in the set and the bit string to the certain transmission source node.
(付記2)
前記ビット列が、確率的データ構造であり、
前記写像する処理が、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
を含む付記1記載のプログラム。
(Appendix 2)
The bit sequence is a stochastic data structure;
The process of mapping is
A process for verifying whether an identifier that is included in the identifier range but not included in the set is to be included in the set based on the bit string;
If an identifier included in the identifier range but not included in the set is to be included in the set, the identifier included in the set is reduced and the bit string is generated. Process to fix,
The program according to
(付記3)
前記写像する処理が、
前記検証する処理と前記生成し直す処理とを、前記検証する処理において前記識別子の範囲に含まれるが前記集合には含まれない識別子が前記集合に含まれていると判断されることが無くなるまで繰り返す処理
をさらに含む付記2記載のプログラム。
(Appendix 3)
The process of mapping is
The verification process and the re-generation process until it is determined that an identifier included in the identifier range but not included in the set is included in the set in the verification process. The program according to
(付記4)
前記写像する処理は、
前記集合に含まれる識別子の範囲に含まれる識別子の数に対する前記集合に含まれる識別子の数の比率が、一定値以上となるように前記集合に含まれる識別子を特定する処理
を含む付記1乃至3のいずれか1つ記載のプログラム。
(Appendix 4)
The process of mapping is
(付記5)
前記特定する処理が、
前記識別子の範囲に含まれる識別子のうち最後の識別子を削除する処理、又は前記識別子の範囲に含まれる識別子の間隔のうち最大の間隔が生じている部分で前記集合を分割する処理
を含む付記4記載のプログラム。
(Appendix 5)
The identifying process is
(付記6)
前記生成し直す処理が、
前記識別子の範囲に含まれる識別子のうち最後の識別子を削除する処理、前記識別子の範囲に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と前記識別子の範囲に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、前記識別子の範囲に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理
を含む付記2記載のプログラム。
(Appendix 6)
The regenerating process is
A process of deleting the last identifier among the identifiers included in the identifier range, a first range of identifiers included in a new set when the first identifier is deleted among the identifiers included in the identifier range; and A process of deleting an identifier that causes a narrow range from the second range of identifiers included in the new set when the last identifier is deleted among the identifiers included in the range of identifiers, or in the range of the identifiers The program according to
(付記7)
ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が前記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信し、
前記ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、前記到着確認メッセージに含まれる前記データから特定される範囲に含まれる識別子を抽出し、
前記ビット列に基づき、抽出された前記識別子が、前記集合に包含されているか否かを判断し、
前記集合に包含されていると判断された識別子及び当該識別子についてのデータを、前記データ格納部から削除する
処理を、コンピュータに実行させるためのプログラム。
(Appendix 7)
Receiving an arrival confirmation message including data defining a range of a set of identifiers of data received from a source node, and a bit string for confirming whether or not the identifier is included in the set;
From the data storage unit that stores the data about the certain source node and the identifier of the data, the identifier included in the range specified from the data included in the arrival confirmation message,
Based on the bit string, determine whether the extracted identifier is included in the set;
A program for causing a computer to execute processing for deleting an identifier determined to be included in the set and data about the identifier from the data storage unit.
(付記8)
ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像し、
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータが実行する到着確認メッセージ送信方法。
(Appendix 8)
A set of identifiers of data received from a source node is mapped to a bit string for confirming whether the identifier is included in the set;
An arrival confirmation message transmission method in which a computer executes a process of transmitting an arrival confirmation message including data defining a range of identifiers included in the set and the bit string to the certain source node.
(付記9)
ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が前記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信し、
前記ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、前記到着確認メッセージに含まれる前記データから特定される範囲に含まれる識別子を抽出し、
前記ビット列に基づき、抽出された前記識別子が、前記集合に包含されているか否かを判断し、
前記集合に包含されていると判断された識別子及び当該識別子についてのデータを、前記データ格納部から削除する
処理を、コンピュータが実行するデータ削除方法。
(Appendix 9)
Receiving an arrival confirmation message including data defining a range of a set of identifiers of data received from a source node, and a bit string for confirming whether or not the identifier is included in the set;
From the data storage unit that stores the data about the certain source node and the identifier of the data, the identifier included in the range specified from the data included in the arrival confirmation message,
Based on the bit string, determine whether the extracted identifier is included in the set;
A data deletion method in which a computer executes a process of deleting an identifier determined to be included in the set and data about the identifier from the data storage unit.
(付記10)
ある送信元ノードから受信されたデータの識別子の集合を、識別子が前記集合に包含されているか否かを確認するためのビット列に写像するビット列生成部と、
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する送信部と、
を有する情報処理装置。
(Appendix 10)
A bit string generation unit that maps a set of identifiers of data received from a source node to a bit string for confirming whether or not the identifiers are included in the set;
A transmission unit for transmitting an arrival confirmation message including data defining the range of identifiers included in the set and the bit string to the certain source node;
An information processing apparatus.
(付記11)
ある送信元ノードから受信されたデータの識別子の集合の範囲を規定するデータと、識別子が前記集合に包含されているか否かを確認するためのビット列とを含む到着確認メッセージを受信する受信部と、
前記ある送信元ノードについてのデータ及び当該データの識別子とを格納するデータ格納部から、前記到着確認メッセージに含まれる前記データから特定される範囲に含まれる識別子を抽出し、前記ビット列に基づき、抽出された前記識別子が、前記集合に包含されているか否かを判断し、前記集合に包含されていると判断された識別子及び当該識別子についてのデータを、前記データ格納部から削除する削除部と、
を有する情報処理装置。
(Appendix 11)
A receiver for receiving an arrival confirmation message including data defining a range of a set of identifiers of data received from a source node and a bit string for confirming whether or not the identifier is included in the set; ,
An identifier included in a range specified from the data included in the arrival confirmation message is extracted from a data storage unit that stores data about the certain source node and an identifier of the data, and is extracted based on the bit string Determining whether or not the identifier is included in the set, and deleting the identifier determined to be included in the set and the data about the identifier from the data storage unit;
An information processing apparatus.
100 送信元ノード
101 通信インタフェース
102 送信部
103 受信部
104 データ生成部
105 ID生成部
106 データ削除処理部
107 データ格納部
200 転送ノード
201 通信インタフェース
202 送信部
203 受信部
204 転送処理部
205 データ削除処理部
206 データ格納部
300 宛先ノード
301 通信インタフェース
302 送信部
303 受信部
304 ビット列生成部
305 検証処理部
306 データ格納部
100
Claims (11)
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータに実行させるためのプログラムであって、
前記ビット列が、確率的データ構造であり、
前記写像する処理が、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
を含むプログラム。 A set of identifiers of data received from a source node is mapped to a bit string for confirming whether the identifier is included in the set;
A program for causing a computer to execute a process of transmitting an arrival confirmation message including data specifying a range of identifiers included in the set and the bit string to the certain source node,
The bit sequence is a stochastic data structure;
The process of mapping is
A process for verifying whether an identifier that is included in the identifier range but not included in the set is to be included in the set based on the bit string;
If an identifier included in the identifier range but not included in the set is to be included in the set, the identifier included in the set is reduced and the bit string is generated. Process to fix,
Including programs.
前記検証する処理と前記生成し直す処理とを、前記検証する処理において前記識別子の範囲に含まれるが前記集合には含まれない識別子が前記集合に含まれていると判断されることが無くなるまで繰り返す処理
をさらに含む請求項1記載のプログラム。 The process of mapping is
The verification process and the re-generation process until it is determined that an identifier included in the identifier range but not included in the set is included in the set in the verification process. The program according to claim 1, further comprising: repetitive processing.
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータに実行させるためのプログラムであって、
前記ビット列が、確率的データ構造であり、
前記写像する処理は、
前記集合に含まれる識別子の範囲に含まれる識別子の数に対する前記集合に含まれる識別子の数の比率が、一定値以上となるように前記集合に含まれる識別子を特定する処理と、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と
を含むプログラム。 A set of identifiers of data received from a source node is mapped to a bit string for confirming whether the identifier is included in the set;
A program for causing a computer to execute a process of transmitting an arrival confirmation message including data specifying a range of identifiers included in the set and the bit string to the certain source node,
The bit sequence is a stochastic data structure;
The process of mapping is
A process of specifying an identifier included in the set such that a ratio of the number of identifiers included in the set to a number of identifiers included in a range of identifiers included in the set is a certain value or more ;
A program for verifying whether or not an identifier included in the identifier range but not included in the set is to be included in the set based on the bit string .
前記集合に含まれる識別子のうち最後の識別子を削除する処理、又は前記集合に含まれる識別子の間隔のうち最大の間隔が生じている部分で前記集合を分割する処理
を含む請求項3記載のプログラム。 The identifying process is
Process of removing the last identifier of the identifier included in the aggregate, or claim 3, wherein the program including a process of dividing the set in a portion where the maximum interval occurs within interval identifier included in the set .
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータに実行させるためのプログラムであって、
前記ビット列が、確率的データ構造であり、
前記写像する処理が、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
を含み、
前記生成し直す処理が、
前記集合に含まれる識別子のうち最後の識別子を削除する処理、前記集合に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と前記集合に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、前記集合に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理
を含むプログラム。 A set of identifiers of data received from a source node is mapped to a bit string for confirming whether the identifier is included in the set;
A program for causing a computer to execute a process of transmitting an arrival confirmation message including data specifying a range of identifiers included in the set and the bit string to the certain source node,
The bit sequence is a stochastic data structure;
The process of mapping is
A process for verifying whether an identifier that is included in the identifier range but not included in the set is to be included in the set based on the bit string;
If an identifier included in the identifier range but not included in the set is to be included in the set, the identifier included in the set is reduced and the bit string is generated. Process to fix,
Including
The regenerating process is
Included in the last process of deleting the identifier, the set with the first range of identifiers contained in the new set in the case where removing the leading identifier of the identifier included in the set of identifiers included in the set A process of deleting an identifier that causes a narrow range from the second range of identifiers included in the new set when the last identifier is deleted, or the most of the intervals of identifiers included in the set A program that includes processing to delete identifiers after a wide interval.
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータが実行する到着確認メッセージ送信方法であって、
前記ビット列が、確率的データ構造であり、
前記写像する処理が、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
を含む到着確認メッセージ送信方法。 A set of identifiers of data received from a source node is mapped to a bit string for confirming whether the identifier is included in the set;
An arrival confirmation message transmitting method in which a computer executes a process of transmitting an arrival confirmation message including data defining the range of identifiers included in the set and the bit string to the certain source node,
The bit sequence is a stochastic data structure;
The process of mapping is
A process for verifying whether an identifier that is included in the identifier range but not included in the set is to be included in the set based on the bit string;
If an identifier included in the identifier range but not included in the set is to be included in the set, the identifier included in the set is reduced and the bit string is generated. Process to fix,
Including an arrival confirmation message sending method.
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータが実行する到着確認メッセージ送信方法であって、
前記ビット列が、確率的データ構造であり、
前記写像する処理は、
前記集合に含まれる識別子の範囲に含まれる識別子の数に対する前記集合に含まれる識別子の数の比率が、一定値以上となるように前記集合に含まれる識別子を特定する処理と、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と
を含む到着確認メッセージ送信方法。 A set of identifiers of data received from a source node is mapped to a bit string for confirming whether the identifier is included in the set;
An arrival confirmation message transmitting method in which a computer executes a process of transmitting an arrival confirmation message including data defining the range of identifiers included in the set and the bit string to the certain source node,
The bit sequence is a stochastic data structure;
The process of mapping is
A process of specifying an identifier included in the set such that a ratio of the number of identifiers included in the set to a number of identifiers included in a range of identifiers included in the set is a certain value or more ;
An arrival confirmation message transmission method comprising: verifying whether an identifier included in the identifier range but not included in the set is to be included in the set based on the bit string .
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する
処理を、コンピュータが実行する到着確認メッセージ送信方法であって、
前記ビット列が、確率的データ構造であり、
前記写像する処理が、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理と、
を含み、
前記生成し直す処理が、
前記集合に含まれる識別子のうち最後の識別子を削除する処理、前記集合に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と前記集合に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、前記集合に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理
を含む到着確認メッセージ送信方法。 A set of identifiers of data received from a source node is mapped to a bit string for confirming whether the identifier is included in the set;
An arrival confirmation message transmitting method in which a computer executes a process of transmitting an arrival confirmation message including data defining the range of identifiers included in the set and the bit string to the certain source node,
The bit sequence is a stochastic data structure;
The process of mapping is
A process for verifying whether an identifier that is included in the identifier range but not included in the set is to be included in the set based on the bit string;
If an identifier included in the identifier range but not included in the set is to be included in the set, the identifier included in the set is reduced and the bit string is generated. Process to fix,
Including
The regenerating process is
Included at the end of process of deleting the identifiers, said it sets a first range of identifiers contained in the new set in the case where removing the leading identifier of the identifier included in the set of identifiers included in the set A process of deleting an identifier that causes a narrow range from the second range of identifiers included in the new set when the last identifier is deleted, or the most of the intervals of identifiers included in the set An arrival confirmation message transmission method that includes processing to delete identifiers after a wide interval.
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する送信部と、
を有する情報処理装置であって、
前記ビット列が、確率的データ構造であり、
前記ビット列生成部が、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証し、
前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す
情報処理装置。 A bit string generation unit that maps a set of identifiers of data received from a source node to a bit string for confirming whether or not the identifiers are included in the set;
A transmission unit for transmitting an arrival confirmation message including data defining the range of identifiers included in the set and the bit string to the certain source node;
An information processing apparatus having
The bit sequence is a stochastic data structure;
The bit string generation unit
Based on the bit string, verify whether or not an identifier that is included in the identifier range but not included in the set is to be included in the set;
If an identifier included in the identifier range but not included in the set is to be included in the set, the identifier included in the set is reduced and the bit string is generated. Fix Information processing device.
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する送信部と、
を有する情報処理装置であって、
前記ビット列が、確率的データ構造であり、
前記ビット列生成部は、
前記集合に含まれる識別子の範囲に含まれる識別子の数に対する前記集合に含まれる識別子の数の比率が、一定値以上となるように前記集合に含まれる識別子を特定し、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する
情報処理装置。 A bit string generation unit that maps a set of identifiers of data received from a source node to a bit string for confirming whether or not the identifiers are included in the set;
A transmission unit for transmitting an arrival confirmation message including data defining the range of identifiers included in the set and the bit string to the certain source node;
An information processing apparatus having
The bit sequence is a stochastic data structure;
The bit string generation unit
Identifying an identifier included in the set such that a ratio of the number of identifiers included in the set to a number of identifiers included in a range of identifiers included in the set is equal to or greater than a certain value ;
An information processing apparatus that verifies whether an identifier that is included in the identifier range but not included in the set is included in the set based on the bit string .
前記集合に含まれる識別子の範囲を規定するデータと前記ビット列とを含む到着確認メッセージを、前記ある送信元ノード宛に送信する送信部と、
を有する情報処理装置であって、
前記ビット列が、確率的データ構造であり、
前記ビット列生成部が、
前記ビット列に基づき、前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっているか否かを検証する処理と、
前記識別子の範囲に含まれるが前記集合には含まれない識別子が、前記集合に含まれていることになっている場合には、前記集合に含まれる識別子を削減してから前記ビット列を生成し直す処理とを実行し、
前記ビット列生成部は、前記生成し直す処理において、
前記集合に含まれる識別子のうち最後の識別子を削除する処理、前記集合に含まれる識別子のうち先頭の識別子を削除した場合における新たな集合に含まれる識別子の第1の範囲と前記集合に含まれる識別子のうち最後の識別子を削除した場合における新たな集合に含まれる識別子の第2の範囲とのうち狭い範囲を生じさせる識別子を削除する処理、又は、前記集合に含まれる識別子の間隔のうち最も広い間隔以降の識別子を削除する処理
を実行する情報処理装置。 A bit string generation unit that maps a set of identifiers of data received from a source node to a bit string for confirming whether or not the identifiers are included in the set;
A transmission unit for transmitting an arrival confirmation message including data defining the range of identifiers included in the set and the bit string to the certain source node;
An information processing apparatus having
The bit sequence is a stochastic data structure;
The bit string generation unit
A process for verifying whether an identifier that is included in the identifier range but not included in the set is to be included in the set based on the bit string;
If an identifier included in the identifier range but not included in the set is to be included in the set, the identifier included in the set is reduced and the bit string is generated. Perform the correction process,
In the re-generation process, the bit string generation unit,
Included in the last process of deleting the identifier, the set with the first range of identifiers contained in the new set in the case where removing the leading identifier of the identifier included in the set of identifiers included in the set A process of deleting an identifier that causes a narrow range from the second range of identifiers included in the new set when the last identifier is deleted, or the most of the intervals of identifiers included in the set An information processing apparatus that executes processing for deleting identifiers after a wide interval.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012203427A JP6135078B2 (en) | 2012-09-14 | 2012-09-14 | Information processing method and information processing apparatus for arrival confirmation message |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012203427A JP6135078B2 (en) | 2012-09-14 | 2012-09-14 | Information processing method and information processing apparatus for arrival confirmation message |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014060533A JP2014060533A (en) | 2014-04-03 |
| JP6135078B2 true JP6135078B2 (en) | 2017-05-31 |
Family
ID=50616640
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012203427A Expired - Fee Related JP6135078B2 (en) | 2012-09-14 | 2012-09-14 | Information processing method and information processing apparatus for arrival confirmation message |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6135078B2 (en) |
Family Cites Families (5)
| 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 (en) * | 1997-12-08 | 1999-07-02 | Mitsubishi Electric Corp | Error control method for wireless data link layer |
| CA2697764A1 (en) * | 2007-09-12 | 2009-03-19 | Steve Chen | 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 (en) * | 2009-03-12 | 2010-09-24 | Nec Corp | Packet loss frequency estimation system, packet loss frequency estimation method, and program |
-
2012
- 2012-09-14 JP JP2012203427A patent/JP6135078B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014060533A (en) | 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 | |
| JP5534481B2 (en) | Communication quality monitoring system, communication quality monitoring method, and storage medium | |
| CN104521192A (en) | Techniques for flooding optimization for link state protocols in a network topology | |
| WO2011016882A1 (en) | Method and system to enable a hybrid routing protocol | |
| JP5163398B2 (en) | Packet identification program, packet identification method, packet identification apparatus, and control program | |
| CN108632940B (en) | Reliable Multipath Routing Algorithm for Photoelectric Sensor Wireless MESH Network | |
| JP5056438B2 (en) | Packet analysis method | |
| CN109525376B (en) | Fast retransmission method and device and terminal equipment | |
| CN117176649A (en) | Message transmission methods and devices, electronic equipment, computer-readable media | |
| CN108881009A (en) | Based on the delay constraint method for routing and device for facing sky Information Network | |
| CN102752799B (en) | Routing method, device and system for delay tolerant network | |
| JP2023515955A (en) | Route update method and device | |
| JP5720340B2 (en) | Control server, communication system, control method and program | |
| KR20150131327A (en) | Network transmission adjustment based on application-provided transmission metadata | |
| CN104869062B (en) | A kind of data packet forwarding method and equipment | |
| CN111629416A (en) | Message transmission method, system, terminal device and computer readable storage medium | |
| JP6135078B2 (en) | Information processing method and information processing apparatus for arrival confirmation message | |
| CN103117955B (en) | Method for message transmission and device, system | |
| JP5287373B2 (en) | Communication device and communication processing method | |
| CN108322402B (en) | Message processing method, device and system | |
| CN115379501B (en) | SPN service transmission method and device and network node | |
| US20180123942A1 (en) | Route control apparatus and route control method | |
| KR101895887B1 (en) | System and method for delivering message based on contact ratio in opportunistic network, recording medium for performing the method | |
| CN118301070B (en) | An efficient cross-layer message forwarding circuit and control method |
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 |