JP2007299063A - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP2007299063A
JP2007299063A JP2006124331A JP2006124331A JP2007299063A JP 2007299063 A JP2007299063 A JP 2007299063A JP 2006124331 A JP2006124331 A JP 2006124331A JP 2006124331 A JP2006124331 A JP 2006124331A JP 2007299063 A JP2007299063 A JP 2007299063A
Authority
JP
Japan
Prior art keywords
folder
file
information processing
data
processing apparatus
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
JP2006124331A
Other languages
English (en)
Other versions
JP4912026B2 (ja
JP2007299063A5 (ja
Inventor
Shiro Ito
史朗 伊藤
Atsushi Inose
敦 猪瀬
Hiroyuki Nagai
宏之 長井
Tomoyuki Shimizu
智之 清水
Hajime Futaki
一 二木
Shusuke Ishiwatari
秀典 石渡
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006124331A priority Critical patent/JP4912026B2/ja
Priority to US11/785,772 priority patent/US20070255760A1/en
Publication of JP2007299063A publication Critical patent/JP2007299063A/ja
Publication of JP2007299063A5 publication Critical patent/JP2007299063A5/ja
Priority to US12/700,657 priority patent/US8417742B2/en
Application granted granted Critical
Publication of JP4912026B2 publication Critical patent/JP4912026B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 複数の装置において同一の体系でデータを管理すると共に、競合回避のためのロックを少なくするための技術を提供すること。
【解決手段】 フォルダ関係保持部305は、階層的に配置されたファイル及び/又はフォルダにおいて、親と子のみの関係を管理する。フォルダ関係保持部305が管理しているファイル及び/又はフォルダのうち操作対象をロックした状態で操作する。そして、操作結果を、フォルダ関係保持部305が管理している情報と同じものを管理している装置に反映させるべく、指示されたタイミングでもってこの装置に通知する。
【選択図】 図3

Description

本発明は、ファイル及び/又はフォルダの管理技術に関するものである。
近年、ネットワークで接続される複数の装置が連携して、仮想的に単一の体系でデータを管理する分散データ管理システムが実現されている。
例えば、各装置のローカルファイルシステムとは別に、全装置を統合した体系である仮想分散ファイルシステムを提供することが行なわれている(特許文献1を参照)。この種のシステムでは、ローカルファイルシステム上で実際にデータを保存するパスと、仮想分散ファイルシステム上でのパスとの対応データを持つ。クライアントからは、仮想分散ファイルシステム上でのパスを用いてアクセスするので、ローカルファイルシステムを隠蔽し、複数台の装置を単一化した仮想分散ファイルシステムを提供している。
ここで、仮想的な単一体系は、ローカルファイルシステムで用いられるのと同じフォルダのツリー構造である。体系としては、まずルートフォルダがある。ルートフォルダの下に、サブフォルダとコンテンツを保存する。サブフォルダについても、同様にそのサブフォルダとコンテンツを保存する。このようにして、全体としてツリー構造でフォルダ群が構成され、コンテンツはいずれか一つのフォルダに保存される。なお、サブフォルダやコンテンツを保存しているフォルダを親フォルダと呼ぶ。
仮想分散ファイルシステムは複数の装置から操作可能なため、競合が発生するような操作を複数の装置で並行して実行されることがある。操作後に実行結果を他の装置に共有する際に、競合する操作であった場合には、競合を解消する必要が生じる。これは複雑な処理になるため、フォルダやコンテンツをロックすることで、競合が生じるような操作を並行して実行できないようにする方法が取られることが多い。例えば、あるフォルダ以下を削除する操作を行なう場合には、操作する装置でこのフォルダ以下の全フォルダとコンテンツをロックする。それらが全てロックできた後に、各フォルダとコンテンツを削除する。ロックされているフォルダやコンテンツは、他の装置では変更できないので、競合する操作が行なわれることはない。
特開2001−051890号公報
しかしながら、従来の分散データ管理システムでは、フォルダやコンテンツが、ツリー構造上のいずれかの位置で保存されなければならないため、ツリー構造が変わるような変更操作を行なう際には、ロックしなければならないフォルダが増えるという問題があった。そのため、他の装置で既にロックされていて変更処理ができないフォルダが増え、並行して実行できる操作が限られることになっていた。特に、装置がネットワークから切り離されオフライン状態で利用される場合には、ロックしている期間が長期に渡るため、この問題がより顕著になる。
例えば、ある装置で特定のフォルダを削除する可能性がある場合、このフォルダ以下をロックしておく。この場合、この装置とオフラインになっている別の装置では、このフォルダ以下の任意のフォルダやコンテンツを変更できなくなる。
本発明は以上の問題に鑑みてなされたものであり、複数の装置において同一の体系でデータを管理すると共に、競合回避のためのロックを少なくするための技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
即ち、情報処理装置であって、
前記情報処理装置内のそれぞれのファイル若しくはフォルダのメタデータを、ネットワークで構成された複数の情報処理装置と共有可能に管理する管理手段と、
前記情報処理装置内の第1のフォルダと第2のフォルダとの関係を親子階層として登録する登録手段と、
オフラインで操作した前記ファイルまたはフォルダの操作結果を指示されたタイミングで前記複数の情報処理装置に反映させる反映手段とを備え、
前記反映を行うにあたり、前記登録手段により前記第2のフォルダと関係付けられていた親階層の前記第1のフォルダがオフライン中に削除されていた場合には、第2のフォルダに親フォルダを持たせない登録を行うことを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
即ち、情報処理装置が行う情報処理方法であって、
前記情報処理装置内のそれぞれのファイル若しくはフォルダのメタデータを、ネットワークで構成された複数の情報処理装置と共有可能に管理する管理工程と、
前記情報処理装置内の第1のフォルダと第2のフォルダとの関係を親子階層として登録する登録工程と、
オフラインで操作した前記ファイルまたはフォルダの操作結果を指示されたタイミングで前記複数の情報処理装置に反映させる反映工程とを備え、
前記反映を行うにあたり、前記登録工程で前記第2のフォルダと関係付けられていた親階層の前記第1のフォルダがオフライン中に削除されていた場合には、第2のフォルダに親フォルダを持たせない登録を行うことを特徴とする。
本発明の構成によれば、各装置において同一のフォルダ体系でデータを管理できると共に、競合処理を防ぐために必要なロックを減らし、並行して実行可能な操作を増やすことができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は、本実施形態に係るシステム(分散データ管理システム)の基本的な構成を示すブロック図である。
同図において101,111はそれぞれシステムを構成するコンピュータであり、同図に示す如く、それぞれのコンピュータは同じ機能構成を有するものであり、互いにネットワーク121を介してデータ通信が可能な構成を有する。
以下では、コンピュータ101の機能構成について説明するが、アプリケーション105とアプリケーション115,分散データ管理モジュール104と分散データ管理モジュール114、RDBMS(リレーショナルデータベースマネージメントシステム)103とRDBMS113、ファイルシステム102とファイルシステム112、は同じ機能を有するものであるので、以下の説明はそのままコンピュータ111について同様に適用することができる。
ファイルシステム102は、パスを用いてファイルの作成、変更、取得、削除を管理する。こうしたファイルシステムは、コンピュータ装置では一般的に利用されるものであるので、如何なるファイルの管理形態を用いても良い。例えば、FAT、NTFS(Windows(登録商標))、UFS(Unix(登録商標))等を用いることができる。
RDBMS103は、リレーショナルモデルに従って、表形式のデータの登録、変更、取得、削除を管理する。RDBMSの形態は問わない。また、RDBMSについても、コンピュータ装置では一般的に利用されるものであるので、これに関する説明は省略する。
分散データ管理モジュール104は、本実施形態における主要部分であり、その具体的な動作などについては後述する。
アプリケーション105は、分散データ管理モジュール104を用いてデータの管理を行うものであれば良く、アプリケーション105の種別については特に限定するものではない。アプリケーション105がデータの登録や取得を行う場合には、このアプリケーション105を実行しているコンピュータ(この場合コンピュータ101)で動作する分散データ管理モジュール(この場合分散データ管理モジュール104)を利用する。
以下では、ファイルシステム102、RDBMS103、分散データ管理モジュール104、アプリケーション105のそれぞれはソフトウェアの形態でもって実装するが、部分的にハードウェアを用いて構築しても良い。
また以下の説明は、各ソフトウェアの機能が同等であれば、異なるソフトウェア構成が適用可能である点を妨げるものではない。特に、アプリケーションは、コンピュータごとに異なる場合が多い。
また、以下の説明では、分散データ管理モジュール104と分散データ管理モジュール114とが通信を行うことで提携し、分散データ管理システムを構成する。
また、以下の説明では、2台のコンピュータ101、111(即ち、2つの分散データ管理モジュール104,114)で分散データ管理システムを構成する場合について説明するが、3台以上のコンピュータをネットワーク121を介して接続することで分散データ管理システムを構成しても良く、その場合においても、以下の説明におけるコンピュータの動作を個々のコンピュータに適用すればよい。
図2は、上記コンピュータ101、111に適用可能な(換言すると分散データ管理システムを構成するコンピュータに適用可能な)コンピュータのハードウェア構成を示すブロック図である。
201はCPUで、RAM203やROM202に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、本コンピュータを適用した装置(コンピュータ101、111)が行う後述の各処理を実行する。
202はROMで、本コンピュータの設定データやブートプログラムなどを格納する。
203はRAMで、ハードディスクドライブ204からロードされたプログラムやデータ、ネットワークインターフェース206を介して外部から受信したプログラムやデータを一時的に記憶する為のエリアを有する。また、CPU201が各処理を実行する際に用いるワークエリアも有する。即ち、RAM203は各種のエリアを適宜提供することができる。
204はハードディスクドライブで、OS(オペレーティングシステム)や、本コンピュータを適用した装置(コンピュータ101、111)が行う後述の各処理をCPU201に実行させるためのプログラムやデータが保存されている。具体的には、本コンピュータをコンピュータ101に適用した場合、ファイルシステム102やアプリケーション105、分散データ管理モジュール104、RDBMS103に相当するソフトウェアプログラムや、分散データ管理モジュール104、ファイルシステム102、RDBMS103が管理する後述の各種のデータ、が保存されている。
205は入出力インターフェースであり、キーボード207やマウス208、表示部209をバス210に接続すると共に、これらの制御を行うためのインターフェースとして機能するものである。キーボード207やマウス208は、本コンピュータの操作者が操作することで、各種の指示をCPU201に入力することができるものであり、同様の目的を達成できるものであればその他の機器を用いても良い。
表示部209は、CRTや液晶画面などにより構成されており、CPU201による処理結果を画像や文字などでもって表示することができる。
206はネットワークインターフェースで、本コンピュータをネットワーク121に接続し、このネットワーク121を介して外部とのデータ通信を行うためのインターフェースとして機能する。例えば、本コンピュータをコンピュータ101に適用した場合、ネットワークインターフェース206は、ネットワーク121を介してコンピュータ111とのデータ通信を行うために使用される。
210は上述の各部を繋ぐバスである。
なお、以下の説明では、図1に示した各モジュール(アプリケーション105、115、分散データ管理モジュール104、114、RDBMS103、113、ファイルシステム102、112)を、動作を行う主体として説明する。しかし、実際には各モジュールに対応するプログラムをCPU201が実行することで、対応するモジュールが行うとして説明する各処理が実行される。また、「保持部」として動作するモジュールは、RAM203やハードディスクドライブ204に相当するものである。
また、以下説明する処理の過程でデータを一時的に記憶する場合、特に触れない限りはRAM203に格納するし、保存する場合にはハードディスクドライブ204に対して行うものとする。また、データの読み出しについては、特に触れない限りは、ハードディスクドライブ204から読み出すものとする。
図3は、分散データ管理モジュール104の機能構成を示すブロック図である。分散データ管理モジュール104と分散データ管理モジュール114とは上述の通り、異なるコンピュータにインストールはされているものの、基本的には同じものであるので、同図を用いた説明は、分散データ管理モジュール114についても同様に適用される。
同図において301はデータ識別子生成部で、本実施形態に係るシステム内に存在する各フォルダやファイルに対して固有の情報(データ識別子)を生成し、割り当てる。
ここで、例えば、コンピュータ101を初めてネットワーク121に接続する際、先ずコンピュータ101は、自身をネットワーク121に登録する処理を行うのであるが、その際、このコンピュータ101が有する分散データ管理モジュール104に対して、モジュールIDが割り当てられる。モジュールIDは、本実施形態に係るシステム内で固有のIDであり、固定長のデータである。
従って、データ識別子生成部301は、データ識別子を割り当てる対象(フォルダ若しくはファイル)が生成された順番を示す通番情報と、このモジュールIDとを組み合わせて、この対象に割り当てるデータ識別子を生成する。ここで、通番情報が示す番号についても固定長とするので、データ識別子もまた固定長のデータとなる。
例えば、分散データ管理モジュール104のモジュールIDが001であり、コンピュータ101内で203番目に生成されたフォルダ(若しくはファイル)についてデータ識別子を生成する場合、通番情報が示す番号を5桁の固定長とすれば、データ識別子は、00100203となる。
なお、データ識別子生成部301によるデータ識別子の生成方法については上記方法に限定するものではなく、様々な変形例が考えられる。例えば、コンピュータのネットワークアドレスや、データ識別子を生成しようとする日時を用いてデータ識別子を生成しても良いし、同一時刻内での通番を組み合わせて生成するようにしても良い。
図3に戻って、302は本体データ保持部で、様々なコンテンツのファイルを、ファイルシステム102を利用して保持する。コンテンツとしては、例えば、JPEGデータやMPEGデータがある。本体データ保持部302はファイルを管理する場合、このファイルについてデータ識別子生成部301が生成したデータ識別子を用いて管理している。即ち、ファイルシステム102の既定フォルダ(例えば、/data)の下に、データ識別子をファイル名としたファイルとして保持する。例えば、データ識別子が00100203であるファイルは、ファイルシステム102上の/data/00100203として保存する。一方、本体データ保持部302が管理しているファイルを取得する場合には、このファイルのファイル名(即ち、このファイルのデータ識別子)を用いて、ファイルシステム102から読み出す。
なお、フォルダ下のファイルが増大するのを防ぐため、データ識別子を分割し、分割された識別子をフォルダ名としてサブフォルダを作成し、分割された残りの識別子をファイル名としてファイルを作成してもよい。上記の例で、識別子を4文字ずつ2分割すると、/data/0010/0203というファイルで保存される。あるいは、ファイルシステム102上の1ファイルに、複数のファイルデータを合わせて保持してもよい。この場合、ファイル上で各ファイルデータの位置を示すデータを別途保持する。
例えば、データ識別子が00100031(サイズ14000バイト)と00100032(サイズ16000バイト)である二つのデータを1ファイルにまとめる例を示す。以下の二つのファイルのそれぞれの内容は次のようになる。
・複数の実体を持つファイル(ファイル名 /data/0010)
1バイトから14000バイト データ識別子00100031の実体データ
14001バイトから14336バイト パディング(全データが0x00)
14337バイトから30336バイト データ識別子00100032の実体データ
30337バイトから30720バイト パディング(全データが0x00)
・位置データを保持するファイル(ファイル名 /index/0010)
識別子=00100031 始点=1 長さ=14000
識別子=00100032 始点=14337 長さ=16000
データを追加する時は、データ識別子の前半4文字に対応する実体ファイルに実体を追加し、位置データファイルに位置情報を追加する。
何れにしても、ファイルシステム102を利用して、データ識別子からファイルを保存、取得する方法については特に限定するものではない。
303は本体配置データ保持部で、各ファイルがどの分散データ管理モジュールによって管理されている(どのコンピュータ内に保持されている)のかを示すテーブル情報を保持している。このテーブル情報は、RDBMS103を利用して保持、検索される。図6は、本体配置データ保持部303が保持するテーブル情報の構成例を示すブロック図である。
同図において領域601には、管理されているそれぞれのファイルのデータ識別子が登録されている。また、領域602には、対応するファイルを管理している分散データ管理モジュールのモジュールIDが登録されている。例えば、データ識別子が「00100238」であるファイルは、モジュールIDが「001」である分散データ管理モジュール104によって管理されている。なお、同図のテーブル情報に、データ識別子と、このデータ識別子を有するファイルを管理している分散データ管理モジュールのモジュールIDと、を登録する場合には、RDBMS103を用いて行う。このようにして、データ識別子とモジュールIDとを対応付けて管理することで、データ識別子を領域601に対するキーとして検索すれば、このデータ識別子を有するファイルを管理している分散データ管理モジュールのモジュールIDを検索することができる。
図3に戻って、304はメタデータ保持部で、分散データ管理モジュール104が管理するフォルダ若しくはファイルのメタデータを保持する。メタデータとしては、例えば、ファイル名(フォルダ名)や作成日時等がある。また、ファイルが画像データである場合、このファイルのメタデータには、この画像データのサムネイルが含まれる場合もある。このようなメタデータは、RDBMS103を利用して保持、検索される。図7は、メタデータ保持部304が保持するメタデータの構成例を示す図である。同図では、メタデータとして、ファイル名(フォルダ名)とその作成日時とを用いた場合について示している。
同図において、領域701には、管理されているそれぞれのファイル若しくはフォルダのデータ識別子が登録されている。領域702には、対応するデータ識別子がフォルダのものであるのか、若しくはファイルのものであるのかを示している。同図では、「F」はフォルダを示しており、「C」はファイルを示している。従って、例えば、データ識別子が「00100185」であるものはファイルであり、データ識別子が「00100203」であるものはファイルである、ということが、同図のテーブルを参照すれば分かる。
領域703には、対応するファイル若しくはフォルダの名称(ファイル名若しくはフォルダ名)が登録されている。領域704には、対応するファイル若しくはフォルダの作成日時が登録されている。
このようにして、データ識別子とメタデータとを関連付けて(セットにして)管理することで、データ識別子を領域701に対するキーとして検索すれば、このデータ識別子を有するファイル若しくはフォルダのメタデータを検索することができる。
なお、メタデータに含まれる情報の種類については特に限定するものではない。また、メタデータに含まれる情報の種類については、フォルダとファイルとで異ならせるようにしても良い。この場合、フォルダのメタデータとファイルのメタデータとは、異なるテーブルに登録する。
図3に戻って、305はフォルダ関係保持部で、管理しているそれぞれのファイルやフォルダの間の関係を示す関係情報(フォルダ関係データ)を保持する。フォルダ関係データとは、ファイルとこのファイルが保持されているフォルダとの関係、フォルダとサブフォルダとの関係を示すものである。例えば、ファイルがフォルダに保持されているということは、このフォルダを親、このファイルを子とすることに等価である。また例えば、サブフォルダがあるフォルダに保持されているということは、このフォルダを親、このサブフォルダを子とすることに等価である。フォルダ関係データは、RDBMS103を利用して保持、検索する。図8は、フォルダ関係データの構成例を示すブロック図である。
同図において、領域801には、親としてのフォルダのデータ識別子が登録されている。領域802には、子としてのサブフォルダ若しくはファイルのデータ識別子が登録されている。従って、例えば同図の場合、データ識別子「00100203」を有するファイル若しくはフォルダの親は、データ識別子「00100185」を有するフォルダであることが分かるし、データ識別子「00100238」を有するファイル若しくはフォルダの親は、データ識別子「00100185」を有するフォルダであることが分かる。即ち、これらのことから、データ識別子「00100185」を有するフォルダ内には、データ識別子「00100203」を有するファイル若しくはフォルダと、データ識別子「00100238」を有するファイル若しくはフォルダとが子として格納されていることがわかる。
このように、各フォルダやファイルは、それらが階層的に配置されたものであったとしても、親とその子のみの関係を管理している。
従って、あるフォルダ(キーフォルダ)に属するファイル若しくはフォルダ(ファイル若しくはフォルダをまとめて「要素」と呼称する)を取得する場合は、領域801に対してキーフォルダのデータ識別子をキーとした検索処理を行う。この検索により、キーフォルダのデータ識別子に対応する子のデータ識別子が領域802から検索されるので、後はこの検索した子のデータ識別子に対応するフォルダ若しくはファイルを取得すればよい。また、ある要素の親フォルダを取得する場合は、領域802に対してこの要素のデータ識別子をキーとした検索処理を行う。この検索により、この要素の親フォルダのデータ識別子が領域801から検索されるので、後はこの検索したデータ識別子に対応するフォルダ(親フォルダ)を取得すればよい。
図3に戻って、306は通信部で、ネットワークインタフェース206を利用して、他のコンピュータが有する分散データ管理モジュールとのデータ通信を行う。
307は共有処理部で、本体配置データ保持部303、メタデータ保持部304、フォルダ関係保持部305に保持されている各データ(共有データ)を、他のコンピュータが有する分散データ管理モジュールと共有するための処理を行う。
それぞれのコンピュータにおける分散データ管理モジュールは、同じ構成でもって同じ共有データを保持している。即ち、それぞれのコンピュータで、同じ共有データを共有している。従って、あるコンピュータ(変更元)の分散データ管理モジュールが管理する共有データについて追加や削除、変更が行われた場合、即ち、変更元の分散データ管理モジュールが管理する共有データが、その他のコンピュータの分散データ管理モジュールが管理する共有データと異なった場合、変更元における共有処理部307は、その変更が起こった旨をその他のコンピュータに通知する。これにより、その他のコンピュータの分散データ管理モジュールが管理する共有データにも、この変更が反映されることになる。通知を受けたコンピュータにおける共有処理部307は、この変更を自身が管理する共有データに反映させる。これにより、全てのコンピュータは同じ共有データを管理することになる。
例えば、モジュールIDが001であるコンピュータで、データ識別子が00100203である共有データ(ファイル、コンテンツと同じ)が削除されれば、モジュールIDが001以外のコンピュータのメタデータ保持部・フォルダ関係保持部・本体配置データ保持部の情報もデータ識別子が00100203の共有データが削除されたことが反映される。
なお、あるコンピュータがオフラインである場合には、このコンピュータがオンラインになった時点で自身が管理する共有データについて上記反映を行えばよい。
308は、コンテンツ登録部で、アプリケーション105からの要求に従って、ファイル(コンテンツ)の追加、変更、削除の何れかを行う。
ファイルを追加する場合には(ファイルの追加がキーボード207やマウス208によって指示された場合には)、アプリケーション105は、ファイル自体のデータとこのファイルのメタデータとをコンテンツ登録部308に与える。一部のメタデータは、この時に生成したり、ファイルを解析することで生成したりしても良い。アプリケーション105からファイル追加要求を受けるとコンテンツ登録部308は、データ識別子生成部301を利用して、追加するファイルのデータ識別子を生成する。
既存のファイルを変更する場合には(ファイルの変更がキーボード207やマウス208によって指示された場合には)、アプリケーション105は、変更対象のファイルのデータ識別子と共に、変更したファイル若しくはメタデータをコンテンツ登録部308に与える。
既存のファイルを削除する場合には(ファイルの削除がキーボード207やマウス208によって指示された場合には)、アプリケーション105は、削除対象のファイルのデータ識別子をコンテンツ登録部308に与える。
以上説明したように、コンテンツ登録部308は、上記各要求に従って、本体データ保持部302、本体配置データ保持部303、メタデータ保持部304が保持するデータの追加、変更、削除を行う。コンテンツ登録部308が行う処理の詳細については図10を用いて後述する。
309はフォルダ登録部で、アプリケーション105から要求に従って、フォルダの追加、変更、削除の何れかを行う。
フォルダを追加する場合には(フォルダの追加がキーボード207やマウス208によって指示された場合には)、アプリケーション105は、フォルダのメタデータをフォルダ登録部309に与える。一部のメタデータは、この時に生成したり、フォルダを解析することで生成したりしても良い。アプリケーション105からフォルダ追加要求を受けるとフォルダ登録部309は、データ識別子生成部301を利用して、追加するフォルダのデータ識別子を生成する。
既存のフォルダを変更する場合には(フォルダの変更がキーボード207やマウス208によって指示された場合には)、アプリケーション105は、変更対象のフォルダのメタデータをフォルダ登録部309に与える。
既存のフォルダを削除する場合には(フォルダの削除がキーボード207やマウス208によって指示された場合には)、アプリケーション105は、削除対象のフォルダのデータ識別子をフォルダ登録部309に与える。
以上説明したように、フォルダ登録部309は、上記各要求に従って、メタデータ保持部304が保持するフォルダの追加、変更、削除を行なう。フォルダ登録部309が行う処理については後述する。
なお、フォルダ登録部309が行う処理は、フォルダ自体の追加、変更、削除であって、フォルダへのサブフォルダ登録やファイル登録ではない。これらは、次に説明するフォルダ関係の処理となる。
310はフォルダ関係登録部で、アプリケーション105からの要求に従って、フォルダ関係の追加、削除登録を行う。フォルダにファイルやサブフォルダを所属させる場合は、フォルダ関係の追加登録となる。また、フォルダに所属しているファイルやサブフォルダを所属させなくする場合は、フォルダ関係の削除登録となる。
フォルダ関係の登録処理は、所属させようとする親のフォルダのデータ識別子と、この親フォルダに所属させようとする要素(親フォルダに属するファイル若しくはサブフォルダ)のデータ識別子との組で構成されるレコードを、フォルダ関係保持部305に追加することで実現される。
一方、フォルダ関係の削除処理は、削除しようとする要素のデータ識別子と、この要素が属していた親フォルダのデータ識別子との組で構成されるレコードを、フォルダ関係保持部305から削除することで実現される。
このフォルダ関係登録処理を、上記ファイル登録処理やフォルダ登録処理から独立させたことで、ファイルやフォルダは必ずしも親フォルダを持たない。なお、本実施形態では、フォルダについては高々一つの親フォルダしか持つことができない。ファイルについては、複数の親フォルダを持つことができる。ただし、フォルダが複数の親フォルダを持てるようにしたり、ファイルが高々一つの親フォルダしか持てないようにしたりする形態でも構わない。
311は検索部で、アプリケーション105からの要求に従って、メタデータ保持部304に保持されているメタデータを利用して、ファイル若しくはフォルダを検索する処理を行う。この検索処理は、RDBMS103の検索機能を用いて、メタデータ保持部304に保持されている図7のテーブルを構成する各領域に対する検索を行い、条件に合致するレコードを取得することで実現される。そして、取得されたレコードの領域701の値であるデータ識別子を検索結果リストとして返信する。例えば、名称に特定文字列を含むデータのデータ識別子を取得したり、作成日時が指定範囲にあるデータのデータ識別子を取得したりできる。また、複数の領域に対する条件の論理的組合せで検索を行なうこともできる。
例えば、前述の検索において、検索対象をファイルに絞り込んだり、フォルダに絞り込んだりすることも可能である。データ識別子のリストで検索結果を返信するだけでなく、メタデータの特定領域の組を要素とする結果リストで返信してもよい。また、結果リストを構成する際には、特定領域をキーとしてソートした順序で構成してもよい。
312はフォルダ探索部で、アプリケーション105からの要求に従って、メタデータ保持部304に保持されているメタデータと、フォルダ関係保持部305に保持されているフォルダ関係データとを用いて、フォルダ関係を辿ってフォルダ要素あるいは親フォルダとなるフォルダやファイルを探索する。フォルダ探索処理の詳細については後述する。
フォルダ構成が深い場合には、フォルダ探索を繰り返すことで、探索の起点となるフォルダから、フォルダ関係を辿って子フォルダやファイルを探索し、取得することができる。なお、探索の起点となるフォルダからフォルダ関係で結ばれていないフォルダやファイルも存在する。このようなフォルダやファイルについては、前述の検索部311を用いて探すことができる。
313はコンテンツ取得部で、本体データ保持部302に保持されているファイルと、メタデータ保持部304に保持されているメタデータとを取得する。フォルダを取得する場合には、本体配置データ保持部303に保持されている本体配置データを参照し、このフォルダが異なるコンピュータにおける分散データ管理モジュールによって管理されている場合には、通信部306を利用して、この分散データ管理モジュールからこのフォルダを取得する。コンテンツ取得処理の詳細は後述する。
次に、コンピュータ101が行う具体的な処理について説明する。図10は、ファイルを扱う場合における処理のフローチャートである。なお、同図のフローチャートに示した各処理をCPU201に実行させるためのプログラムやデータ、処理対象のデータはハードディスクドライブ204に保存されており、CPU201による制御に従って適宜RAM203にロードされる。そしてCPU201がこのロードされたプログラムやデータを用いて処理を実行することで、コンピュータ101は以下説明する各処理を実行する。
同図のフローチャートに従った処理は、アプリケーション105が分散データ管理モジュール104に対して、ファイル登録要求を送信することで開始される。若しくは、他のコンピュータが有する分散データ管理モジュール(図1の場合、分散データ管理モジュール114)が、分散管理モジュール104に対してファイル登録要求を送信することでも開始される。
先ず、ステップS1001では、分散データ管理モジュール104がアプリケーション105から受けた要求が、ファイルの追加要求であるのか否かをチェックする。このチェック処理では、受けた要求のヘッダにある登録要求種別データを参照する。他にも、リモートメソッド呼び出しを通信形態とすれば、呼び出しメソッドを変えることでこのチェック処理は可能である。例えば、WebサービスやCORBAなど、あたかも同一プログラム中のメソッドを呼び出すのと同じように別の装置のプログラムを呼び出すことをリモートメソッド呼び出しと言う。このように、チェックする方法については特に限定するものではない。
そしてステップS1001におけるチェックの結果、ファイル追加要求である場合には処理をステップS1004に進め、ファイルの追加処理を実行する。ステップS1004における処理の詳細については後述する。
一方、分散データ管理モジュール104がアプリケーション105から受けた要求がファイルの追加処理ではない場合には処理をステップS1002に進め、この要求がファイルの削除要求であるのか否かをチェックする。このチェック処理は、上記ステップS1001と同様にして行う。そしてステップS1002におけるチェック処理の結果、ファイル削除処理である場合には処理をステップS1005に進め、ファイルの削除処理を行う。ステップS1005における処理の詳細については後述する。
一方、分散データ管理モジュール104がアプリケーション105から受けた要求がファイル削除要求ではない場合には処理をステップS1003に進める。ステップS1003では、ファイルの変更処理を行う。ステップS1003における処理の詳細については図11から図13を用いて後述する。
図11は、上記ステップS1004におけるファイル追加処理の詳細を示すフローチャートである。
先ず、ステップS1101では、データ識別子生成部301を用いて、追加しようとするファイルに対するデータ識別子を生成する。そしてステップS1102では、ステップS1101で生成したデータ識別子をキーとして、追加しようとするファイルを本体データ保持部302に登録する。この登録については上述の通り、例えば、登録しようとするファイルを、ステップS1101で生成したデータ識別子をファイル名とするファイルとして登録する。
ステップS1103では、ステップS1101で生成したデータ識別子と、分散データ管理モジュール104のモジュールIDとをセットにして、図6に示すテーブルに登録する。即ち、データ識別子を領域601に登録すると共に、モジュールIDを領域602に登録する。
ステップS1104では、ステップS1101で生成したデータ識別子を図7に示すテーブルの領域701に登録し、領域702には登録しようとするものがファイルであることを示す「C」を登録し、領域703には登録しようとするファイルのファイル名を登録し、領域704には登録しようとするファイルの作成日時を登録する。なお、上述の通り、メタデータに含まれる情報については様々なものがある。
図12は、上記ステップS1005におけるファイル削除処理の詳細を示すフローチャートである。
先ず、ステップS1201では、アプリケーション105から削除対象として指示されたファイルのデータ識別子を受けるので、本体配置データ保持部303が保持する図6に示したテーブルから、この受けたデータ識別子に対応するモジュールIDを取得する。
次にステップS1202では、ステップS1201で取得したモジュールIDと、分散データ管理モジュール104のモジュールIDとを比較し、それぞれが一致するか否かをチェックする。即ち、本ステップにおける処理は、アプリケーション105から削除対象として指示されたファイルが、分散データ管理モジュール104が管理するファイルであるのか否かをチェックしている。
このチェック処理の結果、一致していない場合には処理をステップS1207に進める。ステップS1207では、上記ステップS1201で取得したモジュールIDで特定される他の分散データ管理モジュール(実際にファイルを保持しているコンピュータの分散データ管理モジュール)に対して、アプリケーション105から削除対象として指示されたファイルのデータ識別子と共に、このファイルの削除指示を転送する。フォルダ関係保持部・本体配置データ保持部・メタデータ保持部・本体データ保持部の情報が更新される。
一方、ステップS1202におけるチェック処理の結果、一致している場合には、処理をステップS1203に進める。ステップS1203では、フォルダ関係保持部305が保持する図8に示したテーブルにおいて、アプリケーション105から削除対象として指示されたファイルのデータ識別子が登録されている領域802と、このデータ識別子と対応付けて領域801に登録されているデータ識別子とを削除する。例えば、アプリケーション105から削除対象として指示されたファイルのデータ識別子が「00200745」であり、このファイルが分散データ管理モジュール104が管理するものである場合には、図8のテーブルから、データ識別子「00200745」とデータ識別子「00100331」とを削除する。これは、データ識別子「00100331」を有する親フォルダ内におけるファイルのうち、データ識別子「00200745」を有するファイル(即ち削除指示されたファイル)を削除することに等価である。
次にステップS1204では、本体配置データ保持部303が保持する図6に示したテーブルから、アプリケーション105から削除対象として指示されたファイルのデータ識別子が登録されている領域601と、このデータ識別子と対応付けて領域602に登録されているモジュールIDとを削除する。
次にステップS1205では、メタデータ保持部304が保持する図7に示したテーブルから、アプリケーション105から削除対象として指示されたファイルのデータ識別子が登録されている領域701と、このデータ識別子と対応付けて領域702,703,704に登録されている各データとを削除する。
次にステップS1206では、本体データ保持部302から、アプリケーション105から削除対象として指示されたファイルのデータ識別子をファイル名とするファイルを削除する。
図13は、上記ステップS1003におけるファイル変更処理の詳細を示すフローチャートである。
先ずステップS1301では、アプリケーション105から受けた要求が、メタデータの変更要求であるのか否かをチェックする。このチェック処理についても上記ステップS1001と同様にして行う。
このチェック処理の結果、アプリケーション105から受けた要求が、メタデータの変更要求である場合には、処理をステップS1305に進める。ここで図13のフローチャートに従った処理を行う場合には、変更しようとするファイルのデータ識別子、若しくは変更しようとするメタデータが付与されているファイルのデータ識別子がアプリケーション105から得られる。従って、ステップS1305では、メタデータ保持部304が保持する図7に示すテーブルにおいて、このデータ識別子とセットになっているデータのうち、変更指示されているデータを、変更指示に従って変更する。
一方、ステップS1301におけるチェック処理の結果、アプリケーション105から受けた要求が、メタデータの変更要求ではない場合には、処理をステップS1302に進める。
ステップS1302では、本体配置データ保持部303が保持する図6に示したテーブルから、アプリケーション105から受けたデータ識別子に対応するモジュールIDを取得する。
次にステップS1303では、ステップS1302で取得したモジュールIDと、分散データ管理モジュール104のモジュールIDとを比較し、それぞれが一致するか否かをチェックする。即ち、本ステップにおける処理は、アプリケーション105から変更要求されたファイルが、分散データ管理モジュール104が管理するファイルであるのか否かをチェックしている。
このチェック処理の結果、一致していない場合には処理をステップS1306に進める。ステップS1306では、上記ステップS1302で取得したモジュールIDで特定される他の分散データ管理モジュールに対して、アプリケーション105から変更要求されたファイルのデータ識別子と共に、このファイルの変更指示を転送する。
一方、ステップS1303におけるチェック処理の結果、一致している場合には、処理をステップS1304に進める。ステップS1304では、本体データ保持部302が保持するファイルのうち、アプリケーション105から受けたデータ識別子をファイル名とするファイルについて、変更要求に応じた変更処理を行う。
次に、フォルダの追加、削除、変更について説明する。フォルダの追加、削除、変更の何れを行うのかについてもファイルの場合と同様、アプリケーション105から指示され、分散データ管理モジュール104が何れが指示されたのかを判断するのであるが、分散データ管理モジュール104によるこの判断処理については、基本的には図10に示したフローチャートと同様である。以下では、アプリケーション105からフォルダの追加要求を受けた場合に分散データ管理モジュール104が行う処理、削除要求を受けた場合に分散データ管理モジュール104が行う処理について説明する。なお、アプリケーション105からフォルダの変更要求を受けた場合に分散データ管理モジュール104が行う処理については、フォルダに対応するメタデータを変更するだけなので説明を省略する。
図14は、分散データ管理モジュール104によるフォルダ追加処理のフローチャートである。なお、同図のフローチャートに従った処理は、アプリケーション105が分散データ管理モジュール104に対して、フォルダ追加要求を送信することで開始されるものである。
先ず、ステップS1401では、データ識別子生成部301を用いて、追加するフォルダに対するデータ識別子を生成する。そしてステップS1402では、メタデータ保持部304が保持している図7に示すテーブルにおいて、領域701にはステップS1401で生成したデータ識別子を追加登録し、領域702には「F」を追加登録し、領域703には、追加登録するフォルダのフォルダ名を追加登録し、領域704には、追加登録するフォルダの作成日時を追加登録する。
図15は、分散データ管理モジュール104によるフォルダ削除処理のフローチャートである。
ステップS1501では、フォルダ関係保持部305が保持する図8に示したテーブルにおいて、アプリケーション105から削除指示されたフォルダのデータ識別子が登録された領域801と、この領域801に対応する領域802を削除する。若しくはアプリケーション105から削除指示されたフォルダのデータ識別子が登録された領域802のみを削除する。
これにより、削除指示されたフォルダの親フォルダ、子フォルダ、フォルダ要素であるファイルとのフォルダ関係が削除される。このフォルダの子フォルダやフォルダ要素であったファイルについては、この削除により親フォルダがなくなる。しかし、本実施形態では、親フォルダがなくてもよいので問題はない。
そしてステップS1502では、メタデータ保持部304が保持している図7に示すテーブルにおいて、削除指示されたフォルダのデータ識別子が登録されている領域701、及びこのデータ識別子に対応するメタデータが登録されている領域702から704を削除する。
図16は、フォルダ探索処理のフローチャートである。フォルダ探索処理は、アプリケーション105が分散データ管理モジュール104に対して、フォルダ探索要求を送信することで開始される。
ステップS1601では、フォルダ関係保持部305が保持する図8に示したテーブルにおいて、フォルダ探索要求で指定された起点フォルダのデータ識別子を登録している領域801を特定し、対応する領域802に登録されているデータ識別子を取得し、リストに登録する。このリストは、初期状態では空の状態であり、フォルダ探索要求で指定された起点フォルダのデータ識別子を登録している領域801を特定する毎に、対応する領域802に登録されているデータ識別子を登録する。
そしてこの作成したリストが空になるまで、以下説明するステップS1604,S1605における処理を行う。
先ずステップS1603では、リストに登録しているデータ識別子を1つ読み出し、読み出したデータ識別子をリストから削除する。そして図7に示したテーブルを参照し、この読み出したデータ識別子が登録されている領域701を検索し、検索した領域701に対応するメタデータを取得する。例えば、読み出したデータ識別子が「00100203」である場合には、メタデータ{「C」、「○○◇◇」、「2005年2月15日16:32」}を取得する。
そして、ステップS1604では、取得したメタデータのうち、領域703,704に登録されているデータを結果リストに登録する。例えば、読み出したデータ識別子が「00100203」である場合には、「○○◇◇」、「2005年2月15日16:32」を結果リストに登録する。この結果リストは、初期状態では空の状態であり、ステップS1604における処理を行う毎に領域703,704に登録されているメタデータを登録する。
そして処理をステップS1605を介してステップS1602に戻す。そしてリストが空である場合には本処理を終了するのであるが、空ではない場合には、処理ステップS1603に進め、未だリスト中に残っているデータ識別子のうち1つを読み出して以降の処理を行う。
そして以上のようにして作成した結果リストを、要求元に送信する。
図17は、ファイルの取得処理のフローチャートである。ファイルの取得処理は、アプリケーション105が分散データ管理モジュール104に対して、ファイル取得要求を送信することで開始される。
先ずステップS1701では、ファイル取得要求でメタデータも要求されているか否かをチェックする。このチェックは、上記ステップS1001におけるものと同様にして行う。このチェックの結果、要求されていない場合には処理をステップS1703に進め、要求されている場合には処理をステップS1702に進める。
ステップS1702では、図7に示したテーブルにおいて、ファイル取得要求によって指定されたデータ識別子とセットにして登録されているメタデータを取得する。例えば、データ識別子が「00100203」である場合には、「○○◇◇」、「2005年2月15日16:32」をメタデータとして取得する。そして取得したメタデータを順次結果データに追加登録する。そして処理をステップS1703に進める。
ステップS1703では、本体配置データ保持部303が保持する図6に示したテーブルから、ファイル取得要求によって指定されたデータ識別子に対応するモジュールIDを取得する。
次にステップS1704では、ステップS1703で取得したモジュールIDと、分散データ管理モジュール104のモジュールIDとを比較し、それぞれが一致するか否かをチェックする。即ち、本ステップにおける処理は、ファイル取得要求で指定されたデータ識別子が示すファイルが、分散データ管理モジュール104が管理するファイルであるのか否かをチェックしている。
このチェック処理の結果、一致していない場合には処理をステップS1706に進める。ステップS1706では、上記ステップS1703で取得したモジュールIDで特定される他の分散データ管理モジュールに対して、ファイル取得要求で指定されたデータ識別子と共に、このファイルの取得指示を転送する。
一方、ステップS1704におけるチェック処理の結果、一致している場合には、処理をステップS1705に進める。ステップS1705では、本体データ保持部302から、ファイル取得要求で指定されたデータ識別子をファイル名とするファイルを取得し、結果データに追加登録する。
このようにして作成された結果データを、本処理の結果として要求元に返信する。
以上の処理によって、本実施形態では、それぞれのコンピュータ101、111内には、図9に示す如く、メタデータ901(911),フォルダ関係データ902(912)、本体配置データ903(913)、そして本体データ904(914)が登録されることになる。なお、コンピュータ101側に登録されているメタデータ901、フォルダ関係データ902、本体配置データ903と、コンピュータ111側に登録されているメタデータ911、フォルダ関係データ912、本体配置データ913とはそれぞれ、分散データ管理モジュール104の共有処理部307、分散データ管理モジュール114の共有処理部307によって同一に保たれる。
なお、本体データ904と本体データ914とは互いに同じものである必要はない。
各コンピュータで同一のメタデータ、フォルダ関係データ、本体配置データを保持している為、それぞれのコンピュータにおける分散管理モジュールでは、論理的に同一のフォルダ体系として各データが管理されていることになる。従って、どの分散管理モジュールからも、フォルダ登録、コンテンツ登録、フォルダ関係登録、フォルダ探索、検索、コンテンツ取得を同等に行うことができる。すなわち、自コンピュータに本体ファイルはなくとも他コンピュータにある本体ファイルを操作でき、その結果がシステム内のコンピュータに反映される。
図4は、コンピュータが管理するフォルダ(ファイル)の階層構造の一例を示す図である。401は、分散データ管理モジュール104が管理する階層構造を示しており、402は、分散データ管理モジュール114が管理する階層構造を示している。フォルダやファイル間の線はフォルダ関係を示している。
411〜417、451〜457は何れもフォルダを示しており、同図に示す如く、分散データ管理モジュール104と分散データ管理モジュール114とで同じフォルダ構造(フォルダの階層構造)でもってフォルダを管理している。従って、例えば、フォルダ411とフォルダ451とは同じフォルダである。従って、フォルダ411に対しての変更は、共有処理部307により、フォルダ451に対しても反映される。
また、421〜426、461〜466は何れもファイルを示している。例えば、ファイル421とファイル461とは同じファイルである。
ここで、ファイル421〜426のうちファイル424〜426については分散データ管理モジュール104側で管理されているものではなく、分散データ管理モジュール114側で管理されているものである。同様に、ファイル461〜466のうちファイル461〜463については分散データ管理モジュール114側で管理されているものではなく、分散データ管理モジュール104側で管理されているものである。また、フォルダ411、412、417とファイル422、425は親フォルダを持たない。これは、対応するフォルダ451、452、457とファイル462、465についても同様である。
また、コンピュータ101とコンピュータ111とが、ネットワーク121に接続されていない状態、いわゆるオフライン状態になった場合でも、オフラインになった時点でのフォルダ体系は、それぞれのコンピュータで同一である。またそれぞれのコンピュータは、ファイル取得等、ファイルを利用する処理を除いて、オフライン状態でもオンライン時における上記各処理(上記各フローチャートで示した処理)と同じ処理を行うことができる。
しかし、オフライン状態でフォルダ登録、コンテンツ登録、フォルダ関係登録を行なうと、オフライン状態である間、それぞれのコンピュータが管理するファイルやフォルダの階層構造やメタデータなどが変わってしまう。そこで、本実施形態では、コンピュータをネットワーク121に接続した際に、共有処理部307が、変更した点を他のコンピュータに通知する。このような通知処理を、ネットワーク121に接続しているそれぞれのコンピュータが行うことで、結果として、それぞれのコンピュータは同じ階層構造でもってファイルやフォルダを管理することができる。
ここで、従来の技術における問題点として上述したように、1つの記憶装置に保持されているデータを複数台のコンピュータが共有して操作する場合には、例えば、複数台のコンピュータが同一のファイルを変更しようとするケース等が生じ得る。このようなケースが発生すると、何れのコンピュータが優先的にデータ操作を行えるのかを決定しなくてはいけないという問題が生じる。そこで、競合する処理が発生しないように、操作に関係するファイルやフォルダをロックしなければ処理ができないようにする方法を取る。あるフォルダやファイルをロックをできるのは、システムを構成している全てのコンピュータのうち、1台のコンピュータの分散データ管理モジュールのみである。また、オフライン状態にある分散データ管理モジュールは新たにロックを取得することはできない。
ロックを実現する方法は様々であるが、ここでは、一つの分散データ管理モジュール(分散データ管理モジュール104)がロックサーバとなる形態を取る。即ち、分散データ管理モジュール104だけが、ロック管理部を備える。各分散データ管理モジュールは、ロック取得要求とロック解除要求を、分散データ管理モジュール104に送信する。
図18は、ロック管理部が保持するロック管理データの構成例を示す図である。ロック管理データは、同じコンピュータ101内のRDBMS103で管理される。ロック管理データには、領域1801と領域1802とが設けられており、領域1801には、全てのコンピュータが保持するフォルダやファイルのデータ識別子が登録されている。また、それぞれのデータ識別子に対応するファイル若しくはフォルダのうち、ロックが取得されたファイル若しくはフォルダについては、ロックを取得した分散データ管理モジュールのモジュールIDが領域1802に登録されている。例えば、同図の場合、データ識別子「00100203」のフォルダ(若しくはファイル)に対するロックは、モジュールIDが「001」の分散データ管理モジュールによって取得されているし、データ識別子「00200745」のフォルダ(若しくはファイル)に対するロックは、モジュールIDが「002」の分散データ管理モジュールによって取得されている。なお、何も登録されていない領域1802に対応する領域1801内に登録されているデータ識別子(同図の場合、「00100238」)のファイル(若しくはフォルダ)については、何れの分散データ管理モジュールもロックは取得していないことを示している。
図19は、ロックサーバとしての分散データ管理モジュール104がロックを取得する処理のフローチャートである。同図に示したフローチャートは、ロック取得要求が発生すると開始される。
他のコンピュータにおける分散データ管理モジュールからロック取得要求を受けた場合、ステップS1901では、この要求でロック対象として指定されたファイル若しくはフォルダのロックが、他のコンピュータによって現在取得されているのか否かをチェックする。このチェック処理については上述の通りである。
即ち、図18に示す管理データを参照し、ロック取得要求で指定されたロック対象のファイル若しくはフォルダのデータ識別子に対応する領域1802内に何も登録されていないか否かをチェックする。このチェックの結果、対応する領域1802内にモジュールIDが登録されている場合には、現在他の分散データ管理モジュールによってロックが取得されていると判断し、モジュールIDが登録されていない場合には、現在他の分散データ管理モジュールによってロックが取得されていないと判断する。
この判断の結果、ロックが既に取得されていると判断した場合には処理をステップS1904に進める。ステップS1904では、ロックの取得要求元に対してロック失敗の旨を通知する。
一方、ロックが既に取得されていないのであれば、処理をステップS1902に進め、ロック取得要求で指定されたロック対象のファイル若しくはフォルダに対するロックを取得する。本ステップにおける処理は、図18に示す管理データにおいて、ロック取得要求で指定されたロック対象のファイル若しくはフォルダのデータ識別子に対応する領域1802内に、ロック取得要求元の分散データ管理モジュールのモジュールIDを登録することでなされるものである。
そしてステップS1903では、ロック取得要求元に対して、ロック取得の成功を通知する。
ここで、他の分散データ管理モジュールからロック解除の要求を受けた場合には、解除要求で指定されたロック解除対象のファイル若しくはフォルダのデータ識別子に対応する領域1802内を空にする。
各分散データ管理モジュールは、ロックを取得したファイル若しくはフォルダのデータ識別子を保持しておく。そして、コンテンツ登録、フォルダ登録、フォルダ関係登録処理にあたっては、必要なファイル若しくはフォルダのロックが取得されているかを確認した上で処理を進める。この確認は、ファイル若しくはフォルダのデータ識別子が、ロック取得済みのデータ識別子に含まれるかを調べることで行なわれる。そして、ロックを取得したファイル若しくはフォルダについてのみ、様々な操作を許可する。なお、必要なファイル若しくはフォルダのロックが一つでも取得されていない場合は処理を中止する。
各処理でロックが必要なファイル若しくはフォルダは以下の通りである。
ファイル作成処理 :なし
ファイル削除処理 :削除対象のコンテンツ
ファイル変更処理 :変更対象のコンテンツ
フォルダ作成処理 :なし
フォルダ削除処理 :削除対象のフォルダ
フォルダ変更処理 :変更対象のフォルダ
フォルダ関係作成処理:フォルダ関係により親フォルダ及び子フォルダになるフォルダ、若しくはフォルダ要素になるファイル
フォルダ関係削除処理:なし
コンピュータがオンライン状態にある場合は、各処理に必要なロックを、処理実行の直前に行い、処理実行直後にロックを解除すればよい。コンピュータをオフラインにする場合には、オフライン状態になる前に、必要なファイルやフォルダのロックを取得しておく。ロックが取得できていないと対象のファイル若しくはフォルダに対してオフライン状態で各処理の実行が許可されない。そして、再度、このコンピュータをオンライン状態にした時にそれぞれのロックを解除する。どのファイルやフォルダをロックしておくかはアプリケーションが定める。例えば、特定フォルダを必ずロックするとか、利用者に問い合わせるといった方法をアプリケーションが取ることが考えられる。
以上、本実施形態では、前述したように、各コンピュータ装置で同一のメタデータ、フォルダ関係データ、本体配置データが保持されているため、どの分散データ管理モジュールからも、フォルダ登録、コンテンツ登録、フォルダ関係登録、フォルダ探索、検索、コンテンツ取得が同等にできるというメリットがあった。さらに、ファイル登録あるいはフォルダ登録と、フォルダ関係登録とを独立にしたため、異なる分散データ管理モジュールからの競合処理を防ぐために必要なロックを軽減できるという効果がある。
例えば、ファイルの追加を行なう際には、いずれのフォルダもロックする必要がない。そして、ファイルの追加を行っている間に、他のコンピュータでは、全フォルダに関する処理を実行することができる。また、フォルダの削除などを行なう場合も、ロックする必要があるフォルダを軽減できる。図5は、本実施形態での操作を行なった場合のデータ変化の例を示す模式図である。
同図において501は、分散データ管理モジュール104が管理するファイルやフォルダの階層構造を示しており、502は、分散データ管理モジュール114が管理するファイルやフォルダの階層構造を示している。511〜515、561〜565は何れもフォルダを示しており、同図に示す如く、分散データ管理モジュール104と分散データ管理モジュール114とで同じフォルダ構造(フォルダの階層構造)でもってフォルダを管理している。従って、例えば、フォルダ511とフォルダ561とは同じフォルダである。各フォルダの横には、フォルダの名称を記載している。
また、521〜526、571〜576は何れもファイルを示している。例えば、ファイル521とファイル571とは同じファイルである。フォルダやコンテンツ間の線はフォルダ関係を示している。また、斜線で示しているフォルダは、ロックを取得しているフォルダを示す。
531は、分散データ管理モジュール104と分散データ管理モジュール114とがオフライン状態になる前に、それぞれが必要なロックを取得した状態における階層構造を示している。分散データ管理モジュール104では、フォルダ512を削除し、フォルダ511とフォルダ513、514を変更するので、フォルダ511、512、513、514のロックを取得している。分散データ管理モジュール114では、フォルダ565に関係付けられているファイル575を削除するので、フォルダ565のロックを取得している。
532は、分散データ管理モジュール104と分散データ管理モジュール114とがオフライン状態になり、個々の分散データ管理モジュールで各種処理が行なわれた後の状態における階層構造を示す。同図に示す如く、それぞれのコンピュータ101、111の操作者は、それぞれ任意の操作を行ったので、分散データ管理モジュール104側で管理されている階層構造と、分散データ管理モジュール114側で管理されている階層構造とは異なっている。より具体的には、分散データ管理モジュール104側で管理されている階層構造では、フォルダ512を削除し、フォルダ511の直下にフォルダ513とフォルダ514とを属させるような処理を行なっている。
フォルダ515は分散管理モジュール114でロックが取得されているので分散管理モジュール104では操作が禁止されている。一方、分散データ管理モジュール114側で管理されている階層構造では、フォルダ565に属するファイル575を削除する処理を行なっている。これらは、図示したようなロックを取得することで並行に処理可能である。
533は、分散データ管理モジュール104と分散データ管理モジュール114とをオンライン状態にした後に、共有処理部307が上記処理を実行することで、分散データ管理モジュール104側と分散データ管理モジュール114側とで管理されている階層構造を示す。同図に示す如く、それぞれのコンピュータ側で行った操作内容(変更内容)が、共有処理部307によって相手にも通知されているので、結果として533に示す如く、それぞれの分散データ管理モジュールが管理する階層構造は同じものとなる。
フォルダ関係登録処理が、ファイル登録処理やフォルダ登録処理から独立しているので、フォルダは必ずしも親フォルダを持たなくてもよい。ここでは、フォルダ565とフォルダ562との関係はなくなったため、フォルダ565はどのフォルダにも属さない状態で存在することになる。
従来の分散データ管理装置では、例えばフォルダ512を削除する際には、サブフォルダを全てロックする必要があったため、別のコンピュータでフォルダ515をロックすることができなかった。そのため、フォルダ515に属するコンテンツの削除を並行して行なうことができなかった。それに対し、本実施形態では、前述したように二つの処理を並行して実行できる。
[第2の実施形態]
第1の実施形態では、ファイル登録処理及びフォルダ登録処理と、フォルダ関係登録処理とを独立させるために、データ識別子生成部301を設け、これによって生成されたデータ識別子をキーとして、ファイルやフォルダを管理していた。しかし、上記処理を独立させるための実現方法は上記方法に限定するものではなく、様々な方法が適用可能である。例えば他にも、親フォルダを持たないフォルダやファイルを、管理用に用意した管理用フォルダのフォルダ要素として管理する方法がある。この方法を用いると、ファイルシステムを用いて管理が可能である。
また、本実施形態では、第1の実施形態と以下の点が異なる。まず、データ識別子の代わりに、ローカルファイルシステムでのパスを識別情報として用いる。ファイル追加処理では、ファイルを管理用フォルダに登録する。ファイル削除処理では、このファイルを削除する。フォルダ追加処理では、管理用フォルダにフォルダを登録する。フォルダ削除処理では、このフォルダを削除する。フォルダ関係追加処理では、追加するフォルダ関係に従って、親フォルダの下に子フォルダもしくはファイルを移動する。フォルダ関係削除処理では、削除されるフォルダ関係に従って、子フォルダもしくはファイルを管理用フォルダの下に移動する。
複数の分散データ管理モジュールでシステムを構成する場合は、全分散データ管理モジュールで、同じ処理を行う。あるいは、システムとして仮想ファイルシステムを設け、仮想ファイルシステム上で上記の処理を行ってもよい。この場合、仮想ファイルシステムのパスでデータを識別する。実際のフォルダやコンテンツは、ローカルファイルシステム上に保持し、仮想ファイルシステムのパスとローカルファイルシステムのパスとの対応データを保持することで、各分散データ管理モジュールから実際のデータにアクセスできる。
[第3の実施形態]
上記実施形態では、ファイルは、ファイル追加要求があったコンピュータによって保持されているが、これに限定するものではなく、ファイルシステムの空き容量が大きいコンピュータに保持させるようにしても良い。また、複数のコンピュータで同じファイルを保持させるようにしても良い。また、ファイル変更処理とファイル削除処理では、全てのコンピュータについて、同様の変更、削除処理を行なう。
[第4の実施形態]
上記実施形態では、フォルダ関係は、アプリケーションにより明示的に指定されるだけであった。これ以外にも、検索条件を満足するファイルもしくはフォルダを、仮想的なフォルダ関係とするいわゆる検索フォルダを設けてもよい。検索フォルダを追加した時は、そのメタデータとして検索条件を保持する。そして、フォルダ探索処理においては、フォルダ関係を取得する代わりに、メタデータとして保持されている検索条件を満足するファイルあるいはフォルダを、検索部311を用いて取得する。このようにして取得されたファイルあるいはフォルダを、あたかもフォルダ関係が設定されたフォルダ要素のようにして、フォルダ探索結果として返す。
[第5の実施形態]
上記実施形態では、1台のコンピュータで1つの分散データ管理モジュールが動作する形態であったが、複数の分散データ管理モジュールが別のプロセスなどとして動作してもよい。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態に係るシステム(分散データ管理システム)の基本的な構成を示すブロック図である。 コンピュータ101、111に適用可能な(換言すると分散データ管理システムを構成するコンピュータに適用可能な)コンピュータのハードウェア構成を示すブロック図である。 分散データ管理モジュール104の機能構成を示すブロック図である。 コンピュータが管理するフォルダ(ファイル)の階層構造の一例を示す図である。 本発明の第1の実施形態での操作を行なった場合のデータ変化の例を示す模式図である。 本体配置データ保持部303が保持するテーブル情報の構成例を示すブロック図である。 メタデータ保持部304が保持するメタデータの構成例を示す図である。 フォルダ関係データの構成例を示すブロック図である。 コンピュータ101、111内におけるデータを示す図である。 ファイルを扱う場合における処理のフローチャートである。 ステップS1004におけるファイル追加処理の詳細を示すフローチャートである。 ステップS1005におけるファイル削除処理の詳細を示すフローチャートである。 ステップS1003におけるファイル変更処理の詳細を示すフローチャートである。 分散データ管理モジュール104によるフォルダ追加処理のフローチャートである。 分散データ管理モジュール104によるフォルダ削除処理のフローチャートである。 フォルダ探索処理のフローチャートである。 ファイルの取得処理のフローチャートである。 ロック管理部が保持するロック管理データの構成例を示す図である。 ロックサーバとしての分散データ管理モジュール104がロックを取得する処理のフローチャートである。

Claims (10)

  1. 情報処理装置であって、
    前記情報処理装置内のそれぞれのファイル若しくはフォルダのメタデータを、ネットワークで構成された複数の情報処理装置と共有可能に管理する管理手段と、
    前記情報処理装置内の第1のフォルダと第2のフォルダとの関係を親子階層として登録する登録手段と、
    オフラインで操作した前記ファイルまたはフォルダの操作結果を指示されたタイミングで前記複数の情報処理装置に反映させる反映手段とを備え、
    前記反映を行うにあたり、前記登録手段により前記第2のフォルダと関係付けられていた親階層の前記第1のフォルダがオフライン中に削除されていた場合には、第2のフォルダに親フォルダを持たせない登録を行うことを特徴とする情報処理装置。
  2. 前記操作では、自装置がロックを取得している前記ファイルまたはフォルダを自装置で削除または変更することを特徴とする請求項1に記載の情報処理装置。
  3. 前記管理されているファイルまたはフォルダのうち操作対象をロックする要求を外部装置に送信する手段と、
    前記要求に応じて前記外部装置からロック可能/不可能である旨を示すロック情報を受信する手段と、
    前記操作対象についてロック可能である旨を受信している場合には、前記操作対象に対して操作を行う手段と
    を備えることを特徴とする請求項2に記載の情報処理装置。
  4. 前記操作では、ロックを取得せずに前記ファイルまたはファイルを新規に登録することを特徴とする請求項1に記載の情報処理装置。
  5. 前記管理手段は、識別子を用いてファイルとフォルダとを前記複数の情報処理装置と共有可能に管理することを特徴とする請求項1に記載の情報処理装置。
  6. 前記識別子は、前記情報処理装置の情報と前記情報処理装置内でのファイル固有の情報から構成されることを特徴とする請求項5に記載の情報処理装置。
  7. 前記管理手段は更に、各ファイルと各ファイルを保持している前記情報処理装置の番号とを関連付けて保持することを特徴とする請求項1に記載の情報処理装置。
  8. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置内のそれぞれのファイル若しくはフォルダのメタデータを、ネットワークで構成された複数の情報処理装置と共有可能に管理する管理工程と、
    前記情報処理装置内の第1のフォルダと第2のフォルダとの関係を親子階層として登録する登録工程と、
    オフラインで操作した前記ファイルまたはフォルダの操作結果を指示されたタイミングで前記複数の情報処理装置に反映させる反映工程とを備え、
    前記反映を行うにあたり、前記登録工程で前記第2のフォルダと関係付けられていた親階層の前記第1のフォルダがオフライン中に削除されていた場合には、第2のフォルダに親フォルダを持たせない登録を行うことを特徴とする情報処理方法。
  9. コンピュータに請求項8に記載の情報処理方法を実行させるためのプログラム。
  10. 請求項9に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
JP2006124331A 2006-04-27 2006-04-27 情報処理装置、情報処理方法 Expired - Fee Related JP4912026B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006124331A JP4912026B2 (ja) 2006-04-27 2006-04-27 情報処理装置、情報処理方法
US11/785,772 US20070255760A1 (en) 2006-04-27 2007-04-20 Information processing apparatus and information processing method
US12/700,657 US8417742B2 (en) 2006-04-27 2010-02-04 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006124331A JP4912026B2 (ja) 2006-04-27 2006-04-27 情報処理装置、情報処理方法

Publications (3)

Publication Number Publication Date
JP2007299063A true JP2007299063A (ja) 2007-11-15
JP2007299063A5 JP2007299063A5 (ja) 2009-06-18
JP4912026B2 JP4912026B2 (ja) 2012-04-04

Family

ID=38649562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006124331A Expired - Fee Related JP4912026B2 (ja) 2006-04-27 2006-04-27 情報処理装置、情報処理方法

Country Status (2)

Country Link
US (2) US20070255760A1 (ja)
JP (1) JP4912026B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091222A (ja) * 2014-10-31 2016-05-23 株式会社東芝 データ処理装置、データ処理方法およびプログラム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007064896A2 (en) * 2005-12-01 2007-06-07 Shahriar Sarkeshik Data exchange system and method
JP4909211B2 (ja) * 2007-08-27 2012-04-04 キヤノン株式会社 情報処理装置及びその制御方法
JP2010097292A (ja) * 2008-10-14 2010-04-30 Canon Inc 情報処理装置及び情報処理方法
JP5448412B2 (ja) * 2008-10-24 2014-03-19 キヤノン株式会社 情報処理装置およびその方法、プログラム、記録媒体
JP5639417B2 (ja) 2010-08-31 2014-12-10 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US8539165B2 (en) 2010-09-29 2013-09-17 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US8645636B2 (en) 2010-09-29 2014-02-04 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US8539154B2 (en) 2010-09-29 2013-09-17 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US8612682B2 (en) 2010-09-29 2013-12-17 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US20120078931A1 (en) 2010-09-29 2012-03-29 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US10452484B2 (en) * 2014-05-15 2019-10-22 Carbonite, Inc. Systems and methods for time-based folder restore
US10277601B1 (en) * 2015-05-11 2019-04-30 Google Llc System and method for recursive propagating application access control
JP2017004114A (ja) * 2015-06-05 2017-01-05 キヤノン株式会社 画像形成装置及びアプリケーションの削除方法
US10719487B2 (en) * 2016-01-29 2020-07-21 M-Files Oy Method, an apparatus, a computer program product for determining metadata for a data item
JP6620730B2 (ja) * 2016-11-18 2019-12-18 京セラドキュメントソリューションズ株式会社 情報処理装置及び画像形成装置
US11200205B2 (en) * 2020-01-31 2021-12-14 EMC IP Holding Company LLC Displaying an alert and options when deleting a file that is associated with a sequence of files
US11199948B2 (en) 2020-01-31 2021-12-14 EMC IP Holding Company LLC Displaying a sequence and files associated with the sequence having a missing file
US11940951B2 (en) * 2021-09-22 2024-03-26 Sap Se Identification and import of metadata for extensions to database artefacts

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154091A (ja) * 1996-11-26 1998-06-09 Fujitsu Ltd ファイルシステムの作成方法
JP2000089991A (ja) * 1998-09-09 2000-03-31 Fujitsu Ltd 文書管理システム
JP2001051890A (ja) * 1999-08-10 2001-02-23 Toshiba Corp 仮想分散ファイルサーバシステム
JP2002140220A (ja) * 2000-11-02 2002-05-17 Fujitsu Ltd ファイル管理方法および記録媒体
JP2002358226A (ja) * 2001-03-26 2002-12-13 Microsoft Corp サーバレス分散ファイルシステム
JP2003162441A (ja) * 2001-11-28 2003-06-06 Oki Electric Ind Co Ltd 分散ファイル共有システムおよびそのファイルアクセス制御方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63124147A (ja) 1986-11-14 1988-05-27 Nec Corp フアイルシステムのデイレクトリ管理方式
JP2534360B2 (ja) * 1988-09-26 1996-09-11 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 接続方法、ノ―ド接続方法、デ―タ処理方法、及び木内にノ―ドを挿入する方法
JP3714483B2 (ja) * 1993-11-29 2005-11-09 三菱電機株式会社 マネジメント・インフォメーション・ベース・管理システム
JP3666907B2 (ja) * 1994-10-20 2005-06-29 富士通株式会社 データベース用ファイル格納管理システム
US5778384A (en) * 1995-12-22 1998-07-07 Sun Microsystems, Inc. System and method for automounting and accessing remote file systems in Microsoft Windows in a networking environment
WO2000004483A2 (en) * 1998-07-15 2000-01-27 Imation Corp. Hierarchical data storage management
US6434568B1 (en) * 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
US6823350B1 (en) * 1999-09-28 2004-11-23 Microsoft Corporation Database clean-up system
US6505214B1 (en) * 1999-09-28 2003-01-07 Microsoft Corporation Selective information synchronization based on implicit user designation
US7509322B2 (en) * 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US7024427B2 (en) * 2001-12-19 2006-04-04 Emc Corporation Virtual file system
JP4154893B2 (ja) * 2002-01-23 2008-09-24 株式会社日立製作所 ネットワークストレージ仮想化方法
US7373666B2 (en) * 2002-07-01 2008-05-13 Microsoft Corporation Distributed threat management
AU2003261924A1 (en) * 2002-09-05 2004-03-29 Hiroyuki Yasoshima Method for managing file using network structure, operation object display limiting program, and recording medium
US7359991B2 (en) * 2002-11-05 2008-04-15 Microsoft Corporation Folder synchronization
US7694219B2 (en) * 2002-12-20 2010-04-06 Oracle International Corporation Dynamic tree representation for internet enterprise applications
JP4022755B2 (ja) * 2003-01-21 2007-12-19 ソニー株式会社 記録装置、再生装置、ファイル管理方法及びファイル再生方法
US7130467B1 (en) * 2003-03-19 2006-10-31 Microsoft Corporation Real time data matching
JP4294353B2 (ja) * 2003-03-28 2009-07-08 株式会社日立製作所 ジョブ管理機能を有するストレージ系障害管理方法及び装置
US6836778B2 (en) * 2003-05-01 2004-12-28 Oracle International Corporation Techniques for changing XML content in a relational database
US7734661B2 (en) * 2003-08-11 2010-06-08 Descisys Limited Method and apparatus for accessing multidimensional data
US20050091226A1 (en) * 2003-10-23 2005-04-28 Yun Lin Persistent caching directory level support
US9189756B2 (en) * 2004-09-21 2015-11-17 International Business Machines Corporation Case management system and method for collaborative project teaming
US7730114B2 (en) * 2004-11-12 2010-06-01 Microsoft Corporation Computer file system
US7398281B2 (en) * 2005-02-28 2008-07-08 At&T Delaware Intellectual Property, Inc. Document repository
US7536390B2 (en) * 2005-03-11 2009-05-19 Microsoft Corporation Accessing Web content from any virtualized store
US7634514B2 (en) * 2005-05-09 2009-12-15 Microsoft Corporation Synchronizing file system directories
JP4706342B2 (ja) * 2005-06-09 2011-06-22 株式会社日立製作所 データ管理方法および装置
JP4718285B2 (ja) * 2005-09-22 2011-07-06 株式会社日立製作所 ファイル管理機能を備えたコンピュータシステム、ストレージ装置およびファイル管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154091A (ja) * 1996-11-26 1998-06-09 Fujitsu Ltd ファイルシステムの作成方法
JP2000089991A (ja) * 1998-09-09 2000-03-31 Fujitsu Ltd 文書管理システム
JP2001051890A (ja) * 1999-08-10 2001-02-23 Toshiba Corp 仮想分散ファイルサーバシステム
JP2002140220A (ja) * 2000-11-02 2002-05-17 Fujitsu Ltd ファイル管理方法および記録媒体
JP2002358226A (ja) * 2001-03-26 2002-12-13 Microsoft Corp サーバレス分散ファイルシステム
JP2003162441A (ja) * 2001-11-28 2003-06-06 Oki Electric Ind Co Ltd 分散ファイル共有システムおよびそのファイルアクセス制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091222A (ja) * 2014-10-31 2016-05-23 株式会社東芝 データ処理装置、データ処理方法およびプログラム

Also Published As

Publication number Publication date
JP4912026B2 (ja) 2012-04-04
US20070255760A1 (en) 2007-11-01
US8417742B2 (en) 2013-04-09
US20100146017A1 (en) 2010-06-10

Similar Documents

Publication Publication Date Title
JP4912026B2 (ja) 情報処理装置、情報処理方法
US11500897B2 (en) Allocation and reassignment of unique identifiers for synchronization of content items
US6678700B1 (en) System of and method for transparent management of data objects in containers across distributed heterogenous resources
KR101120817B1 (ko) 하드웨어/소프트웨어 인터페이스 시스템에 의해 관리가능한 정보의 단위들에 대한 관계 및 계층적 동기화서비스를 제공하는 시스템 및 방법
US7979478B2 (en) Data management method
JP5357068B2 (ja) 情報処理装置、情報処理システム、データ・アーカイブ方法およびデータ削除方法
EP1480130B1 (en) Method and apparatus for moving data between storage devices
KR20120106544A (ko) 메타 데이터에 따라 파일 시스템의 파일들을 액세스하는 방법 및 상기 방법을 구현하는 디바이스
JP7355964B2 (ja) 外部ロケーションの同期
US20050108237A1 (en) File system
KR102598619B1 (ko) 데이터베이스 관리 서비스 제공 시스템
RU2412461C2 (ru) Системы и способы сопряжения прикладных программ с платформой хранения на основе статей
JP7355959B2 (ja) 外部ロケーションの同期
KR101109390B1 (ko) 하드웨어/소프트웨어 인터페이스 시스템에 의해 관리가능한 정보의 단위들에 대한 동기화 서비스를 제공하는시스템 및 방법
JP2005222434A (ja) アーカイブ配備管理装置およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090423

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4912026

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees