JP2010033335A - リモートファイル操作方法 - Google Patents

リモートファイル操作方法 Download PDF

Info

Publication number
JP2010033335A
JP2010033335A JP2008194965A JP2008194965A JP2010033335A JP 2010033335 A JP2010033335 A JP 2010033335A JP 2008194965 A JP2008194965 A JP 2008194965A JP 2008194965 A JP2008194965 A JP 2008194965A JP 2010033335 A JP2010033335 A JP 2010033335A
Authority
JP
Japan
Prior art keywords
file
file information
information
stored
remote
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008194965A
Other languages
English (en)
Other versions
JP5012716B2 (ja
Inventor
Koichiro Suzuki
孝一郎 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008194965A priority Critical patent/JP5012716B2/ja
Publication of JP2010033335A publication Critical patent/JP2010033335A/ja
Application granted granted Critical
Publication of JP5012716B2 publication Critical patent/JP5012716B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】リモート計算機からローカル計算機へ送信すべき情報の量を小さく抑えることができるリモートファイル操作方法を、提供する。
【解決手段】入力装置23によって入力された操作コマンドは、クライアント装置1からサーバ装置2へ送信される。サーバ装置1は、ファイル情報を当該操作コマンドに基づいて更新するとともに、ディスク装置3内のファイルを当該操作コマンドに従って操作し、更新後のファイル情報が操作後のファイルに対応している場合には、差異なしの旨の結果情報を、クライアント装置2へ送信する。クライアント装置2は、この結果情報を受信すると、ファイル情報27を上記操作コマンドに基づいて更新し、更新後のファイル情報の内容をディスプレイ26上に表示する。
【選択図】図1

Description

本発明は、ローカル計算機から、ネットワークを通じて、リモート計算機上のファイルサーバに対して、ディスク装置内に格納されているファイルの操作を行わしめることを可能とするリモートファイル操作方法に、関する。
計算機において、個々のデータは、データを格納できるファイルと、複数のファイルを格納できるディレクトリ(オペレーティングシステムによっては「フォルダ」とも呼ばれ
る) を管理単位として、管理される。
即ち、ディスク装置内の記憶領域の全体が論理的に一つのディレクトリ(ルート)と扱われ、その一部が、任意に複数のディレクトリに区分される。なお、ディレクトリには、ファイルの他に別のディレクトリ(サブディレクトリ)を格納することもできる。従って、全体として、木構造のディレクトリ構造を有するものとなっている。そして、各ファイルは、ルートを含む任意のディレクトリに格納され得、利用者の要求に応じて、ファイルの複写、移動、削除、名称変更、更新等、或いは、ディレクトリの複写、移動、削除、名称変更、新規作成等の操作(以降、これらを総称して「操作」という)が可能になっている。
ところで、LAN(Local Area Network)といった小規模ネットワークの普及により、複数のユーザ間で共用されるデータの不整合を防止する等の目的で、かかる共用データをリモート計算機(以下「サーバ装置」と呼ぶ)のディスク装置に上記木構造を有するものとして置いておくとともに、所定のルールの下で各レベルの権限を与えられたローカル計算機(利用者が直接操作を行う計算機)からのみ、共用データの操作を可能としたシステム(以下「ファイル操作システム」という)が、一般化している。
かかるファイル操作システムにおいては、各ローカル計算機のディスプレイ上には、当該ローカル計算機によって指定された上記リモート計算機のディスク装置内の参照対象ディレクトリ配下に格納されているファイルとサブディレクトリの状態が、これらファイル及びディレクトリの名前,所有者,グループ,サイズ,最終更新日時(以下、これら情報
を「ファイル情報」という)とともに、一覧表示される必要がある。更に、ファイル操作
の権限を有するクライアントからのコマンドに基づき、ファイル又はサブディレクトリの操作がなされると、操作後のファイル及びサブディレクトリの状態が、各クライアントのディスプレイ上に表示されるので、利用者は、ファイル及びサブディレクトリの操作の結果を知ることができる。
このように、クライアントのディスプレイ上でのファイル情報の表示を可能とするために、従来のファイル操作システムにおいては、図4に示すように、ファイルを操作するためのコマンドを受信する都度、サーバ装置は、参照対象となっているディレクトリ又はその配下のファイル又はサブディレクトリの状態が変化したか否かに拘わらず、参照対象ディレクトリ及びその配下の全ファイル及全サブディレクトリの全ファイル情報を、コマンド送信元クライアントへ、転送していた。
なお、図4において、記号Nはネットワークを示しているとともに「クライアント100」の枠内の線図は、そのディスプレイ上における表示例を示している。具体的には、この表示例においては、サーバ110のディスク装置内における参照対象ディレクトリ101,当該参照対象ディレクトリ101配下に格納されている複数のファイル102及びサ
ブディレクトリ103,並びに、当該サブディレクトリ103配下の複数のファイル104の状態が、表示されている。そして、各ディレクトリ配下の複数のファイル102,104のファイル情報が、夫々、表形式(図4における左側から順に、ファイル名,サイズ,所有者,グループ,最終更新日時の各カラムからなる表の形式)にて、一括して表示されている。
以上のように、参照対象ディレクトリ及びその配下の全ファイル及全サブディレクトリの全ファイル情報がコマンド送信元クライアントへ転送される結果、従来のファイル操作システムにおいては、参照対象ディレクトリの配下のファイルやサブディレクトリの個数が多数である場合には、転送すべきファイル情報の量が膨大となるので、処理時間がその分長くなり、また、ネットワーク負荷も過大となるという問題が生じていた。例えば、大規模シミュレーションを実現するスーパーコンピュータでは、通常のコンピュータの10万倍の処理能力を有する。従って、シミュレーションが出力する結果ファイルは、通常の10万倍の個数になるので、転送する情報量の問題が顕著となっていた。
特開2003-505781号公報
かかる問題を解決するための手段として、出願人は、先ず、図5に示すような、操作前のファイル及びサブディレクトリのファイル情報をサーバ装置のキャッシュ(一時保存領
域)に保存しておき、操作後のファイル及びサブディレクトリについてのファイル情報と
キャッシュしているファイル情報との差分情報のみをサーバ装置からクライアントへ転送し、クライアントにおいて、操作前のファイル情報を当該差分情報に基づいて更新することによって、操作後のファイル及びサブディレクトリの状態を再現する方法(差分転送方
式)に、想到した。
なお、図5aに示されている状態は初回表示時のものであるので、サーバにキャッシュされているファイル情報は、実際のディスク装置内のファイル及びサブディレクトリを示しており、その全てが、クライアントへ転送され、そのディスプレイ上に表示される。これに対して、図5bに示されている状態は2回目以降の表示時のものであるので、キャッシュされている操作前のファイル情報と、操作後(一部ファイル[file002.dat]が更新
された事に因りサイズ及び最終更新日時が変更され、また、新たなファイル[file100.dat]が追加された後)におけるディスク装置内のファイル及びサブディレクトリとが比較
され、その差分のみが、クライアント端末転送されてその表示内容の更新に用いられるとともに、キャッシュされているファイル情報が更新されている。
かかる差分転送方式によると、操作前後における変化が小さい場合には有効であるものの、操作前後のファイル及びサブディレクトリのファイル情報の変化量が、操作後のファイル及びサブディレクトリのファイル情報の絶対量よりも大きい場合には、却って従来の方式よりも不利になってしまう。例えば、操作前の全ファイルの半数以上を削除する場合に、この問題が生じる。
さらに、クライアントにおいて、簡単なプロセスを通じてファイル及びサブディレクトリの状態を予測可能な場合においても、操作前後のファイル情報の差分情報を全て転送しなければならないので、依然として無駄なテータ転送が大きい。例えば、10万個のファイルを格納するディレクトリを複写又は移動(ディレクトリの名前の変更を含む)した場合、その操作内容(操作対象のファイル名及び操作の種類)が通知されさえすればクライアント側においてファイル及びサブディレクトリの状態が予測可能であるにも拘わらず、10万個のファイル情報を転送しなければならず、従来方式における問題の解決手段としては不十分である。
そこで、本案の課題は、差分転送方式よりも有効に従来方式の問題を解決し、参照対象ディレクトリの配下のファイルの個数が多数であっても、操作前後におけるかかるファイルの状態が大きく変化する場合であっても、リモート計算機(サーバ)からローカル計算機(クライアント)へ送信すべき情報の量を小さく抑えることができるリモートファイル操作方法を提供することとする。
上記課題を達成するために案出された本案によるリモートファイル操作方法によると、リモート計算機とローカル計算機は、以下のように動作する。即ち、リモート計算機は、ディスク装置内に格納されているファイルについてのファイル情報を、自己の記憶部に記憶するとともにローカル計算機へ送信する。すると、ローカル計算機は、リモート計算機から受信したファイル情報を、自己の記憶部に記憶する。しかる後に、ローカル計算機が、ファイルに対する操作を命じる操作コマンドをリモート計算機へ送信すると、リモート計算機は、自己の記憶部に記憶されているファイル情報を操作コマンドに基づいて更新するとともに、ディスク装置内に格納されているファイルを操作コマンドに従って操作し、更新されたファイル情報が操作後のファイルの状態に対応している場合には、その旨の結果情報をローカル計算機へ送信する。ローカル計算機は、この結果情報を受信すると、自己の記憶部に記憶されているファイル情報を操作コマンドに基づいて更新し、更新後のファイル情報の内容を表示する。
このように構成されると、更新されたファイル情報が操作後のファイルの状態に対応している場合には、リモート計算機からローカル計算機へ送信されるデータは、その旨の結果情報のみであるので、データ量を可及的に小さくすることができる。しかも、リモート計算機におけるファイル情報の更新は、ローカル計算機におけるファイル情報の更新と同じ操作コマンドに基づいて、同じ手法に従ってなされるので、初期状態において両者の内容が一致している限り、更新後も両者の内容の一致性は保たれる。従って、リモート計算機において、更新されたファイル情報が操作後のファイルの状態に対応しているならば、ローカル計算機における更新後のファイル情報は、操作後におけるディスク装置内に格納されているファイルの状態を正しく示していることになる。よって、ローカル計算機において更新されたファイル情報に基づいて表示を行っても、その表示の内容は正しいことになるので、何等支障がない。
以上のように構成された本案によると、差分転送方式よりも有効に従来方式の問題を解決し、参照対象ディレクトリの配下のファイルの個数が多数であっても、操作前後におけるかかるファイルの状態が大きく変化する場合であっても、リモート計算機(サーバ)からローカル計算機(クライアント)へ送信すべき情報の量を小さく抑えることが、可能となる。
以下、図面に基づいて、本案によるリモートファイル操作方法を適用したリモートファイル操作システムの実施の形態を、説明する。
<システム構成>
図1は、本形態によるリモートファイル操作システムの、概略システム構成図である。図1に示すように、当該リモートファイル操作システムは、LAN等のネットワークNを介して相互に接続されたサーバ装置1及び複数台(図1では1台のみ図示)のクライアント装置2,並びに、各種インタフェースを介してサーバ装置に接続されたディスク装置3から、構成されている。
リモート計算機としてのサーバ装置1は、バスBを介して相互に接続されたCPU10,RAM11,通信アダプタ12,インタフェース13及び、内蔵ハードディスク14を、主要構成としている。
記憶部としての内蔵ハードディスク14は、各種プログラムを格納するためのディスク装置である。CPU10は、ハードディスク13に格納されている各種プログラムを実行する中央処理装置である。メモリ11は、CPU10が上記処理を実行するに際して作業領域が展開される主記憶装置である。通信アダプタ12は、ネットワークNを終端して当該ネットワークNを通じた通信を司る装置である。インタフェース13は、サーバ装置1とディスク装置3を論理的に接続して両者間でのデータ授受を可能とするためのインタフェースであれば良く、USBやSCSIであっても、ネットワークであっても良い。
ディスク装置3は、例えば、所謂外付けのハードディスク装置であるが、十分な容量がありさえすれば、フラッシュメモリ等の大容量不揮発メモリであっても良い。当該ディスク3内に、多数のファイルが、論理的に木構造をなすようにルートから多階層に区切られたディレクトリ(サブディレクトリ)の何れかに、格納されている。
他方、ローカル計算機としてのクライアント装置2は、バスBを介して相互に接続されたCPU20,RAM21,通信アダプタ22,入力装置23,ディスプレイ26及びハードディスク24を、主要構成としている。
記憶部としてのハードディスク24は、各種プログラムを格納するためのディスク装置である。CPU20は、ハードディスク24に格納されている各種プログラムを実行する中央処理装置である。RAM21は、CPU20が上記処理を実行するに際して作業領域が展開される主記憶装置である。通信アダプタ22は、ネットワークNを終端して当該ネットワークNを通じた通信を司る装置である。入力装置23は、キーボード及びマウス等のポインティングデバイスであり、操作者によって操作されると、その操作の内容を示す操作情報(キー入力,マウス操作)を、CPU20に入力する。かくして入力された操作情報がサーバ装置1に対するコマンドに該当する場合には、CPU30が、当該コマンドを含むメッセージを、サーバ1へ送信する。ディスプレイ26は、CPU20の処理結果によって生成された画面データに基づいた画面を表示する。
上述したサーバ装置1の内蔵ハードディスク14に格納されている各種プログラムの一つが、ディスク装置3内に格納されているファイルの複写,移動,削除,名称変更等のファイル操作,各階層のディレクトリの複写,移動,削除,名称変更等のディレクトリ操作や、ファイルの読み出しや,ファイルやディレクトリの更新(上書)等をCPU10に実行させるファイルサーバプログラム15である。また、クライアント装置2のハードディスク24に格納されている各種プログラムの一つが、CPU20に対して、入力装置23を通じて入力された操作コマンドをサーバ装置1へ送信させるとともに、サーバ装置1から受信したファイル情報27を記憶部としてのハードディスク24に格納させ、このファイル情報27に基づいて、ディスク装置3の内容をディスプレイ26上に表示させるためのファイル操作クライアントプログラム25である。なお、ファイル情報27を記憶する記憶部は、読書可能なメモリであっても良い。
さらに、本形態に独自のプログラムモジュールとして、ファイル操作クライアントプログラム25には、シミュレータ28が含まれている。このシミュレータ28は、ファイル情報27を、ファイル操作クライアントプログラム25がサーバ装置1へ送信した操作コマンド,又は、サーバ装置1から受信した差分データ若しくは操作後のファイル情報に基づいて順次更新し、その更新後のファイル情報27に基づいて、ディスプレイ上に更新又
は操作後のディレクトリ構造及び各ディレクトリに格納されている全ファイルの状態(即ち、ディスク装置3の内容)を、ディスプレイ26上に表示する機能を、CPU20に実現させる。なお、操作コマンドによるファイル情報の更新とは、ファイル情報に基づいて仮想空間上に認識されるディレクトリ構造及び各ディレクトリに格納されている全ファイルを、当該操作コマンドに従って模擬的に操作(シミュレート)することにより、当該操作コマンドに従った操作を実行した場合における操作実行後のファイルの状態を示すファイル情報の内容を予測した上で、記憶部に格納しているファイル情報の内容を、当該予測した内容に変更することである。
一方、ファイルサーバプログラム15には、本形態に独自のプログラムモジュールとして、エージェント16が含まれている。このエージェント16は、上述したファイル情報27及びシミュレータ28と同内容のファイル情報17及びシミュレータ18を含み、クライアント端末2におけるファイル操作クライアント25の動作(操作コマンドが入力されてから、ファイル情報を更新するまでの動作)をエミュレートするモジュールである。なお、エージェント16に含まれるシミュレータ18によるCPU10の動作は、ファイル操作クライアント25に含まれるシミュレータ28によるCPU20の動作と、全く同じである。また、ファイル情報17は、クライアントが最新に送信してきた操作コマンドによる操作結果を表しているので、その内容はクライアント毎に異なる必要がある。従って、当該サーバ装置1にアクセスしてくるクライアント装置が複数ある場合には、ファイル情報17は、クライアント毎に、夫々生成される。
以下、これらファイルサーバプログラム15に従って動作するサーバ装置1のCPU10(以下、単に「サーバ」という)の処理及びファイル操作クライアントプログラム25に従って動作するクライアント装置2のCPU20(以下、単に「クライアント」という)の処理のうち、本案によるリモートファイル操作方法に関連する部分を、図2のフローチャートを参照して説明する。
先ず、クライアント端末1において、操作者が所定の起動コマンドを入力するか、オートエグゼコマンドが実行されることにより、CPU20が、ハードディスク24からファイル操作クライアントプログラム25を読み出して実行することにより、図2aに示す処理がスタートする。そして、スタート後、クライアントは、S001乃至S007のループ処理を実行する。
このループ処理に入って最初のS001では、クライアントは、操作者が、入力装置23を通じて操作コマンドを入力するのを待ち、操作コマンドが入力されると、入力された操作コマンドを含むメッセージを、サーバ装置1へ送信する。ここで、操作コマンドとは、この処理が最初に実行される場合には、ディスク装置3内の何れかのディレクトリ(ルートを含む)を参照対象ディレクトリとして指定した表示要求コマンドであるが、このループ処理が二回目以降に実行される場合には、ファイルの複写,移動,削除,名称変更,生成等のファイル操作,各階層のディレクトリの複写,移動,削除,名称変更,生成等のディレクトリ操作や、ファイルの読み出しや,ファイルやディレクトリの更新(上書)等の操作を行うコマンドであることが、一般的である。なお、操作コマンドは、入力装置23に含まれるマウスを用いてディスプレイ26上に表示されているGUI(Graphical User Interface)画面を通じて入力するものとしても良い。S001を完了すると、クライア
ントは、次のS002において、サーバからの応答を待つ。
一方、サーバ装置1では、CPU10が、ファイルサーバプログラム15を読み込んで、図2bに示す処理をスタートしており、S101において、クライアントからの操作コマンドを受信するのを待っている。そして、S001にて送信されたメッセージに含まれる操作コマンドを受信すると、サーバは、処理をS102へ進める。
S102では、サーバは、操作の結果を予測可能かどうか判定する。ここに「予測」とは、ディスク装置3内のディレクトリ又は何れかのディレクトリに格納されているファイルをS101にて受信したコマンドに従って実際に操作するのに先立ち、エージェント16が、シミュレータ18を用いて、ディスク装置3内のディレクトリ構造及び各ディレクトリに格納されている全ファイルの状態を表しているファイル情報17を、上記コマンドに従って模擬的に操作(シミュレート)することにより、操作に対する予測結果としての、更新後のファイル情報を得ることである。なお、かかる意味での予測が可能な操作には、ファイルの複写,移動,名称変更,削除,ティレクトリの複写,移動,名称変更,削除が、含まれており、予測が不可能な操作には、ファイルやディレクトリの生成が含まれている。また、表示要求については、予測が無意味であるので、予測不可能と判断する。
そして、サーバは、S101にて受信した操作コマンドが、操作結果を予測できないものであったならば、処理をそのままS104へ進める。例えば、クライアントから最初に受信する操作コマンドは表示要求コマンドなので、操作結果を予測できないと判断する。
これに対して、操作結果を予測可能なものであったならば、サーバは、S103において、エージェント16を起動し、シミュレータ18を用いて、S101にて受信した操作コマンドに基づいてファイル情報17を模擬的に操作(シミュレート)することにより、ファイル情報17を更新する。S103を完了すると、サーバは、処理をS104へ進める。
S104では、サーバは、S101にて受信した操作コマンドを実行することにより、実際に、ディスク装置3内のディレクトリ構造又はファイルに対する操作を実行する。なお、操作コマンドが表示要求である場合には、何等の操作をも行わない。
次のS105では、サーバは、エージェント16のファイル情報17が示すディレクトリ構造及び各ディレクトリに格納されているファイルの状態と、ディスク装置3内の実際のディレクトリ構造及び各ディレクトリに格納されているファイルの状態とを、比較する。そして、S105での比較結果として、両者間に差異があった場合には、処理をS108へ進め、両者間に差異がなかった場合には、処理をS107へ進める。なお、表示要求コマンドを最初に受信した時点では、コマンド送信元に対応したファイル情報17は未だ生成されていないので、差異があると判断される。また、S102にて操作結果が予測不可能であると判断された操作コマンドを受信した場合にも、S103が実行されていないので、差異があると判断される。これに対して、S102にて操作結果が予測可能であると判断された操作コマンドを受信した場合には、S103が実行されていなるので、通常、差異がないと判断される。
S107では、サーバは、操作コマンド送信元クライアントへ、差異がない旨の結果情報を、応答する。
一方、S108では、サーバは、ディスク装置3内の実際のディレクトリ構造及び各ディレクトリに格納されているファイルの状態を示すファイル情報とエージェント16のファイル情報17との差分データ量が、前者のデータ量よりも大きいか否かをチェックする。なお、表示要求コマンドを最初に受信した時点では、コマンド送信元に対応したファイル情報17は未だ生成されていないので、差分データ量は、ディスク装置3内の実際のディレクトリ構造及び各ディレクトリに格納されているファイルの状態を示すファイル情報のデータ量と、一致することになる。そして、サーバは、差分データ量が、ディスク装置3内の実際のディレクトリ構造及び各ディレクトリに格納されているファイルの状態を示すファイル情報の情報量以下であれば、処理をS109へ進め、ディスク装置3内の実際
のディレクトリ構造及び各ディレクトリに格納されているファイルの状態を示すファイル情報の情報量より大きければ、処理をS111へ進める。
S109では、サーバは、ディスク装置3内の実際のディレクトリ構造及び各ディレクトリに格納されているファイルの状態を示すファイル情報とエージェント16のファイル情報17との差分データを、結果情報として、操作コマンド送信元クライアントへ応答する。
次のS110では、サーバは、S109にて操作コマンド送信元クライアントへ応答した差分データに基づいて、エージェント16における当該操作コマンド送信元クライアントに対応したファイル情報17を更新する。
一方、S111では、サーバは、ディスク装置3内の実際のディレクトリ構造及び各ディレクトリに格納されているファイルの状態を示すファイル情報を、結果情報として、操作コマンド送信元クライアントへ応答する。
次のS112では、サーバは、S111にて操作コマンド送信元クライアントへ応答したファイル情報に基づいて、エージェント16における当該操作コマンド送信元クライアントに対応したファイル情報17を更新(上書)する。
S107,S110又はS112を完了すると、サーバは、処理をS101へ戻し、クライアントからの次の操作コマンドを待つ。
一方、S107,S109,S111にてサーバから送信された結果情報を受信した操作コマンド送信元クライアントでは、処理がS002からS003へ進められる。S003では、クライアントは、サーバから送信されて来た結果情報がS107にて送信された差異がない旨の結果情報であるか否かを、チェックする。そして、サーバは、差異がない旨の結果情報が送られてきたのであれば処理をS004へ進め、それ以外の場合には処理をS005へ進める。
S004では、クライアントは、シミュレータ28を用いて、S001にて送信した操作コマンドに基づいてファイル情報27を模擬的に操作(シミュレート)することにより、ファイル情報27を更新するとともに、更新後のファイル情報27に基づいて画面データを生成し、この画面データに基づいてディスク装置3内のディレクトリ構造及び各ディレクトリに格納されているファイルの状態を、ディスプレイ26上に表示する。
これに対して、S005では、クライアントは、サーバから送信されて来た結果情報がS109にて送信された差分データであるか否かを、チェックする。そして、サーバは、差分データが送られてきたのであれば処理をS006へ進め、それ以外の場合には処理をS007へ進める。
S006では、クライアントは、シミュレータ28を用いて、S001にて送信した操作コマンドに基づいてファイル情報27を模擬的に操作(シミュレート)することによりファイル情報27を更新し、送信されて来た差分データを反映することより当該ファイル情報27を更に更新する。そして、更新後のファイル情報27に基づいて画面データを生成し、この画面データに基づいてディスク装置3内のディレクトリ構造及び各ディレクトリに格納されているファイルの状態を、ディスプレイ上に表示する。
これに対して、S007では、クライアントは、送信されて来たファイル情報により、ファイル情報27を更新(上書)し、更新(上書)後のファイル情報27に基づいて画面
データを生成し、この画面データに基づいてディスク装置3内のディレクトリ構造及び各ディレクトリに格納されているファイルの状態を、ディスプレイ26上に表示する。
S004,S006又はS007の完了後、クライアントは、処理をS001へ戻し、操作者が次の操作コマンドを入力して来るのを待つ。
サーバ装置1とクライアント装置2において夫々上述した処理が実行される結果、ディスク装置3の内容の表示は、図3に概略を示す手順に従って、行われることになる。但し、図3の手順が行われる前提として、クライアント装置1において、操作者が入力装置23を通じて所定の表示対象ディレクトリ40を指定して、表示要求コマンドを入力し(S001)、それに応じてサーバが、ディスク装置3内における論理的に表示対象ディレクトリ40及びそ配下に在るサブディレクトリ41からなるディレクトリ構造,及び、各ディレクトリ40,41に格納されている全ファイル42を示すためのファイル情報(差分データ)を生成し、これを当該クライアント装置1に対応したファイル情報17としてエージェント16に保存させるとともに(S110)、当該クライアント装置1へ送信し(
S109)、クライアント装置1が、ファイル情報27として保存しているものとする(S006)。
この状態において、操作者が、例えば、サブディレクトリ41に格納されている各ファイル42に対する何らかの操作を行うための操作コマンドを、入力装置23を通じて入力したとする(図3(1))。すると、この操作コマンドは、クライアント装置2からサーバ
装置1へ送信されて(S001)、これを受信したサーバ装置1では、エージェント16によってシミュレータ18が起動されて、ファイル情報17によって認識される仮想空間上のファイルに対して、当該操作コマンドに基づいたシュミレーションがなされ(図3(2)〜(3))、その結果に応じてファイル情報17が更新される(S103)。その後で、サーバは、ディスク装置3内に格納されている操作対象ファイル42を、当該操作コマンドに基づいて、実際に操作する(S104)(図3(4))。続いて、サーバは、上記シミュ
レーションの結果として更新されたファイル情報17と実際に操作された後におけるディスク装置3内部のディレクトリ構造及びファイルの状態を示すファイル情報とを比較し(S105)(図3(5))、両者が一致すれば差異が無い旨を(S107)、両者が一致し
ない場合には両者の差分を、結果情報としてクライアント装置2へ応答する(S109)(図3(6))。
クライアント装置2では、受信した結果情報が「差異が無い」旨であった場合には、シミュレータ28が起動されて、ファイル情報27によって認識される仮想空間上のファイルに対して、サーバ装置1へ送信したものと同じ操作コマンドに基づいたシュミレーションがなされ(図3(7)〜(8))、その結果に応じてファイル情報27が更新される(S004)(図3(9))。これに対して、受信した結果情報が差分データであった場合には、上
述したシミュレーションに基づいて更新されたファイル情報27が、当該差分データに基づいて、更に更新される(S006)(図3(9))。何れの場合においても、更新後のフ
ァイル情報27に基づいて、ディスク装置3内部のディレクトリ構造及びファイルの状態が、ディスプレイ26上に表示される。
以上に説明した本実施形態によれば、クライアント端末2が操作コマンドに基づいて実際のディスク装置3内部におけるディレクトリ構造及びファイルの状態,即ち、更新後のファイル情報を確実に予測できるのであれば、サーバ装置2から更新後のファイル情報を受信する必要がないので、サーバ装置1からクライアント端末2へは何等ファイル情報を送信しないこととしている。その結果、操作されるファイル数の大小に拘わらず、また、操作後におけるファイル数の大小に拘わらず、サーバ装置1からクライアント装置2へのデータ転送量を極小とすることができるのである。
もっとも、更新後のファイル情報が確実に予測できるか否かは、単にファイル操作の種類のみに依るものではないので、ファイル操作コマンドの内容と更新前のファイル情報27しか情報を持たないクライアント端末2が自ら判断することは困難である。そこで、サーバ装置1内において、エージェント16によりクライアントの動作(ファイル情報及び操作コマンドに基づく更新後のファイル情報の予測)をエミュレーションするとともに、その予測結果と実際にディスク装置3内部ディレクトリ構造又はファイルに対して操作コマンドを実行した結果とを比較することにより、予測結果が正しいか否か(差異が無いか否か)を判断し、予測結果が正しい場合(差異が無い場合)に、クライアント装置1において上記予測結果によりファイル情報27を更新させるための結果情報(差異がない旨)を、サーバ装置1からクライアント装置2へ通知しているのである。
これに対して、予測結果が正しくない場合(差異がある場合)には、ファイル情報をサーバ装置1からクライアント装置2へ転送せざるを得ない。この場合でも、サーバ装置1からクライアント装置2へ転送すべきファイル情報のデータ量を可及的に小さくするために、予測結果と実際にディスク装置3内部ディレクトリ構造又はファイルに対して操作コマンドを実行した結果との差分データを、サーバ装置1からクライアント装置2へ転送し、クライアント装置2内では、上述した予測結果に当該差分データを反映させることにより、そのファイル情報27をさせているのである。従って、本実施形態において転送される差分データは、上記差分転送方式によって転送される差分データとは内容が異なっており、後者のものよりもデータ量が小さくなる。
なお、サーバ装置1からクライアント装置2へ転送すべき差分データのデータ量が、操作コマンド実行後におけるディスク装置3内部におけるディレクトリ構造及び全ファイルのファイル情報のデータ量総計よりも大きいならば、後者を転送した方がデータ量を小さくすることができる。そこで、かかる場合には、操作コマンド実行後におけるディスク装置3内部におけるディレクトリ構造及び全ファイルのファイル情報を、サーバ装置1からクライアント装置2へ転送し、クライアント装置2内では、受信したファイル情報によりそのファイル情報27を上書きするようにしている。これにより、本実施形態によると、転送すべきファイル情報を可及的に小さくすることが可能となるのである。
(付記1)
ローカル計算機から、ネットワークを通じて、リモート計算機上のファイルサーバに対して、ディスク装置内に格納されているファイルの操作を行わしめることを可能とするリモートファイル操作方法であって、
前記リモート計算機は、前記ディスク装置内に格納されているファイルについてのファイル情報を、自己の記憶部に記憶するとともに前記ローカル計算機へ送信し、前記ローカル計算機は、前記リモート計算機から受信した前記ファイル情報を、自己の記憶部に記憶し、
前記ローカル計算機が、前記ファイルに対する操作を命じる操作コマンドを前記リモート計算機へ送信すると、前記リモート計算機は、自己の前記記憶部に記憶されているファイル情報を前記操作コマンドに基づいて更新するとともに、前記ディスク装置内に格納されているファイルを前記操作コマンドに従って操作し、更新された前記ファイル情報が操作後の前記ファイルの状態に対応している場合には、その旨の結果情報を前記ローカル計算機へ送信し、
前記ローカル計算機は、前記結果情報を受信すると、自己の前記記憶部に記憶されているファイル情報を前記操作コマンドに基づいて更新し、更新後のファイル情報の内容を表示する
ことを特徴とするリモートファイル操作方法。
(付記2)
前記ファイル情報には、ファイルの状態を表すものの他、ディレクトリの状態を表すも
のが含まれている
ことを特徴とする付記1記載のリモートファイル操作方法。
(付記3)
前記ファイル情報の前記操作コマンドに基づく更新とは、前記ファイル情報によって認識されるファイルに対して前記操作コマンドに従った操作を実行した場合における操作実行後のファイルの状態を示すファイル情報の内容を予測した上で、前記ファイル情報の内容を、当該予測した内容に変更することである
ことを特徴とする付記1記載のリモートファイル操作方法。
(付記4)
更新された前記ファイル情報が操作後の前記ファイルの状態に対応しているとは、更新された前記記憶部に記憶されたファイル情報と、操作後の前記ファイルの状態を示すべきファイル情報とが一致していることである
ことを特徴とする付記1記載のリモートファイル操作方法。
(付記5)
前記リモート計算機は、更新された前記記憶部に記憶されたファイル情報と、操作後の前記ファイルの状態を示すファイル情報とが一致していない場合には、両者の差分を前記ローカル計算機へ送信し、
前記ローカル計算機は、自己の前記記憶部に記憶されているファイル情報を前記操作コマンドに基づいて更新し、更に前記差分を反映させ、前記差分を反映させた前記ファイル情報の内容を表示する
ことを特徴とする付記4記載のリモートファイル操作方法。
(付記6)
前記リモート計算機は、更新された前記記憶部に記憶されたファイル情報と操作後の前記ファイルの状態を示すファイル情報との差分のデータ量が、後者のファイル情報のデータ量よりも大きい場合には、後者のファイル情報を前記ローカル計算機へ送信し、
前記ローカル計算機は、受信したファイル情報により、自己の前記記憶部に記憶されているファイル情報を上書きし、上書き後の前記ファイル情報の内容を表示する
ことを特徴とする付記5記載のリモートファイル操作方法。
(付記7)
更新された前記ファイル情報が操作後の前記ファイルの状態に対応しているとは、更新された前記記憶部に記憶されたファイル情報によって認識されるファイルと、操作後の前記ファイルとが一致していることである
ことを特徴とする付記1記載のリモートファイル操作方法。
リモートファイル操作方法を適用したリモートファイル操作システムの実施の形態の概略構成を示すフロック図 サーバ及びクライアントの処理内容を示すフローチャート 操作から表示までの処理の流れを示す模式図 従来のリモートファイル操作システムによる処理の流れを示す模式図 差分転送方式による処理の流れを示す模式図
符号の説明
1 サーバ装置
2 クライアント装置
3 ディスク装置
10 CPU
14 内蔵ハードディスク
15 ファイルサーバプログラム
16 エージェント
17 ファイル情報
18 シミュレータ
20 CPU
23 入力装置
24 ハードディスク
25 ファイル操作クライアント
26 ディスプレイ
27 ファイル情報
28 シミュレータ
N ネットワーク

Claims (5)

  1. ローカル計算機から、ネットワークを通じて、リモート計算機上のファイルサーバに対して、ディスク装置内に格納されているファイルの操作を行わしめることを可能とするリモートファイル操作方法であって、
    前記リモート計算機は、前記ディスク装置内に格納されているファイルについてのファイル情報を、自己の記憶部に記憶するとともに前記ローカル計算機へ送信し、前記ローカル計算機は、前記リモート計算機から受信した前記ファイル情報を、自己の記憶部に記憶し、
    前記ローカル計算機が、前記ファイルに対する操作を命じる操作コマンドを前記リモート計算機へ送信すると、前記リモート計算機は、自己の前記記憶部に記憶されているファイル情報を前記操作コマンドに基づいて更新するとともに、前記ディスク装置内に格納されているファイルを前記操作コマンドに従って操作し、更新された前記ファイル情報が操作後の前記ファイルの状態に対応している場合には、その旨の結果情報を前記ローカル計算機へ送信し、
    前記ローカル計算機は、前記結果情報を受信すると、自己の前記記憶部に記憶されているファイル情報を前記操作コマンドに基づいて更新し、更新後のファイル情報の内容を表示する
    ことを特徴とするリモートファイル操作方法。
  2. 前記ファイル情報の前記操作コマンドに基づく更新とは、前記ファイル情報によって認識されるファイルに対して前記操作コマンドに従った操作を実行した場合における操作実行後のファイルの状態を示すファイル情報の内容を予測した上で、前記ファイル情報の内容を、当該予測した内容に変更することである
    ことを特徴とする請求項1記載のリモートファイル操作方法。
  3. 更新された前記ファイル情報が操作後の前記ファイルの状態に対応しているとは、更新された前記記憶部に記憶されたファイル情報と、操作後の前記ファイルの状態を示すべきファイル情報とが一致していることである
    ことを特徴とする請求項1記載のリモートファイル操作方法。
  4. 前記リモート計算機は、更新された前記記憶部に記憶されたファイル情報と、操作後の前記ファイルの状態を示すファイル情報とが一致していない場合には、両者の差分を前記ローカル計算機へ送信し、
    前記ローカル計算機は、自己の前記記憶部に記憶されているファイル情報を前記操作コマンドに基づいて更新し、更に前記差分を反映させ、前記差分を反映させた前記ファイル情報の内容を表示する
    ことを特徴とする請求項3記載のリモートファイル操作方法。
  5. 前記リモート計算機は、更新された前記記憶部に記憶されたファイル情報と操作後の前記ファイルの状態を示すファイル情報との差分のデータ量が、後者のファイル情報のデータ量よりも大きい場合には、後者のファイル情報を前記ローカル計算機へ送信し、
    前記ローカル計算機は、受信したファイル情報により、自己の前記記憶部に記憶されているファイル情報を上書きし、上書き後の前記ファイル情報の内容を表示する
    ことを特徴とする請求項4記載のリモートファイル操作方法。
JP2008194965A 2008-07-29 2008-07-29 リモートファイル操作方法 Expired - Fee Related JP5012716B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008194965A JP5012716B2 (ja) 2008-07-29 2008-07-29 リモートファイル操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008194965A JP5012716B2 (ja) 2008-07-29 2008-07-29 リモートファイル操作方法

Publications (2)

Publication Number Publication Date
JP2010033335A true JP2010033335A (ja) 2010-02-12
JP5012716B2 JP5012716B2 (ja) 2012-08-29

Family

ID=41737729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008194965A Expired - Fee Related JP5012716B2 (ja) 2008-07-29 2008-07-29 リモートファイル操作方法

Country Status (1)

Country Link
JP (1) JP5012716B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164571A (ja) * 2013-02-26 2014-09-08 Nec Corp 仮想デスクトップシステム、サーバ装置、クライアント装置、入力方法およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161535A (ja) * 1997-09-28 1999-06-18 Kodak Ltd 共有データ環境でのデータ競合解決方法
JP2003505781A (ja) * 1999-07-23 2003-02-12 サイトリックス システムズ,インコーポレイテッド ユーザ入力に対する即時の視覚的応答をクライアントシステムにおいて提供するシステムおよび方法
JP2005141756A (ja) * 2003-11-06 2005-06-02 Microsoft Corp バイナリ比較を用いたファイル複製の最適化
JP2005228227A (ja) * 2004-02-16 2005-08-25 Nippon Telegr & Teleph Corp <Ntt> シンクライアントシステム及びその通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161535A (ja) * 1997-09-28 1999-06-18 Kodak Ltd 共有データ環境でのデータ競合解決方法
JP2003505781A (ja) * 1999-07-23 2003-02-12 サイトリックス システムズ,インコーポレイテッド ユーザ入力に対する即時の視覚的応答をクライアントシステムにおいて提供するシステムおよび方法
JP2005141756A (ja) * 2003-11-06 2005-06-02 Microsoft Corp バイナリ比較を用いたファイル複製の最適化
JP2005228227A (ja) * 2004-02-16 2005-08-25 Nippon Telegr & Teleph Corp <Ntt> シンクライアントシステム及びその通信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164571A (ja) * 2013-02-26 2014-09-08 Nec Corp 仮想デスクトップシステム、サーバ装置、クライアント装置、入力方法およびプログラム

Also Published As

Publication number Publication date
JP5012716B2 (ja) 2012-08-29

Similar Documents

Publication Publication Date Title
US8392386B2 (en) Tracking file contents
JP4250914B2 (ja) 記憶装置システム
US10514947B2 (en) Container management apparatus, container management method, and nonvolatile recording medium
US20170206218A1 (en) Method and apparatus for data deduplication in cloud based storage system
CN110196725A (zh) 配置文件管理方法、装置、计算机设备及存储介质
CN104636414B (zh) 提供对更新后的文件的访问的方法和执行该方法的计算机
EA013001B1 (ru) Способ и устройство для управления компьютерной файловой системой с использованием деревьев файловой системы
CN108701048A (zh) 数据加载方法及装置
JP2013109630A (ja) 文書管理装置及びその制御方法、並びにプログラム
US11223528B2 (en) Management of cloud-based shared content using predictive cost modeling
JP4937863B2 (ja) 計算機システム、管理計算機及びデータ管理方法
CN109792453A (zh) 管理文件系统复制的系统、设备和方法
WO2009147847A1 (ja) データベース並行編集方式
WO2015081521A1 (zh) 一种存储系统中的数据处理方法、装置和系统
US20140201434A1 (en) Managing Volatile File Copies
JPWO2007099636A1 (ja) ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置
JP5212921B2 (ja) ファイルサーバシステム及びファイル管理方法
AU2011293014B2 (en) Method and system for extending data storage system functions
CN103841178A (zh) 网络附连存储环境的带内管理的方法和系统
JP5012716B2 (ja) リモートファイル操作方法
EP3785136A1 (en) Hydration of a hierarchy of dehydrated files
CN108009186A (zh) 服务版本切换方法、服务版本切换装置和服务器
US20170308312A1 (en) Disk image deletion with failure resistent data erasure
JP5832592B1 (ja) データ管理装置
JP2007272675A (ja) スナップショット作成装置、方法、およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120521

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5012716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees