アプリケーションサービス提供システム及びアプリケーションサービス提供方法
【課題】企業内秘匿情報のセキュリティ対策をアプリケーション提供会社側で行わせつつ、クラウドサービスの利用の促進を図ることできるアプリケーションサービス提供システムを提供すること。
【解決手段】企業内ネットワークに接続され、クライアント端末装置からの要求を処理する企業内サーバと、企業内ネットワークに接続され、クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバと、インターネットに接続されたサーバ上で動作する仮想マシンとを備え、企業内サーバは、クライアント端末装置からの要求に対して、秘匿情報に基づく処理が必要でないと判定されると、仮想マシンに対してクライアント端末装置からの要求に対する処理を要求する。
【解決手段】企業内ネットワークに接続され、クライアント端末装置からの要求を処理する企業内サーバと、企業内ネットワークに接続され、クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバと、インターネットに接続されたサーバ上で動作する仮想マシンとを備え、企業内サーバは、クライアント端末装置からの要求に対して、秘匿情報に基づく処理が必要でないと判定されると、仮想マシンに対してクライアント端末装置からの要求に対する処理を要求する。
【発明の詳細な説明】
【技術分野】
【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要求処理手段と、前記第1要求処理手段による処理結果、及び前記仮想マシンから取得した処理結果を、前記要求を行ったクライアント端末装置へ送信する処理結果送信手段と、を備え、前記仮想マシンは、前記企業内サーバからの要求を受け付けるサーバ受付手段と、前記クライアント端末装置からの要求に対する処理を実行する処理手段と、前記処理手段による処理結果を前記企業内サーバへ送信する処理結果送信手段と、を備えることとした。
【0015】
また、請求項2に係る発明は、請求項1に記載のアプリケーションサービス提供システムであって、インターネットに接続され、前記仮想マシンと情報の送受信を行う企業外データベースサーバを備え、前記仮想マシンの前記処理手段は、前記クライアント端末装置からの要求に対して、前記企業外データベースサーバに記憶した情報に基づく処理が必要か否かを判定し、前記企業外データベースサーバに記憶した情報に基づく処理が必要であると判定されると、前記企業外データベースサーバと情報を送受信して前記要求に対する処理を行うこととした。
【0016】
また、請求項3に係る発明は、請求項1又は2に記載のアプリケーションサービス提供システムであって、前記ユーザに関する情報には、当該ユーザの認証情報を含み、前記仮想マシンの前記処理手段は、前記クライアント端末装置から前記ユーザの認証情報が取得したとき、前記秘匿情報に基づく処理が必要であると判定し、前記取得された認証情報と一致する認証情報が前記企業内データベースサーバに記憶されているかどうかを前記企業内データベースサーバに問い合わせて、前記クライアント端末装置の認証処理を行うこととした。
【0017】
また、請求項4に係る発明は、請求項1〜3のいずれか1項に記載のアプリケーションサービス提供システムであって、前記ユーザに関する情報には、当該ユーザのIDを含み、前記企業内サーバの第2要求処理手段は、前記要求を行ったクライアント端末装置を使用しているユーザのIDを前記要求に応じた処理要求情報とともに前記仮想マシンに送信し、その後、前記仮想マシンから前記要求に応じた処理結果を前記ユーザのIDとともに取得すると、当該ユーザのIDから前記取得した処理結果を送信するクライアント端末装置を決定し、前記仮想マシンの処理結果送信手段は、前記処理要求情報に応じた処理結果を当該処理要求情報に対応するユーザのIDとともに送信することとした。
【0018】
また、請求項5に係る発明は、企業内ネットワークに接続され、クライアント端末装置からの要求を処理する企業内サーバと、前記企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバと、インターネットに接続されたサーバ上で動作する仮想マシンと、を備えたアプリケーションサービス提供システムにおけるアプリケーションサービス提供方法であって、前記企業内サーバが、前記クライアント端末装置からの要求を受け付ける受付ステップと、前記企業内サーバが、前記クライアント端末装置からの要求に対して、前記秘匿情報に基づく処理が必要か否かを判定する判定ステップと、前記企業内サーバが、前記判定ステップにより前記秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバから前記秘匿情報を取得して前記要求に対する処理を行う第1要求処理ステップと、前記企業内サーバが、前記判定ステップにより前記秘匿情報に基づく処理が必要でないと判定されると、前記仮想マシンに対して前記要求に対する処理を要求する第2要求処理ステップと、前記仮想マシンが、前記企業内サーバからの要求を受け付けるサーバ受付ステップと、前記仮想マシンが、前記クライアント端末装置からの要求に対する処理を実行する処理ステップと、前記仮想マシンが、前記処理ステップによる処理結果を前記企業内サーバへ送信する処理結果送信ステップと、前記企業内サーバが、前記処理ステップによる処理結果を受信する受信ステップと、前記企業内サーバが、前記受信ステップで取得した処理結果を前記要求を行ったクライアント端末装置へ送信する処理結果送信ステップと、を有することとした。
【発明の効果】
【0019】
本発明によれば、クラウドサービスの利用者であるアプリケーション提供会社は、アプリケーションサービスを提供するときに、インターネットを介して接続されたサーバ上で動作する仮想マシンを利用してコンピュータ資源の導入コストや運用コストを低減しつつ、企業内秘匿情報を含む情報を、クラウドサービス提供会社に預けることなく、自社内でセキュリティ対策を行うことが可能となる。
【図面の簡単な説明】
【0020】
【図1】本発明の一実施形態に係るアプリケーションサービス提供システムの構成を示す図である。
【図2】アプリケーションサービス提供システムの概略動作を示す図である。
【図3】図1に示すクライアント端末装置の構成を示す図である。
【図4】図1に示すクライアント端末装置の処理の流れを示す図である。
【図5】図1に示すフロントエンドサーバの構成を示す図である。
【図6】図1に示すフロントエンドサーバの処理の流れを示す図である。
【図7】図1に示すDBサーバの構成を示す図である。
【図8】図1に示すDBサーバの処理の流れを示す図である。
【図9】図1に示すサーバシステムの構成を示す図である。
【図10】図9に示すブレードサーバ上のアーキテクチャを示す図である。
【図11】図1に示す仮想APサーバの構成を示す図である。
【図12】図1に示す仮想DBサーバの構成を示す図である。
【図13】図1に示す仮想APサーバの処理の流れを示す図である。
【図14】図1に示す仮想DBサーバの処理の流れを示す図である。
【図15】Web会議サービスのシステムの登録処理の流れを示す図である。
【図16】テーブルのデータ構造の一例を示す図である。
【図17】設定情報テーブルのデータ構造の一例を示す図である。
【図18】Web会議サービスのシステムの参加準備処理の流れを示す図である。
【図19】Web会議サービスのシステムの会議処理の流れを示す図である
【図20】クライアント端末装置の処理の流れを示す図である。
【図21】フロントエンドサーバの処理(その1)の流れを示す図である。
【図22】フロントエンドサーバの処理(その2)の流れを示す図である。
【図23】DBサーバの処理の流れを示す図である。
【図24】仮想APサーバの処理の流れを示す図である。
【図25】仮想DBサーバの処理の流れを示す図である。
【発明を実施するための形態】
【0021】
[1.アプリケーションサービス提供システムの概要]
本実施形態のアプリケーションサービス提供システムは、インターネット経由でアプリケーションをクライアントに提供しようとする企業であるアプリケーション提供会社が、クラウドサービスを利用して、アプリケーションサービスをクライアントに提供することができるアプリケーションサービス提供システムである。
【0022】
このように、アプリケーション提供会社がクラウドサービスを利用して提供するアプリケーションサービスにおいては、このアプリケーションサービスを利用するクライアントは、クラウドサービスであることを意識することはない。クライアントは、通常のアプリケーションサービスと同様に、アプリケーション提供会社からのアプリケーションサービスを受けることなる。なお、アプリケーションサービスとしては、例えば、後述するWeb会議サービス、データベースサービス、eラーニングサービス、画像配信サービスなどがある。
【0023】
クラウドサービスを提供する企業であるクラウドサービス提供会社は、アプリケーションのプラットフォームとなる仮想マシンをアプリケーション提供会社にレンタルする。アプリケーション提供会社は、仮想マシン上でアプリケーションプログラムを実行させ、クライアントにアプリケーションサービスを提供する。なお、以下においては、アプリケーション提供会社からアプリケーションサービスの提供を受けるクライアントの端末装置をクライアント端末装置と呼ぶ。
【0024】
図1に示すように、クラウドサービス提供会社側のコンピュータシステム3は、インターネット2にLAN側入出力ポートを接続したルータ10と、ルータ10のLAN側入出力ポートに接続されたサーバシステム11と、ストレージシステム16とを有している。
【0025】
このサーバシステム11は、後述するようにインターネットに接続された複数のブレードサーバで構成され、これらのブレードサーバ上で多数の仮想マシンを動作させることができるようにしている。ここでは、多数の仮想マシンのうち、アプリケーション提供会社は二つの仮想マシンを用いて、クライアントにアプリケーションサービスを提供する。一つは、アプリケーションサーバ(以下、「APサーバ」とする)として用いる仮想マシンであり、もう一つは、データベースサーバ(以下、「DBサーバ」という)として用いる仮想マシンである。図1に示す例では、第1ブレードサーバ121上で動作する仮想マシンを仮想APサーバ13x1として用い、第7ブレードサーバ127上で動作する仮想マシンを仮想DBサーバ13x2として用いている。
【0026】
また、ストレージシステム16を構成する多数のストレージのうち一つのストレージを、仮想DBサーバ13x2が記憶制御を行うストレージ14xとして用いる。また、アプリケーション提供会社は、このストレージ14xを企業外データベースとして用いる。仮想DBサーバ13x2は、仮想DBサーバ13x2からの要求に応じて、ストレージ14xへのデータの記憶やストレージ14xに記憶しているデータの読み出しを行う。
【0027】
アプリケーション提供会社のコンピュータシステム4は、ルータ20と、企業内サーバの一例であるフロントエンドサーバ21と、ストレージ22と、企業内データベースサーバの一例であるDBサーバ23と、管理端末装置24とを有しており、これらはアプリケーション提供会社の企業内ネットワークであるLANで接続されている。DBサーバ23は、外部からの要求に応じて、ストレージ22へのデータの記憶やストレージ22に記憶しているデータの読み出しを行う。なお、管理端末装置24は、DBサーバ23を介してストレージ22へのデータの追加やデータの更新を行うことができる装置であり、アプリケーション提供会社は管理端末装置24を操作してストレージ22のデータの追加、削除、更新などを行って、データを管理することができる。
【0028】
フロントエンドサーバ21は、インターネット2を介して、仮想APサーバ13x1との間で通信することができるようになっている。仮想APサーバ13x1とコンピュータシステム4内ネットワークとの間は、VPN(Virtual Private Network)接続によりセキュアな通信が確立される。すなわち、ルータ20はVPN機能を有し、また、仮想APサーバ13x1には、VPN接続用のプログラムが記憶されており、仮想APサーバ13x1はルータ20とVPN接続を行っている。
【0029】
アプリケーション提供会社のアプリケーションサービスには、クライアント端末装置1a,1b,1c,…の使用者が加入しており、各クライアント端末装置1a,1b,1c,…からフロントエンドサーバ21にアクセスしてアプリケーション提供会社のアプリケーションサービスを受ける。なお、クライアント端末装置1a,1b,1c,…のうち何れかのクライアント端末装置又は全てのクライアント端末装置を示す場合には、便宜上、クライアント端末装置1という。
【0030】
フロントエンドサーバ21に宛てに、クライアント端末装置1からインターネット2経由での通信パケットがフロントエンドサーバ21宛てに送信されたとき、ルータ20は、クライアント端末装置1からの通信パケットをフロントエンドサーバ21に中継する。また、フロントエンドサーバ21からクライアント端末装置1への通信パケットもルータ20によりクライアント端末装置1へ中継される。クライアント端末装置1は、フロントエンドサーバ21との間で、提供を受けるサービスに応じた通信パケットを送受信することで、アプリケーションサービスの提供を受ける。
【0031】
本実施形態に係るアプリケーションサービス提供システムでは、クライアント端末装置1からアクセスされたフロントエンドサーバ21は、必要に応じてDBサーバ23や仮想APサーバ13x1と通信して、クライアント端末装置1からの要求に応じた処理を行うようにしている。
【0032】
また、DBサーバ23及びストレージ22は、共にアプリケーション提供会社の企業内ネットワークに配置されており、ストレージ22に、企業秘匿情報を含むアプリケーション用の情報が記憶される。企業秘匿情報には、クライアントの個人情報やアプリケーション提供会社の社内の機密情報などの重要な情報が含まれる。従って、企業秘匿情報をアプリケーション提供会社側の企業内ネットワーク内で管理することができ、クラウドサービス提供会社に預けることなく、アプリケーション提供会社側で企業秘匿情報を管理することができる。
【0033】
しかも、DBサーバ23に加え、フロントエンドサーバ21を社内に配置しているため、企業秘匿情報などのセキュリティデータは、アプリケーション提供会社の企業内ネットワークとクライアント端末装置1との間のみ送受信される。
【0034】
従って、アプリケーション提供会社は、社内のセキュリティ管理を厳密に行うことにより、クラウドサービス提供会社側のセキュリティ対策を気にすることなく、クラウドサービスを利用することが可能となる。そのため、アプリケーション提供会社は、セキュリティ管理を厳密に行いつつも、クラウドサービスを利用して、比較的低コストで、アプリケーションサービスを運用することができる。
【0035】
一方、セキュリティ管理が必要ない処理は、仮想APサーバ13x1や仮想DBサーバ13x2で処理するようにしている。すなわち、フロントエンドサーバ21は、クライアント端末装置1の要求を受け付けたとき、仮想APサーバ13x1と通信してセキュリティ管理が必要ない処理を仮想APサーバ13x1に実行させる。このとき、仮想APサーバ13x1は、必要に応じて仮想DBサーバ13x2に対してストレージ14xへのデータの記憶やストレージ14xからのデータの読み出しを行って、処理を実行する。
【0036】
従って、仮想APサーバ13x1や仮想DBサーバ13x2に負荷の重い処理を行わせ、フロントエンドサーバ21やDBサーバ23での処理負荷を抑えることで、社内に配置するコンピュータ資源の規模を抑えることができる。これにより社内のコンピュータ資源の導入コストや運用コストを低減させることができる。
【0037】
しかも、処理負荷に応じて仮想APサーバ13x1や仮想DBサーバ13x2のリソース(CPUやメモリなど)を増減させるようにしている。そのため、リソースの利用量に応じてサービス料金が変わるようなクラウドサービスの場合、アプリケーション提供会社は、クラウドサービスの利用料金を有効に抑えることができる。
【0038】
以上のように構成されるアプリケーションサービス提供システムの概略動作について図2を参照して説明する。
【0039】
図2に示すように、まず、アプリケーションサービスのクライアントは、クライアント端末装置1を用いてアプリケーションサービスを受けるための所定の操作を行う。この操作を受けてクライアント端末装置1は、インターネット2を介して、フロントエンドサーバ21に対し、操作に応じた要求を行う(ステップS11)。
【0040】
クライアント端末装置1から要求を受け付けると、フロントエンドサーバ21は、仮想APサーバ13x1と通信が必要か否かを判定する(ステップS12)。すなわち、フロントエンドサーバ21は、クライアント端末装置1からの要求が、仮想APサーバ13x1によって処理されるべきであるか否かを判定する。
【0041】
このステップS12の処理において、仮想APサーバ13x1と通信が必要であると判定すると(ステップS12:YES)、フロントエンドサーバ21は、仮想APサーバ13x1に、受信した要求に対応するリクエストを送信する。このとき、フロントエンドサーバ21と仮想APサーバ13x1との間の通信経路のうちインターネット2における通信経路は、VPN接続されていることから、フロントエンドサーバ21は、仮想APサーバ13x1との間でセキュアな通信を行うことができる。なお、ここでは、仮想APサーバ13x1とDBサーバ23との間でセキュアな通信を行うために、VPN接続を行うようにしているが、HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)プロトコルを用いて、セキュアな通信を行うようにしてもよい。
【0042】
次に、仮想APサーバ13x1は、フロントエンドサーバ21からインターネット2を介して送信されるリクエストを受信すると、公開情報にアクセスが必要か否かを判定する(ステップS13)。公開情報とは企業内秘匿情報以外の情報である。公開情報にアクセスが必要であると判定すると(ステップS13:YES)、仮想APサーバ13x1は、仮想DBサーバ13x2に、リクエストに応じた問い合わせを行う(ステップS14)。仮想DBサーバ13x2は、仮想APサーバ13x1からの問い合わせに応じてストレージ14xへのデータの記憶やストレージ14xからのデータの読み出しを行って、その記憶処理又は読み出し処理の結果を仮想APサーバ13x1へ送信する(ステップS15)。仮想APサーバ13x1は、仮想DBサーバ13x2から取得した結果に基づいて処理を行い(ステップS16)、その処理結果をフロントエンドサーバ21へ送信する(ステップS17)。なお、仮想APサーバ13x1は、必要に応じて仮想DBサーバ13x2から取得した結果をそのままフロントエンドサーバ21へ送信する。
【0043】
一方、フロントエンドサーバ21は、仮想APサーバ13x1と通信が必要ではないと判定したとき(ステップS12:NO)、又は、要求した処理の結果が仮想APサーバ13x1から返信されたとき、企業内秘匿情報にアクセスが必要か(すなわち、企業内秘匿情報に基づく処理が必要か)否かを判定する(ステップS18)。例えば、クライアント端末装置1からのリクエストが、アプリケーションサービスへの登録要求や接続要求であり、クライアントのパスワード、ID、氏名、住所、職業などの個人情報を含むものであるとき、企業内秘匿情報にアクセスが必要であると判定する。ここで、アプリケーションサービスへの登録要求とは、クライアントがクライアント端末装置1を用いてアプリケーションサービスを利用するために事前に行う要求であり、クライアントのパスワード、ID、氏名、住所、職業などの個人情報を登録するための要求である。また、アプリケーションサービスへの接続要求とは、クライアントがクライアント端末装置1を用いてアプリケーションサービスを利用する際に行う要求であり、クライアントのパスワード及びIDを含む。仮想APサーバ13x1は、この接続要求に含まれるクライアントのパスワード及びIDによりクライアントの認証を行う。この処理において、企業内秘匿情報にアクセスが必要であると判定すると(ステップS18:YES)、フロントエンドサーバ21は、DBサーバ23に、問い合わせを行う(ステップS19)。次に、DBサーバ23は、フロントエンドサーバ21からの問い合わせに応じてストレージ22へのデータの記憶やストレージ22からのデータの読み出しを行って、その記憶処理又は読み出し処理の結果をフロントエンドサーバ21へ送信する(ステップS20)。
【0044】
次に、フロントエンドサーバ21は、ステップS21の処理を実行する。すなわち、ステップS20の処理が終了したとき、フロントエンドサーバ21は、DBサーバ23から取得した結果に基づいて処理を行う。また、企業内秘匿情報にアクセスが必要でないと判定したときステップS18:NO)、フロントエンドサーバ21は、クライアント端末装置1の要求に応じた処理を行う。このとき、フロントエンドサーバ21は、仮想DBサーバ13x2から仮想APサーバ13x1を介して取得した結果がある場合には、この結果に基づく処理を行う。このとき、仮想DBサーバ13x2から仮想APサーバ13x1を介して取得した結果がある場合には、この結果とDBサーバ23から取得した結果とに基づく処理を行う。
【0045】
その後、フロントエンドサーバ21は、ステップS21で行った処理の結果を要求元のクライアント端末装置1へ送信し(ステップS22)、クライアント端末装置1はフロントエンドサーバ21から送信される結果を受信する(ステップS23)。
【0046】
[2.各構成要素の構成及び動作]
次に、アプリケーションサービス提供システムを構成する各要素の構成及び動作についてそれぞれ説明する。
【0047】
[2.1.クライアント端末装置1の構成及び動作]
まず、クライアント端末装置1の構成について説明する。このクライアント端末装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能である。クライアント端末装置1は、このクライアント端末装置1のユーザであるクライアントが所有するものである。図3に示すように、クライアント端末装置1は、制御部101と、記憶部102と、通信部103と、操作部104と、情報取得部105と、提示部106とを備えており、これらはシステムバス107を介して相互に接続されている。
【0048】
制御部101は、クライアント端末装置1全体を制御するものであり、CPU(Central Processing Unit)、内部メモリなどから構成される。記憶部102は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置であり、例えば、フラッシュメモリから構成される。通信部103は、他の装置とインターネット2を介して通信するための通信インターフェイスである。操作部104は、各種設定入力を行うための操作部である。情報取得部105は、カメラやマイクから構成され、カメラから撮像した映像情報を出力し、マイクから取得した音声情報を出力する。提示部106は、液晶表示装置などからなるディスプレイやスピーカーから構成されており、映像情報や音声情報を再生する
【0049】
以上のように構成されたクライアント端末装置1の動作について説明する。この処理は、クライアント端末装置1の制御部101が実行する処理である。図4に示すように、アプリケーションサービスのクライアントであるユーザが、操作部104を操作してアプリケーションサービスを受けるための所定の操作を行うと、この操作を受けて制御部101は、通信部103を介して、フロントエンドサーバ21に対し、操作部104への操作に応じた要求を行う(ステップS30)。その後、制御部101は、ステップS30で行った要求に対してフロントエンドサーバ21から送信される結果を通信部103を介して受信し、その結果に応じて提示部106への表示や制御を行う(ステップS31)。以降、制御部101は、ステップS30,S31の処理を繰り返す。
【0050】
[2.2.フロントエンドサーバ21の構成及び動作]
次に、フロントエンドサーバ21の構成及び動作について説明する。フロントエンドサーバ21は、一般のサーバコンピュータを適用可能である。フロントエンドサーバ21は、ユーザの企業によって管理される。図5に示すように、フロントエンドサーバ21は、制御部201と、記憶部202と、通信部203と、操作部204とを備え、これらはシステムバス205を介して相互に接続されている。
【0051】
制御部201は、フロントエンドサーバ21全体を制御する。記憶部202は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置である。通信部203は、アプリケーション提供企業の社内のネットワークであるLANに接続され、他の装置と通信するための通信インターフェイスである。操作部204は、各種設定入力を行うための操作部である。
【0052】
制御部201は、CPU、内部メモリなどから構成される。CPUは内部メモリに記憶されているプログラムを読み出して実行することによって、クライアント受付手段、判定手段、第1要求処理手段、第2要求処理手段、処理結果送信手段、課金手段等として機能する。
【0053】
次に、フロントエンドサーバ21での処理を説明する。この処理は、フロントエンドサーバ21の制御部201が実行する処理である。図6に示すように、制御部201は、クライアント端末装置1から要求を受信すると(ステップS40)、仮想APサーバ13x1と通信が必要か否かを判定する(ステップS41)。この処理において、仮想APサーバ13x1と通信が必要であると判定すると(ステップS41:YES)、制御部201は、仮想APサーバ13x1に、受信した要求に対応するリクエストを送信する(ステップS42)。このリクエストに対する結果を仮想APサーバ13x1から受信したとき(ステップS43)、又は、仮想APサーバ13x1と通信が必要ではないと判定したとき(ステップS41:NO)、制御部201は、公開情報にアクセスが必要か否かを判定する(ステップS44)。そして、公開情報へのアクセスの必要がないと判断すると(ステップS44:NO)、制御部201は、処理をステップS47に移行させる。一方、公開情報にアクセスが必要と判断すると(ステップS44:YES)、制御部201は、DBサーバ23にアクセスし(ステップS45)、その結果をDBサーバ23から受信する(ステップS46)。その後、制御部201は、仮想APサーバ13x1による処理の結果やDBサーバ23から受信した結果などに基づいて、クライアントの要求に対する最終的な処理結果を生成して、クライアント端末装置1へ送信する(ステップS47)。以降、制御部201は、ステップS40〜S47までの処理を繰り返す。
【0054】
また、フロントエンドサーバ21は、クライアント端末装置1ごとの仮想APサーバ13x1及び仮想DBサーバ13x2の利用履歴に基いて、課金処理を実行する。
【0055】
[2.3.DBサーバ23の構成及び動作]
次に、企業内データベースサーバであるDBサーバ23の構成について説明する。DBサーバ23は、一般のサーバコンピュータを適用可能である。DBサーバ23は、ユーザの企業によって管理される。図7に示すように、DBサーバ23は、制御部301と、記憶部302と、通信部303と、操作部304とを備えており、これらはシステムバス305を介して相互に接続されている。
【0056】
制御部301は、DBサーバ23全体を制御する。記憶部302は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置である。また、記憶部302には企業内秘匿情報が記憶される。通信部303は、アプリケーション提供企業内のネットワークであるLANに接続され、他の装置と通信するための通信インターフェイスである。ストレージ22には企業内秘匿情報が記憶されおり、DBサーバ23は、ストレージ22から企業内秘匿情報を読み出したり、ストレージ22へ企業内秘匿情報を記憶したりする。
【0057】
制御部301は、CPU、内部メモリなどから構成される。CPUは内部メモリに記憶されているプログラムを読み出して実行することによって、記憶処理手段等として機能する。
【0058】
次に、DBサーバ23での処理を説明する。この処理は、DBサーバ23の制御部301が実行する処理である。図8に示すように、制御部301は、フロントエンドサーバ21からのリクエストを受信すると(ステップS50)、次に、ストレージ22にアクセスして、フロントエンドサーバ21からの要求に応じてストレージ22への企業内秘匿情報の記憶やストレージ22からの企業内秘匿情報の読み出しなどを行う(ステップS51)。その後、制御部301は、ステップS51で行った記憶処理又は読み出し処理の結果をフロントエンドサーバ21へ送信する(ステップS52)。以降、制御部301は、ステップS50〜S52までの処理を繰り返す。
【0059】
[2.4.仮想APサーバ13x1、仮想DBサーバ13x2の構成及び動作]
仮想APサーバ13x1、仮想DBサーバ13x2は、上述したようにサーバシステム11上に形成される仮想マシンである。
【0060】
サーバシステム11は、図9に示すように、複数のブレードサーバ121〜12nと、ストレージ141〜14nと、サーバ管理装置15とから構成される。なお、ブレードサーバ121〜12nのうち何れかのブレードサーバ又は全てのブレードサーバを示す場合には、便宜上、ブレードサーバ12という。また、ストレージ141〜14nのうち何れかのストレージ又は全てのストレージを示す場合には、便宜上、ストレージ14という。
【0061】
各ブレードサーバ12は、CPU401と、ROM402と、RAM403と、入出力部404と、通信部405と、ハードディスク(HDD)406とを有しており、これらはシステムバス407を介して相互に接続されている。入出力部404は、サーバ管理装置15とのデータの送受信を行うための通信インターフェイスであり、通信部405は、クラウドサービス提供会社の社内のネットワークであるLANに接続するための通信インターフェイスである。
【0062】
このように構成されたブレードサーバ121〜12n上で、複数の仮想マシン131〜13nが動作する。なお、複数の仮想マシン131〜13nのうち何れかの仮想マシン又は全ての仮想マシンを示す場合には、便宜上、仮想マシン13という。
【0063】
図10にブレードサーバ12上のアーキテクチャを示す。同図に示すように、ブレードサーバ12では、そのベースプログラムでメインOSが動作する。そしてメインOS上で仮想マシンを動作させるためのプログラムである仮想マシンプログラムが動作する。そして、この仮想マシンプログラム上で複数のゲストOSを動作することができるようにしている。各ゲストOS上では、1以上のアプリケーションプログラムを動作させることができる。
【0064】
サーバ管理装置15は、各ブレードサーバ12を制御及び管理する装置であり、ゲストOSに割り当てるリソース(CPU401,ROM402,RAM403,HDD406など)を管理する。例えば、サーバ管理装置15は、仮想マシン13によるリソースの利用率に応じて、仮想マシン13に割り当てるリソースを変更することができる。また、サーバ管理装置15は、アプリケーションプログラムの実行開始や実行停止などを制御することができる。さらに、各ブレードサーバ12と通信を行って、ゲストOSやアプリケーションプログラムの追加、削除又は更新を行う。
【0065】
本実施形態では、ブレードサーバ12上で動作する仮想マシン13のうち、ブレードサーバ121上で動作する仮想マシンを仮想APサーバ13x1として用い、ブレードサーバ132上で動作する仮想マシンを仮想DBサーバ13x2として用いる(図1参照)。
【0066】
ブレードサーバ12上で動作する仮想APサーバ13x1は、図11に示すように、ブレードサーバ12のリソースを利用することで、制御部411、記憶部412、通信部413などとして機能し、アプリケーション用プログラムを実行する。制御部411は、サーバ受付手段、処理手段、処理結果送信手段等として機能する。
【0067】
また、仮想DBサーバ13x2は、図12に示すように、ブレードサーバ12のリソースを利用することで、制御部421、記憶部422、通信部423などとして機能し、データベースサーバ用プログラムを実行する。仮想DBサーバ13x2は、ストレージ141〜14nのうち予め設定されたストレージ14xからデータを読み出したり、ストレージ14xへデータを記憶したりする。このストレージ14xには、企業内秘匿情報以外の情報が記憶される。なお、制御部421は、記憶処理手段等として機能する。
【0068】
次に、仮想APサーバ13x1での処理を説明する。この処理は、仮想APサーバ13x1の制御部411が実行する処理である。図13に示すように、制御部411は、フロントエンドサーバ21からリクエストを受信すると(ステップS60)、公開情報にアクセスする必要がある否かを判定する(ステップS61)。この処理において、公開情報にアクセスする必要なないと判定すると(ステップS61:NO)、制御部411は、処理をステップS64に移行させる。一方、公開情報にアクセスする必要があると判定すると(ステップS61:YES)、制御部411は、仮想DBサーバ13x2にアクセスする(ステップS62)。このアクセスに対してその後仮想DBサーバ13x2から送信される結果を受信したとき(ステップS63)、制御部411は、この結果に応じた処理を必要に応じて行い、その処理結果又は仮想DBサーバ13x2から送信される結果をフロントエンドサーバ21へ送信する(ステップS64)。以降、制御部411は、ステップS60〜S64までの処理を繰り返す。
【0069】
次に、仮想DBサーバ13x2での処理を説明する。この処理は、仮想DBサーバ13x2の制御部421が実行する処理である。図14に示すように、制御部421は、フロントエンドサーバ21や仮想APサーバ13x1からのリクエストを受信すると(ステップS70)、ストレージ操作を行う(ステップS71)。この処理において、制御部421は、ストレージ22にアクセスして、フロントエンドサーバ21や仮想APサーバ13x1からのリクエストに応じてストレージ14xへの情報の記憶やストレージ14xからのデータの読み出しなどを行う。制御部421は、ステップS71で行った記憶処理又は読み出し処理の結果を仮想APサーバ13x1へ送信する(ステップS72)。以降、制御部421は、ステップS70〜S72までの処理を繰り返す。
【0070】
[本実施形態を適用したWeb会議システム]
次に、上述した構成を有するアプリケーションサービス提供システムを用いたWeb会議サービスのシステム(以下、「Web会議システム」)について具体的に説明する。このWeb会議システムは、アプリケーション提供会社において、SIPサーバの機能を有するフロントエンドサーバ21及びDBサーバ23を用いつつ、さらにブレードサーバ12上で設定した仮想マシン13でアプリケーションソフトウェアを動作させることにより実行されるものである。ここでは、一例として、アプリケーション提供会社が、サーバシステム11上で動作する仮想マシンをレンタルして、この仮想マシンをAPサーバ及びDBサーバとして用いて、Web会議サービスを提供するものとして説明する。以下においては、仮想マシンにより形成されるAPサーバを仮想APサーバ13x1とし、仮想マシンにより形成されるDBサーバを仮想DBサーバ13x2とする。また、仮想DBサーバ13x2は、ストレージ14xを記憶手段として用いるものとする。
【0071】
以下の説明において、このWeb会議システムは、フロントエンドサーバ21を介してクライアント端末装置1間で映像情報や音声情報の送受信を行うことによって、遠隔地間での会議を可能とするものである。以下においては、音声情報の処理については省略するが、映像情報の処理と同様の処理である。
【0072】
図1に示す構成において、クライアント端末装置1a〜1cを使用するクライアントA〜Cの3者がWeb会議を行う場合、クライアントAが使用するクライアント端末装置1aの提示部106には、クライアント端末装置1b及び1cで取得した映像情報が提示される。また、クライアントBが使用するクライアント端末装置1bの提示部106には、クライアント端末装置1a及び1cで取得した映像情報が提示される。また、クライアントCが使用するクライアント端末装置1cの提示部106には、クライアント端末装置1a及び1bで取得した映像情報が提示される。また、フロントエンドサーバ21は、各クライアント端末装置1から取得した映像情報に基づいて、各クライアント端末装置1に送信するための映像情報を加工して送信する。
【0073】
また、ストレージ22には、図16に示すように、クライアント端末装置1毎の情報が登録される第1テーブルと、開催される会議の開始時刻や終了時刻などの情報が登録される第2テーブルと、会議に参加するクライアント端末装置1の情報が登録される第3テーブルとが記憶される。また、ストレージ14xには、図17に示すように、クライアント端末装置1毎の画像情報に関する情報が登録される設定情報テーブルが記憶される。
【0074】
Web会議を行うには、事前に主催者のクライアント端末装置1から後述の会議情報をストレージ22に登録する必要がある。また、Web会議に参加するためには、参加する各クライアント端末装置1において、参加準備の操作を行う必要がある。
【0075】
このWeb会議システムにおいては、以下の3つの処理が行われる。
(1)主催する会議をDBサーバ23に登録するための「登録処理」
(2)会議への参加手続きを行うための「参加準備処理」
(3)Web会議を行うための「会議処理」
以下、それぞれの処理について、具体的に説明する。
【0076】
[登録処理]
まず、登録処理について、図15を参照しつつ説明する。この処理は、会議を主催するクライアントのクライアント端末装置1と、フロントエンドサーバ21と、DBサーバ23と、仮想APサーバ13x1と、仮想DBサーバ13x2とで実行される。
【0077】
まず、クライアント端末装置1は、会議の主催者から操作部104を介して拠点ID及びパスワードの入力、及び、認証処理の実行指示を受け付け、この受け付けた情報に基づいた認証処理の要求を、フロントエンドサーバ21に送信する(ステップS81)。この要求には、認証処理の実行要求を示す情報と、拠点ID及びパスワードとが含まれる。なお、この際、拠点IDやパスワードに対して所定の暗号化処理を施してもよい。
【0078】
次に、フロントエンドサーバ21は、認証処理のリクエストを受け付けると、DBサーバ23に対し、認証処理リクエストを送信する(ステップS82)。
【0079】
次に、DBサーバ23は、認証処理リクエストを受け付けると、認証処理を行う(ステップS83)。DBサーバ23は、ストレージ22に記憶している第1テーブル(図16)を参照して認証処理を行う。すなわち、この認証処理において、受信した認証処理リクエストに含まれる拠点IDとパスワードの組み合わせがストレージ22の第1テーブルに登録されているかどうかの照合を行う。拠点IDとパスワードとの組み合わせが第1テーブルに登録されているとき、DBサーバ23は、認証が成功したと判定し、それ以外の場合には認証が失敗したと判定する。なお、ストレージ22に記憶される拠点IDやパスワードについても、クライアント端末装置1での処理と同様に、暗号化処理を施してもよく、この場合には照合の際に復号化することになる。
【0080】
ここで、ストレージ22に記憶されている第1テーブルのデータ構造について説明する。図16に示すように、第1テーブルには、クライアント端末装置1毎の設定として、「拠点ID」,「IPアドレス」,「パスワード」,「担当者名」,「電話番号」,「会社名」,「サービス内容」,「メールアドレス」が記憶されている。
【0081】
次に、DBサーバ23は、認証処理リクエストを送信したフロントエンドサーバ21に対し、認証結果を送信する(ステップS84)。認証結果には、認証が成功したか否かを示す情報、すなわち認証OKを示す情報または認証NGを示す情報が含まれる。
【0082】
フロントエンドサーバ21は、DBサーバ23から認証結果を受信すると、ステップS82で受け付けたリクエストを送信したクライアント端末装置1に対し、その認証結果を送信する(ステップS85)。
【0083】
クライアント端末装置1は、認証OKを示す情報を含む認証結果を受信すると、会議の主催者から操作部104を介して主催する会議の情報(以下、「会議情報」という)の入力を受け付け、また、会議情報登録処理の実行処理を受け付ける。そして、受け付けた情報に基づいた会議情報登録処理の要求を、フロントエンドサーバ21に送信する(ステップS86)。ここで、会議情報には、会議に参加するクライアントが使用するクライアント端末装置1の拠点ID(以下、「会議参加拠点ID」という)、及び、会議の予定開始時間/予定終了時間が含まれている。また、参加に参加する各クライアント端末装置1上の表示レイアウトの設定情報(後述)についてもこの要求に含まれる。また、クライアント端末装置1別の使用コーデックの情報もこの要求に含まれる。
【0084】
フロントエンドサーバ21は、会議情報登録処理の要求を受け付けると、一時IDを生成する(ステップS87)。一時IDは、後述する第3テーブルと、設定情報テーブルとを関連付けるためのIDである。
【0085】
次に、フロントエンドサーバ21は、DBサーバ23に会議情報登録リクエストを送信し(ステップS88)し、さらに、仮想APサーバ13x1に対し、会議設定情報登録リクエストを送信する(ステップS90)。会議情報登録リクエストには、会議情報及び一時IDが含まれる。また、この会議設定情報登録リクエストには、会議参加拠点IDと一時IDとの対が含まれている。
【0086】
DBサーバ23は、フロントエンドサーバ21から会議情報登録リクエストを受け付けると、会議情報登録処理を行う(ステップS89)。会議情報登録処理では、受信した会議情報登録処理リクエストに基いて、会議情報をストレージ22の第2テーブル及び第3テーブルに登録する。すなわち、DBサーバ23は、会議情報登録リクエストに含まれる会議情報のうち、会議の予定開始時間及び予定終了時間と、会議情報登録処理の要求を行ったクライアント端末装置1の拠点ID(開催拠点ID)とを、新たに発行した会議IDに関連づけて第2テーブルに登録する。また、DBサーバ23は、会議情報登録リクエストに含まれる会議情報のうち、会議参加拠点IDと設定情報とを新たに発行した会議IDに関連づけて第3テーブルに登録する。
【0087】
ここで、ストレージ22に記憶されている第2テーブル及び第3テーブルのデータ構造について説明する。図16に示すように、第2テーブルには、会議IDをキーとして、主催者のクライアント端末装置1を示す「開催拠点ID」,会議の開始時刻を示す「予定開始時間」,会議の終了時刻を示す「予定終了時刻」が記憶されている。また、図16に示すように、第3テーブルには、会議IDをキーとして、会議に参加するクライアント端末装置1の識別番号を示す「会議参加拠点ID」と「一時ID」が記憶されている。
【0088】
仮想APサーバ13x1は、会議設定情報登録リクエストを受信すると、仮想DBサーバ13x2に対し、会議設定情報登録リクエストを転送する(ステップS90)。
【0089】
次に、仮想DBサーバ13x2は、会議設定情報登録リクエストを受け付けると、会議設定情報登録処理を行う(ステップS91)。会議設定情報登録処理では、受信した会議設定情報登録リクエストに基いて、会議参加拠点IDと一時IDの対を、ストレージ14xの設定情報テーブルに登録する。
【0090】
ここで、ストレージ14xに記憶されている設定情報テーブルのデータ構造について説明する。図17に示すように、設定情報テーブルには、一時IDをキーとして、「画像品質ID」と「画像フォーマットID」とが対応付けられている。「画像品質ID」は数字によって規定されており、各数字に対応して、コーデックの種類が予め定義されている。また、「画像フォーマットID」は数字によって規定されており、各数字に対応して、クライアント端末装置1の提示部106の表示レイアウト(例えば、自身のクライアント端末装置の映像情報の表示の要否や、各クライアント端末装置の映像情報の表示位置)が予め定義されている。
【0091】
[参加準備処理]
次に、参加準備処理について、図18を参照しつつ説明する。この処理は、Web会議に参加するクライアントが保有する各クライアント端末装置1に対し、Web会議が行われることを通知し、かつ、各クライアント端末装置1の認証を行うための処理である。
【0092】
まず、フロントエンドサーバ21は、DBサーバ23に対し、会議情報リクエストを送信する(ステップS101)。このステップS101の処理は、所定時間間隔ごとに、繰り返し行われる。
【0093】
DBサーバ23は、会議情報リクエストを受信すると、ストレージ22に記憶されている第1〜第3テーブルを参照して会議情報を抽出する(ステップS102)。具体的には、DBサーバ23は、現時刻から所定時間内に開始される会議IDを抽出する。そして、第3テーブルを参照して、抽出した会議IDを検索キーとして、会議参加拠点IDを抽出する。そして、第1テーブルを参照して、抽出した会議参加拠点IDを検索キーとして、メールアドレスを抽出する。そして、DBサーバ23は、これら抽出した情報を会議情報として、フロントエンドサーバ21に送信する(ステップS103)。
【0094】
フロントエンドサーバ21は、DBサーバ23から会議情報を受信すると(ステップS104)、受信した会議情報に含まれる会議参加拠点IDのクライアント端末装置1に対して、会議が行われることを示す会議通知情報を電子メールで送信する(ステップS105)。
【0095】
クライアント端末装置1は、フロントエンドサーバ21から送信される会議通知情報を受信し、クライアントから操作部104を介して拠点ID及びパスワードの入力、及び、認証処理の実行指示を受け付けると、受け付けた情報に基づいた認証処理リクエストを、フロントエンドサーバ21に送信する(ステップS106)。フロントエンドサーバ21は、認証処理リクエストを受信すると、DBサーバ23に対し、認証処理リクエストを送信する(ステップS107)。
【0096】
DBサーバ23は、フロントエンドサーバ21から認証処理リクエストを受信すると、認証処理を行う(ステップS108)。この認証処理は、ストレージ22に記憶している第1テーブルと第3テーブルを参照して行われる。すなわち、DBサーバ23は、認証処理リクエストに含まれる拠点IDとパスワードとの組み合わせが、第1テーブルに登録されているかを判定し、第1テーブルに登録されていれば、さらに、第3テーブルに拠点IDが登録されているかを判定する。いずれにも登録されているとき、DBサーバ23は、認証が成功したと判定し、それ以外の場合は、認証が失敗したと判定する。この認証処理が終了すると、DBサーバ23は、認証が成功したときには、ストレージ22に記憶されている第3テーブルから一時IDを取得し、この一時IDを、認証OKを示す情報と共に送信する(ステップS109)。
【0097】
フロントエンドサーバ21は、DBサーバ23から認証OKを示す情報及び一時IDを含む認証結果を受信すると(ステップS110)、会議設定情報リクエストを仮想APサーバ13x1に送信する(ステップS111)。この会議設定情報リクエストには、DBサーバ23から取得した一時IDが含まれる。
【0098】
仮想APサーバ13x1は、会議設定情報リクエストを受信すると、仮想DBサーバ13x2に対し、会議設定情報リクエストを送信する(ステップS112)。この会議設定情報リクエストには、一時IDが含まれている。
【0099】
仮想DBサーバ13x2は、会議設定情報リクエストを仮想APサーバ13x1から受信すると、この会議設定情報リクエストに含まれる一時IDに基づいて、ストレージ14xに記憶されている設定情報テーブルを参照し、一時IDをキーとして、画面品質IDや画面フォーマットIDを抽出する(ステップS113)。そして、仮想DBサーバ13x2は、抽出した画面品質IDや画面フォーマットIDを、画面情報として、仮想APサーバ13x1に送信する(ステップS114)。
【0100】
仮想APサーバ13x1は、仮想DBサーバ13x2から画面情報を受信すると、この画面情報をステップS106で認証情報を送信したクライアント端末装置1の拠点IDと対応づけて記憶部412に記憶する(ステップS115)。そして、仮想APサーバ13x1は、会議設定情報の登録が完了したことを示す完了情報を、フロントエンドサーバ21に送信する(ステップS116)。
【0101】
フロントエンドサーバ21は、完了情報を仮想APサーバ13x1から受信すると、認証処理の要求を送信したクライアント端末装置1に対して、会議設定情報の登録の結果を送信する(ステップS117)。なお、クライアント端末装置1は、記憶部102に会議中フラグを有し、会議開示時刻になると、そのフラグがONとなるものとする。
【0102】
[会議処理]
次に、会議処理について、図19を参照しつつ説明する。この処理は、Web会議に参加する各クライアント端末装置1とフロントエンドサーバ21と仮想APサーバ13x1との間で実行される処理である。なお、図19では、説明の便宜上、クライアント端末装置1aとクライアント端末装置1bの2つのクライアント端末装置を示しているが、実際は、会議に参加するクライアント端末装置1の数だけ同様の処理が、Web会議中繰り返し行われる。
【0103】
まず、クライアント端末装置1aは、情報取得部105を介して取得した映像情報をフロントエンドサーバ21に送信する(ステップS120a)。同様に、クライアント端末装置1bは、情報取得部105を介して取得した映像情報をフロントエンドサーバ21に送信する(ステップS120b)。
【0104】
フロントエンドサーバ21は、各クライアント端末装置1から映像情報を受信すると、各映像情報を仮想APサーバ13x1に転送する(ステップS121)。
【0105】
次に、仮想APサーバ13xは、各クライアント端末装置1の映像情報をフロントエンドサーバ21から受信すると(ステップS122)、受信した映像情報に基づいて、各クライアント端末装置1に送信する映像を生成する(ステップS123)。このとき、記憶部412に記憶しているクライアント端末装置1毎の画面情報が参照される。その後、仮想APサーバ13x1は、フロントエンドサーバ21に対し、生成した映像情報を送信する(ステップS124)。
【0106】
次に、フロントエンドサーバ21は、仮想APサーバ13x1から映像情報を受信すると、各クライアント端末装置1に対し、受信した映像情報を転送する(ステップS125)。クライアント端末装置1a,1bは、それぞれ、受信した映像情報に基づいて、提示部106に映像情報を提示する(ステップS126a,S126b)。すなわち、映像をディスプレイに表示する。
【0107】
次に、以上のような動作を行うWeb会議システムにおける各要素ごとの具体的な処理について説明する。
【0108】
[クライアント端末装置1での処理]
まず、クライアント端末装置1での処理について、図20を参照しつつ具体的に説明する。
【0109】
まず、制御部101は、クライアントから操作部104を介して認証処理の実行指示を受け付けたか否かを判定する(ステップS130)。この処理において、認証処理の実行指示を受け付けたと判定すると(ステップS130:YES)、制御部101は、フロントエンドサーバ21に対し、認証処理の要求を送信する(ステップS131)。この要求には、拠点ID及びパスワードが含まれる。その後、制御部101は、フロントエンドサーバ21から認証結果を受信する(ステップS132)。
【0110】
一方、ステップS130において、認証処理の実行指示を受け付けていないと判定すると(ステップS130:NO)、制御部101は、会議情報登録処理の実行指示を受け付けたか否かを判定する(ステップS133)。この処理において、会議情報登録処理の実行指示を受け付けたと判定すると(ステップS133:YES)、制御部101は、フロントエンドサーバ21に対し、受け付けた入力に基づいて会議情報登録処理の要求を送信する(ステップS134)。その後、制御部101は、会議情報登録処理の要求に対し、フロントエンドサーバ21から送信される会議情報の登録を示す完了情報を受信する(ステップS135)。
【0111】
一方、ステップS133において、制御部101は、会議情報登録処理の実行指示を受け付けていないと判定すると(ステップS133:NO)、制御部101は、会議開始の時刻であるか否かを判定する(ステップS136)。この判定は、記憶部102に記憶されている会議中フラグがONとなっているかに基づいて行われる。会議開始の時刻ではないと判定すると(ステップS136:NO)、制御部101は、処理をステップS130に移行させ、ステップS130以降の処理を繰り返す。一方、会議開始の時刻であると判定すると(ステップS136:YES)、制御部101は、処理をステップS137に移行させる。
【0112】
ステップS137において、制御部101は、情報取得部105を介して取得した映像情報を、フロントエンドサーバ21に送信する。また、制御部101は、フロントエンドサーバ21から取得した映像情報を、提示部106に提示する(ステップS138)。その後、制御部101は、会議終了か否かを判定する(ステップS139)。この判定は、記憶部102に記憶されている会議中フラグがOFFとなったか否かに基づいて行われる。会議終了ではないと判定すると(ステップS139:NO)、制御部101は、処理をステップS137に移行させ、ステップS137以降の処理を繰り返す。一方、会議終了であると判定すると(ステップS139:YES)、制御部101は、制御部41は、処理をステップS130に移行させ、ステップS130からの処理を繰り返す。
【0113】
[フロントエンドサーバ21における処理(その1)]
次に、フロントエンドサーバ21における処理(その1)について、図21を参照しつつ具体的に説明する。この処理では、クライアント端末装置1から受信した要求に応じた処理を行う。
【0114】
まず、制御部201は、いずれかのクライアント端末装置1から認証処理の要求を受信したか否かを判定する(ステップS140)。この処理において、認証処理の要求を受信したと判定すると(ステップS140:YES)、制御部201は、認証要求リクエストを、DBサーバ23に送信する(ステップS141)。この認証要求リクエストに対して、DBサーバ23から認証結果を受信すると(ステップS142)、制御部201は、その認証結果を、クライアント端末装置1に送信する(ステップS143)。
【0115】
一方、ステップS141において、認証処理の要求を受信していないと判定すると(ステップS141:NO)、制御部201は、会議情報登録処理の要求を受信したか否かを判定する(ステップS144)。会議情報登録処理の要求を受信したと判定すると(S144:YES)、制御部201は、ステップS145において、一時IDを生成する。
【0116】
その後、制御部201は、DBサーバ23に会議情報登録リクエストを送信(ステップS146)し、さらに、仮想APサーバ13x1に会議設定情報登録リクエストを送信する(ステップS147)。その後、制御部201は、DBサーバ23及び仮想APサーバ13x1から、処理が完了をしたことを示す完了情報を受信する(ステップS148)と、処理の結果を、クライアント端末装置1に送信する(ステップS150)。
【0117】
一方、ステップS144において、会議情報登録処理の要求を受信していないと判定すると(ステップS144:NO)、制御部201は、ステップS150において、クライアント端末装置1から映像情報を受信したか否かを判定する。映像情報を受信していないと判定すると(ステップS150:NO)、制御部201は、処理をステップS152に移行させる。一方、映像情報を受信したと判定すると(ステップS150:YES)、制御部201は、受信した映像情報を、仮想APサーバ13x1に転送する(ステップS150)。
【0118】
一方、ステップS152において、仮想APサーバ13x1から映像情報を受信したか否かを判定する。映像情報を受信していないと判定すると(ステップS152:NO)、ステップS140に移行させ、ステップS140の処理を繰り返す。一方、映像情報を受信したと判定すると(ステップS152:YES)、制御部201は、受信した映像情報を、クライアント端末装置1に転送する(ステップS153)。
【0119】
[フロントエンドサーバ21における処理(その2)]
次に、フロントエンドサーバ21における処理(その2)について、図22を参照しつつ具体的に説明する。この処理は、DBサーバ23に、現時刻から所定時間以内に開始される会議が存在するか否かを問い合わせる処理であり、所定時間間隔で繰り返し実行される。なお、上記したその1における処理とは、並列して実行される。
【0120】
まず、制御部201は、DBサーバ23に対し会議情報リクエストを送信する(ステップS160)。この会議情報リクエストに対する応答を受信すると(ステップS161)、制御部201は、受信した応答に会議情報が含まれているか否かを判定する(ステップS162)。なお、ステップS161で送信した会議情報リクエストに該当する会議情報が存在しない場合には、受信した応答には会議情報が含まれていない。
【0121】
会議情報が含まれていないと判定すると(ステップSS162:NO)、制御部201は、この処理を終了する。一方、会議情報が含まれていると判定すると(ステップS162:YES)、制御部201は、会議情報に含まれる会議参加拠点IDのクライアント端末装置1に対して、会議が行われることを示す会議通知情報を電子メールで送信する(ステップS163)。
【0122】
[DBサーバ23における処理]
次に、DBサーバ23における処理について、図23を参照しつつ具体的に説明する。
【0123】
まず、DBサーバ23の制御部301は、フロントエンドサーバ21から認証処理リクエストを受信したか否かを判定する(ステップS170)。認証処理リクエストを受信したと判定すると(ステップS170:YES)、制御部301は、認証処理を実行する(ステップS171)。この認証処理は、上述したように、ストレージ22に記憶されている第1テーブルと第3テーブルを参照して行われる。この認証処理が終了すると、制御部301は、その認証結果をフロントエンドサーバ21に送信する(ステップS172)。
【0124】
一方、ステップS170において、認証処理リクエストを受信していないと判定すると(ステップS170:NO)、制御部301は、会議情報登録リクエストを受信したか否かを判定する(ステップS173)。会議情報登録リクエストを受信したと判定すると(ステップS173:YES)、制御部301は、上述したように、ストレージ22の第3テーブルに会議情報を記憶する(ステップS174)。その後、制御部301は、ステップS174において、会議情報の登録が完了したことを示す完了情報を、フロントエンドサーバ21に送信する(ステップS175)。
【0125】
一方、ステップS173において、会議情報登録リクエストを受信していないと判定すると(ステップS173:NO)、制御部301は、会議情報リクエストを受信したか否かを判定する(ステップS176)。会議情報リクエストを受信していないと判定すると(ステップS176:NO)、制御部301は、処理をステップS170に移行させ、ステップS170以降の処理を繰り返す。一方、会議情報リクエストを受信したと判定すると(ステップS176:YES)、制御部301は、上述したように、ストレージ22に記憶されている第1〜第3テーブルを参照して会議情報を抽出する(ステップS177)。その後、制御部301は、抽出した会議情報を、フロントエンドサーバ21に送信する(ステップS178)。
【0126】
[仮想APサーバ13x1における処理]
次に、仮想APサーバ13x1における処理について、図24を参照しつつ具体的に説明する。
【0127】
まず、仮想APサーバ13x1の制御部411は、会議設定情報登録リクエストを受信したか否かを判定する(ステップS180)。会議設定情報登録リクエストを受信したと判定すると(ステップS180:YES)、制御部411は、受信した会議設定情報登録リクエストを、DBサーバ23に転送する(ステップS181)。
【0128】
一方、ステップS180において、会議設定情報登録リクエストを受信していないと判定すると(ステップS180:NO)、制御部411は、会議設定情報リクエストを受信したか否かを判定する(ステップS182)。会議設定情報リクエストを受信したと判定すると(ステップS182:YES)、制御部411は、受信した会議設定情報リクエストに基づいて会議設定取得のリクエストを、DBサーバ23に転送する(ステップS183)。
【0129】
ステップS182において、会議設定情報リクエストを受信していないと判定すると(ステップS182:NO)、制御部411は、画面情報を受信したか否かを判定する(ステップS184)。画面情報を受信したと判定すると(ステップS184:YES)、制御部411は、受信した画面情報を記憶部412に記憶する(ステップS185)。その後、制御部411は、処理が正常に完了したことを示す完了情報を、クライアント端末装置1に送信する(ステップS186)。
【0130】
一方、ステップS184において、画面情報を受信していないと判定すると(ステップS184:NO)、制御部411は、映像情報を受信したか否かを判定する(ステップS187)。映像情報を受信したと判定すると(ステップS187:YES)、制御部411は、受信した映像情報を、記憶部412に一時的に記憶する(ステップS188)。その後、制御部411は、ステップS188で一時記憶した映像情報に基づき、クライアント端末装置1に送信する映像情報を生成する(ステップS189)。ここで生成する映像情報は、記憶部412に記憶している他のクライアント端末装置1から受信した映像情報を加工して生成される。また、加工時には、記憶部412に記憶している画面情報が参照される。その後、制御部411は、ステップS189で作成した映像情報を、上記クライアント端末装置1に送信する(ステップS190)。
【0131】
映像情報を受信していないと判定すると(ステップS187:NO)、制御部411は、処理をステップS180に移行させ、ステップS180以降の処理を繰り返す。
【0132】
[仮想DBサーバ13x2における処理]
次に、仮想DBサーバ13x2における処理について、図25を参照しつつ具体的に説明する。
【0133】
ステップS200において、制御部421は、会議設定情報登録リクエストを受信したか否かを判定する。会議設定情報登録リクエストを受信したと判定すると(ステップS200:YES)、制御部421は、受信した会議設定情報登録リクエストに基いて、会議参加拠点IDと一時IDの対を、ストレージ14xの設定情報テーブルに登録する(ステップS201)。
【0134】
一方、ステップS200において、会議設定情報登録リクエストを受信していないと判定すると(S200:NO)、制御部421は、会議設定情報リクエストを受信したか否かを判定する(ステップS202)。会議設定情報リクエストを受信していないと判定すると(S202:NO)、制御部421は、処理をステップS200に移行させ、ステップS200以降の処理を繰り返す。一方、会議設定情報リクエストを受信したと判定すると(ステップS202:YES)、制御部421は、設定情報テーブルを参照して、画面情報を取得する(ステップS203)。その後、制御部421は、取得した画面情報を、仮想APサーバ13x1に送信する(ステップS204)。
【0135】
以上説明したとおり、アプリケーション提供会社は、Web会議システムをクラウドサービスを利用してクライアントに提供することができる。
【0136】
しかも、DBサーバ23に加え、フロントエンドサーバ21とDBサーバ23を社内に配置しているため、第1〜第3テーブルなどのような企業秘匿情報などのセキュリティデータは、アプリケーション提供会社の企業内ネットワークとクライアント端末装置1との間のみ送受信される。
【0137】
従って、企業秘匿情報をアプリケーション提供会社側の企業内ネットワーク内で管理することができ、クラウドサービス提供会社に預けることなく、アプリケーション提供会社側で企業秘匿情報を管理することができる。
【0138】
しかも、フロントエンドサーバ21を社内のネットワークに配置し、SIPサーバとして用いつつ、映像情報の加工処理などの負荷の重い処理などを仮想APサーバ13x1及び仮想DBサーバ13x2で行わせており、これにより社内のサーバの負荷を軽減することができる。
【0139】
なお、上述した各実施形態の説明は本発明の一例であり、本発明は上述の実施形態に限定されることはない。このため、上述した各実施形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【符号の説明】
【0140】
1 クライアント端末装置
11 サーバシステム
12 ブレードサーバ
13x1 仮想APサーバ
13x2 仮想DBサーバ
14x,22 ストレージ
23 DBサーバ
24 管理端末装置
【技術分野】
【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要求処理手段と、前記第1要求処理手段による処理結果、及び前記仮想マシンから取得した処理結果を、前記要求を行ったクライアント端末装置へ送信する処理結果送信手段と、を備え、前記仮想マシンは、前記企業内サーバからの要求を受け付けるサーバ受付手段と、前記クライアント端末装置からの要求に対する処理を実行する処理手段と、前記処理手段による処理結果を前記企業内サーバへ送信する処理結果送信手段と、を備えることとした。
【0015】
また、請求項2に係る発明は、請求項1に記載のアプリケーションサービス提供システムであって、インターネットに接続され、前記仮想マシンと情報の送受信を行う企業外データベースサーバを備え、前記仮想マシンの前記処理手段は、前記クライアント端末装置からの要求に対して、前記企業外データベースサーバに記憶した情報に基づく処理が必要か否かを判定し、前記企業外データベースサーバに記憶した情報に基づく処理が必要であると判定されると、前記企業外データベースサーバと情報を送受信して前記要求に対する処理を行うこととした。
【0016】
また、請求項3に係る発明は、請求項1又は2に記載のアプリケーションサービス提供システムであって、前記ユーザに関する情報には、当該ユーザの認証情報を含み、前記仮想マシンの前記処理手段は、前記クライアント端末装置から前記ユーザの認証情報が取得したとき、前記秘匿情報に基づく処理が必要であると判定し、前記取得された認証情報と一致する認証情報が前記企業内データベースサーバに記憶されているかどうかを前記企業内データベースサーバに問い合わせて、前記クライアント端末装置の認証処理を行うこととした。
【0017】
また、請求項4に係る発明は、請求項1〜3のいずれか1項に記載のアプリケーションサービス提供システムであって、前記ユーザに関する情報には、当該ユーザのIDを含み、前記企業内サーバの第2要求処理手段は、前記要求を行ったクライアント端末装置を使用しているユーザのIDを前記要求に応じた処理要求情報とともに前記仮想マシンに送信し、その後、前記仮想マシンから前記要求に応じた処理結果を前記ユーザのIDとともに取得すると、当該ユーザのIDから前記取得した処理結果を送信するクライアント端末装置を決定し、前記仮想マシンの処理結果送信手段は、前記処理要求情報に応じた処理結果を当該処理要求情報に対応するユーザのIDとともに送信することとした。
【0018】
また、請求項5に係る発明は、企業内ネットワークに接続され、クライアント端末装置からの要求を処理する企業内サーバと、前記企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバと、インターネットに接続されたサーバ上で動作する仮想マシンと、を備えたアプリケーションサービス提供システムにおけるアプリケーションサービス提供方法であって、前記企業内サーバが、前記クライアント端末装置からの要求を受け付ける受付ステップと、前記企業内サーバが、前記クライアント端末装置からの要求に対して、前記秘匿情報に基づく処理が必要か否かを判定する判定ステップと、前記企業内サーバが、前記判定ステップにより前記秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバから前記秘匿情報を取得して前記要求に対する処理を行う第1要求処理ステップと、前記企業内サーバが、前記判定ステップにより前記秘匿情報に基づく処理が必要でないと判定されると、前記仮想マシンに対して前記要求に対する処理を要求する第2要求処理ステップと、前記仮想マシンが、前記企業内サーバからの要求を受け付けるサーバ受付ステップと、前記仮想マシンが、前記クライアント端末装置からの要求に対する処理を実行する処理ステップと、前記仮想マシンが、前記処理ステップによる処理結果を前記企業内サーバへ送信する処理結果送信ステップと、前記企業内サーバが、前記処理ステップによる処理結果を受信する受信ステップと、前記企業内サーバが、前記受信ステップで取得した処理結果を前記要求を行ったクライアント端末装置へ送信する処理結果送信ステップと、を有することとした。
【発明の効果】
【0019】
本発明によれば、クラウドサービスの利用者であるアプリケーション提供会社は、アプリケーションサービスを提供するときに、インターネットを介して接続されたサーバ上で動作する仮想マシンを利用してコンピュータ資源の導入コストや運用コストを低減しつつ、企業内秘匿情報を含む情報を、クラウドサービス提供会社に預けることなく、自社内でセキュリティ対策を行うことが可能となる。
【図面の簡単な説明】
【0020】
【図1】本発明の一実施形態に係るアプリケーションサービス提供システムの構成を示す図である。
【図2】アプリケーションサービス提供システムの概略動作を示す図である。
【図3】図1に示すクライアント端末装置の構成を示す図である。
【図4】図1に示すクライアント端末装置の処理の流れを示す図である。
【図5】図1に示すフロントエンドサーバの構成を示す図である。
【図6】図1に示すフロントエンドサーバの処理の流れを示す図である。
【図7】図1に示すDBサーバの構成を示す図である。
【図8】図1に示すDBサーバの処理の流れを示す図である。
【図9】図1に示すサーバシステムの構成を示す図である。
【図10】図9に示すブレードサーバ上のアーキテクチャを示す図である。
【図11】図1に示す仮想APサーバの構成を示す図である。
【図12】図1に示す仮想DBサーバの構成を示す図である。
【図13】図1に示す仮想APサーバの処理の流れを示す図である。
【図14】図1に示す仮想DBサーバの処理の流れを示す図である。
【図15】Web会議サービスのシステムの登録処理の流れを示す図である。
【図16】テーブルのデータ構造の一例を示す図である。
【図17】設定情報テーブルのデータ構造の一例を示す図である。
【図18】Web会議サービスのシステムの参加準備処理の流れを示す図である。
【図19】Web会議サービスのシステムの会議処理の流れを示す図である
【図20】クライアント端末装置の処理の流れを示す図である。
【図21】フロントエンドサーバの処理(その1)の流れを示す図である。
【図22】フロントエンドサーバの処理(その2)の流れを示す図である。
【図23】DBサーバの処理の流れを示す図である。
【図24】仮想APサーバの処理の流れを示す図である。
【図25】仮想DBサーバの処理の流れを示す図である。
【発明を実施するための形態】
【0021】
[1.アプリケーションサービス提供システムの概要]
本実施形態のアプリケーションサービス提供システムは、インターネット経由でアプリケーションをクライアントに提供しようとする企業であるアプリケーション提供会社が、クラウドサービスを利用して、アプリケーションサービスをクライアントに提供することができるアプリケーションサービス提供システムである。
【0022】
このように、アプリケーション提供会社がクラウドサービスを利用して提供するアプリケーションサービスにおいては、このアプリケーションサービスを利用するクライアントは、クラウドサービスであることを意識することはない。クライアントは、通常のアプリケーションサービスと同様に、アプリケーション提供会社からのアプリケーションサービスを受けることなる。なお、アプリケーションサービスとしては、例えば、後述するWeb会議サービス、データベースサービス、eラーニングサービス、画像配信サービスなどがある。
【0023】
クラウドサービスを提供する企業であるクラウドサービス提供会社は、アプリケーションのプラットフォームとなる仮想マシンをアプリケーション提供会社にレンタルする。アプリケーション提供会社は、仮想マシン上でアプリケーションプログラムを実行させ、クライアントにアプリケーションサービスを提供する。なお、以下においては、アプリケーション提供会社からアプリケーションサービスの提供を受けるクライアントの端末装置をクライアント端末装置と呼ぶ。
【0024】
図1に示すように、クラウドサービス提供会社側のコンピュータシステム3は、インターネット2にLAN側入出力ポートを接続したルータ10と、ルータ10のLAN側入出力ポートに接続されたサーバシステム11と、ストレージシステム16とを有している。
【0025】
このサーバシステム11は、後述するようにインターネットに接続された複数のブレードサーバで構成され、これらのブレードサーバ上で多数の仮想マシンを動作させることができるようにしている。ここでは、多数の仮想マシンのうち、アプリケーション提供会社は二つの仮想マシンを用いて、クライアントにアプリケーションサービスを提供する。一つは、アプリケーションサーバ(以下、「APサーバ」とする)として用いる仮想マシンであり、もう一つは、データベースサーバ(以下、「DBサーバ」という)として用いる仮想マシンである。図1に示す例では、第1ブレードサーバ121上で動作する仮想マシンを仮想APサーバ13x1として用い、第7ブレードサーバ127上で動作する仮想マシンを仮想DBサーバ13x2として用いている。
【0026】
また、ストレージシステム16を構成する多数のストレージのうち一つのストレージを、仮想DBサーバ13x2が記憶制御を行うストレージ14xとして用いる。また、アプリケーション提供会社は、このストレージ14xを企業外データベースとして用いる。仮想DBサーバ13x2は、仮想DBサーバ13x2からの要求に応じて、ストレージ14xへのデータの記憶やストレージ14xに記憶しているデータの読み出しを行う。
【0027】
アプリケーション提供会社のコンピュータシステム4は、ルータ20と、企業内サーバの一例であるフロントエンドサーバ21と、ストレージ22と、企業内データベースサーバの一例であるDBサーバ23と、管理端末装置24とを有しており、これらはアプリケーション提供会社の企業内ネットワークであるLANで接続されている。DBサーバ23は、外部からの要求に応じて、ストレージ22へのデータの記憶やストレージ22に記憶しているデータの読み出しを行う。なお、管理端末装置24は、DBサーバ23を介してストレージ22へのデータの追加やデータの更新を行うことができる装置であり、アプリケーション提供会社は管理端末装置24を操作してストレージ22のデータの追加、削除、更新などを行って、データを管理することができる。
【0028】
フロントエンドサーバ21は、インターネット2を介して、仮想APサーバ13x1との間で通信することができるようになっている。仮想APサーバ13x1とコンピュータシステム4内ネットワークとの間は、VPN(Virtual Private Network)接続によりセキュアな通信が確立される。すなわち、ルータ20はVPN機能を有し、また、仮想APサーバ13x1には、VPN接続用のプログラムが記憶されており、仮想APサーバ13x1はルータ20とVPN接続を行っている。
【0029】
アプリケーション提供会社のアプリケーションサービスには、クライアント端末装置1a,1b,1c,…の使用者が加入しており、各クライアント端末装置1a,1b,1c,…からフロントエンドサーバ21にアクセスしてアプリケーション提供会社のアプリケーションサービスを受ける。なお、クライアント端末装置1a,1b,1c,…のうち何れかのクライアント端末装置又は全てのクライアント端末装置を示す場合には、便宜上、クライアント端末装置1という。
【0030】
フロントエンドサーバ21に宛てに、クライアント端末装置1からインターネット2経由での通信パケットがフロントエンドサーバ21宛てに送信されたとき、ルータ20は、クライアント端末装置1からの通信パケットをフロントエンドサーバ21に中継する。また、フロントエンドサーバ21からクライアント端末装置1への通信パケットもルータ20によりクライアント端末装置1へ中継される。クライアント端末装置1は、フロントエンドサーバ21との間で、提供を受けるサービスに応じた通信パケットを送受信することで、アプリケーションサービスの提供を受ける。
【0031】
本実施形態に係るアプリケーションサービス提供システムでは、クライアント端末装置1からアクセスされたフロントエンドサーバ21は、必要に応じてDBサーバ23や仮想APサーバ13x1と通信して、クライアント端末装置1からの要求に応じた処理を行うようにしている。
【0032】
また、DBサーバ23及びストレージ22は、共にアプリケーション提供会社の企業内ネットワークに配置されており、ストレージ22に、企業秘匿情報を含むアプリケーション用の情報が記憶される。企業秘匿情報には、クライアントの個人情報やアプリケーション提供会社の社内の機密情報などの重要な情報が含まれる。従って、企業秘匿情報をアプリケーション提供会社側の企業内ネットワーク内で管理することができ、クラウドサービス提供会社に預けることなく、アプリケーション提供会社側で企業秘匿情報を管理することができる。
【0033】
しかも、DBサーバ23に加え、フロントエンドサーバ21を社内に配置しているため、企業秘匿情報などのセキュリティデータは、アプリケーション提供会社の企業内ネットワークとクライアント端末装置1との間のみ送受信される。
【0034】
従って、アプリケーション提供会社は、社内のセキュリティ管理を厳密に行うことにより、クラウドサービス提供会社側のセキュリティ対策を気にすることなく、クラウドサービスを利用することが可能となる。そのため、アプリケーション提供会社は、セキュリティ管理を厳密に行いつつも、クラウドサービスを利用して、比較的低コストで、アプリケーションサービスを運用することができる。
【0035】
一方、セキュリティ管理が必要ない処理は、仮想APサーバ13x1や仮想DBサーバ13x2で処理するようにしている。すなわち、フロントエンドサーバ21は、クライアント端末装置1の要求を受け付けたとき、仮想APサーバ13x1と通信してセキュリティ管理が必要ない処理を仮想APサーバ13x1に実行させる。このとき、仮想APサーバ13x1は、必要に応じて仮想DBサーバ13x2に対してストレージ14xへのデータの記憶やストレージ14xからのデータの読み出しを行って、処理を実行する。
【0036】
従って、仮想APサーバ13x1や仮想DBサーバ13x2に負荷の重い処理を行わせ、フロントエンドサーバ21やDBサーバ23での処理負荷を抑えることで、社内に配置するコンピュータ資源の規模を抑えることができる。これにより社内のコンピュータ資源の導入コストや運用コストを低減させることができる。
【0037】
しかも、処理負荷に応じて仮想APサーバ13x1や仮想DBサーバ13x2のリソース(CPUやメモリなど)を増減させるようにしている。そのため、リソースの利用量に応じてサービス料金が変わるようなクラウドサービスの場合、アプリケーション提供会社は、クラウドサービスの利用料金を有効に抑えることができる。
【0038】
以上のように構成されるアプリケーションサービス提供システムの概略動作について図2を参照して説明する。
【0039】
図2に示すように、まず、アプリケーションサービスのクライアントは、クライアント端末装置1を用いてアプリケーションサービスを受けるための所定の操作を行う。この操作を受けてクライアント端末装置1は、インターネット2を介して、フロントエンドサーバ21に対し、操作に応じた要求を行う(ステップS11)。
【0040】
クライアント端末装置1から要求を受け付けると、フロントエンドサーバ21は、仮想APサーバ13x1と通信が必要か否かを判定する(ステップS12)。すなわち、フロントエンドサーバ21は、クライアント端末装置1からの要求が、仮想APサーバ13x1によって処理されるべきであるか否かを判定する。
【0041】
このステップS12の処理において、仮想APサーバ13x1と通信が必要であると判定すると(ステップS12:YES)、フロントエンドサーバ21は、仮想APサーバ13x1に、受信した要求に対応するリクエストを送信する。このとき、フロントエンドサーバ21と仮想APサーバ13x1との間の通信経路のうちインターネット2における通信経路は、VPN接続されていることから、フロントエンドサーバ21は、仮想APサーバ13x1との間でセキュアな通信を行うことができる。なお、ここでは、仮想APサーバ13x1とDBサーバ23との間でセキュアな通信を行うために、VPN接続を行うようにしているが、HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)プロトコルを用いて、セキュアな通信を行うようにしてもよい。
【0042】
次に、仮想APサーバ13x1は、フロントエンドサーバ21からインターネット2を介して送信されるリクエストを受信すると、公開情報にアクセスが必要か否かを判定する(ステップS13)。公開情報とは企業内秘匿情報以外の情報である。公開情報にアクセスが必要であると判定すると(ステップS13:YES)、仮想APサーバ13x1は、仮想DBサーバ13x2に、リクエストに応じた問い合わせを行う(ステップS14)。仮想DBサーバ13x2は、仮想APサーバ13x1からの問い合わせに応じてストレージ14xへのデータの記憶やストレージ14xからのデータの読み出しを行って、その記憶処理又は読み出し処理の結果を仮想APサーバ13x1へ送信する(ステップS15)。仮想APサーバ13x1は、仮想DBサーバ13x2から取得した結果に基づいて処理を行い(ステップS16)、その処理結果をフロントエンドサーバ21へ送信する(ステップS17)。なお、仮想APサーバ13x1は、必要に応じて仮想DBサーバ13x2から取得した結果をそのままフロントエンドサーバ21へ送信する。
【0043】
一方、フロントエンドサーバ21は、仮想APサーバ13x1と通信が必要ではないと判定したとき(ステップS12:NO)、又は、要求した処理の結果が仮想APサーバ13x1から返信されたとき、企業内秘匿情報にアクセスが必要か(すなわち、企業内秘匿情報に基づく処理が必要か)否かを判定する(ステップS18)。例えば、クライアント端末装置1からのリクエストが、アプリケーションサービスへの登録要求や接続要求であり、クライアントのパスワード、ID、氏名、住所、職業などの個人情報を含むものであるとき、企業内秘匿情報にアクセスが必要であると判定する。ここで、アプリケーションサービスへの登録要求とは、クライアントがクライアント端末装置1を用いてアプリケーションサービスを利用するために事前に行う要求であり、クライアントのパスワード、ID、氏名、住所、職業などの個人情報を登録するための要求である。また、アプリケーションサービスへの接続要求とは、クライアントがクライアント端末装置1を用いてアプリケーションサービスを利用する際に行う要求であり、クライアントのパスワード及びIDを含む。仮想APサーバ13x1は、この接続要求に含まれるクライアントのパスワード及びIDによりクライアントの認証を行う。この処理において、企業内秘匿情報にアクセスが必要であると判定すると(ステップS18:YES)、フロントエンドサーバ21は、DBサーバ23に、問い合わせを行う(ステップS19)。次に、DBサーバ23は、フロントエンドサーバ21からの問い合わせに応じてストレージ22へのデータの記憶やストレージ22からのデータの読み出しを行って、その記憶処理又は読み出し処理の結果をフロントエンドサーバ21へ送信する(ステップS20)。
【0044】
次に、フロントエンドサーバ21は、ステップS21の処理を実行する。すなわち、ステップS20の処理が終了したとき、フロントエンドサーバ21は、DBサーバ23から取得した結果に基づいて処理を行う。また、企業内秘匿情報にアクセスが必要でないと判定したときステップS18:NO)、フロントエンドサーバ21は、クライアント端末装置1の要求に応じた処理を行う。このとき、フロントエンドサーバ21は、仮想DBサーバ13x2から仮想APサーバ13x1を介して取得した結果がある場合には、この結果に基づく処理を行う。このとき、仮想DBサーバ13x2から仮想APサーバ13x1を介して取得した結果がある場合には、この結果とDBサーバ23から取得した結果とに基づく処理を行う。
【0045】
その後、フロントエンドサーバ21は、ステップS21で行った処理の結果を要求元のクライアント端末装置1へ送信し(ステップS22)、クライアント端末装置1はフロントエンドサーバ21から送信される結果を受信する(ステップS23)。
【0046】
[2.各構成要素の構成及び動作]
次に、アプリケーションサービス提供システムを構成する各要素の構成及び動作についてそれぞれ説明する。
【0047】
[2.1.クライアント端末装置1の構成及び動作]
まず、クライアント端末装置1の構成について説明する。このクライアント端末装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能である。クライアント端末装置1は、このクライアント端末装置1のユーザであるクライアントが所有するものである。図3に示すように、クライアント端末装置1は、制御部101と、記憶部102と、通信部103と、操作部104と、情報取得部105と、提示部106とを備えており、これらはシステムバス107を介して相互に接続されている。
【0048】
制御部101は、クライアント端末装置1全体を制御するものであり、CPU(Central Processing Unit)、内部メモリなどから構成される。記憶部102は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置であり、例えば、フラッシュメモリから構成される。通信部103は、他の装置とインターネット2を介して通信するための通信インターフェイスである。操作部104は、各種設定入力を行うための操作部である。情報取得部105は、カメラやマイクから構成され、カメラから撮像した映像情報を出力し、マイクから取得した音声情報を出力する。提示部106は、液晶表示装置などからなるディスプレイやスピーカーから構成されており、映像情報や音声情報を再生する
【0049】
以上のように構成されたクライアント端末装置1の動作について説明する。この処理は、クライアント端末装置1の制御部101が実行する処理である。図4に示すように、アプリケーションサービスのクライアントであるユーザが、操作部104を操作してアプリケーションサービスを受けるための所定の操作を行うと、この操作を受けて制御部101は、通信部103を介して、フロントエンドサーバ21に対し、操作部104への操作に応じた要求を行う(ステップS30)。その後、制御部101は、ステップS30で行った要求に対してフロントエンドサーバ21から送信される結果を通信部103を介して受信し、その結果に応じて提示部106への表示や制御を行う(ステップS31)。以降、制御部101は、ステップS30,S31の処理を繰り返す。
【0050】
[2.2.フロントエンドサーバ21の構成及び動作]
次に、フロントエンドサーバ21の構成及び動作について説明する。フロントエンドサーバ21は、一般のサーバコンピュータを適用可能である。フロントエンドサーバ21は、ユーザの企業によって管理される。図5に示すように、フロントエンドサーバ21は、制御部201と、記憶部202と、通信部203と、操作部204とを備え、これらはシステムバス205を介して相互に接続されている。
【0051】
制御部201は、フロントエンドサーバ21全体を制御する。記憶部202は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置である。通信部203は、アプリケーション提供企業の社内のネットワークであるLANに接続され、他の装置と通信するための通信インターフェイスである。操作部204は、各種設定入力を行うための操作部である。
【0052】
制御部201は、CPU、内部メモリなどから構成される。CPUは内部メモリに記憶されているプログラムを読み出して実行することによって、クライアント受付手段、判定手段、第1要求処理手段、第2要求処理手段、処理結果送信手段、課金手段等として機能する。
【0053】
次に、フロントエンドサーバ21での処理を説明する。この処理は、フロントエンドサーバ21の制御部201が実行する処理である。図6に示すように、制御部201は、クライアント端末装置1から要求を受信すると(ステップS40)、仮想APサーバ13x1と通信が必要か否かを判定する(ステップS41)。この処理において、仮想APサーバ13x1と通信が必要であると判定すると(ステップS41:YES)、制御部201は、仮想APサーバ13x1に、受信した要求に対応するリクエストを送信する(ステップS42)。このリクエストに対する結果を仮想APサーバ13x1から受信したとき(ステップS43)、又は、仮想APサーバ13x1と通信が必要ではないと判定したとき(ステップS41:NO)、制御部201は、公開情報にアクセスが必要か否かを判定する(ステップS44)。そして、公開情報へのアクセスの必要がないと判断すると(ステップS44:NO)、制御部201は、処理をステップS47に移行させる。一方、公開情報にアクセスが必要と判断すると(ステップS44:YES)、制御部201は、DBサーバ23にアクセスし(ステップS45)、その結果をDBサーバ23から受信する(ステップS46)。その後、制御部201は、仮想APサーバ13x1による処理の結果やDBサーバ23から受信した結果などに基づいて、クライアントの要求に対する最終的な処理結果を生成して、クライアント端末装置1へ送信する(ステップS47)。以降、制御部201は、ステップS40〜S47までの処理を繰り返す。
【0054】
また、フロントエンドサーバ21は、クライアント端末装置1ごとの仮想APサーバ13x1及び仮想DBサーバ13x2の利用履歴に基いて、課金処理を実行する。
【0055】
[2.3.DBサーバ23の構成及び動作]
次に、企業内データベースサーバであるDBサーバ23の構成について説明する。DBサーバ23は、一般のサーバコンピュータを適用可能である。DBサーバ23は、ユーザの企業によって管理される。図7に示すように、DBサーバ23は、制御部301と、記憶部302と、通信部303と、操作部304とを備えており、これらはシステムバス305を介して相互に接続されている。
【0056】
制御部301は、DBサーバ23全体を制御する。記憶部302は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置である。また、記憶部302には企業内秘匿情報が記憶される。通信部303は、アプリケーション提供企業内のネットワークであるLANに接続され、他の装置と通信するための通信インターフェイスである。ストレージ22には企業内秘匿情報が記憶されおり、DBサーバ23は、ストレージ22から企業内秘匿情報を読み出したり、ストレージ22へ企業内秘匿情報を記憶したりする。
【0057】
制御部301は、CPU、内部メモリなどから構成される。CPUは内部メモリに記憶されているプログラムを読み出して実行することによって、記憶処理手段等として機能する。
【0058】
次に、DBサーバ23での処理を説明する。この処理は、DBサーバ23の制御部301が実行する処理である。図8に示すように、制御部301は、フロントエンドサーバ21からのリクエストを受信すると(ステップS50)、次に、ストレージ22にアクセスして、フロントエンドサーバ21からの要求に応じてストレージ22への企業内秘匿情報の記憶やストレージ22からの企業内秘匿情報の読み出しなどを行う(ステップS51)。その後、制御部301は、ステップS51で行った記憶処理又は読み出し処理の結果をフロントエンドサーバ21へ送信する(ステップS52)。以降、制御部301は、ステップS50〜S52までの処理を繰り返す。
【0059】
[2.4.仮想APサーバ13x1、仮想DBサーバ13x2の構成及び動作]
仮想APサーバ13x1、仮想DBサーバ13x2は、上述したようにサーバシステム11上に形成される仮想マシンである。
【0060】
サーバシステム11は、図9に示すように、複数のブレードサーバ121〜12nと、ストレージ141〜14nと、サーバ管理装置15とから構成される。なお、ブレードサーバ121〜12nのうち何れかのブレードサーバ又は全てのブレードサーバを示す場合には、便宜上、ブレードサーバ12という。また、ストレージ141〜14nのうち何れかのストレージ又は全てのストレージを示す場合には、便宜上、ストレージ14という。
【0061】
各ブレードサーバ12は、CPU401と、ROM402と、RAM403と、入出力部404と、通信部405と、ハードディスク(HDD)406とを有しており、これらはシステムバス407を介して相互に接続されている。入出力部404は、サーバ管理装置15とのデータの送受信を行うための通信インターフェイスであり、通信部405は、クラウドサービス提供会社の社内のネットワークであるLANに接続するための通信インターフェイスである。
【0062】
このように構成されたブレードサーバ121〜12n上で、複数の仮想マシン131〜13nが動作する。なお、複数の仮想マシン131〜13nのうち何れかの仮想マシン又は全ての仮想マシンを示す場合には、便宜上、仮想マシン13という。
【0063】
図10にブレードサーバ12上のアーキテクチャを示す。同図に示すように、ブレードサーバ12では、そのベースプログラムでメインOSが動作する。そしてメインOS上で仮想マシンを動作させるためのプログラムである仮想マシンプログラムが動作する。そして、この仮想マシンプログラム上で複数のゲストOSを動作することができるようにしている。各ゲストOS上では、1以上のアプリケーションプログラムを動作させることができる。
【0064】
サーバ管理装置15は、各ブレードサーバ12を制御及び管理する装置であり、ゲストOSに割り当てるリソース(CPU401,ROM402,RAM403,HDD406など)を管理する。例えば、サーバ管理装置15は、仮想マシン13によるリソースの利用率に応じて、仮想マシン13に割り当てるリソースを変更することができる。また、サーバ管理装置15は、アプリケーションプログラムの実行開始や実行停止などを制御することができる。さらに、各ブレードサーバ12と通信を行って、ゲストOSやアプリケーションプログラムの追加、削除又は更新を行う。
【0065】
本実施形態では、ブレードサーバ12上で動作する仮想マシン13のうち、ブレードサーバ121上で動作する仮想マシンを仮想APサーバ13x1として用い、ブレードサーバ132上で動作する仮想マシンを仮想DBサーバ13x2として用いる(図1参照)。
【0066】
ブレードサーバ12上で動作する仮想APサーバ13x1は、図11に示すように、ブレードサーバ12のリソースを利用することで、制御部411、記憶部412、通信部413などとして機能し、アプリケーション用プログラムを実行する。制御部411は、サーバ受付手段、処理手段、処理結果送信手段等として機能する。
【0067】
また、仮想DBサーバ13x2は、図12に示すように、ブレードサーバ12のリソースを利用することで、制御部421、記憶部422、通信部423などとして機能し、データベースサーバ用プログラムを実行する。仮想DBサーバ13x2は、ストレージ141〜14nのうち予め設定されたストレージ14xからデータを読み出したり、ストレージ14xへデータを記憶したりする。このストレージ14xには、企業内秘匿情報以外の情報が記憶される。なお、制御部421は、記憶処理手段等として機能する。
【0068】
次に、仮想APサーバ13x1での処理を説明する。この処理は、仮想APサーバ13x1の制御部411が実行する処理である。図13に示すように、制御部411は、フロントエンドサーバ21からリクエストを受信すると(ステップS60)、公開情報にアクセスする必要がある否かを判定する(ステップS61)。この処理において、公開情報にアクセスする必要なないと判定すると(ステップS61:NO)、制御部411は、処理をステップS64に移行させる。一方、公開情報にアクセスする必要があると判定すると(ステップS61:YES)、制御部411は、仮想DBサーバ13x2にアクセスする(ステップS62)。このアクセスに対してその後仮想DBサーバ13x2から送信される結果を受信したとき(ステップS63)、制御部411は、この結果に応じた処理を必要に応じて行い、その処理結果又は仮想DBサーバ13x2から送信される結果をフロントエンドサーバ21へ送信する(ステップS64)。以降、制御部411は、ステップS60〜S64までの処理を繰り返す。
【0069】
次に、仮想DBサーバ13x2での処理を説明する。この処理は、仮想DBサーバ13x2の制御部421が実行する処理である。図14に示すように、制御部421は、フロントエンドサーバ21や仮想APサーバ13x1からのリクエストを受信すると(ステップS70)、ストレージ操作を行う(ステップS71)。この処理において、制御部421は、ストレージ22にアクセスして、フロントエンドサーバ21や仮想APサーバ13x1からのリクエストに応じてストレージ14xへの情報の記憶やストレージ14xからのデータの読み出しなどを行う。制御部421は、ステップS71で行った記憶処理又は読み出し処理の結果を仮想APサーバ13x1へ送信する(ステップS72)。以降、制御部421は、ステップS70〜S72までの処理を繰り返す。
【0070】
[本実施形態を適用したWeb会議システム]
次に、上述した構成を有するアプリケーションサービス提供システムを用いたWeb会議サービスのシステム(以下、「Web会議システム」)について具体的に説明する。このWeb会議システムは、アプリケーション提供会社において、SIPサーバの機能を有するフロントエンドサーバ21及びDBサーバ23を用いつつ、さらにブレードサーバ12上で設定した仮想マシン13でアプリケーションソフトウェアを動作させることにより実行されるものである。ここでは、一例として、アプリケーション提供会社が、サーバシステム11上で動作する仮想マシンをレンタルして、この仮想マシンをAPサーバ及びDBサーバとして用いて、Web会議サービスを提供するものとして説明する。以下においては、仮想マシンにより形成されるAPサーバを仮想APサーバ13x1とし、仮想マシンにより形成されるDBサーバを仮想DBサーバ13x2とする。また、仮想DBサーバ13x2は、ストレージ14xを記憶手段として用いるものとする。
【0071】
以下の説明において、このWeb会議システムは、フロントエンドサーバ21を介してクライアント端末装置1間で映像情報や音声情報の送受信を行うことによって、遠隔地間での会議を可能とするものである。以下においては、音声情報の処理については省略するが、映像情報の処理と同様の処理である。
【0072】
図1に示す構成において、クライアント端末装置1a〜1cを使用するクライアントA〜Cの3者がWeb会議を行う場合、クライアントAが使用するクライアント端末装置1aの提示部106には、クライアント端末装置1b及び1cで取得した映像情報が提示される。また、クライアントBが使用するクライアント端末装置1bの提示部106には、クライアント端末装置1a及び1cで取得した映像情報が提示される。また、クライアントCが使用するクライアント端末装置1cの提示部106には、クライアント端末装置1a及び1bで取得した映像情報が提示される。また、フロントエンドサーバ21は、各クライアント端末装置1から取得した映像情報に基づいて、各クライアント端末装置1に送信するための映像情報を加工して送信する。
【0073】
また、ストレージ22には、図16に示すように、クライアント端末装置1毎の情報が登録される第1テーブルと、開催される会議の開始時刻や終了時刻などの情報が登録される第2テーブルと、会議に参加するクライアント端末装置1の情報が登録される第3テーブルとが記憶される。また、ストレージ14xには、図17に示すように、クライアント端末装置1毎の画像情報に関する情報が登録される設定情報テーブルが記憶される。
【0074】
Web会議を行うには、事前に主催者のクライアント端末装置1から後述の会議情報をストレージ22に登録する必要がある。また、Web会議に参加するためには、参加する各クライアント端末装置1において、参加準備の操作を行う必要がある。
【0075】
このWeb会議システムにおいては、以下の3つの処理が行われる。
(1)主催する会議をDBサーバ23に登録するための「登録処理」
(2)会議への参加手続きを行うための「参加準備処理」
(3)Web会議を行うための「会議処理」
以下、それぞれの処理について、具体的に説明する。
【0076】
[登録処理]
まず、登録処理について、図15を参照しつつ説明する。この処理は、会議を主催するクライアントのクライアント端末装置1と、フロントエンドサーバ21と、DBサーバ23と、仮想APサーバ13x1と、仮想DBサーバ13x2とで実行される。
【0077】
まず、クライアント端末装置1は、会議の主催者から操作部104を介して拠点ID及びパスワードの入力、及び、認証処理の実行指示を受け付け、この受け付けた情報に基づいた認証処理の要求を、フロントエンドサーバ21に送信する(ステップS81)。この要求には、認証処理の実行要求を示す情報と、拠点ID及びパスワードとが含まれる。なお、この際、拠点IDやパスワードに対して所定の暗号化処理を施してもよい。
【0078】
次に、フロントエンドサーバ21は、認証処理のリクエストを受け付けると、DBサーバ23に対し、認証処理リクエストを送信する(ステップS82)。
【0079】
次に、DBサーバ23は、認証処理リクエストを受け付けると、認証処理を行う(ステップS83)。DBサーバ23は、ストレージ22に記憶している第1テーブル(図16)を参照して認証処理を行う。すなわち、この認証処理において、受信した認証処理リクエストに含まれる拠点IDとパスワードの組み合わせがストレージ22の第1テーブルに登録されているかどうかの照合を行う。拠点IDとパスワードとの組み合わせが第1テーブルに登録されているとき、DBサーバ23は、認証が成功したと判定し、それ以外の場合には認証が失敗したと判定する。なお、ストレージ22に記憶される拠点IDやパスワードについても、クライアント端末装置1での処理と同様に、暗号化処理を施してもよく、この場合には照合の際に復号化することになる。
【0080】
ここで、ストレージ22に記憶されている第1テーブルのデータ構造について説明する。図16に示すように、第1テーブルには、クライアント端末装置1毎の設定として、「拠点ID」,「IPアドレス」,「パスワード」,「担当者名」,「電話番号」,「会社名」,「サービス内容」,「メールアドレス」が記憶されている。
【0081】
次に、DBサーバ23は、認証処理リクエストを送信したフロントエンドサーバ21に対し、認証結果を送信する(ステップS84)。認証結果には、認証が成功したか否かを示す情報、すなわち認証OKを示す情報または認証NGを示す情報が含まれる。
【0082】
フロントエンドサーバ21は、DBサーバ23から認証結果を受信すると、ステップS82で受け付けたリクエストを送信したクライアント端末装置1に対し、その認証結果を送信する(ステップS85)。
【0083】
クライアント端末装置1は、認証OKを示す情報を含む認証結果を受信すると、会議の主催者から操作部104を介して主催する会議の情報(以下、「会議情報」という)の入力を受け付け、また、会議情報登録処理の実行処理を受け付ける。そして、受け付けた情報に基づいた会議情報登録処理の要求を、フロントエンドサーバ21に送信する(ステップS86)。ここで、会議情報には、会議に参加するクライアントが使用するクライアント端末装置1の拠点ID(以下、「会議参加拠点ID」という)、及び、会議の予定開始時間/予定終了時間が含まれている。また、参加に参加する各クライアント端末装置1上の表示レイアウトの設定情報(後述)についてもこの要求に含まれる。また、クライアント端末装置1別の使用コーデックの情報もこの要求に含まれる。
【0084】
フロントエンドサーバ21は、会議情報登録処理の要求を受け付けると、一時IDを生成する(ステップS87)。一時IDは、後述する第3テーブルと、設定情報テーブルとを関連付けるためのIDである。
【0085】
次に、フロントエンドサーバ21は、DBサーバ23に会議情報登録リクエストを送信し(ステップS88)し、さらに、仮想APサーバ13x1に対し、会議設定情報登録リクエストを送信する(ステップS90)。会議情報登録リクエストには、会議情報及び一時IDが含まれる。また、この会議設定情報登録リクエストには、会議参加拠点IDと一時IDとの対が含まれている。
【0086】
DBサーバ23は、フロントエンドサーバ21から会議情報登録リクエストを受け付けると、会議情報登録処理を行う(ステップS89)。会議情報登録処理では、受信した会議情報登録処理リクエストに基いて、会議情報をストレージ22の第2テーブル及び第3テーブルに登録する。すなわち、DBサーバ23は、会議情報登録リクエストに含まれる会議情報のうち、会議の予定開始時間及び予定終了時間と、会議情報登録処理の要求を行ったクライアント端末装置1の拠点ID(開催拠点ID)とを、新たに発行した会議IDに関連づけて第2テーブルに登録する。また、DBサーバ23は、会議情報登録リクエストに含まれる会議情報のうち、会議参加拠点IDと設定情報とを新たに発行した会議IDに関連づけて第3テーブルに登録する。
【0087】
ここで、ストレージ22に記憶されている第2テーブル及び第3テーブルのデータ構造について説明する。図16に示すように、第2テーブルには、会議IDをキーとして、主催者のクライアント端末装置1を示す「開催拠点ID」,会議の開始時刻を示す「予定開始時間」,会議の終了時刻を示す「予定終了時刻」が記憶されている。また、図16に示すように、第3テーブルには、会議IDをキーとして、会議に参加するクライアント端末装置1の識別番号を示す「会議参加拠点ID」と「一時ID」が記憶されている。
【0088】
仮想APサーバ13x1は、会議設定情報登録リクエストを受信すると、仮想DBサーバ13x2に対し、会議設定情報登録リクエストを転送する(ステップS90)。
【0089】
次に、仮想DBサーバ13x2は、会議設定情報登録リクエストを受け付けると、会議設定情報登録処理を行う(ステップS91)。会議設定情報登録処理では、受信した会議設定情報登録リクエストに基いて、会議参加拠点IDと一時IDの対を、ストレージ14xの設定情報テーブルに登録する。
【0090】
ここで、ストレージ14xに記憶されている設定情報テーブルのデータ構造について説明する。図17に示すように、設定情報テーブルには、一時IDをキーとして、「画像品質ID」と「画像フォーマットID」とが対応付けられている。「画像品質ID」は数字によって規定されており、各数字に対応して、コーデックの種類が予め定義されている。また、「画像フォーマットID」は数字によって規定されており、各数字に対応して、クライアント端末装置1の提示部106の表示レイアウト(例えば、自身のクライアント端末装置の映像情報の表示の要否や、各クライアント端末装置の映像情報の表示位置)が予め定義されている。
【0091】
[参加準備処理]
次に、参加準備処理について、図18を参照しつつ説明する。この処理は、Web会議に参加するクライアントが保有する各クライアント端末装置1に対し、Web会議が行われることを通知し、かつ、各クライアント端末装置1の認証を行うための処理である。
【0092】
まず、フロントエンドサーバ21は、DBサーバ23に対し、会議情報リクエストを送信する(ステップS101)。このステップS101の処理は、所定時間間隔ごとに、繰り返し行われる。
【0093】
DBサーバ23は、会議情報リクエストを受信すると、ストレージ22に記憶されている第1〜第3テーブルを参照して会議情報を抽出する(ステップS102)。具体的には、DBサーバ23は、現時刻から所定時間内に開始される会議IDを抽出する。そして、第3テーブルを参照して、抽出した会議IDを検索キーとして、会議参加拠点IDを抽出する。そして、第1テーブルを参照して、抽出した会議参加拠点IDを検索キーとして、メールアドレスを抽出する。そして、DBサーバ23は、これら抽出した情報を会議情報として、フロントエンドサーバ21に送信する(ステップS103)。
【0094】
フロントエンドサーバ21は、DBサーバ23から会議情報を受信すると(ステップS104)、受信した会議情報に含まれる会議参加拠点IDのクライアント端末装置1に対して、会議が行われることを示す会議通知情報を電子メールで送信する(ステップS105)。
【0095】
クライアント端末装置1は、フロントエンドサーバ21から送信される会議通知情報を受信し、クライアントから操作部104を介して拠点ID及びパスワードの入力、及び、認証処理の実行指示を受け付けると、受け付けた情報に基づいた認証処理リクエストを、フロントエンドサーバ21に送信する(ステップS106)。フロントエンドサーバ21は、認証処理リクエストを受信すると、DBサーバ23に対し、認証処理リクエストを送信する(ステップS107)。
【0096】
DBサーバ23は、フロントエンドサーバ21から認証処理リクエストを受信すると、認証処理を行う(ステップS108)。この認証処理は、ストレージ22に記憶している第1テーブルと第3テーブルを参照して行われる。すなわち、DBサーバ23は、認証処理リクエストに含まれる拠点IDとパスワードとの組み合わせが、第1テーブルに登録されているかを判定し、第1テーブルに登録されていれば、さらに、第3テーブルに拠点IDが登録されているかを判定する。いずれにも登録されているとき、DBサーバ23は、認証が成功したと判定し、それ以外の場合は、認証が失敗したと判定する。この認証処理が終了すると、DBサーバ23は、認証が成功したときには、ストレージ22に記憶されている第3テーブルから一時IDを取得し、この一時IDを、認証OKを示す情報と共に送信する(ステップS109)。
【0097】
フロントエンドサーバ21は、DBサーバ23から認証OKを示す情報及び一時IDを含む認証結果を受信すると(ステップS110)、会議設定情報リクエストを仮想APサーバ13x1に送信する(ステップS111)。この会議設定情報リクエストには、DBサーバ23から取得した一時IDが含まれる。
【0098】
仮想APサーバ13x1は、会議設定情報リクエストを受信すると、仮想DBサーバ13x2に対し、会議設定情報リクエストを送信する(ステップS112)。この会議設定情報リクエストには、一時IDが含まれている。
【0099】
仮想DBサーバ13x2は、会議設定情報リクエストを仮想APサーバ13x1から受信すると、この会議設定情報リクエストに含まれる一時IDに基づいて、ストレージ14xに記憶されている設定情報テーブルを参照し、一時IDをキーとして、画面品質IDや画面フォーマットIDを抽出する(ステップS113)。そして、仮想DBサーバ13x2は、抽出した画面品質IDや画面フォーマットIDを、画面情報として、仮想APサーバ13x1に送信する(ステップS114)。
【0100】
仮想APサーバ13x1は、仮想DBサーバ13x2から画面情報を受信すると、この画面情報をステップS106で認証情報を送信したクライアント端末装置1の拠点IDと対応づけて記憶部412に記憶する(ステップS115)。そして、仮想APサーバ13x1は、会議設定情報の登録が完了したことを示す完了情報を、フロントエンドサーバ21に送信する(ステップS116)。
【0101】
フロントエンドサーバ21は、完了情報を仮想APサーバ13x1から受信すると、認証処理の要求を送信したクライアント端末装置1に対して、会議設定情報の登録の結果を送信する(ステップS117)。なお、クライアント端末装置1は、記憶部102に会議中フラグを有し、会議開示時刻になると、そのフラグがONとなるものとする。
【0102】
[会議処理]
次に、会議処理について、図19を参照しつつ説明する。この処理は、Web会議に参加する各クライアント端末装置1とフロントエンドサーバ21と仮想APサーバ13x1との間で実行される処理である。なお、図19では、説明の便宜上、クライアント端末装置1aとクライアント端末装置1bの2つのクライアント端末装置を示しているが、実際は、会議に参加するクライアント端末装置1の数だけ同様の処理が、Web会議中繰り返し行われる。
【0103】
まず、クライアント端末装置1aは、情報取得部105を介して取得した映像情報をフロントエンドサーバ21に送信する(ステップS120a)。同様に、クライアント端末装置1bは、情報取得部105を介して取得した映像情報をフロントエンドサーバ21に送信する(ステップS120b)。
【0104】
フロントエンドサーバ21は、各クライアント端末装置1から映像情報を受信すると、各映像情報を仮想APサーバ13x1に転送する(ステップS121)。
【0105】
次に、仮想APサーバ13xは、各クライアント端末装置1の映像情報をフロントエンドサーバ21から受信すると(ステップS122)、受信した映像情報に基づいて、各クライアント端末装置1に送信する映像を生成する(ステップS123)。このとき、記憶部412に記憶しているクライアント端末装置1毎の画面情報が参照される。その後、仮想APサーバ13x1は、フロントエンドサーバ21に対し、生成した映像情報を送信する(ステップS124)。
【0106】
次に、フロントエンドサーバ21は、仮想APサーバ13x1から映像情報を受信すると、各クライアント端末装置1に対し、受信した映像情報を転送する(ステップS125)。クライアント端末装置1a,1bは、それぞれ、受信した映像情報に基づいて、提示部106に映像情報を提示する(ステップS126a,S126b)。すなわち、映像をディスプレイに表示する。
【0107】
次に、以上のような動作を行うWeb会議システムにおける各要素ごとの具体的な処理について説明する。
【0108】
[クライアント端末装置1での処理]
まず、クライアント端末装置1での処理について、図20を参照しつつ具体的に説明する。
【0109】
まず、制御部101は、クライアントから操作部104を介して認証処理の実行指示を受け付けたか否かを判定する(ステップS130)。この処理において、認証処理の実行指示を受け付けたと判定すると(ステップS130:YES)、制御部101は、フロントエンドサーバ21に対し、認証処理の要求を送信する(ステップS131)。この要求には、拠点ID及びパスワードが含まれる。その後、制御部101は、フロントエンドサーバ21から認証結果を受信する(ステップS132)。
【0110】
一方、ステップS130において、認証処理の実行指示を受け付けていないと判定すると(ステップS130:NO)、制御部101は、会議情報登録処理の実行指示を受け付けたか否かを判定する(ステップS133)。この処理において、会議情報登録処理の実行指示を受け付けたと判定すると(ステップS133:YES)、制御部101は、フロントエンドサーバ21に対し、受け付けた入力に基づいて会議情報登録処理の要求を送信する(ステップS134)。その後、制御部101は、会議情報登録処理の要求に対し、フロントエンドサーバ21から送信される会議情報の登録を示す完了情報を受信する(ステップS135)。
【0111】
一方、ステップS133において、制御部101は、会議情報登録処理の実行指示を受け付けていないと判定すると(ステップS133:NO)、制御部101は、会議開始の時刻であるか否かを判定する(ステップS136)。この判定は、記憶部102に記憶されている会議中フラグがONとなっているかに基づいて行われる。会議開始の時刻ではないと判定すると(ステップS136:NO)、制御部101は、処理をステップS130に移行させ、ステップS130以降の処理を繰り返す。一方、会議開始の時刻であると判定すると(ステップS136:YES)、制御部101は、処理をステップS137に移行させる。
【0112】
ステップS137において、制御部101は、情報取得部105を介して取得した映像情報を、フロントエンドサーバ21に送信する。また、制御部101は、フロントエンドサーバ21から取得した映像情報を、提示部106に提示する(ステップS138)。その後、制御部101は、会議終了か否かを判定する(ステップS139)。この判定は、記憶部102に記憶されている会議中フラグがOFFとなったか否かに基づいて行われる。会議終了ではないと判定すると(ステップS139:NO)、制御部101は、処理をステップS137に移行させ、ステップS137以降の処理を繰り返す。一方、会議終了であると判定すると(ステップS139:YES)、制御部101は、制御部41は、処理をステップS130に移行させ、ステップS130からの処理を繰り返す。
【0113】
[フロントエンドサーバ21における処理(その1)]
次に、フロントエンドサーバ21における処理(その1)について、図21を参照しつつ具体的に説明する。この処理では、クライアント端末装置1から受信した要求に応じた処理を行う。
【0114】
まず、制御部201は、いずれかのクライアント端末装置1から認証処理の要求を受信したか否かを判定する(ステップS140)。この処理において、認証処理の要求を受信したと判定すると(ステップS140:YES)、制御部201は、認証要求リクエストを、DBサーバ23に送信する(ステップS141)。この認証要求リクエストに対して、DBサーバ23から認証結果を受信すると(ステップS142)、制御部201は、その認証結果を、クライアント端末装置1に送信する(ステップS143)。
【0115】
一方、ステップS141において、認証処理の要求を受信していないと判定すると(ステップS141:NO)、制御部201は、会議情報登録処理の要求を受信したか否かを判定する(ステップS144)。会議情報登録処理の要求を受信したと判定すると(S144:YES)、制御部201は、ステップS145において、一時IDを生成する。
【0116】
その後、制御部201は、DBサーバ23に会議情報登録リクエストを送信(ステップS146)し、さらに、仮想APサーバ13x1に会議設定情報登録リクエストを送信する(ステップS147)。その後、制御部201は、DBサーバ23及び仮想APサーバ13x1から、処理が完了をしたことを示す完了情報を受信する(ステップS148)と、処理の結果を、クライアント端末装置1に送信する(ステップS150)。
【0117】
一方、ステップS144において、会議情報登録処理の要求を受信していないと判定すると(ステップS144:NO)、制御部201は、ステップS150において、クライアント端末装置1から映像情報を受信したか否かを判定する。映像情報を受信していないと判定すると(ステップS150:NO)、制御部201は、処理をステップS152に移行させる。一方、映像情報を受信したと判定すると(ステップS150:YES)、制御部201は、受信した映像情報を、仮想APサーバ13x1に転送する(ステップS150)。
【0118】
一方、ステップS152において、仮想APサーバ13x1から映像情報を受信したか否かを判定する。映像情報を受信していないと判定すると(ステップS152:NO)、ステップS140に移行させ、ステップS140の処理を繰り返す。一方、映像情報を受信したと判定すると(ステップS152:YES)、制御部201は、受信した映像情報を、クライアント端末装置1に転送する(ステップS153)。
【0119】
[フロントエンドサーバ21における処理(その2)]
次に、フロントエンドサーバ21における処理(その2)について、図22を参照しつつ具体的に説明する。この処理は、DBサーバ23に、現時刻から所定時間以内に開始される会議が存在するか否かを問い合わせる処理であり、所定時間間隔で繰り返し実行される。なお、上記したその1における処理とは、並列して実行される。
【0120】
まず、制御部201は、DBサーバ23に対し会議情報リクエストを送信する(ステップS160)。この会議情報リクエストに対する応答を受信すると(ステップS161)、制御部201は、受信した応答に会議情報が含まれているか否かを判定する(ステップS162)。なお、ステップS161で送信した会議情報リクエストに該当する会議情報が存在しない場合には、受信した応答には会議情報が含まれていない。
【0121】
会議情報が含まれていないと判定すると(ステップSS162:NO)、制御部201は、この処理を終了する。一方、会議情報が含まれていると判定すると(ステップS162:YES)、制御部201は、会議情報に含まれる会議参加拠点IDのクライアント端末装置1に対して、会議が行われることを示す会議通知情報を電子メールで送信する(ステップS163)。
【0122】
[DBサーバ23における処理]
次に、DBサーバ23における処理について、図23を参照しつつ具体的に説明する。
【0123】
まず、DBサーバ23の制御部301は、フロントエンドサーバ21から認証処理リクエストを受信したか否かを判定する(ステップS170)。認証処理リクエストを受信したと判定すると(ステップS170:YES)、制御部301は、認証処理を実行する(ステップS171)。この認証処理は、上述したように、ストレージ22に記憶されている第1テーブルと第3テーブルを参照して行われる。この認証処理が終了すると、制御部301は、その認証結果をフロントエンドサーバ21に送信する(ステップS172)。
【0124】
一方、ステップS170において、認証処理リクエストを受信していないと判定すると(ステップS170:NO)、制御部301は、会議情報登録リクエストを受信したか否かを判定する(ステップS173)。会議情報登録リクエストを受信したと判定すると(ステップS173:YES)、制御部301は、上述したように、ストレージ22の第3テーブルに会議情報を記憶する(ステップS174)。その後、制御部301は、ステップS174において、会議情報の登録が完了したことを示す完了情報を、フロントエンドサーバ21に送信する(ステップS175)。
【0125】
一方、ステップS173において、会議情報登録リクエストを受信していないと判定すると(ステップS173:NO)、制御部301は、会議情報リクエストを受信したか否かを判定する(ステップS176)。会議情報リクエストを受信していないと判定すると(ステップS176:NO)、制御部301は、処理をステップS170に移行させ、ステップS170以降の処理を繰り返す。一方、会議情報リクエストを受信したと判定すると(ステップS176:YES)、制御部301は、上述したように、ストレージ22に記憶されている第1〜第3テーブルを参照して会議情報を抽出する(ステップS177)。その後、制御部301は、抽出した会議情報を、フロントエンドサーバ21に送信する(ステップS178)。
【0126】
[仮想APサーバ13x1における処理]
次に、仮想APサーバ13x1における処理について、図24を参照しつつ具体的に説明する。
【0127】
まず、仮想APサーバ13x1の制御部411は、会議設定情報登録リクエストを受信したか否かを判定する(ステップS180)。会議設定情報登録リクエストを受信したと判定すると(ステップS180:YES)、制御部411は、受信した会議設定情報登録リクエストを、DBサーバ23に転送する(ステップS181)。
【0128】
一方、ステップS180において、会議設定情報登録リクエストを受信していないと判定すると(ステップS180:NO)、制御部411は、会議設定情報リクエストを受信したか否かを判定する(ステップS182)。会議設定情報リクエストを受信したと判定すると(ステップS182:YES)、制御部411は、受信した会議設定情報リクエストに基づいて会議設定取得のリクエストを、DBサーバ23に転送する(ステップS183)。
【0129】
ステップS182において、会議設定情報リクエストを受信していないと判定すると(ステップS182:NO)、制御部411は、画面情報を受信したか否かを判定する(ステップS184)。画面情報を受信したと判定すると(ステップS184:YES)、制御部411は、受信した画面情報を記憶部412に記憶する(ステップS185)。その後、制御部411は、処理が正常に完了したことを示す完了情報を、クライアント端末装置1に送信する(ステップS186)。
【0130】
一方、ステップS184において、画面情報を受信していないと判定すると(ステップS184:NO)、制御部411は、映像情報を受信したか否かを判定する(ステップS187)。映像情報を受信したと判定すると(ステップS187:YES)、制御部411は、受信した映像情報を、記憶部412に一時的に記憶する(ステップS188)。その後、制御部411は、ステップS188で一時記憶した映像情報に基づき、クライアント端末装置1に送信する映像情報を生成する(ステップS189)。ここで生成する映像情報は、記憶部412に記憶している他のクライアント端末装置1から受信した映像情報を加工して生成される。また、加工時には、記憶部412に記憶している画面情報が参照される。その後、制御部411は、ステップS189で作成した映像情報を、上記クライアント端末装置1に送信する(ステップS190)。
【0131】
映像情報を受信していないと判定すると(ステップS187:NO)、制御部411は、処理をステップS180に移行させ、ステップS180以降の処理を繰り返す。
【0132】
[仮想DBサーバ13x2における処理]
次に、仮想DBサーバ13x2における処理について、図25を参照しつつ具体的に説明する。
【0133】
ステップS200において、制御部421は、会議設定情報登録リクエストを受信したか否かを判定する。会議設定情報登録リクエストを受信したと判定すると(ステップS200:YES)、制御部421は、受信した会議設定情報登録リクエストに基いて、会議参加拠点IDと一時IDの対を、ストレージ14xの設定情報テーブルに登録する(ステップS201)。
【0134】
一方、ステップS200において、会議設定情報登録リクエストを受信していないと判定すると(S200:NO)、制御部421は、会議設定情報リクエストを受信したか否かを判定する(ステップS202)。会議設定情報リクエストを受信していないと判定すると(S202:NO)、制御部421は、処理をステップS200に移行させ、ステップS200以降の処理を繰り返す。一方、会議設定情報リクエストを受信したと判定すると(ステップS202:YES)、制御部421は、設定情報テーブルを参照して、画面情報を取得する(ステップS203)。その後、制御部421は、取得した画面情報を、仮想APサーバ13x1に送信する(ステップS204)。
【0135】
以上説明したとおり、アプリケーション提供会社は、Web会議システムをクラウドサービスを利用してクライアントに提供することができる。
【0136】
しかも、DBサーバ23に加え、フロントエンドサーバ21とDBサーバ23を社内に配置しているため、第1〜第3テーブルなどのような企業秘匿情報などのセキュリティデータは、アプリケーション提供会社の企業内ネットワークとクライアント端末装置1との間のみ送受信される。
【0137】
従って、企業秘匿情報をアプリケーション提供会社側の企業内ネットワーク内で管理することができ、クラウドサービス提供会社に預けることなく、アプリケーション提供会社側で企業秘匿情報を管理することができる。
【0138】
しかも、フロントエンドサーバ21を社内のネットワークに配置し、SIPサーバとして用いつつ、映像情報の加工処理などの負荷の重い処理などを仮想APサーバ13x1及び仮想DBサーバ13x2で行わせており、これにより社内のサーバの負荷を軽減することができる。
【0139】
なお、上述した各実施形態の説明は本発明の一例であり、本発明は上述の実施形態に限定されることはない。このため、上述した各実施形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【符号の説明】
【0140】
1 クライアント端末装置
11 サーバシステム
12 ブレードサーバ
13x1 仮想APサーバ
13x2 仮想DBサーバ
14x,22 ストレージ
23 DBサーバ
24 管理端末装置
【特許請求の範囲】
【請求項1】
企業内ネットワークに接続され、クライアント端末装置からの要求を処理する企業内サーバと、
前記企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバと、
インターネットに接続されたサーバ上で動作する仮想マシンと、を備えたアプリケーションサービス提供システムにおいて、
前記企業内サーバは、
前記クライアント端末装置からの要求を受け付けるクライアント受付手段と、
前記クライアント端末装置からの要求に対して、前記秘匿情報に基づく処理が必要か否かを判定する判定手段と、
前記判定手段により前記秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバから前記秘匿情報を取得して前記要求に対する処理を行う第1要求処理手段と、
前記判定手段により前記秘匿情報に基づく処理が必要でないと判定されると、前記仮想マシンに対して前記要求に対する処理を要求する第2要求処理手段と、
前記第1要求処理手段による処理結果、及び前記仮想マシンから取得した処理結果を、前記要求を行ったクライアント端末装置へ送信する処理結果送信手段と、を備え、
前記仮想マシンは、
前記企業内サーバからの要求を受け付けるサーバ受付手段と、
前記クライアント端末装置からの要求に対する処理を実行する処理手段と、
前記処理手段による処理結果を前記企業内サーバへ送信する処理結果送信手段と、を備えた
ことを特徴とするアプリケーションサービス提供システム。
【請求項2】
インターネットに接続され、前記仮想マシンと情報の送受信を行う企業外データベースサーバを備え、
前記仮想マシンの前記処理手段は、
前記クライアント端末装置からの要求に対して、前記企業外データベースサーバに記憶した情報に基づく処理が必要か否かを判定し、前記企業外データベースサーバに記憶した情報に基づく処理が必要であると判定されると、前記企業外データベースサーバと情報を送受信して前記要求に対する処理を行う
ことを特徴とする請求項1に記載のアプリケーションサービス提供システム。
【請求項3】
前記ユーザに関する情報には、当該ユーザの認証情報を含み、
前記仮想マシンの前記処理手段は、前記クライアント端末装置から前記ユーザの認証情報が取得したとき、前記秘匿情報に基づく処理が必要であると判定し、前記取得された認証情報と一致する認証情報が前記企業内データベースサーバに記憶されているかどうかを前記企業内データベースサーバに問い合わせて、前記クライアント端末装置の認証処理を行う
ことを特徴とする請求項1又は2に記載のアプリケーションサービス提供システム。
【請求項4】
前記ユーザに関する情報には、当該ユーザのIDを含み、
前記企業内サーバの第2要求処理手段は、前記要求を行ったクライアント端末装置を使用しているユーザのIDを前記要求に応じた処理要求情報とともに前記仮想マシンに送信し、その後、前記仮想マシンから前記要求に応じた処理結果を前記ユーザのIDとともに取得すると、当該ユーザのIDから前記取得した処理結果を送信するクライアント端末装置を決定し、
前記仮想マシンの処理結果送信手段は、前記処理要求情報に応じた処理結果を当該処理要求情報に対応するユーザのIDとともに送信する
ことを特徴とする請求項1〜3のいずれか1項に記載のアプリケーションサービス提供システム。
【請求項5】
企業内ネットワークに接続され、クライアント端末装置からの要求を処理する企業内サーバと、前記企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバと、インターネットに接続されたサーバ上で動作する仮想マシンと、を備えたアプリケーションサービス提供システムにおけるアプリケーションサービス提供方法であって、
前記企業内サーバが、前記クライアント端末装置からの要求を受け付ける受付ステップと、
前記企業内サーバが、前記クライアント端末装置からの要求に対して、前記秘匿情報に基づく処理が必要か否かを判定する判定ステップと、
前記企業内サーバが、前記判定ステップにより前記秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバから前記秘匿情報を取得して前記要求に対する処理を行う第1要求処理ステップと、
前記企業内サーバが、前記判定ステップにより前記秘匿情報に基づく処理が必要でないと判定されると、前記仮想マシンに対して前記要求に対する処理を要求する第2要求処理ステップと、
前記仮想マシンが、前記企業内サーバからの要求を受け付けるサーバ受付ステップと、
前記仮想マシンが、前記クライアント端末装置からの要求に対する処理を実行する処理ステップと、
前記仮想マシンが、前記処理ステップによる処理結果を前記企業内サーバへ送信する処理結果送信ステップと、
前記企業内サーバが、前記処理ステップによる処理結果を受信する受信ステップと、
前記企業内サーバが、前記受信ステップで取得した処理結果を前記要求を行ったクライアント端末装置へ送信する処理結果送信ステップと、を有するアプリケーションサービス提供方法。
【請求項1】
企業内ネットワークに接続され、クライアント端末装置からの要求を処理する企業内サーバと、
前記企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバと、
インターネットに接続されたサーバ上で動作する仮想マシンと、を備えたアプリケーションサービス提供システムにおいて、
前記企業内サーバは、
前記クライアント端末装置からの要求を受け付けるクライアント受付手段と、
前記クライアント端末装置からの要求に対して、前記秘匿情報に基づく処理が必要か否かを判定する判定手段と、
前記判定手段により前記秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバから前記秘匿情報を取得して前記要求に対する処理を行う第1要求処理手段と、
前記判定手段により前記秘匿情報に基づく処理が必要でないと判定されると、前記仮想マシンに対して前記要求に対する処理を要求する第2要求処理手段と、
前記第1要求処理手段による処理結果、及び前記仮想マシンから取得した処理結果を、前記要求を行ったクライアント端末装置へ送信する処理結果送信手段と、を備え、
前記仮想マシンは、
前記企業内サーバからの要求を受け付けるサーバ受付手段と、
前記クライアント端末装置からの要求に対する処理を実行する処理手段と、
前記処理手段による処理結果を前記企業内サーバへ送信する処理結果送信手段と、を備えた
ことを特徴とするアプリケーションサービス提供システム。
【請求項2】
インターネットに接続され、前記仮想マシンと情報の送受信を行う企業外データベースサーバを備え、
前記仮想マシンの前記処理手段は、
前記クライアント端末装置からの要求に対して、前記企業外データベースサーバに記憶した情報に基づく処理が必要か否かを判定し、前記企業外データベースサーバに記憶した情報に基づく処理が必要であると判定されると、前記企業外データベースサーバと情報を送受信して前記要求に対する処理を行う
ことを特徴とする請求項1に記載のアプリケーションサービス提供システム。
【請求項3】
前記ユーザに関する情報には、当該ユーザの認証情報を含み、
前記仮想マシンの前記処理手段は、前記クライアント端末装置から前記ユーザの認証情報が取得したとき、前記秘匿情報に基づく処理が必要であると判定し、前記取得された認証情報と一致する認証情報が前記企業内データベースサーバに記憶されているかどうかを前記企業内データベースサーバに問い合わせて、前記クライアント端末装置の認証処理を行う
ことを特徴とする請求項1又は2に記載のアプリケーションサービス提供システム。
【請求項4】
前記ユーザに関する情報には、当該ユーザのIDを含み、
前記企業内サーバの第2要求処理手段は、前記要求を行ったクライアント端末装置を使用しているユーザのIDを前記要求に応じた処理要求情報とともに前記仮想マシンに送信し、その後、前記仮想マシンから前記要求に応じた処理結果を前記ユーザのIDとともに取得すると、当該ユーザのIDから前記取得した処理結果を送信するクライアント端末装置を決定し、
前記仮想マシンの処理結果送信手段は、前記処理要求情報に応じた処理結果を当該処理要求情報に対応するユーザのIDとともに送信する
ことを特徴とする請求項1〜3のいずれか1項に記載のアプリケーションサービス提供システム。
【請求項5】
企業内ネットワークに接続され、クライアント端末装置からの要求を処理する企業内サーバと、前記企業内ネットワークに接続され、前記クライアント端末装置を使用するユーザに関する情報を含む企業内の秘匿情報を記憶する企業内データベースサーバと、インターネットに接続されたサーバ上で動作する仮想マシンと、を備えたアプリケーションサービス提供システムにおけるアプリケーションサービス提供方法であって、
前記企業内サーバが、前記クライアント端末装置からの要求を受け付ける受付ステップと、
前記企業内サーバが、前記クライアント端末装置からの要求に対して、前記秘匿情報に基づく処理が必要か否かを判定する判定ステップと、
前記企業内サーバが、前記判定ステップにより前記秘匿情報に基づく処理が必要であると判定されると、前記企業内データベースサーバから前記秘匿情報を取得して前記要求に対する処理を行う第1要求処理ステップと、
前記企業内サーバが、前記判定ステップにより前記秘匿情報に基づく処理が必要でないと判定されると、前記仮想マシンに対して前記要求に対する処理を要求する第2要求処理ステップと、
前記仮想マシンが、前記企業内サーバからの要求を受け付けるサーバ受付ステップと、
前記仮想マシンが、前記クライアント端末装置からの要求に対する処理を実行する処理ステップと、
前記仮想マシンが、前記処理ステップによる処理結果を前記企業内サーバへ送信する処理結果送信ステップと、
前記企業内サーバが、前記処理ステップによる処理結果を受信する受信ステップと、
前記企業内サーバが、前記受信ステップで取得した処理結果を前記要求を行ったクライアント端末装置へ送信する処理結果送信ステップと、を有するアプリケーションサービス提供方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2011−76506(P2011−76506A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−229106(P2009−229106)
【出願日】平成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 ]