JP2017038297A - 通信装置、通信方法、及び通信システム - Google Patents

通信装置、通信方法、及び通信システム Download PDF

Info

Publication number
JP2017038297A
JP2017038297A JP2015159483A JP2015159483A JP2017038297A JP 2017038297 A JP2017038297 A JP 2017038297A JP 2015159483 A JP2015159483 A JP 2015159483A JP 2015159483 A JP2015159483 A JP 2015159483A JP 2017038297 A JP2017038297 A JP 2017038297A
Authority
JP
Japan
Prior art keywords
communication
window size
window
connection
stream
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.)
Pending
Application number
JP2015159483A
Other languages
English (en)
Other versions
JP2017038297A5 (ja
Inventor
健介 安間
Kensuke Yasuma
健介 安間
幸夫 沼上
Yukio Numagami
幸夫 沼上
智哉 酒井
Tomoya Sakai
智哉 酒井
國松 亮
Akira Kunimatsu
亮 國松
和矢 谷口
Kazuya Taniguchi
和矢 谷口
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015159483A priority Critical patent/JP2017038297A/ja
Priority to US15/232,252 priority patent/US10237323B2/en
Publication of JP2017038297A publication Critical patent/JP2017038297A/ja
Publication of JP2017038297A5 publication Critical patent/JP2017038297A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)

Abstract

【課題】HTTP/2のコネクション及びストリームによって通信が行なわれる場合において、帯域を効率的に利用した通信を行えるようにする。
【解決手段】通信路としてのコネクションを生成して対向装置と接続する接続部と、コネクションに少なくとも1つの論理的なストリームを確立するストリーム処理部と、対向装置との通信情報に基づいて、コネクション用のウインドウサイズ及びストリーム用のウインドウサイズを決定する決定部と、決定されたウインドウサイズを含むコネクション用のウインドウ更新フレーム及びストリーム用のウインドウ更新フレームを対向装置に送信する更新送信部とを有し、対向装置との通信に応じてウインドウサイズを適切に更新できるようにする。
【選択図】図4

Description

本発明は、通信路を介して通信を行う通信装置、通信方法、及び通信システムに関する。
クライアント機器(以下、「クライアント」と称す)がネットワークを介して遠隔のサーバに接続し、画像をアップロードするといったことが一般化している。このとき、クライアントのアプリケーションは、HTTP(HyperText Transfer Protocol)を用いて遠隔のサーバに接続している。遠隔のサーバに接続する際に、バッファサイズを適切に設定しないと通信帯域を有効活用できないという課題があった。この課題を解決するために、往復遅延時間(RTT:Round Trip Time)の測定とパケットロスの原因から輻輳ウインドウサイズを調節する方法が提案されている(例えば特許文献1)。
特開2014−90367号公報
IETF(Internet Engineering Task Force)では、HTTP/1.1の次期の規格であるHTTP/2が提案されている。HTTP/2では、コネクションとストリームの双方に、送受信を行うためのバッファに相当するウインドウサイズが設定される。初期ウインドウサイズでは、帯域遅延積に相当するバッファサイズを満たさないため、通信帯域を有効活用することができないという課題がある。
例えば特許文献1に記載の技術をHTTP/2の課題に適用した場合、TCP(Transmission Control Protocol)の輻輳ウインドウサイズを調節することはできる。しかし、HTTP/2のコネクションとストリームのウインドウサイズを設定しないため、結果として帯域を有効活用した通信ができない。これにより、クライアントからサーバへの画像のアップロードや、サーバからクライアントへの画像のダウンロードが遅くなるという課題があった。
例えば、16KByteのウインドウサイズで30msの遅延(RTT)のある環境では、16Mbpsが最大帯域幅となる。そのため、一般的なIEEE802.11n規格やIEEE802.11ac規格といった無線回線、ケーブルテレビ回線、光回線等の高速回線下では帯域幅の利用効率が低くなる。
本発明は、このような事情に鑑みてなされたものであり、コネクション及びストリームによって通信が行われる場合において、帯域を効率的に利用した通信を行えるようにすることを目的とする。
本発明に係る通信装置は、通信路としてのコネクションを生成して他の通信装置と接続する接続手段と、前記コネクションに少なくとも1つの論理的なストリームを確立するストリーム処理手段と、前記他の通信装置との通信情報に基づいて、前記コネクションのための第1のウインドウサイズ及び前記ストリームのための第2のウインドウサイズを決定する決定手段と、前記第1のウインドウサイズを含むウインドウ更新フレーム及び前記第2のウインドウサイズを含むウインドウ更新フレームを前記他の通信装置に送信する更新送信手段とを有することを特徴とする。
本発明によれば、コネクション及びストリームによって通信が行なわれる場合において、帯域を効率的に利用した通信が可能となる。
本発明の一実施形態における通信システムの構成例を示す図である。 本実施形態における通信装置の機能構成例を示す図である。 本実施形態における通信装置のハードウェア構成例を示す図である。 本実施形態における通信装置の動作例を示すフローチャートである。 コネクション及びストリームのウインドウサイズの例を示す図である。 本実施形態における通信装置の動作例を示すフローチャートである。 本実施形態における通信装置の動作例を示すフローチャートである。 本実施形態において通信装置と対向装置との間で行う通信動作の例を示す図である。 本実施形態において通信装置と対向装置との間で行う通信動作の例を示す図である。 本実施形態において通信装置と対向装置との間で行う通信動作の例を示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態における通信システムの構成例を示す図である。本実施形態では、通信装置101及び対向装置102がネットワーク100に接続し、通信装置101は、ネットワーク100を通じて対向装置102とHTTP(HyperText Transfer Protocol)/2によって通信を行う。ネットワーク100は、例えばインターネット、WAN(Wide Area Network)、LAN(Local Area Network)、及びそれらを複合したネットワークである。なお、通信装置101は、プロキシサーバを介して対向装置102と通信するようにしてもよい。
図2は、本実施形態における通信装置101の機能構成例を示す図である。通信装置101は、通信部201、表示部202、接続部203、ストリーム処理部204、判断部205、遅延取得部206、帯域幅取得部207、決定部208、更新送信部209、及びHTTP処理部210を有する。これらの機能部201、202、203、204、205、206、207、208、209、210は、バス200を介して互いに通信可能に接続されている。
通信部201は、TCP(Transmission Control Protocol)/IP(Internet Protocol)の制御を行う。表示部202は、コンテンツの表示やエラーの表示を行う。接続部203は、通信路としてのHTTP/2のコネクションを生成し対向装置102と接続する。ストリーム処理部204は、HTTP/2のコネクション上で論理的なストリームを確立しストリームを利用して通信を行うための処理部である。判断部205は、コネクションのウインドウアップデート及びストリームのウインドウアップデートを対向装置102に送信するか否かを判断する。ウインドウアップデートは、ウインドウサイズを更新するウインドウ更新フレームである。
遅延取得部206は、通信装置101と対向装置102との間の遅延を測定する。帯域幅取得部207は、通信装置101と対向装置102との間の通信帯域幅を取得する。決定部208は、遅延取得部206により測定された遅延及び帯域幅取得部207により取得された帯域幅を用いて、コネクション及びストリームのウインドウサイズを決定する。なお、決定部208は、遅延及び帯域幅といった通信情報以外にも、例えば動画アプリケーションの通信に必要帯域などを含めてウインドウサイズを決定してもよい。
更新送信部209は、コネクション及びストリームのウインドウアップデートを送信する。HTTP処理部210は、HTTP/2に係る処理を行う。HTTP処理部210は、例えばHTTP/2で定義されるフレームの処理や、ヘッダ及びボディの処理、HTTP GETやHTTP PUTといったメソッドの処理等を行う。
図3は、本実施形態における通信装置101のハードウェア構成例を示す図である。通信装置101は、CPU(プロセッサ)301と、ROM302と、RAM303とを有する。また、操作部(CONS)309のコントローラ(CONSC)305と、表示部としてのディスプレイ(DISP)310のディスプレイコントローラ(DISPC)306とを有する。
さらに、通信装置101は、ハードディスク(HD)311及びフレキシブルディスク等の記憶デバイス(STD)312のコントローラ(DCONT)307と、ネットワークインタフェースカード(NIC)308とを有する。それら機能部301、302、303、305、306、307、308は、システムバス304を介して互いに通信可能に接続されている。
CPU301は、ROM302又はHD311に記憶されたソフトウェア、又はSTD312より供給されるソフトウェアを実行することで、システムバス304に接続された各構成部を総括的に制御する。すなわち、CPU301は、ROM302、HD311、又はSTD312から処理プログラムを読み出して実行することで、本実施形態での動作を実現するための制御を行う。RAM303は、CPU301の主メモリ又はワークエリア等として機能する。
CONSC305は、CONS309からの指示入力を制御する。DISPC306は、DISP310の表示を制御する。DCONT307は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び本実施形態における動作を実現するための処理プログラム等を記憶するHD311及びSTD312とのアクセスを制御する。NIC308はネットワーク100上の他の装置(例えば対向装置102)と双方向にデータをやりとりする。
図4は、本実施形態における通信装置101の動作例を示すフローチャートである。図4には、通信装置101がHTTP/2通信を開始した時の処理例を示している。通信装置101と対向装置102との間でHTTP接続がされ、ALPN(Application Layer Protocol Negotiation)によるプロトコルアップグレードが完了している状態であるとする。また、通信装置101が、対向装置102にHTTP GETを送信し、画像コンテンツの取得を要求したとする。
ステップS401では、通信装置101の遅延取得部206が、通信装置101と対向装置102との間の遅延を取得する。遅延取得部206は、通信装置101と対向装置102との間で遅延を測定するためのパケットを送信して遅延を測定してもよいし、TCPの3ウェイハンドシェイクやHTTP/2の送受信パケットから遅延を測定してもよい。また、遅延取得部206は、通信装置101及び対向装置102のIPアドレス又は逆引きしたFQDN(Fully Qualified Domain Name)から各装置が存在する地域を特定して遅延を決定してもよい。
これに限らず、通信装置101と対向装置102とが移動しない装置同士であった場合、予め設定した遅延値を利用するようにしてもよい。また例えば、日本用の仕向けなどの場合、日本から日本の固定サーバにアクセスすることが予想されるため、遅延を固定値に設定してもよい。この場合、遅延は固定値となるが、後述する帯域幅が変動値となる。なお、遅延取得部206は、処理負荷軽減のために遅延の測定を毎回実行せずに一定期間の間は同じ遅延値を利用するようにしてもよい。
ステップS402では、通信装置101の帯域幅取得部207が、通信装置101と対向装置102との間の帯域幅を取得する。例えば、帯域幅取得部207は、有線帯域幅、無線帯域幅、動的な測定による帯域幅、予め設定された設定値としての帯域幅、ネットワーク100上にある中継装置に問い合わせを行って得られた帯域幅を利用する。
また、帯域幅取得部207は、通信装置101と対向装置102との間で実行されるサービスが必要とする帯域幅を取得してもよい。例えば、帯域幅取得部207は、動画ストリーミングや音声通話の必要帯域幅、コンテンツサイズとコンテンツ送受信の終了までの時間から算出された帯域幅、予めサービスに必要と定義された帯域幅を利用してもよい。
また、帯域幅取得部207は、通信装置101と対向装置102との間にプロキシなどが存在しておりエンドツーエンドでの帯域幅を取得できない場合、通信経路の一部の帯域幅を通信装置101と対向装置102との間の帯域幅として利用してもよい。また、同一アプリケーションでも動画ストリーミングモードの時と画像サムネイルモードの時では必要帯域幅が異なるため、それぞれに適したウインドウサイズの設定を行う。
ステップS403では、通信装置101の決定部208が、ステップS401において取得された遅延とステップS402において取得された帯域幅から、(式1)を利用して帯域遅延積を計算する。
帯域幅(bps)×1/8(バイト変換)×遅延(ms) …(式1)
なお、(式1)として示した計算式は一例であって、帯域遅延積の計算には遅延の揺らぎや帯域幅の変化といったパラメータを含めてもよい。なお、通信装置101は、例えば遅延と帯域幅と帯域遅延積の関連付けたテーブルを参照することで帯域遅延積を決定しても良い。
本実施形態では、遅延と帯域幅とを用いる場合で説明するが、これに限らず、アプリケーションやミドルウェアの要求を用いて計算してもよく、アプリケーションやミドルウェアが必要なウインドウサイズを要求してもよい。更に、決定部208は、ボトルネックの原因が遅延や帯域幅など以外(アプリケーションの表示速度、バス速度、メモリサイズ、CPUパワーなど)にある場合、それらを変更できない場合には制約条件として計算に含めてもよい。なお、変更可能な場合には変更要求を送信して変更させるようにしてもよい。
ステップS404では、決定部208が、コネクション用のウインドウサイズを決定する。また、ステップS405では、決定部208が、ストリーム用のウインドウサイズを決定する。このステップS404及びS405において帯域遅延積を満たすウインドウサイズを決定するとき、決定部208は、揺らぎやアプリケーションがレンダリングするまでの時間などを考慮してもよい。更に、決定部208は、現在のウインドウサイズと決定した最適なウインドウサイズとの差分を計算し、ウインドウアップデート送信のためのウインドウサイズを決定する(図5参照)。
図5は、コネクション及びストリームのウインドウサイズの例を示す図である。図5に示す例では、1つのコネクションの中に3つのストリームが含まれる。説明のため、帯域遅延積を満たすウインドウサイズ、すなわち(帯域遅延積)≦(ウインドウサイズ)となるウインドウサイズを必要ウインドウサイズと名付ける。ストリームIDがid=0はコネクションを示し、id=1、3、5はストリームを示す。帯域幅が100Mbps、遅延が40msである場合のウインドウサイズの設定例を示している。
コネクション(id=0)は、500KByteの必要ウインドウサイズを(式1)の計算式を用いて算出できる。ストリーム(id=1、3、5)は、アプリケーションが定めた優先度があり、各ストリームに対して帯域幅を5KByte、95KByte、400KByteと割り振っている。なお、各ストリームに対する割り振りは、優先度を用いて行ってもよいし、アプリケーションが必要な帯域を予め設定又は対向装置102から取得して行ってもよい。現在のウインドウサイズは、コネクション(id=0)とストリーム(id=1、3、5)がそれぞれ64KByteである。本実施形態では64KByteとしたが、HTTP/2のSETTINGSフレームを設定することでデフォルト値を変更することができる。
必要ウインドウサイズから現在のウインドウサイズを引いた分が、必要ウインドウサイズに足りないウインドウサイズとなる。コネクション(id=0)、及びストリーム(id=3、5)のようにウインドウサイズが足りていない場合、ウインドウアップデートによるウインドウサイズの更新を行う。この例では、コネクション(id=0)は436KByte、ストリーム(id=3)は31KByte、ストリーム(id=5)は336KByteとなる。一方、ストリーム(id=1)のようにウインドウサイズが足りている場合、ウインドウアップデートによるウインドウサイズの更新を行わない。更新送信部209によってウインドウアップデート(ウインドウ更新フレーム)が送信された後、現在のウインドウサイズを更新送信部209によって送信したウインドウサイズに変更する。
以上のように、必要ウインドウサイズを満たすようにウインドウアップデートによって更新するウインドウサイズを決定することができる。本実施形態では説明の簡単化のために、遅延と帯域幅のみのパラメータを用いた例で説明したが、前述の通り揺らぎを用いた計算を行っても良い。
通信装置101のメモリの制約上、必要ウインドウサイズ分のメモリを確保できない場合、確保できるまでのウインドウサイズをコネクション(id=0)に設定し、各ストリーム(id=1、3、5)にストリームで増やした分のウインドウサイズを割り振る。コネクションによってHTTP/2通信で送受信されるデータ量が決定されるため、必ずしもコネクションのウインドウサイズとストリームのウインドウサイズとを一致させる必要はない。ストリームのウインドウサイズの総量をコネクションのウインドウサイズより大きくすることで、送信可能なストリームからコネクションのウインドウサイズを有効利用して送信することが可能となる。また、新しいストリームが作成されることが分かっている場合、予め大きめのコネクションのウインドウサイズを割り当ててもよい。これによって、新しいストリーム生成時のウインドウアップデートの送信を低減できる。
ステップS406では、通信装置101の判断部205が、コネクション用のウインドウアップデートを送信するか否かを判断する。判断部205は、図5においてストリームIDがid=0である行の情報を確認し、ウインドウアップデートのサイズ(436KByte)があるため、コネクション用のウインドウアップデートを送信すると判断し、ステップS407に進む。ステップS407では、通信装置101の更新送信部209が、コネクション用のウインドウアップデートを対向装置102に送信する。なお、ステップS406において、判断部205がコネクション用のウインドウアップデートを送信しないと判断した場合、ステップS408に進む。
また、ステップS406において判断部205は、コネクション用のウインドウアップデートのサイズがあるか以外にもメモリなどのリソースが確保できるかの判断を行う。例えば、判断部205が十分なメモリなどのリソースが確保できないと判断した場合、ウインドウアップデートで示すウインドウサイズをメモリなどのリソースが確保できる範囲で設定してもよい。本実施形態では、以後説明の簡単化のために、判断部205がウインドウアップデート時には十分なメモリなどのリソースがあると判断した前提で説明する。
ステップS408では、判断部205が、ストリーム用のウインドウアップデートを送信するか否かを判断する。判断部205は、図5においてストリームIDがid=1、3、5である行の情報を確認する。判断部205は、ウインドウアップデートのサイズがプラス値であるid=3とid=5のウインドウアップデートを送信すると判断し、ステップS409に進む。また、判断部205は、ウインドウアップデートのサイズがない(プラス値ではない)id=1のウインドウアップデートを送信しないと判断する。なお、本実施形態では3つのストリームがあるが、id=1のストリームのみであった場合、判断部205はストリーム用のウインドウアップデートを送信しないと判断し、処理を終了する。
ステップS409では、更新送信部209が、判断部205によってウインドウアップデートを送信すると判断されたストリームIDに関連付けられた、ストリーム用のウインドウアップデートを対向装置102に送信する。その後、処理を終了する。
図6は、本実施形態における通信装置101の動作例を示すフローチャートである。図6には、対向装置102が過去に接続したことのある通信相手であって、通信装置101でのウインドウサイズ決定の処理を低減する場合の処理例を示している。
ステップS601では、通信装置101のHTTP処理部210が、対向装置102が過去にHTTP/2接続したことのある対向装置であるか否かを判断する。HTTP処理部210がHTTP/2接続したことのある装置であると判断すると、ステップS602に進む。一方、HTTP処理部210がHTTP/2接続したことのない対向装置であると判断すると、ステップS603に進む。
ステップS602では、決定部208が、過去に対向装置102と接続したときに取得し保存していた帯域遅延積を利用して、コネクション用及びストリーム用のウインドウサイズをそれぞれ決定する。その後、更新送信部209が、必要に応じてコネクション用及びストリーム用のウインドウアップデートを対向装置102に送信する。
ステップS603では、通信装置101は図4に示した処理を実行して、ステップS604に進む。ステップS604では、ステップS603での処理において計算した帯域遅延積を保存し、処理を終了する。
本実施形態では、帯域遅延積を保存するようにしているが、これに限らず、遅延と帯域幅を保存して再利用してもよいし、必要ウインドウサイズを保存して再利用してもよい。また、これらパラメータの一部を再利用するようにしてもよい。このように過去の接続によって得られたパラメータを再利用することで、必要ウインドウサイズの取得のための処理や決定のための処理を低減することができる。
図7は、本実施形態における通信装置101の動作例を示すフローチャートである。図7には、ウインドウサイズを再計算するか否かを判断するための処理例を示している。
ステップS701では、遅延取得部206が、通信装置101と対向装置102との間の遅延が変化したか否かの確認を行う。遅延が変化したと遅延取得部206が判断すると、ステップS703に進む。一方、遅延が変化していないと遅延取得部206が判断すると、ステップS702に進む。
ステップS702では、帯域幅取得部207が、通信装置101と対向装置102との間の帯域幅が変化したか否かの確認を行う。帯域幅が変化したと帯域幅取得部207が判断すると、ステップS703に進む。一方、帯域幅が変化していないと帯域幅取得部207が判断すると、ステップS704に進む。
ステップS701及びS702での遅延取得部206及び帯域幅取得部207の判断は、値の比較によって一定以上の差があった場合に変化したと判断してもよい。また、必要ウインドウサイズが大きくなる場合のみ(遅延及び帯域幅が大きくなった場合のみ)変化したと判断してもよい。
ステップS703では、決定部208が、遅延取得部206及び帯域幅取得部207から現在の遅延及び帯域幅を取得して、帯域遅延積の再計算を行う。なお、帯域遅延積の計算は、図4に示したステップS403と同様に、例えば(式1)を利用して計算すればよい。
ステップS704では、HTTP処理部210が一定時間待機する。ここでの待機時間は、予め定められた時間でもよいし、遅延や帯域幅の変化の頻度によって間隔を変えてもよい。次のステップS705では、HTTP処理部210が、対向装置102とのコネクションが切断されたか否かを判断する。HTTP接続が切断されたとHTTP処理部210が判断すると、処理を終了する。一方、まだHTTP接続中であるとHTTP処理部210が判断すると、ステップS701に進む。
このようにすることで、動作中の通信装置101でウインドウサイズを再計算し、変動するパラメータに適したウインドウアップデートを送信することが可能となる。通信装置101は、不必要にリソースを確保することなく帯域遅延積を満たすウインドウサイズを確保した通信を行うことが可能となる。本実施形態では、説明の簡単化のために遅延と帯域について確認する例を示しているが、これに限らず、揺らぎ、アプリケーションの要求の変更、メモリといったウインドウサイズが変更される要因が変更された時にも同様に適用できる。
以下、本実施形態において通信装置101と対向装置102との間で行う通信動作の例について説明する。
<HTTP GETメソッドでコンテンツ取得を行う場合>
図8は、本実施形態において通信装置101と対向装置102との間でHTTP GETメソッドでコンテンツ取得を行う場合のシーケンスの例を示す図である。以下では、簡単化のためにid=5のストリームのみについて記す。id=1及びid=3のストリームがある場合、各ストリームIDに対応したストリーム用のウインドウアップデートが送信される点で異なる。コネクション用のウインドウサイズについては、一定期間毎に送信してもよいし、各ストリーム用のウインドウアップデートの合計値毎や、各ストリーム用のウインドウアップデートの送信時に送信してもよい。
通信装置101は、対向装置102に対してTLS(Transport Layer Security)で接続し、HTTP/1.1からHTTP/2へプロトコルアップグレードする(M801)。その後、通信装置101は、対向装置102にHEADERSフレームでHTTPのGETメッセージを送信する(M802)。対向装置102は、通信装置101にHEADERSフレームでHTTPのGETメッセージへの返答である200 OKを送信する(M803)。
次に、通信装置101は、対向装置102との間の遅延を取得し(M804)、対向装置102との間の帯域幅を取得する(M805)。そして、通信装置101は、取得した遅延及び帯域幅を用いて対向装置102との間における帯域遅延積を計算する(M806)。
次に、通信装置101は、対向装置102との間で接続されているHTTP/2のコネクション用のウインドウサイズを決定する(M807)。また、通信装置101は、対向装置102との間で接続されているHTTP/2のコネクション上で通信するストリーム用のウインドウサイズを決定する(M808)。
次に、通信装置101は、対向装置102にコネクション用のウインドウアップデートを送信するか否かを判断し(M809)、送信すると判断した場合には、対向装置102にコネクション用のウインドウアップデートを送信する(M810)。また、通信装置101は、対向装置102にストリーム用のウインドウアップデートを送信するか否かを判断し(M811)、送信すると判断した場合には、対向装置102にストリーム用のウインドウアップデートを送信する(M812)。
その後、通信装置101は、対向装置102からHTTPのGETメッセージの返答であるHTTPのボディ部を受信する(M813)。例えば、通信装置101は、対向装置102から画像コンテンツを受信する。
通信装置101が対向装置102からHTTPのボディ部を受信すると、ウインドウサイズが小さくなる(図5に示す現在のウインドウサイズがデータサイズ分減る)。通信装置101は、コネクション用のウインドウサイズを再決定し、コネクション用のウインドウアップデートを送信するか否かを判断する(M814)。送信すると判断した場合には、通信装置101は、対向装置102にコネクション用のウインドウアップデートを送信する(M815)。
また、通信装置101は、ストリーム用のウインドウアップデートを再決定し、ストリーム用のウインドウアップデートを送信するか否かを判断する(M816)。送信すると判断した場合には、通信装置101は、対向装置102にストリーム用のウインドウアップデートを送信する(M817)。
ここでは、図6に示した処理に従って保存済みの帯域遅延積を用いて再決定を行うものとするが、これに限らず、図7に示した処理のように遅延や帯域幅の再取得を行っても良い。図6に示した処理及び図7に示した処理は毎回変更の確認を行う必要はなく、時間毎や回数毎に切り替えてもよい。
次に、通信装置101は、対向装置102から続きのHTTPのボディ部を受信する(M818)。通信装置101は、対向装置102から更に続きのHTTPのボディ部を受信する(M819)。
その後、通信装置101は、コネクション用のウインドウサイズを再決定して、コネクション用のウインドウアップデートを送信するか否かを判断し、ここでは対向装置102にコネクション用のウインドウアップデートを送信しないと判断する(M820)。また、通信装置101は、対向装置102にストリーム用のウインドウアップデートを送信しないと判断する(M421)。例えば、判断部205が帯域遅延積を満たすウインドウサイズがまだ割り当てられていると判断した場合、ウインドウアップデートを送信しないと判断できる。また、HTTPヘッダに含まれるContentLengthからコンテンツ長が分かっており、既に必要十分なウインドウサイズが割り当てられている場合、ウインドウアップデートを送信しないと判断できる。
この例では、M818及びM819の2つのメッセージを受信したが、これに限らず、1つのメッセージを受信した段階(M818のみ)でM820及びM821の処理に進んでもよい。また、判断部205がウインドウサイズに余裕があると判断した場合や決定部208が予め余裕を持たせて決定していた場合、2つのメッセージだけでなく3つ以上のメッセージを受信してからM820及びM821の処理に進んでもよい。
その後、通信装置101は、対向装置102からHTTPのボディ部の残りとストリーム終了(END_STREAM)を受信する(M822)。通信装置101は、例えば表示部202を用いて、取得した画像コンテンツの表示を行う。表示部202には、画像コンテンツに限らず、HTTPヘッダなどを表示してもよい。また、表示部202には送受信中に発生したコネクションエラーなどを表示してもよい。
通信装置101は、対向装置102とのコネクションが切断される場合、ウインドウアップデートを送信しないが、コネクションが切断されない場合、M822の後に対向装置102にコネクション用のウインドウアップデートを送信してもよい(M823)。これにより、新しくストリームを生成した時のウインドウアップデートを先に送信することで、速度向上につながる。このコネクション用のウインドウアップデートは単独で送ってもいいし、他のストリームが処理されている時に発生するコネクション用のウインドウアップデートの更新時にまとめて処理してもよい。
<HTTP PUTメソッドでコンテンツをアップロードする場合>
図9は、本実施形態において対向装置102が通信装置101にHTTP PUTメソッドでコンテンツをアップロードする場合のシーケンスの例を示す図である。
通信装置101は、対向装置102に対してTLSで接続し、HTTP/1.1からHTTP/2へプロトコルアップグレードする(M901)。その後、対向装置102は、通信装置101にHEADERSフレームでExpectヘッダに100−continueを付けたHTTPのPUTメッセージを送信する(M902)。通信装置101は、対向装置102にHEADERSフレームでHTTPのPUTメッセージへの暫定応答である100 CONTINUEを送信する(M903)。
これにより、通信装置101は、対向装置102からのコンテンツ送信を受け付けることを通知する。なお、通信装置101が対向装置102からのHTTP PUTメソッドによるコンテンツのアップロードを受け付けられない場合、エラーを返し処理を終了する。M904〜M912の処理は、図8に示したM804〜M812の処理と同様であるため説明を省略する。
通信装置101は、対向装置102からHTTPのPUTメッセージのボディ部を受信する(M913)。通信装置101は、対向装置102から続きのHTTPのボディ部を受信する(M914)。例えば、HTTPのPUTメッセージのボディ部には画像コンテンツが含まれる。M915〜M918の処理は、図8に示したM814〜M817の処理と同様であるため説明を省略する。
次に、通信装置101は、対向装置102から続きのHTTPのボディ部を受信する(M919)。通信装置101は、対向装置102から更に続きのHTTPのボディ部を受信する(M920)。M921及びM922の処理は、図8に示したM820及びM821の処理と同様であるため説明を省略する。
その後、通信装置101は、対向装置102からHTTPのボディ部の残りを受信する(M923)。通信装置101は、対向装置102にHTTP 200 OKとストリーム終了(END_STREAM)を送信する(M924)。通信装置101は、例えば対向装置102からアップロードされたコンテンツを表示部202を用いて表示してもよい。表示部202には、画像コンテンツに限らず、HTTPヘッダなどを表示してもよい。また、表示部202には送受信中に発生したコネクションエラーなどを表示してもよい。
このようにして、本実施形態によれば、通信装置101と対向装置102との間で帯域幅やリソースを有効に利用した通信を行うことができる。通信装置101がウインドウアップデートをHTTPのボディ部の受信前に送信することで、HTTPのボディ部の受信前にウインドウサイズを増加させることができるようになりスループットが向上する。
本実施形態では、HTTP/2のウインドウサイズを変更したが、更に、帯域遅延積をTCP等の他レイヤのプロトコルのバッファサイズと合わせてもよい。これにより、HTTP/2を利用して通信を行う通信装置は他レイヤでのバッファサイズが足りないことによる速度低下を低減できる。また、メモリなどのリソースが足りない場合は、HTTP/2のウインドウサイズだけに割り振るのではなく他レイヤのプロトコルと均等にリソースを割り当てることで性能を向上させることができる。
ここではHTTPのGETメッセージ及びPUTメッセージの例を示したが、これに限らず、他のHTTPメソッドでボディ部を含むもの(POSTメソッドなど)であった場合にも適用できる。また、HTTPによる処理を例に説明したが、これに限らず、リクエストレスポンス型の通信で送信制御を行うプロトコルに適用できる。
本実施形態によれば、例えば、動画ストリーミングの要求帯域幅(24Mbps)が設定された場合、通信装置101は適したウインドウサイズで高速にコンテンツデータを受信することができる。これにより、立ち上がりの動画ストリーミングのバッファリング時間を低減させることができる。また、ウインドウアップデートが送信されるまでの間、動画ストリーミングの開始時に要求帯域幅に満たないことによる性能低下(ノイズ、開始が遅い、コマ落ちなど)を低減できる。さらに、必要以上にウインドウサイズを大きくしないため、通信制御以外のアプリケーション(例えば、画像処理やユーザーインターフェース)のメモリを圧迫することなく、製品としての性能劣化を低減できる。
次に、通信装置101と対向装置102との間で1つのコネクション上で複数のストリームを処理する場合の例について説明する。図10は、本実施形態において通信装置101が対向装置102から複数のHTTPのGETメッセージでコンテンツ取得を行う場合のシーケンスの例を示す図である。
通信装置101は、対向装置102に対してTLSで接続し、HTTP/1.1からHTTP/2へプロトコルアップグレードする(M1001)。その後、通信装置101は、対向装置102との間のコネクション上で3つのストリーム(id=1、3、5)を開始する。
通信装置101は、ストリーム1(id=1のときのストリームを以後、ストリーム1と呼ぶ)を用いて対向装置102にHTTPのGETメッセージで画像コンテンツの取得を行う(M1002)。通信装置101は、対向装置102から200 OKのレスポンスを受信する(M1003)。また、通信装置101はストリーム3(id=3のときのストリームを以後、ストリーム3と呼ぶ)を用いて対向装置102にHTTPのGETメッセージで画像コンテンツの取得を行う(M1004)。通信装置101は、対向装置102から200 OKのレスポンスを受信する(M1005)。また、通信装置101は、ストリーム5(id=5のときのストリームを以後、ストリーム1と呼ぶ)を用いて対向装置102にHTTPのGETメッセージで画像コンテンツの取得を行う(M1006)。通信装置101は、対向装置102から200 OKのレスポンスを受信する(M1007)。
その後、通信装置101は、コネクション及びストリームのウインドウサイズを決定する(M1008)。この例では、コネクション及び複数のストリームのウインドウサイズの決定を一括して行うことで、帯域遅延積の計算など共通的な処理量を低減させている。なお、コネクション及び複数のストリームのウインドウサイズの決定の一部の処理のみをまとめて実行してもよい。例えば、ストリーム1、ストリーム3、ストリーム5の処理のみ一括して実行するようにしてもよい。
通信装置101は、コネクション用のウインドウアップデートを送信する(M1009)。また、通信装置101は、ストリーム1、ストリーム3、ストリーム5用のウインドウアップデートをそれぞれ送信する(M1010〜M1012)。この例では、通信装置101は、コネクション用のウインドウアップデートの次にストリーム用のウインドウアップデートを送信しているが、これに限らず、ストリーム用のウインドウアップデートから送信してもよい。また、場合によっては、ウインドウアップデートを送信しないと判断することもある。
通信装置101は、対向装置102からストリーム1、ストリーム3、ストリーム5のHTTPのボディ部を受信する(M1013〜M1015)。その後、通信装置101は、コネクション及びストリームのウインドウサイズを決定する(M1016)。ここでは、通信装置101は、コネクション、ストリーム1、ストリーム3、ストリーム5用のウインドウアップデートを送信しないと判断する。
例えば、ストリーム1はHTMLのインデックスであり、ストリーム3とストリーム5で2つの画像をダウンロードしているとする(この例の場合、ストリーム1のボディ部は、ストリーム3とストリーム5の開始よりも先に取得しているものとする)。HTMLインデックスには他の画像やリソースへの取得はないため、通信装置101と対向装置102とのコネクションが終了する。ストリーム5の後に新たなストリームが作成されることはないため、ウインドウアップデートを送信しなくてよいと判断できる。このように、アプリケーションからウインドウアップデートを送信するか否かの判断を行うことができる。
また、画像コンテンツの一覧を既に取得している状態で、アプリケーションが3つのコンテンツを取得するとする(ストリーム1、ストリーム3、ストリーム5)。この場合においても、新たなストリームが作成されることはないため、ウインドウアップデートを送信しなくてよいと判断できる。
通信装置101は、対向装置102からストリーム1、ストリーム3、ストリーム5の残りのHTTPのボディ部とストリーム終了(END_STREAM)を受信する(M1017〜M1019)。通信装置101は、対向装置102とのHTTP/2のコネクションを切断し、更にTLS接続を切断する(M1020)。
以上のように、図10に示した例によれば、複数のストリームを実行した場合にウインドウサイズの決定処理を低減することができる。また、アプリケーションの要求に応じてウインドウアップデートを送信するか否かを判断することで、ウインドウアップデートの送信処理のオーバーヘッドを低減することができる。図10においては、図8に示した例を基に説明したが、図9に示した例においても同様に適用できる。
(本発明の他の実施形態)
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100:ネットワーク 101:通信装置 102:対向装置 201:通信部 202:表示部 203:接続部 204:ストリーム処理部 205:判断部 206:遅延取得部 207:帯域幅取得部 208:決定部 209:更新送信部 210:HTTP処理部

Claims (11)

  1. 通信路としてのコネクションを生成して他の通信装置と接続する接続手段と、
    前記コネクションに少なくとも1つの論理的なストリームを確立するストリーム処理手段と、
    前記他の通信装置との通信情報に基づいて、前記コネクションのための第1のウインドウサイズ及び前記ストリームのための第2のウインドウサイズを決定する決定手段と、
    前記第1のウインドウサイズを含むウインドウ更新フレーム及び前記第2のウインドウサイズを含むウインドウ更新フレームを前記他の通信装置に送信する更新送信手段とを有することを特徴とする通信装置。
  2. 前記ウインドウ更新フレームを前記他の通信装置に送信するか否かを前記決定手段により決定された前記第1及び第2のウインドウサイズのうち少なくともいずれかに基づいて判断する判断手段を有することを特徴とする請求項1記載の通信装置。
  3. 前記判断手段は、前記第1のウインドウサイズと前記コネクションのウインドウサイズとを比較し、前記第1のウインドウサイズが前記コネクションのウインドウサイズより大きい場合、前記ウインドウ更新フレームを前記他の通信装置に送信すると判断することを特徴とする請求項2記載の通信装置。
  4. 前記判断手段は、前記第2のウインドウサイズと前記ストリームのウインドウサイズとを比較し、前記第2のウインドウサイズが前記ストリームのウインドウサイズより大きい場合、前記ウインドウ更新フレームを前記他の通信装置に送信すると判断することを特徴とする請求項2又は3記載の通信装置。
  5. 前記通信情報には、前記他の通信装置との間の帯域幅及び遅延の少なくとも一方を含むことを特徴とする請求項1〜4の何れか1項に記載の通信装置。
  6. 前記他の通信装置との間の帯域幅を取得する帯域幅取得手段を有することを特徴とする請求項5記載の通信装置。
  7. 前記他の通信装置との間の遅延を取得する遅延取得手段を有することを特徴とする請求項5又は6記載の通信装置。
  8. 前記通信情報には、前記他の通信装置との間の帯域幅及び遅延を含み、
    前記決定手段は、前記他の通信装置との間の帯域幅及び遅延を基に算出される帯域遅延積を用いて、前記第1のウインドウサイズ及び前記第2のウインドウサイズを決定することを特徴とする請求項1〜4の何れか1項に記載の通信装置。
  9. 通信路としてのコネクションを生成して他の通信装置と接続する工程と、
    前記コネクションに少なくとも1つの論理的なストリームを確立する工程と、
    前記他の通信装置との通信情報に基づいて、前記コネクションのための第1のウインドウサイズ及び前記ストリームのための第2のウインドウサイズを決定する工程と、
    前記第1のウインドウサイズを含むウインドウ更新フレーム及び前記第2のウインドウサイズを含むウインドウ更新フレームを前記他の通信装置に送信する工程とを有することを特徴とする通信方法。
  10. 第1の通信装置と第2の通信装置とがネットワークを介して接続された通信システムであって、
    前記第1の通信装置は、
    通信路としてのコネクションを生成して前記第2の通信装置と接続する接続手段と、
    前記コネクションに少なくとも1つの論理的なストリームを確立するストリーム処理手段と、
    前記第2の通信装置との通信情報に基づいて、前記コネクションのための第1のウインドウサイズ及び前記ストリームのための第2のウインドウサイズを決定する決定手段と、
    前記第1のウインドウサイズを含むウインドウ更新フレーム及び前記第2のウインドウサイズを含むウインドウ更新フレームを前記第2の通信装置に送信する更新送信手段とを有し、
    前記更新送信手段より送信されたウインドウ更新フレームに応じたウインドウサイズで前記第1の通信装置と前記第2の通信装置との間で通信を行うことを特徴とする通信システム。
  11. 通信路としてのコネクションを生成して他の通信装置と接続するステップと、
    前記コネクションに少なくとも1つの論理的なストリームを確立するステップと、
    前記他の通信装置との通信情報に基づいて、前記コネクションのための第1のウインドウサイズ及び前記ストリームのための第2のウインドウサイズを決定するステップと、
    前記第1のウインドウサイズを含むウインドウ更新フレーム及び前記第2のウインドウサイズを含むウインドウ更新フレームを前記他の通信装置に送信するステップとをコンピュータに実行させるためのプログラム。
JP2015159483A 2015-08-12 2015-08-12 通信装置、通信方法、及び通信システム Pending JP2017038297A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015159483A JP2017038297A (ja) 2015-08-12 2015-08-12 通信装置、通信方法、及び通信システム
US15/232,252 US10237323B2 (en) 2015-08-12 2016-08-09 Communication apparatus, communication method, communication system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015159483A JP2017038297A (ja) 2015-08-12 2015-08-12 通信装置、通信方法、及び通信システム

Publications (2)

Publication Number Publication Date
JP2017038297A true JP2017038297A (ja) 2017-02-16
JP2017038297A5 JP2017038297A5 (ja) 2018-09-27

Family

ID=57996220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015159483A Pending JP2017038297A (ja) 2015-08-12 2015-08-12 通信装置、通信方法、及び通信システム

Country Status (2)

Country Link
US (1) US10237323B2 (ja)
JP (1) JP2017038297A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101594A (ja) * 2017-11-30 2019-06-24 キヤノン株式会社 通信装置、通信方法、およびプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623980B1 (en) * 2018-03-12 2020-04-14 Sprint Communications Company L.P. Transmission control protocol (TCP) based control of a wireless user device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013191931A (ja) * 2012-03-12 2013-09-26 Fujitsu Ltd 情報処理装置、輻輳制御方法および輻輳制御プログラム
WO2015004276A2 (en) * 2013-07-12 2015-01-15 Canon Kabushiki Kaisha Adaptive data streaming method with push messages control
JP2015125657A (ja) * 2013-12-26 2015-07-06 キヤノン株式会社 情報処理装置、その制御方法およびコンピュータプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007080357A (ja) * 2005-09-13 2007-03-29 Toshiba Corp 情報記憶媒体、情報再生方法、情報再生装置
JP2007207328A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
JP2010522468A (ja) * 2006-12-20 2010-07-01 トムソン ライセンシング Tcpackの管理によるlanにおけるスループット改善
CN101944054B (zh) * 2009-07-06 2013-11-06 鸿富锦精密工业(深圳)有限公司 频率范围测试系统及方法
JP6101046B2 (ja) 2012-10-31 2017-03-22 日本放送協会 パケット送信装置およびそのプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013191931A (ja) * 2012-03-12 2013-09-26 Fujitsu Ltd 情報処理装置、輻輳制御方法および輻輳制御プログラム
WO2015004276A2 (en) * 2013-07-12 2015-01-15 Canon Kabushiki Kaisha Adaptive data streaming method with push messages control
JP2015125657A (ja) * 2013-12-26 2015-07-06 キヤノン株式会社 情報処理装置、その制御方法およびコンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"「HTTP2のフロー制御」", QIITA, JPN6019020062, 7 May 2015 (2015-05-07), ISSN: 0004210982 *
M. TIM JONES: "「Linuxにおけるソケット機能の向上 ネットワーク・アプリケーションの処理速度を上げる4つの方法」", IBM, JPN6019020063, 29 January 2008 (2008-01-29), ISSN: 0004210983 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101594A (ja) * 2017-11-30 2019-06-24 キヤノン株式会社 通信装置、通信方法、およびプログラム
JP7051396B2 (ja) 2017-11-30 2022-04-11 キヤノン株式会社 通信装置、通信方法、およびプログラム
US11303692B2 (en) 2017-11-30 2022-04-12 Canon Kabushiki Kaisha Communication apparatus for transmitting response, communication method, and storage medium

Also Published As

Publication number Publication date
US10237323B2 (en) 2019-03-19
US20170048281A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
JP6618552B2 (ja) 多重経路メディア伝達のための方法及び装置
CN109412946B (zh) 一种确定回源路径的方法、装置、服务器及可读存储介质
JP7142722B2 (ja) 伝送制御方法および装置
US10135956B2 (en) Hardware-based packet forwarding for the transport layer
US9641650B2 (en) TCP proxy server
EP3761591B1 (en) Tcp link configuration method, apparatus, and computer program product
EP3075110B1 (en) Controlling a transmission control protocol window size
JP6289092B2 (ja) 情報処理装置、その制御方法およびコンピュータプログラム
US8966123B2 (en) Unobtrusive content compression in a telecommunications network
CN111988212B (zh) 一种报文传输方法以及相关装置
EP3735768B1 (en) Improving qoe for video and web services using cross-layer information
US10432530B2 (en) System and method of providing compression technique for jitter sensitive application through multiple network links
JP2017028589A (ja) 通信装置、無線通信装置、および通信方法
US20150372872A1 (en) System and Method for Aggregating and Estimating the Bandwidth of Multiple Network Interfaces
US20150127837A1 (en) Relay apparatus and data transfer method
CN104717041A (zh) 数据传输方法和装置
CN110072254B (zh) 一种数据的传输方法及其相关设备
Seenivasan et al. CStream: neighborhood bandwidth aggregation for better video streaming
JP2020536416A (ja) サービス品質を決定するための方法および装置、ならびにプログラム
US20220070736A1 (en) Traffic steering device
JP2017038297A (ja) 通信装置、通信方法、及び通信システム
CN108574615B (zh) 一种基于多路径mptcp的内容传输方法、设备及系统
JP6758858B2 (ja) 通信装置、通信方法及びプログラム
JP4627290B2 (ja) Tcpを用いたレート制御方法、サーバ及びプログラム
JP2015165632A (ja) 情報転送装置、情報転送方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180808

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200218