(57)【要約】【課題】クライアント数が増加すると通信トラフィックが増加しネットワークの負荷が大きくなる。  【解決手段】クライアントとサーバとがネットワークを介して接続され、クライアントにキャッシュを有するネットワークシステムにおいて、サーバ２はデータ保持手段２４と通信情報保持手段２５とを有し、サーバでデータ保持手段のデータを更新したときに、サーバは、通信情報保持手段に保持されたクライアントとの通信情報に基づいて、更新の影響が及ぶクライアントを洗い出し、該クライアントの接続状況を判断して、更新通知をクライアントに送り、クライアントは、サーバからの更新通知をトリガーにしてキャッシュの更新処理を開始し、サーバに更新データの送信を要求する。【選択図】図２
2010231570.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバとがネットワークを介して接続され、前記クライアントにキャッシュを有するネットワークシステムにおいて、
前記サーバはデータ保持手段と通信情報保持手段とを有し、前記サーバで前記データ保持手段のデータを更新したときに、前記サーバは、前記通信情報保持手段に保持されたクライアントとの通信情報に基づいて、更新の影響が及ぶ前記クライアントを洗い出し、該クライアントの接続状況を判断して、更新通知を前記クライアントに送り、
前記クライアントは、前記サーバからの更新通知をトリガーにしてキャッシュの更新処理を開始し、前記サーバに更新データの送信を要求することを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムにおいて、
前記クライアントはデータの更新後に、更新完了通知を前記サーバに送り、前記サーバは前記通信情報の更新を行うことを特徴とするネットワークシステム。
【請求項３】
クライアントとサーバとがネットワークを介して接続され、前記クライアントにキャッシュを有するネットワークシステムの通信トラフィックの軽減方法において、
前記サーバでデータを更新したときに、前記サーバは保持されたクライアントとの通信情報に基づいて、更新の影響が及ぶ前記クライアントを洗い出し、該クライアントの接続状況を判断して、更新通知を前記クライアントに送り、
前記クライアントは、前記サーバからの更新通知をトリガーにしてキャッシュの更新処理を開始し、前記サーバに更新データの送信を要求することを特徴とする通信トラフィックの軽減方法。
【請求項４】
請求項３に記載の通信トラフィックの軽減方法において、
前記クライアントはデータの更新後に、更新完了通知を前記サーバに送り、前記サーバは前記通信情報の更新を行うことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム及び通信トラフィックの軽減方法に係わり、特にクライアントとサーバとがネットワークを介して接続され、クライアントにキャッシュを有するネットワークシステム及び通信トラフィックの軽減方法に関する。
【背景技術】
【０００２】
クライアント側にキャッシュを持つサーバ・クライアント型のアプリケーションでは、クライアントモジュールのキャッシュを最新に保つ必要があるため、サーバに対してクライアントが定期的に通信を行いクライアントモジュールにキャッシュしている情報に更新があるか確認を行う。このクライアントがクライアントモジュールにキャッシュしている情報に更新があったかどうかをサーバに問い合わせる通信間隔は、サーバ側の設定もしくはクライアント側の設定で一定の間隔に定められることが多い。
【０００３】
例えば、多くのコンピュータがネットワークに接続されている企業で、多数のクライアントがサーバに対して通信を行うような環境において、同じようなタイミングでサーバ・クライアント型のアプリケーションが起動された場合、サーバに対する多数のクライアントからの通信はほぼ同じタイミングで発生する。
【０００４】
なお、本願発明に関連する技術として、特許文献１には、サーバからクライアントへキャッシュ更新通知を配信する方法についての記載があり、特許文献２には、キャッシュを備えたクライアントがサーバ上のデータを参照する分散データシステムについての記載がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−０７６１６８号公報
【特許文献２】特開平１０−３０１８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、各クライアントの通信発生のタイミングがほぼ同じになる場合、ほぼ同じタイミングでサーバの処理負荷やネットワークの負荷が集中し続けてしまうことになる。
【０００７】
その結果、クライアント数が増加すると通信トラフィックが増加しネットワークの負荷が大きくなる。
【課題を解決するための手段】
【０００８】
本発明に係わるネットワークシステムは、クライアントとサーバとがネットワークを介して接続され、前記クライアントにキャッシュを有するネットワークシステムにおいて、
前記サーバはデータ保持手段と通信情報保持手段とを有し、前記サーバで前記データ保持手段のデータを更新したときに、前記サーバは、前記通信情報保持手段に保持されたクライアントとの通信情報に基づいて、更新の影響が及ぶ前記クライアントを洗い出し、該クライアントの接続状況を判断して、更新通知を前記クライアントに送り、
前記クライアントは、前記サーバからの更新通知をトリガーにしてキャッシュの更新処理を開始し、前記サーバに更新データの送信を要求することを特徴とする。
【０００９】
本発明に係わる通信トラフィックの軽減方法は、クライアントとサーバとがネットワークを介して接続され、前記クライアントにキャッシュを有するネットワークシステムの通信トラフィックの軽減方法において、
前記サーバでデータを更新したときに、前記サーバは保持されたクライアントとの通信情報に基づいて、更新の影響が及ぶ前記クライアントを洗い出し、該クライアントの接続状況を判断して、更新通知を前記クライアントに送り、
前記クライアントは、前記サーバからの更新通知をトリガーにしてキャッシュの更新処理を開始し、前記サーバに更新データの送信を要求することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、クライアント数が増加しても、データキャッシュ更新に伴う通信トラフィックの増加を抑制することができる。これは、サーバのデータが更新された場合、クライアントにデータの更新通知を送付したタイミングで、クライアントのデータキャッシュ更新処理を行うためである。
【図面の簡単な説明】
【００１１】
【図１】本発明に係わる一実施形態のネットワークシステムの構成を示すブロック図である。
【図２】本発明に係わる一実施例のネットワークシステムの構成を示すブロック図である。
【図３】本実施例のネットワークシステムにおける通信トラフィックの軽減方法を示すフローチャートである。
【図４】本実施例のネットワークシステムにおける他の通信トラフィックの軽減方法を示すフローチャートである。
【図５】本実施例のネットワークシステムにおける、さらに他の通信トラフィックの軽減方法を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１３】
図１は、本発明の一実施形態について図１を用いて説明する。図１に示すように、クライアントとなるクライアントモジュール１１はSSO（Single Sign-On）キャッシュを備え、サーバとなるサーバモジュール２はSSOデータベースと通信情報データベースとを備えている。サーバモジュール２のSSOデータベースに保持されるデータを更新したとき（ステップＳ１）、情報データベースに保持されたクライアントとの通信情報を確認する（ステップＳ２）。この通信情報から更新の影響が及ぶクライアントを洗い出し、更新通知をクライアントに送る（ステップＳ３）。通信情報データベースには、ユーザ個人を特定する情報（例えばユーザID）、ユーザの場所を特定する情報（例えばIPアドレス）、クライアントモジュールがデータの取得が完了した時刻が保管されており、ユーザID、IPアドレスからデータ更新が必要なクライアントを選択し、時刻情報からデータの更新の必要性を判断する。
【００１４】
クライアントとなるクライアントモジュール１は、サーバモジュール２からの更新通知をトリガーにしてキャッシュの更新処理を開始する。クライアントモジュール１はサーバモジュール２に対してＳＳＯデータを要求し（ステップＳ４）、サーバモジュール２はSSOデータベースから読み出したＳＳＯデータをクライアントモジュール１へ送り、SSOキャッシュのデータが更新される（ステップＳ５）。クライアントモジュール１のSSOキャッシュのデータは、アプリケーション（AP）のログイン画面にSSOデータ（IDとパスワード（PW））を入力する場合に利用する。
【００１５】
図１では、サーバでのSSOデータの更新を契機として、クライアントモジュールの更新通知動作を開始しているが、SSOデータのバージョン情報のクライアントからの受信を契機として、又はクライアントでのSSOデータキャッシュの更新処理を契機として、サーバでのクライアントモジュールの更新通知動作を開始してもよい。
【実施例】
【００１６】
本発明の一実施例の構成について図２、図３、図４、図５を参照し説明する。図１に示した実施形態に対応する実施例は図４に示す動作を行うネットワークシステムである。
【００１７】
図２は本発明の一実施例のネットワークシステムの構成図であり、通信トラフィックの軽減を実現する構成を示している。図３は、図２に示すネットワークシステムのクライアントモジュール起動時の処理のフローチャートである。図４は、図２に示すネットワークシステムのサーバのSSOデータ更新時の処理のフローチャートである。図５は、図２に示すネットワークシステムのクライアントのSSOデータ更新時の処理のフローチャートである。
【００１８】
図２を参照すると、クライアントは、クライアントモジュール１で構成される。サーバは、サーバモジュール２で構成される。クライアントモジュール１とサーバモジュール２とはインターネット等のネットワーク３で接続されている。
【００１９】
クライアントモジュール１は、データ取得部１０、送受信部１１、データ更新部１２、データキャッシュ保管データベース（DB）１３を備えている。
【００２０】
サーバモジュール２は、送受信部２０、データ取得部２１、送信可否判断部２２、データ更新部２３、データ保管データベース（DB）２４、通信情報保管データベース（DB）２５を備えている。
【００２１】
クライアント側にキャッシュを持つサーバ・クライアント型のシングルサインオンアプリケーションの場合の動作についてフローチャートを参照して説明する。
【００２２】
（１）．クライアントモジュール起動時またはオフライン状態からオンライン状態に変わったとき
図３は本実施例におけるクライアントを使用するエンドユーザがクライアントモジュール１を起動したとき、またはクライアントモジュール１がオフライン状態からオンライン状態に変わったときの動作工程の一例を示すフローチャートである。
【００２３】
エンドユーザがクライアントモジュール１を起動したときまたはクライアントモジュール１がオフライン状態からオンライン状態に変わったとき、以下の工程でクライアントモジュール１に保管されるSSOデータキャッシュの更新処理と通信情報の保管が実施される。
【００２４】
エンドユーザがクライアントモジュール１を起動するとまたはクライアントモジュール１がオフライン状態からオンライン状態に変わるとき（S301）、データ取得部１０はデータキャッシュ保管DB１３からSSOデータのバージョンを取得する（S302）。
【００２５】
クライアントモジュール１の送受信部１１は、SSOデータのバージョンをサーバに送信する（S303）。
【００２６】
サーバモジュール２の送受信部２０は、クライアントモジュール１から送信されたSSOデータのバージョン情報を受信する（S304）。
【００２７】
SSOデータのバージョン情報の受信が終了すると通信情報保管DB２５からエンドユーザの通信情報を取得し（S305）、送信可否判断部２２でエンドユーザにSSOデータを送信するかどうかの判断を行う（S306）。
【００２８】
通信情報保管DB２５は、ユーザ個人を特定する情報（例えばユーザID）、ユーザの場所を特定する情報（例えばIPアドレス）、クライアントモジュール１がデータの取得が完了した時刻を保管しているものとする。
【００２９】
ｉ）．送信可否判断部２２がエンドユーザに更新通知を送ると判断した場合
たとえば、エンドユーザの通信情報が存在しない場合もしくはエンドユーザから送信されたSSOデータのバージョンが古い場合が想定される。
【００３０】
サーバモジュール２の送受信部２０は、更新通知をエンドユーザが起動したクライアントモジュール１に送信する（S307）。
【００３１】
クライアントモジュール１の送受信部１１は、サーバモジュール２から送信された更新通知を受信する（S308）。
【００３２】
クライアントモジュール１のデータ取得部１０は、サーバモジュール２のデータ保管DB２４に保管されているSSOデータを取得する（S309）。
【００３３】
クライアントモジュール１のデータ更新部１２は、データキャッシュ保管DB１３に受信したSSOデータを保管し、SSOキャッシュ更新完了通知を作成する（S310）。
【００３４】
クライアントモジュール１の送受信部１１は、SSOキャッシュ更新完了通知をサーバモジュール２に送信する（S311）。
【００３５】
サーバモジュール２の送受信部２０は、クライアントモジュール１から送信されたSSOキャッシュ更新完了通知を受信し、サーバモジュール２のデータ更新部２３は、通信情報保管DB２５に保管されているエンドユーザの通信情報の更新をする（S312）。
【００３６】
ii）．送信可否判断部２２がエンドユーザに更新通知を送らないと判断した場合
たとえば、エンドユーザの通信情報が最新の場合が想定される。
【００３７】
サーバモジュール２の送受信部２０は、更新通知をエンドユーザが起動したクライアントモジュール１に送信しない。
【００３８】
サーバモジュール１のデータ更新部２３は、通信情報保管DB２５に保管されているエンドユーザの通信情報の更新をする（S312）。
【００３９】
以上により、クライアントを使用するエンドユーザがクライアントモジュール１を起動したとき、またはクライアントモジュール１がオフライン状態からオンライン状態に変わったときの動作工程を終了する。
（２）．サーバ側SSOデータ更新時
図４は本実施例におけるサーバ側のSSOデータを更新したときの動作工程の一例を示すフローチャートである。
【００４０】
サーバ側のSSOデータが更新されるとき、以下の工程でクライアントモジュール１に保管されるSSOデータキャッシュの更新処理と通信情報の保管が実施される。
【００４１】
サーバ側のSSOデータ管理者は、データ更新部２３によりデータ保管DB２４に保管されているSSOデータを更新する(S401)。
【００４２】
SSOデータの更新が終了すると通信情報保管DB２５からSSOデータの更新に対して影響のあるエンドユーザの通信情報を取得し(S402)、送信可否判断部２２でエンドユーザに更新通知を送信するかどうかの判断を行う（接続状況を判断する）(S403)。エンドユーザに更新通知を送信するかどうかの判断は、通信情報データベースに保管された、クライアントモジュールがデータの取得が完了した時刻に基づいて行われる。例えば、クライアントモジュールがデータの取得が完了した時刻から一定時間経過している場合や、クライアントモジュールがデータの取得を完了した時刻が、サーバ側SSOデータの更新された時刻より早い場合に更新通知を送信するとすることができる。
【００４３】
ｉ）．送信可否判断部２２がエンドユーザに更新通知を送ると判断した場合
サーバモジュール２の送受信部２０は、更新通知をエンドユーザが起動したクライアントモジュール１に送信する(S404)。
【００４４】
クライアントモジュール１の送受信部１１は、サーバモジュール２から送信された更新通知を受信する(S405)。
【００４５】
クライアントモジュール１のデータ取得部１０は、サーバモジュール２のデータ保管DB２４に保管されているSSOデータを取得する(S406)。
【００４６】
クライアントモジュール１のデータ更新部１２は、データキャッシュ保管DB１３に受信したSSOデータを保管し、SSOキャッシュ更新完了通知を作成する(S407)。
クライアントモジュール１の送受信部１１は、SSOキャッシュ更新完了通知をサーバモジュール２に送信する(S408)。
【００４７】
サーバモジュール２の送受信部２０は、クライアントモジュール１から送信されたSSOキャッシュ更新完了通知を受信し、サーバモジュール２のデータ更新部２３は、通信情報保管DB２５に保管されているエンドユーザの通信情報の更新をする(S409)。
【００４８】
ii）．送信可否判断部２２がエンドユーザに更新通知を送らないと判断した場合
サーバモジュール２のデータ更新部２０は、通信情報保管DB２５に保管されているエンドユーザの通信情報の更新をする(S409)。
【００４９】
以上により、サーバ側のSSOデータを更新したときの動作工程を終了する。
【００５０】
図４に示した動作においては、クライアント側からクライアントモジュールにキャッシュしている情報に更新が無いかサーバ側に定期的に問い合わせ、更新があった場合に最新の情報を受け取るのではなく、サーバ側で情報を更新したとき、更新の影響が及ぶクライアントを洗い出しクライアントの接続状況を判断し更新通知をクライアント側に送り、そのタイミングで最新の情報を受け取ることにより、通信トラフィックを減少させ、サーバの負荷やネットワーク上の通信負荷を軽減している。
（３）．クライアント側SSOデータ更新時
図５は本実施例におけるクライアント側のSSOデータを更新したときの動作工程の一例を示すフローチャートである。
【００５１】
クライアント側のSSOデータが更新されたとき、以下の工程でクライアントモジュール１に保管されるSSOデータキャッシュの更新処理と通信情報の保管が実施される。
クライアント側のエンドユーザは、データ更新部１２によりSSOデータを更新する(S501)。
【００５２】
クライアントモジュール１はデータキャッシュ保管DB１３からSSOデータのバージョンを取得する(S502)。
【００５３】
クライアントモジュール１の送受信部１１は、SSOデータのバージョンをサーバモジュール２に送信する(S503)。
【００５４】
サーバモジュール２の送受信部２０は、クライアントから送信されたSSOデータのバージョン情報を受信する(S504)。
【００５５】
SSOデータのバージョン情報の受信が終了すると通信情報保管DB２５からエンドユーザの通信情報を取得し(S505)、送信可否判断部２２でエンドユーザにSSOデータを送信するかどうかの判断を行う(S506)。
【００５６】
ｉ）．送信可否判断部２２がエンドユーザに更新通知を送ると判断した場合
サーバモジュール２の送受信部１１は、更新通知をエンドユーザが起動したクライアントモジュール１に送信する(S507)。
【００５７】
クライアントモジュール１の送受信部１１は、サーバモジュール２から送信された更新通知を受信する(S508)。
【００５８】
クライアントモジュール１のデータ取得部１０は、サーバモジュール２のデータ保管DB２４に保管されているSSOデータを取得する(S509)。
【００５９】
クライアントモジュール１のデータ更新部１２は、データキャッシュ保管DB１３に受信したSSOデータを保管し、SSOキャッシュ更新完了通知を作成する(S510)。
【００６０】
クライアントモジュール１の送受信部１１は、SSOキャッシュ更新完了通知をサーバモジュール２に送信する(S511)。
【００６１】
サーバモジュール２の送受信部２０は、クライアントモジュール１から送信されたSSOキャッシュ更新完了通知を受信し、サーバモジュール２のデータ更新部２３は、通信情報保管DB２５に保管されているエンドユーザの通信情報の更新をする(S512)。
【００６２】
ii）．送信可否判断部２２がエンドユーザに更新通知を送らないと判断した場合
サーバモジュール２のデータ更新部２０は、通信情報保管DB２５に保管されているエンドユーザの通信情報の更新をする(S512)。
【００６３】
以上により、クライアント側のSSOデータを更新したときの動作工程を終了する。
【産業上の利用可能性】
【００６４】
本発明は、クライアントにキャッシュを有するネットワークシステムに用いられる。
【符号の説明】
【００６５】
１  クライアントモジュール
２  サーバモジュール
３  ネットワーク
１０  データ取得部
１１  送受信部
１２  データ更新部
１３  データキャッシュ保管DB
２０  送受信部
２１  データ取得部
２２  送信可否判断部
２３  データ更新部
２４  データ保管DB
２５  通信情報保管DB
【図１】
2010231570.tif 000003
【図２】
2010231570.tif 000004
【図３】
2010231570.tif 000005
【図４】
2010231570.tif 000006
【図５】
2010231570.tif 000007