JP6548445B2 - 通信装置、通信方法及びプログラム - Google Patents
通信装置、通信方法及びプログラム Download PDFInfo
- Publication number
- JP6548445B2 JP6548445B2 JP2015095654A JP2015095654A JP6548445B2 JP 6548445 B2 JP6548445 B2 JP 6548445B2 JP 2015095654 A JP2015095654 A JP 2015095654A JP 2015095654 A JP2015095654 A JP 2015095654A JP 6548445 B2 JP6548445 B2 JP 6548445B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- communication device
- parameter
- information
- determination unit
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/19—Connection re-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Communication Control (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
- Environmental & Geological Engineering (AREA)
Description
一方、特許文献1に示されているように、複数のTCP接続を確立し、複数のHTTP通信を並行して行うことによって、通信速度を向上させる方法が提案されている。
また、プロトコルのアップグレード処理中の通信パラメタの交換の際、通信相手の通信装置がそのプロトコルの仕様に準拠しない不適正な値、又は通信装置自身が許容できない値の通信パラメタを送信してくる可能性がある。このとき、通信装置は、接続エラーが発生したとして、通信相手の通信装置に通信を終了する旨を示す信号を送信し、その後にそのプロトコルによる通信を終了させなければならない。しかし、通信相手の通信装置が再接続を試みて、新たに、そのプロトコルによる通信を開始する場合、再び不適正な値、又は許容できない値の通信パラメタを送信してしまい、正常な通信を開始できず、相互接続性が低下するという課題があった。
そこで、本発明は、再度通信路を確立する場合の通信にかかる時間を短縮することを目的とする。
(システム構成)
図1は、通信システムのシステム構成の一例を示す図である。
通信装置10は、本実施形態におけるクライアントとしての通信装置であり、IEEE802.11等に則った無線LAN(Local Area Network)通信機能を有する。通信装置10は、デジタルカメラ、デジタルビデオカメラ、携帯電話、スマートフォン等である。また、通信装置10は、PC、ノートPC、サーバ、等の情報処理装置であってもよい。
本実施形態では、通信装置10は、無線LAN通信機能を用いて他の装置と通信を行うこととする。しかし、通信装置10は、Bluetooth(登録商標)、ZigBee(登録商標)、RFID、等の他の無線LAN通信機能、を利用して他の装置と通信してもよい。また、通信装置10は、Ethernet(登録商標)等の有線LAN通信機能、又は無線LAN通信機能と有線LAN通信機能との組合せを利用して他の装置と通信を行うこととしてもよい。
本実施形態では、通信装置20は、直接無線LANを介して通信装置10と接続されることとするが、無線アクセスポイントを経由して通信装置10と接続されることとしてもよい。また、通信装置20は、ネットワークスイッチやルータ等の中継装置を経由して通信装置10と有線LAN接続されることとしてもよい。
さらに、本実施形態では、通信装置10と通信装置20とは、同一LANを介して相互に接続されることとする。しかし、通信装置10と通信装置20とは、WAN(Wide Area Network)、インターネット、携帯電話等の公衆無線回線等を介して相互に接続されることとしてもよい。
CPU201は、通信装置10の全体の動作を制御する。ROM202は、変更を必要としないプログラムやパラメタ等を記憶する。RAM203は、補助記憶装置204等から供給されるプログラムやデータを記憶し、CPU201のワークエリアとしても機能する。補助記憶装置204は、画像コンテンツや映像コンテンツ、各種設定ファイル、各種設定された閾値等のデータを記憶する。
表示部205は、ユーザが通信装置10を操作するためのGUI(Graphical User Interface)を表示する。操作部206は、ユーザが通信装置10を操作するための入力インタフェースである。無線通信部207は、アンテナ208を制御し、無線アクセスポイント30、又は通信装置20との無線LAN通信を行う。
通信装置20のCPUが、通信装置20のROM又は補助記憶装置に記憶されたプログラムに基づき処理を実行することによって、後述する通信装置20の機能、後述するシーケンス図の処理及び後述するフローチャートの処理が実現される。
図3は、通信装置20の機能構成の一例を示す図である。
通信装置20は、制御部301、無線LAN通信制御部302、表示制御部303、操作制御部304、記憶制御部305、TCP/IP通信制御部306、HTTP通信制御部307、通信パラメタ決定部308を含む。また、通信装置20は、通信パラメタ追加部309、コネクションエラー判断部310を含む。
TCP/IP通信制御部306は、無線LAN通信制御部302を介して、通信装置10との間でTCP(Transmission Control Protocol)/IP(Internet Protocol)方式の通信を行う。TCP通信の接続処理は、通信装置10と通信装置20との間で通信路としてのコネクションの確立処理の一例である。本実施形態では、通信装置10と通信装置20とは、TCP/IPによる通信を行うこととするが、UDP等を利用する通信を行うこととしてもよい。
通信パラメタ決定部308は、HTTP通信制御部307を介して、通信装置10に対して送信するGOAWAYフレーム中に、通信装置10とのHTTP通信接続に必要となる通信パラメタを追加するか否かを判定する。
例えば、通信装置10から送信されたSETTINGSフレームに含まれる通信パラメタの値がHTTP/2の仕様に準拠しない不適正な値(以下では、不適正パラメタ値)、又は通信装置20が許容できない値(以下では、非許容パラメタ値)であったとする。その場合、通信パラメタ決定部308は、通信装置10とのHTTP通信接続に必要となる通信パラメタをGOAWAYフレームに追加すると判定する。通信パラメタ決定部308は、通信パラメタを追加すると判定した場合、追加する通信パラメタの内容を決定する。
コネクションエラー判断部310は、HTTP通信制御部307を介して、通信装置10とのHTTP通信中に検知されたコネクションエラーの要因を判定し、その要因の内容に応じて、GOAWAYフレームに追加する通信パラメタを決定する。コネクションエラーは、接続エラーの一例である。
通信パラメタ決定部408は、HTTP通信制御部407及び通信パラメタ取得部409を介して、通信装置20とのHTTP通信の接続に必要な通信パラメタを決定する。
通信パラメタ取得部409は、HTTP通信制御部407を介して、通信装置20から受信したGOAWAYフレーム中に含まれる通信パラメタを取得する。
図5は、GOAWAYフレームのデータ構造の一例を示す図である。GOAWAYフレームは、新規ストリームの生成をしないことを通信相手に通知するためのメッセージである。本実施形態では、通信の終了を指示するための終了メッセージとしてGOAWAYフレームが用いられる。ストリームとは、通信装置間で確立されたTCP通信の接続等のコネクション上における論理的な通信路のことである。通信装置10、通信装置20は、確立されたTCP通信の接続等のコネクション上にストリームを生成し、生成したストリーム上でメッセージをやり取りすることにより互いに通信を行う。
GOAWAYフレーム500は、GOAWAYフレームのデータ全体を示す。
最終ストリームID501は、通信装置10と通信装置20とのHTTP通信において、最後に使用されたストリームのIDである。
追加デバッグ情報503は、GOAWAYフレーム内にHTTP/2プロトコル規格外で追加される情報である。本実施形態において、追加デバッグ情報503は、エラー発生ストリームID504、エラー詳細要因コード505、及び通信パラメタ506を含む。本実施形態において、通信パラメタ追加部309は、追加デバッグ情報503に、通信パラメタを追加する。
エラー詳細要因コード505は、コネクションエラーが発生したエラーの詳細な要因を示す情報である。エラー詳細要因コード505の内容は、エラーコード502よりも詳細であるとする。
通信パラメタ506は、通信装置10が通信装置20に再度HTTP通信接続を実施する際に必要となる通信パラメタである。通信パラメタ506は、通信の種別507、通信パラメタの名称508、通信パラメタの値509を含む。
以下、本実施形態における通信装置10と通信装置20との間における通信処理について、詳細に説明する。
(通信接続〜切断〜再接続の処理)
図6は、通信装置10と通信装置20との間のHTTP通信処理の一例を示すシーケンス図である。
M601において、HTTP通信制御部407は、通信装置20とHTTP通信接続を行う。M601の処理の詳細については、図7で後述する。
SETTINGSパラメタは、送信者が許可する同時ストリームの最大数を示すSETTINGS_MAX_CONCURRENT_STREAMS、送信者の初期ウィンドウサイズを示すSETTINGS_INITIAL_WINDOW_SIZEを含む。また、SETTINGSパラメタは、ヘッダリストの最大サイズを示すSETTINGS_MAX_HEADER_LIST_SIZE等を含む。SETTINGSパラメタは、HTTP/2の仕様で定義された他のSETTINGSパラメタ、HTTP/2の仕様で定義されない独自のSETTINGSパラメタ等であってもよい。
M604において、通信パラメタ決定部308は、HTTP通信制御部307により発生されたコネクションエラーの要因を特定する。そして、通信パラメタ決定部308は、特定した要因に基づいて、コネクションエラーとならないHTTP/2の仕様に準拠した適正なSETTINGSパラメタ又は通信装置20が許容可能なSETTINGSパラメタを決定する。即ち、通信パラメタ決定部308は、再度の通信路の確立に利用可能な通信パラメタ及び、規格に準拠した通信パラメタのうち少なくとも何れか一つを、通信装置10との間で再度通信路を確立する場合に利用可能な通信パラメタとして決定する。
M606において、HTTP通信制御部307は、通信装置10に対して、M605で通信パラメタが追加されたGOAWAYフレームを送信する。
M607において、通信パラメタ取得部409は、HTTP通信制御部407を介して通信装置20から受信したGOAWAYフレームを受信し、受信したGOAWAYフレーム中の追加デバッグ情報503に含まれている通信パラメタ506を取得する。
M609の処理は、M601の処理と同様である。
M610において、通信パラメタ決定部408は、前回のHTTP通信接続の終了の際に受信したGOAWAYフレーム中の通信パラメタに基づきSETTINGSパラメタを決定する。決定されたSETTINGSパラメタは、通信装置20から受信した、HTTP/2の仕様に準拠した値又は通信装置20が許容可能な値である。
M612において、HTTP通信制御部307は、通信装置10からSETTINGSフレームを受信し、受信したSETTINGSフレームに含まれるSETTINGSパラメタが適正な値であるかどうか確認する。
M613において、HTTP通信制御部307は、M612で受信したSETTINGSフレームに含まれるSETTINGSパラメタが適正な値であると確認した場合、以下の処理を行う。即ち、HTTP通信制御部307は、通信装置10に対して、M612で受信したSETTINGSパラメタが適正な値であることを確認したことを示すACKフラグを設定したSETTINGSフレームを送信する。
図7は、通信装置10と通信装置20とのHTTP通信処理の一例を示すシーケンス図である。図7の処理は、M601、及びM609の処理の詳細を示すものである。
M701において、TCP/IP通信制御部406は、通信装置20とTCP通信接続を行う。
M702において、HTTP通信制御部407は、HTTPS通信を行う場合、通信装置20とTLS(Transport Layer Security)通信接続を行う。HTTP通信制御部407は、TLS通信接続中に、ALPN(Application Layer Protocol Negotiation)によりHTTP/2通信のネゴシエーションを行う。
M704において、HTTP通信制御部307は、M703で送信されたHTTP/2アップグレード要求に応じて、通信装置10にHTTP/2アップグレード応答を送信する。M704の処理以降、通信装置10と通信装置20とは、HTTP/2通信を開始する。
M705において、HTTP通信制御部407は、通信装置20に対して、クライアントコネクションプリフェイスを送信する。クライアントコネクションプリフェイスは、PRIメソッドと、SETTINGSフレームと、を含む。
M706において、HTTP通信制御部307は、通信装置10に対して、サーバコネクションプリフェイスを送信する。サーバコネクションプリフェイスは、空の可能性があるSETTINGSフレームだけで構成される。
以下、本実施形態における通信装置10と通信装置20との間の通信処理について、図3、図4に示す機能モジュール構成を用いて詳細に説明する。
(GOAWAYフレーム送信処理)
図8は、通信装置20によるGOAWAYフレーム送信処理の一例を示すフローチャートである。なお、通信装置10もGOAWAYフレームを送信することが可能である。
S801において、HTTP通信制御部307は、TCP/IP通信制御部306を介して、通信装置10からSETTINGSフレームを受信する。
S802において、HTTP通信制御部307は、S801で受信したSETTINGSフレームからSETTINGSパラメタを取得する。
例えば、HTTP通信制御部307は、通信装置20の補助記憶装置に記憶された設定ファイルから適正なSETTINGSフレームの情報を読み出し、以下の処理を行う。即ち、HTTP通信制御部307は、読み出した情報に基づいて、受信したSETTINGSフレームのフレームサイズ、パディング長、SETTINGSパラメタが適正な値か否かを判定する。そして、受信したSETTINGSフレームのフレームサイズ、パディング長、SETTINGSパラメタが適正な値ではないと判定した場合、コネクションエラーを発生させることとする。
HTTP通信制御部307は、コネクションエラーを発生させると判定した場合、S804の処理に進み、コネクションエラーを発生させないと判定した場合、S807の処理に進む。
S805において、通信パラメタ追加部309は、S804で決定した通信パラメタを、GOAWAYフレームに追加する。
S806において、HTTP通信制御部307は、通信装置10に対して、S805で通信パラメタを追加されたGOAWAYフレームを送信して、処理を終了する。
S807において、HTTP通信制御部307は、通信装置10に対して、受信したSETTINGSパラメタが適正な値であることを確認したことを示すACKフラグを設定したSETTINGSフレームを送信する。
S808において、HTTP通信制御部307は、管理する通信装置10に関する既存のSETTINGSパラメタを、S802で取得したSETTINGSパラメタの値で置き換えて、処理を終了する。
図9は、通信装置20によるGOAWAYフレームに追加する通信パラメタの決定処理の一例を示すフローチャートである。図9の処理は、S804の処理の詳細である。
S901において、コネクションエラー判断部310は、コネクションエラーの情報を取得する。例えば、コネクションエラー判断部310は、HTTP通信制御部307に対して、S803において発生したエラー要因を問い合わせることで、コネクションエラーの情報を取得することができる。コネクションエラー判断部310は、例えば、HTTP通信制御部307からS801で受信したSETTINGSフレームの情報を取得する。
コネクションエラー判断部310は、コネクションエラーの要因を、取得されたSETTINGSパラメタが不適正パラメタ値、又は非許容パラメタ値であることと判定した場合、S903の処理に進む。コネクションエラー判断部310は、コネクションエラーの要因を、取得されたSETTINGSパラメタが不適正パラメタ値、又は非許容パラメタ値であることではないと判定した場合、S904の処理に進む。
S903において、通信パラメタ決定部308は、HTTP/2の仕様に準拠した値、又は通信装置20が許容可能な値を持つSETTINGSパラメタを決定する。そして、通信パラメタ決定部308は、決定したSETTINGSパラメタをGOAWAYフレームに追加する通信パラメタとして決定して、図9の処理を終了する。S903の処理の詳細は、図10で後述する。
コネクションエラー判断部310は、コネクションエラーの要因を、S801で受信したSETTINGSフレームのフレームサイズが不適正な値であることと判定した場合、S905の処理に進む。コネクションエラー判断部310は、コネクションエラーの要因を、S801で受信したSETTINGSフレームのフレームサイズが不適正な値であることではないと判定した場合、S906の処理に進む。
S905において、通信パラメタ決定部308は、HTTP/2の仕様に準拠した値、又は通信装置20が許容可能な値のフレームサイズを決定する。そして、通信パラメタ決定部308は、決定したフレームサイズをGOAWAYフレームに追加する通信パラメタとして決定して、図9の処理を終了する。
コネクションエラー判断部310は、コネクションエラーの要因を、S801で受信したSETTINGSフレームのパディング長が不適正な値であることと判定した場合、S907の処理に進む。コネクションエラー判断部310は、コネクションエラーの要因を、S801で受信したSETTINGSフレームのパディング長が不適正な値であることではないと判定した場合、S908の処理に進む。
S908において、通信パラメタ決定部308は、GOAWAYフレームに追加する通信パラメタはないと判定し、図9の処理を終了する。
図10は、通信装置20によるGOAWAYフレームに追加するSETTINGSパラメタの決定処理の一例を示すフローチャートである。図10の処理は、S903の処理の詳細を表す。
S1001において、コネクションエラー判断部310は、S901で取得した情報に基づいて、以下の処理を行う。即ち、コネクションエラー判断部310は、コネクションエラーの要因が、SETTINGSパラメタの同時ストリームの最大数が不適正パラメタ値、又は非許容パラメタ値であることか否かを判定する。コネクションエラー判断部310は、例えば、通信装置20の補助記憶装置に記憶された設定ファイルから適正なSETTINGSフレームの情報を取得する。そして、コネクションエラー判断部310は、取得した情報に基づいて、S901で取得したコネクションエラーの情報に含まれるSETTINGSパラメタの同時ストリームの最大数が適正な値又は許容されている値か否かを判定する。
コネクションエラー判断部310は、コネクションエラーの要因を、SETTINGSパラメタの同時ストリームの最大数が不適正パラメタ値、又は非許容パラメタ値であることと判定した場合、S1002の処理に進む。コネクションエラー判断部310は、コネクションエラーの要因を、SETTINGSパラメタの同時ストリームの最大数が不適正パラメタ値、又は非許容パラメタ値であることではないと判定した場合、S1003の処理に進む。SETTINGSパラメタに含まれるSETTINGS_MAX_CONCURRENT_STREAMSは、同時ストリームの最大数を示す。
S1003において、コネクションエラー判断部310は、S901で取得した情報に基づいて、コネクションエラーの要因が、SETTINGSパラメタの初期ウィンドウサイズが不適正パラメタ値、又は非許容パラメタ値であることか否かを判定する。コネクションエラー判断部310は、例えば、通信装置20の補助記憶装置に記憶された設定ファイルから適正なSETTINGSフレームの情報を取得する。そして、コネクションエラー判断部310は、取得した情報に基づいて、S901で取得したコネクションエラーの情報に含まれるSETTINGSパラメタの初期ウィンドウサイズが適正な値又は許容されている値か否かを判定する。
コネクションエラー判断部310は、特定した要因が、SETTINGSパラメタの初期ウィンドウサイズが不適正パラメタ値、又は非許容パラメタ値であることと判定した場合、S1004の処理に進む。コネクションエラー判断部310は、特定した要因が、SETTINGSパラメタの初期ウィンドウサイズが不適正パラメタ値、又は非許容パラメタ値であることではないと判定した場合、S1005の処理に進む。SETTINGSパラメタに含まれるSETTINGS_INITIAL_WINDOW_SIZEは、初期ウィンドウサイズを示す。
S1005において、コネクションエラー判断部310は、S901で取得した情報に基づいて、コネクションエラーの要因が、SETTINGSパラメタのヘッダリストの最大サイズが不適正パラメタ値、又は非許容パラメタ値であることか否かを判定する。コネクションエラー判断部310は、例えば、通信装置20の補助記憶装置に記憶された設定ファイルから適正なSETTINGSフレームの情報を取得する。そして、コネクションエラー判断部310は、取得した情報に基づいて、S901で取得したコネクションエラーの情報に含まれるSETTINGSパラメタのヘッダリストの最大サイズが適正な値又は許容されている値か否かを判定する。
コネクションエラー判断部310は、特定した要因が、SETTINGSパラメタのヘッダリストの最大サイズが不適正パラメタ値、又は非許容パラメタ値であることと判定した場合、S1006の処理に進む。コネクションエラー判断部310は、特定した要因が、SETTINGSパラメタのヘッダリストの最大サイズが不適正パラメタ値、又は非許容パラメタ値であることではないと判定した場合、S1007の処理に進む。SETTINGSパラメタに含まれるSETTINGS_MAX_HEADER_LIST_SIZEは、ヘッダリストの最大サイズを示す。
S1007において、通信パラメタ決定部308は、GOAWAYフレームに追加する通信パラメタはないと判定し、図10の処理を終了する。
図11は、通信装置10によるGOAWAYフレーム受信の際の処理の一例を示すフローチャートである。なお通信装置20が通信装置10からGOAWAYフレームを受信する場合もある。
S1101において、HTTP通信制御部407は、S806で通信装置20により送信されたGOAWAYフレームを受信する。
S1102において、通信パラメタ取得部409は、S1101で受信したGOAWAYフレーム中に追加デバッグ情報が存在するか否かを判定する。通信パラメタ取得部409は、S1101で受信したGOAWAYフレーム中に追加デバッグ情報が存在すると判定した場合、S1103の処理に進み、追加デバッグ情報がないと判定した場合、図11の処理を終了する。
S1104において、通信パラメタ取得部409は、S1101で受信したGOAWAYフレームに含まれる追加デバッグ情報中のエラー発生ストリームID及びエラー詳細要因コードを取得する。
S1105において、通信パラメタ取得部409は、S1101で受信したGOAWAYフレームに含まれる追加デバッグ情報中の通信パラメタを取得し、記憶制御部405を介して、補助記憶装置204等に記憶する。通信パラメタ取得部409は、通信パラメタが複数存在する場合、すべての通信パラメタを取得し、記憶する。通信パラメタ取得部409は、S1105の処理を完了した後、図11の処理を終了する。
図12は、通信装置10によるSETTINGSフレーム送信の際の処理の一例を示すフローチャートである。なお通信装置20もSETTINGSフレームを送信することは可能である。
S1201において、通信パラメタ決定部408は、前回のHTTP通信接続の終了前に受信したGOAWAYフレームから取得した通信パラメタが存在するか否か判定する。より具体的には、通信パラメタ決定部408は、補助記憶装置204等から、S1105で記憶された通信パラメタを検索する。通信パラメタ決定部408は、通信パラメタが存在すると判定した場合、S1202の処理に進み、通信パラメタが存在しないと判定した場合、S1204の処理に進む。
S1202において、通信パラメタ決定部408は、S1201で存在すると判定した通信パラメタに基づき、通信装置20に対して送信するSETTINGSフレームの通信パラメタを決定する。より具体的には、通信パラメタ決定部408は、通信装置20に対して送信するSETTINGSフレームのフレームサイズやパディング長等を、S1201で存在すると判定した通信パラメタのフレームサイズやパディング長等と同じ値にする。
S1204において、HTTP通信制御部407は、通信装置20に対して、S1203でSETTINGSパラメタを決定したSETTINGSフレームを送信して、図12の処理を終了する。
そして、通信装置10は、通信装置20との再接続の際、受信したGOAWAYフレームに含まれるSETTINGSパラメタに基づいたSETTINGSフレームを通信装置20に送信する。それにより、通信装置10は、通信装置20との再接続の際に、再び不適正な又は通信装置20が許容できないSETTINGSパラメタを送信し、コネクションエラーを発生させることを回避することができる。即ち、通信装置10は、通信装置20と再接続する際のSETTINGSフレームの交換におけるエラーを回避することができる。よって、通信装置10と通信装置20との間で再度通信路を確立する場合の通信にかかる時間の短縮を図ることができ、更に、通信の相互接続性を向上させることができる。
また、通信装置10、通信装置20は、HTTP/2仕様で定義されていない通信パラメタであっても、通信装置10と通信装置20との双方で利用可能な通信パラメタであれば、利用することができる。通信装置10、通信装置20は、例えば、無線LANやTCP/IP、TLS等の他の通信プロトコルで使用している通信パラメタを用いてもよい。それにより、通信装置10は、通信装置20と再接続する際、最適な通信パラメタを用いて通信を再開することができるため、通信装置10と通信装置20との通信速度や相互接続性をさらに向上させることができる。
コネクションエラー判断部310によりコネクションエラーが発生していないと判定された場合、通信パラメタ決定部308は、追加する通信パラメタとして、通信装置10とのHTTP通信で使用している現在のヘッダ圧縮用のテーブルを決定する。そして、通信パラメタ追加部309は、前記ヘッダ圧縮用のテーブルの情報をGOAWAYフレーム中の追加デバッグ情報に追加する。通信パラメタ追加部309は、ヘッダ圧縮用のテーブルの全部又は一部をGOAWAYフレーム中の追加デバッグ情報に追加してもよい。通信パラメタ追加部309は、例えば、通信装置20側で主に生成するヘッダテーブルのみをGOAWAYフレーム中の追加デバッグ情報に追加してもよい。
そして、通信装置10は、通信装置20との再接続の際、受信したヘッダ圧縮用のテーブルを再利用することで、再接続の直後から効率的なヘッダ圧縮を行うことが可能となり、通信装置20との間の通信速度を更に向上させることができる。
通信装置20は、取得した通信装置10の信頼度が設定された閾値以上ならば、通信装置10に送信するGOAWAYフレームにセキュリティ・プライバシー情報を含ませることとする。通信装置20は、取得した通信装置10の信頼度が設定された閾値未満ならば、通信装置10に送信するGOAWAYフレームにセキュリティ・プライバシー情報を含ませないこととする。それにより、通信装置20は、十分に信頼できない通信相手に対して、セキュリティ・プライバシー情報を送信せずに済むため、セキュリティリスクを軽減することができる。
本実施形態では、通信装置20は、通信装置10と通信装置20との通信関係に基づいて、GOAWAYフレームに通信パラメタを追加する。通信関係は、通信装置間の通信が継続中であるか否かを示す。通信装置20と通信装置10との間に通信関係が有ることは、通信装置20と通信装置10との間でセッション等の一連の通信が継続中であることを示す。本実施形態における通信システムのシステム構成、通信装置10及び通信装置20のハードウェア構成は、実施形態1と同様である。以下では、実施形態1と異なる部分について説明する。
図13は、本実施形態における通信装置20の機能構成の一例を示す図である。図13において、図3と同じ内容の機能モジュールに関しては説明を省略する。機能構成要素1301〜1309は、それぞれ機能構成要素301〜309と同様である。
ディスカバリ制御部1314は、TCP/IP通信制御部1306又はHTTP通信制御部1307を介して、無線LAN上の通信装置10のディスカバリ(発見)制御を行う。より具体的には、ディスカバリ制御部1314は、無線LAN上の通信装置10を発見する機能を備える。また、ディスカバリ制御部1314は、無線LAN上の通信装置10に、通信装置20の参加又は離脱を通知する機能を備える。
本実施形態においてディスカバリ制御部1314は、UPnP(Universal Plug and Play)規格にて利用されているSSDP(Simple Service Discovery Protocol)方式を利用する。ディスカバリ制御部1314はSSDPに限らず、他のディスカバリ方式を利用してもよい。他のディスカバリ方式には、例えば、mDNS(multicast Domain Name Service)、Bonjour(登録商標)、SDP(Service Discovery Protocol)、等がある。
サービス制御部1316は、HTTP通信制御部1307を介して、通信装置10に対するサービスの提供を行う。本実施形態では、サービス制御部1316は、DLNA(Digital Living Network Alliance)、UPnP、及びWebサービス方式を利用する。サービス制御部1316は、他のサービス制御方式を利用してもよい。他のサービスには、例えば、SOAP(Simple Object Access Protocol)、REST(Representational State Transfer)がある。また、他のサービスには、AtomPub(Atom Publishing Protocol)等もある。
通信装置10との通信関係の有無の判定に利用される機能について説明する。
通信関係判断部1310は、通信状態判断部1311、通信履歴判断部1312、通信方式判断部1313、の何れか1つ又は複数を介して、ネットワークを介した通信装置10との通信関係の有無を判定する。
通信状態判断部1311は、通信装置10との通信状態の情報を取得し、取得された通信状態の情報に基づき、通信装置10との通信関係の有無を判定する。通信状態判断部1311は、以下のような通信状態の情報に基づいて、通信装置10との通信関係の有無を判定することができる。通信装置10との通信状態の情報は、通信状態情報の一例である。
通信状態判断部1311は、例えば、無線LAN(Wi−Fi)接続の開始・終了、無線LAN通信の際の認証完了、ビーコンの検出・不検出、等のイベント情報や無線LAN接続形態の設定情報(インフラモード、アドホックモード)、等を取得する。そして、通信状態判断部1311は、取得したイベント情報や設定情報に基づいて、通信装置10との通信関係の有無を判定する。
例えば、通信状態判断部1311は、無線LAN(Wi−Fi)接続の開始イベント情報を取得し、終了イベント情報を取得していない場合、通信装置10との通信関係が有るものと判定する。通信状態判断部1311は、その他、Wi−Fi Direct接続の開始・終了、無線LAN通信エラー、等のイベント情報に基づいて、通信装置10との通信関係の有無を判定してもよい。
例えば、通信状態判断部1311は、TCP/IP通信制御部1306から、通信装置10とのTCP/IP通信状態の情報を取得する。通信状態判断部1311は、TCP接続・切断、誤り発生状態、遅延状態、パケット再送状態、データ転送量、フロー制御状態、回線品質、TCP/IP通信エラー、等のTCP/IP通信状態の情報を取得する。
そして、通信状態判断部1311は、取得したTCP/IP通信状態の情報に基づき、通信装置10との通信関係の有無を判定する。例えば、通信状態判断部1311は、TCP接続を示す状態情報を取得し、TCP切断を示す状態情報を取得していない場合、通信装置10との通信関係が有るものと判定する。
例えば、通信状態判断部1311は、HTTP通信制御部1307から、通信装置10とのHTTP通信状態の情報を取得する。通信状態判断部1311は、HTTP通信の開始(HEADERS+PRIORITYフレーム)・終了(GOAWAYフレーム)、同時HTTP通信数(マルチセッション数)、HTTP通信エラー、等のHTTP通信状態の情報を取得する。
そして、通信状態判断部1311は、取得したHTTP通信状態の情報に基づき通信装置10との通信関係の有無を判定する。例えば、通信状態判断部1311は、HTTP通信の開始を示すフレームを取得し、HTTP通信の終了を示すフレーム(GOAWAYフレーム)を取得していない場合、通信装置10との通信関係が有るものと判定する。
例えば、通信状態判断部1311は、ディスカバリ制御部1314から、ディスカバリ状態の情報を取得する。通信状態判断部1311は、通信装置20の無線LANへの参加・離脱、通信装置10の無線LAN上の発見・参加・離脱、等のディスカバリ状態の情報を取得する。
そして、通信状態判断部1311は、取得したディスカバリ状態の情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信状態判断部1311は、通信装置10及び通信装置20について、無線LANへの参加を示すディスカバリ状態の情報を取得し、無線LANからの離脱を示すディスカバリ状態の情報を取得していない場合、以下のように判定する。即ち、通信状態判断部1311は、通信装置10との通信関係が有るものと判定する。
例えば、通信状態判断部1311は、認証・認可制御部1315から、認証・認可状態の情報を取得する。通信状態判断部1311は、認証・認可の開始・終了、ユーザのログイン・ログアウト、認証済・未認証、認可承認済・未承認、認証有効期限内・期限切れ、アクセストークン有効・無効、アクセストークン有効期限内・期限切れ、等の情報を取得する。
そして、通信状態判断部1311は、取得した認証・認可状態の情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信状態判断部1311は、通信装置10及び通信装置20について、認証・認可の開始を示す認証・認可状態の情報を取得し、認証・認可の終了を示す認証・認可状態の情報を取得していない場合、通信装置10との通信関係が有るものと判定する。
例えば、通信状態判断部1311は、サービス制御部1316から、サービス提供・利用状態の情報を取得する。通信状態判断部1311は、サービス提供の開始・終了、サービス利用の開始・終了、等のサービス提供・利用状態の情報を取得する。
そして、通信状態判断部1311は、取得したサービス提供・利用状態の情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信状態判断部1311は、サービス提供の開始を示すサービス提供・利用状態の情報を取得し、サービス提供の終了を示すサービス提供・利用状態の情報を取得していない場合、通信装置10との通信関係が有るものと判定する。
通信履歴判断部1312は、通信装置10との通信履歴の情報に基づき、通信装置10との通信関係の有無を判定する。通信履歴判断部1312は、例えば以下のような処理を行う。通信装置10との通信履歴の情報は、通信履歴情報の一例である。
例えば、通信履歴判断部1312は、無線LAN通信制御部1302を介して、通信装置20の補助記憶装置等に記憶されたログファイル等から通信装置10との無線LAN通信履歴の情報を取得する。通信履歴判断部1312は、これまでの無線LAN接続・切断の有無、接続形態(インフラ・アドホック、Wi−Fi Direct、Wi−Fi Directの永続的・一時的グループ)、等の通信装置10との無線LAN通信履歴の情報を取得する。
そして、通信履歴判断部1312は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信履歴判断部1312は、通信装置10の無線LAN接続をしめす無線LAN通信履歴の情報を取得し、通信装置10の無線LAN切断を示す無線LAN通信履歴の情報を取得していない場合、通信装置10との通信関係が有るものと判定する。
例えば、通信履歴判断部1312は、TCP/IP通信制御部1306を介して、通信装置20の補助記憶装置等に記憶されたログファイル等から通信装置10とのTCP/IP通信履歴の情報を取得する。通信履歴判断部1312は、通信装置10のドメイン名、ホスト名、IPアドレス、ポート番号、通信装置10とのこれまでのTCP/IP接続・切断の有無、等のTCP/IP通信履歴の情報を取得する。
そして、通信履歴判断部1312は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信履歴判断部1312は、通信装置10のTCP/IP接続をしめすTCP/IP通信履歴の情報を取得し、通信装置10のTCP/IP切断を示すTCP/IP通信履歴の情報を取得していない場合、通信装置10との通信関係が有るものと判定する。
例えば、通信履歴判断部1312は、HTTP通信制御部1307を介して、通信装置20の補助記憶装置等に記憶されたログファイル等から通信装置10とのHTTP通信履歴の情報を取得する。通信履歴判断部1312は、通信装置10のURI、送信したHTTPリクエストの内容、受信したHTTPレスポンスの内容、HTTP通信(セッション)ID、HTTPストリームID、Cookie、等のHTTP通信履歴の情報を取得する。
そして、通信履歴判断部1312は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信履歴判断部1312は、切断を要求するHTTPリクエストを取得していない場合、通信装置10との通信関係が有るものと判定する。
例えば、例えば、通信履歴判断部1312は、ディスカバリ制御部1314を介して、通信装置20の補助記憶装置等に記憶されたログファイル等から通信装置10との無線LAN上のディスカバリ履歴の情報を取得する。通信履歴判断部1312は、通信装置10の無線LANへの参加・離脱の有無・回数・日時、通信装置10の無線LAN上の発見・参加・離脱の有無・回数・日時、等のディスカバリ履歴の情報を取得する。
そして、通信履歴判断部1312は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信履歴判断部1312は、通信装置10の無線LANへの参加を示すディスカバリ履歴情報を取得し、通信装置10の無線LANからの離脱を示すディスカバリ履歴情報を取得していない場合、通信装置10との通信関係が有るものと判定する。
例えば、通信履歴判断部1312は、認証・認可制御部1315を介して、通信装置20の補助記憶装置等に記憶されたログファイル等から通信装置10との認証・認可履歴の情報を取得する。通信履歴判断部1312は、認証・認可・ログイン・ログアウトの有無・回数・日時、ID・パスワード等の認証情報・認可情報、承認した回数、等の認証・認可履歴の情報を取得する。また、通信履歴判断部1312は、発行したアクセストークンのID・権限範囲・数・有効期間、無効にしたアクセストークン、等の認証・認可履歴の情報を取得することとしてもよい。
そして、通信履歴判断部1312は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信履歴判断部1312は、通信装置10からのログインを示す認証・認可履歴の情報を取得し、通信装置10のログアウトを示す認証・認可履歴の情報を取得していない場合、通信装置10との通信関係が有るものと判定する。
例えば、通信履歴判断部1312は、サービス制御部1316を介して、通信装置20の補助記憶装置等に記憶されたログファイル等から通信装置10に対するサービス提供・利用履歴の情報を取得する。通信履歴判断部1312は、提供・利用したサービスの種別・内容、サービス提供・利用の有無、等の通信装置10に対するサービス提供・利用履歴の情報を取得する。
そして、通信履歴判断部1312は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信履歴判断部1312は、通信装置10に対するサービス提供が完了していない旨のサービス提供・利用履歴の情報を取得した場合、通信装置10との通信関係が有るものと判定する。
通信履歴判断部1312は、複数の通信履歴情報の組み合わせに基づいて、通信関係の有無を判定してもよい。複数の通信履歴情報には、上記の、無線LAN通信履歴の情報、TCP/IP通信履歴の情報、HTTP通信履歴の情報、無線LAN上のディスカバリ履歴の情報、認証・認可履歴の情報、サービス提供・利用履歴の情報等がある。
通信方式判断部1313は、無線LAN通信制御部1302を介して、通信装置10との無線LAN通信方式の情報に基づいて、通信関係の有無を判定する。
例えば、通信方式判断部1313は、無線LAN通信制御部1302から、通信装置10との無線LAN通信方式の情報を取得する。通信方式判断部1313は、通信装置10との無線ダイレクト通信の有無、WPS(Wi−Fi Protected Setup)通信の有無、等の無線LAN通信方式の情報を取得する。通信方式判断部1313は、Wi−Fi Direct通信の有無、Wi−Fi Direct Service通信の有無、Wi−Fi Miracast通信の有無、等に関する無線LAN通信方式の情報を取得してもよい。
そして、通信方式判断部1313は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信方式判断部1313は、通信装置10との無線ダイレクト通信が有る旨の無線LAN通信方式の情報を取得した場合、通信装置10との通信関係が有るものと判定する。
例えば、通信方式判断部1313は、TCP/IP通信制御部1306から、通信装置10とのTCP/IP通信方式の情報を取得する。通信方式判断部1313は、VPN(Virtual Private Network)通信の有無、等のTCP/IP通信方式の情報を取得する。また、通信方式判断部1313は、IPsec(Security Architecuture for Internet Protocol)通信の有無、等のTCP/IP通信方式の情報を取得することとしてもよい。
そして、通信方式判断部1313は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信方式判断部1313は、通信装置10とのVPN通信が有る旨のTCP/IP通信方式の情報を取得した場合、通信装置10との通信関係が有るものと判定する。
例えば、通信方式判断部1313は、HTTP通信制御部1307からHTTP通信方式の情報を取得する。通信方式判断部1313は、HTTPS(TLS)通信の有無、PROXY通信の有無、等のHTTP通信方式の情報を取得する。
そして、通信方式判断部1313は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信方式判断部1313は、通信装置10とのHTTPS(TLS)通信が有る旨のHTTP通信方式の情報を取得した場合、通信装置10との通信関係が有るものと判定する。
例えば、通信方式判断部1313は、ディスカバリ制御部1314から、通信装置10との無線LAN上のディスカバリ方式の情報を取得する。通信方式判断部1313は、SSDPの有無、mDNSの有無、Bonjourの有無、SDPの有無、等に関する無線LAN上のディスカバリ方式の情報を取得する。
そして、通信方式判断部1313は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信方式判断部1313は、通信装置10とのSSDPが有る旨の無線LAN上のディスカバリ方式の情報を取得した場合、通信装置10との通信関係が有るものと判定する。
例えば、通信方式判断部1313は、認証・認可制御部1315から、通信装置10との認証・認可方式の情報を取得する。通信方式判断部1313は、HTTP認証(Basic認証、Digest認証)の有無、OAuth 2.0の有無、OpenIDの有無、OpenID Connectの有無、SAMLの有無、等に関する認証・認可方式の情報を取得する。
そして、通信方式判断部1313は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信方式判断部1313は、通信装置10とのHTTP認証が有る旨の認証・認可方式の情報を取得した場合、通信装置10との通信関係が有るものと判定する。
例えば、通信方式判断部1313は、DLNAの有無、UPnPの有無、SOAPの有無、RESTの有無、AtomPubの有無、等のサービス提供・利用方式の情報を取得する。
そして、通信方式判断部1313は、取得した情報に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信方式判断部1313は、通信装置10とのDLNAが有る旨のサービス提供・利用方式の情報を取得した場合、通信装置10との通信関係が有るものと判定する。
通信方式判断部1313は、複数の通信方式の情報の組み合わせに基づいて、通信関係の有無を判定してもよい。複数の通信方式の情報には、上記の、無線LAN通信方式の情報、TCP/IP通信方式の情報、HTTP通信方式の情報、無線LAN上のディスカバリ方式の情報、認証・認可方式の情報、サービス提供・利用方式の情報等がある。
そして、通信関係判断部1310は、取得した通信装置10の機器状態の情報等に基づいて、通信装置10との通信関係の有無を判定する。例えば、通信関係判断部1310は、通信装置10の電源状態がONであるならば、通信装置10との通信関係が有ると判定する。
以下、本実施形態における通信装置10と通信装置20との間の通信処理について、詳細に説明する。
(通信接続〜切断〜再接続の処理)
図14は、通信装置10と通信装置20とのHTTP通信処理の一例を示すシーケンス図である。図14では、図6と異なる処理について説明する。
M1401の処理は、M601の処理と同様である。
M1403において、HTTP通信制御部1307は、通信装置10に対して、第1のセッション情報を送信する。本実施形態では、HTTP通信制御部1307は、第1のセッション情報として、セッションを一意に識別可能な情報を送信する。HTTP通信制御部1307は、第1のセッション情報として、HTTP Cookie情報、SDP等他のセッション情報を送信することとしてもよい。
M1405において、通信状態判断部1311は、M1404で通信装置10から受信した第1のセッション情報が有効か否かを判定する。本実施形態では、通信状態判断部1311は、M1404で送信された第1のセッション情報を有効であると判定したとする。
M1407において、HTTP通信制御部1307は、通信装置10とのHTTP通信接続を終了させる必要があるイベントを検知する。本実施形態では、HTTP通信制御部1307は、通信装置10とのHTTP通信接続を終了させる必要があるイベントとして、通信装置20が通信装置10に対して提供しているサービスの再起動のイベントであるとする。また、HTTP通信制御部1307は、コネクションエラー、プログラム再起動、無線LAN通信の再接続、ネットワークの離脱・参加、電源再起動、等のHTTP通信接続の終了を伴うイベントを検知することができる。
通信関係判断部1310は、通信装置10との通信関係がないと判定した場合、通常通りの通信の切断処理を行うことと判定する。その場合、通信装置20は、通信パラメタ等を追加していない通常のGOAWAYフレームを通信装置10に送信することとなる。その後、通信装置10は、通常通りの接続処理を行うことで、通信装置20と再接続することとなる。本実施形態では、HTTP通信制御部307は、通信装置10と通信関係を継続すると判定することとする。
M1409において、通信パラメタ決定部1308は、通信装置10との通信関係の継続に必要な通信パラメタを決定する。本実施形態では、通信パラメタ決定部1308は、通信装置10との通信関係の継続に必要な通信パラメタとして、通信装置10とのセッションを新規に管理するための第2のセッション情報を決定する。第2のセッション情報は、第1のセッション情報と関連付けられたセッション情報であってもよいし、第1のセッション情報と同じセッション情報であってもよい。
M1411において、HTTP通信制御部1307は、通信装置10に対して、M1410で作成したGOAWAYフレームを送信する。
M1412、M1413の処理は、それぞれM607、M608の処理と同様である。
M1414において、サービス制御部1316は、通信装置10に対して提供しているサービスを再起動する。
M1416において、通信パラメタ決定部408は、M1412で取得した通信パラメタが存在するか確認し、M1412で取得した通信パラメタに基づいて、第2のセッション情報を決定する。通信装置10は、第2のセッション情報を前回のHTTP通信接続の終了の際に通信装置20から受信したため、M1402の処理のようなセッション開始要求処理を省略し、接続処理を高速化することができる。
M1417において、HTTP通信制御部407は、通信装置20に対して、第2のセッション情報とともに、HTTPリクエストを送信する。
M1419において、HTTP通信制御部1307は、通信装置10に対して、S1417で送信されたHTTPリクエストに対するHTTPレスポンスを送信する。
以下、本実施形態における通信装置10と通信装置20との間の通信処理について、図13に示す機能構成等を用いて詳細に説明する。
(GOAWAYフレーム送信処理)
図15は、通信装置20によるGOAWAYフレーム送信の際の処理の一例を示すフローチャートである。
S1501において、HTTP通信制御部1307は、通信装置10とのHTTP通信接続を終了させる必要があるイベントを検知する。本実施形態において、HTTP通信制御部1307は、M1407の処理と同様のイベントを検知する。
S1502において、通信関係判断部1310は、通信装置10との通信関係が有るか否かを判定する。S1502の処理の詳細は、図16で後述する。
S1503において、通信関係判断部1310は、S1502で通信関係が有るものと判定した場合、S1504の処理に進み、S1502で通信関係が無いものと判定した場合、S1506の処理に進む。
S1505において、通信パラメタ追加部309は、S1504で決定された通信パラメタを、通信装置10に送信するGOAWAYフレームに追加する。
S1506において、HTTP通信制御部307は、通信装置10に対して、GOAWAYフレームを送信して、図15の処理を終了する。
図16は、通信装置20による通信関係の有無を判定する処理の一例を示すフローチャートである。図16の処理は、S1502の処理の詳細を示すものである。
S1601において、通信状態判断部1311は、通信装置10とのセッションが有効か否かを判定する。より具体的には、通信状態判断部1311は、通信装置10に発行した第1のセッション情報が有効か否かを判定する。通信状態判断部1311は、通信装置10とのセッションが有効であると判定した場合、S1602の処理に進み、通信装置10とのセッションが有効でないと判定した場合、S1603の処理に進む。
S1602において、通信関係判断部1310は、S1601での通信状態判断部1311による判定処理の結果を受けて、通信装置10との通信関係が有るものと判定し、図16の処理を終了する。
S1603において、通信関係判断部1310は、S1601での通信状態判断部1311による判定処理の結果を受けて、通信装置10との通信関係が無いものと判定し、図16の処理を終了する。
また、本実施形態では、通信関係判断部1310は、通信装置10とのセッション情報が有効か否かに基づいて、通信関係の有無を判定した。しかし、通信関係判断部1310は、図13で前述した方法等で、通信関係の有無を判定してもよい。それによって、通信関係判断部1310は、通信装置10と通信装置20との間の通信関係をより正確に判定することができ、不要な通信パラメタの送信を回避することができ、セキュリティリスクを軽減することができる。
そして、通信パラメタ追加部1309は、前記ヘッダ圧縮用のテーブルの情報をGOAWAYフレーム中の追加デバッグ情報に追加する。通信パラメタ追加部1309は、ヘッダ圧縮用のテーブルの全部又は一部をGOAWAYフレーム中の追加デバッグ情報に追加することができる。通信パラメタ追加部1309は、例えば、通信装置20側で主に生成するヘッダテーブルだけをGOAWAYフレーム中の追加デバッグ情報に追加してもよい。そうすると、通信装置10は、通信装置20との再接続の際、受信したヘッダ圧縮用のテーブルを再利用することで、再接続の直後から効率的なヘッダ圧縮を行うことが可能となる。それにより、通信装置10、通信装置20は、通信装置10と通信装置20との通信速度をさらに向上させることができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (14)
- 通信装置であって、
他の通信装置との間で通信路としてのコネクションを確立し、確立した前記コネクションに基づいて通信路としての1又は複数のストリームを確立し、確立した前記ストリームを用いて前記他の通信装置と通信を行う通信手段と、
前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを決定する決定手段と、
前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを前記他の通信装置に対して通知するためのメッセージであって、前記他の通信装置との間で再度通信路を確立するために用いられる通信パラメタを含むメッセージを生成する生成手段と、
前記生成手段により生成された前記メッセージが前記決定手段による決定に応じて前記他の通信装置に対して送信されるよう前記通信手段を制御する制御手段と、
を有することを特徴とする通信装置。 - 前記生成手段は、ストリームの生成に利用されるパラメタを前記通信パラメタとして含む前記メッセージを生成することを特徴とする請求項1記載の通信装置。
- 前記他の通信装置との通信における接続エラーを検知する検知手段を更に有し、
前記生成手段は、前記検知手段により前記他の通信装置との通信における接続エラーが検知された場合、前記接続エラーの要因に応じた前記通信パラメタを含む前記メッセージを生成することを特徴とする請求項1又は2に記載の通信装置。 - 前記他の通信装置から前記他の通信装置との通信に関する第2の通信パラメタを取得する取得手段を更に有し、
前記検知手段は、前記取得手段により取得された前記第2の通信パラメタが、前記他の通信装置との通信方式に準拠しない値又は許容できない値である場合、前記他の通信装置との通信における接続エラーを検知し、
前記生成手段は、前記検知手段により前記他の通信装置との通信における接続エラーが検知された場合、前記他の通信装置との通信方式に準拠する値又は許容できる値を前記通信パラメタとして含む前記メッセージを生成することを特徴とする請求項3記載の通信装置。 - 前記生成手段は、前記他の通信装置の信頼度に応じた前記通信パラメタを含む前記メッセージを生成することを特徴とする請求項1乃至4何れか1項記載の通信装置。
- 前記生成手段は、前記他の通信装置の信頼度が設定された閾値以上である場合、セキュリティ・プライバシー情報を含む前記通信パラメタを含む前記メッセージを生成し、前記他の通信装置の信頼度が設定された閾値未満である場合、セキュリティ・プライバシー情報を含まない前記メッセージを生成することを特徴とする請求項5記載の通信装置。
- 前記他の通信装置との通信を継続するか否かを判定する判定手段を更に有し、
前記生成手段は、前記判定手段により前記他の通信装置との通信を継続すると判定された場合、前記通信の再開のために利用される情報を前記通信パラメタとして含む前記メッセージを生成することを特徴とする請求項1乃至6何れか1項記載の通信装置。 - 前記生成手段は、前記判定手段により前記他の通信装置御との通信を継続すると判定された場合、前記通信装置と前記他の通信装置との間のセッション情報を前記通信パラメタとして含む前記メッセージを生成することを特徴とする請求項7記載の通信装置。
- 前記判定手段は、通信状態情報、通信履歴情報、通信方式情報のうちの少なくとも1つに基づいて、前記他の通信装置との通信を継続するか否かを判定し、
前記生成手段は、前記判定手段により前記他の通信装置と通信を継続すると判定された場合、前記通信パラメタを含むメッセージを生成することを特徴とする請求項7記載の通信装置。 - 前記生成手段は、HTTP/2において規定されるGOAWAYフレームに前記通信パラメタを追加することによって前記メッセージを生成することを特徴とする請求項1乃至9何れか1項記載の通信装置。
- 他の通信装置との間で通信路としてのコネクションを確立し、前記確立した前記コネクションに基づいて通信路としての1又は複数のストリームを確立し、前記確立した前記ストリームを用いて前記他の通信装置と通信を行う通信手段を有する通信装置の制御方法であって、
前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを決定し、
前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを前記他の通信装置に対して通知するためのメッセージであって、前記他の通信装置との間で再度通信路を確立するために用いられる通信パラメタを含むメッセージを生成し、
前記生成されたメッセージが前記決定に応じて前記他の通信装置に対して送信されるよう前記通信手段を制御することを特徴とする通信方法。 - 前記メッセージは、ストリームの生成に利用されるパラメタを前記通信パラメタとして含むことを特徴とする請求項11記載の通信方法。
- 前記メッセージは、HTTP/2において規定されるGOAWAYフレームに前記通信パラメタを追加することによって生成されることを特徴とする請求項11又は12に記載の通信方法。
- コンピュータを、請求項1乃至10何れか1項記載の通信装置の各手段として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015095654A JP6548445B2 (ja) | 2015-05-08 | 2015-05-08 | 通信装置、通信方法及びプログラム |
US15/142,602 US10110642B2 (en) | 2015-05-08 | 2016-04-29 | Communication apparatus, communication system, communication method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015095654A JP6548445B2 (ja) | 2015-05-08 | 2015-05-08 | 通信装置、通信方法及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016213670A JP2016213670A (ja) | 2016-12-15 |
JP2016213670A5 JP2016213670A5 (ja) | 2018-06-21 |
JP6548445B2 true JP6548445B2 (ja) | 2019-07-24 |
Family
ID=57222978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015095654A Active JP6548445B2 (ja) | 2015-05-08 | 2015-05-08 | 通信装置、通信方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10110642B2 (ja) |
JP (1) | JP6548445B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10291682B1 (en) * | 2016-09-22 | 2019-05-14 | Juniper Networks, Inc. | Efficient transmission control protocol (TCP) reassembly for HTTP/2 streams |
US10545940B2 (en) * | 2017-02-22 | 2020-01-28 | Red Hat, Inc. | Supporting secure layer extensions for communication protocols |
US10965663B2 (en) * | 2018-07-26 | 2021-03-30 | Microsoft Technology Licensing, Llc | Troubleshooting single sign on failure |
US11641563B2 (en) | 2018-09-28 | 2023-05-02 | Apple Inc. | System and method for locating wireless accessories |
CN113812175A (zh) * | 2019-04-17 | 2021-12-17 | 苹果公司 | 为无线附件共享密钥 |
EP4418694A1 (en) * | 2019-04-17 | 2024-08-21 | Apple Inc. | Separation notifications for wireless accessories |
US12073705B2 (en) | 2021-05-07 | 2024-08-27 | Apple Inc. | Separation alerts for notification while traveling |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7769017B2 (en) * | 2005-07-26 | 2010-08-03 | Nortel Networks Limited | Using reachability information to facilitate peer-to-peer communications |
JP5640649B2 (ja) | 2010-10-27 | 2014-12-17 | ソニー株式会社 | データ通信方法及び情報処理装置 |
WO2014169811A1 (en) * | 2013-04-16 | 2014-10-23 | Telefonaktiebolaget L M Ericsson (Publ) | Method and nodes for handling a failure in a communications network |
-
2015
- 2015-05-08 JP JP2015095654A patent/JP6548445B2/ja active Active
-
2016
- 2016-04-29 US US15/142,602 patent/US10110642B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160330095A1 (en) | 2016-11-10 |
JP2016213670A (ja) | 2016-12-15 |
US10110642B2 (en) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6548445B2 (ja) | 通信装置、通信方法及びプログラム | |
CN107113319B (zh) | 一种虚拟网络计算认证中应答的方法、装置、系统和代理服务器 | |
US9948686B2 (en) | Method and apparatus for sharing DLNA device | |
EP3332561A1 (en) | Internet of things end-to-end service layer quality of service management | |
WO2015139179A1 (zh) | 一种终端间同步内容的方法和终端 | |
KR101113237B1 (ko) | UPnP 네트워크의 서비스를 원격의 디바이스에게제공하는 방법 및 장치 | |
KR101898492B1 (ko) | 전자 장치 및 전자 장치의 제어 방법 | |
WO2014135050A1 (zh) | 消息处理方法、装置、网关、机顶盒及网络电视系统 | |
KR102311514B1 (ko) | 시커 디바이스와 목표 디바이스 간의 접속을 설정하는 방법 및 시스템 | |
WO2014101661A1 (zh) | 业务流镜像方法及镜像设备 | |
CN110771117B (zh) | 一种采用面向id的网络的会话层通信 | |
JP6576099B2 (ja) | 通信装置、通信装置の制御方法、プログラム、および、通信システム | |
WO2013189398A2 (zh) | 应用数据推送方法、装置及系统 | |
US9596326B2 (en) | Communication apparatus, communication method, and non-transitory computer-readable medium | |
US10581979B2 (en) | Information transmission method and apparatus | |
US8924520B2 (en) | Method, remote access server and system for configuring a quality of service parameter | |
US20130107697A1 (en) | Network Connection System of Network Electronic Device and Method to Solve Terminal Device Unable to Reach Electronic Device Caused by Router Not Supporting NAT Loopback | |
US20140189847A1 (en) | Remote vpn provisioning of an endpoint | |
JP5367386B2 (ja) | Ip電話端末装置、vpnサーバ装置、ip電話サーバ装置およびこれらを用いたip電話システム | |
KR101998414B1 (ko) | M2m 시스템에서 선택적으로 보안성 있는 시간 동기화를 위한 방법 및 장치 | |
JP4841357B2 (ja) | セキュアなシグナリングチャネルを用いたリソース更新方法、サーバ、端末及びプログラム | |
JP5246194B2 (ja) | 回線多重システム、回線多重ネゴシエーション方法、及び多重ゲートウェイ装置 | |
JP2003218861A (ja) | ホットスポットサービスシステム及び同システムにおけるpppリンク確立方法 | |
WO2014206136A1 (zh) | 一种终端能力的协商方法、确定方法和终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180507 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180507 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190410 |
|
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: 20190528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190625 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6548445 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |