JP4241200B2 - Data sharing system and method, and data sharing program - Google Patents

Data sharing system and method, and data sharing program Download PDF

Info

Publication number
JP4241200B2
JP4241200B2 JP2003162175A JP2003162175A JP4241200B2 JP 4241200 B2 JP4241200 B2 JP 4241200B2 JP 2003162175 A JP2003162175 A JP 2003162175A JP 2003162175 A JP2003162175 A JP 2003162175A JP 4241200 B2 JP4241200 B2 JP 4241200B2
Authority
JP
Japan
Prior art keywords
file
pointer
data
physical data
server computer
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.)
Expired - Fee Related
Application number
JP2003162175A
Other languages
Japanese (ja)
Other versions
JP2004362418A (en
Inventor
将史 福村
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2003162175A priority Critical patent/JP4241200B2/en
Publication of JP2004362418A publication Critical patent/JP2004362418A/en
Application granted granted Critical
Publication of JP4241200B2 publication Critical patent/JP4241200B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、データ共有システムにかかり、特に、ネットワークに接続された複数のクライアントにて同一内容のデータを共有するシステムに関する。また、データ共有方法及びデータ共有用プログラムに関する。
【0002】
【従来の技術】
社内LANなどの複数のコンピュータがネットワークに接続されたサーバ・クライアントシステムでは、サーバコンピュータをファイルサーバとして利用することが多々あり、かかる場合には複数の利用者が共有ファイルに同時にアクセス可能な状態にある。このように、同一のファイルを複数の利用者が参照する場合には、サーバコンピュータで使用するディスク容量は1ファイル分ですみ効率的である。
【0003】
しかしながら、サーバコンピュータ内の共有ファイルは、複数の利用者がアクセス可能であるから、変更が加えられる可能性や、削除される可能性もある。従って、各利用者は共有ファイルを別途保存したい場合もあり、このような場合には、それぞれの利用者が各々管理するファイル領域にファイルのコピーを作成する、という利用方法が採られる。
【0004】
また、サーバコンピュータを用いて共有ファイルを管理する方法では、上述したように削除されてしまうなどの不都合があることから、サーバコンピュータを置かない複数のクライアントコンピュータによるネットワークシステムも存在する。かかる場合には、各コンピュータに分散して保有されている共有ファイル参照情報を用意し、当該共有ファイル参照情報を各コンピュータ間で交換し、これによりファイルを共有するという利用方法が採られている。かかる技術が特許文献1に開示されている。
【0005】
【特許文献1】
特開2002−244906号公報
【0006】
【発明が解決しようとする課題】
しかしながら、上記従来例には以下のような不都合があった。まず、同一のファイルを複数の領域に保存することは、多くのディスク容量を無駄に使用することになるという問題が生じる。
【0007】
また、サーバコンピュータを置かない構成のときには、共有ファイル参照情報を総てのコンピュータが記憶したり、配信したりする必要があり、各コンピュータのディスク容量が不要に多く使用されるという問題が生じる。また、ネットワーク渋滞が生じる可能性もある。
【0008】
一方、個別のファイルで管理する場合には、オリジナルのファイルが変更された場合にはそれぞれのファイルに対して変更がかからないため、古いファイルを保存することになり、データの整合が取れないという問題も生じる。
【0009】
【発明の目的】
本発明は、上記従来例の有する不都合を改善し、特に、複数のコンピュータによる共有ファイルの管理を容易にすると共に、当該共有ファイルを記憶するコンピュータのディスク容量の削減を図ることができるデータ共有システム及び方法並びにデータ共有用プログラムを提供することをその目的とする。
【0010】
【課題を解決するための手段】
そこで、本発明では、複数のクライアントコンピュータにネットワークを介して接続されたサーバコンピュータを備え、このサーバコンピュータが、複数のクライアントコンピュータにて共有されるファイルの物理データを当該サーバコンピュータ内に記憶すると共に、物理データを参照するポインタを各コンピュータに表示することにより共有ファイルの管理を行うデータ共有システムであって、サーバコンピュータが、クライアントコンピュータから所定のファイルの複製指令を受けたときに複製対象である所定のファイルのポインタを参照先として指し示す新たなポインタを生成するポインタ生成機能と、所定のファイルのポインタと新たなポインタとの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶機能と、所定のファイルの物理データ自体に変更が生じたときに当該物理データの変更前のデータを一時的に記憶保持する変更前データ記憶機能と、物理データに変更が生じた後に当該物理データを参照するポインタに関連付けられている新たなポインタに対応するクライアントコンピュータに物理データに変更が生じた旨の情報を通知してかかる変更に従うか否かを問う変更通知機能と、通知を受けたクライアントコンピュータから物理データの変更に従わない旨の通知を受けた際に物理データの変更前のデータを新たなポインタが直接参照するよう対応付けると共に当該新たなポインタに関する関連付けデータを削除する物理データ移行機能とを備えた、という構成を採っている。
【0011】
このような構成にすることにより、ファイルサーバにて同一のファイルを異なる領域に複製をする際には、複製対象である物理データを指し示すポインタをさらに参照する新たなポインタが生成される。そして、これら両ポインタを関連付けるデータが、ファイルサーバ内のファイル管理テーブルに記憶される。このため、後に複製したファイルを参照する場合には、新たなポインタを指定することで、ファイル管理テーブル内の関連付けデータに基づいて元のポインタが参照され、当該元のポインタにて参照される物理データにアクセスすることができる。従って、ファイルの物理データ自体を実際に複製することなく、当該物理データのデータ容量よりも小さい容量のポインタと関連付けデータを生成することのみで、ファイル複製を実現でき、ディスク容量の削減を図ることができる。
【0013】
そして、上記変更通知機能は、物理データに変更が生じた後に当該物理データを参照するポインタに関連付けられている新たなポインタにクライアントコンピュータからアクセスがあったときに当該クライアントコンピュータに物理データに変更が生じた旨の情報を通知してかかる変更に従うか否かを問う機能を有する、という構成であってもよい。
【0014】
また、上記構成において、物理データの変更は、当該物理データが削除されたことを含む、という構成であってもよい。
【0015】
このような構成にすることにより、まず、ポインタを介して参照している物理データの内容が更新や削除されるなど変更されると、変更前の物理データは一時的に保存される。そして、変更直後や変更後に新たなポインタにアクセスがあったときに、元のポインタを介して参照する物理データの内容が変更された旨の情報が新たなポインタを用いているクライアントコンピュータに通知されて、かかる変更に従うか否かが問われる。これに対し、従う場合には変更された物理データをそのまま参照することとなるが、従わない場合には、新たなポインタが変更前の物理データを直接参照することとなる。従って、共有ファイルのデータが勝手に更新や削除されるなど変更されることが抑制され、データ紛失等を抑制することができる。
【0016】
また、本発明では、複数のクライアントコンピュータにネットワークを介して接続されたサーバコンピュータを備え、このサーバコンピュータが、サーバコンピュータ上に保存されているポインタを介して複数のクライアントコンピュータ上に保存されている物理データが記憶されているファイルを監視するファイル監視機能と、監視されたファイルのうち同一のファイルを発見したときにこれら同一ファイルの各ポインタのうち1つの特定のポインタに他のポインタをそれぞれ関連付けて関連付けデータを生成しこの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶機能と、特定のポインタにて参照される物理データを残して他のファイルの物理データを削除する物理データ削除機能と、を備えた、という構成を採っている。
【0017】
このような構成にすることにより、まず、定期的に同一ネットワーク上のコンピュータに記憶されているファイルがサーバコンピュータにて監視される。そして、同一のファイルが発見されると、その中の特定のファイルの物理データを参照するポインタを選定して、当該特定ポインタに他のファイルのポインタを関連付けるデータを生成してサーバコンピュータに記憶する。これと共に、特定ファイル以外のファイルの物理データを削除する。従って、クライアントコンピュータから、特定ファイルと同一内容の他のファイルを参照する場合には、当該他のファイルのポインタを参照することにより、関連付けデータから特定ポインタが参照され、当該特定ファイルの物理データを参照することができる。これにより、データ内容を保持しつつ、各コンピュータ内で同一データの重複を抑制でき、ディスク容量の削減を図ることができる。
【0018】
さらに、複数のクライアントコンピュータにネットワークを介して接続され、クライアントコンピュータから送信されたファイルを記憶管理するサーバコンピュータを備え、このサーバコンピュータが、サーバコンピュータ上に保存されているポインタを介して当該サーバコンピュータ上に保存されている物理データが記憶されているファイルを監視するファイル監視機能と、監視されたファイルのうち同一のファイルを発見したときにこれら同一ファイルの各ポインタのうち1つの特定のポインタに他のポインタをそれぞれ関連付けて関連付けデータを生成しこの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶機能と、特定のポインタにて参照される物理データを残して他のファイルの物理データを削除する物理データ削除機能と、を備えた、という構成をも採っている。
【0019】
このような構成にすることにより、まず、ストレージサービスなどとして使用されているサーバコンピュータにて、クライアントコンピュータから送信されて当該サーバコンピュータに記憶されているファイルが監視される。そして、同一のファイルが発見されると、その中の特定のファイルの物理データを参照するポインタを選定して、当該特定ポインタに他のファイルのポインタを関連付けるデータを生成してサーバコンピュータに記憶する。これと共に、特定ファイル以外のファイルの物理データを削除する。従って、クライアントコンピュータが、サーバコンピュータ内に記憶したファイルを参照する際には、他のファイルのポインタを参照することにより、関連付けデータから特定ポインタが参照され、当該特定ファイルの物理データを参照することができ、記憶した内容と同一のデータを使用することができる。これにより、データ内容を保持しつつ、サーバコンピュータ内で同一データの重複を抑制でき、ディスク容量の削減を図ることができる。
【0020】
また、本発明では、複数のクライアントコンピュータにネットワークを介して接続されたサーバコンピュータが、複数のクライアントコンピュータにて共有されるファイルの物理データを当該サーバコンピュータ内に記憶すると共に、当該物理データを参照するポインタを各コンピュータに表示することにより共有ファイルの管理を行うデータ共有方法であって、サーバコンピュータが,クライアントコンピュータから当該サーバコンピュータ内に記憶された所定のファイルの複製指令を受けたときに当該複製対象であるファイルのポインタを参照先として指し示す他のポインタを生成するポインタ生成工程と、サーバコンピュータが,所定のファイルのポインタと新たに生成した他のポインタとの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶工程と、サーバコンピュータが,クライアントコンピュータから新たなポインタにアクセスがあったときにファイル管理テーブルから関連付けデータを読み出して新たなポインタが関連付けられているポインタを介して物理データを参照させる物理データ参照工程と、少なくとも管理テーブル記憶工程の後に、サーバコンピュータが,所定のファイルの物理データ自体に変更が生じたときに当該物理データの変更前のデータを一時的に記憶保持する変更前データ記憶工程と、サーバコンピュータが,物理データに変更が生じた後に当該物理データを参照するポインタに関連付けられている新たなポインタに対応するクライアントコンピュータに物理データに変更が生じた旨の情報を通知してかかる変更に従うか否かを問う変更通知工程と、サーバコンピュータが,通知を受けたクライアントコンピュータから物理データの変更に従わない旨の通知を受けた際に物理データの変更前のデータを新たなポインタが直接参照するよう対応付けると共に当該新たなポインタに関する関連付けデータを削除する物理データ移行工程とを備えた、データ共有方法をも提供している。
【0022】
また、複数のクライアントコンピュータにネットワークを介して接続されたサーバコンピュータが,サーバコンピュータ上に保存されているポインタを介して複数のクライアントコンピュータ上に保存されている物理データが記憶されているファイルを監視するファイル監視工程と、サーバコンピュータが,監視されたファイルのうち同一のファイルを発見したときにこれら同一ファイルの各ポインタのうち1つの特定のポインタに他のポインタをそれぞれ関連付けて関連付けデータを生成しこの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶工程と、サーバコンピュータが,特定のポインタにて参照される物理データを残して他のファイルの物理データを削除する物理データ削除工程と、を備えたデータ共有方法をも提供している。
【0023】
さらに、複数のクライアントコンピュータにネットワークを介して接続され、クライアントコンピュータから送信されたファイルを記憶管理するサーバコンピュータが,サーバコンピュータ上に保存されているポインタを介して当該サーバコンピュータ上に保存されている物理データが記憶されているファイルを監視するファイル監視工程と、サーバコンピュータが,監視されたファイルのうち同一のファイルを発見したときにこれら同一ファイルの各ポインタのうち1つの特定のポインタに他のポインタをそれぞれ関連付けて関連付けデータを生成しこの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶工程と、サーバコンピュータが,特定のポインタにて参照される物理データを残して他のファイルの物理データを削除する物理データ削除工程と、を備えたデータ共有方法をも提供している。
【0024】
また、本発明では、複数のクライアントコンピュータに共有されるファイルの物理データを記憶すると共に、当該物理データを参照するポインタをクライアントコンピュータに表示することにより共有ファイルの管理を行う、複数のクライアントコンピュータにネットワークを介して接続されたサーバコンピュータに、クライアントコンピュータから当該サーバコンピュータ内に記憶された所定のファイルの複製指令を受けたときに当該複製対象であるファイルのポインタを参照先として指し示す他のポインタを生成するポインタ生成機能と、サーバコンピュータが所定のファイルのポインタと新たに生成した他のポインタとの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶機能と、サーバコンピュータがクライアントコンピュータから新たなポインタにアクセスがあったときにファイル管理テーブルから関連付けデータを読み出して新たなポインタが関連付けられているポインタを介して物理データを参照させる物理データ参照機能と、サーバコンピュータに、所定のファイルの物理データ自体に変更が生じたときに当該物理データの変更前のデータを一時的に記憶保持する変更前データ記憶機能と、物理データに変更が生じた後に当該物理データを参照するポインタに関連付けられている新たなポインタに対応するクライアントコンピュータに物理データに変更が生じた旨の情報を通知してかかる変更に従うか否かを問う変更通知機能と、通知を受けたクライアントコンピュータから物理データの変更に従わない旨の通知を受けた際に物理データの変更前のデータを新たなポインタが直接参照するよう対応付けると共に当該新たなポインタに関する関連付けデータを削除する物理データ移行機能と、を実現させるためのデータ共有用プログラムをも提供している。
【0026】
また、本発明では、複数のクライアントコンピュータにネットワークを介して接続されたサーバコンピュータに、サーバコンピュータ上に保存されているポインタを介して前記複数のクライアントコンピュータ上に保存されている物理データが記憶されているファイルを監視するファイル監視機能と、監視されたファイルのうち同一のファイルを発見したときにこれら同一ファイルの各ポインタのうち1つの特定のポインタに他のポインタをそれぞれ関連付けて関連付けデータを生成しこの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶機能と、特定のポインタにて参照される物理データを残して他のファイルの物理データを削除する物理データ削除機能と、を実現するためのデータ共有用プログラムをも提供している。
【0027】
さらに、複数のクライアントコンピュータにネットワークを介して接続され、クライアントコンピュータから送信されたファイルを記憶管理するサーバコンピュータに、サーバコンピュータ上に保存されているポインタを介して当該サーバコンピュータ上に保存されている物理データが記憶されているファイルを監視するファイル監視機能と、監視されたファイルのうち同一のファイルを発見したときにこれら同一ファイルの各ポインタのうち1つの特定のポインタに他のポインタをそれぞれ関連付けて関連付けデータを生成しこの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶機能と、特定のポインタにて参照される物理データを残して他のファイルの物理データを削除する物理データ削除機能と、を実現するためのデータ共有用プログラムをも提供している。
【0028】
【発明の実施の形態】
〈第1の実施形態〉
以下、本発明の第1の実施形態を、図1乃至図3を参照して説明する。図1は、本発明の第1の実施形態における構成を示すブロック図である。図2は、本実施形態におけるデータの状態を示す模式図である。図3は、システムの動作を示すシーケンス図である。
【0029】
(全体構成)
図1に示すように、本実施形態におけるデータ共有システムは、複数のクライアントコンピュータ1が、ネットワーク2を介して接続されたサーバコンピュータ3を備えている。そして、複数のクライアントコンピュータ1にて共有されるファイルがサーバコンピュータ3に記憶されており、当該サーバコンピュータ3がこれら共有ファイルを管理するというシステムである。以下、これを詳述する。
【0030】
(クライアントコンピュータ)
クライアントコンピュータ1は、上記サーバコンピュータ3とサーバ・クライアントシステムを構築するクライアント側のコンピュータであって、サーバコンピュータ3にアクセス権限を有する。そして、一般的なコンピュータであって、所定の情報処理能力を有するCPUといった演算装置、及び、所定の記憶容量を有するハードディスクなどの記憶装置を備えていて、ネットワーク2を介してサーバコンピュータ3に接続可能なよう通信装置も備えている。
【0031】
そして、本実施形態では、特に、クライアントコンピュータ1は会社などの同一組織内のユーザ(クライアント)が使用するコンピュータであって、後述するようにサーバコンピュータ3内に、他のユーザと共有するファイルを記憶するようになっている。従って、サーバコンピュータ3にアクセスして、共有ファイルを生成したり、既存の共有ファイルのデータ内容を更新したり、削除することが可能である。
【0032】
(ネットワーク)
ネットワーク2は、本実施形態では、特定企業内のみで稼働するイントラネットや、TCP/IP以外のプロトコルで通信する特定のネットワークである。但し、専用線や電話回線あるいはCATVのケーブル等の有線回線や、携帯電話回線といった無線回線を用い、TCP/IPプロトコルといった通信プロトコルにて通信を行うインターネットであってもよい。
【0033】
(サーバコンピュータ)
サーバコンピュータ3は、上記クライアントコンピュータ1がアクセス可能であり、これらクライアントコンピュータ1が使用可能なよう共有ファイルを管理している。本実施形態では、特に、特定の社内LANにおけるファイルサーバである。そして、その構成は、一般的なサーバコンピュータであって、所定の情報処理能力を有するCPUといった演算装置、及び、所定の記憶容量を有するハードディスクなどの記憶装置を備えていて、ネットワーク2に接続可能なよう通信装置も備えている。
【0034】
ここで、サーバコンピュータ3が有する機能について説明する。なお、以下に説明するサーバコンピュータ3が有する機能は、かかる機能用プログラムがコンピュータのCPUに組み込まれることにより実現できる。すなわち、データ共有用プログラムが、サーバコンピュータ3のハードディスクなどの記憶装置に記憶されていて、CPUにて読み出されることで当該CPUに機能ブロックが構築される。なお、プログラムは、CD−ROMなどの可搬媒体に記憶されていて、これがサーバコンピュータ3に提供されてもよく、あるいは、ネットワーク上の他のコンピュータからダウンロードされて提供されてもよい。また、後述する他の実施形態においても、同様である。
【0035】
サーバコンピュータ3は、まず、基本的なファイルサーバとしての機能として、複数のクライアントコンピュータ1にて共有されるファイルの物理データを当該サーバコンピュータ3内に記憶すると共に、物理データを参照するポインタを各コンピュータに表示することにより共有ファイルの管理を行う機能を有している。かかる機能の詳細を、図2を参照して説明する。
【0036】
まず、所定のクライアントコンピュータ(A)1aからファイル(A)の記録依頼があると(矢印A1参照)、サーバ3の記憶装置31には、ファイル(A)を表示するデータとしてファイル表示データF10が生成される。そして、このファイル表示データF10が作成されると同時に、当該ファイル自体のデータ内容が物理イメージP10(物理データ)として、上記ファイル表示データと関連付けられてディスク31に記憶される。なお、図2及び以下の文章では、ファイル表示データF10を単に「ファイルF10」と表し、物理イメージP10を「イメージP10」と表す。以下、同様である。
【0037】
このとき、ファイルF10は、当該ファイルの物理イメージを参照するポインタとしての役割を果たしている。
【0038】
このようにすることで、クライアントコンピュータ(A)1aやクライアントコンピュータ(B)1bなどは、ファイルF10を介して、そのデータ内容であるイメージP10にアクセスすることができる。
【0039】
そして、サーバコンピュータ3には、クライアントコンピュータ1から所定のファイルの複製指令を受けたときに複製対象である所定のファイルのポインタを参照先として指し示す新たなポインタを生成するポインタ生成機能と、所定のファイルのポインタと新たなポインタとの関連付けデータをサーバコンピュータ3内に形成されたファイル管理テーブルに記憶する管理テーブル記憶機能と、が備えられている。
【0040】
これら機能についても、図2を参照して詳述する。ここでは、例えば、上述したファイルF10を生成したクライアントコンピュータ(A)1aとは別のクライアントコンピュータ(B)1bからファイルF10にアクセスがあり、当該ファイルF10をハードディスク31の別の領域(例えば、クライアントコンピュータ(B)1bが自由に使用できる領域)に記憶する場合を考える。
【0041】
まず、ポインタ生成機能は、クライアントコンピュータ(B)1bにてファイルF10にアクセスされ(矢印A2参照)、かかるファイルF10の複製指令を受けたときに、まず、ファイルF10を参照する新たなファイルF11を生成する。すなわち、ファイルF10を指し示す新たなポインタとしてのファイル表示データF11を生成する(矢印A3参照)。
【0042】
管理テーブル記憶機能は、この生成したファイルF11と、その参照先であるファイルF10との関係を表す関連付けデータを、ハードディスク31内にあらかじめ設けてあるポインタレポジトリR10(ファイル管理テーブル)に記憶する(矢印A4参照)。このとき、新たなポインタであるファイルF11が参照元となり、また、ファイルF10が参照先として表される。
【0043】
そして、上述したファイルを複製する機能に伴い、サーバコンピュータ3は、新たなファイルF11からイメージP10を参照する機能も有している。具体的には、まず、クライアントコンピュータ(B)1bが複製したファイルF11にアクセスした際には、ファイルF11が別のファイルに関連付けられているか否かをポインタレポジトリR10を参照して調べる。このとき、図2に示すようファイルF11に関係した関連付けデータが発見されると、これを読み出してファイルF11がファイル10を参照していることを認識する。これにより、ファイルF11からファイルF10を介してイメージP10を参照することができる。
【0044】
(動作)
次に、本実施形態におけるシステム全体の動作を、図3のシーケンス図を参照して説明する。まず、クライアントコンピュータ(A)1aからサーバコンピュータ3に共有ファイルが送信され、当該サーバコンピュータ3に格納するよう指示が出される(ステップS1)。これに応じて、サーバコンピュータ3では、送信された共有ファイルを表すファイル表示データF10を作成すると共に、データ自体である物理イメージP10を作成して、ハードディスク31に格納する(ステップS2)。
【0045】
続いて、別のクライアントコンピュータ(B)1bからファイルF10にアクセスがあり、当該ファイルF10をクライアントコンピュータ(B)1bが取り扱うサーバコンピュータ3上のディスク領域にコピーするよう指示を出す(ステップS3)。これを受けたサーバコンピュータ3は、まず、複製対象であるファイルのポインタであるファイル表示データF10を参照する新たなポインタとしてのファイル表示データF11のみを作成する(ステップS4)。そして、これと共に、ファイルF11がファイルF10を参照することを表す関連付けデータを、ポインタレポジトリR10に記憶する(ステップS5)。従って、このときには、ファイルのコピーといっても、その物理イメージP10を別の領域には複製しない。これにより、ファイルの物理データ自体を実際に複製することなく、当該物理データのデータ容量よりも小さい容量のポインタと関連付けデータを生成することファイル複製を実現しているため、ディスク容量の削減を図ることができる。
【0046】
なお、複製したファイルF11へのアクセスは、以下のようにして行われる。クライアントコンピュータ(B)1bからサーバコンピュータ3にファイルF11の閲覧要求が出されると(ステップS6)、サーバコンピュータ3は、まず、ポインタレポジトリR10を調べ、ファイルF11を参照元としている関連付けデータがあるかどうかを調べる。かかる関連付けデータがある場合にはそのデータを読み出す(ステップS7)。そして、これを参照することで、ファイルF11の参照先が分かるため、ファイルF11からファイルF10を参照し、当該ファイルF10が指し示す物理イメージP10にアクセスして読み出す(ステップS8)。その後、サーバコンピュータ3は、読み出したイメージP10をクライアントコンピュータ(B)1bに表示すべく当該クライアントに送信し(ステップS9)、これを受けたクライアントコンピュータ(B)1bは、当該イメージP10を閲覧することができる。
【0047】
このように、実際にファイルの物理イメージをディスク上に複製しなくとも、複製したと同様の効果を得ることができ、上述したように、ディスク使用容量の削減を図ることができる。
【0048】
〈第2の実施形態〉
次に、本発明の第2の実施形態について、図4乃至図7を参照して説明する。このうち、図4乃至図5は、共有データの内容を更新する場合の説明図であり、図6乃至図7は、共有データを削除する場合の説明図である。そして、図4及び図6は、ファイルの状態を示す説明図であり、図5及び図7は、システムの動作を示すフローチャートである。
【0049】
(構成)
本実施形態におけるデータ共有システムは、上述した第1の実施形態に示すものとほぼ同様の構成を採っていて、さらに、共有ファイルの内容が更新や削除など変更されたときに、各クライアントがデータ内容の変更に対応することができるような構成となっている。
【0050】
具体的には、サーバコンピュータ3のCPUには、所定のファイルの物理データ自体に変更が生じたときに当該物理データの変更前のデータを一時的に記憶保持する変更前データ記憶機能と、物理データに変更が生じた後に当該物理データを参照するポインタに関連付けられている新たなポインタに対応するクライアントコンピュータに物理データに変更が生じた旨の情報を通知してかかる変更に従うか否かを問う変更通知機能と、通知を受けたクライアントコンピュータから物理データの変更に従わない旨の通知を受けた際に物理データの変更前のデータを新たなポインタが直接参照するよう対応付けると共に当該新たなポインタに関する関連付けデータを削除する物理データ移行機能と、が備えられている。これら各機能を、データが更新、削除されるときの例を、更に具体的に説明する。
【0051】
まず、サーバコンピュータ3内のデータの記憶状況は、上述した図2に示すようになっている。すなわち、クライアントコンピュータ(A)1aにて作成された参照先となる共有ファイルのファイルF10(ポインタ)とその物理データであるイメージP10が記憶されていて、これをクライアントコンピュータ(B)1bが複製したファイルF11がファイルF10を参照して、イメージP10を参照するようになっている。そして、ファイルF11がファイルF10を参照する旨の関連付けデータが、ポインタレポジトリR10に記憶されている。この状態において、共有ファイルであるファイル10のデータ自体イメージP10が更新あるいは削除される指令が、クライアントコンピュータ(A)から出された場合を想定している。
【0052】
イメージP10の変更あるいは削除指令が出されると、変更前データ記憶機能は、イメージP10を変更あるいは削除する前に、サーバコンピュータ3内のRAMやレジスタなどのメモリに一時的に記憶保持する。そして、保存を行った後に、クライアントコンピュータ(A)1aの指示に従って、ファイルF10が参照するイメージP10を更新したり、削除する。
【0053】
そして、変更通知機能は、ファイルF11を作成したクライアントコンピュータ(B)1bにイメージP10が更新あるいは削除された旨の通知して、これに従うか否かを問う。このとき、ファイルF11の作成者がクライアントコンピュータ(B)1bであることは、ファイルF11のヘッダ部分などに記憶されているデータを参照してそのコンピュータ名やIPアドレスなどから特定してその旨の通知を行う。但し、変更通知機能は、変更があった直後に通知を行うことに限定されない。変更後、ファイルF11にクライアントコンピュータ(B)1bからアクセスがあったときに、その旨を通知して更新や削除に従うか否かを尋ねてもよい。このとき、更新前、削除前のイメージP10は保存されたままとなる。
【0054】
そして、物理データ移行機能は、クライアントコンピュータ(B)から、イメージP10の変更や削除に従わない旨の通知を受けると、メモリなどに保存しておいたイメージP10をファイルF11の参照先として設定する。すなわち、ファイルF11がファイルF10を参照先とするよう設定していた関連付けデータを、ポインタレポジトリR10から削除する。これにより、ファイルF11を参照すると、変更前のイメージP10を閲覧することができる。
【0055】
なお、サーバコンピュータ3に、参照元である新たなポインタ(ファイルF11)が、参照先となるポインタ(ファイルF10)の物理データ(イメージP10)の変更に依存するか否かに関する情報を、参照元ポインタを作成したクライアント(B)からの指示であらかじめメモリに記憶しておいてもよい。そして、ファイル変更指示が来たときに、かかる情報が「依存しない」旨の情報である場合には、クライアントに通知することなく、変更前のイメージP10をポインタに関連付けてもよい。このように、勝手に変更されては困るデータに関してあらかじめ設定しておくことで、データの改変を抑制することができる。
【0056】
(動作)
次に、本実施形態における動作を説明する。まず、図4乃至図5を参照して、データが更新される場合を説明する。なお、図4(a)は、更新に応じる場合であり、図4(b)は、更新に応じない場合である。
【0057】
まず、上述したように、図4(a)の上段図に示すように、ファイルF10の内容であるイメージP10に、ファイルF11がファイルF10を介して参照するようになっている。このとき、クライアントコンピュータ(A)1aからファイルF10の更新指示があったとする(ステップS101)。すると、まず、更新前のイメージP10がメモリに一時保存されて(ステップS102)、その後、更新された新規イメージP11が作成される(ステップS103)。すなわち、図4(a)の下段図に示すように、ファイルF10が参照する物理データがイメージP11に更新される。
【0058】
続いて、メモリ内にファイルF11はファイルF10に依存する旨の情報があるか否かを調べ(ステップS104)、かかる旨の情報がある場合には(ステップS104にて肯定判断)、そのことをファイルF11を作成したクライアントコンピュータ(B)1bに通知して確認する(ステップS105)。このとき、通知すべき設定ではない場合(ステップS105にて否定判断)、あるいは、通知されて更新許可の情報が返信された場合には(ステップS106にて肯定判断)、ポインタレポジトリR10内の関連付けデータは変更されず、ファイルF11はファイルF10を参照したままの状態となる。すなわち、ファイルF11を参照すると、ファイルF10を介して更新されたイメージP11が参照される。
【0059】
一方、ファイルF11がファイルF10に依存しない旨の情報が存在していたり(ステップS104にて否定判断)、あるいは、クライアントコンピュータ(B)から更新を許可しない旨の情報をサーバコンピュータ3が受けた場合には(ステップS106にて否定判断)、メモリ内に一時保存しておいた更新前のイメージP10を読み出して、ファイルF11の直接の参照先として設定する(ステップS107)。このときの様子を、図4(b)の下段図に示す。そして、ファイルF11がファイルF10を参照するという関連付けデータをポインタレポジトリR10の中から削除する(ステップS108)。すると、ファイルF10は更新されたイメージP11を参照し、ファイルF11は更新前のイメージP10を参照することとなる。
【0060】
これにより、クライアントコンピュータ(B)は、複製した共有ファイルのデータが勝手に更新されることを抑制することができる。
【0061】
次に、図6乃至図7を参照して、データが削除される場合を説明する。なお、図6(a)は、削除に応じる場合であり、図6(b)は、削除に応じない場合である。
【0062】
まず、上述したように、図6(a)の上段図に示すように、ファイルF10の内容であるイメージP10に、ファイルF11がファイルF10を介して参照するようになっている。このとき、クライアントコンピュータ(A)1aからファイルF10の削除指示があったとする(ステップS201)。すると、まず、更新前のイメージP10がメモリに一時保存されて(ステップS202)、その後、ファイルF10が直接参照するイメージP10が削除される(ステップS203)。すなわち、図6(a)、(b)の下段図のように、ファイルF10及びイメージP10が削除された状態となる。
【0063】
続いて、メモリ内にファイルF11はファイルF10に依存する旨の情報があるか否かを調べ(ステップS204)、かかる旨の情報がある場合には(ステップS204にて肯定判断)、そのことを、ファイルF11を作成したクライアントコンピュータ(B)1bに通知して確認する(ステップS205)。このとき、通知すべき設定ではない場合には(ステップS205にて否定判断)、あるいは、通知されて削除許可の情報が返信された場合には(ステップS206にて肯定判断)、ポインタレポジトリR10内の関連付けデータが削除され、当然のことながら、ファイルF11は参照すべきデータがないので削除される。すなわち、図6(b)の下段図のようになる。
【0064】
一方、ファイルF11がファイルF10に依存しない旨の情報が存在していたり(ステップS204にて否定判断)、あるいは、クライアントコンピュータ(B)から更新を許可しない旨の情報をサーバコンピュータ3が受けた場合には(ステップS206にて否定判断)、メモリ内に一時保存しておいた更新前のイメージP10を読み出して、ファイルF11の直接の参照先として設定する(ステップS207)。このときの様子を、図6(a)の下段図に示す。そして、既にファイルF11は削除されているので、ファイルF11がファイルF10を参照するという関連付けデータをポインタレポジトリR10の中から削除する(ステップS208)。すると、ファイルF10は、削除前のイメージP10を参照することとなる。
【0065】
これにより、クライアントコンピュータ(B)は、複製した共有ファイルのデータが勝手に削除されることを抑制することができる。
【0066】
〈第3の実施形態〉
次に、本発明の第3の実施形態について説明する。本実施形態では、上述した第1の実施形態における手法とほぼ同様の手法にて共有ファイルを複製する。但し、その複製対象である共有ファイルの保存されているコンピュータと、共有ファイルの複製先のコンピュータとが異なっている。
【0067】
例えば、ネットワーク2に接続されたサーバ・クライアントシステムにおいて、一方のクライアントコンピュータに保存されているファイルを、他方のクライアントコンピュータに複製する場合である。かかる場合には、一方のクライアントコンピュータにファイルの物理データであるイメージと、当該イメージを参照するポインタが記憶されていて、このポインタを参照する新たなポインタのみが、他方のクライアントコンピュータに作成される。そして、新たなポインタと、複製元のファイルのポインタとを関連付けるデータが、サーバコンピュータ3のポインタレポジトリ内に記憶されることとなる。
【0068】
このようにすることで、上述同様に、同一ネットワーク上で、各コンピュータのディスク容量の節約を図ることができる。
【0069】
〈第4の実施形態〉
次に、本発明の第4の実施形態について説明する。本実施形態においても、上記同様にサーバ・クライアントシステムにて構成されるシステムであるが、クライアントが意識して共有するファイルは存在しない。すなわち、各クライアントコンピュータが記憶するファイルの中で同一ファイルを検索し、これらを上述した他の実施形態にて説明した手法で共有ファイルとして管理する、というものである。
【0070】
このため、本実施形態におけるサーバコンピュータ3は、ネットワーク2を介して接続されている複数のクライアントコンピュータ1にポインタを介して物理データが記憶されているファイルを監視するファイル監視機能と、監視されたファイルのうち同一のファイルを発見したときに当該ファイルの各ポインタをそのうちの特定のポインタにそれぞれ関連付けて当該関連付けデータをサーバコンピュータ内にファイル管理テーブルとして記憶する管理テーブル記憶機能と、特定のポインタにて参照される物理データを残して他のファイルの物理データを削除する物理データ削除機能と、を備えている。これら機能を詳述する。
【0071】
まず、ファイル監視機能は、サーバコンピュータ3が組織内のクライアントコンピュータ1、例えば、社内LANで接続されたクライアントコンピュータ1を巡回し、これらに記憶されているデータを調べる。このとき、例えば、ファイルのヘッダ部を監視し、データ種類や容量、作成者、作成日時などを読み出し、リスト化する。
【0072】
また、管理テーブル記憶機能は、上述したようなヘッダ部情報が一致するファイルを同一のファイルとして認識する。そして、同一のファイルが複数発見されたら、これらのうちから1つのファイルを選択し、当該ファイルの物理データを参照するポインタを特定のポインタとする。なお、ポインタは、クライアントコンピュータ1上に表示されるファイル表示としての役割をも果たすものである。そして、さらに、特定したファイルと同一内容の他のファイルのポインタ、すなわち、他のファイルの物理データを参照する他のポインタが、上記特定のポインタを参照するよう関連付けて、かかる関連付けデータを生成してサーバコンピュータ3内のポインタレポジトリR10に記憶しておく。
【0073】
そして、物理データ削除機能が、特定のポインタが直接参照する物理データを残して、当該特定のポインタを参照する他のポインタが直接参照していた他のファイルの物理データを削除する。
【0074】
なお、上記管理テーブル記憶機能は、同一ファイルのうち、1つを特定のものとして選択するが、当該ファイルが記憶されているクライアントコンピュータ1の性能や空きディスク容量などを考慮して選択するとよい。例えば、CPUの処理速度が高いものや空きディスク容量が多いコンピュータに記憶されているものを選択する。これにより、他のコンピュータからは、同一ファイルの物理データであるイメージが削除されるため、より効果的にディスク容量の削減を図ることができる。
【0075】
そして、物理データが削除された他のファイルを使用するクライアントコンピュータ1は、当該ファイルにアクセスしたときに、サーバコンピュータ3のポインタレポジトリR10を参照することで、特定のポインタを参照して、イメージを参照することができる。
【0076】
〈第5の実施形態〉
次に、本発明の第5の実施形態について説明する。本実施形態においては、上記第4の実施形態とほぼ同様の構成であるが、各クライアントコンピュータ1からサーバコンピュータ3に送信されて記憶されたファイルのうち、同一のファイルを共有データとする構成である。例えば、サーバコンピュータ3がストレージサービスを提供している場合であり、クライアントコンピュータ1は、各自の音楽ファイルや画像ファイル、ビデオファイルなどをサーバコンピュータ3に送信して、当該サーバコンピュータ3に保存しておく、というものである。
【0077】
これを実現するために、サーバコンピュータ3は、当該サーバコンピュータ3にポインタを介して物理データが記憶されているファイルを監視するファイル監視機能と、監視されたファイルのうち同一のファイルを発見したときに当該ファイルの各ポインタをそのうちの特定のポインタにそれぞれ関連付けて当該関連付けデータをサーバコンピュータ内にファイル管理テーブルとして記憶する管理テーブル記憶機能と、特定のポインタにて参照される物理データを残して他のファイルの物理データを削除する物理データ削除機能と、を備えている。なお、これら機能は、データ共有用プログラムがサーバコンピュータに提供されて、CPUに組み込まれることにより実現できる。
【0078】
これにより、持ち主が異なっていても、同一の音楽ファイルなどは1つのファイルを保存しておけばよく、他のファイルはポインタ及び関連付けデータで管理することができるため、ディスク容量の節約を図ることができる。
【0079】
【発明の効果】
本発明は、以上のように構成され機能するので、これによると、ファイルサーバにて同一のファイルを異なる領域に複製をする際には、複製対象である物理データは複製されず、これを指し示すポインタをさらに参照する新たなポインタが生成され、そして、これら両ポインタを関連付けるデータが、ファイルサーバ内のファイル管理テーブルに記憶されるため、新たなポインタを指定することで、ファイル管理テーブル内の関連付けデータに基づいて元のポインタが参照され、当該元のポインタにて参照される物理データにアクセスすることができ、複製されたことと同様の効果を得ることができる。従って、ファイルの物理データ自体を実際に複製することなく、当該物理データのデータ容量よりも小さい容量のポインタと関連付けデータを生成することのみで、ファイル複製を実現でき、ディスク容量の削減を図ることができる、という従来にない優れた効果を有する。
【0080】
また、ポインタを介して参照している物理データの内容が更新や削除されるなど変更されると、変更前の物理データは一時的に保存され、変更直後や変更後に新たなポインタにアクセスがあったときに、元のポインタを介して参照する物理データの内容が変更された旨の情報が新たなポインタを用いているクライアントコンピュータに通知されて、かかる変更に従うか否かが問われる。そして、これに従わない場合には、新たなポインタが変更前の物理データを直接参照することとなるため、共有ファイルのデータが勝手に更新や削除されるなど変更されることが抑制され、データ紛失等を抑制することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態における構成を示すブロック図である。
【図2】第1の実施形態におけるデータの状態を示す説明図である。
【図3】第1の実施形態におけるシステムの動作を示すシーケンス図である。
【図4】図4(a)、(b)は、第2の実施形態におけるデータの状態を示す説明図であり、特に、共有データの内容を更新する場合の説明図である。
【図5】第2の実施形態におけるシステムの動作を示すフローチャートである。
【図6】図6(a)、(b)は、第2の実施形態におけるデータの状態を示す説明図であり、特に、共有データの内容を削除する場合の説明図である。
【図7】第2の実施形態におけるシステムの動作を示すフローチャートである。
【符号の説明】
1 クライアントコンピュータ
2 ネットワーク
3 サーバコンピュータ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data sharing system, and more particularly to a system in which a plurality of clients connected to a network share the same data. The present invention also relates to a data sharing method and a data sharing program.
[0002]
[Prior art]
In a server / client system in which a plurality of computers such as an in-house LAN are connected to a network, the server computer is often used as a file server. In such a case, a plurality of users can access a shared file at the same time. is there. As described above, when a plurality of users refer to the same file, the disk capacity used by the server computer is only one file, which is efficient.
[0003]
However, since the shared file in the server computer can be accessed by a plurality of users, there is a possibility that it will be changed or deleted. Therefore, each user may want to save the shared file separately. In such a case, a usage method is used in which a copy of the file is created in a file area managed by each user.
[0004]
Further, in the method of managing the shared file using the server computer, there is a disadvantage that the shared file is deleted as described above. Therefore, there is a network system including a plurality of client computers without the server computer. In such a case, a shared file reference information distributed and held in each computer is prepared, the shared file reference information is exchanged between the computers, and a file is shared thereby. . Such a technique is disclosed in Patent Document 1.
[0005]
[Patent Document 1]
JP 2002-244906 A
[0006]
[Problems to be solved by the invention]
However, the conventional example has the following disadvantages. First, storing the same file in a plurality of areas causes a problem that a lot of disk capacity is wasted.
[0007]
Further, when the server computer is not arranged, it is necessary for all the computers to store or distribute the shared file reference information, and there arises a problem that the disk capacity of each computer is used unnecessarily. There may also be network congestion.
[0008]
On the other hand, when managing with individual files, if the original file is changed, each file will not be changed, so the old file will be saved and the data will not be consistent. Also occurs.
[0009]
OBJECT OF THE INVENTION
The present invention improves the inconveniences of the above-described conventional example, and in particular, facilitates management of shared files by a plurality of computers and reduces the disk capacity of the computer storing the shared files. And a method and a data sharing program.
[0010]
[Means for Solving the Problems]
Therefore, the present invention includes a server computer connected to a plurality of client computers via a network, and the server computer stores physical data of files shared by the plurality of client computers in the server computer. A data sharing system that manages shared files by displaying pointers that refer to physical data on each computer, and is a replication target when a server computer receives a replication command for a predetermined file from a client computer A pointer generation function for generating a new pointer that points to a pointer of a predetermined file as a reference destination, and association data between the pointer of the predetermined file and the new pointer are recorded in a file management table formed in the server computer. And the management table storage function to, A pre-change data storage function that temporarily stores and holds data before the change of the physical data when a change occurs in the physical data of the predetermined file, and refers to the physical data after the change of the physical data A change notification function for notifying the client computer corresponding to the new pointer associated with the pointer that the physical data has changed and asking whether to comply with the change, and a physical notification from the client computer that received the notification A physical data migration function for associating a new pointer with direct reference to the data before the physical data change when receiving notification that the data change is not followed, and deleting the associated data related to the new pointer; It has the structure of having.
[0011]
With this configuration, when the same file is copied to different areas in the file server, a new pointer that further refers to a pointer indicating the physical data to be copied is generated. Data relating these two pointers is stored in a file management table in the file server. For this reason, when referring to a duplicated file later, by specifying a new pointer, the original pointer is referred to based on the association data in the file management table, and the physical that is referenced by the original pointer. You can access the data. Therefore, file replication can be realized and disk capacity can be reduced only by generating pointers and association data with a capacity smaller than the physical data capacity of the file without actually replicating the physical data of the file itself. Can do.
[0013]
The change notification function allows the client computer to change the physical data when the client computer accesses a new pointer associated with the pointer that refers to the physical data after the physical data has changed. It may be configured to have a function of notifying information indicating that it has occurred and asking whether to follow such a change.
[0014]
In the above configuration, the change of physical data may include a configuration in which the physical data is deleted.
[0015]
With such a configuration, first, when the contents of the physical data referred to via the pointer are changed, such as being updated or deleted, the physical data before the change is temporarily saved. Then, when a new pointer is accessed immediately after the change or after the change, information indicating that the contents of the physical data referred to is changed is notified to the client computer using the new pointer via the original pointer. Whether to follow such changes. On the other hand, if it follows, the changed physical data is referred to as it is, but if it does not follow, the new pointer directly refers to the physical data before the change. Therefore, it is possible to prevent the shared file data from being changed or deleted without permission, and to prevent data loss or the like.
[0016]
Further, in the present invention, a server computer connected to a plurality of client computers via a network is provided. Stores physical data stored on multiple client computers via pointers stored on server computers A file monitoring function for monitoring files, and when the same file is found among the monitored files, the association data is generated by associating other pointers with one specific pointer among the pointers of these same files. A management table storage function for storing association data in a file management table formed in the server computer; a physical data deletion function for deleting physical data of other files while leaving physical data referred to by a specific pointer; It has the structure of having.
[0017]
With this configuration, first, files stored in computers on the same network are periodically monitored by the server computer. When the same file is found, a pointer that refers to physical data of a specific file in the file is selected, and data that associates the pointer of another file with the specific pointer is generated and stored in the server computer. . At the same time, the physical data of files other than the specific file is deleted. Therefore, when referring to another file having the same content as the specific file from the client computer, the specific pointer is referenced from the association data by referring to the pointer of the other file, and the physical data of the specific file is You can refer to it. As a result, it is possible to suppress duplication of the same data in each computer while maintaining the data contents, and to reduce the disk capacity.
[0018]
Further, the server computer is connected to a plurality of client computers via a network and stores and manages files transmitted from the client computers. Stores physical data stored on the server computer via a pointer stored on the server computer A file monitoring function for monitoring files, and when the same file is found among the monitored files, the association data is generated by associating other pointers with one specific pointer among the pointers of these same files. A management table storage function for storing association data in a file management table formed in the server computer; a physical data deletion function for deleting physical data of other files while leaving physical data referred to by a specific pointer; It is also equipped with a configuration.
[0019]
With such a configuration, first, a file transmitted from a client computer and stored in the server computer is monitored by a server computer used as a storage service or the like. When the same file is found, a pointer that refers to physical data of a specific file in the file is selected, and data that associates the pointer of another file with the specific pointer is generated and stored in the server computer. . At the same time, the physical data of files other than the specific file is deleted. Therefore, when the client computer refers to the file stored in the server computer, the specific pointer is referred to from the association data by referring to the pointer of the other file, and the physical data of the specific file is referred to. The same data as the stored contents can be used. Thereby, it is possible to suppress duplication of the same data in the server computer while maintaining the data content, and to reduce the disk capacity.
[0020]
In the present invention, a server computer connected to a plurality of client computers via a network stores physical data of a file shared by the plurality of client computers in the server computer and refers to the physical data. A data sharing method for managing a shared file by displaying a pointer on each computer when the server computer receives a copy instruction for a predetermined file stored in the server computer from a client computer. In the server computer, a pointer generation step for generating another pointer that points to the pointer of the file to be copied as a reference destination and association data between the pointer of the predetermined file and the newly generated other pointer are stored in the server computer. A management table storing step for storing in the formed file management table, and a pointer to which the server computer reads association data from the file management table when a new pointer is accessed from the client computer and is associated with the new pointer A physical data reference step for referring to physical data via Before-change data storage step in which the server computer temporarily stores and holds the data before the change of the physical data when the change occurs in the physical data itself of the predetermined file at least after the management table storage step, and the server computer Whether or not to notify the client computer corresponding to the new pointer associated with the pointer that refers to the physical data after the change has occurred in the physical data and follow the change The change notification process that asks for this, and when the server computer receives a notification from the notified client computer that it does not follow the physical data change, the new pointer directly refers to the data before the physical data change. Physical data that associates and deletes the association data for the new pointer And the transition process A data sharing method is also provided.
[0022]
A server computer connected to a plurality of client computers via a network Stores physical data stored on multiple client computers via pointers stored on server computers A file monitoring process for monitoring a file, and when the server computer finds the same file among the monitored files, another pointer is associated with one specific pointer among the pointers of the same file, and the association data A management table storage step for storing the association data in a file management table formed in the server computer, and the server computer leaves the physical data referenced by a specific pointer to store the physical data of other files. There is also provided a data sharing method including a physical data deleting step of deleting.
[0023]
Further, a server computer connected to a plurality of client computers via a network and storing and managing files transmitted from the client computers is provided: Stores physical data stored on the server computer via a pointer stored on the server computer A file monitoring process for monitoring a file, and when the server computer finds the same file among the monitored files, another pointer is associated with one specific pointer among the pointers of the same file, and the association data A management table storage step for storing the association data in a file management table formed in the server computer, and the server computer leaves the physical data referenced by a specific pointer to store the physical data of other files. There is also provided a data sharing method including a physical data deleting step of deleting.
[0024]
In the present invention, physical data of a file shared by a plurality of client computers is stored, and a shared file is managed by displaying a pointer referring to the physical data on the client computer. When a server computer connected via a network receives a copy instruction for a predetermined file stored in the server computer from a client computer, another pointer that points to the pointer of the file to be copied as a reference destination A pointer generation function for generating, a management table storage function for storing association data between a pointer of a predetermined file and another pointer newly generated by the server computer in a file management table formed in the server computer, A physical data reference function to refer to the physical data via a pointer new pointer is associated with reading data associated from the file management table when over server computer an access to a new pointer from the client computer, When a change occurs in the physical data itself of a predetermined file in the server computer, the data storage function before change temporarily stores and holds the data before the change of the physical data, and the physical data after the change occurs in the physical data. A change notification function for notifying the client computer corresponding to the new pointer associated with the pointer that refers to the data that the physical data has changed and asking whether to comply with the change, and received the notification A physical data migration function for associating a new pointer with direct reference to the data before the physical data change when receiving a notification from the client computer that the physical data change is not followed, and deleting the associated data related to the new pointer When, A data sharing program is also provided to achieve this.
[0026]
In the present invention, a server computer connected to a plurality of client computers via a network, Physical data stored on the plurality of client computers is stored via pointers stored on the server computer A file monitoring function for monitoring files, and when the same file is found among the monitored files, the association data is generated by associating other pointers with one specific pointer among the pointers of these same files. A management table storage function for storing association data in a file management table formed in the server computer; a physical data deletion function for deleting physical data of other files while leaving physical data referred to by a specific pointer; A data sharing program is also provided to achieve this.
[0027]
Further, a server computer connected to a plurality of client computers via a network and storing and managing files transmitted from the client computers, Stores physical data stored on the server computer via a pointer stored on the server computer A file monitoring function for monitoring a file, and when the same file is found among the monitored files, association data is generated by associating another pointer with one specific pointer among the pointers of the same file. A management table storage function for storing association data in a file management table formed in the server computer; a physical data deletion function for deleting physical data of other files while leaving physical data referred to by a specific pointer; A data sharing program is also provided to achieve this.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
<First Embodiment>
A first embodiment of the present invention will be described below with reference to FIGS. FIG. 1 is a block diagram showing the configuration of the first embodiment of the present invention. FIG. 2 is a schematic diagram showing the state of data in the present embodiment. FIG. 3 is a sequence diagram showing the operation of the system.
[0029]
(overall structure)
As shown in FIG. 1, the data sharing system in this embodiment includes a server computer 3 in which a plurality of client computers 1 are connected via a network 2. A file shared by a plurality of client computers 1 is stored in the server computer 3, and the server computer 3 manages these shared files. This will be described in detail below.
[0030]
(Client computer)
The client computer 1 is a client-side computer that constructs a server / client system with the server computer 3 and has access authority to the server computer 3. The computer is a general computer and includes a calculation device such as a CPU having a predetermined information processing capability and a storage device such as a hard disk having a predetermined storage capacity, and is connected to the server computer 3 via the network 2. A communication device is also provided as possible.
[0031]
In this embodiment, the client computer 1 is a computer used by a user (client) in the same organization such as a company, and a file shared with other users is stored in the server computer 3 as will be described later. It comes to memorize. Therefore, it is possible to access the server computer 3 to generate a shared file, update the data content of an existing shared file, or delete it.
[0032]
(network)
In this embodiment, the network 2 is an intranet that operates only within a specific company, or a specific network that communicates using a protocol other than TCP / IP. However, the Internet may be a communication line such as a TCP / IP protocol using a dedicated line, a telephone line, a wired line such as a CATV cable, or a wireless line such as a mobile phone line.
[0033]
(Server computer)
The server computer 3 is accessible to the client computer 1 and manages the shared file so that the client computer 1 can use it. In the present embodiment, it is a file server in a specific in-house LAN. The configuration is a general server computer, which includes a calculation device such as a CPU having a predetermined information processing capability and a storage device such as a hard disk having a predetermined storage capacity, and can be connected to the network 2. A communication device is also provided.
[0034]
Here, functions of the server computer 3 will be described. The functions of the server computer 3 described below can be realized by incorporating such a function program into the CPU of the computer. That is, the data sharing program is stored in a storage device such as a hard disk of the server computer 3 and is read out by the CPU, whereby a functional block is constructed in the CPU. The program is stored in a portable medium such as a CD-ROM and may be provided to the server computer 3 or may be downloaded from another computer on the network and provided. The same applies to other embodiments described later.
[0035]
First, as a basic file server function, the server computer 3 stores physical data of a file shared by a plurality of client computers 1 in the server computer 3, and sets pointers that refer to the physical data for each of them. It has a function of managing shared files by displaying them on a computer. Details of this function will be described with reference to FIG.
[0036]
First, when a recording request for a file (A) is received from a predetermined client computer (A) 1a (see arrow A1), file display data F10 is displayed in the storage device 31 of the server 3 as data for displaying the file (A). Generated. At the same time as the file display data F10 is created, the data content of the file itself is stored in the disk 31 in association with the file display data as a physical image P10 (physical data). In FIG. 2 and the following text, the file display data F10 is simply represented as “file F10”, and the physical image P10 is represented as “image P10”. The same applies hereinafter.
[0037]
At this time, the file F10 serves as a pointer for referring to the physical image of the file.
[0038]
In this way, the client computer (A) 1a, the client computer (B) 1b, and the like can access the image P10 that is the data content via the file F10.
[0039]
The server computer 3 has a pointer generation function for generating a new pointer indicating a pointer of a predetermined file to be copied as a reference destination when receiving a copy instruction for the predetermined file from the client computer 1, and a predetermined file And a management table storage function for storing association data between a file pointer and a new pointer in a file management table formed in the server computer 3.
[0040]
These functions will also be described in detail with reference to FIG. Here, for example, the file F10 is accessed from a client computer (B) 1b different from the client computer (A) 1a that generated the above-described file F10, and the file F10 is stored in another area of the hard disk 31 (for example, a client Consider a case where data is stored in a computer (B) 1b that can be freely used.
[0041]
First, in the pointer generation function, when a file F10 is accessed by the client computer (B) 1b (see arrow A2) and a copy command for the file F10 is received, a new file F11 that refers to the file F10 is first created. Generate. That is, file display data F11 as a new pointer pointing to the file F10 is generated (see arrow A3).
[0042]
The management table storage function stores association data representing the relationship between the generated file F11 and the reference file F10 in a pointer repository R10 (file management table) provided in advance in the hard disk 31 (arrow). (See A4). At this time, the file F11, which is a new pointer, becomes the reference source, and the file F10 is represented as the reference destination.
[0043]
The server computer 3 also has a function of referring to the image P10 from the new file F11 along with the function of copying the file described above. Specifically, first, when the client computer (B) 1b accesses the copied file F11, it is checked with reference to the pointer repository R10 whether or not the file F11 is associated with another file. At this time, when association data related to the file F11 is found as shown in FIG. 2, it is read out to recognize that the file F11 refers to the file 10. Thereby, the image P10 can be referred to from the file F11 via the file F10.
[0044]
(Operation)
Next, the operation of the entire system in the present embodiment will be described with reference to the sequence diagram of FIG. First, the shared file is transmitted from the client computer (A) 1a to the server computer 3, and an instruction is given to store it in the server computer 3 (step S1). In response to this, the server computer 3 creates file display data F10 representing the transmitted shared file, creates a physical image P10 that is the data itself, and stores it in the hard disk 31 (step S2).
[0045]
Subsequently, there is an access to the file F10 from another client computer (B) 1b, and an instruction is given to copy the file F10 to the disk area on the server computer 3 handled by the client computer (B) 1b (step S3). Receiving this, the server computer 3 first creates only the file display data F11 as a new pointer referring to the file display data F10 that is the pointer of the file to be copied (step S4). Along with this, association data indicating that the file F11 refers to the file F10 is stored in the pointer repository R10 (step S5). Therefore, at this time, even if the file is copied, the physical image P10 is not copied to another area. As a result, file duplication is realized by generating pointers and association data having a smaller capacity than the data capacity of the physical data without actually copying the physical data of the file, thereby reducing the disk capacity. be able to.
[0046]
Access to the copied file F11 is performed as follows. When a request for browsing the file F11 is issued from the client computer (B) 1b to the server computer 3 (step S6), the server computer 3 first checks the pointer repository R10 to determine whether there is associated data that uses the file F11 as a reference source. Find out. If there is such association data, the data is read (step S7). Since the reference destination of the file F11 is known by referring to this, the file F10 is referred to from the file F11, and the physical image P10 indicated by the file F10 is accessed and read (step S8). After that, the server computer 3 transmits the read image P10 to the client computer (B) 1b to be displayed on the client computer (B) 1b (step S9), and the client computer (B) 1b receiving this browses the image P10. be able to.
[0047]
As described above, even if the physical image of the file is not actually copied on the disk, the same effect as that obtained by copying can be obtained, and the disk use capacity can be reduced as described above.
[0048]
<Second Embodiment>
Next, a second embodiment of the present invention will be described with reference to FIGS. Among these, FIGS. 4 to 5 are explanatory diagrams in the case of updating the contents of the shared data, and FIGS. 6 to 7 are explanatory diagrams in the case of deleting the shared data. 4 and 6 are explanatory diagrams showing the state of the file, and FIGS. 5 and 7 are flowcharts showing the operation of the system.
[0049]
(Constitution)
The data sharing system according to the present embodiment has substantially the same configuration as that shown in the first embodiment described above, and each client receives data when the content of the shared file is changed, such as updated or deleted. It has a configuration that can cope with changes in content.
[0050]
Specifically, the CPU of the server computer 3 includes a pre-change data storage function that temporarily stores and holds data before the change of the physical data when a change occurs in the physical data of a predetermined file, After the data has changed, the client computer corresponding to the new pointer associated with the pointer that refers to the physical data is notified of the information indicating that the physical data has changed, and asked whether or not to follow the change. The change notification function is associated with the new pointer so that the new pointer directly refers to the data before the change of the physical data when the notification notifying that the change of the physical data is not followed from the notified client computer. And a physical data migration function for deleting the association data. Each of these functions will be described more specifically with an example when data is updated or deleted.
[0051]
First, the storage status of data in the server computer 3 is as shown in FIG. That is, the file F10 (pointer) of the shared file that is the reference destination created by the client computer (A) 1a and the image P10 that is physical data thereof are stored, and this is copied by the client computer (B) 1b. The file F11 refers to the file F10 and refers to the image P10. Then, association data indicating that the file F11 refers to the file F10 is stored in the pointer repository R10. In this state, it is assumed that a command to update or delete the data itself image P10 of the file 10 that is a shared file is issued from the client computer (A).
[0052]
When an instruction to change or delete the image P10 is issued, the pre-change data storage function temporarily stores and holds the image P10 in a memory such as a RAM or register in the server computer 3 before changing or deleting the image P10. Then, after saving, the image P10 referred to by the file F10 is updated or deleted according to the instruction of the client computer (A) 1a.
[0053]
Then, the change notification function notifies the client computer (B) 1b that created the file F11 that the image P10 has been updated or deleted, and asks whether to follow this. At this time, the fact that the creator of the file F11 is the client computer (B) 1b is identified from the computer name, IP address, etc. by referring to the data stored in the header part of the file F11. Make a notification. However, the change notification function is not limited to performing notification immediately after a change is made. After the change, when the file F11 is accessed from the client computer (B) 1b, the fact may be notified to ask whether or not to follow the update or deletion. At this time, the image P10 before update and before deletion remains stored.
[0054]
When the physical data migration function receives notification from the client computer (B) that the image P10 is not changed or deleted, the physical data migration function sets the image P10 stored in the memory or the like as a reference destination of the file F11. . That is, the association data set so that the file F11 refers to the file F10 is deleted from the pointer repository R10. Thereby, if the file F11 is referred, the image P10 before a change can be browsed.
[0055]
Note that the server computer 3 stores information on whether or not the new pointer (file F11) as the reference source depends on the change of the physical data (image P10) of the pointer (file F10) as the reference destination. You may memorize | store in memory beforehand by the instruction | indication from the client (B) who produced the pointer. When the file change instruction is received, if the information is “not dependent”, the image P10 before the change may be associated with the pointer without notifying the client. In this way, by setting in advance regarding data that is difficult to change without permission, alteration of data can be suppressed.
[0056]
(Operation)
Next, the operation in this embodiment will be described. First, a case where data is updated will be described with reference to FIGS. FIG. 4A shows a case where the update is accepted, and FIG. 4B shows a case where the update is not accepted.
[0057]
First, as described above, as shown in the upper diagram of FIG. 4A, the file F11 refers to the image P10 that is the contents of the file F10 via the file F10. At this time, it is assumed that there is an instruction to update the file F10 from the client computer (A) 1a (step S101). Then, first, the image P10 before update is temporarily stored in the memory (step S102), and then an updated new image P11 is created (step S103). That is, as shown in the lower diagram of FIG. 4A, the physical data referred to by the file F10 is updated to the image P11.
[0058]
Subsequently, it is checked whether or not there is information indicating that the file F11 depends on the file F10 in the memory (step S104). The client computer (B) 1b that created the file F11 is notified and confirmed (step S105). At this time, if the setting is not to be notified (determination is negative in step S105), or if notification is received and update permission information is returned (determination is positive in step S106), association in the pointer repository R10 is performed. The data is not changed, and the file F11 remains in the state of referring to the file F10. That is, when referring to the file F11, the image P11 updated through the file F10 is referred to.
[0059]
On the other hand, when information indicating that the file F11 does not depend on the file F10 exists (No in step S104), or when the server computer 3 receives information indicating that updating is not permitted from the client computer (B). (No determination in step S106), the pre-update image P10 temporarily stored in the memory is read and set as a direct reference destination of the file F11 (step S107). The situation at this time is shown in the lower part of FIG. Then, the association data that the file F11 refers to the file F10 is deleted from the pointer repository R10 (step S108). Then, the file F10 refers to the updated image P11, and the file F11 refers to the image P10 before the update.
[0060]
Thereby, the client computer (B) can suppress that the data of the copied shared file is updated without permission.
[0061]
Next, a case where data is deleted will be described with reference to FIGS. FIG. 6A shows a case where the deletion is accepted, and FIG. 6B shows a case where the deletion is not accepted.
[0062]
First, as described above, as shown in the upper diagram of FIG. 6A, the file F11 refers to the image P10 that is the contents of the file F10 via the file F10. At this time, it is assumed that there is an instruction to delete the file F10 from the client computer (A) 1a (step S201). Then, first, the image P10 before update is temporarily stored in the memory (step S202), and then the image P10 directly referred to by the file F10 is deleted (step S203). That is, as shown in the lower diagrams of FIGS. 6A and 6B, the file F10 and the image P10 are deleted.
[0063]
Subsequently, it is checked whether or not there is information indicating that the file F11 depends on the file F10 in the memory (step S204). The client computer (B) 1b that created the file F11 is notified and confirmed (step S205). At this time, if the setting is not to be notified (determination is negative in step S205), or if notification of deletion permission is sent back (determination is positive in step S206), the pointer repository R10 contains As a matter of course, the file F11 is deleted because there is no data to be referred to. That is, the lower diagram of FIG.
[0064]
On the other hand, when information indicating that the file F11 does not depend on the file F10 exists (No in step S204), or when the server computer 3 receives information indicating that updating is not permitted from the client computer (B). (No determination in step S206), the pre-update image P10 temporarily stored in the memory is read and set as a direct reference destination of the file F11 (step S207). The state at this time is shown in the lower part of FIG. Since the file F11 has already been deleted, the association data that the file F11 refers to the file F10 is deleted from the pointer repository R10 (step S208). Then, the file F10 refers to the image P10 before deletion.
[0065]
As a result, the client computer (B) can prevent the duplicated shared file data from being deleted without permission.
[0066]
<Third Embodiment>
Next, a third embodiment of the present invention will be described. In the present embodiment, the shared file is duplicated by a technique almost similar to the technique in the first embodiment described above. However, the computer storing the shared file to be copied is different from the computer to which the shared file is copied.
[0067]
For example, in a server / client system connected to the network 2, a file stored in one client computer is copied to the other client computer. In such a case, an image that is physical data of a file and a pointer that refers to the image are stored in one client computer, and only a new pointer that refers to the pointer is created in the other client computer. . Data that associates the new pointer with the pointer of the copy source file is stored in the pointer repository of the server computer 3.
[0068]
By doing so, the disk capacity of each computer can be saved on the same network as described above.
[0069]
<Fourth Embodiment>
Next, a fourth embodiment of the present invention will be described. Even in the present embodiment, the system is configured by the server / client system in the same manner as described above, but there is no file shared by the client. That is, the same file is searched for among the files stored in each client computer, and these are managed as shared files by the method described in the other embodiments described above.
[0070]
For this reason, the server computer 3 in this embodiment is monitored with a file monitoring function for monitoring a file in which physical data is stored via a pointer to a plurality of client computers 1 connected via the network 2. A management table storage function for storing the associated data as a file management table in the server computer by associating each pointer of the file with the specific pointer when the same file is found, and a specific pointer A physical data deletion function for deleting physical data of other files while leaving physical data referred to. These functions will be described in detail.
[0071]
First, in the file monitoring function, the server computer 3 circulates the client computer 1 in the organization, for example, the client computer 1 connected by the in-house LAN, and examines data stored in these. At this time, for example, the header portion of the file is monitored, and the data type, capacity, creator, creation date, etc. are read and listed.
[0072]
Further, the management table storage function recognizes files having the same header part information as described above as the same file. When a plurality of identical files are found, one of these files is selected, and a pointer that refers to the physical data of the file is set as a specific pointer. The pointer also serves as a file display displayed on the client computer 1. Further, the pointer of another file having the same content as the identified file, that is, another pointer that refers to the physical data of the other file is associated with the specific pointer to generate the associated data. And stored in the pointer repository R10 in the server computer 3.
[0073]
Then, the physical data deletion function deletes the physical data of another file that is directly referred to by another pointer that refers to the specific pointer, while leaving the physical data directly referred to by the specific pointer.
[0074]
The management table storage function selects one of the same files as a specific file, but it may be selected in consideration of the performance of the client computer 1 storing the file and the free disk capacity. For example, one having a high CPU processing speed or one stored in a computer with a large free disk capacity is selected. Thereby, since the image which is the physical data of the same file is deleted from other computers, the disk capacity can be more effectively reduced.
[0075]
Then, when the client computer 1 that uses another file from which the physical data has been deleted accesses the file, the client computer 1 refers to the pointer repository R10 of the server computer 3 to refer to the specific pointer, and displays the image. You can refer to it.
[0076]
<Fifth Embodiment>
Next, a fifth embodiment of the present invention will be described. In this embodiment, the configuration is almost the same as that of the fourth embodiment, but the same file is used as shared data among the files transmitted from each client computer 1 to the server computer 3 and stored. is there. For example, when the server computer 3 provides a storage service, the client computer 1 transmits its music file, image file, video file, etc. to the server computer 3 and stores it in the server computer 3. It is to leave.
[0077]
To realize this, when the server computer 3 finds the same file among the monitored files and the file monitoring function for monitoring the file in which the physical data is stored in the server computer 3 via the pointer A management table storage function for associating each pointer of the file with a specific pointer of the file and storing the associated data as a file management table in the server computer, and leaving physical data referenced by the specific pointer. And a physical data deleting function for deleting physical data of the file. These functions can be realized by providing a data sharing program to a server computer and incorporating it into a CPU.
[0078]
As a result, even if the owners are different, it is only necessary to save one file for the same music file, etc., and the other files can be managed with pointers and associated data, thus saving disk space. Can do.
[0079]
【The invention's effect】
Since the present invention is configured and functions as described above, according to this, when copying the same file to a different area in the file server, the physical data to be copied is not replicated, and this is indicated. A new pointer that further refers to the pointer is generated, and the data for associating these pointers is stored in the file management table in the file server. Therefore, by specifying the new pointer, the association in the file management table is specified. The original pointer is referred to based on the data, the physical data referenced by the original pointer can be accessed, and the same effect as that obtained by copying can be obtained. Therefore, file replication can be realized and disk capacity can be reduced only by generating pointers and association data with a capacity smaller than the physical data capacity of the file without actually replicating the physical data of the file itself. It has an unprecedented excellent effect of being able to.
[0080]
In addition, when the contents of physical data referenced via a pointer are updated or deleted, the physical data before the change is temporarily saved, and a new pointer is accessed immediately after or after the change. When this happens, the client computer using the new pointer is notified of information indicating that the contents of the physical data to be referred to have been changed via the original pointer, and it is asked whether or not to comply with the change. If this is not followed, the new pointer will directly refer to the physical data before the change, so that the data in the shared file will not be changed or updated without permission. Loss etc. can be suppressed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration in a first embodiment of the present invention.
FIG. 2 is an explanatory diagram showing a data state in the first embodiment.
FIG. 3 is a sequence diagram showing an operation of the system in the first embodiment.
FIGS. 4A and 4B are explanatory diagrams showing the state of data in the second embodiment, in particular, an explanatory diagram when updating the contents of shared data.
FIG. 5 is a flowchart showing the operation of the system in the second embodiment.
FIGS. 6A and 6B are explanatory diagrams showing the state of data in the second embodiment, in particular, an explanatory diagram when deleting the contents of shared data.
FIG. 7 is a flowchart showing the operation of the system in the second embodiment.
[Explanation of symbols]
1 Client computer
2 network
3 Server computer

Claims (5)

複数のクライアントコンピュータにネットワークを介して接続されたサーバコンピュータを備え、
このサーバコンピュータが、前記複数のクライアントコンピュータにて共有されるファイルの物理データを当該サーバコンピュータ内に記憶すると共に、当該物理データを参照するポインタを前記各コンピュータに表示することにより共有ファイルの管理を行うデータ共有システムであって、
前記サーバコンピュータが、
前記クライアントコンピュータから当該サーバコンピュータ内に記憶された所定のファイルの複製指令を受けたときに当該複製対象であるファイルのポインタを参照先として指し示す他のポインタを生成するポインタ生成機能と、
前記複製対象であるファイルのポインタと前記他のポインタとの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶機能と、
前記複製対象であるファイルの物理データ自体に変更が生じたときに当該物理データの変更前のデータを一時的に記憶保持する変更前データ記憶機能と、
前記複製対象であるファイルの物理データに変更が生じた後に当該複製対象であるファイルのポインタに関連付けられている前記他のポインタに対応する前記クライアントコンピュータに前記物理データに変更が生じた旨の情報を通知してかかる変更に従うか否かを問う変更通知機能と、
通知を受けた前記クライアントコンピュータから前記物理データの変更に従わない旨の通知を受けた際に前記物理データの変更前のデータを前記他のポインタが直接参照するよう対応付けると共に当該他のポインタに関する関連付けデータを削除する物理データ移行機能と、を備えたことを特徴とするデータ共有システム。
A server computer connected to a plurality of client computers via a network;
The server computer stores physical data of files shared by the plurality of client computers in the server computer, and displays a pointer referring to the physical data on each computer to manage the shared files. A data sharing system to perform,
The server computer is
A pointer generation function for generating another pointer indicating a pointer of a file to be copied as a reference destination when receiving a copy instruction for a predetermined file stored in the server computer from the client computer;
A management table storage function for storing association data between the pointer of the file to be copied and the other pointer in a file management table formed in a server computer;
A pre-change data storage function for temporarily storing and holding data before the change of the physical data when a change occurs in the physical data of the file to be copied ;
Information indicating that the physical data has changed in the client computer corresponding to the other pointer associated with the pointer of the file to be copied after the physical data of the file to be copied has changed A change notification feature that asks if you want to
Association related to the other pointers along with the other pointer data before change of the physical data in from the client computer which has received the notification notified that do not follow the change of the physical data associated to refer directly A data sharing system comprising a physical data migration function for deleting data.
前記変更通知機能は、前記複製対象である物理データに変更が生じた後に当該複製対象であるファイルのポインタに関連付けられている前記他のポインタに前記クライアントコンピュータからアクセスがあったときに当該クライアントコンピュータに前記複製対象であるファイルの物理データに変更が生じた旨の情報を通知してかかる変更に従うか否かを問う機能を有する、ことを特徴とする請求項1記載のデータ共有システム。When the client computer accesses the other pointer associated with the pointer of the file that is the replication target after the physical data that is the replication target has changed, the change notification function 2. The data sharing system according to claim 1, further comprising a function of notifying information indicating that a change has occurred in physical data of the file to be copied and asking whether or not to follow the change. 前記物理データの変更は、当該物理データが削除されたことを含む、ことを特徴とする請求項2記載のデータ共有システム。  The data sharing system according to claim 2, wherein the change of the physical data includes deletion of the physical data. 複数のクライアントコンピュータにネットワークを介して接続されたサーバコンピュータが、前記複数のクライアントコンピュータにて共有されるファイルの物理データを当該サーバコンピュータ内に記憶すると共に、当該物理データを参照するポインタを前記各コンピュータに表示することにより共有ファイルの管理を行うデータ共有方法であって、
前記サーバコンピュータが,
前記クライアントコンピュータから当該サーバコンピュータ内に記憶された所定のファイルの複製指令を受けたときに当該複製対象であるファイルのポインタを参照先として指し示す他のポインタを生成するポインタ生成工程と、
前記サーバコンピュータが,前記複製対象であるファイルのポインタと前記他のポインタとの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶工程と、
前記サーバコンピュータが,前記クライアントコンピュータから前記他のポインタにアクセスがあったときに前記ファイル管理テーブルから関連付けデータを読み出して前記他のポインタが関連付けられている前記複製対象であるファイルのポインタを介して複製対象であるファイルの物理データを参照させる物理データ参照工程と、
少なくとも前記管理テーブル記憶工程の後に,前記サーバコンピュータが,前記複製対象である物理データ自体に変更が生じたときに当該物理データの変更前のデータを一時的に記憶保持する変更前データ記憶工程と、
前記サーバコンピュータが,前記複製対象である物理データに変更が生じた後に当該複製対象であるポインタに関連付けられている前記他のポインタに対応する前記クライアントコンピュータに前記複製対象であるファイルの物理データに変更が生じた旨の情報を通知してかかる変更に従うか否かを問う変更通知工程と、
前記サーバコンピュータが,通知を受けた前記クライアントコンピュータから前記物理データの変更に従わない旨の通知を受けた際に前記物理データの変更前のデータを前記他のポインタが直接参照するよう対応付けると共に当該他のポインタに関する関連付けデータを削除する物理データ移行工程と、を備えたことを特徴とするデータ共有方法。
A server computer connected to a plurality of client computers via a network stores physical data of a file shared by the plurality of client computers in the server computer, and pointers that refer to the physical data A data sharing method for managing shared files by displaying them on a computer,
The server computer is
A pointer generation step of generating another pointer indicating the pointer of the file to be copied as a reference destination when receiving a copy instruction of the predetermined file stored in the server computer from the client computer;
A management table storage step in which the server computer stores association data between the pointer of the file to be copied and the other pointer in a file management table formed in the server computer;
When the server computer accesses the other pointer from the client computer, the server computer reads association data from the file management table, and through the pointer of the file to be replicated to which the other pointer is associated. A physical data reference process for referring to the physical data of the file to be copied ;
A pre-change data storage step in which the server computer temporarily stores and holds the data before the change of the physical data when the change occurs in the physical data itself to be replicated , at least after the management table storage step; ,
The server computer, the physical data of the file which is the copy target to the client computer that corresponds to said other pointer associated with the pointer is the copying object after a change in the physical data is generated which is the replicated A change notification step for notifying information that a change has occurred and asking whether to comply with such change;
When the server computer receives a notification from the client computer that has received the notification that the change of the physical data is not followed, the server computer associates the data before the change of the physical data so that the other pointers directly refer to the data, and A data sharing method comprising: a physical data migration step of deleting association data relating to another pointer.
複数のクライアントコンピュータに共有されるファイルの物理データを記憶すると共に、当該物理データを参照するポインタを前記クライアントコンピュータに表示することにより共有ファイルの管理を行う、前記複数のクライアントコンピュータにネットワークを介して接続されたサーバコンピュータに、
前記クライアントコンピュータから当該サーバコンピュータ内に記憶された所定のファイルの複製指令を受けたときに当該複製対象であるファイルのポインタを参照先として指し示す他のポインタを生成するポインタ生成機能と、
前記複製対象であるファイルのポインタと前記他のポインタとの関連付けデータをサーバコンピュータ内に形成されたファイル管理テーブルに記憶する管理テーブル記憶機能と、
前記複製対象であるファイルの物理データ自体に変更が生じたときに当該物理データの変更前のデータを一時的に記憶保持する変更前データ記憶機能と、
前記複製対象であるファイルの物理データに変更が生じた後に当該複製対象であるファイルのポインタに関連付けられている前記他のポインタに対応する前記クライアントコンピュータに前記物理データに変更が生じた旨の情報を通知してかかる変更に従うか否かを問う変更通知機能と、
通知を受けた前記クライアントコンピュータから前記物理データの変更に従わない旨の通知を受けた際に前記物理データの変更前のデータを前記他のポインタが直接参照するよう対応付けると共に当該他のポインタに関する関連付けデータを削除する物理データ移行機能と、を実現させるためのデータ共有用プログラム。
Stores physical data of a file shared by a plurality of client computers, and manages a shared file by displaying a pointer referring to the physical data on the client computer, via the network to the plurality of client computers Connected server computer
A pointer generation function for generating another pointer indicating a pointer of a file to be copied as a reference destination when receiving a copy instruction for a predetermined file stored in the server computer from the client computer;
A management table storage function for storing association data between the pointer of the file to be copied and the other pointer in a file management table formed in a server computer;
A pre-change data storage function for temporarily storing and holding data before the change of the physical data when a change occurs in the physical data of the file to be copied ;
Information indicating that the physical data has changed in the client computer corresponding to the other pointer associated with the pointer of the file to be copied after the physical data of the file to be copied has changed A change notification feature that asks if you want to
Association related to the other pointers along with the other pointer data before change of the physical data in from the client computer which has received the notification notified that do not follow the change of the physical data associated to refer directly A data sharing program for realizing a physical data migration function for deleting data.
JP2003162175A 2003-06-06 2003-06-06 Data sharing system and method, and data sharing program Expired - Fee Related JP4241200B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003162175A JP4241200B2 (en) 2003-06-06 2003-06-06 Data sharing system and method, and data sharing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003162175A JP4241200B2 (en) 2003-06-06 2003-06-06 Data sharing system and method, and data sharing program

Publications (2)

Publication Number Publication Date
JP2004362418A JP2004362418A (en) 2004-12-24
JP4241200B2 true JP4241200B2 (en) 2009-03-18

Family

ID=34054398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003162175A Expired - Fee Related JP4241200B2 (en) 2003-06-06 2003-06-06 Data sharing system and method, and data sharing program

Country Status (1)

Country Link
JP (1) JP4241200B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4600665B2 (en) * 2005-03-24 2010-12-15 富士ゼロックス株式会社 Document management method and document management system
US7613735B2 (en) * 2006-06-13 2009-11-03 Alcatel-Lucent Usa Inc. Method and apparatus for managing multimedia content
JP4311462B2 (en) * 2007-03-07 2009-08-12 コニカミノルタビジネステクノロジーズ株式会社 Image processing apparatus, image processing method, and image processing program
JP5331323B2 (en) * 2007-09-26 2013-10-30 株式会社日立製作所 Storage subsystem and control method thereof
JP4670968B2 (en) 2009-01-22 2011-04-13 富士ゼロックス株式会社 Information management program and information management system
JP5365251B2 (en) * 2009-02-24 2013-12-11 富士通株式会社 File storage system
CN104750739A (en) * 2013-12-27 2015-07-01 珠海金山办公软件有限公司 Method and device for document sharing between user groups
KR102569734B1 (en) * 2016-10-05 2023-08-25 삼성전자주식회사 Electronic apparatus and the control method thereof
JP6531772B2 (en) * 2017-03-30 2019-06-19 京セラドキュメントソリューションズ株式会社 INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING APPARATUS

Also Published As

Publication number Publication date
JP2004362418A (en) 2004-12-24

Similar Documents

Publication Publication Date Title
JP4035872B2 (en) File format conversion method, file system, information system and electronic commerce system using the same
US9836479B2 (en) Local storage linked to networked storage system
JP5400889B2 (en) File server apparatus, storage system management method, and program
JP5628799B2 (en) Personal information file management tool
JP2008003847A (en) Document use management system, document management server, and its program
JP2008003846A (en) Document use management system and method, document management server and program therefor
JPH11120048A (en) Device and method for data caching of clinet-server decentralized system and medium where data caching program is recorded
JP4509536B2 (en) Information processing apparatus, information management method, program, and recording medium for supporting information management
JP2014056319A (en) Information processor, program, and control method
US20090234902A1 (en) System, method and apparatus for making content available over multiple devices
JP4241200B2 (en) Data sharing system and method, and data sharing program
JP2013235496A (en) Cloud storage server
JP2007310481A (en) Document management method, its program, recording medium, document sharing server, and document sharing system
JP2004220259A (en) Attached file management system, program, information storage medium, and attached file management method
JP2007293619A (en) Server device, information sharing system, program, and recording medium
JP2009237979A (en) Information processing device and method, and program
US20030105780A1 (en) File system, control method, and program
JP4247975B2 (en) Data management method, data management system, program therefor, and recording medium
JP2009075923A (en) File system, data processor, file reference method, program, and storage medium
JP4374093B2 (en) Information processing apparatus, information processing method, and computer-readable recording medium recording a program for causing a computer to execute the method
JP4622300B2 (en) Information sharing system and information sharing program
WO2008010473A1 (en) Distributed file managing system
JP4329319B2 (en) File management system and file management method
JP7413887B2 (en) File management device and file management program
JP2008250864A (en) Data storing method, data storing system and information processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080509

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080708

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080908

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081104

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: 20081209

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: 20081222

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees