(57)【要約】      （修正有）【課題】通信トラフィックの発生を防ぎつつ、事前にソフトウェアの利用環境を変更する情報処理装置、情報処理システム、その制御方法及びプログラムを提供する。【解決手段】アプリケーションの利用要求を検知し、当該要求に含まれるユーザ情報に対応する権限情報を特定し、特定した権限情報を用いて、前記アプリケーションを動作させるためにかかる負荷のレベルである負荷レベルを算出する。算出した負荷レベルに応じて、前記利用要求より後の要求であって、前記アプリケーションを利用するための要求を受信する前に、前記アプリケーションを動作させるための動作環境を拡張する。【選択図】図６
2014199480.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置と、アプリケーションを記憶するサーバと、情報処理装置とが通信可能に接続される情報処理システムであって、  前記アプリケーションを利用するための要求を受け付ける第１の要求受付手段と、  前記第１の要求受付手段で第１の要求を受け付けた場合に、前記要求に含まれるユーザ情報に対応する前記アプリケーションの利用権限の情報である権限情報を特定する権限情報特定手段と、  前記権限情報特定手段で特定した権限情報を用いて、前記アプリケーションを動作させるためにかかる負荷のレベルである負荷レベルを算出する算出手段と、  前記算出手段で算出した負荷レベルに応じて、前記第１の要求受付手段で受け付けた前記第１の要求より後の要求であって、前記アプリケーションを利用するための要求を受信する前に、前記アプリケーションを動作させるための動作環境を拡張する環境拡張制御手段と、  を備えることを特徴とする情報処理システム。  
【請求項２】
前記算出手段で算出した負荷レベルに応じて、前記アプリケーションを動作させるための動作環境を縮小する環境縮小制御手段と、  を備えることを特徴とする請求項１に記載の情報処理システム。  
【請求項３】
前記アプリケーションの利用を取りやめるための要求を受け付ける第２の要求受付手段と、  を備え、  前記環境縮小制御手段は、前記算出手段で、前記第２の要求受付手段で受け付けた第２の要求に対応する権限情報を用いて算出された負荷レベルに応じて、前記アプリケーションを動作させるための動作環境を縮小することを特徴とする請求項２に記載の情報処理システム。  
【請求項４】
前記環境拡張制御手段は、前記算出手段で、前記第２の要求受付手段で受け付けた第２の要求に対応する権限情報を用いて算出された負荷レベルに応じて、前記第２の要求より後の要求を受信する前に、前記アプリケーションを動作させるための動作環境を拡張することを特徴とする請求項３に記載の情報処理システム。  
【請求項５】
前記アプリケーションを利用するための要求とは、前記アプリケーションを利用するための前記サーバへのログイン要求、又は、前記アプリケーションにおいて動作させる機能の選択指示に応じた前記機能の呼び出し要求であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理システム。  
【請求項６】
前記アプリケーションの利用を取りやめるための要求とは、前記アプリケーションからのログオフ要求、又は、前記アプリケーションにおいて動作させる機能の動作停止の要求であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理システム。  
【請求項７】
クライアント装置と、アプリケーションを記憶するサーバと、情報処理装置とが通信可能に接続される情報処理システムの制御方法であって、  第１の要求受付手段が、前記アプリケーションを利用するための要求を受け付ける第１の要求受付工程と、  権限情報特定手段が、前記第１の要求受付工程で第１の要求を受け付けた場合に、前記要求に含まれるユーザ情報に対応する前記アプリケーションの利用権限の情報である権限情報を特定する権限情報特定工程と、  算出手段が、前記権限情報特定工程で特定した権限情報を用いて、前記アプリケーションを動作させるためにかかる負荷のレベルである負荷レベルを算出する算出工程と、  環境拡張制御手段が、前記算出工程で算出した負荷レベルに応じて、前記第１の要求受付工程で受け付けた前記第１の要求より後の要求であって、前記アプリケーションを利用するための要求を受信する前に、前記アプリケーションを動作させるための動作環境を拡張する環境拡張制御工程と、  を含むことを特徴とする情報処理システムの制御方法。  
【請求項８】
クライアント装置と、アプリケーションを記憶するサーバと、情報処理装置とが通信可能に接続される情報処理システムで実行が可能なプログラムであって、  前記情報処理システムを、  前記アプリケーションを利用するための要求を受け付ける第１の要求受付手段と、  前記第１の要求受付手段で第１の要求を受け付けた場合に、前記要求に含まれるユーザ情報に対応する前記アプリケーションの利用権限の情報である権限情報を特定する権限情報特定手段と、  前記権限情報特定手段で特定した権限情報を用いて、前記アプリケーションを動作させるためにかかる負荷のレベルである負荷レベルを算出する算出手段と、  前記算出手段で算出した負荷レベルに応じて、前記第１の要求受付手段で受け付けた前記第１の要求より後の要求であって、前記アプリケーションを利用するための要求を受信する前に、前記アプリケーションを動作させるための動作環境を拡張する環境拡張制御手段として機能させることを特徴とする情報処理システムのプログラム。  
【請求項９】
クライアント装置と、アプリケーションを記憶するサーバと通信可能に接続される情報処理装置であって、  前記サーバにクライアント装置からサーバに対する、前記アプリケーションを利用するための要求を検知する第１の検知手段と、  前記第１の検知手段で第１要求を検知した場合に、前記要求に含まれるユーザ情報に対応する前記アプリケーションの利用権限の情報である権限情報を特定する権限情報特定手段と、  前記権限情報特定手段で特定した権限情報を用いて、前記アプリケーションを動作させるためにかかる負荷のレベルである負荷レベルを算出する算出手段と、  前記算出手段で算出した負荷レベルに応じて、前記第１の検知手段で受け付けた前記第１の要求より後の要求であって、前記アプリケーションを利用するための要求を受信する前に、前記アプリケーションを動作させるための動作環境を拡張すべく制御する環境拡張制御手段と、  を備えることを特徴とする情報処理装置。  
【請求項１０】
クライアント装置と、アプリケーションを記憶するサーバと、情報処理装置とが通信可能に接続される情報処理システムであって、  前記アプリケーションを利用するための要求を受け付ける第１の要求受付手段と、  前記第１の要求受付手段で第１の要求を受け付けた場合に、前記要求に含まれるユーザ情報に対応する前記アプリケーションの利用権限の情報である権限情報を特定する権限情報特定手段と、  前記権限情報特定手段で特定した権限情報を用いて、前記アプリケーションを動作させるためにかかる負荷のレベルである負荷レベルを算出する算出手段と、  前記算出手段で算出した負荷レベルに応じて、前記第１の要求受付手段で受け付けた前記第１の要求より後の要求であって、前記アプリケーションを利用するための要求を受信する前に、前記アプリケーションを動作させるための動作環境を拡張する環境拡張制御手段と、  を備えることを特徴とする情報処理システム。  
【請求項１１】
クライアント装置と、アプリケーションを記憶するサーバと、情報処理装置とが通信可能に接続される情報処理システムであって、  前記アプリケーションを利用するための要求を受け付ける第１の要求受付手段と、  前記第１の要求受付手段で第１の要求を受け付けた場合に、前記要求に含まれるユーザ情報に対応する前記アプリケーションの利用権限の情報である権限情報を特定する権限情報特定手段と、  前記権限情報特定手段で特定した権限情報を用いて、前記アプリケーションを動作させるためにかかる負荷のレベルである負荷レベルを算出する算出手段と、  前記クライアント装置と前記サーバとの通信状況の情報を取得する通信状況取得手段と、  前記通信状況取得手段で取得した通信状況の情報と、前記算出手段で算出した負荷レベルとに応じて、前記第１の要求受付手段で受け付けた前記第１の要求より後の要求であって、前記アプリケーションを利用するための要求を受信する前に、前記クライアント装置と前記サーバとの通信に用いる通信経路を変更させるべく制御する通信経路制御手段と、  を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、例えばウェブサーバにクライアント端末からアクセスすることで、当該ウェブサーバ上で稼働するアプリケーションの実現する機能・サービスを享受することが行われている。また、例えば、当該ウェブサービスのための費用を、当該ウェブサーバの稼働時間・規模によって決定し、当該ウェブサービスを利用するユーザが当該費用を支払うことが行われている。
【０００３】
上述したようなシステムにおいて、ウェブサーバに対するアクセスが集中した場合、通信トラフィックが発生し、通信速度が落ちてしまう、乃至、ウェブサーバにアクセスできなくなってしまうという問題があった。
【０００４】
これに対し、通信データが通過する全ての帯域幅の使用状況を監視し、当該使用状況に応じてデータの送受信経路を動的に変更する技術が開示されている。（例えば、特許文献１）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２０９９２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術においては、通信要求があった後に、既に使用されている帯域幅の使用状況を確認し、必要に応じて通信経路を変更するため、場合によっては、当該通信経路の変更に時間がかかってしまうという問題がある。
【０００７】
また、通信データを受け取った装置が、当該通信データに含まれる要求に従ってソフトウェアが立ち上げる場合、当該装置のソフトウェアの稼働環境（作業領域）の使用状況等によっては、ソフトウェアの稼働環境の拡張や、別の装置への作業領域の確保要求を行わなければならず、ユーザが当該ソフトウェアの利用を開始するまで時間がかかってしまうという問題がある。  
【０００８】
本発明は、通信トラフィックの発生を防ぎつつ、事前にソフトウェアの利用環境を変更する情報処理装置、情報処理システム、その制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、クライアント装置と、アプリケーションを記憶するサーバと、情報処理装置とが通信可能に接続される情報処理システムであって、前記アプリケーションを利用するための要求を受け付ける第１の要求受付手段と、前記第１の要求受付手段で第１の要求を受け付けた場合に、前記要求に含まれるユーザ情報に対応する前記アプリケーションの利用権限の情報である権限情報を特定する権限情報特定手段と、前記権限情報特定手段で特定した権限情報を用いて、前記アプリケーションを動作させるためにかかる負荷のレベルである負荷レベルを算出する算出手段と、前記算出手段で算出した負荷レベルに応じて、前記第１の要求受付手段で受け付けた前記第１の要求より後の要求であって、前記アプリケーションを利用するための要求を受信する前に、前記アプリケーションを動作させるための動作環境を拡張する環境拡張制御手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、通信トラフィックの発生を防ぎつつ、事前にソフトウェアの利用環境を変更する情報処理装置、情報処理システム、その制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態における、情報処理システムのシステム構成の一例を示す図である。
【図２】本発明の実施形態における、各装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、各装置の機能構成の一例を示す図である。
【図４】本発明の実施形態における、システム稼働環境の変更処理の概要を示すフローチャートである。
【図５】本発明の実施形態における、予測負荷レベル算出処理の詳細を示すフローチャートである。
【図６】本発明の実施形態における、システム稼働環境の変更処理の詳細を示すフローチャートである。
【図７】本発明の実施形態における、各種データテーブルの構成の一例を示す図である。
【図８】本発明の実施形態における、アプリケーション利用画面の構成の一例を示す図である。
【図９】本発明の実施形態における、システム稼働環境の変更の様子の一例を示す図である。
【図１０】本発明の実施形態における、仮想のシステム稼働環境の変更の様子の一例を示す図である。
【図１１】本発明の実施形態における、システム稼働環境の変更処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１２】
本発明においては、例えばウェブサーバ等の外部装置が提供するアプリケーションへのユーザのログイン処理後、クライアント装置からアプリケーションに対する画面情報の要求、画面情報の送受信等の処理により通信トラフィックが発生、稼働環境の拡張処理による通信遅延が発生する前に、例えば新たなユーザのログイン時に、ユーザのこれから利用するであろう機能を、新たにログインしたユーザの権限情報から予測し、当該機能に応じたアプリケーションの稼働領域を確保することで、実際にアプリケーションの利用のための指示を受け付けた際には、既にログインユーザがアプリケーションを利用するに十分な稼働環境が確保されるよう制御するものである。
【００１３】
これにより、クライアント装置とアプリケーションを動作させるサーバ間との通信トラフィックが発生した後に行う、アプリケーションの稼働環境の拡張処理、縮小処理にかかる処理負荷を軽減することが出来る。また、当該拡張処理、縮小処理により発生する、クライアント装置から通信データが送信されてから、サーバ（アプリケーション）がクライアント装置に対して通信データを返信するまでのタイムラグを短縮することが出来る。つまり、アプリケーションにより提供されるサービス（アプリケーションにより送信される情報）をクライアント装置が受信するまでの時間を短縮できる。
経路変更
【００１４】
また、例えば新たなユーザのログイン時に、ユーザのこれから利用するであろう機能を、新たにログインしたユーザの権限情報から予測し、当該ユーザの権限情報から、当該ユーザの利用する機能についての処理負荷が高い、乃至、当該機能を利用するにあたって必要となる通信負荷が高いと予測される場合（負荷レベルが高い場合）、実際にアプリケーションの利用のための指示を受け付ける前に（ログイン時等に）、事前に、当該通信に対応し得る通信経路に経路変更を行うものである。
【００１５】
例えば、処理負荷の程度に応じて、アプリケーションを稼働させるサーバ数を動的に増減させるシステムにおいて、当該サーバ数（アプリケーションの稼働環境）変更後の通信トラフィックの度合いを軽減し、クライアント装置から通信データが送信されてから、サーバ（アプリケーション）がクライアント装置に対して通信データを返信するまでのタイムラグを短縮することが出来る。つまり、アプリケーションにより提供されるサービス（アプリケーションにより送信される情報）をクライアント装置が受信するまでの時間を短縮できる。
【００１６】
これにより、クライアント装置とアプリケーションを動作させるサーバ間との通信トラフィックが発生した後に行う、アプリケーションの稼働環境の拡張処理、縮小処理にかかる処理負荷を軽減することが出来る。また、当該拡張処理、縮小処理により発生する、クライアント装置から通信データが送信されてから、クライアント装置に対して通信データを返信するまでのタイムラグを短縮することが出来る。
【００１７】
ネットワークの負荷に応じて通信経路を変更する技術そのものについては、しかしながら、特許文献１に記載の通り既知の技術であるため、ここでは詳細な説明は割愛する。
【００１８】
以下、本発明の実施形態について図面を用いて詳細に説明する。  
【００１９】
図１を参照して、本発明の実施形態における、情報処理システムのシステム構成の一例について説明する。図１は、本発明の実施形態における、情報処理システムのシステム構成の一例を示す図である。  
【００２０】
図１に示すとおり、本発明の情報処理システムは、クライアントＰＣ１００（クライアントＰＣ１００−１、クライアントＰＣ１００−２）、スイッチングハブ２００（スイッチングハブ２００Ａ、スイッチングハブ２００Ｂ）、環境拡張縮小制御装置２５０、を介して通信可能に接続されることにより構成されている。  
【００２１】
クライアントＰＣ１００は、ネットワーク１０１を介してサーバ３００にアクセスし、サーバ３００のアプリケーションが提供するサービスロをユーザに利用させる装置である。例えば、クライアントＰＣ１００はブラウザを備え、当該ブラウザを用いて、サーバ３００のアプリケーションの提供するログイン画面、ログイン後のアプリケーション利用画面等を、クライアントＰＣ１００の表示画面に表示する。  
【００２２】
スイッチングハブ２００は、環境拡張縮小制御装置２５０からの要求に応じて、いずれのクライントＰＣ１００から送信された情報を、いずれのサーバ３００に送信するか、また、いずれのサーバ３００から送信された情報を、いずれのクライアントＰＣ１００に送信するかを制御し、当該情報を中継する中継装置である。  
【００２３】
環境拡張縮小制御装置２５０は、サーバ３００への（サーバ３００で起動しているアプリケーションへの）ユーザのログイン状況に応じて、サーバ３００にかかる処理負荷のレベルである予測負荷レベルを予測して算出し、当該予測負荷レベルに応じて、アプリケーションの稼働環境を拡張、維持、又は縮小する制御を行う装置である。  
【００２４】
例えば、あるユーザがアプリケーションへログインした場合、当該ログインに用いられたユーザ情報に対応するアプリケーションの利用権限の情報を参照する。例えば、当該利用権限の情報が当該アプリケーションにおいて利用可能な機能数を示す場合、利用可能な機能数の多さ＝権限の強さとし、利用可能な機能数が多いほど権限が強く、利用可能な機能数が少ないほど権限が弱いものとする。また、例えば、機能毎に当該機能に対応する処理負荷のレベルが対応付けて記憶されている場合、当該ユーザの利用可能な機能の負荷レベルの合計値＝権限の強さであるものとする。  
【００２５】
ここでは、当該アプリケーションにログインしたユーザの権限が強いほど、負荷レベルが高いものとし、当該アプリケーションにログインしたユーザの権限が弱いほど、負荷レベルが低いものとする。  
【００２６】
例えば、医療用のアプリケーションを利用するユーザの場合には、自身の診察結果を閲覧する権限のみを有するユーザ（患者）と、患者の診察結果（レントゲン画像含む）の閲覧、及び患者の検索機能の利用権限、自身の受けた診察の診察結果を閲覧する権限を有するユーザ（医療機関関係者）とが存在し、医療機関関係者としての権限を有するユーザの方が、利用できる機能が多いこと、又、レントゲン画像等の画像情報を含む情報を閲覧する権限を有していることから、クライアント・サーバ間で画像の送受信（負荷の高い処理）が走る可能性があることから（予測負荷レベルが高いことから）、医療機関関係者としてのユーザがアプリケーションにログインした場合には、患者としてのユーザがログインした場合に比べて、アプリケーションの稼働領域（例えばメモリ量）を多めに確保する処理を行う。  
【００２７】
予測負荷レベルは、現状、アプリケーションの利用のためにサーバ３００にかかっている処理負荷（例えば、確保しているメモリ容量）のレベルである現状負荷レベルの情報に、ログインしたユーザのユーザ情報に対応する権限情報に応じた負荷レベルを加算することで算出される。また、当該現状負荷レベルから、ログアウトしたユーザのユーザ情報に対応する権限情報に応じた負荷レベルを減算することで算出される。  
【００２８】
ここでは、ユーザのアプリケーションへのログインによって加算される負荷のことを加算負荷とし、当該加算負荷のレベルのことを加算負荷レベルとする。また、ユーザのアプリケーションからのログアウトによって減算される負荷のことを減算負荷とし、当該減算負荷のレベルのことを減算負荷レベルとする。  
【００２９】
予測負荷レベルとは、現状負荷レベルに加算負荷レベルを加算した負荷レベル、又は、現状負荷レベルから減算負荷レベルを減算した負荷レベルのことをいうものとする。当該権限情報、及び、負荷レベルについては、図７の説明にて後述する。  
【００３０】
尚、負荷分散や環境拡縮そのものの処理については、外部装置からの通信要求等の情報を一元管理して、トラフィックの発生などをきっかけに、複数の装置（サーバ）に当該要求、及び処理負荷を分散させるよう制御するロードバランサー等に示される通り既存の技術である。本発明の実施形態においては、上述した予測負荷レベルを基準として、環境の拡張、縮小を制御するものとしたが、当該既知の技術において用いられる負荷分散の基準となる情報、計算方法、値を用いた負荷分散や環境拡縮を行うよう制御してもよい。  
【００３１】
環境拡張縮小制御装置２５０は、現状負荷レベルの情報と予測負荷レベルの情報とを用いて、アプリケーションの稼働環境を拡張するか、縮小するかを判定し、当該稼働環境の拡張、維持、縮小の指示をサーバ３００に送信する。  
【００３２】
また、ユーザのログオフを検知した場合も、現状負荷レベルの情報と予測負荷レベルの情報とを用いて、アプリケーションの稼働環境を拡張するか、縮小するかを判定し、当該稼働環境の拡張、維持、縮小の指示をサーバ３００に送信する。  
【００３３】
当該アプリケーションの稼働環境とは、例えば、アプリケーション稼働用の、サーバ３００におけるメモリの容量である。また、当該アプリケーションを稼働させてクライアントＰＣ１００に提供する、本発明の情報処理システムにおける、アプリケーション稼働のための装置（サーバ３００）の稼働数である。  
【００３４】
つまり、前述した、アプリケーションの稼働環境の拡張、縮小とは、アプリケーションを稼働（動作）させる装置（サーバ３００）の数の増減、また、アプリケーションを稼働（動作）させる装置（サーバ３００）における、アプリケーション稼働用に確保されたメモリ量の増減である。  
【００３５】
サーバ３００は、アプリケーションを記憶し、動作させ、ネットワーク１０１を介して、クライアントＰＣ１００に当該アプリケーションの機能を提供する装置である。  
【００３６】
ネットワーク１０１は、各装置を接続するためのネットワーク（ＷＡＮ、ＬＡＮ等）である。以上が図１の、本発明の実施形態における、情報処理システムのシステム構成の一例についての説明である。  
【００３７】
次に、図２を参照して、本発明の実施形態における、各装置のハードウェア構成の一例を示す図である。図２は、本発明の実施形態における、各装置のハードウェア構成の一例を示す図である。  
【００３８】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）が記憶されている。更に、ＲＯＭ２０３あるいは外部メモリ２１１には、クライアント装置１０２が実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。  
【００３９】
２０２はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。  
【００４０】
２０５は入力コントローラで、キーボードやポインティングデバイス等の入力装置２０９からの入力を制御する。２０６はビデオコントローラで、ディスプレイ装置２１０等の表示器への表示を制御する。これらは必要に応じて操作者が使用するものである。  
【００４１】
２０７はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部メモリ２１１へのアクセスを制御する。この外部メモリ２１１には、例えば、ハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等がある。  
【００４２】
２０８は通信Ｉ／Ｆ（インタフェース）コントローラで、ネットワーク（例えば、図１のＬＡＮ１０３）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。  
【００４３】
尚、ＣＰＵ２０１は、例えば、ＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上のマウスカーソル（不図示）等でのユーザ指示を可能とする。  
【００４４】
本発明を実現するための後述するフローチャートに示す各ステップの処理は、コンピュータで読み取り実行可能なプログラムにより実行される。そのプログラムは外部メモリ２１１に記録されており、必要に応じて、ＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行される。以上が図２の、本発明の実施形態における、各装置のハードウェア構成の一例についての説明である。  
【００４５】
次に、図３を参照して、本発明の実施形態における、各装置の機能構成の一例について説明する。図３は、本発明の実施形態における、各装置の機能構成の一例を示す図である。  
【００４６】
ログイン制御部３０１は、ユーザの操作によって入力されるユーザ識別情報を用いた、サーバ３００へのログイン処理を行う制御部である。ユーザ情報送信部３０２は、前記ユーザ識別情報（ユーザ情報）を外部装置（例えばサーバ３００や、環境拡張縮小制御装置２５０等）に送信する送信部である。ログイン制御部３０１は、当該ユーザ情報送信部３０２によるサーバ３００へのユーザ情報の送信を行い、サーバ３００にログイン処理を実行させる。  
【００４７】
機能選択受付部３０３は、サーバ３００へのログイン後、サーバ３００上で動作するアプリケーションの画面であって、例えばウェブブラウザ等を用いてクライアントＰＣ１００の表示画面に表示される画面において、使用するアプリケーションの機能の選択を受け付ける受付部である。  
【００４８】
例えば、診察情報閲覧のためのアプリケーションの画面であれば、画面上の「診察結果閲覧」ボタンや、「患者診察結果閲覧」ボタン等の選択指示及び押下指示を受け付ける受付部である。  
【００４９】
画面情報受信部３０４は、サーバ３００より前記アプリケーションの利用画面の情報を受信する受信部である。画面表示部３０５は、画面情報受信部３０４で受信した情報を表示画面上に表示する表示部である。  
【００５０】
ログイン状況監視部３５１は、サーバ３００が動作させるアプリケーションへのユーザのログイン状況、ログアウト状況を監視する監視部である。負荷レベル予測算出部３５２は、ログイン状況監視部３５１で検出したログイン、ログアウトの情報、及び、ログイン、ログアウトしたユーザのアプリケーションの利用権限の権限情報に応じて、ログインしたユーザがアプリケーションを利用することによりサーバ３００にかかる負荷を予測算出する算出部である。  
【００５１】
当該予測算出の処理は、例えば、環境拡張縮小制御装置２５０の外部メモリに記憶されている権限情報であって、ログインに用いられるユーザ情報に対応する権限情報に基づいて
判断される。つまり、強い権限をも持つユーザがログインした場合は、使用できる機能が多いため、多数の機能が発揮される場合があり、負荷が高く、弱い権限をも持つユーザがログインした場合は、使用できる機能が少ないため負荷が低い、というように判断する。  
【００５２】
当該予測算出の処理の詳細については、図５〜図７、図１１の説明にて後述する。尚、ここでは、予測算出の処理はユーザ権限に基づいて実施されるものとしたが、例えば、ユーザ情報毎のアプリケーションの利用履歴をサーバ３００の外部メモリ等に記憶し、当該履歴の情報をサーバ３００より取得して、当該ユーザ情報の示すユーザが複数のアプリケーション、乃至アプリケーションの機能を併行して利用するユーザか否か、当該併行利用の回数が所定の回数以上か否か等の条件に応じて、前記負荷レベルの予測算出処理を行うようにしてもよい。  
【００５３】
閾値記憶部３５３は、予測算出された負荷レベルに応じて、アプリケーションを稼働させる環境を拡張させるか、維持するか、縮小するかの判定の基準となる閾値を記憶する記憶部である。稼働環境拡張判定部３５４は、予測算出された負荷レベルに応じて、アプリケーションの稼働環境（アプリケーションを稼働させるために使用するサーバ３００のメモリ領域等）を拡張するか否かの判定を行う判定部である。  
【００５４】
稼働環境拡張・縮小指示送信部３５５は、稼働環境拡張判定部３５４の判定結果に応じて、サーバ３００に対して、アプリケーションの稼働環境の拡張、維持、又は縮小の指示を送信する送信部である。  
【００５５】
アプリケーション起動指示送信部３５６は、稼働環境拡張判定部３５４の判定結果に応じて、アプリケーションのシャットダウン指示または、非稼働のサーバの起動指示を当該非稼働のサーバに送信する送信部である。  
【００５６】
アプリケーション記憶部３３１は、サーバ３００のメモリ領域上で、クライアントＰＣ１００からの要求に応じて動作するアプリケーションを記憶する記憶部である。  アプリケーション起動制御部３３２は、アプリケーションを再起動させる制御部である。  
【００５７】
アプリケーション稼働領域確保制御部３３３は、アプリケーションが動作するためのメモリ上の領域を確保する制御部である。アプリケーション起動指示受信部３３４は、環境拡張縮小制御装置２５０からのアプリケーション起動指示を受信する受信部である。サーバ３００のＣＰＵ２０１は、当該起動指示を受信してアプリケーションを起動させる。  
【００５８】
稼働環境拡張・縮小指示受信部３３５は、環境拡張縮小制御装置２５０より、アプリケーションを動作（稼働）させるための稼働領域（稼働環境）を拡張・縮小する指示を受信する受信部である。  
【００５９】
稼働環境拡張・縮小制御部３３６は、稼働環境拡張・縮小指示受信部３３４で受信した指示に応じて、アプリケーションの稼働環境を拡張、維持、又は縮小する制御部である。  
【００６０】
データ送信先情報受信部３２１は、環境拡張縮小制御装置２５０の指示により、アプリケーションを稼働させる装置を増減させる場合に、クライアント装置からアプリケーションへの通信要求、アプリケーションからの回答をいずれのサーバ３００、クライアントＰＣ１００に送信するかの送信先の情報を環境拡張縮小制御装置２５０より受信する受信部である。  
【００６１】
データ送信部３２２は、データ送信先情報受信部３２１で受信した奏し井先の情報に応じて、通信データを送信する中継制御部である。以上が図３の、本発明の実施形態における、各装置の機能構成の一例についての説明である。  
【００６２】
次に図４を参照して、本発明の実施形態における、システム稼働環境の変更処理の概要について説明する。図４は、本発明の実施形態における、システム稼働環境の変更処理の概要を示すフローチャートである。  
【００６３】
図４に記載の処理は、環境拡張縮小制御装置２５０のＣＰＵ２０１が実行する処理であり、常駐したプロセスとしての動作である。クライアントＰＣ１００のログイン要求の送信先（ログイン先）のアプリケーション、及び、アプリケーションをメモリ上で動作させるサーバ３００は既に起動済みであるものとして説明する。  
【００６４】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、現在、アプリケーションを起動させるためにサーバ３００にかかっている負荷のレベルである現状負荷レベルの値を取得する（ステップＳ４０１）。  
【００６５】
当該現状負荷レベルは、例えば、アプリケーションを起動させておくための最低限必要な処理に必要なメモリ領域、及び／又は、当該アプリケーションをユーザに利用させるための処理（通信処理等）に必要なメモリ領域の値と、ユーザがログインすることにより既に加算済の負荷に応じたメモリ領域の合計値である。  当該現状負荷レベルの値は、環境拡張縮小制御装置２５０のＣＰＵ２０１において算出され、所定の記憶領域に記憶されているものとする。  
【００６６】
例えば、当該アプリケーションのユーザによる利用がされていない場合には、クライアントＰＣ１００からの当該アプリケーションの利用要求（ログイン画面の提供要求等）を受け付けるべく、サーバ３００のＣＰＵ２０１は、ネットワーク接続のためのソフトウェアを起動させておく必要がある。また、アプリケーションは、当該アプリケーションの利用要求を受け付けた場合に、少なくとも、クライアントＰＣ１００からユーザ情報を取得するにあたり当該ユーザ情報を入力させるためのログイン画面の情報を、当該要求元の装置に提供するための機能を起動させておく必要がある。  
【００６７】
前記現状負荷レベルは、例えば、ユーザによると当該アプリケーションの利用がされていない場合、上述したネットワーク接続をするためのソフトウェアの動作に必要となるメモリ容量と、前記利用要求に対するログイン画面の情報の返信機能のために必要となるメモリ容量の情報から算出される負荷レベルの情報である。  
【００６８】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、サーバ３００のシャットダウン、又はアプリケーションの停止がされたか否かを判定し（ステップＳ４０２）、サーバ３００のシャットダウン、又はアプリケーションの停止がされたと判定した場合（ステップＳ４０２でＹＥＳ）、処理を終了する。  
【００６９】
サーバ３００のシャットダウン、又はアプリケーションの停止がされていないと判定した場合（ステップＳ４０２でＮＯ）、予測負荷レベルの算出処理に移行し（ステップＳ４０３）、当該予測負荷レベルに応じた、アプリケーションの稼働環境の拡張／縮小処理に、処理を移行する（ステップＳ４０４）。  
【００７０】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、サーバ３００のシャットダウン、又はアプリケーションの停止がされるまで、ステップＳ４０１〜Ｓ４０４の処理を繰り返す。以上が図４の、本発明の実施形態における、システム稼働環境の変更処理の概要についての説明である。  
【００７１】
次に図５を参照して、本発明の実施形態における、予測負荷レベル算出処理の詳細について説明する。図５は、本発明の実施形態における、予測負荷レベル算出処理の詳細を示すフローチャートである。  環境拡張縮小制御装置２５０のＣＰＵ２０１は、サーバ３００のアプリケーションが出力するログイン、ログアウトの履歴情報を監視する。  
【００７２】
例えば、クライアントＰＣ１００のＣＰＵ２０１が、ユーザからの指示に応じて、ブラウザソフトウェアを起動させ、インターネット回線を介して、サーバ３００のアプリケーションにより提供される、当該アプリケーションへのログイン画面（ユーザ名、パスワード等の入力画面）を表示させる。  
【００７３】
クライアントＰＣ１００のＣＰＵ２０１は、ユーザの指示に応じて入力されたユーザ情報（例えば、ユーザ名、パスワード）を含むログイン要求をサーバ３００に送信し、サーバ３００のＣＰＵ２０１はこれを受信して（ログイン要求を受け付けて／要求受付手段）、当該要求に含まれるユーザ名、パスワードを用いたログイン処理を行う。  
【００７４】
この場合、サーバ３００のＣＰＵ２０１は、サーバ３００の所定の記憶領域に、いずれのユーザ情報を用いたいずれのアプリケーションへのログイン処理がされたかを示す情報を出力し、記憶する。  
【００７５】
また、ログアウト（ログオフ）処理を行う場合、サーバ３００のＣＰＵ２０１は、ユーザからの指示（ログオフ要求／例えば、不図示のログアウトボタンの押下指示）に応じて、ユーザのアプリケーションからのログアウト処理を行う。この場合、サーバ３００のＣＰＵ２０１は、サーバ３００の所定の記憶領域に、いずれのユーザ情報を用いた、いずれのアプリケーションへのログイン状態が解除されたか（ログアウトされたか）を示す情報を出力し、記憶する。尚、当該ログイン、ログアウト要求元のクライアントＰＣ１００を特定する情報（例えばＩＰアドレス）も、当該ログイン、ログアウトの情報と対応付けて記憶するものとする。  
【００７６】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、当該所定の記憶領域への情報の出力状態を監視し、出力された情報がログインを示す情報か（ステップＳ５０１）、ログアウトを示す情報か（ステップＳ５０２）に応じて、アプリケーションの稼働環境の拡張又は縮小を指示する。  
【００７７】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、前記出力された情報がログインを示す情報である場合に（ステップＳ５０２でＹＥＳ）、当該ログイン処理に用いられたユーザ情報に対応する権限情報を特定し（ステップＳ５０６／権限情報特定手段）、当該ユーザ情報を用いたログイン処理がされたことにより（ログインユーザによるアプリケーションの使用により）現状負荷レベルに加算する加算負荷レベルを算出して（ステップＳ５０７）、現状負荷レベルに加算負荷レベルを加算した予測負荷レベルを算出する（ステップＳ５０８）。権限情報、及び負荷レベルについては図７の説明に後述する。  
【００７８】
ここで図７を参照して、本発明の実施形態における、各種データテーブルの構成の一例について説明する。図７は、本発明の実施形態における、各種データテーブルの構成の一例を示す図である。  
【００７９】
尚、図７に示す各データテーブルは、環境拡張縮小制御装置２５０の外部メモリ２１１等の記憶領域に記憶されているものとする。また、図７に示す各データテーブルは、アプリケーション毎に生成され、環境拡張縮小制御装置２５０の外部メモリ２１１等の記憶領域に記憶されているものとする。  
【００８０】
権限情報テーブル７００は、ユーザＩＤ７０１、アクセス許可機能７０２等から構成される。ユーザＩＤ７０１は、ユーザを一意に識別するための識別情報である。アクセス許可機能７０２は、当該ユーザＩＤ７０１の示すＩＤに基づいた使用が可能なアプリケーションの機能の識別情報である。  負荷レベル情報テーブル７１０は、機能７１１、負荷レベル７１２等から構成される。機能７１１は、アプリケーションにおける各機能の識別情報である。負荷レベル７１２は、当該機能７１１毎の、当該機能７１１を使用することによりサーバ３００にかかる処理負荷の負荷レベルの値を示す。  
【００８１】
新たにユーザのログインを検知した場合、当該ログイン処理に用いられたユーザ情報（ユーザＩＤ７０１）に対応するアクセス許可機能７０２と一致する機能７１１に対応する負荷レベル７１２の合計値が、加算負荷レベルとなる。当該ログインユーザの権限情報に応じた負荷レベル７１２の合計値の算出が、加算負荷レベルの算出処理である。  
【００８２】
また、新たにユーザのログアウトを検知した場合、当該ログアウトするユーザのユーザ情報（ユーザＩＤ７０１）に対応するアクセス許可機能７０２と一致する機能７１１に対応する負荷レベル７１２の合計値が、減算負荷レベルとなる。当該ログインユーザの権限情報に応じた負荷レベル７１２の合計値の算出が、減算負荷レベルの算出処理である。  環境拡張・縮小条件テーブル７２０は、条件ＩＤ７２１、予測負荷レベル上限７２２、構成７２３は等から構成される。  
【００８３】
条件ＩＤ７２１は、当該環境拡張・縮小条件テーブル７２０に記憶される各データの識別情報である。予測負荷レベル上限７２２は、予測負荷レベルがいずれの値以下である場合に、構成７２３の示す構成（例えばメモリ量）に、アプリケーションの稼働環境を変更するかの判断基準となる閾値を示す。  
【００８４】
例えば、予想負荷レベル＝４９０である場合、４９０≦５００のため、メモリ領域を１６ＧＢに変更（拡張、又は縮小）する。また、予想負荷レベル＝５０１である場合は、５００＜５０１≦１０００のため、メモリ領域を６４ＧＢに変更（拡張、又は縮小）する。  
【００８５】
装置構成変更条件テーブル７３０は、条件ＩＤ７３１、予測負荷レベル上限７３２、装置７３３、装置ＩＰ７３４等から構成される。条件ＩＤ７３１は、当該条件テーブルの各条件データを識別するための識別情報である。予測負荷レベル上限７３２は、予測負荷レベルの値がいずれの値である場合に、装置７３３を使用するか判定するための基準となる閾値である。  装置７３３は、各装置（サーバ３００）の識別情報であり、装置ＩＰ７３４は各装置のＩＰアドレスである。  
【００８６】
例えば、現状負荷レベルが２４０である場合で、新たなユーザのログインに応じて、予測負荷レベルが２６０と算出された場合、負荷レベル＝２５１〜２６０の部分にあたる機能に関する処理については、サーバ３００Ｂを使用するよう制御する。  
【００８７】
例えば、各サーバ３００のメモリ上限が８ＧＢである場合等、負荷レベルに対応するメモリ領域を現状のサーバ量（稼働環境）で確保できなくなった場合の対応として、上述したようなアプリケーションを稼働させるサーバ３００の増加（拡張）処理を行うものである。  
【００８８】
サーバ３００Ｂが未起動の場合、環境拡張縮小制御装置２５０のＣＰＵ２０１は、当該サーバ３００Ｂに起動指示を送信し、サーバ３００Ｂを起動させる。また、サーバ３００Ｂにおいて、対象のアプリケーションが未起動の場合には、環境拡張縮小制御装置２５０のＣＰＵ２０１は、当該サーバ３００Ｂに当該アプリケーションの起動指示を送信し、アプリケーションを起動させる制御を行う。  
【００８９】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、サーバ３００Ａ〜３００Ｆの起動（稼働）状況を監視しており、当該起動状況の情報は、外部メモリ２１１等の記憶領域に記憶されているものとする。以上が図７の、本発明の実施形態における、各種データテーブルの構成の一例についての説明である。  図５の説明に戻る。  
【００９０】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、前記出力された情報がログアウトを示す情報である場合（ステップＳ５０２でＹＥＳ）、当該ログアウト処理に用いられたユーザ情報に対応する権限情報を特定し（ステップＳ５０３／権限情報特定手段）、当該ユーザ情報を用いたログアウト処理がされたことにより現状負荷レベルより減算する減算負荷レベルを算出して（ステップＳ５０４）、現状負荷レベルより減算負荷レベルを減算した予測負荷レベルを算出する（ステップＳ５０５）。以上が図５の、本発明の実施形態における、予測負荷レベル算出処理の詳細についての説明である。  
【００９１】
次に図６を参照して、本発明の実施形態における、システム稼働環境の変更処理の詳細について説明する。図６は、本発明の実施形態における、システム稼働環境の変更処理の詳細を示すフローチャートである。  図６の処理は、図４のステップＳ４０４の詳細処理であり、本発明のシステム稼働環境の変更処理の第１の実施例である。  
【００９２】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、図７の環境拡張・縮小条件テーブル７２０から条件を１つ取得し（ステップＳ６０１）、図５の処理で算出した予測負荷レベルが、取得した条件データの予測負荷レベル上限以下か判定する（ステップＳ６０２）。当該条件の取得は、例えば、条件ＩＤ７２１＝１から順に取得する。  予測負荷レベルが、取得した条件データの予測負荷レベル上限以下でない場合（ステップＳ６０２でＮＯ）、ステップＳ６０１に戻り、次の条件を取得する。  
【００９３】
予測負荷レベルが、取得した条件データの予測負荷レベル上限以下である場合（ステップＳ６０２でＹＥＳ）、現状負荷レベルに対応する構成７２３と、予測負荷レベルに対応する構成７２３が異なるか否かを判定する（ステップＳ６０３）。当該構成が同じであると判定した場合（ステップＳ６０３でＮＯ）、処理を終了する。  
【００９４】
当該構成が異なると判定した場合（ステップＳ６０３でＹＥＳ）、当該構成を現状負荷レベルから拡張すべきか、つまり、予測負荷レベルに対応する構成７２３の値が、現状負荷レベルに対応する構成７２３に対し、増加しているかを判定する（ステップＳ６０４）。  
【００９５】
予測負荷レベルに対応する構成７２３の値が、現状負荷レベルに対応する構成７２３に対し、増加していると判定した場合（ステップＳ６０４でＹＥＳ）、予測負荷レベルに対応する構成７２３の値を拡張後の構成として特定する（ステップＳ６０５）。  
【００９６】
一方、予測負荷レベルに対応する構成７２３の値が、現状負荷レベルに対応する構成７２３に対し、減少していると判定した場合（ステップＳ６０４でＮＯ）、予測負荷レベルに対応する構成７２３の値を縮小後の構成として特定する（ステップＳ６０６）。  
【００９７】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、ステップＳ６０５で特定した拡張後の構成の情報を含む環境拡張指示、又はＳ６０６で特定した縮小後の構成の情報を含む環境縮小指示をサーバ３００に送信し（ステップＳ６０７／環境拡張制御／環境縮小制御）、サーバ３００のＣＰＵ２０１はこれを受信する（ステップＳ６０８）。  
【００９８】
サーバ３００のＣＰＵ２０１は、ステップＳ６０８で受信した環境拡張指示又は環境縮小指示に応じて、アプリケーションの稼働環境（動作環境）の拡張、又は縮小を行う（ステップＳ６０９／環境拡張制御／環境縮小制御）。具体的には、アプリケーション動作用のメモリ領域の拡張、又は縮小を行う。  
【００９９】
サーバ３００のＣＰＵ２０１は、当該環境の拡張、又は縮小の処理の結果を環境拡張縮小制御装置２５０に送信し（ステップＳ６１０）、環境拡張縮小制御装置２５０のＣＰＵ２０１はこれを受信する（ステップＳ６１１）。  
【０１００】
サーバ３００のＣＰＵ２０１は、当該拡張、又は縮小処理の結果を受信し、外部メモリ２１１に記憶した現状負荷レベルの値を、ステップＳ５０５、又はＳ５０８で算出した値に更新する。以上が図６の、発明の実施形態における、システム稼働環境の変更処理の詳細についての説明である。  
【０１０１】
以上、本発明の実施形態における、システム稼働環境の変更処理の第１の実施例について説明した。これにより、通信トラフィックの発生を防ぎつつ、アプリケーションを動作させる装置内の、アプリケーション稼働環境を、事前に変更することができる。  
【０１０２】
次に図１１を参照して、ユーザの権限情報に応じて、アプリケーションを稼働させる装置を増減する、システム稼働環境の変更処理の詳細について説明する。図１１は、本発明の実施形態における、システム稼働環境の変更処理の詳細を示すフローチャートである。  図１１の処理は、図４のステップＳ４０４の詳細処理であり、本発明のシステム稼働環境の変更処理の第２の実施例である。  
【０１０３】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、装置構成変更条件テーブル７３０の条件を１つ取得し、（ステップＳ１１０１）。図５の処理で算出した予測負荷レベルが、取得した条件データの予測負荷レベル上限７３２以下か判定する（ステップＳ６０２）。当該条件の取得処理は、条件ＩＤ７３１＝１から順に行うものとする。  
【０１０４】
予測負荷レベルが、取得した条件データの予測負荷レベル上限７３２以下でない場合（ステップＳ１１０２でＮＯ）、ステップＳ１１０１に戻り、次の条件を取得する。  
【０１０５】
予測負荷レベルが、取得した条件データの予測負荷レベル上限以下である場合（ステップＳ１１０２でＹＥＳ）、現状負荷レベルに対応する装置７３３と、予測負荷レベルに対応する装置７３３が異なるか否かを判定する（ステップＳ１１０３）。当該構成が同じであると判定した場合（ステップＳ１１０３でＮＯ）、処理を終了する。  
【０１０６】
当該装置７３３が異なると判定した場合（ステップＳ１１０３でＹＥＳ）、予測負荷レベルに対応する装置７３３が、現状負荷レベルに対応する装置７３３に対し、増加しているかを判定する（ステップＳ１１０４）。  
【０１０７】
例えば、現状負荷レベルの装置７３３＝サーバ３００Ａ、予測負荷レベルの装置７３３＝サーバ３００Ｂの場合、装置が増加していると判定する。現状負荷レベルの装置７３３＝サーバ３００Ｃ、予測負荷レベルの装置７３３＝サーバ３００Ｂの場合、装置が減少していると判定する。  
【０１０８】
予測負荷レベルに対応する装置７３３の値が、現状負荷レベルに対応する装置７３３に対し、増加していると判定した場合（ステップＳ１１０４でＹＥＳ）、予測負荷レベルに対応する装置７３３を拡張後の構成として特定する（ステップＳ１１０５）。  
【０１０９】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、予測負荷レベルに対応する装置７３３の起動状況の情報を、環境拡張縮小制御装置２５０の外部メモリから取得し（ステップＳ１１１４）、当該予測負荷レベルに対応する装置７３３全てにおいてアプリケーションが起動済か判定する（ステップＳ１１１５）。  
【０１１０】
当該予測負荷レベルに対応する装置７３３全てにおいてアプリケーションが起動済でないと判定した場合（ステップＳ１１１５でＮＯ）、アプリケーションが起動していない装置に対応する装置ＩＰ７３４を特定して、当該装置に対してアプリケーションの起動指示を送信し、当該アプリケーションを起動した旨の情報を、当該指示の送信先の装置から受信するまで待機する（ステップＳ１１１６）。  尚、そもそも装置７３３自体が起動していない場合、当該装置７３３の起動指示も併せて送信する。  ここでは、サーバ３００Ａが既に使用中の装置であり、サーバ３００Ｂが、アプリケーションが未起動の装置であるものとする。  
【０１１１】
サーバ３００ＢのＣＰＵ２０１は、当該アプリケーションの起動指示を受信して（ステップＳ１１１７）、当該指示に応じてアプリケーションを起動し（ステップＳ１１１８）、起動した旨の情報を環境拡張縮小制御装置２５０に送信する。  環境拡張縮小制御装置２５０のＣＰＵ２０１は、当該アプリケーションが起動された旨の情報を受信し、再度ステップＳ１１１５の処理を実行する。  
【０１１２】
ステップＳ１１１５で、予測負荷レベルに対応する装置７３３全てにおいてアプリケーションが起動済であると判定した場合（ステップＳ１１１５でＹＥＳ）、当該アプリケーションが起動済の装置に対し、アプリケーションの稼働環境（メモリ量）の拡張・縮小指示を送信する（ステップＳ１１０７／環境拡張制御／環境縮小制御）。  
【０１１３】
例えば、環境拡張縮小制御装置２５０のＣＰＵ２０１は、図７の環境拡張・縮小条件テーブルを参照し、当該環境拡張・縮小条件テーブルの予測負荷レベル上限７２２、構成７２３の値に基づいて、予測負荷レベルの算出値から構成７２３の値を算出する。  
【０１１４】
例えば、予測負荷レベル上限（５００）÷構成（１６ＧＢ）＝０．０３２ＧＢを基準値とする。基準値＝０．０３２ＧＢで、予測負荷レベル＝３２０の場合、基準値（０．０３２ＧＢ）×予測負荷レベル（３２０）＝１０．２４ＧＢのため、構成＝１０．２４ＧＢとする。  
【０１１５】
各サーバ３００のメモリ上限値が８ＧＢの場合、サーバ３００Ａにはアプリケーション稼働用のメモリ領域を８ＧＢにするよう指示を送信し、サーバ３００Ｂには、アプリケーション稼働用のメモリ領域を２．２４ＧＢ（＝１０．２４ＧＢ−８ＧＢ）にするよう指示を送信する。  
【０１１６】
サーバ３００Ａ及び３００ＢのＣＰＵ２０１は、当該指示を受信し（ステップＳ１１０８、Ｓ１１１９）、当該指示
に応じて、アプリケーションの稼働環境を拡張又は縮小する（ステップＳ１１０９、Ｓ１１２０／環境拡張制御／環境縮小制御）。  
【０１１７】
サーバ３００Ａ及び３００ＢのＣＰＵ２０１は、それぞれ環境拡張、又は縮小結果の情報を環境拡張縮小制御装置２５０に送信し（ステップＳ１１１０、１１２１）、環境拡張縮小制御装置２５０のＣＰＵ２０１はこれを受信する（ステップＳ１１１１）。  
【０１１８】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、図５のステップＳ５０１で検知した情報を参照し、サーバ３００Ｂから受信した情報の送信先（例えばクライアントＰＣ１００−２のＩＰアドレス）の情報を特定し、当該ユーザのログインに応じてアプリケーションを起動した装置（例えばサーバ３００ＢのＩＰアドレス）を、ステップＳ５０１で検知したログイン要求元のクライアントＰＣ１００−２から受信した情報の送信先として特定する（ステップＳ１１１２）。  
【０１１９】
そして、ステップＳ１１１２で特定した情報をスイッチングハブ２００に送信する（ステップＳ１１１３／通信経路制御手段）。スイッチングハブ２００のＣＰＵ２０１は当該情報を受信し（ステップＳ１１２１）、サーバ３００Ｂから受信した情報の送信先としてクライアントＰＣ１００−２を設定し、クライアントＰＣ１００−２から受信した情報の送信先をサーバ３００Ｂとして設定する（ステップＳ１１２２）。以上が図１１の、本発明の実施形態における、システム稼働環境の変更処理の詳細についての説明である。
【０１２０】
尚、例えば、各装置（クライアントＰＣ１００−１、１００−２、スイッチングハブ２００Ａ、２００Ｂ、サーバ３００Ａ〜Ｆ）間の２１１（通信帯域／ネットワークの負荷）の情報を環境拡張縮小制御装置２５０のＣＰＵ２０１が監視して外部メモリ等の記憶領域に記憶しておき、当該通信状況の情報と（通信状況取得手段）、上述した予測負荷レベルの情報とを用いて、通信トラフィックが発生する前（重大になる前）に、事前に、負荷レベルの高い機能を利用するための通信、乃至、負荷レベルの高い機能の権限を有するユーザ情報に対応する通信については、ネットワークの負荷が低い経路を利用させるべく、スイッチングハブに通信データの中継先（送信先）の情報を送信し、負荷レベルの低いい機能を利用するための通信、乃至、負荷レベルの低い機能の権限を有するユーザ情報に対応する通信については、ネットワークの負荷が低くない経路を利用させるべく、スイッチングハブに通信データの中継先（送信先）の情報を送信するようにしてもよい（通信経路制御手段）。
【０１２１】
ネットワークの負荷に応じて通信経路を変更する技術そのものについては、特許文献１や、インターネット上の記事「ＯｐｅｎＦｌｏｗが話題な理由  ２０１１／０８／３１」（参照：http://itpro.nikkeibp.co.jp/article/Watcher/20110830/367910/）、ＮＩＫＫＥＩ  ＳＹＳＴＥＭＳ２０１２．１１号（ｐ６４〜）に記載の通り既存の技術であるため、ここでは詳細な説明は割愛する。
【０１２２】
以上、本発明の実施形態における、システム稼働環境の変更処理の第２の実施例について説明した。これにより、通信トラフィックの発生を防ぎつつ、アプリケーションを動作させる装置を増加、減少させることで、事前にシステム稼働環境を変更することができる。  
【０１２３】
次に図９を参照して、本発明の実施形態における、システム稼働環境の変更の様子の一例について説明する。図９は、本発明の実施形態における、システム稼働環境の変更の様子の一例を示す図である。  
【０１２４】
稼働環境９００は、例えば、負荷レベル＝１の状態であり、ユーザ（クライアントＰＣ１００）からのログイン要求に備えて、アプリケーションが待機している状態である。  
【０１２５】
稼働環境９１０は、例えば、負荷レベル＝７００の状態であり、ユーザがログインすることにより、予測負荷レベルが上がったため、当該予測負荷レベルに応じて、アプリケーションを稼働させる装置、及び各装置におけるメモリ量を拡張した状態である。  
【０１２６】
稼働環境９２０は、例えば、負荷レベル＝１３００の状態であり、多数のユーザがログインすることにより、予測負荷レベルが上がったため、当該予測負荷レベルに応じて、アプリケーションを稼働させる装置、及び各装置におけるメモリ量を更に拡張した状態である。  
【０１２７】
スイッチングハブ２００Ｂは、稼働環境９００、稼働環境９１０では起動していないが、予測負荷レベルの増大により、サーバ３００Ｄ〜３００Ｆにおいてもアプリケーションを起動させ、クライアントＰＣ１００と接続可能にする必要があるため、環境拡張縮小制御装置２５０のＣＰＵ２０１は、当該サーバ３００Ｄ〜３００Ｆにおいてもアプリケーションを起動させることを決定した場合、スイッチングハブ２００Ｂに起動指示を送信し、当該スイッチングハブ２００Ｂを起動させる。  
【０１２８】
また、サーバ３００Ｄ〜３００Ｆにおけるアプリケーションの稼働領域を使用させるユーザのユーザＩＤを特定して、当該ユーザＩＤによるログイン要求元のクライアントＰＣ１００からのデータ通信をサーバ３００Ｄ〜３００Ｆに中継するようにスイッチングハブ２００Ａ、２００Ｂに指示を送信する。  
【０１２９】
ここではスイッチングハブ２００Ａは、サーバ３００Ｄ〜３００Ｆに直接アクセスできないため、該当するクライアントＰＣ１００からのデータ通信データについては、スイッチングハブ２００Ｂに送信するよう指示を送る。  
【０１３０】
環境拡張縮小制御装置２５０のＣＰＵ２０１は、ユーザのログオフを検知した場合は、反対に、稼働させる必要がないサーバ３００を特定し、当該サーバ３００に対してシャットダウン指示又は、アップリケーションの終了指示を送信する。  
【０１３１】
尚、稼働環境９２０から稼働環境９１０に環境を縮小する場合、スイッチングハブ２００Ｂにもシャットダウン指示を送信する。以上が図９の、本発明の実施形態における、システム稼働環境の変更の様子の一例についての説明である。  
【０１３２】
尚、上述した実施例においては、スイッチングハブ２００、サーバ３００は物理的な装置であるものとして説明したが、例えば、それぞれ物理装置の中に設けられた仮想装置であってもよい。  
【０１３３】
以下、図１０を参照して、本発明の実施形態における、仮想のシステム稼働環境の変更の様子の一例について説明する。図１０は、本発明の実施形態における、仮想のシステム稼働環境の変更の様子の一例を示す図である。  
【０１３４】
図１０では、物理サーバである３００Ａ、３００Ｂの中に仮想スイッチ（仮想ＳＷ／環境拡張縮小制御装置に対応）、仮想マシン（ＶＭ／サーバ３００に対応）を設け、ＶＭ毎にアプリケーションを稼働させる処理を実行させる。  
【０１３５】
仮想ＳＷは、物理ＳＷから受信した情報（例えばログイン要求）に基づいて、アプリケーションにログインするユーザ数、各ユーザの権限情報を特定し、当該権限情報に対応した負荷レベルの情報を用いて、いずれのＶＭを起動させるかを決定し、各ＶＭの起動制御を行う。環境縮小の処理についても、同じく、ログアウトするユーザ数、各ユーザの権限情報を特定し、使用しないＶＭを特定し、当該特定結果に応じてＶＭをシャットダウンする。  
【０１３６】
物理ＳＷ１は、直結する物理サーバ３００Ａのアプリケーションの稼働環境、動作状況を監視しており、新たなログインを検知した場合に、物理サーバ３００Ａが最大稼働状態にあり、これ以上アプリケーションの稼働環境を拡張できないと判定した場合には、当該判定結果の情報を物理ＳＷ２に送信し、ログインユーザの権限情報に応じて、ログイン後のアプリケーションの機能提供に関する処理については、物理サーバ３００Ｂに実行させるよう制御する。  
【０１３７】
物理ＳＷ２は当該指示を受けて、物理サーバ３００Ｂを起動させ、物理サーバ３００ＢのＣＰＵ２０１は、物理サーバ３００Ｂ内の仮想ＳＷを起動させて、ログインしたユーザの権限情報に応じてＶＭを起動させ、メモリ領域を確保する。  
【０１３８】
つまり、ログイン後、実際にアプリケーション（サーバ３００）に対する画面情報の要求、画面情報の送受信等の処理により通信トラフィック、稼働環境の拡張処理による通信遅延が発生する前に（ログイン直後に）、ユーザのこれから利用するであろう機能を、ユーザの権限情報から予測し、当該機能に応じたアプリケーションの稼働領域を確保することで、実際にアプリケーションの利用のための指示を受け付けた際には、既にログインユーザがアプリケーションを利用するに十分な稼働環境が確保されるよう制御するものである。  以上が図１０の、本発明の実施形態における、仮想のシステム稼働環境の変更の様子の一例についての説明である。  
【０１３９】
また、上述した実施例においては、ユーザのログイン、ログアウトに応じて、アプリケーションの稼働環境を変更するものとしたが、例えば、クライアントＰＣ１００の画面に表示されている画面情報から、当該画面からアクセス可能な機能を特定し、当該機能に対応する負荷レベルの値の合計値を加算負荷レベルとして予測負荷レベルを算出し、当該予測負荷レベルに応じてアプリケーションの稼働環境を変更するようにしてもよい。  
【０１４０】
例えば図８に示すように、クライアントＰＣ１００−１の表示画面に表示されたメニュー画面８００は、「診察結果閲覧」ボタンを備えており、クライアントＰＣ１００−２の表示画面に表示されたメニュー画面８１０は、「診察結果閲覧」ボタンと「患者診察結果閲覧」ボタンを備えている。  
【０１４１】
サーバ３００のＣＰＵ２０１は、「診察結果閲覧」ボタンが押下された場合、ユーザ自身のユーザ情報に紐づいてサーバ３００の外部メモリに記憶されている診察結果の情報を閲覧するための診察結果表示画面８０１を表示すべく、当該診察結果表示画面８０１の情報をクライアントＰＣ１００に送信する。  
【０１４２】
また、「患者診察結果閲覧」ボタンが押下された場合、患者のユーザ情報に紐づいてサーバ３００の外部メモリに記憶されている診察結果の情報（画像情報を含む）を閲覧するための患者診察結果表示画面８１１を表示すべく、当該患者診察結果表示画面８１１の情報をクライアントＰＣ１００に送信する。  
【０１４３】
例えば、患者診察結果表示画面８１１は画像情報を含んでおり、また、患者の検索機能を提供する必要があるため、診察結果表示画面８０１を生成して、クライアントＰＣ１００に送信する処理に比べて、患者診察結果表示画面８１１を生成してクライアントＰＣ１００に送信する処理の方が処理負荷が高い。  
【０１４４】
診察結果閲覧機能＝図７の機能７１１における機能１である場合、負荷レベル＝１であり、患者診察結果閲覧機能＝図７の機能７１１における機能２である場合、負荷レベル＝９である。  
【０１４５】
よって、ユーザ１（クライアントＰＣ１００−１）がメニュー画面（メニュー画面８００）を表示画面に表示している場合は、加算負荷レベル＝１として、図６又は図１１の処理を実行し、また、ユーザ２（クライアントＰＣ１００−２）がメニュー画面（メニュー画面８１０）を表示画面に表示している場合は、加算負荷レベル＝１０（１＋９）として、図６又は図１１の処理を実行するものとする。  
【０１４６】
また、例えば、環境拡張縮小制御装置２５０のＣＰＵ２０１が、サーバ３００から画面遷移の情報を受信することで、メニュー画面８１０からメニュー画面８０１に表示画面が遷移するような画面遷移の処理を検知した場合、当該遷移の指示を、患者診察結果閲覧機能の動作停止（動作の準備の停止）指示と判定し、予測負荷レベルを再算出して、当該予測負荷レべルに応じて、環境縮小の処理を行うようにしてもよい。  
【０１４７】
以上説明したように、本発明によれば、通信トラフィックの発生を防ぎつつ、事前にソフトウェアの利用環境を変更する情報処理装置、情報処理システム、その制御方法及びプログラムを提供することができる。  
【０１４８】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。  
【０１４９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。  
【０１５０】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。  
【０１５１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。  
【０１５２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。  
【０１５３】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。  
【０１５４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。  
【０１５５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。  
【０１５６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い
、その処理によっても前述した実施形態の機能が実現される。  
【０１５７】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１５８】
１００−１  クライアントＰＣ  １００−２  クライアントＰＣ  １０１      ネットワーク  ２００Ａ    スイッチングハブ  ２００Ｂ    スイッチングハブ  ２５０      環境拡張縮小制御装置  ３００Ａ    サーバ  ３００Ｂ    サーバ  ３００Ｃ    サーバ  ３００Ｄ    サーバ  ３００Ｅ    サーバ  ３００Ｆ    サーバ
【図１】
2014199480.tif 000003
【図２】
2014199480.tif 000004
【図３】
2014199480.tif 000005
【図４】
2014199480.tif 000006
【図５】
2014199480.tif 000007
【図６】
2014199480.tif 000008
【図７】
2014199480.tif 000009
【図８】
2014199480.tif 000010
【図９】
2014199480.tif 000011
【図１０】
2014199480.tif 000012
【図１１】
2014199480.tif 000013