JP2008262561A - 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法 - Google Patents

履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法 Download PDF

Info

Publication number
JP2008262561A
JP2008262561A JP2008100414A JP2008100414A JP2008262561A JP 2008262561 A JP2008262561 A JP 2008262561A JP 2008100414 A JP2008100414 A JP 2008100414A JP 2008100414 A JP2008100414 A JP 2008100414A JP 2008262561 A JP2008262561 A JP 2008262561A
Authority
JP
Japan
Prior art keywords
file
name
file system
data structure
request
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
JP2008100414A
Other languages
English (en)
Other versions
JP5241298B2 (ja
Inventor
Jr Robert James Eggers
ロバート・ジェームス・エガース・ジュニア
Steven Francis Best
スティーブン・フランシス・ベスト
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008262561A publication Critical patent/JP2008262561A/ja
Application granted granted Critical
Publication of JP5241298B2 publication Critical patent/JP5241298B2/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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/14Details of searching files based on file metadata
    • G06F16/148File search processing

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)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】
履歴上のファイル名およびロケーションをインデックス付きにすることによってファイル・サービスにおけるファイル・サーチを支援するためのシステム、方法、および、コンピュータを利用した方法を提供する。
【解決手段】
ファイル・システム内のファイルに対応する第1の名前を第2の名前に変更する要求を受け取ったことに応答して、ファイル・システム・マネージャが、第2の名前を第1の名前およびファイル・システム・データ構造内のファイルに関連付ける。ファイルを求める且つ第1の名前を含む要求を受けるとき、ファイル・システム・マネージャは、第1の名前に基づいてファイル・システムをそのファイルに関しサーチする。第1の名前に基づいたサーチが成功しなかったということを決定すると、ファイル・システム・マネージャは、第2の名前に基づいてファイル・システム・データ構造をファイルに関しサーチする。第2の名前がファイル・システム・データ構造内で見つかると、ファイル・システム・マネージャは、その要求を満たすためにファイルを戻す。
【選択図】 図1

Description

本発明は、一般的にはデータ処理システムの分野に関し、特に、データ処理システムにいてデータを格納する分野に関するものである。更に具体的には、本発明は、データ処理システムに格納されたデータを編成するためのシステムおよび方法に関するものである。
現代のコンピュータ・システムでは、ファイル・システムは、要求されたファイルをユーザが効率的に見つけてアクセスすることを可能にするように、コンピュータ・ファイルを格納および編成する。ファイル・システムは、ローカル・アクセスを行なうために或いはリモート・ファイル・サーバに格納されたデータへのアクセスを行なうために、ハードディスク・ドライブのような記憶装置を利用し得る。ファイル・システムは、データの格納、階層的編成、操作、ナビゲーション、アクセス、および検索のために具現化される抽象データ・タイプのセットとしても特徴付けることができる。
最もよく知られているファイル・システムは、「セクタ」と呼ばれる固定サイズのブロックのアレイにアクセスを行なう基本的なデータ記憶装置を利用する。ファイル・システムのソフトウェアは、これらのセクタを編成してファイルおよびディレクトリを形成する責任を負っている。ファイル・システムのソフトウェアは、更に、どのセクタが占有されているか、またはどのセクタが未使用であるかということの追跡も行なう。
しかし、ファイル・システムは記憶装置を全く利用する必要がない。データを格納するにしても、或いはデータを(例えば、ネットワーク接続から)動的に生成するにしても、任意のデータを編成するために及びそのデータへのアクセスを表わすために、ファイル・システムを利用することが可能である。ファイル・システムが基本的な記憶装置を有しても或いは有さなくても、一般に、ファイル・システムは、ファイル名をファイル割振りテーブル(例えば、MS−DOSファイル・システムにおけるFAT,或いはUnixのようなファイル・システムにおけるiノード)に対するインデックスに結び付けることによってファイル名をファイルに関連付けるディレクトリを有する。ディレクトリの構造はフラット構造であってもよく、或いは、ディレクトリがサブディレクトリを含み得る階層構造も可能である。或るファイル・システムでは、ファイル名が、ファイル名拡張子およびバージョン番号を用いて構造化される。別のファイル・システムでは、ファイル名は単純なストリングであり、ファイルごとのメタデータが他の場所に格納される。
他の記帳情報も、ファイル・システム内の各ファイルに関連付けられる。ファイルに含まれたデータの長さを、そのファイルに対して割り振られたブロックの数または正確なバイト・カウントとして格納することが可能である。ファイルが最後に修正された時間を、ファイルのタイムスタンプとして格納することも可能である。或るファイル・システムは、ファイル作成時間、ファイルが最後にアクセスされた時間、およびファイルのメタデータが変更された時間も格納する。別の情報が、ファイルの装置タイプ(例えば、ブロック、文字、ソケット、サブディレクトリ等)、ファイルの所有者のユーザIDおよびグループID、並びにファイルのアクセス権設定(例えば、ファイルが読取り専用であるか、実行可能であるか等)を含むことも可能である。
ファイル・システムは、ユーザがコンピュータ・システムまたはネットワーク内でファイルを保存すること、検出すること、および/またはアクセスすることを可能にするが、ディレクトリ構造の編成および個々のファイルの名前が変更されてもよい。単一のユーザしかコンピュータ内の特定のディレクトリ構造にアクセスしない場合、ディレクトリ構造およびファイル名の変更は、通常、管理し得るものである。しかし、2つ以上のユーザがディレクトリ構造にアクセスを行なう場合、ディレクトリ構造および/またはファイル名が特定のユーザによって変更されてしまった後、他のユーザがそのファイルを見つけることは難しいであろう。
従って、データ処理システムにおけるファイルへのアクセスの便宜を図るために、ディレクトリ構造に対して行なわれた変更を効率的に追跡するシステムおよび方法を求める要求が存在する。
本発明の目的は、履歴上のファイル名およびロケーションをインデックス付きにすることによってファイル・サービスにおけるファイル・サーチを支援するためのシステム、方法、および、コンピュータを利用した方法を提供することにある。
ファイル・システム内のファイルに対応する第1の名前を第2の名前に変更する要求を受け取ったことに応答して、ファイル・システム・マネージャが、第2の名前を第1の名前およびファイル・システム・データ構造内のファイルに関連付ける。ファイルを求める且つ第1の名前を含む要求を受けるとき、ファイル・システム・マネージャは、第1の名前に基づいてファイル・システムをそのファイルに関しサーチする。第1の名前に基づいたサーチが成功しなかったということを決定すると、ファイル・システム・マネージャは、第2の名前に基づいてファイル・システム・データ構造をファイルに関しサーチする。第2の名前がファイル・システム・データ構造内で見つかると、ファイル・システム・マネージャは、その要求を満たすために、ファイル・システム・データ構造においてリストされた第2の名前を利用してファイルを戻す。
本発明の上記の並びに更なる目的、特徴、および利点は、下記の詳細に記載された説明によって明らかになるであろう。
図面、特に、図1を参照すると、本発明の実施例を具現化し得る例示的なネットワーク10のブロック図が示される。図示のように、ネットワーク10は、クライアント14a〜14nの集合体、インターネット12、およびサーバ16を含む。クライアント14a〜14nはインターネット12を介してサーバ16に接続される。インターネット12はクライアント14a〜14nをサーバ16に接続するために利用されるが、イーサネット(商標)、IEEE 802.11x、或いは他の任意の通信プロトコルを利用したローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)も利用可能であるということは当業者には明らかであろう。
本発明の実施例では、サーバ16が、大容量記憶装置として作用するハードディスク・ドライブ20に接続される。ハードディスク・ドライブ20が、単一のハードディスク・ドライブ、RAID(redundant array of independent array)、または他の任意の記憶装置構成によって具現化し得るものであるということも当業者には明らかであろう。ハードディスク・ドライブ20には、ファイル・システム22およびファイル・システム・データ構造24が格納される。ファイル・システム22は、サーバ16によるアクセスおよびインターネット12を介したクライアント14a〜14nによるアクセスのためのファイルを編成し、格納する。ファイル・システム・データ構造24は、ファイル・システム22内に格納されたファイルに関連付けられているレコードの集合体を含む。各レコードは、図4に関連して更に詳細に説明するように、ファイル・サーチを支援するために履歴上のファイル名および格納ロケーションを含む。ファイル・システム22が、ファイル割当テーブル(FileAllocation Table : FAT)、新技術ファイル・システム(New Technology File System : NTFS)、または高機能ファイル・システム(HighPerformance File System : HPFS)を含むがそれに限定されない任意のファイル・フォーマット利用し得るということも当業者には明らかであろう。クライアント14a〜14nおよびサーバ16は、図2に関連して更に詳細に説明される。例示的なネットワーク10がルータ、ファイアウォール等のような他のコンポーネントを含み得るということも当業者には明らかあろうが、これらは、本発明の説明に密接な関係がなく、本明細書ではこれ以上説明されないであろう。
本発明がクライアント(例えば、 クライアント14a〜14n)に対するファイル・サービスを容易にするためにウェブサーバ(例えば、サーバ16)において具現化されてもよいということも当業者には明らかであろう。例えば、クライアント(例えば、クライアント14a)がウェブサーバから第1の名前を用いてファイルを要求する。そのファイルが第1名称によるサーチを通して見つからなかった場合、ウェブサーバは、そのファイルがリネームされたか、削除されたか、或いは再配置されたかを決定するためにファイル・システム・データ構造24のサーチを実施することができる。そのファイルが削除されたか、リネームされたか、または再配置された場合、ウェブサーバは、第1の名前を利用したサーチの不成功の後に「ファイル未検出」(例えば、エラー)をクライアントに返答する代わりに、その要求されたファイルを新しいロケーションから単に検索する(または、エラーメッセージを返す)ことも可能である。
図2は、図1に示されたようなクライアント14a〜14nおよびサーバ16を具現化するために利用し得る例示的なデータ処理システム100を示すブロック図である。図示のように、データ処理システム100は、システムバス104を介してシステム・メモリ106に接続されるプロセッサ102〜102nの集合体を含む。システム・メモリ106は、ダイナミック・ランダム・アクセス・メモリ(DRAM)・モジュールまたは他の任意のタイプのRAMモジュールを用いて具現化することが可能である。メザニン・バス108がシステム・バス104を周辺バス110に接続する。周辺バス110には大容量記憶装置用のハードディスク・ドライブ112および周辺装置114a〜114nの集合体が接続される。周辺装置114a〜114nの集合体は、光学的ドライブ、他のハードディスク・ドライブ、プリンタ、入力装置等を含み得るがそれらに限定されない。ハードディスク・ドライブ112は図1において具現化されたハードディスク・ドライブ20に利用し得るものであるということも当業者には明らかであろう。
データ処理システム100が、図2には詳細に示されていない多くの更なるコンポーネントを含み得るということも当業者には明らかであろう。そのような更なるコンポーネントは本発明の理解にとって必要ではないので、図2には示されず、これ以上説明されない。しかし、本発明によって提供される環境変数およびプロセス・オプション起動の機能促進のために、データ処理システム100に対する機能強化はいずれのシステム・アーキテクチャのデータ処理システムにも適用可能であり、図2に示された汎用マルチプロセッサ・アーキテクチャ或いは対称マルチプロセッサ(SMP)アーキテクチャに全くに限定されないといことも明らかであろう。
図3は、本発明の好適な実施例に従って、データ処理システム100のシステム・メモリ106の例示的な内容を示すブロック図である。図示のように、システム・メモリ106はオペレーティング・システム202を含み、更に、アプリケーション・プログラム208のような資源への透明なユーザ・アクセスを提供するためのシェル204(それはUNIX(商標)において呼び出される)を含む。一般に、シェル204は、インタープリタ、およびユーザとオペレーティング・システムとの間のインターフェースを提供するプログラムである。更に詳しく云えば、シェル204は、コマンド・ライン・ユーザ・インターフェースまたはファイルに入力されるコマンドを実行する。従って、Windows(商標)ではコマンド・プロセッサとも呼ばれるシェル204は、一般に、最高レベルのオペレーティング・システム・ソフトウェア階層であり、コマンド・インタープリタとして働く。シェル204は、システム・プロンプトを提供し、キーボード、マウス、または他のユーザ入力媒体によって入力されたコマンドを解釈し、処理のためにその解釈されたコマンドをオペレーティング・システムの適切な低いレベルのもの(例えば、カーネル206)に送る。シェル204はテキストベースの回線指向のユーザ・インターフェースであるが、本発明はグラフィカル・インターフェース、音声インターフェース、ジェスチャ・インターフェース等のような他のユーザ・インターフェース・モードも同様に支援するであろうということに留意されたい。
図示のように、オペレーティング・システム202は、オペレーティング・システム202およびアプリケーション・プログラム208のための低レベルの機能(メモリ管理、プロセスおよびタスク管理、ディスク管理、並びに、マウスおよびキーボード管理を含む)を含むカーネル206も含む。アプリケーション・プログラム208は、インターネット12(図1)、ワールド・プロセッサ、スプレッド・シート、および他のアプリケーション・プログラムへのアクセスのために利用されるブラウザを含み得る。更に、図3に示されるように、システム・メモリ106は、ファイル・システム22(図1)内に格納されたファイルへのアクセスを制御し且つファイル・システム・データ構造24(図1)を更新するファイル・システム・マネージャ212を含む。ファイル・システム・マネージャ212がファイル・システム22の一部として、或いは外部アプリケーションまたはカーネル・モジュールとして具現化され得るということも当業者には明らかであろう。
図4は、図1に示されたファイル・システム・データ構造24を示す更に詳細なブロック図である。ファイル・システム・データ構造24は、ファイル・システム210内に保存されたファイルに対応するレコード306a〜306nの集合体を含む。図4に示されるように、レコード306a〜306nの各々は多数のフィールドを更に含む。例えば、レコード306aは、現ファイル名300a、現ロケーション300b、前ファイル名1 302a、前ロケーション1302b、前ファイル名n 304a、および前ロケーションn 304bのフィールドを含む。ファイル・システム・マネージャ212(図3)がファイル・システム22(図1)内にあるファイルの名前またはロケーションを修正するたびに、ファイル・システム・マネージャ212はその修正されたファイルに対応するレコードにおいて少なくとも1つのフィールドを追加または修正する。更に、ファイル・システム・データ構造24は、レコードに関連したファイルが削除または破壊されたかどうか示すファイル破壊フィールド308を含む。ファイルが削除された場合(例えば、そのファイルのすべてのコピーが、代替の名前および/またはロケーションを有するファイルである場合)、ファイル破壊フィールド308は「イエス」を示すであろう。
図5および図6に関連して更に詳細に説明されるように、ファイル・システム・マネージャ212がファイル・システム22内に新しいファイルを保存する時、ファイル・システム・マネージャ212はファイル・システム・データ構造24内に新しいレコード(例えば、レコード306a〜306n)を作成し、その新しいレコードを新しいファイルに関連付ける。例えば、ファイル・システム・マネージャ212は、その新しいファイルのファイル名を現ファイル名フィールド300aに挿入し、新しいファイルのロケーションを現ロケーション・フィールド300bに挿入する。
ファイル・システム・マネージャ212がファイルの名前を変更する要求を受け取る場合、ファイル・システム・マネージャ212はファイル・システム22内のファイルをリネームし、そのファイルのオリジナル名を前ファイル名フィールド(例えば、前ファイル名1フィールド302a)に挿入する。しかる後、ファイル・システム・マネージャ212は、そのファイルの新しい名前を現ファイル名フィールド300aに挿入する。ファイルがリネームされるたびに、前の名前がファイル・システム・データ構造24内のレコードにおける前ファイル名フィールドに挿入される。必要に応じて、追加の前ファイル名フィールドを各レコードに加えることが可能である。
ファイル・システム・マネージャ212がファイルのロケーションを変更する要求を受け取る場合、ファイル・システム・マネージャ212はファイル・システム22内のファイルを再配置し、オリジナル・ロケーションのパスを前ロケーション・フィールド(例えば、前ロケーション1フィールド302b)に挿入する。しかる後、ファイル・システム・マネージャ212は、そのファイルの新しいパスを現ロケーション・フィールド300bに挿入する。ファイルが再配置されるたびに、前のロケーションがファイル・システム・データ構造24内のレコードにおける前ロケーション・フィールドに挿入される。必要に応じて、追加の前ロケーション・フィールドを各レコードに加えることも可能である。各レコード306a〜306nにおける多数のエントリが関連付けられるということは、ファイル・システム・マネージャ212がファイルの現在及び前の名前すべてのレコードを保持し得るので、ファイル・サーチを容易なものにする。
本発明は、前のファイル名/ロケーションをサーチするとき、フィールドのサーチを容易にするためにレコード内の前ファイル名/前ロケーション・フィールドの順序付けも可能にする。例えば、最近のファイル名/ロケーションが望まれる場合、最近のファイル名/ロケーションから始まるフィールドがソートされる。
図5および図6は、本発明の実施例に従って履歴上のファイル名およびロケーションをインデックス付きにすることによってファイル・サーチおよびファイル・サービスを支援するための例示的な方法を示す高レベルの論理的フローチャートである。プロセスはステップ400で始まり、ステップ402に進む。ステップ402は、ファイル・システム22(図1)に新しいファイルを保存する要求がアプリケーション・プログラム208からのアプリケーションから受け取られたかどうかをファイル・システム・マネージャ212(図3)が決定することを示す。ファイル・システム・マネージャ212がファイル・システム22に新しいファイルを保存するリクエストを受け取ったとき、プロセスはステップ404に続く。ステップ404は、ファイル・システム・マネージャ212がファイル・システム22内に新しいファイルを保存することを示す。プロセスはステップ406に進み、ステップ406は、ファイル・システム・マネージャ212がファイル・システム・データ構造24(図1)内に新しいレコード(例えば、レコード306a〜306n)を作成し、その新しいレコードを新しいファイルに関連付けることを示す。プロセスはステップ408に進む。プロセス408は、ファイル・システム・マネージャ212がその新たに作成されたレコードにおける現ファイル名フィールドおよび現ロケーション・フィールドにファイル名およびロケーションを挿入する。プロセスはステップ412に続く。ステップ412は、ファイル名によってファイル・システム22をファイルに関しサーチする要求が受け取られたかどうかをファイル・システム・マネージャ212が判断することを示す。
ステップ402に戻ると、ファイル・システム・マネージャ212がファイル・システム22に新しいファイルを保存する要求を受け取らなかった場合、プロセスはステップ412に続く。ステップ412は、ファイル名によってファイル・システム22をサーチする要求が受け取られたかどうかをファイル・システム・マネージャ212が決定することを示す。ファイル・システム22をサーチする要求が受け取られた場合、ファイル・システム・マネージャ212は、ステップ428に示されるように、ファイル・システム22をサーチして、その要求されたファイルが見つかったかどうか決定する。要求されたファイルが見つかった場合、プロセスはステップ440に続く。ステップ440は、ファイル・システム・マネージャ212がファイル要求を満たすためにそのファイルを送ることを示す。しかる後、プロセスはステップ410に続く。プロセス410は、プロセスが終了するべきかどうかをファイル・システム・マネージャ212が決定することを示す。
ステップ428に戻ると、ファイルが見つからなかった場合、プロセスはステップ430に続く。ステップ430は、ファイル・システム・マネージャ212が前ファイル名のフィールド(例えば、前ファイル名1フィールド302a、前ファイル名nフィールド302n等)を介してファイル・システム・データ構造24をサーチすることを示す。前述のように、ファイル・システム・マネージャ212は、新しいファイル名および/または新しいロケーションの情報でもってファイル・システム・データ構造24内のレコードを、そのレコードに関連するファイルがリネームおよび/または移動させられるたびに、更新する。前の名前/ロケーションが、そのレコードの前ファイル名フィールド/前ロケーション・フィールドに挿入される。ファイルがファイル・システム22の初期サーチによって見つからなかったとき、ファイル・システム・マネージャ212は前ファイル名フィールドを調べることによってファイル・システム・データ構造24におけるレコードをサーチするであろう。プロセスはステップ432に続く。ステップ432は、要求されたファイルが見つかったかどうかをファイル・システム・マネー212が検出することを示す。要求されたファイルが見つかった場合、プロセスはステップ440に続く。本発明が、要求されたファイル名に関してファイル・システム22およびファイル・システム・データ構造24の両方を同時にサーチすることを更に含み、ファイル・システム22およびファイル・システム・データ構造24のサーチが逐次的であることを必要としない、ということは当業者には明らかであろう。
ステップ432に戻ると、要求されたファイルが見つからなかった場合、プロセスは、ステップ434に続く。ステップ434は、インターネット12に接続されたサーバまたはリモート・コンピュータのファイル・システムを利用して具現化されたサーチ・エンジンを含むがそれに限定されないリモート・サーバに、サーチ要求が送出されるべきかどうかをファイル・システム・マネージャ212が決定する。リモート・サーバにサーチ要求が送られるべき場合、ステップ436に示されるように、ファイル・システム・マネージャ212はサーチ要求を送出する。プロセスはステップ437に続く。ステップ437は、その要求されたファイルがリモート・サーバのサーチによって見つかったかどうかをファイル・システム・マネージャ212が決定することを示す。ファイルが見つかった場合、プロセスはステップ440に続く。ファイルが見つからなかった場合、プロセスはステップ438に続く。
ステップ434に戻ると、要求がリモート・コンピュータに送られるべきでないということをファイル・システム・マネージャ212が決定する場合、ファイルが依然としてリモート・コンピュータにおいて見つからなければ、プロセスはステップ438に続く。ステップ438は、ファイル・システム・マネージャ212が「ファイル未検出」メッセージを要求元のアプリケーションに返送することを示す。しかる後、プロセスはステップ410に続く。
ステップ412に戻ると、ファイル・システム・マネージャ212がファイル名によってファイル・システム22を1つのファイルに関しサーチする要求を受け取らなかった場合、プロセスはステップ414に続く。ステップ414は、ファイル・システム22内の既存のファイルをリネームする要求がアプリケーションから受け取られたかどうかをファイル・システム・マネージャ212が決定することを示す。既存のファイルをリネームする要求がアプリケーションから受け取られた場合、プロセスはステップ416に続く。プロセス416は、ファイル・システム・マネージャ212がファイルの古い名前を前ファイル名フィールド(例えば、前ファイル名1フィールド302a)にコピーすることを示す。プロセスはステップ418に続く。ステップ418は、ファイル・システム・マネージャ212がファイルの新しい名前を現ファイル名フィールド(例えば、現ファイル名300a)に挿入することを示す。プロセスはステップ410に進む。
ステップ414に戻ると、ファイル・システム・マネージャ212がファイル・システム210内の既存のファイルをリネームする要求を受け取っていない場合、プロセスはステップ420に続く。ステップ420は、ファイル・システム210内の既存のファイルを再配置する要求をアプリケーションから受け取ったかどうかをファイル・システム・マネージャ212が決定することを示す。ファイル・システム210内の既存のファイルを再配置するためのアプリケーションからの要求をファイル・システム・マネージャ412が受け取った場合、プロセスはステップ422に続く。ステップ422は、ファイル・システム・マネージャ212が前ロケーション・フィールド(例えば、前ロケーション1 302b)にそのファイルの古いロケーションを挿入することを示す。プロセスはステップ424に続く。プロセス424は、ファイル・システム・マネージャ212が現ロケーション・フィールド(例えば、現ロケーション・フィールド300b)にそのファイルの新しいロケーションを挿入することを示す。プロセスはステップ410に続く。
プロセス420において、ファイル・システム・マネージャ212が、ファイル・システム210内の既存のファイルを再配置する要求を受け取っていない場合、プロセスはステップ426に続く。プロセス426は、ファイル・システム・マネージャ412が他の処理を行なうことを示す。そのプロセスはステップ410に続く。プロセス410は、プロセスが終了するかどうかをファイル・システム・マネージャ212が決定することを示す。プロセスが終了する場合、プロセスは、そのプロセスの終了を示すステップ411に進む。プロセスが続く場合、プロセスはステップ402に戻る。
上述のように、本発明は、履歴上のファイル名およびロケーションにインデックス付きにすることによりファイル・サービス内のファイル・サーチを支援するためのシステム、方法、またコンピュータを利用する方法を含む。ファイル・システム・マネージャは、ファイル・システム内のファイルに対応する第1の名前を第2の名前に変更する要求を受け取ったことに応答して、第2の名前を第1の名前およびファイル・システム・データ構造内のファイルに関連付ける。ファイル・システム・マネージャは、そのファイルを求める要求であって第1の名前を含む要求を受け取る場合、第1の名前に基づいてファイル・システムをそのファイルに関してサーチする。第1の名前に基づいたサーチが成功しなかったことが決定されるとき、ファイル・システム・マネージャは、第2の名前に基づいてファイル・システム・データ構造をそのファイルに関してサーチする。第2の名前がファイル・システム・データ構造内で見つかったとき、ファイル・システム・マネージャは、要求を満たすために、ファイル・システム・データ構造においてリストされる第2の名前を利用してファイルを戻す。
本発明の少なくとも幾つかの実施態様はプログラム製品を含むコンピュータ使用可能媒体において代替的に具現化することが可能である、ということは明らかであろう。本発明における機能を定義するプログラムは、書込み不能記憶媒体(例えば、CD−ROM)、書込み可能記憶媒体(例えば、ハードディスク・ドライブ、読取り/書込みCD−ROM、光学的媒体)、ランダム・アクセス・メモリ(RAM)のような、しかしそれに限定されないシステム・メモリ、並びに、イーサネット(商標)、インターネット、ワイヤレス・ネットワーク、および同様のネットワークを含むコンピュータ/電話ネットワークのような通信媒体、を含むがそれらに限定されない種々の信号保持媒体を介してデータ記憶システム或いはコンピュータ・システムに配布することが可能である。従って、そのような信号保持媒体は、本発明における方法機能に関するコンピュータ可読命令が搬送または符号化されるとき、本発明の別の実施例を表わすということも当然である。更に、本発明は、ハードウェア、ソフトウェア、或いは、本明細書で開示されたようなソフトウェアおよびハードウェアの組合せまたはそれらの均等物の形をした手段を有するシステムによって具現化することが可能であるということも明らかであろう。
本発明を好適な実施例に関連して詳細に示し且つ説明したが、本発明がその趣旨および範囲から逸脱することなく形式および細部において様々な変更を施し得るものであるということも当業者には明らかであろう。
本発明の実施例を具現化し得る例示的なネットワークを示すブロック図である。 本発明の実施例を具現化し得る例示的なデータ処理システムを示すブロック図である。 本発明の実施例に従ってシステム・メモリの例示的な内容を示すブロック図である。 本発明の実施例に従ってファイル・システム・データ構造の例示的な内容を示すブロック図である。 本発明の実施例に従って履歴上のファイル名およびロケーションをインデックス付きにすることによってファイル・サービスにおけるファイル・サーチを支援するための例示的な方法を示す高レベルの論理的フローチャートである。 図5の下側に続く論理的フローチャートである。

Claims (15)

  1. ネットワークを介してファイルを見つけるための方法であって、
    ファイル・システム内のファイルに対応する第1の名前を第2の名前に変更する要求を受け取ったことに応答して、前記第2の名前を前記第1の名前およびファイル・システム・データ構造内の前記ファイルに関連付けるステップと、
    前記ファイルを求める要求であって前記第1の名前を含む要求を受け取ったことに応答して、前記第1の名前に基づいて前記ファイル・システムを前記ファイルに関しサーチするステップと、
    前記サーチするステップが成功しなかったという決定に応答して、前記第2の名前に基づいて前記ファイル・システム・データ構造を前記ファイルに関しサーチするステップと、
    前記ファイル・システム・データ構造において前記第2の名前を見つけたことに応答して、前記要求を満たすために前記ファイルを戻すステップと、
    を含む、方法。
  2. 前記ファイルを前記ファイル・システム内の第1のロケーションから第2のロケーションに置換する要求を受け取ったことに応答して、前記第2のロケーションを前記ファイル・システム・データ構造内の前記ファイルに関連付けるステップを更に含む、請求項1に記載の方法。
  3. 前記ファイル・システム・データ構造を前記ファイルに関しサーチする前記ステップは別の名前フィールドのもとに前記ファイル・システム・データ構造をサーチするステップを更に含む、請求項1に記載の方法。
  4. 前記第2の名前に基づいて前記ファイルに関し前記ファイル・システム・データ構造をサーチする前記ステップが成功しなかったという決定に応答して、ネットワークを介してリモート・サーバに前記要求を送るステップを更に含む、請求項1に記載の方法。
  5. ファイル保存要求を受け取ったことに応答して、前記ファイル・システムに新しいファイルを保存し、前記新しいファイに関連付けられた新しいレコードを前記ファイル・システム・データ構造内に作成するステップを更に含む、請求項1に記載の方法。
  6. ネットワークを介してファイルを見つけるためのシステムであって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに接続されたシステム相互接続体と、
    前記システム相互接続体に接続され、前記少なくとも1つのプロセッサが実行し得る命令を含むコンピュータ・プログラム・コードを具体化するコンピュータ使用可能媒体と、 を含み、
    前記コンピュータ・プログラム・コードは、
    ファイル・システム内のファイルに対応する第1の名前を第2の名前に変更する要求を受け取ったことに応答して、前記第2の名前を前記第1の名前およびファイル・システム・データ構造内の前記ファイルに関連付けるように構成された命令と、
    前記ファイルを求める要求であって前記第1の名前を含む要求を受け取ったことに応答して、前記第1の名前に基づいて前記ファイル・システムを前記ファイルに関しサーチするように構成された命令と、
    前記サーチが成功しなかったという決定に応答して、前記第2の名前に基づいて前記ファイル・システム・データ構造を前記ファイルに関しサーチするように構成された命令と、
    前記ファイル・システム・データ構造において前記第2の名前を見つけたことに応答して、前記要求を満たすために前記ファイルを戻すように構成された命令と、
    を含む、システム。
  7. 前記コンピュータ・プログラム・コードは、更に、前記ファイルを前記ファイル・システム内の第1のロケーションから第2のロケーションに置換する要求を受け取ったことに応答して、前記第2のロケーションを前記ファイル・システム・データ構造内の前記ファイルに関連付けるように構成された命令を更に含む、請求項6に記載のシステム。
  8. 前記第2の名前に基づいて前記ファイル・システム・データ構造を前記ファイルに関しサーチするように構成された前記命令は、更に、別の名前フィールドのもとに前記ファイル・システム・データ構造をサーチする、請求項6に記載のシステム。
  9. 前記コンピュータ・プログラム・コードは、前記第2の名前に基づいて前記ファイルに関し前記ファイル・システム・データ構造をサーチする操作が成功しなかったという決定に応答して、ネットワークを介してリモート・サーバに前記要求を送るように構成された命令を更に含む、請求項6に記載のシステム。
  10. 前記コンピュータ・プログラム・コードは、ファイル保存要求を受け取ったことに応答して、前記ファイル・システムに新しいファイルを保存し、前記新しいファイに関連付けられた新しいレコードを前記ファイル・システム・データ構造内に作成するように構成された命令を更に含む、請求項6に記載のシステム。
  11. ネットワークを介してファイルを見つけるためのプログラムであって、前記プログラムは、コンピュータに、
    ファイル・システム内のファイルに対応する第1の名前を第2の名前に変更する要求を受け取ったことに応答して、前記第2の名前を前記第1の名前およびファイル・システム・データ構造内の前記ファイルに関連付けるステップと、
    前記ファイルを求める要求であって前記第1の名前を含む要求を受け取ったことに応答して、前記第1の名前に基づいて前記ファイル・システムを前記ファイルに関しサーチするステップと、
    前記サーチが成功しなかったという決定に応答して、前記第2の名前に基づいて前記ファイル・システム・データ構造を前記ファイルに関しサーチするステップと、
    前記ファイル・システム・データ構造において前記第2の名前を見つけたことに応答して、前記要求を満たすために前記ファイルを戻すステップと、
    を実行させる、プログラム。
  12. 前記コンピュータ・プログラム・コードは、前記ファイルを前記ファイル・システム内の第1のロケーションから第2のロケーションに置換する要求を受け取ったことに応答して、前記第2のロケーションを前記ファイル・システム・データ構造内の前記ファイルに関連付けるステップを含む、請求項11に記載のプログラム。
  13. 前記第2の名前に基づいて前記ファイル・システム・データ構造を前記ファイルに関しサーチするステップは、別の名前フィールドのもとに前記ファイル・システム・データ構造をサーチするステップを更に含む、請求項11に記載のプログラム。
  14. 前記コンピュータ・プログラム・コードは、前記第2の名前に基づいて前記ファイルに関し前記ファイル・システム・データ構造をサーチするが成功しなかったという決定に応答して、ネットワークを介してリモート・サーバに前記要求を送るステップを更に含む、請求項11に記載のプログラム。
  15. 前記コンピュータ・プログラム・コードは、ファイル保存要求を受け取ったことに応答して、前記ファイル・システムに新しいファイルを保存し、前記新しいファイに関連付けられた新しいレコードを前記ファイル・システム・データ構造内に作成するステップを更に含む、請求項11に記載のプログラム。
JP2008100414A 2007-04-09 2008-04-08 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法 Expired - Fee Related JP5241298B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/697,839 US7844596B2 (en) 2007-04-09 2007-04-09 System and method for aiding file searching and file serving by indexing historical filenames and locations
US11/697839 2007-04-09

Publications (2)

Publication Number Publication Date
JP2008262561A true JP2008262561A (ja) 2008-10-30
JP5241298B2 JP5241298B2 (ja) 2013-07-17

Family

ID=39827875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008100414A Expired - Fee Related JP5241298B2 (ja) 2007-04-09 2008-04-08 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法

Country Status (3)

Country Link
US (1) US7844596B2 (ja)
JP (1) JP5241298B2 (ja)
CN (1) CN101303696A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10032152B2 (en) 2013-10-22 2018-07-24 Seiko Epson Corporation Transmission system that enables correlation between a sending device and each of multiple receiving devices

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
CA2638593A1 (en) * 2007-08-16 2009-02-16 Andrew Echenberg Online magazine
US8725791B2 (en) * 2009-05-02 2014-05-13 Citrix Systems, Inc. Methods and systems for providing a consistent profile to overlapping user sessions
US8412731B2 (en) * 2010-12-09 2013-04-02 International Business Machines Corporation File management method and system
US20120254118A1 (en) * 2011-03-31 2012-10-04 Microsoft Corporation Recovery of tenant data across tenant moves
US10437862B1 (en) 2015-09-29 2019-10-08 Magnet Forensics Inc. Systems and methods for locating and recovering key populations of desired data
US11860956B2 (en) * 2020-05-08 2024-01-02 Sap Se Metadata based bi-directional data distribution of associated data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290095A (ja) * 1993-03-31 1994-10-18 Matsushita Electric Ind Co Ltd ファイル管理装置
JP2002189746A (ja) * 2000-12-21 2002-07-05 Just Syst Corp 電子ファイル検索装置、電子ファイル検索方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US20050120060A1 (en) * 2003-11-29 2005-06-02 Yu Meng System and method for solving the dead-link problem of web pages on the Internet

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286013B1 (en) * 1993-04-01 2001-09-04 Microsoft Corporation Method and system for providing a common name space for long and short file names in an operating system
US5572729A (en) * 1994-01-11 1996-11-05 Sun Microsystems, Inc. Method for stateless rename propagation between hierarchical file name spaces
US5513351A (en) 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
US6002402A (en) 1997-04-09 1999-12-14 Symantec Corporation System and method for producing a drag-and-drop object from a popup menu item
US6697846B1 (en) * 1998-03-20 2004-02-24 Dataplow, Inc. Shared file system
US6330567B1 (en) 1998-08-13 2001-12-11 Tornado Technologies Co., Ltd Searching system for searching files stored in a hard disk of a personal computer
US7003721B1 (en) 1999-06-15 2006-02-21 Microsoft Corporation Safe save method of HTML files using recovery files including a list with temporary and final names for replacement files
US6766334B1 (en) * 2000-11-21 2004-07-20 Microsoft Corporation Project-based configuration management method and apparatus
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6981210B2 (en) 2001-02-16 2005-12-27 International Business Machines Corporation Self-maintaining web browser bookmarks
JP2003219327A (ja) * 2001-09-28 2003-07-31 Canon Inc 画像管理装置、画像管理方法、制御プログラム、情報処理システム、画像データ管理方法、アダプタ、及びサーバ
US7444317B2 (en) * 2002-06-28 2008-10-28 Microsoft Corporation System and method for managing file names for file system filter drivers
US20060184892A1 (en) 2005-02-17 2006-08-17 Morris Robert P Method and system providing for the compact navigation of a tree structure
US7908276B2 (en) * 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290095A (ja) * 1993-03-31 1994-10-18 Matsushita Electric Ind Co Ltd ファイル管理装置
JP2002189746A (ja) * 2000-12-21 2002-07-05 Just Syst Corp 電子ファイル検索装置、電子ファイル検索方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US20050120060A1 (en) * 2003-11-29 2005-06-02 Yu Meng System and method for solving the dead-link problem of web pages on the Internet

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10032152B2 (en) 2013-10-22 2018-07-24 Seiko Epson Corporation Transmission system that enables correlation between a sending device and each of multiple receiving devices

Also Published As

Publication number Publication date
JP5241298B2 (ja) 2013-07-17
US20080250017A1 (en) 2008-10-09
CN101303696A (zh) 2008-11-12
US7844596B2 (en) 2010-11-30

Similar Documents

Publication Publication Date Title
JP5241298B2 (ja) 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法
JP4416821B2 (ja) ネットワーク上でクライアントからアクセス可能なファイルセットの名前空間を維持する分散ファイル・システム
JP4824085B2 (ja) ネットワークファイルシステムをキャッシュするシステム、及び方法
US7743038B1 (en) Inode based policy identifiers in a filing system
US7860907B2 (en) Data processing
JP4359448B2 (ja) ファイルシステムフィルタドライバのためのファイルネームを管理するシステム及び方法
JP4568115B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
US8423733B1 (en) Single-copy implicit sharing among clones
JP4315876B2 (ja) ファイル管理プログラム、ファイル管理方法、及びファイル管理装置
US8095678B2 (en) Data processing
JP2004310621A (ja) 記憶装置システムにおけるファイルアクセス方法及びファイルアクセスのためのプログラム
JP2006031668A (ja) データ価値に基づく階層型ストレージ管理の為の方法と装置
JP2007272874A (ja) クラスタ化ファイルシステムにおいてデータのバックアップを取る方法
US8090925B2 (en) Storing data streams in memory based on upper and lower stream size thresholds
WO2008055010A1 (en) Reverse name mappings in restricted namespace environments
JP2007527074A (ja) ファイルシステム内での効率的なファイルコンテンツをサーチするためのシステム及び方法
KR20090063733A (ko) 다중 복제를 지원하는 분산 파일 시스템에서 데이터 서버의복구 방법 및 그에 적당한 메타데이터 스토리지 및 저장방법
JP2001101042A (ja) データ管理システム及びデータ管理方法
US8176087B2 (en) Data processing
US7516133B2 (en) Method and apparatus for file replication with a common format
US8135760B1 (en) Determining the lineage of a content unit on an object addressable storage system
US8886656B2 (en) Data processing
JP2004252957A (ja) 分散ファイルシステムのファイルレプリケーション方法及び装置
US7130931B2 (en) Method, system, and article of manufacture for selecting replication volumes
JP2008544397A (ja) ファイルシステム内へのコンテンツの格納を管理する方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130115

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130402

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5241298

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees