(58)【調査した分野】(Int.Cl.,DB名)
ネットワークに接続された他のサーバーの負荷状態を監視し、前記負荷状態と前記第2のサーバーに依頼する前記第1の画像処理の処理量に基づいて、前記第1の画像処理の依頼に対する支払を求める負荷確認部をさらに備える請求項1に記載の医用画像処理システム。
前記複数のサーバーは、ネットワークに接続された他のサーバーの負荷状態を監視し、前記負荷状態と前記他のサーバーに依頼する前記第1の画像処理の処理量に基づいて、前記第1の画像処理の依頼に対する支払を求める負荷確認部をそれぞれ備える請求項6に記載の医用画像処理システム。
【発明を実施するための形態】
【0012】
(第1の実施形態)
第1の実施形態に係る医用画像処理システムについて、
図1〜
図3を参照しながら説明する。
図1に示すように、本実施形態に係る医用画像処理システムは、予約管理部11と、処理量算出部12と、解析部13と、処理制御部14と、複数の撮影部(撮影部15A及び15B)と、画像記憶部16と、依頼部17と、複数のサーバー(即ち、サーバー2A〜2D)と、複数の端末(端末3A〜3C)とを含んで構成されている。
【0013】
サーバー2A〜2Dは、画像データに対する画像処理を実行するためのサーバーである。サーバー2A〜2Dの詳細な構成については後述する。また、端末3A〜3Cは、サーバー2A〜2Dでの画像処理の結果を受けて、画像データを表示部(図示しない)に表示させるための端末ある。なお、以降では、サーバー2A〜2Dを特に区別しない場合には、単に「サーバー2」と表記する場合がある。同様に、端末3A〜3Cを特に区別しない場合には、単に「端末3」と表記する場合がある。
【0014】
サーバー2A及び2Bは、依頼部17とネットワークN11を介して接続されている。また、サーバー2A及び2Bは、端末3A〜3CとネットワークN12を介して接続されている。同様に、サーバー2C及び2Dは、依頼部17とネットワークN21を介して接続されている。また、サーバー2C及び2Dは、端末3A〜3CとネットワークN22を介して接続されている。このようにサーバー2A及び2Bと、サーバー2C及び2Dとが、異なるネットワークN11及びN12と、N21及びN22とを介して、依頼部17及び端末3A〜3Cと接続されている。具体的な一例として、ネットワークN11及びN12が、病院内の院内ネットワークを示しており、ネットワークN21及びN22が病院の外部の施設へのネットワークを示している。なお、上記は一例であり、ネットワークN11及びN12を一つのネットワークとして構築してもよい。同様に、ネットワークN21及びN22を一つのネットワークとして構築してもよい。また、ネットワークN11及びN12と、ネットワークN21及びN22とを区別せずに一つのネットワークとして構築してもよい。以降では、ネットワークN11、N12、N21、及びN22がそれぞれ独立して設けられているものとして説明する。
【0015】
本実施形態における医用画像処理システムでは、ネットワークN11及びN12に接続されたサーバー2A及び2Bをメインのサーバー(以降は、「メインサーバー」と呼ぶ場合がある)とし、ネットワークN21及びN22に接続されたサーバー2C及び2Dを補助的な役割(以降は「補助サーバー」と呼ぶ場合がある)として動作させる。具体的には、画像処理は主にメインサーバーが実行し、処理負荷が高くなりメインサーバーの処理能力を超える場合に、補助サーバーが一部の画像処理を代行する。以降では、このメインサーバー(サーバー2Aまたは2B)の処理負荷の予測と、予測された処理負荷がメインサーバーの処理能力を超える場合に、補助サーバー(サーバー2Cまたは2D)に一部の画像処理を代行させる仕組みについて説明する。
【0016】
撮影部15A及び15Bは、画像データを撮影する医用画像撮影装置である。撮影部15A及び15Bで画像データを撮影するための撮影予約は、予約管理部11で受け付けられ管理される。また、撮影部15A及び15Bの動作は、予約管理部11で受付けられた撮影予約に基づき、処理制御部14により制御される。予約管理部11及び処理制御部14については後述する。なお、以降では、撮影部15A及び15Bを特に区別しない場合には、単に「撮影部15」と表記する場合がある。撮影部15は、撮影された画像データを依頼部17に出力される。依頼部17については後述する。
【0017】
画像記憶部16は、画像データを記憶する記憶部である。画像記憶部16には、あらかじめ撮影された画像データが記憶されている。
【0018】
(予約管理部11)
ここで
図2を参照する。
図2に示すように、予約管理部11は、予約受付部111と、処理条件特定部112とを含んで構成される。
【0019】
(予約受付部111)
予約受付部111は、撮影部15Aまたは15Bによる画像データの撮影に係る検査予約を操作者から受け付ける。
図4は、予約受付部111が、検査予約を管理するための予約管理テーブルTBL10の一例である。
図4に示すように、予約管理テーブルTBL10で管理・記憶される検査予約には、例えば、検査識別子C11と、撮影部識別子C12と、検査開始時間C13と、検査終了時間C14と、画像処理種別C15と、画像サイズC16と、枚数C17と、返却先C18とが情報として含まれている。予約受付部111は、これらの情報を予約として操作者から受け、予約管理テーブルTBL10を作成する。検査識別子C11は、検査を識別するための識別子であり、各検査予約は検査識別子C11により識別される。撮影部識別子C12は、画像データを撮影する撮影部15の識別子(例えば撮影部15Aまたは15B)を示している。また、検査開始時間C13及び検査終了時間C14は、その検査が開始される時間と終了予定の時間を示している。画像処理種別C15は、画像データに対する画像処理の種別を識別するための識別子である。画像処理種別C15の詳細については後述する。画像サイズC16は、画像データに含まれる画像1枚分のサイズを示しており、このサイズにより画像1枚のデータ量が特定される。画像のサイズとしては、例えば、画像の色数(ビット数)、画像の面積(画像の幅及び高さ)等の情報を含む。枚数C17は、画像データの枚数を表している。画像サイズC16と枚数C17とにより、画像処理の対象となる画像データのデータ量の合計が特定される。返却先C18は、画像データの最終的な出力先を示している。例えば、撮影された画像データを画像として表示させる場合、この返却先C18には、その画像を表示させる端末の識別子が入力される。
【0020】
例えば、検査aは、撮影部15Aで画像データを撮影することを示しており、時間Ta1〜Ta2までを検査時間としている。また、条件P11で定義されたサイズの画像データNa枚に対し、種別M11で示された画像処理を施すことを示している。
【0021】
また、予約管理テーブルTBL10は、あらかじめ撮影され画像記憶部16に記憶された画像データに対する画像処理の予約をあわせて管理・記憶可能に構成してもよい。例えば、検査cは、画像記憶部16に記憶された画像データの画像処理に関する。この場合には、予約受付部111は、画像処理の対象である画像データのファイル名と、画像処理種別C15と、画像処理の処理開始時間及び処理終了時間を受け付ける。この場合、撮影部15による撮影を伴わないため、予約受付部111は、検査cの検査予約に撮影部識別子C12の情報を入力せず、替わりに画像データを特定するためのファイル名C19を入力する。また、予約受付部111は、検査の開始時間及び終了時間の替わりに、画像処理の処理開始時間及び処理終了時間を、検査開始時間C13及び検査終了時間C14に入力する。画像処理の対象となる画像データは、既に、画像記憶部16に記憶されている。そのため、予約受付部111は、ファイル名C19を基に画像記憶部16から画像データを特定し、特定された画像データから画像サイズC16及び枚数C17を読み出して予約管理テーブルTBL10に入力する。
【0022】
次に、画像処理種別C15について、
図5を参照しながら説明する。画像データに対する画像処理は、出力する画像の態様に応じて異なる処理が実行される。予約受付部111は、一例として、このような画像処理を種別ごとに、あらかじめ分類された情報として記憶している。このような分類は、操作者があらかじめ行っておけばよい。例えば
図5は、画像処理種別C15と実行される処理との対応関係を管理する管理テーブルTBL20の一例である。画像データは、撮影部(具体的には、撮影部のモダリティ)によりデータの内容や、実行される画像処理の内容が異なる。そのため、予約受付部111は、管理テーブルTBL20により、この対応関係を画像処理種別C15ごとに管理・記憶している。なお、予約受付部111は、管理テーブルTBL20を、後述する処理量算出部12及び解析部13が参照可能にしている。または、管理テーブルTBL20を記憶する記憶部を別途設け、予約受付部111、処理量算出部12、及び解析部13が、この記憶部を参照する構成としてもよい。
【0023】
図5に示すように、管理テーブルTBL20は、画像処理種別C15と、画像種別C21と、処理内容C22とを含んで構成される。画像種別C21は、画像処理種別C15で示された一連の画像処理が処理の対象としている画像データの種別(モダリティ)を示している。また処理内容C22は、実行される処理の一覧が示されている。例えば画像処理種別C15が種別M11の画像処理は、画像種別C21がMOD1の画像データに対し、処理1、処理2、及び処理3を実行することを示している。
【0024】
予約受付部111は、
図4に示す予約管理テーブルTBL10を生成すると、生成された予約管理テーブルTBL10を処理条件特定部112に出力する。
【0025】
(処理条件特定部112)
処理条件特定部112は、予約受付部111から予約管理テーブルTBL10を受ける。処理条件特定部112は、予約管理テーブルTBL10を基に、予約された各検査における画像処理、即ち、予約された画像処理の処理開始時間C41及び処理終了時間C42を算出する(詳細は後段で説明する)。処理条件特定部112は、処理開始時間C41と、処理終了時間C42とを基に、メインサーバーとして動作するサーバー(即ち、サーバー2A及び2B)ごとに、処理管理テーブルTBL40を作成する。
図7は、サーバー2Aに予約された画像処理に関する処理管理テーブルTBL40の一例である。なお、予約された検査ごとの画像処理を、サーバー2A及び2Bのいずれに振り分けるかについては、例えば、画像処理種別C15を基にあらかじめ決めておく。例えば、検査a〜dに画像処理種別C15として設定された種別M11、M12、M22、及びM31は、サーバー2Aに対応付けておき、その他(例えば、種別M21)についてはサーバー2Bに対応付ける。また、画像データを撮影する撮影部15を基にあらかじめ決めておいてもよい。以降では、サーバー2Aの場合を例に説明する。なお、単位時間あたり処理量C43は、後述する処理量算出部12が算出して処理管理テーブルTBL40に入力する。処理開始時間C41及び処理終了時間C42の算出方法について、画像データの撮影を伴う検査aと、画像データの撮影を伴わない検査cとに分けて以下に具体的に説明する。
【0026】
まず、画像データの撮影を伴う検査aについて説明する。画像データの撮影を伴う場合、撮影部15から撮影された画像データの出力が開始される時間から、その画像データに対する画像処理を開始することが可能である。そのため、処理条件特定部112は、撮影部15が撮影を開始してから画像データの出力を開始するまでの時間T’をあらかじめ記憶しておき、検査開始時間C13に設定された時間「Ta1」と時間T’とを基に、処理開始時間C41として時間「Ta3」を算出する。なお、撮影される画像データのデータ量に応じて時間T’が異なる場合、所定のデータ量あたりの時間T’をあらかじめ記憶しておき、撮影される画像データのデータ量とあわせて、処理開始時間C41として「Ta3」を算出すればよい。なお、画像データのデータ量は、予約管理テーブルTBL10における、画像サイズC16と、枚数C17とに基づき算出することが可能である。
【0027】
また、処理条件特定部112は、検査終了時間C14に設定された時間「Ta2」を基に処理終了時間C42として時間「Ta4」を特定する。例えば、検査終了時間「Ta2」以前に画像処理が終了している必要がある場合は、処理条件特定部112は、検査終了時間「Ta2」から所定の時間以前の時間「Ta4」を処理終了時間C42として特定する。また、時間「Ta2」を、処理終了時間C42として特定してもよい。また、時間「Ta2」から、所定時間後の時間「Ta4」を処理終了時間C42として特定してもよい。また、処理開始時間「Ta3」から、サーバーでの所定の処理時間後の時間「Ta4」を処理時間C42として特定してもよい。この処理終了時間C42の特定方法は、運用するシステムの要件に応じて適宜設定すればよい。
【0028】
なお、画像データの撮影を伴わない検査cの場合には、検査開始時間C13に設定された時間Tc3が処理開始時間C41に相当し、検査終了時間C14に設定された時間Tc4が処理終了時間C42に相当する。
【0029】
処理条件特定部112は、処理管理テーブルTBL40を作成し、検査ごとに処理開始時間C41及び処理終了時間C42を入力したら、処理管理テーブルTBL40を予約管理テーブルTBL10とあわせて処理量算出部12に出力する。
【0030】
(処理量算出部12)
処理量算出部12は、処理管理テーブルTBL40及び予約管理テーブルTBL10を処理条件特定部112から受ける。処理量算出部12は、処理管理テーブルTBL40に記憶された処理開始時間C41及び処理終了時間C42と、予約管理テーブルTBL10に記憶された画像サイズC16及び枚数C17とに基づき、単位時間あたりの処理量C43(以下、単に「処理量C43」と呼ぶ)を算出する。処理量C43の算出方法について、以下に具体的に説明する。
【0031】
まず、処理量算出部12は、画像サイズC16を基に、画像1枚当たりのデータ量C32を特定する。画像1枚当たりのデータ量C32は、画像種別C21、画像サイズC16、及びその画像に対する処理C31に応じて異なる。そのため、処理量算出部12は、これらの対応関係を管理テーブルTBL30としてあらかじめ記憶している。
図6は、この管理テーブルの一例を示している。
図6に示すように、管理テーブルTBL30は、画像種別C21、画像サイズC16、及び処理C31の組み合わせごとに、処理量C32を記憶している。これらのデータ量は、例えば、所定の処理能力のサーバーに各組み合わせについてあらかじめ処理を実行させ、そのときの処理時間と、そのサーバーの処理能力とから算出すればよい。
【0032】
処理量算出部12は、予約管理テーブルTBL10に記憶された画像処理種別C15を基に、管理テーブルTBL20から、画像種別C21と、処理内容C22とを特定する。次に、処理量算出部12は、管理テーブルTBL30を参照し、画像種別C21と、画像サイズc16と、を基に、処理内容C22に含まれる処理ごとに、データ量C32を特定する。例えば、検査aの場合、画像種別C21は「MOD1」、画像サイズC16は「条件P11」となり、処理内容C22には、「処理1」、「処理2」、及び「処理3」が含まれている。
図6に示すように、画像種別C21が「MOD1」、かつ画像サイズC16が「条件P11」のとき、「処理1」、「処理2」、及び「処理3」の画像1枚当たりのデータ量C32は、「D111」、「D112」、及び「D113」である。そのため、処理量算出部12は、画像1枚当たりのデータ量の合計を、「D111」、「D112」、及び「D113」の和として算出する。
【0033】
次に、処理量算出部12は、算出された画像1枚当たりのデータ量の合計と、予約管理テーブルTBL10に記憶された枚数C17とに基づき、検査ごとの合計データ量を算出する。処理量算出部12は、算出された合計データ量を、処理管理テーブルTBL40に記憶された処理開始時間C41から処理終了時間C42までの時間幅で除算し、所定の単位時間あたりに処理するデータ量を「処理量」として算出する。処理量算出部12は、算出された処理量を、処理管理テーブルTBL40の処理量C43に入力する。例えば、検査aの場合、枚数C17は「Na」、処理開始時間C41は「Ta3」、処理終了時間C42は「Ta4」、処理量C43は「Da」となる。なお、単位時間の時間幅を「T0」とした場合、Da=(D111+D112+D113)×Na×T0/(Ta4−Ta3)となる。
【0034】
なお、画像処理の中には、データ量に拘らず一定の処理時間を要するものがある。その場合には、その時間を考慮して処理量C43を算出すればよい。例えば、処理2は、データ量D112に対する処理に加え、一定の処理時間T2を要するとする。この場合、先の例で示した検査aにおける処理量Daは、時間幅(Ta4−Ta3)から処理時間T2を減算した時間幅を基に算出すればよい。即ち、Da=(D111+D112+D113)×Na×T0/(Ta4−Ta3−T2)となる。
【0035】
処理量算出部12は、処理量C43を入力した処理管理テーブルTBL40と、予約管理テーブルTBL10とを、解析部13に出力する。
【0036】
(解析部13)
解析部13は、依頼処理特定部131と、依頼先特定部132と、依頼情報作成部133とを含んで構成される。解析部13は、処理管理テーブルTBL40及び予約管理テーブルTBL10を処理量算出部12から受け、これらを依頼処理特定部131に出力する。
【0037】
(依頼処理特定部131)
依頼処理特定部131は、処理管理テーブルTBL40を受けて、処理管理テーブルTBL40に記憶された処理開始時間C41、処理終了時間C42に基づき、サーバー2Aで実行される検査ごとの画像処理の処理スケジュールを作成する。
図8は、処理管理テーブルTBL40に基づき作成された、サーバー2Aで実行される画像処理の処理スケジュールの一例である。なお、このとき、依頼処理特定部131は、
図8に示すように、各検査のスケジュールに処理量C43を関連付ける。
【0038】
依頼処理特定部131は、サーバー2Aで実行される各画像処理の処理量C43を所定の時間幅ごとにそれぞれ加算し、負荷予測データを作成する。
図9Aは、負荷予測データの一例である。次に、依頼処理特定部131は、各画像処理の処理量C43の合計Dが、所定の処理量D0以上となるか否かを判定する。
図9Aは、最も早く開始される検査aの画像処理の処理開始時間「Ta3」から、最後に終了する検査cの画像処理の処理終了時間「Tc4」までの間を、あらかじめ決められた単位時間幅で時間幅W1〜W12に分割した場合の例である。なお所定の処理量D0は、許容される処理負荷の最大値として、そのサーバーの最大処理量Dmaxを超えない範囲であらかじめ設定しておく。
【0039】
例えば、
図9Aにおいて、時間幅W3に実行される画像処理の処理量C43の合計Dは、D=Da+Db<D0となる。また、時間幅W6に実行される画像処理の処理量C43の合計Dは、D=Da+Db+Dc+Dd≧D0となる。このように、依頼処理特定部131は、時間幅ごとに処理量C43の合計Dを計算し、所定の処理量D0と比較する。
図9Aの例では、時間幅W5及びW6において処理量C43の合計が、所定の処理量D0以上となる。
【0040】
なお、必ずしもあらかじめ決められた単位時間幅で分割する必要はない。例えば、
図9Bに示すように、並行して実行される画像処理の組み合わせが変わるタイミングで時間幅を分割してもよい。この場合、
図9Bに示すように、Ta3〜Tc4の間の時間幅を、画像処理が開始する時間Tb3、Tc3、及びTd3と、画像処理が終了する時間Ta4、Tb4、及びTd4で分割してWa1〜Wa7で示される時間幅を求め、これらそれぞれを時間幅とする。例えば、時間幅Wa1では、検査aの画像処理のみが実行される。また、時間幅Wa4では、検査a〜dの各画像処理が並列に実行され、このとき処理量C43の合計Dが所定の処理量D0以上となる。
【0041】
依頼処理特定部131は、処理量C43の合計が所定の処理量D0以上となる場合に、その時間幅で実行が予定されている画像処理のうち、補助サーバー(即ち、サーバー2Cまたは2D)に代行を依頼する画像処理を特定する。このとき、あらかじめ検査ごとに優先度の重み付けを行っておくことで、依頼処理特定部131は、最も優先度の低い画像処理を、補助サーバーに処理を依頼する画像処理(以降では、「依頼画像処理」と呼ぶ場合がある)として特定する。なお、検査ごとの優先度の重み付けは、予約を受け付ける際に設定するようにしてもよいし、画像処理種別C15ごとにあらかじめ設定しておいてもよい。依頼処理特定部131は、処理量C43の合計が所定の処理量D0未満となるまで、依頼画像処理を特定する。
【0042】
例えば、
図9Aの場合、時間幅W5及びW6において処理量C43の合計Dが、所定の処理量D0以上となる。そのため、依頼処理特定部131は、検査a〜dの各画像処理について優先度を比較し、優先度の最も低い検査dの画像処理を依頼画像処理として特定する。
【0043】
補助サーバーに代行を依頼する画像処理を特定したら、依頼処理特定部131は、処理管理テーブルTBL40及び予約管理テーブルTBL10を依頼先特定部132に送信する。このとき、依頼処理特定部131は、補助サーバーに依頼する特定された依頼画像処理(
図9Aの場合、検査dの画像処理)をあわせて依頼先特定部132に通知する。
【0044】
(依頼先特定部132)
依頼先特定部132は、処理管理テーブルTBL40及び予約管理テーブルTBL10と、依頼画像処理の通知とを受ける。依頼先特定部132は、補助サーバーとして動作するサーバー2C及び2Dのうちのいずれかを、通知された画像処理を依頼するサーバーとして特定する。このとき依頼先特定部132は、例えば、実行元のメインサーバーごとに依頼先の補助サーバー(以降では、単に「依頼先」と呼ぶ)をあらかじめ対応付けておくとよい。また、依頼先特定部132は、通知された画像処理の画像処理種別C15ごとに依頼先をあらかじめ設定しておいてもよい。この場合、依頼先特定部132は、予約管理テーブルTBL10を参照し、通知された画像処理の画像処理種別を特定する。以降では、依頼先特定部132は、検査dの画像処理の依頼先として、サーバー2Cを特定したものとして説明する。
【0045】
依頼先特定部132は、特定された依頼先(サーバー2C)と、通知された依頼画像処理(検査dの画像処理)と、画像データの返却先C18とを1つの組として関連付ける。なお、依頼先特定部132は、依頼画像処理が複数ある場合は、その依頼画像処理ごとに依頼先を特定し、依頼情報として関連付ける。依頼先特定部132は、作成された組と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを、依頼情報作成部133に出力する。
【0046】
以上のように、依頼処理特定部131及び依頼先特定部132は、全ての時間幅について、処理量C43の合計Dの算出、合計Dと所定の処理量D0との比較、及び合計Dが処理量D0以上となる場合における依頼画像処理及び依頼先の特定を行う。
【0047】
(依頼情報作成部133)
依頼情報作成部133は、依頼先特定部132から、依頼先、依頼画像処理、及び返却先C18が関連付けられた組と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを受ける。
【0048】
依頼情報作成部133は、予約管理テーブルTBL10に記憶された検査ごとに、依頼情報E10を作成する。
図10は、依頼情報E10のデータ構造の一例である。依頼情報E10は、検査識別子E11と、検査種別E12と、重要度E13と、処理情報E14とを含んで構成される。依頼情報作成部133は、検査識別子E11及び画像処理種別E12には、予約管理テーブルTBL10に記憶された検査識別子C11及び画像処理種別C15に記憶された情報を入力する。また、依頼情報作成部133は、重要度E13に、その検査に対してあらかじめ設定された重要度を入力する。
【0049】
また、処理情報E14は、処理E141と、依頼先E142と、返却先E143とを1つの組として、この組が画像処理を構成する処理ごとに設けられている。例えば、検査dの画像処理種別は種別M31であり、画像処理の処理内容として、「処理6」、「処理7」、及び「処理8」がこの順序で実行される。そのため、処理情報E14には、「処理6」、「処理7」、及び「処理8」を示す情報がこの順序で入力される。依頼先E142は、該当する処理の実行を依頼する依頼先を示している。また、返却先E143は、その処理後にその画像データを返却する返却先を示している。
【0050】
依頼先E142の設定方法は、メインサーバーで画像処理を実行する検査と、補助サーバーに画像処理を依頼する検査とで異なる。補助サーバーに依頼する画像処理については、依頼先特定部132から、依頼先と依頼画像処理との組として依頼情報作成部133に通知される。そのため、依頼情報作成部133は、通知されたこの組と、予約管理テーブルTBL10とを比較し、メインサーバーで画像処理を実行する検査と、補助サーバーに画像処理を依頼する検査とに分ける。
【0051】
補助サーバーに画像処理を依頼する検査の場合には、依頼情報作成部133は、通知された組に含まれる依頼先の情報を依頼先E142として入力する。
【0052】
例えば、依頼先特定部132により通知された組により、検査dの画像処理をサーバー2Cに依頼するように設定されている。即ち、検査dの画像処理を構成する、「処理6」、「処理7」、及び「処理8」の一連の処理が、サーバー2Cに依頼されることを意味している。そのため、依頼情報作成部133は、一連の処理として最初に実行される「処理6」の依頼先E142に「サーバー2C」を設定する。また、予約管理テーブルTBL10には、検査dについて、一連の処理の完了後に、「端末3B」に転送することが返却先C18として設定されている。そのため、依頼情報作成部133は、一連の処理の最後に実行される「処理8」の返却先E143に「端末3B」を設定する。なお、依頼情報作成部133は、その他の依頼先E142及び返却先E143には、情報が入力されていないことを示す情報として、例えば「−(ブランク)」を入力する。
【0053】
なお、
図10の例で、「処理6」、「処理7」、及び「処理8」を、それぞれ異なるサーバーで実行させることも可能である。この場合の例については、変形例1として後述する。
【0054】
また、メインサーバーを示す情報は、処理管理テーブルTBL40に関連付けられている。そのため、メインサーバーで画像処理を実行する検査(例えば、検査a〜c)の場合には、依頼情報作成部133は、このメインサーバーを示す情報、即ち、「サーバー2A」を示す情報を依頼先E142に設定する。なお、返却先E143の設定方法については、前述した検査dの場合と同様である。
【0055】
依頼情報作成部133は、各検査の依頼情報と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを処理制御部14に出力する。
【0056】
(処理制御部14)
処理制御部14は、依頼情報作成部133から、各検査の依頼情報と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを受ける。処理制御部14は、これらの情報に基づき、撮影部15A及び15B、依頼部17、及びサーバー2A〜2Dの動作を制御する。なお、依頼部17は、撮影部15や画像記憶部16ごとに関連付けられて設けられている。なお、依頼部17の詳細については後述する。以下に、処理制御部14の詳細について説明する。
【0057】
処理制御部14は、予約管理テーブルTBL10を参照し、各検査の検査開始時間を特定する。処理制御部14は、特定された検査開始時間にあわせて、撮影部15A及び15Bに撮影の開始を指示する。
【0058】
また、処理制御部14は、予約管理テーブルTBL10を基に、検査ごとの画像処理が出力される依頼部17を特定する。例えば、
図4に示すように、検査dでは撮影部15Bで画像データが撮影される。そのため、処理制御部14は、撮影部15Bに関連付けて設けられた依頼部17を特定する。
【0059】
また、処理制御部14は、処理管理テーブルTBL40の処理開始時間C41を参照し、各検査の画像処理が開始する時間を特定する。処理制御部14は、各検査の依頼情報を、その検査の画像処理が開始される以前に、該当する依頼部17にあらかじめ通知する。
【0060】
また、検査cのように、画像記憶部16に記憶された画像データに対する画像処理の予約については、処理制御部14は、依頼情報とあわせて、画像処理の対象となる画像データのファイル名C19を該当する依頼部17に通知する。この通知を受けて、依頼部17は、通知されたファイル名C19を基に該当する画像データを画像記憶部16から読み出す。
【0061】
次に、処理制御部14は、処理管理テーブルTBL40を参照し、各画像処理の処理開始時間C41を特定する。また、処理制御部14は、検査ごとの依頼情報に基づき、その検査の画像処理を実行するサーバーを特定する。例えば、
図7は、サーバー2Aの処理管理テーブルTBL40であり、このうち検査dの画像処理をサーバー2Cに依頼する。この場合には、検査a〜cの依頼情報には、処理情報E14として、サーバー2Aを示す情報が含まれている。同様に、検査dの依頼情報には、処理情報E14として、サーバー2Cを示す情報が含まれている。そのため、処理制御部14は、検査a〜cの画像処理については、処理開始時間C41を基に、サーバー2Aに実行を指示する。また、処理制御部14は、検査dの画像処理については、サーバー2Cに実行を指示する。
【0062】
以上のように、予約管理部11と、処理量算出部12と、解析部13と、処理制御部14とが動作することで、撮影部15A及び15B、各依頼部17、及びサーバー2A〜2Dの動作が制御される。
【0063】
次に、
図1及び
図3を参照しながら、依頼部17、サーバー2A〜2Dの構成について説明する。
図3は、撮影部15A〜15Bで撮影された画像データ、及び、画像記憶部16に記憶された画像データが、サーバー2A〜2Dのいずれかにより画像処理が施され、端末3に出力されるまでの流れに着目したブロック図である。
【0064】
(依頼部17)
依頼部17は、撮影部15及び画像記憶部16それぞれに関連付けられて設けられている。
【0065】
撮影部15に関連付けられた依頼部17は、撮影された画像データを撮影部15から受ける。また、この依頼部17は、処理制御部14から依頼情報を受ける。
【0066】
依頼部17は、受けた依頼情報から、検査識別子E11、検査種別E12、重要度E13、及び処理情報E14を読み出し、撮影部15から受けた画像データに付帯させる。
図11は、本実施形態に係る画像データのデータ構造の一例である。
図11に示すように、画像データは、付帯情報E500と画像の実データE600とを含んで構成されている。画像の実データE600は、画像の作成元となるデータそのものである。付帯情報E500は、その画像データの属性を示す情報が含まれている。依頼情報から読み出された検査識別子E11、検査種別E12、重要度E13、及び処理情報E14は、
図11に示すように、付帯情報E500に入力される。
【0067】
依頼部17は、処理情報E14に含まれる各処理の情報のうち、最初の処理の情報の依頼先E142の情報を読み出し、画像データを送信するサーバー2を特定する。例えば、
図11の例では、処理情報E14の最初に定義された「処理6」の依頼先E142を読み出し、「サーバー2C」を特定する。依頼部17は、特定されたサーバー2Cに画像データを送付する。
【0068】
また、画像記憶部16に関連付けられた依頼部17は、処理制御部14から、画像処理の対象となる画像データのファイル名C19と、依頼情報とを受ける。この依頼部17は、ファイル名C19に該当する画像データを画像記憶部16から読み出す。
【0069】
また、依頼部17は、受けた依頼情報から、検査識別子E11、検査種別E12、重要度E13、及び処理情報E14を読み出し、画像記憶部16から読み出した画像データに付帯させる。以降の処理は、撮影部15に関連付けられた依頼部17と同様である。
【0070】
なお、撮影部15及び画像記憶部16それぞれに関連付けられて各依頼部17を、1つの依頼部17としてまとめて動作させてもよい。
【0071】
次に、サーバー2A〜2Dの構成について、
図11で示した検査dに関する画像データがサーバー2Cで処理される例に説明する。
【0072】
サーバー2Cは、画像処理部21と、転送部22とを含んで構成されている。
【0073】
画像処理部21は、依頼部17から画像データを受ける。また、画像処理部21は、処理制御部14から画像処理の実行を指示される。
【0074】
画像処理部21は、画像処理の実行が指示されると、まず依頼部17から受けた画像データに付帯された処理情報E14を読み出す。次に、処理情報E14に処理ごとに登録された依頼先E142を遂次読み出す。この処理において、画像処理部21は、依頼先E142に自身を示す情報が含まれる第1の行を特定する。
図11の場合、サーバー2Cの画像処理部21は、依頼先E142に「サーバー2C」が設定された「処理6」の行を第1の行として特定する。
【0075】
次に、画像処理部21は、第1の行から順に処理E141、依頼先E142、及び返却先E143を遂次読み出し、読み出された行の処理E141に設定されている処理を実行する。画像処理部21は、この処理を返却先E143に情報が入力された(即ち、「−(ブランク)」以外の情報が設定された)第2の行を読み出すまで実行する。
図11の場合、「処理6」及び「処理7」の行の返却先E143には「−(ブランク)」が設定されており、「処理8」の返却先E143には「端末3B」が設定されている。そのため、画像処理部21は、「処理6」、「処理7」、及び「処理8」をこの順で実行する。
【0076】
第2の行を読み出した場合には、処理E141に設定されている処理を実行した後に、その処理が実行された後の画像データと返却先E143とを転送部22に出力する。
図11の場合には、画像処理部21は、「処理8」を実行後に、「処理8」が実行された後の画像データと、返却先E143に設定された「端末3B」を転送部22に通知する。
【0077】
転送部22は、画像処理部21から、画像処理後の画像データと、返却先E143とを受ける。転送部22は、返却先E143で示された宛先に、受けた画像データを転送する。即ち、
図11に示す例の場合には、検査dの画像データは、サーバー2Cの画像処理部21において、「処理6」、「処理7」、及び「処理8」が実行された後に、転送部22により「端末3B」に転送される。
【0078】
なお、上記では、サーバー2A〜2Dの画像処理部21が画像処理を開始する契機は、必ずしも処理制御部14の指示に限定されるものではない。例えば、画像処理部21は、依頼部17から画像データを受信したときに、この受信をトリガとして画像処理を開始してもよい。この場合、処理制御部14は、各サーバーに画像処理の開始を指示する必要は無い。
【0079】
次に、解析部13の動作について
図12を参照しながら説明する。
図12は、補助サーバーに依頼する画像処理を特定し、その画像処理を依頼するまでの一連の動作を示したフローチャートである。
【0080】
(ステップS11)
予約受付部111は、撮影部15Aまたは15Bによる画像データの撮影に係る検査予約を受け付け、
図4に示すような予約管理テーブルTBL10を作成する。予約受付部111は、生成された予約管理テーブルTBL10を処理条件特定部112に出力する。
【0081】
処理条件特定部112は、予約受付部111から予約管理テーブルTBL10を受ける。処理条件特定部112は、予約管理テーブルTBL10を基に、予約された各検査における画像処理、即ち、予約された画像処理の、処理開始時間C41と、処理終了時間C42とを算出する。処理条件特定部112は、処理開始時間C41と、処理終了時間C42とを基に、処理管理テーブルTBL40を作成する。処理条件特定部112は、作成された処理管理テーブルTBL40を予約管理テーブルTBL10とあわせて処理量算出部12に出力する。
【0082】
処理量算出部12は、処理管理テーブルTBL40及び予約管理テーブルTBL10を処理条件特定部112から受ける。処理量算出部12は、画像サイズC16を基に、画像1枚当たりのデータ量C32を特定する。処理量算出部12は、予約管理テーブルTBL10に記憶された画像処理種別C15を基に、管理テーブルTBL20から、画像種別C21と、処理内容C22とを特定する。次に、処理量算出部12は、管理テーブルTBL30を参照し、画像種別C21と、画像サイズC16と、を基に、処理内容C22に含まれる処理ごとに、データ量C32を特定する。
【0083】
次に、処理量算出部12は、算出された画像1枚当たりのデータ量の合計と、予約管理テーブルTBL10に記憶された枚数C17とに基づき、検査ごとの合計データ量を算出する。処理量算出部12は、算出された合計データ量を、特定された処理開始時間C41から処理終了時間C42までの時間幅で除算することにより、所定の単位時間あたりに処理するデータ量を処理量C43として算出し、処理管理テーブルTBL40に入力する。
【0084】
処理量算出部12は、処理量C43を入力した処理管理テーブルTBL40と、予約管理テーブルTBL10とを、解析部13に出力する。
【0085】
(ステップS12)
解析部13は、処理管理テーブルTBL40及び予約管理テーブルTBL10を処理量算出部12から受け、これらを依頼処理特定部131に出力する。
【0086】
依頼処理特定部131は、処理管理テーブルTBL40を受けて、処理管理テーブルTBL40に記憶された処理開始時間C41、処理終了時間C42に基づき、
図8に示すように、サーバー2Aで実行される検査ごとの画像処理の処理スケジュールを作成する。
【0087】
依頼処理特定部131は、サーバー2Aで実行される各画像処理の処理量C43を時間幅ごとにそれぞれ加算し、
図9Aに示すような負荷予測データを作成する。
【0088】
(ステップS13)
次に、依頼処理特定部131は、時間幅ごとに処理量C43の合計Dを計算し、所定の処理量D0と比較する。この比較により、依頼処理特定部131は、各画像処理の時間幅当たりの処理量C43の合計Dが、所定の処理量D0以上となるか否かを判定する。なお所定の処理量D0は、許容される処理負荷の最大値として、そのサーバーの最大処理量Dmaxを超えない範囲であらかじめ設定しておく。
【0089】
(ステップS15)
処理量C43の合計Dが所定の処理量D0以上となる場合に(ステップS14、Y)、依頼処理特定部131は、その時間幅で実行が予定されている画像処理のうち、補助サーバーに代行を依頼する画像処理を特定する。依頼処理特定部131は、処理量C43の合計が所定の処理量D0未満となるまで、依頼画像処理を特定する。
【0090】
補助サーバーに代行を依頼する画像処理を特定したら、依頼処理特定部131は、処理管理テーブルTBL40及び予約管理テーブルTBL10を依頼先特定部132に送信する。このとき、依頼処理特定部131は、補助サーバーに依頼する特定された依頼画像処理(
図9Aの場合、検査dの画像処理)をあわせて依頼先特定部132に通知する。
【0091】
(ステップS16)
依頼先特定部132は、処理管理テーブルTBL40及び予約管理テーブルTBL10と、依頼画像処理の通知とを受ける。依頼先特定部132は、補助サーバーとして動作するサーバー2C及び2Dのうちのいずれかを、通知された画像処理を依頼するサーバーとして特定する。このとき依頼先特定部132は、例えば、実行元のメインサーバーごとに依頼先をあらかじめ対応付けておくとよい。また、依頼先特定部132は、通知された画像処理の画像処理種別C15ごとに依頼先をあらかじめ設定しておいてもよい。この場合、依頼先特定部132は、予約管理テーブルTBL10を参照し、通知された画像処理の画像処理種別C15を特定する。
【0092】
なお、処理量C43の合計Dが所定の処理量D0以上とならない場合に(ステップS14、N)は、ステップS15及び16で示した処理を行わず次の処理に遷移する。
【0093】
(ステップS17)
依頼処理特定部131及び依頼先特定部132は、全ての時間幅について処理が完了していない場合(ステップS17、N)には、次の時間幅についてステップS13〜S16に係る処理を実行する。
【0094】
(ステップS18)
全ての時間幅について処理が完了した場合に(ステップS17、Y)は、依頼情報作成部133は、予約管理テーブルTBL10に記憶された検査ごとに、
図10に示す依頼情報E10を作成する。依頼情報作成部133は、検査識別子E11及び画像処理種別E12には、予約管理テーブルTBL10に記憶された検査識別子C10及び画像処理種別C15に記憶された情報を入力する。また、依頼情報作成部133は、重要度E13に、その検査にあらかじめ設定された重要度を入力する。また、依頼情報作成部133は、処理E141と、依頼先142と、返却先E143と1つの組として、この組が画像処理を構成する処理ごとに作成し、処理情報E14に入力する。
【0095】
なお、依頼情報作成部133は、通知されたこの組と、予約管理テーブルTBL10とを比較し、メインサーバーで画像処理を実行する検査と、補助サーバーに画像処理を依頼する検査とに分ける。補助サーバーに画像処理を依頼する検査の場合には、依頼情報作成部133は、通知された組に含まれる依頼先の情報を依頼先E142として入力する。メインサーバーで画像処理を実行する検査(例えば、検査a〜c)の場合には、依頼情報作成部133は、このメインサーバーを示す情報を依頼先E142に設定する。
【0096】
依頼情報作成部133は、各検査の依頼情報と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを処理制御部14に出力する。
【0097】
(ステップS19)
処理制御部14は、予約管理テーブルTBL10を参照し、各検査の検査開始時間を特定する。処理制御部14は、特定された検査開始時間に基づき、撮影部15A及び15Bに撮影の開始を指示する。
【0098】
処理制御部14は、予約管理テーブルTBL10を基に、検査ごとの画像処理が出力される依頼部17を特定する。
【0099】
処理制御部14は、処理管理テーブルTBL40の処理開始時間C41を参照し、各検査の画像処理が開始する時間を特定する。処理制御部14は、各検査の依頼情報を、その検査の画像処理が開始される以前に、該当する依頼部17にあらかじめ通知する。
【0100】
(ステップS20)
依頼部17は、撮影された画像データを撮影部15から受ける。また、この依頼部17は、処理制御部14から依頼情報を受ける。依頼部17は、受けた依頼情報から、検査識別子E11、検査種別E12、重要度E13、及び処理情報E14を読み出し、撮影部15から受けた画像データに付帯させる。
【0101】
(ステップS21)
依頼部17は、処理情報E14に含まれる各処理の情報のうち、最初の処理の情報の依頼先E142の情報を読み出し、画像データを送信するサーバー2Cを特定する。依頼部17は、特定されたサーバー2Cに画像データを送付する。
【0102】
以上のように本実施形態に係る医用画像処理システムでは、画像処理を実行するメインサーバーごとに、予約された画像処理について時間幅当たりの処理量の合計Dを時間幅ごとに算出する。そのうえで、算出された処理量の合計Dを所定の処理量D0と比較し、合計Dが処理量D0以上となる場合に、その時間幅で実行が予定されている画像処理のうち一部の実行を補助サーバーに依頼する。このような構成とすることにより、一時的に処理負荷が増大する時間帯(つまり、非定常的に負荷が増大する時間帯)と、その時間帯で実行される画像処理を特定し、特定された画像処理の一部を補助サーバーに依頼することが可能となる。この補助サーバーは、メインサーバーのように定常的に画像処理を実行する必要は無い。そのため、画像処理以外の処理を実行するサーバーを一時的に補助サーバーとして動作させたり、外部機関に設けられた補助サーバーを設けたりすることが可能となる。これにより、メインサーバーを増設することなく、非定常時の負荷に対応することが可能となる。
【0103】
(変形例1)
次に、第1の実施形態の変形例として、変形例1に係る医用画像処理システムについて説明する。例えば、検査dの画像処理は、処理内容として「処理6」、「処理7」、及び「処理8」を含んで構成される。第1の実施形態に係る医用画像処理システムでは、検査ごとに画像処理の依頼先を特定していた。変形例1に係る医用画像処理システムは、検査ごとの画像処理を構成する処理ごとに、依頼先を設定可能に構成されている。以降では、変形例1に係る医用画像処理システムについて、第1の実施形態と異なる解析部13の動作に着目し説明する。
【0104】
依頼処理特定部131の動作は第1の実施形態と同様である。なお、以降では、第1の実施形態と同様に、検査dの画像処理が依頼画像処理として特定されたものとして説明する。
【0105】
変形例1に係る依頼先特定部132は、各補助サーバー(即ち、サーバー2C及び2D)が実行可能な処理を管理する機能管理テーブルをあらかじめ記憶している。
図14は、機能管理テーブルの一例である。
図14に示すように、機能管理テーブルは、サーバー識別子C51と、実行可能な処理種別C52とを含んで構成されている。サーバー識別子C51は、各補助サーバーを識別するための識別子である。また、実行可能な処理種別C52には、サーバー識別子C51で示された補助サーバーで、実行可能な処理の一覧が記憶されている。
【0106】
例えば、
図14の例では、サーバー2Cは、「処理1」、「処理2」、「処理5」、及び「処理6」を実行可能であることを示している。同様に、サーバー2Dは、「処理3」、「処理4」、「処理7」、及び「処理8」を実行可能であることを示している。このような構成の場合、例えば、検査dの画像処理、即ち「処理6」、「処理7」、及び「処理8」をサーバー2Cのみで処理することは不可能である。そこで、依頼先特定部132は、画像処理を構成する各処理ごとに、依頼先を特定する。
【0107】
まず、依頼先特定部132は、検査dの画像処理の処理内容を、
図5に示した管理テーブルTBL20を基に特定する。これにより、検査dの画像処理の処理内容として、「処理6」、「処理7」、及び「処理8」が特定される。
【0108】
次に、依頼先特定部132は、特定された処理ごとに、その処理を実行可能な補助サーバーを特定する。
図14に示す構成の場合、依頼先特定部132は、「処理6」の依頼先として「サーバー2C」を特定し、「処理7」及び「処理8」の依頼先として「サーバー2D」を特定する。依頼先特定部132は、各処理とそれぞれについて特定された依頼先とを対として関連付けるとともに、これら各対と画像データの返却先C18とを1つの組として関連付ける。依頼先特定部132は、作成された組と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを、依頼情報作成部133に出力する。
【0109】
(依頼情報作成部133)
依頼情報作成部133は、予約管理テーブルTBL10に記憶された検査ごとに、依頼情報E10を作成する。
図13は、上述した例に、検査dの依頼情報E10のデータ構造を示している。依頼情報E10のデータ構造については、第1の実施形態に係る依頼情報E10のデータ構造と同様であるが、処理情報E14に設定される内容が異なる。ここでは、処理情報E14’の生成方法について着目し説明する。
【0110】
依頼情報作成部133は、検査dの画像処理を構成する各処理について、実行される順に依頼先を確認する。最初に実行される「処理6」の依頼先には「サーバー2C」が設定されている。そのため、依頼情報作成部133は、処理E141に「処理6」を入力するとともに、「処理6」の依頼先E142に「サーバー2C」を入力する。
【0111】
次に、依頼情報作成部133は、「処理6」の次に実行される「処理7」の依頼先を確認する。「処理7」の依頼先は「サーバー2D」であり、「処理6」とは異なる。そのため、依頼情報作成部133は、まず「処理6」の行の返却先E143に、次の処理、つまり「処理7」の依頼先である「サーバー2D」の情報を入力する。これにより、サーバー2Cで「処理6」が実行された後に、画像データが「サーバー2D」に転送される。また、依頼情報作成部133は、処理E141に「処理7」を入力して「処理7」の行を作成するとともに、この行の依頼先E142に「サーバー2D」を入力する。これにより、「サーバー2D」では、「処理7」から実行される。
【0112】
次に、依頼情報作成部133は、「処理7」の次に実行される「処理8」の依頼先を確認する。「処理8」の依頼先は「サーバー2D」であり、「処理7」と同じである。そのため、依頼情報作成部133は、「処理7」の行の返却先E143には、情報を入力せず「−(ブランク)」とする。また、依頼情報作成部133は、処理E141に「処理8」を入力して「処理8」の行を作成する。このとき、「処理8」の行の依頼先E142には、情報を入力せず「−(ブランク)」とする。
【0113】
なお、「処理8」以降に実行される処理は無い。そのため、依頼情報作成部133は、「処理8」の行の返却先E143に、返却先C18として設定された「端末3B」を設定する。これにより、「サーバー2D」で「処理8」が実行された後に、画像データが「端末3B」に転送される。
【0114】
以降の処理は、第1の実施形態に係る医用画像処理システムと同様である。
【0115】
なお、上記では、補助サーバーのみを処理の依頼先として設定していたが、一部の処理の依頼先にメインサーバーを含めるように構成してもよい。例えば、時間幅当たりの処理負荷の合計Dと所定の処理量D0との比較を、検査ごとではく、画像処理を構成する処理ごとに行ってもよい。このように動作させることで、画像処理を構成する各処理のうち、一部の処理の実行のみを補助サーバーに依頼し、その処理の実行後に、メインサーバーで以降の処理を引き継ぐことも可能となる。なお、補助サーバーとメインサーバーとの間で処理の引き継ぎを行う場合には、補助サーバーとメインサーバーとをネットワークを介して接続する。
【0116】
以上のように、変形例1に係る医用画像処理システムでは、検査ごとの画像処理を構成する処理ごとに依頼先が設定され、処理情報E14’として画像データに付帯される。これにより、補助サーバーごとに実行可能な処理が異なる場合においても、検査ごとの画像処理を、複数の補助サーバーに亘って実行させることが可能となる。これにより、補助サーバーそれぞれが、全ての処理を実行可能である必要が無くなり、各補助サーバーにインストールするソフトウェアの量を少なくすることが可能となる。そのため、各補助サーバーの構築にかかる手間を軽減することが可能となり、かつ、ソフトウェアの数が制限されるため、その分の記憶領域をデータの領域として使用することが可能となる。
【0117】
(第2の実施形態)
次に、第2の実施形態として、新たな予約が追加された場合における医用画像処理システムの動作について、
図15〜
図18を参照しながら、第1の実施形態と異なる部分に着目して説明する。
【0118】
まず、
図15を参照する。
図15は、本実施形態における、画像処理の処理スケジュールの一例である。
図15では、サーバー2Aに検査a、b、及びcの画像処理の予約されている状況で、時間Txにおいて、緊急の検査として「検査e」の予約が追加された場合を示している。なお、時間Txは、
図15に示すように、検査a及びbの画像処理が既に開始され、検査cの画像処理が開始される前の時間を示している。
【0119】
(予約受付部111)
まず、予約受付部111が、検査eの予約を受け付ける。検査eとして検査内容が決まっている場合には、予約受付部111は、第1の実施形態と同様に予約を受け付ける。しかしながら、緊急の検査の場合には、具体的な検査内容が決まっていない場合がある。
図16は、緊急で追加された検査の予約内容含む予約管理テーブルの一例である。
【0120】
図16に示すように、緊急の検査の場合には、画像処理種別C15、画像サイズC16、及び枚数C17のように詳細な条件が決定していない場合がある。このような場合には、予約受付部111は、画像データを撮影する予定の撮影部15の撮影部識別子C12と、検査開始時間Te1及び検査終了時間Te2と、返却先C18とを検査の予約として受け付ける。予約受付部111は、予約管理テーブルTBL10に、予約を受け付けた検査eの情報を追加する。これにより、予約管理テーブルTBL10が更新される。
【0121】
予約受付部111は、更新された(検査eの情報が追加された)予約管理テーブルTBL10を処理条件特定部112に出力する。
【0122】
(処理条件特定部112)
処理条件特定部112は、予約受付部111から予約管理テーブルTBL10を受けると、新たに追加された検査eについて、画像処理の処理開始時間C41及び処理終了時間C42を算出する。このとき、検査eの情報には、画像処理種別C15、画像サイズC16、及び枚数C17の情報が入力されていない。そのため、処理条件特定部112に、緊急処理用の条件を、例えば「緊急処理x」の条件としてあらかじめ記憶させておく。緊急処理xの条件には、検査が開始されてから画像処理が開始されるまでの時間幅Tx1と、処理されるデータ量Dxとが含まれる。時間幅Tx1及びデータ量Dxには、過去に実施された緊急の検査の統計等から想定される値を算出して設定する。なお、緊急処理xの条件は、処理量算出部12も参照する。そのため、処理条件特定部112は、この情報を処理量算出部12が参照可能にしている。または、緊急処理xの条件を記憶する記憶部を別途設け、処理条件特定部112及び処理量算出部12が、この記憶部を参照する構成としてもよい。
【0123】
処理条件特定部112は、新たに追加された検査eの画像処理種別C15、画像サイズC16、及び枚数C17の情報を参照し、これらの情報が入力されていないため、検査eの画像処理を「緊急処理x」として特定する。なお、「緊急」である旨を示す識別子をデータとして追加し、この識別子により緊急処理であるか否かを判断してもよい。また、この場合には画像処理種別C15、画像サイズC16、及び枚数C17の情報が入力されていてもよい。処理条件特定部112は、検査eの検査開始時間C13に設定された「Te1」から、「緊急処理x」の条件として設定された「時間幅Tx1」経過後の時間「Te3」を、処理開始時間C41として算出する。また、処理条件特定部112は、検査終了時間C14に設定された時間「Te2」を基に処理終了時間C42として時間「Te4」を特定する。処理終了時間C42の特定方法は第1の実施形態と同様である。
【0124】
処理条件特定部112は、検査a〜cの予約時に既に作成されている処理管理テーブルTBL40に、検査eの情報として、処理開始時間C41及び処理終了時間C42に特定された時間「Te3」及び時間「Te4」を入力する。即ち、処理管理テーブルTBL40が更新される。
【0125】
処理条件特定部112は、更新されたTBL40を、予約管理テーブルTBL10とあわせて処理量算出部12に出力する。
【0126】
(処理量算出部12)
処理量算出部12は、処理条件特定部112から予約管理テーブルTBL10を受けると、新たに追加された検査eについて処理量C43を算出する。その算出方法について、以下に具体的に説明する。
【0127】
まず、処理量算出部12は、予約管理テーブルTBL10の中で、新たに追加された検査eについて、画像サイズC16を参照する。このとき、検査eの情報には、画像処理種別C15、画像サイズC16、及び枚数C17の情報が入力されていない。処理量算出部12は、画像サイズC16の情報が読み出せなかった場合には、その検査の画像処理を「緊急処理x」として特定し、検査ごとの合計データ量を、「緊急処理x」の条件として設定されたデータ量Dxとして特定する。なお、画像処理種別C15、画像サイズC16、及び枚数C17の情報が入力されている場合は、第1の実施形態と同様に検査ごとの合計データ量を算出する。
【0128】
次に、処理量算出部12は、検査eについて、算出された合計データ量と、処理管理テーブルTBL40に記憶された処理開始時間C41及び処理終了時間C42とを基に処理量C43を算出する。この算出方法は、第1の実施形態と同様である。算出された検査eの処理量C43を「De」とする。処理量算出部12は、算出された検査eの処理量「De」を、処理管理テーブルTBL40における「検査e」の行に入力する。これにより、処理管理テーブルTBL40が更新される。
【0129】
処理量算出部12は、更新された処理管理テーブルTBL40と、予約管理テーブルTBL10とを、解析部13に出力する。
【0130】
(解析部13)
解析部13は、処理管理テーブルTBL40及び予約管理テーブルTBL10を処理量算出部12から受け、これらを依頼処理特定部131に出力する。
【0131】
(依頼処理特定部131)
依頼処理特定部131は、処理管理テーブルTBL40を受けて、新たに追加された検査eの情報を基に、サーバー2Aで実行される検査ごとの画像処理の処理スケジュールを更新する。
図15は、検査eの画像処理の情報が追加された処理スケジュールを示している。
【0132】
依頼処理特定部131は、検査a〜cの画像処理の予約を基に既に作成された負荷予測データに、検査eの画像処理の情報を追加する。これにより負荷予測データが更新される。
図18は、検査eの画像処理の追加に伴い更新された負荷予測データの一例である。
【0133】
次に、依頼処理特定部131は、追加された検査eの画像処理の処理開始時間「Te3」から処理終了時間「Te4」までの間で、各画像処理の処理量C43の合計Dが、所定の処理量D0以上となるか否かを判定する。例えば、
図18の例では、処理開始時間「Te3」から処理終了時間「Te4」までの間を、あらかじめ決められた単位時間幅で時間幅Wb1〜Wb7に分割している。
図18の例では、時間幅Wb1において、合計Dが所定の処理量D0以上となる。
【0134】
依頼処理特定部131は、特定された時間幅Wb1において、実行が予定されている画像処理のうち、補助サーバー(即ち、サーバー2Cまたは2D)に代行を依頼する依頼画像処理を特定する。このとき、依頼処理特定部131は、あらかじめ予約されていた検査a〜cの画像処理のうち、処理が開始されていない画像処理を優先して依頼画像処理として特定する。具体的には、依頼処理特定部131は、時間Txと、各検査の処理開始時間C41を比較し、時間Tx以降に開始される画像処理を特定する。例えば
図18では、時間Txにおいて、検査a及びbの画像処理は既に開始されている。そのため、依頼処理特定部131は、検査cを特定する。次に、依頼処理特定部131は、特定された検査cの優先度と、新たに追加された検査eの優先度を比較し、優先度の低い画像処理を依頼画像処理として特定する。このとき、緊急で追加された検査(例えば、検査e)は画像処理の優先度を高く設定しておくことで、この検査はメインサーバーで優先的に処理されるようになる。
図18の例では、依頼処理特定部131は、検査cの画像処理を依頼画像処理として特定する。
【0135】
なお、検査a〜cの画像処理が全て開始済みの場合には、依頼処理特定部131は、時間幅Wb1で予定されている全ての画像処理(即ち、検査a〜c、及びe)の優先度を比較し、最も優先度の低い画像処理を依頼画像処理として特定する。
【0136】
補助サーバーに代行を依頼する画像処理を特定したら、依頼処理特定部131は、処理管理テーブルTBL40及び予約管理テーブルTBL10を依頼先特定部132に送信する。このとき、依頼処理特定部131は、補助サーバーに依頼する特定された依頼画像処理(
図18の場合、検査cの画像処理)をあわせて依頼先特定部132に通知する。
【0137】
(依頼先特定部132)
依頼先特定部132は、処理管理テーブルTBL40及び予約管理テーブルTBL10と、依頼画像処理の通知とを受ける。依頼先特定部132は、補助サーバーとして動作するサーバー2C及び2Dのうちのいずれかを、通知された画像処理の依頼先として特定する。この依頼先の特定に係る処理は、第1の実施形態と同様である。以降では、新たな依頼先として「サーバー2C」が特定されたものとして説明する。
【0138】
依頼先特定部132は、特定された依頼先と、通知された依頼画像処理と、画像データの返却先C18とを1つの組として関連付ける。依頼先特定部132は、作成された組と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを、依頼情報作成部133に出力する。
【0139】
(依頼情報作成部133)
依頼情報作成部133は、依頼先特定部132から、依頼先、依頼画像処理、及び返却先C18が関連付けられた組と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを受ける。
【0140】
依頼情報作成部133は、依頼情報E10が作成されていない画像処理、即ち、新たに追加された検査eの画像処理の依頼情報E10を作成する。依頼情報E10の作成方法は、第1の実施形態と同様である。
【0141】
また、依頼情報作成部133は、依頼先特定部132から受けた、依頼先、依頼画像処理、及び返却先C18の組を基に、依頼先が変更された画像処理(即ち、検査cの画像処理)を特定する。依頼情報作成部133は、特定された検査cの画像処理に関する依頼情報E10の処理情報E14を更新する。更新前の検査cの依頼情報E10では、処理情報E14に依頼先E142として「サーバー2A」が記憶されている。依頼情報作成部133は、この依頼先E142を「サーバー2A」から、新たに受けた組に依頼先として含まれる「サーバー2C」に更新する。
【0142】
依頼情報作成部133は、作成及び更新された依頼情報と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを処理制御部14に出力する。
【0143】
(処理制御部14)
処理制御部14は、依頼情報作成部133から、作成及び更新された依頼情報と、処理管理テーブルTBL40及び予約管理テーブルTBL10とを受ける。
【0144】
処理制御部14は、予約管理テーブルTBL10を参照し、新たに追加された検査eの検査開始時間を特定する。処理制御部14は、特定された検査開始時間にあわせて、撮影部識別子C12で示された「撮影部15A」に撮影の開始を指示する。
【0145】
また、処理制御部14は、予約管理テーブルTBL10を基に、作成及び更新された依頼情報E10を通知する依頼部17を特定する。例えば、本実施例では、処理制御部14は、検査c及びeの依頼情報E10を受けている。そのため、処理制御部14は、
図16に示した予約管理テーブルTBL10を基に、検査eの依頼情報E10の通知先として、撮影部識別子C12に記憶された「撮影部15A」を特定する。これにより、処理制御部14は、検査eの依頼情報E10の通知先として、撮影部15Aに関連付けて設けられた依頼部17を特定する。なお、検査cについては、第1の実施形態と同様であり、処理制御部14は、画像記憶部16に関連付けて設けられた依頼部17を特定する。
【0146】
処理制御部14は、処理管理テーブルTBL40の処理開始時間C41を参照し、検査c及びeの画像処理が開始する時間を特定する。処理制御部14は、検査c及びeそれぞれの依頼情報を、その検査の画像処理が開始される以前に、該当する依頼部17にあらかじめ通知する。なお、以降の処理については、第1の実施形態と同様である。
【0147】
なお、依頼先特定部132は、サーバー2A〜2Dの処理負荷を基に、処理負荷の低いサーバー2を依頼先として特定してもよい。この場合、サーバー2A〜2Dに、自身の処理負荷を性能情報として通知する性能情報通知部23を設ければよい。なお、この性能情報には、ネットワークの転送速度を示す情報を含めてもよい。ネットワークの転送速度を示す情報は、例えば、ネットワークの種別に基づき特定してもよいし、ネットワークの負荷を測定し、これに基づき算出してもよい。
【0148】
依頼先特定部132は、サーバー2A〜2Dの性能情報通知部23から通知される性能情報を比較し、処理負荷の低いサーバー2を依頼先として特定することが可能となる。このように動作させることで、例えば、依頼先の候補が複数ある場合に、より処理負荷の低い方を依頼先として特定することが可能となる。
【0149】
また、変形例1と同様に、本実施形態に係る医用画像処理システムにおいても、画像処理を構成する処理ごとに依頼先を設定可能としてもよい。
【0150】
以上、以上のように本実施形態に係る医用画像処理システムでは、新たな予約が追加された場合においても、追加された予約を含めて、非定常的に負荷が増大する時間帯と、その時間帯で実行される画像処理を特定し、特定された画像処理の一部を補助サーバーに依頼することが可能となる。
【0151】
以上のように、この発明の実施形態に係る医用画像処理システムによれば、非定常的に負荷が増大する時間帯と、その時間帯で実行される画像処理を特定し、特定された画像処理の一部を補助サーバーに依頼することが可能となる。この補助サーバーは、メインサーバーのように定常的に画像処理を実行する必要は無い。そのため、画像処理以外の処理を実行するサーバーを一時的に補助サーバーとして動作させたり、外部機関に設けられた補助サーバーを設けたりすることが可能となる。これにより、メインサーバーを増設することなく、非定常時の負荷に対応することが可能となる。
【0152】
(第3の実施形態)
次に、第3の実施形態として、課金処理について説明する。ここで処理制御部14内に負荷確認部140が設けられる。負荷確認部140は、サーバー2C−2Fの負荷状態から各サーバーの課金率を求め、課金率の低くなっているサーバーを選択して処理制御部14に返す。処理制御部14は、依頼先特定部132を介して選択されたサーバーに処理を依頼する。依頼先の負荷の低い時に処理を依頼すると安く課金されるので、例えば時差のある海外の病院などの最大負荷のかかる時間がずれる施設の間で、互いに処理を依頼しあい、互いに課金するためのシステムである。
【0153】
負荷確認部140は、
図1に示した処理制御部14内の一処理機能として
図19及び
図20に図示するが、処理制御部14の外側の別の処理部として設けてもよい。負荷確認部140は、処理制御部14内にある場合でも外部にある場合でも、制御処理部14と同様に、院外ネットワークに係るサーバー2C−2Fをそれぞれ監視し、その監視結果を処理制御部14に送る。
図1にサーバー2Cと2Dを示す一方、サーバー2Eと2Fは示していないが、サーバー2Cと2D同様、ネットワークを介して処理制御部14に接続されており、処理制御部14による処理の依頼の相手となっている。
【0154】
まず、負荷確認部140は、サーバー2C−2Fをそれぞれ監視することにより、サーバー2C−2Fの負荷状態を取得する。
図19に示す例では、サーバー2Cの現在の負荷状態が15%、サーバー2Dの現在の負荷状態が55%、サーバー2Eの現在の負荷状態が70%、サーバー2Fの現在の負荷状態が85%である。
【0155】
負荷確認部140は、上述のサーバー2C−2Fの現在の負荷状態を管理する監視テーブルTBL50を備えている。監視テーブルTBL50はさらに、課金率、処理量、課金額を含む。負荷確認部140は、現在の負荷状態に応じて、サーバー2C−2Fの課金率を確認する。課金率は、例えば監視テーブルTBL50の例では、負荷状態が20−50%であれば10、負荷状態が50−65%であれば15、負荷状態が65−80%であれば30、80%を超えたら依頼拒否となっている。
【0156】
この課金率は、負荷状態が上がるにしたがって上昇する値とする。上述の例のように負荷状態の範囲ごとに特定の課金率を設定してもよい。負荷状態に一定の係数を掛け合わせたものを課金率としてもよい。関数やグラフを介して課金率を設定してもよい。このように求められた課金率は処理制御部14に送られ、処理制御部14は、課金率にしたがって依頼先を特定する。
【0157】
監視テーブルTBL50の例では、サーバー2Cの課金率が最も低いので、処理制御部14は、外部の依頼先に送る処理をすべてサーバー2Cに送るという判定をすることができる。その一方で1つのサーバーに送る処理量について上限を設けておくこともできる。例えば監視テーブルTBL50の例では、上限を90とする。この場合、処理制御部14は、依頼すべき処理量が110であるとすると、最も課金率の低いサーバー2Cに送る処理量を上限の90とし、残りの20を次の課金率の低いサーバー2Dに送ると判定する。判定結果を依頼先特定部132に送り、依頼先特定部132は依頼処理を実行する。
【0158】
その結果、負荷確認部140は、課金率に処理量を乗じて課金額を求める。この課金額は、負荷確認部140によって求められる支払の一例である。監視テーブルTBL50の例では、サーバー2Cによる課金額は900となり、サーバー2Dによる課金額は300となる。サーバー2E、2Fには処理の依頼がされないので課金されない。
【0159】
また、処理を依頼することにより、依頼先のサーバーの負荷状態が上がり、許容量を超えてしまう場合もある。その場合は負荷状態を適時に監視又は予測し、負荷状態が許容量を超える処理依頼は中止する。また、処理を依頼することにより依頼先のサーバーの負荷状態が上がり、課金率の境界値を超える場合もある。例えば依頼前は負荷状態が48%であったが、処理を依頼することにより、負荷状態が最終的には55%になるということもありうる。その場合には、負荷状態が50%に達するまでの処理量には負荷状態が50%未満の場合(この場合10)を乗じ、負荷状態が50%を超えたときの処理量には負荷状態が50%以上の場合(この場合15)を乗じるという分け方をすることができる。
【0160】
一方、依頼した処理毎の最大負荷量で課金額が決まる場合もある。例えば、課金率が最も低いサーバー2Cに処理量110を全て依頼した場合に、サーバーCの負荷状態の最大値が52%になるとする。この場合は処理量110に対し、15が乗じられるので合計課金額は1650となる。このような場合は、先ほどの例のように最も課金率の低いサーバー2Cに送る処理量を上限の90とすれば、サーバーCでの課金額が処理量90に10を乗じて900、サーバーDでの課金額が処理量20に15を乗じて300、合計1200となり、サーバーCに処理量110を依頼する場合より安くなる。
【0161】
以上のように構成することにより、処理の依頼量と依頼先の状況にしたがった適切な課金のもとで、適切な処理の負荷分散が可能になる。
【0162】
次に、相互に依頼処理をすることにより相互に課金する例について
図20を参照して説明する。
図19を用いた例の場合は、外部のサーバーに依頼をして課金を一方的に受ける場合について説明したが、逆にサーバー2A、2Bの処理負荷が小さく、外部のサーバー2C−2Fの処理負荷が大きい場合には外部から処理依頼を受けることにより、逆に課金をすることもできる。このように、ある場合には処理の依頼をして課金を受け、他の場合には処理の依頼を受けて課金をするというように、処理分担を交代することもできる。
【0163】
院内ネットワークの負荷確認部140は、
図19を用いて説明したように、サーバー2C−2Fを監視しており、監視テーブルTBL50により管理している。一方で院外ネットワークに接続されているサーバー2Cと2Dのシステム、サーバー2Eと2Fのシステムにも、それぞれ負荷確認部150が設けられ、監視テーブルTBL60を備えている。それぞれのシステムの負荷確認部150は、サーバー2Aと2Bの負荷状態を監視している。
【0164】
図20の例では、院内ネットワークのシステムは処理依頼を出していない状態なので、監視テーブルTBL50に示す処理量も課金額もいずれも0である。この状態で院外ネットワークの負荷確認部150がサーバー2Aの負荷状態15%、サーバー2Bの負荷状態60%を確認する。負荷確認部150は、得られた負荷状態の値からそれぞれ課金率10%、15%を求める。そして各システムの処理制御部(図示しない、院内ネットワークでは処理制御部14に対応)が、課金率の低いサーバー2Aを選択する。そして40の処理量がサーバー2Aによって実行され、課金額は400となる。これらが、監視テーブルTBL60によって管理される。
【0165】
以上のように構成することにより、相互に処理を依頼することにより相互に課金することができるので、処理の負荷分散が可能になるとともに、処理の総計での負担量に偏りがある場合に、適切に課金することができる。
【0166】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載されたその均等の範囲に含まれる。