(57)【要約】【課題】適切なリソースを確保してアプリケーションの実行環境を提供できるクラウドの仕組みを提供するためのアプリケーション提供装置、アプリケーション提供方法、およびアプリケーション提供プログラムを提供する。【解決手段】複数の共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザＭ１，Ｍ２，Ｍｎのいずれかのユーザに対するパラメータが設定し、パラメータの設定が行われたユーザＭ１，Ｍ２，Ｍｎの専用仮想マシンとして設定する専用仮想マシン設定手段と、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも１つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する【選択図】図３
2019149129.tif 000002
【特許請求の範囲】
【請求項１】
共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動手段と、
前記複数の共通仮想マシンの各々に設定された前記共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、前記パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定手段と、
前記専用仮想マシンのリソースが不足する場合に、前記パラメータの設定が行なわれていない共通仮想マシンの少なくとも１つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供手段と、
を備えたアプリケーション提供装置。
【請求項２】
１つのユーザが利用する複数の専用仮想マシンのリソースの利用率が基準値以下である場合には、前記機能提供手段が、前記１つのユーザの複数の専用仮想マシンの少なくとも１つの利用を停止する請求項１に記載のアプリケーション提供装置。
【請求項３】
前記複数の共通仮想マシンの各々は、一定のリソースが割り当てられた仮想マシンである請求項１または２に記載のアプリケーション提供装置。
【請求項４】
前記複数のユーザの各々が、病院であり、
前記共通アプリケーションプログラムが、画像処理を行なうプログラム、または診断レポート作成支援処理を行なうプログラムを含み、
前記パラメータの設定が、前記画像処理を行なうプログラムの場合には、前記病院に対応した前記画像処理の画像処理パラメータの設定であり、前記診断レポート作成支援処理を行なうプログラムの場合には、前記病院に対応した前記診断レポート作成支援処理の診断レポートの書式の設定である請求項１〜３のいずれか１項に記載のアプリケーション提供装置。
【請求項５】
前記複数の共有仮想マシンの各々は、前記共通アプリケーションプログラムに用いるデータの読み書きが可能な記憶部を有し、
前記パラメータの設定により、前記パラメータの設定が行なわれたユーザに対して前記記憶部が専用の記憶部として設定される請求項１〜４のいずれか１項に記載のアプリケーション提供装置。
【請求項６】
アプリケーション提供装置が、
共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動ステップと、
前記複数の共通仮想マシンの各々に設定された前記共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、前記パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定ステップと、
前記専用仮想マシンのリソースが不足する場合に、前記パラメータの設定が行なわれていない共通仮想マシンの少なくとも１つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供ステップと、
を実行するアプリケーション提供方法。
【請求項７】
コンピュータに、
共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動ステップと、
前記複数の共通仮想マシンの各々に設定された前記共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、前記パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定ステップと、
前記専用仮想マシンのリソースが不足する場合に、前記パラメータの設定が行なわれていない共通仮想マシンの少なくとも１つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供ステップと、
を実行させるためのアプリケーション提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション提供装置、アプリケーション提供方法、およびアプリケーション提供プログラムに関する。
【背景技術】
【０００２】
近年、様々なクラウドサービスが提供されるようになり、クラウドを利用したデータの保存をはじめとして、高価なコンピュータを保有することなくクラウドを利用したアプリケーションソフトウェア（以下、単にアプリケーションという）が提供されるようになってきた。このようなＡＳＰ（Application Service Provider）サービスを利用することで、ハードウェアの保守、運用、および管理をクラウドを提供する企業に一任することでコストおよび人的リソースの削減が図られている。
【０００３】
医療分野においては、画像処理技術の進歩により診断性能が向上してきている。特に、近年では、ニューラルネットワークを利用した深層学習を用いることで病変の認識精度が向上している。このような新しい技術を利用するには、高性能なコンピュータが必要になる。また、病院によって利用する機能が異なり、それに合わせて異なる設定を行う必要がある。
【０００４】
現在、アプリケーションは複数のメーカーのコンピュータに対応することが可能になっているが、ユーザにアプリケーションを提供する際には、ユーザが所有するコンピュータのメーカー、台数、および利用可能なネットワークの種類に応じて異なる環境の設定を行う必要がある。そこで、特許文献１では、サービスに含まれるアプリケーションを特定するとともにユーザ端末のプロファイルを抽出しておいて、特定されたアプリケーションの設定用テンプレートに基づいて、ユーザ端末に適用可能なオリジナルの設定用ファイルを自動的に生成している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１３１１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
医療分野においてもＡＳＰサービスを利用して、診断に利用するアプリケーションを提供することが検討されている。しかし、病院ごとに利用する機能に応じた異なる設定が必要であったり、利用率に応じて必要なアカウント数、およびリソース（ＣＰＵ、メモリ、ハードディスク、およびネットワークなど）の割当を設定したりする必要がある。ＡＳＰサービスを利用するメリットの一つは、高価なコンピュータを保有することなく、新しいアプリケーションを利用できる点にあるが、提供されるサービスに対応する費用が発生するため、必要以上にアカウント数を増やしたり、リソースの割当を増やしたりすると、費用が高くつきＡＳＰサービスを利用するメリットがなくなる。また、医療で扱うデータは個人情報であるため、機密保護の観点からも提供されるサービスが高価になる。
【０００７】
そこで、本発明では、上述のような問題を解決するために、適切なリソースを確保してアプリケーションの実行環境を提供できるクラウドの仕組みを提供するためのアプリケーション提供装置、アプリケーション提供方法、およびアプリケーション提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のアプリケーション提供装置は、共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動手段と、複数の共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定手段と、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも１つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供手段と、を備える。
【０００９】
本発明のアプリケーション提供方法は、アプリケーション提供装置が、共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動ステップと、複数の共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定ステップと、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも１つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供ステップと、を実行する。
【００１０】
本発明のアプリケーション提供プログラムは、コンピュータに、共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動ステップと、複数の共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定ステップと、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも１つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供ステップと、を実行させるためのアプリケーション提供プログラム。
【００１１】
「リソース」とは、コンピュータの物理的な資源をいい、例えば、コンピュータのＣＰＵ、メモリ、ストレージ、およびネットワークなどである。
【００１２】
また、１つのユーザが利用する複数の専用仮想マシンのリソースの利用率が基準値以下である場合には、機能提供手段が、１つのユーザの複数の専用仮想マシンの少なくとも１つの利用を停止するものが望ましい。
【００１３】
また、複数の共通仮想マシンの各々は、一定のリソースが割り当てられた仮想マシンであったもよい。
【００１４】
また、複数のユーザの各々が、病院である場合には、共通アプリケーションプログラムが、画像処理を行なうプログラム、または診断レポート作成支援処理を行なうプログラムを含み、パラメータの設定が、画像処理を行なうプログラムの場合には、病院に対応した画像処理の画像処理パラメータの設定であり、診断レポート作成支援処理を行なうプログラムの場合には、病院に対応した診断レポート作成支援処理の診断レポートの書式の設定である。
【００１５】
また、複数の共有仮想マシンの各々は、共通アプリケーションプログラムに用いるデータの読み書きが可能な記憶部を有し、パラメータの設定により、パラメータの設定が行なわれたユーザに対して記憶部が専用の記憶部として設定してもよい。
【００１６】
本発明のアプリケーション提供装置は、共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動し、複数の共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定し、パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定手段と、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも１つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する処理を実行する。
【発明の効果】
【００１７】
本発明によれば、適切なリソースを確保してアプリケーションの実行環境を提供できるクラウドの仕組みを提供することが可能になる。
【図面の簡単な説明】
【００１８】
【図１】アプリケーション提供システムの概略構成の一例を示す図である。
【図２】本実施の形態のアプリケーション提供装置の一例を示す概略構成図である。
【図３】仮想マシンから専用仮想マシンの変更を説明するための図である。
【図４】共通仮想マシンを起動する処理の流れを示すフローチャートの一例である。
【図５】起動されている共通仮想マシンから専用仮想マシンへ変更する処理の流れを示すフローチャートの一例である。
【発明を実施するための形態】
【００１９】
図１に、本発明の第１の実施の形態におけるアプリケーション提供システム１の概略構成を示す。本実施の形態では、アプリケーションが医療機関に提供される画像処理である場合について説明する。アプリケーション提供システム１は、複数の医療機関Ｍ１，Ｍ２・・・Ｍｎに設置される複数の端末装置１０とクラウド側に置かれるアプリケーション提供装置２０（以下、アプリケーション提供サーバ２０という）がネットワーク３０で接続されて構成される。
【００２０】
アプリケーション提供サーバ２０は、ＣＰＵ（Central Processing Unit）、メモリ、ストレージ、入出力インターフェース、通信インターフェース、および、データバス等の周知のハードウェア構成を備えたコンピュータである。また、必要に応じてＧＰＵ（Graphics Processing Unit）を設けるようにしてもよい。本発明のアプリケーション提供プログラムがコンピュータにインストールされ、ＣＰＵによってプログラムの命令が実行されることによりアプリケーション提供サーバ２０として機能する。また、アプリケーション提供サーバ２０には、ハイパーバイザなどがインストールされる。
【００２１】
アプリケーション提供プログラムは、ネットワークストレージまたはネットワークに接続されたサーバコンピュータの記憶装置に、外部からアクセス可能な状態で記憶され、外部からの要求に応じてコンピュータにダウンロードされた後にインストールされる。あるいは、アプリケーション提供プログラムは、ＤＶＤ（Digital Versatile Disc）およびＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの記録媒体に記録されて配布され、その記録媒体からコンピュータにインストールされてもよい。
【００２２】
ハイパーバイザ上には、複数の仮想マシンが設けられ、各仮想マシン上で実行可能なオペレーティングシステム（以下、ＯＳという）を搭載し、搭載されたＯＳにアプリケーションがインストールされる。また、ハイパーバイザは、各仮想マシンが利用可能なＩ／Ｏデバイスのサポート、メモリ管理、または外部記憶装置の管理などを管理する機能を備えている。
【００２３】
ハイパーバイザは、ハードウェア上で直接動作し、全てのＯＳはそのハイパーバイザの仮想マシン上で動作する方式であってもよい。あるいは、ハイパーバイザは、ハードウェア上でまずホストＯＳが稼働し、その上でハイパーバイザがホストＯＳのアプリケーションとして稼働して、さらに、ハイパーバイザの上で稼働する仮想マシンで更に別のゲストＯＳを稼働させる方式であってもよい。
【００２４】
端末装置１０は、各医療機関Ｍ１，Ｍ２・・・Ｍｎに設けられたコンピュータであり、ＣＰＵ、メモリ、ストレージ、入出力インターフェース、通信インターフェース、入力装置、表示装置、および、データバス等の周知のハードウェア構成を備え、表示装置としてディスプレイを有している。また、端末装置１０には、周知のオペレーションシステムなどがインストールされる。
【００２５】
また、端末装置１０は、ローカルエリアネットワーク（ＬＡＮ：Local Area Network）を介して、各医療機関Ｍ１，Ｍ２・・・Ｍｎの医療情報システムに接続されている（不図示）。また、医療情報システムは、各種モダリティで撮影された患者の画像データを記憶する画像データベースと、診断結果を記録した診断レポートを記憶する診断レポートデータベースとを備えている。例えば、モダリティはＣＴ（Computed Tomography）装置、ＭＲＩ（Magnetic Resonance Imaging）装置、ＰＥＴ装置（Positron Emission Tomography：陽電子放射断層撮影装置）、超音波装置、または、平面Ｘ線検出器（ＦＰＤ：flat panel detector）を用いたＣＲ装置（Computed Radiography：コンピュータＸ線撮影装置）などが挙げられる。以下、医療機関を病院として説明する。
【００２６】
次に、アプリケーション提供サーバ２０の機能について説明する。図２に示すように、アプリケーション提供プログラムが、ＣＰＵ２１によって実行されることにより、仮想マシン起動手段２２、アプリケーション記憶手段２３、アクセス制御手段２４、専用仮想マシン設定手段２５、パラメータ記憶手段２６、機能提供手段２７、監視手段２８、および接続手段２９として機能する。
【００２７】
仮想マシン起動手段２２は、共通アプリケーションが各々設定された複数の共通仮想マシンの各々を起動する。共通仮想マシンは、仮想マシンに、例えば、ＭＳ Ｗｉｎｄｏｗｓ（登録商標）、またはＵｎｉｘ（登録商標）などのＯＳがインストールされ、さらにア共通のアプリケーションが仮想マシンのＯＳにインストールされたマシンである。共通のアプリケーションは、複数のユーザに同じ機能を提供するために必要なアプリケーションであり、共通仮想マシンには、特定の機能（例えば、画像処理）を提供するために必要な基本的なアプリケーションが全てインストールされている。また、全ての共通仮想マシンは、一定のリソースが割り当てられるように設定する。リソースは、例えば、ＣＰＵの使用量、ストレージの容量、メモリの容量、ネットワーク帯域、または、同時にアクセス可能なアクセス数などが挙げられる。
【００２８】
アプリケーション記憶手段２３には、複数のユーザが使用する共通アプリケーションのプログラムが記憶されている。共通アプリケーションは、例えば、画像処理プログラムなど標準的な機能を実行するためのプログラムである。また、ユーザが病院の場合には、共通アプリケーションには、画像処理を行なうプログラム、または診断レポート作成支援処理を行なうプログラムなどが含まれる。
【００２９】
専用仮想マシン設定手段２５は、共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、パラメータの設定が行われたユーザの専用仮想マシンとして設定する。あるいは、病院Ｍ１，Ｍ２・・・Ｍｎのように１つの病院から複数のユーザが同時にアクセスする場合には、複数のユーザからなるユーザグループごとに専用のパラメータを用意して、そのパラメータを共通仮想マシンに設定してユーザグループの専用仮想マシンに変更してもよい。
【００３０】
パラメータは、画像処理を行なうプログラムの場合には、病院に対応した画像処理の画像処理パラメータの設定であり、診断レポート作成支援処理を行なうプログラムの場合には、病院に対応した診断レポート作成支援処理の診断レポートの書式の設定である。
【００３１】
パラメータ記憶手段２６は、各ユーザごと（またはユーザグループごと）に、共通アプリケーションに設定するパラメータを記憶している。パラメータは、例えば、アクセス時に入力されるユーザの識別情報のＩＤ（identification）に応じた専用のパラメータを用意して、パラメータ記憶手段２６にＩＤと対応付けて記憶する。
【００３２】
また、アプリケーション記憶手段２３およびパラメータ記憶手段２６は、アプリケーション提供サーバ２０のストレージに設けられる。あるいは、ネットワークに接続されたＮＡＳ（Network Attached Storage）やＳＡＮ（Storage Area Network）に接続されたディスク装置に設けてもよい。
【００３３】
アクセス制御手段２４は、端末装置１０からユーザがログインするときに入力されたＩＤの入力を受け付け、ＩＤに認証を行いない正当なユーザのＩＤである場合には、ユーザの専用仮想マシンに対してアクセスが可能になるように制御する。また、ユーザがログアウトすると利用していた専用仮想マシンは全て解放する。あるいは、ユーザグループに属する全てのユーザがログアウトすると専用仮想マシンは全て解放する。
【００３４】
図３は、図１に示す病院にユーザグループが割り当てられているときの、共通仮想マシン、専用仮想マシン、および専用パラメータの関係を示す。仮想マシン起動手段２２によって起動された複数の共通仮想マシンが共通仮想マシンプールＰに蓄えられている。蓄えられている共通仮想マシンの１つにユーザグループＭ１用のパラメータＭ１を設定すると、ユーザグループＭ１の専用仮想マシンに変更され、ユーザグループＭ１のＩＤを用いてアクセスすることが可能になる。同様に、蓄えられている共通仮想マシンの１つに、ユーザグループＭ２用のパラメータＭ２を設定するとユーザグループＭ２のＩＤでアクセスできる専用仮想マシンに変更され、ユーザグループＭｎ用のパラメータＭｎを設定するとユーザグループＭｎのＩＤでアクセスできる専用仮想マシンに変更される。
【００３５】
機能提供手段２７は、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも１つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する。複数のユーザのうちの１つのユーザの専用仮想マシンのリソースが不足する場合に、専用仮想マシン設定手段２５により共通仮想マシンの１つをそのユーザの専用仮想マシンとして追加して、アプリケーションによる機能を１つのユーザ（または、ユーザグループ）に提供する。例えば、専用仮想マシンのリソースを周期的に計測しておき、リソースが第１の基準値以上の利用率である場合には、リソースが足らないと判定する。特定のユーザが利用している専用仮想マシンに割り当てられたＣＰＵの使用量のうち利用率が、例えば８０％を超える場合には、現在実行している処理に加えて他の処理が実行されると、ユーザが快適と感じる処理速度は保てなくなる可能性が高い。そこで、例えば、ＣＰＵの利用率８０％を第１の基準値として、リソースが不足しているか否かを判定し、８０％を超えているときは、リソースが不足しているので専用仮想マシンを追加する。図３の例では、ユーザグループＭｎは専用仮想マシンを１つだけ利用しているが、ユーザグループＭ１は専用仮想マシンが追加され３つ利用している。また、ユーザグループＭ２は専用仮想マシンを２つ利用している。リソースが不足しているか否かの判定は、ＣＰＵの利用率だけではなく、ストレージの空き容量、メモリの利用率、ネットワーク帯域、または、同時にアクセスしているアクセス数など複数の要因が存在するので、これらの要因を組み合わせて基準を設けるのが好ましい。
【００３６】
あるいは、機能提供手段２７は、１つのユーザが利用する複数の専用仮想マシンのリソースの利用率が基準値以下である場合には、そのユーザの複数の専用仮想マシンの少なくとも１つの利用を停止する。例えば、専用仮想マシンのリソースを周期的に計測しておき、リソースが第２の基準値以下の利用率である場合には、リソースに余裕があるので複数の専用仮想マシンが起動されているときは専用仮想マシンの１つの利用を停止する。なお、第２の基準値は少なくとも第１の基準値より小さい値を設定する。例えば、ＣＰＵの使用量のうち利用率が２０％を以下の場合には、十分な処理速度が確保できるので、ＣＰＵの利用率が２０％以下であるときは、専用仮想マシンの１つを解放することによって専用仮想マシンを１つの利用を停止する。図３の例では、ユーザグループＭ２は専用仮想マシンを２つ利用しているが、リソースの利用率が第２の基準値を下回るので１つ専用仮想マシンを解放している。
【００３７】
監視手段２８は、仮想マシン起動手段２２、専用仮想マシン設定手段２５、および機能提供手段２７とを監視し、共通仮想マシンの起動数、共通仮想マシンから専用仮想マシンへの変更、および専用仮想マシンのリソースの利用率の監視を行う。
【００３８】
接続手段２９は、複数の共有仮想マシンの各々は、共通アプリケーションに用いるデータの読み書きが可能な記憶部３１を、専用仮想マシンに接続する。記憶部３１は、クラウドにおかれる仮想記憶部が好ましく、パラメータの設定を行うことにより、ユーザに対して専用の記憶部として設定される。仮想記憶部は、クラウドにあるデータを記憶するためのストレージを指し、例えば、ｂｏｘ（登録商標）、Ｄｒｏｐｂｏｘ（登録商標）、Ｏｎｅｄｒｉｖｅ（登録商標）、ＧｏｏｇｌｅＤｒｉｖｅ（登録商標）などが挙げられる。これらの仮想規装置に、各ユーザまたはユーザグループ単位でアクセス可能な記憶領域を専用仮想記憶部として設け、接続手段２９は、専用仮想マシン上のアプリケーションから読み書きが可能になるように接続するための設定を行う。なお、特定のユーザが利用な仮想記憶部は、専用仮想マシンが解放された後も、同じユーザ用の専用仮想マシンが起動されたときは再度同じ仮想記憶部に接続することができるように、接続手段２９が設定を行う。これにより、ユーザは、ログインする度に常に同じ仮想記憶部を利用することができる。つまり、例えば、病院Ｍ１が仮想記憶部にアクセスする度に、前回ログアウトする前と同じ状態でデータが記憶されている。以下、記憶部３１を仮想記憶部３１として説明する。
【００３９】
次に、図４および図５のフローチャートに従ってアプリケーション提供システムの処理の流れについて説明する。図４は、共通仮想マシンを起動する処理の流れを示すフローチャートである。図５は、起動されている共通仮想マシンから専用仮想マシンへ変更する処理の流れを示すフローチャートである。本実施の形態では、ユーザグループごとに専用仮想マシンを作成する場合について説明する。なお、本実施形態では、共通仮想マシンを起動する処理と共通仮想マシンから専用仮想マシンへ変更する処理とが、並列で実行される場合について説明する。
【００４０】
まず、図４のフローチャートに従って、共通仮想マシンの起動について説明する。アプリケーション提供サーバ２０は、監視手段２８は、仮想マシン起動手段２２を用いて、仮想マシンを起動し（ステップＳＴ１）、規定値に従って一定のリソースを設定する（ステップＳＴ２）。さらに、仮想マシンにＯＳをインストールした後に（ステップＳＴ３）、共通アプリケーションをアプリケーション記憶手段２３から読みだしてインストールすることで、仮想マシンを共通仮想マシンに変更する（ステップＳＴ４）。共通仮想マシンのカウンターの起動数を１つカウントアップする（ステップＳＴ５）。共通仮想マシンの起動数が所定の数、例えば１０個より多くなるまでステップＳＴ６の判定は否定されステップＳＴ１に戻る。さらに、ステップＳＴ１〜ステップＳＴ６を繰り返して、共通仮想マシンの起動数が所定の数より多くなるまで、共通仮想マシンを起動する処理を実行する。
【００４１】
共通仮想マシンの起動数が所定の数より多くなると、ステップＳＴ６の判定は肯定され共通仮想マシンの起動は一旦停止する。このまま、起動数が所定の数以下になるまで待ちの状態になり、ステップＳＴ７の判定は否定される。共通仮想マシンが専用仮想マシンに変更されると（詳細は、後述する）、共通仮想マシンの起動数が減り、共通仮想マシンの起動数が所定値以下になる。共通仮想マシンの起動数が所定値以下になったことを検出すると、ステップＳＴ７の判定が肯定されステップＳＴ１に戻って、ステップＳＴ１〜ステップＳＴ６を実行して新たな共通仮想マシンを起動する。
【００４２】
次に、図５のフローチャートに従って、起動されている共通仮想マシンから専用仮想マシンへ変更する処理の流れについて説明する。例えば、病院Ｍ１のユーザがＩＤを入力してログインの操作を行なうと、アクセス制御手段２４は、ユーザグループＭ１のＩＤの認証を行い、認証が完了するとステップＳＴ１０の判定が肯定される。続いて、監視手段２８は、専用仮想マシン設定手段２５を用いて、共通アプリケーションに病院Ｍ１に対応するパラメータをパラメータ記憶手段２６から読みだして、共通仮想マシンにログインした病院Ｍ１の専用パラメータを共通アプリケーションに設定して、共通仮想マシンの１つを病院Ｍ１の専用仮想マシンに変更する（ステップＳＴ１１）。具体的には、病院Ｍ１に対応した画像処理の画像処理パラメータの設定と、病院Ｍ１に対応した診断レポート作成支援処理の診断レポートの書式の設定を行う。また、接続手段２９は、ユーザグループＭ１の専用の仮想記憶部３１、例えばＧｏｏｇｌｅＤｒｉｖｅに接続するためのパラメータの設定を行う（ステップＳＴ１２）。この設定により、アプリケーションに用いるデータの専用の仮想記憶部３１への読み書きが可能になる。
【００４３】
以上の設定が終了すると、アクセス制御手段２４は、ユーザの専用仮想マシンへのアクセスを許可する（ステップＳＴ１３）。これにより、端末装置１０からアプリケーション提供サーバ２０からアプリケーションの利用が可能になる。例えば、病院Ｍ１の端末装置１０から病院Ｍ１で撮影された画像データをアプリケーション提供サーバ２０に送信して、アプリケーション提供サーバ２０で画像処理を実行させ、画像処理結果を端末装置１０で受信することが可能になる。さらに、その画像データおよび画像処理結果を、ユーザグループＭ１の専用の仮想記憶部３１に記憶させることが可能になる。あるいは、アプリケーション提供サーバ２０で診断レポート作成支援処理実行させ、端末装置１０の入力に従って診断レポートを作成して、病院のローカルエリアネットワークに接続した診断レポートデータベース記憶することができる。
【００４４】
ステップＳＴＳＴ１１〜ステップＳＴ１３の処理で、共通仮想マシンの１つを専用仮想マシンに変更したので、共通仮想マシンの起動数を１つカウントダウンする（ステップＳＴ１４）。続いて、専用仮想マシンのリソースの利用率を計算する（ステップＳＴ１５）。利用率が第１の基準値、例えば８０％以上であればステップＳＴ１６の判定は否定される。機能提供手段２７は、ユーザの専用仮想マシンのリソースが不足して専用仮想マシンの処理能力が低下しないように、ステップＳＴ１１に戻って、専用仮想マシン設定手段２５により共通仮想マシンの１つにユーザグループＭ１に対応するパラメータを設定して専用仮想マシンを追加する。さらに、接続手段２９は、追加された専用仮想マシンをユーザグループＭ１の専用の仮想記憶部３１に接続するための設定を行い（ステップＳＴ１２）、ユーザの専用仮想マシンへのアクセスを許可する（ステップＳＴ１３）。また、共通仮想マシンの起動数を１つカウントダウンする（ステップＳＴ１４）。以上のように、専用仮想マシンの処理能力が低下すると、随時、共通仮想マシンの１つを専用仮想マシンに変更することで、処理能力を一定以上に保つようにする。
【００４５】
共通仮想マシンを専用仮想マシンに変更すると共通仮想マシンの起動数は減っていく。そこで、図４に示す共通仮想マシンを起動する処理において、監視手段２８が、共通仮想マシンの起動数が所定値以下になったことを検出し、ステップＳＴ７の判定が肯定され、ステップＳＴ１〜ステップＳＴ６を繰り返して、所定数になるまで共通仮想マシンを起動する。
【００４６】
図５に戻って、専用仮想マシンのリソースの利用率が低い場合について説明する。リソースの利用率が８０％以下の場合には、ステップＳＴ１６の判定が否定され、さらに、リソースの利用率が第２の基準値以下であるか否かが判定される。例えば、利用率が２０％以下である場合には、利用率が低く必要以上にリソースを確保していると考えられるが、リソースの利用率が２０％〜８０％である場合には適切に専用仮想マシンが起動されていると考えられる。例えば、リソースの利用率が４０％であれば、ステップＳＴ１７の判定が否定され、再度リソースの利用率を計測しリソースの利用率に変化が起こるまで繰り返し、ステップＳＴ１５〜ステップＳＴ１７を繰り返してリソースの利用率を監視する。
【００４７】
リソースの利用率が２０％以下になり、かつ、ユーザグループＭ１の専用仮想マシンの数が２つ以上ある場合には（ステップＳＴ１７とステップＳＴ１８の判定が肯定される）、必要以上にリソースを確保しているので、機能提供手段２７は、ユーザグループＭ１の専用仮想マシンの１つを解放する。ユーザがログアウトするまでは、ステップＳＴ２０の判定は否定され、ステップＳＴ１５に戻ってリソースの利用率を再度計測する。以上のように、ユーザがログアウトするまでは、専用仮想マシンのリソースの利用率を計算しながら、共通仮想マシンを専用仮想マシンに変更する処理と、専用仮想マシンを解放する処理を繰り返して、ユーザが使用する専用仮想マシンのリソースが適切な範囲で確保されるようにする。
【００４８】
ユーザがログアウトすると、アクセス制御手段２４は全ての専用仮想マシンを解放する。このように、ユーザがログアウトされると全ての専用仮想マシンを解放して、再利用しないようにすることで、他のユーザが利用した共通仮想マシンを利用することがないので、専用仮想マシンに他のユーザが使ったデータが残ることがないので、機密性を高めることが可能である。
【００４９】
上述では、１つのアカウントを使ってログインしている場合について説明したが、ユーザグループで複数のアカウントからユーザがログインしていてもよく、ユーザグループ単位で、専用仮想マシンが割り当てられる。また、この場合に、全ての専用仮想マシンが解放されるのは、ユーザグループの全てのユーザがログアウトした場合である。
【００５０】
以上詳細に説明したように、共通仮想マシンを予め要しておいて、必要に応じて共通仮想マシンを専用仮想マシンに変更することで、時間をかけずにリソースの割り当てを変えることが可能になり、常に、ユーザに快適なアプリケーションの実行環境を提供することができる。
【００５１】
なお、上記実施の形態において、アプリケーション提供サーバの各種の処理を実行する処理部（processing unit)のハードウェア的な構造は、次に示すような各種のプロセッサ（processor）である。各種のプロセッサには、ソフトウエア（プログラム）を実行して各種の処理部として機能する汎用的なプロセッサであるＣＰＵ（Central Processing Unit)、ＦＰＧＡ (Field Programmable Gate Array) などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス（Programmable Logic Device:ＰＬＤ）、またはＡＳＩＣ（Application Specific Integrated Circuit）などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
【００５２】
１つの処理部は、これら各種のプロセッサのうちの１つで構成されてもよいし、同種または異種の２つ以上のプロセッサの組み合せ（例えば、複数のＦＰＧＡ、またはＣＰＵとＦＰＧＡの組み合わせ等）で構成されてもよい。また、複数の処理部を１つのプロセッサで構成してもよい。複数の処理部を１つのプロセッサで構成する例としては、第１に、クライアントやサーバ等のコンピュータに代表されるように、１つ以上のＣＰＵとソフトウエアの組み合わせで１つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第２に、システムオンチップ（System On Chip:ＳｏＣ）等に代表されるように、複数の処理部を含むシステム全体の機能を１つのＩＣ（Integrated Circuit）チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの１つ以上を用いて構成される。
【符号の説明】
【００５３】
１     アプリケーション提供システム
１０   端末装置
２０   アプリケーション提供装置（アプリケーション提供サーバ）
２２   仮想マシン起動手段
２３   アプリケーション記憶手段
２４   アクセス制御手段
２５   専用仮想マシン設定手段
２６   パラメータ記憶手段
２７   機能提供手段
２８   監視手段
２９   接続手段
３０   ネットワーク
３１   記憶装置
Ｍ１，Ｍ２，Ｍｎ     医療機関（病院）
【図１】
2019149129.tif 000003
【図２】
2019149129.tif 000004
【図３】
2019149129.tif 000005
【図４】
2019149129.tif 000006
【図５】
2019149129.tif 000007