JP2004295464A - 計算機システム - Google Patents
計算機システム Download PDFInfo
- Publication number
- JP2004295464A JP2004295464A JP2003086906A JP2003086906A JP2004295464A JP 2004295464 A JP2004295464 A JP 2004295464A JP 2003086906 A JP2003086906 A JP 2003086906A JP 2003086906 A JP2003086906 A JP 2003086906A JP 2004295464 A JP2004295464 A JP 2004295464A
- Authority
- JP
- Japan
- Prior art keywords
- file
- information
- request
- storage device
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/30—Administration of product recycling or disposal
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02W—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO WASTEWATER TREATMENT OR WASTE MANAGEMENT
- Y02W90/00—Enabling technologies or technologies with a potential or indirect contribution to greenhouse gas [GHG] emissions mitigation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99937—Sorting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Abstract
【解決手段】システムは、ファイル属性を管理するデータベースのファイル属性DBと、課金情報を管理するデータベースの課金情報DBとファイルデータを格納するローカルファイルシステムを持つ。課金情報DBはユーザあるいはグループとサーバの組み合わせ毎にレコードを持ち、新しいユーザやサーバが追加される毎にレコードを追加する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、ネットワークを介して接続された複数の計算機を用いて実現されるシステムに関する。
【0002】
【従来の技術】
近年のインターネット等のネットワークの普及に伴い、ネットワークにおいてサービスを提供する計算機が提供するデータ量及びこれら計算機をネットワークを介して使用する使用者(以下「ユーザ」)の数が増大してきている。
【0003】
しかし、一つの計算機がユーザが要求するデータ全てを管理する従来の集中型の計算機システムでは、計算機の処理性能に限界があり、その限界性能を超えてすべてのユーザが要求するデータを供給できない。また、計算機に接続された記憶装置の記憶容量にも限界がある。さらに、その計算機に障害が発生した場合には、データへのアクセスが不可能になる。
【0004】
このような問題を解決する技術として、分散型の計算機システムが提案されている。
【0005】
例えば非特許文献1に開示されている技術では、地理的に分散した複数の場所(以下「サイト」)に設置された計算機あるいは記憶装置の各々にデータを複製して配置する。このため、複数の計算機間でデータ処理に対する負荷やデータを分散することができる。さらに、ある計算機に障害が発生した場合でも、他の計算機にあるデータの複製を用いてデータを再構成することを可能としている。
【0006】
以下、ユーザや計算機が使用するプログラム等の一かたまりのデータを「ファイル」と称する。
【0007】
【非特許文献1】
“OceanStore: An Architecture for Global−Scale Persistent Storage”,John Kubiatowicz et al., Appears in Proceedings of the Ninth international Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2000), November 2000.の2章。
【0008】
【発明が解決しようとする課題】
従来の集中管理型の計算機システムや非特許文献1に開示された計算機が世界規模に分散した計算機システム環境では、多数のユーザが計算機が管理するファイルにアクセスする。このような環境でセキュリティを確保するため、計算機システムではユーザ毎にファイルへのアクセス権を設定することが必要となる。また、多数のユーザが要求する様々な用途に応じるため、このような計算機システムにおいては、個々のファイルに対し、用途に応じたファイル属性を状況に応じて設定することが必要となる。
【0009】
ところが従来の計算機で実行されるファイルを管理するプログラム(以下「ファイルシステム」)では、ファイルに設定できるファイル属性の数や種類に制限があった。また、ファイル属性がファイルシステム全体で固定して管理されているので、個々のファイルに与えられたファイル属性の種類や数を自由に増減することはできず、ファイル属性の管理に柔軟性がなかった。
【0010】
また、複数サイトに存在する計算機が管理する記憶装置にファイルを複製して格納するサービスをストレージサービスプロバイダ等が行う際、プロバイダとしては、各サイトの計算機が管理する記憶装置毎に異なる課金条件(以下、「課金ポリシー」)を設定し、その課金ポリシーに基づいた課金するために必要な情報(以下「課金情報」)を採取したいという要求がある。ところが、従来のファイルシステムでは、ファイル属性情報として、ファイルの容量やファイルへのアクセス回数のみの固定的な情報しか採取しておらず、あるサイトでの課金ポリシーに基づいた特定の課金情報、例えばファイルを格納する記憶装置の種類等についての情報は収集できなかった。
【0011】
本発明の目的は、ファイルに対して柔軟にファイル属性を追加、削除できる計算機システムを提供することである。
【0012】
また本発明の別の目的は、複数のサイトの課金ポリシーを反映した課金情報を採取する計算機システムを提供することである。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明の計算機システムは以下の構成とする。すなわち、計算機システムは、計算機システム内に格納されるファイルを管理するためのデータ(以下、ファイル管理情報)が格納された記憶装置を管理する第一の計算機及び第一の計算機とネットワークを介して接続され、ファイルの実データ(以下「ファイルデータ」)が格納された記憶装置を管理する第二の計算機を有する。そして、本計算機システムにおいては、ユーザからのファイルアクセス要求を受けた第一の計算機は、第一の計算機が管理するファイル管理情報をファイルアクセス要求の内容に基づいて検索し、検索された情報の内容にしたがって、ファイルアクセス要求に対応するファイルの処理要求をネットワークを介して第二の計算機に送信する。ファイルの処理要求を受信した第二の計算機は、ファイルの処理要求で指定される処理を行い、その結果を第一の計算機に送信する。結果を受信した第一の計算機は、その内容に基づいてユーザに結果を送信する。
【0014】
尚、ファイル管理情報には、ファイル属性についての情報、ファイルの使用の可否についての情報及びシステムにおけるファイルの格納位置を示す情報が含まれても良い。
【0015】
さらに、ファイル属性についての情報には、ある一つのファイル属性を有するファイルのみを管理するテーブルが含まれていても良い。ここで、ある一つのファイル属性としては、ファイルが暗号化されているかどうかという属性が考えられるが、これに限られない。
【0016】
また、ファイル管理情報には、課金情報、具体的には、ファイルを使用するユーザの第二の計算機毎のファイル使用に関する情報等が含まれていても良い。この場合、第一の計算機は、ファイルアクセス要求をユーザから受取った際に、そのアクセス内容に応じて第二の計算機ごとのファイル使用に関する情報を更新する。
【0017】
更に、本計算機システムは課金管理用の計算機を有し、課金管理用の計算機は、第二の計算機毎の課金情報を用いて、ファイルのユーザの料金を計算しても良い。
【0018】
尚、第一の計算機及び第二の計算機は複数でもよく、第一の計算機は、記憶装置に格納されるファイル管理情報の数だけ存在しても良い。
【0019】
更に、第二の記憶装置も複数有り、ファイルデータの複製が複数の第二の記憶装置に分散して格納されてもよい。
【0020】
【発明の実施の形態】
以下、図を用いて本発明の実施形態を説明する。
【0021】
図1は、本発明を適用した計算機システムの実施形態を示す図である。計算機システムは、サイト1500A及びサイト1500Bを有し、これらのサイト間はインターネット1000を介して接続されている。
【0022】
サイト1500は、ユーザが使用する複数の計算機(以下「クライアント」)800、ファイル管理情報(以下「メタデータ」)を管理する複数の計算機(以下「CN」)101、ファイルデータを管理する複数の計算機(以下「SN」)301及び複数の記憶装置600を有する。ここで、クライアント800、CN101及びSN301は、ネットワーク700を介して相互に接続されている。また、複数の記憶装置600、CN101及びSN301は、ファイバーケーブルなどで構成されたストレージネットワーク500を介して相互に接続されている。
【0023】
尚、ストレージネットワーク500では、通信プロトコルとして、SCSIやファイバチャネルプロトコルが使用される。
【0024】
ネットワーク700は、インターネット1000を介してサイト1500Bのネットワーク700に接続されている。したがって、サイト1の各クライアント800、CN101及びSN301は、サイト1500BのSN301Cとネットワーク700及びインターネット1000を介して通信可能である。
【0025】
クライアント800、CN101及びSN301は、プロセッサ、メモリ、入出力部、ネットワークインターフェース及び記憶装置を有する計算機である。
【0026】
CN101のプロセッサは、メタデータの管理を行うサーバプログラム(以下「MSVR」)100と、メタデータを格納するデータベースの管理を行うサーバプログラム(以下「DBMS」)302を実行する。これらのプログラムはメモリに格納される。一方、SN301のプロセッサは、ファイルデータの管理を行うサーバプログラム(以下「FSVR」)300を実行する。FSVR300は、SN301が有するメモリに格納される。
【0027】
記憶装置600は、制御部及び記憶部を有する。記憶部に使用される記憶媒体としては、磁気ディスク、半導体ディスクまたは光ディスクがある。また、記憶装置600には、記憶部としてこれらディスクを単体で使用するディスク装置や、記憶部として複数のディスク装置を使用するディスクアレイ等の記憶装置システムが含まれる。
【0028】
CN101及びSN301は、MSVR100及びFSVR300を実行して、協調して記憶装置600に格納されたファイルの管理を行う。本実施形態においては、ファイル属性や課金情報などのメタデータと、ファイルデータがそれぞれ異なる計算機及び異なる記憶装置600で管理される。これにより、より柔軟なファイル属性の管理が行える
記憶装置600Aの記憶部には、ファイル属性データベース(以下「DB」)110及び各ユーザの課金情報DB210が格納される。ファイル属性DB110には、ファイル属性テーブル120、ACLテーブル130、拡張属性テーブル140、ロケーションテーブル150及びファイルIDビットマップ160が格納される。一方、課金情報DB210には、サーバ単位課金情報テーブル220が格納される。
【0029】
CN101Aは、MSVR100Aを実行し、かつファイル属性DB110を用いて、記憶装置600B及びCに格納されたファイルデータに対応するファイル属性を管理する。CN101Aは、MSVR100Bを実行し、かつ課金情報DB210を用いて、計算機システムに格納されたファイルを使用する際にユーザに課せられる課金を計算するための情報を管理する。
【0030】
記憶装置600B及びCには、ローカルファイルシステム(以下「ローカルFS」)310が格納されている。ローカルFS310とは、ファイルデータ320、ファイルデータを管理するためのメタデータ330及びそれを管理するプログラムから構成されるものである。メタデータ330には、ローカルFS310が管理するファイルデータ320の記憶装置600における格納位置、データ量等を示す情報が格納されている。
【0031】
SN301は、FSVR300を実行することで、ローカルFS310を管理制御する。尚、ローカルFS310AはSN301Aに管理され、ローカルFS310BはSN301Bに管理され、ローカルFS310CはSN301Cに管理され、ローカルFS310DはSN301Dに管理される。
【0032】
本実施形態の計算機システムでは、クライアント800がファイルを作成すると、自動的に同一内容を持つ複数のファイルがCN101で作成され、その複数のファイルのファイルデータは、それぞれ異なるSN301に転送され、それぞれが管理するローカルFS310に格納される。各ローカルFS310に格納されたファイルデータをローカルファイルと呼ぶ。
【0033】
本実施形態では、ひとつのファイルに対し、複数のローカルファイルが存在する。これらの各ローカルファイルの格納位置はCN101が決定し、格納位置を示す情報は、CN101の指示によって、ファイル属性DB110内のロケーションテーブル150に登録される。また、CN101Aは、MSVR100Aを実行することで、ファイルサイズや作成日付などの基本的なファイル属性をファイル属性テーブル120で管理する。
【0034】
さらに、CN101Aは、MSVR100Aを実行することで、各クライアント800のファイルへのアクセス権をACLテーブル130で管理する。また、CN101Aは、MSVR100Aを実行することで、その他のファイル属性を拡張ファイル属性テーブル140で管理する。
【0035】
一方、CN101Bは、MSVR100Bを実行し、かつ課金情報DB210を用いて、ファイルを使用するユーザへの課金に必要な情報を管理する。
【0036】
一般に、SN301で管理される記憶装置600の信頼性や性能などの特性は異なるため、ユーザに対する課金ポリシーもSN301や記憶装置600毎に異なる。このため、CN101Bは、記憶装置600を管理するSN301とユーザとのペア毎に課金情報のレコードを作成しサーバ単位課金情報テーブル220に登録することで、サイト毎あるいはSN301毎の課金情報を収集する。
【0037】
本実施形態では、CN101は、ファイル属性や課金情報をリレーショナルデータベースの形式で管理する。
【0038】
図2は、ファイル属性DB110が有する各テーブルの構成例を示す図である。ファイル属性テーブル120には、すべてのファイルに共通するファイル属性が格納される。ファイル属性テーブル120は、ファイルの識別子が登録されるFILE−ID2210、ファイル所有者のIDが格納されるOWNER2220、ファイルの作成日付が格納されるDATE2230、ファイルサイズが格納されるSIZE2240及びファイルの種類を示す情報が格納されるTYPE2250のエントリで構成されている。ファイル属性テーブル120では、1つのファイルに対して1つのレコードが存在する。
【0039】
ACLテーブル130には、ファイルに対するユーザ毎のアクセス権限に関する情報が格納される。具体的には、ACLテーブル130は、ファイルの識別子が登録されるFILE−ID2110、ユーザの識別子が登録されるUSR2120、アクセス権限の種別、例えばファイルの読み出し又は書き込みについてのアクセス権限の有無の情報が登録されるREAD2130及びWRITE2140並びにファイルに対するアクセス可能期限の情報が登録されるEXPIRE2150の各エントリを有する。ACLテーブル130には、ファイルとユーザの組み合わせに対応するレコードが、ファイルとユーザの組み合わせ数分存在する。
【0040】
拡張属性テーブル140は、ファイルの種類に応じた属性を管理する属性テーブルとして使用される。図2では、拡張属性テーブル140を暗号化ファイルの属性を管理するための属性テーブルとして使用する例を示している。この場合、拡張属性テーブル140は、ファイルの識別子が登録されるFILE−ID2410及び暗号化キーの情報が登録される暗号化キー2420のエントリで構成される。
【0041】
ここで、本計算機システムで管理されるファイルが暗号化ファイルの場合には、図2に示す拡張属性テーブル140が使用される(拡張属性テーブル140にそのファイルが登録される)が、他の種類のファイルでは拡張属性テーブル140は使用(登録)されない。このように、ファイル属性を格納する拡張属性テーブル140をあるファイル属性ごとに個別に設けることで、特定の種類のファイルを特定のテーブルで管理する。このように管理することで、無駄にテーブルのサイズを増大させることなく多種多様なファイル属性を管理することが可能となる。
【0042】
ロケーションテーブル150には、ファイルデータの格納位置を示す情報が保持される。ロケーションテーブル150は、ファイルの識別子が登録されるFILE−ID2310及びファイルデータを格納した場所が登録されるLocation2320のエントリを有する。
【0043】
以上述べた、ファイル属性テーブル120、ACLテーブル130、拡張属性テーブル140及びロケーションテーブル150にはすべてFILE−IDのエントリが含まれている。したがって、各テーブルは、FILE−IDのエントリを用いて相互に関連するリレーショナルデータベース構造となっており、必要に応じて必要な属性を検索することが可能である。
【0044】
図3は、サーバ単位課金情報テーブル220の構成を示した図である。サーバ単位課金情報テーブル220は、ユーザ識別子が登録されるUSR3110、SN301で実行されるFSVR300の識別子が登録されるFSVR−ID3120、FSVR300の実行によりSN301で管理される記憶装置600に格納されているファイルの総記憶容量が登録される使用容量3130、記憶装置600に格納されているファイルの数が登録される総ファイル数3140、記憶装置600からユーザが読み出したデータの量が登録されるRサイズ3150及び記憶装置600にユーザが書き込んだデータの量が登録されるWサイズ3160の各エントリで構成される。
【0045】
尚、サーバ単位課金情報テーブル220は、ユーザのローカルFSの使用情報をSN301(具体的には、SN301で実行されるFSVR300)毎に蓄積するため、各々のユーザとSN301のペア毎のレコードを有する。
【0046】
CN101Bは、MSVR100Bを実行し、USR3110に登録された情報をキーにして課金情報DB210内を検索することで、各SN301が管理する記憶装置600のユーザ毎の使用状況を取得することができる。
【0047】
なお、本実施形態では、リレーショナルデータベースを用いてファイル属性DB110及び課金情報DB210を管理する例を説明したが、リレーショナルデータベースの代わりにオブジェクト指向データベースやXMLデータベースを用いることも可能である。
【0048】
次に、本計算機システムでユーザがファイルを読み出すあるいはファイルを更新する(ファイルにデータを書き込む)処理について説明する。
【0049】
まず、ユーザがファイルを更新する場合について説明する。以下、すでにファイル(以下「FILE1」)が本計算機システム内に作成されているとして説明を行う。クライアント800Aを使用するユーザ(識別子としてUSR1が与えられている)がFILE1のデータの更新を行う場合、始めにクライアント800AがAGENT810を実行して、CN101Aに対してファイルの更新要求(以下「WRITE要求」)4100を送信する。
【0050】
図4の上段に、クライアント800AからCN101Aに送信されるWRITE要求の具体例を示す。WRITE要求4100には、コマンド種類4110、ユーザ識別子4120、ファイル識別子4130、WRITE開始オフセット4140、データサイズ4150およびデータ4160の各エントリが含まれる。
【0051】
本実施形態のWRITE要求の各エントリには、具体的には以下のような情報が登録される。コマンド種類4110エントリには本要求がデータ更新要求であることを示す「WRITE」、ユーザ識別子4120エントリには要求を発行したユーザを示す情報である「USR1」、及びファイル識別子4130エントリには対象となるファイルを指定する情報である「FILE1」が登録されている。
【0052】
また、WRITE開始オフセット4140、データサイズ4150およびデータ4160エントリには、ファイル内でのデータを更新すべき位置、データサイズ及び実際のデータが各々格納される。
【0053】
図7は、WRITE要求4100を受信したCN101Aの処理手順を示すフローチャートである。CN101Aは、MSVR100Aを実行することで本処理を実行する。
【0054】
WRITE要求4100を受信したCN101Aは、ユーザのアクセス権限を確認するために、受信したファイル識別子であるFILE1及びユーザ識別子であるUSR1をキーとして、記憶装置600Aに格納されたACLテーブル130を検索する検索要求を作成する。CN101Aは、作成された検索要求を実行するためにDBMS102Aの実行を開始する。
【0055】
ここで、図11に、この検索要求の具体例であるACLテーブル検索要求6000Aの内容を示す。
【0056】
ACLテーブル検索要求6000は、コマンド名6001、選択フィールド名6002、検索対象テーブル名6003及び検索条件6004エントリで構成される。図11の例では、コマンド名6001Aに“SELECT”、選択フィールド名6002Aに“WRITE”、検索対象テーブル名6003Aに“ACLテーブル”、及び検索条件6004Aに“FILE−ID=FILE1 ANDOWNER=USR1 AND CURDATE()<EXPIRE”が指定されている。
【0057】
上述の登録内容によって、具体的には、ACLテーブル130から、FILE−IDがFILE1、OWNERフィールドがUSR1、及びEXPIREフィールドの期限が現在時刻よりも大きい値が登録されているレコードの検索が指定される。
【0058】
CN101Aは、DBMS102Aを実行することで、ACLテーブル検索要求6000で指示された検索処理をファイル属性DB110に対して指示し、その結果を記憶装置600Aから受信する。ここで、CN101AがDBMS102Aを実行することで実行する検索処理には、データベースの高速検索技術が用いられる。例えばUSP6,353,820B1に記述されているような方法を用いて、高速な検索処理を実行することが可能である。
【0059】
本実施形態では、ACLテーブル検索要求6000の検索条件6004を満たすレコードがレコード2111であるので、検索結果として、レコード2111のWRITEフィールド2140に登録された値がCN101Aに送信される(ステップ5000)。
【0060】
その後、CN101Aは、送信されたWRITEフィールド2140の値が1かどうかによりWRITE要求が許可されているかどうかを判断する。本実施形態では、値が1である場合にはファイルへのアクセス許可を示す。したがって、抽出されたWRITEフィールド2140の値は1であるため、CN101Aは、本WRITE要求が許可されていると判断する(ステップ5020)。
【0061】
WRITEフィールド2140が0の場合は、CN101Aは、WRITE要求が許可されていないと判断し、クライアント800Aにアクセス不許可の旨を通知して処理を終了する(ステップ5100)。
【0062】
WRITE要求が許可される場合、次にCN101Aは、更新すべきファイルの位置を把握する必要がある。そのため、CN101Aは、ロケーションテーブル検索要求6100作成し、DBMS102Aを実行してロケーションテーブル150を検索することにより、ファイルを更新する位置を示す情報が含まれるロケーション情報を記憶装置600Aから取得する。
【0063】
図11に、ロケーションテーブル検索要求6100の例を示す。FILE1の格納位置を得るためのロケーションテーブル検索要求6100には、検索コマンド6101に“SELECT”、取得フィールド6102に“LOCATION”、検索対象テーブル6103に“ロケーションテーブル”、検索条件6104に“FILE−ID=FILE1”の情報が登録される。
【0064】
このロケーションテーブル検索要求6100を用いて、DBMS102Aを実行するCN101Aは、ロケーションテーブル150の検索を記憶装置600に指示し、FILE−IDフィールドに“FILE1”が指定されているレコード2311及び2312についての情報を記憶装置600Aから取得する。
【0065】
その後、CN101Aは、取得されたレコードから、LOCATIONフィールド2320に格納されている情報である“FSVR1:/FILE1”と“FSVR3:/FILE1”の情報を抽出する(ステップ5030、5040)。
【0066】
LOCATIONフィールド2320に格納された値を抽出したCN101Aは、抽出した値に含まれる全てのSN301に対して、ローカルファイルWRITE要求を送信する。
【0067】
図5の上段に、ローカルファイルWRITE要求4500の具体例を示す。ローカルファイルWRITE要求4500には、送信先FSVR4510、ローカルファイルI/Oコマンド4520、ローカルファイル名4530、OFFSET4540、SIZE4550及びデータ4560のエントリが含まれる。
【0068】
本実施形態の場合、送信先FSVR4510にはSN301A又はCを示す情報が登録され、ローカルファイルI/Oコマンド4520には、ローカルファイル更新要求であることを示すWRITEが登録される。また、他のエントリには、各々、ローカルファイルの位置等を示す情報が登録される(ステップ5050)。
【0069】
図8は、ローカルファイルWRITE要求4500を受信したSN301A(及び301C)の処理手順を示すフローチャートである。ローカルファイルWRITE要求4500を受信したSN301Aは、初めに記憶装置600Bに格納されたメタデータ330Aを参照し、受信したローカルファイルWRITE要求で指定されたローカルファイル4530が使用する記憶装置600の容量(以下、「使用ディスクサイズ」)を取得する。上述したように、メタデータ330Aには、ローカルFS310Aに格納されたローカルファイルの位置、データ量に関する情報に加え、使用ディスクサイズの情報も含まれている(ステップ5200)。
【0070】
次に、SN301Aは、ローカルファイルシステム310Aに受信したデータを書き込むだけの空き容量が十分にあるかどうかをチェックし、不十分な場合はステップ5230に進みCN101Aにエラーを返す。
【0071】
次に、SN301Aは、受信したローカルファイルWRITE要求のOFFSET4540に登録された情報で示される位置から、受信したデータをSIZE4550で指定されたサイズだけSN301Aが有するキャッシュメモリに書き込むWRITE処理及びそのWRITE処理の結果を記憶装置600Bに反映するSYNC処理を行う(ステップ5210)。
【0072】
SYNC処理の完了後、SN301Aは、メタデータ330Aを参照して、書き込み完了後のローカルファイルの使用ディスクサイズを取得する。その後、SN301Aは、ローカルファイルの書き込み前後の記憶装置800の使用ディスクサイズを比較して、ローカルファイルの書き込みによって新たにローカルファイルに与えられた記憶容量、即ち新規ディスク割り当てサイズを算出する(ステップ5220)。
【0073】
尚、この新規ディスク割り当てサイズは、サーバ単位課金情報テーブル220の更新時に使用される。サーバ単位課金情報テーブル220に存在する使用容量3120フィールドには、ユーザに使用されている記憶装置600の容量を正確に反映する必要がある。
【0074】
このため、各ローカルファイルへのWRITE処理で新規に割り当てられた記憶容量を把握する必要があるが、ローカルファイルに対して上書きを行う場合には、既にローカルファイルが存在しているので、新規記憶容量の割り当て処理が発生せず、使用記憶容量の増分が把握されない。このため、ローカルファイルWRITE処理の前後でWRITE対象のローカルファイルの使用ディスクサイズを比較し、新規ディスク割り当てサイズを計算する。
【0075】
最後にSN301Aは、ローカルファイルWRITE処理の結果をCN101Aに送信する。CN101Aに送信される内容には、ローカルファイルWRITE処理に伴うデータの更新が成功したかどうかを示すステータス、書き込み処理が完了したデータのサイズを示す書き込み完了サイズ及び書き込み完了サイズの内新規に割り当てられた新規ディスク割り当てサイズの情報が含まれる(ステップ5230)。
【0076】
図7に戻って説明を続ける。
【0077】
SN301A(又は301C)から書き込み結果を受信した(ステップ5060)CN101Aは、受信した結果に含まれるステータスの情報をチェックする(ステップ5070)。
【0078】
書き込みに失敗したSN301が存在する場合には、CN101Aは、失敗したSN301が管理する記憶装置600に格納されたローカルファイルの全データの読み出し要求をSN301に送信する。SN301からこれらのデータを取得した後、CN101Aは、取得したデータを書き込みに成功したSN301に送信し、書き込みに成功したSN301が管理する記憶装置600に格納されたローカルファイルの書き換えを指示する。これにより、CN101Aは、計算機システム内で分散された全てのローカルファイルを書き込み前の状態に戻す。その後、CN101Aは、クライアント800Aにエラーを示す結果を送信する(ステップ5075)
全てのローカルファイルに対するデータの書き込みに成功した場合、CN101Aはファイル属性テーブル120の更新処理を行う。具体的には、CN101Aは、ファイル属性テーブル120内のファイル識別子4130で示されるファイルに対応するレコードのSIZEフィールド2240の値をWRITE実行後のサイズに更新する。
【0079】
まず、CN101AはSIZEフィールド取得要求を作成する。この要求には、検索コマンド“SELECT”、検索先テーブルにファイル属性テーブル、取得フィールドにSIZE、検索条件としてFILE−IDフィールドがファイル識別子4130と等しい条件を指定する情報が含まれる。CN101AがDBMS102Aを実行してこのSIZEフィールド取得要求を処理することで、WRITE実行前のSIZEフィールド2240の値が取得できる。
【0080】
次に、CN101Aは、WRITE要求4100のOFFSET4140とSIZE4150に登録された値を足した値と、SIZEフィールド取得要求で取得されたSIZEフィールド2240に登録された値を比較する。SIZEフィールド取得要求で取得された値が足された値と等しい又は大きい場合は、ファイルサイズの更新処理の必要が無いため、CN101Aは、本ファイル属性テーブル更新処理を終了し、次の処理を実行する。
【0081】
SIZEフィールド取得要求で取得された値が足された値より小さい場合には、CN101Aは、OFFSET4140とSIZE4150を足した値を新しいファイルサイズとしてファイル属性テーブルを更新する。
【0082】
具体的には、CN101Aはファイルサイズ更新要求を作成する。ファイルサイズ更新要求には、更新コマンド“UPDATE”、検索先テーブルにファイル属性テーブル、更新命令として“SET SIZE=新ファイルサイズ”、更新条件としてFILE−IDフィールドがファイル識別子4130と等しい条件を指定する情報が含まれる。CN101Aが、DBMS102Aを実行してこのファイルサイズ更新要求を処理することにより、ファイル属性テーブルが更新され、結果が記憶装置600に反映される(ステップ5075)。
【0083】
ファイル属性テーブル更新処理が終了すると、CN101Aは、CN101Bに課金情報DB更新要求4700を送信する(ステップ5080)。
【0084】
図6に、課金情報DB更新要求4700の内容の具体例を示す。課金情報DB更新要求4700は、送信先MSVR4710、ユーザ識別子USR4720、ファイルサーバ識別子4730及びファイルサーバ毎書き込み情報リスト4740のエントリを有する。
【0085】
ファイルサーバ毎書き込み情報リストエントリ4740は更に、ファイルサーバ識別子4750、READ完了サイズ4760、WRITE完了サイズ4770及びディスクサイズ4780のエントリを含む。
【0086】
CN101Aより課金情報DB更新要求を受信したCN101Bは、課金情報テーブル220の更新処理を行う。課金情報テーブル220の更新処理については後述する(ステップ5080)。
【0087】
CN101Bから課金情報DB更新処理終了の通知を受信したCN101Aは、クライアント800Aに対して書き込み完了を報告し(ステップ5090)、WRITE処理を終了する(ステップ5100)。
【0088】
図9は、課金情報DB更新要求を受信したCN101Bが行う課金情報テーブル220の更新処理の手順を示す図である。
【0089】
CN101Bは最初に、ユーザ識別子及びSN301を示す識別子のペアをキーにして、課金情報テーブル210内でそれらペアと一致するレコードの検索並びに検索されたレコードに含まれる使用容量3120エントリ及びWサイズ3150エントリにそれぞれ課金情報DB更新要求に含まれるディスクサイズ4780エントリとWRITEサイズ4770エントリに登録された情報の足しこみを指示するデータベース更新要求6200を作成し、DBMS102Bの実行を開始する。
【0090】
データベース更新コマンド要求は、コマンド名6201、更新テーブル名6202、更新情報6203及び検索条件6404のエントリを有する。図12は、データベース更新要求6200の具体例を示した図である。データベース更新要求6200A(及びB)の各エントリには、コマンド名6201A(及び6201B)に“UPDATE”を、更新テーブル名6202A(及び6202B)に“課金情報テーブル”を、検索条件6204A(及び6204B)に“USR=USR1 AND FSVR−ID=FSVR300A”を示す情報が指定される。また、更新情報6203Aには“使用容量=使用容量+DSKサイズ”を示す情報が、更新情報6203Bには“Wサイズ=Wサイズ+WCSIZE”を示す情報が指定されている。
【0091】
本実施形態の場合、USR1及びFSVR1のキーで選択される課金情報DB210内のレコード3111並びにUSR1及びFSVR3のキーで選択されるレコード3112の2つのレコードが存在する。このため、始めにCN101Bは、USR1及びFSVR1のキーで選択されるレコード3111に対するデータベース更新コマンド6200A(および6200B)を作成し、DBMS102Bを実行する(ステップ5400)。
【0092】
DBMS102Bを実行するCN101Bは、作成されたデータベース更新コマンド6200A(および6200B)に基づいて、各々のレコードの使用容量3120エントリ及びWサイズ3150エントリに、新規割り当てディスクサイズと書き込み完了サイズを足しこんだ結果を記憶装置600Aに書き込む処理を行う。
【0093】
データベース更新要求処理時に、指定したユーザ識別子とFSVR300を指定する識別子の組に一致するレコードが存在しない場合、課金情報DB更新処理はエラーとなる。このため、CN101Bは、データベース更新要求6200の処理が成功したかどうかについての情報(実行結果)を記憶装置600Aから収集する。
【0094】
CN101Bは、収集されたデータベース更新要求実行結果を参照し、本処理が成功したかどうかを判断する(ステップ5410)。
【0095】
USR1及びFSVR1のキーに基づいた課金情報DB更新処理が失敗した場合、それはUSR1及びFSVR1をキーとしたレコードが、課金情報テーブル220に存在しないことを意味する。このため、このエラーが発生した場合には、CN101Bは、新規レコード追加要求を記憶装置600Aに送信する必要がある。尚、このエラーは、新規ファイルに対する書き込みの場合に発生するが、ここでは既存のファイルに対する書き込み処理の例であるため発生しない。本処理の詳細は、後述の新規ファイル作成処理で説明する(ステップ5420)。
【0096】
CN101Bは、USR1及びFSVR1に対するデータベース更新処理要求が完了すると、課金情報DB更新要求4700のファイルサーバ毎書き込み情報リスト4740に指定されたSN301全てに対する処理が終了したかどうか判断し(ステップ5430)、終了していない場合にはステップ5400〜5420を繰り返す。本実施形態の場合、CN101Bは、次のUSR1及びFSVR3をキーとしたレコードに対し、ステップ5400〜ステップ5420の処理を繰り返す。
【0097】
課金情報DB更新要求に含まれるファイルサーバ毎書き込み情報リスト4740に指定された全SN301に対する課金情報更新処理が終了すると、CN101Bは、結果をCN101Aに送信し、処理を終了する(ステップ5440)。
【0098】
このように、データベースで課金情報を管理することで、SN301毎の課金情報を容易に管理することが可能となる。
【0099】
尚、本実施形態では、ファイル属性DB110と課金情報DB210を異なるCNR101で管理する例を説明したが、両DBをひとつのCN101で管理する構成としても良い。
【0100】
次に、ユーザがクライアント800Aを介してファイルを読み出すREAD処理の例を説明する。尚、ここでは、すでにあるファイル(以下「FILE2」)がシステム内に作成されているとして説明を行う。
【0101】
クライアント800Aを使用するユーザ(以下「USR2」)がFILE2の読み出しを行う場合、始めにクライアント800Aは、AGENT810を実行して、CN101Aに対してREAD要求4200を送信する。
【0102】
図4の中段に、READ要求の具体例を示す。READ要求4200には、コマンド種類4210、ユーザ識別子4220、ファイル識別子4230、READ開始オフセット4240及びデータサイズ4250の各エントリが含まれる。本例では、コマンド種類4210エントリには、ファイルの読み出し要求であることを示す「READ」が、ユーザ識別子4220には「USR2」が、ファイル識別子4230には、「FILE2」を示す情報が登録されている。また、READ開始オフセット4240、データサイズ4450には、ファイル内でのデータを読み出すべき位置、データサイズが各々格納される。
【0103】
なお以下では特に断りのない限り、CN101AはMSVR100Aを実行することで処理を行う。
【0104】
READ要求4200を受信したCN101Aは、ユーザのアクセス権限を確認するために、受信したファイル識別子であるFILE2及びユーザ識別子であるUSR2をキーとして、ACLテーブル130を検索するACLテーブル検索要求6000Bを作成する。次に、DBMS102Aを実行して上記ACLテーブル検索要求6000Bを記憶装置600Aに送信し、アクセス権限に関する情報を記憶装置600Aから取得する。
【0105】
ACLテーブル検索要求6000Bの具体例を図11に示す。ACLテーブル検索要求6000Bの各エントリには、コマンド名6001Bに“SELECT”を、選択フィールド名6002Bに“READ”を、検索対象テーブル名6003BにACLテーブルを、検索条件6004Bに“FILE−ID=FILE2 AND OWNER=USR2 AND CURDATE()<EXPIRE”を指定する情報が登録されている。
【0106】
このACLテーブル検索要求6000Bにより、CN101AはDBMS102Aを実行して、ACLテーブルからFILE−IDにFILE2を持ち、OWNERフィールドにUSR2を持ち、EXPIREフィールドの期限が現在時刻よりも大きいレコードを選択し、そのREADフィールドを記憶装置600Aから取得する。
【0107】
本実施形態では、検索条件6004Bエントリに登録された条件を満たすレコードはレコード2113であるため、ここでは、CN101Aは、記憶装置600Aから、レコード2113のREADフィールド2130に登録された値を取得できる。
【0108】
CN101Aは、DBMS102Aの実行により得られたREADフィールドの値が1かどうかによりREAD要求が許可されているかどうかを判断する。ここでは、READフィールド2130の値は1であるため、CN101Aは本READ要求が許可されていると判断する。
【0109】
READフィールド2130が0の場合は、CN101Aは本WRITE要求が許可されていないと判断し、クライアント800Aにアクセス不許可の旨を通知して処理を終了する。
【0110】
READ要求が許可される場合、CN101Aは読み出すべきファイルの位置を把握する必要がある。CN101Aは、読み出すべきファイルの位置についての情報であるロケーション情報を、WRITE処理と同様にロケーションテーブル検索要求6100をDBMS102Aを実行して処理することにより記憶装置600から取得する。この時、ロケーションテーブル検索要求6100の検索条件6140には“FILE−ID=FILE2”が指定される。
【0111】
本実施形態においては、この処理により“FSVR1:/FILE2”と“FSVR3:/FILE2”の2つのロケーション情報が取得される。
【0112】
次にCN101Aは、ファイル識別子であるFILE2を用いて、ファイル属性テーブル120を検索し、条件を満たすレコードを記憶装置600Aから読み出す。そして、CN101Aは、選択されたレコードのファイルサイズ2240及びファイルタイプ2250エントリに登録されている情報を取得する。本実施形態では、CN101Aは、選択されたレコード2212から、ファイルサイズ20MB及びファイルタイプENCRYPTという情報を取得する。
【0113】
ここで、ENCRYPTという情報は、CN101Aがクライアント800にファイルを転送する時に、そのファイルを暗号化して送信しなければならないファイルタイプであることを意味する。したがって、クライアント800Aへファイルデータを転送するときに、CN101Aは、拡張属性テーブル140に格納されている暗号化キーを用いてファイルデータを暗号化する必要がある。
【0114】
本実施形態においては、ファイルデータが格納されているSN301が管理する記憶装置600のいずれからでもデータを取得できるため、CN101Aは、SN101A又はSN101Cの何れか、もしくは両方にローカルファイルREAD要求4600を発行することができる。
【0115】
以下、CN101Aが、CN101Aと同じネットワーク700に接続されているSN301AにローカルファイルREAD要求を送信する例を説明する。ただし、CN101Aが、SN301AとSN301Cの両方に対し、ローカルファイルから半分ずつのデータを読み出すローカルファイルREAD要求を発行しても良い。
【0116】
図5の中段に、ローカルファイルREAD要求4600の具体例を示す。ローカルファイルREAD要求4600には、送信先FSVR4610、ローカルファイルI/Oコマンド4620、ローカルファイル名4630、OFFSET4640及びSIZE4650の各エントリが含まれる。ローカルファイルI/Oコマンド4620エントリには、ファイルの読み出しを示す「READ」の情報が登録される。また、ローカルファイル名4630エントリには、FILE2を示す「FILE2」が登録される。
【0117】
なお以下では、特に断りのない限り、SN301Aの処理は、FSVR300Aの実行により行われる。
【0118】
ローカルファイルREAD要求4600を受信したSN301Aは、指定されたローカルファイルのOFFSET4640エントリに登録された位置からSIZE4550エントリで指定されたサイズのデータを読み出すローカルファイルREAD処理を行う。具体的には、SN301Aは必要なファイルデータを取得するため、適宜記憶装置600Bに読み出し要求を発行する。
【0119】
SN301Aは、ローカルファイルREAD処理が終了したら、読み出したデータとサイズをCN101Aに送信する。
【0120】
CN101Aは、SN301AからローカルファイルREAD要求の結果を受信すると、受信した結果に含まれるステータスをチェックし、ローカルファイルの読み出しが成功したかどうかを確認する。
【0121】
SN301AのローカルファイルREAD処理が失敗した場合には、SN301Cに対して同様の要求を発行する。このように、複数のローカルファイルが存在する場合、あるSN301の読み出しが失敗しても、他のSN301を用いて読み出し処理を行うことが可能であり、信頼性が向上する。ロケーションテーブル150に登録されている全てのSN301の読み出しが失敗した場合には、CN101Aはクライアント800に対してエラーを返す。
【0122】
SN301Aからのローカルファイルの読み出しが成功すると、CN101Aは課金情報DB更新要求4700を作成し、CN101Bに送信する。以下、特に断りのない限り、CN101BはMSVR100Bを実行して処理を行う。
【0123】
課金情報DB更新要求4700を受信したCN101Bは最初に、ユーザ識別子及びFSVR300を示す識別子のペアをキーにして、課金情報テーブル210内でそれらペアと一致するレコードの検索及び検索されたレコードに含まれるRサイズ3140エントリに、課金情報DB更新要求4700に含まれるREAD完了サイズ4760エントリに登録された情報の足しこみを記憶装置600Aに指示する課金情報テーブル更新要求6200Cを作成する。
【0124】
課金情報テーブル更新要求6200Cは、コマンド名6201、更新テーブル名6202、更新情報6203及び検索条件6404の各エントリを有する。図12ではコマンド名6201Cに“UPDATE”を、更新テーブル名6202Cに“課金情報テーブル”を、更新情報6203Cには“Rサイズ=Rサイズ+RCSIZE”を、検索条件6204Cに“USR=USR2 AND FSVR−ID=SN301A”を指定する情報が登録されている例を示す。
【0125】
課金情報テーブル220でUSR2及びSN301Aの組に該当するレコードは、レコード3113である。このため、CN101Bは、DBMS102Bを実行して、レコード3113のRサイズ3140エントリにREAD完了サイズを足しこんだ結果を書き込む処理を、課金情報テーブル更新要求6200Cで記憶装置600Aに指示する。
【0126】
CN101Bは、次に課金情報DB更新要求4700のファイルサーバ毎書き込み情報リスト4740エントリに指定された全てのファイルサーバに対する処理が終了したかどうか判断し、終了していない場合には前述のデータベース更新要求処理を繰り返す。本実施形態の場合、他に指定されたファイルサーバが存在しないため、CN101Bはこの時点で課金情報更新処理を終了し、結果をCN101Aに送信する。
【0127】
CN101Bから課金情報DB更新処理終了の通知を受信したCN101Aは、ファイル識別子であるFILE2をキーにして記憶装置600A内の拡張属性テーブル140を検索し、FILE2が拡張属性テーブル140に登録されているかを確認する。本例の場合、CN101Aは、KEY2420エントリより、FILE2をクライアント800に送信するために必要な暗号化キーKEY1を取得する。尚、拡張属性テーブル140にファイルが登録されていない場合、この属性に対応する処理(本例では暗号化)は行われない。
【0128】
その後、CN101Aは、KEY1を用いて読み出されたファイルデータを暗号化し、クライアント800に対して読み出し結果として暗号化されたファイルデータを送信し、READ処理を終了する。
【0129】
図10は、計算機システム内に新しいファイル(以下「新規ファイル」)を作成する場合の処理手順を示す図である。以下の処理は、CN101AがMSVR100Aを実行して行う処理である。
【0130】
新規ファイルを作成する場合、ユーザの指示を受けたクライアント800はAGENTプログラム810Aを実行して、CN101Aに対してCREATE要求4300を送信する。図4の下段にCREATE要求4300の例を示す。CREATE要求4300には、ファイル作成コマンド4310、ユーザID4320、ファイルの冗長度4330、ファイルタイプ4340、暗号化キー4350、及び有効期限EXP_DATE4360のエントリが含まれる。
【0131】
CREATE要求4300を受信したCN101Aは、ファイルに割り当てるファイルIDを取得する。この処理には、ファイルIDビットマップ160が用いられる。ファイルIDビットマップ160には、計算機システムで使用可能なファイルIDが登録され、さらに計算機システムで使用中のファイルIDにはビット1が、未使用のファイルIDにはビット0が割り当てられている。
【0132】
CN101Aは、記憶装置600Aに格納されたファイルIDビットマップ160を検索して0のビットを探すことで、未使用のファイルIDを取得することができる。0のビットが見つかると、使用中であることを示すためにCN101Aはそのビットを1にするよう、記憶装置600に指示する(ステップ5600)。
【0133】
次にCN101Aは、ファイルデータを格納するSN301を選択する。CREATE要求4300には、ファイルの冗長度が指定されており、CN101Aは指定された冗長度に相当する数のSN301を選択する。この選択は、たとえばCN101Aがネットワーク700にブロードキャストメッセージを流し、最初にリプライを返したSN301から順に選択する方法を使用する(ステップ5610)。
【0134】
次にCN101Aは、ステップ5610で選択されたSN301にローカルファイル作成要求4690を送信し、その実行結果を受け取る(ステップ5620)。図5の下段に、ローカルファイル作成要求4690の例を示す。ローカルファイル作成要求4690には、ファイルを作成するSN301名FSVR4691、ローカルファイル作成コマンドCRETE4692及びローカルファイル名4693のエントリを有する。ここで、ローカルファイル名4693には、ステップ5600で選択したファイルIDを示す情報が登録される。
【0135】
ローカルファイル作成要求4690を受信したSN301はFSVRを実行し、コマンドに指定されたローカルファイル名4693エントリに登録された値を用いてローカルファイルを作成し、その結果をCN101Aに返信する。
【0136】
結果を受信したCN101Aは、受信したローカルファイル作成結果が成功したかどうかを判断し(ステップ5625)、失敗した場合にはステップ5610に戻る。 ローカルファイルの作成が成功した場合、CN101Aは、ローカルファイル作成に成功したSN301の名前FSVRをロケーションテーブル150に登録する。この登録処理は、CN101AがDBMS102Aを実行することで実現する。このとき、記憶装置600へは、ロケーション登録要求6110が指定される。
【0137】
図11に、ロケーション登録要求6110の具体例を示す。ロケーション登録要求6110には、登録コマンドINSERT6111、テーブル名6112及び登録するレコードの値6113の各エントリが含まれる。本例では、登録するレコードの値6113に登録される値として、FILE−IDフィールドにステップ5600で割り当てたファイルIDが、LOCATIONフィールドにローカルファイルの作成に成功したSN301名“FSVR”と作成したローカルファイル名がセットされる(ステップ5630)。
【0138】
ロケーションテーブル150への情報の登録が完了すると、CN101Aは、ファイルの冗長度4330で指定された数のローカルファイルの作成が完了したかどうかを調べる(ステップ5640)。冗長度4330で指定された数のローカルファイル作成が完了していない場合には、ステップ5610から再び処理を行なう。
【0139】
一方、指定された数のローカルファイル作成が完了した場合には、CN101Aは、ファイルタイプ4330で指定されたファイルタイプが拡張属性テーブル1140に登録すべきものかどうか、本例ではENCRYPTかどうかを調べる(ステップ5650)。
【0140】
ファイルタイプがENCRYPTである場合、CN101Aは、暗号化キー4350で指定されたキー及びファイル−IDを拡張属性テーブル140に登録する処理を行なう。この登録処理は、CN101AがDBMS102Aを実行することで実現され、その際、記憶装置600への指示として、拡張属性登録要求6020が作成される。
【0141】
図11に、拡張属性登録要求6020の例を示す。拡張属性登録要求6020には、DB登録コマンド6021、拡張属性テーブル名6022、登録するレコードの値6023の各エントリが含まれる。登録するレコードの値6023に登録される値としては、FILE−IDフィールドにステップ5600で割り当てたファイルIDが、KEYフィールドに暗号化キー4350で指定されたキーがセットされる(ステップ5660)。
【0142】
ステップ5650でファイルタイプがENCRYIPTでないと判断された場合又はステップ5660で拡張属性テーブルへの値の登録後、CN101Aは、ファイル属性テーブ120ルの登録処理を行なう。
【0143】
このファイル属性テーブルへの登録処理は、CN101AがDBMS102Aを実行することで実現するが、CN101AはDBMS102Aを実行する前に、DBMS102A実行時に必要なファイル属性テーブル登録要求6030を作成する。
【0144】
図11に、ファイル属性テーブル登録要求6030の例を示す。ファイル属性テーブル登録要求6030には、DB登録コマンド6031、ファイル属性テーブル名6032、登録するレコードの値6033の各エントリが含まれる。登録するレコードの値6033エントリのFILE−IDフィールドにはステップ5600で割り当てられたファイルIDが、OWNERフィールドにはユーザID4320で指定された値が、DATEフィールドには現在の日時を示すCURDATE()が、SIZEフィールドには0が、及びTYPEフィールドにはファイルタイプ4340で示される値が設定される。
【0145】
CN101Aは、DBMS102A実行時にファイル属性テーブル登録要求6030を参照し、その内容に従ってファイル属性テーブル120への登録処理を行い、結果を記憶装置600に反映する(ステップ5670)。
【0146】
CN101Aは、ファイル属性テーブルへの登録処理が終了すると、新規ファイルのACLテーブルへの登録処理を行なう。この登録処理は、CN101AがDBMS102Aを実行し、以下のACLテーブル登録要求6010を処理することで実現される。
【0147】
図11に、ACLテーブル登録要求6010の例を示す。ACLテーブル登録要求6010には、DB登録コマンド6011、ACLテーブル名6012、登録するレコードの値6013のエントリが含まれる。登録するレコードの値6013に登録される値としては、FILE−IDフィールドにステップ5600で割り当てられたファイルIDが、OWNERフィールドにユーザID4320で指定された値が、EXPIREフィールドにEXP_DATE4360の値がセットされる(ステップ5680)。
【0148】
ACLテーブルへの登録処理が完了すると、CN101Aは、クライアント800に対してファイル作成処理が成功したかどうかの情報を返信する。この時、ファイル作成処理に成功した場合には、ファイルIDも同時に返す(ステップ5690)。
【0149】
次に、図1および図13を用いてユーザ毎の請求金額を計算する実施形態を説明する。上述したように、本計算機システムは、記憶装置600の使用情報をSN301毎に管理している。このため、SN301毎に課金方針や課金単価が異なる場合でもそれらを反映した課金を行うことが可能となる。
【0150】
本実施形態では、計算機システムに新たに課金サーバ900及び課金データDBが格納される記憶装置600Dが追加される。課金サーバ900は、上述したクライアント800等と同様の計算機である。記憶装置600Dには、以下に説明される各種テーブルが格納される。尚、課金サーバ900と記憶装置600Dは同一筐体でも別狂態でも良い。本実施形態では、課金データDB930を用いてユーザごとの請求金額が計算される。
【0151】
具体的には、課金サーバ900は、請求金額を計算するために課金計算プログラム910を実行する。また、課金サーバ900は、課金を行うユーザのユーザIDをユーザテーブル940で、SN301毎の課金ポリシーを課金ポリシーテーブル950で管理する。
【0152】
さらに課金サーバ900は、記憶装置600Dのユーザテーブル940及び課金ポリシーテーブル950を検索し、その検索結果を課金請求テーブル960に格納するためのプログラムであるDBMS920を実行する。
【0153】
図14は、ユーザテーブル940の構成例を示す図である。ユーザテーブルは本計算機システムを使用するユーザの情報を保持するテーブルであり、ユーザID7000、氏名7010、請求先7020及び備考7030等のエントリを含む。。
【0154】
図14上段に、課金請求テーブル960の例を示す。課金請求テーブル960は、一定使用期間毎の請求金額についての情報を保持するテーブルであり、本テーブル960の情報に基づいて、計算機システムの所有者等は使用料を請求する。本テーブル960には、ユーザID7100、使用月7110及び請求金額7120などのエントリが含まれる。なお本テーブル960には、請求済みかどうか、徴収済みかどうかなどの情報を登録するエントリが含まれていても良い。
【0155】
図14中段に、各ファイルサーバ毎の課金ポリシーを保持する課金ポリシーテーブル950の例を示す。本テーブル950に格納された情報及び課金情報DB210に格納された情報を元に、課金サーバ900はユーザ毎の請求金額を計算する。本テーブル950には、ファイルサーバ名7200、単位容量あたりの使用金額を示す容量単価7210、ファイル1つあたりの使用金額を示すファイル単価7220、単位サイズの読み出しあたりの使用金額を示すREAD単価7230及び単位サイズの書き込みあたりの使用金額を示すWRITE単価7240の各エントリが含まれる。
【0156】
図13は、課金サーバ900が課金計算プログラム910を実行して行う処理手順を示す図である。
【0157】
課金サーバ900は、はじめに記憶装置600Dのユーザテーブル940からユーザIDのリストを取得する。この処理は、課金計算サーバ900がDBMS920を実行し、以下のユーザIDリスト取得要求6420を処理することで実現される。
【0158】
図12に、ユーザIDリスト取得要求6420の例を示す。ユーザIDリスト取得要求6420では、検索コマンドエントリ6421に“SELECT”、取得フィールド名エントリ6422に“USR”、検索先テーブル名エントリ6423に“ユーザテーブル”を示す情報が登録される(ステップ5600)。
【0159】
次に、課金サーバ900は、取得したリストの先頭のユーザIDを取得する(ステップ5610)。
【0160】
その後、課金サーバ900は、取得されたユーザIDに基づいて、課金情報取得処理を行なう。この処理は、課金サーバ900がCN101Bに課金情報検索要求6410を発行し、CN101BがDBMS102Bを実行することで実現される。
【0161】
図12に、課金情報検索要求6410の例を示す。課金情報検索要求6410には、検索コマンド“SELECT”6411、全フィールド取得指定“*”6412、検索先テーブル6413、検索条件6414が含まれる。検索条件6414としては、USRフィールド3110の値がステップ5600で取得したユーザIDと等しいレコードを取得する条件が指定される(ステップ5620)。
【0162】
課金情報を取得した課金サーバ900は、次にSN301毎の請求金額を計算する。取得された課金情報には、同一ユーザが使用した全SN301に関するサーバ単位課金情報テーブル220のレコードが含まれている。課金サーバ900は、各レコードに含まれるFSVR―IDフィールド3110の値を用いて課金ポリシテーブル950を検索することで、そのSN301の課金ポリシを取得し、取得した課金ポリシとサーバ単位課金情報テーブル220のレコードの情報とを用いてSN301毎の請求金額を計算する。
【0163】
この時、課金ポリシテーブル950の検索は、課金サーバ900がDBMS920を実行し、課金ポリシテーブル検索要求6430を処理することで実現される。図12に、課金ポリシテーブル検索要求6430の構成例を示す。課金ポリシテーブル検索要求6430は、検索コマンド“SELECT”6431、全フィールド取得指定“*”6432、検索先テーブル“課金ポリシテーブル”6433、検索条件6434を含む。検索条件6434には、FSVRフィールド7200が現在の請求金額計算対象SN301の名前FSVRと等しいという条件が指定される。
【0164】
尚、選択されたSN301に対応する請求金額は、ステップ5600で取得された課金情報に含まれる使用容量フィールド3120、ファイル数フィールド3130、Rサイズフィールド3140、Wサイズフィールド3150に登録された値に、それぞれ課金ポリシの容量単価7210、ファイル単価7220、READ単価7230、WRITE単価7240の値を掛け合わせて計算できる(ステップ5630)。
【0165】
SN301毎の請求金額が計算されると、課金サーバ900は、全SN301の請求金額を合計し、その結果を課金請求テーブル960に格納する。この処理は、課金サーバ900がDBMS920を実行し、課金請求テーブル登録要求6400を処理すること出実現される。
【0166】
図12に、課金請求テーブル登録要求6400の例を示す。課金請求テーブル登録要求6400は、登録コマンド“INSERT”6401、登録先テーブル名“課金請求テーブル”6402及び登録内容6403を含む。登録内容6403には、ユーザID、使用月及び請求金額を示す情報が含まれる(ステップ5640)。
【0167】
SN301の請求金額計算を完了した課金サーバ900は、全ユーザの請求金額計算の処理が完了したかどうかを判定する。まだ処理の完了していないユーザが存在する場合には、課金サーバ900は、ステップ5610からステップ5640の処理を繰り返す(ステップ5650)。
【0168】
以上説明したとおり、本実施形態により、SN301毎の課金ポリシを反映したきめ細かな課金制御が可能となる。
【0169】
【発明の効果】
本発明によれば、ファイル毎に柔軟にファイル属性を付加したり、多数ユーザのアクセス権限情報を効率よく管理する計算機システムを実現することができる。また、複数のサイトに分散したサーバが管理する記憶装置を利用してファイルを格納する場合に、サイトやサーバ毎に課金情報を管理する計算機システムを実現できる。
【図面の簡単な説明】
【図1】本発明を適用した計算機システムの全体構成の例を示す図である。
【図2】ファイル属性DBの各種テーブルの例を示す図である。
【図3】課金情報DBの例を示す図である。
【図4】ファイルIO要求コマンドの例を示す図である。
【図5】ローカルファイルIO要求の例を示す図である。
【図6】課金情報DB更新要求の例を示す図である。
【図7】MSVR100Aの処理を示すフローチャートである。
【図8】FSVR300の処理を示すフローチャートである。
【図9】MSVR100Bの処理を示すフローチャートである。
【図10】新規ファイルを作成する場合の処理を示すフローチャートである。
【図11】ACLテーブルの検索要求と登録要求、拡張属性テーブル登録要求及びロケーションテーブルの検索要求と登録要求の例を示す図である。
【図12】課金情報テーブルの更新要求と登録要求、請求金額の計算処理に使用する各種テーブルの登録要求および検索要求の例を示す図である。
【図13】課金サーバ900の処理を示すフローチャートである。
【図14】ユーザテーブル、課金請求テーブル及び課金ポリシテーブルの例を示す図である。
【符号の説明】
100…MSVR、300…FSVR、500…ストレージネットワーク、600…記憶装置、700…ネットワーク、1000…インターネット。
Claims (13)
- ファイル管理情報が格納された第一の記憶装置と、
前記第一の記憶装置に接続される第一の計算機と、
前記第一の計算機とネットワークを介して接続される第二の計算機と、
前記第二の計算機と接続され、前記ファイル管理情報で管理されるファイルデータが格納される第二の記憶装置とを有することを特徴とする計算機システム。 - 前記第一の計算機は、
前記第二の記憶装置に格納されたファイルデータを更新する要求を受信した場合、前記第一の記憶装置に格納された前記ファイル管理情報の内容を確認し、前記ファイル管理情報の内容に従って、前記第二の計算機に前記ファイルデータを更新する要求の対象となるファイルデータの更新を指示する要求を送信し、
前記第二の計算機は、
前記指示する要求に基づいて、前記第二の記憶装置に格納されたファイルデータを更新し、その結果を前記第一の計算機に送信することを特徴とする請求項1記載の計算機システム。 - 前記第一の計算機は、
前記第二の記憶装置に格納されたファイルデータを読み出す要求を受信した場合、前記第一の記憶装置に格納された前記ファイル管理情報の内容を確認し、前記ファイル管理情報の内容に従って前記第二の計算機に前記ファイルデータを読み出す要求の対象となるファイルデータの読み出しを指示する要求を送信し、
前記第二の計算機は、
前記指示する要求に基づいて、前記第二の記憶装置に格納されたファイルデータを読み出し、読み出した前記ファイルデータを前記第一の計算機に送信し、
前記第一の計算機は、
受信した前記ファイルデータを、前記ファイルデータを読み出す要求の発信先に送信することを特徴とする請求項2記載の計算機システム。 - 前記ファイル管理情報には、ファイル属性に関する情報、ファイルデータの格納位置に関する情報及びファイルへのアクセス権限に関する情報が含まれていることを特徴とする請求項3記載の計算機システム。
- 前記ファイル管理情報には、ある特定のファイル属性を有するファイルのみを管理するテーブルが含まれていることを特徴とする請求項4記載の計算機システム。
- 前記第一の計算機は、
前記ファイルデータを読み出す要求及び前記ファイルデータの更新の要求を受信した際に、これらの要求で指定されるファイルが前記テーブルに登録されているか否かを確認し、登録されている場合には、前記テーブルに対応するファイル属性に従った処理を行うことを特徴とする請求項5記載の計算機システム。 - 前記テーブルに対応するファイル属性が暗号化に関するファイル属性であり、
前記第一の計算機は、
前記ファイルデータを読み出す要求を受信した際に、これらの要求で指定されるファイルが前記テーブルに登録されているか否かを確認し、登録されている場合は、前記第二の計算機から受信したファイルデータを前記テーブルに登録されている情報に基づいて暗号化して前記要求元に送信することを特徴とする請求項6記載の計算機システム。 - 前記ファイル管理情報には、
該計算機システムを使用する者に対する料金を計算するために必要な情報が含まれていることを特徴とする請求項7記載の計算機システム。 - 前記必要な情報には、前記使用する者が使用する前記第二の記憶装置に格納されているファイルデータの全容量、前記使用する者が前記第二の記憶装置へ書き込んだデータの総量及び前記使用する者が前記第二の記憶装置から読み出したデータの総量に関する情報が含まれ、これらの情報が前記第二の記憶装置を管理する前記第二の計算機ごとに管理されていることを特徴とする請求項8記載の計算機システム。
- 前記第二の計算機は、
前記第一の計算機から前記ファイルデータの更新の要求を受信した場合、前記ファイルデータの更新の要求の処理の際に前記第二の記憶装置に格納されたデータ量及びデータの更新によって増加したデータ量についての情報を前記第一の計算機に送信し、
前記第一の計算機は、受信した前記情報を用いて、前記第一の記憶装置に格納された前記必要な情報の内容を更新することを特徴とする請求項9記載の計算機システム。 - 更に第三の計算機及び前記第三の計算機に接続される第三の記憶装置を有し、
前記第三の記憶装置は前記第二の計算機毎の課金条件についての情報を有し、
前記第三の計算機は、前記第一の記憶装置に格納された前記必要な情報を前記第一の計算機を介して読み出し、
読み出した前記必要な情報と前記課金条件についての情報に基づいて、前記使用する者への料金を計算することを特徴とする請求項10記載の計算機システム。 - 前記第一の計算機及び前記第一の記憶装置は複数有り、
前記ファイル属性についての情報と前記必要な情報とは各々異なる前記第一の記憶装置に格納され、各々異なる前記第一の計算機で管理されることを特徴とする請求項8記載の計算機システム。 - 前記第二の記憶装置は複数有り、前記ファイルデータが複製されて、複数の前記第二の記憶装置の各々に格納されていることを特徴とする請求項12記載の計算機システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003086906A JP2004295464A (ja) | 2003-03-27 | 2003-03-27 | 計算機システム |
US10/637,216 US7036149B2 (en) | 2003-03-27 | 2003-08-08 | Computer system |
EP20040005128 EP1462956A3 (en) | 2003-03-27 | 2004-03-04 | Computer system for managing file management information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003086906A JP2004295464A (ja) | 2003-03-27 | 2003-03-27 | 計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004295464A true JP2004295464A (ja) | 2004-10-21 |
Family
ID=32821525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003086906A Pending JP2004295464A (ja) | 2003-03-27 | 2003-03-27 | 計算機システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7036149B2 (ja) |
EP (1) | EP1462956A3 (ja) |
JP (1) | JP2004295464A (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418435B1 (en) * | 1999-08-05 | 2008-08-26 | Oracle International Corporation | Multi-model access to data |
US7526795B2 (en) * | 2001-03-27 | 2009-04-28 | Micron Technology, Inc. | Data security for digital data storage |
US8195714B2 (en) | 2002-12-11 | 2012-06-05 | Leaper Technologies, Inc. | Context instantiated application protocol |
US7925246B2 (en) | 2002-12-11 | 2011-04-12 | Leader Technologies, Inc. | Radio/telephony interoperability system |
JP4343578B2 (ja) * | 2003-05-08 | 2009-10-14 | 株式会社日立製作所 | ストレージ運用管理システム |
JP2005284608A (ja) * | 2004-03-29 | 2005-10-13 | Nec Corp | データ検索システム、データ検索方法 |
US7549171B2 (en) * | 2004-06-10 | 2009-06-16 | Hitachi, Ltd. | Method and apparatus for validation of application data on a storage system |
US10509773B2 (en) | 2004-06-10 | 2019-12-17 | Oracle International Corporation | DBFS with flashback archive |
JP2006146679A (ja) * | 2004-11-22 | 2006-06-08 | Hitachi Ltd | 情報処理装置の制御方法、情報処理装置、及びプログラム |
US20060230245A1 (en) * | 2005-04-08 | 2006-10-12 | Microsoft Corporation | Data storage safety indicator and expander |
US8010498B2 (en) * | 2005-04-08 | 2011-08-30 | Microsoft Corporation | Virtually infinite reliable storage across multiple storage devices and storage services |
US8126856B2 (en) * | 2005-05-26 | 2012-02-28 | Hewlett-Packard Development Company, L.P. | File access management system |
JP4481903B2 (ja) * | 2005-08-24 | 2010-06-16 | キヤノン株式会社 | 文書配信システム、文書管理クライアント、文書配信方法およびプログラム |
US20070130236A1 (en) * | 2005-12-05 | 2007-06-07 | International Buisiness Machines Corporation | Method, apparatus and program storage device for providing real-time file system charge-back accounting per management object during a report cycle |
US7870263B2 (en) * | 2005-12-27 | 2011-01-11 | At&T Intellectual Property I, L.P. | Carrier interoperability for critical services |
US7716180B2 (en) | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US7702640B1 (en) | 2005-12-29 | 2010-04-20 | Amazon Technologies, Inc. | Stratified unbalanced trees for indexing of data items within a computer system |
US7739239B1 (en) * | 2005-12-29 | 2010-06-15 | Amazon Technologies, Inc. | Distributed storage system with support for distinct storage classes |
JP4838631B2 (ja) * | 2006-05-17 | 2011-12-14 | 富士通株式会社 | 文書アクセス管理プログラム、文書アクセス管理装置および文書アクセス管理方法 |
US7920700B2 (en) * | 2006-10-19 | 2011-04-05 | Oracle International Corporation | System and method for data encryption |
US9465823B2 (en) * | 2006-10-19 | 2016-10-11 | Oracle International Corporation | System and method for data de-duplication |
US8635194B2 (en) * | 2006-10-19 | 2014-01-21 | Oracle International Corporation | System and method for data compression |
US20090049236A1 (en) * | 2007-08-15 | 2009-02-19 | Hitachi, Ltd. | System and method for data protection management for network storage |
US8250080B1 (en) * | 2008-01-11 | 2012-08-21 | Google Inc. | Filtering in search engines |
US20090199002A1 (en) * | 2008-02-05 | 2009-08-06 | Icontrol, Inc. | Methods and Systems for Shortened Hash Authentication and Implicit Session Key Agreement |
JP2011113306A (ja) * | 2009-11-26 | 2011-06-09 | Hitachi Ltd | ストレージ装置に対する操作を管理するシステム |
US8538920B2 (en) * | 2011-08-08 | 2013-09-17 | Hewlett-Packard Development Company, L.P. | System and method for storage service |
DE102012209250A1 (de) * | 2012-05-31 | 2013-12-05 | Protected-Networks.Com Gmbh | Sicherheitssystem |
JP2015069215A (ja) * | 2013-09-26 | 2015-04-13 | 富士通株式会社 | 情報処理装置,情報処理システム,制御プログラム及び制御方法 |
US10558656B2 (en) * | 2016-05-27 | 2020-02-11 | Intuit Inc. | Optimizing write operations in object schema-based application programming interfaces (APIS) |
US10652248B2 (en) | 2016-07-28 | 2020-05-12 | Molecula Corp. | Systems and methods of managing data rights and selective data sharing |
US10095700B2 (en) * | 2017-01-18 | 2018-10-09 | HGST, Inc. | Persistent file handle object container memory expiry |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050213A (en) * | 1986-10-14 | 1991-09-17 | Electronic Publishing Resources, Inc. | Database usage metering and protection system and method |
US5668986A (en) * | 1991-10-02 | 1997-09-16 | International Business Machines Corporation | Method and apparatus for handling data storage requests in a distributed data base environment |
US5548724A (en) * | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
US5884046A (en) * | 1996-10-23 | 1999-03-16 | Pluris, Inc. | Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network |
US6681227B1 (en) * | 1997-11-19 | 2004-01-20 | Ns Solutions Corporation | Database system and a method of data retrieval from the system |
US6052785A (en) * | 1997-11-21 | 2000-04-18 | International Business Machines Corporation | Multiple remote data access security mechanism for multitiered internet computer networks |
US6275939B1 (en) * | 1998-06-25 | 2001-08-14 | Westcorp Software Systems, Inc. | System and method for securely accessing a database from a remote location |
US6564215B1 (en) * | 1999-12-16 | 2003-05-13 | International Business Machines Corporation | Update support in database content management |
JP3992263B2 (ja) | 2000-03-30 | 2007-10-17 | 株式会社日立製作所 | データベース−ファイル連携方法 |
JP2001326635A (ja) * | 2000-05-16 | 2001-11-22 | Matsushita Electric Ind Co Ltd | インターネットの課金システム |
US6801921B2 (en) * | 2000-09-08 | 2004-10-05 | Hitachi, Ltd. | Method and system for managing multiple database storage units |
WO2002035359A2 (en) * | 2000-10-26 | 2002-05-02 | Prismedia Networks, Inc. | Method and system for managing distributed content and related metadata |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US6845392B2 (en) * | 2000-12-07 | 2005-01-18 | International Business Machines Corporation | Remote systems management via DBMS stored procedures and one communication line |
US20020161757A1 (en) * | 2001-03-16 | 2002-10-31 | Jeffrey Mock | Simultaneous searching across multiple data sets |
US6970876B2 (en) * | 2001-05-08 | 2005-11-29 | Solid Information Technology | Method and arrangement for the management of database schemas |
JP4144727B2 (ja) | 2001-07-02 | 2008-09-03 | 株式会社日立製作所 | 情報処理システム、記憶領域提供方法、およびデータ保持管理装置 |
US20030065646A1 (en) * | 2001-09-13 | 2003-04-03 | Joseph Paul G. | Database interface architecture with time-based load balancing in a real-time environment |
US7065526B2 (en) * | 2002-02-21 | 2006-06-20 | Intuit, Inc. | Scalable database management system |
US7020665B2 (en) * | 2002-03-07 | 2006-03-28 | Microsoft Corporation | File availability in distributed file storage systems |
JP3991760B2 (ja) | 2002-04-26 | 2007-10-17 | 株式会社日立製作所 | データベース管理方法および装置およびその処理プログラム |
US20030204856A1 (en) * | 2002-04-30 | 2003-10-30 | Buxton Mark J. | Distributed server video-on-demand system |
JP4250914B2 (ja) | 2002-06-03 | 2009-04-08 | 株式会社日立製作所 | 記憶装置システム |
-
2003
- 2003-03-27 JP JP2003086906A patent/JP2004295464A/ja active Pending
- 2003-08-08 US US10/637,216 patent/US7036149B2/en not_active Expired - Lifetime
-
2004
- 2004-03-04 EP EP20040005128 patent/EP1462956A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1462956A2 (en) | 2004-09-29 |
EP1462956A3 (en) | 2006-07-12 |
US20040193879A1 (en) | 2004-09-30 |
US7036149B2 (en) | 2006-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004295464A (ja) | 計算機システム | |
US11330055B2 (en) | Data retrieval in a hybrid cloud | |
JP4265245B2 (ja) | 計算機システム | |
US7024529B2 (en) | Data back up method and its programs | |
KR101490090B1 (ko) | 웹 서비스 클라이언트 인터페이스를 갖는 분배형 저장 시스템 | |
US7647327B2 (en) | Method and system for implementing storage strategies of a file autonomously of a user | |
JP3396223B2 (ja) | ネットワーク・ディレクトリにおいてサブツリーを移動する方法ならびにその装置 | |
CN105190533B (zh) | 原位快照 | |
CN105190623B (zh) | 日志记录管理 | |
CN104615666B (zh) | 有助于减少网络通信的客户端和服务器 | |
US8412685B2 (en) | Method and system for managing data | |
JP4659865B2 (ja) | 価値情報送信システム、価値情報送信方法、価値情報送信装置および価値情報送信プログラム | |
US8843439B2 (en) | Computer product, server, and snapshot collection method | |
US20080027998A1 (en) | Method and apparatus of continuous data protection for NAS | |
KR101366220B1 (ko) | 분산형 저장소 | |
JP2002032280A (ja) | 分散型サーバによるコンテンツ及びソフトウェア配信サービスシステム、及び分散型サーバによるコンテンツ及びソフトウェア配信方法、並びに情報記憶媒体 | |
WO2004109470A2 (en) | System and method for distribution of software licenses in a networked computing environment | |
JP4158534B2 (ja) | 分散型データベースシステム | |
CN111506592A (zh) | 一种数据库的升级方法和装置 | |
US7373393B2 (en) | File system | |
JP4197608B2 (ja) | 価値情報交換システム | |
US6625620B1 (en) | Method and apparatus for the management of file attachments in a groupware oriented system | |
JP2003140968A (ja) | ストレージ装置およびその管理運用方法 | |
US11533377B2 (en) | Hybrid cloud | |
JP2000250832A (ja) | 分散ディレクトリ管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051227 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090113 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090217 |