JP6429559B2 - 通信装置、通信システム、情報処理方法及びプログラム - Google Patents

通信装置、通信システム、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6429559B2
JP6429559B2 JP2014197319A JP2014197319A JP6429559B2 JP 6429559 B2 JP6429559 B2 JP 6429559B2 JP 2014197319 A JP2014197319 A JP 2014197319A JP 2014197319 A JP2014197319 A JP 2014197319A JP 6429559 B2 JP6429559 B2 JP 6429559B2
Authority
JP
Japan
Prior art keywords
communication
communication protocol
switching process
communication device
protocol
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
JP2014197319A
Other languages
English (en)
Other versions
JP2016072684A (ja
JP2016072684A5 (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.)
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 JP2014197319A priority Critical patent/JP6429559B2/ja
Priority to US14/864,517 priority patent/US10506080B2/en
Publication of JP2016072684A publication Critical patent/JP2016072684A/ja
Publication of JP2016072684A5 publication Critical patent/JP2016072684A5/ja
Application granted granted Critical
Publication of JP6429559B2 publication Critical patent/JP6429559B2/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Description

本発明は、通信装置、通信システム、情報処理方法及びプログラムに関する。
デバイスの小型化や無線LANの普及により、多様なデバイスがネットワークに接続するようになってきている。また、デバイス同士の接続や、デバイス及びサーバ、デバイス及びクラウドへの接続が一般化されてきている。
このような状況の中で、ユーザがデバイスを持ち運ぶことで無線LANの領域から外れてしまいネットワークから切断されることや、デバイスのモードの変更や電源のオフ等によってネットワークから切断されることが発生してきている。
このような場合、通信開始時の処理を毎回実行しなければならないという課題が存在する。特許文献1では、先行したネゴシエーション手順によって、サービス情報を取得して、ネゴシエーション手順を省略するという方法が開示されている。
特開2004−363993号公報
通信開始時にプロトコルを切り替えて利用する通信装置等では、再接続する場合等、プロトコルの設定情報の交換処理を再実行しなければならず、接続に時間がかかる問題があった。
そこで、本発明の通信装置は、第1の通信プロトコルによる通信と、前記第1の通信プロトコルとは異なる第2の通信プロトコルによる通信とを実行可能な通信装置であって、接続先の通信装置を指定する指定手段と、前記指定手段により指定された前記接続先の通信装置との通信に用いる通信プロトコルを前記第2の通信プロトコルから前記第1の通信プロトコルへ切り替える切り替え処理を省略するか否かを、前記接続先の通信装置の識別情報が所定の記憶部に登録されているか否かに基づいて断する判断手段と、前記判断手段により前記切り替え処理を省略しないと判断された場合、前記接続先の通信装置との間で前記第2の通信プロトコルによる通信を行うことで前記第2の通信プロトコルから前記第1の通信プロトコルへの前記切り替え処理を実行する実行手段と、前記判断手段により前記切り替え処理を省略すると判断された場合には、前記切り替え処理の少なくとも一部を実行することなく前記第1の通信プロトコルによる接続開始要求を前記接続先の通信装置に送信し、前記判断手段により前記切り替え処理を省略しないと判断された場合には、前記実行手段により前記切り替え処理を実行した後に前記第1の通信プロトコルによる前記接続開始要求を前記接続先の通信装置に送信する送信手段と、を有することを特徴とする
本発明によれば、通信の接続に係る時間を短縮することができる。
通信システムのシステム構成の一例を示す図である。 通信装置等のハードウェア構成の一例を示す図である。 通信装置のソフトウェア構成の一例を示す図である。 サーバのソフトウェア構成の一例を示す図である。 通信装置がサーバと通信を開始する際の情報処理の一例を示すフローチャートである。 通信装置とサーバとの間で通信の設定をスキップする場合の情報処理の一例を示すシーケンス図である。 サーバが通信装置と通信を開始する際の情報処理の一例を示すフローチャートである。 通信装置の設定情報のエントリを示す図である。 通信装置とサーバとがHTTP/1.1通信の途中からHTTP/2通信に変更する場合の情報処理の一例を示すシーケンス図である。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、通信システムのシステム構成の一例を示す図である。
通信システムは、ネットワーク100を介して、通信装置101とサーバ102とが通信可能に接続されている。本実施形態におけるネットワーク100は、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)等の複合であってもよい。
通信装置101は、ネットワーク100を通じて、サーバ102とHTTP/1.1及びHTTP/2通信を行う。通信装置101の一例としては、例えば、デジタルカメラ等である。但し、このことは本実施の形態を制限するものではない。通信装置101は、接続要求元の通信装置、第1の通信装置の一例である。また、サーバ102は、接続先の通信装置、第2の通信装置の一例である。
図2は、通信装置等のハードウェア構成の一例を示す図である。
より具体的説明すると、図2(a)は、通信装置101のハードウェア構成の一例を示す図である。図2(b)は、サーバ102のハードウェア構成の一例を示す図である。
図2(a)に示されるように、通信装置101は、ハードウェア構成として、CPU10と、メモリ11と、HD12と、ネットワーク制御装置13と、操作表示装置14と、撮像装置15と、を含む。そして、これらのハードウェア構成が、バス16を介して接続されている。
CPU10は、通信装置101の全体を制御する制御部である。CPU10が、メモリ11又はHD12等に記憶されているプログラムに基づき処理を実行することによって、後述する通信装置101のソフトウェア構成及び通信装置101のフローチャートの処理が実現される。メモリ11は、ブートプログラムや、CPU10が処理を実行する際に利用する予め定められたデータ等を記憶する。HD12は、プログラムやCPU10が処理を実行する際に利用するデータ、画像データ等を記憶する。ネットワーク制御装置13は、通信装置101をネットワーク100に接続し、CPU10の制御に基づき、ネットワーク100を介した他の装置との通信を制御する。操作表示装置14は、CPU10の制御に基づき、画像データ等を表示したり、ユーザ操作を受け付け、受け付けた操作に係る操作情報をCPU10に通知したりする。撮像装置15は、CPU10の制御に基づき、撮像を制御する。尚、図2(a)のハードウェア構成は、通信装置101をデジタルカメラとした場合の一例である。
また、図2(b)に示されるように、サーバ102は、ハードウェア構成として、CPU20と、メモリ21と、HD22と、ネットワーク制御装置23と、表示装置24と、入力装置25と、を含む。そして、これらのハードウェア構成が、バス26を介して接続されている。
CPU20は、サーバ102の全体を制御する制御部である。CPU20が、メモリ21又はHD22等に記憶されているプログラムに基づき処理を実行することによって、後述するサーバ102のソフトウェア構成及びサーバ102のフローチャートの処理が実現される。メモリ21は、ブートプログラムや、CPU20が処理を実行する際に利用する予め定められたデータ等を記憶する。HD22は、プログラムやCPU20が処理を実行する際に利用するデータ等を記憶する。ネットワーク制御装置23は、サーバ102をネットワーク100に接続し、CP210の制御に基づき、ネットワーク100を介した他の装置との通信を制御する。表示装置24は、CPU20の制御に基づき、データを表示する。入力装置25は、ユーザ操作を受け付け、受け付けた操作に係る操作情報をCPU20に通知する。
図3は、通信装置101のソフトウェア構成の一例を示す図である。
通信部201は、TCP/IP処理、及び、TLS(Transport Layer Security)処理を行う。
表示部202は、接続完了や接続エラーの表示を行う。表示部202は、操作表示装置14を用いて表示を行う。通信装置101は、接続完了や接続エラーを表示してもよいし、これに限らず、イベント情報をユーザに音や振動等で通知してもよい。
データ保存部203は、サーバの識別子に関連付けられた設定情報(後述する図8を参照)をHD12等に保持、管理する。本実施形態では、図8に示されるような情報を通信装置101内で保持するものとして説明を行う。しかし、これに限らず、通信装置101は、ネットワークを介した別の装置上に登録されている情報を参照等、利用するようにしてもよい。サーバの識別子は、接続先の通信装置(サーバ)を識別する識別情報の一例である。
設定部204は、データ保存部203で保持している設定情報に基づき通信のパラメータを設定する。
判断部205は、指定された識別子に応じて保持している設定情報の設定を行うか否かを判断する。更に、判断部205は、セキュリティ通信の有無、設定フェーズをスキップできるか否か等を判断する。
通信手順切り替え部206は、HTTP/1.1とHTTP/2との通信を切り替える。
通信手順スキップ部207は、通信開始時のハンドシェイク及び設定の手順をスキップする。
選択部208は、HTTP/1.1とHTTP/2とからプロトコルを選択する。
入力部209は、URI、IPアドレス及びポート番号、Session−ID等の識別子の入力を行う。入力部209は、操作表示装置14等に表示されたUIを介したユーザ操作に応じて、識別子を入力してもよいし、NFCやBluetooth(登録商標)等を用いて他の装置等より取得された識別子を入力してもよい。また、入力部209は、通信装置101のアプリケーション等が記憶している識別子をアプリケーション等より受け取り、入力してもよい。
本実施形態では、プロトコルとしてHTTP/1.1とHTTP/2とを例にあげて説明するが、これに限らず、SPDY、QUICであってもよいし、その他の異種のプロトコル間の切り替えであってもよい。HTTP/1.1は、第の通信プロトコルの一例である。HTTP/2は、第の通信プロトコルの一例である。
図4は、サーバ102のソフトウェア構成の一例を示す図である。
通信部801は、TCP/IP処理、及び、TLS(Transport Layer Security)処理を行う。
応答部802は、通信切り替えに対する受領メッセージを送信する。応答部802は、通信の切り替え方法がClient connection prefaceである場合、HTTP 200 OKを送信する。また、応答部802は、通信の切り替え方法がHTTP/1.1 Upgrade headerである場合、HTTP 101 Switching Protocolsを送信する。応答部802は、通信の切り替え方法がTLS ALPNフィールド付きのClient Helloである場合、TLS ALPN付きServer Helloを送信する。
データ保存部803は、識別子に関連付けられた設定情報をHD22等に保持、管理する。本実施形態では、設定情報等をサーバ102内で保持するものとして説明を行う。しかし、これに限らず、サーバ102は、ネットワークを介した別の装置上に保持されている設定情報を参照等、利用するようにしてもよい。
設定部804は、データ保存部803で保持している設定情報に基づき通信のパラメータを設定する。
判断部805は、指定された識別子に応じて保持している設定情報の設定を行うか否かを判断する。更に、判断部805は、セキュリティ通信の有無や、設定フェーズをスキップできるか否かを判断する。
通信手順切り替え部806は、HTTP/1.1とHTTP/2との通信を切り替える。
通信手順スキップ部807は、通信開始時のハンドシェイク及び設定の手順をスキップする。
選択部808は、HTTP/1.1とHTTP/2とからプロトコルを選択する。
入力部809は、URI、IPアドレス及びポート番号、Session−ID等の識別子の入力を行う。入力部809は、入力装置25等に表示されたUIを介したユーザ操作に応じて、識別子を入力してもよいし、NFCやBluetooth等を用いて他の装置等より取得された識別子を入力してもよい。また、入力部809は、アプリケーション等が記憶している識別子をアプリケーション等から受け取り、入力してもよい。
図5は、通信装置101がサーバ102と通信を開始する際の情報処理の一例を示すフローチャートである。
S301において、入力部209は、ユーザ、又は、アプリケーションから識別子を受け付け、入力し、S302に進む。ここでの識別子とは、URI、IPアドレス及びポート番号、Session−ID、その他、通信相手であるサーバ102を識別するための情報である。
S302において、判断部205は、入力された識別子から、通信処理のハンドシェイク及び設定等の処理のスキップを行うか否かの判断を行う。判断部205は、指定された識別子が図8に示すようなテーブルに含まれているかを確認し、含まれている場合、前記処理をスキップすると判断し(S302においてYes)、S303に進む。一方、判断部205は、指定された識別子が前記テーブルに含まれていない場合、前記処理はスキップしないと判断し(S302においてNo)、S312に進む。
S303において、判断部205は、セキュリティ通信ありの通信であるか、セキュリティ通信なしの通信であるかを確認する。本実施形態では、識別子に紐付けて、セキュリティ通信ありかなしが予め設定されているものとする。これに限らず、例えば、TLSを利用するように明示された場合に、判断部205は、セキュリティ通信ありと判断してもよい。識別子の他に、識別子と対応付けてTLS通信を行うか否かを示す情報が設定されていてもよいし、TLS通信を行うか否かを示す情報が識別子に含まれる形であってもよい。本実施形態におけるセキュリティ通信とはTLSのことを示しており、別のレイヤのセキュリティ通信(例えば、IPsecや無線の暗号化等)は含んでいない。判断部205は、セキュリティ通信ありであると判断すると(S303においてYes)、S305に進み、セキュリティ通信なしであると判断すると(S303においてNo)、S304に進む。
S304において、通信部201は、サーバ102にTCP接続を開始し、S306に進む。
一方、S305において、通信部201は、サーバ102にTLS接続を開始し、S306に進む。
S306において、通信手順スキップ部207は、サーバ102にHTTP/2通信を開始するためにClient connection prefaceを送信する。通信手順スキップ部207は、HTTP/1.1からHTTP/2にアップグレードを行うための通信手順をスキップしている。Client connection prefaceは、第の通信プロトコルによる接続開始要求の一例である。
S307において、判断部205は、サーバ102から、Client connection prefaceの受け付けを完了したメッセージ(例えば、HTTP 200 OK)を受信したか否かを確認する。判断部205は、受け付けを完了したメッセージを受け付けた場合(S307においてYes)、S310に進む。HTTP 200 OKは、接続開始応答の一例である。判断部205は、受け付けエラーメッセージ(例えば、Internal Server ErrorやHTTP Bad Request等)を受け付けた場合(S307においてNo)、S308に進む。
S308において、判断部205は、通信途中にプロトコルを変更できる機能があるか否かを判断する。判断部205は、通信途中にプロトコルを変更できる機能があると判断すると(S308においてYes)、S309に進み、通信途中にプロトコルを変更できる機能が無いと判断すると(S308においてNo)、S316に進む。
S309において、判断部205は、TCP又はTLSの接続を切断した上で、S312に進む。
一方、S310において、設定部204は、図8に示す設定情報を適用し、S311に進む。
S311において、通信手順スキップ部207は、SETTINGSフレームによる通信情報の設定のフェーズをスキップし、図5に示す処理を終了する。
S312において、判断部205は、セキュリティ通信ありの通信であるか否かの確認を行う。判断部205は、セキュリティ通信ありの通信であると判断すると(S312においてYes)、S313に進み、セキュリティ通信なしの通信であると判断すると(S312においてNo)、S315に進む。
S313において、通信部201は、サーバ102にTLS接続を開始し、S314に進む。
S314において、通信手順切り替え部206は、TLSのClient HelloメッセージのALPN(Layer Protocol Negotiation)領域を利用して、プロトコルアップグレードの要求をサーバ102に送信し、S317に進む。
S314からS317に進んだ場合、S317において、通信手順切り替え部206は、サーバ102から受信したServer HelloメッセージのALPNフィールドに含まれるメッセージを解析し、プロトコルアップグレードに成功したか否かを判断する。
一方、S315において、通信部201は、サーバ102とTCP接続を開始し、S316に進む。
S316において、通信手順切り替え部206は、HTTPのupgradeヘッダを用いたプロトコルアップグレードをサーバ102に送信し、S317に進む。
S316からS317に進んだ場合、S317において、通信手順切り替え部206は、サーバ102から受信したSwitching Protocolのレスポンスを解析し、プロトコルアップグレードに成功したか否かを判断する。
S317において、通信手順切り替え部206は、プロトコルアップグレードに成功し、HTTP/2接続が可能であると判断した場合(S317においてYes)、S318に進む。一方、通信手順切り替え部206は、プロトコルアップグレードに成功せず、HTTP/2接続が可能でないと判断した場合(S317においてNo)、S321に進む。
S317の処理は、通信可否判断の処理の一例である。
S318において、通信手順切り替え部206は、HTTP/2の通信手順に従って、Client connection prefaceを送信し、S319に進む。
S319において、通信手順切り替え部206は、SETTINGSフレームの交換による設定情報を取得し、S320に進む。SETTINGSフレームの交換による設定情報は、例えば、ヘッダのテーブルサイズ、サーバのプッシュのありなし、最大ストリーム数、初期Window Size、データ圧縮のありなし等の情報である。
S320において、データ保存部203は、サーバ102の識別子に対応付けて、交換した設定情報を保存し、図5に示す処理を終了する。
一方、S321において、通信部201は、HTTP/1.1での通信を開始し、S322に進む。
S322において、データ保存部203は、サーバ102の識別子に対応付けて、HTTP/1.1接続にのみ対応したサーバであることを保存し、図5に示す処理を終了する。
図6は、通信装置101とサーバ102との間で通信の設定をスキップする場合の情報処理の一例を示すシーケンス図である。
本実施形態では、通信装置101は、指定された識別子に応じてサーバ102との間で設定のスキップを行うと決定する。通信装置101とサーバ102とは、TLSによるセキュリティ通信を行う(図5のS302でYes、S303でYes)。通信装置101は、通信装置101のアプリケーションによって指定された識別子(session−ID)を取得する。そして、通信装置101は、識別子を鍵として図8に示されるテーブルを検索し、設定情報があるか否かの判断を行い、識別子に対応する設定情報があった場合には設定情報を利用する。
M401において、通信装置101は、サーバ102にClient helloを送信する(図5のS305)。
M402において、サーバ102は、通信装置101にServer helloを送信する(図5のS305)。
本実施形態では、M401、及び、M402において、ALPNフィールドで指定されるプロトコルアップグレードを省略しているが、これに限らず、省略せずに記載するようにしてもよい。
通信装置101は、HTTP/2を開始すると判断する。
M403において、通信装置101は、Client connection prefaceをサーバ102に送信する。HTTP/2を開始すると判断すると、M404において、サーバ102は、HTTP 200 OKを通信装置101に送信する。
その後、通信装置101とサーバ102とは、過去の設定情報を適用した上で、HTTP/2通信を開始する。
本実施形態では、設定情報とは、例えば、ヘッダのテーブルサイズ、サーバのプッシュのありなし、最大ストリーム数、初期Window Size、データ圧縮のありなし、ヘッダ圧縮辞書等である。通信装置101とサーバ102とは、ヘッダ圧縮の辞書として、予め設定してあるものを利用してもよいし、通信開始後の手順によって追記、更新された辞書を利用してもよい。また、本実施形態では、通信装置101とサーバ102とは、過去の設定情報を適用するものとして説明を行ったが、これに限るものではない。例えば、通信装置101とサーバ102とは、それぞれ別の装置上のデータベースに保存してある予め決められた設定情報をダウンロードして適用してもよい。
図7は、サーバ102が通信装置101と通信を開始する際の情報処理の一例を示すフローチャートである。
S501において、通信部801は、通信装置101とTCP接続又はTLS接続を行い、S502に進む。
S502において、判断部805は、通信装置101からClient connection prefaceを受信したか否かの判断を行う。判断部805は、Client connection prefaceを受信したと判断した場合(S502においてYes)、S503に進む。一方、判断部805は、Client connection prefaceを受信しなかったと判断した場合(S502においてNo)、S507に進む。
S503において、判断部805は、通信装置101の識別子(IPアドレスポート番号、URI、session−ID等)から、データ保存部803に識別子に対応したエントリがあるか否かによって、以下の判断を行う。即ち、判断部805は、前記エントリがあるか否かに基づいて、通信処理の設定をスキップできる通信相手か否かの判断を行う。本実施形態では、判断部805は、データ保存部803にエントリが保持されているか否かをチェックしていたが、これに限らず、ネットワークを介した別の装置上のデータベースにエントリが保持されているか否かをチェックするようにしてもよい。判断部805は、前記エントリがある場合、設定スキップ可能であると判断し(S503においてYes)、S504に進み、前記エントリがない場合、設定スキップ可能でないと判断し(S503においてNo)、S516に進む。
S504において、設定部804は、データ保存部803の前記エントリに基づき設定情報を適用し、S505に進む。本実施形態では設定部804は、過去の設定情報を適用するものとして説明を行うが、これに限らず、別の装置上のデータベースに保存してある予め決められた設定情報をダウンロードして適用してもよい。
S505において、通信手順スキップ部807は、SETTINGSフレームによる通信情報の設定のフェーズをスキップし、S506に進む。実施形態では、通信手順スキップ部807は、全ての設定フェーズをスキップするものとして説明を行ったが、これに限らず、設定された一部の設定フェーズのみをスキップするようにしてもよい。
S506において、応答部802は、通信装置101にClient connection prefaceの受信を示すHTTP 200 OKの応答を返信し、図7に示す処理を終了する。
S516において、応答部802は、設定のスキップができないクライアントである場合、エラーメッセージ(Invalid method)を通信装置101に返信し、S507に進む。又は、S516において、応答部802は、サーバ102の電源オンオフ等によりエントリが存在しない場合、エラーメッセージ(Internal server error)を通信装置101に送信し、S507に進む。
S507において、判断部805は、プロトコルアップグレードの要求を受信したか否かを判断する。判断部805は、プロトコルアップグレードの要求を受信したと判断すると(S507においてYes)、S508に進み、プロトコルアップグレードの要求を受信しなかったと判断すると(S507においてNo)、S515に進む。
S508において、通信手順切り替え部806は、プロトコルのアップグレード方法を確認する。通信手順切り替え部806は、通信装置101から受信した内容等に基づいて、プロトコルのアップグレード方法を判断する。通信手順切り替え部806は、TLS ALPNフィールドを用いたClient Helloでプロトコルアップグレードを行うと判断した場合(S508においてClient Hello ALPN)、S509に進む。通信手順切り替え部806は、HTTP/1.1 Upgradeヘッダによる切り替えと判断した場合(S508においてプロトコルアップグレードヘッダ)、S511に進む。
S509において、通信手順切り替え部806は、TLSのClient HelloメッセージのALPNフィールドを利用したプロトコルアップグレードの要求を通信装置101より受信し、S510に進む。
S510において、応答部802は、TLS ALPNフィールドを用いたServer Helloでプロトコルのアップグレードを受け付けたことを通信装置101に返信し、S513に進む。
S511において、通信手順切り替え部806は、HTTP/1.1 Upgradeヘッダを通信装置101より受信し、S512に進む。
S512において、応答部802は、HTTP 101 Switching Protocolsでプロトコルのアップグレードを受け付けたことを通信装置101に返信し、S513に進む。
S513において、通信部201は、SETTINGSフレームの交換を行い、通信の設定情報を受信し、S514に進む。
S514において、データ保存部803は、交換した設定情報を保存し、図7に示す処理を終了する。
一方、S515において、通信部201は、HTTP/1.1通信を継続し、図7に示す処理を終了する。
通信装置101とサーバ102とにおける設定情報は、初期設定以後、SETTINGSフレームの交換や辞書の追加に応じて更新されてもよい。これによって、通信装置101とサーバ102とは、同じ設定情報を共有することができる。また、通信装置101又はサーバ102が、別の装置に設定情報をアップロードし、再接続時に通信装置101とサーバ102とがダウンロードして利用してもよい。これにより、通信装置101とサーバ102とはエントリを保持しなくてよくなり、リソースの使用を軽減することができる。
図8は、通信装置101の設定情報のエントリを示す図である。
ここでのサーバの識別子は、session−ID、IPアドレス及びポート番号、URI等である。これに限るものではなく、通信相手を一意に指定できればいいため、例えば、SIP URI等の他の識別子であってもよい。
設定情報としては、ヘッダのテーブルサイズ、サーバプッシュの有無、最大ストリーム数、初期Window Size、データ圧縮の有無、ヘッダ圧縮の辞書、暗号通信の有無等である。本実施形態では、SETTINGSフレームで交換する情報のみを設定情報として記憶するものとして説明を行ったが、これに限らず、他のレイヤの設定情報等を利用してもよい。例えば、MTUサイズ、TCPのWindow Size、アプリケーションのプロトコル情報、アプリケーションの設定情報等である。
尚、説明の簡略化のため省略しているが、サーバ102でも図8と同様のエントリを保持する。その場合、サーバの識別子としている部分は通信装置101の識別子となる。通信装置101の識別子は、接続要求元の通信装置の識別情報の一例である。
図9は、通信装置101とサーバ102とがHTTP/1.1通信の途中からHTTP/2通信に変更する場合の情報処理の一例を示すシーケンス図である。
M701において、通信装置101は、サーバ102にTCP接続を行い、HTTP/1.1による通信を開始する。
M702において、サーバ102は、通信装置101のTCP接続を受け付け、HTTP/1.1による通信を開始する。
これ以後、通信装置101とサーバ102とはHTTP/1.1通信を行う(M706)。
通信装置101は、HTTP/1.1を利用していたが、アプリケーションの決定によりHTTP/2通信に変更する。
M703において、通信装置101は、HTTP/2にプロトコルをアップグレードするために、サーバ102にHTTP/1.lのupgrade headerを送信する。
M704において、サーバ102は、通信装置101からのプロトコルのアップグレードを受け付けると、HTTP 101 Switching Protocolsを返信する。
M703〜M704において、通信装置101とサーバ102とは通信手順をスキップするか否かの判断を行い、スキップする場合、設定情報を適用した上でHTTP/2通信を行う(M705)。
このように、本実施形態の処理は、通信の途中からのプロトコルのアップグレードにも適用できる。HTTP/1.1とHTTP/2とでは、HTTP/1.1に戻すことはできないが、プロトコルをダウングレード(変更)できる場合には、プロトコルの変更処理にかかる処理を低減でき、待ち時間を低減できるようになる。
また、通信装置101とサーバ102との間で最適なパラメータを予め設定、又は、設定情報用のデータベース上に設置しておけば、煩雑なプロトコル開始時の設定処理を低減することができる。例えば、通信装置101とサーバ102とがカメラのような組み込み機器の場合、通信の接続と切断とが頻繁に発生する。このとき、通信装置101とサーバ102との通信手順やパラメータ設定の処理回数が多くなるため、更に上述した実施形態による処理の効果が見込める。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、上述した各実施形態によれば、デバイスが接続したことがある接続先に対して、再接続時の設定処理を低減することができる。また、デバイスが再接続するときのデータ送信開始処理までの時間を短縮することができる。また、通信の接続に係る時間を短縮することができる。
10 CPU、20 CPU、101 通信装置、102 サーバ

Claims (17)

  1. 第1の通信プロトコルによる通信と、前記第1の通信プロトコルとは異なる第2の通信プロトコルによる通信とを実行可能な通信装置であって、
    接続先の通信装置を指定する指定手段と、
    前記指定手段により指定された前記接続先の通信装置との通信に用いる通信プロトコルを前記第2の通信プロトコルから前記第1の通信プロトコルへ切り替える切り替え処理を省略するか否かを、前記接続先の通信装置の識別情報が所定の記憶部に登録されているか否かに基づいて断する判断手段と、
    前記判断手段により前記切り替え処理を省略しないと判断された場合、前記接続先の通信装置との間で前記第2の通信プロトコルによる通信を行うことで前記第2の通信プロトコルから前記第1の通信プロトコルへの前記切り替え処理を実行する実行手段と、
    前記判断手段により前記切り替え処理を省略すると判断された場合には、前記切り替え処理の少なくとも一部を実行することなく前記第1の通信プロトコルによる接続開始要求を前記接続先の通信装置に送信し、前記判断手段により前記切り替え処理を省略しないと判断された場合には、前記実行手段により前記切り替え処理を実行した後に前記第1の通信プロトコルによる前記接続開始要求を前記接続先の通信装置に送信する送信手段と、
    を有することを特徴とする通信装置。
  2. 前記実行手段による前記切り替え処理の実行結果に応じて、前記接続先の通信装置との間で前記第1の通信プロトコルによる通信が可能か否かを判断する通信可否判断手段を有することを特徴とする請求項1に記載の通信装置。
  3. 前記通信可否判断手段により前記第1の通信プロトコルによる通信が可能でないと判断された場合、前記接続先の通信装置との間で前記第2の通信プロトコルによる通信を開始する通信開始手段を有することを特徴とする請求項2に記載の通信装置。
  4. 前記接続開始要求に対応する接続開始応答を前記接続先の通信装置から受信した場合、前記第1の通信プロトコルに関する設定情報を適用する適用手段を有することを特徴とする請求項1乃至3の何れか1項記載の通信装置。
  5. 前記適用手段は、前記判断手段により前記切り替え処理を省略すると判断された場合、前記接続先の通信装置との間における過去の通信において使用された設定情報を適用することを特徴とする請求項4に記載の通信装置。
  6. 前記実行手段による前記切り替え処理の実行結果に応じて、前記接続先の通信装置の識別情報を前記所定の記憶部に登録する登録手段を有することを特徴とする請求項1乃至5の何れか1項に記載の通信装置。
  7. 前記所定の記憶部は、前記通信装置が有する記憶部、又は前記通信装置とネットワークを介して接続された記憶部であることを特徴とする請求項1乃至6の何れか1項に記載の通信装置。
  8. 第1の通信プロトコルによる通信と、前記第1の通信プロトコルとは異なる第2の通信プロトコルによる通信とを実行可能な通信装置であって、
    前記第1の通信プロトコルによる接続開始要求を接続要求元の通信装置から受信する受信手段と、
    前記受信手段により受信された前記接続開始要求に対応する前記接続要求元の通信装置との通信に用いる通信プロトコルを前記第2の通信プロトコルから前記第1の通信プロトコルへ切り替える切り替え処理を省略するか否かを、前記接続要求元の通信装置の識別情報が所定の記憶部に登録されているか否かに基づいて判断する判断手段と、
    前記判断手段により前記切り替え処理を省略しないと判断された場合、前記接続要求元の通信装置との間で前記第2の通信プロトコルによる通信を行うことで前記第2の通信プロトコルから前記第1の通信プロトコルへの前記切り替え処理を実行する実行手段と、
    前記判断手段により前記切り替え処理を省略すると判断された場合には、前記切り替え処理の少なくとも一部を実行することなく前記第1の通信プロトコルによる接続開始応答を前記接続要求元の通信装置に送信し、前記判断手段により前記切り替え処理を省略しないと判断された場合には、前記実行手段により前記切り替え処理を実行した後に前記第1の通信プロトコルによる前記接続開始応答を前記接続要求元の通信装置に送信する送信手段と、
    を有することを特徴とする通信装置。
  9. 前記判断手段により前記切り替え処理を省略すると判断された場合、前記識別情報と対応づけて前記所定の記憶部に記憶されている前記第1の通信プロトコルに関する設定情報を適用する適用手段を有することを特徴とする請求項8記載の通信装置。
  10. 前記実行手段による前記切り替え処理の実行結果に応じて、前記接続要求元の通信装置の識別情報を前記所定の記憶部に登録する登録手段を有することを特徴とする請求項8又は9に記載の通信装置。
  11. 前記所定の記憶部は、前記通信装置が有する記憶部、又は前記通信装置とネットワークを介して接続された記憶部であることを特徴とする請求項8乃至10の何れか1項に記載の通信装置。
  12. 前記設定情報には、SETTINGSフレームの情報及びヘッダ圧縮辞書の情報の少なくとも何れかが含まれることを特徴とする請求項及び9何れか1項記載の通信装置。
  13. 前記実行手段により実行される前記切り替え処理は、前記第2の通信プロトコルとしてのHTTP/1.1から前記第1の通信プロトコルとしてのHTTP/2へのアップグレード処理であることを特徴とする請求項1乃至12の何れか1項に記載の通信装置。
  14. 第1の通信プロトコルによる通信と、前記第1の通信プロトコルとは異なる第2の通信プロトコルによる通信とを実行可能な、第1の通信装置と第2の通信装置とを含む通信システムであって、
    前記第1の通信装置は、
    接続先の通信装置を指定する指定手段と、
    前記指定手段により前記接続先の通信装置として指定された前記第2の通信装置との通信に用いる通信プロトコルを前記第2の通信プロトコルから前記第1の通信プロトコルへ切り替える切り替え処理を省略するか否かを、前記第2の通信装置の識別情報が登録されているか否かに基づいて判断する第1の判断手段と、
    前記第1の判断手段により前記切り替え処理を省略しないと判断された場合、前記第2の通信装置との間で前記第2の通信プロトコルによる通信を行うことで前記第2の通信プロトコルから前記第1の通信プロトコルへの前記切り替え処理を実行する実行手段と、
    前記第1の判断手段により前記切り替え処理を省略すると判断された場合には、前記切り替え処理の少なくとも一部を実行することなく前記第1の通信プロトコルによる接続開始要求を前記第2の通信装置に送信し、前記第1の判断手段により前記切り替え処理を省略しないと判断された場合には、前記実行手段により前記切り替え処理を実行した後に前記第1の通信プロトコルによる前記接続開始要求を前記第2の通信装置に送信する第1の送信手段と、を有し、
    前記第2の通信装置は、
    前記接続開始要求を前記第1の通信装置から受信した場合に、前記第1の通信装置との通信に用いる通信プロトコルを前記第2の通信プロトコルから前記第1の通信プロトコルへ切り替える切り替え処理を省略するか否かを、前記第1の通信装置の識別情報が登録されているか否かに基づいて判断する第2の判断手段と、
    前記第2の判断手段により前記切り替え処理を省略すると判断された場合、前記切り替え処理の少なくとも一部を実行することなく前記第1の通信プロトコルによる接続開始応答を前記第1の通信装置に送信する第2の送信手段と、
    を有することを特徴とする通信システム。
  15. 第1の通信プロトコルによる通信と、前記第1の通信プロトコルとは異なる第2の通信プロトコルによる通信とを実行可能な通信装置が実行する情報処理方法であって、
    接続先の通信装置を指定する指定工程と、
    前記指定工程において指定された前記接続先の通信装置との通信に用いる通信プロトコルを前記第2の通信プロトコルから前記第1の通信プロトコルへ切り替える切り替え処理を省略するか否かを、前記接続先の通信装置の識別情報が所定の記憶部に登録されているか否かに基づいて判断する判断工程と、
    前記判断工程において前記切り替え処理を省略しないと判断された場合、前記接続先の通信装置との間で前記第2の通信プロトコルによる通信を行うことで前記第2の通信プロトコルから前記第1の通信プロトコルへの前記切り替え処理を実行する実行工程と、
    前記判断工程において前記切り替え処理を省略すると判断された場合には、前記切り替え処理の少なくとも一部を実行することなく前記第1の通信プロトコルによる接続開始要求を前記接続先の通信装置に送信し、前記判断工程において前記切り替え処理を省略しないと判断された場合には、前記実行工程において前記切り替え処理を実行した後に前記第1の通信プロトコルによる前記接続開始要求を前記接続先の通信装置に送信する送信工程と、
    を含むことを特徴とする情報処理方法。
  16. 第1の通信プロトコルによる通信と、前記第1の通信プロトコルとは異なる第2の通信プロトコルによる通信とを実行可能な通信装置が実行する情報処理方法であって、
    前記第1の通信プロトコルによる接続開始要求を接続要求元の通信装置から受信する受信工程と、
    前記受信工程において受信された前記接続開始要求に対応する前記接続要求元の通信装置との通信に用いる通信プロトコルを前記第2の通信プロトコルから前記第1の通信プロトコルへ切り替える切り替え処理を省略するか否かを、前記接続要求元の通信装置の識別情報が所定の記憶部に登録されているか否かに基づいて判断する判断工程と、
    前記判断工程において前記切り替え処理を省略しないと判断された場合、前記接続要求元の通信装置との間で前記第2の通信プロトコルによる通信を行うことで前記第2の通信プロトコルから前記第1の通信プロトコルへの前記切り替え処理を実行する実行工程と、
    前記判断工程において前記切り替え処理を省略すると判断された場合には、前記切り替え処理の少なくとも一部を実行することなく前記第1の通信プロトコルによる接続開始応答を前記接続要求元の通信装置に送信し、前記判断工程において前記切り替え処理を省略しないと判断された場合には、前記実行工程において前記切り替え処理を実行した後に前記第1の通信プロトコルによる前記接続開始応答を前記接続要求元の通信装置に送信する送信工程と、
    を含むことを特徴とする情報処理方法。
  17. コンピュータを、請求項1乃至13の何れか1項に記載の通信装置の各手段として機能させるためのプログラム。
JP2014197319A 2014-09-26 2014-09-26 通信装置、通信システム、情報処理方法及びプログラム Active JP6429559B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014197319A JP6429559B2 (ja) 2014-09-26 2014-09-26 通信装置、通信システム、情報処理方法及びプログラム
US14/864,517 US10506080B2 (en) 2014-09-26 2015-09-24 Communication apparatus, communication system, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014197319A JP6429559B2 (ja) 2014-09-26 2014-09-26 通信装置、通信システム、情報処理方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018202978A Division JP6672428B2 (ja) 2018-10-29 2018-10-29 通信装置、通信システム、通信方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2016072684A JP2016072684A (ja) 2016-05-09
JP2016072684A5 JP2016072684A5 (ja) 2017-10-26
JP6429559B2 true JP6429559B2 (ja) 2018-11-28

Family

ID=55585803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014197319A Active JP6429559B2 (ja) 2014-09-26 2014-09-26 通信装置、通信システム、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US10506080B2 (ja)
JP (1) JP6429559B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3494686B1 (en) 2016-08-05 2020-12-30 Telefonaktiebolaget LM Ericsson (publ) Transport protocol server relocation
US10545940B2 (en) * 2017-02-22 2020-01-28 Red Hat, Inc. Supporting secure layer extensions for communication protocols
US10904313B2 (en) * 2017-06-20 2021-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Apparatuses, methods, computer programs, and computer program products for live uplink adaptive streaming
EP4085598B1 (en) * 2019-12-30 2024-03-06 Altice Labs, S.A. System and method for supporting permanent http connections
JP2022184168A (ja) 2021-05-31 2022-12-13 シャープ株式会社 端末装置、サーバ装置、通信方法及びプログラム

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0723200A (ja) * 1993-06-22 1995-01-24 Ricoh Co Ltd 通信制御方法
JP3971465B2 (ja) * 1995-06-08 2007-09-05 ソニー株式会社 カメラのセットアップ方法及びそのシステム
JP3380514B2 (ja) * 1996-10-30 2003-02-24 松下電送システム株式会社 データ通信装置及びファクシミリ装置
US5991795A (en) * 1997-04-18 1999-11-23 Emware, Inc. Communication system and methods using dynamic expansion for computer networks
US6930709B1 (en) * 1997-12-04 2005-08-16 Pentax Of America, Inc. Integrated internet/intranet camera
US6567122B1 (en) * 1998-03-18 2003-05-20 Ipac Acquisition Subsidiary I Method and system for hosting an internet web site on a digital camera
US6857009B1 (en) * 1999-10-22 2005-02-15 Nomadix, Inc. System and method for network access without reconfiguration
US8074256B2 (en) * 2000-01-07 2011-12-06 Mcafee, Inc. Pdstudio design system and method
US7154621B2 (en) * 2001-03-20 2006-12-26 Lightsurf Technologies, Inc. Internet delivery of digitized photographs
EP1267542A1 (en) * 2001-06-12 2002-12-18 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Method for communication between a client application and a server through a proxy-server
JP4629929B2 (ja) * 2001-08-23 2011-02-09 株式会社リコー デジタルカメラシステム及びこの制御方法
US20040210663A1 (en) * 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
JP4209712B2 (ja) * 2003-04-15 2009-01-14 株式会社リコー 情報処理装置及びセッション管理方法
JP2004363993A (ja) 2003-06-05 2004-12-24 Sharp Corp 通信端末
US20040259578A1 (en) * 2003-06-21 2004-12-23 George Cherian Apparatus and associated method, for storing multiple synchronization identifier information at a mobile station of a radio communication system
US7457806B2 (en) * 2003-12-18 2008-11-25 International Business Machines Corporation Accessing a non-relational store with a container-managed persistence bean via a web service function
US7512970B2 (en) * 2004-07-15 2009-03-31 Cisco Technology, Inc. Host credentials authorization protocol
JP4330520B2 (ja) * 2004-12-08 2009-09-16 富士通株式会社 通信装置
US9118717B2 (en) * 2005-02-18 2015-08-25 Cisco Technology, Inc. Delayed network protocol proxy for packet inspection in a network
US7921420B2 (en) * 2005-04-29 2011-04-05 Sharp Laboratories Of America, Inc. Systems and methods for updating imaging device drivers on one or more computer systems
US8244179B2 (en) * 2005-05-12 2012-08-14 Robin Dua Wireless inter-device data processing configured through inter-device transmitted data
JP4909026B2 (ja) * 2006-11-22 2012-04-04 キヤノン株式会社 受信装置、方法、及び、プログラム
JP4976121B2 (ja) * 2006-12-19 2012-07-18 株式会社エヌ・ティ・ティ・ドコモ 移動通信ネットワークシステム及びサーバ装置
JP4748057B2 (ja) * 2006-12-28 2011-08-17 ソニー株式会社 情報処理装置、起動方法、およびプログラム
JP5444639B2 (ja) * 2007-11-20 2014-03-19 パナソニック株式会社 サーバ装置と分散サーバシステム
US8898236B2 (en) * 2008-10-31 2014-11-25 Netapp, Inc. Automated conversion of versioned data collections
US9088535B1 (en) * 2009-01-30 2015-07-21 International Business Machines Corporation Electronic message recipient disposition characteristics
US8230472B2 (en) * 2009-06-04 2012-07-24 Advanced Video Communications Camera image transmission
US8433896B2 (en) * 2009-09-29 2013-04-30 Oracle International Corporation Simplifying addition of web servers when authentication server requires registration
JP2011124770A (ja) * 2009-12-10 2011-06-23 Panasonic Corp Vpn装置、vpnネットワーキング方法、プログラム、及び記憶媒体
US8155625B2 (en) * 2009-12-22 2012-04-10 Motorola Mobility, Inc. Methods and apparatus for conserving energy used by a mobile device
US9203684B1 (en) * 2010-07-14 2015-12-01 Google Inc. Reduction of web page load time using HTTP header compression
CN102075445B (zh) * 2011-02-28 2013-12-25 杭州华三通信技术有限公司 负载均衡方法及装置
US9537899B2 (en) * 2012-02-29 2017-01-03 Microsoft Technology Licensing, Llc Dynamic selection of security protocol
US20130298209A1 (en) * 2012-05-02 2013-11-07 Interdigital Patent Holdings, Inc. One round trip authentication using sngle sign-on systems
US9438701B2 (en) * 2012-05-05 2016-09-06 Citrix Systems, Inc. Systems and methods for a SPDY to HTTP gateway
JP5882833B2 (ja) * 2012-05-29 2016-03-09 キヤノン株式会社 認証装置、認証システム、認証方法、及びプログラム
JP2014027421A (ja) * 2012-07-25 2014-02-06 Toshiba Corp 通信端末および通信方法
KR20140052703A (ko) 2012-10-25 2014-05-07 삼성전자주식회사 프록시 서버를 이용한 웹 서비스 가속 방법 및 장치
JP2014160363A (ja) * 2013-02-20 2014-09-04 Mitsubishi Electric Corp プラント監視制御システム
US9723069B1 (en) * 2013-03-15 2017-08-01 Kaazing Corporation Redistributing a connection
FR3015832A1 (fr) * 2013-12-23 2015-06-26 Orange Technique de controle du routage d'une requete relative a un service
WO2015135595A1 (en) * 2014-03-14 2015-09-17 Telefonaktiebolaget L M Ericsson (Publ) Synchronization of settings for supplementary services
US20150373048A1 (en) * 2014-06-24 2015-12-24 Kashif Ali Siddiqui Enterprise Mobile Notification Solution
JP6402583B2 (ja) * 2014-10-23 2018-10-10 富士通株式会社 中継装置、中継システム、中継方法、及び、プログラム

Also Published As

Publication number Publication date
JP2016072684A (ja) 2016-05-09
US20160094686A1 (en) 2016-03-31
US10506080B2 (en) 2019-12-10

Similar Documents

Publication Publication Date Title
JP6429559B2 (ja) 通信装置、通信システム、情報処理方法及びプログラム
JP6584186B2 (ja) 通信装置、通信方法及びプログラム
US10623699B2 (en) Device, system and method for embedded video chat
JP6406801B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP2007183797A (ja) アプリケーション装置及び電力状態復帰方法
JP6530634B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2011114583A (ja) 撮像装置、その制御方法、プログラム
JP6862191B2 (ja) 情報処理装置、その制御方法、及び、プログラム
WO2017090185A1 (ja) 通信装置、通信システム、通信方法、および、通信プログラム
JP2018093433A (ja) 通信システム、画像形成装置とその制御方法、及びプログラム
KR20160131066A (ko) 시커 디바이스와 목표 디바이스 간의 접속을 설정하는 방법 및 시스템
CN108306943B (zh) 信息处理装置、其控制方法、存储介质及信息处理系统
JP6548445B2 (ja) 通信装置、通信方法及びプログラム
JP2016072684A5 (ja)
JP6672428B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP2016038750A (ja) 情報処理装置およびその方法、並びに、情報処理システム
US9596326B2 (en) Communication apparatus, communication method, and non-transitory computer-readable medium
JP6157190B2 (ja) 通信装置、その制御方法、プログラム
JP6516539B2 (ja) 通信装置、通信方法、およびプログラム
US9602579B2 (en) Communication apparatus, method for controlling the same, and program
JP5328875B2 (ja) 通信装置及び通信装置の電力の復帰方法
US9106608B2 (en) Communication device, communication method, and non-transitory computer-readable recording medium
JP6213059B2 (ja) 中継プログラム、中継装置、及び中継方法
US20140297877A1 (en) Method and device for pairing a terminal and a user account
JP2019101594A (ja) 通信装置、通信方法、およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181030

R151 Written notification of patent or utility model registration

Ref document number: 6429559

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151