(57)【要約】【課題】クラウドサービスを利用するエッジ側の装置において、アプリケーションを従来より容易に開発でき、アプリケーションから各種のクラウドサービスを柔軟に利用することを可能とする。【解決手段】クラウド中継装置において、クラウドサービス装置と接続可能なクラウド接続処理部と、前記クラウド接続処理部に対応するユーザインタフェース部と、前記クラウド接続処理部と前記ユーザインタフェース部との間でデータの中継を行う中継部とを備える。【選択図】図２
2018092565.tif 000002
【特許請求の範囲】
【請求項１】
クラウドサービス装置と接続可能なクラウド接続処理部と、
前記クラウド接続処理部に対応するユーザインタフェース部と、
前記クラウド接続処理部と前記ユーザインタフェース部との間でデータの中継を行う中継部と
を備えることを特徴とするクラウド中継装置。
【請求項２】
前記クラウド接続処理部は、
前記クラウドサービス装置と接続し、当該クラウドサービス装置との間でデータの送受信を行う接続部と、
前記中継部から受信したデータを前記接続部に送信し、前記接続部から受信したデータを前記中継部に送信するプロキシ部と
を備えることを特徴とする請求項１に記載のクラウド中継装置。
【請求項３】
前記プロキシ部は、
前記接続部が前記クラウドサービス装置に接続されていない場合に、前記中継部から受信したデータを保持し、前記接続部が前記クラウドサービス装置に接続されたときに、前記保持したデータを前記接続部に送信する
ことを特徴とする請求項２に記載のクラウド中継装置。
【請求項４】
前記中継部は、トピックを指定したデータを受信し、当該トピックをサブスクライブする宛先に当該データを送信する
ことを特徴とする請求項１ないし３のうちいずれか１項に記載のクラウド中継装置。
【請求項５】
クラウド接続処理部と、中継部と、ユーザインタフェース部とを備えるクラウド中継装置が実行するクラウド接続処理方法であって、
前記クラウド接続処理部が、クラウドサービス装置と接続するステップと、
前記クラウド接続処理部が、前記クラウドサービス装置から受信した受信データを前記中継部に送信するステップと、
前記中継部が、前記受信データを前記ユーザインタフェース部に送信し、ユーザインタフェース部が当該受信データの表示処理を行うステップと
を備えることを特徴とするクラウド接続処理方法。
【請求項６】
前記中継部が、前記ユーザインタフェース部から送信データを受信し、当該送信データを前記クラウド接続処理部に送信するステップと、
前記クラウド接続処理部が、前記送信データを前記クラウドサービス装置に送信するステップと
を備えることを特徴とする請求項５に記載のクラウド接続処理方法。
【請求項７】
コンピュータを、請求項１ないし４のうちいずれか１項に記載のクラウド中継装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドサービスを利用するエッジ側の装置に関連するものである。
【背景技術】
【０００２】
ハードウェアの低廉化により、数万円オーダーで良好なコンピューティング環境が得られるようになってきた。これにより、例えば小売業種の各店舗に、小型のコンピューターボックスを配置することで、ミニクラウド環境を作ることが可能となった。
【０００３】
小売店や、工場等では例えば監視アプリケーションをそれぞれの拠点（エッジ）に配置するケースが多く、これらをデータセンタ（クラウド）に配置することは好まれない。これは、迅速処理、通信料削減等のためである。
【０００４】
このため、エッジ側のミニクラウド環境に、必要となるアプリケーション（監視アプリ等リアルタイム性の高いもの）を配備し、クラウド側には統計解析等に十分な程度のデータのみをフィルタして転送し、バッチ的にＡＩ解析等を行い、経営方針のカイゼンや設備投資計画の立案等に活かすといった、クラウドとエッジ、それぞれに適した役割をもたせたソリューションが注目されるようになった。これは、最近フォグコンピューティングと呼ばれている。
【０００５】
更に、クラウド側の統計解析処理等のアプリケーション機能についても、全てをフルスクラッチで作るのではなく、既存のＳａａＳサービス等と連携するマルチクラウドプラットフォーム連携によりスピーディーかつ低コストでのソリューション構築が注目されている。
【０００６】
また、最近注目を集めているＳＤ−ＷＡＮと組み合わせることで、エッジとクラウドの間のＶＰＮをＺＴＰ（Ｚｅｒｏ  Ｔｏｕｃｈ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）でスピーディーに構築することが可能となっている。これにより、クラウドとエッジを結ぶ基盤の構築が容易かつ低コストで実現できる。エッジコンピューティングソリューションをこのＳＤ−ＷＡＮ技術と組み合わせることで、低レイヤからアプリケーションレイヤまで全てのレイヤにまたがるインテグレーションとマネージメントを機動性高く行なうことが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−１０３０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上述したフォグコンピューティング等のエッジコンピューティングにおける従来技術では、エッジ側の装置において、クラウドプラットフォームとの連携部分のインテグレーションを個別にコーディングすることによりアプリケーションを開発する必要がある。例えば、プラットフォーム連携のために個別のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）やＳＤＫ（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ）をアプリケーションに組み込むことによりアプリケーションを開発する手法が主に使われる。
【０００９】
上記の手法では、プラットフォーム連携部分とアプリケーション本来の機能とが一体化されてしまうため、開発後のアプリケーションのカスタマイズや機能の再利用、プラットフォームを別プラットフォームに変更したり追加すること等が難しい。また、エッジコンピューティングでは、オンライン時の動作とオフライン時の動作を意識してプラットフォーム機能を組み込んでいく必要があるが、個々の連携プラットフォームごとにその点を意識した開発をする必要があり開発に大きな手間がかかる。
【００１０】
すなわち、従来技術では、クラウドサービスを利用するエッジ側の装置において、使用するアプリケーションの開発に大きな手間がかかるとともに、アプリケーションから各種のクラウドサービスを柔軟に利用することができなかった。
【００１１】
本発明は上記の点に鑑みてなされたものであり、クラウドサービスを利用するエッジ側の装置において、アプリケーションを従来より容易に開発でき、アプリケーションから各種のクラウドサービスを柔軟に利用することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
開示の技術によれば、クラウドサービス装置と接続可能なクラウド接続処理部と、
前記クラウド接続処理部に対応するユーザインタフェース部と、
前記クラウド接続処理部と前記ユーザインタフェース部との間でデータの中継を行う中継部と
を備えることを特徴とするクラウド中継装置が提供される。
【発明の効果】
【００１３】
開示の技術によれば、クラウドサービスを利用するエッジ側の装置において、アプリケーションを従来より容易に開発でき、アプリケーションから各種のクラウドサービスを柔軟に利用することを可能とする技術が提供される。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態における通信システムの全体構成図である。
【図２】クラウド中継装置１００の基本構成を示す図である。
【図３】クラウド中継装置１００の詳細構成を示す図である。
【図４】コネクタモジュール１１１、プロキシモジュール１１５、及びアプリケーション１３０の詳細構成を示す図である。
【図５】プロキシモジュール１１５により実行されるオンライン／オフラインに応じた処理を示すフローチャートである。
【図６】クラウド中継装置１００のハードウェア構成図である。
【図７】クラウド中継装置１００の構築方法の例を説明するための図である。
【図８】デバイス４００の自動発見方法の例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１６】
（システムの全体構成）
図１に、本実施の形態における通信システムの全体構成図を示す。図１に示すように、本実施の形態に係る通信システムは、各種のクラウドサービス（クラウドプラットフォームと称してもよい）を提供するクラウドサービス装置２００、及びエッジ側の装置であるクラウド中継装置１００を有する。なお、図１では、３つのクラウドサービス装置２００と３つのクラウド中継装置１００が示されているが、これらの数は例に過ぎず、それぞれ３以外の数であってもよい。
【００１７】
クラウドサービス装置２００とクラウド中継装置１００との間はネットワーク３００で接続することができる。ネットワーク３００は、例えばインターネットである。また、ネットワーク３００は、無線ネットワーク（例：無線ＬＡＮ、移動通信網）とインターネットからなるネットワークであってもよいし、その他のネットワークであってもよい。
【００１８】
クラウド中継装置１００には、例えば、１つ又は複数のデバイス４００が無線又は有線により接続される。デバイス４００は例えばセンサ、カメラ等である。また、クラウド中継装置１００は、物理的にはコンピュータであり、当該コンピュータ上でソフトウェア（プログラム）が実行されることでクラウド中継装置１００の各機能が実現される。
【００１９】
図１に示す通信システムにより、前述したフォグコンピューティングが行われる。例えば、クラウド中継装置１００は、デバイス４００から収集したデータのリアルタイムモニタリングを行って、クラウドサービスを利用しない判断（例：閾値超過によるアラーム出力）を行うことが可能である。また、例えば、フィルタリングされたデータ（閾値超過したデータ）がクラウド中継装置１００から特定のクラウドサービス装置２００に送信され、クラウドサービス装置２００が、例えば履歴データ（ビッグデータ）に基づく解析を行って、解析結果をクラウド中継装置１００に通知する。
【００２０】
（クラウド中継装置１００の基本構成及び基本動作）
図２を参照して、クラウド中継装置１００の基本構成と基本動作を説明する。図２に示す例において、クラウドサービス装置２００Ａは、センサデータの解析等のクラウドサービスを提供し、クラウドサービス装置２００Ｂは、地図上に目的物を表示する等の地図に関わるクラウドサービスを提供し、クラウドサービス装置２００Ｃは、ビデオ通信等のクラウドサービスを提供する。
【００２１】
図２に示すように、クラウド中継装置１００は、プロセスコンポーネント１１０、メッセージハブ１２０、アプリケーション１３０を有する。これらの機能部はそれぞれ、ソフトウェアモジュールが、クラウド中継装置１００（コンピュータ）上で実行されることにより処理を実行する。
【００２２】
クラウド中継装置１００には、プロセスコンポーネント１１０として、クラウドサービス毎のプロセスコンポーネントが備えられる。図２に示す例では、クラウドサービス装置２００Ａと接続するメトリクスコンポーネント１１０Ａ、クラウドサービス装置２００Ｂと接続する地図コンポーネント１１０Ｂ、及び、クラウドサービス装置２００Ｃと接続するビデオコンポーネント１１０Ｃが備えられる。
【００２３】
各プロセスコンポーネントは、例えば、Ｄｏｃｋｅｒ（登録商標）コンポーネントとして提供される。ただし、プロセスコンポーネントを、Ｄｏｃｋｅｒ（登録商標）コンポーネントとして提供することは一例に過ぎず、他のソフトウェア技術を使用してプロセスコンポーネントを提供してもよい。
【００２４】
アプリケーション１３０は、例えば、デバイス４００からのデータを収集し、ローカルでのリアルタイム判断を行うとともに、特定のデータ（全てのデータでもよい）をメッセージハブ１２０を介してプロセスコンポーネント１１０に送信する機能等を有する。アプリケーション１３０には、プロセスコンポーネント１１０が提供する各機能に対応するＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）コンポーネントが含まれる。ＵＩコンポーネントは主にデータ表示、ユーザ操作入力等のＵＩに関わる機能を持つが、ＵＩコンポーネントが、上記のデータ収集、リアルタイム判断、データ送信等の機能も含んでもよい。
【００２５】
具体的には、アプリケーション１３０には、メトリクスコンポーネント１１０Ａに対応するＵＩコンポーネント１３２Ａ、地図コンポーネント１１０Ｂに対応するＵＩコンポーネント１３２Ｂ、ビデオコンポーネント１１０Ｃに対応するＵＩコンポーネント１３２Ｃが含まれる。なお、アプリケーション１３０に１つのＵＩコンポーネントを備え、当該１つのＵＩコンポーネントが、複数のプロセスコンポーネントのＵＩ機能を提供することとしてもよい。
【００２６】
図２には、クラウド中継装置１００の表示部上に、もしくはクラウド中継装置１００に接続される表示装置上に、１５０で示す画面が表示されることが示されている。図２の例では、メトリクスコンポーネント１１０Ａに対応するＵＩコンポーネント１３２Ａにより、Ａで示すセンサデータのグラフが表示され、地図コンポーネント１１０Ｂに対応するＵＩコンポーネント１３２Ｂにより、Ｂで示す地図情報が表示され、ビデオコンポーネント１１０Ｃに対応するＵＩコンポーネント１３２Ｃにより、ビデオ通話画面が表示されている。
【００２７】
画面Ａは、クラウドサービス装置２００Ａのクラウドサービス（データ分析等）により提供されるデータを表示する画面である。ＵＩコンポーネント１３２Ａは、画面Ａとして、クラウドサービスを経ていないリアルタイムデータの表示を行うことも可能である。
【００２８】
画面Ｂは、クラウドサービス装置２００Ｂのクラウドサービス（位置情報提供等）により提供されるデータを表示する画面であり、画面Ｃは、クラウドサービス装置２００Ｃのクラウドサービス（ビデオ通話等）により提供されるデータを表示する画面である。
【００２９】
アプリケーション１３０と、各プロセスコンポーネント（１１０Ａ、１１０Ｂ、１１０Ｃ）はメッセージハブ１２０を介して連携する。メッセージハブ１２０は、例えば、通信プロトコルとしてＭＱＴＴ（Ｍｅｓｓａｇｅ  Ｑｕｅｕｅｉｎｇ  Ｔｅｌｅｍｅｔｒｙ  Ｔｒａｎｓｐｏｒｔ）を実装した機能部である。ＭＱＴＴは、Ｐｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅ型の通信を使用している。このＰｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅ型では、メッセージの送信側をパブリッシャ、メッセージの受信側をサブスクライバに分け、ＭＱＴＴブローカであるメッセージハブ１２０がメッセージの中継を行う。
【００３０】
このように、Ｐｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅ型のメッセージハブ１２０を用いることで、アプリケーション１３０と各プロセスコンポーネントとの間の疎結合性を担保し、プラグアンドプレイによるアプリケーションの機能拡張とカスタマイズが容易になっている。また、再利用性も担保される。
【００３１】
クラウド中継装置１００の基本的な動作は以下のとおりである。
【００３２】
まず、プロセスコンポーネント１１０が、クラウドサービス装置２００と接続する。プロセスコンポーネント１１０は、クラウドサービス装置２００から受信した受信データをメッセージハブ１２０に送信し、メッセージハブ１２０が、当該受信データをＵＩコンポーネント１３２に送信し、ＵＩコンポーネント１３２が当該受信データの表示処理を行う。
【００３３】
また、メッセージハブ１２０が、ＵＩコンポーネント１３２から送信データを受信し、当該送信データをプロセスコンポーネント１１０に送信し、プロセスコンポーネント１１０が、当該送信データをクラウドサービス装置２００に送信する。
【００３４】
上記の構成により、アプリケーション１３０には、クラウドサービスとの接続を処理する機能を含める必要がないため、アプリケーション１３０を容易に開発できるとともに、アプリケーション１３０は各種のクラウドサービスを柔軟に利用できる。
【００３５】
（クラウド中継装置１００の詳細構成）
図３及び図４は、クラウド中継装置１００の構成をより詳細に示した図である。図３は、例として、１つのプロセスコンポーネント１１０が備えられる例を示している。図２の例のように複数のプロセスコンポーネントが備えられる場合でも、各プロセスコンポーネントは、図３及び図４に示す構成を有している。
【００３６】
＜プロセスコンポーネント１１０について＞
図３に示すように、プロセスコンポーネント１１０は、コネクタモジュール１１１、プロキシモジュール１１５、及びデータベース１１９を有する。なお、データベース１１９はプロキシモジュール１１５の内部に備えられていてもよい。
【００３７】
コネクタモジュール１１１は、クラウドサービス装置２００と接続する。コネクタモジュール１１１は、例えば、図４（ａ）に示すように、認証部１１２、及びコネクション管理部１１３を含む。
【００３８】
コネクション管理部１１３は、例えば、設定に基づく所定時間間隔で、クラウドサービス装置２００との接続を行う。接続を行うタイミングにおいて、コネクション管理部１１３は、接続開始から予め定めた時間だけ、あるいは、接続開始から、データベース１１９に格納されたデータが全てアップロードされるまでの時間だけ接続を維持し、当該時間が経過した時点でクラウドサービス装置２００との接続を切断する。なお、この接続動作は一例であり、コネクション管理部１１３に対する設定等により、他の接続動作も可能である。また、コネクション管理部１１３は、クラウドサービス装置２００との接続状態（接続中、切断中等）をプロキシモジュール１１５に通知する。
【００３９】
認証部１１２は、接続の際に、クラウドサービス装置２００にＩＤ／パスワードを送信することで、クラウドサービス装置２００から接続許可を得る機能部である。
【００４０】
図３に示すプロキシモジュール１１５は、メッセージハブ１２０と接続し、アプリケーション１３０から送信されたデータ（例：処理の要求）をメッセージハブ１２０から受信し、当該データをコネクタモジュール１１１に送信する処理を行う。また、プロキシモジュール１１５は、コネクタモジュール１１１からデータ（例：クラウドサービスにより得られたデータ）を受信し、当該データをメッセージハブ１２０に送信する処理を行う。
【００４１】
プロキシモジュール１１５は、例えば、図４（ｂ）に示すように、データ変換部１１６、及びデータ中継部１１７を有する。データ中継部１１７は、メッセージハブ１２０からデータを受信し、当該データをコネクタモジュール１１１に送信する中継処理、及び、コネクタモジュール１１１からデータを受信し、当該データをメッセージハブ１２０に送信する中継処理を行う。データ変換部１１６は、これらの中継処理を行う際に、メッセージフォーマットやヘッダ等の変換が必要であれば、当該変換を実施する。
【００４２】
また、プロキシモジュール１１５は、オンライン／オフラインに応じた処理も行う。この処理は例えばデータ中継部１１７により実行される。この処理の例を図５のフローチャートを参照して説明する。
【００４３】
ステップＳ１０１において、プロキシモジュール１１５は、メッセージハブ１２０を介してアプリケーション１３０からのデータを受信する。
【００４４】
ステップＳ１０２において、プロキシモジュール１１５は、コネクタモジュール１１１から通知される接続状態の情報に基づいて、現時点でコネクタモジュール１１１がクラウドサービス装置２００と接続中か否か（オンラインか否か）を判定する。
【００４５】
ステップＳ１０２においてオンラインであると判定された場合（ステップＳ１０２のＹｅｓの場合）、ステップＳ１０３に進み、プロキシモジュール１１５は、メッセージハブ１２０を介して受信したアプリケーション１３０からのデータをコネクタモジュール１１１に送信するとともに、データベース１１９にデータが格納されている場合には、当該データもコネクタモジュール１１１に送信する。コネクタモジュール１１１は、プロキシモジュール１１５から受信したデータをクラウドサービス装置２００に送信する。
【００４６】
ステップＳ１０２においてオンラインでないと判定された場合（ステップＳ１０２のＮｏの場合）、ステップＳ１０４に進み、プロキシモジュール１１５は、メッセージハブ１２０を介して受信したアプリケーション１３０からのデータをデータベース１１９に格納する。その後、プロキシモジュール１１５は、例えば予め定めた時間間隔で、ステップＳ１０２の判定を行い、ステップＳ１０２の判定がＹｅｓになった時点で、ステップＳ１０３に進み、データベース１１９に格納されたデータをコネクタモジュール１１１に送信する。なお、アプリケーション１３０からのデータがない場合にステップＳ１０４に進む場合には、データベース１１９へのデータ格納は実施されない。
【００４７】
＜メッセージハブ１２０について＞
既に説明したように、図３に示すメッセージハブ１２０は、Ｐｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅ型のプロトコルを用いてデータ（メッセージ）の中継を行う。具体的には、メッセージハブ１２０は、アプリケーション１３０からクラウドサービス側に向けて送信されるデータを受信する。当該データには、トピックが指定されている。当該トピックの指定は、ＵＩコンポーネント１３２が行ってもよいし、ＵＩコンポーネント１３２以外のアプリケーション１３０内部の機能部が行ってもよい。メッセージハブ１２０は、当該トピックのデータをサブスクライブする宛先のプロセスコンポーネント１１０に当該データを送信する。例えば、図２の例で、当該トピックが「地図サービス」であるとすると、メッセージは、地図コンポーネント１１０Ｂに送信される。
【００４８】
また、図３に示すメッセージハブ１２０は、プロセスコンポーネント１１０からデータを受信する。当該データには、トピックが指定されている。当該トピックの指定は、例えばプロキシモジュール１１５により行われる。また、当該トピックは、コネクタモジュール１１１が接続するクラウドサービスに対応するトピックである。そして、メッセージハブ１２０は、例えば、当該トピックのデータをサブスクライブするＵＩコンポーネント１３２に当該データを送信する。当該ＵＩコンポーネント１３２は、例えば、コネクタモジュール１１１が接続するクラウドサービスに対応するＵＩコンポーネントである。
【００４９】
プロセスコンポーネント１１０と、アプリケーション１３０との間でやり取されるデータの形式は、例えばテキスト形式（ＪＳＯＮフォーマット）である。当該テキスト形式のデータに関しては、最低限の情報（ｔｒａｎｓａｃｔｉｏｎ＿ｉｄ等）を除き、内部フォーマットを特に規定しないこととしてよい。最低限の内部フォーマットの規定として、例えば、認証に関する共通のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）がある。ただし、それ以外の内部フォーマットは特に規定しないこととしてよい。
【００５０】
＜アプリケーション１３０について＞
図３に示すアプリケーション１３０は、例えば、図４（ｃ）に示すように、デバイスデータ処理部１３１、及びＵＩコンポーネント１３２を有する。デバイスデータ処理部１３１は、デバイス４００からのデータ収集、収集データのリアルタイム解析、収集データのメッセージハブ１２０への送信等を行う。
【００５１】
ＵＩコンポーネント１３２は、メッセージハブ１２０から受信するデータの表示処理、ユーザによる操作入力処理、操作入力データ（例：処理の要求）のメッセージハブ１２０への送信等を行う。本実施の形態では、ＵＩコンポーネント１３２はプロセスコンポーネント毎に備えられる。ただし、複数のプロセスコンポーネントに対して１つのＵＩコンポーネント１３２が備えられてもよい。
【００５２】
また、ＵＩコンポーネント１３２が、表示機能や操作入力機能のみでなく、デバイス４００からのデータ収集、リアルタイム解析、収集データのメッセージハブ１２０への送信等を行う機能を含んでもよい。
【００５３】
アプリケーション開発者は、基本的にＵＩコンポーネント１３２をアプリケーション１３０の画面に埋め込むようにしてアプリケーション１３０の開発を行う。これにより、プロセスコンポーネント１１０を介したクラウドサービスを利用可能なアプリケーション１３０が実現される。アプリケーション１３０をカスタマイズする場合には、個別のＡＰＩを使い、コーディングすることも可能である。
【００５４】
（ハードウェア構成）
クラウド中継装置１００は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、クラウド中継装置１００が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスク等のハードウェア資源を用いて、当該クラウド中継装置１００で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【００５５】
図６は、クラウド中継装置１００をコンピュータで実現する場合におけるハードウェア構成例を示す図である。図６に示すコンピュータは、それぞれバスで相互に接続されているドライブ装置５００、補助記憶装置５０２、メモリ装置５０３、ＣＰＵ５０４、インタフェース装置５０５、表示装置５０６、及び入力装置５０７等を有する。
【００５６】
当該コンピュータでの処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体５０１によって提供される。プログラムを記憶した記録媒体５０１がドライブ装置５００にセットされると、プログラムが記録媒体５０１からドライブ装置５００を介して補助記憶装置５０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体５０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置５０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００５７】
メモリ装置５０３は、プログラムの起動指示があった場合に、補助記憶装置５０２からプログラムを読み出して格納する。ＣＰＵ５０４（プロセッサ）は、メモリ装置５０３に格納されたプログラムに従って当該コンピュータに係る機能を実現する。インタフェース装置５０５は、ネットワークに接続するためのインタフェースとして用いられる。当該インタフェース装置５０５は、デバイス４００との通信機能と、クラウドサービス装置２０との通信機能を含む。
【００５８】
表示装置５０６はプログラムによるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を表示する。入力装置５０７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。なお、クラウド中継装置１００は、表示装置５０６及び／又は入力装置５０７を備えないこととしてもよい。
【００５９】
（その他）
エッジ側で上述したようなクラウド中継装置１００を実現するためには、コンピュータへのソフトウェアインストールや設定、運用管理を行う必要がある。これらを効率的に行うために、本実施の形態では、一例として、Ｄｏｃｋｅｒベースのｄｅｐｌｏｙｍｅｎｔシステムを活用し、ｅｔｃｄやａｎｓｉｂｌｅ等の自動設定手法と連携することで、ＺＴＰの仕組みを実装することとしている。
【００６０】
例えば図７に示すように、Ｄｏｃｋｅｒベースのｄｅｐｌｏｙｍｅｎｔシステムを実装する所定のコントローラ６００から、アプリケーションや各コンポーネントがクラウド中継装置１００に送信され、インストールされる（ステップＳ２０１）。そして、ａｎｓｉｂｌｅ等により、アプリケーションや各コンポーネントの設定がなされる（ステップＳ２０２）。その後の保守運用については、例えばＦｏｇｈｏｒｎ（登録商標）のクラウドサービスを利用して実施することができる。
【００６１】
センサ等の各デバイス４００に関しては、例えば、各デバイス４００のＩＰアドレスをシリアルインタフェース経由で探し、その上で個別の設定を行う。また、本実施の形態では、標準技術（例：ＵＰｎＰ、ＴＤＬ  ｉｎ  Ｗ３Ｃ等）によるＤｉｓｃｏｖｅｒｙ機能及び設定機能を用いることで自動的な設定も可能としている。
【００６２】
例えば図８に示すように、クラウド中継装置１００は、ブロードキャストによる問い合わせに対してデバイス４００から発信される信号（ＩＰアドレスを含む）を受信することで、デバイス４００の存在とＩＰアドレスを知る（ステップＳ３０１）。そして、クラウド中継装置１００は、当該デバイス４００に対して設定（例：トピックの設定）を行う（ステップＳ３０２）。
【００６３】
（実施の形態のまとめ）
本実施の形態によれば、クラウドサービス装置と接続可能なクラウド接続処理部と、前記クラウド接続処理部に対応するユーザインタフェース部と、前記クラウド接続処理部と前記ユーザインタフェース部との間でデータの中継を行う中継部とを備えることを特徴とするクラウド中継装置が提供される。
【００６４】
実施の形態におけるプロセスコンポーネント１１０はクラウド接続処理部の例であり、ＵＩコンポーネント１３２はユーザインタフェース部の例であり、メッセージハブ１２０は中継部の例である。
【００６５】
前記クラウド接続処理部は、前記クラウドサービス装置と接続し、当該クラウドサービス装置との間でデータの送受信を行う接続部と、前記中継部から受信したデータを前記接続部に送信し、前記接続部から受信したデータを前記中継部に送信するプロキシ部とを備えることとしてもよい。
【００６６】
実施の形態におけるコネクタモジュール１１１は接続部の例であり、プロキシモジュール１１５はプロキシ部の例である。
【００６７】
前記プロキシ部は、前記接続部が前記クラウドサービス装置に接続されていない場合に、前記中継部から受信したデータを保持し、前記接続部が前記クラウドサービス装置に接続されたときに、前記保持したデータを前記接続部に送信することとしてもよい。
【００６８】
前記中継部は、トピックを指定したデータを受信し、当該トピックをサブスクライブする宛先に当該データを送信することとしてもよい。
【００６９】
また、本実施の形態により、クラウド接続処理部と、中継部と、ユーザインタフェース部とを備えるクラウド中継装置が実行するクラウド接続処理方法であって、前記クラウド接続処理部が、クラウドサービス装置と接続するステップと、前記クラウド接続処理部が、前記クラウドサービス装置から受信した受信データを前記中継部に送信するステップと、前記中継部が、前記受信データを前記ユーザインタフェース部に送信し、ユーザインタフェース部が当該受信データの表示処理を行うステップとを備えることを特徴とするクラウド接続処理方法が提供される。
【００７０】
上記のクラウド接続処理方法において、前記中継部が、前記ユーザインタフェース部から送信データを受信し、当該送信データを前記クラウド接続処理部に送信するステップと、前記クラウド接続処理部が、前記送信データを前記クラウドサービス装置に送信するステップとを備えることとしてもよい。
【００７１】
本実施の形態の技術により、クラウドサービスを利用するエッジ側の装置において、アプリケーションを従来より容易に開発でき、アプリケーションから各種のクラウドサービスを柔軟に利用することが可能となる。
【００７２】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７３】
１００  クラウド中継装置
２００  クラウドサービス装置
３００  ネットワーク
４００  デバイス
６００  コントローラ
１１０  プロセスコンポーネント
１１０Ａ  メトリクスコンポーネント
１１０Ｂ  地図コンポーネント
１１０Ｃ  ビデオコンポーネント
１２０  メッセージハブ
１３０  アプリケーション
１１１  コネクタモジュール
１１２  認証部
１１３  コネクション管理部
１１５  プロキシモジュール
１１６  データ変換部
１１７  データ中継部
１１９  データベース
１３１  デバイスデータ処理部
１３２  ＵＩコンポーネント
５００  ドライブ装置
５０１  記録媒体
５０２  補助記憶装置
５０３  メモリ装置
５０４  ＣＰＵ
５０５  インタフェース装置
５０６  表示装置
５０７  入力装置
【図１】
2018092565.tif 000003
【図２】
2018092565.tif 000004
【図３】
2018092565.tif 000005
【図４】
2018092565.tif 000006
【図５】
2018092565.tif 000007
【図６】
2018092565.tif 000008
【図７】
2018092565.tif 000009
【図８】
2018092565.tif 000010