(57)【要約】【課題】異なるネットワーク環境下に属する通信機器との双方向通信を、特別な設置コストをかけずに簡易な設定で可能とする。【解決手段】双方向通信制御サーバ１３は、接続通知メッセージを受信すると、接続コードを基にカスタマサポート担当者ＰＣ５０を特定し、接続通知メッセージを送信する。ブラウザ５１は、機器擬似画面５１ｂを表示し、ネットワークカメラ３０との擬似通信を要求するためのＨＴＴＰリクエストを行う。リレーサーバ１２は、ＨＴＴＰリクエストをＳｏｃｋｅｔ．ＩＯを用いてブラウザ２１のリレー画面２１ｂに渡すためにプロトコル変換を行う。ブラウザ２１は、リレー画面２１ｂにおいて、双方向通信制御サーバ１３から受信したリクエストメッセージをＨＴＴＰリクエストに変換し、ＨＴＴＰリクエストをネットワークカメラ３０に送信してレスポンスを得る。【選択図】図３
2013186820.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された第１の通信装置、中継装置及び第２の通信装置、並びに前記第２の通信装置に接続された通信機器を含み、前記第１の通信装置が前記中継装置を介して前記通信機器と通信する通信システムであって、
前記中継装置は、
前記第１の通信装置から受信した前記通信機器とのＨＴＴＰ通信要求をＯｖｅｒＨＴＴＰ通信要求に変換して前記第２の通信装置に送信し、
前記第２の通信装置は、
前記中継装置から受信した前記ＯｖｅｒＨＴＴＰ通信要求を前記ＨＴＴＰ通信要求に変換し、前記ＨＴＴＰ通信要求に基づき前記通信機器からＨＴＴＰ通信応答を取得し、前記ＨＴＴＰ通信応答をＯｖｅｒＨＴＴＰ通信応答に変換して前記中継装置に送信し、
前記中継装置は、
前記第２の通信装置から受信した前記ＯｖｅｒＨＴＴＰ通信応答を前記ＨＴＴＰ通信応答に変換して前記第１の通信装置に送信する通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記第１の通信装置は、
前記中継機器から前記通信機器を識別するための接続コードを取得し、前記接続コードを前記第２の通信装置に入力して前記中継装置と接続する通信システム。
【請求項３】
請求項１又は２に記載の通信システムであって、
前記第２の通信装置は、前記通信機器と一体である通信システム。
【請求項４】
ネットワークに接続された第１の通信装置、中継装置及び第２の通信装置、並びに前記第２の通信装置に接続された通信機器を含み、前記第１の通信装置が前記中継装置を介して前記通信機器と通信する通信システムであって、
前記第２の通信装置は、
前記第２の通信装置と前記通信機器との通信経路の確立に応じて、前記中継装置が前記第１の通信装置と前記通信機器との通信を中継するためのリレー画面を表示し、
前記中継装置は、
前記リレー画面が表示されている状態において、
前記第２の通信装置と前記通信機器との接続通知を、前記第１の通信装置に送信する双方向通信制御部と、
前記送信された前記接続通知に応じて前記第１の通信装置から、前記第１の通信装置と前記通信機器との通信要求を受け付けるリレー制御部と、を含み、
前記双方向通信制御部は、
前記受け付けた前記通信機器との通信要求を前記第２の通信装置に送信し、
前記第２の通信装置は、
前記送信された前記通信機器との通信要求に対する通信応答を取得して前記双方向通信制御部に送信し、
前記リレー制御部は、
前記第２の通信装置から送信された前記通信応答を、前記双方向通信制御部を介して取得し、前記第１の通信装置に送信する通信システム。
【請求項５】
請求項４に記載の通信システムであって、
前記第１の通信装置は、
前記中継装置から、前記第１通信装置と前記通信機器との通信を特定する接続コードを取得し、
前記第２の通信装置は、
前記通信機器に対し、前記接続コードを用いて前記通信機器の制御内容を含む機器制御画面の起動を要求し、
前記中継装置は、
前記第２の通信装置と前記通信機器との接続通知に、前記接続コードを含めて前記第１の通信装置に送信する通信システム。
【請求項６】
請求項４又は５に記載の通信システムであって、
前記中継装置は、
前記第２の通信装置と前記双方向通信制御部とを通信するためのリレー画面アプリを保持する画面制御部と、を更に含み、
前記画面制御部は、
前記第２の通信装置からの前記リレー画面アプリの取得要求を基に、前記リレー画面アプリを前記第２の通信装置に送信し、
前記双方向通信制御部は、
前記第２の通信装置の前記リレー画面アプリから送信された前記第２の通信装置と前記双方向通信制御部との通信経路を確立する通信システム。
【請求項７】
第１の通信装置及び第２の通信装置とともにネットワークに接続され、前記第１の通信装置と前記第２の通信装置に接続された通信機器との通信を中継する中継装置であって、
前記第２の通信装置と前記通信機器との接続通知を、前記第１の通信装置に送信する双方向通信制御部と、
前記送信された前記接続通知に応じて前記第１の通信装置から、前記第１の通信装置と前記通信機器との通信要求を受け付けるリレー制御部と、を含み、
前記双方向通信制御部は、
前記受け付けた前記通信機器との通信要求を前記第２の通信装置に送信し、
前記リレー制御部は、
前記第２の通信装置から送信された前記通信応答を、前記双方向通信制御部を介して取得し、前記第１の通信装置に送信する中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第２の通信装置と通信する通信機器に対して第２の通信装置とは異なるネットワーク環境下に属する第１の通信装置が通信する際に、第１の通信装置からの通信機器に対するリクエスト及びレスポンスを中継する中継装置及び通信システムに関する。
【背景技術】
【０００２】
近年、ネットワーク通信関連技術の進歩に伴い、異なるネットワーク環境下に属する各通信装置間の通信を中継する仕組みが検討されている。例えば、顧客が購入した製品（例えば、ネットワークカメラ等の通信機器）の保守を担当するカスタマサポート担当者が、自己の通信装置（以下、「カスタマサポート担当者ＰＣ」という）を用いて、顧客が購入した通信機器と直接に接続する通信形態が考えられる。具体的には、カスタマサポート担当者ＰＣと顧客ＰＣにのみ接続されている通信機器とを直接に接続するために、カスタマサポート担当者ＰＣと顧客ＰＣとを、ＶＰＮ（Virtual Private Network：仮想専用通信線）の通信経路を確立することで接続することが考えられる。
【０００３】
この種の先行技術として、ピアツーピアネットワークにおいて、ファイアウォールの背後に配置されたピアサーバが、Ｗｅｂブラウザから送信されたＨＴＴＰ要求を、プロキシサーバを介して取得し、ＨＴＴＰ要求に対するＨＴＴＰ応答を、プロキシサーバを介してＷｅｂブラウザに返すことによって、Ｗｅｂブラウザとピアサーバとの通信を提供するシステムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００７−５３１１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の通信システムでは、次のような問題があった。即ち、カスタマサポート担当者ＰＣと通信機器とを直接に接続しようとすると、ＶＰＮを用いて専用の通信経路を確立する必要があるが、両者のインターネット環境が異なるため、双方において中継機器（例えば、ルータ）の設定作業が煩雑であり、更に、中継機器の設置にコストがかかっていた。
【０００６】
また、カスタマサポート担当者ＰＣと通信機器とを直接に接続せずに、両者の間に中継装置としてのサーバ装置を設けて、カスタマサポート担当者ＰＣ−サーバ装置−顧客ＰＣ−通信機器の間における通信を確立することも考えられる。しかし、この場合には、サーバ装置とカスタマサポート担当者ＰＣとの間に設けられるファイアウォール及びルータ、並びに、サーバ装置と顧客ＰＣとの間に設けられるファイアウォール及びルータの各設定作業が煩雑となるため、作業時間が相当にかかっていた。
【０００７】
また、上述した特許文献１では、Ｗｅｂブラウザとピアサーバとは直接接続されていないが、Ｗｅｂブラウザとピアサーバとは同一のピアツーピアネットワークの環境下に属しており、異なるネットワーク環境下に属する通信装置（通信機器）同士を接続することは想定されていない。
【０００８】
本発明は、上述した従来の事情に鑑みてなされたものであって、異なるネットワーク環境下に属する通信機器との双方向通信を、特別な設置コストをかけずに簡易な設定で可能とする中継装置及び通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、ネットワークに接続された第１の通信装置、中継装置及び第２の通信装置、並びに前記第２の通信装置に接続された通信機器を含み、前記第１の通信装置が前記中継装置を介して前記通信機器と通信する通信システムであって、前記中継装置は、前記第１の通信装置から受信した前記通信機器とのＨＴＴＰ通信要求をＯｖｅｒＨＴＴＰ通信要求に変換して前記第２の通信装置に送信し、前記第２の通信装置は、前記中継装置から受信した前記ＯｖｅｒＨＴＴＰ通信要求を前記ＨＴＴＰ通信要求に変換し、前記ＨＴＴＰ通信要求に基づき前記通信機器からＨＴＴＰ通信応答を取得し、前記ＨＴＴＰ通信応答をＯｖｅｒＨＴＴＰ通信応答に変換して前記中継装置に送信し、前記中継装置は、前記第２の通信装置から受信した前記ＯｖｅｒＨＴＴＰ通信応答を前記ＨＴＴＰ通信応答に変換して前記第１の通信装置に送信する。
【００１０】
本発明は、ネットワークに接続された第１の通信装置、中継装置及び第２の通信装置、並びに前記第２の通信装置に接続された通信機器を含み、前記第１の通信装置が前記中継装置を介して前記通信機器と通信する通信システムであって、前記第２の通信装置は、前記第２の通信装置と前記通信機器との通信経路の確立に応じて、前記中継装置が前記第１の通信装置と前記通信機器との通信を中継するためのリレー画面を表示し、前記中継装置は、前記リレー画面が表示されている状態において、前記第２の通信装置と前記通信機器との接続通知を、前記第１の通信装置に送信する双方向通信制御部と、前記送信された前記接続通知に応じて前記第１の通信装置から、前記第１の通信装置と前記通信機器との通信要求を受け付けるリレー制御部と、を含み、前記双方向通信制御部は、前記受け付けた前記通信機器との通信要求を前記第２の通信装置に送信し、前記第２の通信装置は、前記送信された前記通信機器との通信要求に対する通信応答を取得して前記双方向通信制御部に送信し、前記リレー制御部は、前記第２の通信装置から送信された前記通信応答を、前記双方向通信制御部を介して取得し、前記第１の通信装置に送信する。
【００１１】
また、本発明は、第１の通信装置及び第２の通信装置とともにネットワークに接続され、前記第１の通信装置と前記第２の通信装置に接続された通信機器との通信を中継する中継装置であって、前記第２の通信装置と前記通信機器との接続通知を、前記第１の通信装置に送信する双方向通信制御部と、前記送信された前記接続通知に応じて前記第１の通信装置から、前記第１の通信装置と前記通信機器との通信要求を受け付けるリレー制御部と、を含み、前記双方向通信制御部は、前記受け付けた前記通信機器との通信要求を前記第２の通信装置に送信し、前記リレー制御部は、前記第２の通信装置から送信された前記通信応答を、前記双方向通信制御部を介して取得し、前記第１の通信装置に送信する。
【発明の効果】
【００１２】
本発明によれば、異なるネットワーク環境下における通信機器との双方向通信を、特別な設置コストをかけずに簡易な設定で可能とする。
【図面の簡単な説明】
【００１３】
【図１】本実施形態の通信システム１の全体構成を示すシステム構成図
【図２】通信システム１のリモートメンテナンスサーバ１０、顧客ＰＣ２０、ネットワークカメラ３０，４０及びカスタマサポート担当者ＰＣ５０の各機能的構成を示すブロック図
【図３】通信システム１の通信手順を示すシーケンス図
【図４】（Ａ）カスタマサポート担当者ＰＣ５０のブラウザ５１に表示されるリモートメンテナンス画面５１ａの一例を示す図、（Ｂ）顧客ＰＣ２０のブラウザ２１に表示される機器制御画面２１ａの一例を示す図
【図５】手順１．１（ログイン）〜４．２（機器への擬似接続）における各部の動作を示す図
【図６】手順５．１（機器への擬似リクエスト）〜５．９（機器からの擬似レスポンス）における各部の動作を示す図
【図７】（Ａ）接続コード要求メッセージの具体例を示す図、（Ｂ）接続コード応答メッセージの具体例を示す図
【図８】（Ａ）擬似リクエストのプロトコル変換の具体例を示す図、（Ｂ）擬似レスポンスのプロトコル変換の具体例を示す図
【発明を実施するための形態】
【００１４】
以下、本発明に係る中継装置及び通信システムの実施形態について、図面を参照して説明する。本実施形態の中継装置及び通信システムは、第１の通信装置としてのカスタマサポート担当者ＰＣと第２の通信装置としての顧客ＰＣにのみ接続されている通信機器とを接続し、カスタマサポート担当者ＰＣに、通信機器の設定内容確認及び設定内容変更のリモートメンテナンス業務をリモート接続にて行わせることができる。
【００１５】
本実施形態の通信システムの運用例としては、例えば、カスタマサポート部門としては、通信機器としてのネットワークカメラを販売した業者の顧客相談室のような部署の担当部門である。更に、顧客としては、例えば店内にネットワークカメラを設置して運用するコンビニエンスストア業者である。但し、本実施形態の通信システムの運用例は、カスタマサポート部門を有する業者及びコンビニエンスストア業者に限定されない。
【００１６】
図１は、本実施形態の通信システム１の全体構成を示すシステム構成図である。通信システム１は、リモートメンテナンスサーバ１０、顧客が所有する顧客ＰＣ２０、ネットワークカメラ３０，４０、及びカスタマサポート担当者が所有するカスタマサポート担当者ＰＣ５０を含む構成である。
【００１７】
リモートメンテナンスサーバ１０は、ルータ／ファイアウォール８０を介して、カスタマサポート担当者ＰＣ５０と接続されている。即ち、カスタマサポート担当者ＰＣ５０は、ネットワーク環境Ａ１に属する。
【００１８】
また、リモートメンテナンスサーバ１０は、ルータ／ファイアウォール７０を介して、顧客ＰＣ２０、ネットワークカメラ３０，４０と接続されている。即ち、顧客ＰＣ２０、ネットワークカメラ３０，４０は、ネットワーク環境Ａ１とは異なるネットワーク環境Ａ２に属する。
【００１９】
なお、図１に示す通信システム１では、２つのネットワークカメラ３０，４０が図示されているが、通信機器としてのネットワークカメラの個数は任意である。
【００２０】
顧客ＰＣ２０及びネットワークカメラ３０，４０は、ルーティング機能及びファイアウォール機能を搭載したルータ／ファイアウォール７０を介してインターネット５に接続されている。同様に、カスタマサポート担当者ＰＣ５０は、ルータ／ファイアウォール８０を介してインターネット５に接続される。
【００２１】
なお、図１に示す通信システム１では、説明を簡単にして便宜的な図面とするために、ルータ及びファイアウォールの各構成を一纏めにしたルータ／ファイアウォール７０，８０が図示しているが、ルータとファイアウォールとを区別して設けて図示しても良い。
【００２２】
次に、通信システム１を構成する各装置について、図２を参照して説明する。図２は、通信システム１のリモートメンテナンスサーバ１０、顧客ＰＣ２０、ネットワークカメラ３０，４０及びカスタマサポート担当者ＰＣ５０の各機能的構成を示すブロック図である。
【００２３】
（リモートメンテナンスサーバ１０）
中継装置としてのリモートメンテナンスサーバ１０は、インターネット５に接続され、後述する画面制御部としてのＣＳ画面サーバ１１、リレー制御部としてのリレーサーバ１２、及び双方向通信制御部としての双方向通信制御サーバ１３の３つのサーバ機能を含む構成である。各サーバ機能は、各サーバ機能において実行される処理に対応したプログラムがリモートメンテナンスサーバ１０のＣＰＵ（Central Processing Unit）に読み込まれることによって実現される。
【００２４】
図２では、リモートメンテナンスサーバ１０が便宜的にＣＳ画面サーバ１１、リレーサーバ１２、及び双方向通信制御サーバ１３の３つのサーバ機能を含むように示しているが、リモートメンテナンスサーバ１０は、ＣＳ画面サーバ１１に対応する画面制御部、リレーサーバ１２に対応するリレー制御部、及び双方向通信制御サーバ１３に対応する双方向通信制御部を含む構成としても良い。
【００２５】
なお、リモートメンテナンスサーバ１０は、機能的構成としてのＣＳ画面サーバ１１、リレーサーバ１２、及び双方向通信制御サーバ１３に限らず、物理的構成としてのＣＳ画面サーバ１１、リレーサーバ１２、及び双方向通信制御サーバ１３の３つのサーバ装置を含む構成でも良い。
【００２６】
ＣＳ画面サーバ１１は、ＨＴＴＰ処理部１１ａ、ＣＳ画面処理部１１ｂ、リレー画面アプリ１１ｃ、及びログインを許可するユーザのユーザ情報を管理する管理用データベース（ＤＢ）１１ｄを含む構成である。以下、説明を簡単にするために、「アプリケーション」を単に「アプリ」と表記する。
【００２７】
ＣＳ画面サーバ１１は、後述するように、ＨＴＴＰ処理部１１ａにおいて受信したカスタマサポート担当者ＰＣ５０からの入力操作に応じて、ＣＳ画面処理部１１ｂにおいてリモートメンテナンス業務用のメニュー画面へのログイン用画面を生成する。ＣＳ画面サーバ１１は、ＨＴＴＰ処理部１１ａを介して、ＣＳ画面処理部１１ｂにより生成されたログイン用画面をカスタマサポート担当者ＰＣ５０に表示させる。
【００２８】
また、ＣＳ画面サーバ１１は、ＨＴＴＰ処理部１１ａにおいて受信したカスタマサポート担当者ＰＣ５０からのログイン入力操作に応じて、リモートメンテナンス業務用のメニュー画面へのログインの許可又は不許可を判定する。ＣＳ画面サーバ１１は、ログインを許可した場合に、ＨＴＴＰ処理部１１ａを介して、リモートメンテナンス業務用のメニュー画面をカスタマサポート担当者ＰＣ５０のブラウザ５１に表示させる。
【００２９】
なお、管理用ＤＢ１１ｄは、ログインの許可又は不許可の判定に用いられ、リモートメンテナンス業務用のメニュー画面へのログインが許可されているユーザのユーザ情報（例えば、ユーザＩＤ及びパスワードの組合せ）が保存されている。
【００３０】
リレーサーバ１２は、ＨＴＴＰ処理部１２ａ及び通信機器擬似動作処理部１２ｂを含む構成である。
【００３１】
リレーサーバ１２は、ＨＴＴＰ処理部１２ａにおいて受信したカスタマサポート担当者ＰＣ５０からの通信機器３０，４０の設定内容確認のリクエストを基に、通信機器擬似動作処理部１２ｂにおいて双方向通信制御サーバ１３と連携して、それぞれ異なるネットワーク環境下に属するカスタマサポート担当者ＰＣ５０と顧客ＰＣ２０との通信を中継する。
【００３２】
後述するように、カスタマサポート担当者ＰＣ５０とリレーサーバ１２との通信はＨＴＴＰであって、リレーサーバ１２と顧客ＰＣ２０との通信は、例えばＳｏｃｋｅｔ．ＩＯと呼ばれる双方向通信用ライブラリが用いられる。
【００３３】
このため、リレーサーバ１２は、通信機器擬似動作処理部１２ｂにおいて、カスタマサポート担当者ＰＣ５０から送信されたＨＴＴＰリクエスト（例えば、通信機器３０，４０の設定内容確認のリクエスト）を、Ｓｏｃｋｅｔ.ＩＯ用の通信メッセージにプロトコル変換する。リレーサーバ１２は、Ｓｏｃｋｅｔ.ＩＯ用の通信メッセージを、双方向通信制御サーバ１３に送信（出力）する。
【００３４】
双方向通信制御サーバ１３は、ＨＴＴＰ処理部１３ａ、双方向通信モジュール１３ｂ及び双方向通信管理処理部１３ｃを含む構成である。
【００３５】
双方向通信制御サーバ１３は、ＨＴＴＰ処理部１３ａにおいて受信したブラウザ５１又はブラウザ２１からのＳｏｃｋｅｔ.ＩＯを用いるための通信ネゴシエーション（通信設定）の要求を基に、双方向通信管理処理部１３ｃにおいてブラウザ５１又はブラウザ２１との間でＳｏｃｋｅｔ.ＩＯを用いるための設定を行う。
【００３６】
なお、Ｓｏｃｋｅｔ.ＩＯを用いた双方向通信では、双方向通信モジュール１３ｂが用いられ、双方向通信モジュール１３ｂは上述したＳｏｃｋｅｔ.ＩＯのライブラリに相当する。双方向通信モジュール１３ｂは、双方向通信管理処理部１３ｃの動作プログラムに予め含まれても良いし（スタティックリンク）、又は、メモリ（不図示）に保存されており、双方向通信管理処理部１３ｃが双方向通信を行うときに動的に読み込むことで実行されても良い（ダイナミックリンク）。
【００３７】
なお、双方向通信モジュール１３ｂは、カスタマサポート担当者ＰＣ５０及び顧客ＰＣ２０において既にインストールされており、ブラウザ５１及びブラウザ２１において実行可能である。
【００３８】
また、双方向通信制御サーバ１３は、リレーサーバ１２により変換されたＳｏｃｋｅｔ.ＩＯ用の通信メッセージを、ＨＴＴＰ処理部１３ａを介して、通信ネゴシエーションによって通信経路が確立された顧客ＰＣ２０に送信する。双方向通信制御サーバ１３は、ＨＴＴＰ処理部１３ａにおいて、顧客ＰＣ２０から送信されたＳｏｃｋｅｔ.ＩＯ用の通信メッセージに対する応答を受信する。
【００３９】
なお、本実施形態において、ＨＴＴＰ処理部１３ａは、変換されたＳｏｃｋｅｔ.ＩＯ用の通信メッセージを処理し、即ち、通信メッセージの内容に応じた処理を実行する。同様に、ＨＴＴＰ処理部１３ｂ、１３ｃは、ＨＴＴＰ用の通信メッセージを処理し、即ち、通信メッセージの内容に応じた処理を実行する。
【００４０】
（顧客ＰＣ２０）
顧客ＰＣ２０は、インターネット５に接続されたパーソナルコンピュータであって、インターネット５に接続されたＷｅｂサーバ（不図示）等からＷｅｂサイトを取得して表示するブラウザ２１を含む構成である。機器制御画面２１ａについては図４（Ｂ）を参照して後述する。
【００４１】
リレー画面２１ｂは、顧客ＰＣ２０のブラウザ２１とネットワークカメラ３０，４０との通信経路が確立した、即ち、ブラウザ２１とネットワークカメラ３０，４０とが通信可能状態となった場合に、ネットワークカメラ３０，４０がブラウザ２１に表示させる画面である。
【００４２】
また、リレー画面２１ｂには、リモートメンテナンスサーバ１０からダウンロード及びインストールされたリレー画面アプリ１１ｃの処理結果がブラウザ２１に表示される。例えば、リレー画面２１ｂには、ネットワークカメラ３０と双方向通信制御サーバ１３との間においてブラウザ２１が中継するデータが表示される。
【００４３】
なお、図２では、顧客ＰＣ２０については、本実施形態の説明に必要となる構成についてのみ図示し、その他の構成については図示を省略している。また、顧客ＰＣ２０は、リモートメンテナンスサーバ１０との通信において、プロキシサーバの有無、ルータ／ファイアウォール７０による接続制限、ＮＡＴ（Network Address Translation）の有無などの接続形態を問わない。
【００４４】
（ネットワークカメラ３０）
ネットワークカメラ３０は、ルータ／ファイアウォール７０を介して顧客ＰＣ２０にのみ接続される通信機器であり、顧客ＰＣ２０のブラウザ２１と通信可能なＷｅｂインターフェースとしてのＨＴＴＰ処理部３１、及びデータベース（ＤＢ）３２を含む構成である。従って、顧客ＰＣ２０のブラウザ２１は、ネットワークカメラ３０のＨＴＴＰ処理部３１にアクセス可能である。
【００４５】
ＨＴＴＰ処理部３１は、ネットワークカメラ３０がＷｅｂサーバとしての機能を有するための動作を行い、顧客ＰＣ２０のブラウザ２１からＨＴＴＰリクエストを受信すると、ＨＴＴＰレスポンスとして、ネットワークカメラ３０の設定内容の確認用の画面データ又は既に撮影された画像データをデータベース３２から取得する。ＨＴＴＰ処理部３１は、取得された設定内容の確認用の画面データ又は既に撮影された画像データを、顧客ＰＣ２０のブラウザ２１に送信する。
【００４６】
データベース３２は、ネットワークカメラ３０の設定内容の確認用の画面データ、既に撮像された画像データを保存している。
【００４７】
（ネットワークカメラ４０）
ネットワークカメラ４０は、リモートメンテナンスサーバ１０と直接に通信するＨＴＴＰ処理部４１、リレー画面２１ｂを表示するブラウザ２１と同様の動作を行うリレーモジュール４２、及びデータベース（ＤＢ）４３を含む構成である。
【００４８】
ＨＴＴＰ処理部４１は、ネットワークカメラ４０がＷｅｂサーバとしての機能を有するための動作を行い、リモートメンテナンスサーバ１０からＳｏｃｋｅｔ.ＩＯ用の通信メッセージを受信すると、Ｓｏｃｋｅｔ.ＩＯ用の通信メッセージをリレーモジュール４２に出力する。
【００４９】
リレーモジュール４２は、Ｓｏｃｋｅｔ.ＩＯ用の通信メッセージをＨＴＴＰリクエストにプロトコル変換し、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスとしてのデータをＤＢ４３から取得する。このデータは、上述したように、ネットワークカメラ４０における設定内容の確認用の画面データ又は既に撮影された画像データである。
【００５０】
リレーモジュール４２は、ＨＴＴＰレスポンスとしてのデータをＳｏｃｋｅｔ.ＩＯ用の通信メッセージにプロトコル変換してＨＴＴＰ処理部４１に出力する。ＨＴＴＰ処理部４１は、Ｓｏｃｋｅｔ.ＩＯ用の通信メッセージをリモートメンテナンスサーバ１０に送信する。
【００５１】
（カスタマサポート担当者ＰＣ５０）
カスタマサポート担当者ＰＣ５０は、インターネット５に接続されたパーソナルコンピュータであって、インターネット５に接続されたＷｅｂサーバ（不図示）等からＷｅｂサイトを取得して表示するブラウザ５１を含む構成である。リモートメンテナンス画面５１ａについては、図４（Ａ）を参照して後述する。
【００５２】
機器擬似画面５１ｂは、カスタマサポート担当者ＰＣ５０がネットワークカメラ３０，４０と通信可能となった後にリモートメンテナンス画面５１ａに表示されるボタン５１ｃ（図４（Ａ）参照）の押下に従って表示される画面であって、例えば、ネットワークカメラ３０の設定内容の確認画面又は既に撮影された画像データが表示される。
【００５３】
なお、図２では、カスタマサポート担当者ＰＣ５０については、本実施形態の説明に必要となる構成についてのみ図示し、その他の構成については図示を省略している。また、カスタマサポート担当者ＰＣ５０は、リモートメンテナンスサーバ１０との通信において、プロキシサーバの有無、ルータ／ファイアウォール８０による接続制限、ＮＡＴ（Network Address Translation）の有無などの接続形態を問わない。
【００５４】
なお、図２において、通信プロトコルとしてＨＴＴＰのみを用いる場合は、ルータ／ファイアウォール７０，８０によって、リモートメンテナンスサーバ１０からは顧客ＰＣ２０、ネットワークカメラ３０，４０、カスタマサポート担当者ＰＣ５０とは直接アクセスすることはできない。
【００５５】
ここで、ネットワークカメラ３０，４０の構成として、構成Ａと構成Ｂの２パターンが考えられる。構成Ａは、ネットワークカメラ３０が顧客ＰＣ２０のブラウザ２１の機能を含まないパターンである。構成Ｂは、ネットワークカメラ４０が顧客ＰＣ２０のブラウザ２１の機能を含むパターンである。
【００５６】
構成Ａでは、顧客ＰＣ２０とネットワークカメラ３０とが接続される。顧客ＰＣ２０のブラウザ２１は、後述する接続コードを入力するための機器制御画面２１ａ、及びネットワークカメラ３０が顧客ＰＣ２０に接続されたときのリレー画面２１ｂを表示する。
【００５７】
また、構成Ａでは、ブラウザ２１においてリレー画面２１ｂが起動すると、ブラウザ２１は、ＣＳ画面サーバ１１からリレー画面アプリ１１ｃをダウンロードしてインストールする。これにより、ブラウザ２１において、リレー画面アプリ１１ｃが実行可能となる。リレー画面アプリ１１ｃは、顧客ＰＣ２０のブラウザ２１がカスタマサポート担当者ＰＣ５０とネットワークカメラ３０，４０との通信を中継するために、Ｓｏｃｋｅｔ．ＩＯを用いて、双方向通信制御サーバ１３とブラウザ２１との間で双方向通信するためのアプリケーション（プログラム）である。
【００５８】
一方、構成Ｂでは、顧客ＰＣ２０が存在せず、ネットワークカメラ４０のみが存在する。即ち、構成Ｂでは、ネットワークカメラ４０は、ブラウザ２１の機能を有するＨＴＴＰ処理部４１、及びリレー画面２１ｂを表示するブラウザ２１と同様に動作するリレーモジュール４２を用いて、顧客ＰＣ２０を必要とせずに、リモートメンテナンスサーバ１０を介して、カスタマサポート担当者ＰＣ５０と通信する。なお、ネットワークカメラ４０に対する接続コード（後述参照）は、別途、ネットワークカメラ４０のインターフェース（通信又は音声等）を介して入力される。
【００５９】
（通信システム１における動作）
上述した通信システム１の動作について、図３を参照して説明する。図３は、通信システム１の通信手順を示すシーケンス図である。なお、図３では、ＨＴＴＰ通信を実線（矢印付き）で表し、ＳｏｃｋｅｔＩＯを用いた双方向通信を点線（矢印付き）で表している。更に、図３は、カスタマサポート担当者ＰＣ５０が、リモートメンテナンスサーバ１０を介して、顧客ＰＣ２０及びネットワークカメラ３０と通信する場合のシーケンスを説明する。
【００６０】
（手順１：開始〜カスタマサポート担当者ＰＣ５０の接続コードの取得まで）
手順１．１（ログイン）では、カスタマサポート担当者ＰＣ５０は、カスタマサポート担当者の入力操作に応じて、予め定められているリモートメンテナンス業務のログイン用のＷｅｂサイトを取得し、取得されたログイン用のＷｅｂサイトをブラウザ５１に表示する。カスタマサポート担当者は、ログイン用のＷｅｂサイトに対してログイン入力操作を行う。例えば、ログイン入力操作では、カスタマサポート担当者のユーザＩＤ及びパスワードが入力される。
【００６１】
なお、ブラウザ５１に表示されたログイン用のＷｅｂサイトは、ＣＳ画面処理部１１ｂがＨＴＴＰ処理部１１ａを介して取得したものである。ＣＳ画面処理部１１ｂは、入力されたユーザＩＤ及びパスワードを基に、管理用データベース１１ｄを参照してログインの許可又は不許可を判定する。以下、ログインが許可されたものとして説明する。
【００６２】
手順１．２（ＳｏｃｋｅｔＩＯ接続）では、カスタマサポート担当者ＰＣ５０のブラウザ５１は、リモートメンテナンス画面５１ａを介して、双方向通信制御サーバ１３への通信ネゴシエーション（通信設定）を行う。ブラウザ５１は、例えばＳｏｃｋｅｔ．ＩＯのようなＯｖｅｒＨＴＴＰ、若しくはＯｖｅｒＨＴＴＰＳの通信プロトコルにより、双方向通信制御サーバ１３との間で、プロキシサーバ等も全て通過する双方向通信経路を確立する。なお、図３では、双方向通信経路が確立したことを点線（矢印付き）で表している。また、ブラウザ５１には、双方向通信するための双方向通信モジュール１３ｂと同様のライブラリが実装されている。
【００６３】
双方向通信経路の確立以降、ブラウザ５１と双方向通信制御サーバ１３との間の双方向通信では、ブラウザ５１及び双方向通信制御サーバ１３は、リクエスト及びレスポンスというＨＴＴＰ通信の形式でなく、それぞれ相互的に一方向のメッセージを送受信可能となる。
【００６４】
手順１．３（接続コード要求メッセージ）では、ブラウザ５１は、カスタマサポート担当者の入力操作を基に、接続コードを要求する接続コード要求メッセージを双方向通信制御サーバ１３に送信する。ここで、接続コードは、リモートメンテナンスサーバ１０がカスタマサポート担当者ＰＣ５０とネットワークカメラ３０との双方向通信を中継するために用いられる識別情報、即ち、リモートメンテナンスサーバ１０がカスタマサポート担当者ＰＣ５０とネットワークカメラ３０との通信の中継を特定するための識別情報であって、例えば双方向通信管理処理部１３ｃが付与する番号である。また、接続コードは、例えば数桁の数字であることが簡易に伝えることができるために好ましいが、数字であることに限定せず、例えば英数字の組合せでも構わない。
【００６５】
手順１．４（接続コード応答メッセージ）では、双方向通信制御サーバ１３は、手順１．３において送信されたブラウザ５１からの接続コード要求メッセージを受信すると、双方向通信管理処理部１３ｃにおいてランダムで重複しない接続コードを生成する。双方向通信制御サーバ１３は、ＨＴＴＰ処理部１３ａにおいてブラウザ５１に接続コード応答メッセージを送信する。
【００６６】
なお、接続コードは、接続コード要求メッセージを送信したカスタマサポート担当者ＰＣ５０を特定するために、カスタマサポート担当者ＰＣ５０の識別情報（例えば、接続コード要求メッセージに含まれるカスタマサポート担当者ＰＣ５０のＩＤ等）と関連付けて、双方向通信制御サーバ１３内のメモリ（不図示）に保持される。
【００６７】
なお、カスタマサポート担当者ＰＣ５０のブラウザ５１が接続コードを受信すると、カスタマサポート担当者は、顧客に対し、口頭、電話、メール等で接続コードを伝える。
【００６８】
なお、接続コードを利用せずに接続することも可能であり、その場合には接続コードの代わりとして、ＭＡＣアドレスや機器固有のコード（製造番号）を用いる。
【００６９】
（手順２：顧客ＰＣ２０のブラウザ２１においてリレー画面２１ｂを起動するまで）
手順２．１（機器ログイン）では、顧客ＰＣ２０のブラウザ２１は、ネットワークカメラ３０との通信に必要となるＩＰアドレス及びポート番号を用いて、ネットワークカメラ３０のＨＴＴＰ処理部３１に接続する。また、ネットワークカメラ３０への接続において認証が必要となる場合では、顧客ＰＣ２０のブラウザ２１は、顧客担当者により入力されたユーザＩＤ及びパスワードを用いて認証する。
【００７０】
なお、このユーザＩＤ及びパスワード等のユーザ情報は、ネットワークカメラ３０に接続する場合に要求され、データベース３２に予め保存されており、顧客担当者のみ知ることができる情報であって、カスタマサポート担当者は知ることができない情報である。ＨＴＴＰ処理部３１は、データベース３２に保存されているユーザ情報を参照し、ブラウザ２１から送信されたユーザＩＤ及びパスワードを用いて認証する。以下、機器ログインが許可されて、ブラウザ２１がネットワークカメラ３０に接続できたとして説明する。
【００７１】
手順２．２（接続コード入力）では、顧客ＰＣ２０のブラウザ２１は、カスタマサポート担当者から伝えられた接続コードを入力するための機器制御画面２１ａのＷｅｂページ（Ｗｅｂサイト）にアクセスする。ブラウザ２１は、顧客担当者からの接続コードの入力を受け付ける。なお、顧客ＰＣ２０のブラウザ２１に表示される機器制御画面２１ａの一例を示す図を図４（Ｂ）に示す。機器制御画面２１ａにおいて、接続コードは入力フィールド２１ｃに入力される。入力フィールドに接続コードが入力されて「実行」ボタンが押下されると、ブラウザ２１の動作は後述の手順２．３（リレー画面起動）に移行する。
【００７２】
接続コードは、機器制御画面２１ａからリレー画面２１ｂに引き継がれるための識別番号である。ここでは、顧客担当者がカスタマサポート担当者から口頭で接続コードの通知を受けた場合を示したが、カスタマサポート担当者ＰＣ５０は、手順１．４（接続コード応答メッセージ）にて得られた接続コード応答メッセージから接続コードを取得した時に、顧客ＰＣ２０に対して自動的にメール等で接続コードを通知してもよい。更に、顧客ＰＣ２０は、メール等で接続コードの通知を受けると、自動的に機器制御画面２１ａに入力してもよい。これにより、顧客担当者の入力作業が簡易化できる。
【００７３】
手順２．３（リレー画面起動）では、顧客担当者の入力操作によって接続コードが入力された後、顧客ＰＣ２０のブラウザ２１は、機器制御画面２１ａと別の画面としてリレー画面２１ｂを表示する。リレー画面２１ｂは、ネットワークカメラ３０の画面として、ネットワークカメラ３０との通信に必要となるＩＰアドレス及びポート番号を基にしてブラウザ２１の画面として表示され、カスタマサポート担当者ＰＣ５０のブラウザ５１には表示されない。これにより、異なるネットワーク環境Ａ１，Ａ２間におけるクロスドメイン制約を回避することができる。
【００７４】
（手順３：顧客ＰＣ２０のブラウザ２１とリモートメンテナンスサーバ１０との双方向通信経路の確立まで）
手順３．１（リレー画面アプリＤＬ）では、顧客ＰＣ２０のブラウザ２１は、リレー画面２１ｂが表示されている状態において、リモートメンテナンスサーバ１０のＣＳ画面サーバ１１から、リレー画面アプリ１１ｃをダウンロードする。リレー画面アプリ１１ｃのリクエスト及びダウンロードはＨＴＴＰ通信にて行われる。なお、リレー画面アプリ１１ｃは、Ｊａｖａｓｃｒｉｐｔ（登録商標）にて作成されたプログラムである。
【００７５】
手順３．１のダウンロードは、手順２．３で起動したリレー画面２１ｂを表示するためのプログラムコードに、Ｊａｖａｓｃｒｉｐｔ（登録商標）においてリレー画面アプリ１１ｃのダウンロードを要求するための記述（例えば、＜ｓｃｒｉｐｔタグ＞）を予め記載しておくことで可能となる。これにより、顧客ＰＣ２０には、リレー画面２１ｂの表示を起動するためのアプリケーションを特別に実装する必要が無く、汎用的に用いられているブラウザを搭載したＰＣで対応できる。
【００７６】
なお、この記述には、＜ｓｃｒｉｐｔタグ＞のＵＲＬ又はリレー画面２１ｂのパラメータとしての接続コード及び製品品番が含まれている。接続コードは、カスタマサポート担当者ＰＣ５０とネットワークカメラ３０との通信の中継の特定に用いられる。製品品番は、細かな製品毎の動作の差異をリレー画面アプリ１１ｃで表示するために用いられる。
【００７７】
手順３．２（ＳｏｃｋｅｔＩＯ）では、顧客ＰＣ２０のブラウザ２１は、リレー画面２１ｂを介して、双方向通信制御サーバ１３への通信ネゴシエーション（通信設定）を行う。ブラウザ２１は、例えばＯｖｅｒＨＴＴＰ若しくはＯｖｅｒＨＴＴＰＳの通信プロトコルにより、双方向通信制御サーバ１３との間で、プロキシサーバ等も全て通過する双方向通信経路を確立する。なお、図３では、双方向通信経路が確立したことを点線（矢印付き）で表している。また、ブラウザ２１には、双方向通信するための双方向通信モジュール１３ｂと同様のライブラリが実装されている。
【００７８】
双方向通信経路の確立以降、ブラウザ２１と双方向通信制御サーバ１３との間の双方向通信では、ブラウザ２１及び双方向通信制御サーバ１３は、リクエスト及びレスポンスというＨＴＴＰ通信の形式でなく、それぞれ相互的に一方向のメッセージを送受信可能となる。
【００７９】
手順３．３（接続通知メッセージ）では、ブラウザ２１は、リレー画面２１ｂを介して、双方向通信制御サーバ１３との双方向通信経路を確立した後、顧客ＰＣ２０のブラウザ２１とリモートメンテナンスサーバ１０の双方向通信制御サーバ１３とが接続したことのＳｏｃｋｅｔ.ＩＯ用の通信メッセージを双方向通信制御サーバ１３に送信する。このとき、ブラウザ２１は、リレー画面２１ｂを介して、接続を特定するためのパラメータとして、接続コードを双方向通信制御サーバ１３に送信する。
【００８０】
（手順４：カスタマサポート担当者ＰＣ５０からのリレーサーバ１２接続まで）
【００８１】
手順４．１（接続通知及びＵＲＬの通知メッセージ）では、双方向通信制御サーバ１３は、手順３．３において接続通知メッセージをブラウザ２１から受信すると、接続コードを基に、接続コードに関連付けられたカスタマサポート担当者ＰＣ５０を特定し、カスタマサポート担当者ＰＣ５０のブラウザ５１に接続通知メッセージを送信する。これにより、双方向通信制御サーバ１３は、双方向通信制御サーバ１３と接続されたネットワークカメラ３０とカスタマサポート担当者ＰＣ５０との双方向通信の組合せを関連付けることができる。
【００８２】
また、双方向通信制御サーバ１３は、接続コードに関連付けるドメイン名及びＣｏｏｋｉｅ情報を生成し、接続通知メッセージに、リレーサーバ接続用ＵＲＬとＣｏｏｋｉｅ情報を含む。Ｃｏｏｋｉｅ情報は、リモートメンテナンスサーバ１０内のメモリ（不図示）に保持される。リレーサーバ接続用ＵＲＬは、リレーサーバ１２のドメイン名（ＩＰアドレス）及びポート番号を含む。Ｃｏｏｋｉｅ情報は、双方向通信の対象となる通信機器としてのネットワークカメラ３０を特定するための識別情報である。また、ドメイン名に接続コードを用いても良く、この場合には、Ｃｏｏｋｉｅ情報は不要としても良い。
【００８３】
手順４．２（機器へ擬似接続）では、カスタマサポート担当者ＰＣ５０のブラウザ５１が双方向通信制御サーバ１３から接続通知メッセージを受信すると、ブラウザ５１は、リモートメンテナンス画面５１ａにて、手順４．１で送信されたＵＲＬにアクセスするためのボタン（図４（Ａ）のボタン５１ｃ参照）を押下可能に表示する。
【００８４】
図４（Ａ）は、カスタマサポート担当者ＰＣ５０のブラウザ５１に表示されるリモートメンテナンス画面５１ａの一例を示す図である。図４（Ａ）に示すリモートメンテナンス画面５１ａは、手順１．４（接続コード応答メッセージ）で双方向通信制御サーバ１３から接続コードが通知されたときにブラウザ５１に表示される画面である。図４（Ａ）に示すリモートメンテナンス画面５１ａでは、接続コードの一例として「２６２９６５」が示され、カスタマサポート担当者が顧客担当者に依頼する事項が表示されている。
【００８５】
なお、ブラウザ５１が手順４．２（機器へ擬似接続）で接続通知メッセージを受信するまで、ボタン５１ｃは選択不可状態で表示される。即ち、カスタマサポート担当者は、顧客担当者が接続コードを入力して、手順２．１（機器ログイン）〜手順４．２（機器への擬似接続）までの各動作が完了するまで待機状態となる。
【００８６】
カスタマサポート担当者がボタン５１ｃを押下すると、ブラウザ５１は、リモートメンテナンス画面５１ａとは異なる別画面として、機器擬似画面５１ｂを表示する。これにより、ブラウザ５１とリレーサーバ１２との通信（ＨＴＴＰ通信）経路が確立する。
【００８７】
機器擬似画面５１ｂの内容は、リモートメンテナンス画面５１ａの中に表示されても良い。なお、カスタマサポート担当者がボタン５１ｃを押下することなく、ブラウザ５１は、接続通知メッセージを受信したときに、リモートメンテナンス画面５１ａの表示内容を、機器擬似画面５１ｂの表示内容に切り替えても良い。
【００８８】
（手順５：カスタマサポート担当者ＰＣ５０とネットワークカメラ３０との双方向通信）
手順５．１（機器への擬似リクエスト）では、カスタマサポート担当者ＰＣ５０のブラウザ５１は、手順４．２（機器への擬似接続）において確立したリレーサーバ１２への通信経路に対し、ネットワークカメラ３０への擬似接続を要求するためのＨＴＴＰリクエストを行う。ＨＴＴＰリクエストには、リレーサーバ１２のドメイン名（ＩＰアドレス）が含まれ、更に、例えばネットワークカメラ３０の設定内容の確認を要求する内容が含まれる。
【００８９】
ここで、リレーサーバ１２は、同一のＩＰアドレスを有し、且つ、複数のドメイン（接続コード）を有するＷｅｂサーバとして稼働している。リレーサーバ１２のＩＰアドレスは、インターネット５において公開されている。
【００９０】
リレーサーバ１２の通信機器擬似動作処理部１２ｂは、接続要求したブラウザ５１から送信されたドメイン名の情報を基に接続コードを特定すると共に、リモートメンテナンスサーバ１０内に保持されたＣｏｏｋｉｅ情報を基に、カスタマサポート担当者ＰＣ５０とリレーサーバ１２との接続を許可すべきか否かを判定する。なお、リレーサーバ１２の通信機器擬似動作処理部１２ｂは、ドメイン名とワンタイムのＣｏｏｋｉｅ情報を基に、カスタマサポート担当者ＰＣ５０からの接続要求を受信する度に、接続を許可するべきか否かを判定する。
【００９１】
手順５．２（プロトコル変換）では、リレーサーバ１２の通信機器擬似動作処理部１２ｂは、ＨＴＴＰ処理部１２ａにおいてＨＴＴＰリクエストを受信すると、Ｓｏｃｋｅｔ.ＩＯを用いて双方向通信制御サーバ１３を介して、ＨＴＴＰリクエストの内容を顧客ＰＣのブラウザ２１のリレー画面２１ｂに渡すために、ＨＴＴＰリクエストからＳｏｃｋｅｔ．ＩＯ用のリクエストメッセージへのプロトコル変換を行う。なお、プロトコル変換は、双方向通信制御サーバ１３により実行されても良い。
【００９２】
手順５．２（プロトコル変換）では、双方向通信制御サーバ１３と顧客ＰＣ２０のブラウザ２１との通信形態がＳｏｃｋｅｔ.ＩＯを用いた双方向通信であってＨＴＴＰ通信ではないため、ＨＴＴＰリクエストからＳｏｃｋｅｔ.ＩＯ用のリクエストメッセージにプロトコル変換される。後述の手順５．８（プロトコル変換）でも同様である。
【００９３】
ここで、リレーサーバ１２と双方向通信制御サーバ１３とは同一のリモートメンテナンスサーバ１０におけるアプリケーションであるため、プロトコル変換及びリクエストメッセージ及びレスポンスメッセージの受け渡しは、リモートメンテナンスサーバ１０に内蔵されるＣＰＵによって実行される。
【００９４】
手順５．３（リスクエストメッセージ）では、双方向通信制御サーバ１３の双方向通信管理処理部１３ｃは、プロトコル変換されたリクエストメッセージを、ＨＴＴＰ処理部１３ａを介して、顧客ＰＣ２０のブラウザ２１のリレー画面２１ｂに送信する。
【００９５】
手順５．４（プロトコル変換）では、ブラウザ２１は、リレー画面２１ｂが表示されている状態において、双方向通信制御サーバ１３から受けたリクエストメッセージをＨＴＴＰリクエストに変換する。
【００９６】
手順５．４（プロトコル変換）では、ブラウザ２１とネットワークカメラ３０との通信形態がＨＴＴＰ通信であるため、Ｓｏｃｋｅｔ.ＩＯ用のリクエストメッセージからＨＴＴＰリクエストにプロトコル変換される。後述の手順５．６（プロトコル変換）でも同様である。
【００９７】
手順５．５（機器リクエスト＆機器レスポンス）では、ブラウザ２１は、リレー画面２１ｂが表示されている状態において、ＨＴＴＰリクエストをネットワークカメラ３０に送信し、ネットワークカメラ３０から機器レスポンスとしてのＨＴＴＰレスポンスを得る。ＨＴＴＰレスポンスは、例えば、ネットワークカメラ３０の設定内容の確認が可能となる画面データである。なお、ブラウザ２１とネットワークカメラ３０との間では、ＨＴＴＰとなるため、ネットワークカメラ３０は特別な実装を必要としない。
【００９８】
手順５．６（プロトコル変換）では、ブラウザ２１は、ネットワークカメラ３０から得たＨＴＴＰレスポンスを、Ｓｏｃｋｅｔ.ＩＯ用のレスポンスメッセージにプロトコル変換する。
【００９９】
手順５．７（レスポンスメッセージ）では、ブラウザ２１は、リレー画面２１ｂが表示されている状態において、プロトコル変換されたＳｏｃｋｅｔ.ＩＯ用のレスポンスメッセージを双方向通信制御サーバ１３に送信する。
【０１００】
手順５．８（プロトコル変換）では、双方向通信制御サーバ１３の双方向通信管理処理部１３ｃは、ＨＴＴＰ処理部１３ａにおいてＳｏｃｋｅｔ.ＩＯ用のレスポンスメッセージを受信すると、同Ｓｏｃｋｅｔ．ＩＯ用のレスポンスメッセージをリレーサーバ１２に送信し、Ｓｏｃｋｅｔ.ＩＯ用のレスポンスメッセージをＨＴＴＰレスポンスにプロトコル変換する。なお、プロトコル変換は、リレーサーバ１２に送信（出力）せずとも直接双方向通信制御サーバ１３において実行されても良い。
【０１０１】
手順５．９（機器からの擬似レスポンス）では、リレーサーバ１２の通信機器擬似動作処理部１２ｂは、双方向通信制御サーバ１３によってプロトコル変換されたレスポンスメッセージを、ＨＴＴＰレスポンスとしてカスタマサポート担当者ＰＣ５０のブラウザ５１に送信する。これ以降、手順５．１〜手順５．９の各動作が繰り返される。
【０１０２】
また、ブラウザ２１において表示されたリレー画面２１ｂは、カスタマサポート担当者ＰＣ５０とネットワークカメラ３０とのデータを中継するため、顧客担当者の入力操作によって、リレー画面２１ｂが閉じられると、リモートメンテナンスサーバ１０の双方向通信制御サーバ１３とブラウザ２１との双方向通信経路はなくなる。
【０１０３】
なお、図３に示す各通信手順は、ネットワークカメラの構成が図２に示す構成Ａである場合に相当する。構成Ｂのネットワークカメラ４０を用いた場合、ネットワークカメラ４０には、リレー画面２１ｂと同様に動作するリレーモジュール４２が予め実行可能に組み込まれている。従って、その場合では、手順３．１（リレー画面アプリＤＬ）のリレー画面アプリ１１ｃのダウンロードは不要となる。その他の手順は、構成Ａの手順と同様である。
【０１０４】
図５は、手順１．１（ログイン）〜４．２（機器への擬似接続）における各部の動作を示す図である。手順１．１（ログイン）では、ＣＳ画面サーバ１１とカスタマサポート担当者ＰＣ５０のブラウザ５１のリモートメンテナンス画面５１ａとの間で、ログインが行われる。
【０１０５】
手順１．２（Ｓｏｃｋｅｔ.ＩＯ接続）〜１．４（接続コード応答メッセージ）では、双方向通信制御サーバ１３とカスタマサポート担当者ＰＣ５０のブラウザ５１のリモートメンテナンス画面５１ａとの間でＳｏｃｋｅｔ.ＩＯを用いた双方向通信の通信経路の確立、接続コード要求メッセージ及び接続コード応答メッセージの通知が行われる。
【０１０６】
手順２．１（機器ログイン）〜２．３（リレー画面起動）では、機器制御画面２１ａが表示されている状態において、顧客ＰＣ２０のブラウザ２１とネットワークカメラ３０との間で、機器ログイン、接続コード入力及びリレー画面２１ｂの起動が行われる。
【０１０７】
手順３．１（リレー画面アプリＤＬ）では、顧客ＰＣ２０のブラウザ２１のリレー画面２１ｂとＣＳ画面サーバ１１との間で、リレー画面アプリ１１ｃのダウンロードが行われる。
【０１０８】
手順３．２（Ｓｏｃｋｅｔ.ＩＯ接続）〜３．３（接続通知メッセージ）では、リレー画面２１ｂと双方向通信制御サーバ１３との間で、Ｓｏｃｋｅｔ．ＩＯを用いた双方向通信の通信経路の確立及び双方向通信の通信経路ができた旨の接続通知が行われる。
【０１０９】
手順４．１（接続通知及びＵＲＬの通知メッセージ）では、双方向通信制御サーバ１３とカスタマサポート担当者ＰＣ５０のブラウザ５１のリモートメンテナンス画面５１ａとの間で、接続通知及びＵＲＬ通知が行われる。
【０１１０】
手順４．２（機器への擬似接続）では、カスタマサポート担当者のボタン５１ｃの押下によって、カスタマサポート担当者ＰＣ５０のブラウザ５１の機器擬似画面５１ｂが起動し、ブラウザ５１は、ネットワークカメラ３０と擬似接続する。
【０１１１】
図６は、手順５．１（機器への擬似リクエスト）〜５．９（機器からの擬似レスポンス）における各部の動作を示す図である。
【０１１２】
手順５．１（機器への擬似リクエスト）及び５．９（機器からの擬似レスポンス）では、それぞれカスタマサポート担当者ＰＣ５０のブラウザ５１の機器擬似画面５１ｂとリレーサーバ１２の通信機器擬似動作処理部１２ｂとの間で、ネットワークカメラ３０への擬似リクエスト、機器からの擬似レスポンスが行われる。
【０１１３】
手順５．２（プロトコル変換）では、通信機器擬似動作処理部１２ｂと双方向通信管理処理部１３ｃとの間で、上述したプロトコル変換（ＨＴＴＰリクエスト→Ｓｏｃｋｅｔ.ＩＯ用のリクエストメッセージ）が行われる。
【０１１４】
手順５．３（リクエストメッセージ），５．７（レスポンスメッセージ）では、双方向通信管理処理部１３ｃと顧客ＰＣ２０のブラウザ２１のリレー画面２１ｂとの間で、それぞれリクエストメッセージ、レスポンスメッセージの通知が行われる。
【０１１５】
手順５．４（プロトコル変換）では、リレー画面２１ｂが表示されている状態において、前述したプロトコル変換（Ｓｏｃｋｅｔ.ＩＯ用のリクエストメッセージ→ＨＴＴＰリクエスト）が行われる。
【０１１６】
手順５．５（機器リクエスト＆機器レスポンス）では、リレー画面２１ｂが表示されている状態において、ブラウザ２１とネットワークカメラ３０のＨＴＴＰ処理部３１との間で、機器リクエスト＆機器レスポンスが行われる。
【０１１７】
手順５．６（プロトコル変換）では、リレー画面２１ｂが表示されている状態において、前述したプロトコル変換（ＨＴＴＰレスポンス→Ｓｏｃｋｅｔ.ＩＯ用のレスポンスメッセージ）が行われる。
【０１１８】
手順５．８（プロトコル変換）では、通信機器擬似動作処理部１２ｂと双方向通信管理処理部１３ｃとの間で、上述したプロトコル変換（Ｓｏｃｋｅｔ.ＩＯ用のレスポンスメッセージ→ＨＴＴＰレスポンス）が行われる。
【０１１９】
図７（Ａ）は接続コード要求メッセージの具体例を示す図であり、図７（Ｂ）は接続コード応答メッセージの具体例を示す図である。Ｓｏｃｋｅｔ．ＩＯを用いた双方向通信では、ＨＴＴＰ層の上位にＳｏｃｋｅｔ．ＩＯ層が存在する。リモートメンテナンスサーバ１０の双方向通信制御サーバ１３とカスタマサポート担当者ＰＣ５０のブラウザ５１との間では、ＳｏｃｋｅｔＩＯ層において通信が行われる。Ｓｏｃｋｅｔ．ＩＯ層の通信は、ＨＴＴＰ層のようなリクエスト／レスポンス形式でなく、一方向のイベント通知として扱われる。
【０１２０】
Ｓｏｃｋｅｔ．ＩＯ層では、オブジェクトを表現するＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）形式でのデータ通信となる。オブジェクトはキー（文字列）と値のペアを０個以上持つ。値として設定可能なものは、数値、文字列、真偽値（ｔｒｕｅ／ｆａｌｓｅ）、配列（複数の値）、オブジェクト、ＮＵＬＬである。
【０１２１】
Ｓｏｃｋｅｔ．ＩＯを用いた双方向通信では、イベント（文字列）及びデータ（オブジェクト）を送受信する。イベントはこのデータが何であるかを表す。データは送信するデータである。図７（Ａ）に示す接続要求メッセージでは、イベントとして「接続」を表し、データとして「カスタマサポート担当者ＰＣ５０」であることを表す。また、図７（Ｂ）に示す接続コード応答メッセージでは、データとして「接続コードの通知の待ち状態」を表し、データとして「接続コード」を表す。
【０１２２】
図８（Ａ）は擬似リクエストのプロトコル変換の具体例を示す図であり、図８（Ｂ）は擬似レスポンスのプロトコル変換の具体例を示す図である。リレーサーバ１２と双方向通信制御サーバ１３の間においてプロトコル変換が行われる。
【０１２３】
即ち、カスタマサポート担当者ＰＣ５０のブラウザ５１とリレーサーバ１２との間では、ＨＴＴＰ通信プロトコルで通信が行われる。双方向通信制御サーバ１３とブラウザ２１（リレー画面２１ｂ）との間では、Ｓｏｃｋｅｔ．ＩＯを用いた双方向通信が行われ、更に、ブラウザ２１（リレー画面２１ｂ）とネットワークカメラ３０のＨＴＴＰ処理部３１との間では、ＨＴＴＰ通信プロトコルで通信が行われる。
【０１２４】
リレーサーバ１２及び双方向通信制御サーバ１３は、それぞれ手順５．２（プロトコル変換）及び手順５．４（プロトコル変換）で示したように、ＨＴＴＰとＳｏｃｋｅｔ．ＩＯとの間のプロトコル変換を行う。
【０１２５】
ＨＴＴＰリクエストは、図８（Ａ）に示すように、リクエストヘッダとリクエストボディとを含み、Ｓｏｃｋｅｔ．ＩＯパラメータとして送受信される。また、ＨＴＴＰレスポンスは、図８（Ｂ）に示すように、レスポンスヘッダとレスポンスボディとを含み、Ｓｏｃｋｅｔ．ＩＯパラメータとして送受信される。リクエストヘッダ及びレスポンスヘッダには、それぞれ“ＨＴＴＰ”で記述される部分が含まれる。
【０１２６】
以上により、本実施形態の通信システム１は、リモートメンテナンスサーバ１０及び顧客ＰＣ２０のブラウザ２１との間で双方向通信の通信経路を確立し、カスタマサポート担当者ＰＣ５０とネットワークカメラ３０との間の通信をリモートメンテナンスサーバ１０が中継する。これにより、通信システム１は、カスタマサポート担当者ＰＣ５０のブラウザ５１から、ネットワークカメラ３０の設定内容の確認画面又は既に撮影済みの画像データを、簡単に閲覧、編集できる。
【０１２７】
従って、通信システム１では、カスタマサポート担当者ＰＣ５０は、異なるネットワーク環境下における通信機器（ネットワークカメラ３０）と、特別な設置コストをかけずに簡易な設定で双方向通信できる。
【０１２８】
なお、本実施形態では、顧客ＰＣ２０のブラウザ２１とネットワークカメラ３０，４０との通信経路が確立したときに、顧客ＰＣ２０にリレー画面２１ｂを表示しているが、例えば通信機器として構成Ｂのようなネットワークカメラ４０である場合、通信機器本体に表示機能を持たないものがあり、その場合にはリレー画面２１ｂを表示させず、通信機器本体に設けられたＬＥＤ又は音声によって動作状況を通知しても良い。
【０１２９】
以下、上述した本発明に係る中継装置及び通信システムの構成、作用及び効果を説明する。
【０１３０】
本発明に係る第１の発明は、ネットワークに接続された第１の通信装置、中継装置及び第２の通信装置、並びに前記第２の通信装置に接続された通信機器を含み、前記第１の通信装置が前記中継装置を介して前記通信機器と通信する通信システムであって、前記中継装置は、前記第１の通信装置から受信した前記通信機器とのＨＴＴＰ通信要求をＯｖｅｒＨＴＴＰ通信要求に変換して前記第２の通信装置に送信し、前記第２の通信装置は、前記中継装置から受信した前記ＯｖｅｒＨＴＴＰ通信要求を前記ＨＴＴＰ通信要求に変換し、前記ＨＴＴＰ通信要求に基づき前記通信機器からＨＴＴＰ通信応答を取得し、前記ＨＴＴＰ通信応答をＯｖｅｒＨＴＴＰ通信応答に変換して前記中継装置に送信し、前記中継装置は、前記第２の通信装置から受信した前記ＯｖｅｒＨＴＴＰ通信応答を前記ＨＴＴＰ通信応答に変換して前記第１の通信装置に送信する。
【０１３１】
この構成によれば、異なるネットワーク環境下に属する通信機器との双方向通信をＯｖｅｒＨＴＴＰを用いることで、特別な設置コストをかけずに簡易な設定で実現できる。
【０１３２】
本発明に係る第２の発明は、第１の発明に係る通信システムであって、前記第１の通信装置は、前記中継機器から前記通信機器を識別するための接続コードを取得し、前記接続コードを前記第２の通信装置に入力して前記中継装置と接続する。
【０１３３】
この構成によれば、カスタマサポート担当者ＰＣは、リモートメンテナンスサーバから通信機器としてのネットワークカメラを識別するための接続コードを取得でき、カスタマサポート担当者ＰＣと顧客ＰＣとにおいて共通の接続コードを用いることで、リモートメンテナンスサーバ及び顧客ＰＣを介して、カスタマサポート担当者ＰＣとネットワークカメラとの双方向通信を簡易化できる。
【０１３４】
本発明に係る第３の発明は、第１の発明に係る通信システムであって、前記第２の通信装置は、前記通信機器と一体である。
【０１３５】
この構成によれば、通信機器としてのネットワークカメラが表示機能を備えない場合でも、リモートメンテナンスサーバと通信することによって、カスタマサポート担当者ＰＣとネットワークカメラとの双方向通信を簡易に実現できる。
【０１３６】
本発明に係る第４の発明は、ネットワークに接続された第１の通信装置、中継装置及び第２の通信装置、並びに前記第２の通信装置に接続された通信機器を含み、前記第１の通信装置が前記中継装置を介して前記通信機器と通信する通信システムであって、前記第２の通信装置は、前記第２の通信装置と前記通信機器との通信経路の確立に応じて、前記中継装置が前記第１の通信装置と前記通信機器との通信を中継するためのリレー画面を表示し、前記中継装置は、前記リレー画面が表示されている状態において、前記第２の通信装置と前記通信機器との接続通知を、前記第１の通信装置に送信する双方向通信制御部と、前記送信された前記接続通知に応じて前記第１の通信装置から、前記第１の通信装置と前記通信機器との通信要求を受け付けるリレー制御部と、を含み、前記双方向通信制御部は、前記受け付けた前記通信機器との通信要求を前記第２の通信装置に送信し、前記第２の通信装置は、前記送信された前記通信機器との通信要求に対する通信応答を取得して前記双方向通信制御部に送信し、前記リレー制御部は、前記第２の通信装置から送信された前記通信応答を、前記双方向通信制御部を介して取得し、前記第１の通信装置に送信する。
【０１３７】
この構成によれば、異なるネットワーク環境下に属する通信機器との双方向通信を、特別な設置コストをかけずに簡易な設定で実現できる。
【０１３８】
また、本発明に係る第５の発明は、第４の発明に係る通信システムであって、前記第１の通信装置は、前記中継装置から、前記第１の通信装置と前記通信機器との通信を特定する接続コードを取得し、前記第２の通信装置は、前記通信機器に対し、前記接続コードを用いて前記通信機器の制御内容を含む機器制御画面の起動を要求し、前記中継装置は、前記第２の通信装置と前記通信機器との接続通知に、前記接続コードを含めて前記第１の通信装置に送信する。
【０１３９】
この構成によれば、双方向通信制御サーバは、双方向通信制御サーバと接続されたネットワークカメラとカスタマサポート担当者ＰＣとの双方向通信の組合せを容易に関連付けることができる。
【０１４０】
また、本発明に係る第６の発明は、第４の発明又は第５の発明に記載の通信システムであって、前記中継装置は、前記第２の通信装置と前記双方向通信制御部とを通信するためのリレー画面アプリを保持する画面制御部と、を更に含み、前記画面制御部は、前記第２の通信装置からの前記リレー画面アプリの取得要求を基に、前記リレー画面アプリを前記第２の通信装置に送信し、前記双方向通信制御部は、前記第２の通信装置の前記リレー画面アプリから送信された前記第２の通信装置と前記双方向通信制御部との通信経路を確立する。
【０１４１】
この構成によれば、顧客ＰＣには、リレー画面の表示を起動するためのアプリケーションを特別に実装する必要が無く、汎用的に用いられているブラウザを搭載したＰＣで対応できる。
【０１４２】
本発明に係る第７の発明は、第１の通信装置及び第２の通信装置とともにネットワークに接続され、前記第１の通信装置と前記第２の通信装置に接続された通信機器との通信を中継する中継装置であって、前記第２の通信装置と前記通信機器との接続通知を、前記第１の通信装置に送信する双方向通信制御部と、前記送信された前記接続通知に応じて前記第１の通信装置から、前記第１の通信装置と前記通信機器との通信要求を受け付けるリレー制御部と、を含み、前記双方向通信制御部は、前記受け付けた前記通信機器との通信要求を前記第２の通信装置に送信し、前記リレー制御部は、前記第２の通信装置から送信された前記通信応答を、前記双方向通信制御部を介して取得し、前記第１の通信装置に送信する。
【０１４３】
この構成によれば、異なるネットワーク環境下に属する通信機器との双方向通信を、特別な設置コストをかけずに簡易な設定で実現できる。
【０１４４】
以上、図面を参照しながら各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１４５】
例えば、上述した実施形態では、カスタマサポート担当者ＰＣ５０がリモートメンテナンスサーバ１０から接続コードの通知を受けていたが、接続コードの通知を受けずに、リモートメンテナンスサーバ１０が顧客ＰＣ２０に接続されたネットワークカメラ３０のＭＡＣアドレス等を事前に知っておき、ＭＡＣアドレスをカスタマサポート担当者ＰＣ５０に通知しても良い。
【０１４６】
また、上述した実施形態では、カスタマサポート担当者ＰＣ５０が接続コードを取得する場合を示したが、顧客ＰＣ２０が接続コードを取得するようにしてもよい。この場合、顧客ＰＣ２０の動作はカスタマサポート担当者ＰＣ５０の処理に対し、先行して行われる。
【０１４７】
また、上述した実施形態では、ネットワーク通信プロトコル（ＨＴＴＰ通信プロトコル）の上位にある双方向通信プロトコル（ＷｅｂＳｏｋｅｔ）を利用したＳｏｃｋｅｔＩＯを示したが、Ａｊａｘ、Ｆｌａｓｈ、ＩＦｒａｍｅ等（登録商標）を用いても良い。
【０１４８】
また、上述した実施形態では、通信機器の一例として、ネットワークカメラを例示して説明したが、これに限らず、Ｗｅｂサーバを内蔵する機器であればよく、例えばＰＢＸ（構内交換機）でも良い。
【０１４９】
また、ブラウザの種類は特に限定されない。
【産業上の利用可能性】
【０１５０】
本発明は、異なるネットワーク環境下に属する通信機器との双方向通信を、特別な設置コストをかけずに簡易な設定で可能とする中継装置及び通信システムとして有用である。
【符号の説明】
【０１５１】
１  通信システム
１０  リモートメンテナンスサーバ
１１  ＣＳ画面サーバ
１１ａ、１２ａ、１３ａ、３１、４１  ＨＴＴＰ処理部
１１ｂ  ＣＳ画面処理部
１１ｃ  リレー画面アプリ
１１ｄ  管理用データベース（ＤＢ）
１２  リレーサーバ
１２ｂ  通信機器擬似動作処理部
１３  双方向通信制御サーバ
１３ｂ  双方向通信モジュール
１３ｃ  双方向通信管理処理部
２０  顧客ＰＣ
２１、５１  ブラウザ
２１ａ  機器制御画面
２１ｂ  リレー画面
３０，４０  ネットワークカメラ
４２  リレーモジュール
５０  カスタマサポート担当者ＰＣ
５１ａ  リモートメンテナンス画面
５１ｂ  機器擬似画面
【図１】
2013186820.tif 000003
【図２】
2013186820.tif 000004
【図３】
2013186820.tif 000005
【図４】
2013186820.tif 000006
【図５】
2013186820.tif 000007
【図６】
2013186820.tif 000008
【図７】
2013186820.tif 000009
【図８】
2013186820.tif 000010