(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-28
(45)【発行日】2022-11-08
(54)【発明の名称】アプリケーション提供装置、アプリケーション提供方法、およびアプリケーション提供プログラム
(51)【国際特許分類】
G06F 9/50 20060101AFI20221031BHJP
G06F 8/61 20180101ALI20221031BHJP
G06F 9/455 20060101ALI20221031BHJP
【FI】
G06F9/50 120A
G06F8/61
G06F9/455 150
(21)【出願番号】P 2018035194
(22)【出願日】2018-02-28
【審査請求日】2020-01-27
【審判番号】
【審判請求日】2021-09-30
(73)【特許権者】
【識別番号】306037311
【氏名又は名称】富士フイルム株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】原田 選
【合議体】
【審判長】須田 勝巳
【審判官】篠原 功一
【審判官】児玉 崇晶
(56)【参考文献】
【文献】特表2018-503896(JP,A)
【文献】国際公開第2008/084826(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455 - 9/54
(57)【特許請求の範囲】
【請求項1】
共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動手段と、
前記複数の共通仮想マシンの各々に設定された前記共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータ
を設定することにより、共通仮想マシンを、前記パラメータの設定が行われた特定のユーザの専用仮想マシンとして設定する専用仮想マシン設定手段と、
前記専用仮想マシンのリソースが不足する場合に、前記パラメータの設定が行われていない共通仮想マシンの少なくとも1つを、前記リソースが不足する専用仮想マシンに対応する前記特定のユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供手段とを備え、
前記複数の共通仮想マシンの各々は、前記共通アプリケーションプログラムに用いるデータの読み書きが可能な仮想記憶部を有し、
前記パラメータの設定により、前記特定のユーザの前記専用仮想マシンに対して前記仮想記憶部が専用の専用仮想記憶部として設定され、
前記特定のユーザの1つ以上の前記専用仮想マシンから前記専用仮想記憶部にアクセス可能に接続する接続手段をさらに備えたアプリケーション提供装置。
【請求項2】
前記接続手段は、前記特定のユーザの1つの前記専用仮想マシンが解放された後に、再度、前記特定のユーザの別の前記専用仮想マシンが起動されたときは、前記1つの前記専用仮想マシンに接続された専用仮想記憶部に、前記別の前記専用仮想マシンを接続する請求項1記載のアプリケーション提供装置。
【請求項3】
1つのユーザが利用する複数の専用仮想マシンのリソースの利用率が基準値以下である場合には、前記機能提供手段が、前記1つのユーザの複数の専用仮想マシンの少なくとも1つの利用を停止する請求項1または2に記載のアプリケーション提供装置。
【請求項4】
前記複数の共通仮想マシンの各々は、一定のリソースが割り当てられた仮想マシンである請求項1~3のいずれか1項に記載のアプリケーション提供装置。
【請求項5】
前記複数のユーザの各々が、病院であり、
前記共通アプリケーションプログラムが、画像処理を行なうプログラム、または診断レポート作成支援処理を行なうプログラムを含み、
前記パラメータの設定が、前記画像処理を行なうプログラムの場合には、前記病院に対応した前記画像処理の画像処理パラメータの設定であり、前記診断レポート作成支援処理を行なうプログラムの場合には、前記病院に対応した前記診断レポート作成支援処理の診断レポートの書式の設定である請求項1~4のいずれか1項に記載のアプリケーション提供装置。
【請求項6】
アプリケーション提供装置が、
共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動ステップと、
前記複数の共通仮想マシンの各々に設定された前記共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータ
を設定することにより、共通仮想マシンを、前記パラメータの設定が行われた特定のユーザの専用仮想マシンとして設定する専用仮想マシン設定ステップと、
前記専用仮想マシンのリソースが不足する場合に、前記パラメータの設定が行われていない共通仮想マシンの少なくとも1つを、前記リソースが不足する専用仮想マシンに対応する前記特定のユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供ステップとを実行し、
前記複数の共通仮想マシンの各々は、前記共通アプリケーションプログラムに用いるデータの読み書きが可能な仮想記憶部を有し、
前記パラメータの設定により、前記特定のユーザの前記専用仮想マシンに対して前記仮想記憶部が専用の専用仮想記憶部として設定され、
前記特定のユーザの1つ以上の前記専用仮想マシンから前記専用仮想記憶部にアクセス可能に接続する接続ステップをさらに実行するアプリケーション提供方法。
【請求項7】
コンピュータに、
共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動ステップと、
前記複数の共通仮想マシンの各々に設定された前記共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータ
を設定することにより、共通仮想マシンを、前記パラメータの設定が行われた特定のユーザの専用仮想マシンとして設定する専用仮想マシン設定ステップと、
前記専用仮想マシンのリソースが不足する場合に、前記パラメータの設定が行われていない共通仮想マシンの少なくとも1つを、前記リソースが不足する専用仮想マシンに対応する前記特定のユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供ステップとを実行させ、
前記複数の共通仮想マシンの各々は、前記共通アプリケーションプログラムに用いるデータの読み書きが可能な仮想記憶部を有し、
前記パラメータの設定により、前記特定のユーザの前記専用仮想マシンに対して前記仮想記憶部が専用の専用仮想記憶部として設定され、
前記特定のユーザの1つ以上の前記専用仮想マシンから前記専用仮想記憶部にアクセス可能に接続する接続ステップをさらに実行させるためのアプリケーション提供プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーション提供装置、アプリケーション提供方法、およびアプリケーション提供プログラムに関する。
【背景技術】
【0002】
近年、様々なクラウドサービスが提供されるようになり、クラウドを利用したデータの保存をはじめとして、高価なコンピュータを保有することなくクラウドを利用したアプリケーションソフトウェア(以下、単にアプリケーションという)が提供されるようになってきた。このようなASP(Application Service Provider)サービスを利用することで、ハードウェアの保守、運用、および管理をクラウドを提供する企業に一任することでコストおよび人的リソースの削減が図られている。
【0003】
医療分野においては、画像処理技術の進歩により診断性能が向上してきている。特に、近年では、ニューラルネットワークを利用した深層学習を用いることで病変の認識精度が向上している。このような新しい技術を利用するには、高性能なコンピュータが必要になる。また、病院によって利用する機能が異なり、それに合わせて異なる設定を行う必要がある。
【0004】
現在、アプリケーションは複数のメーカーのコンピュータに対応することが可能になっているが、ユーザにアプリケーションを提供する際には、ユーザが所有するコンピュータのメーカー、台数、および利用可能なネットワークの種類に応じて異なる環境の設定を行う必要がある。そこで、特許文献1では、サービスに含まれるアプリケーションを特定するとともにユーザ端末のプロファイルを抽出しておいて、特定されたアプリケーションの設定用テンプレートに基づいて、ユーザ端末に適用可能なオリジナルの設定用ファイルを自動的に生成している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
医療分野においてもASPサービスを利用して、診断に利用するアプリケーションを提供することが検討されている。しかし、病院ごとに利用する機能に応じた異なる設定が必要であったり、利用率に応じて必要なアカウント数、およびリソース(CPU、メモリ、ハードディスク、およびネットワークなど)の割当を設定したりする必要がある。ASPサービスを利用するメリットの一つは、高価なコンピュータを保有することなく、新しいアプリケーションを利用できる点にあるが、提供されるサービスに対応する費用が発生するため、必要以上にアカウント数を増やしたり、リソースの割当を増やしたりすると、費用が高くつきASPサービスを利用するメリットがなくなる。また、医療で扱うデータは個人情報であるため、機密保護の観点からも提供されるサービスが高価になる。
【0007】
そこで、本発明では、上述のような問題を解決するために、適切なリソースを確保してアプリケーションの実行環境を提供できるクラウドの仕組みを提供するためのアプリケーション提供装置、アプリケーション提供方法、およびアプリケーション提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明のアプリケーション提供装置は、共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動手段と、複数の共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定手段と、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも1つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供手段と、を備える。
【0009】
本発明のアプリケーション提供方法は、アプリケーション提供装置が、共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動ステップと、複数の共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定ステップと、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも1つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供ステップと、を実行する。
【0010】
本発明のアプリケーション提供プログラムは、コンピュータに、共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動する仮想マシン起動ステップと、複数の共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定ステップと、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも1つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する機能提供ステップと、を実行させるためのアプリケーション提供プログラム。
【0011】
「リソース」とは、コンピュータの物理的な資源をいい、例えば、コンピュータのCPU、メモリ、ストレージ、およびネットワークなどである。
【0012】
また、1つのユーザが利用する複数の専用仮想マシンのリソースの利用率が基準値以下である場合には、機能提供手段が、1つのユーザの複数の専用仮想マシンの少なくとも1つの利用を停止するものが望ましい。
【0013】
また、複数の共通仮想マシンの各々は、一定のリソースが割り当てられた仮想マシンであったもよい。
【0014】
また、複数のユーザの各々が、病院である場合には、共通アプリケーションプログラムが、画像処理を行なうプログラム、または診断レポート作成支援処理を行なうプログラムを含み、パラメータの設定が、画像処理を行なうプログラムの場合には、病院に対応した画像処理の画像処理パラメータの設定であり、診断レポート作成支援処理を行なうプログラムの場合には、病院に対応した診断レポート作成支援処理の診断レポートの書式の設定である。
【0015】
また、複数の共有仮想マシンの各々は、共通アプリケーションプログラムに用いるデータの読み書きが可能な記憶部を有し、パラメータの設定により、パラメータの設定が行なわれたユーザに対して記憶部が専用の記憶部として設定してもよい。
【0016】
本発明のアプリケーション提供装置は、共通アプリケーションプログラムが各々設定された複数の共通仮想マシンの各々を起動し、複数の共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定し、パラメータの設定が行われたユーザの専用仮想マシンとして設定する専用仮想マシン設定手段と、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも1つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する処理を実行する。
【発明の効果】
【0017】
本発明によれば、適切なリソースを確保してアプリケーションの実行環境を提供できるクラウドの仕組みを提供することが可能になる。
【図面の簡単な説明】
【0018】
【
図1】アプリケーション提供システムの概略構成の一例を示す図である。
【
図2】本実施の形態のアプリケーション提供装置の一例を示す概略構成図である。
【
図3】仮想マシンから専用仮想マシンの変更を説明するための図である。
【
図4】共通仮想マシンを起動する処理の流れを示すフローチャートの一例である。
【
図5】起動されている共通仮想マシンから専用仮想マシンへ変更する処理の流れを示すフローチャートの一例である。
【発明を実施するための形態】
【0019】
図1に、本発明の第1の実施の形態におけるアプリケーション提供システム1の概略構成を示す。本実施の形態では、アプリケーションが医療機関に提供される画像処理である場合について説明する。アプリケーション提供システム1は、複数の医療機関M
1,M
2・・・M
nに設置される複数の端末装置10とクラウド側に置かれるアプリケーション提供装置20(以下、アプリケーション提供サーバ20という)がネットワーク30で接続されて構成される。
【0020】
アプリケーション提供サーバ20は、CPU(Central Processing Unit)、メモリ、ストレージ、入出力インターフェース、通信インターフェース、および、データバス等の周知のハードウェア構成を備えたコンピュータである。また、必要に応じてGPU(Graphics Processing Unit)を設けるようにしてもよい。本発明のアプリケーション提供プログラムがコンピュータにインストールされ、CPUによってプログラムの命令が実行されることによりアプリケーション提供サーバ20として機能する。また、アプリケーション提供サーバ20には、ハイパーバイザなどがインストールされる。
【0021】
アプリケーション提供プログラムは、ネットワークストレージまたはネットワークに接続されたサーバコンピュータの記憶装置に、外部からアクセス可能な状態で記憶され、外部からの要求に応じてコンピュータにダウンロードされた後にインストールされる。あるいは、アプリケーション提供プログラムは、DVD(Digital Versatile Disc)およびCD-ROM(Compact Disc Read Only Memory)などの記録媒体に記録されて配布され、その記録媒体からコンピュータにインストールされてもよい。
【0022】
ハイパーバイザ上には、複数の仮想マシンが設けられ、各仮想マシン上で実行可能なオペレーティングシステム(以下、OSという)を搭載し、搭載されたOSにアプリケーションがインストールされる。また、ハイパーバイザは、各仮想マシンが利用可能なI/Oデバイスのサポート、メモリ管理、または外部記憶装置の管理などを管理する機能を備えている。
【0023】
ハイパーバイザは、ハードウェア上で直接動作し、全てのOSはそのハイパーバイザの仮想マシン上で動作する方式であってもよい。あるいは、ハイパーバイザは、ハードウェア上でまずホストOSが稼働し、その上でハイパーバイザがホストOSのアプリケーションとして稼働して、さらに、ハイパーバイザの上で稼働する仮想マシンで更に別のゲストOSを稼働させる方式であってもよい。
【0024】
端末装置10は、各医療機関M1,M2・・・Mnに設けられたコンピュータであり、CPU、メモリ、ストレージ、入出力インターフェース、通信インターフェース、入力装置、表示装置、および、データバス等の周知のハードウェア構成を備え、表示装置としてディスプレイを有している。また、端末装置10には、周知のオペレーションシステムなどがインストールされる。
【0025】
また、端末装置10は、ローカルエリアネットワーク(LAN:Local Area Network)を介して、各医療機関M1,M2・・・Mnの医療情報システムに接続されている(不図示)。また、医療情報システムは、各種モダリティで撮影された患者の画像データを記憶する画像データベースと、診断結果を記録した診断レポートを記憶する診断レポートデータベースとを備えている。例えば、モダリティはCT(Computed Tomography)装置、MRI(Magnetic Resonance Imaging)装置、PET装置(Positron Emission Tomography:陽電子放射断層撮影装置)、超音波装置、または、平面X線検出器(FPD:flat panel detector)を用いたCR装置(Computed Radiography:コンピュータX線撮影装置)などが挙げられる。以下、医療機関を病院として説明する。
【0026】
次に、アプリケーション提供サーバ20の機能について説明する。
図2に示すように、アプリケーション提供プログラムが、CPU21によって実行されることにより、仮想マシン起動手段22、アプリケーション記憶手段23、アクセス制御手段24、専用仮想マシン設定手段25、パラメータ記憶手段26、機能提供手段27、監視手段28、および接続手段29として機能する。
【0027】
仮想マシン起動手段22は、共通アプリケーションが各々設定された複数の共通仮想マシンの各々を起動する。共通仮想マシンは、仮想マシンに、例えば、MS Windows(登録商標)、またはUnix(登録商標)などのOSがインストールされ、さらにア共通のアプリケーションが仮想マシンのOSにインストールされたマシンである。共通のアプリケーションは、複数のユーザに同じ機能を提供するために必要なアプリケーションであり、共通仮想マシンには、特定の機能(例えば、画像処理)を提供するために必要な基本的なアプリケーションが全てインストールされている。また、全ての共通仮想マシンは、一定のリソースが割り当てられるように設定する。リソースは、例えば、CPUの使用量、ストレージの容量、メモリの容量、ネットワーク帯域、または、同時にアクセス可能なアクセス数などが挙げられる。
【0028】
アプリケーション記憶手段23には、複数のユーザが使用する共通アプリケーションのプログラムが記憶されている。共通アプリケーションは、例えば、画像処理プログラムなど標準的な機能を実行するためのプログラムである。また、ユーザが病院の場合には、共通アプリケーションには、画像処理を行なうプログラム、または診断レポート作成支援処理を行なうプログラムなどが含まれる。
【0029】
専用仮想マシン設定手段25は、共通仮想マシンの各々に設定された共通アプリケーションプログラムに、複数のユーザのいずれかのユーザに対するパラメータが設定された共通仮想マシンを、パラメータの設定が行われたユーザの専用仮想マシンとして設定する。あるいは、病院M1,M2・・・Mnのように1つの病院から複数のユーザが同時にアクセスする場合には、複数のユーザからなるユーザグループごとに専用のパラメータを用意して、そのパラメータを共通仮想マシンに設定してユーザグループの専用仮想マシンに変更してもよい。
【0030】
パラメータは、画像処理を行なうプログラムの場合には、病院に対応した画像処理の画像処理パラメータの設定であり、診断レポート作成支援処理を行なうプログラムの場合には、病院に対応した診断レポート作成支援処理の診断レポートの書式の設定である。
【0031】
パラメータ記憶手段26は、各ユーザごと(またはユーザグループごと)に、共通アプリケーションに設定するパラメータを記憶している。パラメータは、例えば、アクセス時に入力されるユーザの識別情報のID(identification)に応じた専用のパラメータを用意して、パラメータ記憶手段26にIDと対応付けて記憶する。
【0032】
また、アプリケーション記憶手段23およびパラメータ記憶手段26は、アプリケーション提供サーバ20のストレージに設けられる。あるいは、ネットワークに接続されたNAS(Network Attached Storage)やSAN(Storage Area Network)に接続されたディスク装置に設けてもよい。
【0033】
アクセス制御手段24は、端末装置10からユーザがログインするときに入力されたIDの入力を受け付け、IDに認証を行いない正当なユーザのIDである場合には、ユーザの専用仮想マシンに対してアクセスが可能になるように制御する。また、ユーザがログアウトすると利用していた専用仮想マシンは全て解放する。あるいは、ユーザグループに属する全てのユーザがログアウトすると専用仮想マシンは全て解放する。
【0034】
図3は、
図1に示す病院にユーザグループが割り当てられているときの、共通仮想マシン、専用仮想マシン、および専用パラメータの関係を示す。仮想マシン起動手段22によって起動された複数の共通仮想マシンが共通仮想マシンプールPに蓄えられている。蓄えられている共通仮想マシンの1つにユーザグループM
1用のパラメータM
1を設定すると、ユーザグループM
1の専用仮想マシンに変更され、ユーザグループM1のIDを用いてアクセスすることが可能になる。同様に、蓄えられている共通仮想マシンの1つに、ユーザグループM
2用のパラメータM
2を設定するとユーザグループM
2のIDでアクセスできる専用仮想マシンに変更され、ユーザグループM
n用のパラメータM
nを設定するとユーザグループM
nのIDでアクセスできる専用仮想マシンに変更される。
【0035】
機能提供手段27は、専用仮想マシンのリソースが不足する場合に、パラメータの設定が行なわれていない共通仮想マシンの少なくとも1つを、リソースが不足する専用仮想マシンに対応するユーザの他の専用仮想マシンとして設定を追加して機能を提供する。複数のユーザのうちの1つのユーザの専用仮想マシンのリソースが不足する場合に、専用仮想マシン設定手段25により共通仮想マシンの1つをそのユーザの専用仮想マシンとして追加して、アプリケーションによる機能を1つのユーザ(または、ユーザグループ)に提供する。例えば、専用仮想マシンのリソースを周期的に計測しておき、リソースが第1の基準値以上の利用率である場合には、リソースが足らないと判定する。特定のユーザが利用している専用仮想マシンに割り当てられたCPUの使用量のうち利用率が、例えば80%を超える場合には、現在実行している処理に加えて他の処理が実行されると、ユーザが快適と感じる処理速度は保てなくなる可能性が高い。そこで、例えば、CPUの利用率80%を第1の基準値として、リソースが不足しているか否かを判定し、80%を超えているときは、リソースが不足しているので専用仮想マシンを追加する。
図3の例では、ユーザグループM
nは専用仮想マシンを1つだけ利用しているが、ユーザグループM
1は専用仮想マシンが追加され3つ利用している。また、ユーザグループM
2は専用仮想マシンを2つ利用している。リソースが不足しているか否かの判定は、CPUの利用率だけではなく、ストレージの空き容量、メモリの利用率、ネットワーク帯域、または、同時にアクセスしているアクセス数など複数の要因が存在するので、これらの要因を組み合わせて基準を設けるのが好ましい。
【0036】
あるいは、機能提供手段27は、1つのユーザが利用する複数の専用仮想マシンのリソースの利用率が基準値以下である場合には、そのユーザの複数の専用仮想マシンの少なくとも1つの利用を停止する。例えば、専用仮想マシンのリソースを周期的に計測しておき、リソースが第2の基準値以下の利用率である場合には、リソースに余裕があるので複数の専用仮想マシンが起動されているときは専用仮想マシンの1つの利用を停止する。なお、第2の基準値は少なくとも第1の基準値より小さい値を設定する。例えば、CPUの使用量のうち利用率が20%を以下の場合には、十分な処理速度が確保できるので、CPUの利用率が20%以下であるときは、専用仮想マシンの1つを解放することによって専用仮想マシンを1つの利用を停止する。
図3の例では、ユーザグループM
2は専用仮想マシンを2つ利用しているが、リソースの利用率が第2の基準値を下回るので1つ専用仮想マシンを解放している。
【0037】
監視手段28は、仮想マシン起動手段22、専用仮想マシン設定手段25、および機能提供手段27とを監視し、共通仮想マシンの起動数、共通仮想マシンから専用仮想マシンへの変更、および専用仮想マシンのリソースの利用率の監視を行う。
【0038】
接続手段29は、複数の共有仮想マシンの各々は、共通アプリケーションに用いるデータの読み書きが可能な記憶部31を、専用仮想マシンに接続する。記憶部31は、クラウドにおかれる仮想記憶部が好ましく、パラメータの設定を行うことにより、ユーザに対して専用の記憶部として設定される。仮想記憶部は、クラウドにあるデータを記憶するためのストレージを指し、例えば、box(登録商標)、Dropbox(登録商標)、Onedrive(登録商標)、GoogleDrive(登録商標)などが挙げられる。これらの仮想規装置に、各ユーザまたはユーザグループ単位でアクセス可能な記憶領域を専用仮想記憶部として設け、接続手段29は、専用仮想マシン上のアプリケーションから読み書きが可能になるように接続するための設定を行う。なお、特定のユーザが利用な仮想記憶部は、専用仮想マシンが解放された後も、同じユーザ用の専用仮想マシンが起動されたときは再度同じ仮想記憶部に接続することができるように、接続手段29が設定を行う。これにより、ユーザは、ログインする度に常に同じ仮想記憶部を利用することができる。つまり、例えば、病院M1が仮想記憶部にアクセスする度に、前回ログアウトする前と同じ状態でデータが記憶されている。以下、記憶部31を仮想記憶部31として説明する。
【0039】
次に、
図4および
図5のフローチャートに従ってアプリケーション提供システムの処理の流れについて説明する。
図4は、共通仮想マシンを起動する処理の流れを示すフローチャートである。
図5は、起動されている共通仮想マシンから専用仮想マシンへ変更する処理の流れを示すフローチャートである。本実施の形態では、ユーザグループごとに専用仮想マシンを作成する場合について説明する。なお、本実施形態では、共通仮想マシンを起動する処理と共通仮想マシンから専用仮想マシンへ変更する処理とが、並列で実行される場合について説明する。
【0040】
まず、
図4のフローチャートに従って、共通仮想マシンの起動について説明する。アプリケーション提供サーバ20は、監視手段28は、仮想マシン起動手段22を用いて、仮想マシンを起動し(ステップST1)、規定値に従って一定のリソースを設定する(ステップST2)。さらに、仮想マシンにOSをインストールした後に(ステップST3)、共通アプリケーションをアプリケーション記憶手段23から読みだしてインストールすることで、仮想マシンを共通仮想マシンに変更する(ステップST4)。共通仮想マシンのカウンターの起動数を1つカウントアップする(ステップST5)。共通仮想マシンの起動数が所定の数、例えば10個より多くなるまでステップST6の判定は否定されステップST1に戻る。さらに、ステップST1~ステップST6を繰り返して、共通仮想マシンの起動数が所定の数より多くなるまで、共通仮想マシンを起動する処理を実行する。
【0041】
共通仮想マシンの起動数が所定の数より多くなると、ステップST6の判定は肯定され共通仮想マシンの起動は一旦停止する。このまま、起動数が所定の数以下になるまで待ちの状態になり、ステップST7の判定は否定される。共通仮想マシンが専用仮想マシンに変更されると(詳細は、後述する)、共通仮想マシンの起動数が減り、共通仮想マシンの起動数が所定値以下になる。共通仮想マシンの起動数が所定値以下になったことを検出すると、ステップST7の判定が肯定されステップST1に戻って、ステップST1~ステップST6を実行して新たな共通仮想マシンを起動する。
【0042】
次に、
図5のフローチャートに従って、起動されている共通仮想マシンから専用仮想マシンへ変更する処理の流れについて説明する。例えば、病院M
1のユーザがIDを入力してログインの操作を行なうと、アクセス制御手段24は、ユーザグループM
1のIDの認証を行い、認証が完了するとステップST10の判定が肯定される。続いて、監視手段28は、専用仮想マシン設定手段25を用いて、共通アプリケーションに病院M
1に対応するパラメータをパラメータ記憶手段26から読みだして、共通仮想マシンにログインした病院M
1の専用パラメータを共通アプリケーションに設定して、共通仮想マシンの1つを病院M
1の専用仮想マシンに変更する(ステップST11)。具体的には、病院M
1に対応した画像処理の画像処理パラメータの設定と、病院M
1に対応した診断レポート作成支援処理の診断レポートの書式の設定を行う。また、接続手段29は、ユーザグループM
1の専用の仮想記憶部31、例えばGoogleDriveに接続するためのパラメータの設定を行う(ステップST12)。この設定により、アプリケーションに用いるデータの専用の仮想記憶部31への読み書きが可能になる。
【0043】
以上の設定が終了すると、アクセス制御手段24は、ユーザの専用仮想マシンへのアクセスを許可する(ステップST13)。これにより、端末装置10からアプリケーション提供サーバ20からアプリケーションの利用が可能になる。例えば、病院M1の端末装置10から病院M1で撮影された画像データをアプリケーション提供サーバ20に送信して、アプリケーション提供サーバ20で画像処理を実行させ、画像処理結果を端末装置10で受信することが可能になる。さらに、その画像データおよび画像処理結果を、ユーザグループM1の専用の仮想記憶部31に記憶させることが可能になる。あるいは、アプリケーション提供サーバ20で診断レポート作成支援処理実行させ、端末装置10の入力に従って診断レポートを作成して、病院のローカルエリアネットワークに接続した診断レポートデータベース記憶することができる。
【0044】
ステップSTST11~ステップST13の処理で、共通仮想マシンの1つを専用仮想マシンに変更したので、共通仮想マシンの起動数を1つカウントダウンする(ステップST14)。続いて、専用仮想マシンのリソースの利用率を計算する(ステップST15)。利用率が第1の基準値、例えば80%以上であればステップST16の判定は否定される。機能提供手段27は、ユーザの専用仮想マシンのリソースが不足して専用仮想マシンの処理能力が低下しないように、ステップST11に戻って、専用仮想マシン設定手段25により共通仮想マシンの1つにユーザグループM1に対応するパラメータを設定して専用仮想マシンを追加する。さらに、接続手段29は、追加された専用仮想マシンをユーザグループM1の専用の仮想記憶部31に接続するための設定を行い(ステップST12)、ユーザの専用仮想マシンへのアクセスを許可する(ステップST13)。また、共通仮想マシンの起動数を1つカウントダウンする(ステップST14)。以上のように、専用仮想マシンの処理能力が低下すると、随時、共通仮想マシンの1つを専用仮想マシンに変更することで、処理能力を一定以上に保つようにする。
【0045】
共通仮想マシンを専用仮想マシンに変更すると共通仮想マシンの起動数は減っていく。そこで、
図4に示す共通仮想マシンを起動する処理において、監視手段28が、共通仮想マシンの起動数が所定値以下になったことを検出し、ステップST7の判定が肯定され、ステップST1~ステップST6を繰り返して、所定数になるまで共通仮想マシンを起動する。
【0046】
図5に戻って、専用仮想マシンのリソースの利用率が低い場合について説明する。リソースの利用率が80%以下の場合には、ステップST16の判定が否定され、さらに、リソースの利用率が第2の基準値以下であるか否かが判定される。例えば、利用率が20%以下である場合には、利用率が低く必要以上にリソースを確保していると考えられるが、リソースの利用率が20%~80%である場合には適切に専用仮想マシンが起動されていると考えられる。例えば、リソースの利用率が40%であれば、ステップST17の判定が否定され、再度リソースの利用率を計測しリソースの利用率に変化が起こるまで繰り返し、ステップST15~ステップST17を繰り返してリソースの利用率を監視する。
【0047】
リソースの利用率が20%以下になり、かつ、ユーザグループM1の専用仮想マシンの数が2つ以上ある場合には(ステップST17とステップST18の判定が肯定される)、必要以上にリソースを確保しているので、機能提供手段27は、ユーザグループM1の専用仮想マシンの1つを解放する。ユーザがログアウトするまでは、ステップST20の判定は否定され、ステップST15に戻ってリソースの利用率を再度計測する。以上のように、ユーザがログアウトするまでは、専用仮想マシンのリソースの利用率を計算しながら、共通仮想マシンを専用仮想マシンに変更する処理と、専用仮想マシンを解放する処理を繰り返して、ユーザが使用する専用仮想マシンのリソースが適切な範囲で確保されるようにする。
【0048】
ユーザがログアウトすると、アクセス制御手段24は全ての専用仮想マシンを解放する。このように、ユーザがログアウトされると全ての専用仮想マシンを解放して、再利用しないようにすることで、他のユーザが利用した共通仮想マシンを利用することがないので、専用仮想マシンに他のユーザが使ったデータが残ることがないので、機密性を高めることが可能である。
【0049】
上述では、1つのアカウントを使ってログインしている場合について説明したが、ユーザグループで複数のアカウントからユーザがログインしていてもよく、ユーザグループ単位で、専用仮想マシンが割り当てられる。また、この場合に、全ての専用仮想マシンが解放されるのは、ユーザグループの全てのユーザがログアウトした場合である。
【0050】
以上詳細に説明したように、共通仮想マシンを予め要しておいて、必要に応じて共通仮想マシンを専用仮想マシンに変更することで、時間をかけずにリソースの割り当てを変えることが可能になり、常に、ユーザに快適なアプリケーションの実行環境を提供することができる。
【0051】
なお、上記実施の形態において、アプリケーション提供サーバの各種の処理を実行する処理部(processing unit)のハードウェア的な構造は、次に示すような各種のプロセッサ(processor)である。各種のプロセッサには、ソフトウエア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPU(Central Processing Unit)、FPGA (Field Programmable Gate Array) などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、またはASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
【0052】
1つの処理部は、これら各種のプロセッサのうちの1つで構成されてもよいし、同種または異種の2つ以上のプロセッサの組み合せ(例えば、複数のFPGA、またはCPUとFPGAの組み合わせ等)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアントやサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウエアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
【符号の説明】
【0053】
1 アプリケーション提供システム
10 端末装置
20 アプリケーション提供装置(アプリケーション提供サーバ)
22 仮想マシン起動手段
23 アプリケーション記憶手段
24 アクセス制御手段
25 専用仮想マシン設定手段
26 パラメータ記憶手段
27 機能提供手段
28 監視手段
29 接続手段
30 ネットワーク
31 記憶装置
M1,M2,Mn 医療機関(病院)