(57)【特許請求の範囲】
【請求項１】
通信装置であって、
他の通信装置との間で通信路としてのコネクションを確立し、確立した前記コネクションに基づいて通信路としての１又は複数のストリームを確立し、確立した前記ストリームを用いて前記他の通信装置と通信を行う通信手段と、
前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを決定する決定手段と、
前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを前記他の通信装置に対して通知するためのメッセージであって、前記他の通信装置との間で再度通信路を確立するために用いられる通信パラメタを含むメッセージを生成する生成手段と、
前記生成手段により生成された前記メッセージが前記決定手段による決定に応じて前記他の通信装置に対して送信されるよう前記通信手段を制御する制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記生成手段は、ストリームの生成に利用されるパラメタを前記通信パラメタとして含む前記メッセージを生成することを特徴とする請求項１記載の通信装置。
【請求項３】
前記他の通信装置との通信における接続エラーを検知する検知手段を更に有し、
前記生成手段は、前記検知手段により前記他の通信装置との通信における接続エラーが検知された場合、前記接続エラーの要因に応じた前記通信パラメタを含む前記メッセージを生成することを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記他の通信装置から前記他の通信装置との通信に関する第２の通信パラメタを取得する取得手段を更に有し、
前記検知手段は、前記取得手段により取得された前記第２の通信パラメタが、前記他の通信装置との通信方式に準拠しない値又は許容できない値である場合、前記他の通信装置との通信における接続エラーを検知し、
前記生成手段は、前記検知手段により前記他の通信装置との通信における接続エラーが検知された場合、前記他の通信装置との通信方式に準拠する値又は許容できる値を前記通信パラメタとして含む前記メッセージを生成することを特徴とする請求項３記載の通信装置。
【請求項５】
前記生成手段は、前記他の通信装置の信頼度に応じた前記通信パラメタを含む前記メッセージを生成することを特徴とする請求項１乃至４何れか１項記載の通信装置。
【請求項６】
前記生成手段は、前記他の通信装置の信頼度が設定された閾値以上である場合、セキュリティ・プライバシー情報を含む前記通信パラメタを含む前記メッセージを生成し、前記他の通信装置の信頼度が設定された閾値未満である場合、セキュリティ・プライバシー情報を含まない前記メッセージを生成することを特徴とする請求項５記載の通信装置。
【請求項７】
前記他の通信装置との通信を継続するか否かを判定する判定手段を更に有し、
前記生成手段は、前記判定手段により前記他の通信装置との通信を継続すると判定された場合、前記通信の再開のために利用される情報を前記通信パラメタとして含む前記メッセージを生成することを特徴とする請求項１乃至６何れか１項記載の通信装置。
【請求項８】
前記生成手段は、前記判定手段により前記他の通信装置御との通信を継続すると判定された場合、前記通信装置と前記他の通信装置との間のセッション情報を前記通信パラメタとして含む前記メッセージを生成することを特徴とする請求項７記載の通信装置。
【請求項９】
前記判定手段は、通信状態情報、通信履歴情報、通信方式情報のうちの少なくとも１つに基づいて、前記他の通信装置との通信を継続するか否かを判定し、
前記生成手段は、前記判定手段により前記他の通信装置と通信を継続すると判定された場合、前記通信パラメタを含むメッセージを生成することを特徴とする請求項７記載の通信装置。
【請求項１０】
前記生成手段は、ＨＴＴＰ／２において規定されるＧＯＡＷＡＹフレームに前記通信パラメタを追加することによって前記メッセージを生成することを特徴とする請求項１乃至９何れか１項記載の通信装置。
【請求項１１】
他の通信装置との間で通信路としてのコネクションを確立し、前記確立した前記コネクションに基づいて通信路としての１又は複数のストリームを確立し、前記確立した前記ストリームを用いて前記他の通信装置と通信を行う通信手段を有する通信装置の制御方法であって、
前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを決定し、
前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを前記他の通信装置に対して通知するためのメッセージであって、前記他の通信装置との間で再度通信路を確立するために用いられる通信パラメタを含むメッセージを生成し、
前記生成されたメッセージが前記決定に応じて前記他の通信装置に対して送信されるよう前記通信手段を制御することを特徴とする通信方法。
【請求項１２】
前記メッセージは、ストリームの生成に利用されるパラメタを前記通信パラメタとして含むことを特徴とする請求項１１記載の通信方法。
【請求項１３】
前記メッセージは、ＨＴＴＰ／２において規定されるＧＯＡＷＡＹフレームに前記通信パラメタを追加することによって生成されることを特徴とする請求項１１又は１２に記載の通信方法。
【請求項１４】
コンピュータを、請求項１乃至１０何れか１項記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法及びプログラムに関する。
【背景技術】
【０００２】
ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等のプロトコル（通信規約）が、インターネット標準技術として一般に広く利用されている。プロトコルの中には、標準化策定が進められているＨＴＴＰの新しいバージョンであるＨＴＴＰ／２のように、通信開始時に、既存のプロトコルのバージョンからアップグレードする処理を行うものがある。アップグレードの際、プロトコルの仕様で規定された通信パラメタを通信装置間で交換し、プロトコルの通信で必要となる通信パラメタを互いに設定する。
一方、特許文献１に示されているように、複数のＴＣＰ接続を確立し、複数のＨＴＴＰ通信を並行して行うことによって、通信速度を向上させる方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−９５０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１等の従来技術では、通信路を再度確立する際に、通信に利用されるプロトコルのアップグレード処理を再度行う必要があり、通信路の再度の確立に時間がかかるという課題があった。例えば、ＨＴＴＰ／２における通信路としてのコネクションを確立した後に通信エラーが発生し、再度、コネクションを確立する場合、プロトコルのアップグレードの処理からやり直すと、再度の通信路の確立に時間がかかるという課題があった。
また、プロトコルのアップグレード処理中の通信パラメタの交換の際、通信相手の通信装置がそのプロトコルの仕様に準拠しない不適正な値、又は通信装置自身が許容できない値の通信パラメタを送信してくる可能性がある。このとき、通信装置は、接続エラーが発生したとして、通信相手の通信装置に通信を終了する旨を示す信号を送信し、その後にそのプロトコルによる通信を終了させなければならない。しかし、通信相手の通信装置が再接続を試みて、新たに、そのプロトコルによる通信を開始する場合、再び不適正な値、又は許容できない値の通信パラメタを送信してしまい、正常な通信を開始できず、相互接続性が低下するという課題があった。
そこで、本発明は、再度通信路を確立する場合の通信にかかる時間を短縮することを目的とする。
【課題を解決するための手段】
【０００５】
そこで、本発明の通信装置は、通信装置であって、他の通信装置との間で通信路としてのコネクションを確立し、確立した前記コネクションに基づいて通信路としての１又は複数のストリームを確立し、確立した前記ストリームを用いて前記他の通信装置と通信を行う通信手段と、前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを決定する決定手段と、前記他の通信装置との間で確立された前記コネクションに基づく新規のストリームを生成しないことを前記他の通信装置に対して通知するためのメッセージであって、前記他の通信装置との間で再度通信路を確立するために用いられる通信パラメタを含むメッセージを生成する生成手段と、前記生成手段により生成された前記メッセージが前記決定手段による決定に応じて前記他の通信装置に対して送信されるよう前記通信手段を制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、再度通信路を確立する場合の通信にかかる時間を短縮することができる。
【図面の簡単な説明】
【０００７】
【図１】通信システムのシステム構成の一例を示す図である。
【図２】通信装置のハードウェア構成の一例を示す図である。
【図３】通信装置の機能構成の一例を示す図である。
【図４】通信装置の機能構成の一例を示す図である。
【図５】ＧＯＡＷＡＹフレームのデータ構造の一例を示す図である。
【図６】通信装置間のＨＴＴＰ通信処理の一例を示すシーケンス図である。
【図７】通信装置間のＨＴＴＰ通信処理の一例を示すシーケンス図である。
【図８】ＧＯＡＷＡＹフレーム送信処理の一例を示すフローチャートである。
【図９】ＧＯＡＷＡＹフレームに追加する通信パラメタの決定処理の一例を示すフローチャートである。
【図１０】ＧＯＡＷＡＹフレームに追加するＳＥＴＴＩＮＧＳパラメタの決定処理の一例を示すフローチャートである。
【図１１】ＧＯＡＷＡＹフレーム受信の際の処理の一例を示すフローチャートである。
【図１２】ＳＥＴＴＩＮＧＳフレーム送信の際の処理の一例を示すフローチャートである。
【図１３】通信装置の機能構成の一例を示す図である。
【図１４】通信装置間のＨＴＴＰ通信処理の一例を示すシーケンス図である。
【図１５】ＧＯＡＷＡＹフレーム送信の際の処理の一例を示すフローチャートである。
【図１６】通信関係の有無を判定する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
（システム構成）
図１は、通信システムのシステム構成の一例を示す図である。
通信装置１０は、本実施形態におけるクライアントとしての通信装置であり、ＩＥＥＥ８０２．１１等に則った無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信機能を有する。通信装置１０は、デジタルカメラ、デジタルビデオカメラ、携帯電話、スマートフォン等である。また、通信装置１０は、ＰＣ、ノートＰＣ、サーバ、等の情報処理装置であってもよい。
本実施形態では、通信装置１０は、無線ＬＡＮ通信機能を用いて他の装置と通信を行うこととする。しかし、通信装置１０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）、ＲＦＩＤ、等の他の無線ＬＡＮ通信機能、を利用して他の装置と通信してもよい。また、通信装置１０は、Ｅｔｈｅｒｎｅｔ（登録商標）等の有線ＬＡＮ通信機能、又は無線ＬＡＮ通信機能と有線ＬＡＮ通信機能との組合せを利用して他の装置と通信を行うこととしてもよい。
【００１０】
通信装置２０は、本実施形態におけるサーバとしての通信装置であり、通信装置１０と無線ＬＡＮを介して接続される。本実施形態では、通信装置１０と通信装置２０とは、ＨＴＴＰ／２規格に則ったＨＴＴＰ通信を行うこととする。しかし、通信装置１０と通信装置２０とは、通信開始の際にプロトコルのアップグレードを実行し、接続エラーが起こった際に通信相手に通信の終了を示す信号を送信するプロトコルであるならば、他のプロトコルに則った通信を行うこととしてもよい。
本実施形態では、通信装置２０は、直接無線ＬＡＮを介して通信装置１０と接続されることとするが、無線アクセスポイントを経由して通信装置１０と接続されることとしてもよい。また、通信装置２０は、ネットワークスイッチやルータ等の中継装置を経由して通信装置１０と有線ＬＡＮ接続されることとしてもよい。
さらに、本実施形態では、通信装置１０と通信装置２０とは、同一ＬＡＮを介して相互に接続されることとする。しかし、通信装置１０と通信装置２０とは、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、携帯電話等の公衆無線回線等を介して相互に接続されることとしてもよい。
【００１１】
図２は、通信装置１０のハードウェア構成の一例を示す図である。通信装置２０も通信装置１０と同じハードウェア構成であるとする。通信装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３、補助記憶装置２０４を含む。また、通信装置１０は、表示部２０５、操作部２０６、無線通信部２０７を含む。また、アンテナ２０８は、無線通信部２０７に接続される。
ＣＰＵ２０１は、通信装置１０の全体の動作を制御する。ＲＯＭ２０２は、変更を必要としないプログラムやパラメタ等を記憶する。ＲＡＭ２０３は、補助記憶装置２０４等から供給されるプログラムやデータを記憶し、ＣＰＵ２０１のワークエリアとしても機能する。補助記憶装置２０４は、画像コンテンツや映像コンテンツ、各種設定ファイル、各種設定された閾値等のデータを記憶する。
表示部２０５は、ユーザが通信装置１０を操作するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示する。操作部２０６は、ユーザが通信装置１０を操作するための入力インタフェースである。無線通信部２０７は、アンテナ２０８を制御し、無線アクセスポイント３０、又は通信装置２０との無線ＬＡＮ通信を行う。
【００１２】
ＣＰＵ２０１が、ＲＯＭ２０２又は補助記憶装置２０４に記憶されたプログラムに基づき処理を実行することによって、後述する通信装置１０の機能、後述するシーケンス図の処理及び後述するフローチャートの処理が実現される。
通信装置２０のＣＰＵが、通信装置２０のＲＯＭ又は補助記憶装置に記憶されたプログラムに基づき処理を実行することによって、後述する通信装置２０の機能、後述するシーケンス図の処理及び後述するフローチャートの処理が実現される。
【００１３】
（機能構成）
図３は、通信装置２０の機能構成の一例を示す図である。
通信装置２０は、制御部３０１、無線ＬＡＮ通信制御部３０２、表示制御部３０３、操作制御部３０４、記憶制御部３０５、ＴＣＰ／ＩＰ通信制御部３０６、ＨＴＴＰ通信制御部３０７、通信パラメタ決定部３０８を含む。また、通信装置２０は、通信パラメタ追加部３０９、コネクションエラー判断部３１０を含む。
【００１４】
制御部３０１は、通信装置２０が備える個々の機能全体を制御する。無線ＬＡＮ通信制御部３０２は、通信装置２０の通信部を制御し、無線ＬＡＮ通信方式での無線アクセスポイント又は通信装置１０との通信を制御する。表示制御部３０３は、通信装置２０の表示部を制御し、ＧＵＩの表示制御を行う。操作制御部３０４は、通信装置２０の操作部を制御し、通信装置２０の操作部を介したユーザによる操作入力の制御を行う。記憶制御部３０５は、通信装置２０のＲＡＭ又は通信装置２０の補助記憶装置を制御し、処理データ、画像コンテンツ、映像コンテンツ等のデータを記憶又は削除する。
ＴＣＰ／ＩＰ通信制御部３０６は、無線ＬＡＮ通信制御部３０２を介して、通信装置１０との間でＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）方式の通信を行う。ＴＣＰ通信の接続処理は、通信装置１０と通信装置２０との間で通信路としてのコネクションの確立処理の一例である。本実施形態では、通信装置１０と通信装置２０とは、ＴＣＰ／ＩＰによる通信を行うこととするが、ＵＤＰ等を利用する通信を行うこととしてもよい。
【００１５】
ＨＴＴＰ通信制御部３０７は、ＴＣＰ／ＩＰ通信制御部３０６を介して、通信装置１０との間でＨＴＴＰ／２方式の通信を行う。また、ＨＴＴＰ通信制御部３０７は、通信装置１０との間でＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）を利用したＨＴＴＰＳ（ＨＴＴＰ  Ｓｅｃｕｒｅ）方式の通信を行うこともできる。
通信パラメタ決定部３０８は、ＨＴＴＰ通信制御部３０７を介して、通信装置１０に対して送信するＧＯＡＷＡＹフレーム中に、通信装置１０とのＨＴＴＰ通信接続に必要となる通信パラメタを追加するか否かを判定する。
例えば、通信装置１０から送信されたＳＥＴＴＩＮＧＳフレームに含まれる通信パラメタの値がＨＴＴＰ／２の仕様に準拠しない不適正な値（以下では、不適正パラメタ値）、又は通信装置２０が許容できない値（以下では、非許容パラメタ値）であったとする。その場合、通信パラメタ決定部３０８は、通信装置１０とのＨＴＴＰ通信接続に必要となる通信パラメタをＧＯＡＷＡＹフレームに追加すると判定する。通信パラメタ決定部３０８は、通信パラメタを追加すると判定した場合、追加する通信パラメタの内容を決定する。
【００１６】
通信パラメタ追加部３０９は、ＨＴＴＰ通信制御部３０７及び通信パラメタ決定部３０８を介して、通信パラメタ決定部３０８により決定された通信パラメタをＧＯＡＷＡＹフレーム中に追加する。
コネクションエラー判断部３１０は、ＨＴＴＰ通信制御部３０７を介して、通信装置１０とのＨＴＴＰ通信中に検知されたコネクションエラーの要因を判定し、その要因の内容に応じて、ＧＯＡＷＡＹフレームに追加する通信パラメタを決定する。コネクションエラーは、接続エラーの一例である。
【００１７】
図４は、通信装置１０の機能構成の一例を示す図である。機能構成要素４０１〜４０７は、機能構成要素３０１〜３０７と同様である。
通信パラメタ決定部４０８は、ＨＴＴＰ通信制御部４０７及び通信パラメタ取得部４０９を介して、通信装置２０とのＨＴＴＰ通信の接続に必要な通信パラメタを決定する。
通信パラメタ取得部４０９は、ＨＴＴＰ通信制御部４０７を介して、通信装置２０から受信したＧＯＡＷＡＹフレーム中に含まれる通信パラメタを取得する。
【００１８】
（ＧＯＡＷＡＹフレームデータ構造）
図５は、ＧＯＡＷＡＹフレームのデータ構造の一例を示す図である。ＧＯＡＷＡＹフレームは、新規ストリームの生成をしないことを通信相手に通知するためのメッセージである。本実施形態では、通信の終了を指示するための終了メッセージとしてＧＯＡＷＡＹフレームが用いられる。ストリームとは、通信装置間で確立されたＴＣＰ通信の接続等のコネクション上における論理的な通信路のことである。通信装置１０、通信装置２０は、確立されたＴＣＰ通信の接続等のコネクション上にストリームを生成し、生成したストリーム上でメッセージをやり取りすることにより互いに通信を行う。
ＧＯＡＷＡＹフレーム５００は、ＧＯＡＷＡＹフレームのデータ全体を示す。
最終ストリームＩＤ５０１は、通信装置１０と通信装置２０とのＨＴＴＰ通信において、最後に使用されたストリームのＩＤである。
【００１９】
エラーコード５０２は、コネクションエラーが発生したエラーの要因を示す情報である。
追加デバッグ情報５０３は、ＧＯＡＷＡＹフレーム内にＨＴＴＰ／２プロトコル規格外で追加される情報である。本実施形態において、追加デバッグ情報５０３は、エラー発生ストリームＩＤ５０４、エラー詳細要因コード５０５、及び通信パラメタ５０６を含む。本実施形態において、通信パラメタ追加部３０９は、追加デバッグ情報５０３に、通信パラメタを追加する。
【００２０】
エラー発生ストリームＩＤ５０４は、コネクションエラーを発生させる要因となったストリームに関するＩＤである。
エラー詳細要因コード５０５は、コネクションエラーが発生したエラーの詳細な要因を示す情報である。エラー詳細要因コード５０５の内容は、エラーコード５０２よりも詳細であるとする。
通信パラメタ５０６は、通信装置１０が通信装置２０に再度ＨＴＴＰ通信接続を実施する際に必要となる通信パラメタである。通信パラメタ５０６は、通信の種別５０７、通信パラメタの名称５０８、通信パラメタの値５０９を含む。
【００２１】
（通信処理）
以下、本実施形態における通信装置１０と通信装置２０との間における通信処理について、詳細に説明する。
（通信接続〜切断〜再接続の処理）
図６は、通信装置１０と通信装置２０との間のＨＴＴＰ通信処理の一例を示すシーケンス図である。
Ｍ６０１において、ＨＴＴＰ通信制御部４０７は、通信装置２０とＨＴＴＰ通信接続を行う。Ｍ６０１の処理の詳細については、図７で後述する。
【００２２】
Ｍ６０２において、ＨＴＴＰ通信制御部４０７は、通信装置２０に対して、ＳＥＴＴＩＮＧＳフレームを送信する。その際、ＨＴＴＰ通信制御部４０７は、ＳＥＴＴＩＮＧＳフレームのＳＥＴＴＩＮＧＳパラメタとして不適正パラメタ値、又は非許容パラメタ値を送信することとする。ＳＥＴＴＩＮＧＳパラメタは、通信パラメタの一例である。
ＳＥＴＴＩＮＧＳパラメタは、送信者が許可する同時ストリームの最大数を示すＳＥＴＴＩＮＧＳ＿ＭＡＸ＿ＣＯＮＣＵＲＲＥＮＴ＿ＳＴＲＥＡＭＳ、送信者の初期ウィンドウサイズを示すＳＥＴＴＩＮＧＳ＿ＩＮＩＴＩＡＬ＿ＷＩＮＤＯＷ＿ＳＩＺＥを含む。また、ＳＥＴＴＩＮＧＳパラメタは、ヘッダリストの最大サイズを示すＳＥＴＴＩＮＧＳ＿ＭＡＸ＿ＨＥＡＤＥＲ＿ＬＩＳＴ＿ＳＩＺＥ等を含む。ＳＥＴＴＩＮＧＳパラメタは、ＨＴＴＰ／２の仕様で定義された他のＳＥＴＴＩＮＧＳパラメタ、ＨＴＴＰ／２の仕様で定義されない独自のＳＥＴＴＩＮＧＳパラメタ等であってもよい。
【００２３】
Ｍ６０３において、ＨＴＴＰ通信制御部３０７は、通信装置１０からＳＥＴＴＩＮＧＳフレームを受信し、ＳＥＴＴＩＮＧＳパラメタを確認する。ＨＴＴＰ通信制御部３０７は、ＳＥＴＴＩＮＧＳパラメタが不適正パラメタ値、又は非許容パラメタ値である場合、コネクションエラーを発生させる。
Ｍ６０４において、通信パラメタ決定部３０８は、ＨＴＴＰ通信制御部３０７により発生されたコネクションエラーの要因を特定する。そして、通信パラメタ決定部３０８は、特定した要因に基づいて、コネクションエラーとならないＨＴＴＰ／２の仕様に準拠した適正なＳＥＴＴＩＮＧＳパラメタ又は通信装置２０が許容可能なＳＥＴＴＩＮＧＳパラメタを決定する。即ち、通信パラメタ決定部３０８は、再度の通信路の確立に利用可能な通信パラメタ及び、規格に準拠した通信パラメタのうち少なくとも何れか一つを、通信装置１０との間で再度通信路を確立する場合に利用可能な通信パラメタとして決定する。
【００２４】
Ｍ６０５において、通信パラメタ追加部３０９は、通信装置１０に対して送信するＧＯＡＷＡＹフレームに、Ｍ６０４で決定したＳＥＴＴＩＮＧＳパラメタの値を、追加デバッグ情報５０３内の通信パラメタ５０６として追加する。
Ｍ６０６において、ＨＴＴＰ通信制御部３０７は、通信装置１０に対して、Ｍ６０５で通信パラメタが追加されたＧＯＡＷＡＹフレームを送信する。
Ｍ６０７において、通信パラメタ取得部４０９は、ＨＴＴＰ通信制御部４０７を介して通信装置２０から受信したＧＯＡＷＡＹフレームを受信し、受信したＧＯＡＷＡＹフレーム中の追加デバッグ情報５０３に含まれている通信パラメタ５０６を取得する。
【００２５】
Ｍ６０８において、ＨＴＴＰ通信制御部３０７とＨＴＴＰ通信制御部４０７とは、ＨＴＴＰ通信接続を終了する。より具体的には、ＨＴＴＰ通信制御部３０７とＨＴＴＰ通信制御部４０７とは、ＴＣＰ接続を切断する。
Ｍ６０９の処理は、Ｍ６０１の処理と同様である。
Ｍ６１０において、通信パラメタ決定部４０８は、前回のＨＴＴＰ通信接続の終了の際に受信したＧＯＡＷＡＹフレーム中の通信パラメタに基づきＳＥＴＴＩＮＧＳパラメタを決定する。決定されたＳＥＴＴＩＮＧＳパラメタは、通信装置２０から受信した、ＨＴＴＰ／２の仕様に準拠した値又は通信装置２０が許容可能な値である。
【００２６】
Ｍ６１１において、ＨＴＴＰ通信制御部４０７は、通信装置２０に対して、Ｍ６１０で決定されたＳＥＴＴＩＮＧＳパラメタを含むＳＥＴＴＩＮＧＳフレーム（第２メッセージ）を送信する。
Ｍ６１２において、ＨＴＴＰ通信制御部３０７は、通信装置１０からＳＥＴＴＩＮＧＳフレームを受信し、受信したＳＥＴＴＩＮＧＳフレームに含まれるＳＥＴＴＩＮＧＳパラメタが適正な値であるかどうか確認する。
Ｍ６１３において、ＨＴＴＰ通信制御部３０７は、Ｍ６１２で受信したＳＥＴＴＩＮＧＳフレームに含まれるＳＥＴＴＩＮＧＳパラメタが適正な値であると確認した場合、以下の処理を行う。即ち、ＨＴＴＰ通信制御部３０７は、通信装置１０に対して、Ｍ６１２で受信したＳＥＴＴＩＮＧＳパラメタが適正な値であることを確認したことを示すＡＣＫフラグを設定したＳＥＴＴＩＮＧＳフレームを送信する。
【００２７】
（ＨＴＴＰ通信接続シーケンス）
図７は、通信装置１０と通信装置２０とのＨＴＴＰ通信処理の一例を示すシーケンス図である。図７の処理は、Ｍ６０１、及びＭ６０９の処理の詳細を示すものである。
Ｍ７０１において、ＴＣＰ／ＩＰ通信制御部４０６は、通信装置２０とＴＣＰ通信接続を行う。
Ｍ７０２において、ＨＴＴＰ通信制御部４０７は、ＨＴＴＰＳ通信を行う場合、通信装置２０とＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）通信接続を行う。ＨＴＴＰ通信制御部４０７は、ＴＬＳ通信接続中に、ＡＬＰＮ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｐｒｏｔｏｃｏｌ  Ｎｅｇｏｔｉａｔｉｏｎ）によりＨＴＴＰ／２通信のネゴシエーションを行う。
【００２８】
Ｍ７０３において、ＨＴＴＰ通信制御部４０７は、ＨＴＴＰＳ通信を行わない場合、通信装置２０に対して、ＨＴＴＰ／２アップグレード要求を送信する。
Ｍ７０４において、ＨＴＴＰ通信制御部３０７は、Ｍ７０３で送信されたＨＴＴＰ／２アップグレード要求に応じて、通信装置１０にＨＴＴＰ／２アップグレード応答を送信する。Ｍ７０４の処理以降、通信装置１０と通信装置２０とは、ＨＴＴＰ／２通信を開始する。
Ｍ７０５において、ＨＴＴＰ通信制御部４０７は、通信装置２０に対して、クライアントコネクションプリフェイスを送信する。クライアントコネクションプリフェイスは、ＰＲＩメソッドと、ＳＥＴＴＩＮＧＳフレームと、を含む。
Ｍ７０６において、ＨＴＴＰ通信制御部３０７は、通信装置１０に対して、サーバコネクションプリフェイスを送信する。サーバコネクションプリフェイスは、空の可能性があるＳＥＴＴＩＮＧＳフレームだけで構成される。
【００２９】
（通信処理）
以下、本実施形態における通信装置１０と通信装置２０との間の通信処理について、図３、図４に示す機能モジュール構成を用いて詳細に説明する。
（ＧＯＡＷＡＹフレーム送信処理）
図８は、通信装置２０によるＧＯＡＷＡＹフレーム送信処理の一例を示すフローチャートである。なお、通信装置１０もＧＯＡＷＡＹフレームを送信することが可能である。
Ｓ８０１において、ＨＴＴＰ通信制御部３０７は、ＴＣＰ／ＩＰ通信制御部３０６を介して、通信装置１０からＳＥＴＴＩＮＧＳフレームを受信する。
Ｓ８０２において、ＨＴＴＰ通信制御部３０７は、Ｓ８０１で受信したＳＥＴＴＩＮＧＳフレームからＳＥＴＴＩＮＧＳパラメタを取得する。
【００３０】
Ｓ８０３において、ＨＴＴＰ通信制御部３０７は、Ｓ８０１で受信したＳＥＴＴＩＮＧＳフレームに基づいて、コネクションエラーを発生させるか否かを判定する。通信装置２０は、予め通信装置２０の補助記憶装置等に適正なＳＥＴＴＩＮＧＳフレームの情報（フレームサイズ、パディング長、ＳＥＴＴＩＮＧＳパラメタ等の値）を設定ファイル等として記憶しているものとする。
例えば、ＨＴＴＰ通信制御部３０７は、通信装置２０の補助記憶装置に記憶された設定ファイルから適正なＳＥＴＴＩＮＧＳフレームの情報を読み出し、以下の処理を行う。即ち、ＨＴＴＰ通信制御部３０７は、読み出した情報に基づいて、受信したＳＥＴＴＩＮＧＳフレームのフレームサイズ、パディング長、ＳＥＴＴＩＮＧＳパラメタが適正な値か否かを判定する。そして、受信したＳＥＴＴＩＮＧＳフレームのフレームサイズ、パディング長、ＳＥＴＴＩＮＧＳパラメタが適正な値ではないと判定した場合、コネクションエラーを発生させることとする。
ＨＴＴＰ通信制御部３０７は、コネクションエラーを発生させると判定した場合、Ｓ８０４の処理に進み、コネクションエラーを発生させないと判定した場合、Ｓ８０７の処理に進む。
【００３１】
Ｓ８０４において、通信パラメタ決定部３０８は、ＧＯＡＷＡＹフレームに追加する通信パラメタを決定する。Ｓ８０４の処理の詳細は、図９で後述する。
Ｓ８０５において、通信パラメタ追加部３０９は、Ｓ８０４で決定した通信パラメタを、ＧＯＡＷＡＹフレームに追加する。
Ｓ８０６において、ＨＴＴＰ通信制御部３０７は、通信装置１０に対して、Ｓ８０５で通信パラメタを追加されたＧＯＡＷＡＹフレームを送信して、処理を終了する。
Ｓ８０７において、ＨＴＴＰ通信制御部３０７は、通信装置１０に対して、受信したＳＥＴＴＩＮＧＳパラメタが適正な値であることを確認したことを示すＡＣＫフラグを設定したＳＥＴＴＩＮＧＳフレームを送信する。
Ｓ８０８において、ＨＴＴＰ通信制御部３０７は、管理する通信装置１０に関する既存のＳＥＴＴＩＮＧＳパラメタを、Ｓ８０２で取得したＳＥＴＴＩＮＧＳパラメタの値で置き換えて、処理を終了する。
【００３２】
（通信パラメタ決定処理）
図９は、通信装置２０によるＧＯＡＷＡＹフレームに追加する通信パラメタの決定処理の一例を示すフローチャートである。図９の処理は、Ｓ８０４の処理の詳細である。
Ｓ９０１において、コネクションエラー判断部３１０は、コネクションエラーの情報を取得する。例えば、コネクションエラー判断部３１０は、ＨＴＴＰ通信制御部３０７に対して、Ｓ８０３において発生したエラー要因を問い合わせることで、コネクションエラーの情報を取得することができる。コネクションエラー判断部３１０は、例えば、ＨＴＴＰ通信制御部３０７からＳ８０１で受信したＳＥＴＴＩＮＧＳフレームの情報を取得する。
【００３３】
Ｓ９０２において、コネクションエラー判断部３１０は、Ｓ９０１で取得したコネクションエラーの情報に基づいて、以下の処理を行う。即ち、コネクションエラー判断部３１０は、コネクションエラーの要因がＳ８０２で取得されたＳＥＴＴＩＮＧＳパラメタが不適正パラメタ値、又は非許容パラメタ値であることか否かを判定する処理を行う。コネクションエラー判断部３１０は、例えば、通信装置２０の補助記憶装置に記憶された設定ファイルから適正なＳＥＴＴＩＮＧＳフレームの情報を取得する。そして、コネクションエラー判断部３１０は、取得した適正なＳＥＴＴＩＮＧＳフレームの情報に基づいて、Ｓ９０１で取得したコネクションエラーの情報に含まれるＳＥＴＴＩＮＧＳパラメタが適正な値又は許容されている値か否かを判定する。
コネクションエラー判断部３１０は、コネクションエラーの要因を、取得されたＳＥＴＴＩＮＧＳパラメタが不適正パラメタ値、又は非許容パラメタ値であることと判定した場合、Ｓ９０３の処理に進む。コネクションエラー判断部３１０は、コネクションエラーの要因を、取得されたＳＥＴＴＩＮＧＳパラメタが不適正パラメタ値、又は非許容パラメタ値であることではないと判定した場合、Ｓ９０４の処理に進む。
Ｓ９０３において、通信パラメタ決定部３０８は、ＨＴＴＰ／２の仕様に準拠した値、又は通信装置２０が許容可能な値を持つＳＥＴＴＩＮＧＳパラメタを決定する。そして、通信パラメタ決定部３０８は、決定したＳＥＴＴＩＮＧＳパラメタをＧＯＡＷＡＹフレームに追加する通信パラメタとして決定して、図９の処理を終了する。Ｓ９０３の処理の詳細は、図１０で後述する。
【００３４】
Ｓ９０４において、コネクションエラー判断部３１０は、Ｓ９０１で取得した情報に基づいて、コネクションエラーの要因がＳ８０１で受信したＳＥＴＴＩＮＧＳフレームのフレームサイズが不適正な値であることか否かを判定する。コネクションエラー判断部３１０は、例えば、通信装置２０の補助記憶装置に記憶された設定ファイルから適正なＳＥＴＴＩＮＧＳフレームの情報を取得する。そして、コネクションエラー判断部３１０は、取得した適正なＳＥＴＴＩＮＧＳフレームの情報に基づいて、Ｓ９０１で取得したコネクションエラーの情報に含まれるＳＥＴＴＩＮＧＳフレームのフレームサイズが適正な値又は許容されている値か否かを判定する。
コネクションエラー判断部３１０は、コネクションエラーの要因を、Ｓ８０１で受信したＳＥＴＴＩＮＧＳフレームのフレームサイズが不適正な値であることと判定した場合、Ｓ９０５の処理に進む。コネクションエラー判断部３１０は、コネクションエラーの要因を、Ｓ８０１で受信したＳＥＴＴＩＮＧＳフレームのフレームサイズが不適正な値であることではないと判定した場合、Ｓ９０６の処理に進む。
Ｓ９０５において、通信パラメタ決定部３０８は、ＨＴＴＰ／２の仕様に準拠した値、又は通信装置２０が許容可能な値のフレームサイズを決定する。そして、通信パラメタ決定部３０８は、決定したフレームサイズをＧＯＡＷＡＹフレームに追加する通信パラメタとして決定して、図９の処理を終了する。
【００３５】
Ｓ９０６において、コネクションエラー判断部３１０は、Ｓ９０１で取得した情報に基づいて、コネクションエラーの要因がＳ８０１で受信したＳＥＴＴＩＮＧＳフレームのパディング長が不適正な値であることか否かを判定する。コネクションエラー判断部３１０は、例えば、通信装置２０の補助記憶装置に記憶された設定ファイルから適正なＳＥＴＴＩＮＧＳフレームの情報を取得する。そして、コネクションエラー判断部３１０は、取得した情報に基づいて、Ｓ９０１で取得したコネクションエラーの情報に含まれるＳＥＴＴＩＮＧＳフレームのパディング長が適正な値又は許容されている値か否かを判定する。
コネクションエラー判断部３１０は、コネクションエラーの要因を、Ｓ８０１で受信したＳＥＴＴＩＮＧＳフレームのパディング長が不適正な値であることと判定した場合、Ｓ９０７の処理に進む。コネクションエラー判断部３１０は、コネクションエラーの要因を、Ｓ８０１で受信したＳＥＴＴＩＮＧＳフレームのパディング長が不適正な値であることではないと判定した場合、Ｓ９０８の処理に進む。
【００３６】
Ｓ９０７において、通信パラメタ決定部３０８は、ＨＴＴＰ／２の仕様に準拠した値、又は通信装置２０が許容可能な値のパディング長を決定する。そして、通信パラメタ決定部３０８は、決定したパディング長をＧＯＡＷＡＹフレームに追加する通信パラメタとして決定して、図９の処理を終了する。
Ｓ９０８において、通信パラメタ決定部３０８は、ＧＯＡＷＡＹフレームに追加する通信パラメタはないと判定し、図９の処理を終了する。
【００３７】
（ＳＥＴＴＩＮＧＳパラメタ決定処理）
図１０は、通信装置２０によるＧＯＡＷＡＹフレームに追加するＳＥＴＴＩＮＧＳパラメタの決定処理の一例を示すフローチャートである。図１０の処理は、Ｓ９０３の処理の詳細を表す。
Ｓ１００１において、コネクションエラー判断部３１０は、Ｓ９０１で取得した情報に基づいて、以下の処理を行う。即ち、コネクションエラー判断部３１０は、コネクションエラーの要因が、ＳＥＴＴＩＮＧＳパラメタの同時ストリームの最大数が不適正パラメタ値、又は非許容パラメタ値であることか否かを判定する。コネクションエラー判断部３１０は、例えば、通信装置２０の補助記憶装置に記憶された設定ファイルから適正なＳＥＴＴＩＮＧＳフレームの情報を取得する。そして、コネクションエラー判断部３１０は、取得した情報に基づいて、Ｓ９０１で取得したコネクションエラーの情報に含まれるＳＥＴＴＩＮＧＳパラメタの同時ストリームの最大数が適正な値又は許容されている値か否かを判定する。
コネクションエラー判断部３１０は、コネクションエラーの要因を、ＳＥＴＴＩＮＧＳパラメタの同時ストリームの最大数が不適正パラメタ値、又は非許容パラメタ値であることと判定した場合、Ｓ１００２の処理に進む。コネクションエラー判断部３１０は、コネクションエラーの要因を、ＳＥＴＴＩＮＧＳパラメタの同時ストリームの最大数が不適正パラメタ値、又は非許容パラメタ値であることではないと判定した場合、Ｓ１００３の処理に進む。ＳＥＴＴＩＮＧＳパラメタに含まれるＳＥＴＴＩＮＧＳ＿ＭＡＸ＿ＣＯＮＣＵＲＲＥＮＴ＿ＳＴＲＥＡＭＳは、同時ストリームの最大数を示す。
【００３８】
Ｓ１００２において、通信パラメタ決定部３０８は、ＨＴＴＰ／２の仕様に準拠した値、又は通信装置２０が許容可能な値の同時ストリームの最大数を決定して、図１０の処理を終了する。
Ｓ１００３において、コネクションエラー判断部３１０は、Ｓ９０１で取得した情報に基づいて、コネクションエラーの要因が、ＳＥＴＴＩＮＧＳパラメタの初期ウィンドウサイズが不適正パラメタ値、又は非許容パラメタ値であることか否かを判定する。コネクションエラー判断部３１０は、例えば、通信装置２０の補助記憶装置に記憶された設定ファイルから適正なＳＥＴＴＩＮＧＳフレームの情報を取得する。そして、コネクションエラー判断部３１０は、取得した情報に基づいて、Ｓ９０１で取得したコネクションエラーの情報に含まれるＳＥＴＴＩＮＧＳパラメタの初期ウィンドウサイズが適正な値又は許容されている値か否かを判定する。
コネクションエラー判断部３１０は、特定した要因が、ＳＥＴＴＩＮＧＳパラメタの初期ウィンドウサイズが不適正パラメタ値、又は非許容パラメタ値であることと判定した場合、Ｓ１００４の処理に進む。コネクションエラー判断部３１０は、特定した要因が、ＳＥＴＴＩＮＧＳパラメタの初期ウィンドウサイズが不適正パラメタ値、又は非許容パラメタ値であることではないと判定した場合、Ｓ１００５の処理に進む。ＳＥＴＴＩＮＧＳパラメタに含まれるＳＥＴＴＩＮＧＳ＿ＩＮＩＴＩＡＬ＿ＷＩＮＤＯＷ＿ＳＩＺＥは、初期ウィンドウサイズを示す。
【００３９】
Ｓ１００４において、通信パラメタ決定部３０８は、ＨＴＴＰ／２の仕様に準拠した値、又は通信装置２０が許容可能な値の初期ウィンドウサイズを決定して、図１０の処理を終了する。
Ｓ１００５において、コネクションエラー判断部３１０は、Ｓ９０１で取得した情報に基づいて、コネクションエラーの要因が、ＳＥＴＴＩＮＧＳパラメタのヘッダリストの最大サイズが不適正パラメタ値、又は非許容パラメタ値であることか否かを判定する。コネクションエラー判断部３１０は、例えば、通信装置２０の補助記憶装置に記憶された設定ファイルから適正なＳＥＴＴＩＮＧＳフレームの情報を取得する。そして、コネクションエラー判断部３１０は、取得した情報に基づいて、Ｓ９０１で取得したコネクションエラーの情報に含まれるＳＥＴＴＩＮＧＳパラメタのヘッダリストの最大サイズが適正な値又は許容されている値か否かを判定する。
コネクションエラー判断部３１０は、特定した要因が、ＳＥＴＴＩＮＧＳパラメタのヘッダリストの最大サイズが不適正パラメタ値、又は非許容パラメタ値であることと判定した場合、Ｓ１００６の処理に進む。コネクションエラー判断部３１０は、特定した要因が、ＳＥＴＴＩＮＧＳパラメタのヘッダリストの最大サイズが不適正パラメタ値、又は非許容パラメタ値であることではないと判定した場合、Ｓ１００７の処理に進む。ＳＥＴＴＩＮＧＳパラメタに含まれるＳＥＴＴＩＮＧＳ＿ＭＡＸ＿ＨＥＡＤＥＲ＿ＬＩＳＴ＿ＳＩＺＥは、ヘッダリストの最大サイズを示す。
【００４０】
Ｓ１００６において、通信パラメタ決定部３０８は、ＨＴＴＰ／２の仕様に準拠した値、又は通信装置２０が許容可能な値のヘッダリストの最大サイズを決定して、図１０の処理を終了する。
Ｓ１００７において、通信パラメタ決定部３０８は、ＧＯＡＷＡＹフレームに追加する通信パラメタはないと判定し、図１０の処理を終了する。
【００４１】
（ＧＯＡＷＡＹフレーム受信処理）
図１１は、通信装置１０によるＧＯＡＷＡＹフレーム受信の際の処理の一例を示すフローチャートである。なお通信装置２０が通信装置１０からＧＯＡＷＡＹフレームを受信する場合もある。
Ｓ１１０１において、ＨＴＴＰ通信制御部４０７は、Ｓ８０６で通信装置２０により送信されたＧＯＡＷＡＹフレームを受信する。
Ｓ１１０２において、通信パラメタ取得部４０９は、Ｓ１１０１で受信したＧＯＡＷＡＹフレーム中に追加デバッグ情報が存在するか否かを判定する。通信パラメタ取得部４０９は、Ｓ１１０１で受信したＧＯＡＷＡＹフレーム中に追加デバッグ情報が存在すると判定した場合、Ｓ１１０３の処理に進み、追加デバッグ情報がないと判定した場合、図１１の処理を終了する。
【００４２】
Ｓ１１０３において、通信パラメタ取得部４０９は、Ｓ１１０１で受信したＧＯＡＷＡＹフレーム中のエラーコードに基づいて、コネクションエラーが発生したか否かを判定する。通信パラメタ取得部４０９は、コネクションエラーが発生したと判定した場合、Ｓ１１０４の処理に進み、コネクションエラーが発生していないと判定した場合、Ｓ１１０５の処理に進む。
Ｓ１１０４において、通信パラメタ取得部４０９は、Ｓ１１０１で受信したＧＯＡＷＡＹフレームに含まれる追加デバッグ情報中のエラー発生ストリームＩＤ及びエラー詳細要因コードを取得する。
Ｓ１１０５において、通信パラメタ取得部４０９は、Ｓ１１０１で受信したＧＯＡＷＡＹフレームに含まれる追加デバッグ情報中の通信パラメタを取得し、記憶制御部４０５を介して、補助記憶装置２０４等に記憶する。通信パラメタ取得部４０９は、通信パラメタが複数存在する場合、すべての通信パラメタを取得し、記憶する。通信パラメタ取得部４０９は、Ｓ１１０５の処理を完了した後、図１１の処理を終了する。
【００４３】
（ＳＥＴＴＩＮＧＳフレーム送信処理）
図１２は、通信装置１０によるＳＥＴＴＩＮＧＳフレーム送信の際の処理の一例を示すフローチャートである。なお通信装置２０もＳＥＴＴＩＮＧＳフレームを送信することは可能である。
Ｓ１２０１において、通信パラメタ決定部４０８は、前回のＨＴＴＰ通信接続の終了前に受信したＧＯＡＷＡＹフレームから取得した通信パラメタが存在するか否か判定する。より具体的には、通信パラメタ決定部４０８は、補助記憶装置２０４等から、Ｓ１１０５で記憶された通信パラメタを検索する。通信パラメタ決定部４０８は、通信パラメタが存在すると判定した場合、Ｓ１２０２の処理に進み、通信パラメタが存在しないと判定した場合、Ｓ１２０４の処理に進む。
Ｓ１２０２において、通信パラメタ決定部４０８は、Ｓ１２０１で存在すると判定した通信パラメタに基づき、通信装置２０に対して送信するＳＥＴＴＩＮＧＳフレームの通信パラメタを決定する。より具体的には、通信パラメタ決定部４０８は、通信装置２０に対して送信するＳＥＴＴＩＮＧＳフレームのフレームサイズやパディング長等を、Ｓ１２０１で存在すると判定した通信パラメタのフレームサイズやパディング長等と同じ値にする。
【００４４】
Ｓ１２０３において、通信パラメタ決定部４０８は、Ｓ１２０２で決定した通信パラメタに基づき、通信装置２０に対して送信するＳＥＴＴＩＮＧＳフレーム中のＳＥＴＴＩＮＧＳパラメタを決定する。
Ｓ１２０４において、ＨＴＴＰ通信制御部４０７は、通信装置２０に対して、Ｓ１２０３でＳＥＴＴＩＮＧＳパラメタを決定したＳＥＴＴＩＮＧＳフレームを送信して、図１２の処理を終了する。
【００４５】
以上、本実施形態の処理によれば、通信装置２０は、通信装置１０からＳＥＴＴＩＮＧＳフレームを受信し、ＳＥＴＴＩＮＧＳパラメタの値を確認する。もし、ＳＥＴＴＩＮＧＳパラメタの値が仕様に準拠しない不適正な値、又は通信装置２０が許容できない値である場合、通信装置２０は、コネクションエラーを発生させる。そして、通信装置２０は、ＨＴＴＰ／２の仕様に準拠した適正な値、又は通信装置２０が許容可能な値をもつＳＥＴＴＩＮＧＳパラメタを、ＧＯＡＷＡＹフレームの追加デバッグ情報として、通信装置１０に送信する。
そして、通信装置１０は、通信装置２０との再接続の際、受信したＧＯＡＷＡＹフレームに含まれるＳＥＴＴＩＮＧＳパラメタに基づいたＳＥＴＴＩＮＧＳフレームを通信装置２０に送信する。それにより、通信装置１０は、通信装置２０との再接続の際に、再び不適正な又は通信装置２０が許容できないＳＥＴＴＩＮＧＳパラメタを送信し、コネクションエラーを発生させることを回避することができる。即ち、通信装置１０は、通信装置２０と再接続する際のＳＥＴＴＩＮＧＳフレームの交換におけるエラーを回避することができる。よって、通信装置１０と通信装置２０との間で再度通信路を確立する場合の通信にかかる時間の短縮を図ることができ、更に、通信の相互接続性を向上させることができる。
【００４６】
また、本実施形態では、通信装置１０、通信装置２０は、通信パラメタとしてＳＥＴＴＩＮＧＳパラメタの内容を用いることとした。しかし、通信装置１０、通信装置２０は、他のフレームの内容やコネクション又はストリームに関する内容等、ＨＴＴＰ／２仕様で定義された通信パラメタの内容を用いてもよい。例えば、通信装置１０、通信装置２０は、共通フレームヘッダ内容（フレームサイズ、フレームタイプ、パディング）、ストリームの状態遷移、ストリームの優先度、ストリームの依存関係、等を通信パラメタとして利用することとしてもよい。
また、通信装置１０、通信装置２０は、ＨＴＴＰ／２仕様で定義されていない通信パラメタであっても、通信装置１０と通信装置２０との双方で利用可能な通信パラメタであれば、利用することができる。通信装置１０、通信装置２０は、例えば、無線ＬＡＮやＴＣＰ／ＩＰ、ＴＬＳ等の他の通信プロトコルで使用している通信パラメタを用いてもよい。それにより、通信装置１０は、通信装置２０と再接続する際、最適な通信パラメタを用いて通信を再開することができるため、通信装置１０と通信装置２０との通信速度や相互接続性をさらに向上させることができる。
【００４７】
また、本実施形態では、コネクションエラー判断部３１０は、図１０の処理でＳＥＴＴＩＮＧＳパラメタにおける同時ストリームの最大数、初期ウィンドウサイズ、ヘッダリストの最大サイズの値が適正であるか又は許容されているか否かを判定した。しかし、コネクションエラー判断部３１０は、その他のパラメタの値が適正であるか又は許容されているか否かを判定してもよい。その他のパラメタには、例えば、ヘッダ圧縮テーブルの最大サイズ（ＨＥＡＤＥＲ＿ＴＡＢＬＥ＿ＳＩＺＥ）、最大フレームペイロードサイズ（ＭＡＸ＿ＦＲＡＭＥ＿ＳＩＺＥ）等がある。また、コネクションエラー判断部３１０は、ＨＴＴＰ／２仕様で定義されていない独自のＳＥＴＴＩＮＧＳパラメタの値が適正であるか又は許容されているか否かを判定することとしてもよい。それにより、通信装置１０と通信装置２０とは、通信の相互接続性をさらに向上させることができる。
【００４８】
また、本実施形態では、通信パラメタ決定部３０８は、ＧＯＡＷＡＹフレームに追加する通信パラメタとして、ＨＴＴＰ／２の仕様に準拠した値、又は通信装置２０が許容可能な値を決定した。しかし、通信パラメタ決定部３０８は、例えば、通信装置１０との通信で使用していた全て又は一部の通信パラメタをＧＯＡＷＡＹフレームに追加すると決定してもよい。即ち、通信パラメタ決定部３０８は、ＨＴＴＰ／２通信だけに限らず、無線ＬＡＮやＴＣＰ／ＩＰ、ＴＬＳ等の他の通信プロトコルで使用している通信パラメタをＧＯＡＷＡＹフレームに追加してもよい。それにより、通信装置１０は、通信装置２０と再接続する際、最適な通信パラメタを用いて通信を再開することができるため、通信装置１０と通信装置２０との通信速度や相互接続性がさらに向上する。
【００４９】
また、本実施形態では、通信装置２０は、通信パラメタとしてヘッダ圧縮で利用する情報を用いてもよい。より具体的には、通信装置２０は、通信パラメタとして、ヘッダリスト、ヘッダ圧縮用のテーブルであるインデックステーブル、静的テーブル、ヘッダテーブル、等を用いてもよい。コネクションエラー判断部３１０は、例えば、ヘッダ圧縮用のテーブルの内容に不整合が生じる可能性があることが原因でコネクションエラーが発生しているか否かを判定することとしてよい。
コネクションエラー判断部３１０によりコネクションエラーが発生していないと判定された場合、通信パラメタ決定部３０８は、追加する通信パラメタとして、通信装置１０とのＨＴＴＰ通信で使用している現在のヘッダ圧縮用のテーブルを決定する。そして、通信パラメタ追加部３０９は、前記ヘッダ圧縮用のテーブルの情報をＧＯＡＷＡＹフレーム中の追加デバッグ情報に追加する。通信パラメタ追加部３０９は、ヘッダ圧縮用のテーブルの全部又は一部をＧＯＡＷＡＹフレーム中の追加デバッグ情報に追加してもよい。通信パラメタ追加部３０９は、例えば、通信装置２０側で主に生成するヘッダテーブルのみをＧＯＡＷＡＹフレーム中の追加デバッグ情報に追加してもよい。
そして、通信装置１０は、通信装置２０との再接続の際、受信したヘッダ圧縮用のテーブルを再利用することで、再接続の直後から効率的なヘッダ圧縮を行うことが可能となり、通信装置２０との間の通信速度を更に向上させることができる。
【００５０】
また、本実施形態では、通信装置２０は、通信装置１０の信頼度に応じて、ＧＯＡＷＡＹフレームに追加する通信パラメタの内容を決定することとしてもよい。より具体的には、通信装置２０は、予め、通信装置２０の補助記憶装置等に通信を行う他の通信装置の信頼度の情報を含む設定ファイル等を記憶するものとする。そして、通信装置２０は、通信装置２０の補助記憶装置等に記憶されている設定ファイル等から通信装置１０の信頼度を取得する。
通信装置２０は、取得した通信装置１０の信頼度が設定された閾値以上ならば、通信装置１０に送信するＧＯＡＷＡＹフレームにセキュリティ・プライバシー情報を含ませることとする。通信装置２０は、取得した通信装置１０の信頼度が設定された閾値未満ならば、通信装置１０に送信するＧＯＡＷＡＹフレームにセキュリティ・プライバシー情報を含ませないこととする。それにより、通信装置２０は、十分に信頼できない通信相手に対して、セキュリティ・プライバシー情報を送信せずに済むため、セキュリティリスクを軽減することができる。
【００５１】
本実施形態では、通信装置１０と通信装置２０とは、通信開始の際にプロトコルのアップグレードを実行し、接続エラーが起こった際に通信相手に通信の終了を示す信号を送信するプロトコルに則った通信を行うこととした。しかし、通信装置１０と通信装置２０とは、通信開始の際に通信相手に通信設定情報を送信し、接続エラーが起こった際に通信相手に通信の終了を示す信号を送信するプロトコルに則った通信を行うこととしてもよい。その場合、通信装置１０と通信装置２０とは、再接続までの時間を短縮することはできないが、通信の相互接続性を向上させることはできる。
【００５２】
＜実施形態２＞
本実施形態では、通信装置２０は、通信装置１０と通信装置２０との通信関係に基づいて、ＧＯＡＷＡＹフレームに通信パラメタを追加する。通信関係は、通信装置間の通信が継続中であるか否かを示す。通信装置２０と通信装置１０との間に通信関係が有ることは、通信装置２０と通信装置１０との間でセッション等の一連の通信が継続中であることを示す。本実施形態における通信システムのシステム構成、通信装置１０及び通信装置２０のハードウェア構成は、実施形態１と同様である。以下では、実施形態１と異なる部分について説明する。
【００５３】
（機能構成）
図１３は、本実施形態における通信装置２０の機能構成の一例を示す図である。図１３において、図３と同じ内容の機能モジュールに関しては説明を省略する。機能構成要素１３０１〜１３０９は、それぞれ機能構成要素３０１〜３０９と同様である。
ディスカバリ制御部１３１４は、ＴＣＰ／ＩＰ通信制御部１３０６又はＨＴＴＰ通信制御部１３０７を介して、無線ＬＡＮ上の通信装置１０のディスカバリ（発見）制御を行う。より具体的には、ディスカバリ制御部１３１４は、無線ＬＡＮ上の通信装置１０を発見する機能を備える。また、ディスカバリ制御部１３１４は、無線ＬＡＮ上の通信装置１０に、通信装置２０の参加又は離脱を通知する機能を備える。
本実施形態においてディスカバリ制御部１３１４は、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）規格にて利用されているＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）方式を利用する。ディスカバリ制御部１３１４はＳＳＤＰに限らず、他のディスカバリ方式を利用してもよい。他のディスカバリ方式には、例えば、ｍＤＮＳ（ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ）、Ｂｏｎｊｏｕｒ（登録商標）、ＳＤＰ（Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）、等がある。
【００５４】
認証・認可制御部１３１５は、ＨＴＴＰ通信制御部１３０７を介して、通信装置１０との間でユーザや通信装置２０に関する認証・認可処理を行う。本実施形態では、認証・認可制御部１３１５は、ＨＴＴＰ認証（Ｂａｓｉｃ認証・Ｄｉｇｅｓｔ認証）方式を利用する。認証・認可制御部１３１５は、ＯＡｕｔｈ  ２．０、ＯｐｅｎＩＤ、ＯｐｅｎＩＤ  Ｃｏｎｎｅｃｔ、ＳＡＭＬ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等、他の認証・認可方式を利用してもよい。
サービス制御部１３１６は、ＨＴＴＰ通信制御部１３０７を介して、通信装置１０に対するサービスの提供を行う。本実施形態では、サービス制御部１３１６は、ＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）、ＵＰｎＰ、及びＷｅｂサービス方式を利用する。サービス制御部１３１６は、他のサービス制御方式を利用してもよい。他のサービスには、例えば、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）がある。また、他のサービスには、ＡｔｏｍＰｕｂ（Ａｔｏｍ  Ｐｕｂｌｉｓｈｉｎｇ  Ｐｒｏｔｏｃｏｌ）等もある。
【００５５】
（通信関係判断処理）
通信装置１０との通信関係の有無の判定に利用される機能について説明する。
通信関係判断部１３１０は、通信状態判断部１３１１、通信履歴判断部１３１２、通信方式判断部１３１３、の何れか１つ又は複数を介して、ネットワークを介した通信装置１０との通信関係の有無を判定する。
通信状態判断部１３１１は、通信装置１０との通信状態の情報を取得し、取得された通信状態の情報に基づき、通信装置１０との通信関係の有無を判定する。通信状態判断部１３１１は、以下のような通信状態の情報に基づいて、通信装置１０との通信関係の有無を判定することができる。通信装置１０との通信状態の情報は、通信状態情報の一例である。
【００５６】
通信状態判断部１３１１は、無線ＬＡＮ通信制御部１３０２から、通信装置１０との無線ＬＡＮ通信状態の情報を取得する。そして、通信状態判断部１３１１は、取得した情報に基づき、通信装置１０との通信関係の有無を判定することができる。
通信状態判断部１３１１は、例えば、無線ＬＡＮ（Ｗｉ−Ｆｉ）接続の開始・終了、無線ＬＡＮ通信の際の認証完了、ビーコンの検出・不検出、等のイベント情報や無線ＬＡＮ接続形態の設定情報（インフラモード、アドホックモード）、等を取得する。そして、通信状態判断部１３１１は、取得したイベント情報や設定情報に基づいて、通信装置１０との通信関係の有無を判定する。
例えば、通信状態判断部１３１１は、無線ＬＡＮ（Ｗｉ−Ｆｉ）接続の開始イベント情報を取得し、終了イベント情報を取得していない場合、通信装置１０との通信関係が有るものと判定する。通信状態判断部１３１１は、その他、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ接続の開始・終了、無線ＬＡＮ通信エラー、等のイベント情報に基づいて、通信装置１０との通信関係の有無を判定してもよい。
【００５７】
また、通信状態判断部１３１１は、ＴＣＰ／ＩＰ通信制御部１３０６を介して、通信装置１０とのＴＣＰ／ＩＰ通信状態の情報を取得し、取得した情報に基づき、通信装置１０との通信関係の有無を判定する。
例えば、通信状態判断部１３１１は、ＴＣＰ／ＩＰ通信制御部１３０６から、通信装置１０とのＴＣＰ／ＩＰ通信状態の情報を取得する。通信状態判断部１３１１は、ＴＣＰ接続・切断、誤り発生状態、遅延状態、パケット再送状態、データ転送量、フロー制御状態、回線品質、ＴＣＰ／ＩＰ通信エラー、等のＴＣＰ／ＩＰ通信状態の情報を取得する。
そして、通信状態判断部１３１１は、取得したＴＣＰ／ＩＰ通信状態の情報に基づき、通信装置１０との通信関係の有無を判定する。例えば、通信状態判断部１３１１は、ＴＣＰ接続を示す状態情報を取得し、ＴＣＰ切断を示す状態情報を取得していない場合、通信装置１０との通信関係が有るものと判定する。
【００５８】
また、通信状態判断部１３１１は、ＨＴＴＰ通信制御部１３０７を介して、通信装置１０とのＨＴＴＰ通信状態の情報に基づき、通信装置１０との通信関係の有無を判定する。
例えば、通信状態判断部１３１１は、ＨＴＴＰ通信制御部１３０７から、通信装置１０とのＨＴＴＰ通信状態の情報を取得する。通信状態判断部１３１１は、ＨＴＴＰ通信の開始（ＨＥＡＤＥＲＳ＋ＰＲＩＯＲＩＴＹフレーム）・終了（ＧＯＡＷＡＹフレーム）、同時ＨＴＴＰ通信数（マルチセッション数）、ＨＴＴＰ通信エラー、等のＨＴＴＰ通信状態の情報を取得する。
そして、通信状態判断部１３１１は、取得したＨＴＴＰ通信状態の情報に基づき通信装置１０との通信関係の有無を判定する。例えば、通信状態判断部１３１１は、ＨＴＴＰ通信の開始を示すフレームを取得し、ＨＴＴＰ通信の終了を示すフレーム（ＧＯＡＷＡＹフレーム）を取得していない場合、通信装置１０との通信関係が有るものと判定する。
【００５９】
また、通信状態判断部１３１１は、ディスカバリ制御部１３１４を介して、通信装置１０との無線ＬＡＮ上のディスカバリ状態の情報に基づき、通信装置１０との通信関係の有無を判定する。
例えば、通信状態判断部１３１１は、ディスカバリ制御部１３１４から、ディスカバリ状態の情報を取得する。通信状態判断部１３１１は、通信装置２０の無線ＬＡＮへの参加・離脱、通信装置１０の無線ＬＡＮ上の発見・参加・離脱、等のディスカバリ状態の情報を取得する。
そして、通信状態判断部１３１１は、取得したディスカバリ状態の情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信状態判断部１３１１は、通信装置１０及び通信装置２０について、無線ＬＡＮへの参加を示すディスカバリ状態の情報を取得し、無線ＬＡＮからの離脱を示すディスカバリ状態の情報を取得していない場合、以下のように判定する。即ち、通信状態判断部１３１１は、通信装置１０との通信関係が有るものと判定する。
【００６０】
また、通信状態判断部１３１１は、認証・認可制御部１３１５を介して、通信装置１０との認証・認可状態の情報に基づき、通信装置１０との通信関係の有無を判定する。
例えば、通信状態判断部１３１１は、認証・認可制御部１３１５から、認証・認可状態の情報を取得する。通信状態判断部１３１１は、認証・認可の開始・終了、ユーザのログイン・ログアウト、認証済・未認証、認可承認済・未承認、認証有効期限内・期限切れ、アクセストークン有効・無効、アクセストークン有効期限内・期限切れ、等の情報を取得する。
そして、通信状態判断部１３１１は、取得した認証・認可状態の情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信状態判断部１３１１は、通信装置１０及び通信装置２０について、認証・認可の開始を示す認証・認可状態の情報を取得し、認証・認可の終了を示す認証・認可状態の情報を取得していない場合、通信装置１０との通信関係が有るものと判定する。
【００６１】
また、通信状態判断部１３１１は、サービス制御部１３１６を介して、通信装置１０とのサービス提供・利用状態の情報に基づき、通信装置１０との通信関係の有無を判定する。
例えば、通信状態判断部１３１１は、サービス制御部１３１６から、サービス提供・利用状態の情報を取得する。通信状態判断部１３１１は、サービス提供の開始・終了、サービス利用の開始・終了、等のサービス提供・利用状態の情報を取得する。
そして、通信状態判断部１３１１は、取得したサービス提供・利用状態の情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信状態判断部１３１１は、サービス提供の開始を示すサービス提供・利用状態の情報を取得し、サービス提供の終了を示すサービス提供・利用状態の情報を取得していない場合、通信装置１０との通信関係が有るものと判定する。
【００６２】
通信状態判断部１３１１は、複数の通信状態の情報の組み合わせに基づいて、通信関係の有無を判定してもよい。複数の通信状態の情報には、上記の、通信装置１０との無線ＬＡＮ通信状態の情報、ＴＣＰ／ＩＰ通信状態の情報、ＨＴＴＰ通信状態の情報、無線ＬＡＮ上のディスカバリ状態の情報、認証・認可状態の情報、サービス提供・利用状態の情報等がある。
通信履歴判断部１３１２は、通信装置１０との通信履歴の情報に基づき、通信装置１０との通信関係の有無を判定する。通信履歴判断部１３１２は、例えば以下のような処理を行う。通信装置１０との通信履歴の情報は、通信履歴情報の一例である。
【００６３】
通信履歴判断部１３１２は、無線ＬＡＮ通信制御部１３０２を介して、通信装置１０との無線ＬＡＮ通信履歴の情報に基づき、通信装置１０との通信関係の有無を判定する。
例えば、通信履歴判断部１３１２は、無線ＬＡＮ通信制御部１３０２を介して、通信装置２０の補助記憶装置等に記憶されたログファイル等から通信装置１０との無線ＬＡＮ通信履歴の情報を取得する。通信履歴判断部１３１２は、これまでの無線ＬＡＮ接続・切断の有無、接続形態（インフラ・アドホック、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの永続的・一時的グループ）、等の通信装置１０との無線ＬＡＮ通信履歴の情報を取得する。
そして、通信履歴判断部１３１２は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信履歴判断部１３１２は、通信装置１０の無線ＬＡＮ接続をしめす無線ＬＡＮ通信履歴の情報を取得し、通信装置１０の無線ＬＡＮ切断を示す無線ＬＡＮ通信履歴の情報を取得していない場合、通信装置１０との通信関係が有るものと判定する。
【００６４】
また、通信履歴判断部１３１２は、ＴＣＰ／ＩＰ通信制御部１３０６を介して、通信装置１０とのＴＣＰ／ＩＰ通信履歴の情報に基づき、通信装置１０との通信関係の有無を判定する。
例えば、通信履歴判断部１３１２は、ＴＣＰ／ＩＰ通信制御部１３０６を介して、通信装置２０の補助記憶装置等に記憶されたログファイル等から通信装置１０とのＴＣＰ／ＩＰ通信履歴の情報を取得する。通信履歴判断部１３１２は、通信装置１０のドメイン名、ホスト名、ＩＰアドレス、ポート番号、通信装置１０とのこれまでのＴＣＰ／ＩＰ接続・切断の有無、等のＴＣＰ／ＩＰ通信履歴の情報を取得する。
そして、通信履歴判断部１３１２は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信履歴判断部１３１２は、通信装置１０のＴＣＰ／ＩＰ接続をしめすＴＣＰ／ＩＰ通信履歴の情報を取得し、通信装置１０のＴＣＰ／ＩＰ切断を示すＴＣＰ／ＩＰ通信履歴の情報を取得していない場合、通信装置１０との通信関係が有るものと判定する。
【００６５】
また、通信履歴判断部１３１２は、ＨＴＴＰ通信制御部１３０７を介して、通信装置１０とのＨＴＴＰ通信履歴の情報に基づいて、通信関係の有無を判断する。
例えば、通信履歴判断部１３１２は、ＨＴＴＰ通信制御部１３０７を介して、通信装置２０の補助記憶装置等に記憶されたログファイル等から通信装置１０とのＨＴＴＰ通信履歴の情報を取得する。通信履歴判断部１３１２は、通信装置１０のＵＲＩ、送信したＨＴＴＰリクエストの内容、受信したＨＴＴＰレスポンスの内容、ＨＴＴＰ通信（セッション）ＩＤ、ＨＴＴＰストリームＩＤ、Ｃｏｏｋｉｅ、等のＨＴＴＰ通信履歴の情報を取得する。
そして、通信履歴判断部１３１２は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信履歴判断部１３１２は、切断を要求するＨＴＴＰリクエストを取得していない場合、通信装置１０との通信関係が有るものと判定する。
【００６６】
また、通信履歴判断部１３１２は、ディスカバリ制御部１３１４を介して、通信装置１０との無線ＬＡＮ上のディスカバリ履歴の情報に基づき、通信関係の有無を判定する。
例えば、例えば、通信履歴判断部１３１２は、ディスカバリ制御部１３１４を介して、通信装置２０の補助記憶装置等に記憶されたログファイル等から通信装置１０との無線ＬＡＮ上のディスカバリ履歴の情報を取得する。通信履歴判断部１３１２は、通信装置１０の無線ＬＡＮへの参加・離脱の有無・回数・日時、通信装置１０の無線ＬＡＮ上の発見・参加・離脱の有無・回数・日時、等のディスカバリ履歴の情報を取得する。
そして、通信履歴判断部１３１２は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信履歴判断部１３１２は、通信装置１０の無線ＬＡＮへの参加を示すディスカバリ履歴情報を取得し、通信装置１０の無線ＬＡＮからの離脱を示すディスカバリ履歴情報を取得していない場合、通信装置１０との通信関係が有るものと判定する。
【００６７】
また、通信履歴判断部１３１２は、認証・認可制御部１３１５を介して、通信装置１０との認証・認可履歴の情報に基づいて、通信関係の有無を判断する。
例えば、通信履歴判断部１３１２は、認証・認可制御部１３１５を介して、通信装置２０の補助記憶装置等に記憶されたログファイル等から通信装置１０との認証・認可履歴の情報を取得する。通信履歴判断部１３１２は、認証・認可・ログイン・ログアウトの有無・回数・日時、ＩＤ・パスワード等の認証情報・認可情報、承認した回数、等の認証・認可履歴の情報を取得する。また、通信履歴判断部１３１２は、発行したアクセストークンのＩＤ・権限範囲・数・有効期間、無効にしたアクセストークン、等の認証・認可履歴の情報を取得することとしてもよい。
そして、通信履歴判断部１３１２は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信履歴判断部１３１２は、通信装置１０からのログインを示す認証・認可履歴の情報を取得し、通信装置１０のログアウトを示す認証・認可履歴の情報を取得していない場合、通信装置１０との通信関係が有るものと判定する。
【００６８】
また、通信履歴判断部１３１２は、サービス制御部１３１６を介して、通信装置１０に対するサービス提供・利用履歴の情報に基づいて、通信関係の有無を判断する。
例えば、通信履歴判断部１３１２は、サービス制御部１３１６を介して、通信装置２０の補助記憶装置等に記憶されたログファイル等から通信装置１０に対するサービス提供・利用履歴の情報を取得する。通信履歴判断部１３１２は、提供・利用したサービスの種別・内容、サービス提供・利用の有無、等の通信装置１０に対するサービス提供・利用履歴の情報を取得する。
そして、通信履歴判断部１３１２は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信履歴判断部１３１２は、通信装置１０に対するサービス提供が完了していない旨のサービス提供・利用履歴の情報を取得した場合、通信装置１０との通信関係が有るものと判定する。
【００６９】
また、通信履歴判断部１３１２は、通信装置２０の補助記憶装置等に記憶されたログファイル等から読み出す等して、通信装置１０とのこれまでの通信接続・切断の有無、通信回数、通信日時、通信成功・失敗、エラー種別、等に関する情報を取得できる。
通信履歴判断部１３１２は、複数の通信履歴情報の組み合わせに基づいて、通信関係の有無を判定してもよい。複数の通信履歴情報には、上記の、無線ＬＡＮ通信履歴の情報、ＴＣＰ／ＩＰ通信履歴の情報、ＨＴＴＰ通信履歴の情報、無線ＬＡＮ上のディスカバリ履歴の情報、認証・認可履歴の情報、サービス提供・利用履歴の情報等がある。
【００７０】
通信方式判断部１３１３は、通信装置１０との通信方式の情報に基づき、通信装置１０との通信関係の有無を判定する。通信方式判断部１３１３は、以下のような処理を行う。通信装置１０との通信方式の情報は、通信方式情報の一例である。
通信方式判断部１３１３は、無線ＬＡＮ通信制御部１３０２を介して、通信装置１０との無線ＬＡＮ通信方式の情報に基づいて、通信関係の有無を判定する。
例えば、通信方式判断部１３１３は、無線ＬＡＮ通信制御部１３０２から、通信装置１０との無線ＬＡＮ通信方式の情報を取得する。通信方式判断部１３１３は、通信装置１０との無線ダイレクト通信の有無、ＷＰＳ（Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ）通信の有無、等の無線ＬＡＮ通信方式の情報を取得する。通信方式判断部１３１３は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ通信の有無、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ  Ｓｅｒｖｉｃｅ通信の有無、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ通信の有無、等に関する無線ＬＡＮ通信方式の情報を取得してもよい。
そして、通信方式判断部１３１３は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信方式判断部１３１３は、通信装置１０との無線ダイレクト通信が有る旨の無線ＬＡＮ通信方式の情報を取得した場合、通信装置１０との通信関係が有るものと判定する。
【００７１】
また、通信方式判断部１３１３は、ＴＣＰ／ＩＰ通信制御部１３０６を介して、通信装置１０とのＴＣＰ／ＩＰ通信方式の情報に基づいて、通信関係の有無を判定する。
例えば、通信方式判断部１３１３は、ＴＣＰ／ＩＰ通信制御部１３０６から、通信装置１０とのＴＣＰ／ＩＰ通信方式の情報を取得する。通信方式判断部１３１３は、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）通信の有無、等のＴＣＰ／ＩＰ通信方式の情報を取得する。また、通信方式判断部１３１３は、ＩＰｓｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｕｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通信の有無、等のＴＣＰ／ＩＰ通信方式の情報を取得することとしてもよい。
そして、通信方式判断部１３１３は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信方式判断部１３１３は、通信装置１０とのＶＰＮ通信が有る旨のＴＣＰ／ＩＰ通信方式の情報を取得した場合、通信装置１０との通信関係が有るものと判定する。
【００７２】
また、通信方式判断部１３１３は、ＨＴＴＰ通信制御部１３０７を介して、通信装置１０とのＨＴＴＰ通信方式の情報に基づいて、通信関係の有無を判定する。
例えば、通信方式判断部１３１３は、ＨＴＴＰ通信制御部１３０７からＨＴＴＰ通信方式の情報を取得する。通信方式判断部１３１３は、ＨＴＴＰＳ（ＴＬＳ）通信の有無、ＰＲＯＸＹ通信の有無、等のＨＴＴＰ通信方式の情報を取得する。
そして、通信方式判断部１３１３は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信方式判断部１３１３は、通信装置１０とのＨＴＴＰＳ（ＴＬＳ）通信が有る旨のＨＴＴＰ通信方式の情報を取得した場合、通信装置１０との通信関係が有るものと判定する。
【００７３】
また、通信方式判断部１３１３は、ディスカバリ制御部１３１４を介して、通信装置１０との無線ＬＡＮ上のディスカバリ方式の情報に基づいて、通信関係の有無を判定する。
例えば、通信方式判断部１３１３は、ディスカバリ制御部１３１４から、通信装置１０との無線ＬＡＮ上のディスカバリ方式の情報を取得する。通信方式判断部１３１３は、ＳＳＤＰの有無、ｍＤＮＳの有無、Ｂｏｎｊｏｕｒの有無、ＳＤＰの有無、等に関する無線ＬＡＮ上のディスカバリ方式の情報を取得する。
そして、通信方式判断部１３１３は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信方式判断部１３１３は、通信装置１０とのＳＳＤＰが有る旨の無線ＬＡＮ上のディスカバリ方式の情報を取得した場合、通信装置１０との通信関係が有るものと判定する。
【００７４】
また、通信方式判断部１３１３は、認証・認可制御部１３１５を介して、通信装置１０との認証・認可方式の情報に基づいて、通信関係の有無を判定する。
例えば、通信方式判断部１３１３は、認証・認可制御部１３１５から、通信装置１０との認証・認可方式の情報を取得する。通信方式判断部１３１３は、ＨＴＴＰ認証（Ｂａｓｉｃ認証、Ｄｉｇｅｓｔ認証）の有無、ＯＡｕｔｈ  ２．０の有無、ＯｐｅｎＩＤの有無、ＯｐｅｎＩＤ  Ｃｏｎｎｅｃｔの有無、ＳＡＭＬの有無、等に関する認証・認可方式の情報を取得する。
そして、通信方式判断部１３１３は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信方式判断部１３１３は、通信装置１０とのＨＴＴＰ認証が有る旨の認証・認可方式の情報を取得した場合、通信装置１０との通信関係が有るものと判定する。
【００７５】
また、通信方式判断部１３１３は、サービス制御部１３１６を介して、通信装置１０とのサービス提供・利用方式の情報に基づいて、通信関係の有無を判定する。
例えば、通信方式判断部１３１３は、ＤＬＮＡの有無、ＵＰｎＰの有無、ＳＯＡＰの有無、ＲＥＳＴの有無、ＡｔｏｍＰｕｂの有無、等のサービス提供・利用方式の情報を取得する。
そして、通信方式判断部１３１３は、取得した情報に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信方式判断部１３１３は、通信装置１０とのＤＬＮＡが有る旨のサービス提供・利用方式の情報を取得した場合、通信装置１０との通信関係が有るものと判定する。
通信方式判断部１３１３は、複数の通信方式の情報の組み合わせに基づいて、通信関係の有無を判定してもよい。複数の通信方式の情報には、上記の、無線ＬＡＮ通信方式の情報、ＴＣＰ／ＩＰ通信方式の情報、ＨＴＴＰ通信方式の情報、無線ＬＡＮ上のディスカバリ方式の情報、認証・認可方式の情報、サービス提供・利用方式の情報等がある。
【００７６】
また、通信関係判断部１３１０は、通信状態情報、通信履歴情報、通信方式情報以外にも、通信装置１０の機器状態の情報等に基づいて、通信装置１０との通信関係の有無を判定することとしてもよい。例えば、通信関係判断部１３１０は、ディスカバリ制御部１３１４等から、通信装置１０の電源状態の情報や通信装置１０の通信モード、撮影モード等のモード情報等を取得する。
そして、通信関係判断部１３１０は、取得した通信装置１０の機器状態の情報等に基づいて、通信装置１０との通信関係の有無を判定する。例えば、通信関係判断部１３１０は、通信装置１０の電源状態がＯＮであるならば、通信装置１０との通信関係が有ると判定する。
【００７７】
（通信処理）
以下、本実施形態における通信装置１０と通信装置２０との間の通信処理について、詳細に説明する。
（通信接続〜切断〜再接続の処理）
図１４は、通信装置１０と通信装置２０とのＨＴＴＰ通信処理の一例を示すシーケンス図である。図１４では、図６と異なる処理について説明する。
Ｍ１４０１の処理は、Ｍ６０１の処理と同様である。
【００７８】
Ｍ１４０２において、ＨＴＴＰ通信制御部４０７は、通信装置２０に対して、通信装置２０が提供するサービスを利用するためにセッション開始要求を行う。本実施形態では、セッションは、通信装置２０が通信装置１０とのＨＴＴＰ通信接続単位として管理される。通信装置１０があるサービスの利用を開始するために通信装置２０と通信を開始し、サービスの利用後に通信装置２０との通信を終了したとすると、セッションとは、通信の開始から終了までの一連の通信のことを示す。通信装置１０と通信装置２０とは、セッションを一意に識別可能なセッション情報に基づいて、セッションを管理する。また、通信装置１０と通信装置２０とは、他のセッション管理方式を用いて、セッションを管理することとしてもよい。他のセッション管理方式には、ＨＴＴＰ  Ｃｏｏｋｉｅプロトコル、ＳＤＰ（Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）、等がある。
Ｍ１４０３において、ＨＴＴＰ通信制御部１３０７は、通信装置１０に対して、第１のセッション情報を送信する。本実施形態では、ＨＴＴＰ通信制御部１３０７は、第１のセッション情報として、セッションを一意に識別可能な情報を送信する。ＨＴＴＰ通信制御部１３０７は、第１のセッション情報として、ＨＴＴＰ  Ｃｏｏｋｉｅ情報、ＳＤＰ等他のセッション情報を送信することとしてもよい。
【００７９】
Ｍ１４０４において、ＨＴＴＰ通信制御部４０７は、通信装置２０に対して、第１のセッション情報とともに、ＨＴＴＰリクエストを送信する。
Ｍ１４０５において、通信状態判断部１３１１は、Ｍ１４０４で通信装置１０から受信した第１のセッション情報が有効か否かを判定する。本実施形態では、通信状態判断部１３１１は、Ｍ１４０４で送信された第１のセッション情報を有効であると判定したとする。
【００８０】
Ｍ１４０６において、ＨＴＴＰ通信制御部１３０７は、通信装置１０に対して、Ｓ１４０４で送信されたＨＴＴＰリクエストに対するＨＴＴＰレスポンスを送信する。
Ｍ１４０７において、ＨＴＴＰ通信制御部１３０７は、通信装置１０とのＨＴＴＰ通信接続を終了させる必要があるイベントを検知する。本実施形態では、ＨＴＴＰ通信制御部１３０７は、通信装置１０とのＨＴＴＰ通信接続を終了させる必要があるイベントとして、通信装置２０が通信装置１０に対して提供しているサービスの再起動のイベントであるとする。また、ＨＴＴＰ通信制御部１３０７は、コネクションエラー、プログラム再起動、無線ＬＡＮ通信の再接続、ネットワークの離脱・参加、電源再起動、等のＨＴＴＰ通信接続の終了を伴うイベントを検知することができる。
【００８１】
Ｍ１４０８において、通信関係判断部１３１０は、通信装置１０との通信関係を継続するか否かを判定する。通信関係判断部１３１０は、通信状態判断部１３１１、通信履歴判断部１３１２、通信方式判断部１３１３を介して、通信装置１０との通信関係を継続するか否かを判定する。通信関係判断部１３１０は、図１３の通信関係判断部１３１０の説明で上述した方法等で、通信装置１０との通信関係の有無を判定し、通信装置１０との通信関係が有ると判定した場合、通信装置１０との通信関係を継続すると判定する。
通信関係判断部１３１０は、通信装置１０との通信関係がないと判定した場合、通常通りの通信の切断処理を行うことと判定する。その場合、通信装置２０は、通信パラメタ等を追加していない通常のＧＯＡＷＡＹフレームを通信装置１０に送信することとなる。その後、通信装置１０は、通常通りの接続処理を行うことで、通信装置２０と再接続することとなる。本実施形態では、ＨＴＴＰ通信制御部３０７は、通信装置１０と通信関係を継続すると判定することとする。
Ｍ１４０９において、通信パラメタ決定部１３０８は、通信装置１０との通信関係の継続に必要な通信パラメタを決定する。本実施形態では、通信パラメタ決定部１３０８は、通信装置１０との通信関係の継続に必要な通信パラメタとして、通信装置１０とのセッションを新規に管理するための第２のセッション情報を決定する。第２のセッション情報は、第１のセッション情報と関連付けられたセッション情報であってもよいし、第１のセッション情報と同じセッション情報であってもよい。
【００８２】
Ｍ１４１０において、通信パラメタ追加部１３０９は、通信装置１０に対して送信するＧＯＡＷＡＹフレームに、Ｍ１４０９で決定した第２のセッション情報の値を、追加デバッグ情報５０３内の通信パラメタ５０６として追加する。
Ｍ１４１１において、ＨＴＴＰ通信制御部１３０７は、通信装置１０に対して、Ｍ１４１０で作成したＧＯＡＷＡＹフレームを送信する。
Ｍ１４１２、Ｍ１４１３の処理は、それぞれＭ６０７、Ｍ６０８の処理と同様である。
Ｍ１４１４において、サービス制御部１３１６は、通信装置１０に対して提供しているサービスを再起動する。
【００８３】
Ｍ１４１５の処理は、Ｍ６０９の処理と同様である。
Ｍ１４１６において、通信パラメタ決定部４０８は、Ｍ１４１２で取得した通信パラメタが存在するか確認し、Ｍ１４１２で取得した通信パラメタに基づいて、第２のセッション情報を決定する。通信装置１０は、第２のセッション情報を前回のＨＴＴＰ通信接続の終了の際に通信装置２０から受信したため、Ｍ１４０２の処理のようなセッション開始要求処理を省略し、接続処理を高速化することができる。
Ｍ１４１７において、ＨＴＴＰ通信制御部４０７は、通信装置２０に対して、第２のセッション情報とともに、ＨＴＴＰリクエストを送信する。
【００８４】
Ｍ１４１８において、通信状態判断部１３１１は、Ｍ１４０４で通信装置１０から受信した第２のセッション情報が有効か否かを判定する。本実施形態では、通信状態判断部１３１１は、Ｍ１４１７で送信された第２のセッション情報を有効であると判定したとする。
Ｍ１４１９において、ＨＴＴＰ通信制御部１３０７は、通信装置１０に対して、Ｓ１４１７で送信されたＨＴＴＰリクエストに対するＨＴＴＰレスポンスを送信する。
【００８５】
（通信処理）
以下、本実施形態における通信装置１０と通信装置２０との間の通信処理について、図１３に示す機能構成等を用いて詳細に説明する。
（ＧＯＡＷＡＹフレーム送信処理）
図１５は、通信装置２０によるＧＯＡＷＡＹフレーム送信の際の処理の一例を示すフローチャートである。
Ｓ１５０１において、ＨＴＴＰ通信制御部１３０７は、通信装置１０とのＨＴＴＰ通信接続を終了させる必要があるイベントを検知する。本実施形態において、ＨＴＴＰ通信制御部１３０７は、Ｍ１４０７の処理と同様のイベントを検知する。
Ｓ１５０２において、通信関係判断部１３１０は、通信装置１０との通信関係が有るか否かを判定する。Ｓ１５０２の処理の詳細は、図１６で後述する。
Ｓ１５０３において、通信関係判断部１３１０は、Ｓ１５０２で通信関係が有るものと判定した場合、Ｓ１５０４の処理に進み、Ｓ１５０２で通信関係が無いものと判定した場合、Ｓ１５０６の処理に進む。
【００８６】
Ｓ１５０４において、通信パラメタ決定部１３０８は、通信装置１０に送信するＧＯＡＷＡＹフレームに追加する通信パラメタを決定する。本実施形態では、通信パラメタ決定部１３０８は、Ｍ１４０９と同様の通信パラメタを、通信装置１０に送信するＧＯＡＷＡＹフレームに追加する通信パラメタとして決定する。
Ｓ１５０５において、通信パラメタ追加部３０９は、Ｓ１５０４で決定された通信パラメタを、通信装置１０に送信するＧＯＡＷＡＹフレームに追加する。
Ｓ１５０６において、ＨＴＴＰ通信制御部３０７は、通信装置１０に対して、ＧＯＡＷＡＹフレームを送信して、図１５の処理を終了する。
【００８７】
（通信関係判断処理）
図１６は、通信装置２０による通信関係の有無を判定する処理の一例を示すフローチャートである。図１６の処理は、Ｓ１５０２の処理の詳細を示すものである。
Ｓ１６０１において、通信状態判断部１３１１は、通信装置１０とのセッションが有効か否かを判定する。より具体的には、通信状態判断部１３１１は、通信装置１０に発行した第１のセッション情報が有効か否かを判定する。通信状態判断部１３１１は、通信装置１０とのセッションが有効であると判定した場合、Ｓ１６０２の処理に進み、通信装置１０とのセッションが有効でないと判定した場合、Ｓ１６０３の処理に進む。
Ｓ１６０２において、通信関係判断部１３１０は、Ｓ１６０１での通信状態判断部１３１１による判定処理の結果を受けて、通信装置１０との通信関係が有るものと判定し、図１６の処理を終了する。
Ｓ１６０３において、通信関係判断部１３１０は、Ｓ１６０１での通信状態判断部１３１１による判定処理の結果を受けて、通信装置１０との通信関係が無いものと判定し、図１６の処理を終了する。
【００８８】
以上、本実施形態によれば、通信装置２０がＧＯＡＷＡＹフレームに第２のセッション情報を追加することで、通信装置１０は、通信装置２０との再接続の際に、セッション開始要求シーケンスを省略することができる。それによって、通信装置１０、通信装置２０は、通信装置１０と通信装置２０との間の通信速度を向上させることができる。
また、本実施形態では、通信関係判断部１３１０は、通信装置１０とのセッション情報が有効か否かに基づいて、通信関係の有無を判定した。しかし、通信関係判断部１３１０は、図１３で前述した方法等で、通信関係の有無を判定してもよい。それによって、通信関係判断部１３１０は、通信装置１０と通信装置２０との間の通信関係をより正確に判定することができ、不要な通信パラメタの送信を回避することができ、セキュリティリスクを軽減することができる。
【００８９】
また、通信装置２０は、ＧＯＡＷＡＹフレームに追加する通信パラメタとしてヘッダ圧縮で利用する情報を用いてもよい。より具体的には、通信装置２０は、ヘッダリスト、ヘッダ圧縮用のテーブルであるインデックステーブル、静的テーブル、ヘッダテーブル、等の情報を用いてもよい。例えば、ＨＴＴＰ通信制御部１３０７は、通信装置１０とのＨＴＴＰ通信接続を終了させる必要があるイベントを検知しタとする。そして、通信関係判断部１３１０は、通信関係の継続が有るものと判定したとする。その場合、通信パラメタ決定部１３０８は、追加する通信パラメタとして、通信装置１０とのＨＴＴＰ通信で使用している現在のヘッダ圧縮用のテーブルを選択することを決定する。
そして、通信パラメタ追加部１３０９は、前記ヘッダ圧縮用のテーブルの情報をＧＯＡＷＡＹフレーム中の追加デバッグ情報に追加する。通信パラメタ追加部１３０９は、ヘッダ圧縮用のテーブルの全部又は一部をＧＯＡＷＡＹフレーム中の追加デバッグ情報に追加することができる。通信パラメタ追加部１３０９は、例えば、通信装置２０側で主に生成するヘッダテーブルだけをＧＯＡＷＡＹフレーム中の追加デバッグ情報に追加してもよい。そうすると、通信装置１０は、通信装置２０との再接続の際、受信したヘッダ圧縮用のテーブルを再利用することで、再接続の直後から効率的なヘッダ圧縮を行うことが可能となる。それにより、通信装置１０、通信装置２０は、通信装置１０と通信装置２０との通信速度をさらに向上させることができる。
【００９０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９１】
１０  通信装置、２０  通信装置、２０１  ＣＰＵ
【図１】
0006548445.tif 000002
【図２】
0006548445.tif 000003
【図３】
0006548445.tif 000004
【図４】
0006548445.tif 000005
【図５】
0006548445.tif 000006
【図６】
0006548445.tif 000007
【図７】
0006548445.tif 000008
【図８】
0006548445.tif 000009
【図９】
0006548445.tif 000010
【図１０】
0006548445.tif 000011
【図１１】
0006548445.tif 000012
【図１２】
0006548445.tif 000013
【図１３】
0006548445.tif 000014
【図１４】
0006548445.tif 000015
【図１５】
0006548445.tif 000016
【図１６】
0006548445.tif 000017