(57)【要約】【課題】ネットワークが不安定な状況下であっても、電子ファイルの編集の継続を可能にしつつ、電子ファイルの情報漏洩を防ぐこと。【解決手段】リモートデスクトップシステムでは、利用者端末１００およびサーバ２００が、ネットワーク５０を介して相互に接続される。利用者端末１００は、ネットワーク５０が安定状態の場合には、リモートデスクトップによりサーバ２００上の電子ファイルを編集すると共に、一時的に、電子ファイルを利用者端末１００の記憶部に記憶させておく。また、利用者端末１００は、ネットワーク５０が不安定状態の場合には、利用者端末１００の記憶部に記憶した電子ファイルを編集すると共に、ネットワーク５０が安定状態となった場合に、編集前の電子データと編集後の電子データとの差分データをサーバ２００に送信して、オフラインモード時の電子ファイルの編集を、サーバ２００上の電子ファイルに反映させる。【選択図】図１
2013257638.tif 000002
【特許請求の範囲】
【請求項１】
利用者端末と、該利用者端末にネットワークを介して接続されたサーバとを備えたリモートデスクトップシステムであって、
前記利用者端末は、
前記サーバから電子ファイルを取得して記憶部に記憶させるファイル取得部と、
前記ネットワークに障害が発生しているか否かを基にして、前記ネットワークが安定状態であるか、不安定状態であるかを判定するネットワーク判定部と、
前記ネットワークが安定状態の間に、入力装置からの入力情報を基にして、前記サーバ上に記憶される電子ファイルを編集し、前記ネットワークが不安定状態の間に、前記記憶部に記憶された電子ファイルを編集する編集部と、
前記ネットワークの状態が不安定状態から安定状態に変化した場合に、前記編集部によって編集される前の電子ファイルと編集された後の電子ファイルとの差分データを、前記サーバに送信する差分データ送信部と、
前記入力装置から一定期間入力情報を受け付けない場合、または、前記差分データが前記サーバに送信された場合に、前記記憶部に記憶された電子ファイルを削除する削除部と
を有し、
前記サーバは、
前記ネットワークの状態が不安定状態から安定状態に変化した場合に、前記差分データ送信部から前記差分データを受信し、前記サーバ上に記憶された電子ファイルと、前記差分データとを基にして、前記編集部により編集された後の電子ファイルに対応する電子ファイルを復元するファイル復元部と
を有することを特徴とするリモートデスクトップシステム。
【請求項２】
前記ファイル取得部は、前記サーバから暗号化された電子ファイルと復号鍵と暗号鍵とを取得して前記記憶部に記憶させ、前記編集部は、前記復号鍵を基にして前記電子ファイルを復号した後に、電子ファイルを編集し、前記差分データ送信部は、前記差分データを前記暗号鍵で暗号化して、暗号化した差分データを前記サーバに送信し、前記ファイル復元部は、前記暗号鍵に対応した復号鍵を基にして、前記暗号化された差分データを復号し、前記編集部により編集された後の電子ファイルに対応する電子ファイルを復元することを特徴とする請求項１に記載のリモートデスクトップシステム。
【請求項３】
利用者端末と、該利用者端末にネットワークを介して接続されたサーバとを備えたリモートデスクトップシステムで実行される制御方法であって、
前記利用者端末は、
前記サーバから電子ファイルを取得して記憶部に記憶させるファイル取得工程と、
前記ネットワークに障害が発生しているか否かを基にして、前記ネットワークが安定状態であるか、不安定状態であるかを判定するネットワーク判定工程と、
前記ネットワークが安定状態の間に、入力装置からの入力情報を基にして、前記サーバ上に記憶される電子ファイルを編集し、前記ネットワークが不安定状態の間に、前記記憶部に記憶された電子ファイルを編集する編集工程と、
前記ネットワークの状態が不安定状態から安定状態に変化した場合に、前記編集工程によって編集される前の電子ファイルと編集された後の電子ファイルとの差分データを、前記サーバに送信する差分データ送信工程と、
前記入力装置から一定期間入力情報を受け付けない場合に、前記記憶部に記憶された電子ファイルを削除する削除工程と
を含み、
前記サーバは、
前記ネットワークの状態が不安定状態から安定状態に変化した場合に、前記利用者端末から前記差分データを受信し、前記サーバ上に記憶された電子ファイルと、前記差分データとを基にして、前記利用者端末により編集された後の電子ファイルに対応する電子ファイルを復元するファイル復元工程
を含んだことを特徴とする制御方法。
【請求項４】
前記ファイル取得工程は、前記サーバから暗号化された電子ファイルと復号鍵と暗号鍵とを取得して前記記憶部に記憶させ、前記編集工程は、前記復号鍵を基にして前記電子ファイルを復号した後に、電子ファイルを編集し、前記差分データ送信工程は、前記差分データを前記暗号鍵で暗号化して、暗号化した差分データを前記サーバに送信し、前記ファイル復元工程は、前記暗号鍵に対応した復号鍵を基にして、前記暗号化された差分データを復号し、前記利用者端末により編集された後の電子ファイルに対応する電子ファイルを復元することを特徴とする請求項３に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモートデスクトップシステムおよび制御方法に関する。
【背景技術】
【０００２】
近年、リモートデスクトップと呼ばれる技術（非特許文献１）が存在する。このリモートデスクトップの技術を用いることで、ユーザは、手元の利用者端末からネットワークで接続された離れた場所に位置するサーバ上の電子ファイル等を遠隔操作することが可能となる。
【０００３】
一般的に、リモートデスクトップの技術は、画面転送技術で実現されるものであり、ネットワークを介して利用者端末がサーバに常時接続していることが求められる。このため、ネットワークが一時的に切断するような環境では、リモートデスクトップの技術を継続して利用することが難しい。
【０００４】
上記のリモートデスクトップの欠点を補うべく、特許文献１等では、ユーザの利用者端末にサーバ上の電子ファイルの実体をコピーすることで、ネットワークが一時的に切断されても、電子ファイルを編集することを可能にしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１８１４５８号公報
【非特許文献】
【０００６】
【非特許文献１】「XenDesktop」、［online］、［平成２４年５月１８日検索］、インターネット＜ＵＲＬ：http://www.citrix.co.jp/products/xendesktop/index.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、ネットワークが不安定な状況下において、電子ファイルの編集の継続を可能にしつつ、電子ファイルの情報漏洩を防ぐことができないという問題があった。
【０００８】
例えば、特許文献１に開示されているように電子ファイルの実体を利用者端末に保存する技術では、利用者端末が盗難された場合に、電子ファイルの漏洩リスクが生じてしまう。
【０００９】
ここで、電子ファイルの漏洩を防ぐためには、例えば、利用者端末に保存された電子ファイルを定期的に削除する操作や、電子ファイルを暗号化する操作等をユーザが定期的に実行することが求められるが、これらの操作を、通常のファイル操作の中で漏れなく実施することは困難である。
【００１０】
開示の実施形態は、上記に鑑みてなされたものであって、ネットワークが不安定な状況下であっても、電子ファイルの編集の継続を可能にしつつ、電子ファイルの情報漏洩を防ぐことができるリモートデスクトップシステムおよび制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るリモートデスクトップシステムは、利用者端末と、該利用者端末にネットワークを介して接続されたサーバとを備えたリモートデスクトップシステムである。利用者端末は、ファイル取得部と、ネットワーク判定部と、編集部と、差分データ送信部と、削除部とを有する。ファイル取得部は、サーバから電子ファイルを取得して記憶部に記憶させる。ネットワーク判定部は、ネットワークに障害が発生しているか否かを基にして、前記ネットワークが安定状態であるか、不安定状態であるかを判定する。編集部は、ネットワークが安定状態の間に、入力装置からの入力情報を基にして、サーバ上に記憶される電子ファイルを編集し、ネットワークが不安定状態の間に、記憶部に記憶された電子ファイルを編集する。差分データ送信部は、ネットワークの状態が不安定状態から安定状態に変化した場合に、編集部によって編集される前の電子ファイルと編集された後の電子ファイルとの差分データを、サーバに送信する。削除部は、入力装置から入力情報を受け付けない場合、または、差分データが前記サーバに送信された場合に、記憶部に記憶された電子ファイルを削除する。サーバは、ファイル復元部を有する。ファイル復元部は、ネットワークの状態が不安定状態から安定状態に変化した場合に、差分データ送信部から差分データを受信し、サーバ上に記憶された電子ファイルと、差分データとを基にして、編集部により編集された後の電子ファイルに対応する電子ファイルを復元する。
【発明の効果】
【００１２】
本発明に係るリモートデスクトップシステムによれば、ネットワークが不安定な状況下であっても、電子ファイルの編集の継続を可能にしつつ、電子ファイルの情報漏洩を防ぐことができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、リモートデスクトップシステムの構成を示す図である。
【図２】図２は、利用者端末およびサーバの処理を説明するための図である。
【図３】図３は、利用者端末の構成を示す機能ブロック図である。
【図４】図４は、サーバの構成を示す機能ブロック図である。
【図５】図５は、利用者端末の処理手順の一例を示す図である。
【図６】図６は、サーバの処理手順の一例を示す図である。
【図７】図７は、利用者端末と同様の機能を実現する制御プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示するリモートデスクトップシステムおよび制御方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１５】
（実施形態）
図１は、リモートデスクトップシステムの構成を示す図である。図１に示すように、このリモートデスクトップシステムは、利用者端末１００とサーバ２００とを有する。利用者端末１００およびサーバ２００は、ネットワーク５０を介して相互に接続される。サーバ２００は、リモートデスクトップの機能を有している。利用者端末１００は、サーバ２００にアクセスして、ユーザによる操作を受け付けて電子ファイルなどのデータを編集する。
【００１６】
利用者端末１００は、ネットワーク５０の状態に応じて、動作を切り替える。利用者端末１００は、ネットワーク５０の状態が安定状態の場合には、オンラインモードで動作する。オンラインモードでは、利用者端末１００は、ネットワーク５０を介してサーバ２００にアクセスし、サーバ２００のリモートデスクトップ機能を利用して、サーバ２００上の電子ファイルを編集する。また、利用者端末１００は、ネットワーク５０が安定状態の間に、定期的に、編集対象となる電子ファイルを取得して、自装置の記憶部に記憶させておく。
【００１７】
利用者端末１００は、ネットワーク５０の状態が不安定状態の場合には、オフラインモードで動作する。オフラインモードでは、利用者端末１００は、予め記憶部に記憶させておいた電子ファイルを編集する。そして、利用者端末１００は、電子ファイルの編集が完了し、ネットワークの状態が安定状態となった場合に、編集前の電子ファイルと編集後の電子ファイルとの差分データを、サーバ２００に送信する。サーバ２００は、差分データを基にして、オフラインモード中に、利用者端末１００に編集された電子ファイルを復元する。
【００１８】
続いて、図１に示した利用者端末１００およびサーバ２００の処理を具体的に説明する。図２は、利用者端末およびサーバの処理を説明するための図である。図２では一例として、利用者端末１００がオンラインモードからオフラインモードに移行した後に、ユーザによる操作が終了し、再びオンラインモードに復帰する場合について説明する。
【００１９】
図２の１段目は、オンラインモードにおける利用者端末１００の一時記憶部、利用者端末１００の記憶部、サーバ２００の記憶部の内容を示す。図２の２段目は、オフラインモードにおける利用者端末１００の一時記憶部、利用者端末１００の記憶部、サーバ２００の記憶部の内容を示す。図２の３段目は、ユーザによる操作が終了した時点の、利用者端末１００の一時記憶部、利用者端末１００の記憶部、サーバ２００の記憶部の内容を示す。図２の４段目は、オンラインモードに復帰した場合における利用者端末１００の一時記憶部、利用者端末１００の記憶部、サーバ２００の記憶部の内容を示す。なお、利用者端末１００の一時記憶部は、メモリ等に対応する。利用者端末１００の記憶部は、ハードディスク等に対応する。サーバ２００の記憶部は、ハードディスク等に対応する。
【００２０】
図２の１段目について説明する。サーバ２００の記憶部は、復号鍵１ａ，２ａ、暗号鍵１ｂ，２ｂを記憶する。復号鍵１ａと暗号鍵１ｂとがペアとなり、暗号鍵１ｂで暗号化したデータは、復号鍵１ａで復号される。復号鍵２ａと暗号鍵２ｂとがペアとなり、暗号鍵２ｂで暗号化したデータは、復号鍵２ａで復号される。
【００２１】
サーバ２００の記憶部は、電子ファイルＸ１を記憶する。サーバ２００は、利用者端末１００からのアクセスを受け付けて電子ファイルＸ１が編集される度に、差分データΔを新たに記憶部に記憶させる。例えば、電子ファイルＸ１と、差分データΔ２と、差分データΔｎとを合わせたものが、電子ファイルＸｎとなる。
【００２２】
サーバ２００は、復号鍵１ａおよび暗号鍵２ｂを利用者端末１００に送信し、利用者端末１００は、復号鍵１ａおよび暗号鍵２ｂを記憶部に記憶させる。サーバ２００は、電子ファイルＸ１、差分データΔ２、差分データΔｎを暗号鍵１ｂによって暗号化し、電子ファイルＣ１、差分データＣ２、差分データＣｎを生成する。サーバ２００は、電子ファイルＣ１、差分データＣ２、差分データＣｎを利用者端末１００に送信し、利用者端末１００は、電子ファイルＣ１、差分データＣ２、差分データＣｎを記憶部に記憶させる。
【００２３】
利用者端末は、一定時間ユーザからの操作を受け付けない場合には、記憶部に記憶した復号鍵１ａ、電子ファイルＣ１、差分データＣ２、差分データＣ３を消去する。
【００２４】
図２の２段目について説明する。利用者端末１００は、復号鍵１ａを利用して、電子ファイルＣ１、差分データＣ２、差分データＣ３を復号することで、電子ファイルＸｎを生成し、利用者端末１００の一時記憶部に展開する。利用者端末１００は、電子ファイルＸｎを生成した後に、電子ファイルＣ１、差分データＣ２、差分データＣ３、復号鍵１ａを消去する。
【００２５】
利用者端末１００は、ユーザからの操作を受け付けて、電子ファイルＸｎを編集することで、電子ファイルＸ’ｎを生成する。電子ファイルＸ’ｎは、電子ファイルＸｎと差分データδｎとを合わせたものに対応する。
【００２６】
図２の３段目について説明する。利用者端末１００は、ユーザによる操作が終了した後に、差分データδｎを暗号鍵２ｂによって暗号化し、記憶部に記憶する。利用者端末１００は、暗号化した差分データδｎを、サーバ２００に送信する。また、利用者端末１００は、一時記憶部に記憶された電子ファイルＸ’ｎを消去する。
【００２７】
なお、図２では図示を省略するが、利用者端末１００は、ネットワークの状態が安定状態になった場合にも、差分データδｎを暗号鍵２ｂによって暗号化し、記憶部に記憶する。利用者端末１００は、暗号化した差分データδｎをサーバ２００に送信する。また、利用者端末１００は、一時記憶部に記憶された電子ファイルＸ’ｎを消去する。
【００２８】
図２の４段目について説明する。サーバ２００は、復号鍵２ａを利用して、暗号化された差分データδｎを復号する。そして、サーバ２００は、復号した差分データδｎと電子ファイルＸｎとを基にして、電子ファイルＸ’ｎを生成する。
【００２９】
上記の処理を利用者端末１００およびサーバ２００が実行することで、ネットワークが不安定な状況下であっても、電子ファイルの編集の継続を可能にしつつ、電子ファイルの情報漏洩を防ぐことができる。
【００３０】
次に、図１に示した利用者端末１００の構成の一例について説明する。図３は、利用者端末の構成を示す機能ブロック図である。図３に示すように、この利用者端末１００は、記憶部１０１、ネットワーク判定部１０２、入力インタフェース１０３、モード管理部１０４、ファイル取得部１０５、編集部１０６、個別アプリケーション部１０７、削除部１０８、差分データ送信部１０９を有する。
【００３１】
記憶部１０１は、各種の情報を記憶する記憶部である。記憶部１０１は、図２に示した利用者端末１００の一時記憶部および利用者端末１００の記憶部に対応する。
【００３２】
ネットワーク判定部１０２は、ネットワーク５０を介して、サーバ２００とデータ通信を実行する処理部である。後述するファイル取得部１０５、編集部１０６、差分データ送信部１０９は、ネットワーク判定部１０２を用いて、サーバ２００とデータをやり取りする。例えば、ネットワーク判定部１０２は、ネットワークインタフェースに対応する。
【００３３】
また、ネットワーク判定部１０２は、ネットワーク管理機能を有しており、ネットワーク５０が安定状態であるか、不安定状態であるかを判定し、判定結果をモード管理部１０４に出力する。以下の説明において、ネットワーク判定部１０２の判定結果を、状態情報と表記する。
【００３４】
例えば、ネットワーク判定部１０２は、サーバ２００との間でフラッピングを検知して、ネットワーク障害を検出し、ネットワークの状態を判定する。ネットワーク判定部１０２は、ネットワーク障害を検出している間は、ネットワークは不安定な状態と判定し、ネットワーク障害を検出していない間は、ネットワークは安定な状態と判定する。フラッピングを検知することで、ネットワーク障害を検出する技術は、例えば、「ステートフラッピングの検知とハンドリング」、［online］、インターネット＜ＵＲＬ：http://nagios.x-trans.jp/Nagios-doc/JAPANESE/flapping.html＞に開示されている。
【００３５】
入力インタフェース１０３は、キーボードやマウス等の入力装置に接続され、入力装置を介して、ユーザからの操作を受け付ける処理部である。ユーザは、入力装置を操作して電子ファイルを編集する。以下の説明において、電子ファイルを編集するための、ユーザの操作による情報を、入力情報と表記する。入力インタフェース１０３は、入力装置から受け付ける入力情報を、編集部１０６に出力する。
【００３６】
また、入力インタフェース１０３は、入力装置から、予約情報を受け付ける。この予約情報は、ネットワーク５０の状態が不安定な状態になる予定の時間帯と、ネットワーク５０の状態が安定な状態になる予定の時間帯の情報を含む。例えば、ユーザは、ネットワーク５０の状態がどのようになるのかを予め把握している場合に、入力装置を操作して、予約情報をネットワークインタフェース１０３に入力する。入力インタフェース１０３は、入力装置から予約情報を受け付けた場合には、予約情報をモード管理部１０４に出力する。
【００３７】
モード管理部１０４は、状態情報または予約情報を基にして、利用者端末１００をオンラインモードで動作させるのか、オフラインモードで動作させるのかを判定する処理部である。また、モード管理部１０４は、記憶部１０１の電子ファイル等を削除するタイミングを管理する。モード管理部１０４は、判定結果をファイル取得部１０５、編集部１０６に出力する。
【００３８】
モード管理部１０４が状態情報を基にして、処理を行う場合について説明する。モード管理部１０４は、状態情報を受け付け、ネットワーク５０の状態が安定状態の場合には、利用者端末１００をオンラインモードで動作させると判定する。これに対して、モード管理部１０４は、状態情報を受け付け、ネットワーク５０の状態が不安定状態の場合には、利用者端末１００をオフラインモードで動作させると判定する。
【００３９】
モード管理部１０４が予約情報を基にして、処理を行う場合について説明する。モード管理部１０４は、予約情報を受け付け、タイマ（図示略）から現在時刻を取得する。モード管理部１０４は、ネットワーク５０の状態が安定状態になる時間帯に、現在時刻が含まれている場合には、利用者端末１００をオンラインモードで動作させると判定する。これに対して、モード管理部１０４は、ネットワーク５０の状態が不安定状態となる時間帯に、現在時刻が含まれている場合には、利用者端末１００をオフラインモードで動作させると判定する。
【００４０】
ところで、モード管理部１０４は、状態情報および予約情報のうち、どちらか一方の情報を取得している間は、取得している情報を基にして、利用者端末１００をオンラインモードで動作させるのか、オフラインモードで動作させるのかを判定する。そして、状態情報および予約情報双方の情報を取得している間は、優先度の高い方の情報を基にして、利用者端末１００をオンラインモードで動作させるのか、オフラインモードで動作させるのかを判定する。例えば、状態情報の優先度、予約情報の優先度は、予め、管理者等が設定しておく。
【００４１】
次に、モード管理部１０４が、記憶部１０１の電子ファイル等を削除するタイミングを管理する各処理について説明する。モード管理部１０４は、利用者端末１００を、オンラインモードで動作させた後に、オフラインモードに変更する場合には、差分データ送信部１０９に、差分データの送信命令を出力する。そして、モード管理部１０４は、削除部１０８に電子ファイルの削除命令を出力する。
【００４２】
また、モード管理部１０４は、利用者端末１００をオンラインモードで動作させている間に、ユーザからの操作を一定時間受け付けない場合には、削除部１０８に電子ファイルの削除命令を出力する。
【００４３】
ファイル取得部１０５は、利用者端末１００がオンラインモードの場合に、ユーザがリモートデスクトップで開いているサーバ２００上の電子ファイルを定期的に、利用者端末１００側で復元できる形で取得し、記憶部１０１に記憶させる処理部である。
【００４４】
例えば、ユーザがリモートデスクトップで開いているサーバ２００上の電子ファイルを、図２の電子ファイルＸｎとする。この場合には、ファイル取得部１０５は、図２で説明した、電子ファイルＣ１、差分データＣ２、差分データＣｎ、復号鍵１ａ、暗号鍵２ｂを取得し、取得したデータを記憶部１０１に記憶させる。
【００４５】
また、ファイル取得部１０５は、利用者端末１００がオンラインモードからオフラインモードに切り替わった場合には、復号鍵１ａを利用して、電子ファイルＣ１、差分データＣ２、差分データＣ３を復号することで、電子ファイルＸｎを生成する。
【００４６】
編集部１０６は、モード管理部１０４の判定結果に応じて、サーバ２００上の電子ファイルをリモートデスクトップで編集する状態と、利用者端末１００側で電子ファイルを編集する状態とを切り替える処理部である。
【００４７】
編集部１０６は、利用者端末１００がオンラインモードの場合には、サーバ２００上の電子ファイルをリモートデスクトップで編集する状態に切り替える。この場合には、編集部１０６は、入力インタフェース１０３から受け付ける入力情報を、サーバ２００に送信することで、サーバ２００上の電子ファイルを編集する。
【００４８】
編集部１０６は、利用者端末１００がオフラインモードの場合には、利用者端末１００側で電子ファイルを編集する状態に切り替える。この場合には、編集部１０６は、入力インタフェース１０３から受け付ける入力情報を、個別アプリケーション部１０７に出力し、記憶部１１７に記憶された電子ファイルを編集させる。
【００４９】
個別アプリケーション部１０７は、利用者端末１００がオフラインモードの場合に入力情報を受け付けて動作し、記憶部１０１に記憶された電子ファイルを入力情報によって編集する処理部である。例えば、個別アプリケーション部１０７は、入力情報を受け付け、記憶部１０１に記憶された電子ファイルＸｎを編集することで、電子ファイルＸ’ｎを生成する。
【００５０】
削除部１０８は、モード管理部１０４からの削除命令に応じて、記憶部１０１に記憶された電子ファイルおよび復号鍵を削除する処理部である。
【００５１】
具体的に、削除部１０８は、利用者端末１００がオンラインモードの間に、削除命令を受け付けた場合には、記憶部１０１に記憶された電子ファイルＣ１、差分データＣ２、差分データＣｎ、復号鍵１ａを削除する。
【００５２】
削除部１０８は、利用者端末１００がオフラインモードからオンラインモードに切り替わった後に、削除命令を受け付けた場合には、記憶部１０１に記憶された電子ファイルＸ’ｎ、電子ファイルＸｎ、復号鍵１ａを削除する。なお、削除部１０８は、オフラインモードの間に生成される差分データδｎについては、削除しないでおく。差分データδｎは、図２で説明したように、電子ファイルＸ’ｎと電子ファイルＸｎとの差分データである。
【００５３】
差分データ送信部１０９は、モード管理部１０４から差分データの送信命令を受け付けた場合に、記憶部１０１に記憶された差分データδｎを、暗号鍵２ｂによって暗号化し、暗号化した差分データδｎをサーバ２００に送信する。
【００５４】
次に、図１に示したサーバ２００の構成の一例について説明する。図４は、サーバの構成を示す機能ブロック図である。図４に示すように、このサーバ２００は、記憶部２０１、ネットワークインタフェース２０２、リモートデスクトップ部２０３、個別アプリケーション部２０４、送信処理部２０５、ファイル復元部２０６を有する。
【００５５】
記憶部２０１は、各種の情報を記憶する記憶部である。記憶部２０１は、図２に示したサーバ２００の記憶部に対応する。
【００５６】
ネットワークインタフェース２０２は、ネットワーク５０を介して、利用者端末１００とデータ通信を実行する処理部である。後述するリモートデスクトップ部２０３、送信処理部２０５は、ネットワークインタフェース２０２を用いて、利用者端末１００とデータをやり取りする。
【００５７】
リモートデスクトップ部２０３は、ネットワーク５０を介して、利用者端末１００から、サーバ２００上の電子ファイルに対する操作を受け付ける処理部である。リモートデスクトップ部２０３の処理は、リモートデスクトップに関する周知技術と同様である。以下において、利用者端末１００がオンラインモードの場合におけるリモートデスクトップ部２０３の処理と、利用者端末１００がオフラインモードからオンラインモードに復帰した場合のリモートデスクトップ部２０３の処理について説明する。
【００５８】
利用者端末１００がオンラインモードの場合における、リモートデスクトップ部２０３の処理について説明する。リモートデスクトップ部２０３は、利用者端末１００から入力情報を受信し、入力情報を個別アプリケーション部２０４に出力して、記憶部２０１の電子ファイルを編集させる。また、リモートデスクトップ部２０３は、所定の時間間隔または、記憶部２０１の電子ファイルが編集される度に、送信処理部２０５に電子ファイルの送信命令を出力する。
【００５９】
利用者端末１００がオフラインモードからオンラインモードに復帰した場合のリモートデスクトップ部２０３の処理について説明する。リモートデスクトップ部２０３は、利用者端末１００から、暗号化された差分データを受信し、暗号化された差分データを記憶部２０１に記憶させる。その後、リモートデスクトップ部２０３は、上記のオンラインモードにおける処理に移行する。
【００６０】
個別アプリケーション部２０４は、利用者端末１００がオンラインモードの場合に、入力情報を受け付けて動作し、記憶部２０１に記憶された電子ファイルを入力情報によって編集する処理部である。
【００６１】
送信処理部２０５は、リモートデスクトップ部２０３から電子ファイルの送信命令を受け付けた場合には、記憶部２０１に記憶された電子ファイルを暗号化し、暗号化した電子ファイルおよび暗号鍵、復号鍵を利用者端末１００に送信する処理部である。
【００６２】
図２を用いて、送信処理部２０５の処理について説明する。送信処理部２０５は、暗号鍵１ｂを用いて、電子ファイルＸ１、差分データΔ２、差分データΔｎを暗号化することで、電子ファイルＣ１、差分データＣ２、差分データＣｎを生成し、利用者端末１００に送信する。また、送信処理部２０５は、復号鍵１ａ、暗号鍵２ｂも利用者端末１００に送信する。
【００６３】
ファイル復元部２０６は、記憶部２０１に記憶された復号鍵を基にして、暗号化された差分データを復号する処理部である。
【００６４】
図２を用いて、ファイル復元部２０６の処理について説明する。ファイル復元部２０６は、復号鍵２ａを用いて、暗号化された差分データδｎを復号する。そして、ファイル復元部２０６は、電子ファイルＸｎと差分データδｎとを基にして、電子ファイルＸ’ｎを生成する。
【００６５】
次に、上述した利用者端末１００の処理手順の一例およびサーバ２００の処理手順の一例について説明する。図５は、利用者端末の処理手順の一例を示す図である。図５に示す処理は、利用者端末１００によって繰り返し実行される。
【００６６】
図５に示すように、利用者端末１００は、状態情報または予約情報を基にして、モードを選択する（ステップＳ１０１）。利用者端末１００は、オンラインモードで動作する場合には（ステップＳ１０２，Ｙｅｓ）、リモートデスクトップで、サーバ２００上の電子ファイルＸｎを編集する（ステップＳ１０３）。
【００６７】
利用者端末１００は、暗号化された電子ファイルＣｎ、復号鍵、暗号鍵をサーバ２００から受信して記憶し、一定時間、ユーザの操作を受け付けない場合に、電子ファイルＣｎおよび復号鍵を削除する（ステップＳ１０４）。
【００６８】
一方、利用者端末１００は、オフラインモードの場合には（ステップＳ１０２，Ｎｏ）、電子ファイルＣｎと復号鍵とを基にして、電子ファイルＸｎを復元し、電子ファイルＣｎと復号鍵とを削除する（ステップＳ１０５）。
【００６９】
利用者端末１００は、利用者端末１００側で電子ファイルＸｎを編集する（ステップＳ１０６）。利用者端末１００は、ネットワークが復旧した場合に、編集後の電子ファイルＸ’ｎと編集前の電子ファイルＸｎとの差分データδｎを生成する（ステップＳ１０７）。
【００７０】
利用者端末１００は、差分データδｎを暗号鍵で暗号化し、サーバ２００に送信する（ステップＳ１０８）。利用者端末１００は、オンラインモードに復帰し（ステップＳ１０９）、ステップＳ１０３に移行する。
【００７１】
図６は、サーバの処理手順の一例を示す図である。図６に示す処理は、サーバ２００によって繰り返し実行される。
【００７２】
図６に示すように、サーバ２００は、利用者端末１００がオンラインモードの場合に（ステップＳ２０１，Ｙｅｓ）、リモートデスクトップで、電子ファイルＸｎの編集を利用者端末１００から受け付ける（ステップＳ２０２）。
【００７３】
サーバ２００は、暗号鍵で電子ファイルＸｎを暗号化して、電子ファイルＣｎを生成する（ステップＳ２０３）。サーバ２００は、電子ファイルＣｎと、復号鍵と、暗号鍵とを利用者端末１００に送信する（ステップＳ２０４）。
【００７４】
一方、サーバ２００は、利用者端末１００がオフラインモードの場合に（ステップＳ２０１，Ｎｏ）、利用者端末１００からのアクセスを受け付けるまで待機する（ステップＳ２０５）。
【００７５】
サーバ２００は、利用者端末１００からのアクセスを受け付け、暗号化された差分データδｎを、利用者端末１００から受信する（ステップＳ２０６）。サーバ２００は、復号鍵を用いて、差分データδｎを復号する（ステップＳ２０７）。
【００７６】
サーバ２００は、電子ファイルＸｎと差分データδｎとを基にして、電子ファイルＸ’ｎを復元する（ステップＳ２０８）。
【００７７】
次に、本実施形態に係るリモートデスクトップシステムの効果について説明する。利用者端末１００は、ネットワーク５０が安定状態の場合には、リモートデスクトップによりサーバ２００上の電子ファイルを編集すると共に、一時的に、電子ファイルを利用者端末１００の記憶部１０１に記憶させておく。また、利用者端末１００は、ネットワークが不安定状態の場合には、利用者端末１００の記憶部に記憶した電子ファイルを編集すると共に、ネットワークが安定状態となった場合に、編集前の電子データと編集後の電子データとの差分データをサーバ２００に送信して、オフラインモード時の電子ファイルの編集を、サーバ２００上の電子ファイルに反映させる。このため、本願発明に係るリモートデスクトップによれば、ネットワークが不安定な状況下において、電子ファイルの編集の継続を可能にするという効果を得ることができる。
【００７８】
また、利用者端末１００は、オンラインモードで動作する場合には、暗号化された電子ファイルを記憶部１０１に記憶し、一定時間、利用者の操作を受け付けない場合には、かかる電子ファイルを削除する。また、利用者端末１００は、オフラインモードからオンラインモードに移行した場合に、記憶部１０１の電子ファイルを削除する。このため、利用者端末１００に記憶された電子ファイルの漏洩リスクを低減させることができる。
【００７９】
ところで、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部あるいは一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８０】
各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、モード管理部１０４、ファイル取得部１０５、編集部１０６、個別アプリケーション部１０７、削除部１０８、差分データ送信部１０９を統合して配置しても良い。また、記憶部１０１を、一時記憶部と記憶部とに分散して配置しても良い。
【００８１】
次に、実施形態に示した利用者端末１００と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。図７は、利用者端末と同様の機能を実現する制御プログラムを実行するコンピュータの一例を示す図である。図７に例示するように、コンピュータ３００は、例えば、メモリ３０１と、ＣＰＵ（Central  Processing  Unit）３０２と、ハードディスクドライブインタフェース３０３と、ディスクドライブインタフェース３０４と、シリアルポートインタフェース３０５と、ビデオアダプタ３０６と、ネットワークインタフェース３０７とを有し、これらの各部はバス３０８によって接続される。
【００８２】
メモリ３０１は、図７に例示するように、ＲＯＭ（Read  Only  Memory）３０１ａ及びＲＡＭ（Random  Access  Memory）３０１ｂを含む。ＲＯＭ３０１ａは、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース３０３は、図７に例示するように、ハードディスクドライブ３０３ａに接続される。ディスクドライブインタフェース３０４は、図７に例示するように、ディスクドライブ３０４ａに接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ３０４ａに挿入される。シリアルポートインタフェース３０５は、図７に例示するように、例えばマウス３０５ａ、キーボード３０５ｂに接続される。ビデオアダプタ３０６は、図７に例示するように、例えばディスプレイ３０６ａに接続される。
【００８３】
ここで、図７に例示するように、ハードディスクドライブ３０３ａは、例えば、ＯＳ（Operating  System）１、アプリケーションプログラム２、プログラムモジュール３、プログラムデータ４を記憶する。すなわち、利用者端末１００の処理を実行する制御プログラムは、コンピュータ３００によって実行される指令が記述されたプログラムモジュール３として、例えばハードディスクドライブ３０３ａに記憶される。具体的には、上記実施形態で説明したモード管理部１０４、ファイル取得部１０５、編集部１０６、個別アプリケーション部１０７、削除部１０８、差分データ送信部１０９に対応する各手順が記述されたプログラムモジュール３が、ハードディスクドライブ４に記憶される。また、上記実施形態で説明した記憶部１０１に記憶されるデータのように、制御プログラムによる情報処理に用いられるデータは、プログラムデータ４として、例えばハードディスクドライブ３０３ａあるいはメモリ３０１に記憶される。そして、ＣＰＵ３０２が、ハードディスクドライブ３０３ａに記憶されたプログラムモジュール３やプログラムデータ４を必要に応じてＲＡＭ３０１ｂに読み出し、各手順を実行する。
【００８４】
なお、制御プログラムに係るプログラムモジュール３やプログラムデータ４は、ハードディスクドライブ３０３ａに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ３０２によって読み出されてもよい。あるいは、制御プログラムに係るプログラムモジュール３やプログラムデータ４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェースを介してＣＰＵ３０２によって読み出されてもよい。
【００８５】
次に、図７を利用して、サーバ２００と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。サーバ２００の処理を実行する制御プログラムは、コンピュータ３００によって実行される指令が記述されたプログラムモジュール３として、例えばハードディスクドライブ３０３ａに記憶される。具体的には、上記実施形態で説明したリモートデスクトップ部２０３、個別アプリケーション部２０４、送信処理部２０５、ファイル復元部２０６に対応する各手順が記述されたプログラムモジュール３が、ハードディスクドライブ４に記憶される。また、上記実施形態で説明した記憶部２０１に記憶されるデータのように、制御プログラムによる情報処理に用いられるデータは、プログラムデータ４として、例えばハードディスクドライブ３０３ａに記憶される。そして、ＣＰＵ３０２が、ハードディスクドライブ３０３ａに記憶されたプログラムモジュール３やプログラムデータ４を必要に応じてＲＡＭ３０１ｂに読み出し、各手順を実行する。その他の説明は、上述した利用者端末１００と同様の機能を実現する制御プログラムを実行するコンピュータの説明と同様である。
【符号の説明】
【００８６】
１        ＯＳ
２        アプリケーションプログラム
３        プログラムモジュール
４        プログラムデータ
５０      ネットワーク
１００    利用者端末
１０１，２０１  記憶部
１０２    ネットワーク判定部
１０３    入力インタフェース
１０４    モード管理部
１０５    ファイル取得部
１０６    編集部
１０７，２０４    個別アプリケーション部
１０８    削除部
１０９    差分データ送信部
２００    サーバ
２０２    ネットワークインタフェース
２０３    リモートデスクトップ部
２０５    送信処理部
２０６    ファイル復元部
３００    コンピュータ
３０１    メモリ
３０１ａ  ＲＯＭ
３０１ｂ  ＲＡＭ
３０２    ＣＰＵ
３０３    ハードディスクドライブインタフェース
３０３ａ  ハードディスクドライブ
３０４    ディスクドライブインタフェース
３０４ａ  ディスクドライブ
３０５    シリアルポートインタフェース
３０５ａ  マウス
３０５ｂ  キーボード
３０６    ビデオアダプタ
３０６ａ  ディスプレイ
３０７    ネットワークインタフェース
３０８    バス
【図１】
2013257638.tif 000003
【図２】
2013257638.tif 000004
【図３】
2013257638.tif 000005
【図４】
2013257638.tif 000006
【図５】
2013257638.tif 000007
【図６】
2013257638.tif 000008
【図７】
2013257638.tif 000009