(57)【特許請求の範囲】
【請求項１】
クラウドサービスサーバを、クラウドプラットフォームの制約を受けることなくクラウドアプリケーションを作成して組み込むことができるようにするために、クラウドプラットフォーム上で稼働させるクラウドアプリケーションを備える手段と、種類の異なるクラウドプラットフォームの数のライブラリセットを備える手段と、クラウドプラットフォームとの最初の接続前に該クラウドプラットフォームの種類をユーザに指定させるインターフェース部を生成する手段と、このインターフェース部で指定されたクラウドプラットフォームに対応するライブラリセットを読み出してクラウドアプリケーションの稼働環境を整える環境調整手段として機能させることを特徴とするミドルウェア。
【請求項２】
クラウドサービスサーバを、クラウドプラットフォームで講じるセキュリティの数だけセキュリティライブラリセットを備える手段と、クラウドアプリケーションやデータファイルの種類に応じてセキュリティの種類をユーザに選択させるインターフェース部を生成する手段と、選択されたセキュリティのセキュリティライブラリセットを読み出してクラウドアプリケーションのセキュリティ環境を整える環境調整手段として機能させることを特徴とする請求項１記載のミドルウェア。
【請求項３】
クラウドサービスサーバを、クラウドアプリケーションにより医用データファイルのオンラインストレージサービスとして機能させることを特徴とする請求項２に記載のミドルウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドプラットフォームの制約を受けることなくクラウドアプリケーションを作成して組み込むことができるミドルウェアに関するものである。
【背景技術】
【０００２】
昨今、クラウドコンピューティングなる情報処理手法により、自身の情報処理端末のリソースに依存せずに、クラウドサービスサーバに設けられたクラウドプラットフォームにサービス事業者又は提供者が特定処理を行うクラウドアプリケーションをインストールして、利用者がネットワークを用いて接続できるならば、場所を選ばずそのサービスにおける特定処理を行うことができるというものである。
【０００３】
クラウドプラットフォーム上においてサービス事業者又は提供者が特定処理を行うクラウドアプリケーションを開放する（利用者がクラウドコンピューティング可能にする）点については、以下のような技術が提案されている。
【０００４】
例えば、特許文献１（特開２０１５−７２６５３号公報）には、クラウドコンピューティングにおけるクラウドプラットフォームの制限を回避するための適切な非同期通信を実現するために、クラウドプラットフォームと外部システムとの間にデータ通信を中継する中継装置を設けることを提案している。
【０００５】
例えば、特許文献２（特開２０１４−１７４８３４号公報）には、クラウドコンピューティングとの親和性がよく、圧縮符号化された画像を効率よく扱える、クラウドプラットフォーム上の複数ノードでの超解像処理の分散処理技術を提案している。
【０００６】
例えば、特許文献３（特開２０１１−１７０８０４号公報）には、データファイルの厳密な整合性が保証されないクラウドプラットフォーム上において、整合性を保つために用いる情報を、定義されたタスクが実行される際に書き込みが保護された領域であって、クラウドプラットフォームにおいて管理されている領域に対して記録する技術を提案している。
【０００７】
以上のような技術が駆使されたクラウドプラットフォームを用いたクラウドコンピューティングの一例としては、データファイルの保管・共有サービス（以下、オンラインストレージサービスという）がある。
【０００８】
オンラインストレージサービスは、上記定義に沿って説明すると、自身の情報処理端末に保存するべきデータファイルを例えばその情報処理端末付きのハードディスクなどに（保存してもよいが）保存せずに、クラウドサービスサーバにおけるオンラインストレージサービス提供者がその者に確保した保存領域に保存し、ネットワークを用いて当該保存領域に接続できるならば、場所を選ばず当該保存データファイルを利用することができるというものである。
【０００９】
しかしながら、オンラインストレージサービス提供者は、当該サービスを提供するにあたって、次の障害があった。まず、オンラインストレージサービス用のクラウドアプリケーションを作成する場合にあたって、最初にクラウドサービスサーバにおいて稼働するクラウドプラットフォームを確認してそれに対応するように作成する必要がある。すなわち、例えばクラウドプラットフォームが３種類あるとすれば、各クラウドサービスサーバで当該クラウドアプリケーションを稼働させようとすると３種類のクラウドアプリケーションを作成しなければならず、手間である。これは上記特許文献１〜３の技術上においても言える課題である。
【００１０】
また、オンラインストレージサービスにおいて扱うデータファイルが、例えば医用（画像）データファイルを扱う場合、現状では、医用データファイルの運用上において、オンラインストレージサービスに保管できるが、極めて手間となっている。この理由は、関係各省庁毎に設けた（データファイルのセキュリティ）条件が多く、オンラインストレージサービス提供者（クラウドアプリケーション作成者）がそれらを把握したうえでクラウドアプリケーションを作成することが極めて手間であり、結果として、関係各省庁の条件を「全て満たす」環境としたオンラインストレージサービスが存在しないからである。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１５−７２６５３号公報
【特許文献２】特開２０１４−１７４８３４号公報
【特許文献３】特開２０１１−１７０８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
解決しようとする問題は、各クラウドサービスサーバで当該クラウドアプリケーションを稼働させようとすると各クラウドサービスサーバでそれぞれ稼働するクラウドプラットフォーム分だけクラウドアプリケーションを作成しなければならず手間となる点、及びデータファイルのオンラインストレージサービスについては運用が厳しく制限されたり多数のセキュリティ条件が設けられているデータファイルを扱おうとするとそれらを把握したうえでクラウドアプリケーションを作成することが極めて手間となる点、である。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明のミドルウェアは、クラウドサービスサーバを、クラウドプラットフォームの制約を受けることなくクラウドアプリケーションを作成して組み込むことができるようにするために、クラウドプラットフォーム上で稼働させるクラウドアプリケーションを備える手段と、種類の異なるクラウドプラットフォームの数のライブラリセットを備える手段と、クラウドプラットフォームとの最初の接続前に該クラウドプラットフォームの種類をユーザに指定させるインターフェース部を生成する手段と、このインターフェース部で指定されたクラウドプラットフォームに対応するライブラリセットを読み出してクラウドアプリケーションの稼働環境を整える環境調整手段として機能させることを主要な特徴とする。
【発明の効果】
【００１４】
上記構成の本発明のミドルウェアは、クラウドアプリケーションを稼働させようとするクラウドプラットフォームの数だけライブラリセットを備えているので、クラウドプラットフォームの制約を受けることなくクラウドアプリケーションを作成することができる。
【００１５】
また、本発明のミドルウェアを組み込んだクラウドアプリケーションを作成すれば、上記のとおり、クラウドプラットフォームを選ぶことなくクラウドアプリケーションサービスを稼働させることができる。
【図面の簡単な説明】
【００１６】
【図１】図１は本発明のミドルウェアを採用したクラウドアプリケーションサービスを示す概念図である。
【図２】図２は本発明のミドルウェアの位置付を説明するための概念図である。
【図３】図３は本発明のミドルウェアの構成を示す概念図である。
【図４】図４は本発明のミドルウェアにおけるインターフェース部による画面表示内容の一例を示す図である。
【図５】図５は本発明のミドルウェアの処理手順を示す図である。
【発明を実施するための形態】
【００１７】
本発明のミドルウェアは、各クラウドプラットフォーム分だけクラウドアプリケーションを作成しなければならない点、多数のセキュリティ条件が設けられているデータファイルを扱おうとするとそれらを把握したうえでクラウドアプリケーションを作成することが極めて手間となる点を、クラウドサービスサーバを、クラウドアプリケーションを備える手段と、種類の異なるクラウドプラットフォームの数のライブラリセットを備える手段と、クラウドプラットフォームとの最初の接続前に該クラウドプラットフォームの種類をユーザに指定させるインターフェース部を生成する手段と、このインターフェース部で指定されたクラウドプラットフォームに対応するライブラリセットを読み出してクラウドアプリケーションの稼働環境を整える環境調整手段として機能させることで解消した。
【００１８】
また、本発明は、上記構成において、クラウドサービスサーバを、クラウドプラットフォームで講じるセキュリティの数だけ有したセキュリティライブラリセットを備える手段と、クラウドアプリケーションやデータファイルの種類をユーザに選択させるインターフェース部を生成する手段と、選択されたセキュリティのセキュリティライブラリセットを読み出してクラウドアプリケーションのセキュリティ環境を整える環境調整手段として機能させるようにしてもよい。
【００１９】
こうすることで、クラウドアプリケーションにおいて、クラウドプラットフォーム毎で異なるセキュリティ措置を施す必要、又は別途でセキュリティ用のプログラムを作成する必要がなくなる。
【００２０】
さらに、本発明は、上記のセキュリティ環境を整える構成において、クラウドサービスサーバを、クラウドアプリケーションにより医用データファイルのオンラインストレージサービスとして機能させるようにしてもよい。こうすることで、今まで厳密なセキュリティ環境下でなければ扱うことのできなかった医用データファイルのオンラインストレージサービスをクラウドプラットフォームを選ばずに提供することができる。
【実施例】
【００２１】
以下、図１〜図５を参照して本発明の具体的実施形態について説明する。本発明のミドルウェア１は、クラウドプラットフォームＰ（以下、プラットフォームＰと記す）が設けられたクラウドサービスサーバにおいて、所定のクラウドアプリケーション、本例では、例えば医用データファイルの保管、管理、共有等のサービスを提供するためのオンラインストレージアプリケーションＡ（以下、アプリケーションＡと記す）を稼働させるためのものである。
【００２２】
本例のアプリケーションＡの概念は、図１に示すように、あるプラットフォームＰに稼働している（ミドルウェア１を介して組み込まれた）アプリケーションＡに対して、通信を介して接続した、例えば病院、例えば医療関連施設、例えば健診車、例えばレントゲンの読映医、の権限が与えられた端末機器において医用データファイルを保存、読出、更新、の管理が行えるというものである。
【００２３】
本発明のミドルウェア１の概念は、図２に示すように、ユーザーが任意に作成した該ミドルウェア１に載せることのできるクラウドアプリケーション（本例ではアプリケーションＡ）であれば、既存の種々提供されているプラットフォームＰを選ばず、図示ではａプラットフォーム、ｂプラットフォーム、ｃプラットフォームを選ばず、どのプラットフォームでも稼働させることができるというものである。
【００２４】
ミドルウェア１は、図３に概念として示すように、アプリケーションＡと、種類の異なるプラットフォームＰの数だけ有したライブラリセットＰＬ（本例では３種、それぞれＰＬ１、ＰＬ２、ＰＬ３と記す）及びプラットフォームＰやデータファイルの種類に応じた数だけ有したセキュリティライブラリセットＰＳ（本例では３種、それぞれＰＳ１、ＰＳ２、ＰＳ３と記す）と、プラットフォームＰとの最初の接続前に該プラットフォームＰの種類を指定するインターフェース部２と、このインターフェース部で指定されたクラウドプラットフォームに対応するライブラリセットを読み出してクラウドアプリケーションの稼働環境を整える環境調整部３と、を備えている。
【００２５】
アプリケーションＡについては、上記のとおり、ユーザーが任意に作成したものであるため、本発明のミドルウェア１の構成要件としては別体と考えることもできるが、ミドルウェア１が具体的にはアプリケーションプログラミングインタフェース（ＡＰＩ）の一つであってアプリケーションＡの作成段階において組み込まれている（ＡＰＩを用いて作成されている）ため、どのようなクラウドアプリケーションかは限定しないが本発明のミドルウェア１とは不可分一体として備えている位置付である。
【００２６】
上記の定義によれば、インターフェース部２及び環境調整部３、ライブラリセットＰＬ及びセキュリティセットもＡＰＩではあるが、これらは別体であるとしても（もちろん同梱でもよいが）ミドルウェア１、ひいてはアプリケーション１を協働させるうえで必須となる位置付である。
【００２７】
インターフェース部２は、クラウドアプリケーションサービスを利用する者が共通するインターフェースとして用いるブラウザ（アプリケーション）で解読できる言語、つまり各プラットフォームＰで解読できる最も汎用的な言語、例えばＨＴＭＬにて作成されたプログラムとしては極めてサイズが小さく、かつ簡単な記述とされている。
【００２８】
インターフェース部２は、最初にプラットフォームＰに接続（当該アプリケーションＡをインストール：組み込むという意味）した際に例えば図４に示す画面が表示される。この表示は、プラットフォームＰにアプリケーションＡを組み込もうとする側、すなわちサービス提供者側の通信端末における画面に表示される。
【００２９】
インターフェース部２は、サービス提供者側の通信端末における画面に、アプリケーションＡを接続しようとするプラットフォームＰの種類と、そのサービス（アプリケーションＡ）を動作させるにあたって、及びプラットフォームＰで条件とされるセキュリティセットＰＳや個別のセキュリティを選択させるために各項目とチェックボックスを示すようになっている。
【００３０】
ライブラリＰＬは、作成したアプリケーションＡを組み込んだプラットフォームＰで稼働させるにあたって必要となるライブラリファイルが集められている。例えば本例ではライブラリセットＰＬ１には図２のａプラットフォーム向けのライブラリファイルが、同様に、ライブラリセットＰＬ２には図２のｂプラットフォーム向けのライブラリファイルが、ライブラリセットＰＬ３には図２のｃプラットフォーム向けのライブラリファイルが、集められている。
【００３１】
セキュリティセットＰＳは、そのアプリケーションＡ（サービス）及びそのプラットフォームＰで必要とされるセキュリティのライブラリファイルが集められている。例えば本例では、医用データファイルを扱うこととしているが、この医用データ、特に取り扱いの指針が明確化されているレントゲン等の医用画像データ（ファイル）の取り扱いについては、各省庁で２０１５年の段階で以下のようなものがある。
【００３２】
（経済産業省）
・電子政府推奨暗号リスト等を用いること（2.6.11.1）
・暗号鍵が漏えいした場合の対策（2.6.11.2）
・信頼できる電子証明書の発行（2.6.11.3）
・暗号アルゴリズムの切替設定（2.6.11.4）
・別経路でのフィンガープリントの入手（2.6.11.5）
・ソフトウェア改ざん防止・検知策の実施（2.6.1.6）（2.6.2.4）
・通信経路における損傷/改ざんの検証（2.6.8.4）
・ユニークな作業者IDの割り振り（2.6.14.1）
・原則グループID不可（2.6.14.3）
・作業者IDの再利用禁止（2.6.14.6）
・不要な作業者IDの定期確認（2.6.14.7）
・特権IDの作業実施内容の記録（2.6.14.10）
・有効期限の設定（2.6.14.14）
・変更履歴の管理（2.6.14.15）
・入力失敗時に一定時間の不応答処理（2.6.14.16）
・パスワードファイルのデジタル署名（2.6.14.20）
・一定時間経過後の再認証（2.6.14.21）
・一定回数失敗した場合の処理（2.6.14.22）
・接続先/接続時間の限定（2.6.6.1）
・IPアドレスでのトラフィック管理（2.6.6.2）
・使用していないポートの物理的閉鎖（2.6.6.4）
・侵入検知におけるシグネチャ/検知ルールの更新（2.6.6.6）
・攻撃検知の際の監視端末表示、メール送信など（2.6.6.7）
・悪意のあるコート対策ソフトウェアにおける
- リアルタイムスキャン（2.6.3.2）
- 電子媒体へのオンデマンドスキャン（2.6.3.2）
- 定義ファイルなどの自動更新（2.6.3.2）
・作業者の活動/イベント/使用状況等の監査ログ（2.6.12.1）
・ログデータへのアクセス制限（2.6.12.5）
【００３３】
（総務省）
・情報の機密性、真正性、完全性の保護対策（10.1）
・IP暗号通信（VPNI/Psec等）の利用（III .3.2.2）
・HTTP暗号通信（SSL/TLS等）の利用（III .3.2.2）
・不当なデータ削除／改ざん／追加等の防止
・時刻認証、電子署名の利用（III .5.1.1）
・情報システム管理者及びネットワーク管理者の権限の割当及び使用を制限すること（III .3.1.2）
・適切な認証方法、特定の場所及び装置からの接続を認証する方法等により、なりすまし対策を行う事（III .3.1.3）
・サーバ証明書の取得（III .3.2.3）
・パスワードの定期更新
・極端に短い／類推しやすいものを使用しない
・入力失敗時に一定時間の不応答処理
・一定回数失敗した場合の処理
・外部及び内部からの不正アクセスを防止する措置（ファイアウォール、リバースプロキシの導入等）（III .3.1.4）
・不正な通過パケットを自動的に発見、遮断する措置
（IDS /IPS の導入等）を講じること（III .3.1.5）
・常時ウイルス等の不正なソフトウェアの混入を防ぐ適切な措置をとること
・（データ・プログラム、電子メール、データベース等）についてウイルス等に対する対策を講じること（III .2.2.1）
・少なくとも利用者のログイン時刻、アクセス時間、ならびにログイン中に操作した患者が特定できること
・利用者の利用状況、例外処理及び情報セキュリティ事象の記録（ログ等）（III .2.1.3）
・ステルスモード、ANY接続拒否等の対策
・SSIDやMACアドレスによるアクセス制限
・WPA2/AES等による通信の暗号化（同厚労省）
【００３４】
（厚生労働省）
・パスワード盗聴/本文の盗聴防止（6.11C2）
・SSL/TLS、S/MIMEの利用（6.11C5）
・電子政府推奨暗号リストの利用（6.11C5）
・ファイルに対する暗号化（6.11C5）
・データ改ざん検知策の実施（6.11B1.2）
・電子署名の利用（6.11B1.2）
・利用者の識別及び認証を行う事（6.5C1）
・情報の区分管理とアクセス権限の管理（6.5C5）
・セッション乗っ取り防止（6.11C1）
・IPアドレス詐称防止（6.11C1）
・パスワードファイルの暗号化管理（6.5C10.1）
・パスワードの定期変更（最長2カ月）（6.5C10.4）
・パケットフィルタリング等によるF/W（6.5B5）
・IDSの導入（6.5B5）
・利用していないサービス／ポートの非活性化（6.5B4）
・セキュリティパッチの逐次更新（6.5B4）
【００３５】
上記は、必ずしも本例のようなアプリケーションＡで求められていて実装しなければならないものではないが、こういった取り扱うデータファイルによって規制や指針が厳密に定められている場合、プラットフォームＰ側にそれらセキュリティ措置の全てが講じられていることはないと共に、アプリケーションＡ側でそれらを全て実装するというのも極めて手間となる。
【００３６】
したがって、本発明のミドルウェア１では、こうした講じられるありとあらゆるセキュリティライブラリを例えばプラットフォームＰ毎に、例えばアプリケーションＡによって提供されるサービス毎に、あるいは、例えばクラウドアプリケーションサービスで扱うデータファイルの種類毎に、セキュリティセットＰＳ１，２，３のようにセット化して選択、又は、個別に選択できるようにしている。
【００３７】
つまり、本発明のミドルウェア１は、ライブラリセットＰＬ及びセキュリティセットＰＳを選択すれば、周辺環境がほぼ整えられるので、アプリケーションＡの作成者（クラウドサービス提供者）は、当該アプリケーションＡの純然たる内容のみに取り組めばよくなる。
【００３８】
環境調整部３は、インターフェース部２で選択した（チェックした）各項目に対応するライブラリセットＰＬ及びセキュリティセットＰＳ（個々のセキュリティライブラリ）を
読み出して、プラットフォームＰとアプリケーションＡとの接続環境を整える。
【００３９】
具体的には、例えば、図２で言うａプラットフォームＰ向けに作成したアプリケーションＡについて、今、図２で言うｂプラットフォームＰにて稼働させようとして接続する（組み込む）場合は、インターフェース部２でｂプラットフォームＰを選択し、かつ必要なセキュリティセットＰＳ（又は個々のセキュリティライブラリ）を選択し、この後、ａプラットフォーム向けに用いていたライブラリ群を、ｂプラットフォーム用のライブラリに置き換える。
【００４０】
環境調整部３は、アプリケーションＡ側から見れば、処理の都度読み出すライブラリの読み出し先を変更することとなるが、この点、アプリケーションＡでの記述（ソース）の書き換えを行うのではなく、概念的に説明すると、ｂプラットフォーム向けのライブラリセット「ＰＬ２」のＰＬ２が、それまでの（ａプラットフォームＰ向けの）ライブラリセット「ＰＬ１」に代わるというものである。つまり、アプリケーションＡ側から見れば、処理そのものはどのプラットフォームＰＬにおいても書き換え、変換、等行われることがないのである。
【００４１】
以上の構成の本例のミドルウェア１の処理について図５を参照して説明する。上記の例示を流用すると、図２で言うａプラットフォームＰ向けに作成されたアプリケーションＡを図２で言うｂプラットフォームＰに組み込もうとする場合、セットアッププログラムを起動すると（＃１）、これによってインターフェース部２が起動する（＃２）。
【００４２】
インターフェース部２が起動すると、図４に示した画面が表示され、ここで本例ではｂプラットフォームＰに組み込もうとするので、その項目にチェックを入れる。また、本例では医用データファイルを扱うオンラインストレージサービスを提供するためのアプリケーションＡであるため、これに必要なセキュリティライブラリが集められたセキュリティセットＰＳの項目、及び必要であれば、図４の図示下部に示される個別のセキュリティ項目にチェックを入れる（＃３）。
【００４３】
これらチェック（選択）が完了して図４には不図示であるが「ＯＫ」等のボタンをクリックすると、環境調整部３が起動する（＃４）。環境調整部３は、インターフェース部２において選択された項目に対応するライブラリセットＰＬ、セキュリティセットＰＳ（及び個別のセキュリティライブラリ）を読み出す（＃５）。
【００４４】
そして、環境調整部３は、上記のとおり、それまで（元々の開発）環境下で読み出されていたライブラリセットＰＬ１として今選択したライブラリセットＰＬ２を置き換え、また、セキュリティセットＰＳをｂプラットフォームＰで稼働するよう調整する（＃６）。
【００４５】
環境が整うと、ミドルウェア１は、アプリケーションＡを読み出して（＃７）、ｂプラットフォームＰとアプリケーションＡを接続する（＃８）。その後、ミドルウェア１は、接続（組み込み）が完了したかを所定時間毎に判断し（＃９）、完了していない場合（＃９でＮｏ）、エラーが生じたかを判断し（＃１０）、エラーではない場合（＃１０でＮｏ）、＃９へ戻って完了を待ち、完了の後（＃９でＹｅｓ）、処理を終了し、一方、エラーの場合（＃１０でＹｅｓ）、エラー処理を行って（＃１１）、処理を終了する。
【００４６】
以上のように、本発明であれば、諸々の環境はミドルウェア１側で調整されるので、アプリケーションＡのみの開発に従事できるというメリットがある。また、本発明を医用データファイルのオンラインストレージサービス（アプリケーションＡ）とする場合は、極めて厳密かつ厳格な規制や指針を実装することができると共に、実装する手間が省けるというメリットがある。
【符号の説明】
【００４７】
１  ミドルウェア
２  インターフェース部
３  環境調整部
Ｐ  （クラウド）プラットフォーム
ＰＬ  ライブラリセット
ＰＳ  セキュリティセット
Ａ  （オンラインストレージ）アプリケーション
【図１】
0006727804.tif 000002
【図２】
0006727804.tif 000003
【図３】
0006727804.tif 000004
【図４】
0006727804.tif 000005
【図５】
0006727804.tif 000006