(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-08
(45)【発行日】2023-09-19
(54)【発明の名称】データベース管理システム、クラウド提供システム、データ複製システム、およびプログラム
(51)【国際特許分類】
G06F 11/14 20060101AFI20230911BHJP
G06F 16/11 20190101ALI20230911BHJP
【FI】
G06F11/14 648
G06F16/11
G06F11/14 664
(21)【出願番号】P 2020007768
(22)【出願日】2020-01-21
【審査請求日】2022-07-01
(73)【特許権者】
【識別番号】314005768
【氏名又は名称】PHCホールディングス株式会社
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】松村 健太
(72)【発明者】
【氏名】川上 貞弘
(72)【発明者】
【氏名】木村 幸
(72)【発明者】
【氏名】今井 誠
(72)【発明者】
【氏名】鍋田 洋一
(72)【発明者】
【氏名】山本 博一
(72)【発明者】
【氏名】東芝 宏
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2018-116487(JP,A)
【文献】特開2016-072769(JP,A)
【文献】特開2015-069283(JP,A)
【文献】国際公開第2013/021451(WO,A1)
【文献】加藤 章,新人IT担当者のための クラウド導入&運用がわかる本,第1版,株式会社技術評論社,2016年12月25日,第192頁
【文献】池田 信太朗,バックアップ代行サービス バックアッププラス インターネット経由でバックアップ 安心データセンターを月々1980円で,日経IT21 2001年8月号,日本,日経BP社 Nikkei Business Publications,Inc.,2001年08月01日,第1巻 第2号 ,第139頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/14、11/20
G06F 16/11
(57)【特許請求の範囲】
【請求項1】
クラウドサービスに接続するデータベース管理システムであって、
第1データ、および、当該第1データを読み書きするためのデータベースエンジンを含むデータベースを有するサーバ装置と、
前記第1データ
、または前記第1データの複製データの読み書きを行うクライアント装置と、
を備え、
前記クライアント装置は、
前記サーバ装置と通信可能に接続されており、かつ、前記クラウドサービスに含まれるストレージ機能と接続されている場合に、前
記複製データを前記ストレージ機能に格納さ
せ、
前記サーバ装置と通信できない障害が発生した場合に、前記ストレージ機能との接続を解除した上で、前記クラウドサービスで動作する仮想マシン機能を介して前記ストレージ機能に接続し、前記ストレージ機能に格納された前記複製データの読み書きを行い、
前記障害が解消され、前記サーバ装置との通信が復旧した場合に、前記仮想マシン機能を介した前記ストレージ機能との接続を解除して、前記クライアント装置を前記ストレージ機能に接続し、前記第1データと前記複製データとの差分データを生成し、前記差分データを前記サーバ装置へ転送する、
データベース管理システム。
【請求項2】
前記クライアント装置は、
前記複製データのみを前記ストレージ機能に格納させる、
請求項1に記載のデータベース管理システム。
【請求項3】
前記クライアント装置と前記ストレージ機能との接続を許可または禁止するゲートウェイ装置を更に備え、
前記クライアント装置は、前記
障害が発生した場合に、前記クラウドサービスに対して、前
記仮想マシン機能の起動を要求し、
前記ゲートウェイ装置は、前記仮想マシン機能が起動した後、前記クライアント装置と前記ストレージ機能との接続の許可を取り消し、前記クライアント装置と前記仮想マシン機能との接続を許可する、
請求項1または2に記載のデータベース管理システム。
【請求項4】
前記クライアント装置は、前記仮想マシン機能に接続されている間、前記仮想マシン機能を介して前記複製データの読み書きを行う、
請求項3に記載のデータベース管理システム。
【請求項5】
前記クライアント装置と前記サーバ装置との通信が復旧した場合に、
前記クライアント装置は、前記クラウドサービスに対して、前記仮想マシン機能の停止を要求する、
請求項3または4に記載のデータベース管理システム。
【請求項6】
前記ゲートウェイ装置は、前記仮想マシン機能と前記クライアント装置との接続の許可を取り消して前記クライアント装置と前記ストレージ機能との接続を許
可する、
請求項5に記載のデータベース管理システム。
【請求項7】
前記サーバ装置は、前記差分データを用いて、前記第1データの復元を行う、
請求項6に記載のデータベース管理システム。
【請求項8】
クラウドサービスを提供するクラウド提供システムであって、
前記クラウドサービスは、
前記クラウドサービスに接続されるデータベース管理システム内で扱われるデータベースに含まれ
る第1デー
タの複製データを格納するストレージ機能と、
前記クラウドサービス上で仮想的なコンピュータを動作させる仮想マシン機能と、
前記データベース管理システムからの要求に基づいて、
前記データベース管理システム内の通信障害が発生していない場合には前記データベース管理システムが前記仮想マシン機能を介さずに前記複製データを前記ストレージ機能へ格納できるように、前記通信障害が発生した場合には、前記仮想マシン機能を介して、前記データベース管理システムが前記ストレージ機能に格納された前記複製データの読み書きを実行できるように、前記データベース管理システムと前記ストレージ機能との接続を管理する管理サーバ機能と、
を備える、
クラウド提供システム。
【請求項9】
前記クラウドサービスは、複数の前記ストレージ機能を備え、
複数の前記ストレージ機能のうちの1つは、複数の前記データベース管理システムのうちの1つに対して割り当てられる、
請求項8に記載のクラウド提供システム。
【請求項10】
前記クラウドサービスは、前記データベース管理システムによる前記クラウドサービスへの接続を許可するか否かの認証を行う認証機能を更に備える、
請求項8または9に記載のクラウド提供システム。
【請求項11】
前記クラウドサービスは、前記認証機能により接続が許可された前記データベース管理システムに対して、前記ストレージ機能への接続に必要な情報を提供する接続情報提供機能を更に備える、
請求項10に記載のクラウド提供システム。
【請求項12】
前記クラウドサービスは
、
前記データベース管理システムと前記仮想マシン機能との接続を許可するゲートウェイ機能と、
を更に備え、
前記管理サーバ機能は、前記データベース管理システムからの要求に基づいて、前記データベース管理システムと前記ストレージ機能との接続を遮断し、前記仮想マシン機能を起動し、前記仮想マシン機能と前記ストレージ機能とを接続し、前記ゲートウェイ機能に前記データベース管理システムと前記仮想マシン機能との接続を許可させる、
請求項8から11のいずれか一項に記載のクラウド提供システム。
【請求項13】
前記クラウドサービスは、起動可能な前記仮想マシン機能を複数備え、
複数の前記仮想マシン機能のうちの1つは、起動した状態において、複数の前記データベース管理システムのうちの1つに割り当てられる、
請求項12に記載のクラウド提供システム。
【請求項14】
複数の前記仮想マシン機能は、複数の前記データベース管理システムの前記データベースにおいて共通して使用される共通データベースエンジンを用いて、前記ストレージ機能の読み書きを行う、
請求項13に記載のクラウド提供システム。
【請求項15】
前記管理サーバ機能は、前記データベース管理システムからの要求に基づいて、前記仮想マシン機能を停止し、前記データベース管理システムと前記ストレージ機能との接続を行う、
請求項12から14のいずれか一項に記載のクラウド提供システム。
【請求項16】
クラウドサービスに接続するデータベース管理システムと、
前記クラウドサービスを提供するクラウド提供システムと、
を備え、
前記データベース管理システムは、
第1データ、および、当該第1データを読み書きするためのデータベースエンジンを含むデータベースを有するサーバ装置と、
前記第1データ
、または前記第1データの複製データの読み書きを行うクライアント装置と、
を有し、
前記クラウドサービスは、
ストレージ機能と、
前記クラウドサービス上で仮想的なコンピュータを動作させる仮想マシン機能と、
前記クライアント装置からの要求に基づいて、前記クライアント装置と前記ストレージ機能と
前記仮想マシン機能との接続を
管理する管理サーバ機能と、
を有し、
前記クライアント装置は、
前記サーバ装置と通信可能に接続されており、かつ、前記ストレージ機能
と接続
されている場合に、前
記複製データを前記ストレージ機能に格納さ
せ、
前記サーバ装置と通信できない障害が発生した場合に、前記仮想マシン機能を介して前記ストレージ機能に格納された前記複製データの読み書きを行い、
前記障害が解消され、前記サーバ装置との通信が復旧した場合に、前記仮想マシン機能を介さずに前記ストレージ機能に接続し、前記第1データと前記複製データとの差分データを生成し、前記差分データを前記サーバ装置へ転送する、
データ複製システム。
【請求項17】
第1データおよび当該第1データを読み書きするためのデータベースエンジンを含むデータベースを有するサーバ装置と、前記サーバ装置と通信可能に接続されており、前記第1データ
、または前記第1データの複製データの読み書きを行うクライアント装置と、を備え、クラウドサービスに接続するデータベース管理システムにおいて、前記クライアント装置を構成するコンピュータが実行するプログラムであって、
前記クライアント装置が前記サーバ装置と通信可能に接続されている場合に、前記クラウドサービスに対して、
前記クラウドサービス上で動作する仮想マシン機能を介さずに前記クラウドサービスに含まれるストレージ機能との接続を要求する手順と、
前記ストレージ機能との接続が行われている場合に、前記データベースに含まれる前
記複製データを前記ストレージ機能に格納させる手順と、
前記クライアント装置と前記サーバ装置とが通信できない障害が発生した場合に、前記仮想マシン機能を介して前記ストレージ機能に格納された前記複製データの読み書きを行う手順と、
前記障害が解消され、前記クライアント装置と前記サーバ装置との通信が復旧した場合に、前記仮想マシン機能を介することなく前記ストレージ機能に接続し、前記第1データと前記複製データとの差分データを生成し、前記差分データを前記サーバ装置へ転送する手順と、
を前記コンピュータに実行させる、プログラム。
【請求項18】
クラウドサービスを提供するクラウド提供システムを構成するコンピュータが実行するプログラムであって、
当該プログラムの実行により、前記コンピュータは、
前記クラウドサービスに接続されるデータベース管理システム内で扱われるデータベースに含まれる第1デー
タの複製データを格納するストレージ機能と、
前記データベース管理システムからの要求に基づいて、
前記データベース管理システム内の通信障害が発生していない場合には前記データベース管理システムが前記複製データを前記ストレージ機能へ格納できるように、前記通信障害が発生した場合には前記データベース管理システムが前記ストレージ機能に格納された前記複製データの読み書きを実行できるように、前記データベース管理システムと前記ストレージ機能との接続を管理する管理サーバ機能と、
を備える、プログラム。
【請求項19】
前記プログラムの実行により、前記コンピュータは、前記管理サーバ機能により起動される仮想マシン機能と、前記データベース管理システムと前記仮想マシン機能との接続を許可するゲートウェイ機能と、を更に備え、
前記管理サーバ機能は、
前記データベース管理システムからの要求に基づいて、前記データベース管理システムと前記ストレージ機能との接続を遮断し、
前記仮想マシン機能を起動し、
前記仮想マシン機能と前記ストレージ機能とを接続し、
前記ゲートウェイ機能に前記データベース管理システムと前記仮想マシン機能との接続を許可させる、
請求項18に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベース内のデータを外部に複製するデータベース管理システム、クラウド提供システム、データ複製システム、およびプログラムに関する。
【背景技術】
【0002】
病院、薬局等の医療機関が取り扱うカルテ、処方箋等の医療情報は、情報共有および検索の容易性等の観点から、紙媒体による管理から、電子データによる管理に移行しつつある。
【0003】
このような電子データの管理方法の一例として、医療機関内に電子データを管理するためのサーバを自ら設置、運用する(オンプレミス)とともに、サーバの障害対策、または災害対策として、外部のクラウドサービスを用いて電子データのバックアップを取ることが行われている。特許文献1には、ファイルを暗号化してクラウドストレージに格納することで、クラウドストレージ利用におけるセキュリティを確保する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
サーバの障害対策、または災害対策として、バックアップだけではなく、電子データの複製データをクラウド上に置き、当該複製データをリアルタイムで電子データに同期させるレプリケーションが、クラウドサービスの一環としてクラウドベンダーから提供されている。クラウドサービスの利用にはクラウドベンダーに対して利用料金を支払う必要があるが、この利用料金をできるだけ抑えることが望ましい。
【0006】
本発明は、オンプレミスのサーバの障害、災害対策をクラウドサービスを用いて好適に行うとともに、クラウドサービスの利用コストを抑えることができるデータベース管理システム、クラウド提供システム、データ複製システム、およびプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
本発明に係るデータ管理システムは、クラウドサービスに接続するデータベース管理システムであって、第1データ、および、当該第1データを読み書きするためのデータベースエンジンを含むデータベースを有するサーバ装置と、前記第1データ、または前記第1データの複製データの読み書きを行うクライアント装置と、を備え、前記クライアント装置は、前記サーバ装置と通信可能に接続されており、かつ、前記クラウドサービスに含まれるストレージ機能と接続されている場合に、前記複製データを前記ストレージ機能に格納させ、前記サーバ装置と通信できない障害が発生した場合に、前記ストレージ機能との接続を解除した上で、前記クラウドサービスで動作する仮想マシン機能を介して前記ストレージ機能に接続し、前記ストレージ機能に格納された前記複製データの読み書きを行い、前記障害が解消され、前記サーバ装置との通信が復旧した場合に、前記仮想マシン機能を介した前記ストレージ機能との接続を解除して、前記クライアント装置を前記ストレージ機能に接続し、前記第1データと前記複製データとの差分データを生成し、前記差分データを前記サーバ装置へ転送する。
【0008】
本発明に係るクラウド提供システムは、クラウドサービスを提供するクラウド提供システムであって、前記クラウドサービスは、前記クラウドサービスに接続されるデータベース管理システム内で扱われるデータベースに含まれる第1データの複製データを格納するストレージ機能と、前記クラウドサービス上で仮想的なコンピュータを動作させる仮想マシン機能と、前記データベース管理システムからの要求に基づいて、前記データベース管理システム内の通信障害が発生していない場合には前記データベース管理システムが前記仮想マシン機能を介さずに前記複製データを前記ストレージ機能へ格納できるように、前記通信障害が発生した場合には、前記仮想マシン機能を介して、前記データベース管理システムが前記ストレージ機能に格納された前記複製データの読み書きを実行できるように、前記データベース管理システムと前記ストレージ機能との接続を管理する管理サーバ機能と、を備える。
【0009】
本発明に係るデータ複製システムは、クラウドサービスに接続するデータベース管理システムと、前記クラウドサービスを提供するクラウド提供システムと、を備え、前記データベース管理システムは、第1データ、および、当該第1データを読み書きするためのデータベースエンジンを含むデータベースを有するサーバ装置と、前記第1データ、または前記第1データの複製データの読み書きを行うクライアント装置と、を有し、前記クラウドサービスは、ストレージ機能と、前記クラウドサービス上で仮想的なコンピュータを動作させる仮想マシン機能と、前記クライアント装置からの要求に基づいて、前記クライアント装置と前記ストレージ機能と前記仮想マシン機能との接続を管理する管理サーバ機能と、を有し、前記クライアント装置は、前記サーバ装置と通信可能に接続されており、かつ、前記ストレージ機能と接続されている場合に、前記複製データを前記ストレージ機能に格納させ、前記サーバ装置と通信できない障害が発生した場合に、前記仮想マシン機能を介して前記ストレージ機能に格納された前記複製データの読み書きを行い、前記障害が解消され、前記サーバ装置との通信が復旧した場合に、前記仮想マシン機能を介さずに前記ストレージ機能に接続し、前記第1データと前記複製データとの差分データを生成し、前記差分データを前記サーバ装置へ転送する。
【発明の効果】
【0010】
本発明によれば、オンプレミスのサーバの障害、災害対策をクラウドサービスを用いて好適に行うとともに、クラウドサービスの利用コストを抑えることができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の一実施形態に係るデータ複製システムの構成について説明するための図
【
図2】データ複製システムの通常時動作における、サーバ装置、クライアント装置、およびストレージ機能それぞれの、データベースとデータについて説明するための概念図
【
図3】データ複製システムの通常時動作について説明するためのフローチャート
【
図4】通常時における、データ複製システムのステップS1の動作を説明するための図
【
図5】通常時における、データ複製システムのステップS2の動作を説明するための図
【
図6】通常時における、データ複製システムのステップS3の動作を説明するための図
【
図7】通常時における、データ複製システムのステップS4の動作を説明するための図
【
図8】通常時における、データ複製システムのステップS5の動作を説明するための図
【
図9】データベース管理システムに障害が発生した時の動作について説明するためのフローチャート
【
図10】障害発生時における、データ複製システムのステップS11の動作を説明するための図
【
図11】障害発生時における、データ複製システムのステップS12およびS13の動作を説明するための図
【
図12】障害発生時における、データ複製システムのステップS14の動作を説明するための図
【
図13】障害発生時における、データ複製システムのステップS15の動作を説明するための図
【
図14】障害発生時における、データ複製システムのステップS16の動作を説明するための図
【
図15】障害発生時における、データ複製システムのステップS17の動作を説明するための図
【
図16】データ複製システムにおける、障害からの復旧時動作について説明するためのフローチャート
【
図17】障害からの復旧時における、データ複製システムのステップS21の動作を説明するための図
【
図18】障害からの復旧時における、データ複製システムのステップS22、S23、およびS24の動作を説明するための図
【
図19】障害からの復旧時における、データ複製システムのステップS25の動作を説明するための図
【
図20】障害からの復旧時における、データ複製システムのステップS26の動作を説明するための図
【
図21】障害からの復旧時における、データ複製システムのステップS27の動作を説明するための図
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、本発明の一実施形態に係るデータ複製システムについて説明する。
【0013】
図1は、本発明の一実施形態に係るデータ複製システム100の構成について説明するための図である。
図1に示すように、データ複製システム100は、データベース管理システム10と、クラウド提供システム20と、を有する。なお、
図1において、各システムの構成同士が破線で結ばれている場合、これらの構成同士が通信接続可能であることを示しており、実際に接続されるか否かについては随時設定されうる。
【0014】
データベース管理システム10は、病院、診療所、薬局等の医療機関に設けられ、医療に関する医用データを管理するためのシステムである。クラウド提供システム20は、医療機関に対してクラウドサービス30を提供するシステムである。なお、
図1では、図示の都合上、1つのデータベース管理システム10のみ示されているが、実際には複数の医療機関のそれぞれに複数のデータベース管理システムが設けられており、複数のデータベース管理システムのそれぞれがクラウドサービス30に接続している。
【0015】
<データベース管理システム10>
図1に示すように、データベース管理システム10は、サーバ装置11と、複数のクライアント装置12と、ゲートウェイ装置13と、を有する。サーバ装置11と、複数のクライアント装置12のそれぞれと、ゲートウェイ装置13とは、医療機関内LAN(Local Area Network)14を介して互いに通信可能に接続されている。
【0016】
サーバ装置11は、データベースを有し、データベースを管理する。サーバ装置11のデータベースには、医用データと、当該医用データを読み書きするためのデータベースエンジンとが含まれる。データベースに含まれる医用データは、例えば医療機関に掛かる患者の個人情報、電子カルテ、処方箋等に関するデータである。
【0017】
複数のクライアント装置12のそれぞれは、サーバ装置11に常時接続しており、データベースに含まれる医用データの読み書きを行う。また、複数のクライアント装置12のうちの少なくとも1つは、サーバ装置11のデータベース内のデータの複製データを生成し、クラウドサービス30に含まれるストレージ機能31(詳細は後述)に随時転送して格納させる。サーバ装置11のデータベース内のデータと、ストレージ機能31に格納されたデータとは、常に同期される。換言すれば、データ複製システム100において、サーバ装置11のデータベース内のデータのレプリケーション(複製)が、ストレージ機能31内において常に行われている。
【0018】
より詳細には、当該レプリケーションは、サーバ装置11のデータベース内のデータが更新された場合、サーバ装置11にて生成された、そのトランザクションのログ(WAL(Write Ahead Log)等)に基づいて、クライアント装置12がストレージ機能31に格納されたデータを更新することで行われる。クライアント装置12によるストレージ機能31に格納されたデータの更新は、クライアント装置12が有するデータベースに含まれるデータベースエンジンを用いて行われる。
【0019】
なお、
図1および後出のデータ複製システム100の構成を説明する図において、クライアント装置12は3つ示されているが、本発明はこれに限定されず、データベース管理システム10に含まれるクライアント装置12の数は特に限定されない。
【0020】
以下の説明において、サーバ装置11のデータベース内のデータを、便宜上、元データと記載する。そして、ストレージ機能31に格納される、元データの複製を、複製データと記載する。言うまでもなく、元データの内容と、複製データの内容とは、全く同一である。なお、元データは本発明の第1データの一例であり、複製データは本発明の第2データの一例である。
【0021】
図2は、データ複製システム100の通常時動作における、サーバ装置11、クライアント装置12、およびストレージ機能31それぞれの、データベースとデータについて説明するための概念図である。なお、データ複製システム100の通常動作とは、データベース管理システム10またはクラウドサービス30に何らかの障害が発生していない場合の動作を意味する。
【0022】
図2に示すように、ストレージ機能31には、データベースエンジンが格納されず、複製データのみが格納されている。このような構成により、詳細は後述するが、データ複製システム100の通常時において、データベース管理システム10を運用する医療機関は、クラウドサービス30として提供される機能のうち、常時利用する機能はストレージ機能31のみとすることができる。
【0023】
なお、本発明に係るデータ複製システム100において、複数の医療機関毎にデータベース管理システムが設置されているが、全ての医療機関のデータベース管理システム10において、データベースエンジンは共通である。これにより、詳細は後述するが、クラウドサービス30上で各医療機関が利用する機能を少なくすることができ、クラウドサービス30の利用料金を抑えることができるようになる。なお、複数の医療機関に対して共通のデータベースエンジンが用いられていても、複製データを格納するストレージ機能31は医療機関ごとに用意されており、ストレージ機能31へのアクセスには後述する認証機能35による認証が必要であるため、ある医療機関の複製データが他の医療機関によって読み書きされてしまうことはない。
【0024】
図1の説明に戻る。ゲートウェイ装置13は、クライアント装置12とクラウドサービス30の各機能との通信を中継する中継機器である。ゲートウェイ装置13は、例えばルータである。クライアント装置12とクラウドサービス30の各機能との通信は、全てゲートウェイ装置13を介して行われる。
【0025】
<クラウドサービス30>
次に、クラウドサービス30について説明する。クラウドサービス30は、クラウド提供システム20によって、インターネット等のネットワークを経由して提供されるサービスである。なお、クラウド提供システム20は、インターネット等のネットワーク上に設置された一または複数のコンピュータが互いに接続されて構成されるシステムである。
【0026】
クラウドサービス30は、複数の機能を有する。
図1に示すように、クラウドサービス30は、複数のストレージ機能31と、ゲートウェイ機能32と、仮想マシン機能33と、管理サーバ機能34と、認証機能35と、接続情報提供機能36と、モニタ機能37と、を有する。なお、
図1では説明の都合上、クラウドサービス30が有する全ての機能を図示したが、クラウドサービス30に含まれるこれらの機能は常時動作しているとは限らず、停止している場合もある。すなわち、クラウドサービス30に含まれる各機能は、例えばデータベース管理システム10からの要求に応じて、必要な機能が随時起動または停止するようになっている。
【0027】
ストレージ機能31は、上述したように、データベース管理システム10において扱われるデータベースに含まれるデータの複製データを格納する機能である。ストレージ機能31は複数用意されており、複数のストレージ機能31のうちの1つは、複数の医療機関に設けられた複数のデータベース管理システムのうちの1つに対して割り当てられている。
【0028】
ゲートウェイ機能32は、データベース管理システム10と後述する仮想マシン機能33との接続を許可または禁止する機能である。
【0029】
仮想マシン機能33は、クラウドサービス30上で仮想的なコンピュータを動作させる機能である。仮想マシン機能33は、ストレージ機能31と接続されており、データベース管理システム10のクライアント装置12は、仮想マシン機能33と接続されることにより、ストレージ機能31に格納される複製データの読み書きを行うことができる。すなわち、仮想マシン機能33は、ストレージ機能31およびクライアント装置12と接続された状態で、いわゆるレプリカサーバとして機能する。
【0030】
管理サーバ機能34は、クラウドサービス30に含まれる各機能の動作を管理する機能である。
【0031】
認証機能35は、データベース管理システム10によるクラウドサービス30への接続を許可するか否かの認証を行う機能である。
【0032】
接続情報提供機能36は、認証機能35と連動して動作し、認証機能35によりクラウドサービス30への接続が許可されたデータベース管理システム10による、ストレージ機能31への接続に必要な情報を提供する機能である。
【0033】
モニタ機能37は、クラウドサービス30の動作状況をモニタリングするための機能である。モニタ機能37は、例えばクラウドサービス30のパフォーマンスが低下している場合に、クラウドサービス30の保守部隊に対してアラートを出したり、自動的に各機能のリソースを増大させる等の対処を行ったりする。
【0034】
<データ複製システム100の動作説明>
以下では、通常時、障害発生時、障害からの復旧時のそれぞれにおける、データ複製システム100の動作について、詳細に説明する。なお、本発明における障害とは、データベース管理システム10において、クライアント装置12からサーバ装置11への接続ができなくなった状態を意味しており、通常時とは、当該障害が発生していないときを意味する。具体的には、障害とは、サーバ装置11が何らかの原因でダウンしてしまった状態、または、医療機関内LAN14に何らかの不具合が生じた状態等を含む。
【0035】
[通常時動作]
図3は、データ複製システム100の通常時動作について説明するためのフローチャートである。なお、
図3のフローチャートは、データベース管理システム10とクラウドサービス30とが未だ接続されていない状態から開始されるものとする。
【0036】
ステップS1において、データベース管理システム10のゲートウェイ装置13は、クラウドサービス30のストレージ機能31を接続先として限定した接続許可を行う。ゲートウェイ装置13は、通信プロトコルとして例えばSMB(Server Message Block)3.0を用いて通信経路を暗号化する。
【0037】
図4は、通常時における、データ複製システム100のステップS1の動作を説明するための図である。なお、
図4および後出の
図5~
図8、
図10~
図15、および
図17~
図22は、データ複製システム100の各ステップにおける動作を説明するための図であるが、これらの図において、比較的太線の角丸四角形で囲まれた構成(
図4のゲートウェイ装置13等)が、そのステップにおいて主に動作する構成(装置または機能)を示している。そして、これらの図において、比較的太線かつ破線の双方向矢印(
図4のゲートウェイ装置13とストレージ機能31との間の矢印等)は、そのステップにおいて、当該矢印によって接続される構成同士の接続が許可され、かつ、まだ接続されていない状態となることを示している。更に、これらの図において、各構成同士を接続する線のうち、比較的太線かつ実線の双方向矢印(後出の
図5のクライアント装置12と認証機能35との間の矢印等)は、そのステップにおいて、当該矢印によって接続される構成同士が、互いに通信可能に接続され、各種情報の送受信が行われる状態となることを示している。
【0038】
更に、これらの図において、各構成同士を接続する線のうち、比較的太い一方向矢印(後出の
図11のクライアント装置12と管理サーバ機能34との間の矢印等)は、そのステップにおいて、当該矢印の始点の構成から、終点の構成に対して、何らかの要求または指示が行われることを示している。
【0039】
なお、矢印の図示は省略するが、通常時におけるデータ複製システム100の各ステップを示す
図4から
図8において、サーバ装置11と複数のクライアント装置12のそれぞれとは、通信可能に接続されており、全てのクライアント装置12はサーバ装置11のデータベース内の元データを常時読み書き可能となっている。
【0040】
図3の説明に戻る。ステップS2において、データベース管理システム10のクライアント装置12は、クラウドサービス30の認証機能35に対して、クラウドサービス30に接続するための認証要求を行う。
図5は、通常時における、データ複製システム100のステップS2の動作を説明するための図である。
図5に示すように、クライアント装置12が認証機能35に対して認証要求を行い、認証に成功した場合、認証機能35がクライアント装置12に対してクラウドサービス30への接続許可を送信する。
【0041】
ステップS3において、クライアント装置12は、クラウドサービス30の管理サーバ機能34から、ストレージ機能31への接続に必要な情報(暗号化キー)を取得する。
図6は、通常時における、データ複製システム100のステップS3の動作を説明するための図である。ステップS1およびステップS3の処理により、クライアント装置12は、ストレージ機能31へ接続できるようになる。なお、管理サーバ機能34は、認証機能35による認証が成功した場合に接続情報を提供する接続情報提供機能36から、複数のストレージ機能31のうちの1つを、要求を送信してきたクライアント装置12が属する医療機関に割り当てる。このような処理により、以後の動作において、ストレージ機能31は割り当てられた医療機関に占有される。
【0042】
管理サーバ機能34とクラウドサービス30の外部との間にはWAF(Web Application Firewall)等のファイアウォールが配置されており、脆弱性攻撃に対する対処が行われている。WAFのセキュリティルールとしては例えばOWASP(Open Web Application Security Project)3.1が用いられる。
【0043】
ステップS4において、クライアント装置12は、ストレージ機能31へ接続する。
図7は、通常時における、データ複製システム100のステップS4の動作を説明するための図である。
図7に示すように、クライアント装置12からストレージ機能31への接続は、ゲートウェイ装置13を介して行われる。
【0044】
ステップS4の処理によって、クライアント装置12は、ストレージ機能31を記憶装置として利用できるようになる。
【0045】
ステップS5において、クライアント装置12は、サーバ装置11のデータベース内のデータ(元データ)の複製データを、ストレージ機能31に格納させる。
図8は、通常時における、データ複製システム100のステップS5の動作を説明するための図である。
【0046】
ステップS5においてストレージ機能31に格納された複製データは、データ複製システム100の通常時動作が継続する限り、サーバ装置11のデータベース内の元データと常に同期される。
【0047】
このような構成により、クライアント装置12がデータの読み書きを行う必要が生じた場合は、サーバ装置11にアクセスして元データを利用できる。同時に、元データのレプリケーションが、医療機関外部のストレージ機能31において好適に行われる。クライアント装置12によるストレージ機能31への接続には、接続情報提供機能36により提供された接続キー(暗号化キー)が用いられているため、ストレージ機能31へのアクセスのセキュリティは好適に担保される。
【0048】
[障害発生時動作]
次に、データ複製システム100において、データベース管理システム10に障害が発生したときの動作について説明する。
図9はデータ複製システム100における、データベース管理システム10に障害が発生した時の動作について説明するためのフローチャートである。なお、障害とは、上述したように、データベース管理システム10において、クライアント装置12からサーバ装置11への接続ができなくなった状態を意味している。
図9に示すフローチャートは、クライアント装置12がサーバ装置11への接続ができなくなったことを検知した場合に開始される。
【0049】
ステップS11において、クライアント装置12はストレージ機能31への接続を解除する。
図10は、障害発生時における、データ複製システム100のステップS11の動作を説明するための図である。これにより、クライアント装置12からストレージ機能31へのアクセスが不可能となる。
【0050】
ステップS12において、クライアント装置12は、管理サーバ機能34に対して、仮想マシン機能33を起動するように要求する。この要求を受け、ステップS13において、管理サーバ機能34は、仮想マシン機能33を起動させる。
図11は、障害発生時における、データ複製システム100のステップS12およびS13の動作を説明するための図である。
【0051】
なお、仮想マシン機能33は、
図11等では1つのみ図示されているが、実際には複数用意されており、クライアント装置12からの起動要求に応じて、そのうち1つのみが起動する。起動した仮想マシン機能33は、そのクライアント装置12が属する医療機関によって占有される。これにより、複数の医療機関のデータベース管理システムに同時に障害が発生した場合でも、各データベース管理システムからそれぞれに割り当てられた仮想マシン機能33への同時接続が可能となる。
【0052】
次に、ステップS14において、管理サーバ機能34は、ゲートウェイ機能32に対して、データベース管理システム10と、起動した仮想マシン機能33との接続を許可させる。
図12は、障害発生時における、データ複製システム100のステップS14の動作を説明するための図である。
【0053】
一方、ステップS15において、ゲートウェイ装置13は、ストレージ機能31への接続許可を取り消し、代わりに接続先を仮想マシン機能33に限定した接続許可を行う。
図13は、障害発生時における、データ複製システム100のステップS15の動作を説明するための図である。ステップS14およびS16の処理により、クライアント装置12は、ゲートウェイ装置13およびゲートウェイ機能32を介して、起動した仮想マシン機能33へ接続できるようになる。
【0054】
ステップS16において、クライアント装置12は、仮想マシン機能33と、当該仮想マシン機能33に割り当てられた医療機関が割り当てられたストレージ機能31と、を互いに通信可能に接続させる。
図14は、障害発生時における、データ複製システム100のステップS15の動作を説明するための図である。
【0055】
ステップS17において、クライアント装置12は、ゲートウェイ装置13およびゲートウェイ機能32を介して、仮想マシン機能33に接続する。
図15は、障害発生時における、データ複製システム100のステップS17の動作を説明するための図である。ステップS14において仮想マシン機能33はストレージ機能31に接続されているので、ステップS17の処理により、クライアント装置12は、仮想マシン機能33を介して、ストレージ機能31に格納された複製データの読み書きを行うことができるようになる。なお、複製データの読み書きを行うために必要なデータベースエンジン(
図2参照)は、仮想マシン機能33が予め保持している。
【0056】
このような動作により、データベース管理システム10において障害が発生し、クライアント装置12からサーバ装置11への接続ができなくなった場合には、クライアント装置12は、サーバ装置11の代わりに、仮想マシン機能33に対して接続を行い、仮想マシン機能33をサーバとして利用することができる。この際、データ管理システム10の全てのクライアント装置12が、同じように仮想マシン機能33に接続され、同じように仮想マシン機能33をサーバとして利用することができる。これにより、クライアント装置12の利用者から見ると、障害が発生していてもいなくても、クライアント装置12からのデータベースへのアクセスを同じように行うことができるため、使い勝手がよい。
【0057】
[障害復旧時動作]
次に、データ複製システム100において、データベース管理システム10における障害が解消され、復旧するときの動作について説明する。
図16はデータ複製システム100における、障害からの復旧時動作について説明するためのフローチャートである。障害からの復旧は、例えばサーバ装置11が修理される、または新しいサーバ装置に交換されることでサーバ装置11のサーバダウンが解消されたり、医療機関内LAN14の不具合が解消されたりすることで行われる。
図16に示すフローチャートは、クライアント装置12が、サーバ装置11への接続が復旧されたことを検知した場合に開始される。
【0058】
ステップS21において、クライアント装置12は、仮想マシン機能33とストレージ機能31との接続を解除させる。
図17は、障害からの復旧時における、データ複製システム100のステップS21の動作を説明するための図である。これにより、データ管理システム10の全てのクライアント装置12による、ストレージ機能31に格納された複製データの読み書きが不可能となる。なお、
図17から
図21においても、
図4から
図8に示すデータ複製システム100の通常時の動作と同様に、全てのクライアント装置12はサーバ装置11と通信可能に接続されている。
【0059】
ステップS22において、クライアント装置12は、管理サーバ機能34に対して、仮想マシン機能33を停止させるように要求する。この要求を受け、クライアント装置12は、ステップS23において、管理サーバ機能34は、仮想マシン機能33を停止させる。
【0060】
ステップS23とほぼ同時に、ステップS24において、管理サーバ機能34は、ゲートウェイ機能32に対して、データベース管理システム10から仮想マシン機能33への接続許可を取り消させる。
図18は、障害からの復旧時における、データ複製システム100のステップS22、S23、およびS24の動作を説明するための図である。これにより、クライアント装置12から仮想マシン機能33への接続が不可能となる。
【0061】
ステップS25において、ゲートウェイ装置13は、仮想マシン機能33への接続許可を取り消し、代わりに接続先をストレージ機能31に限定した接続許可を行う。
図19は、障害からの復旧時における、データ複製システム100のステップS25の動作を説明するための図である。ステップS25の処理により、クライアント装置12は、ストレージ機能31へ接続できるようになる。
【0062】
ステップS26において、クライアント装置12は、ゲートウェイ装置13を介してストレージ機能31へ接続する。
図20は、障害からの復旧時における、データ複製システム100のステップS26の動作を説明するための図である。
【0063】
ステップS26の処理によって、クライアント装置12は、以後、ストレージ機能31を記憶装置として利用できるようになる。
【0064】
ステップS27において、クライアント装置12は、ストレージ機能31に格納されている複製データを用いて、サーバ装置11のデータを復元する。
図21は、障害からの復旧時における、データ複製システム100のステップS27の動作を説明するための図である。これにより、サーバ装置11のデータベース内のデータが、複製データと同期される。なお、サーバ装置11の新規交換等により障害が復旧した場合は、サーバ装置11へのデータの復元は、複製データを用いて全データを復元することによって行われる。一方、サーバ装置11が交換されずに復旧した場合は、サーバ装置11へのデータの復元は、クライアント装置12がサーバ装置11に残っているデータとストレージ機能31に格納されている複製データとの差分データを生成し、その差分データをサーバ装置11へ転送することにより行われる。
【0065】
このようにしてデータベース管理システム10の復旧が完了した後は、上述した通常時の動作と同様に、クライアント装置12はサーバ装置11に通信可能に接続され、必要に応じて元データの読み書きを行うことができる。同時に、サーバ装置11のデータベース内のデータと、ストレージ機能31に格納された複製データとの同期が好適に行われる。
【0066】
<本発明の作用、効果>
本発明の実施の形態に係るデータ複製システム100は、医療機関等で用いられる医用データを含むデータベースを管理するデータベース管理システム10と、医療機関の外部に配置され、クラウドサービス30を提供するクラウド提供システム20と、を有する。
【0067】
本発明の実施の形態に係るデータ複製システム100において、データベース管理システム10は、元データ(第1データ)、および、当該元データを読み書きするためのデータベースエンジンを含むデータベースを有するサーバ装置11と、サーバ装置11と通信可能に接続されており、元データの読み書きを行うクライアント装置12と、を有し、クラウドサービス30は、ストレージ機能31と、クライアント装置12からの要求に基づいて、クライアント装置12とストレージ機能31との接続を行う管理サーバ機能34と、を有し、クライアント装置12は、ストレージ機能31との接続が行われている場合に、データベースに含まれる元データとデータベースエンジンのうち、元データの複製データをストレージ機能31に格納させる。
【0068】
このような構成により、クライアント装置12は、必要に応じてサーバ装置にアクセスし、元データを読み書きすることができるとともに、元データのレプリケーションがストレージ機能31において好適に行われる。
【0069】
そして、このような構成によれば、一度データベース管理システム10がクラウドサービス30に接続してしまえば、データベース管理システム10が正常に動作する限り、データベース管理システム10を有する医療機関が利用するクラウドサービス30の機能は、元データの複製データを格納するストレージ機能のみでよい。一般に、クラウドサービス30の利用には、クラウドサービス30に含まれる機能のうち、利用した機能に応じた料金が発生する。このため、データベース管理システム10を運用する医療機関が、クラウドサービス30が提供する複数の機能のうちのストレージ機能31のみを利用した場合、例えばデータベース全体、または、データベースを管理するサーバ全体をクラウド上に移行した場合と比較して、クラウドサービス30に含まれる機能のうち利用する機能が少ないため、利用料金を抑えることができるようになる。
【0070】
また、本発明の実施の形態に係るデータ複製システム100において、クラウドサービス30は、クライアント装置12の要求に基づいて起動する仮想マシン機能33を更に備え、データベース管理システム10においてサーバ装置11とクライアント装置12との通信ができなくなった場合に、管理サーバ機能34は、クライアント装置12からの要求に基づいて、クライアント装置12とストレージ機能31との接続を遮断し、仮想マシン機能33を起動し、仮想マシン機能33とストレージ機能31とを接続する。これにより、クライアント装置12と仮想マシン機能33とが接続され、クライアント装置12は、仮想マシン機能33を介して、ストレージ機能31に格納された複製データの読み書きを行うことができるようになる。
【0071】
このような動作により、データベース管理システム10において障害が発生し、クライアント装置12からサーバ装置11への接続ができなくなった場合には、クライアント装置12は、サーバ装置11の代わりに、仮想マシン機能33に対して接続を行い、仮想マシン機能33をサーバとして利用することができる。これにより、クライアント装置12の利用者から見ると、障害が発生していてもいなくても、クライアント装置12からのデータベースへのアクセスを同じように行うことができるため、使い勝手がよい。
【0072】
また、本発明の実施の形態に係るデータ複製システム100によれば、クライアント装置12とサーバ装置11との通信が復旧した場合に、クライアント装置12と仮想マシン機能33との接続が解消され、クライアント装置12とストレージ機能31とが再度接続される。これにより、クライアント装置12は、ストレージ機能31に格納された複製データと、復旧後のサーバ装置11のデータベース内のデータとの差分データを生成し、差分データをサーバ装置へ転送することで、復旧後のサーバ装置11のデータベースを復元することができる。そして、医療機関が仮想マシン機能33を利用するのは、障害が発生している間のみであり、障害が復旧されればそれ以上仮想マシン機能33を利用しなくてよい。このため、データベース管理システム10に障害が発生した場合でも、医療機関によるクラウドサービス30の利用料金を抑えることができる。
【符号の説明】
【0073】
100 データ複製システム
10 データベース管理システム
11 サーバ装置
12 クライアント装置
13 ゲートウェイ装置
20 クラウド提供システム
30 クラウドサービス
31 ストレージ機能
32 ゲートウェイ機能
33 仮想マシン機能
34 管理サーバ機能
35 認証機能
36 接続情報提供機能
37 モニタ機能