Webサービス提供システム、サーバ装置、方法およびプログラム
【課題】複数の独立したSaaSサーバを有する社内SaaSシステムにおいて、ユーザに応答速度に起因するストレスを与えないサービス提供システムを提供する。
【解決手段】複数の社内SaaSサーバを含むネットワークに対して通信先管理サーバを設ける。通信先管理サーバは、独立したイントラネットが相互に接続してなるエクストラネットに接続され、当該イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りの社内SaaSサーバのIPアドレスとを対応付けて管理する。通信先管理サーバは、ログイン要求に含まれる送信元IPアドレスに基づいて最寄りの社内SaaSサーバのIPアドレスを取得し、当該IPアドレスを再接続先とするリダイレクト処理を送信元のクライアント端末に対して実行することによって、クライアント端末をネットワーク的に最も近い社内SaaSサーバに接続する。
【解決手段】複数の社内SaaSサーバを含むネットワークに対して通信先管理サーバを設ける。通信先管理サーバは、独立したイントラネットが相互に接続してなるエクストラネットに接続され、当該イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りの社内SaaSサーバのIPアドレスとを対応付けて管理する。通信先管理サーバは、ログイン要求に含まれる送信元IPアドレスに基づいて最寄りの社内SaaSサーバのIPアドレスを取得し、当該IPアドレスを再接続先とするリダイレクト処理を送信元のクライアント端末に対して実行することによって、クライアント端末をネットワーク的に最も近い社内SaaSサーバに接続する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webサービス提供システムに関し、より詳細には、複数の独立したWebサービス提供サーバを有するWebサービス提供システムに関する。
【背景技術】
【0002】
近年、SaaS(Software as a Service)と呼ばれるインターネットを介したソフトウェアの新しい利用形態が注目を集めている。従来、ユーザは、ソフトウェアを利用する際、ソフトウェア・パッケージを購入し、これを自身のパーソナル・コンピュータにインストールして利用していた。一方、SaaSにおいては、ソフトウェアは、外部のWebサービス提供業者が管理するWebアプリケーションサーバ上でのみ稼働し、ユーザは、当該Webアプリケーションサーバにインターネット接続されたクライアント端末のウェブブラウザを介してそのソフトウェアの機能を利用する。SaaSによれば、サーバ設置に伴うイニシャルコストおよびその後の保守管理コストが不要となり、また、システム規模の拡大・縮小にも柔軟に対応しうることから、近年、メールやグループウェアなどの業務用アプリケーションをSaaSに切替える企業が増えてきている。
【0003】
しかしながら、SaaSにおいては、データは社内(クライアント側)に残らず、社外のWebサービス提供業者のデータベースにのみ保存されることから、情報漏洩やデータ喪失等のセキュリティリスクを危惧し、その採用を敬遠する企業も少なくない。この点につき、特開2009−70015号公報(特許文献1)は、社外SaaSと同じアプリケーションをインストールしたSaaSサーバを社内に設置し、社内外で共有したいデータについてのみ、社内のデータベースと社外のデータベースを同期させることを特徴とする社内SaaSシステムを開示する。
【0004】
ここで、複数の事業所を有する企業が事業所ごとに社内SaaSシステムを構築する場合を考える。図9は、3つの事業所A〜Cを有する企業に設置された社内SaaSシステム150のネットワーク図を示す。図9に示されるように、各事業所A〜C内にはイントラネット400a〜400cが構築されており、各イントラネット400は、相互に接続されてエクストラネット402を形成している。
【0005】
社内SaaSシステム150においては、事業所A、BおよびCに、それぞれ、社内SaaSサーバ250a、250bおよび250cが設置されている。社内SaaSサーバ250a〜250cは、いずれも、各事業所内に構築されたイントラネット400a〜400cを介して複数のユーザ端末と接続可能とされている。
【0006】
エクストラネット402は、仮想プライベートネットワーク(VPN)やファイアーウォールを利用してセキュアなネットワークとして構築されており、企業内部の情報の機密性を担保している。したがって、ユーザは、機密性の高い情報に関しては、自身が所属する事業所に設置された社内SaaSサーバ250を利用し、社外との情報の共有を希望する情報に関しては、インターネット404を介して接続された外部の社外SaaSサーバ500を利用する。
【0007】
図9に示した社内SaaSシステム150においては、上述したように、ユーザは、自身が所属する事業所に設置された社内SaaSサーバを利用することが前提となっている。仮に、事業所Aに所属するユーザAが出先の事業所Bにおいて社内SaaSシステムを利用する場合、図10に示すように、ユーザAの端末350aは、ネットワーク的に最も近い事業所Bの社内SaaSサーバ250bと通信するのではなく、エクストラネット402を介して、ネットワーク的に遠い事業所Aの社内SaaSサーバ250aにアクセスしてこれを使用することになる。なぜなら、ユーザAのデータは、事業所Bの社内SaaSサーバ250bのデータベースには保存されておらず、自身の所属する事業所Aの社内SaaSサーバ250aにのみ保存されているからである。このようにネットワーク的に遠いサーバを利用する場合、ユーザは、応答速度が遅くなることを受忍しなければならない。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、上記従来技術における課題に鑑みてなされたものであり、本発明は、複数の独立したSaaSサーバを有する社内SaaSシステムにおいて、ユーザに応答速度に起因するストレスを与えないサービス提供システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明者は、複数の独立したSaaSサーバを有する社内SaaSシステムにおいて、ユーザに応答速度に起因するストレスを与えない新規なサービス提供システムにつき鋭意検討した結果、複数の社内SaaSサーバを含むネットワークに対して通信先管理サーバを設ける構成に想到し、本発明に至ったのである。
【0010】
本発明における通信先管理サーバは、クライアント端末からのログイン要求に含まれる送信元IPアドレスに基づいて最寄りの社内SaaSサーバのIPアドレスを取得し、当該IPアドレスを再接続先とするリダイレクト処理を送信元のクライアント端末に対して実行することによって、クライアント端末をネットワーク的に最も近い社内SaaSサーバに自動的に接続する。
【0011】
すなわち、本発明によれば、複数のWebサービス提供サーバと通信先管理サーバとを含むWebサービス提供システムであって、各々の前記Webサービス提供サーバは、互いに独立したイントラネット内に配置され、少なくとも1つのWebサービスをクライアント端末が搭載するウェブブラウザを介して提供するためのサービスアプリケーション部と、前記Webサービスを実行するためのアプリケーションデータを格納する第1のデータベースと、第1のデータ同期部とを含み、前記通信先管理サーバは、前記独立したイントラネットが相互に接続してなるエクストラネットに接続され、各前記イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りの前記Webサービス提供サーバのIPアドレスとを対応付けて管理するサーバアドレス管理部と、クライアント端末の送信元IPアドレスに基づいて前記サーバアドレス管理部を検索して前記最寄りのWebサービス提供サーバのIPアドレスを取得し、該IPアドレスを再接続先とするリダイレクト処理を該クライアント端末に対して実行するリダイレクト部と、複数の前記第1のデータベースの内容を統合するための第2のデータベースと、第2のデータ同期部とを含み、前記第1のデータ同期部は、前記第1のデータベースの内容を前記通信先管理サーバに送信し、前記第2のデータ同期部は、複数の前記第1のデータベースの内容を前記第2のデータベースに統合し、該第2のデータベースと複数の前記第1のデータベースを同期させるWebサービス提供システムが提供される。
【図面の簡単な説明】
【0012】
【図1】本実施形態のWebサービス提供システムのネットワーク図。
【図2】本実施形態のWebサービス提供システムを構成する各装置の機能ブロック図。
【図3】本実施形態の最寄りサーバアドレス管理テーブルを示す図。
【図4】本実施形態のWebサービス提供システムが実行する処理のシーケンス図。
【図5】本実施形態におけるリダイレクト処理を説明するための概念図。
【図6】本実施形態におけるリダイレクト処理を説明するための概念図。
【図7】複数の社内SaaSサーバ間のデータ同期方法を説明するための概念図。
【図8】複数の社内SaaSサーバ間のデータ同期方法を説明するための概念図。
【図9】従来の社内SaaSシステムのネットワーク図。
【図10】従来の社内SaaSシステムのネットワーク図。
【発明を実施するための形態】
【0013】
以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜、その説明を省略するものとする。
【0014】
図1は、本発明の実施形態であるWebサービス提供システム10のネットワーク図を示す。図1は、3つの事業所A〜Cを有する企業に本実施形態のWebサービス提供システム10を適用した場合について例示している。図1に示すように、本実施形態のWebサービス提供システム10は、通信先管理サーバ100と、複数のWebサービス提供サーバ200(以下、社内SaaSサーバ200として参照する)を含んで構成されている。本実施形態においては、事業所ごとに独立したイントラネット400が構築されており、各事業所に1台ずつ設置された社内SaaSサーバ200は、イントラネット400を介してクライアント端末300と接続可能に構成されている。本実施形態においては、各事業所のイントラネット400は、クライアント端末接続用に所定範囲のプライベートIPアドレスを割り当てている。なお、当該プライベートIPアドレスは、全事業所を通して一意に割り当てられる。
【0015】
さらに、各事業所内に構築されたイントラネット400は、相互に接続されてエクストラネット402を形成しており、本実施形態における通信先管理サーバ100は、エクストラネット402を介して各事業所A〜Cの外部に設置されている。
【0016】
図2は、本実施形態のWebサービス提供システム10を構成する各装置の機能ブロック図を示す。本実施形態におけるクライアント端末300は、標準的なウェブブラウザ20を搭載するパーソナル・コンピュータとして参照することができる。なお、図2においては、HTMLファイルに記述されたスクリプトを実行する機能部をスクリプトエンジン22として示し、HTTPユーザエージェント、パーサ、レンダラなどの基本機能をHTMLエンジン24として示している。
【0017】
社内SaaSサーバ200は、Webサービスを提供するためのサービスアプリケーション部40と、データ同期部42と、データベース44とを含んで構成されている。サービスアプリケーション部40は、少なくとも1つのWebサービスをクライアント端末300が搭載するウェブブラウザ20を介してユーザに提供する機能部であり、Webサービスを実行するための各種データをデータベース44に格納する。
【0018】
本実施形態における通信先管理サーバ100は、ユーザ認証部30と、ユーザIDやパスワードなどのログイン情報を管理するユーザ情報管理部32と、リダイレクト部34と、サーバアドレス管理部36と、データ同期部38と、データベース39とを含んで構成されている。
【0019】
ユーザ認証部30は、クライアント端末300からのログイン要求を受けてユーザ情報管理部32を検索・照合してユーザ認証を実行する機能部である。
【0020】
サーバアドレス管理部36は、図3に示す最寄りサーバアドレス管理テーブル600を備える。図3に例示する最寄りサーバアドレス管理テーブル600は、各事業所のイントラネット400がクライアント端末接続用として割り当てる所定範囲のプライベートIPアドレスと、当該イントラネット400内に配置されるネットワーク的に最も近い社内SaaSサーバ200のプライベートIPアドレスとを対応付けて管理している。
【0021】
リダイレクト部34は、クライアント端末300から送信されるIPパケットのIPヘッダに含まれる送信元IPアドレスに基づいて最寄りサーバアドレス管理テーブル600を検索し、送信元のクライアント端末300と同じイントラネット400内に配置されるネットワーク的に最も近い社内SaaSサーバ200のプライベートIPアドレスを取得し、当該社内SaaSサーバ200を再接続先とするリダイレクト処理を送信元のクライアント端末300に対して実行する。
【0022】
さらに、通信先管理サーバ100のデータ同期部38は、データベース39をバッファとして使用して、複数の社内SaaSサーバ200のデータベース44に格納されたデータの同期を図る機能部であり、当該データ同期は、データ同期部38と複数の社内SaaSサーバ200の各データ同期部42とが協働することによって実現される。
【0023】
以上、本実施形態のWebサービス提供システム10を構成する各装置の機能手段について説明してきたが、次に、本実施形態のWebサービス提供システム10が実行する処理の具体的な内容について、図1に示した事業所Aに所属するユーザAが出先の事業所Bにおいて社内SaaSシステムを利用する場合を例にとって説明する。
【0024】
図4は、Webサービス提供システム10が実行する処理のシーケンス図である。事業所Bに出向いたユーザAは、まず、自身のクライアント端末300aを出先の事業所Bに構築されたイントラネット400bに接続する。このとき、クライアント端末300aは、クライアント端末接続用として用意された所定のプライベートIPアドレスを付与される。
【0025】
次に、ユーザAは、図4に示すように、ウェブブラウザ20から社内SaaS用URLにアクセスしてログインを要求する(ステップ101)。ここで、事業所A〜Cを有する当該企業においては、社員(ユーザ)に対し、社内SaaSアクセス用として通信先管理サーバ100のURLのみが案内されており、各事業所に配置された社内SaaSサーバ200a〜200cのURLは、一般ユーザには知らされない。したがって、社内SaaSを利用しようとするユーザは、まず最初に、通信先管理サーバ100に対して社内SaaS用ログイン要求を送信することになる。ログイン要求を受けた通信先管理サーバ100は、クライアント端末300aのウェブブラウザ20に対してログインページを送信する(ステップ102)。
【0026】
ユーザAは、受信したログインページからユーザIDおよびパスワードなどのログイン情報を入力する。これに応答してクライアント端末300aのウェブブラウザ20がログイン情報を通信先管理サーバ100に送信する(ステップ103)。通信先管理サーバ100のユーザ認証部30は、受信したログイン情報に基づいてユーザ認証処理を実行する(ステップ104)。
【0027】
ユーザ認証が成功すると、通信先管理サーバ100のリダイレクト部34は、IPパケットのIPヘッダに含まれる送信元IPアドレスをキーとして、図3に示した最寄りサーバアドレス管理テーブル600を検索し、送信元であるクライアント端末300aに付与されたプライベートIPアドレスに対応する社内SaaSサーバのIPアドレスを取得する(ステップ105)。
【0028】
続いて、リダイレクト部34は、取得した社内SaaSサーバ200bのIPアドレスを転送先とするリダイレクト処理を実行する(ステップ106)。本実施形態におけるリダイレクト処理とは、クライアント端末のウェブブラウザを最寄りの社内SaaSサーバに再接続するための処理をいい、図5に示す例の場合、ユーザAのクライアント端末300aのウェブブラウザ20の通信先を、現在の通信先である通信先管理サーバ100から、ネットワーク的に最も近い社内SaaSサーバ200bに変更させるための処理をいう。本実施形態におけるリダイレクト処理は、HTTPリダイレクト、metaタグによるリダイレクト、クライアントスクリプトによるリダイレクトなど、適切な方法を用いて実現することができる。リダイレクト部34は、図6に示すように、リダイレクトの実行を内容とするHTTPレスポンスをクライアント端末300aのウェブブラウザ20に送信する(ステップ107)。
【0029】
クライアント端末300aのウェブブラウザ20は、受信したHTTPレスポンスを解析し(ステップ108)、指定されたIPアドレス(すなわち、社内SaaSサーバ200b)に対してHTTPリクエストを送信する(ステップ109)。社内SaaSサーバ200bは、HTTPリクエストに応答してサービスページ生成し、これをクライアント端末300aに送信する(ステップ110)。クライアント端末300aのウェブブラウザ20によってサービスページが表示され、社内SaaSサーバ200bが提供するサービスが開始される(ステップ111)。
【0030】
以上、本実施形態のWebWebサービス提供システム10のリダイレクト機能について説明してきたが、本実施形態においては、ユーザがどの事業所においても自分のデータにアクセスできるように、複数の社内SaaSサーバ間でWebサービスに用いられるデータの同期を図ることが前提となる。以下、Webサービス提供システム10における複数の社内SaaSサーバ間のデータ同期方法について、図7および図8に基づいて説明する。
【0031】
本実施形態のWebサービス提供システム10においては、複数の社内SaaSサーバ間のデータ同期方法として、以下の2つの方法を採用することができる。第1の方法は、図7に示すように、各事業所に配置された社内SaaSサーバ200のデータベースの更新と非同期にデータ同期を行う方法である。図7に例示する方法においては、通信先管理サーバ100のデータ同期部38が、各事業所に設置された社内SaaSサーバ200a〜200cに対して予め定められた時間間隔をもって定期的に同期リクエストを送信する。各社内SaaSサーバ200a〜200cのデータ同期部42は、当該同期リクエストに応答してデータベース44の内容を通信先管理サーバ100に送信する。通信先管理サーバ100のデータ同期部38は、各社内SaaSサーバ200a〜200cから送信されたデータベース44の内容をデータベース39に統合する。データ同期部38は、そのようにして得た統合データを社内SaaSサーバ200a〜200cに送信し、社内SaaSサーバ200a〜200cが送信された統合データをコピーすることによって、各社内SaaSサーバ200のデータベース44と通信先管理サーバ100のデータベース39が同期され、結果的に社内SaaSサーバ200a〜200c間のデータ同期が実現される。
【0032】
次に、第2の方法について説明する。図8に例示する第2の方法においては、各社内SaaSサーバ200a〜200cのデータ同期部42は、各事業所に配置された社内SaaSサーバ200のデータベースの更新に同期して、データベース44の内容を通信先管理サーバ100に送信する。通信先管理サーバ100のデータ同期部38は、データベース44の内容を受信する度にその内容をデータベース39に統合する。これとは別に、データ同期部38は、予め定められた時間間隔をもって定期的に社内SaaSサーバ200a〜200cに対して現時点における統合データを送信し、各社内SaaSサーバ200a〜200cが送信された統合データをコピーすることによって、各社内SaaSサーバ200のデータベース44と通信先管理サーバ100のデータベース39が同期され、結果的に社内SaaSサーバ200a〜200c間のデータ同期が実現される。
なお、上述した2つの方法において、社内SaaSサーバ200から通信先管理サーバ100に送るデータベース44の内容は、差分データとすることができる。
【0033】
以上、説明したように、本実施形態のWebサービス提供システム10によれば、ユーザのクライアント端末は、複数の社内SaaSサーバの中から選択された現時点でネットワーク的に最も近い社内SaaSサーバに接続されるので、ユーザは、応答速度に関するストレスから解放される。また、最寄りの社内SaaSサーバへの再接続および複数の社内SaaSサーバ間のデータ同期は自動的に行われるので、ユーザは、複数の社内SaaSサーバを使い分けていることを意識しない。
【0034】
以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、たとえば、企業内の複数の社内SaaSサーバのうち、任意の社内SaaSサーバを代表サーバとし、これに通信先管理サーバの機能を搭載することもできる。その他、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【0035】
なお、上述した実施形態の各機能は、アセンブリ言語、C、Visual C、C++、Visual C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなど、レガシープログラミング言語やオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【符号の説明】
【0036】
10…Webサービス提供システム
20…ウェブブラウザ
22…スクリプトエンジン
24…HTMLエンジン
30…ユーザ認証部
32…ユーザ情報管理部
34…リダイレクト部
36…サーバアドレス管理部
38…データ同期部
39…データベース
40…サービスアプリケーション部
42…データ同期部
44…データベース
100…通信先管理サーバ
150…社内SaaSシステム
200…社内SaaSサーバ
250…社内SaaSサーバ
300…クライアント端末
350…ユーザ端末
400…イントラネット
402…エクストラネット
404…インターネット
500…社外SaaSサーバ
600…サーバアドレス管理テーブル
【先行技術文献】
【特許文献】
【0037】
【特許文献1】特開2009−70015号公報
【技術分野】
【0001】
本発明は、Webサービス提供システムに関し、より詳細には、複数の独立したWebサービス提供サーバを有するWebサービス提供システムに関する。
【背景技術】
【0002】
近年、SaaS(Software as a Service)と呼ばれるインターネットを介したソフトウェアの新しい利用形態が注目を集めている。従来、ユーザは、ソフトウェアを利用する際、ソフトウェア・パッケージを購入し、これを自身のパーソナル・コンピュータにインストールして利用していた。一方、SaaSにおいては、ソフトウェアは、外部のWebサービス提供業者が管理するWebアプリケーションサーバ上でのみ稼働し、ユーザは、当該Webアプリケーションサーバにインターネット接続されたクライアント端末のウェブブラウザを介してそのソフトウェアの機能を利用する。SaaSによれば、サーバ設置に伴うイニシャルコストおよびその後の保守管理コストが不要となり、また、システム規模の拡大・縮小にも柔軟に対応しうることから、近年、メールやグループウェアなどの業務用アプリケーションをSaaSに切替える企業が増えてきている。
【0003】
しかしながら、SaaSにおいては、データは社内(クライアント側)に残らず、社外のWebサービス提供業者のデータベースにのみ保存されることから、情報漏洩やデータ喪失等のセキュリティリスクを危惧し、その採用を敬遠する企業も少なくない。この点につき、特開2009−70015号公報(特許文献1)は、社外SaaSと同じアプリケーションをインストールしたSaaSサーバを社内に設置し、社内外で共有したいデータについてのみ、社内のデータベースと社外のデータベースを同期させることを特徴とする社内SaaSシステムを開示する。
【0004】
ここで、複数の事業所を有する企業が事業所ごとに社内SaaSシステムを構築する場合を考える。図9は、3つの事業所A〜Cを有する企業に設置された社内SaaSシステム150のネットワーク図を示す。図9に示されるように、各事業所A〜C内にはイントラネット400a〜400cが構築されており、各イントラネット400は、相互に接続されてエクストラネット402を形成している。
【0005】
社内SaaSシステム150においては、事業所A、BおよびCに、それぞれ、社内SaaSサーバ250a、250bおよび250cが設置されている。社内SaaSサーバ250a〜250cは、いずれも、各事業所内に構築されたイントラネット400a〜400cを介して複数のユーザ端末と接続可能とされている。
【0006】
エクストラネット402は、仮想プライベートネットワーク(VPN)やファイアーウォールを利用してセキュアなネットワークとして構築されており、企業内部の情報の機密性を担保している。したがって、ユーザは、機密性の高い情報に関しては、自身が所属する事業所に設置された社内SaaSサーバ250を利用し、社外との情報の共有を希望する情報に関しては、インターネット404を介して接続された外部の社外SaaSサーバ500を利用する。
【0007】
図9に示した社内SaaSシステム150においては、上述したように、ユーザは、自身が所属する事業所に設置された社内SaaSサーバを利用することが前提となっている。仮に、事業所Aに所属するユーザAが出先の事業所Bにおいて社内SaaSシステムを利用する場合、図10に示すように、ユーザAの端末350aは、ネットワーク的に最も近い事業所Bの社内SaaSサーバ250bと通信するのではなく、エクストラネット402を介して、ネットワーク的に遠い事業所Aの社内SaaSサーバ250aにアクセスしてこれを使用することになる。なぜなら、ユーザAのデータは、事業所Bの社内SaaSサーバ250bのデータベースには保存されておらず、自身の所属する事業所Aの社内SaaSサーバ250aにのみ保存されているからである。このようにネットワーク的に遠いサーバを利用する場合、ユーザは、応答速度が遅くなることを受忍しなければならない。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、上記従来技術における課題に鑑みてなされたものであり、本発明は、複数の独立したSaaSサーバを有する社内SaaSシステムにおいて、ユーザに応答速度に起因するストレスを与えないサービス提供システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明者は、複数の独立したSaaSサーバを有する社内SaaSシステムにおいて、ユーザに応答速度に起因するストレスを与えない新規なサービス提供システムにつき鋭意検討した結果、複数の社内SaaSサーバを含むネットワークに対して通信先管理サーバを設ける構成に想到し、本発明に至ったのである。
【0010】
本発明における通信先管理サーバは、クライアント端末からのログイン要求に含まれる送信元IPアドレスに基づいて最寄りの社内SaaSサーバのIPアドレスを取得し、当該IPアドレスを再接続先とするリダイレクト処理を送信元のクライアント端末に対して実行することによって、クライアント端末をネットワーク的に最も近い社内SaaSサーバに自動的に接続する。
【0011】
すなわち、本発明によれば、複数のWebサービス提供サーバと通信先管理サーバとを含むWebサービス提供システムであって、各々の前記Webサービス提供サーバは、互いに独立したイントラネット内に配置され、少なくとも1つのWebサービスをクライアント端末が搭載するウェブブラウザを介して提供するためのサービスアプリケーション部と、前記Webサービスを実行するためのアプリケーションデータを格納する第1のデータベースと、第1のデータ同期部とを含み、前記通信先管理サーバは、前記独立したイントラネットが相互に接続してなるエクストラネットに接続され、各前記イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りの前記Webサービス提供サーバのIPアドレスとを対応付けて管理するサーバアドレス管理部と、クライアント端末の送信元IPアドレスに基づいて前記サーバアドレス管理部を検索して前記最寄りのWebサービス提供サーバのIPアドレスを取得し、該IPアドレスを再接続先とするリダイレクト処理を該クライアント端末に対して実行するリダイレクト部と、複数の前記第1のデータベースの内容を統合するための第2のデータベースと、第2のデータ同期部とを含み、前記第1のデータ同期部は、前記第1のデータベースの内容を前記通信先管理サーバに送信し、前記第2のデータ同期部は、複数の前記第1のデータベースの内容を前記第2のデータベースに統合し、該第2のデータベースと複数の前記第1のデータベースを同期させるWebサービス提供システムが提供される。
【図面の簡単な説明】
【0012】
【図1】本実施形態のWebサービス提供システムのネットワーク図。
【図2】本実施形態のWebサービス提供システムを構成する各装置の機能ブロック図。
【図3】本実施形態の最寄りサーバアドレス管理テーブルを示す図。
【図4】本実施形態のWebサービス提供システムが実行する処理のシーケンス図。
【図5】本実施形態におけるリダイレクト処理を説明するための概念図。
【図6】本実施形態におけるリダイレクト処理を説明するための概念図。
【図7】複数の社内SaaSサーバ間のデータ同期方法を説明するための概念図。
【図8】複数の社内SaaSサーバ間のデータ同期方法を説明するための概念図。
【図9】従来の社内SaaSシステムのネットワーク図。
【図10】従来の社内SaaSシステムのネットワーク図。
【発明を実施するための形態】
【0013】
以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜、その説明を省略するものとする。
【0014】
図1は、本発明の実施形態であるWebサービス提供システム10のネットワーク図を示す。図1は、3つの事業所A〜Cを有する企業に本実施形態のWebサービス提供システム10を適用した場合について例示している。図1に示すように、本実施形態のWebサービス提供システム10は、通信先管理サーバ100と、複数のWebサービス提供サーバ200(以下、社内SaaSサーバ200として参照する)を含んで構成されている。本実施形態においては、事業所ごとに独立したイントラネット400が構築されており、各事業所に1台ずつ設置された社内SaaSサーバ200は、イントラネット400を介してクライアント端末300と接続可能に構成されている。本実施形態においては、各事業所のイントラネット400は、クライアント端末接続用に所定範囲のプライベートIPアドレスを割り当てている。なお、当該プライベートIPアドレスは、全事業所を通して一意に割り当てられる。
【0015】
さらに、各事業所内に構築されたイントラネット400は、相互に接続されてエクストラネット402を形成しており、本実施形態における通信先管理サーバ100は、エクストラネット402を介して各事業所A〜Cの外部に設置されている。
【0016】
図2は、本実施形態のWebサービス提供システム10を構成する各装置の機能ブロック図を示す。本実施形態におけるクライアント端末300は、標準的なウェブブラウザ20を搭載するパーソナル・コンピュータとして参照することができる。なお、図2においては、HTMLファイルに記述されたスクリプトを実行する機能部をスクリプトエンジン22として示し、HTTPユーザエージェント、パーサ、レンダラなどの基本機能をHTMLエンジン24として示している。
【0017】
社内SaaSサーバ200は、Webサービスを提供するためのサービスアプリケーション部40と、データ同期部42と、データベース44とを含んで構成されている。サービスアプリケーション部40は、少なくとも1つのWebサービスをクライアント端末300が搭載するウェブブラウザ20を介してユーザに提供する機能部であり、Webサービスを実行するための各種データをデータベース44に格納する。
【0018】
本実施形態における通信先管理サーバ100は、ユーザ認証部30と、ユーザIDやパスワードなどのログイン情報を管理するユーザ情報管理部32と、リダイレクト部34と、サーバアドレス管理部36と、データ同期部38と、データベース39とを含んで構成されている。
【0019】
ユーザ認証部30は、クライアント端末300からのログイン要求を受けてユーザ情報管理部32を検索・照合してユーザ認証を実行する機能部である。
【0020】
サーバアドレス管理部36は、図3に示す最寄りサーバアドレス管理テーブル600を備える。図3に例示する最寄りサーバアドレス管理テーブル600は、各事業所のイントラネット400がクライアント端末接続用として割り当てる所定範囲のプライベートIPアドレスと、当該イントラネット400内に配置されるネットワーク的に最も近い社内SaaSサーバ200のプライベートIPアドレスとを対応付けて管理している。
【0021】
リダイレクト部34は、クライアント端末300から送信されるIPパケットのIPヘッダに含まれる送信元IPアドレスに基づいて最寄りサーバアドレス管理テーブル600を検索し、送信元のクライアント端末300と同じイントラネット400内に配置されるネットワーク的に最も近い社内SaaSサーバ200のプライベートIPアドレスを取得し、当該社内SaaSサーバ200を再接続先とするリダイレクト処理を送信元のクライアント端末300に対して実行する。
【0022】
さらに、通信先管理サーバ100のデータ同期部38は、データベース39をバッファとして使用して、複数の社内SaaSサーバ200のデータベース44に格納されたデータの同期を図る機能部であり、当該データ同期は、データ同期部38と複数の社内SaaSサーバ200の各データ同期部42とが協働することによって実現される。
【0023】
以上、本実施形態のWebサービス提供システム10を構成する各装置の機能手段について説明してきたが、次に、本実施形態のWebサービス提供システム10が実行する処理の具体的な内容について、図1に示した事業所Aに所属するユーザAが出先の事業所Bにおいて社内SaaSシステムを利用する場合を例にとって説明する。
【0024】
図4は、Webサービス提供システム10が実行する処理のシーケンス図である。事業所Bに出向いたユーザAは、まず、自身のクライアント端末300aを出先の事業所Bに構築されたイントラネット400bに接続する。このとき、クライアント端末300aは、クライアント端末接続用として用意された所定のプライベートIPアドレスを付与される。
【0025】
次に、ユーザAは、図4に示すように、ウェブブラウザ20から社内SaaS用URLにアクセスしてログインを要求する(ステップ101)。ここで、事業所A〜Cを有する当該企業においては、社員(ユーザ)に対し、社内SaaSアクセス用として通信先管理サーバ100のURLのみが案内されており、各事業所に配置された社内SaaSサーバ200a〜200cのURLは、一般ユーザには知らされない。したがって、社内SaaSを利用しようとするユーザは、まず最初に、通信先管理サーバ100に対して社内SaaS用ログイン要求を送信することになる。ログイン要求を受けた通信先管理サーバ100は、クライアント端末300aのウェブブラウザ20に対してログインページを送信する(ステップ102)。
【0026】
ユーザAは、受信したログインページからユーザIDおよびパスワードなどのログイン情報を入力する。これに応答してクライアント端末300aのウェブブラウザ20がログイン情報を通信先管理サーバ100に送信する(ステップ103)。通信先管理サーバ100のユーザ認証部30は、受信したログイン情報に基づいてユーザ認証処理を実行する(ステップ104)。
【0027】
ユーザ認証が成功すると、通信先管理サーバ100のリダイレクト部34は、IPパケットのIPヘッダに含まれる送信元IPアドレスをキーとして、図3に示した最寄りサーバアドレス管理テーブル600を検索し、送信元であるクライアント端末300aに付与されたプライベートIPアドレスに対応する社内SaaSサーバのIPアドレスを取得する(ステップ105)。
【0028】
続いて、リダイレクト部34は、取得した社内SaaSサーバ200bのIPアドレスを転送先とするリダイレクト処理を実行する(ステップ106)。本実施形態におけるリダイレクト処理とは、クライアント端末のウェブブラウザを最寄りの社内SaaSサーバに再接続するための処理をいい、図5に示す例の場合、ユーザAのクライアント端末300aのウェブブラウザ20の通信先を、現在の通信先である通信先管理サーバ100から、ネットワーク的に最も近い社内SaaSサーバ200bに変更させるための処理をいう。本実施形態におけるリダイレクト処理は、HTTPリダイレクト、metaタグによるリダイレクト、クライアントスクリプトによるリダイレクトなど、適切な方法を用いて実現することができる。リダイレクト部34は、図6に示すように、リダイレクトの実行を内容とするHTTPレスポンスをクライアント端末300aのウェブブラウザ20に送信する(ステップ107)。
【0029】
クライアント端末300aのウェブブラウザ20は、受信したHTTPレスポンスを解析し(ステップ108)、指定されたIPアドレス(すなわち、社内SaaSサーバ200b)に対してHTTPリクエストを送信する(ステップ109)。社内SaaSサーバ200bは、HTTPリクエストに応答してサービスページ生成し、これをクライアント端末300aに送信する(ステップ110)。クライアント端末300aのウェブブラウザ20によってサービスページが表示され、社内SaaSサーバ200bが提供するサービスが開始される(ステップ111)。
【0030】
以上、本実施形態のWebWebサービス提供システム10のリダイレクト機能について説明してきたが、本実施形態においては、ユーザがどの事業所においても自分のデータにアクセスできるように、複数の社内SaaSサーバ間でWebサービスに用いられるデータの同期を図ることが前提となる。以下、Webサービス提供システム10における複数の社内SaaSサーバ間のデータ同期方法について、図7および図8に基づいて説明する。
【0031】
本実施形態のWebサービス提供システム10においては、複数の社内SaaSサーバ間のデータ同期方法として、以下の2つの方法を採用することができる。第1の方法は、図7に示すように、各事業所に配置された社内SaaSサーバ200のデータベースの更新と非同期にデータ同期を行う方法である。図7に例示する方法においては、通信先管理サーバ100のデータ同期部38が、各事業所に設置された社内SaaSサーバ200a〜200cに対して予め定められた時間間隔をもって定期的に同期リクエストを送信する。各社内SaaSサーバ200a〜200cのデータ同期部42は、当該同期リクエストに応答してデータベース44の内容を通信先管理サーバ100に送信する。通信先管理サーバ100のデータ同期部38は、各社内SaaSサーバ200a〜200cから送信されたデータベース44の内容をデータベース39に統合する。データ同期部38は、そのようにして得た統合データを社内SaaSサーバ200a〜200cに送信し、社内SaaSサーバ200a〜200cが送信された統合データをコピーすることによって、各社内SaaSサーバ200のデータベース44と通信先管理サーバ100のデータベース39が同期され、結果的に社内SaaSサーバ200a〜200c間のデータ同期が実現される。
【0032】
次に、第2の方法について説明する。図8に例示する第2の方法においては、各社内SaaSサーバ200a〜200cのデータ同期部42は、各事業所に配置された社内SaaSサーバ200のデータベースの更新に同期して、データベース44の内容を通信先管理サーバ100に送信する。通信先管理サーバ100のデータ同期部38は、データベース44の内容を受信する度にその内容をデータベース39に統合する。これとは別に、データ同期部38は、予め定められた時間間隔をもって定期的に社内SaaSサーバ200a〜200cに対して現時点における統合データを送信し、各社内SaaSサーバ200a〜200cが送信された統合データをコピーすることによって、各社内SaaSサーバ200のデータベース44と通信先管理サーバ100のデータベース39が同期され、結果的に社内SaaSサーバ200a〜200c間のデータ同期が実現される。
なお、上述した2つの方法において、社内SaaSサーバ200から通信先管理サーバ100に送るデータベース44の内容は、差分データとすることができる。
【0033】
以上、説明したように、本実施形態のWebサービス提供システム10によれば、ユーザのクライアント端末は、複数の社内SaaSサーバの中から選択された現時点でネットワーク的に最も近い社内SaaSサーバに接続されるので、ユーザは、応答速度に関するストレスから解放される。また、最寄りの社内SaaSサーバへの再接続および複数の社内SaaSサーバ間のデータ同期は自動的に行われるので、ユーザは、複数の社内SaaSサーバを使い分けていることを意識しない。
【0034】
以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、たとえば、企業内の複数の社内SaaSサーバのうち、任意の社内SaaSサーバを代表サーバとし、これに通信先管理サーバの機能を搭載することもできる。その他、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【0035】
なお、上述した実施形態の各機能は、アセンブリ言語、C、Visual C、C++、Visual C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなど、レガシープログラミング言語やオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【符号の説明】
【0036】
10…Webサービス提供システム
20…ウェブブラウザ
22…スクリプトエンジン
24…HTMLエンジン
30…ユーザ認証部
32…ユーザ情報管理部
34…リダイレクト部
36…サーバアドレス管理部
38…データ同期部
39…データベース
40…サービスアプリケーション部
42…データ同期部
44…データベース
100…通信先管理サーバ
150…社内SaaSシステム
200…社内SaaSサーバ
250…社内SaaSサーバ
300…クライアント端末
350…ユーザ端末
400…イントラネット
402…エクストラネット
404…インターネット
500…社外SaaSサーバ
600…サーバアドレス管理テーブル
【先行技術文献】
【特許文献】
【0037】
【特許文献1】特開2009−70015号公報
【特許請求の範囲】
【請求項1】
複数のWebサービス提供サーバと通信先管理サーバとを含むWebサービス提供システムであって、
各々の前記Webサービス提供サーバは、
互いに独立したイントラネット内に配置され、
少なくとも1つのWebサービスをクライアント端末が搭載するウェブブラウザを介して提供するためのサービスアプリケーション部と、
前記Webサービスを実行するためのアプリケーションデータを格納する第1のデータベースと、
第1のデータ同期部と、
を含み、
前記通信先管理サーバは、
前記独立したイントラネットが相互に接続してなるエクストラネットに接続され、
各前記イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りの前記Webサービス提供サーバのIPアドレスとを対応付けて管理するサーバアドレス管理部と、
クライアント端末の送信元IPアドレスに基づいて前記サーバアドレス管理部を検索して前記最寄りのWebサービス提供サーバのIPアドレスを取得し、該IPアドレスを再接続先とするリダイレクト処理を該クライアント端末に対して実行するリダイレクト部と、
複数の前記第1のデータベースの内容を統合するための第2のデータベースと、
第2のデータ同期部と、
を含み
前記第1のデータ同期部は、前記第1のデータベースの内容を前記通信先管理サーバに送信し、前記第2のデータ同期部は、複数の前記第1のデータベースの内容を前記第2のデータベースに統合し、該第2のデータベースと複数の前記第1のデータベースを同期させる、
Webサービス提供システム。
【請求項2】
前記第1のデータ同期部は、前記第2のデータ同期部からの同期リクエストに応答して所定時間毎に前記第1のデータベースの内容を前記通信先管理サーバに送信し、前記第2のデータ同期部は、所定時間毎に前記第2のデータベースと複数の前記第1のデータベースを同期させる、
請求項1に記載のWebサービス提供システム。
【請求項3】
前記第1のデータ同期部は、前記第1のデータベースのデータ更新に同期して前記第1のデータベースの更新内容を前記通信先管理サーバに送信し、前記第2のデータ同期部は、所定時間毎に前記第2のデータベースと複数の前記第1のデータベースを同期させる、
請求項1に記載のWebサービス提供システム。
【請求項4】
各々にWebサービス提供サーバが配置された独立した複数のイントラネットが相互に接続してなるエクストラネットに接続される通信先管理サーバであって、
各前記イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りのWebサービス提供サーバのIPアドレスとを対応付けて管理するサーバアドレス管理部と、
クライアント端末の送信元IPアドレスに基づいて前記サーバアドレス管理部を検索して前記最寄りのWebサービス提供サーバのIPアドレスを取得し、該IPアドレスを再接続先とするリダイレクト処理を該クライアント端末に対して実行するリダイレクト部と、
複数の外部データベースの内容を統合するための統合データベースと、
複数の前記Webサービス提供サーバのデータベースの内容を前記統合データベースに統合し、該統合データベースと複数の前記Webサービス提供サーバのデータベースを同期させるデータ同期部と
を含む
通信先管理サーバ。
【請求項5】
各々にWebサービス提供サーバが配置された独立した複数のイントラネットが相互に接続してなるエクストラネットに接続される通信先管理サーバの制御方法であって、
前記通信先管理サーバに、
各前記イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りのWebサービス提供サーバのIPアドレスとを対応付けて管理するための機能手段と、
クライアント端末の送信元IPアドレスに基づいて前記最寄りのWebサービス提供サーバのIPアドレスを取得し、該IPアドレスを再接続先とするリダイレクト処理を該クライアント端末に対して実行するための機能手段と、
複数の前記Webサービス提供サーバのデータベースの内容を統合データベースに統合し、該統合データベースと複数の前記Webサービス提供サーバのデータベースを同期させるための機能手段と
を実現する方法。
【請求項6】
コンピュータに請求項5に記載の各機能手段を実現させるためのコンピュータ実行可能なプログラム。
【請求項1】
複数のWebサービス提供サーバと通信先管理サーバとを含むWebサービス提供システムであって、
各々の前記Webサービス提供サーバは、
互いに独立したイントラネット内に配置され、
少なくとも1つのWebサービスをクライアント端末が搭載するウェブブラウザを介して提供するためのサービスアプリケーション部と、
前記Webサービスを実行するためのアプリケーションデータを格納する第1のデータベースと、
第1のデータ同期部と、
を含み、
前記通信先管理サーバは、
前記独立したイントラネットが相互に接続してなるエクストラネットに接続され、
各前記イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りの前記Webサービス提供サーバのIPアドレスとを対応付けて管理するサーバアドレス管理部と、
クライアント端末の送信元IPアドレスに基づいて前記サーバアドレス管理部を検索して前記最寄りのWebサービス提供サーバのIPアドレスを取得し、該IPアドレスを再接続先とするリダイレクト処理を該クライアント端末に対して実行するリダイレクト部と、
複数の前記第1のデータベースの内容を統合するための第2のデータベースと、
第2のデータ同期部と、
を含み
前記第1のデータ同期部は、前記第1のデータベースの内容を前記通信先管理サーバに送信し、前記第2のデータ同期部は、複数の前記第1のデータベースの内容を前記第2のデータベースに統合し、該第2のデータベースと複数の前記第1のデータベースを同期させる、
Webサービス提供システム。
【請求項2】
前記第1のデータ同期部は、前記第2のデータ同期部からの同期リクエストに応答して所定時間毎に前記第1のデータベースの内容を前記通信先管理サーバに送信し、前記第2のデータ同期部は、所定時間毎に前記第2のデータベースと複数の前記第1のデータベースを同期させる、
請求項1に記載のWebサービス提供システム。
【請求項3】
前記第1のデータ同期部は、前記第1のデータベースのデータ更新に同期して前記第1のデータベースの更新内容を前記通信先管理サーバに送信し、前記第2のデータ同期部は、所定時間毎に前記第2のデータベースと複数の前記第1のデータベースを同期させる、
請求項1に記載のWebサービス提供システム。
【請求項4】
各々にWebサービス提供サーバが配置された独立した複数のイントラネットが相互に接続してなるエクストラネットに接続される通信先管理サーバであって、
各前記イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りのWebサービス提供サーバのIPアドレスとを対応付けて管理するサーバアドレス管理部と、
クライアント端末の送信元IPアドレスに基づいて前記サーバアドレス管理部を検索して前記最寄りのWebサービス提供サーバのIPアドレスを取得し、該IPアドレスを再接続先とするリダイレクト処理を該クライアント端末に対して実行するリダイレクト部と、
複数の外部データベースの内容を統合するための統合データベースと、
複数の前記Webサービス提供サーバのデータベースの内容を前記統合データベースに統合し、該統合データベースと複数の前記Webサービス提供サーバのデータベースを同期させるデータ同期部と
を含む
通信先管理サーバ。
【請求項5】
各々にWebサービス提供サーバが配置された独立した複数のイントラネットが相互に接続してなるエクストラネットに接続される通信先管理サーバの制御方法であって、
前記通信先管理サーバに、
各前記イントラネット内でクライアント端末接続用に割り当てられるIPアドレスと該イントラネット内に配置される最寄りのWebサービス提供サーバのIPアドレスとを対応付けて管理するための機能手段と、
クライアント端末の送信元IPアドレスに基づいて前記最寄りのWebサービス提供サーバのIPアドレスを取得し、該IPアドレスを再接続先とするリダイレクト処理を該クライアント端末に対して実行するための機能手段と、
複数の前記Webサービス提供サーバのデータベースの内容を統合データベースに統合し、該統合データベースと複数の前記Webサービス提供サーバのデータベースを同期させるための機能手段と
を実現する方法。
【請求項6】
コンピュータに請求項5に記載の各機能手段を実現させるためのコンピュータ実行可能なプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2012−58898(P2012−58898A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−199802(P2010−199802)
【出願日】平成22年9月7日(2010.9.7)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願日】平成22年9月7日(2010.9.7)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]