JP2007108905A - ファイルサーバ、ファイル提供方法及びプログラム - Google Patents
ファイルサーバ、ファイル提供方法及びプログラム Download PDFInfo
- Publication number
- JP2007108905A JP2007108905A JP2005297278A JP2005297278A JP2007108905A JP 2007108905 A JP2007108905 A JP 2007108905A JP 2005297278 A JP2005297278 A JP 2005297278A JP 2005297278 A JP2005297278 A JP 2005297278A JP 2007108905 A JP2007108905 A JP 2007108905A
- Authority
- JP
- Japan
- Prior art keywords
- file
- directory
- acquired
- path
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】ファイルの格納場所が変更しても、クライアントが変更前のファイル所在情報を用いてそのファイルにアクセスすることができ、ファイルにアクセスするために用いるファイル所在情報を参照することでユーザがファイルの格納場所を類推できるファイルサーバを提供する。
【解決手段】ファイル要求処理部12は、ファイル要求元からファイル要求を受け取ると、ファイル要求に示されるファイル所在情報から、要求対象ファイルを一意に特定するファイルIDと仮想ディレクトリのパスとを取得し、その仮想ディレクトリのパス上に、取得したファイルIDに対応するファイルが存在するか否かを判定し、判定の結果、取得したファイルIDに対応するファイルが存在する場合、取得したファイルIDに対応するファイルを取得して、そのファイルを要求対象ファイルとしてファイル要求元へ提供する。
【選択図】図3
【解決手段】ファイル要求処理部12は、ファイル要求元からファイル要求を受け取ると、ファイル要求に示されるファイル所在情報から、要求対象ファイルを一意に特定するファイルIDと仮想ディレクトリのパスとを取得し、その仮想ディレクトリのパス上に、取得したファイルIDに対応するファイルが存在するか否かを判定し、判定の結果、取得したファイルIDに対応するファイルが存在する場合、取得したファイルIDに対応するファイルを取得して、そのファイルを要求対象ファイルとしてファイル要求元へ提供する。
【選択図】図3
Description
本発明は、複数のファイルを管理するファイルサーバに関する。
この分野の従来技術として、特許文献1に示される技術がある。この技術では、ファイルサーバが、各ファイルに対してハンドルと呼ぶ一意な識別子を付与して管理している。そして、そのファイルのURLとして、従来一般的なファイルの所在場所(所在サーバとそのサーバ内でのファイルの格納場所を示すディレクトリのパスとの組合せ)を示したURLではなく、当該システムのサーバ名とファイルのハンドルとを指定した仮想URLをユーザに提供する。ユーザがその仮想URLを用いて当該システムにアクセスすると、システムはそのハンドルからファイルの所在場所を特定し、ユーザに提供する。このような仕組みにより、ファイルがデータ管理システム上のどの場所(ディレクトリ)に移動しても、ユーザからの要求に応じてそのファイルを見つけることができる。
しかし、特許文献1において、仮想URLには、ファイルの格納場所を示すディレクトリのパスは表記されない。よって、ユーザは、仮想URLを参照してもその仮想URLに対応するファイルの格納場所を類推することができない。
一方、FTP(File Transfer Protocol)を用いてファイルにアクセスする場合には、URLにファイルの格納場所を示すディレクトリのパスが表記される。よって、ユーザは、URLを参照することでそのURLに対応するファイルの格納場所を類推することができる。例えば、ftp://abc.co.jp/pub/incoming/readme.txtというURLを用いてファイルにアクセスする場合、abc.co.jpというホスト名を持つFTPサーバの/pub/incoming/というディレクトリのパスにreadme.txtというファイルが格納されていることをユーザは類推することができる。
しかし、FTPを用いてファイルにアクセスする場合には、ファイルの格納場所を移動するとディレクトリのパスも変わるため、クライアントは以前のURLを用いてそのファイルにアクセスすることができない。
本発明は、複数のファイルを管理するファイルサーバにおいて、たとえファイルの格納場所が変更しても、変更前のファイル所在情報を用いてそのファイルにアクセスさせることができ、ファイルにアクセスするために用いるファイル所在情報を参照することでユーザがファイルの格納場所を類推できるようにする。
本発明は、ファイルをファイル要求元へ提供するファイルサーバとして、コンピュータを機能させるためのプログラムにおいて、前記ファイル要求元からファイル要求を受け取ると、受け取ったファイル要求に示されるファイル所在情報から、要求対象ファイルを一意に特定するファイルIDと、ディレクトリのパスとを取得し、前記取得したディレクトリのパス上に、前記取得したファイルIDに対応するファイルが存在するか否かを判定し、判定の結果、前記取得したファイルIDに対応するファイルが存在する場合、前記取得したファイルIDに対応するファイルを取得して、取得したファイルを要求対象ファイルとして前記ファイル要求元へ提供する、ように前記コンピュータを機能させることを特徴とする。
本発明によれば、ファイルの格納場所が変更しても、クライアントが変更前のファイル所在情報を用いてそのファイルにアクセスすることができ、ファイルにアクセスするために用いるファイル所在情報を参照することでユーザがファイルの格納場所を類推することができる。
本発明を実施するための最良の形態(以下、実施形態とする)について、以下図面を用いて説明する。
図1は、本実施形態におけるファイル管理システムのシステム構成を示す図である。本システムでは、LAN(ローカル・エリア・ネットワーク)やインターネットなどのネットワーク50に接続されたファイルサーバ10とクライアント30とから構成される。
ファイルサーバ10は、ファイルの実際の格納場所を示す実ディレクトリと、ファイルの仮想的な格納場所を示す仮想ディレクトリとを管理する。ファイルとは、文書データ、画像データ、動画データなど、ネットワーク50を介してファイルサーバ10とクライアント30とがやり取り可能なデータ全般をいう。
クライアント30は、要求対象ファイルのファイル所在情報を含むファイル要求をファイルサーバ10に送信する。ファイルサーバ10は、クライアント30から受け取ったファイル所在情報に基づいて要求対象ファイルを検索し、得られたファイルをクライアント30に提供する。
ファイル所在情報には、少なくとも要求対象ファイルを一意に特定するグローバルに一意なファイルIDと、要求対象ファイルの仮想的な格納場所を示す仮想ディレクトリのパスとが示される。ファイル所在情報は、例えばURL(Uniform Resource Locator )の記述方式を用いて記述される。図2は、URLを用いた場合のファイル所在情報の一例を示す。図2に示す通り、ファイル所在情報は、ファイル要求先のホスト名100と、要求対象ファイルの仮想ディレクトリのパス102と、要求対象ファイルのファイルID104とが示される。
なお、グローバルに一意なファイルIDとしては、例えばUUID(Universally Unique IDentifier)又はGUID(Globally Unique IDentifier)と呼ばれる128ビットの識別情報を用いることができる。ちなみに、UUIDは、グローバルな一意性を保証するために、そのUUIDを作成した時刻や作成に使用したマシンに装着されたネットワークカードのMAC(Media Access Control)アドレス等を含んでいる。
図3は、本実施形態におけるファイルサーバ10の機能ブロックを示す図である。図3において、ファイル要求処理部12は、クライアント30から送信されたファイル要求を受け取り、そのファイル要求に示されるファイル所在情報に基づいて、要求対象ファイルを検索し、得られたファイルを要求対象ファイルとしてクライアント30に送信する。ファイル保持部14は、各ファイルをそれぞれ指定された実ディレクトリの配下に格納する。
仮想ディレクトリ管理部16は、仮想ディレクトリ情報17を保持する。仮想ディレクトリが図4に示すような階層構造により構成される場合、仮想ディレクトリ情報17は、図5に示すような情報である。図5に示す通り、仮想ディレクトリ情報17には、仮想ディレクトリの仮想ディレクトリ名110と、その仮想ディレクトリの1つ上の階層に位置する親仮想ディレクトリの仮想ディレクトリ名112とが関連づけて示される。なお、図5において、親仮想ディレクトリ名が「null」の仮想ディレクトリは、ルートディレクトリである。ファイル要求処理部12は、仮想ディレクトリ情報17を参照することで、現在の仮想ディレクトリの構造を確認することができる。
ファイル管理部18は、ファイル情報19を保持する。図6は、ファイル情報19の一例を示す。図6に示す通り、ファイル情報19には、ファイルID120と、ファイルの仮想的な格納場所となる仮想ディレクトリのパス122と、ファイル名124と、ファイルの実際の格納場所となる実ディレクトリのパス126とが関連づけて示される。ファイル要求処理部12は、ファイル情報19を参照することで、ファイルの仮想的な格納場所を示す仮想ディレクトリやファイルの実際の格納場所を示す実ディレクトリを確認することができる。
続いて、クライアント30からファイル要求を受け取った場合におけるファイル要求処理部12の処理手順について、図7に示すフローチャートを用いて説明する。
ファイル要求処理部12は、クライアント30からファイル要求を受け取ると、そのファイル要求に示されるファイル所在情報から仮想ディレクトリのパスと要求対象ファイルのファイルIDとを取得する(S100)。ファイル要求処理部12は、ファイル情報19を参照して、要求対象ファイルが存在するか否かを判定する(S102)。つまり、ファイル要求処理部12は、ファイル情報19に登録されたファイルID群の中に、要求対象ファイルのファイルIDが含まれているかどうかを検索する。判定の結果、要求対象ファイルが存在しない場合には(S102の判定結果が、否定「N」)、ファイル要求処理部12は、ファイル要求元のクライアント30に、要求対象ファイルが存在しない旨のエラー通知を行う(S116)。
一方、S102での判定の結果、要求対象ファイルが存在する場合には(S102の判定結果が、肯定「Y」)、ファイル要求処理部12は、ファイル情報19を参照することで、取得した仮想ディレクトリのパス上に要求対象ファイルが存在するか否かを判定する(S104)。つまり、取得した仮想ディレクトリのパスと取得したファイルIDとが対となる情報がファイル情報19に登録されているかどうかを判定する。判定の結果、取得した仮想ディレクトリのパス上に要求対象ファイルが存在する場合(S104での判定結果が、肯定「Y」)、ファイル要求処理部12は、ファイル情報19を参照して、取得したファイルIDに対応する実ディレクトリのパスを特定する(S106)。次いで、ファイル要求処理部12は、特定した実ディレクトリのパスの最下位層に示される実ディレクトリから要求対象ファイルを取得し(S108)、ファイル要求先のクライアント30にその要求対象ファイルを提供する(S110)。
一方、S104での判定の結果、取得した仮想ディレクトリのパス上に要求対象ファイルが存在しない場合(S104での判定結果が、否定「N」)、ファイル要求処理部12は、要求対象ファイルがファイル所在情報に示された仮想ディレクトリのパスから移動したと判断する。そして、ファイル要求処理部12は、ファイル情報19を参照して、要求対象ファイルのファイルIDに対応する現在の仮想ディレクトリのパスを特定する(S112)。次いで、ファイル要求処理部12は、特定した仮想ディレクトリのパスと要求対象ファイルのファイルIDとを示す新たなファイル所在情報を生成し、生成したファイル所在情報をファイル要求元のクライアント30に提供する(S114)。クライアント30は、ファイルサーバ10からファイル要求の応答としてファイル所在情報を提供された場合、要求対象ファイルが移動したと判断して、提供されたファイル所在情報を示した新たなファイル要求をファイルサーバ10に送信する。
以上、本実施形態によれば、クライアント30は、たとえ要求対象ファイルが移動した場合でも、以前のファイル所在情報を用いてファイルサーバ10にファイル要求を行えば、新たなファイル所在情報を提供される。よって、クライアント30は、改めて新たなファイル所在情報を用いてファイル要求を行えば、最終的に要求対象ファイルを取得することができる。また、ファイル要求の応答として新たなファイル所在情報がクライアント30に提供されるため、ユーザは要求対象ファイルが他の仮想ディレクトリに移動したことを把握することができる。さらに、クライアント30がファイルを要求する際に用いるファイル所在情報には、ファイルの仮想的な格納場所を示す仮想ディレクトリのパスが示されている。よって、ユーザは、ファイル所在情報を参照することで、ファイルがどのようなディレクトリの配下に存在するのかを推測することができる。
続いて、本実施形態の第1の変形例について説明する。第1の変形例では、要求対象ファイルがすでに他の仮想ディレクトリに移動していた場合、ファイル要求処理部12がファイル所在情報とともに要求対象ファイルも併せて、ファイル要求の応答として要求元のクライアント30に提供する点で上記の実施形態とは異なる。
以下、第1の変形例において、クライアント30からファイル要求を受け取った場合におけるファイル要求処理部12の処理手順について図8に示すフローチャートを用いて説明する。ここでは、図7と同一内容の処理については、同一符号を付して説明を省略し、S104以降の処理について説明する。
図8において、要求対象ファイルがすでに他の仮想ディレクトリに移動していた場合、つまり、S104での判定結果が否定「N」の場合、ファイル要求処理部12は、ファイル情報19を参照して、要求対象ファイルに対応する現在の仮想ディレクトリのパスと実ディレクトリのパスとを特定する(S120)。次いで、ファイル要求処理部12は、特定した実ディレクトリのパスの最下位層に位置する実ディレクトリから要求対象ファイルを取得する(S122)。さらに、ファイル要求処理部12は、特定した現在の仮想ディレクトリのパスを示す新たなファイル所在情報を生成して、そのファイル所在情報と取得した要求対象ファイルとをファイル要求元のクライアント30へ提供する(S124)。
以上、第1の変形例によれば、たとえ要求対象ファイルが移動していた場合でも、クライアント30は、以前のファイル所在情報を用いてファイルサーバ10にファイル要求を行えば、そのファイル要求の応答として、要求対象ファイルとともに新たなファイル所在情報を取得することができる。そして、ユーザは、どの仮想ディレクトリにファイルが移動したかを類推することができる。
続いて、本実施形態の第2の変形例について説明する。第2の変形例では、ファイル所在情報に示される仮想ディレクトリのパスが、仮想ディレクトリをグローバルに一意に特定する仮想ディレクトリIDにより構成されている点で、上記の実施形態や第1の変形例とは異なる。なお、仮想ディレクトリIDは、ファイルIDと同様にUUID又はGUIDを用いることができる。図9は、URLを用いた場合の第2の変形におけるファイル所在情報の一例を示す。図9に示す通り、ファイル所在情報は、ファイル要求先のホスト名100と、仮想ディレクトリIDにより構成される仮想ディレクトリのパス106と、要求対象ファイルのファイルID104とが示される。
図10は、第2の変形例における仮想ディレクトリの階層構造の一例を示す。図10に示すように、第2の変形例では、各仮想ディレクトリには、それぞれグローバルに一意な仮想ディレクトリIDが付与されている。このように、仮想ディレクトリにグローバルに一意な仮想ディレクトリIDを付与することで、図10に示す「soft」のように、同一の階層に同一の名前をもつ仮想ディレクトリを存在させることができる。
図11は、第2の変形例における仮想ディレクトリ管理部16が保持する仮想ディレクトリ情報17の一例を示す。図10に示すように、第2の変形例では、仮想ディレクトリ情報17には、仮想ディレクトリ名110と、その仮想ディレクトリの仮想ディレクトリID114と、その仮想ディレクトリの1つ上の階層に位置する親仮想ディレクトリの仮想ディレクトリID116とが関連づけて示される。
図12は、第2の変形例におけるファイル管理部18が保持するファイル情報19の一例を示す。図12に示すように、第2の変形例では、ファイル情報19には、ファイルID120と、ファイルの仮想的な格納場所となる親仮想ディレクトリの仮想ディレクトリID128と、ファイル名124と、ファイルの実際の格納場所となる実ディレクトリのパス126とが関連づけて示される。
第2の変形例では、上記の通り、各仮想ディレクトリには、それぞれグローバルに一意な仮想ディレクトリIDが付与されている。よって、ファイル要求処理部12は、ファイルの仮想的な格納場所となる親仮想ディレクトリの仮想ディレクトリIDが特定できれば、その仮想ディレクトリIDと仮想ディレクトリ情報17とを照合することで、ファイルの仮想的な格納場所となる仮想ディレクトリのパスを特定することができる。よって、第2の変形例では、ファイル情報19には、ファイルの仮想的な格納場所となる仮想ディレクトリのパス122の代わりに、ファイルの仮想的な格納場所となる親仮想ディレクトリの仮想ディレクトリID128が示される。
実施形態や第1の変形例では、ファイルが移動すると、ファイル管理部18は、移動先の仮想ディレクトリからその仮想ディレクトリの上位の階層に存在するルートディレクトリまでの仮想ディレクトリをすべて特定して、特定した仮想ディレクトリ群により構成される仮想ディレクトリのパスをファイル情報19に改めて登録する必要がある。一方、第2の変形例では、ファイルが移動しても、ファイル管理部18は、移動先の仮想ディレクトリのみを特定して、特定した仮想ディレクトリの仮想ディレクトリIDをファイル情報19に改めて登録するだけで済む。例えば、図13に示すように、「price」ファイルが「fileserver」仮想ディレクトリから「scanserver」仮想ディレクトリに移動した場合、ファイル管理部18は、図14に示すように、ファイル情報19における「price」ファイルに対応する親仮想ディレクトリIDを「dir4」から「dir5」に変更すればよい。
ここで、第2の変形例において、クライアント30からファイル要求を受け取った場合におけるファイル要求処理部12の処理手順について図15に示すフローチャートを用いて説明する。
ファイル要求処理部12は、クライアント30からファイル要求を受け取ると、そのファイル要求に示されるファイル所在情報から仮想ディレクトリのパスと要求対象ファイルのファイルIDとを取得する(S200)。ファイル要求処理部12は、ファイル情報19を参照して、要求対象ファイルが存在するか否かを判定する(S202)。判定の結果、要求対象ファイルが存在しない場合(S202の判定結果が、否定「N」)、ファイル要求処理部12は、ファイル要求元のクライアント30に、要求対象ファイルが存在しない旨のエラー通知を行う(S218)。
一方、S202での判定の結果、要求対象ファイルが存在する場合(S202の判定結果が、肯定「Y」)、ファイル要求処理部12は、ファイル情報19を参照して要求対象ファイルが現在仮想的に保管されている仮想ディレクトリの仮想ディレクトリID、つまり親仮想ディレクトリIDを特定する(S204)。次いで、ファイル要求処理部12は、取得した仮想ディレクトリのパスと、特定した親仮想ディレクトリIDから仮想ディレクトリ情報17を参照してルートディレクトリまで親をたどって作成したパスが一致するかどうかを判定する(S206)。判定の結果、一致する場合には(S206の判定結果が、肯定「Y」)、ファイル要求処理部12は、ファイル情報19を参照して、取得したファイルIDに対応する実ディレクトリのパスを特定する(S208)。次いで、ファイル要求処理部12は、特定した実ディレクトリのパスの最下位層に示される実ディレクトリから要求対象ファイルを取得し(S210)、ファイル要求先のクライアント30にその要求対象ファイルを提供する(S212)。
一方、S206での判定の結果、一致しない場合(S206での判定結果が、否定「N」)、ファイル要求処理部12は、要求対象ファイルがファイル所在情報に示された仮想ディレクトリのパスから移動したと判断する。そして、ファイル要求処理部12は、仮想ディレクトリ情報17を参照して、特定した親仮想ディレクトリIDを最下位層とする仮想ディレクトリのパスを生成する(S214)。次いで、ファイル要求処理部12は、生成した仮想ディレクトリのパスと要求対象ファイルのファイルIDとを示すファイル所在情報を生成し、生成したファイル所在情報をファイル要求元のクライアント30に提供する(S216)。
以上、第2の変形例によれば、クライアント30は、たとえ要求対象ファイルが移動した場合でも、以前のファイル所在情報を用いてファイルサーバ10にファイル要求を行えば、新たなファイル所在情報を提供される。よって、クライアント30は、改めて新たなファイル所在情報を用いてファイル要求を行えば、最終的に要求対象ファイルを取得することができる。また、ファイル要求の応答として新たなファイル所在情報がクライアント30に提供されるため、ユーザは要求対象ファイルが他の仮想ディレクトリに移動したことを把握することができる。さらに、クライアント30がファイルを要求する際に用いるファイル所在情報には、ファイルの仮想的な格納場所を示す仮想ディレクトリのパスが示されている。よって、ユーザは、ファイル所在情報を参照することで、ファイルがどのようなディレクトリの配下に存在するのかを推測することができる。
また、各仮想ディレクトリにはそれぞれグローバルに一意な仮想ディレクトリIDが付与されている。よって、第2の変形例によれば、同一階層に同一の名前をもつ仮想ディレクトリを存在させることができる。
続いて、本実施形態の第3の変形例について説明する。第1の変形例と同様に、要求対象ファイルがすでに他の仮想ディレクトリに移動していた場合、ファイル要求処理部12がファイル所在情報とともに要求対象ファイルも併せて、ファイル要求の応答として要求元のクライアント30に提供する。
図16は、第3の変形例において、クライアント30からファイル要求を受け取った場合におけるファイル要求処理部12の処理手順を示すフローチャートである。図16において、図15と同一の処理については同一符号を付して説明を省略し、以下S206以降の処理について説明する。
図16において、要求対象ファイルがすでに他の仮想ディレクトリに移動していた場合、つまり、S206での判定結果が否定「N」の場合、ファイル要求処理部12は、ファイル情報19を参照して、要求対象ファイルに対応する現在の仮想ディレクトリのパスと実ディレクトリのパスとを特定する(S220)。次いで、ファイル要求処理部12は、特定した実ディレクトリのパスの最下位層に位置する実ディレクトリから要求対象ファイルを取得する(S222)。さらに、ファイル要求処理部12は、仮想ディレクトリ情報17を参照して、特定した親仮想ディレクトリIDを最下位層とする仮想ディレクトリのパスを生成する(S224)。ファイル要求処理部12は、生成した仮想ディレクトリのパスと要求対象ファイルのファイルIDとを示す新たなファイル所在情報を生成し、その新たなファイル所在情報と取得した要求対象ファイルをファイル要求元のクライアント30に提供する(S226)。
以上、第3の変形例によれば、たとえ要求対象ファイルが移動していた場合でも、クライアント30は、以前のファイル所在情報を用いてファイルサーバ10にファイル要求を行えば、そのファイル要求の応答として、要求対象ファイルとともに新たなファイル所在情報を取得することができる。
続いて、本実施形態の第4の変形例について説明する。第4の変形例では、ファイル管理システム上に複数のファイルサーバが配置され、ファイルサーバ間でファイルが移動する場合について説明する。
図17は、第4の変形例におけるファイル管理システムのシステム構成を示す図である。図17に示すように、第4の変形例では、ネットワーク50を介して複数のファイルサーバ10が接続されている。各ファイルサーバには、ファイル管理システム上でファイルサーバを一意に特定するサーバIDが付与されている。サーバIDは、例えばホスト名やIPアドレスなどである。
上記の実施形態および各変形例では、ファイル要求処理部12は、ファイル情報19に登録されたファイルID群の中に、要求対象ファイルのファイルIDが含まれているかどうかを検索し、検索できなかった場合は、そのままファイル要求元のクライアント30にエラー通知を行っていた(図7,図8におけるS116及び図15,図16におけるS218)。しかし、第4の変形例では、ファイル要求処理部12は、要求対象ファイルを検索できなかった場合、他のファイルサーバ10に要求対象ファイルを保持しているかどうかの問い合わせを行う。
図18は、要求対象ファイルを検索できなかった場合に、ファイル要求処理部12が他のファイルサーバへの問合わせを行う際の処理手順を示すフローチャートである。
図18において、ファイル要求処理部12は、まず、他のファイルサーバを検出する(S300)。他のファイルサーバの検出は、例えば、他サーバ検出用の所定のメッセージをファイル要求処理部12からネットワーク50へブロードキャストすることで行うことができる。他のファイルサーバは、他サーバ検出用のメッセージを認識し、それに対して応答するためのプロトコルを有している。すなわち、他サーバ検出用メッセージを受け取った他のファイルサーバは、このプロトコルに従い、ファイル要求処理部12に応答する。ファイル要求処理部12は、他のファイルサーバからの応答を受け取る。これにより、本システムを構成する他のファイルサーバを見つけることができる。他の方法としては、各ファイルサーバが他のファイルサーバのサーバIDのリストを保持するようにしても良い。
他のファイルサーバが見つからない場合(S302の判定結果が、否定「N」)、ファイル要求処理部12は、要求元のクライアント30へエラー通知を行う(S310)。一方、他のファイルサーバが見つかると(S302の判定結果が、肯定「Y」)、ファイル要求処理部12は、クライアント30から受け取ったファイル所在情報に含まれるファイルIDを含んだ問合わせを他のファイルサーバに送り、そのファイルIDに対応するファイルを持っているか否かを問合わせる(S304)。この問合わせを受けた他のファイルサーバは、そのファイルIDに対応するファイルを持っている場合には、そのファイルに対応する新たなファイル所在情報をファイル要求処理部12に提供するが、問合わせを受けた他のファイルサーバの動作については、後で説明する。
この問合わせの結果、問合わせ先の他のファイルサーバが当該ファイルを持っていないことが判明した場合は(S306の判定結果が、否定(N))、他のファイルサーバの検出(S300)及びそれに対する問合わせ(S302)を新たな他のファイルサーバが検出できなくなるまで繰り返す。一方、問い合わせの結果、問合わせ先の他のファイルサーバが当該ファイルを持っている場合は(S306の判定結果が、肯定「Y」)、ファイル要求処理部12は、問合わせ先の他のファイルサーバから受け取ったファイル所在情報を要求元のクライアント30に提供する(S308)。
次に、他のファイルサーバから上記の問い合わせを受けた場合のファイル要求処理部12の処理手順について図19に示すフローチャートを用いて説明する。
図19において、ファイル要求処理部12は、問合わせから要求対象ファイルのファイルIDを抽出する(S400)。次いで、ファイル要求処理部12は、ファイル情報19を参照して、抽出したファイルIDを検索する(S402)。検索の結果、該当ファイルIDが検索できなかった場合(S404での判定結果が、否定「N」)、ファイル要求処理部12は、問合わせ元のファイルサーバに該当ファイルが存在しない旨を通知する(S406)。
一方、検索の結果、該当ファイルが存在する場合(S404での判定結果が、肯定「Y」)、ファイル要求処理部12は、仮想ディレクトリ情報17やファイル情報19を参照して、該当ファイルの仮想ディレクトリのパスを生成する。仮想ディレクトリのパスの生成は、上記の実施形態や各変形例と同様でよい。次いで、ファイル要求処理部12は、少なくとも、生成した仮想ディレクトリのパス、該当ファイルのファイルID、自己のサーバIDを含むファイル所在情報を生成して、そのファイル所在情報を問合わせ元のファイルサーバに提供する(S408)。
以上、第4の変形例によれば、要求対象ファイルがファイル要求を受けたファイルサーバ上に存在しない場合にも、他のファイルサーバ上に要求対象ファイルが存在すれば、その要求対象ファイルに対応するファイル所在情報が、ファイル要求元のクライアント30に提供される。よって、クライアント30は、ファイル要求の応答として受け取った新たなファイル所在情報を用いて、要求対象ファイルを取得することができる。
続いて、本実施形態の第5の変形例について説明する。第5の変形例では、ファイルが仮想ディレクトリ間を移動した場合の履歴を保持している点で、上記の実施形態及び各変形例とは異なる。
図20は、第5の変形例におけるファイルサーバ10の機能ブロックを示す図である。図20において、図3と同一の機能ブロックについては同一の符号を付して、説明を省略する。ファイル移動管理部20は、ファイルの仮想ディレクトリ間の移動を監視し、移動履歴21を保持する。移動履歴21は、図21に示すように、移動対象のファイルのファイルID130と、移動前の仮想ディレクトリのパス132と、移動後の仮想ディレクトリのパス134とが示される。
上記の実施形態や各変形例において説明した処理を実行することで、要求対象ファイルが移動したと判断した場合、ファイル要求処理部12は、要求対象ファイルに対応する仮想ディレクトリのパスを生成するのではなく、移動履歴21を参照する。そして、ファイル要求処理部12は、要求対象ファイルのファイルIDに対応する移動前の仮想ディレクトリのパスの中から、ファイル所在情報に示された仮想ディレクトリのパスと一致する移動前の仮想ディレクトリのパスを検索する。そして、ファイル要求処理部12は、移動履歴21を参照して、検索した移動前の仮想ディレクトリのパスに対応する移動後の仮想ディレクトリのパスを特定して、特定した仮想ディレクトリのパスを含む新たなファイル所在情報を生成する。
以上、第5の変形例では、要求対象ファイルが移動した場合、ファイル要求処理部12は、ファイル移動管理部20が保持する移動履歴21を参照して、移動後の仮想ディレクトリのパスを特定する。
上記の実施形態や各変形例では、ファイル要求に示されるファイル所在情報には、図2や図9に示すように、仮想ディレクトリのパスを含む例について説明した。しかし、ファイルIDは、ファイル管理システムにおいて、グローバルに一意な識別子であるため、ファイルIDさえ判明すれば、要求対象ファイルを特定することができる。よって、図22に示すように、ファイル要求に示すファイル所在情報には、ファイル要求の際のホスト名100と要求対象ファイルのファイルID104とだけを示しても、ファイル要求処理部12は、要求対象ファイルを特定することができる。この場合、ファイル要求処理部12は、ファイルが移動していない場合にも、図2や図9に示すような仮想ディレクトリのパスを含むファイル所在情報を生成して、要求対象ファイルとともにその生成したファイル所在情報をファイル要求元のクライアント30に提供してもよい。これにより、ユーザが、要求対象ファイルのファイルIDだけを知っている場合でも、その要求対象ファイルを取得できる。さらに、この場合、ユーザは、提供されたファイル所在情報を参照することで、要求対象ファイルが現在どのようなディレクトリの配下に存在するのかを推測することができる。なお、上記の実施形態や各変形例では、ファイルIDは、グローバルに一意な識別子であるとして説明した。しかし、複数のファイルサーバ間でファイルを共有して管理せずに、ファイルサーバごとに個別にファイルを管理する場合には、ファイルIDは、グローバルに一意な識別子ではなく、1つのファイルサーバ内で一意な識別子を用いることができる。
また、ファイル要求に示されるファイル所在情報には、仮想ディレクトリのパスではなく実ディレクトリのパスを示してもよい。
10 ファイルサーバ、12 ファイル要求処理部、14 ファイル保持部、16 仮想ディレクトリ管理部、17 仮想ディレクトリ情報、18 ファイル管理部、19 ファイル情報、20 ファイル移動管理部、21 移動履歴、30 クライアント、50 ネットワーク。
Claims (8)
- ファイルをファイル要求元へ提供するファイルサーバとして、コンピュータを機能させるためのプログラムにおいて、
前記ファイル要求元からファイル要求を受け取ると、受け取ったファイル要求に示されるファイル所在情報から、要求対象ファイルを一意に特定するファイルIDと、ディレクトリのパスとを取得し、
前記取得したディレクトリのパス上に、前記取得したファイルIDに対応するファイルが存在するか否かを判定し、
判定の結果、前記取得したファイルIDに対応するファイルが存在する場合、前記取得したファイルIDに対応するファイルを取得して、取得したファイルを要求対象ファイルとして前記ファイル要求元へ提供する、
ように前記コンピュータを機能させるためのプログラム。 - 請求項1に記載のプログラムにおいて、
判定の結果、前記取得したファイルIDに対応するファイルが存在しない場合、前記取得したファイルIDに対応する現在のディレクトリのパスを特定し、特定した現在のディレクトリのパスと前記取得したファイルIDとを示すファイル所在情報を生成し、生成したファイル所在情報を前記ファイル要求の応答として前記ファイル要求元へ提供する、
ように前記コンピュータを機能させるためのプログラム。 - 請求項1に記載のプログラムにおいて、
前記ディレクトリは、ファイルの仮想的な格納場所を示す仮想ディレクトリであり、
前記コンピュータを、
ファイルIDと、ファイルの現在の仮想ディレクトリのパスと、ファイルの実際の格納場所を示す実ディレクトリのパスとを関連づけたファイル情報を参照して、前記取得したファイルIDに対応する現在の仮想ディレクトリのパスを特定し、特定した現在の仮想ディレクトリのパスと前記取得した仮想ディレクトリのパスとが一致するか否かに基づいて、前記取得した仮想ディレクトリのパス上に前記取得したファイルIDに対応するファイルが存在するか否かを判定し、
前記特定した現在の仮想ディレクトリのパスと前記取得した仮想ディレクトリのパスとが一致する場合、前記取得した仮想ディレクトリのパス上に要求対象ファイルが存在すると判定し、前記ファイル情報を参照して、前記取得したファイルIDに対応する実ディレクトリのパスを特定し、特定した実ディレクトリのパスから前記取得したファイルIDに対応するファイルを取得し、取得したファイルを要求対象ファイルとして前記ファイル要求元へ提供する、
ように機能させるためのプログラム。 - 請求項3に記載のプログラムにおいて、
前記コンピュータを、
前記特定した仮想ディレクトリのパスと前記取得した仮想ディレクトリのパスとが一致しない場合、前記取得した仮想ディレクトリのパス上に要求対象ファイルが存在しないと判定し、前記特定した仮想ディレクトリのパスと前記取得したファイルIDとを示すファイル所在情報を生成し、生成したファイル所在情報を前記ファイル要求の応答として前記ファイル要求元へ提供する、
ように機能させるためのプログラム。 - 請求項1に記載のプログラムにおいて、
前記ディレクトリは、ファイルの仮想的な格納場所を示す仮想ディレクトリであり、
ファイル所在情報に示される仮想ディレクトリのパスは、仮想ディレクトリを一意に特定する少なくとも1つのディレクトリIDにより構成され、
前記コンピュータを、
ファイルIDと、ファイルの現在の仮想的な格納場所を示す仮想ディレクトリのディレクトリIDと、ファイルの実際の格納場所を示す実ディレクトリのパスとを関連づけたファイル情報を参照して、前記取得したファイルIDに対応するファイルが仮想的に格納されている現在の仮想ディレクトリのディレクトリIDを特定し、特定したディレクトリIDと前記取得した仮想ディレクトリのパスにおいて最下位層に位置するディレクトリIDとが一致するか否かに基づいて、前記取得した仮想ディレクトリのパス上に前記取得したファイルIDに対応するファイルが存在するか否かを判定し、
それらのディレクトリIDが一致する場合、前記取得した仮想ディレクトリのパス上に要求対象ファイルが存在すると判定し、前記ファイル情報を参照して、前記取得したファイルIDに対応する実ディレクトリのパスを特定し、特定した実ディレクトリのパスからファイルを取得し、取得したファイルを要求対象ファイルとして前記ファイル要求元へ提供する、
ように機能させるためのプログラム。 - 請求項5に記載のプログラムにおいて、
前記コンピュータを、
それらのディレクトリIDが一致しない場合、前記取得した仮想ディレクトリのパス上に要求対象ファイルが存在しないと判定し、現在の仮想ディレクトリ構造の情報を示す仮想ディレクトリ情報を参照して、前記特定したディレクトリIDを最下位層とする仮想ディレクトリのパスを生成し、生成した仮想ディレクトリのパスと前記取得したファイルIDとを示すファイル所在情報を生成し、生成したファイル所在情報を前記ファイル要求の応答として前記ファイル要求元へ提供する、
ように機能させるためのプログラム。 - ファイルをファイル要求元へ提供するファイルサーバにおいて、
前記ファイル要求元からファイル要求を受け取ると、受け取ったファイル要求に示されるファイル所在情報から、要求対象ファイルを一意に特定するファイルIDと、ディレクトリのパスとを取得する取得部と、
前記取得したディレクトリのパス上に、前記取得したファイルIDに対応するファイルが存在するか否かを判定する判定部と、
判定の結果、前記取得したファイルIDに対応するファイルが存在する場合、前記取得したファイルIDに対応するファイルを取得して、取得したファイルを要求対象ファイルとして前記ファイル要求元へ提供する提供部と、
を備えることを特徴とするファイルサーバ。 - ファイルサーバがファイルをファイル要求元へ提供するファイル提供方法において、
前記ファイルサーバが、
前記ファイル要求元からファイル要求を受け取ると、受け取ったファイル要求に示されるファイル所在情報から、要求対象ファイルを一意に特定するファイルIDと、ディレクトリのパスとを取得し、
前記取得したディレクトリのパス上に、前記取得したファイルIDに対応するファイルが存在するか否かを判定し、
判定の結果、前記取得したファイルIDに対応するファイルが存在する場合、前記取得したファイルIDに対応するファイルを取得して、取得したファイルを要求対象ファイルとして前記ファイル要求元へ提供する、
ことを特徴とするファイル提供方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005297278A JP2007108905A (ja) | 2005-10-12 | 2005-10-12 | ファイルサーバ、ファイル提供方法及びプログラム |
US11/452,837 US20070083485A1 (en) | 2005-10-12 | 2006-06-14 | File server, file providing method and recording medium |
CNB2006101108540A CN100435146C (zh) | 2005-10-12 | 2006-08-15 | 文件服务器和文件提供方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005297278A JP2007108905A (ja) | 2005-10-12 | 2005-10-12 | ファイルサーバ、ファイル提供方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007108905A true JP2007108905A (ja) | 2007-04-26 |
Family
ID=37911998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005297278A Withdrawn JP2007108905A (ja) | 2005-10-12 | 2005-10-12 | ファイルサーバ、ファイル提供方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070083485A1 (ja) |
JP (1) | JP2007108905A (ja) |
CN (1) | CN100435146C (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013127666A (ja) * | 2011-12-16 | 2013-06-27 | Fujitsu Ltd | 修復システム、修復方法及びプログラム |
JP2016062571A (ja) * | 2014-09-22 | 2016-04-25 | 富士ゼロックス株式会社 | 情報管理装置、情報管理プログラム |
JP2016516233A (ja) * | 2013-03-08 | 2016-06-02 | ドロップボックス, インコーポレイテッド | コンテンツアイテムの共有 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243962A1 (en) * | 2007-03-30 | 2008-10-02 | Yasuyuki Mimatsu | Method and apparatus for providing and managing a virtual storage namespace |
CN101903952B (zh) * | 2007-12-17 | 2012-08-22 | 松下电器产业株式会社 | 记录装置、再现装置、记录方法以及再现方法 |
JP5095436B2 (ja) * | 2008-02-12 | 2012-12-12 | ソニー株式会社 | Bgm付きスライドショー表示システム、bgm付きスライドショー表示方法、情報処理装置、再生装置及びプログラム |
CN101872356B (zh) * | 2010-05-31 | 2013-08-07 | 中兴通讯股份有限公司 | 一种内存数据库处理性能的方法与系统 |
US10372694B2 (en) * | 2014-10-08 | 2019-08-06 | Adobe Inc. | Structured information differentiation in naming |
CN105989007B (zh) * | 2015-01-27 | 2019-12-27 | 珠海金山办公软件有限公司 | 一种文件路径处理方法及装置 |
CN105227661B (zh) * | 2015-09-30 | 2019-04-02 | 深圳天珑无线科技有限公司 | 文件分享方法及系统、服务器 |
CN110795394B (zh) * | 2019-11-01 | 2022-09-30 | 网易(杭州)网络有限公司 | 一种文件的获取方法和装置 |
CN114979119A (zh) * | 2022-05-23 | 2022-08-30 | 深圳市云语科技有限公司 | 一种在文件传输系统通过虚拟路径支持多存储的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930801A (en) * | 1997-03-07 | 1999-07-27 | Xerox Corporation | Shared-data environment in which each file has independent security properties |
WO1999042934A2 (en) * | 1998-02-20 | 1999-08-26 | Storm Systems, Llc | File system performance enhancement |
US7327387B2 (en) * | 2000-02-21 | 2008-02-05 | Fujifilm Corporation | Image pick-up information transmitting system and remote control method for an information transmitting system |
JP4186456B2 (ja) * | 2001-11-28 | 2008-11-26 | 沖電気工業株式会社 | 分散ファイル共有システムおよびその制御方法 |
US7644136B2 (en) * | 2001-11-28 | 2010-01-05 | Interactive Content Engines, Llc. | Virtual file system |
KR100484138B1 (ko) * | 2002-05-08 | 2005-04-18 | 삼성전자주식회사 | 관계형 데이터베이스에서 정규 경로식 질의를 처리하는xml 인덱싱 방법과 자료구조 |
JP4320195B2 (ja) * | 2003-03-19 | 2009-08-26 | 株式会社日立製作所 | ファイルストレージサービスシステム、ファイル管理装置、ファイル管理方法、id指定型nasサーバ、および、ファイル読出方法 |
JP4415594B2 (ja) * | 2003-07-23 | 2010-02-17 | ソニー株式会社 | サーバ装置、サーバ装置用プログラムおよびサーバ装置の情報処理方法 |
US20070088702A1 (en) * | 2005-10-03 | 2007-04-19 | Fridella Stephen A | Intelligent network client for multi-protocol namespace redirection |
-
2005
- 2005-10-12 JP JP2005297278A patent/JP2007108905A/ja not_active Withdrawn
-
2006
- 2006-06-14 US US11/452,837 patent/US20070083485A1/en not_active Abandoned
- 2006-08-15 CN CNB2006101108540A patent/CN100435146C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013127666A (ja) * | 2011-12-16 | 2013-06-27 | Fujitsu Ltd | 修復システム、修復方法及びプログラム |
JP2016516233A (ja) * | 2013-03-08 | 2016-06-02 | ドロップボックス, インコーポレイテッド | コンテンツアイテムの共有 |
US9628560B2 (en) | 2013-03-08 | 2017-04-18 | Dropbox, Inc. | Sharing a content item |
US10484456B2 (en) | 2013-03-08 | 2019-11-19 | Dropbox, Inc. | Sharing a content item |
JP2016062571A (ja) * | 2014-09-22 | 2016-04-25 | 富士ゼロックス株式会社 | 情報管理装置、情報管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN1949213A (zh) | 2007-04-18 |
CN100435146C (zh) | 2008-11-19 |
US20070083485A1 (en) | 2007-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11909639B2 (en) | Request routing based on class | |
US7620732B2 (en) | Apparatus for and method of setting communication path | |
JP5404766B2 (ja) | ルーティングをリクエストするための方法とシステム | |
JP4729987B2 (ja) | データ管理システム及びデータサーバ | |
US8321503B2 (en) | Context-specific network resource addressing model for distributed services | |
US20070083485A1 (en) | File server, file providing method and recording medium | |
RU2409846C2 (ru) | Организация ресурсов в коллекции, способствующая более эффективному и надежному доступу к ресурсам | |
JP5595403B2 (ja) | ジオロケーション支援データ転送記憶 | |
JP2008519362A (ja) | コンテンツアドレスマッピングを維持するためのコンテンツアドレス記憶デバイス | |
KR19980041908A (ko) | 컴퓨터화된 자원 명칭 도출 메카니즘 | |
CN1866249B (zh) | 数据管理系统、数据服务器以及数据管理方法 | |
JP2008269141A (ja) | オーバレイ検索装置、オーバレイ検索システム、オーバレイ検索方法およびオーバレイ検索用プログラム | |
CN117640765A (zh) | 云环境服务访问方法及系统 | |
JP2007328736A (ja) | リソース検索システム | |
JP4774814B2 (ja) | サーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラム | |
JP2007072524A (ja) | データサーバ及びデータ管理方法及びプログラム | |
JP4426183B2 (ja) | 論理経路制御システム | |
JP4700887B2 (ja) | サーバ・コンピュータおよびその制御方法 | |
JP2007006214A (ja) | リソース情報検索システム、リゾルバ及びプログラム | |
JP2005216230A (ja) | 印刷制御システムおよび方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080924 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100816 |