JP7003467B2 - パケット分類プログラム、パケット分類方法およびパケット分類装置 - Google Patents

パケット分類プログラム、パケット分類方法およびパケット分類装置 Download PDF

Info

Publication number
JP7003467B2
JP7003467B2 JP2017138134A JP2017138134A JP7003467B2 JP 7003467 B2 JP7003467 B2 JP 7003467B2 JP 2017138134 A JP2017138134 A JP 2017138134A JP 2017138134 A JP2017138134 A JP 2017138134A JP 7003467 B2 JP7003467 B2 JP 7003467B2
Authority
JP
Japan
Prior art keywords
packet
loss
retransmission
acknowledgment
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017138134A
Other languages
English (en)
Other versions
JP2019022052A (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 JP2017138134A priority Critical patent/JP7003467B2/ja
Priority to US16/030,322 priority patent/US10680756B2/en
Publication of JP2019022052A publication Critical patent/JP2019022052A/ja
Application granted granted Critical
Publication of JP7003467B2 publication Critical patent/JP7003467B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、パケット分類プログラム、パケット分類方法およびパケット分類装置に関する。
従来から、装置間のパケットをキャプチャして応答時間を要素別に分類することで、通信品質を測定し、応答時間のボトルネックを特定するサービスが知られている。例えば、クライアント端末とWebサーバとの間にモニタ装置を設置し、Web画面表示のクリック操作からWeb画面表示までの応答時間を測定する。そして、モニタ装置は、応答時間を、サーバ処理時間とクライアント処理時間、および、転送時間とに分類することで、応答時間のボトルネックを特定する。転送時間は、ネットワーク上でデータを転送するのにかかった時間とパケットロスが発生してから再送パケットが送信されるまでの再送時間を含む。
国際公開第2012/066824号
転送時間がボトルネックだと特定した場合、その原因が再送パケットの送信によるものか否かの判定を行う。再送時間の算出は、ロスしたパケットがキャプチャされた時間と再送パケットがキャプチャされた時間とにより算出できるが、モニタ装置を通過する前にロスしたパケットについては、ロスしたパケットがキャプチャされず再送パケットのみがキャプチャされるので、再送時間を算出することができない。
なお、モニタ装置よりも送信側でパケットをロスした場合、ロスしたパケットがキャプチャされないので、シーケンス番号を利用してロスしたパケットの前後のパケットの到着時間からロスしたパケットの到着時間を想定して算出することも考えられる。しかし、この方法では、アプリケーションデータなどのデータが複数のパケットに分割して送信される場合、ロスしたパケットがデータのどこに位置するかにより再送時間の誤差が大きくなり、信頼性が低い。
一つの側面では、ロスしたパケットの再送時間を算出することができるパケット分類プログラム、パケット分類方法およびパケット分類装置を提供することを目的とする。
実施の形態の一態様では、パケット分類プログラムは、コンピュータに、送信装置が受信装置に送信するデータを分割したパケットと、前記送信装置から前記受信装置に送信されたパケットの前記受信装置による受信を確認したデータ量を特定するACK番号を含むパケットを取得する処理を実行させる。パケット分類プログラムは、コンピュータに、取得したパケットが再送パケット、且つ、再送パケットに対応するロスパケットを取得していない場合に、前記再送パケットに含まれるACK番号とロスしたパケットであるロスパケットの前後のパケットのそれぞれに含まれる各ACK番号とを比較して、前記ロスパケットの位置を、前記データの最終パケット、中間パケット、または先頭パケットのいずれかに分類する処理を実行させる。パケット分類プログラムは、コンピュータに、分類した前記ロスパケットの位置により特定される再送時間の算出方法によって再送時間を算出する処理を実行させる。
一実施形態によれば、ロスしたパケットの再送時間を算出することができる。
図1は、実施例1にかかるシステムの全体構成例を示す図である。 図2は、実施例1にかかるパケットの送信方法を説明する図である。 図3は、再送時間の計測を説明する図である。 図4は、実施例1にかかるパケット解析装置の機能構成を示す機能ブロック図である。 図5は、全体的な処理の流れを示すフローチャートである。 図6は、パケット受信時の処理の流れを示すフローチャートである。 図7は、パケット種別判別処理の流れを示すフローチャートである。 図8は、通常パケット処理の流れを示すフローチャートである。 図9は、ロス検知時処理の流れを示すフローチャートである。 図10は、先頭パケットの到着予想時間の推定処理の流れを示すフローチャートである。 図11は、再送パケット処理の流れを示すフローチャートである。 図12は、分類処理の流れを示すフローチャートである。 図13は、最終パケットの到着予想時間の推定処理の流れを示すフローチャートである。 図14は、パケットロスによる再送遅延の推定を説明する図である。 図15は、ハードウェア構成例を示す図である。
以下に、本願の開示するパケット分類プログラム、パケット分類方法およびパケット分類装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[全体構成]
図1は、実施例1にかかるシステムの全体構成例を示す図である。図1に示すように、実施例1にかかるシステムは、Webサーバ5、クライアント端末6、スイッチ7、パケット解析装置10のそれぞれが各種ネットワークを介して接続されるシステムであり、装置間の通信品質を測定するシステムである。
なお、ここでは、Webサーバ5とクライアント端末6との間の通信品質を測定する例で説明するが、対象となる装置を限定するものではなく、DBサーバやAPサーバなど他の各種装置を対象とすることができる。また、各装置の台数等も図示したものに限定されない。また、ネットワークについても、有線や無線を問わず、インターネットや専用線など各種ネットワークを採用することができる。
Webサーバ5は、クライアント端末6からのリクエストに対してデータを送信するサーバ装置の一例である。例えば、Webサーバ5は、クライアント端末6に対してWeb画面、画像、動画などのデータを送信する。本実施例では、送信側と記載する場合がある。
また、クライアント端末6は、ユーザが利用するコンピュータやスマートフォンなどの一例であり、Webサーバ5に対して、データのリクエストを送信する。本実施例では、受信側と記載する場合がある。
スイッチ7は、Webサーバ5とクライアント端末6との通信経路に設置されるとともに、当該通信経路にパケット解析装置10を接続するスイッチングハブやルータなどの一例である。
パケット解析装置10は、スイッチ7を介して、Webサーバ5とクライアント端末6との間で送受信されるパケットをモニタリングするコンピュータ装置の一例である。例えば、パケット解析装置10は、Web画面表示のクリック操作からWeb画面表示までの応答時間を測定し、応答時間のボトルネックを特定する。
ここで、実施例1では、一例として、Webサーバ5とクライアント端末6との間において、TCP(Transmission Control Protocol)パケットのスライディングウィンドウ制御でパケットが送信される例を想定する。
図2は、実施例1にかかるパケットの送信方法を説明する図である。実施例1では、Webサーバ5は、意味のあるデータの塊を転送可能なサイズに分割して送信する。また、Webサーバ5は、クライアント端末6からの確認応答(ACK)により新たに到着が確認されたデータ量だけパケットを送信する。このようにすることで、Webサーバ5は、パケットを1つずつクライアント端末6に送信するのに比べて、クライアント端末6から複数パケット分のACKを受信してからパケットを送信することで、多数のパケットを一度に連続で送信できる。
例えば、図2に示すように、クライアント端末6は、シーケンシャル番号D0のパケット(ACK番号:0)までを受信すると、1000バイトまで受信したことを示す「ACK番号:1000」を付加したデータ1のリクエストをWebサーバ5に送信する。なお、本実施例では、シーケンシャル番号D0のパケットをパケットD0などと表記する場合がある。
そして、Webサーバ5は、このリクエストを受信すると、ACK番号によって確認された1000バイト分の次のデータ1を複数のパケットに分割してクライアント端末6に送信する。具体的には、Webサーバ5は、シーケンシャル番号D1、D2、D3、D4のそれぞれにACK番号「1000(=ACK番号の0バイト+ACK番号の1000)」を付加して送信する。
その後、クライアント端末6は、シーケンシャル番号D4のパケット(ACK番号:1000)までを受信すると、合計2000バイトまで受信したことを示す「ACK番号:2000(=ACK番号の0+ACK番号の1000)」を付加したデータ2のリクエストをWebサーバ5に送信する。
そして、Webサーバ5は、このリクエストを受信すると、ACK番号によって確認された1000バイト分の次のデータ2を複数のパケットに分割してクライアント端末6に送信する。具体的には、Webサーバ5は、シーケンシャル番号D5、D6、D7、D8のそれぞれにACK番号「3000(=ACK番号の1000+ACK番号の2000)」を付加して送信する。
このようなスライディングウィンドウ制御によるパケットの送受信において、パケット解析装置10は、Webサーバ5とクライアント端末6との間で送受信されるパケットをモニタリングする。具体的には、パケット解析装置10は、モニタリングすることで、Web画面表示のクリック操作からWeb画面表示までの応答時間を測定する。さらに、パケット解析装置10は、応答時間を、サーバ処理時間とクライアント処理時間と転送時間とに分類することで、応答時間のボトルネックを特定する。
ここで、パケット解析装置10は、パケットロスによるパケットの再送が発生した場合は、パケットロスが発生してから再送パケットが送信されるまでの再送時間を推定する。しかし、パケット解析装置10は、パケット解析装置10よりも送信側でパケットロスが発生した場合、再送時間を推定することが難しい。
図3は、再送時間の計測を説明する図である。図3の(a)は、パケット解析装置10よりも受信側でパケットロスが発生した例を示す。図3の(a)に示すように、パケット解析装置10は、パケットD1、パケットD2、パケットD3を受信した後、パケットD2の再送パケットD2´を受信したとする。この場合、パケット解析装置10は、パケットD2を一度受信していることから、パケットD2の受信時間と再送パケットD2´の受信時間との時間差を再送時間として推定することができる。
一方、図3の(b)は、パケット解析装置10よりも送信側でパケットロスが発生した例を示す。図3の(b)に示すように、パケット解析装置10は、パケットD1、パケットD3を受信した後、パケットD2の再送パケットD2´を受信したとする。この場合、パケット解析装置10は、パケットD2を一度も受信していないことから、もともとのパケットD2の受信時間が特定できず、再送時間を推定することができない。具体的には、パケット解析装置10は、パケットD1の受信時間と再送パケットD2´の受信時間との時間差や、パケットD3の受信時間と再送パケットD2´の受信時間との時間差などを再送時間として誤認識することもある。
そこで、実施例1にかかるパケット解析装置10は、Webサーバ5がクライアント端末6に送信するデータを分割した分割データと、Webサーバ5からクライアント端末6に送信されたパケットのクライアント端末6による受信を確認したデータ量を特定するACK番号を含むパケットを取得する。そして、パケット解析装置10は、取得したパケットが再送パケット、且つ、再送パケットに対応するロスパケットを取得していない場合に、再送パケットに含まれるACK番号とロスしたパケットであるロスパケットの前後のパケットのそれぞれに含まれる各ACK番号とを比較する。続いて、パケット解析装置10は、ロスパケットの位置を、データの最終パケット、中間パケット、または先頭パケットのいずれかに分類する。その後、パケット解析装置10は、分類したロスパケットの位置により特定される再送時間の算出方法によって再送時間を算出する。このようにして、パケット解析装置10は、パケットの再送時間を正確に算出することができる。なお、再送時間は、パケットロスから再送パケットの到着までに要した時間であることから、再送遅延時間と記載する場合がある。
[機能構成]
図4は、実施例1にかかるパケット解析装置10の機能構成を示す機能ブロック図である。図4に示すように、パケット解析装置10は、通信部11、記憶部12、制御部20を有する。
通信部11は、パケットを受信する処理部である。具体的には、通信部11は、スイッチ7と接続され、Webサーバ5とクライアント端末6と間で送受信されるパケットを受信する。記憶部12は、解析情報DB13を記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。
解析情報DB13は、パケット解析装置10を通過したパケットに関する情報や通信品質の解析に用いる各種情報を記憶するデータベースである。例えば、解析情報DB13は、到着したパケットのシーケンシャル番号(seq)、ACK番号(pre_ack)、受信時間(pre_time)、パケット長(len)、TCPのプッシュフラグ(PSHフラグ)の有無などを記憶する。
また、解析情報DB13は、次に到着すべき対象のシーケンシャル番号(next_seq)、ロス直前のパケットの到着時間(time_before_loss)、ロス直前のパケットのPSHフラグの有無(psh_before_loss)、ロス直前のパケットのACK番号(ack_after_loss)、ロス直後のパケットの到着時間(time_after_loss)、予め設定されるもしくは測定されるネットワーク帯域(BW)、ロスパケットの再送時間(rtrns_time)、パケットの最大長(max_len)、ロスパケットの推定送信時刻(time_loss)などを記憶する。
制御部20は、パケット解析装置10全体を司る処理部であり、例えばプロセッサなどである。制御部20は、取得部21、検出部22、分類部23、算出部24、品質測定部25を有する。なお、取得部21、検出部22、分類部23、算出部24、品質測定部25は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例などである。
取得部21は、パケット解析装置10に到着したパケットに関する情報を取得する処理部である。例えば、取得部21は、到着したパケットのヘッダ等から、到着時間、シーケンシャル番号、パケット長、ACK番号、PSHフラグの有無などを取得して、解析情報DB13に格納する。
検出部22は、パケットのロスおよび再送パケットの検出を実行する処理部である。具体的には、検出部22は、到着したパケットのシーケンシャル番号を管理することで、パケットロスを検知する。一例を挙げると、検出部22は、パケットD1、パケットD2、パケットD4と到着した場合、パケットD3が未到着であることから、パケットD3のロスを検知する。
また、検出部22は、ロスパケットの再送パケットの検出を実行する。一例を挙げると、検出部22は、到着したパケットのシーケンシャル番号が、現時点で設定されている次に到着すべきパケットのシーケンシャル番号(next_seq)よりも小さい場合、到着したパケットを再送パケットと判定する。同様に、検出部22は、到着したパケットのシーケンシャル番号がシーケンシャル番号(next_seq)と同じ場合、到着したパケットを通常パケットと判定し、到着したパケットのシーケンシャル番号がシーケンシャル番号(next_seq)よりも大きい場合、その差分だけパケットロスが発生したと判定する。
なお、シーケンシャル番号(next_seq)の更新は、一般的な手法を採用することができる。一例を挙げると、検出部22は、到着したパケットが通常パケットの場合は、到着したパケットのシーケンシャル番号を1増加させた値を「next_seq」に設定する。また、検出部22は、到着したパケットが再送パケットの場合もしくはパケットロスを検知した場合は、「next_seq」と一致するパケットが到着するまで変更を抑制する。
分類部23は、再送パケットに対応するロスパケットの位置を、データの最終パケット、中間パケット、または先頭パケットのいずれかに分類する処理部である。具体的には、分類部23は、到着した再送パケットのPSHフラグ、到着した再送パケットに対応するロスパケットのACK番号の増加の有無により、ロスパケットの位置を分類する。
例えば、分類部23は、再送パケットのACK番号と再送パケットのシーケンシャル番号とを特定する。続いて、分類部23は、再送パケットのシーケンシャル番号から、ロスパケットの前後のパケットを特定し、ロスパケットの前後のパケットのACK番号も特定する。
ここで、PSHフラグを用いる通信形式の例にして説明する。分類部23は、再送パケットに対応するロス直前の到着済みパケットにPSHフラグが付加されている場合、ロスパケットをデータの先頭パケットに分類する。また、分類部23は、再送パケットにPSHフラグが付加されている場合、ロスパケットをデータの最終パケットに分類する。なお、分類部23は、ロスパケットの前後のパケットのACK番号から、ロスパケットが属するデータを特定する。また、分類部23は、ロス直前のパケットおよび再送パケットにPSHフラグが付加されていない場合、ロス直後のパケットのACK番号がロス直前のパケットのACK番号よりも増加していると、ロスパケットを先頭パケットに分類し、ロス直後のパケットのACK番号がロス直前のパケットのACK番号よりも増加しておらず同じであれば、ロスパケットを中間パケットに分類する。
また、分類部23は、PSHフラグを用いない通信形式の場合や、PSHフラグを用いる通信形式であっても再送パケットにPSHフラグが付加されていない場合は、ACK番号の比較やACK番号の増加状況に応じて、ロスパケットの位置を分類することができる。例えば、分類部23は、ロスパケットのACK番号(再送パケットのACK番号)とロス直前のパケットのACK番号とが一致し、ロス直後のパケットのACK番号がロスパケットのACK番号よりも増加している場合、ロスパケットを最終パケットに分類する。
また、分類部23は、ロスパケットのACK番号(再送パケットのACK番号)がロス直前のパケットのACK番号よりも増加しており、ロス直後のパケットのACK番号とロスパケットのACK番号とが一致する場合、ロスパケットを先頭パケットに分類する。また、分類部23は、ロスパケットのACK番号(再送パケットのACK番号)とロス直前のパケットのACK番号とロス直後のパケットのACK番号とが一致する場合、ロスパケットを中間パケットに分類する。
図2の例を用いて具体例を説明する。ここでは、パケットD5がロスして、PSHフラグを含まないパケットD5の再送パケットD5´がパケットD8の次に受信された例で説明する。例えば、再送パケットD5´のACK番号が1000であり、ロスパケットの直前のパケットD4のACK番号(1000)と一致し、ロスパケット直後のパケットD6のACK番号(3000)よりも小さい場合、分類部23は、ロスパケットの位置を最終パケットに分類する。このとき、分類部23は、再送パケットD5´のACK番号と一致するACK番号を有するパケットD4がデータ1に属することから、ロスパケットの位置をデータ1の最終パケットに分類する。
また、再送パケットD5´のACK番号が3000であり、ロスパケットの直前のパケットD4のACK番号(1000)よりも大きく、ロスパケット直後のパケットD6のACK番号(3000)と一致する場合、分類部23は、ロスパケットの位置を先頭パケットに分類する。このとき、分類部23は、再送パケットD5´のACK番号と一致するACK番号を有するパケットD6がデータ2に属することから、ロスパケットの位置をデータ2の先頭パケットに分類する。
また、再送パケットD5´のACK番号が3000であり、ロスパケットの直前のパケットD4のACK番号も、ロスパケット直後のパケットD6のACK番号も3000である場合、分類部23は、ロスパケットの位置を中間パケットに分類する。このとき、分類部23は、再送パケットD5´の前後のパケットが属するデータの中間パケットに分類する。
算出部24は、ロスパケットの位置に応じた算出手法を用いて、再送時間を算出する処理部である。具体的には、算出部24は、ロスパケットが先頭パケットの場合、ネットワーク帯域を用いた算出式(式1-1)によって、ロスパケットが正常に受信されていた時の到着予想時間と、ロスパケットの連続数を用いた算出式(式1-2)によって、到着予想時間とを算出する。そして、算出部24は、値が大きい方(時間が遅い方)の到着予想時間(T)を選択し、「再送パケットの到着時間(T´)-到着予想時間(T)」によって、再送時間の推定値すなわち再送されるまでに遅延した再送遅延時間の推定値(ΔT)を算出する。
Figure 0007003467000001
また、算出部24は、ロスパケットが中間パケットの場合、ロスパケットの連続数を用いた算出式(式2)によって、到着予想時間を算出する。そして、算出部24は、「再送パケットの到着時間(T´)-到着予想時間(T)」によって、再送遅延時間の推定値(ΔT)を算出する。
Figure 0007003467000002
また、算出部24は、ロスパケットが最終パケットの場合、ネットワーク帯域を用いた算出式(式3-1)によって到着予想時間と、ロスパケットの連続数を用いた算出式(式3-2)によって到着予想時間とを算出する。そして、算出部24は、値が小さい方(時間が早い方)の到着予想時間(T)を選択し、「再送パケットの到着時間(T´)-到着予想時間(T)」によって、再送遅延時間の推定値(ΔT)を算出する。
Figure 0007003467000003
なお、数1から数3におけるtは、i番目のパケットの到着時間であり、実際に到着した時間(実測値)である。Tは、i番目のパケット(ロスしたパケット)の到着予想時間であり、各式により算出される。また、Sは、i番目のパケットのサイズであり、実際に到着したパケットのパケット長である。BWは、ネットワーク帯域であり、管理者等によって予め設定することもでき、公知の技術を用いて測定することもできる。Nlossは、連続してロスしたパケット数であり、検出部22により計数できる。T´は、i番目のパケット(再送パケット)の到着時間の実測値である。ΔTは、再送遅延時間の推定値である。
品質測定部25は、Webサーバ5とクライアント端末6との間の通信品質を測定する処理部である。具体的には、品質測定部25は、Web画面表示のクリック操作からWeb画面表示までの応答時間を測定する。そして、品質測定部25は、応答時間を、サーバ処理時間とクライアント処理時間と転送時間とに分類することで、応答時間のボトルネックを特定する。
サーバ処理時間は、クライアント端末6とWebサーバ5との間のセッションの確立時や切断時にかかった時間であり、公知の手法による測定できる。クライアント処理時間は、Webサーバ5の処理時間やクライアントの操作の待ち時間であり、公知の手法による測定できる。転送時間は、公知の手法による測定できるエンド-エンド間の往復遅延時間およびネットワーク上でデータを転送するのにかかった時間と、算出部24によって算出された、パケットロスが発生してから再送パケットが送信されるまでの時間(再送遅延時間の推定値)との合計である。
[処理の流れ]
次に、パケット解析装置10が実行する各処理について説明する。ここでは、再送遅延時間の推定に関する全体的な流れを説明した後、各処理について説明する。なお、応答時間の測定に関する他の測定項目は、一般的な手法により測定することができるので、詳細な説明は省略する。また、ここでは、一例としてPSHフラグを使用する通信を例にして説明する。
(全体的な流れ)
図5は、全体的な処理の流れを示すフローチャートである。図5に示すように、パケット解析装置10は、パケットロスの検知および再送パケットの検知を行うと(S101:Yes)、ロス直前の到着済みパケットのPSHフラグを確認する(S102)。
続いて、パケット解析装置10は、ロス直前の到着済みパケットにPSHフラグが付加されている場合(S102:Yes)、ロスパケットを先頭パケットに分類する(S103)。
一方、パケット解析装置10は、ロス直前の到着済みパケットにPSHフラグが付加されていない場合(S102:No)、再送パケットにPSHフラグが付加されているか否かを判定する(S104)。
そして、パケット解析装置10は、再送パケットにPSHフラグが付加されている場合(S104:Yes)、ロスパケットを最終パケットに分類する(S105)。
一方、パケット解析装置10は、再送パケットにPSHフラグが付加されていない場合(S104:No)、ロス直後の到着済みパケットのACK番号が増加しているか否かを判定する(S106)。
そして、パケット解析装置10は、ロス直後の到着済みパケットのACK番号が増加している場合(S106:Yes)、ロスパケットを先頭パケットに分類する(S103)。一方、パケット解析装置10は、ロス直後の到着済みパケットのACK番号が増加していない場合(S106:No)、ロスパケットを中間パケットに分類する(S107)。
その後、パケット解析装置10は、各分類結果に応じた算出式を用いて、再送遅延時間の推定を実行する(S108)。
(パケット受信時の処理)
図6は、パケット受信時の処理の流れを示すフローチャートである。図6に示すように、取得部21によってパケットの到着を検知すると(S201:Yes)、検出部22は、パケット種別判別処理を実行して、到着したパケットの種別を特定する(S202)。
そして、検出部22は、種別をノーマルと特定する(S203:Yes)、通常パケット処理を実行する(S204)。また、検出部22は、種別をノーマルではなく(S203:No)、ロスと特定した場合(S205:Yes)、ロス検知時処理を実行する(S206)。一方、検出部22は、種別をロスでもないと特定した場合(S205:No)、再送パケット処理を実行する(S207)。
(パケット種別判別処理)
図7は、パケット種別判別処理の流れを示すフローチャートである。この処理は、図6のS202に該当する。図7に示すように、検出部22は、到着パケットのシーケンシャル番号(seq)が、現時点で設定されている次に到着すべきパケットのシーケンシャル番号(next_seq)と一致する場合(S301:Yes)、パケットの種別をノーマルに設定する(S302)。
一方、検出部22は、到着パケットのシーケンシャル番号(seq)が、現時点で設定されている次に到着すべきパケットのシーケンシャル番号(next_seq)と一致せず(S301:No)、到着パケットのシーケンシャル番号(seq)が次の到着すべきシーケンシャル番号(next_seq)よりも小さい場合(S303:Yes)、パケットの種別をロスに設定する(S304)。
また、検出部22は、到着パケットのシーケンシャル番号(seq)が次の到着すべきシーケンシャル番号(next_seq)よりも大きい場合(S303:No)、パケットの種別を再送に設定する(S305)。
(通常パケット処理)
図8は、通常パケット処理の流れを示すフローチャートである。この処理は、図6のS204に該当する。図8に示すように、取得部21は、到着パケットに関するパケットデータを解析情報DB13に記録する(S401)。例えば、取得部21は、到着パケットのパケット長、ACK番号、シーケンシャル番号、PSHフラグの有無などを登録する。また、検出部22は、次に到着するシーケンシャル番号の更新などを実行する。
そして、取得部21は、到着パケットのパケット長(len)が、到着済みのパケットのうち最大のパケット長(Max_len)よりも大きい場合(S402:Yes)、最大のパケット長(Max_len)を到着パケットのパケット長(len)で更新する(S403)。一方、取得部21は、到着パケットのパケット長(len)が、到着済みのパケットのうち最大のパケット長(Max_len)よりも小さい場合(S402:No)、最大のパケット長(Max_len)をそのまま維持する。
つまり、取得部21は、データを分割で送信する各パケットの中で、最大パケット長を管理する。なお、取得部21は、データに限らず、Webサーバ5とクライアント端末6とのセッションが接続されている間、そのセッションで送受信される各パケットの中で、最大パケット長を管理することもできる。
(ロス検知時処理)
図9は、ロス検知時処理の流れを示すフローチャートである。この処理は、図6のS206に該当する。図9に示すように、分類部23は、到着したパケットのシーケンシャル番号から、到着したパケットのうちロス直前のパケットとロス直後のパケットとを特定する(S501)。
そして、分類部23は、ロス直前のパケットにPSHフラグが設定されているか否かを判定する(S502)。ここで、算出部24は、ロス直前のパケットにPSHフラグが設定されている場合(S502:Yes)、先頭パケットの到着予想時間の推定処理を実行する(S503)。一方、分類部23は、ロス直前のパケットにPSHフラグが設定されていない場合(S502:No)、ロス直前のパケットの到着時間と、ロス直後のパケットのACK番号とを記録する(S504)。
(先頭パケットの到着予想時間の推定処理)
図10は、先頭パケットの到着予想時間の推定処理の流れを示すフローチャートである。図10に示すように、算出部24は、上記式(1-1)による帯域を用いた推定値(loss1)を算出し(S601)、上記式(1-2)によるパケットロス数を用いた推定値(loss2)を算出する(S602)。
そして、算出部24は、推定値(loss1)が推定値(loss2)よりも大きい場合(S603:Yes)、推定値(loss1)を、ロスパケットが正常に到着したと仮定した場合の到着予想時間に決定して、記憶部12等に記録する(S604)。
一方、算出部24は、推定値(loss1)が推定値(loss2)以下の場合(S603:No)、推定値(loss2)を、ロスパケットが正常に到着したと仮定した場合の到着予想時間に決定して、記憶部12等に記録する(S605)。
その後、算出部24は、ロスパケットの到着予想時間を算出済みであることを示す登録フラグ(time_loss_flag)を設定する(S606)。例えば、算出部24は、「time_loss_flag=true」とする。
(再送パケット処理)
図11は、再送パケット処理の流れを示すフローチャートである。この処理は、図6のS207に該当する。図11に示すように、分類部23は、ロスパケットの到着予想時間(time_loss_flag)が設定されていない場合(S701:No)、後述する分類処理を実行する(S702)。
一方、算出部24は、ロスパケットの到着予想時間の登録フラグ(time_loss_flag)が設定されている場合(S701:Yes)、または、S702の分類処理が完了した場合、ロスパケットの再送遅延時間の推定処理を実行する(S703)。例えば、算出部24は、上述した「再送遅延時間の推定値(ΔT)=再送パケットの到着時間(T´)-到着予想時間(T)」を算出する。
その後、算出部24は、ロスパケットの到着予想時間の登録フラグ(time_loss_flag)をリセットする(S704)。例えば、算出部24は、「time_loss_flag=false」とする。
(分類処理)
図12は、分類処理の流れを示すフローチャートである。図12に示すように、分類部23は、再送パケットのシーケンシャル番号からロス直前とロス直後のパケットを特定する(S801)。
そして、分類部23によって再送パケットにPSHフラグが付加されていると判定された場合(S802:Yes)、算出部24は、後述する最終パケットの到着予想時間の推定処理を実行する(S803)。
一方、分類部23は、再送パケットにPSHフラグが付加されていない場合(S802:No)、ロス直後のパケットのACK番号が再送パケットのACK番号よりも増加しているか否かを判定する(S804)。
そして、分類部23によってACK番号が増加していると判定された場合(S804:Yes)、図10を用いて説明した先頭パケットの到着予想時間の推定処理を実行する(S805)。
一方、分類部23によってACK番号が増加していないと判定された場合(S804:No)、算出部24は、中間パケットの到着予想時間の推定処理を実行する(S806)。例えば、算出部24は、上記式(2)による推定値を算出する。
(最終パケットの到着予想時間の推定処理)
図13は、最終パケットの到着予想時間の推定処理の流れを示すフローチャートである。図13に示すように、算出部24は、上記式(3-1)による帯域を用いた推定値(loss1)を算出し(S901)、上記式(3-2)によるパケットロス数を用いた推定値(loss2)を算出する(S902)。
そして、算出部24は、推定値(loss1)が推定値(loss2)よりも小さい場合(S903:Yes)、推定値(loss1)を、ロスパケットが正常に到着したと仮定した場合の到着予想時間に決定して、記憶部12等に記録する(S904)。
一方、算出部24は、推定値(loss1)が推定値(loss2)以上の場合(S903:No)、推定値(loss2)を、ロスパケットが正常に到着したと仮定した場合の到着予想時間に決定して、記憶部12等に記録する(S905)。
その後、算出部24は、ロスパケットの到着予想時間を算出済みであることを示す登録フラグ(time_loss_flag)を設定する(S906)。例えば、算出部24は、「time_loss_flag=true」とする。
[効果]
上述したように、パケット解析装置10は、ロスパケットが意味のあるデータの塊(例えばアプリデータ)のどの位置か判別する。例えば、パケット解析装置10は、アプリデータの先頭パケットの場合、ロス直後のデータと連続で送信されている可能性が高いと判定する。また、パケット解析装置10は、アプリデータの中間パケットの場合、ロス直前とロス直後のパケットの中央あたりで送信されている可能性が高いと判定する。また、パケット解析装置10は、アプリデータの最終パケットの場合、ロス直前のデータと連続で送信されている可能性が高いと判定する。
そして、パケット解析装置10は、ロスパケットの位置に応じた算出式を用いて、ロスパケットの送信時間、すなわちロスパケットがロスしなかった場合にパケット解析装置10に到着したと予想される到着予想時間を算出することができる。この結果、パケット解析装置10は、ロスパケットの再送遅延時間を算出することができる。
図14は、パケットロスによる再送遅延の推定を説明する図である。図14に示すように、Webサーバ5は、パケットD1、パケットD2、パケットD3の順でパケットを送信する。なお、各パケット長は1500(バイト)とし、ネットワーク帯域(BW)を100Mbpsとする。ここでは一例として、式1-1を用いる例で説明する。
ここで、図14では、パケット解析装置10に、時刻t1「0(usec)」にシーケンシャル番号「1」のパケットD1が到着し、その後にパケットD2がロスし、時刻t3「2,000,120(usec)」にシーケンシャル番号「3001」のパケットD3が到着する。その後、パケット解析装置10に、パケットD2の再送パケットである、時刻t2´「2,010,120(usec)」にシーケンシャル番号「1501」のパケットD2´が到着するとする。
一般的な手法では、パケットD1とパケットD3の中間をロスパケットの到着時間と推測して、ロスパケットの到着予想時間を「1,000,000(usec)」と予測するので、再送遅延の推定時間を「2,010,120-1,000,000=1,010,120(usec)」と算出する。
一方で、実施例1にかかるパケット解析装置10は、ロスパケットの到着予想時間を「t3-(8×(len/BW))」=「2,000,120-(8×(1500/100))」=「2,000,000」と算出する。そして、パケット解析装置10は、「再送遅延時間=t2´(2,010,120)-2,000,000=10,120」と算出する。
このように、一般的な手法では、誤差を最大に含む再送遅延時間を算出するが、実施例1にかかるパケット解析装置10は、誤差をより小さくした再送遅延時間を算出することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、各処理の処理は任意に分散または統合することができる。例えば、分類部23が取得部21と検出部22の処理も実行することができる。なお、取得部21は取得部の一例であり、分類部23は分類部の一例であり、算出部24は算出部の一例である。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア構成]
図15は、ハードウェア構成例を示す図である。図15に示すように、パケット解析装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。
通信インタフェース10aは、他の装置の通信を制御するネットワークインタフェースカードなどである。HDD10bは、プログラムやデータなどを記憶する記憶装置の一例である。
メモリ10cの一例としては、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等が挙げられる。プロセッサ10dの一例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)等が挙げられる。
また、パケット解析装置10は、プログラムを読み出して実行することでパケット解析方法を実行する情報処理装置として動作する。つまり、パケット解析装置10は、取得部21、検出部22、分類部23、算出部24、品質測定部25と同様の機能を実行するプログラムを実行する。この結果、パケット解析装置10は、取得部21、検出部22、分類部23、算出部24、品質測定部25と同様の機能を実行するプロセスを実行することができる。なお、この他の実施例でいうプログラムは、パケット解析装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
5 Webサーバ
6 クライアント端末
7 スイッチ
10 パケット解析装置
11 通信部
12 記憶部
13 解析情報DB
20 制御部
21 取得部
22 検出部
23 分類部
24 算出部
25 品質測定部

Claims (8)

  1. コンピュータに、
    送信装置が受信装置に送信する送信対象のデータを分割したパケットと、前記送信装置から前記受信装置に送信されて前記受信装置により受信が確認された前記送信対象のデータの先頭からのバイト数を示す確認応答を含むパケットを取得し、
    取得したパケットが再送パケット、且つ、再送パケットに対応するロスパケットを取得していない場合に、前記再送パケットに含まれる前記確認応答とロスしたパケットであるロスパケットの前後のパケットのそれぞれに含まれる各前記確認応答とを比較して、前記ロスパケットの位置を、前記データの最終パケット、中間パケット、または先頭パケットのいずれかに分類し、
    分類した前記ロスパケットの位置により特定される再送時間の算出方法によって再送時間を算出する
    処理を実行させることを特徴とするパケット分類プログラム。
  2. 前記分類する処理は、前記再送パケットのヘッダに、TCP(Transmission Control Protocol)のプッシュフラグが含まれる場合は、前記ロスパケットの位置を前記最終パケットに分類することを特徴とする請求項1に記載のパケット分類プログラム。
  3. 前記分類する処理は、前記再送パケットのヘッダに含まれるシーケンシャル番号にしたがって、取得済みのパケットから前記前後のパケットを特定し、前記再送パケットに含まれる前記確認応答と、前記前後のパケットのそれぞれに含まれる前記各確認応答とを比較して、前記ロスパケットの位置を分類することを特徴とする請求項1または2に記載のパケット分類プログラム。
  4. 前記分類する処理は、前記再送パケットの前記確認応答が前記ロスパケットの直前のパケットの前記確認応答よりも大きく、かつ、前記再送パケットの前記確認応答が前記ロスパケットの直後のパケットの前記確認応答と一致する場合、前記ロスパケットの位置を前記先頭パケットに分類することを特徴とする請求項3に記載のパケット分類プログラム。
  5. 前記分類する処理は、前記再送パケットの前記確認応答が前記ロスパケットの直前のパケットの前記確認応答と一致し、かつ、前記再送パケットのACK番号が前記ロスパケットの直後のパケットの前記確認応答と一致する場合、前記ロスパケットの位置を前記中間パケットに分類することを特徴とする請求項3に記載のパケット分類プログラム。
  6. 前記分類する処理は、前記再送パケットの前記確認応答が前記ロスパケットの直前のパケットの前記確認応答と一致し、かつ、前記再送パケットの前記確認応答が前記ロスパケットの直後のパケットの前記確認応答よりも小さい場合、前記ロスパケットの位置を前記最終パケットに分類することを特徴とする請求項3に記載のパケット分類プログラム。
  7. コンピュータが、
    送信装置が受信装置に送信する送信対象のデータを分割したパケットと、前記送信装置から前記受信装置に送信されて前記受信装置により受信が確認された前記送信対象のデータの先頭からのバイト数を示す確認応答を含むパケットを取得し、
    取得したパケットが再送パケット、且つ、再送パケットに対応するロスパケットを取得していない場合に、前記再送パケットに含まれる前記確認応答とロスしたパケットであるロスパケットの前後のパケットのそれぞれに含まれる各前記確認応答とを比較して、前記ロスパケットの位置を、前記データの最終パケット、中間パケット、または先頭パケットのいずれかに分類し、
    分類した前記ロスパケットの位置により特定される再送時間の算出方法によって再送時間を算出する
    処理を実行することを特徴とするパケット分類方法。
  8. 送信装置が受信装置に送信する送信対象のデータを分割したパケットと、前記送信装置から前記受信装置に送信されて前記受信装置により受信が確認された前記送信対象のデータの先頭からのバイト数を示す確認応答を含むパケットを取得する取得部と、
    取得したパケットが再送パケット、且つ、再送パケットに対応するロスパケットを取得していない場合に、前記再送パケットに含まれる前記確認応答とロスしたパケットであるロスパケットの前後のパケットのそれぞれに含まれる各前記確認応答とを比較して、前記ロスパケットの位置を、前記データの最終パケット、中間パケット、または先頭パケットのいずれかに分類する分類部と、
    分類した前記ロスパケットの位置により特定される再送時間の算出方法によって再送時間を算出する算出部と
    有することを特徴とするパケット分類装置。
JP2017138134A 2017-07-14 2017-07-14 パケット分類プログラム、パケット分類方法およびパケット分類装置 Active JP7003467B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017138134A JP7003467B2 (ja) 2017-07-14 2017-07-14 パケット分類プログラム、パケット分類方法およびパケット分類装置
US16/030,322 US10680756B2 (en) 2017-07-14 2018-07-09 Packet classification apparatus, packet classification method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017138134A JP7003467B2 (ja) 2017-07-14 2017-07-14 パケット分類プログラム、パケット分類方法およびパケット分類装置

Publications (2)

Publication Number Publication Date
JP2019022052A JP2019022052A (ja) 2019-02-07
JP7003467B2 true JP7003467B2 (ja) 2022-01-20

Family

ID=64999231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017138134A Active JP7003467B2 (ja) 2017-07-14 2017-07-14 パケット分類プログラム、パケット分類方法およびパケット分類装置

Country Status (2)

Country Link
US (1) US10680756B2 (ja)
JP (1) JP7003467B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018047738A1 (ja) * 2016-09-08 2019-06-24 日本電気株式会社 基地局装置、無線通信制御システム、無線通信制御方法、及び、基地局制御プログラムが格納された記録媒体
CN118233935A (zh) * 2020-07-23 2024-06-21 维沃移动通信有限公司 信息传输方法、装置及通信设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198314A1 (en) 2004-02-06 2005-09-08 Coon Tony T. Method and apparatus for characterizing a network connection
JP2013121075A (ja) 2011-12-07 2013-06-17 Nec Corp パケット通信システム、パケット通信における品質評価方法、パケット解析装置およびその制御方法と制御プログラム
WO2016119822A1 (en) 2015-01-27 2016-08-04 Nokia Solutions And Networks Oy Traffic flow monitoring

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2013002291A (es) 2010-11-16 2013-10-28 Hitachi Ltd Dispositivo de comunicacion y sistema de comunicacion.
US9240939B2 (en) * 2013-10-22 2016-01-19 Cisco Technology, Inc. Detecting packet loss and retransmission in a network environment
US10735142B2 (en) * 2015-05-29 2020-08-04 Goodrich Corporation Multi-system data transfer protocol

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198314A1 (en) 2004-02-06 2005-09-08 Coon Tony T. Method and apparatus for characterizing a network connection
JP2013121075A (ja) 2011-12-07 2013-06-17 Nec Corp パケット通信システム、パケット通信における品質評価方法、パケット解析装置およびその制御方法と制御プログラム
WO2016119822A1 (en) 2015-01-27 2016-08-04 Nokia Solutions And Networks Oy Traffic flow monitoring

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山居 正幸 MASAYUKI YAMAI,イーサネットとTCP/IP 第2章TCP/IPコア・プロトコル,OPEN DESIGN No.3 第7版,日本,CQ出版株式会社,1997年05月01日,pp. 18-54

Also Published As

Publication number Publication date
US10680756B2 (en) 2020-06-09
US20190020443A1 (en) 2019-01-17
JP2019022052A (ja) 2019-02-07

Similar Documents

Publication Publication Date Title
US9282017B2 (en) Apparatus and method for analyzing a packet
US10735326B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
US10122606B1 (en) System and method for estimating an amount of acknowledged application data transmitted by encrypted transport
CN111817977B (zh) 一种网络拥塞控制方法和装置
KR101468624B1 (ko) 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법
EP3682595B1 (en) Obtaining local area network diagnostic test results
KR20160127511A (ko) 통신 시스템에서 하향링크 전송률 제어를 위한 장치 및 방법
US9935886B2 (en) Packet extracting apparatus and method
JP5951888B2 (ja) 通信装置、通信方法、及び通信プログラム
JP7003467B2 (ja) パケット分類プログラム、パケット分類方法およびパケット分類装置
JP6928256B2 (ja) パケット解析プログラム、パケット解析装置、及び、パケット解析方法
US20210211368A1 (en) System and method for congestion control using time difference congestion notification
US9749203B2 (en) Packet analysis apparatus and packet analysis method
US20160143082A1 (en) Method for detecting a message from a group of packets transmitted in a connection
US10749765B2 (en) Method and system for monitoring communication in a network
US10063489B2 (en) Buffer bloat control
US11233886B2 (en) Storage medium and packet analyzing device
US9882751B2 (en) Communication system, communication controller, communication control method, and medium
JP4766703B2 (ja) エッジノードおよび帯域制御方法
US20190166043A1 (en) Information processing apparatus and method thereof
Schulte et al. On detecting TCP path saturation in LTE networks
JP6459645B2 (ja) スループット計測プログラム、スループット計測方法及びスループット計測装置
CN114401318A (zh) 数据传输方法、装置、计算机设备及存储介质
JP2014179938A (ja) 品質劣化原因推定装置、品質劣化原因推定方法、品質劣化原因推定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 7003467

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150