(57)【特許請求の範囲】
【請求項１】
クライアントと、当該クライアントと接続されたサーバで構成されるシンクライアントシステムにおけるデータ同期方法であって、
前記サーバは、
前記サーバに格納され前記クライアントに対する操作に基づき使用される複数のファイルについて、ファイル毎の使用頻度を記録するファイル使用頻度管理テーブルを保持し、当該ファイル使用頻度管理テーブルに基づき、複数のファイルのうち予め定められた使用頻度以上の少なくとも１つのファイルを特定し
当該特定された少なくとも１つのファイルを前記クライアントへ送信し、
前記クライアントは、
前記特定された少なくとも１つのファイルを受信すると、当該特定された少なくとも１つのファイルを前記クライアントの有するローカルディスクに格納し、
前記クライアントと前記サーバの接続状況が切断と検知した場合、前記クライアントのローカルディスクに格納された前記特定された少なくとも１つのファイルを用いて処理を実行し、当該処理により生じる前記特定された少なくとも１つのファイルの差分を記録し、
前記クライアントと前記サーバの接続状況が、接続が再開されたことを検知した場合、前記差分を前記サーバに送信し、
前記サーバは、
前記差分を受信すると、当該差分を用いて、前記サーバに格納された前記特定された少なくとも１つのファイルを更新することを特徴とするシンクライアントシステムにおけるデータ同期方法
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、いわゆるシンクライアントシステムでのデータ管理に関するものである。その中でも、通信環境などにより、サーバ側にアクセスできない場合でもその一部の処理を実行可能とするための技術に関する。
【背景技術】
【０００２】
現在、企業などではいわゆるシンクライアントシステムの導入が進められている。シンクライアントシステムでは、クライアント側での処理や資源を少なくし、サーバ側で処理、資源を集中させている。このように、シンクライアントシステムではクライアント側とサーバ側での通信が必要である。このため、通信に不具合が生じた場合、利用者が所望の処理を実行できない、との課題が生じる。
【０００３】
この点を解決すために、特許文献１が提案されている。特許文献１では、オフライン状態でも利用を可能にすることを目的としている。そこで、特許文献１では、当該シンクライアントシステムで利用するデータおよびアプリケーションを管理する管理サーバを設け、また、これらを管理する管理データを格納した記憶媒体をクライアント側に設置し利用することで上記目的を達成している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１８６３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
オフライン状態でも操作可能にするために、特許文献１では、「管理サーバ」や「記憶媒体」を用意することが必要になる。しかしながら、「記憶媒体」等を用意することはシステムを複雑化させると共に、「記憶媒体」の形態を忘れた場合、処理できない、との課題が生じる。そこで、本発明では、これらの課題を解決するオフライン状態でも(ある程度の)処理を可能にするシンクライアントシステム技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明では、クライアント側に、その使用状況が所定の条件を満たすデータを保持し、オフライン状態になった場合に、当該データの利用を可能とするものである。所定の条件を満たすとは、その使用頻度(回数等)が一定以上や、最終利用(含むアクセス)が一定期間（新しいものから）のものが含まれる。また、これらについては、絶対な基準でなく相対的なものを基準としてもよい。さらに各基準(条件)を複合的に用いて判断してもよい。また、使用頻度(回数等)については、サーバ側での使用頻度に加え、クライアント側の使用頻度（オフラインにおける使用）を考慮してもよい。これは、サーバ側に対する使用頻度とクライアント側に対する使用頻度の和であってもよいし、それぞれ重み付けを付けて計算してもよい。例えば、クライアント側のデータはサーバ側から抽出されたデータ（数が少ない）であるため、サーバ側の使用頻度に対して重要視する（例えば、回数×２など）構成にするとよい。
【０００７】
さらに、本発明では、以下の態様も含まれる。オフライン状態からオンライン状態になった際、上記クライアント側に格納されたデータのうち、利用され変更された内容を、サーバ側のデータに反映させる。この際、差分を示すデータをサーバ側に送付する構成にしてもよい。また、クライアント側のデータについては、クライアント側の容量を考慮して削除など管理を行う。
【０００８】
なお、この際、クライアント側のデータについては、オフラインの際に利用可能とし、オンライン状態の場合には、サーバ側のデータを利用するように制御することも本発明の一態様である。
【発明の効果】
【０００９】
本発明によれば、よい簡便な構成でオフラインの際にもシンクライアント(システム)での処理を実行することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態におけるシステム構成図である。
【図２】本発明の一実施形態におけるシンクライアントで用いられるディスク１０を示す図である。
【図３】本発明の一実施形態での処理内容を示すフローチャートである。
【図４】本発明の一実施形態で用いられるファイル使用頻度使用テーブル５０およびファイル変更管理テーブル５１を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態を、図面を用いて説明する。まず、図1が、本実施形態におけるシンクライアントシステムの構成図である。本シンクライアントシステムは、クライアント04とサーバ03がネットワークを介して接続され、サーバ03側でアプリケーションソフトやデータ等を管理し、クライアント04での操作に従ってサーバ03の資源を用いて情報処理を実行している。ここで、本実施形態のシンクライアントシステムでは、サーバ03側にファイル使用頻度管理テーブル50を設け、クライアント04側にファイル変更管理テーブルを設けている。これらに構成により、サーバ03側のデータのうち、所定条件を満たすものをクライアント04側に展開し、ネットワークが切断されるなどでサーバ03とクライアント04が通信不可の状態であっても少なくともその一部の処理を可能とする。このための処理内容を、以下フローチャートおよびデータテーブル図を用いて説明する。なお、本図では、クライアント04を１つしか図示していないが、複数のクライアントが接続してもよい。ただし、各々のクライアントに割り当てられたサーバ03の資源は独立する。なお、図１では、クライアント04がファイル変更管理テーブル05を保持するディスクが外付けのように見えるがこれは筺体内部にあってもよい。これは、サーバ03とファイル使用頻度管理テーブル01や指定ファイル管理テーブル02を保持するディスクとの関係も同様である。
また、図４に上述したファイル使用頻度使用テーブル５０およびファイル変更管理テーブル５１の構成を示す。これらの内容は、後述するフローチャートを使った説明でも言及する。
【００１２】
図2は、図1におけるクライアント04のローカルディスク10の構成図である。ディスク10は、クライアント04のローカルディスク領域の全体である。オペレーティングシステム、サーバ03から画面情報を受信するプログラム、サーバ03にキーボード・マウスの操作情報を送信するプログラム等、シンクライアントシステムとしての機能に必要な情報が格納される。加えて、クライアント04がネットワークから切断された場合、ローカルディスクに保存されたファイルを開き、編集を行うソフトウェア（例えばワードプロセッサや表計算ソフトウェア）が含まれる。この領域の一部11には、サーバ03から受信したファイルのキャッシュコピーを保存する。この領域は所定の方法で暗号化される。
【００１３】
図3は、本実施形態におけるフローチャートであり、シンクライアントシステムがアイドル状態の場合、クライアント04とサーバ03の接続が切断された場合、クライアント04がサーバ03に再接続した場合、それぞれの処理の内容を示す。なお、本シンクライアントシステムでは、適宜サーバ03において、各ファイルの使用状態、頻度を検知しているものとする。
【００１４】
３つのフローのうち、シンクライアントシステムがアイドル状態における処理について、まず説明する。ここで「シンクライアントシステムがアイドル状態」とは、あるクライアントと、サーバ03のうちこのクライアント用の資源についてアイドルとの意味で、サーバ全体がアイドルでなくともよい。このため、以下の説明では、サーバ03とは、クライアント04用に割り当てられた資源を意味する。
【００１５】
まず、ステップ20において、アイドルであることを検知する。これは、サーバ03で実行する。
【００１６】
次に、ステップ21において、サーバ03はファイル使用頻度管理テーブル50から同期対象のファイルもしくはフォルダを特定する。特定されたフォルダには、そのフォルダに格納しているそれぞれのファイルまたはフォルダが含まれる。本実施形態では、ファイル使用頻度管理テーブル50に、特定のファイルまたはフォルダをユーザが登録することが可能。この場合、ユーザから指定されていることが識別され、優先的に特定される。本例では、ファイルＡ，Ｃが特定されることになる。
【００１７】
また、ステップ21において、サーバ03は、ファイル使用頻度管理テーブル50を用いて、使用頻度が一定以上のファイルもしくがフォルダを同期対象として特定する。これは、ファイル使用頻度管理テーブル50の「過去一定期間のファイルアクセス回数」が一定値以上ないし順位が所定以上の上位のものを特定する。このファイルアクセス回数は、上述したように適宜カウントされるものであり、一定期間（例えば1カ月）分の回数を記録するようになっている。例えば、10回以上のファイルを同期対象とした場合、図示した例では、ファイルA、Dが特定される。
【００１８】
ここで、本ステップでの使用頻度によるファイルの特定においては、上述のステップ21における利用者指定のファイルを除いて該当するか否かを判断する構成としてもよい。このために、ファイル使用頻度管理テーブル50には、ユーザから指定されているファイルについて、特定のフラグを立てる等して他のものと区別したり、テーブルの登録から外すように制御してもよい。図示の例では、ファイルＡ、Ｃがファイル指定管理テーブルに登録されているため、ステップ21の使用頻度により特定の際には、その判断対象から除かれ、B，Dが10回以上の使用頻度であるかを判断される。以上の処理により、ファイルＡ、ＣおよびDが同期対象として特定される。
【００１９】
ステップ23で、サーバ03はクライアント04にステップ22で特定したファイル名、およびファイルの内容を送信する。
【００２０】
ステップ24でクライアント04はファイル名、ファイルの内容を受信する。受信したファイルの内容はステップ25で暗号化を行い、ステップ26で図2の暗号化された領域11に保存される。
【００２１】
クライアント04とサーバ03の接続が切断された場合の処理について説明する。クライアント04がサーバから切断された場合、サーバ03の資源は利用不可能であるが、予めサーバ03から受信したファイルのキャッシュコピーを利用することにより、一部の処理を継続する。ただし、ユーザがキャッシュコピーに変更を加えようとした場合、変更を加えた差分のデータがディスクに保存される。
【００２２】
クライアント04はステップ30でキャッシュコピーに変更が加えられないか監視する。これはクライアント04上で行われる。
【００２３】
次に、ステップ31で変更が加えられたファイル、および新しく作成されたファイルの名前をファイル変更管理テーブル51に追加する。このステップにより、クライアント04がサーバ03から切断されている間、ユーザがどのファイルに変更を加えたかを判別することができる。
【００２４】
最後にクライアント04がサーバ03に再接続した場合の処理について説明する。ステップ40で、クライアント04は変更が加えられたファイル、または新しく作成されたファイルを特定し、クライアント04はサーバ03にファイル名およびファイルの差分データを送信する。変更されたファイルの内容を全て送信せず、差分を送信することにより通信量を削減する効果がある。ステップ41でサーバ03はファイル名とファイルの差分データを受信、ステップ42でサーバ03上のファイルを更新して、クライアント04とサーバ03上のファイルの内容を同一にする。これによりユーザはサーバ03上で処理を再開する。
【符号の説明】
【００２５】
０１…ファイル使用便度管理テーブル、
０２…指定ファイル管理テーブル
０３…サーバ
０４…クライアント
０５…ファイル変更管理テーブル
【図１】
0006298740.tif 000002
【図２】
0006298740.tif 000003
【図３】
0006298740.tif 000004
【図４】
0006298740.tif 000005