仮想マシン、仮想マシンのプログラム、アプリケーションサービス提供システム及びアプリケーションサービス提供方法
【課題】企業内秘匿情報のセキュリティ対策をアプリケーション提供会社側で行わせつつ、クラウドサービスの利用の促進を図ることができる仮想マシン等を提供すること。
【解決手段】仮想マシン13xは、インターネット2を介してクライアント端末装置1a〜1cからの要求を受け付けると、クライアント端末装置1a〜1cを使用するユーザの情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する。仮想マシン13xは、企業内秘匿情報に基づく処理が必要であると判定すると、企業内ネットワークに接続された企業内データベースサーバとの間でセキュアな通信を行って、企業内秘匿情報に基づきクライアント端末装置1a〜1cからの要求に対する処理を行う。一方、企業内秘匿情報に基づく処理が必要ではないと判定すると、仮想マシン13xは、クライアント端末装置か1a〜1cらの要求に対する処理を実行する。
【解決手段】仮想マシン13xは、インターネット2を介してクライアント端末装置1a〜1cからの要求を受け付けると、クライアント端末装置1a〜1cを使用するユーザの情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する。仮想マシン13xは、企業内秘匿情報に基づく処理が必要であると判定すると、企業内ネットワークに接続された企業内データベースサーバとの間でセキュアな通信を行って、企業内秘匿情報に基づきクライアント端末装置1a〜1cからの要求に対する処理を行う。一方、企業内秘匿情報に基づく処理が必要ではないと判定すると、仮想マシン13xは、クライアント端末装置か1a〜1cらの要求に対する処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットを介して接続されたサーバ上で動作する仮想マシン、その仮想マシンのプログラム、その仮想マシンを備えたアプリケーションサービス提供システム、及びそのアプリケーションサービス提供方法に関する。
【背景技術】
【0002】
従来、サーバコンピュータやデータベースなどのコンピュータ資源は、それらを使用する企業がそれぞれ自社で保有していた。しかし、ハードウェアやアプリケーションが複雑で高コストであり、また、コンピュータ資源を運用する専門の部門も必要となる。
【0003】
そこで、インターネットを基本にした新しいコンピュータ資源の利用形態として、クラウド・コンピューティングというサービス形態(以下、「クラウドサービス」という)が注目されている。かかるクラウドサービスとしては、アマゾンが提供する「Elastic Compute Cloud(EC2)」が一例として挙げられる。
【0004】
クラウドサービスでは、その利用者はコンピュータ資源の保有や管理を行う必要がなく、その利用料金を払うことでコンピュータ資源を利用することが可能となる。一方、クラウドサービス提供会社側では、1又は複数のサーバ上で利用者毎に仮想マシンを配置することで、サーバの利用効率や拡張性を向上させている。そのため、クラウドサービス提供会社は、比較的安価にコンピュータ資源をその利用者に提供することができる(例えば、特許文献1参照)。
【0005】
このようにクラウドサービスでは、その利用者がコンピュータ資源を導入する必要がないことから、導入コストや運用コストが軽減され、また、拡張性などにも優れているため、今後、ますます利用者が増加していくものと考えられる。
【0006】
特に、クラウドサービス提供会社から仮想マシンをレンタルして、クライアントにアプリケーションを提供するといった利用形態が増えるものと予測される。
【0007】
すなわち、インターネット経由でアプリケーションをクライアントに提供しようとする企業(以下、「アプリケーション提供会社」とする)は、クラウドサービスの利用者として、クラウドサービス提供会社からアプリケーションのプラットフォームとなる仮想マシンをレンタルし、この仮想マシン上でアプリケーションを実行させる。アプリケーション提供会社は、アプリケーションのプラットフォームを保有及び管理する必要がないため、導入コスト及び運用コストが低減され、コスト的なハードルが下がる。そのため、アプリケーション提供会社は、アプリケーションサービスをクライアントに提供しやすくなる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特表2004−503011号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
アプリケーション提供会社が提供するアプリケーションで使用されるデータには、アプリケーション提供会社の内の機密情報やクライアント(すなわち、アプリケーション提供会社が提供するアプリケーションサービスのクライアント)の個人情報などの重要な情報(以下、「企業内秘匿情報」という)が含まれる。
【0010】
しかし、上記クラウドサービスでは、アプリケーション提供会社は、提供するアプリケーションで使用されるデータをクラウドサービス提供会社に預けることになる。すなわち、提供するアプリケーションで使用されるデータのセキュリティ対策をクラウドサービス提供会社側に行わせることになる。
【0011】
しかしながら、同一のサーバ上でアプリケーション提供会社の仮想マシンのみならず他の利用者の仮想マシンが配置された場合、サーバプログラムの不具合をついたハッキングなどにより、他の利用者等からデータを盗まれるリスクがある。また、サーバの運用はクラウドサービス提供会社に任せてしまうため、クラウドサービス提供会社の内部からの不正アクセスにより不正コピーやディスクの盗難などが発生するリスクがある。このように企業内秘匿情報をクラウドサービス提供会社に預けた場合には、アプリケーション提供会社側で企業内秘匿情報を管理できないセキュリティ上の問題がある。
【0012】
このように、アプリケーション提供会社は、クライアントの情報等の企業内秘匿情報の管理をクラウドサービス提供会社に委ねることになり、情報流出に対する管理ができない。そのため、企業内秘匿情報をクラウドサービス提供会社に預けることに不安を抱き、クラウドサービスの利用を躊躇してしまう場合が多い。このように、クラウドサービスは、多数の利点を有しながらもその利用が十分に図られていないのが現状である。
【0013】
本発明は、上述したような課題に鑑みてなされたものであり、企業内秘匿情報のセキュリティ対策をアプリケーション提供会社側で行わせつつ、クラウドサービスの利用の促進を図ることできる仮想マシン、仮想マシンのプログラム、アプリケーションサービス提供システム及びアプリケーションサービス提供方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記目的を解決するために、請求項1に係る発明は、インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求を処理する仮想マシンと、企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバとを備えたアプリケーションサービス提供システムにおける前記仮想マシンであって、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付手段と、前記クライアント端末装置からの要求に対して、前記企業内秘匿情報に基づく処理が必要か否かを判定する判定手段と、前記判定手段により前記企業内秘匿情報に基づく処理が必要であると判定されると、企業内ネットワークに接続され、かつ前記企業内秘匿情報の記憶処理を行う企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理手段と、前記判定手段により前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理手段と、を備えるものとした。
【0015】
また、請求項2に係る発明は、請求項1に記載の仮想マシンであって、前記企業内データベースサーバは、前記クライアント端末装置のユーザの認証情報を記憶しており、前記判定手段は、前記クライアント端末装置から認証情報を取得したとき、前記企業内秘匿情報に基づく処理が必要であると判定し、前記第1処理手段は、前記取得された認証情報と一致する認証情報が前記企業内データベースサーバに記憶されているかどうかを前記企業内データベースサーバに問い合わせて、前記クライアント端末装置の認証処理を行うこととした。
【0016】
また、請求項3に係る発明は、請求項1又は2に記載の仮想マシンであって、前記クライアント端末装置から前記企業内秘匿情報を受信したとき、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内データベースサーバに前記企業内秘匿情報を記憶する第3処理手段を備えたこととした。
【0017】
また、請求項4に係る発明は、請求項1〜3のいずれか1項に記載の仮想マシンであって、前記第1処理手段は、前記クライアント端末装置から取得した情報を前記企業内秘匿情報に基づき加工して前記クライアント端末装置へ送信することとした。
【0018】
また、請求項5に係る発明は、インターネットに接続されたサーバ上で動作する仮想マシンのプログラムであって、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付ステップと、前記クライアント端末装置からの要求に対して、前記クライアント端末装置のユーザ情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する判定ステップと、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要であると判定されると、企業内ネットワークに接続され、かつ前記企業内秘匿情報を記憶した企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理ステップと、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理ステップと、を実行させるものとした。
【0019】
また、請求項6に係る発明は、インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求に応じた処理を行う仮想マシンと、企業内ネットワークに接続された企業内データベースサーバと、を備えたアプリケーションサービス提供システムにおいて、前記企業内データベースサーバは、前記クライアント端末装置のユーザ情報を含む企業内秘匿情報を記憶する記憶手段と、前記仮想マシンからの要求に応じて、前記記憶手段に記憶した企業内秘匿情報の検索、変更又は削除、又は前記記憶手段への企業内秘匿情報の追加を行う記憶処理手段と、を備え、前記仮想マシンは、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付手段と、前記クライアント端末装置からの要求に対して、前記企業内秘匿情報に基づく処理が必要か否かを判定する判定手段と、前記判定手段により前記企業内秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理手段と、前記判定手段により前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理手段と、を備えたこととした。
【0020】
また、請求項7に係る発明は、インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求に応じた処理を行う仮想マシンと、企業内ネットワークに接続された企業内データベースサーバとによるアプリケーションサービス提供方法であって、前記仮想マシンが、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付ステップと、前記仮想マシンが、前記クライアント端末装置からの要求に対して、当該クライアント端末装置のユーザ情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する判定ステップと、前記仮想マシンが、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内データベースサーバに対して、前記クライアント端末装置からの要求に応じた処理を行う要求ステップと、前記企業内データベースサーバが、前記仮想マシンからの要求に応じて、前記企業内秘匿情報を記憶した記憶手段から前記企業内秘匿情報の検索、変更又は削除、又は前記記憶手段への企業内秘匿情報の追加を行う記憶処理ステップと、前記仮想マシンが、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要ではない判定されると、前記クライアント端末装置からの要求に応じた処理を行う処理ステップと、有することとした。
【発明の効果】
【0021】
本発明によれば、クラウドサービスの利用者であるアプリケーション提供会社は、インターネットを介して接続されたサーバ上で動作する仮想マシンを利用してコンピュータ資源の導入コストや運用コストを低減しつつ、企業内秘匿情報を含む情報をクラウドサービス提供会社に預けることなく、自社内でセキュリティ対策を行うことが可能となる。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施形態に係るアプリケーションサービス提供システムの構成を示す図である。
【図2】アプリケーションサービス提供システムの概略動作を示す図である。
【図3】図1に示すクライアント端末装置の構成を示す図である。
【図4】図1に示すクライアント端末装置の処理の流れを示す図である。
【図5】図1に示すサーバシステムの構成を示す図である。
【図6】図5に示すブレードサーバ上のアーキテクチャを示す図である。
【図7】図5に示すブレードサーバの機能ブロック図である。
【図8】仮想APサーバの処理の流れを示す図である。
【図9】DBサーバの機能ブロック図である。
【図10】DBサーバの処理の流れを示す図である。
【図11】Web会議サービスのシステムの登録処理の流れを示す図である。
【図12】第1テーブルのデータ構造の一例を示す図である。
【図13】第2テーブルのデータ構造の一例を示す図である。
【図14】第3テーブルのデータ構造の一例を示す図である。
【図15】Web会議サービスのシステムの参加準備処理の流れを示す図である。
【図16】Web会議サービスのシステムの会議処理の流れを示す図である。
【図17】クライアント端末装置の処理の流れを示す図である。
【図18】SIPサーバの処理の流れ(その1)を示す図である。
【図19】SIPサーバの処理の流れ(その2)を示す図である。
【図20】DBサーバの処理の流れを示す図である。
【発明を実施するための形態】
【0023】
[1.アプリケーションサービス提供システムの概要]
本実施形態のアプリケーションサービス提供システムは、インターネット経由でアプリケーションをクライアントに提供しようとする企業であるアプリケーション提供会社が、クラウドサービスを利用して、アプリケーションサービスをクライアントに提供することができるアプリケーションサービス提供システムである。
【0024】
このようにアプリケーション提供会社がクラウドサービスを利用して提供するアプリケーションサービスにおいては、このアプリケーションサービスを利用するクライアントは、クラウドサービスであることを意識することはない。クライアントは、通常のアプリケーションサービスと同様に、アプリケーション提供会社からのアプリケーションサービスを受けることなる。なお、アプリケーションサービスとしては、例えば、後述するWeb会議サービス、データベースサービス、eラーニングサービス、画像配信サービスなどがある。
【0025】
クラウドサービスを提供する企業であるクラウドサービス提供会社は、アプリケーションのプラットフォームとなる仮想マシンをアプリケーション提供会社にレンタルする。アプリケーション提供会社は、仮想マシン上でアプリケーションプログラムを実行させ、クライアントにアプリケーションサービスを提供する。なお、以下においては、アプリケーション提供会社からアプリケーションサービスの提供を受けるクライアントの端末装置をクライアント端末装置と呼ぶ。
【0026】
図1に示すように、クラウドサービス提供会社側のコンピュータシステム3は、インターネット2にLAN側入出力ポートを接続したルータ10と、ルータ10のLAN側入出力ポートに接続されたサーバシステム11とを有している。
【0027】
このサーバシステム11は、後述するようにインターネットに接続された複数のブレードサーバで構成され、これらのブレードサーバ上で多数の仮想マシンを動作させることができるようにしている。ここでは、多数の仮想マシンのうち、アプリケーション提供会社は一つの仮想マシンでアプリケーションプログラムを実行して、クライアントにアプリケーションサービスを提供するものとするが、複数の仮想マシンを用いてアプリケーションサービスを用いてアプリケーションサービスを提供することもできる。以下、このようにアプリケーションプログラムを実行する仮想マシンを仮想APサーバ13xと呼ぶ。図1に示す例では、第1ブレードサーバ121上で動作する仮想マシンを仮想APサーバ13xとして用いている。
【0028】
アプリケーション提供会社のアプリケーションサービスには、クライアント端末装置1a,1b,1c,…の利用者が加入しており、各クライアント端末装置1a,1b,1c,…から仮想APサーバ13xにアクセスしてアプリケーション提供会社のアプリケーションサービスを受ける。なお、クライアント端末装置1a,1b,1c,…のうち何れかのクライアント端末装置又は全てのクライアント端末装置を示す場合には、便宜上、クライアント端末装置1という。
【0029】
サーバシステム11はクラウドサービス提供会社の企業内ネットワークのクラウドサービス用のネットワーク領域に配置される。サーバシステム11上で動作する仮想APサーバ13x宛てに、クライアント端末装置1からインターネット経由での通信パケットが送信されたとき、ルータ10は、クライアント端末装置1からの通信パケットを仮想APサーバ13xに中継する。また、仮想APサーバ13xからクライアント端末装置1への通信パケットもルータ10によりクライアント端末装置1へ中継される。クライアント端末装置1は、仮想APサーバ13xとの間で、提供を受けるサービスに応じた通信パケットを送受信することで、アプリケーションサービスの提供を受ける。
【0030】
アプリケーション提供会社のコンピュータシステム4は、VPNルータ20と、ストレージ21と、このストレージ21のデータを管理するデータベースサーバ22と、ストレージ21を管理するための管理端末装置23とを有している。管理端末装置23は、データベースサーバ22を介してストレージ21へのデータの追加やデータの更新を行うことができる。なお、以下においては、データベースサーバをDBサーバとも呼ぶ。
【0031】
DBサーバ22は、VPNルータ20を介して、仮想APサーバ13xからアクセスすることができるようになっている。仮想APサーバ13xとコンピュータシステム4内ネットワークとの間は、VPN接続によりセキュアな通信が確立される。すなわち、仮想APサーバ13xには、VPN接続用のプログラムが記憶されており、VPNルータ20とVPN接続を行うようにしている。なお、VPNルータ20を経由した通信パケットのみDBサーバ22で受信可能となるようにVPNルータ20内のファイアウォールが設定されている。このように、DBサーバ22に対するインターネット経由のアクセスを仮想APサーバ13xのみ可能としている。
【0032】
本実施形態に係るアプリケーションサービス提供システムでは、クライアント端末装置1からアクセスされた仮想APサーバ13xは、必要に応じてDBサーバ22と通信して、クライアント端末装置1からの要求に応じた処理を行うようにしている。
【0033】
DBサーバ22及びストレージ21は、共にアプリケーション提供会社の企業内ネットワークに配置されており、ストレージ21に、企業秘匿情報を含むアプリケーション用の情報が記憶される。企業秘匿情報には、クライアントの個人情報やアプリケーション提供会社の社内の機密情報などの重要な情報が含まれる。
【0034】
このように本実施形態に係るアプリケーションサービス提供システムでは、企業秘匿情報をアプリケーション提供会社側の企業内ネットワーク内で管理することができるので、クラウドサービス提供会社に預けることなく、アプリケーション提供会社側で企業秘匿情報を管理することができる。
【0035】
従って、アプリケーション提供会社は、社内のセキュリティ管理を厳密に行うことにより、クラウドサービス提供会社側のセキュリティ対策を気にすることなく、クラウドサービスを利用することが可能となる。そのため、アプリケーション提供会社は、セキュリティ管理を厳密に行いつつも、コンピュータ資源の一部にクラウドサービスを利用して、比較的低コストで、アプリケーションサービスを運用することができる。
【0036】
以上のように構成されるアプリケーションサービス提供システムの概略動作について図2を参照して説明する。
【0037】
図2に示すように、まず、アプリケーションサービスを受けるクライアントは、クライアント端末装置1を用いてアプリケーションサービスを受けるための所定の操作を行う。この操作を受けてクライアント端末装置1は、インターネット2を介して、仮想APサーバ13xに対し、操作に応じた要求を行う(ステップS11)。
【0038】
クライアント端末装置1から要求を受け付けると、仮想APサーバ13xは、企業内データベースサーバと通信が必要か否かを判定する(ステップS12)。仮想APサーバ13xには、企業内データベースサーバとしてアプリケーション提供会社の企業内ネットワークに接続されたDBサーバ22が登録されており、仮想APサーバ13xは、このDBサーバ22との通信が必要であるか否かを判定する。仮想APサーバ13xは、例えば、クライアント端末装置1からの要求が、アプリケーションサービスへの登録要求や接続要求であり、クライアントのパスワード、ID、氏名、住所、職業などの個人情報を含むものであるとき、企業内データベースサーバと通信が必要であると判定する。すなわち、仮想APサーバ13xは、企業内秘匿情報を受信したとき、DBサーバ22との通信が必要であると判定する。一方、仮想APサーバ13xは、クライアントの個人情報を含まないときには、企業内データベースサーバと通信が必要ないと判定する。ここで、アプリケーションサービスへの登録要求とは、クライアントがクライアント端末装置1を用いてアプリケーションサービスを利用するために事前に行う要求であり、クライアントのパスワード、ID、氏名、住所、職業などの個人情報を登録するための要求である。また、アプリケーションサービスへの接続要求とは、クライアントがクライアント端末装置1を用いてアプリケーションサービスを利用する際に行う要求であり、クライアントのパスワード及びIDを含む。仮想APサーバ13xは、この接続要求に含まれるクライアントのパスワード及びID(認証情報)によりクライアントの認証を行う。このように、アプリケーション提供会社のクライアントの個人情報は、アプリケーション提供会社内で保持されるため、アプリケーション提供会社側で管理することができる。従って、アプリケーション提供会社は、極めて重要なクライアントの個人情報に対するセキュリティ対策を自社で行いつつも、仮想マシンを利用してコンピュータ資源の導入コストや運用コストを低減させて、アプリケーションサービスの提供を行うことができる。
【0039】
このステップS12の処理において、企業内データベースサーバと通信が必要ではないと判定すると(ステップS12:NO)、仮想APサーバ13xは、内部処理を行う(ステップS13)。この内部処理として、仮想APサーバ13xは、クライアント端末装置1からの要求に応じて必要な処理を行う。
【0040】
一方、企業内データベースサーバと通信が必要であると判定すると(ステップS12:YES)、仮想APサーバ13xは、DBサーバ22に、受信した要求に対応するリクエストを送信する(ステップS14)。このとき、仮想APサーバ13xとDBサーバ22との間の通信経路のうちインターネットにおける通信経路は、VPN接続されていることから、仮想APサーバ13xは、DBサーバ22との間でセキュアな通信を行うことができる。なお、ここでは、仮想APサーバ13xとDBサーバ22との間でセキュアな通信を行うために、VPN接続を行うようにしているが、HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)プロトコルを用いて、セキュアな通信を行うようにしてもよい。
【0041】
DBサーバ22は、仮想APサーバ13xからインターネット2を介して送信されるリクエストを受信し、このリクエストに基づいた処理を行う(ステップS15)。例えば、受信したリクエストがアプリケーションサービスへの登録要求に応じたリクエストである場合、DBサーバ22は、受信したリクエストに含まれるクライアントのID、パスワード、住所、氏名等の個人情報をストレージ21に記憶して、クライアントの個人情報を登録する。また、受信したリクエストがアプリケーションサービスへの接続要求に応じたリクエストである場合、DBサーバ22は、受信したリクエストに含まれるクライアントのIDやパスワードなどの個人情報がストレージ21に記憶している個人情報と一致するかを判定する。
【0042】
DBサーバ22は、ステップS15で行った処理の結果をインターネット2を介して仮想APサーバ13xへ送信する(ステップS16)。例えば、アプリケーションサービスへの登録要求に応じたリクエストに対しては、クライアントの個人情報をストレージ21に登録が終了したことを示す情報を処理の結果として仮想APサーバ13xへ送信する。また、アプリケーションサービスへの接続要求に応じたリクエストに対しては、クライアントの個人情報がストレージ21に登録されていれば、認証OKを示す情報を処理の結果として仮想APサーバ13xへ送信する。一方、クライアントの個人情報がストレージ21に登録されていなければ、認証NGを示す情報を処理の結果として仮想APサーバ13xへ送信する。
【0043】
仮想APサーバ13xは、DBサーバ22からインターネット2を介して送信される処理の結果を受信する(ステップS17)。
仮想APサーバ13xは、ステップS13で行った内部処理の結果、又は、ステップS17で受信した処理の結果を、クライアント端末装置1へ送信する(ステップS18)。
【0044】
クライアント端末装置1は、仮想APサーバ13xからインターネット2を介して送信される処理の結果を受信し(ステップS19)、その後、その結果に基づいて所定の処理を行う(ステップS20)。
【0045】
[2.各構成要素の具体的構成]
次に、アプリケーションサービス提供システムを構成する各要素の構成及び動作についてそれぞれ説明する。
【0046】
[2.1.クライアント端末装置1の構成及び動作]
まず、クライアント端末装置1の具体的構成について説明する。このクライアント端末装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能である。クライアント端末装置1は、このクライアント端末装置1の使用者であるユーザ、すなわちクライアントが所有するものである。図3に示すように、クライアント端末装置1は、制御部41と、記憶部42と、通信部43と、操作部44と、情報取得部45と、提示部46とを備えており、これらは、システムバス47を介して相互に接続されている。
【0047】
制御部41は、クライアント端末装置1全体を制御するものであり、CPU(Central Processing Unit)、内部メモリなどから構成される。記憶部42は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置であり、例えば、フラッシュメモリから構成される。通信部43は、他の装置とインターネット2を介して通信するための通信インターフェイスである。操作部44は、各種設定入力を行うための操作部である。情報取得部45は、カメラやマイクから構成され、カメラから撮像した映像情報を出力し、マイクから取得した音声情報を出力する。提示部46は、液晶表示装置(LCD)やスピーカーから構成されており、映像情報や音声情報を再生する。
【0048】
以上のように構成されたクライアント端末装置1の動作について、図4のフローチャートに基づいて説明する。クライアント端末装置1での処理は、クライアント端末装置1において電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたときに開始され、繰り返し行われる。このとき、制御部41のCPUは、内部メモリに記憶したプログラムを実行状態として、制御部41としての機能を動作状態にする。
【0049】
まず、制御部41は、操作部44を介して処理の実行指示を受け付けた否かを判定する(ステップS21)。実行指示を受け付けていないと判定すると(ステップS21:NO)、制御部41は、実行指示を受け付けるまで、ステップS21の判定を繰り返す。一方、実行指示を受け付けたと判定すると(ステップS21:YES)、制御部41は、受け付けた指示に基づいた要求を、仮想APサーバ13xに送信する(ステップS22)。その後、制御部41は、ステップS22で送信したリクエストに対する処理結果を受信し(ステップS23)、この処理結果に基づいて所定の処理を行う(ステップS24)。
【0050】
[2.2.仮想APサーバ13xの構成及び動作]
仮想APサーバ13xは、上述したようにサーバシステム11上に形成される仮想マシンである。
【0051】
サーバシステム11は、図5に示すように、複数のブレードサーバ121〜12nと、ストレージ141〜14nと、サーバ管理装置15とから構成される。なお、ブレードサーバ121〜12nのうち何れかのブレードサーバ又は全てのブレードサーバを示す場合には、便宜上、ブレードサーバ12という。また、ストレージ141〜14nのうち何れかのストレージ又は全てのストレージを示す場合には、便宜上、ストレージ14という。
【0052】
各ブレードサーバ12は、CPU401と、ROM402と、RAM403と、入出力部404と、通信部405と、ハードディスク(HDD)406とを有しており、これらはシステムバス407を介して相互に接続されている。入出力部404は、サーバ管理装置15とのデータの送受信を行うための通信インターフェイスであり、通信部405は、クラウドサービス提供会社内の企業内ネットワークであるLANに接続するための通信インターフェイスである。
【0053】
このように構成されたブレードサーバ121〜12n上で、複数の仮想マシン131〜13nが動作する。なお、複数の仮想マシン131〜13nのうち何れかの仮想マシン又は全ての仮想マシンを示す場合には、便宜上、仮想マシン13という。
【0054】
図6にブレードサーバ12上のアーキテクチャを示す。同図に示すように、ブレードサーバ12では、そのベースプログラムであるメインOSが動作する。そしてメインOS上で仮想マシンを動作させるためのプログラムである仮想マシンプログラムが動作する。そして、この仮想マシンプログラム上で複数のゲストOSを動作することができるようにしている。各ゲストOS上では、1以上のアプリケーションプログラムを動作させることができる。
【0055】
サーバ管理装置15は、各ブレードサーバ12を制御及び管理する装置であり、ゲストOSに割り当てるリソース(CPU401,ROM402,RAM403,HDD406など)を管理する。例えば、サーバ管理装置15は、仮想マシン13によるリソースの利用率に応じて、仮想マシン13に割り当てるリソースを変更することができる。また、サーバ管理装置15は、アプリケーションプログラムの実行開始や実行停止などを制御することができる。さらに、各ブレードサーバ12と通信を行って、ゲストOSやアプリケーションプログラムの追加、削除又は更新を行うことができる。
【0056】
本実施形態では、ブレードサーバ12上で動作する仮想マシン13のうち、第1ブレードサーバ121上で動作する仮想マシンを仮想APサーバ13xとして用いる(図1参照)。
【0057】
ブレードサーバ12上で動作する仮想APサーバ13xは、図7に示すように、ブレードサーバ12のリソースを利用することで、制御部411、記憶部412、通信部413などとして機能し、アプリケーション用プログラムを実行する。制御部411は、受付手段、判定手段、第1処理手段、第2処理手段、第3処理手段等として機能する。
【0058】
次に、仮想APサーバ13xでの処理について、図8のフローチャートに基づいて具体的に説明する。仮想APサーバ13xでの処理は、サーバ管理装置15によりブレードサーバ上での仮想APサーバ13xの動作が許可されたときに開始する。
【0059】
まず、制御部411は、クライアント端末装置1から要求を受信したか否かを判定する(ステップS31)。この処理において、要求を受信していないと判定すると(ステップS31:NO)、制御部411は、クライアント端末装置1から要求を受信するまで、ステップS31の判定を繰り返す。一方、要求を受信したと判定した場合は(ステップS31:YES)、制御部411は、DBサーバ22との通信が必要か否かを判定する(ステップS32)。
【0060】
この処理において、DBサーバ22との通信が必要ではないと判定すると(ステップS32:NO)、制御部411は、受信した要求に応じた処理を、仮想APサーバ13x内部で実行する(ステップS33)。一方、DBサーバ22との通信が必要であると判定すると(ステップS32:YES)、制御部411は、クライアント端末装置1からの要求に応じてDBサーバ22に対するリクエストを生成し、生成したリクエストをDBサーバ22に送信する(ステップS34)。その後、制御部411は、ステップS34で送信したリクエストに対する処理結果を受信する(ステップS35)。この処理が終了したとき、又はステップS33の処理が終了すると、制御部411は、ステップS31で受信した要求を送信したクライアント端末装置1に対して、処理の結果(ステップS33における内部処理の結果、または、ステップS35で受信した処理結果)を送信する(ステップS36)。
【0061】
[2.3.DBサーバ22の構成及び動作]
次に、DBサーバ22の具体的構成について説明する。DBサーバ22は、一般のサーバコンピュータを適用可能である。DBサーバ22は、ユーザの企業によって管理される。図9に示すように、DBサーバ22は、制御部61と、記憶部62と、通信部63と、操作部を備えており、これらはシステムバス64を介して相互に接続されている。制御部61は、ストレージ21を制御する。記憶部62は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置である。通信部63は、DBサーバ22等と通信するための通信インターフェイスである。
【0062】
制御部61は、CPU(Central Processing Unit)、内部メモリなどから構成される。CPUは内部メモリに記憶されているプログラムを読み出して実行することによって、記憶処理手段等として機能する。
【0063】
次に、DBサーバ22での処理について、図10のフローチャートに基づいて具体的に説明する。DBサーバ22での処理は、DBサーバ22において電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたときに開始され、繰り返し行われる。このとき、制御部61のCPUは、内部メモリに記憶したプログラムを実行状態として、制御部61としての機能を動作状態する。
【0064】
まず、制御部61は、仮想APサーバ13xからリクエストを受信したか否かを判定する(ステップS41)。リクエストを受信していないと判定すると(ステップS41:NO)、制御部61は、リクエストを受信するまで、ステップS41の判定を繰り返す。一方、リクエストを受信したと判定した場合は(ステップS41:YES)、制御部61は、ステップS42において、リクエストの内容に基づいた処理を行う。このとき、必要に応じて、ストレージ21に記憶されている企業内秘匿情報が用いられる。その後、ステップS43において、制御部61は、ステップS41で受信したリクエストを送信した仮想APサーバ13xに対して、処理の結果を送信する。
【0065】
以上説明したとおり、クライアント端末装置1,仮想APサーバ13x,DBサーバ22のそれぞれが上述した処理を繰り返すことにより、アプリケーションサービス提供システムが動作する。
【0066】
[4.本実施形態を適用したWeb会議システム]
【0067】
次に、上述した構成を有するアプリケーションサービス提供システムを用いたWeb会議サービスのシステム(以下、「Web会議システム」)について具体的に説明する。このWeb会議システムは、ブレードサーバ12上で設定した仮想マシン13でWeb会議用のアプリケーションソフトウェアを動作させることにより実行されるものである。ここでは、一例として、アプリケーション提供会社が、第2ブレードサーバ122上で動作する仮想マシンをレンタルして、SIPサーバ13x2として用いて、Web会議サービスを提供するものとして説明する。
【0068】
以下の説明において、このWeb会議システムは、SIPサーバ13x2を介してクライアント端末装置1間で映像情報や音声情報の送受信を行うことによって、遠隔地間での会議を可能とするものである。以下においては、音声情報の処理については省略するが、映像情報の処理と同様の処理である。
【0069】
図1に示す構成において、クライアント端末装置1a〜1cを使用するクライアントA〜Cの3者がWeb会議を行う場合、クライアントAが使用するクライアント端末装置1aの提示部46には、クライアント端末装置1b及び1cで取得した映像情報が提示される。また、クライアントBが使用するクライアント端末装置1bの提示部46には、クライアント端末装置1a及び1cで取得した映像情報が提示される。また、クライアントCが使用するクライアント端末装置1cの提示部46には、クライアント端末装置1a及び1bで取得した映像情報が提示される。また、SIPサーバ13x2は、各クライアント端末装置1から取得した映像情報に基づいて、各クライアント端末装置1に送信するための映像情報を加工して送信する。
【0070】
また、ストレージ21には、クライアント端末装置1毎の情報が登録される第1テーブル(図12参照)と、開催される会議の開始時刻や終了時刻などの情報が登録される第2テーブル(図13参照)と、会議に参加するクライアント端末装置1の情報が登録される第3テーブル(図14参照)とが記憶される。Web会議を行うには、事前に主催者のクライアント端末装置1から後述の会議情報をストレージ21に登録する必要がある。また、Web会議に参加するためには、参加する各クライアント端末装置1において、参加準備の操作を行う必要がある。
【0071】
このWeb会議システムにおいては、以下の3つの処理が行われる。
(1)主催する会議をDBサーバ22に登録するための「登録処理」
(2)会議への参加手続きを行うための「参加準備処理」
(3)Web会議を行うための「会議処理」
以下、それぞれの処理について、具体的に説明する。
【0072】
[4.1.登録処理]
まず、登録処理について、図11を参照しつつ説明する。この処理は、会議を主催するクライアントのクライアント端末装置1と、SIPサーバ13x2と、DBサーバ22とで実行される。
【0073】
まず、クライアント端末装置1は、会議の主催者から操作部44を介して拠点ID及びパスワードの入力、及び、認証処理の実行指示を受け付ける。なお、拠点ID及びパスワードは予め記憶部42に記憶している場合には、操作部44を介しての入力は不要となる。そして、クライアント端末装置1は、受け付けた情報に基づいた認証処理の要求を、SIPサーバ13x2に送信する(ステップS51)。この要求には、認証処理の実行要求を示す情報と、拠点ID及びパスワードとが含まれる。なお、この際、拠点IDやパスワードに対して所定の暗号化処理を施してもよい。
【0074】
SIPサーバ13x2は、認証処理の要求を受け付けると、DBサーバ22に対し、認証処理の要求に応じた認証処理リクエストを送信する(ステップS52)。この認証処理リクエストには、クライアント端末装置1から送信された情報に加え、SIPサーバ13x2を識別するための識別情報が含まれている。
【0075】
DBサーバ22は、認証処理リクエストを受け付けると、認証処理を行う(ステップS53)。DBサーバ22は、ストレージ21に記憶している第1テーブル(図12)を参照して認証処理を行う。すなわち、この認証処理において、DBサーバ22は、受信した認証処理リクエストに含まれる拠点IDとパスワードとの組み合わせがストレージ21の第1テーブルに登録されているかどうかの照合を行う。拠点IDとパスワードの組み合わせが第1テーブルに登録されているとき、DBサーバ22は、認証が成功したと判定し、それ以外の場合には認証が失敗したと判定する。なお、ストレージ21に記憶される拠点IDやパスワードについても、クライアント端末装置1での処理と同様に、暗号化処理を施してもよく、この場合には照合の際に復号化することになる。
【0076】
ここで、ストレージ21に記憶されている第1テーブルのデータ構造について説明する。図12に示すように、第1テーブルには、クライアント端末装置1毎の設定として、「拠点ID」,「IPアドレス」,「パスワード」,「担当者名」,「電話番号」,「会社名」,「サービス内容」,「メールアドレス」が記憶されている。
【0077】
その後、SIPサーバ13x2は、認証処理リクエストを送信したSIPサーバ13x2に対し、認証結果を送信する(ステップS54)。認証結果には、認証が成功したか否かを示す情報、すなわち認証OKを示す情報または認証NGを示す情報が含まれる。
【0078】
SIPサーバ13x2は、DBサーバ22から認証結果を受信すると、ステップS52で受け付けた要求を送信したクライアント端末装置1に対し、その認証結果を送信する(ステップS55)。
【0079】
クライアント端末装置1は、認証OKを示す情報を含む認証結果を受信すると、会議の主催者から操作部44を介して主催する会議の情報(以下、「会議情報」という)の入力を受け付け、また、会議情報登録処理の実行処理を受け付ける。そして、受け付けた情報に基づいた会議情報登録処理の要求を、SIPサーバ13x2に送信する(ステップS56)。ここで、会議情報には、会議に参加するクライアントが使用するクライアント端末装置1の識別番号(以下、「会議参加拠点番号」という)、及び、会議の予定開始時間/予定終了時間が含まれている。また、会議に参加する各クライアント端末装置1上の表示レイアウトの設定情報(後述)についてもこの要求に含まれる。
【0080】
SIPサーバ13x2は、会議情報登録処理の要求を受け付けると、DBサーバ22に対し、SIPサーバ13x2の識別情報を含む登録処理リクエストを送信する(ステップS57)。DBサーバ22は、登録処理リクエストを受け付けると、会議情報登録処理を行う(ステップS58)。会議情報登録処理では、受信した登録処理リクエストに基づいて、会議情報をストレージ21の第2テーブル及び第3テーブルに登録する。すなわち、DBサーバ22は、登録処理リクエストに含まれる会議情報のうち、会議の予定開始時間と、予定終了時間と、会議情報登録処理の要求を行ったクライアント端末装置1の拠点ID(開催拠点ID)と、SIPサーバ13x2の識別情報とを、新たに発行した会議IDに関連づけて第2テーブルに登録する。また、DBサーバ22は、登録処理リクエストに含まれる会議情報のうち、会議参加拠点番号と設定情報とを新たに発行した会議IDに関連づけて第3テーブルに登録する。
【0081】
ここで、ストレージ21に記憶されている第2テーブル及び第3テーブルのデータ構造について説明する。図13に示すように、第2テーブルには、会議IDをキーとして、主催者のクライアント端末装置1を示す「開催拠点ID」,会議の開始時刻を示す「予定開始時間」,会議の終了時刻を示す「予定終了時刻」が登録されている。また、第2テーブルには、会議IDをキーとして、SIPサーバ13x2の識別情報も登録されるが、ここでは図示していない。また、図14に示すように、第3テーブルには、会議IDをキーとして、会議に参加するクライアント端末装置1の識別番号を示す「会議参加拠点ID」と「設定情報」が登録されている。設定情報は、表示する映像情報の品質(映像情報の圧縮方式など)や表示レイアウトの情報が含まれている。なお、本実施形態では、この設定情報も企業内秘匿情報として扱われる。
【0082】
ステップS58における会議情報の登録が終了すると、DBサーバ22は、SIPサーバ13x2に対し、会議情報の登録処理が完了したことを示す完了情報を送信する(ステップS59)。SIPサーバ13x2は、DBサーバ22から完了情報を受信すると、クライアント端末装置1に対し、その完了情報を送信する(ステップS60)。
【0083】
[4.2.参加準備処理]
次に、参加準備処理について、図15を参照しつつ説明する。この処理は、Web会議に参加するクライアントが使用する各クライアント端末装置1に対し、Web会議が行われることを通知し、かつ、各クライアント端末装置1の認証を行うための処理である。
【0084】
まず、SIPサーバ13x2は、DBサーバ22に対し、会議情報リクエストを送信する(ステップS61)。この会議情報リクエストには、SIPサーバ13x2の識別番号が含まれている。このステップS61の処理は、所定時間間隔ごとに、繰り返し行われる。
【0085】
DBサーバ22は、受信した会議情報リクエストに含まれるSIPサーバ13x2の識別番号に基づき、ストレージ21に記憶されている第1〜第3テーブルを参照して会議情報を抽出する(ステップS62)。具体的には、DBサーバ22は、第2テーブルを参照して、SIPサーバ13x2の識別番号と関連し、かつ現時刻から所定時間内に開始される会議IDを抽出する。DBサーバ22は、抽出した会議IDを検索キーとして、第3テーブルを参照して、会議参加拠点ID及び設定情報を抽出する。そして、DBサーバ22は、抽出した会議参加拠点IDを検索キーとして、第1テーブルを参照して、メールアドレスを抽出する。そして、DBサーバ22は、これら抽出した情報を会議情報とする。その後、DBサーバ22は、ステップS62で受信した会議情報リクエストを送信したSIPサーバ13x2に対し、抽出した会議情報を送信する(ステップS63)。
【0086】
SIPサーバ13x2は、会議情報を受信すると(ステップS64)、受信した会議情報に含まれる会議参加拠点番号のクライアント端末装置1に対して、会議が行われることを示す会議通知情報を電子メールで送信する(ステップS65)。
【0087】
会議通知情報を受信すると、クライアント端末装置1は、クライアントから操作部44を介して拠点ID及びパスワードの入力、及び、認証処理の実行指示を受け付ける。そして、受け付けた情報に基づいた認証処理の要求を、SIPサーバ13x2に送信する(ステップS66)。SIPサーバ13x2は、認証処理の要求を受け付けると、DBサーバ22に対し、認証処理リクエストを送信する(ステップS67)。
【0088】
DBサーバ22は、認証処理リクエストを受け付けると、認証処理を行う(ステップS68)。この認証処理は、ストレージ21に記憶している第1テーブルと第3テーブルを参照して行われる。すなわち、DBサーバ22は、認証処理リクエストに含まれる拠点IDとパスワードとの組み合わせが、第1テーブルに登録されているかを判定し、第1テーブルに登録されていれば、さらに、第3テーブルに拠点IDが登録されているかを判定する。いずれにも登録されているとき、DBサーバ22は、認証が成功したと判定し、それ以外の場合は、認証が失敗したと判定する。その後、DBサーバ22は、認証処理リクエストを送信したSIPサーバ13x2に対し、認証結果を送信する(ステップS69)。DBサーバ22は、認証が成功したときには、ストレージ21に記憶されている第3テーブルから認証処理リクエストに含まれる拠点IDに対応する設定情報を取得し、この設定情報を、認証OKを示す情報と共にSIPサーバ13x2へ送信する。
【0089】
SIPサーバ13x2は、DBサーバ22から認証結果を受信する(ステップS70)と、受信した認証結果に含まれる各クライアント端末装置1の拠点IDと設定情報との組み合わせを、記憶部412又はストレージ14に記憶する(ステップS71)。さらに、SIPサーバ13x2は、認証処理の要求を送信したクライアント端末装置1に対して、認証結果を送信する(ステップS72)。なお、クライアント端末装置1は、記憶部42に会議中フラグを有し、会議開示時刻になると、そのフラグがONとなるものとする。
【0090】
[4.3.会議処理]
次に、会議処理について、図16を参照しつつ説明する。この処理は、Web会議に参加する各クライアント端末装置1とSIPサーバ13x2との間で実行される処理である。なお、図16では、説明の便宜上、クライアント端末装置1aとクライアント端末装置1bの2つのクライアント端末装置を示しているが、実際は、会議に参加するクライアント端末装置1の数だけ同様の処理が、Web会議中繰り返し行われる。
【0091】
まず、クライアント端末装置1aは、情報取得部45を介して取得した映像情報をSIPサーバ13x2に送信する(ステップS75a)。同様に、クライアント端末装置1bは、情報取得部45を介して取得した映像情報をSIPサーバ13x2に送信する(ステップS75b)。
【0092】
SIPサーバ13x2は、各クライアント端末装置1から映像情報を受信する(ステップS76)と、受信した映像情報に基づいて、各クライアント端末装置1に送信する映像情報を生成する(ステップS77)。このとき、記憶部412又はストレージ14に記憶しているクライアント端末装置1毎の設定情報が参照される。その後、SIPサーバ13x2は、各クライアント端末装置1に対し、生成した映像情報を送信する(ステップS78)。
【0093】
SIPサーバ13x2から映像情報を受信したクライアント端末装置1a,1bは、それぞれ、受信した映像情報に基づいて、提示部46に映像を表示する(ステップS79a,S79b)。
【0094】
次に、以上のような動作を行うWeb会議システムにおける各要素ごとの具体的な処理について説明する。
【0095】
[4.4.クライアント端末装置1での処理]
まず、クライアント端末装置1での処理について、図17を参照しつつ具体的に説明する。
【0096】
まず、制御部41は、クライアントから操作部44を介して認証処理の実行指示を受け付けたか否かを判定する(ステップS81)。認証処理の実行指示を受け付けたと判定すると(ステップS81:YES)、制御部41は、SIPサーバ13x2に対し、認証処理の要求を送信する(ステップS82)。この登録処理の要求には、拠点ID及びパスワードが含まれる。その後、制御部41は、SIPサーバ13x2から認証結果を受信する(ステップS83)。
【0097】
一方、ステップS81において、認証処理の実行指示を受け付けていないと判定すると(ステップS81:NO)、制御部41は、ステップS84において、会議情報登録処理の実行指示を受け付けたか否かを判定する。会議登録処理の実行指示を受け付けたと判定すると(ステップS84:YES)、制御部41は、ステップS85において、SIPサーバ13x2に対し、受け付けた入力に基づいて会議情報登録処理の要求を送信する。その後、制御部41は、会議情報登録処理の要求に対し、SIPサーバ13x2から送信される会議情報の登録を示す完了情報を受信する(ステップS86)。
【0098】
一方、ステップS84において、会議情報登録処理の実行指示を受け付けていないと判定すると(ステップS84:NO)、制御部41は、会議開始の時刻であるか否かを判定する(ステップS87)。この処理において、制御部41は、会議開始の時刻となったときに、会議指示があったと判定する。この判定は、記憶部42に記憶されている会議中フラグがONとなっているかに基づいて行われる。会議開始の時刻ではないと判定すると(ステップS87:NO)、制御部41は、処理をステップS81に移行させ、ステップS81以降の処理を繰り返す。一方、会議開始の時刻であると判定すると(ステップS87:YES)、制御部41は、処理をステップS88に移行させる。
【0099】
ステップS88において、制御部41は、情報取得部45を介して取得した映像情報を、SIPサーバ13x2に送信する。また、制御部41は、SIPサーバ13x2から取得した映像情報を、提示部46に提示する(ステップS89)。その後、制御部41は、会議終了か否かを判定する(ステップS90)。この判定は、記憶部に記憶されている会議中フラグがOFFとなったか否かに基づいて行われる。会議終了ではないと判定すると(ステップS90:NO)、制御部41は、処理をステップS88に移行させ、ステップS88からの処理を繰り返す。一方、会議終了であると判定すると(ステップS90:YES)、制御部41は、処理をステップS81に移行させ、ステップS81からの処理を繰り返す。
【0100】
[4.5.SIPサーバ13x2における処理(その1)]
次に、SIPサーバ13x2における処理(その1)について、図18を参照しつつ具体的に説明する。この処理では、クライアント端末装置1から受信した要求に応じた処理を行う。
【0101】
まず、制御部411は、いずれかのクライアント端末装置1から認証処理の要求を受信したか否かを判定する(ステップS101)。認証処理の要求を受信したと判定すると(ステップS101:YES)、制御部411は、認証処理リクエストを、DBサーバ22に送信する(ステップS102)。この認証処理リクエストに対して、DBサーバ22から認証結果を受信する(ステップS103)と、制御部411は、その認証結果を、クライアント端末装置1に送信する(ステップS104)。
【0102】
一方、ステップS101において、認証処理の要求を受信していないと判定すると(ステップS101:NO)、制御部411は、会議情報登録処理の要求を受信したか否かを判定する(ステップS105)。会議登録処理の要求を受信したと判定すると(S105:YES)、制御部411は、登録処理リクエストを、DBサーバ22に送信する(ステップS106)。この登録処理リクエストに対して、DBサーバ22から処理結果を受信する(ステップS107)と、クライアント端末装置1にその処理結果を送信する(ステップS108)。
【0103】
一方、ステップS105において、会議情報登録処理の要求を受信していないと判定すると(ステップS105:NO)、制御部411は、映像情報を受信したか否かを判定する(ステップS109)。映像情報を受信していないと判定すると(ステップS109:NO)、制御部411は、処理をステップS101に移行させ、ステップS101以降の処理を繰り返す。一方、映像情報を受信したと判定すると(ステップS109:YES)、制御部411は、受信した映像情報を、記憶部412又はストレージ14に一時的に記憶する(ステップS110)。
【0104】
その後、制御部411は、ステップS109で受信した映像情報を送信したクライアント端末装置1に送信する映像情報を生成する(ステップS111)。この映像情報は、記憶部412又はストレージ14に記憶している他のクライアント端末装置1から受信した映像情報を加工して生成される。また、加工時には、記憶部412又はストレージ14に記憶している企業内秘匿情報の1つである設定情報が参照される。映像情報を生成すると、制御部411は、生成した映像情報を、クライアント端末装置1に送信する(ステップS112)。
【0105】
[4.6.SIPサーバ13x2における処理(その2)]
次に、SIPサーバ13x2における処理(その2)について、図19を参照しつつ具体的に説明する。この処理は、DBサーバ22に、現時刻から所定時間以内に開始される会議が存在するか否かを問い合わせる処理であり、所定時間間隔で繰り返し実行される。なお、上述した「SIPサーバ13x2における処理(その1)」と並列して実行される。
【0106】
まず、制御部411は、DBサーバ22に対し会議情報リクエストを送信する(ステップS121)。この会議情報リクエストに対する応答を受信すると(ステップS122)、制御部411は、受信した応答に会議情報が含まれているか否かを判定する(ステップS123)。なお、ステップS121で送信した会議情報リクエストに該当する会議情報が存在しない場合には、受信した応答には会議情報が含まれていない。
【0107】
会議情報が含まれていないと判定すると(S123:NO)、制御部411は、この処理を終了する。一方、会議情報が含まれていると判定すると(S123:YES)、制御部411は、会議情報に含まれる会議参加拠点番号のクライアント端末装置1に対して、会議が行われることを示す会議通知情報を電子メールで送信する(ステップS124)。
【0108】
[4.7.DBサーバ22における処理]
次に、DBサーバ22における処理について、図20を参照しつつ具体的に説明する。
【0109】
まず、DBサーバ22の制御部61は、SIPサーバ13x2から認証処理リクエストを受信したか否かを判定する(ステップS131)。認証処理リクエストを受信したと判定すると(ステップS131:YES)、制御部61は、認証処理を実行する(ステップS132)。この認証処理は、上述のステップS68の処理で説明したように、ストレージ21に記憶されている第1テーブルと第3テーブルを参照して行われる。この認証処理が終了すると、制御部61は、その認証結果をSIPサーバ13x2に送信する(ステップS133)。
【0110】
一方、ステップS131において、認証処理のリクエストを受信していないと判定すると(ステップS131:NO)、制御部61は、登録処理リクエストを受信したか否かを判定する(ステップS134)。登録処理リクエストを受信したと判定すると(ステップS134:YES)、制御部61は、上述のステップS58の処理で説明したように、会議情報をストレージ21の第2テーブル及び第3テーブルに登録する(ステップS135)。その後、制御部61は、会議情報の登録が完了したことを示す完了情報を、SIPサーバ13x2に送信する(ステップS136)。
【0111】
一方、ステップS134において、登録処理リクエストを受信していないと判定すると(ステップS134:NO)、制御部61は、会議情報リクエストを受信したか否かを判定する(ステップS137)。会議情報リクエストを受信していないと判定すると(ステップS137:NO)、制御部61は、処理をステップS131に移行させ、ステップS131以降の処理を繰り返す。一方、会議情報リクエストを受信したと判定すると(ステップS137:YES)、制御部61は、上述のステップS62で説明したように、ストレージ21に記憶されている第1〜第3テーブルを参照して会議情報を抽出する(ステップS138)。その後、制御部61は、抽出した会議情報を、SIPサーバ13x2に送信する(ステップS139)。
【0112】
なお、上述した各実施形態の説明は本発明の一例であり、本発明は上述の実施形態に限定されることはない。このため、上述した各実施形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【符号の説明】
【0113】
1 クライアント端末装置
11 サーバシステム
12 ブレードサーバ
13x 仮想APサーバ
13x2 SIPサーバ
14,21 ストレージ
22 データベースサーバ
23 管理端末装置
【技術分野】
【0001】
本発明は、インターネットを介して接続されたサーバ上で動作する仮想マシン、その仮想マシンのプログラム、その仮想マシンを備えたアプリケーションサービス提供システム、及びそのアプリケーションサービス提供方法に関する。
【背景技術】
【0002】
従来、サーバコンピュータやデータベースなどのコンピュータ資源は、それらを使用する企業がそれぞれ自社で保有していた。しかし、ハードウェアやアプリケーションが複雑で高コストであり、また、コンピュータ資源を運用する専門の部門も必要となる。
【0003】
そこで、インターネットを基本にした新しいコンピュータ資源の利用形態として、クラウド・コンピューティングというサービス形態(以下、「クラウドサービス」という)が注目されている。かかるクラウドサービスとしては、アマゾンが提供する「Elastic Compute Cloud(EC2)」が一例として挙げられる。
【0004】
クラウドサービスでは、その利用者はコンピュータ資源の保有や管理を行う必要がなく、その利用料金を払うことでコンピュータ資源を利用することが可能となる。一方、クラウドサービス提供会社側では、1又は複数のサーバ上で利用者毎に仮想マシンを配置することで、サーバの利用効率や拡張性を向上させている。そのため、クラウドサービス提供会社は、比較的安価にコンピュータ資源をその利用者に提供することができる(例えば、特許文献1参照)。
【0005】
このようにクラウドサービスでは、その利用者がコンピュータ資源を導入する必要がないことから、導入コストや運用コストが軽減され、また、拡張性などにも優れているため、今後、ますます利用者が増加していくものと考えられる。
【0006】
特に、クラウドサービス提供会社から仮想マシンをレンタルして、クライアントにアプリケーションを提供するといった利用形態が増えるものと予測される。
【0007】
すなわち、インターネット経由でアプリケーションをクライアントに提供しようとする企業(以下、「アプリケーション提供会社」とする)は、クラウドサービスの利用者として、クラウドサービス提供会社からアプリケーションのプラットフォームとなる仮想マシンをレンタルし、この仮想マシン上でアプリケーションを実行させる。アプリケーション提供会社は、アプリケーションのプラットフォームを保有及び管理する必要がないため、導入コスト及び運用コストが低減され、コスト的なハードルが下がる。そのため、アプリケーション提供会社は、アプリケーションサービスをクライアントに提供しやすくなる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特表2004−503011号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
アプリケーション提供会社が提供するアプリケーションで使用されるデータには、アプリケーション提供会社の内の機密情報やクライアント(すなわち、アプリケーション提供会社が提供するアプリケーションサービスのクライアント)の個人情報などの重要な情報(以下、「企業内秘匿情報」という)が含まれる。
【0010】
しかし、上記クラウドサービスでは、アプリケーション提供会社は、提供するアプリケーションで使用されるデータをクラウドサービス提供会社に預けることになる。すなわち、提供するアプリケーションで使用されるデータのセキュリティ対策をクラウドサービス提供会社側に行わせることになる。
【0011】
しかしながら、同一のサーバ上でアプリケーション提供会社の仮想マシンのみならず他の利用者の仮想マシンが配置された場合、サーバプログラムの不具合をついたハッキングなどにより、他の利用者等からデータを盗まれるリスクがある。また、サーバの運用はクラウドサービス提供会社に任せてしまうため、クラウドサービス提供会社の内部からの不正アクセスにより不正コピーやディスクの盗難などが発生するリスクがある。このように企業内秘匿情報をクラウドサービス提供会社に預けた場合には、アプリケーション提供会社側で企業内秘匿情報を管理できないセキュリティ上の問題がある。
【0012】
このように、アプリケーション提供会社は、クライアントの情報等の企業内秘匿情報の管理をクラウドサービス提供会社に委ねることになり、情報流出に対する管理ができない。そのため、企業内秘匿情報をクラウドサービス提供会社に預けることに不安を抱き、クラウドサービスの利用を躊躇してしまう場合が多い。このように、クラウドサービスは、多数の利点を有しながらもその利用が十分に図られていないのが現状である。
【0013】
本発明は、上述したような課題に鑑みてなされたものであり、企業内秘匿情報のセキュリティ対策をアプリケーション提供会社側で行わせつつ、クラウドサービスの利用の促進を図ることできる仮想マシン、仮想マシンのプログラム、アプリケーションサービス提供システム及びアプリケーションサービス提供方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記目的を解決するために、請求項1に係る発明は、インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求を処理する仮想マシンと、企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバとを備えたアプリケーションサービス提供システムにおける前記仮想マシンであって、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付手段と、前記クライアント端末装置からの要求に対して、前記企業内秘匿情報に基づく処理が必要か否かを判定する判定手段と、前記判定手段により前記企業内秘匿情報に基づく処理が必要であると判定されると、企業内ネットワークに接続され、かつ前記企業内秘匿情報の記憶処理を行う企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理手段と、前記判定手段により前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理手段と、を備えるものとした。
【0015】
また、請求項2に係る発明は、請求項1に記載の仮想マシンであって、前記企業内データベースサーバは、前記クライアント端末装置のユーザの認証情報を記憶しており、前記判定手段は、前記クライアント端末装置から認証情報を取得したとき、前記企業内秘匿情報に基づく処理が必要であると判定し、前記第1処理手段は、前記取得された認証情報と一致する認証情報が前記企業内データベースサーバに記憶されているかどうかを前記企業内データベースサーバに問い合わせて、前記クライアント端末装置の認証処理を行うこととした。
【0016】
また、請求項3に係る発明は、請求項1又は2に記載の仮想マシンであって、前記クライアント端末装置から前記企業内秘匿情報を受信したとき、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内データベースサーバに前記企業内秘匿情報を記憶する第3処理手段を備えたこととした。
【0017】
また、請求項4に係る発明は、請求項1〜3のいずれか1項に記載の仮想マシンであって、前記第1処理手段は、前記クライアント端末装置から取得した情報を前記企業内秘匿情報に基づき加工して前記クライアント端末装置へ送信することとした。
【0018】
また、請求項5に係る発明は、インターネットに接続されたサーバ上で動作する仮想マシンのプログラムであって、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付ステップと、前記クライアント端末装置からの要求に対して、前記クライアント端末装置のユーザ情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する判定ステップと、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要であると判定されると、企業内ネットワークに接続され、かつ前記企業内秘匿情報を記憶した企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理ステップと、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理ステップと、を実行させるものとした。
【0019】
また、請求項6に係る発明は、インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求に応じた処理を行う仮想マシンと、企業内ネットワークに接続された企業内データベースサーバと、を備えたアプリケーションサービス提供システムにおいて、前記企業内データベースサーバは、前記クライアント端末装置のユーザ情報を含む企業内秘匿情報を記憶する記憶手段と、前記仮想マシンからの要求に応じて、前記記憶手段に記憶した企業内秘匿情報の検索、変更又は削除、又は前記記憶手段への企業内秘匿情報の追加を行う記憶処理手段と、を備え、前記仮想マシンは、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付手段と、前記クライアント端末装置からの要求に対して、前記企業内秘匿情報に基づく処理が必要か否かを判定する判定手段と、前記判定手段により前記企業内秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理手段と、前記判定手段により前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理手段と、を備えたこととした。
【0020】
また、請求項7に係る発明は、インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求に応じた処理を行う仮想マシンと、企業内ネットワークに接続された企業内データベースサーバとによるアプリケーションサービス提供方法であって、前記仮想マシンが、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付ステップと、前記仮想マシンが、前記クライアント端末装置からの要求に対して、当該クライアント端末装置のユーザ情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する判定ステップと、前記仮想マシンが、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内データベースサーバに対して、前記クライアント端末装置からの要求に応じた処理を行う要求ステップと、前記企業内データベースサーバが、前記仮想マシンからの要求に応じて、前記企業内秘匿情報を記憶した記憶手段から前記企業内秘匿情報の検索、変更又は削除、又は前記記憶手段への企業内秘匿情報の追加を行う記憶処理ステップと、前記仮想マシンが、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要ではない判定されると、前記クライアント端末装置からの要求に応じた処理を行う処理ステップと、有することとした。
【発明の効果】
【0021】
本発明によれば、クラウドサービスの利用者であるアプリケーション提供会社は、インターネットを介して接続されたサーバ上で動作する仮想マシンを利用してコンピュータ資源の導入コストや運用コストを低減しつつ、企業内秘匿情報を含む情報をクラウドサービス提供会社に預けることなく、自社内でセキュリティ対策を行うことが可能となる。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施形態に係るアプリケーションサービス提供システムの構成を示す図である。
【図2】アプリケーションサービス提供システムの概略動作を示す図である。
【図3】図1に示すクライアント端末装置の構成を示す図である。
【図4】図1に示すクライアント端末装置の処理の流れを示す図である。
【図5】図1に示すサーバシステムの構成を示す図である。
【図6】図5に示すブレードサーバ上のアーキテクチャを示す図である。
【図7】図5に示すブレードサーバの機能ブロック図である。
【図8】仮想APサーバの処理の流れを示す図である。
【図9】DBサーバの機能ブロック図である。
【図10】DBサーバの処理の流れを示す図である。
【図11】Web会議サービスのシステムの登録処理の流れを示す図である。
【図12】第1テーブルのデータ構造の一例を示す図である。
【図13】第2テーブルのデータ構造の一例を示す図である。
【図14】第3テーブルのデータ構造の一例を示す図である。
【図15】Web会議サービスのシステムの参加準備処理の流れを示す図である。
【図16】Web会議サービスのシステムの会議処理の流れを示す図である。
【図17】クライアント端末装置の処理の流れを示す図である。
【図18】SIPサーバの処理の流れ(その1)を示す図である。
【図19】SIPサーバの処理の流れ(その2)を示す図である。
【図20】DBサーバの処理の流れを示す図である。
【発明を実施するための形態】
【0023】
[1.アプリケーションサービス提供システムの概要]
本実施形態のアプリケーションサービス提供システムは、インターネット経由でアプリケーションをクライアントに提供しようとする企業であるアプリケーション提供会社が、クラウドサービスを利用して、アプリケーションサービスをクライアントに提供することができるアプリケーションサービス提供システムである。
【0024】
このようにアプリケーション提供会社がクラウドサービスを利用して提供するアプリケーションサービスにおいては、このアプリケーションサービスを利用するクライアントは、クラウドサービスであることを意識することはない。クライアントは、通常のアプリケーションサービスと同様に、アプリケーション提供会社からのアプリケーションサービスを受けることなる。なお、アプリケーションサービスとしては、例えば、後述するWeb会議サービス、データベースサービス、eラーニングサービス、画像配信サービスなどがある。
【0025】
クラウドサービスを提供する企業であるクラウドサービス提供会社は、アプリケーションのプラットフォームとなる仮想マシンをアプリケーション提供会社にレンタルする。アプリケーション提供会社は、仮想マシン上でアプリケーションプログラムを実行させ、クライアントにアプリケーションサービスを提供する。なお、以下においては、アプリケーション提供会社からアプリケーションサービスの提供を受けるクライアントの端末装置をクライアント端末装置と呼ぶ。
【0026】
図1に示すように、クラウドサービス提供会社側のコンピュータシステム3は、インターネット2にLAN側入出力ポートを接続したルータ10と、ルータ10のLAN側入出力ポートに接続されたサーバシステム11とを有している。
【0027】
このサーバシステム11は、後述するようにインターネットに接続された複数のブレードサーバで構成され、これらのブレードサーバ上で多数の仮想マシンを動作させることができるようにしている。ここでは、多数の仮想マシンのうち、アプリケーション提供会社は一つの仮想マシンでアプリケーションプログラムを実行して、クライアントにアプリケーションサービスを提供するものとするが、複数の仮想マシンを用いてアプリケーションサービスを用いてアプリケーションサービスを提供することもできる。以下、このようにアプリケーションプログラムを実行する仮想マシンを仮想APサーバ13xと呼ぶ。図1に示す例では、第1ブレードサーバ121上で動作する仮想マシンを仮想APサーバ13xとして用いている。
【0028】
アプリケーション提供会社のアプリケーションサービスには、クライアント端末装置1a,1b,1c,…の利用者が加入しており、各クライアント端末装置1a,1b,1c,…から仮想APサーバ13xにアクセスしてアプリケーション提供会社のアプリケーションサービスを受ける。なお、クライアント端末装置1a,1b,1c,…のうち何れかのクライアント端末装置又は全てのクライアント端末装置を示す場合には、便宜上、クライアント端末装置1という。
【0029】
サーバシステム11はクラウドサービス提供会社の企業内ネットワークのクラウドサービス用のネットワーク領域に配置される。サーバシステム11上で動作する仮想APサーバ13x宛てに、クライアント端末装置1からインターネット経由での通信パケットが送信されたとき、ルータ10は、クライアント端末装置1からの通信パケットを仮想APサーバ13xに中継する。また、仮想APサーバ13xからクライアント端末装置1への通信パケットもルータ10によりクライアント端末装置1へ中継される。クライアント端末装置1は、仮想APサーバ13xとの間で、提供を受けるサービスに応じた通信パケットを送受信することで、アプリケーションサービスの提供を受ける。
【0030】
アプリケーション提供会社のコンピュータシステム4は、VPNルータ20と、ストレージ21と、このストレージ21のデータを管理するデータベースサーバ22と、ストレージ21を管理するための管理端末装置23とを有している。管理端末装置23は、データベースサーバ22を介してストレージ21へのデータの追加やデータの更新を行うことができる。なお、以下においては、データベースサーバをDBサーバとも呼ぶ。
【0031】
DBサーバ22は、VPNルータ20を介して、仮想APサーバ13xからアクセスすることができるようになっている。仮想APサーバ13xとコンピュータシステム4内ネットワークとの間は、VPN接続によりセキュアな通信が確立される。すなわち、仮想APサーバ13xには、VPN接続用のプログラムが記憶されており、VPNルータ20とVPN接続を行うようにしている。なお、VPNルータ20を経由した通信パケットのみDBサーバ22で受信可能となるようにVPNルータ20内のファイアウォールが設定されている。このように、DBサーバ22に対するインターネット経由のアクセスを仮想APサーバ13xのみ可能としている。
【0032】
本実施形態に係るアプリケーションサービス提供システムでは、クライアント端末装置1からアクセスされた仮想APサーバ13xは、必要に応じてDBサーバ22と通信して、クライアント端末装置1からの要求に応じた処理を行うようにしている。
【0033】
DBサーバ22及びストレージ21は、共にアプリケーション提供会社の企業内ネットワークに配置されており、ストレージ21に、企業秘匿情報を含むアプリケーション用の情報が記憶される。企業秘匿情報には、クライアントの個人情報やアプリケーション提供会社の社内の機密情報などの重要な情報が含まれる。
【0034】
このように本実施形態に係るアプリケーションサービス提供システムでは、企業秘匿情報をアプリケーション提供会社側の企業内ネットワーク内で管理することができるので、クラウドサービス提供会社に預けることなく、アプリケーション提供会社側で企業秘匿情報を管理することができる。
【0035】
従って、アプリケーション提供会社は、社内のセキュリティ管理を厳密に行うことにより、クラウドサービス提供会社側のセキュリティ対策を気にすることなく、クラウドサービスを利用することが可能となる。そのため、アプリケーション提供会社は、セキュリティ管理を厳密に行いつつも、コンピュータ資源の一部にクラウドサービスを利用して、比較的低コストで、アプリケーションサービスを運用することができる。
【0036】
以上のように構成されるアプリケーションサービス提供システムの概略動作について図2を参照して説明する。
【0037】
図2に示すように、まず、アプリケーションサービスを受けるクライアントは、クライアント端末装置1を用いてアプリケーションサービスを受けるための所定の操作を行う。この操作を受けてクライアント端末装置1は、インターネット2を介して、仮想APサーバ13xに対し、操作に応じた要求を行う(ステップS11)。
【0038】
クライアント端末装置1から要求を受け付けると、仮想APサーバ13xは、企業内データベースサーバと通信が必要か否かを判定する(ステップS12)。仮想APサーバ13xには、企業内データベースサーバとしてアプリケーション提供会社の企業内ネットワークに接続されたDBサーバ22が登録されており、仮想APサーバ13xは、このDBサーバ22との通信が必要であるか否かを判定する。仮想APサーバ13xは、例えば、クライアント端末装置1からの要求が、アプリケーションサービスへの登録要求や接続要求であり、クライアントのパスワード、ID、氏名、住所、職業などの個人情報を含むものであるとき、企業内データベースサーバと通信が必要であると判定する。すなわち、仮想APサーバ13xは、企業内秘匿情報を受信したとき、DBサーバ22との通信が必要であると判定する。一方、仮想APサーバ13xは、クライアントの個人情報を含まないときには、企業内データベースサーバと通信が必要ないと判定する。ここで、アプリケーションサービスへの登録要求とは、クライアントがクライアント端末装置1を用いてアプリケーションサービスを利用するために事前に行う要求であり、クライアントのパスワード、ID、氏名、住所、職業などの個人情報を登録するための要求である。また、アプリケーションサービスへの接続要求とは、クライアントがクライアント端末装置1を用いてアプリケーションサービスを利用する際に行う要求であり、クライアントのパスワード及びIDを含む。仮想APサーバ13xは、この接続要求に含まれるクライアントのパスワード及びID(認証情報)によりクライアントの認証を行う。このように、アプリケーション提供会社のクライアントの個人情報は、アプリケーション提供会社内で保持されるため、アプリケーション提供会社側で管理することができる。従って、アプリケーション提供会社は、極めて重要なクライアントの個人情報に対するセキュリティ対策を自社で行いつつも、仮想マシンを利用してコンピュータ資源の導入コストや運用コストを低減させて、アプリケーションサービスの提供を行うことができる。
【0039】
このステップS12の処理において、企業内データベースサーバと通信が必要ではないと判定すると(ステップS12:NO)、仮想APサーバ13xは、内部処理を行う(ステップS13)。この内部処理として、仮想APサーバ13xは、クライアント端末装置1からの要求に応じて必要な処理を行う。
【0040】
一方、企業内データベースサーバと通信が必要であると判定すると(ステップS12:YES)、仮想APサーバ13xは、DBサーバ22に、受信した要求に対応するリクエストを送信する(ステップS14)。このとき、仮想APサーバ13xとDBサーバ22との間の通信経路のうちインターネットにおける通信経路は、VPN接続されていることから、仮想APサーバ13xは、DBサーバ22との間でセキュアな通信を行うことができる。なお、ここでは、仮想APサーバ13xとDBサーバ22との間でセキュアな通信を行うために、VPN接続を行うようにしているが、HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)プロトコルを用いて、セキュアな通信を行うようにしてもよい。
【0041】
DBサーバ22は、仮想APサーバ13xからインターネット2を介して送信されるリクエストを受信し、このリクエストに基づいた処理を行う(ステップS15)。例えば、受信したリクエストがアプリケーションサービスへの登録要求に応じたリクエストである場合、DBサーバ22は、受信したリクエストに含まれるクライアントのID、パスワード、住所、氏名等の個人情報をストレージ21に記憶して、クライアントの個人情報を登録する。また、受信したリクエストがアプリケーションサービスへの接続要求に応じたリクエストである場合、DBサーバ22は、受信したリクエストに含まれるクライアントのIDやパスワードなどの個人情報がストレージ21に記憶している個人情報と一致するかを判定する。
【0042】
DBサーバ22は、ステップS15で行った処理の結果をインターネット2を介して仮想APサーバ13xへ送信する(ステップS16)。例えば、アプリケーションサービスへの登録要求に応じたリクエストに対しては、クライアントの個人情報をストレージ21に登録が終了したことを示す情報を処理の結果として仮想APサーバ13xへ送信する。また、アプリケーションサービスへの接続要求に応じたリクエストに対しては、クライアントの個人情報がストレージ21に登録されていれば、認証OKを示す情報を処理の結果として仮想APサーバ13xへ送信する。一方、クライアントの個人情報がストレージ21に登録されていなければ、認証NGを示す情報を処理の結果として仮想APサーバ13xへ送信する。
【0043】
仮想APサーバ13xは、DBサーバ22からインターネット2を介して送信される処理の結果を受信する(ステップS17)。
仮想APサーバ13xは、ステップS13で行った内部処理の結果、又は、ステップS17で受信した処理の結果を、クライアント端末装置1へ送信する(ステップS18)。
【0044】
クライアント端末装置1は、仮想APサーバ13xからインターネット2を介して送信される処理の結果を受信し(ステップS19)、その後、その結果に基づいて所定の処理を行う(ステップS20)。
【0045】
[2.各構成要素の具体的構成]
次に、アプリケーションサービス提供システムを構成する各要素の構成及び動作についてそれぞれ説明する。
【0046】
[2.1.クライアント端末装置1の構成及び動作]
まず、クライアント端末装置1の具体的構成について説明する。このクライアント端末装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能である。クライアント端末装置1は、このクライアント端末装置1の使用者であるユーザ、すなわちクライアントが所有するものである。図3に示すように、クライアント端末装置1は、制御部41と、記憶部42と、通信部43と、操作部44と、情報取得部45と、提示部46とを備えており、これらは、システムバス47を介して相互に接続されている。
【0047】
制御部41は、クライアント端末装置1全体を制御するものであり、CPU(Central Processing Unit)、内部メモリなどから構成される。記憶部42は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置であり、例えば、フラッシュメモリから構成される。通信部43は、他の装置とインターネット2を介して通信するための通信インターフェイスである。操作部44は、各種設定入力を行うための操作部である。情報取得部45は、カメラやマイクから構成され、カメラから撮像した映像情報を出力し、マイクから取得した音声情報を出力する。提示部46は、液晶表示装置(LCD)やスピーカーから構成されており、映像情報や音声情報を再生する。
【0048】
以上のように構成されたクライアント端末装置1の動作について、図4のフローチャートに基づいて説明する。クライアント端末装置1での処理は、クライアント端末装置1において電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたときに開始され、繰り返し行われる。このとき、制御部41のCPUは、内部メモリに記憶したプログラムを実行状態として、制御部41としての機能を動作状態にする。
【0049】
まず、制御部41は、操作部44を介して処理の実行指示を受け付けた否かを判定する(ステップS21)。実行指示を受け付けていないと判定すると(ステップS21:NO)、制御部41は、実行指示を受け付けるまで、ステップS21の判定を繰り返す。一方、実行指示を受け付けたと判定すると(ステップS21:YES)、制御部41は、受け付けた指示に基づいた要求を、仮想APサーバ13xに送信する(ステップS22)。その後、制御部41は、ステップS22で送信したリクエストに対する処理結果を受信し(ステップS23)、この処理結果に基づいて所定の処理を行う(ステップS24)。
【0050】
[2.2.仮想APサーバ13xの構成及び動作]
仮想APサーバ13xは、上述したようにサーバシステム11上に形成される仮想マシンである。
【0051】
サーバシステム11は、図5に示すように、複数のブレードサーバ121〜12nと、ストレージ141〜14nと、サーバ管理装置15とから構成される。なお、ブレードサーバ121〜12nのうち何れかのブレードサーバ又は全てのブレードサーバを示す場合には、便宜上、ブレードサーバ12という。また、ストレージ141〜14nのうち何れかのストレージ又は全てのストレージを示す場合には、便宜上、ストレージ14という。
【0052】
各ブレードサーバ12は、CPU401と、ROM402と、RAM403と、入出力部404と、通信部405と、ハードディスク(HDD)406とを有しており、これらはシステムバス407を介して相互に接続されている。入出力部404は、サーバ管理装置15とのデータの送受信を行うための通信インターフェイスであり、通信部405は、クラウドサービス提供会社内の企業内ネットワークであるLANに接続するための通信インターフェイスである。
【0053】
このように構成されたブレードサーバ121〜12n上で、複数の仮想マシン131〜13nが動作する。なお、複数の仮想マシン131〜13nのうち何れかの仮想マシン又は全ての仮想マシンを示す場合には、便宜上、仮想マシン13という。
【0054】
図6にブレードサーバ12上のアーキテクチャを示す。同図に示すように、ブレードサーバ12では、そのベースプログラムであるメインOSが動作する。そしてメインOS上で仮想マシンを動作させるためのプログラムである仮想マシンプログラムが動作する。そして、この仮想マシンプログラム上で複数のゲストOSを動作することができるようにしている。各ゲストOS上では、1以上のアプリケーションプログラムを動作させることができる。
【0055】
サーバ管理装置15は、各ブレードサーバ12を制御及び管理する装置であり、ゲストOSに割り当てるリソース(CPU401,ROM402,RAM403,HDD406など)を管理する。例えば、サーバ管理装置15は、仮想マシン13によるリソースの利用率に応じて、仮想マシン13に割り当てるリソースを変更することができる。また、サーバ管理装置15は、アプリケーションプログラムの実行開始や実行停止などを制御することができる。さらに、各ブレードサーバ12と通信を行って、ゲストOSやアプリケーションプログラムの追加、削除又は更新を行うことができる。
【0056】
本実施形態では、ブレードサーバ12上で動作する仮想マシン13のうち、第1ブレードサーバ121上で動作する仮想マシンを仮想APサーバ13xとして用いる(図1参照)。
【0057】
ブレードサーバ12上で動作する仮想APサーバ13xは、図7に示すように、ブレードサーバ12のリソースを利用することで、制御部411、記憶部412、通信部413などとして機能し、アプリケーション用プログラムを実行する。制御部411は、受付手段、判定手段、第1処理手段、第2処理手段、第3処理手段等として機能する。
【0058】
次に、仮想APサーバ13xでの処理について、図8のフローチャートに基づいて具体的に説明する。仮想APサーバ13xでの処理は、サーバ管理装置15によりブレードサーバ上での仮想APサーバ13xの動作が許可されたときに開始する。
【0059】
まず、制御部411は、クライアント端末装置1から要求を受信したか否かを判定する(ステップS31)。この処理において、要求を受信していないと判定すると(ステップS31:NO)、制御部411は、クライアント端末装置1から要求を受信するまで、ステップS31の判定を繰り返す。一方、要求を受信したと判定した場合は(ステップS31:YES)、制御部411は、DBサーバ22との通信が必要か否かを判定する(ステップS32)。
【0060】
この処理において、DBサーバ22との通信が必要ではないと判定すると(ステップS32:NO)、制御部411は、受信した要求に応じた処理を、仮想APサーバ13x内部で実行する(ステップS33)。一方、DBサーバ22との通信が必要であると判定すると(ステップS32:YES)、制御部411は、クライアント端末装置1からの要求に応じてDBサーバ22に対するリクエストを生成し、生成したリクエストをDBサーバ22に送信する(ステップS34)。その後、制御部411は、ステップS34で送信したリクエストに対する処理結果を受信する(ステップS35)。この処理が終了したとき、又はステップS33の処理が終了すると、制御部411は、ステップS31で受信した要求を送信したクライアント端末装置1に対して、処理の結果(ステップS33における内部処理の結果、または、ステップS35で受信した処理結果)を送信する(ステップS36)。
【0061】
[2.3.DBサーバ22の構成及び動作]
次に、DBサーバ22の具体的構成について説明する。DBサーバ22は、一般のサーバコンピュータを適用可能である。DBサーバ22は、ユーザの企業によって管理される。図9に示すように、DBサーバ22は、制御部61と、記憶部62と、通信部63と、操作部を備えており、これらはシステムバス64を介して相互に接続されている。制御部61は、ストレージ21を制御する。記憶部62は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置である。通信部63は、DBサーバ22等と通信するための通信インターフェイスである。
【0062】
制御部61は、CPU(Central Processing Unit)、内部メモリなどから構成される。CPUは内部メモリに記憶されているプログラムを読み出して実行することによって、記憶処理手段等として機能する。
【0063】
次に、DBサーバ22での処理について、図10のフローチャートに基づいて具体的に説明する。DBサーバ22での処理は、DBサーバ22において電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたときに開始され、繰り返し行われる。このとき、制御部61のCPUは、内部メモリに記憶したプログラムを実行状態として、制御部61としての機能を動作状態する。
【0064】
まず、制御部61は、仮想APサーバ13xからリクエストを受信したか否かを判定する(ステップS41)。リクエストを受信していないと判定すると(ステップS41:NO)、制御部61は、リクエストを受信するまで、ステップS41の判定を繰り返す。一方、リクエストを受信したと判定した場合は(ステップS41:YES)、制御部61は、ステップS42において、リクエストの内容に基づいた処理を行う。このとき、必要に応じて、ストレージ21に記憶されている企業内秘匿情報が用いられる。その後、ステップS43において、制御部61は、ステップS41で受信したリクエストを送信した仮想APサーバ13xに対して、処理の結果を送信する。
【0065】
以上説明したとおり、クライアント端末装置1,仮想APサーバ13x,DBサーバ22のそれぞれが上述した処理を繰り返すことにより、アプリケーションサービス提供システムが動作する。
【0066】
[4.本実施形態を適用したWeb会議システム]
【0067】
次に、上述した構成を有するアプリケーションサービス提供システムを用いたWeb会議サービスのシステム(以下、「Web会議システム」)について具体的に説明する。このWeb会議システムは、ブレードサーバ12上で設定した仮想マシン13でWeb会議用のアプリケーションソフトウェアを動作させることにより実行されるものである。ここでは、一例として、アプリケーション提供会社が、第2ブレードサーバ122上で動作する仮想マシンをレンタルして、SIPサーバ13x2として用いて、Web会議サービスを提供するものとして説明する。
【0068】
以下の説明において、このWeb会議システムは、SIPサーバ13x2を介してクライアント端末装置1間で映像情報や音声情報の送受信を行うことによって、遠隔地間での会議を可能とするものである。以下においては、音声情報の処理については省略するが、映像情報の処理と同様の処理である。
【0069】
図1に示す構成において、クライアント端末装置1a〜1cを使用するクライアントA〜Cの3者がWeb会議を行う場合、クライアントAが使用するクライアント端末装置1aの提示部46には、クライアント端末装置1b及び1cで取得した映像情報が提示される。また、クライアントBが使用するクライアント端末装置1bの提示部46には、クライアント端末装置1a及び1cで取得した映像情報が提示される。また、クライアントCが使用するクライアント端末装置1cの提示部46には、クライアント端末装置1a及び1bで取得した映像情報が提示される。また、SIPサーバ13x2は、各クライアント端末装置1から取得した映像情報に基づいて、各クライアント端末装置1に送信するための映像情報を加工して送信する。
【0070】
また、ストレージ21には、クライアント端末装置1毎の情報が登録される第1テーブル(図12参照)と、開催される会議の開始時刻や終了時刻などの情報が登録される第2テーブル(図13参照)と、会議に参加するクライアント端末装置1の情報が登録される第3テーブル(図14参照)とが記憶される。Web会議を行うには、事前に主催者のクライアント端末装置1から後述の会議情報をストレージ21に登録する必要がある。また、Web会議に参加するためには、参加する各クライアント端末装置1において、参加準備の操作を行う必要がある。
【0071】
このWeb会議システムにおいては、以下の3つの処理が行われる。
(1)主催する会議をDBサーバ22に登録するための「登録処理」
(2)会議への参加手続きを行うための「参加準備処理」
(3)Web会議を行うための「会議処理」
以下、それぞれの処理について、具体的に説明する。
【0072】
[4.1.登録処理]
まず、登録処理について、図11を参照しつつ説明する。この処理は、会議を主催するクライアントのクライアント端末装置1と、SIPサーバ13x2と、DBサーバ22とで実行される。
【0073】
まず、クライアント端末装置1は、会議の主催者から操作部44を介して拠点ID及びパスワードの入力、及び、認証処理の実行指示を受け付ける。なお、拠点ID及びパスワードは予め記憶部42に記憶している場合には、操作部44を介しての入力は不要となる。そして、クライアント端末装置1は、受け付けた情報に基づいた認証処理の要求を、SIPサーバ13x2に送信する(ステップS51)。この要求には、認証処理の実行要求を示す情報と、拠点ID及びパスワードとが含まれる。なお、この際、拠点IDやパスワードに対して所定の暗号化処理を施してもよい。
【0074】
SIPサーバ13x2は、認証処理の要求を受け付けると、DBサーバ22に対し、認証処理の要求に応じた認証処理リクエストを送信する(ステップS52)。この認証処理リクエストには、クライアント端末装置1から送信された情報に加え、SIPサーバ13x2を識別するための識別情報が含まれている。
【0075】
DBサーバ22は、認証処理リクエストを受け付けると、認証処理を行う(ステップS53)。DBサーバ22は、ストレージ21に記憶している第1テーブル(図12)を参照して認証処理を行う。すなわち、この認証処理において、DBサーバ22は、受信した認証処理リクエストに含まれる拠点IDとパスワードとの組み合わせがストレージ21の第1テーブルに登録されているかどうかの照合を行う。拠点IDとパスワードの組み合わせが第1テーブルに登録されているとき、DBサーバ22は、認証が成功したと判定し、それ以外の場合には認証が失敗したと判定する。なお、ストレージ21に記憶される拠点IDやパスワードについても、クライアント端末装置1での処理と同様に、暗号化処理を施してもよく、この場合には照合の際に復号化することになる。
【0076】
ここで、ストレージ21に記憶されている第1テーブルのデータ構造について説明する。図12に示すように、第1テーブルには、クライアント端末装置1毎の設定として、「拠点ID」,「IPアドレス」,「パスワード」,「担当者名」,「電話番号」,「会社名」,「サービス内容」,「メールアドレス」が記憶されている。
【0077】
その後、SIPサーバ13x2は、認証処理リクエストを送信したSIPサーバ13x2に対し、認証結果を送信する(ステップS54)。認証結果には、認証が成功したか否かを示す情報、すなわち認証OKを示す情報または認証NGを示す情報が含まれる。
【0078】
SIPサーバ13x2は、DBサーバ22から認証結果を受信すると、ステップS52で受け付けた要求を送信したクライアント端末装置1に対し、その認証結果を送信する(ステップS55)。
【0079】
クライアント端末装置1は、認証OKを示す情報を含む認証結果を受信すると、会議の主催者から操作部44を介して主催する会議の情報(以下、「会議情報」という)の入力を受け付け、また、会議情報登録処理の実行処理を受け付ける。そして、受け付けた情報に基づいた会議情報登録処理の要求を、SIPサーバ13x2に送信する(ステップS56)。ここで、会議情報には、会議に参加するクライアントが使用するクライアント端末装置1の識別番号(以下、「会議参加拠点番号」という)、及び、会議の予定開始時間/予定終了時間が含まれている。また、会議に参加する各クライアント端末装置1上の表示レイアウトの設定情報(後述)についてもこの要求に含まれる。
【0080】
SIPサーバ13x2は、会議情報登録処理の要求を受け付けると、DBサーバ22に対し、SIPサーバ13x2の識別情報を含む登録処理リクエストを送信する(ステップS57)。DBサーバ22は、登録処理リクエストを受け付けると、会議情報登録処理を行う(ステップS58)。会議情報登録処理では、受信した登録処理リクエストに基づいて、会議情報をストレージ21の第2テーブル及び第3テーブルに登録する。すなわち、DBサーバ22は、登録処理リクエストに含まれる会議情報のうち、会議の予定開始時間と、予定終了時間と、会議情報登録処理の要求を行ったクライアント端末装置1の拠点ID(開催拠点ID)と、SIPサーバ13x2の識別情報とを、新たに発行した会議IDに関連づけて第2テーブルに登録する。また、DBサーバ22は、登録処理リクエストに含まれる会議情報のうち、会議参加拠点番号と設定情報とを新たに発行した会議IDに関連づけて第3テーブルに登録する。
【0081】
ここで、ストレージ21に記憶されている第2テーブル及び第3テーブルのデータ構造について説明する。図13に示すように、第2テーブルには、会議IDをキーとして、主催者のクライアント端末装置1を示す「開催拠点ID」,会議の開始時刻を示す「予定開始時間」,会議の終了時刻を示す「予定終了時刻」が登録されている。また、第2テーブルには、会議IDをキーとして、SIPサーバ13x2の識別情報も登録されるが、ここでは図示していない。また、図14に示すように、第3テーブルには、会議IDをキーとして、会議に参加するクライアント端末装置1の識別番号を示す「会議参加拠点ID」と「設定情報」が登録されている。設定情報は、表示する映像情報の品質(映像情報の圧縮方式など)や表示レイアウトの情報が含まれている。なお、本実施形態では、この設定情報も企業内秘匿情報として扱われる。
【0082】
ステップS58における会議情報の登録が終了すると、DBサーバ22は、SIPサーバ13x2に対し、会議情報の登録処理が完了したことを示す完了情報を送信する(ステップS59)。SIPサーバ13x2は、DBサーバ22から完了情報を受信すると、クライアント端末装置1に対し、その完了情報を送信する(ステップS60)。
【0083】
[4.2.参加準備処理]
次に、参加準備処理について、図15を参照しつつ説明する。この処理は、Web会議に参加するクライアントが使用する各クライアント端末装置1に対し、Web会議が行われることを通知し、かつ、各クライアント端末装置1の認証を行うための処理である。
【0084】
まず、SIPサーバ13x2は、DBサーバ22に対し、会議情報リクエストを送信する(ステップS61)。この会議情報リクエストには、SIPサーバ13x2の識別番号が含まれている。このステップS61の処理は、所定時間間隔ごとに、繰り返し行われる。
【0085】
DBサーバ22は、受信した会議情報リクエストに含まれるSIPサーバ13x2の識別番号に基づき、ストレージ21に記憶されている第1〜第3テーブルを参照して会議情報を抽出する(ステップS62)。具体的には、DBサーバ22は、第2テーブルを参照して、SIPサーバ13x2の識別番号と関連し、かつ現時刻から所定時間内に開始される会議IDを抽出する。DBサーバ22は、抽出した会議IDを検索キーとして、第3テーブルを参照して、会議参加拠点ID及び設定情報を抽出する。そして、DBサーバ22は、抽出した会議参加拠点IDを検索キーとして、第1テーブルを参照して、メールアドレスを抽出する。そして、DBサーバ22は、これら抽出した情報を会議情報とする。その後、DBサーバ22は、ステップS62で受信した会議情報リクエストを送信したSIPサーバ13x2に対し、抽出した会議情報を送信する(ステップS63)。
【0086】
SIPサーバ13x2は、会議情報を受信すると(ステップS64)、受信した会議情報に含まれる会議参加拠点番号のクライアント端末装置1に対して、会議が行われることを示す会議通知情報を電子メールで送信する(ステップS65)。
【0087】
会議通知情報を受信すると、クライアント端末装置1は、クライアントから操作部44を介して拠点ID及びパスワードの入力、及び、認証処理の実行指示を受け付ける。そして、受け付けた情報に基づいた認証処理の要求を、SIPサーバ13x2に送信する(ステップS66)。SIPサーバ13x2は、認証処理の要求を受け付けると、DBサーバ22に対し、認証処理リクエストを送信する(ステップS67)。
【0088】
DBサーバ22は、認証処理リクエストを受け付けると、認証処理を行う(ステップS68)。この認証処理は、ストレージ21に記憶している第1テーブルと第3テーブルを参照して行われる。すなわち、DBサーバ22は、認証処理リクエストに含まれる拠点IDとパスワードとの組み合わせが、第1テーブルに登録されているかを判定し、第1テーブルに登録されていれば、さらに、第3テーブルに拠点IDが登録されているかを判定する。いずれにも登録されているとき、DBサーバ22は、認証が成功したと判定し、それ以外の場合は、認証が失敗したと判定する。その後、DBサーバ22は、認証処理リクエストを送信したSIPサーバ13x2に対し、認証結果を送信する(ステップS69)。DBサーバ22は、認証が成功したときには、ストレージ21に記憶されている第3テーブルから認証処理リクエストに含まれる拠点IDに対応する設定情報を取得し、この設定情報を、認証OKを示す情報と共にSIPサーバ13x2へ送信する。
【0089】
SIPサーバ13x2は、DBサーバ22から認証結果を受信する(ステップS70)と、受信した認証結果に含まれる各クライアント端末装置1の拠点IDと設定情報との組み合わせを、記憶部412又はストレージ14に記憶する(ステップS71)。さらに、SIPサーバ13x2は、認証処理の要求を送信したクライアント端末装置1に対して、認証結果を送信する(ステップS72)。なお、クライアント端末装置1は、記憶部42に会議中フラグを有し、会議開示時刻になると、そのフラグがONとなるものとする。
【0090】
[4.3.会議処理]
次に、会議処理について、図16を参照しつつ説明する。この処理は、Web会議に参加する各クライアント端末装置1とSIPサーバ13x2との間で実行される処理である。なお、図16では、説明の便宜上、クライアント端末装置1aとクライアント端末装置1bの2つのクライアント端末装置を示しているが、実際は、会議に参加するクライアント端末装置1の数だけ同様の処理が、Web会議中繰り返し行われる。
【0091】
まず、クライアント端末装置1aは、情報取得部45を介して取得した映像情報をSIPサーバ13x2に送信する(ステップS75a)。同様に、クライアント端末装置1bは、情報取得部45を介して取得した映像情報をSIPサーバ13x2に送信する(ステップS75b)。
【0092】
SIPサーバ13x2は、各クライアント端末装置1から映像情報を受信する(ステップS76)と、受信した映像情報に基づいて、各クライアント端末装置1に送信する映像情報を生成する(ステップS77)。このとき、記憶部412又はストレージ14に記憶しているクライアント端末装置1毎の設定情報が参照される。その後、SIPサーバ13x2は、各クライアント端末装置1に対し、生成した映像情報を送信する(ステップS78)。
【0093】
SIPサーバ13x2から映像情報を受信したクライアント端末装置1a,1bは、それぞれ、受信した映像情報に基づいて、提示部46に映像を表示する(ステップS79a,S79b)。
【0094】
次に、以上のような動作を行うWeb会議システムにおける各要素ごとの具体的な処理について説明する。
【0095】
[4.4.クライアント端末装置1での処理]
まず、クライアント端末装置1での処理について、図17を参照しつつ具体的に説明する。
【0096】
まず、制御部41は、クライアントから操作部44を介して認証処理の実行指示を受け付けたか否かを判定する(ステップS81)。認証処理の実行指示を受け付けたと判定すると(ステップS81:YES)、制御部41は、SIPサーバ13x2に対し、認証処理の要求を送信する(ステップS82)。この登録処理の要求には、拠点ID及びパスワードが含まれる。その後、制御部41は、SIPサーバ13x2から認証結果を受信する(ステップS83)。
【0097】
一方、ステップS81において、認証処理の実行指示を受け付けていないと判定すると(ステップS81:NO)、制御部41は、ステップS84において、会議情報登録処理の実行指示を受け付けたか否かを判定する。会議登録処理の実行指示を受け付けたと判定すると(ステップS84:YES)、制御部41は、ステップS85において、SIPサーバ13x2に対し、受け付けた入力に基づいて会議情報登録処理の要求を送信する。その後、制御部41は、会議情報登録処理の要求に対し、SIPサーバ13x2から送信される会議情報の登録を示す完了情報を受信する(ステップS86)。
【0098】
一方、ステップS84において、会議情報登録処理の実行指示を受け付けていないと判定すると(ステップS84:NO)、制御部41は、会議開始の時刻であるか否かを判定する(ステップS87)。この処理において、制御部41は、会議開始の時刻となったときに、会議指示があったと判定する。この判定は、記憶部42に記憶されている会議中フラグがONとなっているかに基づいて行われる。会議開始の時刻ではないと判定すると(ステップS87:NO)、制御部41は、処理をステップS81に移行させ、ステップS81以降の処理を繰り返す。一方、会議開始の時刻であると判定すると(ステップS87:YES)、制御部41は、処理をステップS88に移行させる。
【0099】
ステップS88において、制御部41は、情報取得部45を介して取得した映像情報を、SIPサーバ13x2に送信する。また、制御部41は、SIPサーバ13x2から取得した映像情報を、提示部46に提示する(ステップS89)。その後、制御部41は、会議終了か否かを判定する(ステップS90)。この判定は、記憶部に記憶されている会議中フラグがOFFとなったか否かに基づいて行われる。会議終了ではないと判定すると(ステップS90:NO)、制御部41は、処理をステップS88に移行させ、ステップS88からの処理を繰り返す。一方、会議終了であると判定すると(ステップS90:YES)、制御部41は、処理をステップS81に移行させ、ステップS81からの処理を繰り返す。
【0100】
[4.5.SIPサーバ13x2における処理(その1)]
次に、SIPサーバ13x2における処理(その1)について、図18を参照しつつ具体的に説明する。この処理では、クライアント端末装置1から受信した要求に応じた処理を行う。
【0101】
まず、制御部411は、いずれかのクライアント端末装置1から認証処理の要求を受信したか否かを判定する(ステップS101)。認証処理の要求を受信したと判定すると(ステップS101:YES)、制御部411は、認証処理リクエストを、DBサーバ22に送信する(ステップS102)。この認証処理リクエストに対して、DBサーバ22から認証結果を受信する(ステップS103)と、制御部411は、その認証結果を、クライアント端末装置1に送信する(ステップS104)。
【0102】
一方、ステップS101において、認証処理の要求を受信していないと判定すると(ステップS101:NO)、制御部411は、会議情報登録処理の要求を受信したか否かを判定する(ステップS105)。会議登録処理の要求を受信したと判定すると(S105:YES)、制御部411は、登録処理リクエストを、DBサーバ22に送信する(ステップS106)。この登録処理リクエストに対して、DBサーバ22から処理結果を受信する(ステップS107)と、クライアント端末装置1にその処理結果を送信する(ステップS108)。
【0103】
一方、ステップS105において、会議情報登録処理の要求を受信していないと判定すると(ステップS105:NO)、制御部411は、映像情報を受信したか否かを判定する(ステップS109)。映像情報を受信していないと判定すると(ステップS109:NO)、制御部411は、処理をステップS101に移行させ、ステップS101以降の処理を繰り返す。一方、映像情報を受信したと判定すると(ステップS109:YES)、制御部411は、受信した映像情報を、記憶部412又はストレージ14に一時的に記憶する(ステップS110)。
【0104】
その後、制御部411は、ステップS109で受信した映像情報を送信したクライアント端末装置1に送信する映像情報を生成する(ステップS111)。この映像情報は、記憶部412又はストレージ14に記憶している他のクライアント端末装置1から受信した映像情報を加工して生成される。また、加工時には、記憶部412又はストレージ14に記憶している企業内秘匿情報の1つである設定情報が参照される。映像情報を生成すると、制御部411は、生成した映像情報を、クライアント端末装置1に送信する(ステップS112)。
【0105】
[4.6.SIPサーバ13x2における処理(その2)]
次に、SIPサーバ13x2における処理(その2)について、図19を参照しつつ具体的に説明する。この処理は、DBサーバ22に、現時刻から所定時間以内に開始される会議が存在するか否かを問い合わせる処理であり、所定時間間隔で繰り返し実行される。なお、上述した「SIPサーバ13x2における処理(その1)」と並列して実行される。
【0106】
まず、制御部411は、DBサーバ22に対し会議情報リクエストを送信する(ステップS121)。この会議情報リクエストに対する応答を受信すると(ステップS122)、制御部411は、受信した応答に会議情報が含まれているか否かを判定する(ステップS123)。なお、ステップS121で送信した会議情報リクエストに該当する会議情報が存在しない場合には、受信した応答には会議情報が含まれていない。
【0107】
会議情報が含まれていないと判定すると(S123:NO)、制御部411は、この処理を終了する。一方、会議情報が含まれていると判定すると(S123:YES)、制御部411は、会議情報に含まれる会議参加拠点番号のクライアント端末装置1に対して、会議が行われることを示す会議通知情報を電子メールで送信する(ステップS124)。
【0108】
[4.7.DBサーバ22における処理]
次に、DBサーバ22における処理について、図20を参照しつつ具体的に説明する。
【0109】
まず、DBサーバ22の制御部61は、SIPサーバ13x2から認証処理リクエストを受信したか否かを判定する(ステップS131)。認証処理リクエストを受信したと判定すると(ステップS131:YES)、制御部61は、認証処理を実行する(ステップS132)。この認証処理は、上述のステップS68の処理で説明したように、ストレージ21に記憶されている第1テーブルと第3テーブルを参照して行われる。この認証処理が終了すると、制御部61は、その認証結果をSIPサーバ13x2に送信する(ステップS133)。
【0110】
一方、ステップS131において、認証処理のリクエストを受信していないと判定すると(ステップS131:NO)、制御部61は、登録処理リクエストを受信したか否かを判定する(ステップS134)。登録処理リクエストを受信したと判定すると(ステップS134:YES)、制御部61は、上述のステップS58の処理で説明したように、会議情報をストレージ21の第2テーブル及び第3テーブルに登録する(ステップS135)。その後、制御部61は、会議情報の登録が完了したことを示す完了情報を、SIPサーバ13x2に送信する(ステップS136)。
【0111】
一方、ステップS134において、登録処理リクエストを受信していないと判定すると(ステップS134:NO)、制御部61は、会議情報リクエストを受信したか否かを判定する(ステップS137)。会議情報リクエストを受信していないと判定すると(ステップS137:NO)、制御部61は、処理をステップS131に移行させ、ステップS131以降の処理を繰り返す。一方、会議情報リクエストを受信したと判定すると(ステップS137:YES)、制御部61は、上述のステップS62で説明したように、ストレージ21に記憶されている第1〜第3テーブルを参照して会議情報を抽出する(ステップS138)。その後、制御部61は、抽出した会議情報を、SIPサーバ13x2に送信する(ステップS139)。
【0112】
なお、上述した各実施形態の説明は本発明の一例であり、本発明は上述の実施形態に限定されることはない。このため、上述した各実施形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【符号の説明】
【0113】
1 クライアント端末装置
11 サーバシステム
12 ブレードサーバ
13x 仮想APサーバ
13x2 SIPサーバ
14,21 ストレージ
22 データベースサーバ
23 管理端末装置
【特許請求の範囲】
【請求項1】
インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求を処理する仮想マシンと、企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内秘匿情報を記憶する企業内データベースサーバとを備えたアプリケーションサービス提供システムにおける前記仮想マシンであって、
前記インターネットを介してクライアント端末装置からの要求を受け付ける受付手段と、
前記クライアント端末装置からの要求に対して、前記企業内秘匿情報に基づく処理が必要か否かを判定する判定手段と、
前記判定手段により前記企業内秘匿情報に基づく処理が必要であると判定されると、企業内ネットワークに接続され、かつ前記企業内秘匿情報の記憶処理を行う企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理手段と、
前記判定手段により前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理手段と、を備えた仮想マシン。
【請求項2】
前記企業内データベースサーバは、前記クライアント端末装置のユーザの認証情報を記憶しており、
前記判定手段は、前記クライアント端末装置から認証情報を取得したとき、前記企業内秘匿情報に基づく処理が必要であると判定し、
前記第1処理手段は、前記取得された認証情報と一致する認証情報が前記企業内データベースサーバに記憶されているかどうかを前記企業内データベースサーバに問い合わせて、前記クライアント端末装置の認証処理を行うことを特徴とする請求項1に記載の仮想マシン。
【請求項3】
前記クライアント端末装置から前記企業内秘匿情報を受信したとき、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内データベースサーバに前記企業内秘匿情報を記憶する第3処理手段を備えたことを特徴とする請求項1又は2に記載の仮想マシン。
【請求項4】
前記第1処理手段は、前記クライアント端末装置から取得した情報を前記企業内秘匿情報に基づき加工して前記クライアント端末装置へ送信することを特徴とする請求項1〜3のいずれか1項に記載の仮想マシン。
【請求項5】
インターネットに接続されたサーバ上で動作する仮想マシンに、
前記インターネットを介してクライアント端末装置からの要求を受け付ける受付ステップと、
前記クライアント端末装置からの要求に対して、前記クライアント端末装置のユーザ情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する判定ステップと、
前記判定ステップにより前記企業内秘匿情報に基づく処理が必要であると判定されると、企業内ネットワークに接続され、かつ前記企業内秘匿情報を記憶した企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理ステップと、
前記判定ステップにより前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理ステップと、を実行させるプログラム。
【請求項6】
インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求に応じた処理を行う仮想マシンと、
企業内ネットワークに接続された企業内データベースサーバと、を備えたアプリケーションサービス提供システムにおいて、
前記企業内データベースサーバは、
前記クライアント端末装置のユーザ情報を含む企業内秘匿情報を記憶する記憶手段と、
前記仮想マシンからの要求に応じて、前記記憶手段に記憶した企業内秘匿情報の検索、変更又は削除、又は前記記憶手段への企業内秘匿情報の追加を行う記憶処理手段と、を備え、
前記仮想マシンは、
前記インターネットを介してクライアント端末装置からの要求を受け付ける受付手段と、
前記クライアント端末装置からの要求に対して、前記企業内秘匿情報に基づく処理が必要か否かを判定する判定手段と、
前記判定手段により前記企業内秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理手段と、
前記判定手段により前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理手段と、を備えたアプリケーションサービス提供システム。
【請求項7】
インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求に応じた処理を行う仮想マシンと、企業内ネットワークに接続された企業内データベースサーバとによるアプリケーションサービス提供方法であって、
前記仮想マシンが、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付ステップと、
前記仮想マシンが、前記クライアント端末装置からの要求に対して、当該クライアント端末装置のユーザ情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する判定ステップと、
前記仮想マシンが、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内データベースサーバに対して、前記クライアント端末装置からの要求に応じた処理を行う要求ステップと、
前記企業内データベースサーバが、前記仮想マシンからの要求に応じて、前記企業内秘匿情報を記憶した記憶手段から前記企業内秘匿情報の検索、変更又は削除、又は前記記憶手段への企業内秘匿情報の追加を行う記憶処理ステップと、
前記仮想マシンが、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要ではない判定されると、前記クライアント端末装置からの要求に応じた処理を行う処理ステップと、有することを特徴とするアプリケーションサービス提供方法。
【請求項1】
インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求を処理する仮想マシンと、企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内秘匿情報を記憶する企業内データベースサーバとを備えたアプリケーションサービス提供システムにおける前記仮想マシンであって、
前記インターネットを介してクライアント端末装置からの要求を受け付ける受付手段と、
前記クライアント端末装置からの要求に対して、前記企業内秘匿情報に基づく処理が必要か否かを判定する判定手段と、
前記判定手段により前記企業内秘匿情報に基づく処理が必要であると判定されると、企業内ネットワークに接続され、かつ前記企業内秘匿情報の記憶処理を行う企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理手段と、
前記判定手段により前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理手段と、を備えた仮想マシン。
【請求項2】
前記企業内データベースサーバは、前記クライアント端末装置のユーザの認証情報を記憶しており、
前記判定手段は、前記クライアント端末装置から認証情報を取得したとき、前記企業内秘匿情報に基づく処理が必要であると判定し、
前記第1処理手段は、前記取得された認証情報と一致する認証情報が前記企業内データベースサーバに記憶されているかどうかを前記企業内データベースサーバに問い合わせて、前記クライアント端末装置の認証処理を行うことを特徴とする請求項1に記載の仮想マシン。
【請求項3】
前記クライアント端末装置から前記企業内秘匿情報を受信したとき、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内データベースサーバに前記企業内秘匿情報を記憶する第3処理手段を備えたことを特徴とする請求項1又は2に記載の仮想マシン。
【請求項4】
前記第1処理手段は、前記クライアント端末装置から取得した情報を前記企業内秘匿情報に基づき加工して前記クライアント端末装置へ送信することを特徴とする請求項1〜3のいずれか1項に記載の仮想マシン。
【請求項5】
インターネットに接続されたサーバ上で動作する仮想マシンに、
前記インターネットを介してクライアント端末装置からの要求を受け付ける受付ステップと、
前記クライアント端末装置からの要求に対して、前記クライアント端末装置のユーザ情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する判定ステップと、
前記判定ステップにより前記企業内秘匿情報に基づく処理が必要であると判定されると、企業内ネットワークに接続され、かつ前記企業内秘匿情報を記憶した企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理ステップと、
前記判定ステップにより前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理ステップと、を実行させるプログラム。
【請求項6】
インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求に応じた処理を行う仮想マシンと、
企業内ネットワークに接続された企業内データベースサーバと、を備えたアプリケーションサービス提供システムにおいて、
前記企業内データベースサーバは、
前記クライアント端末装置のユーザ情報を含む企業内秘匿情報を記憶する記憶手段と、
前記仮想マシンからの要求に応じて、前記記憶手段に記憶した企業内秘匿情報の検索、変更又は削除、又は前記記憶手段への企業内秘匿情報の追加を行う記憶処理手段と、を備え、
前記仮想マシンは、
前記インターネットを介してクライアント端末装置からの要求を受け付ける受付手段と、
前記クライアント端末装置からの要求に対して、前記企業内秘匿情報に基づく処理が必要か否かを判定する判定手段と、
前記判定手段により前記企業内秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内秘匿情報に基づき前記要求に対する処理を行う第1処理手段と、
前記判定手段により前記企業内秘匿情報に基づく処理が必要ではないと判定されると、前記要求に対する処理を実行する第2処理手段と、を備えたアプリケーションサービス提供システム。
【請求項7】
インターネットに接続されたサーバ上で動作し、クライアント端末装置からの要求に応じた処理を行う仮想マシンと、企業内ネットワークに接続された企業内データベースサーバとによるアプリケーションサービス提供方法であって、
前記仮想マシンが、前記インターネットを介してクライアント端末装置からの要求を受け付ける受付ステップと、
前記仮想マシンが、前記クライアント端末装置からの要求に対して、当該クライアント端末装置のユーザ情報を含む企業内秘匿情報に基づく処理が必要か否かを判定する判定ステップと、
前記仮想マシンが、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバとの間でセキュアな通信を行って、前記企業内データベースサーバに対して、前記クライアント端末装置からの要求に応じた処理を行う要求ステップと、
前記企業内データベースサーバが、前記仮想マシンからの要求に応じて、前記企業内秘匿情報を記憶した記憶手段から前記企業内秘匿情報の検索、変更又は削除、又は前記記憶手段への企業内秘匿情報の追加を行う記憶処理ステップと、
前記仮想マシンが、前記判定ステップにより前記企業内秘匿情報に基づく処理が必要ではない判定されると、前記クライアント端末装置からの要求に応じた処理を行う処理ステップと、有することを特徴とするアプリケーションサービス提供方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2011−76504(P2011−76504A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−229104(P2009−229104)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願日】平成21年9月30日(2009.9.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]