JP2004334479A - 複数の名前空間に対応したid変換システム及び方法 - Google Patents
複数の名前空間に対応したid変換システム及び方法 Download PDFInfo
- Publication number
- JP2004334479A JP2004334479A JP2003128848A JP2003128848A JP2004334479A JP 2004334479 A JP2004334479 A JP 2004334479A JP 2003128848 A JP2003128848 A JP 2003128848A JP 2003128848 A JP2003128848 A JP 2003128848A JP 2004334479 A JP2004334479 A JP 2004334479A
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- namespace
- file system
- client
- name
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】異なるシステム間でファイルシステムを共有可能とするID変換システムと方法の提供。
【解決手段】データ処理装置20は、ID変換用ファイルシステム23に、登録された名前空間、クライアント側の名前空間、及び、ファイルシステムの名前空間を登録しておき、クライアント10からの要求を受けたデータ処理装置20はクライアントからの変換前のID、クライアント情報、アクセス対象のファイルシステム情報をもとにID変換用ファイルシステム上のクライアント側の名前空間に定義があるか否か、ID変換用ファイルシステム上のファイルシステム側の名前空間に定義があるか否かを調べ、入力された変換前のIDをもとに、クライアント側の名前空間に問い合わせて前記IDから名前に変換し、前記IDから変換された名前をもとに、ファイルシステム側の名前空間に問い合わせて名前からIDに変換し、変換されたIDを、クライアントに返却する。
【選択図】 図4
【解決手段】データ処理装置20は、ID変換用ファイルシステム23に、登録された名前空間、クライアント側の名前空間、及び、ファイルシステムの名前空間を登録しておき、クライアント10からの要求を受けたデータ処理装置20はクライアントからの変換前のID、クライアント情報、アクセス対象のファイルシステム情報をもとにID変換用ファイルシステム上のクライアント側の名前空間に定義があるか否か、ID変換用ファイルシステム上のファイルシステム側の名前空間に定義があるか否かを調べ、入力された変換前のIDをもとに、クライアント側の名前空間に問い合わせて前記IDから名前に変換し、前記IDから変換された名前をもとに、ファイルシステム側の名前空間に問い合わせて名前からIDに変換し、変換されたIDを、クライアントに返却する。
【選択図】 図4
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理システムに関し、特に、異なる環境化でのファイルシステムの共用化に適用して好適とされるID変換方法とシステムに関する。
【0002】
【従来の技術】
あるコンピュータから別のコンピュータ上に存在するファイルシステムにアクセスする場合において、クライアント側のID(識別情報)と、ファイルシステム側のIDを一意に対応させる処理は、クライアント側のIDの所有者である実世界のユーザ(人間)が、そのファイルの所有者であることを保障する、という意味において、必要不可欠である。
【0003】
上記のような異なるコンピュータ上のファイルシステムにアクセスする機能は、Microsoft社製Windows(登録商標)(CIFS[Common Internet File System])やUNIX(登録商標)(NFS[Network File System])で標準的に実装されている。これらは、それぞれ、Windows(登録商標)やUNIX(登録商標)システムの世界に閉じた実装がなされており、その意味で、IDの一意性は、それなりに、保障されている。しかしながら、Windows(登録商標)−UNIX(登録商標)間で、ファイルシステムを共有する機能はどちらにも無い。さらに、両者とも、クライアントの環境やNFSサーバの運用環境に大きく依存してしまう。
【0004】
また、Samba suite(Samba−− A Windows(登録商標) SMD[Server Message Block Protocol]/CIFS fileserver for UNIX(登録商標); Samba suite−−UNIX(登録商標)用にSMDをインプリメントしたプログラム集)のように、Windows(登録商標)−UNIX(登録商標)間でのファイルシステム共有を実現するものもある。しかし、Sambaでは、ファイルシステム側のIDを管理するのに、UNIX(登録商標)の伝統的な/etc/passwdファイルを用いている。そのため、Sambaで公開しているファイルシステムをNFSで共有しようとすると、ファイルシステム側のIDを二重管理することになる事態に陥ってしまう。これは、NFSでは、ID管理にNFS専用ファイルやNISサーバを利用するためである。
【0005】
【発明が解決しようとする課題】
以上のように、従来のシステムにおいては、以下のような問題点がある。
【0006】
・Windows(登録商標)(CIFS)やNFSだけでは、Windows(登録商標)−UNIX(登録商標)間でファイルシステムを共有できない。
【0007】
・クライアントやサーバのローカルな環境に大きく依存する。
【0008】
・Windows(登録商標)−UNIX(登録商標)間でファイルシステムを共有するときのID管理が煩雑である。
【0009】
したがって、本発明の目的は、例えばWindows(登録商標)−UNIX(登録商標)間等異なるOS(オペレーティングシステム)間でファイルシステムを共有可能とするID変換方法及びシステムと装置を提供することにある。
【0010】
また本発明の他の目的は、クライアントやサーバのローカルな環境に大きく依存することのないID変換方法及びシステムと装置を提供することにある。
【0011】
さらに本発明のさらに別の目的は、例えばWindows(登録商標)−UNIX(登録商標)間でファイルシステムを共有するときのID管理の煩雑さを解消するID変換方法及びシステムと装置を提供することにある。
【0012】
【課題を解決するための手段】
前記目的を達成する本発明の1つのアスペクトに係る方法は、クライアント側のIDから前記クライアントがアクセスするファイルシステムのIDへの変換を、少なくとも1つのデータ処理装置によって行う方法であって、前記データ処理装置のID変換用ファイルシステムに、登録された名前空間、クライアントがどの名前空間に属するかという情報を定義する、クライアント側の名前空間、及び、どのファイルシステムがどの名前空間に属するID情報を持つかという情報を定義する、ファイルシステム側の名前空間を登録しておき、前記データ処理装置は、以下のステップを含む。
(a)前記データ処理装置は、クライアントからのファイルアクセスに関する情報として変換前のID、クライアント情報、アクセス対象のファイルシステム情報を受け取る。
前記データ処理装置が、前記ID変換用ファイルシステムを参照して、前記クライアントがアクセス対象のファイルシステムにアクセスできる設定がなされているか調べる。
(b)前記データ処理装置は、アクセス許可の設定がなされている場合、入力された変換前のIDをもとに、クライアント側の名前空間に属するIDを、名前に変換する。
(c)前記データ処理装置は、前記IDから変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する。
(d)前記データ処理装置は、変換されたIDを、前記クライアントに返却する。
【0013】
本発明において、前記ID変換用ファイルシステムには、前記登録された名前空間、前記クライアント側の名前空間、及び、前記ファイルシステム側の名前空間が、ディレクトリ形式で登録される構成としてもよい。
【0014】
本発明に係る方法において、前記データ処理装置は、ID変換用の設定上でアクセス許可があるか判断するにあたり、入力されたクライアント情報をもとに、前記ID変換用ファイルシステム上のクライアント側の名前空間に定義があるか否かを調べるとともに、アクセス対象のファイルシステム情報をもとに、前記ID変換用ファイルシステム上のファイルシステム側の名前空間に定義があるか否かを調べるようにしてもよい。前記クライアントは、前記ID変換用ファイルシステムから返却されたIDにてファイルアクセスを行う。
【0015】
本発明の他のアスペクトに係るシステムは、クライアント側のIDから前記クライアントがアクセスするファイルシステムのIDへの変換を行うID変換システムであって、登録された名前空間、クライアントがどの名前空間に属するかという情報を定義する、クライアント側の名前空間、及び、どのファイルシステムがどの名前空間に属するID情報を持つかという情報を定義する、ファイルシステム側の名前空間を記憶するID変換用ファイルシステムと、クライアントからのファイルアクセスに関する情報として変換前のID、クライアント情報、アクセス対象のファイルシステム情報を受け取る手段と、前記ID変換用ファイルシステムを参照して、前記クライアントのアクセス対象のファイルシステムへのアクセス許可の設定の有無を調べる手段と、アクセス許可の設定がなされている場合、入力された変換前のIDをもとに、クライアント側の名前空間に属するIDを、名前に変換する手段と、前記IDから変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する手段と、変換されたIDを、前記クライアントに返却する手段と、を備えている。
【0016】
【発明の実施の形態】
本発明の好適な発明の実施の形態について以下に説明する。本発明は、あるコンピュータから別のコンピュータ上に存在するファイルシステムにアクセスする場合に、クライアントであるユーザが、Windows(登録商標)、NIS、ローカルなパスワードファイル等のどのような名前空間に属していても、ユーザの識別子(以下、「ユーザID」という)とファイルシステム側のファイルの識別子(「ファイルのID」という)との一意性を保障するためのID(識別情報)変換機構を提供する。
【0017】
本発明は、クライアントと通信接続するデータ処理装置が、ID変換用ファイルシステムに、前記ID変換用ファイルシステムには、登録された名前空間ディレクトリの配下に名前空間が定義され、クライアント側の名前空間ディレクトリの配下に、クライアントがどの名前空間に属するかという情報が定義され、及び、ファイルシステム側の名前空間ディレクトリの配下に、どのファイルシステムがどの名前空間に属するID情報を持つかという情報が定義され、前記ID変換用ファイルシステムのルートディレクトリのもとに、前記登録された名前空間、前記クライアント側の名前空間、及び、前記ファイルシステム側の名前空間の各ディレクトリが登録されている。
【0018】
クライアントから、変換前のID、クライアント情報、アクセス対象のファイルシステム情報を入力し、入力されたクライアント情報をもとに、ID変換用ファイルシステム上のクライアント側の名前空間に定義があるか否かを調べるとともに、アクセス対象のファイルシステム情報をもとに、前記ID変換用ファイルシステム上のファイルシステム側の名前空間に定義があるか否かを調べることで、クライアントによるアクセス対象のファイルシステムへのアクセス許可の設定がなされているか否かを調べる。ID変換用ファイルシステムの設定上で、当該ファイルシステムへのアクセス許可の設定がなされている場合、入力された変換前のIDをもとに、クライアント側の名前空間に問い合わせて前記IDから名前に変換し、前記IDから変換された名前をもとに、ファイルシステム側の名前空間に問い合わせて名前からIDに変換し、変換されたIDを、クライアントに返却する。前記クライアントは、前記ID変換用ファイルシステムから返却されたIDにてファイルアクセスを行う。
【0019】
本発明の実施の形態において、クライアントとファイルシステムは、同一又は異なる名前空間に属するものとされる。
【0020】
本発明の実施の形態において、クライアントとファイルシステムの名前空間の定義は、クライアントおよびファイルシステムから独立させており、前記ID変換用ファイルシステムで管理する。
【0021】
本発明の実施の形態において、ID又は名前の変換にあたり、名前空間に対応する検索モジュールに変換要求が発せられ、前記検索モジュールが名前空間記憶部を検索することで、クライアント側の名前空間に属するIDを名前に変換する。また、名前空間に対応する検索モジュールに変換要求が発せられ、前記検索モジュールが名前空間記憶部を検索し、名前空間に変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する。
【0022】
本発明の実施の形態において、前記ファイルシステム側の名前空間の定義情報の中に、名前を変換するルールを定義しておき、前記ルールを参照して変換を行うようにしてもよい。このルールは、前記クライアント側の名前を、ファイルシステムの名前空間の名前に変換する名前変換ルールよりなる。
【0023】
本発明の実施の形態において、ID変換、又は名前の変換結果はキャッシュとして保持され、変換要求に対する応答がキャッシュされている場合、キャッシュから取得し、キャッシュされていない場合に、該当する変換を行うようにしてもよい。
【0024】
本発明の実施の形態において、変換が失敗した場合、エラー情報がキャッシュとして保持するようにしてもよい。
【0025】
かかる構成の本発明によれば、あるユーザの作成したファイルが確かにそのユーザの作成したファイルであるということを、全てのユーザに保障できる。
【0026】
図1は、本発明の原理を説明するための図である。ユーザとファイルシステムは、それぞれ、必ず、ある名前空間に属することとする。ユーザとファイルシステムが同じ名前空間に属することも、許可される。図1に示す例では、名前空間Cは、ユーザ側とファイルシステム側のそれぞれに存在している。
【0027】
逆の言い方をすると、ユーザもファイルシステム上のファイルも、それぞれが所有するIDが、実際は誰に与えられたものであっても、どこかの名前空間に属することを強要される。このように、強制的に名前空間を割り当てることで、「どのユーザが、どのファイルシステム(のファイル)にアクセスしたのか」を明確に定義することができる。
【0028】
この定義は、本発明のシステム内で、閉じて行われる。つまり、名前空間の定義を、クライアントおよびサーバのマシンから独立させる。
【0029】
このように、本発明によれば、名前空間の定義を、クライアントおよびサーバのマシンから独立させることで、従来の手法のように、暗黙のうちに、名前空間が決定されるのではなく、ユーザのIDやファイルのIDがどの名前空間において管理されているかが明確化される。このため、各マシンの管理者やユーザは、自らの所属を、明確に意識できる。
【0030】
また、図1からわかることとして、一つファイルシステムに、複数の名前空間からアクセスできることも、本発明の特徴の一つである。図1に示す例では、名前空間Cのファイルシステムは、名前空間Bと名前空間Cのユーザからのアクセスが許可され、名前空間Dのファイルシステムは、名前空間Aと名前空間Cのユーザからのアクセスが許可される設定とされている。
【0031】
さらに、名前空間の種類(Windows(登録商標)、NISなど)にも、依存しない(この点については後述する)。
【0032】
図2は、本発明における名前空間の定義方法とその割り当て方法を説明するための図である。図2に示されるように、それぞれの情報は、「ID変換用ファイルシステム」上において、ルートディレクトリのもとに、ディレクトリツリー構造として保存される。「ID変換用ファイルシステム」は、本発明のシステムが取り扱う、全ての名前空間を定義する「登録された名前空間」ディレクトリ、その中でクライアントの属する名前空間を定義する「クライアント側の名前空間」ディレクトリ、同じくファイルシステムの属する名前空間を定義する「ファイルシステム側の名前空間」ディレクトリから構成される。そして「ID変換用ファイルシステム」において、これらの名前空間の情報は一元的に定義・管理される。
【0033】
このように、ファイルシステムという一般的な構造を用いることで、従来の変換方式では不可能であった(人間にも、内部機能の実装においても)、直感的な操作を可能としていることも、本発明の特徴の一つである。
【0034】
図2を参照して、さらに詳細に説明する。名前空間は、図2における「登録された名前空間」ディレクトリ配下に定義される。図2では、4つの名前空間(NIS[Network Information Service] A, NIS B, PDC[Primary Domain Controller] A, File B)が定義されているが、名前空間は、NISでも、ドメインコントローラでも、あるいは変換情報が格納されたファイルであってもよい。なお、NISはUNIX(登録商標)システム間でシステム構成情報、ユーザ情報を共有する目的で用いられ、Windows(登録商標)NT4.0のPDCに対応している。
【0035】
次に、図2における「クライアント側の名前空間」ディレクトリ配下に、どのクライアントがどの名前空間に属するか、という情報が定義される。ここで定義されないクライアントは、どのファイルシステムにもアクセスできない。
【0036】
本明細書中で、「クライアント」とは、
・アクセス主体である単体のユーザ(あるいはグループ、以下同じ)であってもよいし、
・一つの計算機上の全てのユーザであってもよいし、
・あるネットワーク上の全てのユーザであってもよいし、
・あるドメイン上の全てのユーザであってもよい。
【0037】
重要なことは、アクセスしてくるユーザを特定することである。
【0038】
そして、図2における「ファイルシステム側の名前空間」ディレクトリ配下に、どのファイルシステム(のファイル)がどの名前空間に属するIDを持ちうるか、という情報が定義される。「ファイルシステム側の名前空間」ディレクトリ配下に定義されないファイルシステムには、どのクライアントからも、アクセスできない。
【0039】
図2が示されていることがらは、「クライアント側の名前空間」ディレクトリに定義のあるクライアントから、「ファイルシステム側の名前空間」ディレクトリに定義のあるファイルシステムに対してのみアクセスが許可される、ということである。ただし、どちらも「登録された名前空間」ディレクトリに定義された名前空間を用いなければならない。
【0040】
図3は、本発明の一実施の形態におけるID変換手順を説明するための流れ図である。図3を参照して、本発明の一実施の形態におけるID変換動作の一例を説明する。
【0041】
ステップA1にて、ファイルアクセスに関連する、各種情報(変換前ID、クライアント情報、アクセス対象ファイルシステム情報)が、ID変換用ファイルシステムに入力される。
【0042】
ステップA1にて、ID変換用設定検索処理を行う。すなわち、クライアント情報をもとに、ID変換用ファイルシステム上の「クライアント側の名前空間」に定義があるかを調べ、アクセス対象ファイルシステム情報をもとに、ID変換用ファイルシステム上の「ファイルシステム側の名前空間」に定義があるかを調べる。
【0043】
ステップA2から、クライアント情報が「クライアント側の名前空間」に定義されており、且つ、ファイルシステム情報が「ファイルシステム側の名前空間」に定義されており、アクセス許可があることがわかると、入力されたIDをもとに、ステップA3にて、クライアント側の名前空間に問い合わせてIDから名前に変換する。クライアント側の名前空間への問い合わせとして、例えば、後述するように、名前空間に対応するID変換モジュールにIDの変換要求を行い、ID変換モジュールが名前空間記憶部を検索して名前に変換し、変換結果を応答として返す処理が行われる。
【0044】
次に、ステップA4にて、IDから変換された名前をもとに、ファイルシステム側の名前空間に問い合わせて、名前からIDに変換する。ファイルシステム側の名前空間への問い合わせとして、例えば、後述するように、名前空間に対応するID変換モジュールにIDの変換要求を行い、ID変換モジュールが名前空間記憶部を検索して名前に変換し、変換結果を応答として返す処理が行われる。
【0045】
そして、ステップA5にて、最終的に得られたIDをクライアントに返却する。
【0046】
以上の、ステップからわかるように、本発明においては、名前をベースとしてID変換を行う。言い換えれば、クライアント側の名前空間と、ファイルシステム側の名前空間の両方に同じ名前のあるユーザは、同一ユーザであると定義する。図1の説明で、複数の名前空間から一つのファイルシステムにアクセスでき、しかも、名前空間の種類に依存しないと記載した理由は、これである。すなわち、「IDは名前空間の数だけ定義があるが、名前は基本的に実世界に依存する」という暗黙の了解を前提として、IDを一対一に対応付けることで、IDの一意性を保障している。
【0047】
本発明の一実施の形態の特徴をまとめると、以下のようになる。
【0048】
・ユーザとファイルシステムを、必ず、ある名前空間に属すると定義することで、従来技術のように、暗黙のうちに、名前空間が決定されるのではなく、ユーザのIDやファイルのIDがどの名前空間において管理されているかが、明確化される。このため、各マシンの管理者やユーザは、自らの所属を明確に意識できる。
【0049】
・ユーザやファイルシステムが属する名前空間は、どのように定義されてもよいし、それぞれの名前空間は何によって管理されてもよい。つまり、名前空間の組み合わせは、何にも依存しない。
【0050】
かかる柔軟な構造により、本発明の一実施の形態によれば、以下のような作用効果を奏する。
【0051】
・あるユーザとファイルシステムの組み合わせにおいて、ユーザの属する名前空間とファイルシステムが属する名前空間の間に依存関係が無くなる。例えば、従来技術では難しかった、NISドメインに属するユーザと、Windows(登録商標)ドメインに属するユーザとが、同じファイルシステムを共有することも、単純な設定だけで可能となる。
【0052】
・複数の名前空間から、一つのファイルシステムにアクセスすることも可能である。
【0053】
・ID変換機構として、「ID変換用ファイルシステム」を新たに用いている。ファイルシステムを、ID変換に利用するという考え方は、従来には、無く(本発明が全く新規に導入)、これにより、名前空間の定義などにおいて、直感的な操作が可能となる。
【0054】
【実施例】
本発明を適用した具体例をなすいくつかの実施例について図面を参照して以下に説明する。図4は、本発明に係るシステムの一実施例を説明するための図であり、システム構成を機能ブロックとして表したものである。図4において、等価な機能ブロックには、Bで始まる同一の符号が付されている。図4を参照すると、データ処理装置X(20)は、クライアントA(102)、クライアントB(101)と、インターネット等の通信ネットワークを介して通信接続する。また、データ処理装置X(20)は、データ処理装置A(301)、データ処理装置B(302)と、ネットワークを介して通信接続する。
【0055】
機能B1(21)は、クライアントからの「ID変換要求」を受け付け、変換結果をクライアントに返却する処理を行う機能ブロックであり、リモートファイルアクセスのサーバ機能である。機能B1(21)は、一般的には、公知のSamba(CIFS)(211)や、NFSモジュール(212)としてユーザ空間やカーネル空間に実装される。
【0056】
機能B2(論理部)(22)は、機能B1から、ID変換要求を受けると、機能B3(23)を経由して機能B4(25)に変換要求を出し、機能B4(25)から機能B3(23)を介して得られた変換結果を機能B1(21)に返却する機能ブロックである。
【0057】
機能B3(23)は、前述した「ID変換用ファイルシステム」に対応しており、変換の設定情報を保持したり、変換処理の媒介をなす機能ブロックである。変換処理の媒介は、図4において、機能B3(23)上のID変換ファイル(24)として示されているが、変換の成否にかかわらず、変換結果は、機能B3(23)上に、キャッシュとして残される。よって、キャッシュが残っていれば、機能B2(22)は、そのキャッシュに格納される情報を機能B1(21)に返却すればよいし、キャッシュが残っていなければ、機能B3を介して、新たに、機能B4(25)に変換要求が出される。
【0058】
機能B4(25)は、機能B5(30)に、IDまたは名前を渡して、変換結果を問い合わせ、返却された変換結果を、機能B3(23)上のファイル(24)に反映する機能ブロックである。機能B4(25)は名前空間毎に設けられている。図4に示す例では、機能B4(25)として、名前空間A、Bに対応して、変換要求等の交渉を行うネゴシエータA、Bが設けられている。
【0059】
機能B5(「ID検索モジュール」、あるいは「ID検索デーモン」ともいう)(30)および機能B6(名前空間記憶部)(31)は、ID変換を行う機能ブロックである。具体的には、機能B5(30)は、機能B4(25)から渡されたIDまたは名前を、機能B6(31)から検索し、変換結果を、機能B4(25)に返却する。機能B5(30)および機能B6(31)は、通常、NISサーバ、ドメインコントローラ、LDAP(Lightweight Directory Access Protocol)サーバなどとして実装される。また、機能B6(31)は、UNIX(登録商標)の/etc/passwdのようなファイルとしても存在しうる。ただし、この場合、機能B6(31)単体では、ID検索できないため、機能B5(30)は、機能B4(25)に統合される。
【0060】
図4では、機能B5および機能B6は、機能B1〜B4とは異なるデータ処理装置30上に実装されている例として示されているが、同じデータ処理装置20内に存在してもよいことは勿論である。
【0061】
本実施例において、特筆すべき点として、機能B4(25)は、名前空間(機能B5および機能B6)毎に存在するが、機能B3(および機能B2)とのインターフェースは、変わらない、ということである。
【0062】
これにより、本実施例においては、名前空間(機能B5および機能B6)の新規追加・削除に対して、他の機能ブロックを修正することなく、機能B4を追加・削除するだけで、対処することが可能となる。これは、本実施例において、名前をベースとしたID変換を行うようにした結果である。
【0063】
以下に、図4、図5、図6を用いて、本発明の一実施例の動作について説明する。ただし、「クライアント」とは、前述したとおり、一人以上のユーザ(またはグループ)であればよい。
【0064】
最初に、クライアントから機能B1に対して、ID変換要求が出される。これをもとに、機能B1(21)は、渡されたID・クライアントの位置情報・アクセス対象であるファイルシステムの位置情報を機能B2(22)に渡す(ステップC1)。
【0065】
機能B2(22)は、渡された情報をもとに、機能B3(23)上の定義情報を検索し、クライアントが対象ファイルシステムにアクセスできる設定がなされているかを調べる(ステップC2)。検索は、図2の「登録された名前空間」、「クライアント側の名前空間」、「ファイルシステム側の名前空間」の各ディレクトリに対して行われる。設定が不足している場合、機能B2(22)は、機能B1(21)に対して、「アクセスが許可されていない」としてエラーを返す(ステップC10)。この時点でのエラーは、そもそも要求を出したクライアントには、ファイルシステムへのアクセス権限が無いことを示す。
【0066】
ステップC2で設定が完全になされていることがわかると、機能B2(22)は、まず機能B3(23)の「クライアント側の名前空間」として定義された名前空間を、「登録された名前空間」ディレクトリ(図2参照)から検索し(ステップC3)、機能B3上に、ID変換ファイル(24)を新たに作成して、機能B4(25)に対して変換要求を出す(ステップC4)。
【0067】
機能B4(25)は、機能B3(23)を介して、変換前のIDを受け取り、機能B5(30)(ID変換デーモン30)に対して、変換要求を出す。機能B5(30)は、変換要求を受けると、機能B6(31)から渡されたIDを検索する。検索が成功すれば、機能B4(25)に、変換後の、変換前IDに対応する名前を返し、一方、検索に失敗すれば、機能B5(30)は、機能B4(25)に対しエラーを返す(ステップC4、C5)。
【0068】
機能B4(25)は、返却された情報を調べて(ステップC5)、エラーであれば、即座に機能B3(23)の当該ID変換ファイル(24)にエラー情報を書き込む。機能B22(22)は、これを受けて機能B1(21)にエラーを返す(ステップC10)。
【0069】
この時点でのエラーは、クライアントとして要求を出してきたユーザが(管理者が設定したであろう)「クライアントの名前空間」として定義された名前空間に存在しなかったという意味であり、運用の不備、設定ミス、あるいは不正アクセスがあった、などの可能性を示唆している。
【0070】
一方、検索が成功し、機能B5(30)が機能B4(25)に対して、変換後の名前を返却すると、機能B4(25)は、その返却結果を、当該ID変換ファイル(24)に書き込む。
【0071】
以上の処理は、要求を出したクライアントのIDが、少なくとも「クライアント側の名前空間」として定義された名前空間には存在することを示す。
【0072】
次に、機能B2(22)は、機能B4(25)から変換が成功したという情報を受けると、変換結果である名前をもとに、今度は、機能B3のID変換用ファイルシステム(23)の「ファイルシステム側の名前空間」として定義された名前空間を、「登録された名前空間」ディレクトリから検索し、「登録された名前空間」ディレクトリに、ID変換ファイル(24)のキャッシュが残っているかどうかを調べる(ステップC6、ステップC7)。キャッシュが残っていない場合、機能B5(30)に変換要求を発する。
【0073】
以降の処理手順は、上記のIDから名前に変換する手順とほぼ同様であり、違いは、変換方向がIDから名前か、名前からIDか、という一点のみである。つまり、変換要求の内容は異なっても、処理手順としては同一となる。そして、エラーの持つ意味も同様となる。
【0074】
ステップC8にて変換が成功したことが確定すると、機能B2(22)は、機能B1(21)に、「ID変換成功」として結果を返す(ステップC9)。この意味するところは、クライアントのIDが示すユーザは、「ファイルシステム側の名前空間」として定義された名前空間にも存在する、ということである。言い換えれば、クライアントのIDが示すユーザは、対象ファイルシステムへのアクセス権を持つことを示している。
【0075】
以上、本発明の実施例の動作の原理を説明したが、以下に具体的な例をあげる。
【0076】
図6において、ユーザは、名前空間Aに属し、ファイルシステムは、名前空間Bに属している。ユーザは、「ID500」を持ち、ファイルシステム上のファイルにアクセスを試みている。ここで、各名前空間は、全て定義済みであるとする。
【0077】
図6において、ユーザがアクセスを試みると(ステップC1)、まず名前空間の定義が行われているかが調べられる(ステップC2)。図6では、名前空間は全て定義済みなので、次に、IDを名前に変換すべく、名前空間Aに、変換要求が出される(ステップC3、C4)。
【0078】
名前空間Aでは、「ID500」は、名前「userA」と等価であるため、「ID500」は、「userA」という名前に変換される。
【0079】
変換が成功したので(ステップC5)、次に名前からIDに変換すべく、名前空間Bに変換要求が出される(ステップC6、C7)。名前空間Bでは名前「userA」は、「ID600」と等価であるため、名前「userA」は「ID600」に変換される。
【0080】
名前からIDへの変換が成功したので(ステップC8)、最終的に得られた「ID600」という値が、クライアントに返却される(ステップC9)。
【0081】
この結果、クライアント側のユーザはファイルシステムへのアクセス権を入手することとなる。
【0082】
以上、クライアント側のIDをファイルシステム側のIDに変換する処理について説明したが、この処理は、実世界で次の意味を持つ。
【0083】
・対象となるファイルシステムへのアクセス権限チェック
・対象となるファイルシステム上へのファイル作成権限チェック
・対象となるファイルシステム上のファイルの削除権限チェック
【0084】
つまり、以上に記述された処理が成功することは、上記権限を持つことを意味する。
【0085】
次は、上記とは逆の処理として、ファイルシステム側のIDをクライアント側のIDに変換する処理について説明する。
【0086】
「ファイルシステム側のIDをクライアント側のIDに変換する」という処理は、これまで述べてきた処理と全く反対方向の処理であるが、処理手順は、同様である。違いは、
・変換前IDが、クライアント側のものか、ファイルシステム側のものか、という点、
・変換後IDが、クライアント側のものか、ファイルシステム側のものか、
という点の二点である。
【0087】
ID変換という観点から見れば、変換前と変換後のIDがどちらに属していようと、処理としては、全く同様となる。
【0088】
次に、ファイルシステム側のIDをクライアント側のIDに変換する処理は、実世界でどのような意味を持つのかについてみると、以下のようなものとなる。
・対象となるファイルシステム上のファイルの閲覧権限チェック
【0089】
つまり、「ファイルシステム側のIDをクライアント側のIDに変換する」処理が成功することは、上記のとおり、ファイルの閲覧権限を持つことを意味する。
【0090】
以上説明したように、本発明によれば、以下の効果を奏する。
【0091】
・異なる名前空間に属するそれぞれのユーザ・グループのIDをシームレスに変換できる(UNIX(登録商標)−UNIX(登録商標)でも、Windows(登録商標)−UNIX(登録商標)でも)。
【0092】
・名前空間を指定するので、ファイルシステムにアクセスするユーザ・グループと、ファイルの所有者を明確に定義できる。
【0093】
・名前空間を指定するので、ファイルシステムにアクセスできるユーザ・グループを容易に限定できる。
【0094】
・ファイルシステム側のIDが一つに定まるので、複数の名前空間に同一ユーザが属する場合でも、ファイルの所有者を一意に決定できる。
・名前空間の新規追加・削除が容易である(図4の機能B4を追加・削除するだけでよい)。
【0095】
本発明は、クライアント側の名前空間とファイルシステム側の名前空間を明確に定義し、両者のIDを名前をベースに対応付けることで、IDの一意性を保障している。しかし、名前空間が異なれば、全く同じユーザ名が二つの名前空間に存在する確率は高くない。完全に名前が一致するユーザの数が少なければ、ファイルシステムにアクセスできるユーザの数も少なくなるので、利便性に欠ける。しかし、逐一、名前空間を修正することは、運用として、管理者の手間が膨大に膨れ上がるという可能性も考えられる。
【0096】
この問題は、クライアント側の名前空間に属するIDを名前に変換した時点で、次にファイルシステム側の名前空間に属するIDを検索する前に、名前を変換する機能を、本発明に追加することで、回避可能である。
【0097】
図7に示すように、「ファイルシステム側の名前空間」の定義の中に、新たに「名前を変換するルール」を定義する。また、図4の機能B2(論理部)に、このルールを参照できる機能を追加する。
【0098】
図7を用いて、一例を説明する。図7に示す例では、二つの名前変換ルールが追加されている。ただし、ここでは、「クライアント」とは、あるユーザの集合を表す。
【0099】
1.「クライアントAのuserAは、ファイルシステムAにおいてはuserBとして扱われる」
【0100】
2.「クライアントBの全てのユーザは、ファイルシステムAにおいてはanonymous user(不特定ユーザ)として扱われる」
【0101】
一つ目のルールは、クライアントAの「userA」という名前のユーザが、ファイルシステムAにアクセスする場合は、まず、「userB」という名前に変換され、次に、「userB」という名前が「ファイルシステム側の名前空間」においてIDに変換されることを示す。
【0102】
二つ目のルールは、クライアントBからのどのユーザも、ファイルシステムAでは「anonymous user」(アノニマス・ユーザ)として扱われる。つまり、クライアントBからはファイルシステムAに対してanonymous(アノニマス)アクセスのみが許可されることを意味する。どのようなルールを定義するかで、さまざまなアクセスパターンをユーザに与えることができる。
【0103】
図7に示した例以外にも、「一度「ファイルシステム側の名前空間」において名前からIDに変換し、失敗したらルールを適用する」というルールを用いてもよい。これは、「ファイルシステム側の名前空間」に存在しないユーザにも、ファイルシステムへのアクセスを許可する、ということを意味する。これにより、「ファイルシステム側の名前空間」に存在しないユーザには、anonymous(アノニマス)アクセスを許す、という運用が可能となる。
【0104】
ルールを定義する場所が、「クライアント側の名前空間」の定義の中ではない理由は、この機能は、あくまでファイルシステム側の名前空間が主体であり、ファイルシステムへアクセスするユーザに対して、適用されるべきものだからである。逆に、クライアント側の名前空間に対して名前変換ルールを定義しても、複数のファイルシステム側の名前空間に変換後のルールを逐一設定しなければならず、意味が無い。
【0105】
次に、本発明の実施例の変形例について説明する。ある名前空間において、IDと名前の組み合わせは、それほど頻繁に変更されることはない。よって、ある程度の期間においては、同じIDは、同じ名前に変換されるし、その逆もまた然りである。
【0106】
図4に示した本実施例では、クライアントから変換要求が出される度に、毎回機能B2から、機能B4に対して変換要求を出しているが、前述のようなIDの変更頻度を考慮すると、処理として効率化の点で、改善の余地がある。
【0107】
そこで、本実施例の変形例では、図4の機能B3「ID変換用ファイルシステム」上に生成されるID変換ファイルを、キャッシュとして扱う。つまり、ID変換ファイル24は、一度生成されると、使用された後も、機能B3上に残り続けることとする。ある変換要求が、既に一度変換され、キャッシュされたIDまたは名前に対してのものであれば、機能B2は、機能B4に要求を出すことなく、機能B3上にキャッシュされたID変換ファイルを参照するだけでよい。つまり、本実施例の変形例によれば、機能B4、機能B5、機能B6におけるIDまたは名前の検索処理を、バイパスすることができる。このため、ID変換処理時間が、大きく短縮される。
【0108】
名前空間において、機能B3上にキャッシュされたIDや名前が変更された場合には、該当するキャッシュを削除してしまえば、再度、機能B2は、機能B4に対してID変換要求を出す。
【0109】
また、ある変換要求が失敗すれば、キャッシュにはエラー情報が書き込まれる。エラー情報を持つキャッシュを放置すれば、以降の変換要求は、即座に失敗するが、当該キャッシュを削除すれば、再度、機能B4に変換要求が出されるようになる。その時点で、以前変換に失敗したIDや名前が、名前空間に登録されていれば、再度出された要求は成功するかもしれない。成功するしないにかかわらず、再度の変換要求の結果も、またキャッシュされる。
【0110】
キャッシュを削除するタイミングは、名前空間においてキャッシュされたIDまたは名前が変更された時点や変換結果がエラーであることが確定した時点などに設定してもよい。あるいは、定期的(例えば、1日毎)に削除するようにしてもよい。
【0111】
図8は、本実施例で追加された処理手順を説明するための流れ図である。図4及び図8を参照して、本実施例の動作について説明する。以下では、図8において、図5の流れ図との相違点を主に説明し、同一処理手順の説明は適宜省略する。
【0112】
「クライアント側の名前空間」にてIDから名前に変換する場合、機能B2は、まず機能B3上にキャッシュが存在するかどうかを調べる(ステップD4)。
【0113】
キャッシュが存在していれば、キャッシュされた情報がエラーであるかどうかを調べて(ステップD5)、エラーであれば即座にID変換は失敗であるとして、エラーがクライアントに返却される(ステップD18)。
【0114】
キャッシュされた情報が以前変換に成功したものを示していれば、「クライアント側の名前空間」にてIDから名前の変換に成功したこととなるので、その変換結果である名前に対して名前変換ルールが定義されているかどうかを調べる(ステップD6、ステップD15)。
【0115】
名前変換ルールが定義されていなければ、変換結果である名前を使用して「ファイルシステム側の名前空間」においてIDへの変換を試みる(ステップD7)。名前変換ルールが定義されていれば、ルールに従って名前を変換し(ステップD16)、変換された名前でIDへの変換を試みる(ステップD7)。
【0116】
「ファイルシステム側の名前空間」において、名前からIDに変換する処理も、基本的には、上述した手順と同様に、キャッシュの有無、名前変換ルールの定義の有無を調べて、変換処理を進める。
【0117】
図7、図8、図9を用いて、以下に具体的な例に即して説明する。ただし、図7の名前変換ルールにおける「clientA」は、図9における「名前空間A」に対応し、図7の名前変換ルールにおける「filesystemA」は、図9における「名前空間B」に対応するものとする。
【0118】
図9において、ユーザは名前空間Aに属し、ファイルシステムは名前空間Bに属している。ユーザは「ID500」を持ち、ファイルシステム上のファイルにアクセスを試みている。ここで、各名前空間は、全て定義済みであるとする。
【0119】
図9において、ユーザがアクセスを試みると(図8のステップD1)、まず名前空間の定義が行われているかが調べられる(図8のステップD2)。図9では、名前空間は全て定義済みであるため、次に、IDを名前に変換すべく、機能B3上に、キャッシュが存在するかどうかを調べる(図8のステップD4)。
【0120】
キャッシュが存在し、かつ、キャッシュにある情報は、変換成功を示すものであるとすると、キャッシュから変換後の名前である「userA」が得られるため、次に、変換後の名前に対して、名前変換ルールが定義されているかどうかを調べる。
【0121】
図7に示すとおりに、名前変換ルールが定義されているとすると、「userA」という名前は、ルール「userA on clientA is ...」というルールに該当することがわかる(図8のステップD6、ステップD15)。
【0122】
よって、該当するルールに従って、名前「userA」は、「userB」へと変換される(図8のステップD16)。
【0123】
これ以降は、キャッシュが調べられること(図8のステッD8、D9)を除いては、前記実施例で説明した処理手順と同様である。ただし、名前からIDへの変換には、名前変換ルールに基づき、「userB」という名前が使用される。
【0124】
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、本発明の原理の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【0125】
【発明の効果】
以上説明したように、本発明によれば、あるコンピュータから別のコンピュータ上に存在するファイルシステムにアクセスする場合に、クライアントであるユーザが、例えばWindows(登録商標)・NIS・ローカルなパスワードファイル等のどのような名前空間に属していても、ユーザ側のIDとファイルシステム側のファイルのIDとの一意性を保障するためのID変換機構を提供している。このため、本発明によれば、あるユーザとファイルシステムの組み合わせにおいて、ユーザの属する名前空間とファイルシステムが属する名前空間の間に依存関係が無くなり、異なるドメインに属するユーザが、同じファイルシステムを共有することも、単純な設定だけで可能となる。
【0126】
本発明によれば、複数の名前空間から、一つのファイルシステムにアクセスすることも可能である。
【0127】
また、本発明によれば、ID変換機構として、ID変換用ファイルシステムを新たに用いており、名前空間の定義などにおいて、直感的な操作が可能となる。
【0128】
本発明によれば、異なる名前空間に属するそれぞれのユーザ・グループのIDをシームレスに変換できる。
【0129】
本発明によれば、名前空間を指定するので、ファイルシステムにアクセスするユーザ・グループと、ファイルの所有者を明確に定義できる。
【0130】
本発明によれば、名前空間を指定するので、ファイルシステムにアクセスできるユーザ・グループを容易に限定できる。
【0131】
本発明によれば、ファイルシステム側のIDが一つに定まるので、複数の名前空間に同一ユーザが属する場合でも、ファイルの所有者を一意に決定できる。本発明によれば、名前空間の新規追加・削除が容易である。
【図面の簡単な説明】
【図1】本発明を説明するための模式図である。
【図2】本発明の一実施の形態におけるID変換用ファイルシステムのディレクトリ構成を示す図である。
【図3】本発明の一実施の形態の動作を説明するための流れ図である。
【図4】本発明の一実施例のシステムの機能構成を示した図である。
【図5】本発明の一実施例の動作を説明するための流れ図である。
【図6】本発明の一実施例の具体例を説明するための流れ図である。
【図7】本発明の別の実施例をID変換用ファイルシステムのディレクトリ構成を示す図である。
【図8】本発明の別の実施例の動作を説明するための流れ図である。
【図9】本発明の別の実施例の具体例を説明するための流れ図である。
【符号の説明】
10 クライアント
20 データ処理装置
21 CIFSモジュール(NFSモジュール)
22 論理部
23 ID変換用ファイルシステム
24 変換用ファイル
25 ナビゲータA(B)
30 データ処理装置
31 記憶装置
【発明の属する技術分野】
本発明は、情報処理システムに関し、特に、異なる環境化でのファイルシステムの共用化に適用して好適とされるID変換方法とシステムに関する。
【0002】
【従来の技術】
あるコンピュータから別のコンピュータ上に存在するファイルシステムにアクセスする場合において、クライアント側のID(識別情報)と、ファイルシステム側のIDを一意に対応させる処理は、クライアント側のIDの所有者である実世界のユーザ(人間)が、そのファイルの所有者であることを保障する、という意味において、必要不可欠である。
【0003】
上記のような異なるコンピュータ上のファイルシステムにアクセスする機能は、Microsoft社製Windows(登録商標)(CIFS[Common Internet File System])やUNIX(登録商標)(NFS[Network File System])で標準的に実装されている。これらは、それぞれ、Windows(登録商標)やUNIX(登録商標)システムの世界に閉じた実装がなされており、その意味で、IDの一意性は、それなりに、保障されている。しかしながら、Windows(登録商標)−UNIX(登録商標)間で、ファイルシステムを共有する機能はどちらにも無い。さらに、両者とも、クライアントの環境やNFSサーバの運用環境に大きく依存してしまう。
【0004】
また、Samba suite(Samba−− A Windows(登録商標) SMD[Server Message Block Protocol]/CIFS fileserver for UNIX(登録商標); Samba suite−−UNIX(登録商標)用にSMDをインプリメントしたプログラム集)のように、Windows(登録商標)−UNIX(登録商標)間でのファイルシステム共有を実現するものもある。しかし、Sambaでは、ファイルシステム側のIDを管理するのに、UNIX(登録商標)の伝統的な/etc/passwdファイルを用いている。そのため、Sambaで公開しているファイルシステムをNFSで共有しようとすると、ファイルシステム側のIDを二重管理することになる事態に陥ってしまう。これは、NFSでは、ID管理にNFS専用ファイルやNISサーバを利用するためである。
【0005】
【発明が解決しようとする課題】
以上のように、従来のシステムにおいては、以下のような問題点がある。
【0006】
・Windows(登録商標)(CIFS)やNFSだけでは、Windows(登録商標)−UNIX(登録商標)間でファイルシステムを共有できない。
【0007】
・クライアントやサーバのローカルな環境に大きく依存する。
【0008】
・Windows(登録商標)−UNIX(登録商標)間でファイルシステムを共有するときのID管理が煩雑である。
【0009】
したがって、本発明の目的は、例えばWindows(登録商標)−UNIX(登録商標)間等異なるOS(オペレーティングシステム)間でファイルシステムを共有可能とするID変換方法及びシステムと装置を提供することにある。
【0010】
また本発明の他の目的は、クライアントやサーバのローカルな環境に大きく依存することのないID変換方法及びシステムと装置を提供することにある。
【0011】
さらに本発明のさらに別の目的は、例えばWindows(登録商標)−UNIX(登録商標)間でファイルシステムを共有するときのID管理の煩雑さを解消するID変換方法及びシステムと装置を提供することにある。
【0012】
【課題を解決するための手段】
前記目的を達成する本発明の1つのアスペクトに係る方法は、クライアント側のIDから前記クライアントがアクセスするファイルシステムのIDへの変換を、少なくとも1つのデータ処理装置によって行う方法であって、前記データ処理装置のID変換用ファイルシステムに、登録された名前空間、クライアントがどの名前空間に属するかという情報を定義する、クライアント側の名前空間、及び、どのファイルシステムがどの名前空間に属するID情報を持つかという情報を定義する、ファイルシステム側の名前空間を登録しておき、前記データ処理装置は、以下のステップを含む。
(a)前記データ処理装置は、クライアントからのファイルアクセスに関する情報として変換前のID、クライアント情報、アクセス対象のファイルシステム情報を受け取る。
前記データ処理装置が、前記ID変換用ファイルシステムを参照して、前記クライアントがアクセス対象のファイルシステムにアクセスできる設定がなされているか調べる。
(b)前記データ処理装置は、アクセス許可の設定がなされている場合、入力された変換前のIDをもとに、クライアント側の名前空間に属するIDを、名前に変換する。
(c)前記データ処理装置は、前記IDから変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する。
(d)前記データ処理装置は、変換されたIDを、前記クライアントに返却する。
【0013】
本発明において、前記ID変換用ファイルシステムには、前記登録された名前空間、前記クライアント側の名前空間、及び、前記ファイルシステム側の名前空間が、ディレクトリ形式で登録される構成としてもよい。
【0014】
本発明に係る方法において、前記データ処理装置は、ID変換用の設定上でアクセス許可があるか判断するにあたり、入力されたクライアント情報をもとに、前記ID変換用ファイルシステム上のクライアント側の名前空間に定義があるか否かを調べるとともに、アクセス対象のファイルシステム情報をもとに、前記ID変換用ファイルシステム上のファイルシステム側の名前空間に定義があるか否かを調べるようにしてもよい。前記クライアントは、前記ID変換用ファイルシステムから返却されたIDにてファイルアクセスを行う。
【0015】
本発明の他のアスペクトに係るシステムは、クライアント側のIDから前記クライアントがアクセスするファイルシステムのIDへの変換を行うID変換システムであって、登録された名前空間、クライアントがどの名前空間に属するかという情報を定義する、クライアント側の名前空間、及び、どのファイルシステムがどの名前空間に属するID情報を持つかという情報を定義する、ファイルシステム側の名前空間を記憶するID変換用ファイルシステムと、クライアントからのファイルアクセスに関する情報として変換前のID、クライアント情報、アクセス対象のファイルシステム情報を受け取る手段と、前記ID変換用ファイルシステムを参照して、前記クライアントのアクセス対象のファイルシステムへのアクセス許可の設定の有無を調べる手段と、アクセス許可の設定がなされている場合、入力された変換前のIDをもとに、クライアント側の名前空間に属するIDを、名前に変換する手段と、前記IDから変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する手段と、変換されたIDを、前記クライアントに返却する手段と、を備えている。
【0016】
【発明の実施の形態】
本発明の好適な発明の実施の形態について以下に説明する。本発明は、あるコンピュータから別のコンピュータ上に存在するファイルシステムにアクセスする場合に、クライアントであるユーザが、Windows(登録商標)、NIS、ローカルなパスワードファイル等のどのような名前空間に属していても、ユーザの識別子(以下、「ユーザID」という)とファイルシステム側のファイルの識別子(「ファイルのID」という)との一意性を保障するためのID(識別情報)変換機構を提供する。
【0017】
本発明は、クライアントと通信接続するデータ処理装置が、ID変換用ファイルシステムに、前記ID変換用ファイルシステムには、登録された名前空間ディレクトリの配下に名前空間が定義され、クライアント側の名前空間ディレクトリの配下に、クライアントがどの名前空間に属するかという情報が定義され、及び、ファイルシステム側の名前空間ディレクトリの配下に、どのファイルシステムがどの名前空間に属するID情報を持つかという情報が定義され、前記ID変換用ファイルシステムのルートディレクトリのもとに、前記登録された名前空間、前記クライアント側の名前空間、及び、前記ファイルシステム側の名前空間の各ディレクトリが登録されている。
【0018】
クライアントから、変換前のID、クライアント情報、アクセス対象のファイルシステム情報を入力し、入力されたクライアント情報をもとに、ID変換用ファイルシステム上のクライアント側の名前空間に定義があるか否かを調べるとともに、アクセス対象のファイルシステム情報をもとに、前記ID変換用ファイルシステム上のファイルシステム側の名前空間に定義があるか否かを調べることで、クライアントによるアクセス対象のファイルシステムへのアクセス許可の設定がなされているか否かを調べる。ID変換用ファイルシステムの設定上で、当該ファイルシステムへのアクセス許可の設定がなされている場合、入力された変換前のIDをもとに、クライアント側の名前空間に問い合わせて前記IDから名前に変換し、前記IDから変換された名前をもとに、ファイルシステム側の名前空間に問い合わせて名前からIDに変換し、変換されたIDを、クライアントに返却する。前記クライアントは、前記ID変換用ファイルシステムから返却されたIDにてファイルアクセスを行う。
【0019】
本発明の実施の形態において、クライアントとファイルシステムは、同一又は異なる名前空間に属するものとされる。
【0020】
本発明の実施の形態において、クライアントとファイルシステムの名前空間の定義は、クライアントおよびファイルシステムから独立させており、前記ID変換用ファイルシステムで管理する。
【0021】
本発明の実施の形態において、ID又は名前の変換にあたり、名前空間に対応する検索モジュールに変換要求が発せられ、前記検索モジュールが名前空間記憶部を検索することで、クライアント側の名前空間に属するIDを名前に変換する。また、名前空間に対応する検索モジュールに変換要求が発せられ、前記検索モジュールが名前空間記憶部を検索し、名前空間に変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する。
【0022】
本発明の実施の形態において、前記ファイルシステム側の名前空間の定義情報の中に、名前を変換するルールを定義しておき、前記ルールを参照して変換を行うようにしてもよい。このルールは、前記クライアント側の名前を、ファイルシステムの名前空間の名前に変換する名前変換ルールよりなる。
【0023】
本発明の実施の形態において、ID変換、又は名前の変換結果はキャッシュとして保持され、変換要求に対する応答がキャッシュされている場合、キャッシュから取得し、キャッシュされていない場合に、該当する変換を行うようにしてもよい。
【0024】
本発明の実施の形態において、変換が失敗した場合、エラー情報がキャッシュとして保持するようにしてもよい。
【0025】
かかる構成の本発明によれば、あるユーザの作成したファイルが確かにそのユーザの作成したファイルであるということを、全てのユーザに保障できる。
【0026】
図1は、本発明の原理を説明するための図である。ユーザとファイルシステムは、それぞれ、必ず、ある名前空間に属することとする。ユーザとファイルシステムが同じ名前空間に属することも、許可される。図1に示す例では、名前空間Cは、ユーザ側とファイルシステム側のそれぞれに存在している。
【0027】
逆の言い方をすると、ユーザもファイルシステム上のファイルも、それぞれが所有するIDが、実際は誰に与えられたものであっても、どこかの名前空間に属することを強要される。このように、強制的に名前空間を割り当てることで、「どのユーザが、どのファイルシステム(のファイル)にアクセスしたのか」を明確に定義することができる。
【0028】
この定義は、本発明のシステム内で、閉じて行われる。つまり、名前空間の定義を、クライアントおよびサーバのマシンから独立させる。
【0029】
このように、本発明によれば、名前空間の定義を、クライアントおよびサーバのマシンから独立させることで、従来の手法のように、暗黙のうちに、名前空間が決定されるのではなく、ユーザのIDやファイルのIDがどの名前空間において管理されているかが明確化される。このため、各マシンの管理者やユーザは、自らの所属を、明確に意識できる。
【0030】
また、図1からわかることとして、一つファイルシステムに、複数の名前空間からアクセスできることも、本発明の特徴の一つである。図1に示す例では、名前空間Cのファイルシステムは、名前空間Bと名前空間Cのユーザからのアクセスが許可され、名前空間Dのファイルシステムは、名前空間Aと名前空間Cのユーザからのアクセスが許可される設定とされている。
【0031】
さらに、名前空間の種類(Windows(登録商標)、NISなど)にも、依存しない(この点については後述する)。
【0032】
図2は、本発明における名前空間の定義方法とその割り当て方法を説明するための図である。図2に示されるように、それぞれの情報は、「ID変換用ファイルシステム」上において、ルートディレクトリのもとに、ディレクトリツリー構造として保存される。「ID変換用ファイルシステム」は、本発明のシステムが取り扱う、全ての名前空間を定義する「登録された名前空間」ディレクトリ、その中でクライアントの属する名前空間を定義する「クライアント側の名前空間」ディレクトリ、同じくファイルシステムの属する名前空間を定義する「ファイルシステム側の名前空間」ディレクトリから構成される。そして「ID変換用ファイルシステム」において、これらの名前空間の情報は一元的に定義・管理される。
【0033】
このように、ファイルシステムという一般的な構造を用いることで、従来の変換方式では不可能であった(人間にも、内部機能の実装においても)、直感的な操作を可能としていることも、本発明の特徴の一つである。
【0034】
図2を参照して、さらに詳細に説明する。名前空間は、図2における「登録された名前空間」ディレクトリ配下に定義される。図2では、4つの名前空間(NIS[Network Information Service] A, NIS B, PDC[Primary Domain Controller] A, File B)が定義されているが、名前空間は、NISでも、ドメインコントローラでも、あるいは変換情報が格納されたファイルであってもよい。なお、NISはUNIX(登録商標)システム間でシステム構成情報、ユーザ情報を共有する目的で用いられ、Windows(登録商標)NT4.0のPDCに対応している。
【0035】
次に、図2における「クライアント側の名前空間」ディレクトリ配下に、どのクライアントがどの名前空間に属するか、という情報が定義される。ここで定義されないクライアントは、どのファイルシステムにもアクセスできない。
【0036】
本明細書中で、「クライアント」とは、
・アクセス主体である単体のユーザ(あるいはグループ、以下同じ)であってもよいし、
・一つの計算機上の全てのユーザであってもよいし、
・あるネットワーク上の全てのユーザであってもよいし、
・あるドメイン上の全てのユーザであってもよい。
【0037】
重要なことは、アクセスしてくるユーザを特定することである。
【0038】
そして、図2における「ファイルシステム側の名前空間」ディレクトリ配下に、どのファイルシステム(のファイル)がどの名前空間に属するIDを持ちうるか、という情報が定義される。「ファイルシステム側の名前空間」ディレクトリ配下に定義されないファイルシステムには、どのクライアントからも、アクセスできない。
【0039】
図2が示されていることがらは、「クライアント側の名前空間」ディレクトリに定義のあるクライアントから、「ファイルシステム側の名前空間」ディレクトリに定義のあるファイルシステムに対してのみアクセスが許可される、ということである。ただし、どちらも「登録された名前空間」ディレクトリに定義された名前空間を用いなければならない。
【0040】
図3は、本発明の一実施の形態におけるID変換手順を説明するための流れ図である。図3を参照して、本発明の一実施の形態におけるID変換動作の一例を説明する。
【0041】
ステップA1にて、ファイルアクセスに関連する、各種情報(変換前ID、クライアント情報、アクセス対象ファイルシステム情報)が、ID変換用ファイルシステムに入力される。
【0042】
ステップA1にて、ID変換用設定検索処理を行う。すなわち、クライアント情報をもとに、ID変換用ファイルシステム上の「クライアント側の名前空間」に定義があるかを調べ、アクセス対象ファイルシステム情報をもとに、ID変換用ファイルシステム上の「ファイルシステム側の名前空間」に定義があるかを調べる。
【0043】
ステップA2から、クライアント情報が「クライアント側の名前空間」に定義されており、且つ、ファイルシステム情報が「ファイルシステム側の名前空間」に定義されており、アクセス許可があることがわかると、入力されたIDをもとに、ステップA3にて、クライアント側の名前空間に問い合わせてIDから名前に変換する。クライアント側の名前空間への問い合わせとして、例えば、後述するように、名前空間に対応するID変換モジュールにIDの変換要求を行い、ID変換モジュールが名前空間記憶部を検索して名前に変換し、変換結果を応答として返す処理が行われる。
【0044】
次に、ステップA4にて、IDから変換された名前をもとに、ファイルシステム側の名前空間に問い合わせて、名前からIDに変換する。ファイルシステム側の名前空間への問い合わせとして、例えば、後述するように、名前空間に対応するID変換モジュールにIDの変換要求を行い、ID変換モジュールが名前空間記憶部を検索して名前に変換し、変換結果を応答として返す処理が行われる。
【0045】
そして、ステップA5にて、最終的に得られたIDをクライアントに返却する。
【0046】
以上の、ステップからわかるように、本発明においては、名前をベースとしてID変換を行う。言い換えれば、クライアント側の名前空間と、ファイルシステム側の名前空間の両方に同じ名前のあるユーザは、同一ユーザであると定義する。図1の説明で、複数の名前空間から一つのファイルシステムにアクセスでき、しかも、名前空間の種類に依存しないと記載した理由は、これである。すなわち、「IDは名前空間の数だけ定義があるが、名前は基本的に実世界に依存する」という暗黙の了解を前提として、IDを一対一に対応付けることで、IDの一意性を保障している。
【0047】
本発明の一実施の形態の特徴をまとめると、以下のようになる。
【0048】
・ユーザとファイルシステムを、必ず、ある名前空間に属すると定義することで、従来技術のように、暗黙のうちに、名前空間が決定されるのではなく、ユーザのIDやファイルのIDがどの名前空間において管理されているかが、明確化される。このため、各マシンの管理者やユーザは、自らの所属を明確に意識できる。
【0049】
・ユーザやファイルシステムが属する名前空間は、どのように定義されてもよいし、それぞれの名前空間は何によって管理されてもよい。つまり、名前空間の組み合わせは、何にも依存しない。
【0050】
かかる柔軟な構造により、本発明の一実施の形態によれば、以下のような作用効果を奏する。
【0051】
・あるユーザとファイルシステムの組み合わせにおいて、ユーザの属する名前空間とファイルシステムが属する名前空間の間に依存関係が無くなる。例えば、従来技術では難しかった、NISドメインに属するユーザと、Windows(登録商標)ドメインに属するユーザとが、同じファイルシステムを共有することも、単純な設定だけで可能となる。
【0052】
・複数の名前空間から、一つのファイルシステムにアクセスすることも可能である。
【0053】
・ID変換機構として、「ID変換用ファイルシステム」を新たに用いている。ファイルシステムを、ID変換に利用するという考え方は、従来には、無く(本発明が全く新規に導入)、これにより、名前空間の定義などにおいて、直感的な操作が可能となる。
【0054】
【実施例】
本発明を適用した具体例をなすいくつかの実施例について図面を参照して以下に説明する。図4は、本発明に係るシステムの一実施例を説明するための図であり、システム構成を機能ブロックとして表したものである。図4において、等価な機能ブロックには、Bで始まる同一の符号が付されている。図4を参照すると、データ処理装置X(20)は、クライアントA(102)、クライアントB(101)と、インターネット等の通信ネットワークを介して通信接続する。また、データ処理装置X(20)は、データ処理装置A(301)、データ処理装置B(302)と、ネットワークを介して通信接続する。
【0055】
機能B1(21)は、クライアントからの「ID変換要求」を受け付け、変換結果をクライアントに返却する処理を行う機能ブロックであり、リモートファイルアクセスのサーバ機能である。機能B1(21)は、一般的には、公知のSamba(CIFS)(211)や、NFSモジュール(212)としてユーザ空間やカーネル空間に実装される。
【0056】
機能B2(論理部)(22)は、機能B1から、ID変換要求を受けると、機能B3(23)を経由して機能B4(25)に変換要求を出し、機能B4(25)から機能B3(23)を介して得られた変換結果を機能B1(21)に返却する機能ブロックである。
【0057】
機能B3(23)は、前述した「ID変換用ファイルシステム」に対応しており、変換の設定情報を保持したり、変換処理の媒介をなす機能ブロックである。変換処理の媒介は、図4において、機能B3(23)上のID変換ファイル(24)として示されているが、変換の成否にかかわらず、変換結果は、機能B3(23)上に、キャッシュとして残される。よって、キャッシュが残っていれば、機能B2(22)は、そのキャッシュに格納される情報を機能B1(21)に返却すればよいし、キャッシュが残っていなければ、機能B3を介して、新たに、機能B4(25)に変換要求が出される。
【0058】
機能B4(25)は、機能B5(30)に、IDまたは名前を渡して、変換結果を問い合わせ、返却された変換結果を、機能B3(23)上のファイル(24)に反映する機能ブロックである。機能B4(25)は名前空間毎に設けられている。図4に示す例では、機能B4(25)として、名前空間A、Bに対応して、変換要求等の交渉を行うネゴシエータA、Bが設けられている。
【0059】
機能B5(「ID検索モジュール」、あるいは「ID検索デーモン」ともいう)(30)および機能B6(名前空間記憶部)(31)は、ID変換を行う機能ブロックである。具体的には、機能B5(30)は、機能B4(25)から渡されたIDまたは名前を、機能B6(31)から検索し、変換結果を、機能B4(25)に返却する。機能B5(30)および機能B6(31)は、通常、NISサーバ、ドメインコントローラ、LDAP(Lightweight Directory Access Protocol)サーバなどとして実装される。また、機能B6(31)は、UNIX(登録商標)の/etc/passwdのようなファイルとしても存在しうる。ただし、この場合、機能B6(31)単体では、ID検索できないため、機能B5(30)は、機能B4(25)に統合される。
【0060】
図4では、機能B5および機能B6は、機能B1〜B4とは異なるデータ処理装置30上に実装されている例として示されているが、同じデータ処理装置20内に存在してもよいことは勿論である。
【0061】
本実施例において、特筆すべき点として、機能B4(25)は、名前空間(機能B5および機能B6)毎に存在するが、機能B3(および機能B2)とのインターフェースは、変わらない、ということである。
【0062】
これにより、本実施例においては、名前空間(機能B5および機能B6)の新規追加・削除に対して、他の機能ブロックを修正することなく、機能B4を追加・削除するだけで、対処することが可能となる。これは、本実施例において、名前をベースとしたID変換を行うようにした結果である。
【0063】
以下に、図4、図5、図6を用いて、本発明の一実施例の動作について説明する。ただし、「クライアント」とは、前述したとおり、一人以上のユーザ(またはグループ)であればよい。
【0064】
最初に、クライアントから機能B1に対して、ID変換要求が出される。これをもとに、機能B1(21)は、渡されたID・クライアントの位置情報・アクセス対象であるファイルシステムの位置情報を機能B2(22)に渡す(ステップC1)。
【0065】
機能B2(22)は、渡された情報をもとに、機能B3(23)上の定義情報を検索し、クライアントが対象ファイルシステムにアクセスできる設定がなされているかを調べる(ステップC2)。検索は、図2の「登録された名前空間」、「クライアント側の名前空間」、「ファイルシステム側の名前空間」の各ディレクトリに対して行われる。設定が不足している場合、機能B2(22)は、機能B1(21)に対して、「アクセスが許可されていない」としてエラーを返す(ステップC10)。この時点でのエラーは、そもそも要求を出したクライアントには、ファイルシステムへのアクセス権限が無いことを示す。
【0066】
ステップC2で設定が完全になされていることがわかると、機能B2(22)は、まず機能B3(23)の「クライアント側の名前空間」として定義された名前空間を、「登録された名前空間」ディレクトリ(図2参照)から検索し(ステップC3)、機能B3上に、ID変換ファイル(24)を新たに作成して、機能B4(25)に対して変換要求を出す(ステップC4)。
【0067】
機能B4(25)は、機能B3(23)を介して、変換前のIDを受け取り、機能B5(30)(ID変換デーモン30)に対して、変換要求を出す。機能B5(30)は、変換要求を受けると、機能B6(31)から渡されたIDを検索する。検索が成功すれば、機能B4(25)に、変換後の、変換前IDに対応する名前を返し、一方、検索に失敗すれば、機能B5(30)は、機能B4(25)に対しエラーを返す(ステップC4、C5)。
【0068】
機能B4(25)は、返却された情報を調べて(ステップC5)、エラーであれば、即座に機能B3(23)の当該ID変換ファイル(24)にエラー情報を書き込む。機能B22(22)は、これを受けて機能B1(21)にエラーを返す(ステップC10)。
【0069】
この時点でのエラーは、クライアントとして要求を出してきたユーザが(管理者が設定したであろう)「クライアントの名前空間」として定義された名前空間に存在しなかったという意味であり、運用の不備、設定ミス、あるいは不正アクセスがあった、などの可能性を示唆している。
【0070】
一方、検索が成功し、機能B5(30)が機能B4(25)に対して、変換後の名前を返却すると、機能B4(25)は、その返却結果を、当該ID変換ファイル(24)に書き込む。
【0071】
以上の処理は、要求を出したクライアントのIDが、少なくとも「クライアント側の名前空間」として定義された名前空間には存在することを示す。
【0072】
次に、機能B2(22)は、機能B4(25)から変換が成功したという情報を受けると、変換結果である名前をもとに、今度は、機能B3のID変換用ファイルシステム(23)の「ファイルシステム側の名前空間」として定義された名前空間を、「登録された名前空間」ディレクトリから検索し、「登録された名前空間」ディレクトリに、ID変換ファイル(24)のキャッシュが残っているかどうかを調べる(ステップC6、ステップC7)。キャッシュが残っていない場合、機能B5(30)に変換要求を発する。
【0073】
以降の処理手順は、上記のIDから名前に変換する手順とほぼ同様であり、違いは、変換方向がIDから名前か、名前からIDか、という一点のみである。つまり、変換要求の内容は異なっても、処理手順としては同一となる。そして、エラーの持つ意味も同様となる。
【0074】
ステップC8にて変換が成功したことが確定すると、機能B2(22)は、機能B1(21)に、「ID変換成功」として結果を返す(ステップC9)。この意味するところは、クライアントのIDが示すユーザは、「ファイルシステム側の名前空間」として定義された名前空間にも存在する、ということである。言い換えれば、クライアントのIDが示すユーザは、対象ファイルシステムへのアクセス権を持つことを示している。
【0075】
以上、本発明の実施例の動作の原理を説明したが、以下に具体的な例をあげる。
【0076】
図6において、ユーザは、名前空間Aに属し、ファイルシステムは、名前空間Bに属している。ユーザは、「ID500」を持ち、ファイルシステム上のファイルにアクセスを試みている。ここで、各名前空間は、全て定義済みであるとする。
【0077】
図6において、ユーザがアクセスを試みると(ステップC1)、まず名前空間の定義が行われているかが調べられる(ステップC2)。図6では、名前空間は全て定義済みなので、次に、IDを名前に変換すべく、名前空間Aに、変換要求が出される(ステップC3、C4)。
【0078】
名前空間Aでは、「ID500」は、名前「userA」と等価であるため、「ID500」は、「userA」という名前に変換される。
【0079】
変換が成功したので(ステップC5)、次に名前からIDに変換すべく、名前空間Bに変換要求が出される(ステップC6、C7)。名前空間Bでは名前「userA」は、「ID600」と等価であるため、名前「userA」は「ID600」に変換される。
【0080】
名前からIDへの変換が成功したので(ステップC8)、最終的に得られた「ID600」という値が、クライアントに返却される(ステップC9)。
【0081】
この結果、クライアント側のユーザはファイルシステムへのアクセス権を入手することとなる。
【0082】
以上、クライアント側のIDをファイルシステム側のIDに変換する処理について説明したが、この処理は、実世界で次の意味を持つ。
【0083】
・対象となるファイルシステムへのアクセス権限チェック
・対象となるファイルシステム上へのファイル作成権限チェック
・対象となるファイルシステム上のファイルの削除権限チェック
【0084】
つまり、以上に記述された処理が成功することは、上記権限を持つことを意味する。
【0085】
次は、上記とは逆の処理として、ファイルシステム側のIDをクライアント側のIDに変換する処理について説明する。
【0086】
「ファイルシステム側のIDをクライアント側のIDに変換する」という処理は、これまで述べてきた処理と全く反対方向の処理であるが、処理手順は、同様である。違いは、
・変換前IDが、クライアント側のものか、ファイルシステム側のものか、という点、
・変換後IDが、クライアント側のものか、ファイルシステム側のものか、
という点の二点である。
【0087】
ID変換という観点から見れば、変換前と変換後のIDがどちらに属していようと、処理としては、全く同様となる。
【0088】
次に、ファイルシステム側のIDをクライアント側のIDに変換する処理は、実世界でどのような意味を持つのかについてみると、以下のようなものとなる。
・対象となるファイルシステム上のファイルの閲覧権限チェック
【0089】
つまり、「ファイルシステム側のIDをクライアント側のIDに変換する」処理が成功することは、上記のとおり、ファイルの閲覧権限を持つことを意味する。
【0090】
以上説明したように、本発明によれば、以下の効果を奏する。
【0091】
・異なる名前空間に属するそれぞれのユーザ・グループのIDをシームレスに変換できる(UNIX(登録商標)−UNIX(登録商標)でも、Windows(登録商標)−UNIX(登録商標)でも)。
【0092】
・名前空間を指定するので、ファイルシステムにアクセスするユーザ・グループと、ファイルの所有者を明確に定義できる。
【0093】
・名前空間を指定するので、ファイルシステムにアクセスできるユーザ・グループを容易に限定できる。
【0094】
・ファイルシステム側のIDが一つに定まるので、複数の名前空間に同一ユーザが属する場合でも、ファイルの所有者を一意に決定できる。
・名前空間の新規追加・削除が容易である(図4の機能B4を追加・削除するだけでよい)。
【0095】
本発明は、クライアント側の名前空間とファイルシステム側の名前空間を明確に定義し、両者のIDを名前をベースに対応付けることで、IDの一意性を保障している。しかし、名前空間が異なれば、全く同じユーザ名が二つの名前空間に存在する確率は高くない。完全に名前が一致するユーザの数が少なければ、ファイルシステムにアクセスできるユーザの数も少なくなるので、利便性に欠ける。しかし、逐一、名前空間を修正することは、運用として、管理者の手間が膨大に膨れ上がるという可能性も考えられる。
【0096】
この問題は、クライアント側の名前空間に属するIDを名前に変換した時点で、次にファイルシステム側の名前空間に属するIDを検索する前に、名前を変換する機能を、本発明に追加することで、回避可能である。
【0097】
図7に示すように、「ファイルシステム側の名前空間」の定義の中に、新たに「名前を変換するルール」を定義する。また、図4の機能B2(論理部)に、このルールを参照できる機能を追加する。
【0098】
図7を用いて、一例を説明する。図7に示す例では、二つの名前変換ルールが追加されている。ただし、ここでは、「クライアント」とは、あるユーザの集合を表す。
【0099】
1.「クライアントAのuserAは、ファイルシステムAにおいてはuserBとして扱われる」
【0100】
2.「クライアントBの全てのユーザは、ファイルシステムAにおいてはanonymous user(不特定ユーザ)として扱われる」
【0101】
一つ目のルールは、クライアントAの「userA」という名前のユーザが、ファイルシステムAにアクセスする場合は、まず、「userB」という名前に変換され、次に、「userB」という名前が「ファイルシステム側の名前空間」においてIDに変換されることを示す。
【0102】
二つ目のルールは、クライアントBからのどのユーザも、ファイルシステムAでは「anonymous user」(アノニマス・ユーザ)として扱われる。つまり、クライアントBからはファイルシステムAに対してanonymous(アノニマス)アクセスのみが許可されることを意味する。どのようなルールを定義するかで、さまざまなアクセスパターンをユーザに与えることができる。
【0103】
図7に示した例以外にも、「一度「ファイルシステム側の名前空間」において名前からIDに変換し、失敗したらルールを適用する」というルールを用いてもよい。これは、「ファイルシステム側の名前空間」に存在しないユーザにも、ファイルシステムへのアクセスを許可する、ということを意味する。これにより、「ファイルシステム側の名前空間」に存在しないユーザには、anonymous(アノニマス)アクセスを許す、という運用が可能となる。
【0104】
ルールを定義する場所が、「クライアント側の名前空間」の定義の中ではない理由は、この機能は、あくまでファイルシステム側の名前空間が主体であり、ファイルシステムへアクセスするユーザに対して、適用されるべきものだからである。逆に、クライアント側の名前空間に対して名前変換ルールを定義しても、複数のファイルシステム側の名前空間に変換後のルールを逐一設定しなければならず、意味が無い。
【0105】
次に、本発明の実施例の変形例について説明する。ある名前空間において、IDと名前の組み合わせは、それほど頻繁に変更されることはない。よって、ある程度の期間においては、同じIDは、同じ名前に変換されるし、その逆もまた然りである。
【0106】
図4に示した本実施例では、クライアントから変換要求が出される度に、毎回機能B2から、機能B4に対して変換要求を出しているが、前述のようなIDの変更頻度を考慮すると、処理として効率化の点で、改善の余地がある。
【0107】
そこで、本実施例の変形例では、図4の機能B3「ID変換用ファイルシステム」上に生成されるID変換ファイルを、キャッシュとして扱う。つまり、ID変換ファイル24は、一度生成されると、使用された後も、機能B3上に残り続けることとする。ある変換要求が、既に一度変換され、キャッシュされたIDまたは名前に対してのものであれば、機能B2は、機能B4に要求を出すことなく、機能B3上にキャッシュされたID変換ファイルを参照するだけでよい。つまり、本実施例の変形例によれば、機能B4、機能B5、機能B6におけるIDまたは名前の検索処理を、バイパスすることができる。このため、ID変換処理時間が、大きく短縮される。
【0108】
名前空間において、機能B3上にキャッシュされたIDや名前が変更された場合には、該当するキャッシュを削除してしまえば、再度、機能B2は、機能B4に対してID変換要求を出す。
【0109】
また、ある変換要求が失敗すれば、キャッシュにはエラー情報が書き込まれる。エラー情報を持つキャッシュを放置すれば、以降の変換要求は、即座に失敗するが、当該キャッシュを削除すれば、再度、機能B4に変換要求が出されるようになる。その時点で、以前変換に失敗したIDや名前が、名前空間に登録されていれば、再度出された要求は成功するかもしれない。成功するしないにかかわらず、再度の変換要求の結果も、またキャッシュされる。
【0110】
キャッシュを削除するタイミングは、名前空間においてキャッシュされたIDまたは名前が変更された時点や変換結果がエラーであることが確定した時点などに設定してもよい。あるいは、定期的(例えば、1日毎)に削除するようにしてもよい。
【0111】
図8は、本実施例で追加された処理手順を説明するための流れ図である。図4及び図8を参照して、本実施例の動作について説明する。以下では、図8において、図5の流れ図との相違点を主に説明し、同一処理手順の説明は適宜省略する。
【0112】
「クライアント側の名前空間」にてIDから名前に変換する場合、機能B2は、まず機能B3上にキャッシュが存在するかどうかを調べる(ステップD4)。
【0113】
キャッシュが存在していれば、キャッシュされた情報がエラーであるかどうかを調べて(ステップD5)、エラーであれば即座にID変換は失敗であるとして、エラーがクライアントに返却される(ステップD18)。
【0114】
キャッシュされた情報が以前変換に成功したものを示していれば、「クライアント側の名前空間」にてIDから名前の変換に成功したこととなるので、その変換結果である名前に対して名前変換ルールが定義されているかどうかを調べる(ステップD6、ステップD15)。
【0115】
名前変換ルールが定義されていなければ、変換結果である名前を使用して「ファイルシステム側の名前空間」においてIDへの変換を試みる(ステップD7)。名前変換ルールが定義されていれば、ルールに従って名前を変換し(ステップD16)、変換された名前でIDへの変換を試みる(ステップD7)。
【0116】
「ファイルシステム側の名前空間」において、名前からIDに変換する処理も、基本的には、上述した手順と同様に、キャッシュの有無、名前変換ルールの定義の有無を調べて、変換処理を進める。
【0117】
図7、図8、図9を用いて、以下に具体的な例に即して説明する。ただし、図7の名前変換ルールにおける「clientA」は、図9における「名前空間A」に対応し、図7の名前変換ルールにおける「filesystemA」は、図9における「名前空間B」に対応するものとする。
【0118】
図9において、ユーザは名前空間Aに属し、ファイルシステムは名前空間Bに属している。ユーザは「ID500」を持ち、ファイルシステム上のファイルにアクセスを試みている。ここで、各名前空間は、全て定義済みであるとする。
【0119】
図9において、ユーザがアクセスを試みると(図8のステップD1)、まず名前空間の定義が行われているかが調べられる(図8のステップD2)。図9では、名前空間は全て定義済みであるため、次に、IDを名前に変換すべく、機能B3上に、キャッシュが存在するかどうかを調べる(図8のステップD4)。
【0120】
キャッシュが存在し、かつ、キャッシュにある情報は、変換成功を示すものであるとすると、キャッシュから変換後の名前である「userA」が得られるため、次に、変換後の名前に対して、名前変換ルールが定義されているかどうかを調べる。
【0121】
図7に示すとおりに、名前変換ルールが定義されているとすると、「userA」という名前は、ルール「userA on clientA is ...」というルールに該当することがわかる(図8のステップD6、ステップD15)。
【0122】
よって、該当するルールに従って、名前「userA」は、「userB」へと変換される(図8のステップD16)。
【0123】
これ以降は、キャッシュが調べられること(図8のステッD8、D9)を除いては、前記実施例で説明した処理手順と同様である。ただし、名前からIDへの変換には、名前変換ルールに基づき、「userB」という名前が使用される。
【0124】
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、本発明の原理の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【0125】
【発明の効果】
以上説明したように、本発明によれば、あるコンピュータから別のコンピュータ上に存在するファイルシステムにアクセスする場合に、クライアントであるユーザが、例えばWindows(登録商標)・NIS・ローカルなパスワードファイル等のどのような名前空間に属していても、ユーザ側のIDとファイルシステム側のファイルのIDとの一意性を保障するためのID変換機構を提供している。このため、本発明によれば、あるユーザとファイルシステムの組み合わせにおいて、ユーザの属する名前空間とファイルシステムが属する名前空間の間に依存関係が無くなり、異なるドメインに属するユーザが、同じファイルシステムを共有することも、単純な設定だけで可能となる。
【0126】
本発明によれば、複数の名前空間から、一つのファイルシステムにアクセスすることも可能である。
【0127】
また、本発明によれば、ID変換機構として、ID変換用ファイルシステムを新たに用いており、名前空間の定義などにおいて、直感的な操作が可能となる。
【0128】
本発明によれば、異なる名前空間に属するそれぞれのユーザ・グループのIDをシームレスに変換できる。
【0129】
本発明によれば、名前空間を指定するので、ファイルシステムにアクセスするユーザ・グループと、ファイルの所有者を明確に定義できる。
【0130】
本発明によれば、名前空間を指定するので、ファイルシステムにアクセスできるユーザ・グループを容易に限定できる。
【0131】
本発明によれば、ファイルシステム側のIDが一つに定まるので、複数の名前空間に同一ユーザが属する場合でも、ファイルの所有者を一意に決定できる。本発明によれば、名前空間の新規追加・削除が容易である。
【図面の簡単な説明】
【図1】本発明を説明するための模式図である。
【図2】本発明の一実施の形態におけるID変換用ファイルシステムのディレクトリ構成を示す図である。
【図3】本発明の一実施の形態の動作を説明するための流れ図である。
【図4】本発明の一実施例のシステムの機能構成を示した図である。
【図5】本発明の一実施例の動作を説明するための流れ図である。
【図6】本発明の一実施例の具体例を説明するための流れ図である。
【図7】本発明の別の実施例をID変換用ファイルシステムのディレクトリ構成を示す図である。
【図8】本発明の別の実施例の動作を説明するための流れ図である。
【図9】本発明の別の実施例の具体例を説明するための流れ図である。
【符号の説明】
10 クライアント
20 データ処理装置
21 CIFSモジュール(NFSモジュール)
22 論理部
23 ID変換用ファイルシステム
24 変換用ファイル
25 ナビゲータA(B)
30 データ処理装置
31 記憶装置
Claims (27)
- クライアント側のID(識別情報)から前記クライアントがアクセスするファイルシステムのIDへの変換を、少なくとも1つのデータ処理装置によって行う方法であって、
前記データ処理装置のID変換用ファイルシステムに、
登録された名前空間、
クライアントがどの名前空間に属するかという情報を定義する、クライアント側の名前空間、及び、
どのファイルシステムがどの名前空間に属するID情報を持つかという情報を定義する、ファイルシステム側の名前空間、
のそれぞれの情報を登録しておき、
前記データ処理装置は、クライアントからのファイルアクセスに関する情報として変換前のID、クライアント情報、アクセス対象のファイルシステム情報を受け取る第1のステップと、
前記データ処理装置が、前記ID変換用ファイルシステムを参照して、前記クライアントがアクセス対象のファイルシステムにアクセスできる設定がなされているか調べる第2のステップと、
前記データ処理装置は、アクセス許可の設定がなされている場合、入力された変換前のIDをもとに、クライアント側の名前空間に属するIDを、名前に変換する第3のステップと、
前記データ処理装置は、前記IDから変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する第4のステップと、
前記データ処理装置は、変換されたIDを、前記クライアントに返却する第5のステップと、
を含む、ことを特徴とするID変換方法。 - 前記ID変換用ファイルシステムには、
登録された名前空間ディレクトリの配下に名前空間が定義され、
クライアント側の名前空間ディレクトリの配下に、クライアントがどの名前空間に属するかという情報が定義され、及び、
ファイルシステム側の名前空間ディレクトリの配下に、どのファイルシステムがどの名前空間に属するID情報を持つかという情報が定義され、
前記ID変換用ファイルシステムのルートディレクトリのもとに、前記登録された名前空間、前記クライアント側の名前空間、及び、前記ファイルシステム側の名前空間の各ディレクトリが登録されている、ことを特徴とする請求項1記載のID変換方法。 - 前記第2のステップが、前記データ処理装置が、入力された前記クライアント情報をもとに、前記ID変換用ファイルシステム上のクライアント側の名前空間に定義があるか否かを調べるステップと、
入力された前記アクセス対象のファイルシステム情報をもとに、前記ID変換用ファイルシステム上のファイルシステム側の名前空間に定義があるか否かを調べるステップと、
を含む、ことを特徴とする請求項1記載のID変換方法。 - 前記クライアントは、前記ID変換用ファイルシステムから返却されたIDにて前記ファイルシステムのアクセスを行う、ことを特徴とする請求項1記載のID変換方法。
- 前記第3のステップでは、前記データ処理装置と同一又は別のデータ処理装置上において、名前空間に対応する検索モジュールに変換要求が発せられ、前記検索モジュールが名前空間記憶部を検索することで、クライアント側の名前空間に属するIDを名前に変換する、ことを特徴とする請求項1記載のID変換方法。
- 前記第4のステップでは、前記データ処理装置と同一又は別のデータ処理装置において、名前空間に対応する検索モジュールに変換要求が発せられ、前記検索モジュールが名前空間記憶部を検索し、名前空間に変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する、ことを特徴とする請求項1記載のID変換方法。
- 前記クライアントとファイルシステムの名前空間の定義は、前記ID変換用ファイルシステムで管理され、前記クライアントおよび前記ファイルシステムから独立している、ことを特徴とする請求項1記載のID変換方法。
- 前記ファイルシステム側の名前空間の定義情報の中に、名前を変換するルールを定義しておき、前記ルールを参照して変換を行う、ことを特徴とする請求項1記載のID変換方法。
- 前記クライアント側の名前を、ファイルシステムの名前空間の名前に変換するルールである、ことを特徴とする請求項8記載のID変換方法。
- ID変換、又は名前の変換結果はキャッシュとして保持され、
変換要求に対する応答がキャッシュされている場合、キャッシュから取得し、キャッシュされていない場合に、該当する変換を行う、ことを特徴とする請求項1又は8記載のID変換方法。 - 変換が失敗した場合、エラー情報がキャッシュとして保持される、ことを特徴とする請求項1記載のID変換方法。
- クライアント側のID(識別情報)から前記クライアントがアクセスするファイルシステムのIDへの変換を行うID変換システムであって、
登録された名前空間、
クライアントがどの名前空間に属するかという情報を定義する、クライアント側の名前空間、及び、
どのファイルシステムがどの名前空間に属するID情報を持つかという情報を定義する、ファイルシステム側の名前空間、
のそれぞれの情報を記憶するID変換用ファイルシステムと、
クライアントからのファイルアクセスに関する情報として変換前のID、クライアント情報、アクセス対象のファイルシステム情報を受け取る手段と、
前記ID変換用ファイルシステムを参照して、前記クライアントのアクセス対象のファイルシステムへのアクセス許可の設定の有無を調べる手段と、
アクセス許可の設定がなされている場合、入力された変換前のIDをもとに、クライアント側の名前空間に属するIDを、名前に変換する手段と、
前記IDから変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する手段と、
変換されたIDを、前記クライアントに返却する手段と、
を含む、ことを特徴とするID変換システム。 - 前記ID変換用ファイルシステムには、
登録された名前空間ディレクトリの配下に名前空間が定義され、
クライアント側の名前空間ディレクトリの配下に、クライアントがどの名前空間に属するかという情報が定義され、及び、
ファイルシステム側の名前空間ディレクトリの配下に、どのファイルシステムがどの名前空間に属するID情報を持つかという情報が定義され、
前記ID変換用ファイルシステムのルートディレクトリのもとに、前記登録された名前空間、前記クライアント側の名前空間、及び、前記ファイルシステム側の名前空間の各ディレクトリが登録されている、ことを特徴とする請求項12記載のID変換システム。 - 前記アクセス許可の設定の有無を調べる手段が、
入力された前記クライアント情報をもとに、前記ID変換用ファイルシステム上のクライアント側の名前空間に定義があるか否かを調べる手段と、
入力された前記アクセス対象のファイルシステム情報をもとに、前記ID変換用ファイルシステム上のファイルシステム側の名前空間に定義があるか否かを調べる手段と、
を含む、ことを特徴とする請求項12記載のID変換システム。 - 前記クライアントは、前記ID変換用ファイルシステムから返却されたIDにてファイルアクセスを行う、ことを特徴とする請求項12記載のID変換システム。
- 名前空間に対応した検索モジュールと、
名前空間記憶部と、
を備え、
IDから名前への変換要求をうけた前記検索モジュールは、前記名前空間記憶部を検索することで、クライアント側の名前空間に属するIDを名前に変換する、ことを特徴とする請求項12記載のID変換システム。 - 名前空間に対応した検索モジュールと、
名前空間記憶部と、
を備え、
名前空間に対応する検索モジュールに変換要求が発せられ、前記検索モジュールが名前空間記憶部を検索し、名前空間に変換された名前をもとに、ファイルシステム側の名前空間に属するIDに変換する、ことを特徴とする請求項12記載のID変換システム。 - 前記クライアントとファイルシステムの名前空間の定義は、前記ID変換用ファイルシステムで管理され、前記クライアントおよび前記ファイルシステムから独立している、ことを特徴とする請求項12記載のID変換システム。
- 前記ID変換用ファイルシステムにおいて、前記ファイルシステム側の名前空間の定義情報の中に、名前を変換するルールを定義しておき、
前記ルールを参照して、変換を行う手段を備えている、ことを特徴とする請求項12記載のID変換システム。 - 前記クライアント側の名前を、ファイルシステムの名前空間の名前に変換するルールである、ことを特徴とする請求項18記載のID変換システム。
- ID変換、又は名前の変換結果はキャッシュとして保持され、
変換要求に対する応答がキャッシュされている場合、キャッシュから取得し、キャッシュされていない場合に、該当する変換を行う、ことを特徴とする請求項12又は19記載のID変換システム。 - 変換が失敗した場合、エラー情報がキャッシュとして保持される、ことを特徴とする請求項12記載のID変換システム。
- 少なくとも1つのクライアントと通信接続するデータ処理装置を備え、
前記データ処理装置は、少なくとも第1乃至第4の機能ブロックを有し、
前記第1の機能ブロックは、クライアントからのID(識別情報)変換要求を受け付け、ID変換要求を前記第2の機能ブロックに出力し、前記第2の機能ブロックからの変換結果を前記クライアントに返却し、
前記第2の機能ブロックは、前記第1の機能ブロックからID変換要求を受けると、ID変換用ファイルシステムをなす前記第3の機能ブロックを経由して前記第4の機能ブロックに変換要求を出し前記第4の機能ブロックから前記第3の機能ブロックを介して得られた変換結果を、前記第1の機能ブロックに返却し、
前記第3の機能ブロックは、変換の設定情報を保持するとともに、変換を媒介し、登録された名前空間、クライアント側の名前空間、及び、ファイルシステムの名前空間をそれぞれディレクトリ形式で、ID変換用ファイルシステムにて、保持し、かつ、変換ファイルをキャッシュとして保持し、
前記第4の機能ブロックは、前記データ処理装置又は前記データ処理装置の別の前記データ処理装置に設けられている第5の機能ブロックに対して、IDまたは名前を渡して、変換結果を問い合わせ、前記第5の機能ブロックから返却された変換結果を、前記第3の機能ブロック上の前記変換ファイルに反映し、
前記第5の機能ブロックは、前記第4の機能ブロックから渡されたIDまたは名前を、前記第5の機能ブロックによってアクセスされる記憶装置の名前空間記憶部から検索し、変換結果を、前記第4の機能ブロックに返却する、
ことを特徴とするID変換装置。 - 前記第2の機能ブロックは、前記クライアントから入力された、変換前のID、クライアント情報、アクセス対象のファイルシステム情報をもとに、前記ID変換用ファイルシステム上のクライアント側の名前空間に定義があるか否かを調べるとともに、アクセス対象のファイルシステム情報をもとに、前記ID変換用ファイルシステム上のファイルシステム側の名前空間に定義があるか否かを調べ、ID変換用の設定上でアクセス許可がある場合、前記第2の機能ブロックは、入力された変換前のIDをもとに、前記第3の機能ブロックのクライアント側の名前空間として定義された名前空間を、登録された名前空間ディレクトリから検索し、前記第3の機能ブロック上に、ID変換ファイルを新たに作成し、前記第4の機能ブロックに対して変換要求を出す、ことを特徴とする請求項23記載のID変換装置。
- 前記第4の機能ブロックは、前記第3の機能ブロックを介して、変換前のIDを受け取り、前記第5の機能ブロックに対して、変換要求を出し、
前記第5の機能ブロックは、変換要求を受けると、前記第6の機能ブロックから渡されたIDを検索し、検索が成功すれば、前記第4の機能ブロックに、変換後の、変換前IDに対応する名前を返し、一方、検索に失敗すれば、前記第5の機能ブロックは、前記第4の機能ブロックにエラーを返し、
前記第4の機能ブロックは、返却された情報を調べ、エラーであれば、前記第3の機能ブロックの当該ID変換ファイルにエラー情報を書き込み、前記第3の機能ブロックは、これを受けて前記第1の機能ブロックにエラーを返し、
検索が成功し、前記第5の機能ブロックが前記第4の機能ブロックに対して、変換後の名前を返却すると、前記第4の機能ブロックは返却結果を、前記ID変換ファイルに書き込み、
前記第2の機能ブロックは、前記第4の機能ブロックから変換が成功したという情報を受けると、変換結果である名前をもとに、ファイルシステム側の名前空間として定義された名前空間を、登録された名前空間ディレクトリから検索し、登録された名前空間ディレクトリに、ID変換ファイルのキャッシュが残っているかどうかを調べ、名前からIDを求め、キャッシュが残っていない場合、前記第2の機能ブロックは、入力された名前をもとに、前記第3の機能ブロックのクライアント側の名前空間として定義された名前空間を、登録された名前空間ディレクトリから検索し、前記第3の機能ブロック上に、ID変換ファイルを新たに作成し前記第4の機能ブロックに対して変換要求を出す、ことを特徴とする請求項23記載のID変換装置。 - 前記ID変換用ファイルシステム内の前記ファイルシステム側の名前空間の定義情報の中に、前記クライアント側の名前を、ファイルシステムの名前空間の名前に変換するルールを備え、
前記ルールを参照して変換を行う手段を備えている、ことを特徴とする請求項23記載のID変換装置。 - 前記第3の機能ブロックにおいて、ID変換ファイルが、キャッシュとして管理され、
前記第2の機能ブロックは、クライアント側のIDから名前に変換する場合、及び、ファイルシステム側の名前からIDに変換する場合に、前記第3の機能ブロックにキャッシュの有無を調べ、キャッシュが存在し、その内容がエラーでない場合、キャッシュされている内容を変換結果として扱う、ことを特徴とする請求項23記載のID変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003128848A JP2004334479A (ja) | 2003-05-07 | 2003-05-07 | 複数の名前空間に対応したid変換システム及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003128848A JP2004334479A (ja) | 2003-05-07 | 2003-05-07 | 複数の名前空間に対応したid変換システム及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004334479A true JP2004334479A (ja) | 2004-11-25 |
Family
ID=33504858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003128848A Pending JP2004334479A (ja) | 2003-05-07 | 2003-05-07 | 複数の名前空間に対応したid変換システム及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004334479A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1837780A2 (en) | 2006-03-20 | 2007-09-26 | NEC Corporation | File operation control device, system, method, and program |
JP2009070342A (ja) * | 2007-09-18 | 2009-04-02 | Hitachi Ltd | 情報処理装置及び計算機システム |
-
2003
- 2003-05-07 JP JP2003128848A patent/JP2004334479A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1837780A2 (en) | 2006-03-20 | 2007-09-26 | NEC Corporation | File operation control device, system, method, and program |
JP2009070342A (ja) * | 2007-09-18 | 2009-04-02 | Hitachi Ltd | 情報処理装置及び計算機システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11388251B2 (en) | Providing access to managed content | |
US7925751B1 (en) | Mechanism for controlled sharing of files in a clustered application environment | |
US7007024B2 (en) | Hashing objects into multiple directories for better concurrency and manageability | |
US8255430B2 (en) | Shared namespace for storage clusters | |
US7519813B1 (en) | System and method for a sidecar authentication mechanism | |
JP4154893B2 (ja) | ネットワークストレージ仮想化方法 | |
US7647461B2 (en) | Method and apparatus for allocating resources among virtual filers on a filer | |
US7469260B2 (en) | File storage service system, file management device, file management method, ID denotative NAS server and file reading method | |
US7653935B2 (en) | File server for translating user identifier | |
US7584228B1 (en) | System and method for duplication of virtual private server files | |
US20080162482A1 (en) | Providing Enterprise Management of Amorphous Communities | |
EP1668437A1 (en) | System device and method for managing file security attributes in a computer file storage system | |
US8082261B1 (en) | System and method for associating NIS attributes with CIFS clients | |
US8627446B1 (en) | Federating data between groups of servers | |
US20140259123A1 (en) | Aliasing of exported paths in a storage system | |
US8380806B2 (en) | System and method for absolute path discovery by a storage virtualization system | |
JP4273934B2 (ja) | ファイルシステム | |
US7308481B2 (en) | Network storage system | |
JP4327869B2 (ja) | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 | |
US8285759B2 (en) | Techniques to support disparate file systems | |
JP2004334479A (ja) | 複数の名前空間に対応したid変換システム及び方法 | |
JP4005102B2 (ja) | ゲートウェイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080304 |