以下、図面に基づいて、本願の開示する情報処理システム、情報処理装置、負荷分散装置、情報処理プログラムおよび情報処理方法の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
図1は、実施例の情報処理システムの構成の一例を示すブロック図である。図1に示す情報処理システム1は、端末10と、プロキシサーバ20と、情報処理装置100と、負荷分散装置200と、サーバ300とを有する。なお、情報処理システム1では、端末10、プロキシサーバ20、負荷分散装置200およびサーバ300の数は限定されず、任意の数の端末10、プロキシサーバ20、負荷分散装置200およびサーバ300を有するようにしてもよい。端末10と負荷分散装置200との間、プロキシサーバ20と負荷分散装置200との間、および、情報処理装置100と負荷分散装置200との間は、相互に通信可能に接続される。また、負荷分散装置200とサーバ300との間、および、プロキシサーバ20とその他のインターネット上のサービスとの間は、ネットワークNを介して、相互に通信可能に接続される。また、情報処理装置100とサーバ300との間は、例えば、負荷分散装置200およびネットワークNを介して、相互に通信可能に接続される。かかるネットワークNには、有線または無線を問わず、各種の通信網を用いたインターネットを採用できる。
情報処理システム1は、端末10とオフィススイートのクラウドサービスの接続先であるサーバ300との通信について、負荷分散装置200がプロキシサーバ20を迂回するように制御するシステムの一例である。端末10は、例えば、パーソナルコンピュータ等であり、クラウドサービスが提供するオフィススイートを利用するユーザが用いる端末である。なお、オフィススイートの例としては、Office365(登録商標)、G Suite(登録商標)等が挙げられる。
プロキシサーバ20は、端末10からその他のインターネット上のサービス、例えば、ブラウザによる各種のホームページや、電子メール等を提供するサーバ等に対するアクセスを中継する。プロキシサーバ20は、通信内容を監視し、組織のセキュリティポリシーに反するアクセスをブロックする。
情報処理装置100は、アプリケーションのサービスを提供するクラウドサービスに対する通信を制御する負荷分散装置200を設定する情報処理装置である。情報処理装置100は、アプリケーションのサービスに対応するドメインを含む、公開されたドメインリストを、例えばクラウドサービスのサーバ300から取得する。情報処理装置100は、顧客ごとに設定された加工ルールに応じて、取得したドメインリストを加工する。情報処理装置100は、負荷分散装置200との通信から顧客を特定し、特定した顧客に対応する負荷分散装置200に対して加工されたドメインリストを提供する。これにより、情報処理装置100は、顧客の要望に応じた負荷分散ができる。
負荷分散装置200は、アプリケーションのサービスを提供するクラウドサービスに対する通信を制御する負荷分散装置(ロードバランサ)である。負荷分散装置200は、アプリケーションのサービスに対応するドメインを含むドメインリストを加工する情報処理装置100へドメインリストの取得を要求し、要求によって特定される加工内容のドメインリストを取得する。負荷分散装置200は、加工されたドメインリストを、クラウドサービスに対する通信を制御する制御リストに適用する。負荷分散装置200は、制御リストに存在するドメインに対する通信を、他の通信と異なる経路を用いて行うように制御する。これにより、負荷分散装置200は、顧客の要望を反映した制御リストを用いて負荷分散ができる。
サーバ300は、アプリケーションのサービス、例えばオフィススイートを提供するクラウドサービスのサーバの一例である。サーバ300は、アプリケーションのサービスに対応するドメインを含むドメインリストを公開する。なお、クラウドサービスには、サーバ300の他にも、連携するサービスを提供するサーバも含まれ、公開するドメインリストには、これらのサーバのドメインも含まれる。
次に、情報処理装置100の構成について説明する。図2は、実施例の情報処理装置の構成の一例を示すブロック図である。図2に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、図2に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、負荷分散装置200と有線または無線で接続され、負荷分散装置200との間、および、負荷分散装置200およびネットワークNを介してサーバ300との間で情報の通信を司る通信インタフェースである。通信部110は、制御部130から入力された公開ドメインリストの取得要求、最新の環境定義ファイルおよびエージェント、加工済ドメインリスト、ならびに、終了情報を負荷分散装置200に送信する。また、通信部110は、負荷分散装置200から受信した公開ドメインリスト、環境定義ファイルおよびエージェントの最新版の取得要求、加工済ドメインリストの取得要求、および、圧縮したログを制御部130に出力する。なお、エージェントとは、負荷分散装置200で動作するプログラムの一例であり、負荷分散装置200において、加工済ドメインリストの取得・更新、エージェント自身のログの収集・送付、エージェント自身の更新等の処理を実行する。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、ドメインリスト記憶部121と、顧客情報記憶部122とを有する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
ドメインリスト記憶部121は、サーバ300から取得した公開ドメインリストを記憶する。図3は、ドメインリスト記憶部の一例を示す図である。図3に示すように、ドメインリスト記憶部121は、公開ドメインリストとして、プロダクト名ごとにドメインを対応付けて記憶する。図3では、例えば、プロダクト名(product name)「AAA」には、「ドメインA」、「ドメインB」、「ドメインX」および「ドメインC」が対応付けられている。
図2の説明に戻って、顧客情報記憶部122は、顧客の設定情報と、加工済ドメインリストと、ログとを、顧客ごとに対応付けて記憶する。図4は、顧客情報記憶部の一例を示す図である。図4に示すように、顧客情報記憶部122は、例えば、A社用のデータを記憶するA社用記憶部122aと、B社用のデータを記憶するB社用記憶部122bと、C社用のデータを記憶するC社用記憶部122cとを有する。なお、顧客に対応する記憶部の数は限定されない。以下、A社用記憶部122aを一例として顧客ごとの記憶部について説明する。
A社用記憶部122aは、設定記憶部122a1と、加工済ドメインリスト記憶部122a2と、ログ記憶部122a3とを有する。設定記憶部122a1は、A社に対応する設定情報、例えば、ドメイン名により特定される加工ルールや、サービスの種類により特定される加工ルールを記憶する。加工ルールには、除外対象のドメインを含む除外リストや、利用するアプリケーションのサービス等を記憶する。加工済ドメインリスト記憶部122a2は、設定情報から取得した加工ルールに基づいて、顧客ごとに加工された、つまりカスタマイズされたドメインリストを記憶する。ログ記憶部122a3は、負荷分散装置200で動作するエージェントのログを記憶する。
図2の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部130は、取得部131と、加工部132と、提供部133とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
取得部131は、通信部110、負荷分散装置200およびネットワークNを介して、所定時間、例えば5分ごとに公開ドメインリストの取得要求をサーバ300に送信する。取得部131は、ネットワークN、負荷分散装置200および通信部110を介して、サーバ300から公開ドメインリストを取得する。すなわち、取得部131は、アプリケーションのサービスに対応するドメインを含む、公開されたドメインリストを取得する。
取得部131は、ドメインリスト記憶部121を参照し、取得した公開ドメインリストと既存の公開ドメインリストとを比較する。取得部131は、比較の結果、取得した公開ドメインリストと既存の公開ドメインリストとに差分があるか否かを判定する。取得部131は、差分がないと判定した場合には、次の公開ドメインリストの取得要求の送信まで待機する。取得部131は、差分があると判定した場合には、取得した公開ドメインリストをドメインリスト記憶部121に記憶して、加工指示を加工部132に出力する。
加工部132は、取得部131から加工指示が入力されると、ドメインリスト記憶部121および顧客情報記憶部122を参照し、公開ドメインリストおよび各顧客の設定情報を取得する。加工部132は、取得した公開ドメインリストおよび各顧客の設定情報に設定された加工ルールに基づいて、顧客ごとに加工ルールを反映した加工済ドメインリストを生成する。加工部132は、生成した加工済ドメインリストを顧客ごとに顧客情報記憶部122の対応する加工済ドメインリスト記憶部122x2に記憶する。なお、加工済ドメインリスト記憶部122x2は、顧客がA社であれば、加工済ドメインリスト記憶部122a2であることを示す。また、以下の説明でも同様に表現する場合がある。
ここで、図5および図6を用いて設定情報で設定される加工ルールの反映について説明する。図5は、除外リストの適用の一例を示す図である。図5の例では、公開ドメインリスト30に対して、枠31に示すように、プロキシサーバ20でのフィルタリング対象(ブロックする対象)であるドメインXが含まれている。これに対し、除外リスト32として、ドメインXを指定すると、加工部132は、公開ドメインリスト30からドメインXを除外した加工済ドメインリスト33を生成する。加工済ドメインリスト33では、枠31aに示すように、ドメインXが除外されている。つまり、除外対象のドメインXに対する通信は、オフィススイートのクラウドサービス向けの経路から除外して、プロキシサーバ20を経由する経路となる。
図6は、プロダクト選択リストの適用の一例を示す図である。図6の例では、公開ドメインリスト34には、顧客が利用しないプロダクト、例えばプロダクト「CCC」のドメインリストも含まれている。これに対し、プロダクト選択リスト35として、利用するプロダクト、例えばプロダクト「AAA」、「BBB」および「DDD」を指定すると、加工部132は、公開ドメインリスト34から指定されたプロダクトのみを含む加工済ドメインリスト36を生成する。つまり、プロダクト選択リスト35に含まれるドメイン以外のドメインに対する通信は、オフィススイートのクラウドサービス向けの経路から除外して、プロキシサーバ20を経由する経路となる。
なお、加工ルールとして、概念的に理解が容易な除外リスト、追加リスト、プロダクト選択リストの例をあげたが、これらに限定されるものではない。加工ルールは、情報処理装置100で実行可能なルールであればよく、例えば、顧客毎に作成またはカスタマイズされた専用のアルゴリズムやプログラムであっても構わない。
また、設定情報に含まれる加工ルールは、Web画面またはGUI画面にて参照する機能を提供し、顧客は、契約している加工ルールの確認が可能となっている。また、確認画面において、顧客毎に設定された加工ルールの変更の受付機能を設けてもよく、または、加工ルールの全部または一部を編集可能としてもよい。図7および図8を用いて、設定情報に含まれる加工ルールの一部として、ドメイン名により特定される加工ルールとサービスの種類により特定される加工ルールの編集画面について説明する。図7および図8は、設定情報に含まれる加工ルールの編集画面の一例を示す図である。図7に示す編集画面40は、顧客が設定情報に含まれる加工ルールを編集する画面の例である。編集画面40は、装置名と、プロダクト名(Product Name)と、追加リストと、除外リストとが対応付けて表示される。編集画面40では、装置名をクリックすることで、それぞれの装置に対する設定情報に含まれる加工ルールの編集画面に遷移する。
図8に示す編集画面41は、編集画面40での装置名のクリックによって遷移した画面の例である。編集画面41は、制御リスト欄42と、プロダクト名(Product Name)欄43と、追加リスト欄44と、除外リスト欄45とを有する。制御リスト欄42には、制御リストの一例であるクラスリストが選択可能に表示される。クラスリストは、形式別に複数作成することができる。顧客が、使用するクラスリストを選択すると、選択された全てのクラスリストに対して、プロダクト名欄43、追加リスト欄44および除外リスト欄45の設定内容が紐付けられる。
プロダクト名欄43には、アプリケーションのサービスに対応するプロダクトが選択可能に表示される。追加リスト欄44には、サーバ300向けとして追加するドメインが編集可能に表示される。除外リスト欄45には、サーバ300向けから除外する、つまりプロキシサーバ20を経由するドメインが編集可能に表示される。加工部132は、この様な編集画面を図示しない顧客の運用管理者が用いる端末に表示させ、設定情報の編集を受け付ける。
言い換えると、加工部132は、顧客ごとの設定に応じて、取得したドメインリストを加工する。また、加工部132は、顧客ごとに設定された加工ルールに応じて、ドメインリストを加工する。また、加工部132は、加工ルールである、除外対象のドメインを含む除外リストに応じて、ドメインリストを加工する。また、加工部132は、加工ルールで特定した、顧客が利用するアプリケーションのサービスに応じて、ドメインリストを加工する。このようなユーザーインターフェースにより、顧客ごとに設定された加工ルールの変更の受付機能を設けてもよく、または、加工ルールの全部または一部を顧客が編集可能とするユーザーインターフェースを提供してもよい。
図2の説明に戻って、提供部133は、通信部110を介して、負荷分散装置200から環境定義ファイルおよびエージェントの最新版の取得要求を受信する。提供部133は、例えば、負荷分散装置200の一意なID(Identifier)を用いて機器認証を行い、IDに紐づけられる顧客を特定する。提供部133は、当該取得要求に応じて最新の環境定義ファイルおよびエージェントを、通信部110を介して負荷分散装置200に送信する。なお、環境定義ファイルおよびエージェントは、例えば、情報処理装置100の管理者によって最新版に更新される。また、提供部133は、最新版の環境定義ファイルおよびエージェントがない場合、つまり、負荷分散装置200の環境定義ファイルおよびエージェントが最新版である場合には、更新がない旨の情報を負荷分散装置200に送信する。なお、環境定義ファイルは、エージェントの動作に関する環境について定義されたファイルであり、例えば、負荷分散装置200の設定を変更するユーザIDおよびパスワードを含む。環境定義ファイルを共通で利用できるように、顧客毎に契約される複数の負荷分散装置200に共通のユーザIDおよびパスワードを設定してもよいし、機器認証を行うIDごとに環境定義ファイルを用意し、負荷分散装置200は個別に設定してもよい。
提供部133は、通信部110を介して、負荷分散装置200から加工済ドメインリストの取得要求を受信する。提供部133は、当該取得要求に対して、IDで特定された顧客の顧客情報記憶部122の加工済ドメインリスト記憶部122x2を参照し、対応する顧客の加工済ドメインリストを取得する。提供部133は、取得した加工済ドメインリストを、通信部110を介して対応する負荷分散装置200に送信する。すなわち、提供部133は、負荷分散装置200との通信から顧客を特定し、特定した顧客に対応する負荷分散装置200に対して加工されたドメインリストを提供する。
提供部133は、通信部110を介して、負荷分散装置200から圧縮したログを受信する。提供部133は、受信した圧縮したログを、当該圧縮したログに対応する顧客の顧客情報記憶部122のログ記憶部122x3に記憶する。提供部133は、圧縮したログを記憶すると、終了情報を、通信部110を介して対応する負荷分散装置200に送信する。
次に、負荷分散装置200の構成について説明する。図9は、実施例の負荷分散装置の構成の一例を示すブロック図である。図9に示すように、負荷分散装置200は、第1通信部210と、第2通信部211と、第3通信部212と、第4通信部213と、記憶部220と、制御部230とを有する。なお、負荷分散装置200は、図9に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
第1通信部210は、例えば、NIC等によって実現される。第1通信部210は、情報処理装置100と有線または無線で接続され、情報処理装置100と負荷分散装置200との間で情報の通信を司る通信インタフェースである。第1通信部210は、制御部230から入力された公開ドメインリスト、環境定義ファイルおよびエージェントの最新版の取得要求、加工済ドメインリストの取得要求、および、圧縮したログを、情報処理装置100に送信する。また、第1通信部210は、情報処理装置100から受信した公開ドメインリストの取得要求、最新の環境定義ファイルおよびエージェント、加工済ドメインリスト、ならびに、終了情報を制御部230に出力する。
第2通信部211は、例えば、NIC等によって実現される。第2通信部211は、端末10と有線または無線で接続され、端末10と負荷分散装置200との間で情報の通信を司る通信インタフェースである。第2通信部211は、制御部230から入力されたパケットを端末10に送信する。また、第2通信部211は、端末10から受信したパケットを制御部230に出力する。
第3通信部212は、例えば、NIC等によって実現される。第3通信部212は、プロキシサーバ20と有線または無線で接続され、プロキシサーバ20と負荷分散装置200との間で情報の通信を司る通信インタフェースである。第3通信部212は、制御部230から入力されたパケットをプロキシサーバ20に送信する。また、第3通信部212は、プロキシサーバ20から受信したパケットを制御部230に出力する。
第4通信部213は、例えば、NIC等によって実現される。第4通信部213は、ネットワークNを介してサーバ300と有線または無線で接続され、サーバ300との間で情報の通信を司る通信インタフェースである。第4通信部213は、制御部230から入力されたパケットおよび公開ドメインリストの取得要求をサーバ300に送信する。また、第4通信部213は、サーバ300から受信したパケットおよび公開ドメインリストを制御部230に出力する。
記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部220は、制御リスト記憶部221と、ログ記憶部222とを有する。また、記憶部220は、制御部230での処理に用いる情報を記憶する。
制御リスト記憶部221は、当該負荷分散装置200に対応する顧客に応じてカスタマイズされた加工済ドメインリストを、通信制御を行うための制御リスト、例えばクラスリストとして記憶する。
ログ記憶部222は、負荷分散装置200の動作に関するログを記憶する。
制御部230は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部230は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。制御部230は、取得部231と、適用部232と、通信制御部233とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部230の内部構成は、図9に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、取得部231および適用部232は、エージェントとして動作する。
取得部231は、例えば、1日に1回、エージェントを起動する。なお、以下の説明では、エージェントの動作について、取得部231または適用部232の動作として説明する。取得部231は、環境定義ファイルおよびエージェントの最新版の取得要求を、第1通信部210を介して情報処理装置100に送信する。
取得部231は、第1通信部210を介して、取得要求に応じた最新の環境定義ファイルおよびエージェントを受信する。取得部231は、受信した最新の環境定義ファイルおよびエージェントを用いて、自身の環境定義ファイルおよびエージェントを更新する。なお、取得部231は、更新がない旨の情報を受信した場合、つまり、自身の環境定義ファイルおよびエージェントが最新版である場合には、これらの更新は行わない。
取得部231は、第1通信部210を介して、加工済ドメインリストの取得要求を情報処理装置100に送信する。取得部231は、第1通信部210を介して、取得要求に応じた加工済ドメインリストを情報処理装置100から受信する。取得部231は、受信した加工済ドメインリストを適用部232に出力する。すなわち、取得部231は、アプリケーションのサービスに対応するドメインを含むドメインリストを加工する情報処理装置100へドメインリストの取得を要求し、要求によって特定される加工内容のドメインリストを取得する。
取得部231は、ログ記憶部222を参照して、負荷分散装置200の動作に関するログを取得する。取得部231は、取得したログを圧縮し、圧縮したログを、第1通信部210を介して情報処理装置100に送信する。取得部231は、第1通信部210を介して、情報処理装置100から終了情報を受信すると、エージェントを終了して設定処理を終了する。
適用部232は、取得部231から加工済ドメインリストが入力されると、入力された加工済ドメインリストを制御リスト記憶部221に記憶して、サーバ300に対する通信を制御する制御リストとして適用する。適用部232は、制御リストを適用すると、通信制御部233に更新指示を出力する。すなわち、適用部232は、加工されたドメインリストを、クラウドサービスに対する通信を制御する制御リストに適用する。
通信制御部233は、適用部232から更新指示が入力されると、制御リスト記憶部221の制御リストを自身に設定する。通信制御部233は、第1通信部210と第4通信部213との間の通信を制御する。通信制御部233は、第1通信部210を介して、情報処理装置100から受信した公開ドメインリストの取得要求を、第4通信部213およびネットワークNを介して、サーバ300に送信する。また、通信制御部233は、ネットワークNおよび第4通信部213を介して、サーバ300から受信した公開ドメインリストを、第1通信部210を介して情報処理装置100に送信する。
通信制御部233は、第2通信部211と第3通信部212および第4通信部213との間の通信を制御する。通信制御部233は、第2通信部211を介して、端末10から受信したパケットを、自身に設定された制御リスト(クラスリスト)に基づいて、第3通信部212または第4通信部213を介して、プロキシサーバ20またはサーバ300に送信する。また、通信制御部233は、第3通信部212または第4通信部213を介して、プロキシサーバ20またはサーバ300から受信したパケットを、第2通信部211を介して端末10に送信する。すなわち、通信制御部233は、制御リストに存在するドメインに対する通信を、他の通信と異なる経路を用いて行うように制御する。なお、取得部231から通信制御部233の各機能部は、その動作に関するログをログ記憶部222に記憶する。
次に、実施例の情報処理システム1の動作について説明する。まず、各顧客の設定情報をカスタマイズする加工処理について説明する。図10は、実施例の加工処理の一例を示すフローチャートである。
情報処理装置100の取得部131は、所定時間ごとに公開ドメインリストの取得要求をサーバ300に送信する。取得部131は、サーバ300から公開ドメインリストを取得する(ステップS1)。取得部131は、ドメインリスト記憶部121を参照し、取得した公開ドメインリストと既存の公開ドメインリストとを比較する(ステップS2)。
取得部131は、比較の結果、取得した公開ドメインリストと既存の公開ドメインリストとに差分があるか否かを判定する(ステップS3)。取得部131は、差分がないと判定した場合には(ステップS3:否定)、ステップS1に戻る。取得部131は、差分があると判定した場合には(ステップS3:肯定)、取得した公開ドメインリストをドメインリスト記憶部121に記憶して(ステップS4)、加工指示を加工部132に出力する。
加工部132は、取得部131から加工指示が入力されると、ドメインリスト記憶部121および顧客情報記憶部122を参照し、公開ドメインリストおよび各顧客の設定情報からドメインリストの加工ルールを取得する(ステップS5)。加工部132は、取得した公開ドメインリストおよび各顧客の加工ルールに基づいて、顧客ごとに加工ルールを反映した加工済ドメインリストを生成する(ステップS6)。加工部132は、生成した加工済ドメインリストを顧客ごとに顧客情報記憶部122の対応する加工済ドメインリスト記憶部122x2に記憶する(ステップS7)。これにより、情報処理装置100は、各顧客の要望に応じた、顧客それぞれの負荷分散装置200に対応する加工済ドメインリストを生成することができる。
続いて、加工済ドメインリストを各顧客の負荷分散装置200に設定する設定処理について説明する。図11は、実施例の設定処理の一例を示すシーケンス図である。
負荷分散装置200の取得部231は、例えば、1日に1回、エージェントを起動する(ステップS11)。取得部231は、環境定義ファイルおよびエージェントの最新版の取得要求を情報処理装置100に送信する(ステップS12)。
情報処理装置100の提供部133は、負荷分散装置200から環境定義ファイルおよびエージェントの最新版の取得要求を受信する。提供部133は、当該取得要求に応じて最新の環境定義ファイルおよびエージェントを負荷分散装置200に送信する(ステップS13)。
負荷分散装置200の取得部231は、取得要求に応じた最新の環境定義ファイルおよびエージェントを受信する(ステップS14)。取得部231は、受信した最新の環境定義ファイルおよびエージェントを用いて、環境定義ファイルおよびエージェントを更新する(ステップS15)。取得部231は、加工済ドメインリストの取得要求を情報処理装置100に送信する(ステップS16)。
情報処理装置100の提供部133は、負荷分散装置200から加工済ドメインリストの取得要求を受信する。提供部133は、当該取得要求に対応する顧客の顧客情報記憶部122の加工済ドメインリスト記憶部122x2を参照し、対応する顧客の加工済ドメインリストを取得する。提供部133は、取得した加工済ドメインリストを対応する負荷分散装置200に送信する(ステップS17)。
負荷分散装置200の取得部231は、取得要求に応じた加工済ドメインリストを情報処理装置100から受信する(ステップS18)。取得部231は、受信した加工済ドメインリストを適用部232に出力する。
適用部232は、取得部231から加工済ドメインリストが入力されると、入力された加工済ドメインリストを制御リスト記憶部221に記憶して、サーバ300に対する通信を制御する制御リストとして適用する(ステップS19)。適用部232は、制御リストを適用すると、通信制御部233に更新指示を出力する。通信制御部233は、適用部232から更新指示が入力されると、制御リスト記憶部221の制御リストを自身に設定する。
取得部231は、適用部232および通信制御部233による加工済ドメインリストの制御リストへの適用が完了すると、ログ記憶部222を参照して、負荷分散装置200の動作に関するログを取得する。取得部231は、取得したログを圧縮し(ステップS20)、圧縮したログを情報処理装置100に送信する(ステップS21)。
情報処理装置100の提供部133は、負荷分散装置200から圧縮したログを受信する。提供部133は、受信した圧縮したログを、当該圧縮したログに対応する顧客の顧客情報記憶部122のログ記憶部122x3に記憶する(ステップS22)。提供部133は、圧縮したログを記憶すると、終了情報を対応する負荷分散装置200に送信する(ステップS23)。
負荷分散装置200の取得部231は、情報処理装置100から終了情報を受信すると、エージェントを終了して設定処理を終了する(ステップS24)。これにより、情報処理システム1は、顧客の要望に応じた負荷分散ができる。
このように、情報処理システム1は、アプリケーションのサービスを提供するクラウドサービスに対する通信を制御する情報処理システムである。また、情報処理システム1は、情報処理装置100と、負荷分散装置200とを有する。情報処理装置100は、アプリケーションのサービスに対応するドメインを含む、公開されたドメインリストを取得する。また、情報処理装置100は、顧客ごとの設定に応じて、取得したドメインリストを加工する。また、情報処理装置100は、負荷分散装置200との通信から顧客を特定し、特定した顧客に対応する負荷分散装置200に対して加工されたドメインリストを提供する。負荷分散装置200は、加工されたドメインリストを、クラウドサービスに対する通信を制御する制御リストに適用する。また、負荷分散装置200は、制御リストに存在するドメインに対する通信を、他の通信と異なる経路を用いて行うように制御する。その結果、情報処理システム1は、顧客の要望に応じた負荷分散ができる。
また、情報処理装置100は、アプリケーションのサービスを提供するクラウドサービスに対する通信を制御する負荷分散装置200を設定する情報処理装置である。情報処理装置100は、アプリケーションのサービスに対応するドメインを含む、公開されたドメインリストを取得する。また、情報処理装置100は、顧客ごとに設定された加工ルールに応じて、取得したドメインリストを加工する。また、情報処理装置100は、負荷分散装置200との通信から顧客を特定し、特定した顧客に対応する負荷分散装置200に対して加工されたドメインリストを提供する。その結果、情報処理装置100は、各顧客の要望に応じた、顧客それぞれの負荷分散装置200に対応する加工済ドメインリストを生成することができる。
また、情報処理装置100は、顧客ごとに設定された加工ルールに応じて、ドメインリストを加工する。その結果、情報処理装置100は、各顧客の要望に応じた加工ルールに基づく加工済ドメインリストを生成することができる。
また、情報処理装置100は、顧客ごとに設定された加工ルールから除外対象のドメインを含む除外リストを取得し、取得した除外リストに応じて、ドメインリストを加工する。その結果、情報処理装置100は、除外対象のドメインに対する通信をプロキシサーバ20経由とすることができる。
また、情報処理装置100は、顧客が利用するアプリケーションのサービスに応じて顧客ごとに設定された加工ルールを取得し、取得した加工ルールに基づいて、ドメインリストを加工する。その結果、情報処理装置100は、利用するアプリケーションのサービスに対応するドメイン以外に対する通信をプロキシサーバ20経由とすることができる。
また、情報処理装置100では、顧客ごとに設定された加工ルールをWeb画面またはGUI画面にて参照する機能を提供し、顧客は、契約している加工ルールの確認が可能となっている。また、確認画面において、顧客毎に設定された加工ルールの変更の受付機能を設けてもよく、加工ルールの全部または一部を編集可能とするユーザーインターフェースを提供してもよい。その結果、情報処理装置100は、顧客のセキュリティポリシーの変更に素早く対応できる。
また、負荷分散装置200は、アプリケーションのサービスを提供するクラウドサービスに対する通信を制御する負荷分散装置である。負荷分散装置200は、アプリケーションのサービスに対応するドメインを含むドメインリストを加工する情報処理装置100へドメインリストの取得を要求し、要求によって特定される加工内容のドメインリストを取得する。また、負荷分散装置200は、加工されたドメインリストを、クラウドサービスに対する通信を制御する制御リストに適用する。また、負荷分散装置200は、制御リストに存在するドメインに対する通信を、他の通信と異なる経路を用いて行うように制御する。その結果、顧客の要望に応じた負荷分散ができる。
なお、上記実施例では、顧客の運用管理者の要望に応じた加工済ドメインリストを、負荷分散装置200の制御リストに設定したが、これに限定されない。例えば、情報処理装置100が、負荷分散装置200から通信に関するログを取得して、取得したログに基づいて、ドメインリストの加工に関する情報を顧客の運用管理者に提案する支援を可能にしてもよい。図12は、統計情報の提示画面の一例を示す図である。図12に示す提示画面46は、情報処理装置100の管理者である顧客の運用管理者に対して、負荷分散装置200における通信の統計情報を表示する画面である。なお、図12の例は、あるオフィススイートを用いた場合の一例である。提示画面46は、通信量推移グラフ47と、使用率グラフ48と、表49とを有する。通信量推移グラフ47は、オフィススイートであるO36X向けの通信量と、負荷分散装置200全体の通信量とを、それぞれグラフで表している。なお、通信量推移グラフ47は、除外リストや追加リストに含まれるドメイン宛の通信量を表示するようにしてもよい。使用率グラフ48は、プロダクト名(Product Name)の使用率、つまり、オフィススイートの各アプリケーションの使用率を示すグラフである。使用率グラフ48は、選択されたプロダクト名についてのグラフとしてもよい。表49は、負荷分散装置200全体の通信において、アクセスされた回数の多いドメインを表示する。
図13は、診断画面の一例を示す図である。図13に示す診断画面50は、情報処理装置100が統計情報に基づいて検出した診断情報を表示する。診断画面50では、例えば、診断情報のメッセージ内の負荷分散装置200に対応するリンクがクリックされると、図8に示す設定情報の編集画面に遷移する。なお、図12および図13に示す提示画面46および診断画面50に関する機能部は、例えば、情報処理装置100の加工部132に設けてもよいし、ログ取得部と提示部とを制御部130に設けるようにしてもよい。また、診断画面50では、診断情報として、複数の顧客において除外リストに含まれるドメインを、除外リストに加えるように提案するようにしてもよい。これにより、顧客の運用管理者は、診断画面50の診断情報に基づいて、負荷分散装置200の設定情報を編集することができる。すなわち、情報処理装置100は、ドメインリストのカスタマイズの提案や、カスタマイズの精度を向上させることができる。つまり、情報処理システム1では、ネットワークの専門的な知識がない人物であっても、容易に負荷分散の設定を行うことができる。
このように、情報処理装置100は、さらに、負荷分散装置200から、クラウドサービスに対する通信のログを取得する。また、情報処理装置100は、取得されたログに基づいて、ドメインリストの加工に関する情報を、対応する顧客に提示する。その結果、情報処理装置100は、通信に関するログに基づく情報を参照して編集されたドメインリストを用いて、顧客の要望に応じた負荷分散ができる。
また、負荷分散装置200は、通信に関するログを取得して情報処理装置100に送信する。その結果、負荷分散装置200は、通信に関するログを顧客の運用管理者に提供できる。
なお、上記実施例では、情報処理装置100における障害の発生時については特に説明していないが、例えば、顧客の運用管理者宛に障害発生のメールを送信するようにしてもよい。
また、上記実施例では、負荷分散装置200が端末10からの通信を、プロキシサーバ20宛とネットワークN経由のサーバ300宛とに振り分けたが、これに限定されない。例えば、負荷分散装置200とサーバ300との間に、VPN(Virtual Private Network)や専用回線等を用いた回線をさらに設け、これら3種類の経路に通信を振り分けて負荷分散を行ってもよい。なお、通信を振り分ける経路は、3つ以上であっても構わない。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、負荷分散装置200の取得部231と適用部232とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図14は、情報処理プログラムを実行するコンピュータの一例を示す図である。
図14に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、データ入力を受け付ける入力装置402と、モニタ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る媒体読取装置404と、各種装置と接続するためのインタフェース装置405と、他の情報処理装置等と有線または無線により接続するための通信装置406とを有する。また、コンピュータ400は、各種情報を一時記憶するRAM407と、ハードディスク装置408とを有する。また、各装置401~408は、バス409に接続される。
ハードディスク装置408には、図2に示した取得部131、加工部132および提供部133の各処理部と同様の機能を有する情報処理プログラムが記憶される。または、ハードディスク装置408には、図9に示した取得部231、適用部232および通信制御部233の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置408には、ドメインリスト記憶部121、顧客情報記憶部122、および、情報処理プログラムを実現するための各種データが記憶される。または、ハードディスク装置408には、制御リスト記憶部221、ログ記憶部222、および、情報処理プログラムを実現するための各種データが記憶される。
入力装置402は、例えば、コンピュータ400の管理者から操作情報等の各種情報の入力を受け付ける。モニタ403は、例えば、コンピュータ400の管理者に対して出力画面等の各種画面を表示する。インタフェース装置405は、例えば印刷装置等が接続される。通信装置406は、例えば、図2に示した通信部110と同様の機能を有し負荷分散装置200と接続され、負荷分散装置200やサーバ300と各種情報をやりとりする。または、通信装置406は、例えば、図9に示した第1通信部210から第4通信部213と同様の機能を有し端末10、プロキシサーバ20、情報処理装置100およびネットワークNと接続される。この場合、通信装置406は、端末10、プロキシサーバ20、情報処理装置100およびサーバ300と各種情報をやりとりする。
CPU401は、ハードディスク装置408に記憶された各プログラムを読み出して、RAM407に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ400を図2に示した取得部131、加工部132および提供部133として機能させることができる。または、これらのプログラムは、コンピュータ400を図9に示した取得部231、適用部232および通信制御部233として機能させることができる。
なお、上記の情報処理プログラムは、必ずしもハードディスク装置408に記憶されている必要はない。例えば、コンピュータ400が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ400が読み出して実行するようにしてもよい。コンピュータ400が読み取り可能な記憶媒体は、例えば、CD-ROMやDVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN(Local Area Network)等に接続された装置にこの情報処理プログラムを記憶させておき、コンピュータ400がこれらから情報処理プログラムを読み出して実行するようにしてもよい。