(57)【要約】【課題】外部の処理装置のハードウェアを自処理装置で利用する。【解決手段】暗号機能用ＩＦ部１４２は、ＧＷ装置１のＣＰＵ１１をソフトウェアで制御して処理を行った場合の処理時間の長さを示すソフトウェア処理時間を求め、暗号用ＨＷ１５によって処理を行った場合の処理時間の長さを示すハードウェア処理時間ならびにＧＷ装置１とＧＷ装置２の間の往復通信時間の和を求め、往復通信時間とハードウェア処理時間の和がソフトウェア処理時間未満か否かを判定し、和がソフトウェア処理時間未満なら、ＧＷ装置２に対し、暗号用ＨＷ１５による処理を依頼する。【選択図】図１
2014203089.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを有する処理装置に設けられ、前記ＣＰＵをソフトウェアで制御して処理を実行を処理させるインタフェース装置であって、
前記インタフェース装置は、前記処理を実行可能なハードウェアを有する外部の処理装置とともに用いられ、
前記インタフェース装置は、
前記ＣＰＵをソフトウェアで制御して処理を行った場合の処理時間の長さを示すソフトウェア処理時間を求める手段と、
前記ハードウェアによって前記処理を行った場合の処理時間の長さを示すハードウェア処理時間ならびに前記ＣＰＵを有する処理装置と前記外部のデータ処理装置の間の往復通信時間の和を求める手段と、
前記往復通信時間と前記ハードウェア処理時間の和が前記ソフトウェア処理時間未満か否かを判定する手段と、
前記和が前記ソフトウェア処理時間未満なら、前記外部のデータ処理装置に対し、前記ハードウェアによる処理を依頼する手段と
を備えることを特徴とするインタフェース装置。
【請求項２】
前記インタフェース装置は、
前記往復通信時間と前記ハードウェア処理時間の和を、予め前記外部のデータ処理装置との間の通信テストにより求めておくことを特徴とする請求項１記載のインタフェース装置。
【請求項３】
ＣＰＵを有する処理装置に設けられ、前記ＣＰＵをソフトウェアで制御して処理を実行を処理させるインタフェース装置の動作方法であって、
前記インタフェース装置は、前記処理を実行可能なハードウェアを有する外部の処理装置とともに用いられ、
前記動作方法は、
前記インタフェース装置が、前記ＣＰＵをソフトウェアで制御して処理を行った場合の処理時間の長さを示すソフトウェア処理時間を求めるステップと、
前記インタフェース装置が、前記ハードウェアによって前記処理を行った場合の処理時間の長さを示すハードウェア処理時間ならびに前記ＣＰＵを有する処理装置と前記外部のデータ処理装置の間の往復通信時間の和を求めるステップと、
前記インタフェース装置が、前記往復通信時間と前記ハードウェア処理時間の和が前記ソフトウェア処理時間未満か否かを判定するステップと、
前記インタフェース装置が、前記和が前記ソフトウェア処理時間未満なら、前記外部のデータ処理装置に対し、前記ハードウェアによる処理を依頼するステップと
を備えることを特徴とするインタフェース装置の動作方法。
【請求項４】
請求項１または２記載のインタフェース装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部の処理装置のハードウェアを自処理装置で利用する技術に関するものである。
【背景技術】
【０００２】
従来においては、図１０に示すように、ゲートウェイ装置（以下、ＧＷ装置）は、様々なサービスに対応するため、センターサーバから、バンドルと呼ばれるアプリケーションをダウンロードし、インストールして使用する仕様となっている。また、様々なバンドルをダウンロードすることにより、ＧＷ装置の機能拡張を容易に図ることができる（非特許文献１を参照）。
【０００３】
また、図１１に示すように、バンドル（アプリケーション）は、ＪａｖａＶＭおよびＯＳＧｉ等のフレームワーク上のアプリケーションとして作成することにより、ＯＳやハードウェア（ＣＰＵ）の違いを吸収し、異なる装置において、同一のバンドルを動作させることが可能であり、バンドルの有効利用が可能となっている（非特許文献２を参照）。
【０００４】
一方、図１２に示すように、ＧＷ装置等で使用しているＡＰプロセッサ等には、暗号アクセラレータ等のハードウェア機能が実装されている場合もあり、このようなハードウェア機能を使用することで、当該処理について、ＣＰＵでソフトウェア処理を行う場合よりも高速化を図ることが可能となっているものがある（非特許文献３を参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】大村弘之編著（2011） やさしいホームＩＣＴ  電気通信協会，pp.83-85
【非特許文献２】大村弘之編著（2011） やさしいホームＩＣＴ  電気通信協会，pp.90-93
【非特許文献３】NTT技術ジャーナル 2010 Vol.22 No.12 pp.28-3，
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、暗号アクセラレータ等のハードウェア機能は、ＪａｖａＶＭ等で共通的に利用することができないため、ハードウェア機能を利用する場合には、それを利用するためのNativeコード等に対応したバンドルを別途作成する必要があり、バンドルの流通性が悪くなってしまう。また、そもそもハードウェア機能を実装していない装置においては、当該機能をソフトウェア処理することとなり、処理性能を上げることが難しいという問題点があった。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、外部の処理装置のハードウェアを自処理装置で利用する技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、第１の本発明は、ＣＰＵを有する処理装置に設けられ、前記ＣＰＵをソフトウェアで制御して処理を実行を処理させるインタフェース装置であって、前記インタフェース装置は、前記処理を実行可能なハードウェアを有する外部の処理装置とともに用いられ、前記インタフェース装置は、前記ＣＰＵをソフトウェアで制御して処理を行った場合の処理時間の長さを示すソフトウェア処理時間を求める手段と、前記ハードウェアによって前記処理を行った場合の処理時間の長さを示すハードウェア処理時間ならびに前記ＣＰＵを有する処理装置と前記外部のデータ処理装置の間の往復通信時間の和を求める手段と、前記往復通信時間と前記ハードウェア処理時間の和が前記ソフトウェア処理時間未満か否かを判定する手段と、前記和が前記ソフトウェア処理時間未満なら、前記外部のデータ処理装置に対し、前記ハードウェアによる処理を依頼する手段とを備えることを特徴とする。
【０００９】
例えば、前記インタフェース装置は、前記往復通信時間と前記ハードウェア処理時間の和を、予め前記外部のデータ処理装置との間の通信テストにより求めておく。
【００１０】
第２の本発明は、ＣＰＵを有する処理装置に設けられ、前記ＣＰＵをソフトウェアで制御して処理を実行を処理させるインタフェース装置の動作方法であって、前記インタフェース装置は、前記処理を実行可能なハードウェアを有する外部の処理装置とともに用いられ、前記動作方法は、前記インタフェース装置が、前記ＣＰＵをソフトウェアで制御して処理を行った場合の処理時間の長さを示すソフトウェア処理時間を求めるステップと、前記インタフェース装置が、前記ハードウェアによって前記処理を行った場合の処理時間の長さを示すハードウェア処理時間ならびに前記ＣＰＵを有する処理装置と前記外部のデータ処理装置の間の往復通信時間の和を求めるステップと、前記インタフェース装置が、前記往復通信時間と前記ハードウェア処理時間の和が前記ソフトウェア処理時間未満か否かを判定するステップと、前記インタフェース装置が、前記和が前記ソフトウェア処理時間未満なら、前記外部のデータ処理装置に対し、前記ハードウェアによる処理を依頼するステップとを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、外部の処理装置のハードウェアを自処理装置で利用することができる。
【図面の簡単な説明】
【００１２】
【図１】実施例１および実施例２におけるネットワークおよび装置構成を示す図である
【図２】実施例１、２における外部装置管理テーブルの一例を示す図である。
【図３】実施例１〜３における外部ＨＷ機能管理テーブルの一例を示す図である。
【図４】通信テストのシーケンスの一例を示す図である。
【図５】実施例３におけるネットワークおよび装置構成を示す図である。
【図６】実施例４におけるネットワークおよび装置構成を示す図である。
【図７】実施例４における外部装置管理テーブルの一例を示す図である。
【図８】実施例４における外部ＨＷ機能管理テーブルの一例を示す図である。
【図９】実施例４におけるＳＷ／ＨＷ機能切替判断設定部のフローチャートである。
【図１０】非特許文献１に記載の従来技術を示す図である。
【図１１】非特許文献２に記載の従来技術を示す図である。
【図１２】非特許文献３に記載の従来技術を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照して説明する。本説明において、同一または類似の構成要素には同一符号を付与する。また、ＧＷはゲートウェイ、ＮＷはネットワーク、ＨＷはハードウェア、ＳＷはソフトウェア、ＩＦはインタフェースの略である。
【００１４】
［実施例１］
図１は、実施例１におけるネットワークおよび装置構成を示す図である。図１は、後述の実施例２におけるネットワークおよび装置構成も示す。
【００１５】
ＧＷ装置１、２は、ハブ装置Ｈに接続され、ハブ装置Ｈには、外部装置管理サーバ１０が接続される。ＧＷ装置１は、外部ＮＷ１００に接続され、外部ＮＷ１００にはＧＷ装置１０１が接続される。
【００１６】
ＧＷ装置１は、ＣＰＵ１１を有し、ＣＰＵ１１をソフトウェアで制御して処理を実行でき、その意味では、処理装置である。
【００１７】
ＧＷ装置１は、ＣＰＵ１１の他に、通信部１２（通信アプリケーション）、ＪａｖａＶＭなどの中継部１３を備え、センサＳに接続される。
【００１８】
また、ＧＷ装置１は、種々の機能部を備えるが、図ではその１つである暗号機能部１４を示している。
【００１９】
暗号機能部１４は、外部ＨＷ機能管理部１４１と、暗号機能用ＩＦ部１４２とを有する。
【００２０】
暗号機能用ＩＦ部１４２は、ＳＷ／ＨＷ機能切替判断設定部１４２１、ＨＷ機能チェック部１４２２、外部装置通信部１４２３、外部ＨＷ機能管理テーブル１４２４、応答設定部１４２５、ＳＷ機能用関数セット１４２６を有する。ＳＷ機能用関数セット１４２６は、複数のＳＷ機能用関数からなるものである。
【００２１】
暗号機能用ＩＦ部１４２は、ＣＰＵ１１をＳＷ機能用関数セット１４２６つまりソフトウェアで制御して処理を実行を処理させるインタフェース装置である。
【００２２】
一方、ＧＷ装置２は、ＧＷ装置１と類似の構成であり、ＣＰＵ１１、中継部１３、暗号機能部１４ａ、暗号用ＨＷ１５を備える。
【００２３】
暗号機能部１４ａは、外部ＨＷ機能管理部１４１と、暗号機能用ＩＦ部１４２ａとを有する。
【００２４】
暗号機能用ＩＦ部１４２ａは、ＳＷ／ＨＷ機能切替判断設定部１４２１、ＨＷ機能チェック部１４２２、外部装置通信部１４２３、外部ＨＷ機能管理テーブル１４２４、応答設定部１４２５、ＨＷ機能用関数セット１４２７を備える。ＨＷ機能用関数セット１４２７は、複数のＨＷ機能用関数からなるものである。
【００２５】
暗号機能用ＩＦ部１４２ａは、暗号用ＨＷ１５をＨＷ機能用関数セット１４２７で制御して処理を実行を処理させるインタフェース装置である。
【００２６】
外部装置管理サーバ１０は、外部装置管理部１０Ａと、外部装置管理テーブル１０Ｂとを備える。
【００２７】
実施例１では、ＧＷ装置１が、ＧＷ装置２の暗号用ＨＷ１５にデータの暗号化を行わせ、暗号化されたデータをＧＷ装置１０１に送信する場合について説明する。
【００２８】
ＧＷ装置１、２は起動時に、自装置内の外部ＨＷ機能管理部１４１が、自装置のＨＷおよび外部装置による当該ＨＷの利用可否を外部装置管理サーバ１０に登録する。
【００２９】
図２は、外部装置管理テーブル１０Ｂの一例を示す図である。  
外部装置管理テーブル１０Ｂは、装置毎に装置名、装置のアドレス、装置におけるＨＷの機能の種別、装置におけるＨＷ機能の有無、装置におけるＨＷ機能の利用許可の有無を示す情報を有する。
【００３０】
図２は、ＧＷ装置１、２の装置名がそれぞれ「ＧＷ１」、「ＧＷ２」である場合の例である。なお、図２は、後述の実施例２でも使用する。
【００３１】
ＧＷ装置１の外部ＨＷ機能管理部１４１は、外部装置管理サーバ１０から、ＨＷを有し且つ利用を許可するＧＷ装置２などの情報を取得し、外部ＨＷ機能管理テーブル１４２４に記憶させる。
【００３２】
図３は、外部ＨＷ機能管理テーブル１４２４の一例を示す図である。  
外部ＨＷ機能管理テーブル１４２４は、装置毎に装置名、装置のアドレス、装置におけるＨＷの機能の種別、装置におけるＨＷ機能の有無、装置におけるＨＷ機能の利用許可の有無、装置における情報の更新タイミング、装置が接続された回線の種別、装置の通信レスポンス、装置におけるＨＷ機能のスペック、装置におけるＨＷ機能の空き状況を示す情報を有する。  
ＨＷ機能の有無、利用許可の有無は外部装置管理テーブル１０Ｂから取得される。  
更新タイミング、回線の種別、通信レスポンス、スペック、空き状況は、各装置でローカルに管理される。
【００３３】
なお、図３は、後述の実施例２、３でも使用する。
【００３４】
ＧＷ装置１は、例えば、大中小のデータ量を有する３データＤ１（例えば、２０４８バイト）、Ｄ２（例えば、５１２バイト）およびＤ３（例えば、６４バイト）を予めソフトウェアで暗号化し、処理時間の平均をソフトウェア処理時間として記憶しておく。ソフトウェア処理時間は、外部ＨＷ機能管理テーブル１４２４に領域を設け、記憶させればよい。
【００３５】
また、ＧＷ装置１は、予め設定されたタイミング（例えば、１時間毎）に、外部ＨＷ機能管理テーブル１４２４に情報を記憶された、例えばＧＷ装置２に対し、通信テストを行い、通信レスポンスおよびＨＷ機能スペックを記憶しておく。
【００３６】
図４は、通信テストのシーケンスの一例を示す図である。  
まず、ＧＷ装置１の外部装置通信部１４２３は、ＧＷ装置２の外部装置通信部１４２３に通信テスト発呼メッセージを送信する（Ｓ１）。
【００３７】
ＧＷ装置２の外部装置通信部１４２３は、通信テスト発呼メッセージを受信したなら、すぐに通信テスト受信応答をＧＷ装置１に送信する（Ｓ３）。
【００３８】
ＧＷ装置１の外部装置通信部１４２３は、通信テスト受信応答を受信し、通信テスト発呼メッセージを送信してから通信テスト受信応答を受信するまでの往復通信時間を求め、外部ＨＷ機能管理テーブル１４２４に通信レスポンスとして記憶させる（Ｓ５）。
【００３９】
ＧＷ装置１の外部装置通信部１４２３は、次に、上記データＤ１をＧＷ装置２の外部装置通信部１４２３に送信する（Ｓ１１）。
【００４０】
ＧＷ装置２の外部装置通信部１４２３は、ＨＷ機能用関数セット１４２７を用い、データＤ１を暗号用ＨＷ１５で暗号化させ（Ｓ１３）、暗号化されたデータＤ１をＧＷ装置１  ＧＷ装置１の外部装置通信部１４２３は、暗号化されたデータＤ１を受信し、データＤ１を送信してから暗号化されたデータＤ１を受信するまでの処理時間Ｔ１を求める（Ｓ１７）。
【００４１】
また、ＧＷ装置１の外部装置通信部１４２３は、データＤ２をＧＷ装置２の外部装置通信部１４２３に送信する（Ｓ２１）。
【００４２】
ＧＷ装置２の外部装置通信部１４２３は、同様にデータＤ２を暗号用ＨＷ１５で暗号化させ（Ｓ２３）、暗号化されたデータＤ２をＧＷ装置１の外部装置通信部１４２３に送信する（Ｓ２５）。
【００４３】
ＧＷ装置１の外部装置通信部１４２３は、暗号化されたデータＤ２を受信し、データＤ２を送信してから暗号化されたデータＤ２を受信するまでの処理時間Ｔ２を求める（Ｓ２７）。
【００４４】
また、ＧＷ装置１の外部装置通信部１４２３は、データＤ３をＧＷ装置２の外部装置通信部１４２３に送信する（Ｓ３１）。
【００４５】
ＧＷ装置２の外部装置通信部１４２３は、同様にデータＤ３を暗号用ＨＷ１５で暗号化させ（Ｓ３３）、暗号化されたデータＤ３をＧＷ装置１の外部装置通信部１４２３に送信する（Ｓ３５）。
【００４６】
ＧＷ装置１の外部装置通信部１４２３は、暗号化されたデータＤ３を受信し、データＤ３を送信してから暗号化されたデータＤ３を受信するまでの処理時間Ｔ３を求める（Ｓ３７）。
【００４７】
そして、ＧＷ装置１の外部装置通信部１４２３は、処理時間Ｔ１〜Ｔ３の平均を計算し、ソフトウェア処理時間と比較し、同程度ならば、外部ＨＷ機能管理テーブル１４２４にＨＷ機能スペックとして「Ｌ」、２倍程度であれば「Ｍ」、２倍より高ければ「Ｈ」として記憶させる。
【００４８】
なお、外部ＨＷ機能管理テーブル１４２４には、処理時間Ｔ１〜Ｔ３の平均、つまり、往復通信時間と暗号用ＨＷ１５によるハードウェア処理時間の和の平均を記憶させておいてもよい。往復通信時間とハードウェア処理時間の和の平均は、外部ＨＷ機能管理テーブル１４２４に領域を設け、記憶させればよい。
【００４９】
さて、ＧＷ装置１では、通信部１２が動作し、センサＳからデータを取得し、暗号機能用ＩＦ部１４２に転送する。
【００５０】
暗号機能用ＩＦ部１４２では、ＳＷ／ＨＷ機能切替判断設定部１４２１が、データの暗号化を自装置で行うか、外部の装置で行うかを判定する。
【００５１】
ここでは、ＳＷ／ＨＷ機能切替判断設定部１４２１は、外部ＨＷ機能管理テーブル１４２４を参照し、例えば、ＧＷ装置２（装置名ＧＷ２）について、通信レスポンスが予め設定した値（例えば、５００ｍｓ）より小さく、かつＨＷ機能スペックが予め設定した値（例えばＨ）だったので、ＧＷ装置２に暗号化を依頼可能と判定する。
【００５２】
または、ＳＷ／ＨＷ機能切替判断設定部１４２１は、外部ＨＷ機能管理テーブル１４２４を参照し、例えば、ＧＷ装置２について、処理時間Ｔ１〜Ｔ３の平均（往復通信時間と暗号用ＨＷ１５によるハードウェア処理時間の和）がソフトウェア処理時間未満か否かを判定し、平均がソフトウェア処理時間未満なので、ＧＷ装置２に暗号化を依頼可能と判定する。これは、外部に処理を依頼したのに、処理結果を得る時間が却って遅くなるといった非効率を避けるために行う。
【００５３】
ＧＷ装置１の外部装置通信部１４２３は、上記判定結果に基づき、ＧＷ装置２の外部装置通信部１４２３にデータを送信し、暗号化を依頼する。
【００５４】
ＧＷ装置２の外部装置通信部１４２３は、データを受信し、ＨＷ機能用関数セット１４２７を用い、データを暗号用ＨＷ１５で暗号化させ、暗号化されたデータをＧＷ装置１の外部装置通信部１４２３に送信する。
【００５５】
ＧＷ装置１の外部装置通信部１４２３は、暗号化されたデータを受信し、ＳＷ／ＨＷ機能切替判断設定部１４２１に転送し、ＳＷ／ＨＷ機能切替判断設定部１４２１は、暗号化されたデータを通信部１２に転送する。
【００５６】
通信部１２は、暗号化されたデータをＧＷ装置１０１に送信する。
【００５７】
なお、上記通信テストにおいて、ＧＷ装置２の外部装置通信部１４２３は、暗号用ＨＷ１５を外部装置から利用不可とする場合は、その旨をＧＷ装置１の外部装置通信部１４２３に通知する。
【００５８】
ＧＷ装置１の外部装置通信部１４２３は、外部ＨＷ機能管理テーブル１４２４に対し、ＧＷ装置２については利用不可と記憶させる。
【００５９】
その後において、ＧＷ装置１の通信部１２は、センサＳからデータを取得し、暗号機能用ＩＦ部１４２に転送する。
【００６０】
暗号機能用ＩＦ部１４２では、ＳＷ／ＨＷ機能切替判断設定部１４２１が、データの暗号化を自装置で行うか、外部の装置で行うかを判定する。
【００６１】
ここでは、ＳＷ／ＨＷ機能切替判断設定部１４２１は、外部ＨＷ機能管理テーブル１４２４を参照し、例えば、ＧＷ装置２は利用不可となっているので、自装置で暗号化すべきと判定する。
【００６２】
これにより、ＧＷ装置１のＳＷ／ＨＷ機能切替判断設定部１４２１は、ＳＷ機能用関数セット１４２６を用い、データをＣＰＵ１１で暗号化させ、暗号化されたデータを通信部１２に転送する。  
通信部１２は、暗号化されたデータをＧＷ装置１０１に送信する。
【００６３】
［実施例２］
次に、実施例２について説明する。実施例２では、実施例１とは異なる事項を中心に説明を行う。
【００６４】
実施例２では、ＧＷ装置１が、ＧＷ装置２の暗号用ＨＷ１５にデータの暗号化をさせようとするが、ＧＷ装置２では暗号用ＨＷ１５を外部装置から利用不可としたので、ＧＷ装置１がソフトウェアによりデータを暗号化する場合について説明する。
【００６５】
ＧＷ装置１、２は起動時に、自装置内の外部ＨＷ機能管理部１４１が、自装置のＨＷおよび外部装置による当該ＨＷの利用可否を外部装置管理サーバ１０に登録する。
【００６６】
図２は、外部装置管理テーブル１０Ｂの一例を示す。この時点でＧＷ装置２については、ハードウェアを外部装置から利用可能となっている。
【００６７】
ＧＷ装置１の外部ＨＷ機能管理部１４１は、外部装置管理サーバ１０から、ＨＷを有し且つ利用を許可するＧＷ装置２などの情報を取得し、外部ＨＷ機能管理テーブル１４２４に記憶させる。
【００６８】
図３は、外部ＨＷ機能管理テーブル１４２４の一例を示す。  
例えば、ＧＷ装置２の利用者は、ＧＷ装置２に対し、外部からのハードウェアの利用を不可とする設定を行い、これにより、応答設定部１４２５には、その旨が設定される。
【００６９】
その後、通信テストにおいて、ＧＷ装置２の外部装置通信部１４２３は、応答設定部１４２５において、外部からのハードウェアの利用を不可とする設定があることから、その旨をＧＷ装置１の外部装置通信部１４２３に通知する。
【００７０】
ＧＷ装置１の外部装置通信部１４２３は、外部ＨＷ機能管理テーブル１４２４に対し、ＧＷ装置２については利用不可と記憶させる。
【００７１】
その後において、ＧＷ装置１の通信部１２は、センサＳからデータを取得し、暗号機能用ＩＦ部１４２に転送する。
【００７２】
暗号機能用ＩＦ部１４２では、ＳＷ／ＨＷ機能切替判断設定部１４２１が、データの暗号化を自装置で行うか、外部の装置で行うかを判定する。
【００７３】
ここでは、ＳＷ／ＨＷ機能切替判断設定部１４２１は、外部ＨＷ機能管理テーブル１４２４を参照し、例えば、ＧＷ装置２は利用不可となっているので、自装置で暗号化すべきと判定する。
【００７４】
これにより、ＧＷ装置１のＳＷ／ＨＷ機能切替判断設定部１４２１は、ＳＷ機能用関数セット１４２６を用い、データをＣＰＵ１１で暗号化させ、暗号化されたデータを通信部１２に転送する。  
通信部１２は、暗号化されたデータをＧＷ装置１０１に送信する。
【００７５】
［実施例３］
図５は、実施例３におけるネットワークおよび装置構成を示す図である。  
ＧＷ装置１Ａと映像符号化装置２Ａは、ハブ装置Ｈに接続される。ＧＷ装置１Ａは、外部ＮＷ１００に接続され、外部ＮＷ１００にはＧＷ装置１０１が接続される。ＧＷ装置１０１にはモニタＭが接続される。
【００７６】
ＧＷ装置１Ａは、ＣＰＵ１１、映像通信部１２Ａ（映像通信アプリケーション）、中継部１３、映像符号化部１５０を備え、カメラＣに接続される。
【００７７】
ＧＷ装置１は、ＣＰＵ１１を有し、ＣＰＵ１１をソフトウェアで制御して処理を実行でき、その意味では、処理装置である。
【００７８】
映像符号化部１５０は、外部ＨＷ機能管理部１５１と、映像符号化用ＩＦ部１５２とを有する。
【００７９】
映像符号化用ＩＦ部１５２は、ＳＷ／ＨＷ機能切替判断設定部１５２１、ＨＷ機能チェック部１５２２、外部装置通信部１５２３、外部ＨＷ機能管理テーブル１５２４、応答設定部１５２５、ＳＷ機能用関数セット１５２６を有する。ＳＷ機能用関数セット１５２６は、複数のＳＷ機能用関数からなるものである。
【００８０】
映像符号化用ＩＦ部１５２は、ＣＰＵ１１をＳＷ機能用関数セット１５２６つまりソフトウェアで制御して処理を実行を処理させるインタフェース装置である。
【００８１】
一方、映像符号化装置２Ａは、中継部１３、映像符号化部１５０ａ、映像符号化用ＨＷ１６を備える。
【００８２】
映像符号化部１５０ａは、外部ＨＷ機能管理部１５１と、映像符号化用ＩＦ部１５２ａとを有する。
【００８３】
映像符号化用ＩＦ部１５２ａは、ＳＷ／ＨＷ機能切替判断設定部１５２１、外部装置通信部１５２３、外部ＨＷ機能管理テーブル１５２４、ＨＷ機能用関数セット１５２７を有する。ＨＷ機能用関数セット１５２７は、複数のＨＷ機能用関数からなるものである。
【００８４】
実施例３では、ＧＷ装置１Ａが、映像符号化装置２Ａの映像符号化用ＨＷ１６に映像データの符号化を行わせ、符号化された映像データをＧＷ装置１０１に送信する場合について説明する。
【００８５】
なお、実施例３では、外部装置管理サーバ１０を用いず、ＧＷ装置１Ａと映像符号化装置２Ａの間で、直接ＨＷ機能に関する情報をやりとりする。
【００８６】
映像符号化装置２Ａは、簡易コンピュータ相当の構成で、計算リソースを有することとする。つまり、映像符号化装置２Ａは、映像の符号化および復号化を映像符号化用ＨＷ１６により実行する簡易コンピュータとする。
【００８７】
ＧＷ装置１Ａおよび映像符号化装置２Ａは起動時に、自装置内の外部ＨＷ機能管理部１５１が、自装置のＨＷおよび外部装置による当該ＨＷの利用可否を互いに通信し、それぞれの外部ＨＷ機能管理テーブル１５２４に記憶させる。
【００８８】
図３は、外部ＨＷ機能管理テーブル１５２４の一例を示す図である。  
ＧＷ装置１Ａは、予め設定されたタイミング（例えば、１時間毎）に、外部ＨＷ機能管理テーブル１５２４に情報を記憶された、例えば映像符号化装置２Ａに対し、通信テストを行い、通信テストを行い、通信レスポンスおよびＨＷ機能スペックを記憶しておく。かかる処理は、実施例１と同様である。
【００８９】
さて、ＧＷ装置１Ａでは、映像通信部１２Ａが動作し、カメラＣから映像データを取得し、映像データを映像符号化用ＩＦ部１５２に転送する。
【００９０】
映像符号化用ＩＦ部１５２では、ＳＷ／ＨＷ機能切替判断設定部１５２１が、映像データの符号化を自装置で行うか、外部の装置で行うかを判定する。
【００９１】
ここでは、ＳＷ／ＨＷ機能切替判断設定部１５２１は、外部ＨＷ機能管理テーブル１５２４を参照し、例えば、映像符号化装置２Ａ（装置名Dongle-1)について、通信レスポンスが予め設定した値（例えば、５００ｍｓ）より小さく、かつＨＷ機能スペックが予め設定した値（例えばＨ）だったので、映像符号化装置２Ａに符号化を依頼可能と判定する。  これにより、ＧＷ装置１Ａの外部装置通信部１５２３は、映像符号化装置２Ａの外部装置通信部１５２３に映像データを送信し、符号化を依頼する。
【００９２】
映像符号化装置２Ａの外部装置通信部１５２３は、映像データを受信し、ＨＷ機能用関数セット１５２７を用い、映像データを映像符号化用ＨＷ１６で符号化させ、符号化された映像データをＧＷ装置１Ａの外部装置通信部１５２３に送信する。
【００９３】
ＧＷ装置１Ａの外部装置通信部１５２３は、符号化された映像データを受信し、ＳＷ／ＨＷ機能切替判断設定部１５２１に転送し、ＳＷ／ＨＷ機能切替判断設定部１５２１は、符号化された映像データを映像通信部１２Ａに転送する。
【００９４】
映像通信部１２Ａは、符号化された映像データをＧＷ装置１０１に送信する。  
ＧＷ装置１０１は、符号化された映像データを復号化し、モニタＭに表示する。
【００９５】
［実施例４］
図６は、実施例４におけるネットワークおよび装置構成を示す図である。  
ＧＷ装置１Ｂ、２Ｂ、３Ｂ、４Ｂおよび、外部装置管理サーバ１０が外部ＮＷ１００に接続される。
【００９６】
ＧＷ装置１Ｂは、ＣＰＵ１１、映像通信部１２Ａ（映像通信アプリケーション）、中継部１３、映像符号化部１５０を備え、カメラＣとハードディスク装置ＨＤに接続される。  ＧＷ装置１Ｂは、ＣＰＵ１１を有し、ＣＰＵ１１をソフトウェアで制御して処理を実行でき、その意味では、処理装置である。
【００９７】
映像符号化部１５０は、外部ＨＷ機能管理部１５１と、映像符号化用ＩＦ部１５２とを有する。映像符号化用ＩＦ部１５２の構成は、実施例２と同様である。
【００９８】
ＧＷ装置２Ｂは、ＣＰＵ１１、中継部１３、映像符号化部１５０ａ、映像符号化用ＨＷ１６を備える。映像符号化用ＩＦ部１５２ａの構成は、実施例２と同様である。
【００９９】
また、ＧＷ装置３Ｂ、４Ｂは、図では簡略化しているが、ＧＷ装置２Ｂと同様の構成を備える。
【０１００】
実施例４では、ＧＷ装置１Ｂが、ＧＷ装置２Ｂ、３Ｂ、４Ｂの映像符号化用ＨＷ１６に映像データの符号化を行わせ、符号化された映像データをハードディスク装置ＨＤに保存する場合について説明する。
【０１０１】
ＧＷ装置１Ｂ、２Ｂ、３Ｂ、４Ｂは起動時に、自装置内の外部ＨＷ機能管理部１５１が、自装置のＨＷおよび外部装置による当該ＨＷの利用可否を外部装置管理サーバ１０に登録する。
【０１０２】
図７は、外部装置管理テーブル１０Ｂの一例を示す図である。  
外部装置管理テーブル１０Ｂは、装置毎に装置名、装置のアドレス、装置におけるＨＷの機能の種別、装置におけるＨＷ機能の有無、装置におけるＨＷ機能の利用許可の有無を示す情報を有する。
【０１０３】
図７は、ＧＷ装置１Ｂ、２Ｂ、３Ｂ、４Ｂの装置名がそれぞれ「ＧＷ１」、「ＧＷ２」、「ＧＷ３」、「ＧＷ４」である場合の例であり、ＧＷ装置２Ｂ、３Ｂ、４Ｂの映像符号化用ＨＷ１６は外部から利用可能に設定されている。
【０１０４】
ＧＷ装置１Ｂの外部ＨＷ機能管理部１５１は、外部装置管理サーバ１０から、ＨＷを有し且つ利用を許可するＧＷ装置２Ｂ、３Ｂ、４Ｂの情報を取得し、外部ＨＷ機能管理テーブル１４２４に記憶させる。
【０１０５】
図８は、外部ＨＷ機能管理テーブル１５２４の一例を示す図である。  
外部ＨＷ機能管理テーブル１５２４は、装置毎に装置名、装置のアドレス、装置におけるＨＷの機能の種別、装置におけるＨＷ機能の有無、装置におけるＨＷ機能の利用許可の有無、装置における情報の更新タイミング、装置が接続された回線の種別、装置の通信レスポンス、装置におけるＨＷ機能のスペック、装置におけるＨＷ機能の空き状況を示す情報を有する。
【０１０６】
ＨＷ機能の有無、利用許可の有無は外部装置管理テーブル１０Ｂから取得される。  
更新タイミング、回線の種別、通信レスポンス、スペック、空き状況は、各装置でローカルに管理される。
【０１０７】
ＧＷ装置１Ｂは、実施例１と同様の通信テストをＧＷ装置２Ｂ、３Ｂ、４Ｂに対して行い、外部ＨＷ機能管理テーブル１５２４に通信レスポンスおよびＨＷ機能スペックを記憶しておく。
【０１０８】
図８によれば、ＧＷ装置２Ｂ、３Ｂ、４Ｂの通信レスポンスはそれぞれ、２０００ｍｓ、２０００ｍｓ、５０００ｍｓであり、ＨＷ機能スペックはそれぞれ、Ｈ、Ｍ、Ｌである。
【０１０９】
また、ＧＷ装置１Ｂは、内部設定として、単独で処理の依頼が可能な外部装置の通信レスポンスとして１０００ｍｓ、処理を分割して依頼する場合の条件として、通信レスポンスが２５００ｍｓ以下かつＨＷ機能スペックがＭ以上の外部装置が２台以上という設定がなされていることとする。
【０１１０】
ＧＷ装置１Ｂでは、映像通信部１２Ａが動作し、カメラＣから映像データを取得し、映像データを映像符号化用ＩＦ部１５２に転送する。
【０１１１】
映像符号化用ＩＦ部１５２では、ＳＷ／ＨＷ機能切替判断設定部１５２１が、映像データの符号化を自装置で行うか、外部の装置で行うかを判定する。
【０１１２】
ここでは、ＳＷ／ＨＷ機能切替判断設定部１５２１は、外部ＨＷ機能管理テーブル１５２４を参照し、ＧＷ装置２Ｂ、３Ｂ、４Ｂのいずれについても、ＧＷ装置１Ｂから単独で処理を依頼することはできないと判定する。
【０１１３】
しかし、ＧＷ装置２Ｂ、３Ｂについては、処理を分割して依頼する場合の条件を満たすので、ＳＷ／ＨＷ機能切替判断設定部１５２１は、ＧＷ装置２Ｂ、３Ｂに処理の依頼が可能と判定する。
【０１１４】
図９は、上記判定の流れを示すフローチャートである。  
まず、ＳＷ／ＨＷ機能切替判断設定部１５２１は、自装置内に映像符号化用ＨＷがあるか否かを判定する（Ｓ１０１）。
【０１１５】
ＳＷ／ＨＷ機能切替判断設定部１５２１は、自装置内に映像符号化用ＨＷがあるなら（Ｓ１０１：ＹＥＳ）、その映像符号化用ＨＷを使用すると判定する（Ｓ１０３）。
【０１１６】
ＳＷ／ＨＷ機能切替判断設定部１５２１は、自装置内に映像符号化用ＨＷがないなら（Ｓ１０１：ＮＯ）、外部ＨＷ機能管理テーブル１５２４を参照し、通信レスポンスが１０００ｍｓ以下の装置があるか否かを判定する（Ｓ１０５）。
【０１１７】
ＳＷ／ＨＷ機能切替判断設定部１５２１は、該当の装置があるなら（Ｓ１０５：ＹＥＳ）、その中で最も通信レスポンスが短い装置に処理を依頼すると判定する（Ｓ１０７）。
【０１１８】
ＳＷ／ＨＷ機能切替判断設定部１５２１は、該当の装置がないなら（Ｓ１０５：ＮＯ）、処理を分割して依頼する場合の条件を満たす装置があるか否かを判定する（Ｓ１０９）。
【０１１９】
ＳＷ／ＨＷ機能切替判断設定部１５２１は、条件を満たす装置があるなら（Ｓ１０９：ＹＥＳ）、該当の装置に分割して処理を依頼すると判定する（Ｓ１１１）。
【０１２０】
ＳＷ／ＨＷ機能切替判断設定部１５２１は、条件を満たす外部装置がないなら（Ｓ１０９：ＮＯ）、自装置内でソフトウェアにより処理を行うと判定する（Ｓ１１３）。
【０１２１】
さて、ＧＷ装置１Ｂの外部装置通信部１５２３は、映像データを分割し、ＧＷ装置２Ｂ、３Ｂの外部装置通信部１５２３にそれぞれ映像データを送信し、符号化を依頼する。
【０１２２】
ＧＷ装置２Ｂ、３Ｂの外部装置通信部１５２３は、映像データを受信し、ＨＷ機能用関数セット１５２７を用い、映像データを映像符号化用ＨＷ１６で符号化させ、符号化された映像データをＧＷ装置１Ｂの外部装置通信部１５２３に送信する。
【０１２３】
ＧＷ装置１Ｂの外部装置通信部１５２３は、符号化された映像データを受信し、ＳＷ／ＨＷ機能切替判断設定部１５２１に転送し、ＳＷ／ＨＷ機能切替判断設定部１５２１は、符号化された映像データを映像通信部１２Ａに転送する。
【０１２４】
映像通信部１２Ａは、符号化された映像データを、分割割合などの情報とともに、ハードディスク装置ＨＤに保存する。
【０１２５】
映像通信部１２Ａは、その後、映像を表示する際には、符号化された映像データをハードディスク装置ＨＤから読み出し、復号化し、保存した情報を基に合成し、合成された映像データによる映像を表示する。
【０１２６】
なお、各実施例のＧＷ装置等や外部装置管理サーバとしてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【０１２７】
１、２、１Ａ、１Ｂ、２Ｂ、３Ｂ、１０１…ＧＷ装置
２Ａ…映像符号化装置
１０…外部装置管理サーバ
１０Ａ…外部装置管理部
１０Ｂ…外部装置管理テーブル
１１…ＣＰＵ
１２…通信部
１２Ａ…映像通信部
１３…中継部（ＪａｖａＶＭ等）
１４、１４ａ…暗号機能部
１５…暗号用ＨＷ
１６…映像符号化用ＨＷ
１４１、１５１…外部ＨＷ機能管理部
１４２、１４２ａ…暗号機能用ＩＦ部
１５０、１５０ａ…映像符号化部
１５２、１５２ａ…映像符号化用ＩＦ部
１４２１、１５２１…ＳＷ／ＨＷ機能切替判断設定部
１４２２、１５２２…ＨＷ機能チェック部
１４２３、１５２３…外部装置通信部
１４２４、１５２４…外部ＨＷ機能管理テーブル
１４２５、１５２５…応答設定部
１４２６、１５２６…ＳＷ機能用関数セット
１４２７、１５２７…ＨＷ機能用関数セット
Ｃ…カメラ
Ｈ…ハブ装置
ＨＤ…ハードディスク装置
Ｍ…モニタ
Ｓ…センサ
【図１】
2014203089.tif 000003
【図２】
2014203089.tif 000004
【図３】
2014203089.tif 000005
【図４】
2014203089.tif 000006
【図５】
2014203089.tif 000007
【図６】
2014203089.tif 000008
【図７】
2014203089.tif 000009
【図８】
2014203089.tif 000010
【図９】
2014203089.tif 000011
【図１０】
2014203089.tif 000012
【図１１】
2014203089.tif 000013
【図１２】
2014203089.tif 000014