JP2005502096A - ファイルスイッチ及び交換ファイルシステム - Google Patents
ファイルスイッチ及び交換ファイルシステム Download PDFInfo
- Publication number
- JP2005502096A JP2005502096A JP2002556371A JP2002556371A JP2005502096A JP 2005502096 A JP2005502096 A JP 2005502096A JP 2002556371 A JP2002556371 A JP 2002556371A JP 2002556371 A JP2002556371 A JP 2002556371A JP 2005502096 A JP2005502096 A JP 2005502096A
- Authority
- JP
- Japan
- Prior art keywords
- file
- server
- network
- switch
- client
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1017—Server selection for load balancing based on a round robin mechanism
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2058—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, i.e. distributed RAID systems with parity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
【選択図】図1
Description
【0001】
本出願は、2001年1月11日出願の「ファイル切替及び交換ファイルシステム」という名称の米国特許仮出願第60/261,153号に基づく優先権を主張する。当該出願の開示内容は、引用により本明細書に組み込まれる。
【0002】
本発明は、一般に、ストレージネットワークの分野に関し、更に詳しくは、ファイル切替システム及び交換ファイルシステムに関する。
【背景技術】
【0003】
コンピュータネットワーキングの誕生以来、ストレージへのアクセスは、最も重要なネットワークアプリケーションのうちの1つになっている。その理由は簡単であり、つまり、種々のネットワークの目的は、過去及び現在もデータ及びコンテンツを共用することであり、共用する価値があるデータの大部分は、何らかの形態のストレージ上にある。
【0004】
各種ネットワーク内のストレージアプリケーションの重要性にも拘わらず、その有益性は、各種ネットワークによって提供される不十分な帯域幅によって最近まで大きく制限されてきた。100メガビット/秒(Mbps)(既存ローカル・エリア・ネットワークにおける最も一般的な最大速度、「高速イーサネット」としても公知である)においてさえも、ネットワークからのデータへのアクセスは、ローカルにコンピュータに取り付けられたハードディスクからの読取りよりも数倍時間が掛かる。こういう理由から、従来、ネットワークコンピュータ(ワークステーション又はアプリケーションサーバ、「クライアント」といわれることが多い)によってアクセスされるデータの大半は、ローカルストレージ上にあり、共用されたデータのみがネットワークサーバ上に置かれてきた。
【0005】
しかし、ギガビットネットワーク技術の導入が、ゲームのルールを変えつつある。単一の「ギガビットイーサネット」又は「FibreChannel」接続は、最大240メガバイト/秒(MB/s)の合計速度でデータを搬送することができ、この速度は、大半のローカルに取り付けられたストレージ装置の性能よりも遥かに大きい。これは、ギガビットネットワークでは、ローカルストレージよりも遥かに高速にネットワークを通じてデータにアクセスすることができることを意味する。その結果、有益なデータの大部分はネットワークに移されているという基本的傾向の始まりに現在到達したところである。
【0006】
ストレージネットワーク
テラバイトのデータをネットワーク上に記憶し、そのデータを何万何十万というユーザに対してアクセス可能にする能力は、非常に魅力的である。同時に、このような量のデータ及び使用負荷を適切に処理することができるストレージシステム及びネットワークシステムを作ることは、簡単なことではない。その結果、ストレージネットワーキング(このようなシステムの設計、構築、及び、管理を取り扱う専門分野)は、コンピュータネットワーキングの個別の特化された分野として急速に認識されてきている。
【0007】
ストレージネットワーキングという分野の紹介は、「InfoStor」マガジンの1998年2月号(ペン・ウェル・コーポレーション出版)のマイケル・ピーターソン著「ストレージ・エリア・ネットワークの導入」、及び、マーク・ファーレー著「ストレージネットワークの構築」(2000年1月、マグローヒル出版、ISBN0072120509)に見出すことができる。ストレージ・ネットワーク・アーキテクチャの卓越した概要については、「オースペックス・ストレージ・アーキテクチャ・ガイド」(第2版、2001年、オースペックス・システムズ・インコーポレーテッド出版)を参照することができる。この分野に関する完全な背景とそのビジネス上の意味、及び、現行技術の比較分析については、ロバート・M・モンターグ他著の「システム・エリア・ネットワーク:データセンタにおける次世代スケール」(2001年7月26日、「Dain Rauscher Wessels Equity Capital Markets」出版)を参照することができる。
【0008】
ストレージネットワーキングの重要な将来的な見込みは、莫大な量の情報及びコンテンツの地理的に分散したユーザ間での共用を可能にするネットワークシステムの供給にある。このような将来的な見込みを達成するためには、ストレージ・ネットワーク・システムは、公衆電話システムの有効性に比する高度な有効性を実現しながら、極めて拡張可能でなければならない。更に、この規模のいかなるシステムも、効果的に管理することができるように設計されるべきである。
【0009】
一般に、ストレージサービスをネットワークに供給するには、「ネットワークディスク」及び「ネットワークファイル」という2つの異なる方法がある。第1の手法では、ネットワーククライアントは、固定サイズのデータブロックのアレーとして一般的にアドレス可能な「生」ストレージリソースにアクセスすることができる。第2の手法では、クライアントは、ファイル・システム・サービスにアクセスするための「NFS」及び「CIFS」のようなプロトコルが与えられる。「NFS」プロトコルは、B・キャラハン他著「NFSバージョン3プロトコル仕様」(RFC 1813)(1995年6月、ザ・インターネット・エンジニアリング・タスク・フォース(IETF)出版)で説明されている。「CIFS」プロトコルは、ジム・ノートン他著「CIFSプロトコルバージョン、CIFS仕様0.9」(2001年3月、ストレージ・ネットワーキング・インダストリー・アソシエーション(SNIA)出版)で説明されている。これらのプロトコルは、一般的に、セキュリティ、階層的ディレクトリ、個々の指定ファイルを作成する、開く、及び、閉じる能力、及び、このようなファイル内のデータへのアクセスを提供する。大部分のシステムにおいて、クライアントは、各ファイルを個別の拡張可能なバイトのアレーとして閲覧することができる。また、ファイル・アクセス・プロトコルは、複数のクライアントによる同じファイルへの同時アクセスを仲介する能力を提供する。
【0010】
「ネットワークディスク」手法は、「SAN」(システム・エリア・ネットワーク)として公知のストレージ・ネットワーキング・アーキテクチャの基盤であり、「ネットワークファイル」手法は、「NAS」(ネットワーク・アタッチド・ストレージ)及び分散ファイルシステムを含むいくつかのアーキテクチャの中核である。
【0011】
現在、利用可能なアーキテクチャのいずれも、ストレージネットワーキングの将来的な見込みを適切に実現することはできない。システム・エリア・ネットワークは、比較的良好に拡張している。しかし、「SAN」内のデータの共用は、以下で説明する理由から極めて困難である。また、更に以下で説明する「NAS」及び分散ファイルシステムは、データ共用においては素晴らしいが、性能及び帯域に関しては、拡張が非常に難しいことが判明している。これらの限界のために、両形式のシステムは、管理するのが非常に厄介である。その結果、今日では、1つのストレージ管理者は、80ギガバイトに過ぎないデータの管理も容易でないという課題に直面しており、テラバイトシステムの管理の経費及び複雑さは天文学的である。
【0012】
ストレージネットワーキングの初期のアプリケーションは、オンライン取引処理、データマイニング、及び、顧客データなどのようなデータベースストレージが中心であった。これらのアプリケーションにおいては、「SAN」は、依然として最も一般的なアーキテクチャである。電子メール、文書リポジトリー、CAD/CAM、デジタル静止画像及びデジタル映像生成、ストリーミング高解像度(HDTV)ビデオ、XMLベース「ソフト構造」データ、及び、他の多くのものなど、今日のアプリケーションは、ますますファイルベース化している。その結果、高性能で高い利用可能性を有するネットワーク・ファイル・サービスが、ますます重要になりつつある。
【0013】
ファイルシステム拡張に対する利用可能な手法
全てのファイルシステムの主たる機能は、ストレージリソースへのアクセスの共用を可能することである。事実、ファイルシステムは、元々、複数のアプリケーション及び複数のユーザ間の当時高価であったストレージの共用を容易にするために作り出されたものである。その結果、ファイルシステムは、ネットワークサービスとして呈示される時、データ共用の問題に対する完全かつ成熟した解決策となる。
【0014】
その反面で、ファイルシステムは、複雑かつ非常に処理集中的であり、このため実質的には、高速ネットワークでファイルサービスを行うあらゆるコンピュータに対する性能上の要件が厳しくなる。何百何千ものユーザに種々のファイルを同時に供給するには、莫大な量の処理力、メモリ、及び、バス帯域幅が必要である。
【0015】
この問題の重要性かつ大きさのために、過去15年間に亘り幾つかの異なる手法が試行されてきた。ネットワーク・ファイル・システム構築に関連した重要な問題の卓越した概要、及び、様々なファイル・システム・アーキテクチャは、ジョン・ヘンリー・ハートマン著「シマウマ模様ネットワーク・ファイル・システム」(1994年、カリフォルニア大学バークレー校大学院で提出された博士論文)に見出すことができる。公知の有効な手法の各々は、一般的に、シングル・ボックス・ソリューション、クラスター・ファイル・システム、及び、分散ファイルシステムという3つの広義の部類のいずれかに該当する。
【0016】
図17は、現在有効な、一般的に使用されているネットワーク・ファイル・システムの典型的な応用を示す。このシステムは、多数のクライアントワークステーション1701と幾つかのアプリケーションサーバ1702とを接続する、様々なファイルサーバに接続されたローカル・エリア・ネットワーク1700から成る。ファイルサーバは、一般的に、1703及び1704のような独立型サーバ、及び、共用ストレージ1707を有するクラスター1710として構成された1705及び1706のようなファイルサーバを含む。サーバ1705及び1706は、高速で低待ち時間のイントラクラスター接続1709を通じて互いに接続されており、また、一般的に、1708のような光(FibreChannel)相互接続を使用して、「SAN」を通じて共用ストレージ1707に接続されている。更に、クライアント1701、アプリケーションサーバ1702、及び、ファイルサーバ1703〜1706は、適切なソフトウエアサービスが上述のマシンの全てにインストールされた分散ファイルシステムの一部であるように構成することができる。
【0017】
シングル・ボックス・ソリューション
シングル・ボックス・ソリューションは、ファイルサーバの性能向上という問題に対する単純かつ直接的な手法を提供する。これまで、ファイル供給には最高速の有効なコンピュータが使用された。これらのコンピュータでさえも不十分となった時には、サーバの能力を拡張するために特化アーキテクチャが構築された。1個のプロセッサでは不十分になった場合には、更なるプロセッサが増設され、標準的なバス帯域幅が不十分になった場合には、更なるバス又は特別設計の更に広範囲なバスが導入される、等々が行われた。
【0018】
このような手法の結果、ハイエンド・ファイル・サーバは、実質的に、あらゆる関連経費及び複雑性を伴う大規模多重処理スーパーコンピュータになっている。シングル・ボックス・ソリューションの例は、「EMC Celera/Symmetrix」、「SGI Origin」、「HP Superdome」、「Intel Paragon」、及び、「IBM SP」であり、これらの商標は、本明細書において認知されている。
【0019】
しかし、高性能多重処理ファイルサーバは、直ぐにそれらのストレージサブシステムの性能限界に入ってしまう。この問題解決の手法は、複数のハードディスク及び並列に作動するデータ経路間の負荷を拡張することである。「RAID」と、「Cray T3E I/O」システム及び「PVFS」のようなパラレルファイルシステムとは、この手法の結果として登場したものである。「RAID」は、D・パターソン他著「廉価なディスクの冗長なアレー(RAID)の場合」(データ管理に関する「ACM SIGMOD」会議講演論文集、109〜116ページ、1998年6月1日〜3日、米国イリノイ州シカゴ開催、米国計算機学会インコーポレーテッド)で説明されている。「Cray T3E I/O」システムは、国立エネルギ研究科学計算センター(NERSC)発行の「NERSC指導書:Cray T3Eに関するI/O」の第8章「ディスクストライピング」に説明されている。「PVFS」は、フィリップ・H・カーンズ他著「PVFS:リナックスクラスターのパラレルファイルシステム」(第4回年次リナックスショーケース及び会議講演論文集、317〜327ページ、2000年10月、米国ジョージア州アトランタ開催、「USENIX」アソシエーション)で説明されている。
【0020】
シングル・ボックス・ソリューションには、幾つかの重大な問題がある。第1に、極めて高度に複雑であり、かつ性能要件を満足するために特製シリコンを開発する必要があるために、シングル・ボックス・ソリューションは、極めて経費が掛かる。更に悪いことに、この開発サイクルは非常に長く、一般的に市販されるまでには、ソフトウエア技術やプロトコルのような多くの重要な面において「時勢に取り残される」ことは事実上確実である。ストレージ要件はほぼ毎年実質的に倍増していることから、これらのボックスは、顧客がコスト高をなんとか減らすその前に早々と時代遅れになる場合が多い。
【0021】
クラスター・ファイル・システム
ボックス内でサーバアーキテクチャを拡張することに代わる方法は、「HIPPI」又は「FibreChannel」のような高速相互接続でストレージの同じプールにアクセスする複数のサーバをまとめることである。その結果として登場したのが、多くの点で多重処理スーパーコンピュータと類似の作動をするが、市販の構成品から組み立てることができるコンピュータの「クラスター」である。
【0022】
クラスター内の全てのコンピュータは、同じ組のハードディスクにアクセスすることから、それらの各々のファイル・システム・ソフトウエアは、ストレージスペースのアクセス及び割り当てを調整する際には、クラスター内の他のソフトウエアと協働しなければならない。この問題に取り組む最も簡単な方法は、ストレージプールを区分化してクラスター内の異なるコンピュータ間で分割することであり、この手法は、「ウィンドウズクラスター化技術−概説」(2000年11月、マイクロソフト・コーポレーション)で説明されている「ウィンドウズ」クラスター化で実行されている。更に高度な手法を取ると、「PVFS」(上述のカームズ他を参照)、「Tigershark」、「GFS」、「VERITAS SANpoint Foundation」、「xFS」、及び、「Frangipani」のような特化されたクラスター・ファイル・システムをもたらす。「Tigershark」は、ロジャー・L・ハスキン及びフランク・B・シュマック共著「タイガーシャークファイルシステム」(IEEE1996年度春季COMPCON講演論文集、1996年2月、米国カリフォルニア州サンタ・クララ開催)で説明されている。「GFS」は、スティーブン・ソルティス他著「グローバル・ファイル・システム」(マス・ストレージ・システム及び技術に関する第5回NASAゴダード・スペース・フライト・センター会議講演論文集、1996年9月17日〜19日、米国メリーランド州カレッジパーク開催)、及び、スティーブン・ソルティス他著「IRIX用共用ディスク・ファイル・システムの設計及び性能」(マス・ストレージ・システムに関する第15回IEEEシンポジウムの協力を得て行われたマスストレージ及び技術に関する第6回NASAゴダード・スペース・フライト・センター会議、1998年3月23日〜26日)で説明されている。「VERITAS SANpoint Foundation」は、「VERITAS SANpoint Foundationスイート(tm)及びSANpoint Foundation(tm)スイートHA:クラスター環境向けの新VERITASボリューム管理及びファイルシステム技術」(2001年9月、VERITAS・ソフトウエア・コーポレーション)で説明されている。「xFS」は、トーマス・E・アンダーソン他著「サーバレス・ネットワーク・ファイル・システム」(オペレーティングシステムの諸原理に関する第15回シンポジウム、1995年12月、米国計算機学会インコーポレーテッド)で説明されている。「Frangipani」は、チャンドラモハン・A・テッカース他著「Frangipani:拡張可能な分散ファイルシステム」(オペレーティングシステムの諸原理に関する第16回ACMシンポジウム講演論文集、1997年10月、米国計算機学会インコーポレーテッド)で説明されている。クラスター・ファイル・システムの利点、及び、重要な問題及び問題解決の手法については、ケネス・W・プレスラン他著「リナックス・クラスター・ファイル・システムにおける拡張可能性及び故障回復」(第4回年次リナックスショーケース及び会議講演論文集、2000年10月10日〜14日、米国ジョージア州アトランタ開催)、クリス・スタクティス著「SANベースのファイルシステムの共用の利点」(「InfoStor」マガジン2000年7月号、ペン・ウェル・コーポレーション)、及び、カイ・ファング他著「階層的チェックポイント処理及び単一I/Oスペースを伴うSSIクラスターの設計」(IEEEコンカレンシー、60〜69ページ、1999年1月〜3月)で説明されている。
【0023】
上述のファイルシステムの全てにおける主たる課題は、クラスター内の全てのメンバー間でのストレージへのアクセスを頻繁に同期及び調整する必要性から生じるものである。これには、異なるファイル及び他の共用メタデータ(データを記述するデータ)へのディスクスペースの割り当てを制御する集中型ロックマネージャ及び/又はファイルマネージャが必要である。これらの要素は、たちまち、約16個のノードを超えてクラスター・ファイル・システムを拡張するのを妨げる障害になる。
【0024】
この問題を緩和するために、幾つかのデザインにより、ファイルマネージャ機能性のかなりの部分がストレージサブシステム又はクライアントソフトウエアのいずれかに移行している。この手法の例は、「Zebra」(上述のハートマンを参照)、「Swift」、及び、「NASD」である。「Swift」は、ルイス・フェリップ・カブレラ及びダレル・D・E・ロング共著「Swift:大オブジェクトのためのストレージアーキテクチャ」(マス・ストレージ・システムに関する第11回IEEEシンポジウム講演論文集、123〜128ページ、1991年10月)、及び、D.D.E.ロング他著「Swift/RAID:分散RAIDシステム」(コンピューティングシステム第7巻、333〜359ページ、1994年夏)で説明されている。「NASD」は、ガース・A・ギブソン他著「NASD拡張可能ストレージシステム」(1999年6月、USENIX99、イクストリーム・リナックス・ワークショップ、米国カリフォルニア州モンテレー開催)、及び、ガース・A・ギブソン他著「ネットワーク・アタッチド・セキュア・ディスクによるファイルサーバ拡張」(コンピュータシステムの測定及びモデル化に関するACM国際会議(シグメトリクス97)講演論文集、1997年、米国計算機学会インコーポレーテッド)で説明されている。これらの手法は、いずれも本出願作成の時点では商業化には成功していないが、入手可能なデータによると、これまでのクラスター・ファイル・システムよりも良好に拡張することが示唆されている。
【0025】
集中型リソース調整への依存は、拡張可能性を厳しく制限するクラスター・ファイル・システムの主な弱点である。部分的にこの問題を緩和する種々の解決策により、ストレージサブシステムの特注機能性及び特化されたクライアント側ソフトウエアを含む他の問題が引き起こされる。これらの手法のいずれかが商業化された場合、独自仕様のストレージサブシステムを使用する種々の要件が、導入及び価格の両方にかなりの悪影響を及ぼすことになり、一方、システムにアクセスする全てのクライアントにインストールしなければならない独自仕様のクライアント側ソフトウエアに依存する必要性により、システムは、壊れやすくてセキュリティ上の侵害を受けやすくなり、配備及びサポートが困難なものになる。
【0026】
分散ファイルシステム
シングル・ボックス・ソリューション及びクラスター・ファイル・システムのいずれも、重大な拡張可能性上の限界を呈する固く結合したシステムである。分散ファイルシステムの構築は、単一ファイルシステムとしてアクセス及び管理することができる統合されたシステム内の何百ものファイルサーバを結びつけようとする手法である。分散ファイルシステムの例は、「アンドリュー・ファイル・システム」及びその派生物である「AFS及びCoda」、「Tricord」、及び、「マイクロソフト分散ファイルシステムDFS」である。「AFS及びCoda」は、「分散計算環境におけるAFSファイルシステム」(1996年5月1日、トランサーク・コーポレーション)、及び、エドワード・R・ザヤス著「AFS−3プログラマ用資料:アーキテクチャ概要」(トランサーク・コーポレーション、1991年9月2日バージョン1.0、文書番号FS−00−D160)で説明されている。「Tricord」は、2000年2月22日にフレイに付与された「分散計算環境におけるストライプド・ネットワーク・ファイル・システムにおける分散ファイルマッピング」という名称の米国特許第6,029,168号で説明されている。「マイクロソフトDFS」は、「分散ファイルシステム:物理的ストレージの論理的見解:白書」(1999年、マイクロソフト・コーポレーション)で説明されている。
【0027】
分散ファイルシステムは、広範な地理的位置に配置することができるファイルサーバの緩く結合された集まりである。分散ファイルシステムにより、ファイルネームスペースに関して統合された視野が得られ、クライアントは、当該のファイルがシステムのどこにあるのかに関係なく、ファイルにアクセスすることができる。更に、システム管理者は、ファイルを1つのサーバから別のサーバにガラス張りで移動し、また、システムの部分的故障発生時の利用可能性を上げるために、複数のサーバに亘ってファイルを複製することができる。
【0028】
分散ファイルシステムには、ストレージ容量に関して優れた拡張可能性がある。オフラインに移動することなく新しいサーバを既存システムに追加するのが簡単である。更に、分散ファイルシステムにより、異なる地理的位置にあるストレージを接続して単一の密着したシステムにすることができる。
【0029】
利用可能な分散ファイルシステムに関する主な問題は、性能の拡張がストレージ容量の拡張ほど良好でないということである。システム内のサーバ個数がいかに多くても、個々のファイルの各々は、正確に1つのサーバ上にある。従って、分散ファイルシステムが1つのクライアント(ワークステーション又はアプリケーションサーバ)に供給することができる性能は、利用される個別のファイルサーバの性能によって制限され、この性能は、関与するサーバ個数が多い点を考慮すると、非常に高性能なマシンにはなりそうもない。
【0030】
商業レベルの環境において大きな影響を与える別の問題は、大部分の分散ファイルシステムでは、ファイルシステムにアクセスする全てのクライアントの各々にインストールし、かつ適切に構成しなければならない特化されたクライアント側ソフトウエアが必要であるということである。これは、バージョン改訂及びサポート上の大きな問題を作り出す傾向がある。
【0031】
更に、分散ファイルシステムは、「ホットスポッティング」に非常に弱い。ホットスポッティングは、単一サーバ上にある個別のファイル又は小さな組のファイルに対する要求が短期間に劇的に増加した時に発生し、その結果、多数のユーザが激しい性能低下に見舞われる。
【0032】
分散ファイルシステムに関する更なる別の問題は、管理容易性が低い点である。分散ファイルシステムの大部分の状況は、システムがオンライン上にある間に管理することができるが、これらのシステムの混成かつ分散された性質は、あらゆる管理作業の真の自動化を実質的に除外する。その結果、分散ファイルシステムの管理には、多くの高度な労働力が必要とされる。
【0033】
まとめ
ネットワーク・ファイル・システムの拡張に対する多くの手法が過去15年間に亘り行われてきたが、いずれも、ストレージネットワーキングの高性能、高拡張可能性、及び、簡単な管理に関する将来的見込みの達成には成功していない。上述のシステムを分析すると、これらの限界の全ては、小さな組の根本的な欠陥に帰することができ、すなわち、全ての利用可能なシステムには、以下の問題の少なくとも1つがあることがわかる。
【0034】
1.1つのファイルに1つのサーバ。単一ファイルに対する要求を処理する際に複数のファイルサーバを利用することはできないために、任意の単一クライアントが利用可能な処理能力が厳しく制限され、システムは、全ての利用可能な処理リソースに亘る負荷の均衡を取ることができない。
2.集中型アービトレーション及びメタデータ管理。ストレージへのアクセスを調停する必要性と、それを管理するのに使用される共用データ構造とは、システムの拡張可能性を厳しく制限する障害を作り出す。
3.独自仕様のクライアント側ソフトウエア。複数の異なるオペレーティングシステムを実行する全てのクライアントマシンに亘って、重要なソフトウエア部分を購入、インストール、設定、及び、サポートする必要性は、導入に当たり深刻な障壁を作り出す。
【0035】
層7スイッチング
「IP」ネットワークにおいては、拡張可能性に関する種々の問題は、一般的にスイッチングを通じて解決される。近年では、インテリジェント層7スイッチを使用して、別のネットワークサービス、すなわち、ウェブサイトにおける拡張可能性に関する問題を極めてうまく解決している。特に、アルテオン・ウェブ・システムズは、「コンテンツ・インテリジェント・スイッチングによる次世代ウェブインフラストラクチャの拡張:白書」(2000年4月、アルテオン・ウェブ・システムズ・インコーポレーテッド)で説明されているウェブスイッチという概念を開拓した。ウェブスイッチは、何百もの商品「HTTP」サーバを単一高性能仮想ウェブサーバに統合することにより、高トラヒックウェブサイトを拡張するのに使用される。
【0036】
ウェブスイッチは、「TCP」接続及びこれらの接続上の「HTTP」プロトコルトランザクション全体を追跡して切り替え、それらを、ネットワーク層2及び3で作動して個々のネットワークパケットを切り替える「イーサネット」及び「IP」スイッチと区別することにより作動する。「HTTP」トランザクションを識別して切り替えることにより、ウェブスイッチは、負荷を複数の「HTTP」サーバ間で配分し、同時に、個々のクライアントのセッションの連続性と、ショッピングカートや「HTTP」インタフェースを通じた電子メールアカウントへのアクセスなどのようなそれに関連した状態を確保する。
【0037】
ウェブスイッチを使用すると、極めて拡張可能であることが実証されたネットワークシステムをもたらす。一例として、「www.hotmail.com」は、「IP」ネットワーク内で互い結合された何百もの商品PCベースのウェブサーバから構築されたシステムを用いて、6000万人を超えるアクティブユーザに使用されている。
【0038】
残念ながら、利用可能な技術には幾つかの根本的な制限があるために、ウェブスイッチは、ネットワーク・ファイル・システムの拡張に使用することはできない。第1に、ウェブスイッチは、個々のプロトコルの各々を通じたトランザクションを単一サーバに誘導し、これは、高い統合的性能及び/又は有効性を個々のクライアントへ供給するのと並行して複数のサーバを使用することを排除する。第2に、「HTTP」トランザクションは、任意の利用可能なサーバに方向付けることができるが、ファイルプロトコル・トランザクションは、そのファイルが存在する特定のサーバに経路指定されなければならない。第3に、「HTTP」トランザクションと異なり、ファイルプロトコルでは、一般的に、調整された方法で追跡して切り替えなければならない複数のレベルのネスト化されたトランザクション(例えば、接続、ログイン、マウント、ファイルオープン、ロック)が使用される。最後に、操作するオブジェクトに対してアトミックである「HTTP」と異なり、ファイルプロトコルのセマンティクスでは、ディレクトリ、ファイルオブジェクト、及び、データの様々な面を複数のユーザが独立かつ同時にアクセスして修正する能力が必要とされる。
【0039】
【特許文献1】
米国特許仮出願第60/261,153号
【特許文献2】
米国特許第6,029,168号
【非特許文献1】
マイケル・ピーターソン著 「ストレージ・エリア・ネットワークの導入」 ペン・ウェル・コーポレーション出版 「InfoStor」マガジンの1998年2月号
【非特許文献2】
マーク・ファーレー著 「ストレージネットワークの構築」 マグローヒル出版(ISBN0072120509) 2000年1月
【非特許文献3】
「オースペックス・ストレージ・アーキテクチャ・ガイド」(第2版 オースペックス・システムズ・インコーポレーテッド出版 2001年
【非特許文献4】
ロバート・M・モンターグ他著 「システム・エリア・ネットワーク:データセンタにおける次世代スケール」「Dain Rauscher Wessels Equity Capital Markets」出版 2001年7月26日
【非特許文献5】
B・キャラハン他著 「NFSバージョン3プロトコル仕様」(RFC 1813) ザ・インターネット・エンジニアリング・タスク・フォース(IETF)出版 1995年6月
【非特許文献6】
ジム・ノートン他著 「CIFSプロトコルバージョン、CIFS仕様0.9」 ストレージ・ネットワーキング・インダストリー・アソシエーション(SNIA)出版 2001年3月
【非特許文献7】
D・パターソン他著 「廉価なディスクの冗長なアレー(RAID)の場合」(データ管理に関する「ACM SIGMOD」会議講演論文集 109〜116ページ 米国イリノイ州シカゴ開催 米国計算機学会インコーポレーテッド 1998年6月1日〜3日
【非特許文献8】
「NERSC指導書:Cray T3Eに関するI/O」の第8章「ディスクストライピング」 国立エネルギ研究科学計算センター(NERSC)発行
【非特許文献9】
フィリップ・H・カーンズ他著 「PVFS:リナックスクラスターのパラレルファイルシステム」 第4回年次リナックスショーケース及び会議講演論文集 317〜327ページ 米国ジョージア州アトランタ開催 「USENIX」アソシエーション 2000年10月
【非特許文献10】
「ウィンドウズクラスター化技術−概説」 マイクロソフト・コーポレーション 2000年11月
【非特許文献11】
ロジャー・L・ハスキン及びフランク・B・シュマック共著 「タイガーシャークファイルシステム」 IEEE1996年度春季COMPCON講演論文集 米国カリフォルニア州サンタ・クララ開催 1996年2月
【非特許文献12】
スティーブン・ソルティス他著 「グローバル・ファイル・システム」 マス・ストレージ・システム及び技術に関する第5回NASAゴダード・スペース・フライト・センター会議講演論文集 米国メリーランド州カレッジパーク開催 1996年9月17日〜19日
【非特許文献13】
スティーブン・ソルティス他著 「IRIX用共用ディスク・ファイル・システムの設計及び性能」 マス・ストレージ・システムに関する第15回IEEEシンポジウムの協力を得て行われたマスストレージ及び技術に関する第6回NASAゴダード・スペース・フライト・センター会議 1998年3月23日〜26日
【非特許文献14】
「VERITAS SANpoint Foundationスイート(tm)及びSANpoint Foundation(tm)スイートHA:クラスター環境向けの新VERITASボリューム管理及びファイルシステム技術」 VERITAS・ソフトウエア・コーポレーション 2001年9月
【非特許文献15】
トーマス・E・アンダーソン他著 「サーバレス・ネットワーク・ファイル・システム」 オペレーティングシステムの諸原理に関する第15回シンポジウム 米国計算機学会インコーポレーテッド 1995年12月
【非特許文献16】
チャンドラモハン・A・テッカース他著 「Frangipani:拡張可能な分散ファイルシステム」 オペレーティングシステムの諸原理に関する第16回ACMシンポジウム講演論文集 米国計算機学会インコーポレーテッド 1997年10月
【非特許文献17】
ケネス・W・プレスラン他著 「リナックス・クラスター・ファイル・システムにおける拡張可能性及び故障回復」 第4回年次リナックスショーケース及び会議講演論文集 米国ジョージア州アトランタ開催 2000年10月10日〜14日
【非特許文献18】
クリス・スタクティス著 「SANベースのファイルシステムの共用の利点」 ペン・ウェル・コーポレーション 「InfoStor」マガジン2000年7月号
【非特許文献19】
カイ・ファング他著 「階層的チェックポイント処理及び単一I/Oスペースを伴うSSIクラスターの設計」 IEEEコンカレンシー 60〜69ページ 1999年1月〜3月
【非特許文献20】
ルイス・フェリップ・カブレラ及びダレル・D・E・ロング共著 「Swift:大オブジェクトのためのストレージアーキテクチャ」 マス・ストレージ・システムに関する第11回IEEEシンポジウム講演論文集 123〜128ページ 1991年10月
【非特許文献21】
D.D.E.ロング他著 「Swift/RAID:分散RAIDシステム」 コンピューティングシステム第7巻 333〜359ページ 1994年夏
【非特許文献22】
ガース・A・ギブソン他著 「NASD拡張可能ストレージシステム」 USENIX99 イクストリーム・リナックス・ワークショップ 米国カリフォルニア州モンテレー開催 1999年6月
【非特許文献23】
ガース・A・ギブソン他著 「ネットワーク・アタッチド・セキュア・ディスクによるファイルサーバ拡張」 コンピュータシステムの測定及びモデル化に関するACM国際会議(シグメトリクス97)講演論文集 米国計算機学会インコーポレーテッド 1997年
【非特許文献24】
「分散計算環境におけるAFSファイルシステム」 トランサーク・コーポレーション 1996年5月1日
【非特許文献25】
エドワード・R・ザヤス著 「AFS−3プログラマ用資料:アーキテクチャ概要」 トランサーク・コーポレーション 文書番号FS−00−D160 1991年9月2日バージョン1.0
【非特許文献26】
「分散ファイルシステム:物理的ストレージの論理的見解:白書」 マイクロソフト・コーポレーション 1999年
【発明の開示】
【発明が解決しようとする課題】
【0040】
結論
ギガビットネットワーク・インフラストラクチャの大量導入により、ストレージネットワーキングは、ネットワーク上でのコンテンツの配信及び管理に急速に重要になりつつある。これを達成するためには、ストレージネットワークは、何十万人ものユーザ間でのデータの共用を容易にし、ストレージ容量、性能、及び、アクセス帯域幅において極めて良好に拡張することができ、非常に高度な有効性をもたらし、かつ、管理しやすいものでなければならない。電子メール、ストリーミングビデオコンテンツ、文書リポジトリー、及び、他のソフト構造データのような新しいアプリケーションでは、これらの特性がファイルへのアクセスを提供するネットワークサービスにより達成されることがますます要求される。
【0041】
ネットワーク・ファイル・システムの拡張に対する既存の手法は、これらの要件のうちの1つ又は別の面の解決には成功している。しかし、ストレージネットワーキングがその将来的見込みを達成する上で必要とされる全ての特性をもたらすことができる現在利用可能なシステムは存在しない。
【課題を解決するための手段】
【0042】
ネットワークにおいては、従って、ファイルスイッチ、ファイルスイッチコンピュータ、又は、ファイルアグリゲータとも呼ばれるネットワークノードをクライアントとサーバとの間に置くことにより、クライアントをサーバと分離することが有利である。このようなファイルスイッチを使用すると、本発明の様々な態様を有利に実行することができる。
【0043】
本発明の1つの態様は、多重フレームファイルプロトコル要求の第1のネットワークフレームを受信し、その要求のファイルプロトコルヘッダを検査し、要求の残りのフレームを転送する方法と場所を判断し、その後に、この判断に基づいて受信時にそれらのフレームの各々を転送することにより、ネットワーク・プロトコル・トラヒックを切り替えるネットワークノードである。
【0044】
本発明の別の態様は、プロトコル要求を受信し、ファイルプロトコルヘッダを検査し、それらのヘッダにある情報に基づいてそれらの要求を複数の独立ファイルサーバに転送することにより、ネットワーククライアントにより開始されたネットワークファイルプロトコル・トランザクションを切り替えるネットワークノードである。
【0045】
本発明の別の態様は、プロトコル要求を受信し、ファイルプロトコルヘッダを検査して複数のファイルプロトコル・トランザクションを異なる独立したファイルサーバで開始し、それらのサーバからの応答を統合し、統合された結果を用いてクライアントトランザクションを完了することにより、ネットワーククライアントにより開始されたネットワークファイルプロトコル・トランザクションを統合するネットワークノードである。
【0046】
本発明の別の態様は、クライアントと対話しながらネットワークファイルプロトコル内でサーバとして機能し、それぞれのファイルプロトコルヘッダ内に含まれた情報に基づいて複数のファイルサーバ間でそれらのクライアントから受信した要求を切り替え、そのサーバと対話しながらそのネットワークファイルプロトコル内のクライアントとして機能することにより、ネットワークファイルプロトコル・トランザクションを切り替えるネットワークノードである。
【0047】
本発明の別の態様は、ネットワークファイルプロトコル要求をクライアントから受信し、場合により、これらの要求が開始するトランザクションをファイルサーバ間で切り替えるか又は統合することにより、異なる独立したファイルサーバ上にある複数のファイルを統合してネットワーククライアントに対して単一ファイルとして呈示するネットワークノードである。
【0048】
本発明の別の態様は、ネットワークファイルプロトコル要求を受信して開始することにより、異なる独立したファイルサーバ上にある複数のファイルを統合してネットワーククライアントに対して単一ファイルとして呈示するネットワークノードである。
【0049】
本発明の別の態様は、ディレクトリコンテンツの連結を達成するために、クライアントにより開始されたネットワークファイルプロトコルのディレクトリ一覧トランザクションをサーバ間で切り替え、選択が行われる時点でネットワークノード内で利用可能なデータのみを使用して、統合されたディレクトリに属する個々のファイルが存在すべきサーバを選択することにより、異なる独立したファイルサーバ上にあるディレクトリを統合してネットワーククライアントに対して単一ディレクトリとして呈示するネットワークノードである。
【0050】
本発明の別の態様は、トランザクションに含まれたファイルシステム経路及びスイッチング判断が為されている時点でネットワークノード内で利用可能な情報のみを用いて、クライアントにより開始されたファイルプロトコル・トランザクションをサーバ間で切り替えることにより、複数の独立したファイルサーバのネームスペースを統合して、それらをネットワーククライアントに対して単一の明確なネームスペースとして呈示するネットワークノードである。
【0051】
本発明の別の態様は、同じエンティティー上で試行された複数の同時トランザクションのうちの1つのみが成功することができるように、統合されたトランザクションの結果を決定論的方法で統合することにより、同じファイルシステムエンティティーを目標とする他のネットワークファイルプロトコル・トランザクションに対して統合されたネットワークファイルプロトコル・トランザクションのアトミックな挙動を達成するネットワークノードである。
【0052】
本発明の別の態様は、同じファイルを目標にしてネットワーククライアントにより開始されたネットワークファイルプロトコル・トランザクションを切り替えて統合することにより、複数の独立したファイルサーバの性能及びストレージ容量を統合するネットワークノードである。
【0053】
本発明の別の態様は、トランザクションが持っているファイルデータが一組の独立したファイルサーバ上に複製されるように、ネットワーククライアントにより開始されたファイル書込トランザクションを統合し、クライアントにより開始されたファイル読取りトランザクションをその組から利用可能なファイルサーバに切り替えることにより、ネットワークファイルサービスの有効性を伸ばすネットワークノードである。
【0054】
本発明の別の態様は、複数の独立したファイルシステムを統合して単一ネットワークファイルシステムとしてネットワーククライアントに呈示し、単一ファイルとしてクライアントに呈示されたファイルのコンテンツが複数の独立したファイルサーバ間で配分されるようなネットワークノードである。
【0055】
本発明の別の態様は、配分決定が行われる時点でノード内で利用可能な情報のみに基づいて個々のファイルをファイルシステム間で配分することにより、複数の独立したファイルシステムを統合して単一ファイルシステムとしてネットワーククライアントに呈示するネットワークノードである。
【0056】
本発明の別の態様は、異なる独立したファイルサーバ上にある複数のファイルを統合して単一ファイルとしてネットワーククライアントに呈示し、特定の統合パラメータが、ファイル作成が要求された時に所定の組の規則及びポリシーから選択された規則及びポリシーから判断されるようなネットワークノードである。
【0057】
本発明の別の態様は、ネットワークシステム内のネットワークファイルプロトコル・トランザクションを統合する方法であって、本方法は、第1のクライアントコンピュータにより開始される第1のトランザクションに属する第1のメッセージの、第1のファイルプロトコルヘッダと第1のデータとを含む第1のフレームを受信する段階と、第1のファイルプロトコルヘッダ内の情報に基づいて、第1のトランザクションの処理に参加するために第1の組のファイルサーバを選択する段階と、第1のファイルプロトコルヘッダから引き出された第2のファイルプロトコルヘッダと第1のデータの一部分とを含む第2のフレームを第1の組のファイルサーバの第1のサーバに送る段階とを含む。
【0058】
本発明の更に別の態様は、ネットワークシステム内のネットワークファイルプロトコル・トランザクションを統合する方法であって、本方法は、第1のクライアントコンピュータにより開始された第1のトランザクションに属する第1のメッセージの、第1のファイルプロトコルヘッダと第1のデータとを含む第1のフレームを受信する段階と、第1のファイルプロトコルヘッダ内の情報に基づいて、第1のトランザクションの処理に参加するために第1の組のファイルサーバを選択する段階と、第1のファイルプロトコルヘッダから引き出された第2のファイルプロトコルヘッダと第1のデータの一部分とを含む第2のフレームを第1の組のファイルサーバの第1のサーバに送る段階と、第2のデータを含む、第1のメッセージの第3のフレームを受信する段階と、第3のファイルプロトコルヘッダと第2のデータの一部分とを含む第4のフレームを第1の組のファイルサーバの第2のサーバに送る段階とを含む。
【0059】
本発明の更に別の態様は、ネットワークシステム内のネットワークファイルプロトコル・トランザクションを統合する方法であって、本方法は、第1のクライアントコンピュータにより開始された第1のトランザクションに属する第1のメッセージの、第1のファイルプロトコルヘッダを含む第1のフレームを受信する段階と、第1のファイルプロトコルヘッダ内の情報に基づいて、第1のトランザクションの処理に参加するために第1の組のファイルサーバを選択する段階と、修正された第1のファイルプロトコルヘッダを含む第2のフレームを第1の組のファイルサーバの第1のサーバに送る段階と、修正された第1のファイルプロトコルヘッダを含む第3のフレームを第1の組のファイルサーバの第2のサーバに送る段階とを含む。
【0060】
本発明の更に別の態様は、ネットワークファイルプロトコル・トランザクションを切り替えて統合することによりファイルシステムを統合する方法である。
【0061】
本発明の別の態様は、ファイルシステムを統合する方法であって、本方法は、複数のファイルシステムのネームスペースを統合して単一ネームスペースとして呈示する段階と、複数のファイルシステムのディレクトリを単一ディレクトリとして呈示することにより統合する段階と、複数のファイルシステムのファイルオブジェクトを単一ファイルオブジェクトとして呈示することにより統合する段階と、複数のファイルシステム内のファイルのファイルデータを単一ファイルのデータとして呈示することにより統合する段階とを含む。
【0062】
本発明の更に別の態様は、ネットワーク・ストレージ・システムにファイルを記憶する方法であって、本方法は、複数のファイルシステムのネームスペースを統合して単一ネームスペースとして呈示する段階と、複数のファイルシステムのディレクトリを単一ディレクトリとして呈示することにより統合する段階と、複数のファイルシステムのファイルオブジェクトを単一ファイルオブジェクトとして呈示することにより統合する段階と、複数のファイルシステム内のファイルのファイルデータを単一ファイルのデータとして呈示することにより統合する段階とを含む。
【0063】
本発明の別の態様は、クライアント/サーバ・プロトコルを切り替えるスイッチを拡張する方法であって、本方法は、サーバに対してクライアントとして見えるようにスイッチを実施する段階と、クライアントに対してサーバとして見えるようにスイッチを実施する段階と、スイッチ間で調停するために複数のクライアント間で調停するサーバの能力を用いる段階とを含む。
【0064】
本発明の更に別の態様は、複数の同時クライアントからの要求を調停するサーバの能力を提供するクライアント/サーバ・ネットワークプロトコルに基づいて機能する、ネットワークプロトコルのクライアント側を実施するクライアントとネットワークプロトコルのサーバ側を実施するサーバとを備えたストレージネットワークを拡張する方法であって、本方法は、各々がクライアントと通信する時はネットワークプロトコルのサーバ側を提供し、サーバと対話する時はネットワークプロトコルのクライアント側を提供する複数のスイッチをクライアントとサーバとの間に挿入する段階と、スイッチ間で調停するために複数の同時クライアント間で調停するサーバの能力を用いる段階とを含む。
【0065】
本発明の更に別の態様は、複数のクライアントコンピュータと複数のサーバコンピュータとを含むコンピュータネットワークにおけるファイルを切り替えて統合する装置であって、本装置は、複数のクライアントコンピュータのうちの少なくとも1つと、複数のサーバコンピュータの少なくとも1つとの間で相互接続され、ファイルスイッチコンピュータは、データとファイルプロトコルヘッダとを第1のメッセージフレームに含むメッセージを受信し、ファイルプロトコルヘッダに基づき、かつメッセージデータから独立した方法で、少なくとも1つのネットワークノードのうちのどれにメッセージを転送すべきか判断し、判断に基づく方法で、修正されたファイルプロトコルヘッダを導出し、修正されたファイルプロトコルヘッダとメッセージデータとを転送する。代替的に、複数の同時メッセージが前記ファイルスイッチコンピュータにより受信された時、この同時メッセージの1つのみが、成功した要求となることができる。
【0066】
本発明の別の態様は、複数のクライアントコンピュータと複数のサーバコンピュータとを含むコンピュータネットワークにおけるファイルを切り替えて統合する装置であって、本装置は、少なくとも1つのクライアントコンピュータと、少なくとも1つのサーバコンピュータとの間でファイル切替及びファイル統合の機能性を提供し、その少なくとも1つのサーバコンピュータに対してはクライアントコンピュータとして、その少なくとも1つのクライアントコンピュータに対してはサーバコンピュータとして見える。
【0067】
本発明の別の態様は、ネットワーク化されたファイルデータを取り扱うための交換ファイルシステムであって、本システムは、複数のクライアントコンピュータと、複数のサーバコンピュータと、ファイルメッセージをクライアントコンピュータから複数のサーバコンピュータに切り替えることができる少なくとも1つのファイルスイッチとを含む。
【0068】
本発明の更に別の態様は、ネットワーク化されたファイルデータを取り扱うための交換ファイルシステムであって、本システムは、複数のクライアントコンピュータと、複数のサーバコンピュータと、ファイルメッセージを複数のサーバからクライアントコンピュータに統合することができる少なくとも1つのファイルスイッチとを含む。
【0069】
本発明の別の態様は、複数のサーバと、ファイルスイッチと、複数のクライアントとを含むコンピュータネットワークにおいて、処理に従って複数のサーバ間で作成かつ維持されたファイルディレクトリであり、本ファイルディレクトリは、ファイル・プロトコル・メッセージをクライアントから受信する第1のファイルスイッチを含み、該メッセージは、メッセージの第1のパケットにファイルヘッダを含み、該第1のファイルスイッチは、ファイルヘッダを分析し、複数のメッセージ取り扱い規則に従って、メッセージを複数のサーバ間で分割する方法を判断する。代替的に、ネットワークは、複数のスイッチを更に含むことができ、メッセージ取り扱い規則は、第2のファイルスイッチにより共用することができるか、又は、複数のメッセージ取り扱い規則は、少なくとも1つのファイルサーバから受信したファイルメッセージを通じて前記第1及び第2のファイルスイッチにおいて更新することができる。
【0070】
本発明の更に別の態様は、ネットワーク使用データを供給する装置であって、本装置は、複数のクライアントコンピュータと複数のサーバコンピュータとを含むコンピュータネットワークにおいて、クライアントコンピュータとサーバコンピュータとの間でファイルメッセージを切り替えながら使用データを収集する、クライアントコンピュータとサーバコンピュータとの間でファイルを統合するための装置を含む。代替的に、ファイルを統合するための複数の規則は、使用データから引き出することができるか、又は、装置が、ファイルを統合するための複数の規則を含むことができ、複数の規則の少なくとも1つの変更は、使用データから引き出すことができる。更に代替的には、この少なくとも1つの変更は、ネットワーク内の第2の統合装置に反映させることができる。
【0071】
本発明の別の態様は、各々が複数の規則に従ってファイルを統合する複数のファイルアグリゲータを含むネットワークにおいて、複数のファイルアグリゲータ内で規則を変更する方法であって、本方法は、規則の変更を残りの複数のファイルアグリゲータに転送する第1のアグリゲータにおいて規則を変更する段階と、残りの複数のファイルアグリゲータにおいて規則を更新する段階とを含む。
【0072】
本発明の更に別の態様は、サーバとクライアントとを含む複数のネットワーク参加者を有してファイルトランザクションがネットワーク参加者間で流れるようなコンピュータネットワークにおける、複数のネットワーク参加者間で単一トランザクションの切替及び統合をもたらす装置である。
【0073】
本発明の更に別の態様は、ヘッダを有するトランザクションを交換する複数のネットワークノードを備えたコンピュータネットワークにおける、トランザクションヘッダ内に含まれた情報に基づく方法で他のネットワークノード間でファイルプロトコル・トランザクションを切り替えるネットワークノードである。
【0074】
本発明の更に別の態様は、ネットワークプロトコル・トランザクションを統合するための手段を備えた、ネットワーク内の複数のサーバを統合するための装置である。
【0075】
本発明の更に別の態様は、ネットワークファイルを切り替えるための手段を備えた、ネットワーククライアントを複数のネットワークサーバに接続するための装置である。
【0076】
更に、本発明のシステムの特徴及びレイアウトの有利な組み合わせが、以下のように与えられる。すなわち、全てがネットワーク内の単一サーバ名の下で特定された複数のファイルスイッチを含むアーキテクチャ、名称分解機構及びグループコントローラ機構の組み合わせを通じて負荷平衡を行う方法及びシステム、名称分解機構及びグループコントローラ機構の組み合わせを通じてネットワーク機能フェイルオーバーを行う方法及びシステム、ファイルスイッチと複数のファイルサーバとを備えたネットワークファイルシステム、ファイルスイッチが同期機構及びファイルサーバにより供給されたプロトコルのみを使用してファイルサーバへのアクセスを同期化する、複数のファイルスイッチと複数のファイルサーバとを備えたシステム、スイッチがクライアント又はサーバのいずれかに対してキャッシュ機能を提供する交換ファイルシステム、メンバークライアント及びサーバが機能する上で市販ソフトウエアのみが必要とされる、ネットワーク内の交換ファイルシステム、単一ファイルサーバとして管理された交換ファイルシステム、容量及び帯域幅を独立して拡張することができる交換ファイルシステム、及び、便宜的ロック機能性を提供し、ファイルのローカルコピーをゲートウェイトポロジーにおけるキャッシュとして維持する間ファイルをオープン状態に保つ方法及びシステムである。
【0077】
本発明の更に他の有利な用途には、請求書作成及びサービス品質(QoS)のような使用追跡機能性、適応ストレージ管理、暗号化及び安全な公衆ストレージ用途を可能にする安全な遠隔ストレージ、トリプルミラー及びオンラインスナップショットのような高度なストレージ能力、バックアップウィンドウ及び確実な段階的故障復帰が不要なジャーナル処理バックアップ、及び、廉価なグローバルストレージが含まれる。
【0078】
本発明の上述の特徴及び利点、及び、更に別の特徴及び利点は、以下の図面に関連した本発明の好ましい実施形態の以下の詳細説明の結果、更に明確に理解されるであろう。
【発明を実施するための最良の形態】
【0079】
以下の説明は、本発明が関係する技術分野の当業者が本発明を製造して使用することができるように提供され、本発明を実施するために本発明者が現在想定する最良の態様を示している。しかし、ファイルスイッチ、交換ファイルシステム、及び、その作動機構を提供するために本発明の基本原理が具体的に本明細書で定められたので、様々な変更が当業者には容易に明らかであろう。そのような変更のいずれか又は全て、均等物、及び、代替物は、本発明の精神及び範囲に含まれるように意図されている。
【0080】
はじめに
従来技術の説明において、拡張可能性及び管理容易性を厳しく制限する利用可能なシステムに関する3つの大きな問題を特定した。これら3つの問題の全ての発生源は、例外なく、利用可能なシステムがクライアント/サーバアーキテクチャに基づくものであるという事実に到達することができる。トポロジーの違いにも拘わらず、これらのシステムの全てにおいて、クライアントは、実際のファイルアクセス時にはサーバと直接対話する。その結果、利用可能なシステムにより必要とされるいかなる特化された機能性も、クライアント側又はサーバ側で実行されなければならない。大部分のシステムにおいては、このために、結果的にシステムのクライアント側及びサーバ側の両方で独自仕様のソフトウエアが必要とされ、数多くの保守及び導入上の問題が引き起こされている。
【0081】
更に、利用可能なシステムは、多くのクライアント及び多くのサーバを含むので、システムには、それらの間での対話を調停するために、具体的にはメタデータ、ディレクトリ、及び、ロッキングを処理する際に特別な機能性が必要である。このような機能性は、最終的には、個別のサーバに搭載されるか、又は、クラスター化の場合によくあるように、サーバのグループ間の固い結合が必要とされ、いずれの場合にも、アービトレーションが大きな障害になってシステムの拡張可能性を制限する。
【0082】
本発明は、これまでのクライアント/サーバモデルではなくて、3層のアーキテクチャを実施することにより上述の問題の全てを排除するものである。本明細書で交換ファイルシステムと呼ぶこのアーキテクチャにおいては、ネットワーク・ファイル・クライアントとネットワーク・ファイル・サーバとの間のシステム内に、ファイルスイッチと呼ぶ中間ノードが導入される。
【0083】
システムへのファイルスイッチの導入により、クライアントとサーバを分離することができ、その結果、クライアント及びサーバ間の1対1の関係が排除される。その結果、クライアントは、もはや、所定のファイルを処理する特定のサーバがどれか、又は、ファイルが単一サーバにより取り扱われるのか又は複数のサーバ間で配分されるのかさえも意識していない。これは、アーキテクチャ及びシステムの能力に大きな影響を及ぼす。
【0084】
第1に、このアーキテクチャにより、クライアントにはガラス張りの方法で複数のサーバのストレージ容量を統合することができる。第2に、これらのサーバ間でのファイルの配分、及び、並行して行うことができる複数のサーバ上への個々のファイルのストライピングの両方を行うことにより、これらのサーバの性能を統合することができる。第3に、個々のファイルを複数のサーバ上に同時に映し出すことができ、その結果、データの利用可能性が高まり、ここでもまた、クライアントにはガラス張りのものとなる。第4に、システム内のファイルサーバを効果的に単一仮想ネットワーク・ファイル・システムに統合することにより、ファイルスイッチは、システム全体の管理を単一ファイルサーバができるのとほぼ同じくらい簡単に管理することができる程度まで大幅に簡素化する。
【0085】
更に、交換ファイルシステムでは、クライアントは、ファイル、ディレクトリ、及び、データがファイルサーバ間で配分される特定の処理から実質的に隔離されていることから、交換ファイルシステムが作動中にいつでもその処理を変更することが可能である。これは、ストレージ、性能、及び、アクセスを最適化するために使用パターンを追跡してデータ配分を調節することができる、適応自己調節ネットワークファイルシステムを構築する基盤を成すことから極めて重要である。
【0086】
最後に、ファイルスイッチは、クライアント及びサーバ上で既にサポートされている標準的なネットワークファイル及び他のプロトコルで作動することができる。このことは、商業レベルのシステムにおいて種々の大きな実際的な利点を有し、広範囲の既に利用可能なファイルサーバ、「NAS」装置、及び、クライアントを使用して、次世代の非常に拡張可能で有効性があり管理が容易なファイルシステムを構築することができる。
【0087】
ファイルスイッチ
ファイルスイッチは、少なくとも1つのネットワークインタフェース、及び、少なくとも1つのCPU及びメモリを有する計算装置である。ファイルスイッチのハードウエアアーキテクチャは、最小限の待ち時間で大容量のネットワークトラヒックを処理する上で最適化されることが好ましい。このスイッチは、ギガビット又はそれ以上の「イーサネット」インタフェースのような複数の高速ネットワークインタフェースを装備していることが好ましい。
【0088】
大部分の普及しているネットワークファイルプロトコルが「IP」規格に基づくものであることから、ファイルスイッチは、「TCP」及び「UDP IP」ネットワークプロトコル、及び、適切な場合には、「IP」スタック(例えば、ARP)の他のプロトコルをサポートすることが好ましい。ファイルスイッチは、「NFS」及び「CIFS」のような複数の業界標準ネットワークファイルプロトコルをサポートすることが好ましい。
【0089】
図1は、ファイルスイッチを含む本発明のネットワーク構成を示す。この構成では、ファイルスイッチ100は、2つの異なるネットワークインタフェース、つまり、接続109を通じてクライアントネットワーク111に接続するためのネットワークインタフェースと、接続110及び114、及び、図示する他の類似の接続を通じてファイル・サーバ・ネットワークに接続するためのネットワークインタフェースとで実行される。簡素化するために、ファイルスイッチは、ファイルサーバ101〜107の各々に直接接続された状態で図示されている。実際は、1つ又はそれ以上の一般的に利用可能な層2スイッチがこれらの接続を実施するために使用されることが好ましい。
【0090】
PC又はワークステーション112のようなクライアント及びアプリケーションサーバ113は、「NFS」又は「CIFS」プロトコルを使用してファイルスイッチ100と通信することによりファイルサービスを要求する。スイッチ100は、接続109上の適切なネットワークファイルプロトコルのサーバ側を実施することが好ましい。このスイッチは、更に、好ましくは同じネットワークファイルプロトコルのクライアント側を実施することにより、ファイルサーバ101〜107と対話する。従って、ファイルスイッチ100の存在は、その結果、クライアント及びサーバの両方にガラス張りの状態であることが好ましい。
【0091】
更に、ファイルスイッチは、ファイルサーバ101〜107の発見及び設定、スイッチの自己設定、及び、本明細書で説明する他の目的のために、クライアントとして又はサーバとして、「DHCP」、「DNS」、又は、「WINS」のような他の「IP」プロトコルを実施してもよい。
【0092】
ファイルスイッチが、クライアント側109とサーバ側110及び114との両方で業界標準プロトコルを実施するということにより、ファイルサーバ101〜107が標準的な市販のファイルサーバつまり「NAS」装置であり、クライアント112及び113が標準的な市販コンピュータであるような環境において機能することができる。このようにして、他の任意のネットワークノード上でインストール及び維持されなければならないいかなる独自仕様のソフトウエアをも必要とすることなく、ファイルスイッチの利点を利用することができる。
【0093】
ファイルスイッチの主な機能性は、3つの大きな部類、すなわち、トランザクション処理(トランザクション切替及びトランザクション統合を含む)、ファイルシステム統合(ファイルシステムオブジェクト及びファイルデータの統合を含む)、及び、複数のファイルスイッチを互いに結合するための様々な機構(負荷平衡、設定共用、フェイルオーバー、及び、管理統合)を含むスイッチ統合に分けることができる。
【0094】
ファイルスイッチの機能性は、ソフトウエア、ハードウエア、又は、適切な場合には、ソフトウエア及びハードウエアの任意の組合せで実施することができる。
【0095】
トランザクション処理
ファイルスイッチの一般的な作動は、ログイン、ツリー接続/マウント、ファイルオープン、及び、ファイル読取り/書込みなどのようなファイルプロトコル要求をクライアント112及び113から受信すること、及び、ファイルサーバ101〜107のうちの1つ又はそれ以上にこれらの要求を転送する又は切り換えることを伴う。
【0096】
ネットワークファイルプロトコルは、一般的に、トランザクションに基づいている。図2は、ネットワークファイルプロトコル内の一般的なファイル書込トランザクションを示す。トランザクション208は、2つのメッセージ、つまり書込要求205及び書込応答206から成る。書込要求205は、多重ネットワークフレーム201〜204から成り、ヘッダがファイル処理やオフセットなどのような要求の様々なパラメータを指定する第1のネットワークフレーム201の始めに位置するヘッダ200と、ファイルに書き込まれることになる、ペイロードとよく言われるユーザデータとを含む。本発明の例では、ペイロードは、多重フレーム201〜204に及んでいる。
【0097】
トランザクション208は、一般的に以下のように進行する。クライアントは、「TCP」のようなプロトコルを通じてサーバに接続され、その接続を使用してプロトコルヘッダ200及びペイロードを送ることにより要求205を発行する。「TCP」プロトコルスタックは、要求を多重ネットワークフレーム201〜204に分割し、それらの各々をアドレス情報でプレフィックス変換してサーバに順次送信する。
【0098】
サーバ上の「TCP」プロトコルスタックは、フレーム201〜204が到着する度にそれらを受け取る。サーバは、メッセージ205全体を受信するまで待機した後に、ヘッダ200のコンテンツを解釈し、データペイロードを適正なファイルに書き込むことにより、この場合はファイル書込みである要求された作業を実行する。完了すると、サーバは、要求された作業の結果を示す応答ヘッダ207を形成し、クライアントに送信するためにローカル「TCP」プロトコルスタックに提出する。これに応答して、「TCP」プロトコルスタックは、ヘッダ207を含むネットワークフレーム206を形成してクライアントに送る。クライアントは、ヘッダ207を受信するとトランザクションの結果を検査する。トランザクションは、これで完了となる。
【0099】
メッセージ切替
利用可能なファイルサーバと異なり、本発明のファイルスイッチは、大部分のファイルプロトコル・トランザクションに関して中間ノードである。これは、スイッチは、内部的にはそれらのトランザクションを取り扱わないが、その代わりに、205のような要求を検査し、任意選択的に200のような要求ヘッダを修正し、メッセージをファイルサーバに転送することを意味する。このために、好ましくは、ファイルスイッチは、サーバにメッセージを転送する前に、205のようなメッセージの全てのフレームを受信するまで待機しない。これにより、ファイルスイッチは、208のような多重フレームファイルプロトコル・トランザクションに容認できない待ち時間を導入することを回避することができる。
【0100】
図3は、ファイルスイッチが、書込要求205のような多重フレームトランザクションメッセージを処理する様子を示す。要求ヘッダ200を含む第1のフレーム201を受信すると、スイッチ100は、このフレームが新しいメッセージの始まりを示すと認識し、ヘッダ200を検査してメッセージ全体をファイルサーバのいずれに転送すべきかを判断する。次に、ファイルスイッチは、ヘッダ200を目標ファイルサーバにより予期されるような修正された要求情報を含む新しいヘッダ300と入れ換えて、ヘッダ300を有するフレーム201を選択されたファイルサーバに転送する。
【0101】
メッセージ205からの残りのフレーム202〜204は、引き続き、1つずつスイッチに到着する。203のような各フレームが到着すると、スイッチは、このフレームがメッセージ205に属することを認識し、フレーム201を処理中に行った判断を用いてそれを転送する。転送する処理では、適切なアドレス及び他の情報を有するフレームと共に移動する低レベルプロトコルヘッダを修正することを必要とする場合がある。
【0102】
スイッチの仕事の大半は、転送の判断を行うことに関係し、第1フレーム201が受信された時にメッセージ当たり一度だけ発生するので、メッセージの残りのフレームは、ワイヤスピードで、かつ、ファイルサーバが以前のフレームを受信するのと同時に容易に処理することができ、その結果、大きな待ち時間が回避される。
【0103】
トランザクション切替
図4は、ファイルスイッチが完全なファイルプロトコル・トランザクションを図1に示す環境内で切り替える好ましい方法を示す。クライアント(図示せず)は、好ましくは「TCP」を通じてファイルスイッチ100に接続され、実際に、ファイルスイッチ100をファイルサーバと見ている。クライアントは、ファイルスイッチにアドレス指定された書込要求205を発行することにより、書込トランザクションを開始する。このメッセージの第1フレーム201を受信すると、ファイルスイッチは、要求を識別する全情報、付随するファイルハンドル、及び、ペイロード以外の要求の他の全パラメータを有する。
【0104】
この時点で、スイッチは、どのファイルサーバが適切なファイルを有し、従ってクライアントの要求を処理すべきかを判断する状態にある。本発明の例においては、スイッチは、接続114(図示せず)の右側のファイルサーバが適正なファイルサーバであると判断する。スイッチは、以前にそのファイルサーバとの接続を確立しており、実際に、サーバは、このスイッチが本物のクライアントであると考える。ここで、スイッチは、ファイルサーバが失敗せずに要求を実行することができるように、要求のパラメータを修正する方法を判断する。次に、スイッチは、本明細書で説明するように残りのトランザクションを処理するのに十分な方法でその状態を更新し、修正されたヘッダ300を有するフレーム201を接続114を通じてファイルサーバに転送して、上述したように残りの要求メッセージの切り替えに向う。
【0105】
完全な要求205を受信すると、ファイルサーバは、接続109を通じて接続されたクライアントがファイルスイッチから本来要求されたアクションを実行し、応答ヘッダ400を含むトランザクション応答206を形成して、その応答をファイルサーバが要求205の発信者であると考えているファイルスイッチ100に返送する。
【0106】
ファイルスイッチは、トランザクション応答206を受信すると、それが以前に切り替えられた要求205と同じトランザクションに属すると認識する。次に、スイッチは、トランザクション応答ヘッダ400を検査し、接続109上のクライアントが修正された結果を本来の要求205に対する有効な応答として受け入れるように、そのヘッダを修正する方法を判断する。
【0107】
最後に、スイッチは、修正されたヘッダ207を有する修正された応答206を本来のクライアントに送信する。クライアントは、その応答を受信すると、スイッチ100が要求されたファイルシステム作業を実行することによりクライアントのために要求205に対応したと考える。
【0108】
本明細書で説明する機構により、ファイルスイッチは、クライアントに対してガラス張りな方法でその機構に接続されたファイルサーバのうちの1つ又はそれ以上にファイルプロトコル・トランザクションを任せることができる。この本発明の機構の限界は、スイッチが同じクライアントから来る異なるトランザクションを異なるファイルサーバに向けることができるが、個々のトランザクションの各々は、単一ファイルサーバにしか任せることができないということである。
【0109】
トランザクション統合
図5は、ファイルスイッチがクライアントから受信した単一トランザクションを1つよりも多いファイルサーバに任せ、従って、そのトランザクションを処理する際にそれらのサーバの挙動を統合し、単一ファイルサーバの挙動の結果として本来のクライアントに呈示することができる好ましい処理を示す。
【0110】
接続114を通じてスイッチに接続されたファイルサーバ101と、接続110を通じてスイッチに接続されたファイルサーバ107とに並行して要求を処理させることによりクライアントにより高い統合性能を供給するために、スイッチ100がこれら2つのファイルサーバの間でファイルのデータをストライピングする場合を考える。
【0111】
図4の例のように、クライアントは、接続109を通じてスイッチ100に接続され、好ましくは、スイッチに対する「TCP」接続を既に確立しており、そのスイッチをファイルサーバであると考えている。従って、クライアントは、書込要求205をスイッチに発行することにより、ファイル書込トランザクションを開始する。先の例のように、スイッチは、メッセージ205の第1フレーム201を受信すると、そのトランザクションを処理する方法を判断する状態にある。
【0112】
先の例と異なり、スイッチは、2つの個別のファイルサーバ(図23の101及び107など)を目標とした2つのトランザクションに分割することにより、トランザクションを処理する。要求ヘッダ200を検査すると、スイッチは、目的を達成するのに十分な方法でその状態を更新し、ヘッダ200を修正されたヘッダ500と入れ換えてフレーム201をファイルサーバ101に転送する。フレーム202を受信すると、スイッチは、そのフレームを同じサーバ101に転送し、本来のクライアント要求205のデータペイロードの一部分のみを持つ新しい要求501をそのサーバに対して実質的に作成する。
【0113】
次のフレーム203を受信すると、スイッチは、新しい要求ヘッダ504を形成してフレーム203に挿入し、そのフレームをファイルサーバ107に転送する。本来の要求204の最終フレームを受信すると、スイッチは、それをファイルサーバ107にも転送し、本来のクライアント要求205のデータペイロードの残りを持つ新しい要求505をそのサーバに対して実質的に作成する。
【0114】
2つのファイルサーバ101及び107は、この時点で別々のファイル書込要求を受信しており、その各々は、その適切なファイルに対するものであり、書き込まれるデータの適切な部分を有する。サーバは、この時点で要求された書込み作業を並行して実行し、それぞれの応答502及び506を、サーバが要求501及び505の発信者と考えているスイッチに提出する。本発明の処理では、サーバ101及び107が互いに対話したり、又は、相手の存在を意識することさえも決して要求されないことに注意すべきである。
【0115】
ファイルサーバ101及び107からそれぞれ要求502及び506を受信すると、ファイルスイッチ101は、スイッチが提出した両方の書込要求の結果を知っており、従って、そのトランザクションの統合結果を含む応答206を本来のクライアントに対して形成する状態にある。スイッチは、ヘッダ206及び207に含まれたデータを使用して応答ヘッダ207を形成し、ヘッダ207をフレーム206内の本来のクライアントに送ることによりこれを達成する。クライアントは、その本来の要求205の結果を含む応答206を受信する。この時点でトランザクションは完了する。
【0116】
上述の機構により、2つの革新的な結果が可能になる。第1に、ファイルスイッチは、異なるファイルサーバ上にあるファイル又はディレクトリのような一組のファイルシステムのエンティティーを統合し、この組をクライアントに単一の密接したエンティティーとして呈示することができ、その結果、完全なファイルシステムを統合するための基盤が形成される。
【0117】
第2に、この機構により、スイッチは、要求された作業を並行して実行することができる複数のファイルサーバ間で、個々の読取り及び書込みネットワークファイル・トランザクションを分割又は複製することができる。このようにして、本発明は、各クライアントが利用可能な個々のファイルサーバの性能よりも何倍も高い統合性能を各クライアントに供給する能力と共に、ファイルスイッチ及びファイルサーバを含むネットワーク上にパラレルファイルシステムの均等物を形成する基盤を設定する。
【0118】
本発明が関係する当業者は、本明細書で説明する機構の作動はまた、202のようなヘッダが追加されるネットワークフレームを、各々がデータの一部分を持つ多重フレームに分割することが有利であり得ることを要求する場合があることを容易に認識するであろう。このようなフレーム分割、接合、及び、他の再組立は、ファイルスイッチの最適な作動を得るために他の場所では必要とされる場合があるが、本発明の作動の論理を決して変更するものではない。
【0119】
ヘッダの導出は、以下のいずれかを含むことができることに注意すべきである。すなわち、ヘッダ内の経路又はファイル名を修正する段階、他方の側が予期する識別情報を見出すように(ファイルスイッチは、クライアントに1つのファイルハンドルを与え、同時に複数の異なるハンドルをメンバーファイル毎に1つ受信することになる)、接続ID又はファイルハンドル(それぞれ、「CIFS」プロトコルにおいて定義されるような「TID」及び「FID」フィールド)のような識別情報を変更する段階、及び、ペイロードの長さを変更する段階(例えば、ストライピングの時、ペイロードの一部分は1つのサーバに行き、残りは別のサーバに行くことができ、従って、スイッチは、それがそれぞれの部分のみの読取り/書込みを行うことになることをサーバの各々に知らせる必要があることになる)である。
【0120】
更に、2つのフレームが統合された場合、ヘッダの導出は、更に以下を伴う場合がある。すなわち、応答したサーバの各々により読み込まれた/書き込まれたバイト数を合計して、その和をクライアントに返送する段階(スイッチは、サーバから受信した全てのデータを送ることになるため)、状態を統合する段階(この技術は、同時処理及びデータ無しトランザクションでも使用することができる、本明細書の他の場所で説明)、及び、サーバの各々により戻された状態に基づく方法でファイルスイッチがクライアントに送る必要がある状態を判断する段階である。
【0121】
ネットワーク・ファイル・システムの統合
ファイルスイッチの1つの目的は、従来のサーバにより行われるファイル・システム・サービスを統合して、利用可能性が個々のファイルサーバの各々よりも何倍も高い単一で大規模の非常に高性能なネットワーク・ファイル・システムとしてネットワーククライアントに呈示することである。
【0122】
この目的を達成するために、ファイルスイッチは、スイッチに接続されたクライアントがその作動を単一ネットワーク・ファイル・サーバの作動と区別することはできないような方法で、1つ又はそれ以上のネットワークファイルプロトコルの全ての作業を統合することが好ましい。これには、スイッチが、一般的なネットワークファイルプロトコル、特に、ファイルシステムネームスペース、ディレクトリ、ファイルオブジェクト、及び、ファイル内に含まれたデータにより露出された全てのエンティティーを統合することが必要である。
【0123】
規則に基づく統合
ファイルスイッチがファイルシステム統合を達成するために使用する種々の機構は、スイッチ上に規定された一組の規則及びポリシーで推進させることができるように実施されることが好ましい。
【0124】
規則に基づく統合を望ましいものにする幾つかの理由がある。第1に、ストレージ管理者は、異なる組及び/又は形式のファイルに対して異なる統合方法を指定することができ、その結果、システムの特性が、異なるデータに対して意図された使用及び特定のアクセスパターンに調節される。第2に、ファイルスイッチは、通常の作動中に外部装置を調べる必要性を排除することにより、より決定論的タイミングで作動することができる。
【0125】
更に、規則に基づく作動により、複数のファイルスイッチは、変更があった場合にその組の規則及びポリシーを同期させるために以外にはスイッチが互いに対話する必要もなく、統合されて同じ組のサーバの前に置くことができる。同じ組のファイルサーバを統合するスイッチ間のこの緩い結合により、必要な時にはいつでもスイッチを単に追加することによって桁違いの大きさにアクセス帯域幅を拡張することができる。
【0126】
最後に、ファイルスイッチは、内部的に使用パターンを追跡する絶好の状態にあるので、システム管理者により指定されたポリシー及び観察された使用パターンに従って自動的に統合規則を調節することができる。その結果、ファイルスイッチは、全体としてネットワーク・ストレージ・システムの円滑かつ適応する挙動を達成するために、ファイルスイッチが統合するサーバ間で大きなゆとりをもってファイル及びデータの配分を最適化することができる。
【0127】
ネームスペース統合
本発明のファイルスイッチは、共通のファイルシステムネームスペースの下で複数のファイルサーバを統合するように構成することができる。
【0128】
図6は、本発明のファイルスイッチによる規則に基づくネームスペース統合を示す。ネームスペース統合の規則は、経路対応の表として規定されることが好ましい。第1のコラムは、クライアントが見ることができる名称を指定し、第2のコラムは、サーバの名称及び任意選択的にファイルが実際にあるそのサーバ上のシェア又はマウントポイントを指定する。ファイルスイッチ100は、3つのファイルサーバ608、609、及び、610に接続されている。ファイルスイッチ内に搭載されている(又は、そうでなければ、ファイルスイッチがアクセス可能な)ものは、3つの規則605、606、及び、607を指定する規則表604である。ネットワーククライアントにより開始されたファイルオープンのような着信ファイル要求の経路名601、602、及び、603は、第1コラムの名称マッピング規則と比較される(この比較は、重なり合う経路名を特定することができるように、最長の符合プレフィックスに対して最初に行われることが好ましい)。符合部分があった場合には、ファイル基本経路の符合部分が第2コラムの名称と置き換えられて、要求は、処理のために新しい経路に転送される。ファイルが目標サーバ上で開かれると、このファイルに関係する全ての更なるトランザクションは、そのサーバに切り替えられる。
【0129】
例えば、規則605は、共通ネームスペースの「\ENG」サブツリーがサーバ608にマッピングされるように指定する。ファイル601は、この規則に適合しており、従って、それが修正された経路で到着するサーバ608に切り換えられることになる。しかし、規則606は、「\ENG」サブツリー内のサブツリー、すなわち、「\ENG\SW」が異なるサーバ、つまりサーバ609にマッピングされるように指定する。ファイル602は、この規則を満足し、従って、サーバ609に切り替えられ、修正された経路でファイルがそのサーバに到着する。更に、規則607は、「\ACCT」サブツリーがサーバ610にマッピングされるように指定する。この規則は、たとえこのファイルが「\ACCT」サブツリーのサブディレクトリ内にあったとしても、ファイル603の切り換えを推進することになる(プレフィックス符合のために)。
【0130】
基本経路に加えて、他のネームスペースマッピング規則が考慮される。例えば、規則は、所定の拡張を伴う(及び、任意選択的に所定のサブツリーの下での)全てのファイル特定のサーバに切り替えられるように指定することができる。例えば、規則(*.mpeg-->\\srv3\dir6)により、全ての「MPEG」ファイルは、これらのファイルが論理ネームスペースのどこにあろうと、サーバ610上のサブディレクトリ「dir6」に送られる。
【0131】
尚、マッピングは、ファイルスイッチ上で構成されかつ実行される。クライアントは、マッピングを知る必要はなく、実際には知るすべがなく、マッピングが変更された場合に再構成される必要はない。
複数のファイルサーバのネームスペースを共通のネームスペースに統合することにより、ファイルスイッチは、いかなる独自仕様のクライアント側ソフトウエアを必要とすることもなく、利用可能な分散ファイルシステムが行う内容と類似の機能を達成する。
【0132】
ディレクトリ統合
先の節で上述したネームスペース統合は、ファイルを異なるサーバ間で配分し、新しいサーバを既存のシステムに追加する簡単な方法である。しかし、この技術だけでは、複数のファイルサーバのストレージ容量を滑らかに統合するには不十分である場合がある。例えば、ネームスペース統合だけでは、統合されたファイルシステム上でどれだけの空きディスクスペースがあるのか知ることができないであろう。
【0133】
ディレクトリが異なればマッピング先のサーバも異なることから、余裕不足のために「\ENG」サブツリーで記憶することができない恐れがあるファイルは、異なるサーバにある「\ENG\SW」サブツリーで問題なく記憶することができる。従って、全体としてのシステムが多くの利用可能なストレージスペースを有する時でさえも、ネームスペース内の特定場所の特定のファイル操作は、大規模な人手の介入がなければ問題なく実行することはできないであろう。
【0134】
ディレクトリ統合は、同じ統合されたディレクトリ内にあるファイルを異なるサーバ間で配分することを可能にすることにより上述の問題を解決する。これにより、結合されたネームスペースの全てのディレクトリのファイルは、確実に利用可能な空きディスクスペースの全てを共用することができる。
【0135】
図7は、ファイルスイッチによるディレクトリ統合を示す。スイッチ100は、3つのファイルサーバ704、705、及び、706に接続されており、それらのサーバ上でディレクトリを統合するように構成される。新しいファイルを作成するトランザクションがクライアントにより開始された時、スイッチは、どのサーバが特定のファイルを作成するべきかを判断し、そのトランザクション及びこのファイルに関係する他の全てのファイルをそのサーバに切り替える。既存のファイルを開く要求がクライアントにより開始された時は常に、スイッチは、そのファイルがどのサーバ上にあるかを判断し、そのトランザクション及びこのファイルに関係する他の全てのトランザクションを適切なサーバに切り替える。本発明の例では、ファイル701は、最終的にサーバ704上にあり、ファイル701と同じディレクトリ「ENG」内にあるファイル702は、最終的にサーバ705上にあり、やはり同じディレクトリ内にあるファイル703は、最終的にサーバ706上にある。
【0136】
上述のディレクトリ統合では、この機構が作動するディレクトリが全てのサーバ上にあると仮定している。これを確実に行う1つの方法は、そのサーバ上の所定のディレクトリ内でファイルを作成する第1の要求を受信した時は常にファイルスイッチに中間的なディレクトリを作成させることであり、これと同じ結果を保証する別の方法は、スイッチに全てのサーバ間でディレクトリ(ただしファイルではない)を複製させることである。同じ結果を達成する更に別の方法は、スイッチに全てのサーバに対するディレクトリ作成トランザクションを統合させることであり、これにより、クライアントがディレクトリを作成するように要求した時は常に、それが全てのサーバ上で同時に作成されることが保証される。当業者は、同じ結果を達成する種々の他の方法を容易に認識することができる。
【0137】
クライアントが統合されたディレクトリ内のファイルを列挙するトランザクションを開始した時は常に、ファイルスイッチは、そのトランザクションを統合し、実質的に、異なる関連ファイルサーバ上の対応するメンバーディレクトリを並行に列挙させる。次に、スイッチは、この列挙の結果を連結し、重複する名称(複数の場所に存在するサブディレクトリなど)を排除し、その結果をクライアントに提出する。
【0138】
上述の機構の重要な部分は、スイッチが、統合されたディレクトリ内にある各ファイルに対して目標ファイルサーバを選択する特有な方法である。この結果を達成することができる1つの本発明の技術は、以下の通りである。新しいファイルを作成しなければならない時、ファイルスイッチは、無作為に又はそのサーバで利用可能なディスクスペースの量に基づいて目標ファイルサーバを選択し、ファイル作成トランザクションをそのサーバに切り替える。既存のファイルを開くトランザクションが開始された時、ファイルスイッチは、このファイルの開かれている要求を全てのサーバに並行して提出することにより、そのトランザクションを統合し、ファイルを問題なく開くサーバを選択する。
【0139】
同じ結果を達成する別の方法は、ファイルオープン要求及びファイル作成要求内で利用可能な情報を用いるハッシュのような計算アルゴリズムに基づいてファイルサーバを選択することである。例えば、ハッシュアルゴリズムを用いて、名称が常に独自であるファイル名称に基づいて有限な組からサーバを選択することができる。この方法は、新しいファイルを作成する時及び既存のファイルを開く時には同じように作動し、ファイルオープン要求を提出する時にはサーバ上に不要な負荷を作成しないという利点を有する。
【0140】
更に別の可能な機構について以下に説明する。
ディレクトリ統合は、ネームスペース統合による規定に従って、ファイルシステムの一部に関して行うことができる。例えば、次の規則、
\\zx\marketing\art\* ――> \\srvl\dirl (A)
\\srv2\dir2 (N)
\\srv3\dir3 (N)
\\srv4\dir4 (N)
は、「marketing\art」ディレクトリの下でのファイルが、「\\srv1」上に最初に記憶されることになるように指定する。「\\srv1」が満杯になった時、新しいファイルは、「\\srv2」上に記憶される。「\\srv2」が満杯になった時、新しいファイルは、「\\srv3」上に記憶される。「\\srv3」が満杯になった時には、管理者は、更に別のファイルサーバを追加することができる。
【0141】
この機構の可能な実施法は、この規則に含まれる各ファイルサーバに対して状態データを維持することである。可能な状態は、満杯(F)、活性(A)、及び、新規(N)である。
【0142】
この例においては、任意の与えられた時間において、サーバ1つのみが活性状態である(上表の\\srl1)。新しいファイルは、そのサーバ上で作成される。活性サーバが満杯になった時(好ましくは容量の10パーセント以内)、そのサーバは、満杯状態に移行して、別のサーバが新規から活性の状態に移行する。管理者が新しい空のサーバを追加した時は、そのサーバは新規の状態になる。
【0143】
ファイルスイッチは、状態移行を自動的に行う。しばらく時間が経つと、上述の規則は、以下のようになるであろう。
\\zx\marketing\art\* ――> \\srv1\dir1 (F)
\\srv2\dir2 (F)
\\srv3\dir3 (A)
\\srv4\dir4 (N)
【0144】
ファイルオープン要求が到着した時、ファイルスイッチは、まず、現在活性な装置上でそのファイルを開こうとする(最近作成されたファイルの方が頻繁にアクセスされる可能性があるため)。ファイルがそこになかった場合、オープン要求を全てのサーバに提出してより古いファイルを見つけることができる。このファイルは、装置の1つのみにあり、スイッチは、このファイルと共に更に別の作業をその装置に転送することになる。
関連技術の当業者は、ディレクトリ統合において目標ファイルサーバの明確な選択を達成するために数多くの他の機構を利用することができることを認識するであろう。
【0145】
ファイル統合
ファイルのコンテンツを複数のファイルサーバ間でストライピング及び/又はミラーリングすることができるために、ファイルスイッチは、異なるサーバ上にある複数のファイルを統合してクライアントに単一ファイルとして提示することができるべきである。この節では、ファイル内にあるデータを統合する方法と比較しながら、ファイルスイッチがファイルオブジェクトを統合する方法について説明する。データ統合は、本明細書の他の節で説明されている。
【0146】
図8は、ファイルスイッチによるファイルオブジェクト統合の本発明の手法を示す。ファイルスイッチ100は、接続109を通じて接続されたクライアントから、ファイルオープン要求801を受信する。スイッチは、統合されたファイルのインスタンスがあるファイルサーバの部分集合、この例においては、ファイルアレー800として集合的に識別されるサーバ101、102、103、及び、104を判断する。次に、スイッチは、適切に修正されたファイルオープン要求802、803、804、及び、805をファイルアレー800のサーバに並行して提出する。サーバ101〜104は、それぞれのファイルオープン要求802を805を通じて受信し、並行して検査し、プロトコルに従ってスイッチに返答するが、各々は、スイッチがそのサーバ上にある個別ファイルに対するそのクライアントであると考える。スイッチは、全ての応答をファイルサーバから回収し、各々がファイルアレー800のサーバ101〜104の1つにある、統合されたファイルを備えたメンバーファイルに関する情報データでその状態を更新し、トランザクション結果を統合して本来のクライアントに提出する。
【0147】
その結果、クライアントは、この時点で、ファイル(この例においては「FILE1」)に対して、それがあたかも単一ファイルサーバ上にある真のファイルであるかのように様々なトランザクションを開始することができる。スイッチは、異なるトランザクションを異なる方法で統合する。読取及び書込トランザクションに関する作業については、本明細書の他の節で説明する。同時性関連の要求及び問題に関するファイルスイッチの作動について、以下の節で説明する。
【0148】
大部分の商業レベルのファイルシステムにおいては、ファイルオブジェクトは、作成日、最終修正日、サイズ、ディスク使用量、アクセス制御リスト(ACL)、セキュリティ記述子、バックアップ/アーカイブ指標、及び、更にはユーザ定義のプロパティーのような、豊富な属性の組を有する名前付きエンティティーである。ファイルオブジェクトを適切に統合するために、ファイルスイッチは、異なる統合方法を異なる属性に適用しなければならない。こういう理由で、ファイルオブジェクト統合に関する本発明の手法は、この説明を特定のファイルシステム及びネットワークファイルプロトコルに限定することがないように一般的に説明し、当業者は、この説明からその内容を特定のネットワークファイルプロトコルに適用することができるであろう。
【0149】
一般に、ファイルスイッチ内で属性関連のトランザクションを処理する好ましい方法は、属性のいかなる要求された修正をも統合されたファイルを備えたメンバーファイルの組の全てのファイルに適用し、要求された時にできるだけ少数のメンバーファイルからそれらの属性の値を読み取ることである。特定の属性が統合される実際の方法は、特定の属性のセマンティクスにより異なる。
例えば、統合の作成日は、そのファイルの第1の記憶されたインスタンスの作成日としてもよく、最終修正日は、ファイルのインスタンスのうちの少なくとも1つが修正された最新の日付/時間としてもよい。統合ファイルサイズを判断するアルゴリズムは、ファイルがストライピング及び/又はミラーリングされる方法に基づくことが好ましく、例えば、ストライピングされるがミラーリングされないファイルについては、ファイルサイズは、全てのメンバーファイルのサイズの和と規定することができ、ストライピング及びミラーリングの両方が行われるファイルについては、ファイルサイズは、単一鏡像からのメンバーファイルのみの和と規定することができる。更に別の例として、このようなファイルのディスク使用は、全てのストライプ及びミラーメンバーファイルのディスク使用属性の和と規定することができる。
【0150】
当業者は、上記及び他のファイル属性を多くの異なる明確な方法で統合することができ、その全てが本発明のファイルスイッチにおいて良好に機能することができることを認識することができる。
【0151】
同時性機構の統合
ファイルサーバ及びネットワークファイルプロトコルは、複数のクライアントにより同時にアクセスされるように設計されることから、一般的に、同時性の処理を非常に良くサポートする。例えば、「CIFS」ネットワークファイルプロトコルにより、排他的ファイルオープンを要求することができ、これは、2つのクライアントがオープンを同時に要求した場合、その要求の1つのみが問題なく処理されることになることを意味する。
【0152】
単一ファイルサーバの場合、このサポートは、オペレーティングシステム同期オブジェクトを使用してファイルサーバ内で実行されることが多い。これは、複数のクライアントからのアクセスを同じコンピュータ内で直列化することができる単一サーバについて良好に機能する。しかし、従来技術の節で説明したように、この手法をクラスター構成の複数のサーバに拡張すると、障害となる問題が生じる。こういう理由から、本発明は、好ましくは同時性を処理するための異なる機構を使用する。
【0153】
同時性の問題:一例
図19は、本発明の統合ファイルシステムにおける同時アクセスを示す。システム1908は、2つのファイルスイッチ100及び1906、ファイルサーバ101〜106、及び、ファイルサーバ及びファイルスイッチを接続するのに使用される層2スイッチ1907から成る。
【0154】
この例において、2つのクライアントは、排他的ファイルオープン要求を同時に送る。第1のクライアント、つまりクライアントAは、ファイルスイッチ100に接続されて、排他的ファイルオープン要求801をファイルスイッチに送り、第2のクライアント、つまり、クライアントBは、ファイルスイッチ1906に接続されて、排他的ファイルオープン要求をファイルスイッチに送る。この例においては、要求されたファイルは、各々がファイルサーバ101〜104(この4つのサーバがこのファイルに対してファイルアレー800を形成する)の1つにある4つファイルから統合される。
【0155】
両方のファイルスイッチは、要求を同時に処理し、着信要求801及び1901をファイルアレー800の4つのサーバの各々に切り替えることによりそれを処理しようと試みる。ファイルスイッチ100は、要求802〜805をそれぞれファイルサーバ101〜104に送る。ファイルスイッチ1906は、要求1902〜1905をそれぞれファイルサーバ101〜104に送る。2つのスイッチは、要求を同時に発行したかもしれないが、要求は、何らかの順番でファイルの各々に到着する。この例においては、ファイルサーバ101、103、及び、104は、対応する要求、すなわち、要求1902、1904、及び、1905をファイルスイッチ1906から受信する前に、要求802、804、及び、805をそれぞれ受信する。ファイルサーバ102は、それが要求803をファイルスイッチ100から受信する前に、要求1903をファイルスイッチ1906から受信する。当業者は、他の順序と、2つよりも多いクライアント、2つよりも多いスイッチ、及び、別の個数のファイルサーバを伴う類似の状況とが明らかであることを容易に認識するであろう。
【0156】
上述の要求到着順序に基づいて、ファイルサーバ101、103、及び、104は、ファイルスイッチ100から来るオープン要求802、804、及び、805を満足させ、ファイルスイッチ1906からの要求1902、1904、及び、1905を拒否する。ファイルサーバ102は、ファイルスイッチ1906からの要求1903を満足させ、ファイルスイッチ100からの要求803を拒否する。その結果、ファイルスイッチの立場からすれば、両方の統合されたトランザクションは、そのいずれもがメンバーファイルの4つ全てを開くことに成功しないので失敗することになり、また、それぞれのクライアント要求801及び1901にも失敗することになる。この筋書きは、明らかに、1つのクライアントが成功して他の全ては失敗すべきであると定める排他的オープン要求のセマンティクスに違反する。
【0157】
当業者は、この状況が、クライアントの競合するリソース(すなわち、統合されたファイル)が利用可能であってクライアントの1つに容易に付与することができるが、どのクライアントもそれを取得すること(すなわち、ファイルを開くこと)ができないという古典的なデッドロック問題であることを認識するであろう。
【0158】
同時アクセスを処理するためのアルゴリズム
本発明は、このような場合において、同じ統合されたファイルを目標とする1901のような他のネットワークファイルプロトコル・トランザクションに対して、801のような統合されたネットワークファイルプロトコル・トランザクションの適正なセマンティックな挙動を達成する。本発明は、同じファイル又は他のファイルシステムエンティティー上で試行された複数の同時トランザクションの1つのみが成功するように、トランザクションの各々の結果を決定論的方法で統合することによりこれを行う。
【0159】
図9は、この結果を達成するためのアルゴリズムを示す。アルゴリズムの第1段階901において、ファイルスイッチは、統合されたトランザクションの要求を全て目標サーバに対して発行し、それらの応答を回収する。段階902において、スイッチは、全ての要求が成功であることを示すかどうかを検査する。そうである場合には、アルゴリズムは問題なく完了する(例えば、ファイルは問題になく開かれる)。
【0160】
要求の少なくとも1つが失敗を示した場合、アルゴリズムは、段階903に進み、そこで、ファイルスイッチは、要求の全てが失敗したのか検査する。そうである場合は、アルゴリズムは完了し、ファイルスイッチは、統合されたトランザクションに失敗する(すなわち、ファイルをこの時点では開くことはできない)。要求の少なくとも1つが成功したことを示す(すなわち、スイッチが目標サーバの少なくとも1つでファイルを問題なく開くことができた)場合、アルゴリズムは段階904に進む。この段階において、スイッチは、第1のサーバ(この例においてはサーバ101)のトランザクションの結果が成功したことを示すか検査する。成功したことを示さなかった場合、スイッチは、段階907に進み、そこで、成功した全てのメンバートランザクションを取り消し(すなわち、メンバーファイルを閉じ)、統合されたトランザクションに失敗する。
【0161】
段階904から「YES」の方に進んだ(すなわち、スイッチが、問題なく第1のサーバ101上のメンバーファイルを開いた)場合、アルゴリズムは、段階905及び906に進み、そこで、スイッチは、全てが成功するまで全ての失敗したメンバートランザクションを再試行し、全てが成功した時点で、統合されたトランザクションを問題なく完了する。
【0162】
図9に示すアルゴリズムは、それが同時トランザクションの全てに適用された時、これらのトランザクションの1つが成功して他の全ては失敗し、従って、適正なアトミックな挙動が達成されることを保証する。尚、ファイルスイッチの各々は、他のスイッチから同じファイルを目標とするトランザクションによって受信された特定の結果に関する情報がなくても、トランザクションから受信した結果に基づいてそのトランザクションを再試行するか又は取り消すかを判断することができる。当業者は、このアルゴリズムは任意数のスイッチ及び任意数のクライアントに拡張されることを容易に認識するであろう。更に、単一のファイルスイッチは、同じアルゴリズムを使用してそれ自体のクライアントの2つからの競合する要求を調停することができ、その結果、この種の作業に関して他の内部的な同期が不要となることが好ましい。
【0163】
従って、本発明は、以下の段階及び機構により、統合ファイルシステム内での同時性をサポートするための1つの可能な機構を形成する。
1.本明細書で説明するように着信トランザクションを切り替える段階。
2.ファイルサーバの各々で実行されるネットワークファイルプロトコルにより供給される同時性解決機構を使用する段階。
3.全ての競合するトランザクションに対して決定論的な反応を生成することができる(すなわち、競合するトランザクションの1つのみが成功する)図9に示すようなアルゴリズムを準備し、同時に各スイッチが他の競合するトランザクションの結果を必要とせずに、そのようなアルゴリズム及びそれ自体のトランザクションの結果に基づいてアクションを起こす段階。
【0164】
当業者は、単一のファイルスイッチが、そのスイッチに接続されたクライアントからの競合する要求の適切な処理を確実に行うためにこの態様を使用することができるということを含め、本発明のこの態様が容易に任意の数のファイルスイッチに適応可能であることを容易に認識するであろう。更に、当業者は、本発明の精神から逸脱することなく、図9に示すアルゴリズム以外のアルゴリズムを使用してこの結果を達成することができることを容易に認識するであろう。
【0165】
暗黙的ロック
ネットワークファイルプロトコルは、一般的に、同じファイル及びファイル内の同じ領域に書き込もうとする複数のクライアントを同期させるために、ファイルレベルのロック及びバイト範囲のロックを提供する。ロックが全てのクライアントにより矛盾することなく使用された時、矛盾したデータが同じファイルの異なるミラーに書き込まれるのを回避するための更に別の同期化は不要であるが、全てのファイルクライアントアプリケーションが、矛盾なくロック機構を使用するとは限らない。
【0166】
複数のファイルクライアントにより同時に複数のファイルサーバに書き込まれたファイルデータの一貫性を確保し、同じファイルの全てのミラーコピーが確実に同一データを含むようにする機構は、以下の機構である。ファイルスイッチがファイル書込要求を受信した時、要求しているクライアントは、要求された領域に関して完全なファイルロック(排他的ライター又は排他的オプロック)又はバイト範囲のロックを既に取得しているのか検査する。取得していない場合、ファイルスイッチは、クライアントが書き込むように要求したファイルの領域に関するバイト範囲のロックを発行した後、書込み作業を行い、その領域のロックを解除して、そのクライアントに対するファイル書込トランザクションを完了する。
この機構がファイルスイッチにより矛盾なく使用された時に、全てのファイルスイッチにより同じ組のファイルサーバにアクセスする複数のファイルスイッチの場合は、任意の単一ファイルサーバにより維持される一貫性に比するレベルでのファイルデータの一貫性が保証される。
【0167】
予約ファイル
ロックをサポートしないネットワークプロトコルに関連して頻繁に使用される更に別の機構は、ファイルサーバ上に「予約」ファイルを作成することである。この機構を用いて、2つ又はそれ以上のクライアントが所定のファイルAに対して目標とするトランザクションの実行を試みる場合(1回に1つのクライアントのみにより実行すべきであるように)、各々のクライアントは、まず、公知の名称及び位置(例えば、ファイルAと同じディレクトリ内のファイルLOCK)で「予約」ファイルを作成しようとすることになる。それらは、排他的セマンティクスを有するファイル作成要求、すなわち、もしそのファイルを作成すれば成功となり、ファイルが既に存在していた場合には失敗となる要求を使用して予約ファイルを作成しようとする。
【0168】
従って、両方のクライアントが目標とするトランザクションを実行しようとした場合、各々のクライアントは、まず、予約ファイルを作成しようとする。クライアントの一方が成功し、目標とするトランザクションを続けることになる。他方のクライアントは、そのファイルが既に存在しているために予約ファイルの作成に失敗することになり、目標とするトランザクションを実行しない。その代わりに、定期的に予約ファイルを作成しようとする。予約ファイルが存在する限り、これらの試行は失敗する。第1のクライアントが目標とするトランザクションを完了した時、それは予約ファイルを削除することになる。その後、予約ファイルを作成しようとする他方のクライアントの次の試行が成功することになり、目標とするトランザクションで進行する。
【0169】
ファイルスイッチは、図9に示すアルゴリズムのみを使用しても簡単に取り消すことができない作業を実行する必要がある時に、予約ファイルを作成する同じ機構を使用することができる。尚、メンバーファイルが存在する同じディレクトリにおいてロックファイルを作成し、競合しているトランザクションにより目標にされたファイルの派生物であるファイル名を有することができる。このようにして、同期化が複数のファイルサーバ間で配分されるので、集中した「ロック」又は同期化の権限は存在しない。
【0170】
当業者は、予約ファイル機構が本発明の精神を逸脱しない範囲に保ちながら図9に示すアルゴリズムを更に発展したものであること、また、そのアルゴリズムの他の変形例及び拡張例をファイルスイッチと共に有利に使用することができることを容易に認識するであろう。
【0171】
便宜的ロック(オプロック)の統合
ネットワークプロトコルと共に頻繁に使用される別の機構は、便宜的ロック(オプロック、同じくコールバックともいう)である。オプロックはクライアント側キャッシュを可能にすることから(データの完全性、一貫性、及び、適時性を保持しながら)、オプロックを使用すると、一般的にクライアントが経験する性能が上がる。
【0172】
ファイルスイッチは、メンバーファイルに対してオプロックを統合し、それがクライアントに呈示する統合ファイルに対してオプロックを行うことが好ましい。これを行うために、ファイルスイッチは、メンバーファイルの各々に対してオプロックを要求する。すなわち、全てのオプロックが付与された場合(すなわち、ファイルスイッチが全てのメンバーファイルに対してオプロックを保持する)、ファイルスイッチは、オプロックをクライアントに付与する。メンバーファイルの1つがファイルスイッチに付与したオプロックを破壊した場合、スイッチは、そのクライアントに対して付与したオプロックを破壊する。(クライアントがオプロックを要求していなかった場合、スイッチは、それがもはや特定のファイルに対するオプロックを保持しておらず、そのようなオプロックに関してその後のクライアントの要求を却下することになることをその状態において単に気付くことができる。)次に、スイッチは、好ましくは、そのオプロックを破壊するのに必要な全てのアクション(このファイルに対するあらゆるキャッシュデータを再度書き込んで破棄するなど)を完了したことをクライアントが認めるのを待ち、オプロックを最初に破ったファイルサーバに対してオプロック破壊完了を受入れる。ファイルスイッチがサーバからのオプロック破壊要求に応答する方法は、クライアントがスイッチに応答したのと同じであることが好ましい(例えば、オプロック破壊了解、又は、ファイルが閉じた)。
【0173】
クライアントがスイッチからのオプロック破壊要求を処理している間に、別のファイルサーバが同じファイル対して付与したオプロックを破壊しようとした場合、ファイルスイッチは、これが発生したことをメモリに保持する。クライアントがオプロック破壊を完了した時、スイッチは、付与したオプロックを破壊するように要求した全てのサーバに対して応答する。ファイルスイッチは、このファイルに対するオプロックがもはや付与されないことをその状態において気付き、他のファイルサーバが同じファイルに対してオプロックを破壊しようとした場合、クライアントがもはやオプロックを保持していないので(また、その結果、いかなるデータ又は範囲ロックもキャッシュしていないはずである)、ファイルスイッチは、直ちにオプロック破壊を受入れることができる。
【0174】
この関連技術の当業者には明らかなように、上述の機構を使用して、ネットワークファイルプロトコルにより形成された様々な形式のオプロックを処理し、また、オプロックを完全に破壊するか又は単に格下げすることもできる(「CIFS」プロトコルにおける排他的オプロックからレベルIIオプロックへの格下げ要求など)。
【0175】
当業者はまた、この機構が同じ組のファイルサーバを用いて複数のファイルスイッチの同時作業を更に可能にするものであることを認識するであろう。
【0176】
同時性機構の統合のまとめ
当業者は、他のアルゴリズムを導入して同じ結果を達成し、統合されたトランザクションに関して一貫したアトミックな挙動を確保することができることを認識するであろう。同様に、当業者は、同じ手法をロックや作成などのような他のファイルトランザクション形式に適用することができることを容易に認識するであろう。
【0177】
実際には、本発明は、ファイルスイッチ自身の間の直接的な対話及び通信、従って結合を必要とせずに、複数の独立したファイルスイッチのクライアント間での同期化を実行するために、ネットワークファイルプロトコルにより供給された既存の同期化機構を統合する。更に、個々のファイルスイッチの各々は、そのスイッチに接続されている複数のクライアントにより要求されたトランザクションを同期するためにこれらの機構を更に使用することができる。
【0178】
データ統合
複数のサーバ間でファイルオブジェクトを統合し、かつ同時の環境でこれを安全に行う能力は、ファイルスイッチが、統合されたファイルのデータを複数のサーバ上に配分し、それによって並行作業及び高い利用可能性の両方を達成することを可能にする。同じ処理は、メンバーファイルのコンテンツをネットワーククライアントに呈示する単一ファイルに統合するファイルスイッチとして見ることができる。
【0179】
大部分のネットワークファイルプロトコルは、ファイルデータをバイトの連続アレーとして表す。これは、個々のファイルの各々に対するデータを配分するのに必要な技術が、ハードディスクのアレーに対するデータを配分するのに必要な技術と異なるものではないことを意味する。当業者は、従来技術の節で説明したように、ストライピング、ミラーリング、及び、全て他の「RAID」の変形を含むこれを行う全ての方法が、個々のファイルのデータの配分にも同様に革新的に適用することができることを認識するであろう。
【0180】
以下で説明する図10〜図12は、それぞれ、本発明により実施されるミラーリング、ストライピング、及び、スピルオーバーを示す。これらの機構は、従来から存在するものであるから、クライアント及びサーバという表現は不要であると思われる。ただし、これらの機構は、ローカルマシン、一般的にはクライアント上で行われるAPI機能ではなく、むしろファイルスイッチにおいて行われるファイルプロトコル・トランザクションの切り換え(これらの図の各々においては矢印で表現される)に基づいて本発明により実行されることが分る。
【0181】
ミラーリング
図10は、交換ファイルシステムにおけるミラーリングを通じたデータ統合を示す。この例において、ファイルスイッチ(図示せず)は、好ましくは全てが異なるファイルサーバ上にあるメンバーファイル1001、1002、1003、及び、1004を、クライアントに呈示される単一の統合ファイル1000に統合する。メンバーファイル1001〜1004は、スイッチが統合ファイル1000のコンテンツとして呈示する同一データを含む。
【0182】
クライアントがファイルオープントランザクションを開始した時、スイッチは、そのトランザクション(図8に図示)を統合して、好ましくは全てのメンバーファイル1001〜1004を開く。クライアントがファイル読取トランザクションを開始した時、ファイルスイッチは、好ましくは無作為にメンバーファイルがあるファイルサーバの1つを選択し、読取トランザクションをそのサーバに切り替える。そのサーバは、読取トランザクションを実行してその応答をスイッチに戻す。スイッチは、その応答をクライアントに転送し、その結果、クライアントにより要求された読取トランザクションが完了となる。この機構では、複数のクライアントが同じファイル1000を読み取ろうとした場合、スイッチは、クライアントのトランザクションを異なるメンバーサーバに無作為に方向付けすることになる。従って、スイッチは、これらのファイルサーバ間の負荷の均衡を保ち、更に、クライアントは、ファイル1000が単一サーバ上に記憶される状況と比較すると、最大4倍の性能の増加(この例において)を経験することができる。
【0183】
クライアントがファイル書込トランザクションを開始した時、スイッチは、ユーザデータをメンバートランザクションに複製することによりトランザクションを統合する。その結果、全てのメンバーファイル1001〜1004は、同じデータにより同時に更新される。全てのメンバートランザクションが並行に実行されることから、これは、単一サーバに記憶されたファイルと比較すると、書込の統合ファイルの性能を大幅に劣化させるものではない。
【0184】
最後に、クライアントがクローズトランザクションを開始した時、スイッチは、オープントランザクションと類似の方法でそれを統合し、全てのメンバーファイルを閉じる。
【0185】
ファイルミラーリングの1つの他の重要な利点は、上述のトランザクションが、たとえメンバーファイルサーバのうちの1つ又はそれ以上が利用不可能になったとしても問題なく完了することができるということである。オープン、書込み、及び、クローズのトランザクションは、全ての利用可能なサーバに切り替えられ、読取トランザクションは、利用可能なサーバのいずれか1つに切り替えられることになる。このようにして、メンバーファイルのうちの少なくとも1つがオンライン上にある限り、全体としてのファイルシステム、及び、特に統合ファイル1000は、全てのクライアントに利用可能な状態である。
【0186】
ストライピング
図11は、ファイルスイッチによるストライピングを通じた交換ファイルシステムにおけるデータ統合を示す。この例において、ファイルスイッチ(図示せず)は、好ましくは全てが異なるファイルサーバ上にあるメンバーファイル1101、1102、1103、及び、1104を、クライアントに呈示される単一の統合ファイル1100に統合する。この場合のメンバーファイル1101〜1104は、スイッチが連続した統合ファイル1100として呈示する異なった重なり合わないストライプを含む。
【0187】
クライアントがファイルオープントランザクションを開始した時、スイッチは、そのトランザクションを統合し(図8に示すように)、メンバーファイル1101〜1104を開く。クライアントがファイル読取トランザクションを開始した時、スイッチは、以下の段階を実行することにより、このトランザクションを統合する。最初は、ストライプサイズと、要求された開始オフセット及び要求されたトランザクションサイズとに基づいて、どのメンバーサーバがトランザクションに関与することになるか、また、どの開始オフセットでどれだけのデータをメンバーファイルの各々が読み取るべきかを判断する段階である。次に、スイッチは、メンバートランザクションを選択されたサーバに発行し、そのデータが正しい再構成された順序でクライアントに到着することを保証することによりその結果を統合する。クライアントは、応答用の統合ヘッダと、それに続いて要求した全てのデータとを正しい順序で受信する。
【0188】
当業者は、データが読取トランザクションの場合のように組み立てる代わりに図5に示すように配分される点を除き、この場合の書込トランザクションが、上述の読取トランザクションと類似の方法で実行されることを認識するであろう。
【0189】
最後に、クライアントがクローズトランザクションを開始した時、スイッチは、オープントランザクションと類似の方法でそのトランザクションを統合し、全てのメンバーファイルを閉じる。
【0190】
ストライピングによるデータ統合の場合には、読取トランザクション及び書込トランザクションの両方は、より少量のデータのための対応する読取及び書込トランザクションを複数のメンバーサーバに並行して提出することにより統合される。これは、ファイルスイッチが個々のクライアントの各々に供給することができる性能のそれぞれの増加、及び、複数のクライアントが同じファイルにアクセスする場合の優秀な負荷均衡化をもたらす。更に、複数の研究でこれまで示されているように、ストライピングは、ホットスポッティングの問題を解決する傾向がある。
【0191】
スピルオーバー
図12は、スピルオーバーを通じたデータ統合を示す。スピルオーバー機構は、好ましくは本明細書で説明する他の機構のうちの1つ又はそれ以上と共に、ストレージ容量を統合するのに使用されることが好ましい。スピルオーバーは、統合ファイルに対するメンバーサーバのうちの1つ又はそれ以上がファイルの開いている間に予想外にディスクスペースを使い切った場合に特に有益である。図は、好ましくは異なるファイルサーバにある2つのメンバーファイル1201及び1202を備えた統合ファイル1200を示す。図からわかるように、統合ファイル1200の区域1、2、3、及び、4は、メンバーファイル1201内にあり、残りの区域5及び6は、メンバーファイル1202内にある。
【0192】
スピルオーバーは、目標ファイルサーバがディスクスペースを使い切るか又は使い切ったことを、ファイルスイッチがデータをファイル内に書き込む処理において突然発見した時に発生する。このような場合に、書込トランザクションで失敗するのではなく、スイッチは、別のサーバ上で新しいメンバーファイルを開き、その中に書込みを継続することを選択することができる。2つのファイルのコンテンツは、共通の連続バイトアレーを呈示するために自明の方法で連結される。当業者は、スピルオーバー機構を第2のファイルにも同じく適用することができ、システム内の全てのディスク容量を必要な場合に完全に利用することができるように、任意に長いメンバーファイルのチェーンを作成することを認識するであろう。
【0193】
ファイルスイッチは、ファイルトランザクションをスピルオーバーファイルに以下のように切り替える。オープン及びクローズトランザクションについては、ファイルスイッチは、全てのメンバーファイルがそれぞれ開くか又は閉じるように、トランザクションをメンバーファイルがある(すなわち、ファイル1200のデータの任意の部分を含む)全てのサーバに切り替えることが好ましい。読取及び書込トランザクションについては、ファイルスイッチは、開始オフセット及び読取/書込が為されるペイロードの長さを見て、トランザクションを以下のように切り替える。
【0194】
(a)ペイロードが第1のメンバーファイル(例えば、ファイル1200からのセグメント1及び2)内に完全に適合する場合、ファイルスイッチは、トランザクションを第1のサーバに切り替える。
(b)ペイロードがスピルオーバー(第2及びそれ以降の)メンバーファイル(例えば、メンバーファイル1202の始めに記憶されたファイル1200からのセグメント5)のうちの1つの中に完全に適合する場合、ファイルスイッチは、トランザクションをそのメンバーファイルがあるサーバに切り替える。スイッチはまた、統合されたファイル内のメンバーファイルの開始オフセットをそのトランザクションの開始オフセットから差し引くことにより、トランザクションのパラメータを修正する。本発明の例においては、セグメント5は、ファイル1202のオフセット0にあり、従って、4つのセグメントが要求から差し引かれるべきであり、ファイル1202から第1のセグメントを読み取る要求をもたらす。
(c)ペイロードが複数のメンバーファイル(例えば、ファイル1200からのセグメント4及び5)に亘る場合、ファイルスイッチは、要求の一部分がある全てのサーバにトランザクションを複製し、各トランザクションの開始オフセット及び長さを修正する。応答を受信すると、ファイルスイッチは、データを正しい順序で再構成し(ストライピングに対して行われる方法と同様に)、それをクライアントに返送する。
【0195】
スピルオーバー機構が機能するために、ファイルスイッチは、好ましくは、メンバーファイル1201を開いた後に、(a)メンバーファイル1202が存在すること、(b)ファイル1202が存在する目標サーバ、及び、(c)このファイルに対するスピルオーバーチェーン内に他のいずれかのメンバーファイルがあるか否かを教えることができるべきである。これを達成する1つの方法は、メンバーファイルの各々と共に記憶された付加的なメタデータを使用することである。
【0196】
この手法を用いて、ファイルスイッチは、ファイル作成時に小さな固定サイズのデータブロックを全てのメンバーファイルの各々の始めに予約し、そのブロックをクライアントから見えないようにする。ファイルがスピルオーバーされる必要がある時に、このメタデータブロックを使用して、名前と次のメンバーファイルがあるサーバ、及び、スピルオーバーチェーン内のファイルの総数を記憶することができる。
【0197】
上述の機構が実施された場合、同じメタデータブロックを使用して、スイッチがメンバーをより都合よく見つけるように助けることになる情報を記憶することにより、ストライピング及びミラーリングされたメンバーファイルの組へのアクセスを最適化することができる。
【0198】
代替的に、内在的なメンバーファイルサーバがカスタムデータをファイルと結びつけるための他の機構(例えば、ストリーム又は拡張された属性)をサポートする場合、代わりにそれらの機構の1つを使用してメタデータブロックを記憶することができる。
【0199】
上述の説明に対しては、ファイルのメタデータは、所定のファイルのコンテンツがファイルサーバ上に記憶される方法に関する情報を含むデータ構造として形成することができる。例えば、このデータ構造は、スピルオーバーセグメントの数、各セグメントのサイズ、及び、各セグメントがあるファイルサーバの識別(名前など)を含むことができる。別の例として、データ構造はまた、ストライプの数、ストライプサイズ、及び、ミラーの数などのような、その所定のファイルを統合するために使用される統合パラメータを含むことができる。
【0200】
データ統合のまとめ
当業者は、本節で説明した機構を同じファイルに対して同時に有益に適用することができることを容易に認識するであろう。例えば、ミラーリング及びストライピングを組み合わせて、単一ファイルの性能及び利用可能性の両方を向上させることができ、更に、いくつかのファイルサーバがストレージスペースを使い切った場合に、スピルオーバーを同じファイルに追加することができる。更に、当業者は、他のデータ統合技術、例えば「RAID4」及び「RAID5」を本明細書で説明する機構に加えて又はその代わりにファイルスイッチに実装することができることを認識するであろう。
【0201】
ファイルサーバの故障
複数のファイルサーバに配分及び/又は複製されたファイルのコンテンツを保持する能力は、ファイルサーバの故障の場合に本発明がデータの高い利用可能性を提供することを可能にする。
【0202】
故障は、(a)ファイルスイッチが定期的にサーバに送るハートビートに応答しないファイルサーバ、(b)接続が落ちたファイルサーバ接続、又は、(c)ファイルサーバからファイルスイッチによって要求された作動が時間切れになることにより発見される。好ましくは、故障を発見したスイッチは、同じファイルサーバに接続された任意の他のスイッチに、特定のサーバがもはや利用可能ではなく、要求をそこに送るべきではないと通知することができる。
【0203】
ファイルサーバの組に記憶された全てのファイルが少なくとも1つのミラーコピーを有する限り、記憶されたファイルデータの損失はない。全てのファイルスイッチは、単にそのミラーコピーを使用してファイルの読取りを開始する。そのファイルサーバが回復するまでの性能の劣化及び冗長度の悪化の可能性と共に作動は継続される。Mを管理者により規則内で構成されたミラーコピーの数とすると、最大M−1までのファイルサーバは、ファイルデータの損失なく故障することができる。
【0204】
以前に故障したファイルサーバが作動可能状態まで回復してサーバの組に復帰した時、ファイルスイッチは、それに対してファイルシステム同期化を開始し、新しいサーバ上のファイルシステムが残りのサーバと完全に同期化された状態で、このファイルサーバは、通常の作動を再開する。
【0205】
この同期化は、コンプリート(新たに初期化されたファイルシステムから開始)、又は、インクリメンタル(以前の状態から開始、ファイル日付及びサイズに基づく)とすることができる。同期化は、ファイルシステムをクライアントに利用不可能な状態にすることなく実行され、同期化処理がファイルサーバ及びスイッチに掛ける負荷は、ネットワーク・ファイル・システムがクライアントに十分に利用可能な状態のままであるように、管理者が設定可能であるようにしてもよい。
【0206】
統合規則
本発明の1つ利点は、性能、ストレージ利用、及び、目標とするデータ利用可能性レベルの間の最適な均衡を達成するために、ファイルスイッチが、ストライピング、ミラーリング、及び、他のデータ統合技術の異なる組み合わせを使用する異なる方法で異なるファイルを統合することができるように、ファイル単位でファイルデータを統合する事実に由来する。
【0207】
「RAID」又はパラレルファイルシステムの場合のようなブロック装置に適用された時のストライピング、ミラーリング、及び、他のデータ統合技術の効果は、単一の解決策はファイル及びアクセスパターンの全ての種類に適合することができないという事実により、大幅に低下される可能性があることは公知である。その一例として、ストリーミングビデオは、ストリーミングデータが通常大きなセグメントで読み取られていることから、多数の装置に亘って非常に効果的にストライピングすることができる。スペクトルの反対側では、「HTML」ファイルは、一般的にわずかに数キロバイトの大きさであり、ストライピングに適した目標ではない。
【0208】
本発明は、ファイルの異なる形式及び/又は組に対し、異なるデータ統合パラメータを用いてファイルスイッチを設定する統合規則を利用する。
【0209】
図13は、データ統合規則の構文を示すものであり、このような規則の例を与えている。好ましい構文1300は、各ファイルの経路(統合されたネームスペースでの位置)及び形式(ファイル拡張子/サフィックスにより認識)に基づいて所定の組のファイルに対して選択された一組の統合パラメータ、つまり、ミラーの数、ストライプの数、及び、ストライプのサイズを規定する。
【0210】
規則1301は、ファイルシステムのどこかに位置する「MPEG」ファイルに関する一般的なパラメータを示す。この規則は、任意のファイル経路と、ファイル名の拡張子が「MPEG」であるファイルのみに対して選択され、2でミラーリング、32でストライピング、及び、16KBのストライプサイズを規定する。この規則を用いて、いかなる「MPEG」ファイルも一度ミラーリング処理され(データの2つのコピーがシステムで存在することになる)、32個のファイルサーバに亘って16キロバイトのファイルストライプでストライピングされることになる。
【0211】
規則1302は、ファイルシステムのどこかに位置する「HTML」ファイルに関する一般的なパラメータを示す。この規則は、任意のファイル経路と、ファイル名の拡張子が「HTML」であるファイルのみに対して選択され、64でミラーリングを規定し、ストライピングはない。この規則を用いて、いかなる「HTML」ファイルも64個のファイルサーバ上でミラーリング処理されることになり、これにより、多数のクライアントにより同時に読み取られた時に負荷平衡が可能となる(これは、「HTTP」サーバ上の「HTML」ファイルに対しては一般的なアクセスパターンである)。
【0212】
規則1303は、ファイルシステムのどこかに位置する「マイクロソフトワード」ファイルに関する一般的なパラメータを示す。この規則は、任意のファイルと、ファイル名の拡張子が「DOC」であるファイルのみに対して選択され、3でミラーリング、8でストライピング、及び、8KBのストライプサイズを規定する。この規則を用いて、いかなる文書ファイルも2度ミラーリング処理され(利用可能性の向上を目指してデータの3つのコピーがシステム内で存在することになる)、8個のファイルサーバに亘って8キロバイトのファイルストライプでストライピングされることになる。大半のこのような文書は、一般的に32KBから100KBまでのファイルサイズを有することから、この規則により、個々のクライアントの各々について中庸な(例えば、4X)性能向上が得られ、各ファイルが合計24個のファイルサーバに亘って分散されていることから、過剰なストレージスペースを浪費することなく、ホットスポッティングの確率が大幅に低減される。
【0213】
規則1304は、各々のサイズは小さいが貴重な知的財産権を含むソフトウエアソースコードファイルに関する目標とする統合パラメータの組を示す。この規則は、統合されたネームスペースの「\CODEBASE」サブツリー内の任意のファイルに適用され、4でミラーリングを規定し、ストライピングはない。これにより、何百ものファイルがバッチ処理で読み取られている場合の使用パターンであるプログラム編集及び構築中の中庸な性能向上(例えば、4X)が得られ、また、サーバ故障によるデータ損失に対する優れた保護を提供する。
【0214】
最後に、規則1305は、「\CODEBASE」サブツリー内でのストレージスペースの使用を最適化する規則1304の変形例である。この規則は、ソースコードディレクトリが、編集処理の副産物であり失われた場合には簡単に再構成することができる中間オブジェクトコードファイル(「OBJ」のファイル拡張子を伴う)を含むことが多いという事実を認識する。この規則は、規則1304の例外、つまり、ファイル名の拡張子「OBJ」を有する「\CODEBASE」サブツリー内のいかなるファイルもミラーリング及びストライピングされないということを規定する。規則1304及び1305は、共に使用された時には、ソフトウエアエンジニアリング部門に対して最適なストレージ特性を容易にもたらすことができる。
【0215】
この節では、ファイルスイッチの目標とする挙動、すなわち、複数の独立したファイルサーバを単一の高度に拡張可能な交換ファイルシステムに統合する能力を達成するのに使用される本発明の様々な機構、アルゴリズム、及び、他の要素を説明した。
【0216】
以上の説明の多くでは例としてファイルオープン及びファイル書込トランザクション要求が使用されたが、当業者は、これらの説明内容が、本発明の精神から逸脱することなく、他のネットワークファイルプロトコルトランザクションに応用されて簡単に適応させることができることを容易に認識するであろう。
【0217】
例えば、ファイル書込トランザクションについて説明したトランザクション統合手法は、ファイル読取トランザクションについては、トランザクション応答メッセージが通常は多重フレームを含むと同時に、要求メッセージが通常は単一のフレームであることを認識しながら、ファイル読取トランザクションに簡単に適応させることができる。ファイルサーバは、読取トランザクションをどのファイルサーバに切り替える必要があるかを判断し、次に、要求をそれらのサーバ(各々について修正されたヘッダを含む)に送ることにより要求を処理することが好ましい。ファイルスイッチは、まずトランザクションの切替先であるファイルサーバの各々から受信した第1フレームにある応答ヘッダを解釈することにより、各々のファイルサーバからの応答を処理することが好ましい。次に、ファイルスイッチは、統合された応答ヘッダを作成し、好ましくはデータの一部分を付してクライアントに返送する。ファイルスイッチがファイルサーバから更に多くのデータフレームを受信すると、更に別のデータフレームがファイルスイッチによりクライアントに送られ、ファイルスイッチは、それがクライアントに送るデータの正しい順番を保証する。また、ファイルスイッチはファイルプロトコル・トランザクションの大半を切り替えるが、ファイルスイッチが単独で全てを処理するクライアントが開始したトランザクションがあってもよいことを認識することが重要である。例えば、このようなトランザクションは、「CIFS SMB-ECHO」及び「SMB-NEGOTIATE-PROTCOL」トランザクションを含むことができ、これらは、ファイルサーバとの即時の対話を必要としないことがある。更に、ファイルスイッチは、独自のトランザクション(必ずしもクライアント要求のトランザクションに応答したものとは限らない)を生成してファイルサーバに提出してもよく、このようなトランザクションは、「CIFS SMB-ECHO」要求やその他を含んでもよい。更に、ファイルスイッチは、ファイル作業(読取/書込など)を、それらに対するクライアント要求を有することなく実行するために、ファイルプロトコル・トランザクションをファイルサーバと共に開始してもよく、1つのこのような例は、ファイルスイッチがファイルを記憶するファイルサーバの数が変わった時にファイルを移動させる(すなわち、読み取って新しい位置に書き込む)ことであろう。
【0218】
ファイルスイッチの統合法
更に多くのクライアントが同じファイルスイッチに接続されてネットワークファイルサービスを要求すると、単一のファイルスイッチが障害となってファイルサーバへのアクセスが制限される可能性がある。本発明の1つの特に貴重な態様は、ファイルサーバにアクセスするのに利用可能な統合帯域幅を上げるためにファイルスイッチを統合する能力である。
図14は、更に別のファイルスイッチ1400及び1401が追加されてファイルスイッチ100と統合されるネットワークアプリケーションを示す。ファイルスイッチ100、1400、及び、1401は、層2スイッチ1402を使用して個別の「アップリンク」ネットワークポートを通じて互いに接続され、複数の入力及び出力ポートを有する統合されたスイッチ1403が形成されることが好ましい。代替的に、スイッチ100、1400、及び、1401は、フロント側接続109、1404、及び、1405を通じて、又は、サーバ側接続114を通じて互いに通信することができる。ファイルスイッチの各々は、サーバ101〜107の各々に接続されており、これらの接続は、層2スイッチ(図示せず)を通じて容易に為されることが好ましい。
【0219】
統合されたファイルスイッチ1403は、ファイルサーバ100〜107と共に仮想ファイルサーバ108を形成する。クライアントワークステーション112及びクライアントアプリケーションサーバ113は、ネットワーク111及び接続109、1404、及び、1405のうちの1つ又はそれ以上を通じて仮想ファイルサーバ108に接続されている。クライアント112及びアプリケーションサーバ113の立場からは、仮想ファイルサーバ108は、接続109、1404、及び、1405を通じてアクセス可能な複数のネットワークポートを有する。当業者は、他のファイルスイッチ統合構成が可能であり、これには、以下に限定されるものではないが、異なる個数のファイルスイッチ、ファイルサーバ、及び、ファイルクライアントを伴う構成が含まれることを認識するであろう。
【0220】
全てのファイルスイッチ100、1400、及び、1401は、同じファイルをクライアントに呈示する。クライアント112は、ファイルスイッチのいずれにも接続することができ、同じファイルにアクセスすることができることになる。ファイルスイッチがファイルサーバ101〜107にはクライアントとして見えることから、ファイルサーバが直接に接続されたクライアントに提供する同期化機構は、複数のスイッチ間のアクセスを同期化するように確かに機能する。
【0221】
グループ1403の全てのスイッチは、同じ組のファイルサーバに接続されている。各々のファイルサーバの立場からは、各々のファイルスイッチは、ネットワークファイルプロトコルファイルの共用及びロック規則を十分に準拠する別のクライアントである。その結果、切り替えられているファイルトランザクションに対しては、ファイルスイッチ間でいかなる対話又は同期化も行われる必要はない。
【0222】
同期化は、スイッチのクライアントにより要求されたネットワークファイル・トランザクションを扱う処理において直接的にスイッチ間の対話を必要とせずに、スイッチの各々とサーバの各々との間で行われる。これにより、制限されない数のスイッチが、クラスターファイルシステムで観察されたものと類似の障害を引き起こすことなく、ファイルサーバの組を共用することができる。当業者は、共用、ロック、及び、便宜的ロックなどの機構は、この3層アーキテクチャにおいても引き続き機能することを認識するであろう。
【0223】
設定の共用
複数のスイッチが同じ組のファイルサーバ及びそれらのサーバにより呈示された同じ組のファイルシステムにアクセスした時に使用されることが好ましい1つの機構は、設定の共用である。データの完全性及び適正な作動を保証するために、統合されたスイッチ1403内の全てのスイッチ100、1400、及び、1401は、それらの設定の同期化を維持し、それらは、全て、同じ統合規則を使用して同じ順序にある同じ組のファイルサーバを知っており、同じ方法でファイルシステム統合を行う。ファイルスイッチは、起動時、及び/又は、設定が変わった時に限り、そのような設定情報を交換する。この作業はクライアント要求トランザクションの実行の過程で行われないので、それは障害とはならない。
【0224】
統合されたスイッチ1403においてこのような共用を準備する1つの方法は、この例においては、グループコントローラとしてのスイッチ1401である。システム管理者により行われたものなどの設定の変更は、グループコントローラスイッチ1401上に限って行われることが好ましく、グループコントローラは、設定を残りのスイッチ100及び1400に配分する。スイッチ100及び1401は、更に、定期的又は起動された時に、設定情報をグループコントローラ1401に要求することができる。当業者は、設定をグループ内の全てのスイッチ間で共用する数多くの他の方法が可能であることを容易に認識するであろう。
【0225】
負荷平衡
本発明により提供される別の有利な機構は、負荷平衡である。統合されたファイルスイッチ内の全てのファイルスイッチは、同じ組のファイルへのアクセスを提供することから、任意のクライアントをスイッチのいずれかに接続することができる。これにより、全てのクライアントが同じスイッチに接続されないように、クライアントをスイッチ間で配分することができる。これは、各々のクライアントが特定のファイルスイッチを使用するように手作業で構成することにより、又は、各々のクライアントが統合されたファイルスイッチ1403に接続しようとした時に自動的にクライアントを配分することにより達成することができる。
【0226】
どの特定のスイッチが所定のクライアントに使用されることになるかの選択は、クライアントがスイッチに接続した時に発生する。この関連は、クライアント接続の持続時間中には変わらないことが好ましい。
【0227】
負荷配分は、好ましくは、名前(クライアントに対するサーバ名として設定)と特定ファイルスイッチの「IP」アドレスとの間でマッピングを行う「DNS」又は「WINS」などのネーム解決サービスを通じて行われることが好ましい。
【0228】
1つの可能な機構は、グループ1403に個別の「DNS」サブドメイン(例えば、「zxl.zforce.com」)を割り当てることである。ファイルスイッチ1401は、グループコントローラとして構成されるが、そのサブドメインの「DNS」サーバとしても機能する。サブドメインは、「admin.zxl.z−force.com」と「zxl.z−force.com」という2つのホスト名を含むことが好ましい。「admin.zxl.z−force.com」という名は管理に使用され、ホスト名「zxl.z−force.com」は、ファイル供給に使用される(すなわち、これは、クライアントの接続先の名である)。グループコントローラは、常に、「admin.zxl.z−force.com」ホストをそれ自体に決定する。グループコントローラは、異なるクライアントが最終的に異なるスイッチ上にあるように、尋ねられるたびに「zxl.z−force.com」ホスト名をそのグループの異なるスイッチに決定する。この配分は、無作為でも又は総当り式であってもよく、また、現在の接続ユーザ数及び/又は各スイッチの最近の負荷(ファイルスイッチは、自らの負荷率を定期的にグループコントローラ1401に報告することができるので)に基づくものとすることができる。スイッチの各々はまた、サブドメイン内に独自の名(例えば、「switch3.zxl.z−force.com」)を有してもよい。
【0229】
負荷平衡の別の機構は、各々のファイルスイッチが異なるサーバ名及び「IP」アドレスを有することである。システム管理者は、異なるグループのクライアントを構成し、異なるファイルスイッチに接続するか(例えば、会社構造に基づいて)、又は、第三者ロードバランサー又は「RRDNS」などの総当り式「DNS」を使用することができる。
【0230】
同じグループに属するファイルスイッチにより使用することができる更に別の機構は、同じサーバ名(例えば、「CIFS」サーバ名)を有するスイッチを構成し、その名を個々のホスト名ではなくグループ名として登録させることである。クライアントがその名への接続を確立しようとした時、応答することができるファイルスイッチがクライアント接続を得ることになる。一般的に、これは最小負荷のスイッチであるから、この機構も負荷平衡に使用することができる。
【0231】
当業者は、負荷平衡を達成するために他の機構を使用することができることを認識するであろう。また、当業者は、負荷平衡が行われたフロントエンドをファイルスイッチのバックエンド上の独立した接続と組み合わせると、単にファイルスイッチをグループ1403に追加することにより、ネットワーク・ファイル・システムの帯域幅の実際的に無制限の拡張が可能になることを認識するであろう。また、このような場合、ファイルスイッチの接続先であるファイルサーバの数を必要に応じて増加し、目標とする総合的な性能を達成することができる。
【0232】
フェイルオーバー
本発明により提供される別の機能は、グループ1403に参加するファイルスイッチ間のフェイルオーバーである。
【0233】
グループコントローラ1403は、ハートビート信号を各々に定期的に送ることによりグループ内の全てのファイルスイッチをモニタする。スイッチが所定数の時間切れ再試行の後でも応答しない場合、グループコントローラは、スイッチに故障が発生したと考える。次に、グループコントローラは、故障の発生したスイッチと対話していたクライアントが故障の発生したスイッチの代わりに稼動中のスイッチに到達できることになるように、故障が発生したスイッチの「IP」アドレスをグループ内の別のスイッチに割り当てることが好ましい。
【0234】
このフェイルオーバー機構では、スイッチ故障の場合には、クライアントと故障の発生したスイッチとの間の全ての接続は、あらゆる未処理トランザクションが失われるのと同様に失われることになる。しかし、クライアントは、この状態を示す適切な表示を受信することになる(通常、未処理コマンドの時間切れ、及び/又は、データ送信試行時の「TCP」接続リセット)。システムを作動する大半のクライアントは、最小のユーザ介入か、又は、ユーザ介入なしで新しく割り当てられたスイッチに再接続されることになる。
【0235】
上述の負荷平衡の節で説明した方法により、グループコントローラが負荷平衡を行う統合されたスイッチについては、故障の発生したスイッチのクライアントは、異なるスイッチに再接続され、そのグループの負荷は均一に維持される。外部の負荷平衡方法が使用された時は、全てのクライアントは、グループコントローラが故障の発生したスイッチの「IP」アドレス(及び、ホスト名)を引き受けるように選択するスイッチに再接続されることになる。
【0236】
スイッチがグループに復帰した時、それは、新しい「IP」アドレスに割り当てられることが好ましい(現在の接続は、引き継いだスイッチ上の古い「IP」アドレスに対して存在する場合があるため)。グループコントローラは、グループの平衡が得られるまで新しいクライアント接続をそのスイッチに方向付けする。更に、グループコントローラは、グループ内の他のスイッチが非活性なクライアント接続(もしあれば)のいくつかを落とすように要求することができ、それによってそれらのユーザが活性になった時にはいつでも新たに回復したスイッチに再接続することができる。
【0237】
グループコントローラのスイッチに故障が発生する場合に、別のスイッチがバックアップ・グループ・コントローラとして予め指定される(又は、そのように選択される)場合があり、それがこの状態を検出してグループコントローラの役割を引き継ぐことになる。バックアップ・グループ・コントローラは、次に、グループ内の他の全てのスイッチに通知することが好ましく、それによってそれらがバックアップ・グループ・コントローラからのグループ管理機能の要求を開始することができる。また、バックアップ・グループ・コントローラは、グループ内の別のスイッチに(もし存在すれば)、バックアップ・グループ・コントローラの役割を割り当てることができる。グループコントローラの役割は、元のスイッチが作動回復すると元のスイッチに戻される。
【0238】
別の可能な故障は、ケーブル又は1402などの層2スイッチの故障である。このような故障を処理するために、交換ファイルシステム内のネットワークインフラストラクチャ、すなわち、層2(L2)スイッチ及びケーブル配線には、「IP」ネットワーク用の標準的なメッシュ方法を使用して冗長性を持たせることができる。ファイルスイッチは、完全に冗長な配線構成を可能にするために予備ポートを有することが好ましい。
【0239】
L2スイッチ又はファイルサーバまでのケーブルの故障は、接続が冗長でない場合は、そのファイルサーバの故障と同等のものであるが、それ以外の場合は無視することができる(設定によって管理上の警告を送る場合を除く)。クライアント(LAN側)までのL2スイッチ又はケーブルの故障は、クライアントがファイルスイッチに到達することができないためにファイルスイッチの故障と類似のものである。L2スイッチ1402又はファイルスイッチ間のアップリンク上のケーブルの故障は、スイッチ間の通信をフロント又はバック側ポートを通じて得ることができる限りは故障と見なされない。
当業者は、帯域幅統合、負荷平衡、及び、フェイルオーバーの組み合わせにより、高性能な高利用可能性ネットワーク・ファイル・システムが可能になることを認識するであろう。
【0240】
ファイル・スイッチ・アーキテクチャ
図20は、ファイルスイッチの好ましいアーキテクチャを示す。ファイルスイッチ2000のアーキテクチャは、3つの平面、つまり、データ平面2001、制御平面2002、及び、アプリケーション及びサービス平面2003に分割されることが好ましい。
データ平面2001は、フロント側ネットワークインタフェース2002、バック側ネットワークインタフェース2003、フロント側「TCP/IP」プロトコルスタック2004、バック側「TCP/IP」プロトコルスタック2005、及び、高速経路ハンドラー2006を含む。制御平面2002は、ネットワーク・プロトコル・サーバ側ハンドラー2007、ネットワークプロトコルクライアント側ハンドラー2008、及び、ファイルシステムアグリゲータ2009を含む。アプリケーション及びサービス平面2003は、高度なサービス(いくつか挙げると、使用法追跡及び適応ストレージ管理など)に関する様々なハンドラー2010を含む。
【0241】
クライアントコンピュータから来るファイルプロトコル・トランザクションの要求は、ネットワークインタフェース2002上に受信される。「TCP」スタック2004は、「TCP/IP」プロトコルを処理し、クライアンとの確実な接続及び適正なデータの順番を保証する。この要求は、高速経路トランザクション(読取及び書込など)として指定することができるネットワークファイルプロトコルトランザクションに対してトランザクション切り替えを行う高速経路ハンドラー2006により更に処理することができる。代替的に、低速経路トランザクション(ファイル削除など)として指定することができるトランザクションについては、この要求は、ネットワークファイルプロトコルのサーバ側を処理して要求をファイルシステムアグリゲータ2009に転送するサーバ側ハンドラー2007により更に処理することができる。
【0242】
高速経路トランザクションは、高速経路ハンドラー2006により切り替えられ、高速経路ハンドラー2006は、更に、バック側「TCP」プロトコルスタック2005を通じてトランザクションメッセージを送る。バック側「TCP」プロトコルスタック2005により、サーバは、サーバを目的地とした任意のメッセージの全ての部分を適切な順序で、かつデータの損失及び複写なく確実に受信する。バック側「TCP」プロトコルスタック2005は、バック側ネットワークインタフェース2003を通じてフレームをファイルサーバに送信する。高速経路ハンドラー2006は、切り替えられているネットワークファイルプロトコルの一部分を理解して実行する必要があるであろう。高速経路ハンドラー2006は、完全なトランザクションメッセージが到着するのを待つことなく、直ちに「TCP」スタックのいずれかから受信した各々のフレームを処理することが好ましい。
【0243】
低速経路トランザクションのネットワークプロトコル要求は、サーバ側ハンドラー2007により復号化され、サーバ側ハンドラー2007は、ネットワークファイルプロトコルのサーバ側を実行する(すなわち、通常「CIFS」、「NFS」、又は、類似のサーバに送られる要求を理解する)ことが好ましい。要求は、更に、ファイルシステムアグリゲータ2009により処理され、ファイルシステムアグリゲータ2009は、トランザクション切替及び統合を行う。次に、ファイルシステムアグリゲータ2009は、クライアント側ハンドラー2008を使用して要求をファイルサーバに送り、クライアント側ハンドラー2008は、ネットワークファイルプロトコルのクライアント側を実行する(すなわち、一般的にネットワーク・プロトコル・クライアントにより出されたネットワークファイルプロトコル要求を出す)。低速経路トランザクションを処理するこの方法の利点の1つは、ファイルシステムアグリゲータを、切り替えられている特定のネットワークファイルプロトコル(及び、その特定のバージョン)からほとんど独立したものとすることができ、詳細の大半は、サーバ側ハンドラー2007及びクライアント側ハンドラー2008により処理することができるということである。
【0244】
サーバからのネットワークプロトコル応答は、上述の順番の逆の順番で処理される。
管理、スイッチ間の設定の同期化、データ移送、及び、その他などの高度な機能は、アプリケーション及びサービス平面2003における別のハンドラー2010として実施されることが好ましい。
【0245】
当業者は、このアーキテクチャの様々な変形例が、本発明の精神から逸脱することなく、本発明のファイルスイッチに対して良好に機能することができることを容易に認識するであろう。例えば、より多くのネットワークインタフェース2002及び2003を追加することができ、また、2つのネットワークインタフェースは、クライアントトラヒック及びサーバトラヒックを「TCP」プロトコルスタックにより分離することができる単一のネットワークインタフェースと置き換えることができる。「TCP」プロトコルスタック2004及び2005は、互いに融合させることができる(多くの従来のコンピュータアーキテクチャでは、複数のネットワークアダプタを処理する単一「TCP/IP」プロトコルスタックがある)。
【0246】
更に、複数のネットワークファイルプロトコル又はその異なるバージョンを処理するために、複数のサーバ側ハンドラー2007を追加することができる。同様に、ファイルサーバとの対話時に複数のネットワークプロトコル又はその複数のバージョンを処理するために、複数のクライアント側ハンドラー2008を追加することができる。
【0247】
「DHCP」、「DNS」、負荷平衡、コマンドライン管理及び/又はウェブベースの管理、及び、「SNMP」などの様々な他のサービスを上述のアーキテクチャに追加することができる。
【0248】
上述のアーキテクチャの実施は、多くの可能な方法で準備することができる。例えば、ネットワークインタフェースは、ハードウエアにおいて実施することができ、残りのデータ平面及び2つの残りの平面は、ソフトウエアにおいて完全に実施される。代替的に、データ平面は、ハードウエアにおいて実施することができ(例えば、「フィールドプログラマブル・ゲートアレー」、「アプリケーション特異集積回路、スイッチ・ファブリック、及び、ネットワークプロセッサなどを使用して)、制御平面及びアプリケーション平面は、ソフトウエアにおいて実施することができる。それに加えて、制御平面は、更に、ハードウエアにおいて実施又は加速することができる。更に、残りの平面の機能性(セットアップ、初期化、及び、他の低速機能など)をソフトウエアにおいて維持しながら、加速された機能をハードウエアにおいて提供することにより、特定の平面(例えば、データ平面又は制御平面)の一部分を実施することは有利であろう。
【0249】
図21は、ファイルスイッチを実施するための第1の可能なハードウエアアーキテクチャを示す。この例においては、ファイルスイッチの実施は、汎用コンピュータハードウエアに基づいている。ファイルスイッチ2100は、プロセッサ2101、メモリ2102、周辺相互接続バス2104、及び、1つ又はそれ以上のネットワーク・インタフェース・カード2103を含むことが好ましい。
【0250】
図22は、ファイルスイッチを実施するための別の可能なハードウエアアーキテクチャを示す。この例においては、ファイルスイッチの実施は、ネットワークスイッチに一般的なハードウエアアーキテクチャに基づいている。スイッチ2200は、プロセッサ2201、メモリ2202、スイッチ・ファブリック2203、複数のフロント側ネットワークインタフェース2204、及び、複数のバック側ネットワークインタフェース2205を含むことが好ましい。
【0251】
当業者は、ファイルスイッチを実施するための様々な他のアーキテクチャが可能であることを容易に認識するであろう。更に、ファイルスイッチを実施する際に行われる特定の選択の大部分(上述のものなど)は、好ましくは、ファイルスイッチの性能及びコスト目標によって推進されるが、全ての様々な実施は本発明の精神の範囲に含まれる。
【0252】
交換ファイルシステム
本発明の別の態様は、交換ファイルシステムである。交換ファイルシステムは、単に、1つ又はそれ以上のファイルスイッチ及び1つ又はそれ以上のファイルサーバを含むネットワークと定義することができる。
【0253】
交換ファイルシステムは、ファイルをディスクストレージを共用するための方法として露出するので、ファイルシステムである。また、交換ファイルシステムは、ネットワークファイルプロトコルを通じてネットワーク・ファイル・システムサービスを行う、つまり、ファイルスイッチがネットワーク・ファイル・サーバとして機能し、かつファイルスイッチのグループが単一ファイルサーバとして見えるので、ネットワーク・ファイル・システムである。
【0254】
交換ファイルシステムは、複数のファイルサーバのネームスペースを統合するので分散ファイルシステムである。また、単一ネットワークファイルクライアントの要求を満足させるために複数のファイルサーバを並行に利用することができるので並行ファイルシステムである。
従って、交換ファイルシステムは、新しい形式の分散並行ネットワークファイルシステムである。
【0255】
図15は、その多くの構成及びアプリケーションを含む交換ファイルシステムを示す。この例示的な交換ファイルシステムは、以下の要素、つまり、ファイルサーバの2つのアレー(「NAS」アレーともいう)1510及び1511に接続され、また、ネームスペースだけにより統合する(ファイル統合を行わない)一般的にアーカイブ及び他のプレファイルスイッチコンテンツを含むレガシーファイルサーバ1513に接続された、グループ1509に統合されたファイルスイッチ1508から成る。また、ファイルスイッチグループ1509は、「NAS」アレー1515に接続され、また、層2スイッチ1512を通じてグループ1509に接続されたファイルスイッチグループによりもたらされた別の交換ファイルシステムのネームスペースを統合する。
【0256】
グループ1509のサービスは、クライアント1506、管理ワークステーション1507、及び、大都市圏ネットワーク1504への接続から成るネットワーク1505に提供される。大都市圏ネットワーク1504は、遠隔LAN1500及びそのクライアント1501に対してグループ1509により利用可能にされるファイルサービスをもたらす。これらのサービスへのアクセスを向上させるために、遠隔LAN1500はまた、グループ1509のゲートウェイとして機能して「NAS」アレー1503に対してローカルにファイルをキャッシュするファイルスイッチ1502を含む。
【0257】
トポロジー
交換ファイルシステムは、ファイルシステム統合の多くの組合せを提供し、異なるトポロジーをサポートする。
【0258】
利用可能なトポロジーの1つは、仮想化である。仮想化においては、交換ファイルシステムは、他のサーバ上のファイルを更に統合することなく単一ファイルサーバ1513により露出されたネームスペースを統合する。これに関して利用可能な機構の1つは、本明細書で説明するネームスペース統合技術である。仮想化は、既存のファイルサーバを交換ファイルシステムのクライアントに利用可能にし、論理ネームスペースに含めることを可能にする。これは、交換ファイルシステム(SFS)の導入を容易にし、導入に向けた漸進的な手法を提供する。
【0259】
別の利用可能なトポロジーは、「NAS」アレーである。交換ファイルシステムは、「NAS」アレーとして指定された、好ましくは同様の容量及び性能特性を有する一組のファイルサーバ1510を有することができる。「SFS」に参加するファイルスイッチは、上述のディレクトリ、ファイルオブジェクト、及び、データ統合機構を使用して、ファイルを「NAS」アレー内のファイルサーバに亘って配分する。「NAS」アレーにより、高性能及び高利用可能性が得られる。複数の「NAS」アレーを同じ「SFS」において構成することができ、そのネームスペースは、仮想化されたファイルサーバと共に統合されて統一ネームスペースを呈示することができる。
【0260】
更に別の利用可能なトポロジーは、カスケードである。カスケード処理された構成においては、1つ又はそれ以上の交換ファイルシステムを別の交換ファイルシステム内で接続することができ、実質的にこの他の交換ファイルシステムにおけるファイルサーバの役割を果たす。この例において、ファイルスイッチ1514及び「NAS」アレー1515は、小規模交換ファイルシステムを備え、この交換ファイルシステムは、グループ1509により呈示された交換ファイルシステムのネームスペースにおいて統合される。ファイルスイッチ1514は、ファイルスイッチ1509に対してはファイルサーバとして見えることから、後者は、仮想化されたサーバ1513と同じ方法で、前者により提供されたネームスペースを統合することができる。当業者は、スイッチ1514及び「NAS」アレー1515を備えた交換ファイルシステムの複数のインスタンスが存在してもよく、グループ1509内のスイッチがデータ統合やディレクトリ統合などを含め通常のファイルサーバを統合することができる任意の及び全ての方法で、グループ1509内のスイッチにより統合されてもよいことを容易に認識するであろう。
【0261】
1つの他のトポロジーは、ゲートウェイである。好ましくは独自の「NAS」アレー1503を有するファイルスイッチ1502は、スイッチにローカルに接続されたクライアントへのゲートウェイとして機能し、また、グループ1509により利用可能にされたファイルサービスへのアクセスを提供する。このトポロジーの利点は、「MAN」1504などの1509と1502との間の接続が、ローカルネットワーク1500及び1505よりも低い帯域幅を有することができるということである。ゲートウェイというトポロジーにより、通常はグループ1509により露出されたファイルシステム上にあるゲートウェイスイッチ1502は、「NAS」アレーファイル上でローカルにキャッシュすることができる。スイッチ1502は、1509に対して単に別のクライアントとして見えることから、スイッチ1502がキャッシュを提供するのに、全てのロック、オプロック、及び、他のクライアントセマンティクスを利用することができる。
【0262】
例えば、クライアント1501がファイルオープントランザクションをファイルスイッチ1502に要求した時、ファイルスイッチ1502は、トランザクションをグループ1509内のファイルスイッチ1508の1つに転送する。トランザクションが問題なく完了した場合、スイッチ1502は、要求されたファイルの排他的ロック又は便宜的ロックを取得してファイルをローカル「NAS」アレー1503にコピーすることができる。たとえクライアント1501がファイルを閉じたとしても、スイッチ1502は、ロックを維持するためにファイルを依然としてグループ1509上で開いた状態に保つことができる。クライアント1501(又は、1500「LAN」上の別のクライアント)が同じファイルに対してオープンを要求した場合、スイッチ1502は、グループ1509と対話することなく(また、より低速のネットワーク1504を通じたいかなる通信もなく)、その要求を満足させることができる。1502がキャッシュされたファイルを維持する限り、更に別のいかなる読取及び書込要求も、より低速のネットワーク1504及びグループ1509にアクセスすることなく「NAS」アレー上でローカルに満足させることができる。
【0263】
クライアント1506が次に同じファイルに対してオープンを要求した場合、グループ1509は、スイッチ1502により維持されている便宜的ロックを破壊しようと試みることができ、このような場合、スイッチ1502は、1509に全てのキャッシュ済みの変更内容を再度書込み、ローカルにファイルをキャッシュするのを停止することになる。当業者は、ファイルシステム及びファイルデータへの最適なアクセスを提供する一方で、キャッシュのコヒーレンシーを維持する他の機構も可能であることを認識するであろう。ゲートウェイトポロジーは、「ストレージ・サービス・プロバイダ(SSP)」会社により提供されるストレージユーティリティのような遠隔ストレージへのアクセスを可能にし、相互接続への帯域幅要件を低減する一方で、高性能データアクセスを維持する。このトポロジーはまた、ローカルキャッシュを伴う地球規模の分散ファイルシステムを可能にする。
【0264】
クライアントから見た交換ファイルシステム
1506などのネットワーク・プロトコル・クライアントの立場からは、交換ファイルシステムは、複数のネットワークインタフェースを伴う単一ファイルサーバとして見える。図16は、交換ファイルシステムと単一ファイルサーバとの間の類似性を示す。ネットワーククライアントは、インタフェース1603を通じて単一ファイルサーバ1601に接続されるように、インタフェース1602を通じて交換ファイルシステム1600に接続される。
【0265】
交換ファイルシステムは、単一のネームスペースを提供することが好ましい。これによって、ネットワーク・プロトコル・クライアントは、「CIFS」及び「NFS」プロトコルなどのファイルサーバにアクセスするための広く標準化されたネットワークファイルプロトコルを使用する標準的なクライアント・ソフトウエアを用いることができる。標準的なファイル・クライアント・ソフトウエアの交換ファイルシステムにアクセスする能力は、導入を簡素化し、また、交換ファイルシステム機構及びトポロジーの変更を全てのクライアントに対してガラス張りの状態で実行することを可能にする。
【0266】
管理者から見た交換ファイルシステム
管理者から見た交換ファイルシステムは、ある程度まで、クライアントから見たものと類似である。大半の作動については、管理者は、まるで単一の高容量、高性能、かつ、利用可能性の高いファイルサーバ1601であるかのように交換ファイルシステム1600を見る。管理及び再構成という目的のためには、それは、単一のファイルサーバとして見えることが好ましい。ファイルスイッチは、単一の「CIFS」又は「NFS」ファイルサーバがするように、同じファイルサーバ管理プロトコル(「MSRAP」など)をサポートすることが好ましい。交換ファイルシステムは、それらのクライアントに対して、統合されたネームスペースにおける共用/マウントポイントを露出するように構成することができる。
【0267】
管理者は、個々のファイルサーバ(仮想化トポロジーを使用して)と新しい「NAS」アレーとを追加し、同じく既存の「NAS」アレーに対して複数のファイルサーバを追加又は除去することができる。管理者が1つ又はそれ以上のファイルサーバを既存の「NAS」アレーに追加する場合、ファイルスイッチは、新たに追加されたサーバを発見し、好ましくは管理者の要求があり次第、新たに追加されたサーバを含め、全てのサーバに亘ってファイル及びデータを再配分することができ、従って、ファイルシステムの容量及び性能が拡張される。管理者が1つ又はそれ以上のファイルサーバを「NAS」アレーから除外したいと思った場合、ファイルスイッチが指定されたサーバを解放する(「NAS」アレーに残るファイルサーバにファイルを再配分することによって)ように要求することができる。その処理が完了すると、ファイルスイッチは、選択されたファイルサーバが解放され、データ損失なく除外することができることを管理者に通知する。
【0268】
交換ファイルシステムは、仕事を多くのファイルスイッチ及びファイルサーバ間で配分することによって高い有用性をもたらす。ファイルサーバ又はファイルスイッチに故障が発生しても、一般的にデータの損失又はアクセスの損失は引き起こされない。管理者は、故障の通知を受けることができ、故障の発生した構成要素を交換又は補修する。
交換ファイルシステムは、アクセスパターンを追跡し、統計学的情報を管理者に報告することができることが好ましい。この情報に基づいて、管理者は、「NAS」アレー及びファイルスイッチを追加又は再構成することにより、及び、ファイルスイッチに対する統合規則を変更することにより、交換ファイルシステムの性能及びストレージ容量使用を調整することができる。
【0269】
「SFS」における拡張
従来技術によるソリューションと異なり、交換ファイルシステムは、固有の制限なく複数の方向に独立して拡張する。
【0270】
「SFS」は、より多くのファイルサーバを「NAS」アレーに追加し、ファイルを全てのファイルサーバに亘って配分することにより容量及び性能を拡張する。それは、接続されたグループにより多くのファイルスイッチを追加することによりアクセス帯域幅を拡張して同じ組のファイルサーバにアクセスし、より広いアクセス経路(複数のネットワーク接続)をもたらす。
【0271】
「SFS」はまた、カスケードされたファイルスイッチ(又は、交換ファイルシステム)及びゲートウェイファイルスイッチを追加することにより、拡張して地理的に分布する。
【0272】
利用可能性に関する問題
交換ファイルシステムは、利用可能性の高いファイルサービスをネットワーククライアントに提供する。データ及びアクセス損失を伴わないファイルサーバ及びファイルスイッチの故障については、本明細書で既に説明している。
【0273】
高い利用可能性を得るための別の機構は、遠隔非同期ミラーリングである。ファイルスイッチ(又は、ファイルスイッチのグループ)はまた、ファイルトランザクションを受信して処理すると、ファイルシステムを修正する(ファイル作成、書込み、及び、削除などのような)トランザクションを待ち行列に入れ、非同期に遠隔位置に送ることができ、そこで、別の交換ファイルシステム又は通常のファイルサーバは、交換ファイルシステム(又は、その一部分)のミラーを維持することができる。トランザクションが非同期に遠隔サイトに送られるという事実により、ローカルクライアントは、遅延なく作業を継続することができ、一方、ファイルシステムは、壊滅的なネットワークサイト故障の場合のデータ損失を最小限に抑えるために遠隔コピーと同期化される。
【0274】
高度な能力
使用法追跡
ファイルスイッチは、ファイルクライアントとファイルサーバとの間の全てのプロトコルトランザクションを処理する。ファイルスイッチは、3層アーキテクチャの中間位置にあり、その結果、様々なファイル使用法情報を回収することができる状態にある。このような情報の例には、(a)ログイン及びログアウト回数、及び、ログイン時間、(b)アクセスしたファイル数、(c)読み取られたデータ量及び書き込まれたデータ量、(d)好ましくはトランザクション形式により内訳表示されたネットワークファイルプロトコル・トランザクション数、(e)所定のユーザによりアクセスされた区域又はサブツリー、及び、(f)所定のユーザ、ユーザのグループ、又は、全てのユーザから所定のファイル及びディレクトリへのアクセス回数が含まれる。
【0275】
ファイルスイッチは、この情報を回収し、それをネットワーク管理者、ユーザ、又は、何らかの形態の自動化コンピューティングシステムに対して利用可能にする。
【0276】
本発明の1つの態様は、1つ又はそれ以上のファイルスイッチが使用法情報を回収してこの情報を請求書作成システムに送るファイルサービス請求書作成システムである。情報の回収は、以下の段階を含むことが好ましい。
【0277】
1.グループ内のファイルスイッチの各々は、使用法情報を回収してグループコントローラとして機能するファイルスイッチに定期的に報告する。
2.グループコントローラは、定期的にこの情報を請求書作成アプリケーションに送る(自動的又は要求があり次第)。
3.請求書作成アプリケーションは、この情報の一部又は全てを用いて、明細書、及び、必要に応じて所定期間の請求書を作成する。明細書は、ファイルサービスにアクセスしたユーザ数、アクセスされたファイル数、実行された読取、書込、及び、他のトランザクション数、及び、読取及び/又は書込されたバイト数を提供することが好ましい。明細書はまた、行われた特定のファイルアクセス、アクセスが行われた時間、及び、転送されたデータ量を記載する電話料金請求書と類似の書式で作成することができる。
【0278】
本発明の別の態様は、ネットワーク・プロトコル・クライアントへの保証されたサービス品質、及び、異なるネットワーククライアント間の優先順位を提供するシステムである。本システムは、以下を備えることが好ましい。
【0279】
1.好ましくはファイルスイッチのメモリ内にある設定データ。設定データは、ユーザ、ユーザのグループ、ファイル及び/又はファイルのグループに適用されるネットワークアクセス限界値(トランザクション/秒、及び/又は、交換されるデータ量/秒)を指定する。設定データは、好ましくは、指定されたユーザのために作業を要求するネットワーククライアント間で適用されることになる優先順位を更に指定し、各ユーザ又はユーザのグループには、優先順位レベルが割り当てられることが好ましい。設定データは、ファイルスイッチのメモリ内にあってもよいし、又は、「活性ディレクトリ」又は「LDAP」などの外部サービスから取得してもよい。
2.ネットワークファイルプロトコル・トランザクションの処理中、ファイルスイッチは、優先順位の高いトランザクションが優先順位の低いトランザクションよりも前に実施される同じ機構を使用するなどにより、より高い優先順位レベルを有するユーザのためにトランザクションを要求するクライアントに優先順位を与える。
3.ファイルスイッチは、更に、各々のクライアントからのトランザクション/秒、及び、読取及び書込データ量/秒を測定する。クライアントが設定データにおいて指定された限界値(そのためにトランザクションが要求されるクライアント又はユーザに対する)を超えた場合、ファイルスイッチは、トランザクション及びデータ交換の割合が指定された限界値内に収まるようにトランザクションの実施を遅らせる。従って、接続されたクライアントの各々の限界値の合計がスイッチ(又は、スイッチのグループ)及びスイッチに接続されたファイルサーバの容量を超えないように設定データが適切に指定されている場合、各々のクライアントが保証された最小トランザクション又はデータ交換速度を確実に得るようにすることが可能である。
4.この機構の修正は、スイッチ及び/又はファイルサーバに掛かる負荷がシステムの制限値に近づいた場合に限り、ファイルスイッチが限界値を課すことを開始するためのものである。
5.更に別の修正は、ファイルシステムにログインすることができるユーザ数を制限するためである。ログインしたユーザの各々について設定された限界値の合計がファイルシステム(ファイルスイッチ及びファイルサーバ)の容量を超えた場合、新しいユーザは、接続/ログインが拒否されることになる。
【0280】
当業者は、使用法追跡情報の他の有利な用途があり、それが本明細書で説明するものから容易に得られることを認識するであろう。
【0281】
適応ストレージ管理
ファイルスイッチはまた、個々のファイル及びファイルグループへのアクセスに関する情報を回収することができる。回収される情報には、読取のためにファイルにアクセスする最新の日付、ファイルが修正された最新の日付、ファイルに同時にアクセスするネットワーククライアントの数、ファイルに関して要求されたファイル作業の形式及び頻度、及び、主要なアクセスパターン(連続、無作為、及び、何らかの連続性を伴う無作為などのような)を挙げることができる。情報は、更に、ファイル形式(拡張子)単位、及び/又は、ファイルシステム内のルート経路単位で統合することができる。
【0282】
この情報に基づいて、ファイルシステム内のサブシステムは、所定のファイル又はファイルの組をファイルサーバ上で配分すべき異なる方法を判断することができる。その判断は、特定のファイルに対するものか、又は、統合規則(本明細書で説明するものなど)を導出することによるものか、又は、既存の統合規則の統合パラメータの修正とすることができる。ファイルスイッチは、新しい規則を新しく作成されたファイルに限り使用することができ、新しい規則に従って既存のファイルを再配分することができる。
【0283】
回収されたアクセス情報に基づいて新しい規則を判断するという作業は、この情報に基づいて行動する管理者により、又は、回収したアクセス情報に対して分析を行って新しい規則を判断する物理的に分離した自動システムにより、スイッチ上で行うことができる。
【0284】
ファイルスイッチのこの機能により、ストレージネットワークの効率が向上する。それは、より少ないコピー数とこのようなファイルにより使用される容量を最適化する統合機構とを用いて、古くてめったに使用されないファイルを保持することを可能にする。それは、新しく頻繁にアクセスされるファイルが、より多くのファイルサーバ間に配分され、並行してアクセスすることができる多数のコピーを有し、ファイルサーバに掛かる負荷を最適化してクライアントに対するアクセス性能を向上させる統合パラメータを有することを可能にする。
【0285】
この機能はまた、このファイルの組に関して回収されたアクセスパターンに依存して、最善の適用可能統合規則で異なるファイルの組を最適化することを可能にする。例えば、データベースファイルは、排他的アクセスのために頻繁にオープン状態とし(すなわち、単一のネットワーククライアントにより)、無作為な位置でアクセスすることができ、低いミラー数(例えば、2)及びストライプサイズが大きくて低いストライプ数がこのファイル形式に最適であろう。「MPEG」ムービーなどのビデオストリーミングファイルについては、一般的なアクセスパターンは、そのファイルの異なる区域から同時に順番に読み取る複数の同時読取装置としてもよい。このようなファイルについては、更に良好な統合パラメータセットは、高いミラーコピー数、高いストライプ数、及び、比較的小さいストライプサイズを含むことができる。
【0286】
更に、ファイルサーバのストレージ容量の現在の利用量及びその相対的な負荷は、回収された情報に含めることができる。この情報は、ストレージ容量のより良い利用法及びファイルサーバに掛かる更に均一な負荷を達成するために、ファイルスイッチが使用し、ファイルサーバ間のファイル配分を変更することができる。
【0287】
既存の階層的ストレージ管理システムと異なり、このシステムは、新しく頻繁にアクセスされるファイルと同じ形式のストレージ上に古くて頻繁にアクセスされないファイルを保持すると同時に、古くて頻繁にアクセスされないファイルを記憶するコストを低減し、新しく頻繁にアクセスされるファイルに対するアクセス帯域幅を最適化する。
【0288】
この特徴の重要な要素は、アクセスデータの自動回収、ファイル記憶方法を変更する決断、及び、この決断の実施である。一組として、これらは、ファイルスイッチ及びファイルサーバが、最適又はほぼ最適な利用法を伴うストレージネットワークを提供し、同時にシステムの管理コストを低減することを可能にする。これらの利点の全ては、ネットワーククライアント及びネットワークサーバ上に追加のソフトウエアをインストールして維持する必要もなく得ることができる。
【0289】
安全な遠隔ストレージ
ネットワーククライアントとネットワークサーバとの間にデータパス上のファイルスイッチを有する別の利点は、ファイルスイッチが、ファイルに読取られている及び書き込まれているデータを修正することができるということである。
【0290】
例えば、図15のファイルスイッチ1502は、1つ又はそれ以上の暗号化キーで構成することができる。クライアント1501は、ファイル書込トランザクションを要求すると、ファイルスイッチ150は、データが最終的には「NAS」アレー1510上に暗号化された状態で記憶されるようにトランザクションのペイロードを暗号化する(尚、読取及び書込要求のトランザクションペイロードとは、ファイルのコンテンツを表すデータである)。クライアント1501がファイル読取トランザクションを要求した時、ファイルスイッチ1501は、各々のトランザクションの応答データを受信すると、トランザクションのペイロードを暗号解読し、トランザクションを予期するクライアント1501にペイロードを転送する。好ましい暗号化技術は、「データ暗号化規格(DES)」などの対称キー暗号化である。
【0291】
その結果、クライアントは、まるでネットワーク1500にローカルに取り付けられた単一ファイルサーバ上のファイルシステムにアクセスしたかのようにファイルシステムにアクセスすることができ、一方、データは、実際には「NAS」アレー上の暗号化された状態で記憶されている。尚、これは、クライアント1501、ファイルスイッチ1508、及び、「NAS」アレー1510にはガラス張りの状態で行われる。
【0292】
この暗号化の方法、及び、この暗号化を行う装置及びシステムの1つの利点は、組織(例えば、企業)が、ストレージを他の組織(例えば、ストレージ・サービス・プロバイダ又はストレージユーティリティ)に外部委託することができるということである。ファイルコンテンツを暗号化することができるので、企業に属するデータの秘密のセキュリティを高めることができ、また、ストレージユーティリティの導入が容易になる可能性がある。尚、暗号化キーは、好ましくは企業の敷地内にあるファイルスイッチ1502内でのみ構成され、その企業のみが物理的にそれにアクセスすることができることが好ましく、その結果、暗号化キーのセキュリティを保証することができる。同時に、ファイルシステムの論理構造は無傷であることから、ストレージユーティリティは、障害なしにデータを管理、バックアップ、及び、回復することができる。
【0293】
更に、ファイルスイッチは、同じ又は異なる暗号化キーを使用してファイル名及びディレクトリ名を暗号化することができる。ファイル名及びディレクトリ名は、顧客名などの秘密情報を含む可能性があることから、これにより更にセキュリティが高まることになる。
【0294】
ファイルスイッチ1502は、複数の暗号化キー(異なるユーザグループに対する異なるキーなど)を含みかつ使用すると同時に、ファイルスイッチ1502の代わりに、全てが好ましくは同じ暗号化キーで構成された複数のスイッチ(ファイルスイッチのグループ)を有することが可能である。更に、ファイルスイッチは、データの暗号化及び暗号解読を加速する特化されたハードウエアを利用することができる。当業者は、他のトポロジー及び暗号化アルゴリズムが本発明の精神から逸脱することなく可能であることを認識するであろう。
【0295】
スナップショット
スナップショットは、任意の瞬間的な時間での任意のファイル、ファイルシステムの一部分、又は、ファイルシステム全体のビューである。スナップショットは、スナップショットが為された時から除去又は改変されたデータを取得する能力及び多くの他の用途を提供するバックアップとして、バックアップの供給源として(従って、生データではなく、データの定常な変更のないコピーからのバックアップを可能にする)使用することができる。
【0296】
本発明はまた、交換ファイルシステムにおけるファイルのスナップショットを作成するための機構を提供する。これを達成する1つの方法は、全てのファイルに対してミラーを有することである。簡素化のために、交換ファイルシステム内の全てのファイルは、ストライピングされず、3部のコピーにミラーリングされると仮定する。スナップショットを撮るために、ファイルスイッチは、ここで全てのファイルが2部のみにミラーリングされているとみなされ、第3のコピーが手付かず(凍結)で残るように内部的に統合規則を変更しなければならない。ファイルの読取又は修正を要求するクライアントは、2つのコピーのみにアクセスすることができることになる。スナップショットの読取を要求するクライアントは、第3のコピーにアクセスすることができることになる。このようにして、たとえクライアントがファイル(最初の2つのファイル)を修正し続けることができるとしても、第3のコピーは、規則が変更された時点の状態のままで残る。
【0297】
上述のように規則を変更する前に、スイッチは、任意の現在未処理のトランザクションが完了するのを待って、新たに要求されたトランザクションを(実施せずに)待ち行列に入れることが好ましい。全ての未処理トランザクションが完了すると、ファイルスイッチは、規則を変更し、待ち行列に入れられたトランザクションの実施を開始する。この機構により、更に、スナップショットの一貫性が保証される(すなわち、スナップショット内の全てのファイルが正確に同じ時間現在のバージョンを確実に有するようになる)。
【0298】
グループ内の複数のファイルスイッチは、同じ組のサーバに接続されて複数のクライアントによりアクセスされている複数のファイルスイッチの場合でさえも、スナップショットを一貫したものとするように、規則修正の瞬間を同期化することができる。
【0299】
ジャーナル処理バックアップ
本発明の別の態様は、ジャーナル処理を通じてファイルシステムデータをバックアップするシステムである。ジャーナル処理バックアップは、ファイルシステムのファイルの配分先ファイルサーバ(一次ファイルサーバ)に加えて、二次ファイルサーバ(又は、別の交換ファイルシステム)にも接続されているジャーナル処理ファイルスイッチにより行われる。
【0300】
ジャーナル処理ファイルスイッチは、ファイルシステムを修正する(ファイル作成、ファイルへのデータ書込み、ディレクトリ削除などのような)破壊的トランザクションと、ファイルシステムを改変しない(ファイル読取、ディレクトリ列挙、既存ファイルのオープンなどのような)非破壊的トランザクションとを区別する。
【0301】
ファイルクライアントが破壊的トランザクションを要求した時、ジャーナル処理ファイルスイッチは、トランザクションをその組の一次ファイルサーバに切り替え(非ジャーナル処理ファイルスイッチと同様に)、更に、トランザクションを二次ファイルサーバに送る。ジャーナル処理ファイルスイッチがトランザクション応答を一次サーバから受信した時、そのクライアントのトランザクションを完了し、二次ファイルサーバに関するトランザクションは、その後に完了することができる。ファイルクライアントが非破壊的トランザクションを要求した時、ジャーナル処理ファイルスイッチは、二次ファイルサーバを巻き込みことなく、その組の一次ファイルサーバのみにトランザクションを切り替える。
【0302】
その結果、ファイルシステムを変更する全ての作業は、二次ファイルサーバに送られ、それで、二次ファイルサーバ上のファイルシステムは、その組の一次ファイルサーバ上に記憶されたファイルシステムをミラーリングする。これにより、破壊的な故障(一次サーバのその組全体の物理的な破壊など)の場合は、特に二次サーバが物理的に遠隔位置に記憶されている場合にデータの冗長性が高まる。
【0303】
尚、二次サーバの方が低速であり、低帯域幅で高い待ち時間のネットワークを通じてファイルスイッチに接続されている場合があるが、ファイルスイッチは、二次サーバがトランザクションを完了するまでトランザクションの完了を送らせないことから、クライアントが利用可能な性能には影響がない。実際に破壊的なのはファイルシステムトランザクションの一部分にすぎないので、トランザクションの大部分は、二次サーバには負荷を課すものではない。より高い帯域幅が二次サーバに必要とされた場合には、カスケード処理された交換ファイルシステムと入れ換えることができる(本明細書で説明するように)。
【0304】
代替的に、ジャーナル処理ファイルスイッチ(又は、ジャーナル処理ファイルスイッチ及び二次サーバ間に挿入された別個の装置)は、二次サーバ上で実施するのではなく、ログファイルに破壊的トランザクションを記憶することができる。各々のトランザクションは、時間、トランザクションパラメータ(ファイル名など)の完全な組、及び、ペイロードと共に二次ファイルサーバ上に記録される。このログを使用して、故障(アプリケーションによるデータ書込間違い又は書込先ファイル間違い)の原因を判断し、ファイルを回復したり、又は、任意の瞬間でのファイルシステムのビューを取得することができる。例えば、特化されたソフトウエアを使用して目標とする瞬間を指定し、通常のファイルクライアントにその指定された時間現在のファイルシステムのビューを呈示することができる。
【0305】
地球規模のストレージ
ファイルスイッチ1502、そのクライアント1501、及び、その取り付けられたファイルサーバ1503により図15に示されたファイルスイッチのゲートウェイトポロジーは、地球規模の分散ストレージシステムを可能にするように拡張することができる。これを行うために、ファイルスイッチ1502は、グループ1509から取得された遠隔ファイルをキャッシュするだけでなく、他のファイルを「NAS」アレー1503又は別の「NAS」アレー上に記憶することが好ましい。
【0306】
図18は、地球規模分散型の交換ファイルシステムを示す。サイト1810、1820、及び、1830は、広域ネットワーク1800を通じて接続されている。サイトの各々は、それぞれ、独自のネットワーク1812、1822、及び、1832を有する。また、各々のサイトネットワークは、それぞれ、ファイルスイッチ1811、1821、及び、1831、及び、ファイルサーバアレー1813、1823、及び、1833で構成されたローカル交換ファイルシステムを有する。ファイルスイッチ1811、1821、及び、1831は、ファイルスイッチ1502に関して説明したゲートウェイ能力を有することが好ましい。
【0307】
ファイルクライアントについては、ファイルスイッチの各々は、それぞれのファイルサーバアレー上に記憶されたファイルシステムへのアクセスを提供する。時に、ファイルクライアント1814は、クライアントのファイルスイッチ1811に直接取り付けられたファイルサーバアレー1813上に位置しない遠隔ファイルを要求する場合がある。この場合、スイッチ1811は、ゲートウェイとして機能し、要求されたファイルを含むサイト上のファイルスイッチ1821にトランザクションを転送する。スイッチ1811は、まるでそのスイッチのローカルネットワーク1822に取り付けられたファイルクライアントにより要求されたかのように、要求されたトランザクションを実施する。発信側のファイルスイッチ1811は、応答を受信すると、要求しているクライアント1814にそれを戻す。
【0308】
ファイルスイッチ1811は、アクセス帯域幅を広げてネットワーク1812からそのファイルまでのクライアントのアクセス待ち時間を短縮するために、ファイルスイッチ1812から取得されたファイルをキャッシュすることが好ましい。ファイルが閉じられるとすぐに、又は、その後で、又は、スイッチ1812から要求があり次第、スイッチ1811は、ローカルにキャッシュした変更内容を更新する。これを行うために、それは、ファイル書込トランザクションをスイッチ1821に対して生成してファイルを閉じることになり、その結果、ファイルアレー1823は、この時点で、クライアント1814により修正される場合もあるが、ファイルの最新バージョンを有することになる。尚、スイッチ1821は、そのローカルクライアント1824からの同じファイルを開く要求があり次第、このような更新を要求することができる。
【0309】
このキャッシュ及び更新要求機構は、「CIFS」ファイルプロトコルにあるものなどの便宜的ロック(オプロック)セマンティクスを使用して実施されることが好ましい。オプロックセマンティクスは、クライアント側キャッシュをネットワーク1822上で可能にするために既にファイルスイッチ1821によりサポートされているはずであり、それによってスイッチ間のキャッシュ及び更新のための特別なプロトコルは不要である。同じファイル(例えば、ファイルアレー1823上にあるファイル)は、複数のクライアントのいずれによってもキャッシュすることはできないが、全てのサイトからの複数のクライアントから同時に開くことができる。
【0310】
サイトの種類、地理上の位置、及び、トラヒック量に依存して、サイト1810、1820、及び、1830は、1800などの広域ネットワークを通じて、また、大都市圏ネットワーク、X.25、又は、専用接続を通じて接続することができる。サイトのうちの任意の2つの間の多重接続が利用可能とすることができる。そのトポロジーは、「IP」ネットワークによりサポートされているいかなるトポロジーにも拡張することができる。より多くの又は少ないサイトが、地球規模のストレージシステムに参加することができる。
【0311】
尚、遠隔ファイルは、ソフトウエアがファイルを捜してクライアントにそれを供給することができることが必要な特別なソフトウエアをクライアント上にインストール及び維持する必要もなく、クライアント1812にガラス張りの状態で提供される。クライアント1814は、仮に同じサイト1810上に記憶されたファイルを要求した場合にするであろう同じ方法で、その結果を要求及び解釈する。
【0312】
以上、様々な好ましい実施形態を詳細に説明してきたが、当業者は、本発明の新しい教示内容及び利点から実質的に逸脱することなく、例示的な実施形態の多くの変更が可能であることを容易に認めるであろう。例えば、本発明のファイルスイッチ/アグリゲータは、サーバの物理的なアーキテクチャ内にネットワークインタフェースユニットを備えたファイルサーバに一体化した方法で実施することができる。更に、本発明の形態のファイル統合は、ネットワークのクライアント及びサーバメンバー上に、ネットワークノードのオペレーティングシステムと互換性のあるソフトウエアドライバの形態でその機能性をインストールすることにより達成することができる。上記及び他の変更は、本発明の定義に含まれるように意図されており、本発明は、特許請求の範囲によってのみ限定されるべきである。
【図面の簡単な説明】
【0313】
【図1】コンピュータネットワークにおけるファイルスイッチを示す図である。
【図2】ネットワークファイルプロトコルにおけるトランザクションを示す図である。
【図3】ファイルスイッチにおけるメッセージ切替を示す図である。
【図4】ファイルスイッチによるトランザクション切替を示す図である。
【図5】ファイルスイッチによるトランザクション統合を示す図である。
【図6】ファイルスイッチによるネームスペース統合を示す図である。
【図7】ファイルスイッチによるディレクトリ統合を示す図である。
【図8】ファイルスイッチによるファイルオブジェクト統合を示す図である。
【図9】ファイル統合における同時性を処理する方法を示す図である。
【図10】ミラーリングを通じたデータ統合を示す図である。
【図11】ストライピングを通じたデータ統合を示す図である。
【図12】スピルオーバーを通じたデータ統合を示す図である。
【図13】データ統合規則を示す図である。
【図14】ファイルスイッチの統合を示す図である。
【図15】交換ファイルシステムを示す図である。
【図16】交換ファイルシステムをクライアント側から見た図である。
【図17】分散ファイルシステム及びクラスターファイルシステムを含む従来技術によるストレージネットワークを示す図である。
【図18】ファイルスイッチを使用するグローバルストレージを示す図である。
【図19】統合されたファイルシステムにおける同時アクセスを示す図である。
【図20】好ましいファイルスイッチアーキテクチャを示すブロック図である。
【図21】ファイルスイッチのための汎用コンピュータハードウエアアーキテクチャを示す図である。
【図22】ファイルスイッチのための汎用スイッチハードウエアアーキテクチャを示す図である。
Claims (33)
- ネットワークシステムにおけるネットワークファイルプロトコル・トランザクションを統合する方法であって、
第1のクライアントコンピュータにより開始される第1のトランザクションに属する第1のメッセージの、第1のファイルプロトコルヘッダと第1のデータとを含む第1のフレームを受信する段階と、
前記第1のファイルプロトコルヘッダの情報に基づいて、前記第1のトランザクションの処理に参加する第1の組のファイルサーバを選択する段階と、
前記第1のファイルプロトコルヘッダから得られる第2のファイルプロトコルヘッダと前記第1のデータの一部分とを含む第2のフレームを、前記第1の組のファイルサーバの第1のサーバに送る段階と、
を含むことを特徴とする方法。 - 第3のファイルプロトコルヘッダを含む第3のフレームを前記第1のサーバから受信する段階と、
前記第3のファイルプロトコルヘッダから得られる第4のファイルプロトコルヘッダを含む第4のフレームを、前記第1のクライアントコンピュータに送る段階と、
を更に含むことを特徴とする請求項1に記載の方法。 - 前記第1のファイルプロトコルヘッダから得られる第3のファイルプロトコルヘッダと前記第1のデータの一部分とを含む第3のフレームを、前記第1の組のファイルサーバの第2のサーバに送る段階、
を更に含むことを特徴とする請求項1に記載の方法。 - 第4のファイルプロトコルヘッダを含む第4のフレームを前記第1のサーバから受信する段階と、
第5のファイルプロトコルヘッダを含む第5のフレームを前記第2のサーバから受信する段階と、
前記第4のファイルプロトコルヘッダから、及び、前記第5のファイルプロトコルヘッダから得られる応答ファイルプロトコルヘッダを作成する段階と、
前記応答ファイルプロトコルヘッダを含む第6のフレームを前記第1のクライアントコンピュータに送る段階と、
を更に含むことを特徴とする請求項3に記載の方法。 - ネットワークシステムにおけるネットワークファイルプロトコル・トランザクションを統合する方法であって、
第1のクライアントコンピュータにより開始される第1のトランザクションに属する第1のメッセージの、第1のファイルプロトコルヘッダと第1のデータとを含む第1のフレームを受信する段階と、
前記第1のファイルプロトコルヘッダの情報に基づいて、前記第1のトランザクションの処理に参加する第1の組のファイルサーバを選択する段階と、
前記第1のファイルプロトコルヘッダから得られる第2のファイルプロトコルヘッダと前記第1のデータの一部分とを含む第2のフレームを、前記第1の組のファイルサーバの第1のサーバに送る段階と、
前記第1のメッセージの、第2のデータを含む第3のフレームを受信する段階と、
第3のファイルプロトコルヘッダと前記第2のデータの一部分とを含む第4のフレームを、前記第1の組のファイルサーバの第2のサーバに送る段階と、
を含むことを特徴とする方法。 - 第4のファイルプロトコルヘッダを含む第5のフレームを前記第1のサーバから受信する段階と、
第5のファイルプロトコルヘッダを含む第6のフレームを前記第2のサーバから受信する段階と、
前記第4のファイルプロトコルヘッダから、及び、前記第5のファイルプロトコルヘッダから得られる第6のファイルプロトコルヘッダを含む第7のフレームを前記第1のクライアントコンピュータに送る段階と、
を更に含むことを特徴とする請求項5に記載の方法。 - 修正された第1のファイルプロトコルヘッダと前記第1のデータの一部分とを含む第5のフレームを、前記第1の組のファイルサーバの第3のサーバに送る段階と、
ファイルプロトコルヘッダと前記第2のデータの一部分とを含む第6のフレームを、前記第1の組のファイルサーバの第4のサーバに送る段階と、
を更に含むことを特徴とする請求項5に記載の方法。 - ネットワークシステムにおけるネットワークファイルプロトコル・トランザクションを統合する方法であって、
第1のクライアントコンピュータにより開始された第1のトランザクションに属し、第1のファイルプロトコルヘッダを含む第1のフレームを受信する段階と、
前記第1のファイルプロトコルヘッダの情報に基づいて、前記第1のトランザクションの処理に参加する第1の組のファイルサーバを選択する段階と、
修正された第1のファイルプロトコルヘッダを含む第2のフレームを、前記第1の組のファイルサーバの第1のサーバに送る段階と、
修正された第1のファイルプロトコルヘッダを含む第3のフレームを、前記第1の組のファイルサーバの第2のサーバに送る段階と、
を含むことを特徴とする方法。 - 第2のファイルプロトコルヘッダと第1のデータとを含む第4のフレームを前記第1のサーバから受信する段階と、
第3のファイルプロトコルヘッダと第2のデータとを含む第5のフレームを前記第2のサーバから受信する段階と、
前記第2のファイルプロトコルヘッダの情報と前記第3のファイルプロトコルヘッダの情報とに基づいて、応答ファイルプロトコルヘッダを作成する段階と、
前記応答ファイルプロトコルヘッダと前記第1のデータの一部分とを含む第6のフレームを、前記第1のクライアントコンピュータに送る段階と、
を更に含むことを特徴とする請求項6に記載の方法。 - ネットワークファイルプロトコル・トランザクションを切り替えて統合することによりファイルシステムを統合する方法。
- 複数のファイルシステムのネームスペースを統合し、それらを単一ネームスペースとして呈示する段階と、
複数のファイルシステムのディレクトリを、それらを単一ディレクトリとして呈示することにより統合する段階と、
複数のファイルシステムのファイルオブジェクトを、それらを単一ファイルオブジェクトとして呈示することにより統合する段階と、
複数のファイルシステムにおけるファイルのファイルデータを、それを単一ファイルのデータとして呈示することにより統合する段階と、
を含むことを特徴とする、ファイルシステムを統合する方法。 - 統合ファイルシステムのための同時性解決機構を実施するために、前記複数のファイルシステムの各々に設けられた同時性解決機構を統合する段階、
を更に含むことを特徴とする請求項11に記載の方法。 - 複数のファイルシステムのネームスペースを統合し、それらを単一ネームスペースとして呈示する段階と、
複数のファイルシステムのディレクトリを、それらを単一ディレクトリとして呈示することにより統合する段階と、
複数のファイルシステムのファイルオブジェクトを、それらを単一ファイルオブジェクトとして呈示することにより統合する段階と、
複数のファイルシステムにおけるファイルのファイルデータを、それを単一ファイルのデータとして呈示することにより統合する段階と、
を含むことを特徴とする、ネットワーク・ストレージ・システムにおけるファイルを記憶する方法。 - スイッチがサーバに対してクライアントとして見えるようにスイッチを実装する段階と、
スイッチがクライアントに対してサーバとして見えるようにスイッチを実装する段階と、
前記スイッチ間で調停するために、複数のクライアント間で調停するサーバの能力を使用する段階と、
を含むことを特徴とする、クライアント/サーバ・プロトコルを切り替えるスイッチを拡張する方法。 - 複数の同時クライアントからの要求を調停するサーバの能力をもたらすクライアント/サーバ・ネットワークプロトコルの下で機能し、前記ネットワークプロトコルのクライアント側を実行するクライアントと前記ネットワークプロトコルのサーバ側を実行するサーバとを含むストレージネットワークを拡張する方法であって、
各々がクライアントと通信する時はネットワークプロトコルのサーバ側を形成し、サーバと対話する時はネットワークプロトコルのクライアント側を形成する複数のスイッチを、クライアントとサーバとの間に挿入する段階と、
前記スイッチ間で調停するために、複数の同時クライアント間で調停するサーバの能力を使用する段階と、
を含むことを特徴とする方法。 - 複数のクライアントコンピュータと複数のサーバコンピュータとを含むコンピュータネットワークにおいて、複数のクライアントコンピュータのうちの少なくとも1つと複数のサーバコンピュータのうちの少なくとも1つとの間で相互接続された、ファイルを切り替えて統合する装置であって、
ファイルスイッチコンピュータが、
データとファイルプロトコルヘッダとを第1のメッセージフレームに含むメッセージを受信し、
前記ファイルプロトコルヘッダに基づき、かつ前記メッセージのデータから独立した方法で、少なくとも1つのどのネットワークノードに前記メッセージを転送するべきかを判断し、
前記判断に基づく方法で、修正されたファイルプロトコルヘッダを導出し、
前記修正されたファイルプロトコルヘッダと前記メッセージデータとを転送する、
ことを特徴とする装置。 - 複数の同時メッセージが前記ファイルスイッチコンピュータにより受信された時には、この同時メッセージの1つだけが、成功する要求をもたらすことを特徴とする請求項16に記載の装置。
- 複数のクライアントコンピュータと複数のサーバコンピュータとを含むコンピュータネットワークにおいて、少なくとも1つのクライアントコンピュータと少なくとも1つのサーバコンピュータとの間でファイル切替及びファイル統合機能性を提供する装置であって、
前記少なくとも1つのサーバコンピュータに対してはクライアントコンピュータ、及び、前記少なくとも1つのクライアントコンピュータに対してはサーバコンピュータとして見える、
ことを特徴とする装置。 - 複数のクライアントコンピュータと、
複数のサーバコンピュータと、
クライアントコンピュータからのファイルメッセージを複数のサーバコンピュータに切り替えることができる少なくとも1つのファイルスイッチと、
を含むことを特徴とする、ネットワーク化されたファイルデータを処理するための交換ファイルシステム。 - 複数のクライアントコンピュータと、
複数のサーバコンピュータと、
複数のサーバからのファイルメッセージをクライアントコンピュータに統合することができる少なくとも1つのファイルスイッチと、
を含むことを特徴とする、ネットワーク化されたファイルデータを処理するための交換ファイルシステム。 - 複数のサーバ、ファイルスイッチ、及び、複数のクライアントを含むコンピュータネットワークにおいて、
第1のファイルスイッチが、ファイルヘッダをその第1のパケットに含むファイルプロトコルメッセージをクライアントから受信し、
前記第1のファイルスイッチは、前記ファイルヘッダを解析し、
前記第1のファイルスイッチは、複数のメッセージ処理規則に従って、前記メッセージを複数のサーバ間で分割する方法を判断する、
ことを含む方法に従って複数のサーバ間で作成されて維持されることを特徴とするファイルディレクトリ。 - 前記ネットワークは、複数のスイッチを更に含むことを特徴とする請求項21に記載の方法に従って作成されて維持されたファイルディレクトリ。
- 前記メッセージ処理規則は、第2のファイルスイッチにより共用されることを特徴とする請求項22に記載の方法に従って作成されて維持されたファイルディレクトリ。
- 前記複数のメッセージ処理規則は、少なくとも1つのファイルサーバから受信したファイルメッセージを通じて、前記第1及び第2ファイルスイッチにおいて更新されることを特徴とする請求項23に記載のファイルディレクトリ。
- ネットワーク使用データを供給する装置であって、
複数のクライアントコンピュータと複数のサーバコンピュータとを含むコンピュータネットワークにおいて、前記クライアントコンピュータと前記サーバコンピュータとの間でファイルを統合するための、クライアント及びサーバコンピュータ間でファイルメッセージを切り替えながら使用データを収集する装置、
を含むことを特徴とする装置。 - ファイルを統合するための複数の規則は、前記使用データから得られることを特徴とする請求項25に記載の装置。
- ファイルを統合するための複数の規則を含み、
前記複数の規則に対する少なくとも1つの変更は、前記使用データから得られる、
ことを特徴とする請求項25に記載の装置。 - 前記少なくとも1つの変更は、前記ネットワーク内の第2の統合装置において反映されることを特徴とする請求項27に記載の装置。
- 各々が複数の規則に従ってファイルを統合する複数のファイルアグリゲータを含むネットワークにおいて、複数のファイルアグリゲータ内で規則を変更する方法であって、
第1のアグリゲータにおいて規則を変更する段階と、
前記第1のアグリゲータが、残りの複数のファイルアグリゲータに前記規則の変更を転送する段階と、
前記残りの複数のファイルアグリゲータにおいて前記規則を更新する段階と、
を含むことを特徴とする方法。 - サーバ及びクライアントを有する複数のネットワーク参加者を含み、ファイルトランザクションがこのネットワーク参加者間に流れるコンピュータネットワークにおいて、複数のネットワーク参加者間の単一トランザクションの切替及び統合を提供する装置。
- ヘッダを有するトランザクションを交換する複数のネットワークノードを含むコンピュータネットワークにおいて、トランザクションヘッダ内に含まれた情報に基づく方法で、ファイルプロトコル・トランザクションを他のネットワークノード間で切り替えるネットワークノード。
- ネットワークの複数のサーバを統合するための装置であって、
ネットワークプロトコル・トランザクションを統合する手段、
を含むことを特徴とする装置。 - ネットワーククライアントを複数のネットワークサーバに接続するための装置であって、
ネットワークファイルを切り替える手段、
を含むことを特徴とする装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US26115301P | 2001-01-11 | 2001-01-11 | |
PCT/US2002/000720 WO2002056181A2 (en) | 2001-01-11 | 2002-01-10 | File switch and switched file system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005502096A true JP2005502096A (ja) | 2005-01-20 |
JP2005502096A5 JP2005502096A5 (ja) | 2005-12-22 |
Family
ID=22992135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002556371A Ceased JP2005502096A (ja) | 2001-01-11 | 2002-01-10 | ファイルスイッチ及び交換ファイルシステム |
Country Status (6)
Country | Link |
---|---|
US (4) | US7562110B2 (ja) |
EP (1) | EP1368736A2 (ja) |
JP (1) | JP2005502096A (ja) |
AU (1) | AU2002249939A1 (ja) |
TW (1) | TW561358B (ja) |
WO (1) | WO2002056181A2 (ja) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006524873A (ja) * | 2003-04-24 | 2006-11-02 | ネオパス ネットワークス,インク. | 名前空間複製を用いるトランスペアレントなファイル移動 |
JP2009529295A (ja) * | 2006-03-08 | 2009-08-13 | オムニオン ビデオ ネットワークス | スケーラブルなデータ記憶システムのためのネットワークトポロジ |
JP2009529191A (ja) * | 2006-03-08 | 2009-08-13 | オムニオン ビデオ ネットワークス | 分散メタデータサーバを利用するファイルシステムを有するアーキテクチャにおいてシステムの一意識別子を使用する技法 |
US7694888B2 (en) | 2005-11-15 | 2010-04-13 | Infineon Technologies Ag | Method for producing a chip card contact zone |
US7831641B2 (en) | 2003-04-24 | 2010-11-09 | Neopath Networks, Inc. | Large file support for a network file server |
US8131689B2 (en) | 2005-09-30 | 2012-03-06 | Panagiotis Tsirigotis | Accumulating access frequency and file attributes for supporting policy based storage management |
WO2012042792A1 (en) * | 2010-09-30 | 2012-04-05 | Nec Corporation | Storage system |
US8180843B2 (en) | 2003-04-24 | 2012-05-15 | Neopath Networks, Inc. | Transparent file migration using namespace replication |
US8190741B2 (en) | 2004-04-23 | 2012-05-29 | Neopath Networks, Inc. | Customizing a namespace in a decentralized storage environment |
US8195627B2 (en) | 2004-04-23 | 2012-06-05 | Neopath Networks, Inc. | Storage policy monitoring for a storage network |
US8539081B2 (en) | 2003-09-15 | 2013-09-17 | Neopath Networks, Inc. | Enabling proxy services using referral mechanisms |
US8832697B2 (en) | 2005-06-29 | 2014-09-09 | Cisco Technology, Inc. | Parallel filesystem traversal for transparent mirroring of directories and files |
JP2015135568A (ja) * | 2014-01-16 | 2015-07-27 | 株式会社日立製作所 | ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法 |
KR20160107802A (ko) * | 2015-03-05 | 2016-09-19 | 삼성전자주식회사 | 모바일 장치 및 모바일 장치의 데이터 관리 방법 |
KR101982416B1 (ko) * | 2017-12-06 | 2019-05-24 | 고려대학교 산학협력단 | 복수의 데이터 노드를 이용하여 tcp 통신을 통해 데이터를 분산하여 저장하는 시스템을 위한 소프트웨어 정의 네트워크와, 이에 포함되는 스위치 및 그 제어 방법 |
US11768609B2 (en) | 2008-08-08 | 2023-09-26 | Amazon Technologies, Inc. | Managing access of multiple executing programs to nonlocal block data storage |
JP7428081B2 (ja) | 2020-06-05 | 2024-02-06 | コニカミノルタ株式会社 | 振り分け装置、画像処理システム及びプログラム |
Families Citing this family (372)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7401114B1 (en) * | 1998-04-20 | 2008-07-15 | Sun Microsystems, Inc. | Method and apparatus for making a computational service highly available |
JP3786521B2 (ja) * | 1998-07-01 | 2006-06-14 | 株式会社日立製作所 | 半導体集積回路及びデータ処理システム |
US6549918B1 (en) * | 1998-09-21 | 2003-04-15 | Microsoft Corporation | Dynamic information format conversion |
WO2001039043A2 (en) * | 1999-11-23 | 2001-05-31 | Microsoft Corporation | Content-specific filename systems |
US7620775B1 (en) * | 2004-03-26 | 2009-11-17 | Emc Corporation | System and method for managing storage networks and providing virtualization of resources in such a network using one or more ASICs |
US20060288080A1 (en) * | 2000-09-12 | 2006-12-21 | Ibrix, Inc. | Balanced computer architecture |
US7406484B1 (en) | 2000-09-12 | 2008-07-29 | Tbrix, Inc. | Storage allocation in a distributed segmented file system |
US7836017B1 (en) | 2000-09-12 | 2010-11-16 | Hewlett-Packard Development Company, L.P. | File replication in a distributed segmented file system |
US6782389B1 (en) * | 2000-09-12 | 2004-08-24 | Ibrix, Inc. | Distributing files across multiple, permissibly heterogeneous, storage devices |
US20040236798A1 (en) * | 2001-09-11 | 2004-11-25 | Sudhir Srinivasan | Migration of control in a distributed segmented file system |
US8935307B1 (en) | 2000-09-12 | 2015-01-13 | Hewlett-Packard Development Company, L.P. | Independent data access in a segmented file system |
US7454500B1 (en) | 2000-09-26 | 2008-11-18 | Foundry Networks, Inc. | Global server load balancing |
US9130954B2 (en) | 2000-09-26 | 2015-09-08 | Brocade Communications Systems, Inc. | Distributed health check for global server load balancing |
US7657629B1 (en) * | 2000-09-26 | 2010-02-02 | Foundry Networks, Inc. | Global server load balancing |
AU2002249939A1 (en) * | 2001-01-11 | 2002-07-24 | Z-Force Communications, Inc. | File switch and switched file system |
US8195760B2 (en) | 2001-01-11 | 2012-06-05 | F5 Networks, Inc. | File aggregation in a switched file system |
US7509322B2 (en) | 2001-01-11 | 2009-03-24 | F5 Networks, Inc. | Aggregated lock management for locking aggregated files in a switched file system |
US20040133606A1 (en) * | 2003-01-02 | 2004-07-08 | Z-Force Communications, Inc. | Directory aggregation for files distributed over a plurality of servers in a switched file system |
US7788335B2 (en) | 2001-01-11 | 2010-08-31 | F5 Networks, Inc. | Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system |
US7512673B2 (en) | 2001-01-11 | 2009-03-31 | Attune Systems, Inc. | Rule based aggregation of files and transactions in a switched file system |
US8239354B2 (en) * | 2005-03-03 | 2012-08-07 | F5 Networks, Inc. | System and method for managing small-size files in an aggregated file system |
US7383288B2 (en) | 2001-01-11 | 2008-06-03 | Attune Systems, Inc. | Metadata based file switch and switched file system |
US7062490B2 (en) * | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
US8161143B2 (en) * | 2001-03-30 | 2012-04-17 | International Business Machines Corporation | Prioritization of networks for preferred groups |
US7249195B2 (en) | 2001-03-30 | 2007-07-24 | Minor Ventures, Llc | Apparatus and methods for correlating messages sent between services |
US7913261B2 (en) * | 2001-05-02 | 2011-03-22 | nCipher Corporation, Ltd. | Application-specific information-processing method, system, and apparatus |
US6925515B2 (en) * | 2001-05-07 | 2005-08-02 | International Business Machines Corporation | Producer/consumer locking system for efficient replication of file data |
US7089320B1 (en) * | 2001-06-01 | 2006-08-08 | Cisco Technology, Inc. | Apparatus and methods for combining data |
US7278143B2 (en) * | 2001-06-28 | 2007-10-02 | Microsoft Corporation | System and related methods for accessing management functionality through a command line utility |
US7721280B1 (en) * | 2001-07-16 | 2010-05-18 | West Corporation | Automated file delivery systems and methods |
US6718327B1 (en) * | 2001-08-31 | 2004-04-06 | Openwave Systems Inc. | Fault-tolerant queue with autonomous client operation |
JP2003131924A (ja) * | 2001-10-19 | 2003-05-09 | Fujitsu Ltd | リモートアクセスプログラム、リモートアクセス要求処理プログラム、およびクライアントコンピュータ |
JP3857105B2 (ja) * | 2001-10-30 | 2006-12-13 | 富士通株式会社 | データ転送装置 |
JP3983036B2 (ja) * | 2001-11-21 | 2007-09-26 | 富士通株式会社 | ファイルサーバプログラム |
JP2003162439A (ja) * | 2001-11-22 | 2003-06-06 | Hitachi Ltd | ストレージシステム及びその制御方法 |
JP4168626B2 (ja) * | 2001-12-06 | 2008-10-22 | 株式会社日立製作所 | 記憶装置間のファイル移行方法 |
US7085819B2 (en) * | 2001-12-20 | 2006-08-01 | Sigma Storage | System and method for distributed network data storage |
JP4154893B2 (ja) * | 2002-01-23 | 2008-09-24 | 株式会社日立製作所 | ネットワークストレージ仮想化方法 |
US6959310B2 (en) * | 2002-02-15 | 2005-10-25 | International Business Machines Corporation | Generating data set of the first file system by determining a set of changes between data stored in first snapshot of the first file system, and data stored in second snapshot of the first file system |
US7849172B2 (en) * | 2002-03-01 | 2010-12-07 | Broadcom Corporation | Method of analyzing non-preemptive DRAM transactions in real-time unified memory architectures |
US7080177B2 (en) * | 2002-03-01 | 2006-07-18 | Broadcom Corporation | System and method for arbitrating clients in a hierarchical real-time DRAM system |
US7945652B2 (en) * | 2002-08-06 | 2011-05-17 | Sheng (Ted) Tai Tsao | Display multi-layers list item in web-browser with supporting of concurrent multi-users |
JP4196579B2 (ja) * | 2002-04-10 | 2008-12-17 | 株式会社日立製作所 | ストレージ運用管理方法およびシステム |
US7124171B1 (en) * | 2002-05-23 | 2006-10-17 | Emc Corporation | In a networked computing cluster storage system and plurality of servers sharing files, in the event of server unavailability, transferring a floating IP network address from first server to second server to access area of data |
US7448077B2 (en) * | 2002-05-23 | 2008-11-04 | International Business Machines Corporation | File level security for a metadata controller in a storage area network |
US6947940B2 (en) * | 2002-07-30 | 2005-09-20 | International Business Machines Corporation | Uniform name space referrals with location independence |
US7086061B1 (en) | 2002-08-01 | 2006-08-01 | Foundry Networks, Inc. | Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics |
US7676576B1 (en) | 2002-08-01 | 2010-03-09 | Foundry Networks, Inc. | Method and system to clear counters used for statistical tracking for global server load balancing |
US7574508B1 (en) * | 2002-08-07 | 2009-08-11 | Foundry Networks, Inc. | Canonical name (CNAME) handling for global server load balancing |
US7873700B2 (en) * | 2002-08-09 | 2011-01-18 | Netapp, Inc. | Multi-protocol storage appliance that provides integrated support for file and block access protocols |
US7934021B2 (en) | 2002-08-29 | 2011-04-26 | Broadcom Corporation | System and method for network interfacing |
US8631162B2 (en) * | 2002-08-30 | 2014-01-14 | Broadcom Corporation | System and method for network interfacing in a multiple network environment |
US20080313282A1 (en) | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
US7561587B2 (en) * | 2002-09-26 | 2009-07-14 | Yhc Corporation | Method and system for providing layer-4 switching technologies |
US7606156B2 (en) * | 2003-10-14 | 2009-10-20 | Delangis Eric M | Residential communications gateway (RCG) for broadband communications over a plurality of standard POTS lines, with dynamic allocation of said bandwidth, that requires no additional equipment or modifications to the associated class 5 offices or the PSTN at large |
CN1322432C (zh) * | 2002-10-25 | 2007-06-20 | 国际商业机器公司 | 用于媒体内容数据文件网络发布的安全系统及方法 |
US8176186B2 (en) | 2002-10-30 | 2012-05-08 | Riverbed Technology, Inc. | Transaction accelerator for client-server communications systems |
US7120666B2 (en) | 2002-10-30 | 2006-10-10 | Riverbed Technology, Inc. | Transaction accelerator for client-server communication systems |
US7457822B1 (en) * | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US8051176B2 (en) | 2002-11-07 | 2011-11-01 | Hewlett-Packard Development Company, L.P. | Method and system for predicting connections in a computer network |
US7363347B2 (en) * | 2002-11-07 | 2008-04-22 | Hewlett-Packard Development Company, L.P. | Method and system for reestablishing connection information on a switch connected to plural servers in a computer network |
US7254578B2 (en) * | 2002-12-10 | 2007-08-07 | International Business Machines Corporation | Concurrency classes for shared file systems |
AU2003300350A1 (en) * | 2003-01-02 | 2004-07-29 | Attune Systems, Inc. | Metadata based file switch and switched file system |
US7480657B1 (en) * | 2003-01-06 | 2009-01-20 | Cisco Technology, Inc. | Caching information for multiple service applications |
US7877511B1 (en) | 2003-01-13 | 2011-01-25 | F5 Networks, Inc. | Method and apparatus for adaptive services networking |
JP2004227097A (ja) * | 2003-01-20 | 2004-08-12 | Hitachi Ltd | 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置 |
US8037264B2 (en) | 2003-01-21 | 2011-10-11 | Dell Products, L.P. | Distributed snapshot process |
US20040210724A1 (en) * | 2003-01-21 | 2004-10-21 | Equallogic Inc. | Block data migration |
US8499086B2 (en) * | 2003-01-21 | 2013-07-30 | Dell Products L.P. | Client load distribution |
US7590667B2 (en) | 2003-01-30 | 2009-09-15 | Hitachi, Ltd. | File replication method for distributed file systems |
US7865536B1 (en) * | 2003-02-14 | 2011-01-04 | Google Inc. | Garbage collecting systems and methods |
JP2004280283A (ja) * | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
JP4320195B2 (ja) | 2003-03-19 | 2009-08-26 | 株式会社日立製作所 | ファイルストレージサービスシステム、ファイル管理装置、ファイル管理方法、id指定型nasサーバ、および、ファイル読出方法 |
EP1460805B1 (en) * | 2003-03-20 | 2015-03-11 | Broadcom Corporation | System and method for network interfacing |
US8700753B2 (en) * | 2003-03-28 | 2014-04-15 | Denis L. Bagsby | Distributed computer system for telecommunications operational support |
US7299478B2 (en) * | 2003-03-28 | 2007-11-20 | Sbc Knowledge Ventures, L.P. | Integration service and domain object for telecommunications operational support |
US7237021B2 (en) * | 2003-04-04 | 2007-06-26 | Bluearc Uk Limited | Network-attached storage system, device, and method supporting multiple storage device types |
US7587422B2 (en) * | 2003-04-24 | 2009-09-08 | Neopath Networks, Inc. | Transparent file replication using namespace replication |
EP1671199A2 (en) * | 2003-04-24 | 2006-06-21 | Secureinfo Corporation | Method, system and article of manufacture for data preservation and automated electronic software distribution across an enterprise system |
KR100596755B1 (ko) * | 2003-05-30 | 2006-07-04 | 엘지전자 주식회사 | 홈 네트워크 시스템 |
KR100605216B1 (ko) * | 2003-05-30 | 2006-07-31 | 엘지전자 주식회사 | 네트워크 디바이스 |
KR100605218B1 (ko) * | 2003-05-30 | 2006-07-31 | 엘지전자 주식회사 | 홈 네트워크 시스템 |
KR100638017B1 (ko) * | 2003-05-30 | 2006-10-23 | 엘지전자 주식회사 | 네트워크 디바이스 |
US20070223500A1 (en) * | 2003-05-30 | 2007-09-27 | Lg Electronics Inc. | Home Network System |
US7302452B2 (en) * | 2003-06-05 | 2007-11-27 | International Business Machines Corporation | Method and apparatus for handling requests for files in a data processing system |
US7437458B1 (en) * | 2003-06-13 | 2008-10-14 | Juniper Networks, Inc. | Systems and methods for providing quality assurance |
US7610313B2 (en) * | 2003-07-25 | 2009-10-27 | Attenex Corporation | System and method for performing efficient document scoring and clustering |
JP4400126B2 (ja) * | 2003-08-08 | 2010-01-20 | 株式会社日立製作所 | 仮想一元化ネットワークストレージシステムにおける一元的なディスク使用量制御方法 |
US7401104B2 (en) | 2003-08-21 | 2008-07-15 | Microsoft Corporation | Systems and methods for synchronizing computer systems through an intermediary file system share or device |
US8131739B2 (en) * | 2003-08-21 | 2012-03-06 | Microsoft Corporation | Systems and methods for interfacing application programs with an item-based storage platform |
US7590643B2 (en) | 2003-08-21 | 2009-09-15 | Microsoft Corporation | Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system |
US8238696B2 (en) | 2003-08-21 | 2012-08-07 | Microsoft Corporation | Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system |
US8166101B2 (en) | 2003-08-21 | 2012-04-24 | Microsoft Corporation | Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system |
US20050071309A1 (en) * | 2003-09-26 | 2005-03-31 | Eric Ustaris | Computing environment adapted to transfer software or data from a file system to a workstation |
US9584360B2 (en) | 2003-09-29 | 2017-02-28 | Foundry Networks, Llc | Global server load balancing support for private VIP addresses |
US20050081086A1 (en) * | 2003-10-10 | 2005-04-14 | Xiotech Corporation | Method, apparatus and program storage device for optimizing storage device distribution within a RAID to provide fault tolerance for the RAID |
AU2003267758A1 (en) * | 2003-10-14 | 2005-05-05 | Automatic distribution of capability and configuration information between mobile switching centers in a mobile communication network | |
EP1528473A3 (en) * | 2003-10-30 | 2011-08-31 | Hitachi, Ltd. | Storage system |
GB2407658A (en) * | 2003-10-31 | 2005-05-04 | Daniele Grazioli | Computer network for processing received event data |
US8127095B1 (en) | 2003-12-31 | 2012-02-28 | Symantec Operating Corporation | Restore mechanism for a multi-class file system |
US7103740B1 (en) | 2003-12-31 | 2006-09-05 | Veritas Operating Corporation | Backup mechanism for a multi-class file system |
US7293133B1 (en) | 2003-12-31 | 2007-11-06 | Veritas Operating Corporation | Performing operations without requiring split mirrors in a multi-class file system |
US8825591B1 (en) | 2003-12-31 | 2014-09-02 | Symantec Operating Corporation | Dynamic storage mechanism |
US7225211B1 (en) | 2003-12-31 | 2007-05-29 | Veritas Operating Corporation | Multi-class storage mechanism |
US20050154786A1 (en) * | 2004-01-09 | 2005-07-14 | International Business Machines Corporation | Ordering updates in remote copying of data |
US7478211B2 (en) * | 2004-01-09 | 2009-01-13 | International Business Machines Corporation | Maintaining consistency for remote copy using virtualization |
US8818950B2 (en) * | 2004-01-22 | 2014-08-26 | Symantec Corporation | Method and apparatus for localized protected imaging of a file system |
US20050198401A1 (en) * | 2004-01-29 | 2005-09-08 | Chron Edward G. | Efficiently virtualizing multiple network attached stores |
US7627617B2 (en) * | 2004-02-11 | 2009-12-01 | Storage Technology Corporation | Clustered hierarchical file services |
US7191175B2 (en) | 2004-02-13 | 2007-03-13 | Attenex Corporation | System and method for arranging concept clusters in thematic neighborhood relationships in a two-dimensional visual display space |
US20050204104A1 (en) * | 2004-03-15 | 2005-09-15 | Tatsundo Aoshima | Server and method for managing volume storing digital archive |
US7620774B1 (en) * | 2004-03-26 | 2009-11-17 | Emc Corporation | System and method for managing storage networks and providing virtualization of resources in such a network using one or more control path controllers with an embedded ASIC on each controller |
US7657529B2 (en) * | 2004-03-26 | 2010-02-02 | Oracle International Corporation | Method of providing shared objects and node-specific objects in a cluster file system |
US7197520B1 (en) | 2004-04-14 | 2007-03-27 | Veritas Operating Corporation | Two-tier backup mechanism |
JP2005303927A (ja) * | 2004-04-15 | 2005-10-27 | Sony Corp | 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム |
US7631010B2 (en) * | 2004-04-16 | 2009-12-08 | Microsoft Corporation | Systems and methods in support of data base page synchronization |
US7720796B2 (en) * | 2004-04-23 | 2010-05-18 | Neopath Networks, Inc. | Directory and file mirroring for migration, snapshot, and replication |
US8996455B2 (en) * | 2004-04-30 | 2015-03-31 | Netapp, Inc. | System and method for configuring a storage network utilizing a multi-protocol storage appliance |
US7584301B1 (en) | 2004-05-06 | 2009-09-01 | Foundry Networks, Inc. | Host-level policies for global server load balancing |
US7496651B1 (en) * | 2004-05-06 | 2009-02-24 | Foundry Networks, Inc. | Configurable geographic prefixes for global server load balancing |
US7693880B1 (en) * | 2004-05-06 | 2010-04-06 | Symantec Operating Corporation | Mirrored storage at the file system level |
GB0410151D0 (en) * | 2004-05-07 | 2004-06-09 | Zeus Technology Ltd | Load balancing & traffic management |
US20060015595A1 (en) * | 2004-06-17 | 2006-01-19 | International Business Machines Corporation | Method and apparatus for obtaining addresses for multiple interfaces in a device |
JP4490743B2 (ja) * | 2004-06-24 | 2010-06-30 | 株式会社日立製作所 | ファイル共有システム、ファイル共有用管理サーバおよびクライアント装置 |
US20060026161A1 (en) * | 2004-07-16 | 2006-02-02 | Henseler David A | Distributed parallel file system for a distributed processing system |
US7725605B2 (en) * | 2004-08-06 | 2010-05-25 | Salesforce.Com, Inc. | Providing on-demand access to services in a wide area network |
US7423977B1 (en) | 2004-08-23 | 2008-09-09 | Foundry Networks Inc. | Smoothing algorithm for round trip time (RTT) measurements |
US8122280B2 (en) | 2004-08-26 | 2012-02-21 | Open Invention Network, Llc | Method and system for providing high availability to computer applications |
US8495023B1 (en) * | 2004-09-01 | 2013-07-23 | Symantec Operating Corporation | Delta catalogs in a backup system |
US7315926B2 (en) * | 2004-09-21 | 2008-01-01 | Emc Corporation | Lock management for concurrent access to a single file from multiple data mover computers |
US7698424B1 (en) * | 2004-09-28 | 2010-04-13 | Emc Corporation | Techniques for presenting multiple data storage arrays to iSCSI clients as a single aggregated network array |
US8095940B2 (en) | 2005-09-19 | 2012-01-10 | Citrix Systems, Inc. | Method and system for locating and accessing resources |
US7752600B2 (en) | 2004-09-30 | 2010-07-06 | Citrix Systems, Inc. | Method and apparatus for providing file-type associations to multiple applications |
US7680758B2 (en) | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
US9537768B2 (en) * | 2004-09-30 | 2017-01-03 | Rockwell Automation Technologies, Inc. | System that provides for removal of middleware in an industrial automation environment |
US7853947B2 (en) | 2004-09-30 | 2010-12-14 | Citrix Systems, Inc. | System for virtualizing access to named system objects using rule action associated with request |
US8117559B2 (en) * | 2004-09-30 | 2012-02-14 | Citrix Systems, Inc. | Method and apparatus for virtualizing window information |
US8171479B2 (en) * | 2004-09-30 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers |
US7725601B2 (en) | 2004-10-12 | 2010-05-25 | International Business Machines Corporation | Apparatus, system, and method for presenting a mapping between a namespace and a set of computing resources |
JP4724412B2 (ja) * | 2004-11-25 | 2011-07-13 | キヤノン株式会社 | 画像データ記録装置 |
US9165003B1 (en) * | 2004-11-29 | 2015-10-20 | Netapp, Inc. | Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system |
US7434091B1 (en) | 2004-12-07 | 2008-10-07 | Symantec Operating Corporation | Flexibly combining mirroring, concatenation and striping in virtual storage devices |
US7844691B2 (en) * | 2004-12-30 | 2010-11-30 | Xstor Systems, Inc. | Scalable distributed storage and delivery |
US7885970B2 (en) | 2005-01-20 | 2011-02-08 | F5 Networks, Inc. | Scalable system for partitioning and accessing metadata over multiple servers |
US20060167838A1 (en) * | 2005-01-21 | 2006-07-27 | Z-Force Communications, Inc. | File-based hybrid file storage scheme supporting multiple file switches |
US7958347B1 (en) | 2005-02-04 | 2011-06-07 | F5 Networks, Inc. | Methods and apparatus for implementing authentication |
US7843938B1 (en) | 2005-02-25 | 2010-11-30 | Citrix Systems, Inc. | QoS optimization with compression |
US7805422B2 (en) | 2005-02-28 | 2010-09-28 | Microsoft Corporation | Change notification query multiplexing |
US7392263B2 (en) * | 2005-02-28 | 2008-06-24 | Microsoft Corporation | File system represented inside a database |
EP1708097A1 (de) * | 2005-03-31 | 2006-10-04 | Ubs Ag | Rechnernetzwerksystem zum Synchronisieren einer zweiten Datenbank mit einer ersten Datenbank sowie Vorgehensweise hierfür |
EP1708094A1 (de) * | 2005-03-31 | 2006-10-04 | Ubs Ag | Rechnernetzwerksystem zum Aufbauen, Synchronisieren und/oder Betreiben einer zweiten Datenbank aus/mit einer ersten Datenbank sowie Vorgehensweisen hierfür |
EP1708095A1 (de) * | 2005-03-31 | 2006-10-04 | Ubs Ag | Rechnernetzwerksystem zum Aufbauen, Synchronisieren und/oder Betreiben einer zweiten Datenbank aus/mit einer ersten Datenbank sowie Vorgehensweisen hierfür |
US7904649B2 (en) * | 2005-04-29 | 2011-03-08 | Netapp, Inc. | System and method for restriping data across a plurality of volumes |
US8510449B1 (en) * | 2005-04-29 | 2013-08-13 | Netapp, Inc. | Caching of data requests in session-based environment |
JP4380592B2 (ja) * | 2005-05-17 | 2009-12-09 | ソニー株式会社 | データ共有システムおよび方法 |
US7801859B1 (en) * | 2005-05-25 | 2010-09-21 | Emc Corporation | Tracking filesystem backups |
US8126856B2 (en) * | 2005-05-26 | 2012-02-28 | Hewlett-Packard Development Company, L.P. | File access management system |
US20060294115A1 (en) * | 2005-06-23 | 2006-12-28 | Emc Corporation | Methods and apparatus for storing content in a file system |
US9378099B2 (en) | 2005-06-24 | 2016-06-28 | Catalogic Software, Inc. | Instant data center recovery |
CN1327728C (zh) * | 2005-06-27 | 2007-07-18 | 华为技术有限公司 | 一种实现移动交换中心双归属的方法 |
US7634516B2 (en) * | 2005-08-17 | 2009-12-15 | International Business Machines Corporation | Maintaining an aggregate including active files in a storage pool in a random access medium |
US7660834B2 (en) * | 2005-08-17 | 2010-02-09 | International Business Machines Corporation | Maintaining an aggregate including active files in a storage pool |
CN101263494B (zh) * | 2005-09-30 | 2010-12-22 | 新途径网络公司 | 用于监控与存储网络中的对象相关的事务的方法和装置 |
US20070083620A1 (en) * | 2005-10-07 | 2007-04-12 | Pedersen Bradley J | Methods for selecting between a predetermined number of execution methods for an application program |
US8131825B2 (en) | 2005-10-07 | 2012-03-06 | Citrix Systems, Inc. | Method and a system for responding locally to requests for file metadata associated with files stored remotely |
JP4920248B2 (ja) * | 2005-12-02 | 2012-04-18 | 株式会社日立製作所 | サーバの障害回復方法及びデータベースシステム |
JP4795787B2 (ja) * | 2005-12-09 | 2011-10-19 | 株式会社日立製作所 | ストレージシステム、nasサーバ、及びスナップショット方法 |
US7860865B2 (en) * | 2005-12-19 | 2010-12-28 | Yahoo! Inc. | System of a hierarchy of servers for query processing of column chunks in a distributed column chunk data store |
US20070143248A1 (en) * | 2005-12-19 | 2007-06-21 | Yahoo! Inc. | Method using query processing servers for query processing of column chunks in a distributed column chunk data store |
US7921087B2 (en) * | 2005-12-19 | 2011-04-05 | Yahoo! Inc. | Method for query processing of column chunks in a distributed column chunk data store |
US7921131B2 (en) * | 2005-12-19 | 2011-04-05 | Yahoo! Inc. | Method using a hierarchy of servers for query processing of column chunks in a distributed column chunk data store |
US7921132B2 (en) * | 2005-12-19 | 2011-04-05 | Yahoo! Inc. | System for query processing of column chunks in a distributed column chunk data store |
US8214388B2 (en) * | 2005-12-19 | 2012-07-03 | Yahoo! Inc | System and method for adding a storage server in a distributed column chunk data store |
US7640247B2 (en) * | 2006-02-06 | 2009-12-29 | Microsoft Corporation | Distributed namespace aggregation |
US9785951B1 (en) | 2006-02-28 | 2017-10-10 | International Business Machines Corporation | Scalable tuning engine |
US9858579B1 (en) | 2006-02-28 | 2018-01-02 | International Business Machines Corporation | Plan tuning engine |
US20070214285A1 (en) * | 2006-03-08 | 2007-09-13 | Omneon Video Networks | Gateway server |
US8417746B1 (en) | 2006-04-03 | 2013-04-09 | F5 Networks, Inc. | File system management with enhanced searchability |
US7308523B1 (en) | 2006-04-10 | 2007-12-11 | Pericom Semiconductor Corp. | Flow-splitting and buffering PCI express switch to reduce head-of-line blocking |
US20070250540A1 (en) * | 2006-04-20 | 2007-10-25 | Hsu Mike S C | A Computer System with File Attribute Extension |
EP1858228A1 (en) * | 2006-05-16 | 2007-11-21 | THOMSON Licensing | Network data storage system with distributed file management |
EP1858229A1 (en) * | 2006-05-16 | 2007-11-21 | Thomson Licensing | Network data storage system with distributed file management |
US8019790B2 (en) * | 2006-07-11 | 2011-09-13 | Dell Products, Lp | System and method of dynamically changing file representations |
WO2008016515A2 (en) * | 2006-08-01 | 2008-02-07 | Massachusetts Institute Of Technology | Extreme virtual memory |
US7689547B2 (en) * | 2006-09-06 | 2010-03-30 | Microsoft Corporation | Encrypted data search |
US9424270B1 (en) * | 2006-09-28 | 2016-08-23 | Photobucket Corporation | System and method for managing media files |
US20080104146A1 (en) * | 2006-10-31 | 2008-05-01 | Rebit, Inc. | System for automatically shadowing encrypted data and file directory structures for a plurality of network-connected computers using a network-attached memory with single instance storage |
CA2668076A1 (en) * | 2006-10-31 | 2008-05-08 | Rebit, Inc. | System for automatically shadowing data and file directory structures for a plurality of network-connected computers using a network-atached memory |
US8266105B2 (en) * | 2006-10-31 | 2012-09-11 | Rebit, Inc. | System for automatically replicating a customer's personalized computer system image on a new computer system |
US20080177872A1 (en) * | 2006-11-10 | 2008-07-24 | Vengroff Darren E | Managing aggregation and sending of communications |
US7685227B2 (en) * | 2006-11-10 | 2010-03-23 | Gerber Robert H | Message forwarding backup manager in a distributed server system |
US8640201B2 (en) * | 2006-12-11 | 2014-01-28 | Microsoft Corporation | Mail server coordination activities using message metadata |
US7792141B2 (en) * | 2007-01-08 | 2010-09-07 | Hellosoft, Inc. | Hardware-centric medium access control (MAC) device |
US9760146B2 (en) * | 2007-01-08 | 2017-09-12 | Imagination Technologies Limited | Conditional activation and deactivation of a microprocessor |
US8243638B2 (en) * | 2007-01-08 | 2012-08-14 | Hellosoft, Inc. | Passive listening in wireless communication |
US8238278B2 (en) | 2007-01-08 | 2012-08-07 | Hellosoft, Inc. | Hardware-based beacon processing |
EP2111509B2 (en) * | 2007-01-15 | 2022-11-09 | Vestas Wind Systems A/S | A system and method for monitoring and control of wind farms |
JP5137409B2 (ja) * | 2007-02-05 | 2013-02-06 | 株式会社日立製作所 | ファイル格納方法及び計算機システム |
JP2008197745A (ja) * | 2007-02-08 | 2008-08-28 | Hitachi Ltd | ストレージ仮想化システムにおける記憶制御装置 |
JP5111898B2 (ja) * | 2007-03-09 | 2013-01-09 | 株式会社日立製作所 | ファイル管理方法及び計算機システム |
US9889239B2 (en) | 2007-03-23 | 2018-02-13 | Allegiance Corporation | Fluid collection and disposal system and related methods |
WO2008118397A1 (en) | 2007-03-23 | 2008-10-02 | Allegiance Corporation | Fluid collection and disposal system having internchangeable collection and other features and methods relating thereof |
US20090077097A1 (en) * | 2007-04-16 | 2009-03-19 | Attune Systems, Inc. | File Aggregation in a Switched File System |
US7707298B2 (en) * | 2007-05-10 | 2010-04-27 | Microsoft Corporation | Secure sharing of LOB bound information in client applications |
US8682916B2 (en) | 2007-05-25 | 2014-03-25 | F5 Networks, Inc. | Remote file virtualization in a switched file system |
US20080313088A1 (en) * | 2007-06-12 | 2008-12-18 | Cahn Robert S | Identification verification system |
US8965956B2 (en) * | 2007-10-09 | 2015-02-24 | Cleversafe, Inc. | Integrated client for use with a dispersed data storage network |
US8171483B2 (en) | 2007-10-20 | 2012-05-01 | Citrix Systems, Inc. | Method and system for communicating between isolation environments |
US20090112789A1 (en) * | 2007-10-31 | 2009-04-30 | Fernando Oliveira | Policy based file management |
EP2203810A4 (en) * | 2007-10-24 | 2014-08-13 | Emc Corp | FILE MANAGEMENT ON POLICY BASIS |
US8548953B2 (en) | 2007-11-12 | 2013-10-01 | F5 Networks, Inc. | File deduplication using storage tiers |
US8180747B2 (en) | 2007-11-12 | 2012-05-15 | F5 Networks, Inc. | Load sharing cluster file systems |
US8117244B2 (en) | 2007-11-12 | 2012-02-14 | F5 Networks, Inc. | Non-disruptive file migration |
US20090204705A1 (en) * | 2007-11-12 | 2009-08-13 | Attune Systems, Inc. | On Demand File Virtualization for Server Configuration Management with Limited Interruption |
US20090204650A1 (en) * | 2007-11-15 | 2009-08-13 | Attune Systems, Inc. | File Deduplication using Copy-on-Write Storage Tiers |
US8352785B1 (en) | 2007-12-13 | 2013-01-08 | F5 Networks, Inc. | Methods for generating a unified virtual snapshot and systems thereof |
US8849940B1 (en) * | 2007-12-14 | 2014-09-30 | Blue Coat Systems, Inc. | Wide area network file system with low latency write command processing |
US7966288B2 (en) * | 2008-01-02 | 2011-06-21 | Sandisk Il Ltd. | Device and method for integrating file systems |
US8224864B1 (en) * | 2008-01-07 | 2012-07-17 | Network Appliance, Inc. | Striping directories across a striped volume set by the filenames contained in the directories |
JP4748463B2 (ja) * | 2008-04-02 | 2011-08-17 | 日本電気株式会社 | ファイルシステム、ファイルシステムの制御方法 |
US8135838B2 (en) | 2008-04-08 | 2012-03-13 | Geminare Incorporated | System and method for providing data and application continuity in a computer system |
US20090313259A1 (en) * | 2008-06-17 | 2009-12-17 | Microsoft Corporation | Container handlers for sharing and unsharing |
US8738531B1 (en) * | 2008-07-08 | 2014-05-27 | InfoWatch | Cryptographic distributed storage system and method |
US8549582B1 (en) | 2008-07-11 | 2013-10-01 | F5 Networks, Inc. | Methods for handling a multi-protocol content name and systems thereof |
US20100036858A1 (en) * | 2008-08-06 | 2010-02-11 | Microsoft Corporation | Meta file system - transparently managing storage using multiple file systems |
US8117343B2 (en) * | 2008-10-28 | 2012-02-14 | Hewlett-Packard Development Company, L.P. | Landmark chunking of landmarkless regions |
US8943409B2 (en) * | 2008-12-26 | 2015-01-27 | Sandisk Il Ltd. | Storage device managing playable content |
US20100169395A1 (en) * | 2008-12-26 | 2010-07-01 | Sandisk Il Ltd. | Device and method for filtering a file system |
US8166067B2 (en) * | 2008-12-26 | 2012-04-24 | Sandisk Il Ltd. | Method and apparatus for providing access to files based on user identity |
US8239395B2 (en) | 2008-12-26 | 2012-08-07 | Sandisk Il Ltd. | Storage device presenting to hosts only files compatible with a defined host capability |
JP5215898B2 (ja) * | 2009-02-10 | 2013-06-19 | 株式会社日立製作所 | ファイルサーバ、ファイル管理システムおよびファイル再配置方法 |
US8001273B2 (en) * | 2009-03-16 | 2011-08-16 | Hewlett-Packard Development Company, L.P. | Parallel processing of input data to locate landmarks for chunks |
US7979491B2 (en) * | 2009-03-27 | 2011-07-12 | Hewlett-Packard Development Company, L.P. | Producing chunks from input data using a plurality of processing elements |
US8090797B2 (en) | 2009-05-02 | 2012-01-03 | Citrix Systems, Inc. | Methods and systems for launching applications into existing isolation environments |
US8549106B2 (en) * | 2009-06-15 | 2013-10-01 | Microsoft Corporation | Leveraging remote server pools for client applications |
WO2011008961A1 (en) | 2009-07-15 | 2011-01-20 | Allegiance Corporation | Fluid collection and disposal system and related methods |
US8713018B2 (en) | 2009-07-28 | 2014-04-29 | Fti Consulting, Inc. | System and method for displaying relationships between electronically stored information to provide classification suggestions via inclusion |
CA3026879A1 (en) | 2009-08-24 | 2011-03-10 | Nuix North America, Inc. | Generating a reference set for use during document review |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US9294270B2 (en) | 2010-01-05 | 2016-03-22 | Cisco Technology, Inc. | Detection of stale encryption policy by group members |
US8204860B1 (en) | 2010-02-09 | 2012-06-19 | F5 Networks, Inc. | Methods and systems for snapshot reconstitution |
US9195500B1 (en) | 2010-02-09 | 2015-11-24 | F5 Networks, Inc. | Methods for seamless storage importing and devices thereof |
US8843459B1 (en) | 2010-03-09 | 2014-09-23 | Hitachi Data Systems Engineering UK Limited | Multi-tiered filesystem |
EP2561322B1 (en) | 2010-04-20 | 2021-08-04 | Hewlett-Packard Development Company, L.P. | A self-arranging, luminescence-enhancement device for surface-enhanced luminescence |
US8706619B1 (en) * | 2010-06-25 | 2014-04-22 | Amazon Technologies, Inc. | Employing spillover tables for data updates |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US8959173B1 (en) * | 2010-09-30 | 2015-02-17 | Emc Corporation | Non-disruptive load-balancing of virtual machines between data centers |
US9286298B1 (en) | 2010-10-14 | 2016-03-15 | F5 Networks, Inc. | Methods for enhancing management of backup data sets and devices thereof |
US8549148B2 (en) | 2010-10-15 | 2013-10-01 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
WO2012054027A1 (en) | 2010-10-20 | 2012-04-26 | Hewlett-Packard Development Company, L.P. | Chemical-analysis device integrated with metallic-nanofinger device for chemical sensing |
WO2012054024A1 (en) | 2010-10-20 | 2012-04-26 | Hewlett-Packard Development Company, L.P. | Metallic-nanofinger device for chemical sensing |
US8612700B1 (en) | 2010-10-29 | 2013-12-17 | Symantec Corporation | Method and system of performing block level duplications of cataloged backup data |
US20120124009A1 (en) * | 2010-11-12 | 2012-05-17 | Internation Business Machines Corporation | Automatic expiration of data in file systems under certain scenarios |
US8488575B2 (en) * | 2010-11-18 | 2013-07-16 | At&T Intellectual Property, I, L.P. | Methods, devices, and computer program products for providing a plurality of application services via a customized private network connection |
US8463762B2 (en) * | 2010-12-17 | 2013-06-11 | Microsoft Corporation | Volumes and file system in cluster shared volumes |
FR2969890A1 (fr) | 2010-12-23 | 2012-06-29 | France Telecom | Procede et dispositif de communication de donnees numeriques |
US8856470B2 (en) | 2011-01-25 | 2014-10-07 | International Business Machines Corporation | Data integrity protection in storage volumes |
EP2668582A4 (en) | 2011-01-28 | 2016-06-01 | Dun & Bradstreet Corp | INVENTORY DATA ACCESS LAYER |
US8639861B1 (en) * | 2011-03-31 | 2014-01-28 | Emc Corporation | Pseudo writing system and method |
US8732342B1 (en) * | 2011-03-31 | 2014-05-20 | Emc Corporation | I/O scheduling system and method |
US9020996B2 (en) * | 2011-06-24 | 2015-04-28 | Stephen P. LORD | Synthetic view |
US9294564B2 (en) * | 2011-06-30 | 2016-03-22 | Amazon Technologies, Inc. | Shadowing storage gateway |
US8806588B2 (en) | 2011-06-30 | 2014-08-12 | Amazon Technologies, Inc. | Storage gateway activation process |
US8396836B1 (en) | 2011-06-30 | 2013-03-12 | F5 Networks, Inc. | System for mitigating file virtualization storage import latency |
US8832039B1 (en) | 2011-06-30 | 2014-09-09 | Amazon Technologies, Inc. | Methods and apparatus for data restore and recovery from a remote data store |
US10754813B1 (en) | 2011-06-30 | 2020-08-25 | Amazon Technologies, Inc. | Methods and apparatus for block storage I/O operations in a storage gateway |
US8793343B1 (en) | 2011-08-18 | 2014-07-29 | Amazon Technologies, Inc. | Redundant storage gateways |
US8966012B2 (en) * | 2011-08-31 | 2015-02-24 | Metaswitch Networks Ltd | Processing data and operating a communications device |
EP2759942A4 (en) * | 2011-09-21 | 2015-05-06 | Hitachi Ltd | COMPUTER SYSTEM, FILE MANAGEMENT METHOD AND METADATA SERVER |
US8789208B1 (en) | 2011-10-04 | 2014-07-22 | Amazon Technologies, Inc. | Methods and apparatus for controlling snapshot exports |
US8463850B1 (en) | 2011-10-26 | 2013-06-11 | F5 Networks, Inc. | System and method of algorithmically generating a server side transaction identifier |
KR20130048032A (ko) * | 2011-11-01 | 2013-05-09 | 한국전자통신연구원 | 컨텐츠 중심 네트워크에서 라우팅 방법 |
US9635132B1 (en) | 2011-12-15 | 2017-04-25 | Amazon Technologies, Inc. | Service and APIs for remote volume-based block storage |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
US8914345B1 (en) * | 2012-02-22 | 2014-12-16 | Symantec Corporation | Systems and methods for host communication in a clustered file system |
US9100289B2 (en) | 2012-11-02 | 2015-08-04 | Juniper Networks, Inc. | Creating searchable and global database of user visible process traces |
US9043573B2 (en) * | 2012-06-07 | 2015-05-26 | Netapp, Inc. | System and method for determining a level of success of operations on an abstraction of multiple logical data storage containers |
US10120574B2 (en) * | 2012-06-25 | 2018-11-06 | International Business Machines Corporation | Reversible data modifications within DS units |
CA2854067C (en) * | 2012-07-04 | 2018-12-11 | Huawei Technologies Co., Ltd. | Method, device and system for recording multimedia data |
US9075820B2 (en) * | 2012-07-30 | 2015-07-07 | Hewlett-Packard Development Company, L.P. | Distributed file system at network switch |
US8799335B2 (en) * | 2012-09-28 | 2014-08-05 | International Business Machines Corporation | Supporting coordinated access to a file system's shared storage using automatic alignment of a parallel file access protocol and metadata management |
US9519501B1 (en) | 2012-09-30 | 2016-12-13 | F5 Networks, Inc. | Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system |
CN103780642B (zh) * | 2012-10-19 | 2017-08-01 | 宇瞻科技股份有限公司 | 网络存储系统的文件分享方法 |
US20140122817A1 (en) * | 2012-10-31 | 2014-05-01 | Duke Browning | System and method for an optimized distributed storage system |
US9229657B1 (en) | 2012-11-01 | 2016-01-05 | Quantcast Corporation | Redistributing data in a distributed storage system based on attributes of the data |
US9792295B1 (en) | 2013-02-06 | 2017-10-17 | Quantcast Corporation | Distributing data of multiple logically independent file systems in distributed storage systems including physically partitioned disks |
US9811529B1 (en) * | 2013-02-06 | 2017-11-07 | Quantcast Corporation | Automatically redistributing data of multiple file systems in a distributed storage system |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9554418B1 (en) | 2013-02-28 | 2017-01-24 | F5 Networks, Inc. | Device for topology hiding of a visited network |
US20140280347A1 (en) * | 2013-03-14 | 2014-09-18 | Konica Minolta Laboratory U.S.A., Inc. | Managing Digital Files with Shared Locks |
US10038626B2 (en) | 2013-04-16 | 2018-07-31 | Amazon Technologies, Inc. | Multipath routing in a distributed load balancer |
US10135914B2 (en) | 2013-04-16 | 2018-11-20 | Amazon Technologies, Inc. | Connection publishing in a distributed load balancer |
US9559961B1 (en) | 2013-04-16 | 2017-01-31 | Amazon Technologies, Inc. | Message bus for testing distributed load balancers |
US9871712B1 (en) | 2013-04-16 | 2018-01-16 | Amazon Technologies, Inc. | Health checking in a distributed load balancer |
US9432245B1 (en) | 2013-04-16 | 2016-08-30 | Amazon Technologies, Inc. | Distributed load balancer node architecture |
US10069903B2 (en) | 2013-04-16 | 2018-09-04 | Amazon Technologies, Inc. | Distributed load balancer |
US9553809B2 (en) | 2013-04-16 | 2017-01-24 | Amazon Technologies, Inc. | Asymmetric packet flow in a distributed load balancer |
US9202077B2 (en) * | 2013-04-26 | 2015-12-01 | Vormetric, Inc. | Encryption solution for protecting file systems in multi-host clusters |
US9432305B1 (en) | 2013-06-26 | 2016-08-30 | Amazon Technologies, Inc. | Connection redistribution in load-balanced systems |
US9659019B1 (en) * | 2013-06-27 | 2017-05-23 | EMC IP Holding Company LLC | Burst buffer appliance with storage tiering control functionality based on user specification |
US9674193B1 (en) | 2013-07-30 | 2017-06-06 | Juniper Networks, Inc. | Aggregation and disbursement of licenses in distributed networks |
CN103530387A (zh) * | 2013-10-22 | 2014-01-22 | 浪潮电子信息产业股份有限公司 | 一种hdfs针对小文件的改进方法 |
US9465820B2 (en) * | 2013-11-13 | 2016-10-11 | Cellco Partnership | Method and system for unified technological stack management for relational databases |
US9544356B2 (en) | 2014-01-14 | 2017-01-10 | International Business Machines Corporation | Message switch file sharing |
US9602424B1 (en) | 2014-03-31 | 2017-03-21 | Amazon Technologies, Inc. | Connection balancing using attempt counts at distributed storage systems |
US9294558B1 (en) | 2014-03-31 | 2016-03-22 | Amazon Technologies, Inc. | Connection re-balancing in distributed storage systems |
US10523753B2 (en) | 2014-05-06 | 2019-12-31 | Western Digital Technologies, Inc. | Broadcast data operations in distributed file systems |
WO2015172107A1 (en) | 2014-05-09 | 2015-11-12 | Nutanix, Inc. | Mechanism for providing external access to a secured networked virtualization environment |
US9558076B2 (en) * | 2014-05-19 | 2017-01-31 | Sachin Baban Durge | Methods and systems of cloud-based disaster recovery |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
WO2016033052A1 (en) | 2014-08-26 | 2016-03-03 | Ctera Networks, Ltd. | Method and system for routing data flows in a cloud storage system |
GB2531795B (en) * | 2014-10-31 | 2018-12-19 | Bae Systems Plc | Communication system |
GB2531792B (en) | 2014-10-31 | 2020-08-12 | Bae Systems Plc | Communication system |
GB2531793A (en) | 2014-10-31 | 2016-05-04 | Bae Systems Plc | Communication apparatus |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US9753936B1 (en) * | 2014-12-01 | 2017-09-05 | Amazon Technologies, Inc. | Metering data in distributed storage environments |
US9621468B1 (en) | 2014-12-05 | 2017-04-11 | Amazon Technologies, Inc. | Packet transmission scheduler |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US9922201B2 (en) | 2015-04-01 | 2018-03-20 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US10963430B2 (en) | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US9860317B1 (en) | 2015-04-30 | 2018-01-02 | Amazon Technologies, Inc. | Throughput throttling for distributed file storage services with varying connection characteristics |
US10346367B1 (en) | 2015-04-30 | 2019-07-09 | Amazon Technologies, Inc. | Load shedding techniques for distributed services with persistent client connections to ensure quality of service |
US9979785B2 (en) * | 2015-09-29 | 2018-05-22 | Veritas Technologies Llc | Systems and methods for restoring data from opaque data backup streams |
EP3356961B1 (en) | 2015-10-02 | 2020-05-27 | Google LLC | Peer-to-peer syncable storage system |
US9479567B1 (en) * | 2015-10-29 | 2016-10-25 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US10691718B2 (en) | 2015-10-29 | 2020-06-23 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US9537952B1 (en) | 2016-01-29 | 2017-01-03 | Dropbox, Inc. | Apparent cloud access for hosted content items |
US10809998B2 (en) | 2016-02-12 | 2020-10-20 | Nutanix, Inc. | Virtualized file server splitting and merging |
US11010409B1 (en) * | 2016-03-29 | 2021-05-18 | EMC IP Holding Company LLC | Multi-streaming with synthetic replication |
JP6733300B2 (ja) * | 2016-05-16 | 2020-07-29 | 株式会社リコー | 情報処理装置、及び情報処理システム |
US11218418B2 (en) | 2016-05-20 | 2022-01-04 | Nutanix, Inc. | Scalable leadership election in a multi-processing computing environment |
US11068546B2 (en) | 2016-06-02 | 2021-07-20 | Nuix North America Inc. | Computer-implemented system and method for analyzing clusters of coded documents |
US10785295B2 (en) * | 2016-06-30 | 2020-09-22 | Intel Corporation | Fabric encapsulated resilient storage |
US10412198B1 (en) | 2016-10-27 | 2019-09-10 | F5 Networks, Inc. | Methods for improved transmission control protocol (TCP) performance visibility and devices thereof |
US11562034B2 (en) | 2016-12-02 | 2023-01-24 | Nutanix, Inc. | Transparent referrals for distributed file servers |
US11568073B2 (en) | 2016-12-02 | 2023-01-31 | Nutanix, Inc. | Handling permissions for virtualized file servers |
US11294777B2 (en) | 2016-12-05 | 2022-04-05 | Nutanix, Inc. | Disaster recovery for distributed file servers, including metadata fixers |
US11288239B2 (en) | 2016-12-06 | 2022-03-29 | Nutanix, Inc. | Cloning virtualized file servers |
US11281484B2 (en) | 2016-12-06 | 2022-03-22 | Nutanix, Inc. | Virtualized server systems and methods including scaling of file system virtual machines |
US10666727B2 (en) * | 2017-03-21 | 2020-05-26 | Intel Corporation | Distributed processing network operations |
US10567492B1 (en) | 2017-05-11 | 2020-02-18 | F5 Networks, Inc. | Methods for load balancing in a federated identity environment and devices thereof |
US10685010B2 (en) * | 2017-09-11 | 2020-06-16 | Amazon Technologies, Inc. | Shared volumes in distributed RAID over shared multi-queue storage devices |
US10992967B2 (en) | 2017-12-05 | 2021-04-27 | Sony Interactive Entertainment LLC | Ultra high-speed low-latency network storage |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
US10885028B2 (en) * | 2018-01-19 | 2021-01-05 | Citrix Systems, Inc. | Searching and aggregating data across multiple geolocations |
US10833943B1 (en) | 2018-03-01 | 2020-11-10 | F5 Networks, Inc. | Methods for service chaining and devices thereof |
US11086826B2 (en) | 2018-04-30 | 2021-08-10 | Nutanix, Inc. | Virtualized server systems and methods including domain joining techniques |
US11194680B2 (en) | 2018-07-20 | 2021-12-07 | Nutanix, Inc. | Two node clusters recovery on a failure |
JP6534478B1 (ja) * | 2018-08-16 | 2019-06-26 | 行徳紙工株式会社 | ファイルの秘匿分散システム及び秘匿分散方法 |
CN109447543B (zh) * | 2018-09-30 | 2021-11-23 | 长江勘测规划设计研究有限责任公司 | 基于虚拟盒号自动定位算法的复杂时空条件档案入库方法 |
US10922281B2 (en) * | 2018-10-25 | 2021-02-16 | EMC IP Holding Company LLC | Application aware deduplication |
US10891060B2 (en) * | 2018-10-31 | 2021-01-12 | EMC IP Holding Company LLC | Data storage system binding virtual volumes to host-specific protocol endpoints |
US11770447B2 (en) * | 2018-10-31 | 2023-09-26 | Nutanix, Inc. | Managing high-availability file servers |
US11221964B2 (en) * | 2019-04-24 | 2022-01-11 | EMC IP Holding Company LLC | Allocating adjacent file parts to different virtual cylinder groups mapped to physical storage devices |
US10942881B2 (en) | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Parallel operations in aggregated and virtualized solid state drives |
US11513923B2 (en) | 2019-06-25 | 2022-11-29 | Micron Technology, Inc. | Dynamic fail-safe redundancy in aggregated and virtualized solid state drives |
US11055249B2 (en) | 2019-06-25 | 2021-07-06 | Micron Technology, Inc. | Access optimization in aggregated and virtualized solid state drives |
US10942846B2 (en) | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Aggregated and virtualized solid state drives accessed via multiple logical address spaces |
US11573708B2 (en) | 2019-06-25 | 2023-02-07 | Micron Technology, Inc. | Fail-safe redundancy in aggregated and virtualized solid state drives |
US11762798B2 (en) | 2019-06-25 | 2023-09-19 | Micron Technology, Inc. | Aggregated and virtualized solid state drives with multiple host interfaces |
US11768613B2 (en) | 2019-06-25 | 2023-09-26 | Micron Technology, Inc. | Aggregation and virtualization of solid state drives |
CN110380961B (zh) * | 2019-07-05 | 2021-05-07 | 中国人民解放军战略支援部队信息工程大学 | 一种传统路由器拟态化改造的装置及方法 |
US11290531B2 (en) | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
US11089141B2 (en) * | 2020-01-08 | 2021-08-10 | Bank Of America Corporation | Method and system for data prioritization communication |
US11768809B2 (en) | 2020-05-08 | 2023-09-26 | Nutanix, Inc. | Managing incremental snapshots for fast leader node bring-up |
US11699141B2 (en) * | 2020-08-26 | 2023-07-11 | Mastercard International Incorporated | Systems and methods for distributing data |
US11968250B2 (en) * | 2022-01-18 | 2024-04-23 | Dish Wireless L.L.C. | Systems and methods for a distributed data platform |
US11824745B1 (en) * | 2022-12-15 | 2023-11-21 | Amazon Technologies, Inc. | Reverse engineering computer network system functionality |
CN116455891B (zh) * | 2023-04-06 | 2023-10-13 | 瑞众银通科技(北京)有限公司 | 数据网间安全交换系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6310250A (ja) * | 1986-06-30 | 1988-01-16 | Fujitsu Ltd | 仮想論理ボリユ−ム管理方式 |
JPH06332782A (ja) * | 1993-03-22 | 1994-12-02 | Hitachi Ltd | ファイルサーバシステム及びそのファイルアクセス制御方法 |
JPH08328760A (ja) * | 1995-06-01 | 1996-12-13 | Hitachi Ltd | ディスクアレイ装置 |
JPH08339355A (ja) * | 1995-04-17 | 1996-12-24 | At & T Ipm Corp | 分散形システムでの処理タスク実行呼び出し方法及び装置 |
JPH0916510A (ja) * | 1995-06-29 | 1997-01-17 | Ricoh Co Ltd | ファイル複写装置 |
JPH0934770A (ja) * | 1995-07-14 | 1997-02-07 | Toppan Printing Co Ltd | 分散型データベースシステム |
JPH1115720A (ja) * | 1997-06-26 | 1999-01-22 | Hitachi Ltd | 高速ファイル入出力制御方法 |
JPH11282741A (ja) * | 1998-03-27 | 1999-10-15 | Hitachi Ltd | ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法 |
JP2000148710A (ja) * | 1998-11-05 | 2000-05-30 | Victor Co Of Japan Ltd | 動画像サーバシステム |
Family Cites Families (245)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4993030A (en) * | 1988-04-22 | 1991-02-12 | Amdahl Corporation | File system for a plurality of storage classes |
JPH02226442A (ja) | 1989-02-28 | 1990-09-10 | Toshiba Corp | データベースシステムのデッドロック防止方式 |
US5218695A (en) * | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
US5511177A (en) | 1991-11-21 | 1996-04-23 | Hitachi, Ltd. | File data multiplexing method and data processing system |
US5649200A (en) * | 1993-01-08 | 1997-07-15 | Atria Software, Inc. | Dynamic rule-based version control system |
US5586260A (en) | 1993-02-12 | 1996-12-17 | Digital Equipment Corporation | Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms |
US5548724A (en) * | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
CA2173355A1 (en) * | 1993-06-09 | 1994-12-22 | Andreas Richter | Method and apparatus for multiple media digital communication system |
US6738357B1 (en) * | 1993-06-09 | 2004-05-18 | Btg International Inc. | Method and apparatus for multiple media digital communication system |
US5473362A (en) * | 1993-11-30 | 1995-12-05 | Microsoft Corporation | Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling |
US5550965A (en) * | 1993-12-27 | 1996-08-27 | Lucent Technologies Inc. | Method and system for operating a data processor to index primary data in real time with iconic table of contents |
US5689700A (en) * | 1993-12-29 | 1997-11-18 | Microsoft Corporation | Unification of directory service with file system services |
US6038586A (en) * | 1993-12-30 | 2000-03-14 | Frye; Russell | Automated software updating and distribution |
US5537585A (en) * | 1994-02-25 | 1996-07-16 | Avail Systems Corporation | Data storage management for network interconnected processors |
US5802301A (en) * | 1994-05-11 | 1998-09-01 | International Business Machines Corporation | System for load balancing by replicating portion of file while being read by first stream onto second device and reading portion with stream capable of accessing |
US5590320A (en) * | 1994-09-14 | 1996-12-31 | Smart Storage, Inc. | Computer file directory system |
US5732270A (en) * | 1994-09-15 | 1998-03-24 | Visual Edge Software Limited | System and method for providing interoperability among heterogeneous object systems |
AU3415595A (en) * | 1994-10-04 | 1996-04-26 | Banctec, Inc. | An object-oriented computer environment and related method |
US6085234A (en) * | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US5583995A (en) * | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
US5692180A (en) * | 1995-01-31 | 1997-11-25 | International Business Machines Corporation | Object-oriented cell directory database for a distributed computing environment |
US5721779A (en) | 1995-08-28 | 1998-02-24 | Funk Software, Inc. | Apparatus and methods for verifying the identity of a party |
US5832496A (en) * | 1995-10-12 | 1998-11-03 | Ncr Corporation | System and method for performing intelligent analysis of a computer database |
US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
GB9605473D0 (en) | 1996-03-15 | 1996-05-15 | Int Computers Ltd | Parallel searching technique |
US6370543B2 (en) | 1996-05-24 | 2002-04-09 | Magnifi, Inc. | Display of media previews |
US6181336B1 (en) | 1996-05-31 | 2001-01-30 | Silicon Graphics, Inc. | Database-independent, scalable, object-oriented architecture and API for managing digital multimedia assets |
EP0944873B1 (en) * | 1996-06-07 | 2007-08-22 | AT&T Corp. | Internet file system |
US5917998A (en) * | 1996-07-26 | 1999-06-29 | International Business Machines Corporation | Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging |
US6044367A (en) * | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
US6393581B1 (en) * | 1996-08-29 | 2002-05-21 | Cornell Research Foundation, Inc. | Reliable time delay-constrained cluster computing |
US6072942A (en) | 1996-09-18 | 2000-06-06 | Secure Computing Corporation | System and method of electronic mail filtering using interconnected nodes |
US6012083A (en) * | 1996-09-24 | 2000-01-04 | Ricoh Company Ltd. | Method and apparatus for document processing using agents to process transactions created based on document content |
US5920873A (en) * | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management control system for file and database |
US5937406A (en) | 1997-01-31 | 1999-08-10 | Informix Software, Inc. | File system interface to a database |
US6412004B1 (en) | 1997-03-27 | 2002-06-25 | Microsoft Corporation | Metaserver for a multimedia distribution network |
US6073209A (en) * | 1997-03-31 | 2000-06-06 | Ark Research Corporation | Data storage controller providing multiple hosts with access to multiple storage subsystems |
US6161145A (en) * | 1997-05-08 | 2000-12-12 | International Business Machines Corporation | Updating server-related data at a client |
US5806061A (en) * | 1997-05-20 | 1998-09-08 | Hewlett-Packard Company | Method for cost-based optimization over multimeida repositories |
EP0983564A1 (en) | 1997-05-21 | 2000-03-08 | Khimetrics, Inc. | Method for controlled optimization of enterprise planning models |
US5897638A (en) * | 1997-06-16 | 1999-04-27 | Ab Initio Software Corporation | Parallel virtual file system |
US5905990A (en) * | 1997-06-23 | 1999-05-18 | International Business Machines Corporation | File system viewpath mechanism |
JP3288264B2 (ja) | 1997-06-26 | 2002-06-04 | 富士通株式会社 | 設計情報管理システム,設計情報アクセス装置およびプログラム記憶媒体 |
US5893086A (en) * | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Parallel file system and method with extensible hashing |
US6493804B1 (en) * | 1997-10-01 | 2002-12-10 | Regents Of The University Of Minnesota | Global file system and data storage device locks |
US6738790B1 (en) | 1997-10-31 | 2004-05-18 | Oracle International Corporation | Approach for accessing large objects |
US5999664A (en) * | 1997-11-14 | 1999-12-07 | Xerox Corporation | System for searching a corpus of document images by user specified document layout components |
US6516351B2 (en) | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
US6374336B1 (en) | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
JPH11194899A (ja) * | 1997-12-26 | 1999-07-21 | Toshiba Corp | ディスク記憶システム及び同システムに適用するデータ更新方法 |
US6128717A (en) * | 1998-01-20 | 2000-10-03 | Quantum Corporation | Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device |
US6029168A (en) * | 1998-01-23 | 2000-02-22 | Tricord Systems, Inc. | Decentralized file mapping in a striped network file system in a distributed computing environment |
US6161185A (en) | 1998-03-06 | 2000-12-12 | Mci Communications Corporation | Personal authentication system and method for multiple computer platform |
US6173293B1 (en) * | 1998-03-13 | 2001-01-09 | Digital Equipment Corporation | Scalable distributed file system |
US6088694A (en) | 1998-03-31 | 2000-07-11 | International Business Machines Corporation | Continuous availability and efficient backup for externally referenced objects |
US6128627A (en) * | 1998-04-15 | 2000-10-03 | Inktomi Corporation | Consistent data storage in an object cache |
US6438595B1 (en) * | 1998-06-24 | 2002-08-20 | Emc Corporation | Load balancing using directory services in a data processing system |
US6256031B1 (en) * | 1998-06-26 | 2001-07-03 | Microsoft Corporation | Integration of physical and virtual namespace |
US6883063B2 (en) | 1998-06-30 | 2005-04-19 | Emc Corporation | Method and apparatus for initializing logical objects in a data storage system |
US6542909B1 (en) | 1998-06-30 | 2003-04-01 | Emc Corporation | System for determining mapping of logical objects in a computer system |
US6973455B1 (en) | 1999-03-03 | 2005-12-06 | Emc Corporation | File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator |
US7293099B1 (en) | 1998-09-29 | 2007-11-06 | Sun Microsystems, Inc. | Heterogeneous network file access |
US6397246B1 (en) * | 1998-11-13 | 2002-05-28 | International Business Machines Corporation | Method and system for processing document requests in a network system |
TW463107B (en) * | 1998-12-22 | 2001-11-11 | Ibm | Extended card file system |
US6487561B1 (en) | 1998-12-31 | 2002-11-26 | Emc Corporation | Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size |
US20010047293A1 (en) | 1999-01-26 | 2001-11-29 | Waller Matthew A. | System, method and article of manufacture to optimize inventory and inventory investment utilization in a collaborative context |
US20020035537A1 (en) | 1999-01-26 | 2002-03-21 | Waller Matthew A. | Method for economic bidding between retailers and suppliers of goods in branded, replenished categories |
CN1108578C (zh) * | 1999-01-28 | 2003-05-14 | 国际商业机器公司 | 为离线客户请求提供响应的方法及装置 |
US6560230B1 (en) * | 1999-02-01 | 2003-05-06 | Redback Networks Inc. | Packet scheduling methods and apparatus |
US6324581B1 (en) * | 1999-03-03 | 2001-11-27 | Emc Corporation | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems |
US6721794B2 (en) * | 1999-04-01 | 2004-04-13 | Diva Systems Corp. | Method of data management for efficiently storing and retrieving data to respond to user access requests |
US8099758B2 (en) | 1999-05-12 | 2012-01-17 | Microsoft Corporation | Policy based composite file system and method |
US6161336A (en) * | 1999-06-10 | 2000-12-19 | Ziv-Av; Amir | Hinged and sliding door assembly for vehicles |
US6516350B1 (en) * | 1999-06-17 | 2003-02-04 | International Business Machines Corporation | Self-regulated resource management of distributed computer resources |
US6405219B2 (en) | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US6556998B1 (en) * | 2000-05-04 | 2003-04-29 | Matsushita Electric Industrial Co., Ltd. | Real-time distributed file system |
US6477544B1 (en) * | 1999-07-16 | 2002-11-05 | Microsoft Corporation | Single instance store for file systems |
US6389433B1 (en) * | 1999-07-16 | 2002-05-14 | Microsoft Corporation | Method and system for automatically merging files into a single instance store |
US6374263B1 (en) | 1999-07-19 | 2002-04-16 | International Business Machines Corp. | System for maintaining precomputed views |
US6728265B1 (en) * | 1999-07-30 | 2004-04-27 | Intel Corporation | Controlling frame transmission |
US6549916B1 (en) | 1999-08-05 | 2003-04-15 | Oracle Corporation | Event notification system tied to a file system |
US6556997B1 (en) | 1999-10-07 | 2003-04-29 | Comverse Ltd. | Information retrieval system |
WO2001037116A2 (en) | 1999-11-16 | 2001-05-25 | 01, Inc. | Method and system for executing financial transactions via a communication medium |
US6748420B1 (en) | 1999-11-23 | 2004-06-08 | Cisco Technology, Inc. | Methods and apparatus for providing shared access to an application |
US6339785B1 (en) * | 1999-11-24 | 2002-01-15 | Idan Feigenbaum | Multi-server file download |
US6847959B1 (en) | 2000-01-05 | 2005-01-25 | Apple Computer, Inc. | Universal interface for retrieval of information in a computer system |
EP1250637A1 (en) | 2000-01-27 | 2002-10-23 | Hummingbird Ltd. | A method and system for implementing a common user logon to multiple applications |
US6742035B1 (en) * | 2000-02-28 | 2004-05-25 | Novell, Inc. | Directory-based volume location service for a distributed file system |
US6952737B1 (en) | 2000-03-03 | 2005-10-04 | Intel Corporation | Method and apparatus for accessing remote storage in a distributed storage cluster architecture |
US6826613B1 (en) * | 2000-03-15 | 2004-11-30 | 3Com Corporation | Virtually addressing storage devices through a switch |
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US7418439B2 (en) | 2000-03-17 | 2008-08-26 | Twin Peaks Software, Inc. | Mirror file system |
US6880017B1 (en) * | 2000-03-20 | 2005-04-12 | International Business Machines Corporation | System and method for providing an adaptive streaming flow control mechanism between the TCP and IP layers of the TCP/IP suite of protocols |
US7089286B1 (en) | 2000-05-04 | 2006-08-08 | Bellsouth Intellectual Property Corporation | Method and apparatus for compressing attachments to electronic mail communications for transmission |
US7167821B2 (en) | 2000-06-06 | 2007-01-23 | Microsoft Corporation | Evaluating hardware models having resource contention |
US7162499B2 (en) | 2000-06-21 | 2007-01-09 | Microsoft Corporation | Linked value replication |
JP2002007174A (ja) | 2000-06-27 | 2002-01-11 | Hitachi Ltd | 記憶装置のデータ管理システム |
US6938039B1 (en) | 2000-06-30 | 2005-08-30 | Emc Corporation | Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol |
US20040236798A1 (en) | 2001-09-11 | 2004-11-25 | Sudhir Srinivasan | Migration of control in a distributed segmented file system |
US7406484B1 (en) | 2000-09-12 | 2008-07-29 | Tbrix, Inc. | Storage allocation in a distributed segmented file system |
US20040003266A1 (en) | 2000-09-22 | 2004-01-01 | Patchlink Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US6850997B1 (en) | 2000-09-27 | 2005-02-01 | International Business Machines Corporation | System, method, and program for determining the availability of paths to a device |
US6801960B1 (en) * | 2000-09-28 | 2004-10-05 | Emc Corporation | Switch-based acceleration of computer data storage employing aggregations of disk arrays |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7272613B2 (en) | 2000-10-26 | 2007-09-18 | Intel Corporation | Method and system for managing distributed content and related metadata |
US6985956B2 (en) * | 2000-11-02 | 2006-01-10 | Sun Microsystems, Inc. | Switching system |
US6871245B2 (en) | 2000-11-29 | 2005-03-22 | Radiant Data Corporation | File system translators and methods for implementing the same |
TWI230858B (en) | 2000-12-12 | 2005-04-11 | Matsushita Electric Ind Co Ltd | File management method, content recording/playback apparatus and content recording program |
US7509322B2 (en) | 2001-01-11 | 2009-03-24 | F5 Networks, Inc. | Aggregated lock management for locking aggregated files in a switched file system |
US7788335B2 (en) | 2001-01-11 | 2010-08-31 | F5 Networks, Inc. | Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system |
AU2002249939A1 (en) | 2001-01-11 | 2002-07-24 | Z-Force Communications, Inc. | File switch and switched file system |
US20040133606A1 (en) | 2003-01-02 | 2004-07-08 | Z-Force Communications, Inc. | Directory aggregation for files distributed over a plurality of servers in a switched file system |
US8239354B2 (en) | 2005-03-03 | 2012-08-07 | F5 Networks, Inc. | System and method for managing small-size files in an aggregated file system |
US7512673B2 (en) * | 2001-01-11 | 2009-03-31 | Attune Systems, Inc. | Rule based aggregation of files and transactions in a switched file system |
US8195760B2 (en) | 2001-01-11 | 2012-06-05 | F5 Networks, Inc. | File aggregation in a switched file system |
US7383288B2 (en) * | 2001-01-11 | 2008-06-03 | Attune Systems, Inc. | Metadata based file switch and switched file system |
US6990547B2 (en) * | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Replacing file system processors by hot swapping |
US6990667B2 (en) * | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US6999912B2 (en) | 2001-03-13 | 2006-02-14 | Microsoft Corporation | Provisioning computing services via an on-line networked computing environment |
US6775679B2 (en) * | 2001-03-20 | 2004-08-10 | Emc Corporation | Building a meta file system from file system cells |
US7043637B2 (en) | 2001-03-21 | 2006-05-09 | Microsoft Corporation | On-disk file format for a serverless distributed file system |
US6990114B1 (en) * | 2001-03-26 | 2006-01-24 | Advanced Micro Devices, Inc. | System and method for deciding outgoing priority for data frames |
US7006981B2 (en) | 2001-04-04 | 2006-02-28 | Profitlogic, Inc. | Assortment decisions |
US20020150253A1 (en) | 2001-04-12 | 2002-10-17 | Brezak John E. | Methods and arrangements for protecting information in forwarded authentication messages |
US6996841B2 (en) | 2001-04-19 | 2006-02-07 | Microsoft Corporation | Negotiating secure connections through a proxy server |
US6839761B2 (en) | 2001-04-19 | 2005-01-04 | Microsoft Corporation | Methods and systems for authentication through multiple proxy servers that require different authentication data |
US20020169926A1 (en) * | 2001-04-19 | 2002-11-14 | Thomas Pinckney | Systems and methods for efficient cache management in streaming applications |
US6553352B2 (en) | 2001-05-04 | 2003-04-22 | Demand Tec Inc. | Interface for merchandise price optimization |
US7711771B2 (en) | 2001-05-25 | 2010-05-04 | Oracle International Corporation | Management and synchronization application for network file system |
US20030028514A1 (en) * | 2001-06-05 | 2003-02-06 | Lord Stephen Philip | Extended attribute caching in clustered filesystem |
US6785664B2 (en) * | 2001-06-21 | 2004-08-31 | Kevin Wade Jameson | Collection knowledge system |
US7146524B2 (en) * | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US7039061B2 (en) * | 2001-09-25 | 2006-05-02 | Intel Corporation | Methods and apparatus for retaining packet order in systems utilizing multiple transmit queues |
US6985936B2 (en) * | 2001-09-27 | 2006-01-10 | International Business Machines Corporation | Addressing the name space mismatch between content servers and content caching systems |
US7020669B2 (en) | 2001-09-27 | 2006-03-28 | Emc Corporation | Apparatus, method and system for writing data to network accessible file system while minimizing risk of cache data loss/ data corruption |
US7051112B2 (en) * | 2001-10-02 | 2006-05-23 | Tropic Networks Inc. | System and method for distribution of software |
JP2003223287A (ja) | 2001-11-22 | 2003-08-08 | Toshiba Corp | 記憶装置、この記憶装置のバックアップ方法及びプログラム |
US7610390B2 (en) | 2001-12-04 | 2009-10-27 | Sun Microsystems, Inc. | Distributed network identity |
US6782450B2 (en) * | 2001-12-06 | 2004-08-24 | Raidcore, Inc. | File mode RAID subsystem |
US6986015B2 (en) | 2001-12-10 | 2006-01-10 | Incipient, Inc. | Fast path caching |
US7173929B1 (en) | 2001-12-10 | 2007-02-06 | Incipient, Inc. | Fast path for performing data operations |
US7013379B1 (en) | 2001-12-10 | 2006-03-14 | Incipient, Inc. | I/O primitives |
US6959373B2 (en) | 2001-12-10 | 2005-10-25 | Incipient, Inc. | Dynamic and variable length extents |
US6973549B1 (en) | 2001-12-10 | 2005-12-06 | Incipient, Inc. | Locking technique for control and synchronization |
US7024427B2 (en) | 2001-12-19 | 2006-04-04 | Emc Corporation | Virtual file system |
US6775673B2 (en) | 2001-12-19 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Logical volume-level migration in a partition-based distributed file system |
US6775672B2 (en) | 2001-12-19 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Updating references to a migrated object in a partition-based distributed file system |
US20030159072A1 (en) | 2002-02-04 | 2003-08-21 | Atreus Systems Corp. | Single sign-on for multiple network -based services |
US7020665B2 (en) | 2002-03-07 | 2006-03-28 | Microsoft Corporation | File availability in distributed file storage systems |
US20030171978A1 (en) | 2002-03-11 | 2003-09-11 | Jenkins Margalyn Toi | Efficient retail item assortment |
US20030177388A1 (en) | 2002-03-15 | 2003-09-18 | International Business Machines Corporation | Authenticated identity translation within a multiple computing unit environment |
US7043485B2 (en) | 2002-03-19 | 2006-05-09 | Network Appliance, Inc. | System and method for storage of snapshot metadata in a remote file |
US7010553B2 (en) | 2002-03-19 | 2006-03-07 | Network Appliance, Inc. | System and method for redirecting access to a remote mirrored snapshot |
US6934706B1 (en) | 2002-03-22 | 2005-08-23 | International Business Machines Corporation | Centralized mapping of security credentials for database access operations |
KR100424614B1 (ko) | 2002-04-27 | 2004-03-27 | 삼성전자주식회사 | 인터넷 프로토콜 기반 통신 시스템 및 그의 호스트 주소설정 및 소스 주소 선택 방법 |
US20040006575A1 (en) * | 2002-04-29 | 2004-01-08 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
US7243094B2 (en) * | 2002-05-31 | 2007-07-10 | Softek Storage Solutions Corporation | Method and system for intelligent storage management |
JP4240930B2 (ja) | 2002-07-15 | 2009-03-18 | 株式会社日立製作所 | 複数ネットワークストレージの仮送想一元化方法及び装置 |
US7177275B2 (en) * | 2002-07-26 | 2007-02-13 | Kenneth Stanwood | Scheduling method and system for communication systems that offer multiple classes of service |
US7263610B2 (en) * | 2002-07-30 | 2007-08-28 | Imagictv, Inc. | Secure multicast flow |
US7269168B2 (en) * | 2002-07-31 | 2007-09-11 | Brocade Communications Systems, Inc. | Host bus adaptor-based virtualization switch |
US20040028043A1 (en) * | 2002-07-31 | 2004-02-12 | Brocade Communications Systems, Inc. | Method and apparatus for virtualizing storage devices inside a storage area network fabric |
US7120728B2 (en) * | 2002-07-31 | 2006-10-10 | Brocade Communications Systems, Inc. | Hardware-based translating virtualization switch |
US7120746B2 (en) | 2002-09-09 | 2006-10-10 | International Business Machines Corporation | Technique for data transfer |
US6847970B2 (en) * | 2002-09-11 | 2005-01-25 | International Business Machines Corporation | Methods and apparatus for managing dependencies in distributed systems |
US7171469B2 (en) | 2002-09-16 | 2007-01-30 | Network Appliance, Inc. | Apparatus and method for storing data in a proxy cache in a network |
US7752294B2 (en) | 2002-10-28 | 2010-07-06 | Netapp, Inc. | Method and system for dynamic expansion and contraction of nodes in a storage area network |
US20040139355A1 (en) | 2002-11-07 | 2004-07-15 | Axel David J. | Method and system of accessing a plurality of network elements |
EP2299375A3 (en) | 2002-11-14 | 2012-02-01 | EMC Corporation | Systems and methods for restriping files in a distributed file system |
US7475241B2 (en) | 2002-11-22 | 2009-01-06 | Cisco Technology, Inc. | Methods and apparatus for dynamic session key generation and rekeying in mobile IP |
US6961815B2 (en) | 2002-12-05 | 2005-11-01 | International Business Machines Corporation | Multiple disk data storage system for reducing power consumption |
AU2003300350A1 (en) | 2003-01-02 | 2004-07-29 | Attune Systems, Inc. | Metadata based file switch and switched file system |
US7877511B1 (en) | 2003-01-13 | 2011-01-25 | F5 Networks, Inc. | Method and apparatus for adaptive services networking |
JP2004280283A (ja) | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
EP1467289A1 (en) | 2003-04-07 | 2004-10-13 | Deutsche Thomson-Brandt Gmbh | database model for hierarchical data formats |
US7072917B2 (en) * | 2003-04-24 | 2006-07-04 | Neopath Networks, Inc. | Extended storage capacity for a network file server |
US7346664B2 (en) | 2003-04-24 | 2008-03-18 | Neopath Networks, Inc. | Transparent file migration using namespace replication |
JP4270371B2 (ja) | 2003-05-09 | 2009-05-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記憶システム、制御装置、制御方法、及び、プログラム |
US7653699B1 (en) | 2003-06-12 | 2010-01-26 | Symantec Operating Corporation | System and method for partitioning a file system for enhanced availability and scalability |
US7849112B2 (en) * | 2003-09-03 | 2010-12-07 | Emc Corporation | Using a file handle for associating the file with a tree quota in a file server |
US20050091658A1 (en) | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Operating system resource protection |
WO2005043323A2 (en) | 2003-10-27 | 2005-05-12 | Archivas, Inc. | Policy-based management of a redundant array of independent nodes |
US7440982B2 (en) | 2003-11-13 | 2008-10-21 | Commvault Systems, Inc. | System and method for stored data archive verification |
US20050108575A1 (en) | 2003-11-18 | 2005-05-19 | Yung Chong M. | Apparatus, system, and method for faciliating authenticated communication between authentication realms |
US7243089B2 (en) | 2003-11-25 | 2007-07-10 | International Business Machines Corporation | System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data |
JP4307964B2 (ja) | 2003-11-26 | 2009-08-05 | 株式会社日立製作所 | アクセス制限情報設定方法および装置 |
US7234074B2 (en) | 2003-12-17 | 2007-06-19 | International Business Machines Corporation | Multiple disk data storage system for reducing power consumption |
US7293133B1 (en) | 2003-12-31 | 2007-11-06 | Veritas Operating Corporation | Performing operations without requiring split mirrors in a multi-class file system |
WO2005086001A1 (en) | 2004-02-27 | 2005-09-15 | Incipient, Inc. | Distributed asynchronous ordered replication |
CN1954611A (zh) | 2004-04-09 | 2007-04-25 | 诺基亚公司 | 压缩图像数据文件的生成方法,图像数据压缩装置及摄影装置 |
US8190741B2 (en) | 2004-04-23 | 2012-05-29 | Neopath Networks, Inc. | Customizing a namespace in a decentralized storage environment |
US7194579B2 (en) * | 2004-04-26 | 2007-03-20 | Sun Microsystems, Inc. | Sparse multi-component files |
US7437358B2 (en) | 2004-06-25 | 2008-10-14 | Apple Inc. | Methods and systems for managing data |
US8156123B2 (en) | 2004-06-25 | 2012-04-10 | Apple Inc. | Method and apparatus for processing metadata |
US7519813B1 (en) | 2004-08-02 | 2009-04-14 | Network Appliance, Inc. | System and method for a sidecar authentication mechanism |
US7519067B2 (en) * | 2004-09-01 | 2009-04-14 | International Business Machines Corporation | Method, system, and computer product for controlling input message priority |
US7284150B2 (en) * | 2004-09-22 | 2007-10-16 | International Business Machines Corporation | System and method for reliably storing data and providing efficient incremental backup and asynchronous mirroring by preferentially handling new data |
US7721328B2 (en) | 2004-10-01 | 2010-05-18 | Salesforce.Com Inc. | Application identity design |
US7574433B2 (en) | 2004-10-08 | 2009-08-11 | Paterra, Inc. | Classification-expanded indexing and retrieval of classified documents |
US7610307B2 (en) | 2004-11-30 | 2009-10-27 | Microsoft Corporation | Method and system of detecting file system namespace changes and restoring consistency |
US7831639B1 (en) | 2004-12-22 | 2010-11-09 | Symantec Operating Corporation | System and method for providing data protection by using sparse files to represent images of data stored in block devices |
US7415488B1 (en) | 2004-12-31 | 2008-08-19 | Symantec Operating Corporation | System and method for redundant storage consistency recovery |
US7885970B2 (en) | 2005-01-20 | 2011-02-08 | F5 Networks, Inc. | Scalable system for partitioning and accessing metadata over multiple servers |
US20060167838A1 (en) | 2005-01-21 | 2006-07-27 | Z-Force Communications, Inc. | File-based hybrid file storage scheme supporting multiple file switches |
US7958347B1 (en) | 2005-02-04 | 2011-06-07 | F5 Networks, Inc. | Methods and apparatus for implementing authentication |
US7913053B1 (en) | 2005-02-15 | 2011-03-22 | Symantec Operating Corporation | System and method for archival of messages in size-limited containers and separate archival of attachments in content addressable storage |
JP4174480B2 (ja) | 2005-02-21 | 2008-10-29 | キヤノン株式会社 | データ送信装置及びその制御方法とそれを用いた画像読取装置 |
US8055724B2 (en) | 2005-03-21 | 2011-11-08 | Emc Corporation | Selection of migration methods including partial read restore in distributed storage management |
US20060224687A1 (en) | 2005-03-31 | 2006-10-05 | Popkin Laird A | Method and apparatus for offline cooperative file distribution using cache nodes |
US8887233B2 (en) | 2005-04-08 | 2014-11-11 | Netapp, Inc. | Cookie-based acceleration of an authentication protocol |
US20060277225A1 (en) | 2005-06-07 | 2006-12-07 | Mark Timothy W | Converting file system metadata structure while the file system remains available |
US7467158B2 (en) | 2005-06-10 | 2008-12-16 | Microsoft Corporation | Object virtualization |
US8832697B2 (en) | 2005-06-29 | 2014-09-09 | Cisco Technology, Inc. | Parallel filesystem traversal for transparent mirroring of directories and files |
CN1901537A (zh) | 2005-07-22 | 2007-01-24 | 国际商业机器公司 | 自适应会话压缩管理方法、压缩管理器及会话管理系统 |
US7599941B2 (en) | 2005-07-25 | 2009-10-06 | Parascale, Inc. | Transparent redirection and load-balancing in a storage network |
US7694082B2 (en) | 2005-07-29 | 2010-04-06 | International Business Machines Corporation | Computer program and method for managing resources in a distributed storage system |
US20070027929A1 (en) | 2005-08-01 | 2007-02-01 | Whelan Gary J | System, method, and/or computer program product for a file system interface |
US8131689B2 (en) | 2005-09-30 | 2012-03-06 | Panagiotis Tsirigotis | Accumulating access frequency and file attributes for supporting policy based storage management |
US20070088702A1 (en) | 2005-10-03 | 2007-04-19 | Fridella Stephen A | Intelligent network client for multi-protocol namespace redirection |
US7734603B1 (en) | 2006-01-26 | 2010-06-08 | Netapp, Inc. | Content addressable storage array element |
US9047310B2 (en) | 2006-02-22 | 2015-06-02 | Microsoft Technology Licensing, Llc | Reliable, efficient peer-to-peer storage |
US8266697B2 (en) | 2006-03-04 | 2012-09-11 | 21St Century Technologies, Inc. | Enabling network intrusion detection by representing network activity in graphical form utilizing distributed data sensors to detect and transmit activity data |
US7639883B2 (en) | 2006-04-18 | 2009-12-29 | Nokia Corporation | Method, device, mobile terminal and computer program product for providing variable compression of data files |
US20080070575A1 (en) | 2006-09-15 | 2008-03-20 | Holger Claussen | Method of administering call handover between cells in a communications system |
US7685177B1 (en) * | 2006-10-03 | 2010-03-23 | Emc Corporation | Detecting and managing orphan files between primary and secondary data stores |
JP5244332B2 (ja) | 2006-10-30 | 2013-07-24 | 株式会社日立製作所 | 情報システム、データ転送方法及びデータ保護方法 |
US20080243769A1 (en) | 2007-03-30 | 2008-10-02 | Symantec Corporation | System and method for exporting data directly from deduplication storage to non-deduplication storage |
US20090077097A1 (en) | 2007-04-16 | 2009-03-19 | Attune Systems, Inc. | File Aggregation in a Switched File System |
US20080282047A1 (en) | 2007-05-08 | 2008-11-13 | Hitachi, Ltd. | Methods and apparatus to backup and restore data for virtualized storage area |
US8682916B2 (en) | 2007-05-25 | 2014-03-25 | F5 Networks, Inc. | Remote file virtualization in a switched file system |
US8862590B2 (en) | 2007-06-29 | 2014-10-14 | Microsoft Corporation | Flexible namespace prioritization |
WO2009017875A2 (en) | 2007-07-30 | 2009-02-05 | Baytsp, Inc. | System and method for authenticating content |
US9128882B2 (en) | 2007-08-08 | 2015-09-08 | Qualcomm Incorporated | Mobile client device driven data backup |
US7822939B1 (en) | 2007-09-25 | 2010-10-26 | Emc Corporation | Data de-duplication using thin provisioning |
US7870154B2 (en) | 2007-09-28 | 2011-01-11 | Hitachi, Ltd. | Method and apparatus for NAS/CAS unified storage system |
US8244781B2 (en) | 2007-09-28 | 2012-08-14 | Emc Corporation | Network accessed storage files system query/set proxy service for a storage virtualization system |
US20090132616A1 (en) | 2007-10-02 | 2009-05-21 | Richard Winter | Archival backup integration |
US8396838B2 (en) * | 2007-10-17 | 2013-03-12 | Commvault Systems, Inc. | Legal compliance, electronic discovery and electronic document handling of online and offline copies of data |
AU2008311849A1 (en) | 2007-10-20 | 2009-04-23 | Citrix Systems, Inc. | Systems and methods for folder redirection |
US20090204705A1 (en) | 2007-11-12 | 2009-08-13 | Attune Systems, Inc. | On Demand File Virtualization for Server Configuration Management with Limited Interruption |
US8180747B2 (en) | 2007-11-12 | 2012-05-15 | F5 Networks, Inc. | Load sharing cluster file systems |
US8117244B2 (en) | 2007-11-12 | 2012-02-14 | F5 Networks, Inc. | Non-disruptive file migration |
US8548953B2 (en) | 2007-11-12 | 2013-10-01 | F5 Networks, Inc. | File deduplication using storage tiers |
US20090204650A1 (en) | 2007-11-15 | 2009-08-13 | Attune Systems, Inc. | File Deduplication using Copy-on-Write Storage Tiers |
-
2002
- 2002-01-10 AU AU2002249939A patent/AU2002249939A1/en not_active Abandoned
- 2002-01-10 EP EP02718824A patent/EP1368736A2/en not_active Withdrawn
- 2002-01-10 TW TW091100232A patent/TW561358B/zh active
- 2002-01-10 US US10/043,413 patent/US7562110B2/en active Active
- 2002-01-10 WO PCT/US2002/000720 patent/WO2002056181A2/en active Application Filing
- 2002-01-10 JP JP2002556371A patent/JP2005502096A/ja not_active Ceased
-
2003
- 2003-01-02 US US10/336,704 patent/US6889249B2/en not_active Ceased
-
2007
- 2007-03-14 US US11/724,107 patent/USRE43346E1/en not_active Expired - Fee Related
-
2009
- 2009-06-09 US US12/481,086 patent/US20090240705A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6310250A (ja) * | 1986-06-30 | 1988-01-16 | Fujitsu Ltd | 仮想論理ボリユ−ム管理方式 |
JPH06332782A (ja) * | 1993-03-22 | 1994-12-02 | Hitachi Ltd | ファイルサーバシステム及びそのファイルアクセス制御方法 |
JPH08339355A (ja) * | 1995-04-17 | 1996-12-24 | At & T Ipm Corp | 分散形システムでの処理タスク実行呼び出し方法及び装置 |
JPH08328760A (ja) * | 1995-06-01 | 1996-12-13 | Hitachi Ltd | ディスクアレイ装置 |
JPH0916510A (ja) * | 1995-06-29 | 1997-01-17 | Ricoh Co Ltd | ファイル複写装置 |
JPH0934770A (ja) * | 1995-07-14 | 1997-02-07 | Toppan Printing Co Ltd | 分散型データベースシステム |
JPH1115720A (ja) * | 1997-06-26 | 1999-01-22 | Hitachi Ltd | 高速ファイル入出力制御方法 |
JPH11282741A (ja) * | 1998-03-27 | 1999-10-15 | Hitachi Ltd | ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法 |
JP2000148710A (ja) * | 1998-11-05 | 2000-05-30 | Victor Co Of Japan Ltd | 動画像サーバシステム |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180843B2 (en) | 2003-04-24 | 2012-05-15 | Neopath Networks, Inc. | Transparent file migration using namespace replication |
US7831641B2 (en) | 2003-04-24 | 2010-11-09 | Neopath Networks, Inc. | Large file support for a network file server |
JP2006524873A (ja) * | 2003-04-24 | 2006-11-02 | ネオパス ネットワークス,インク. | 名前空間複製を用いるトランスペアレントなファイル移動 |
US8539081B2 (en) | 2003-09-15 | 2013-09-17 | Neopath Networks, Inc. | Enabling proxy services using referral mechanisms |
US8195627B2 (en) | 2004-04-23 | 2012-06-05 | Neopath Networks, Inc. | Storage policy monitoring for a storage network |
US8190741B2 (en) | 2004-04-23 | 2012-05-29 | Neopath Networks, Inc. | Customizing a namespace in a decentralized storage environment |
US8832697B2 (en) | 2005-06-29 | 2014-09-09 | Cisco Technology, Inc. | Parallel filesystem traversal for transparent mirroring of directories and files |
US8131689B2 (en) | 2005-09-30 | 2012-03-06 | Panagiotis Tsirigotis | Accumulating access frequency and file attributes for supporting policy based storage management |
US7694888B2 (en) | 2005-11-15 | 2010-04-13 | Infineon Technologies Ag | Method for producing a chip card contact zone |
JP2009529191A (ja) * | 2006-03-08 | 2009-08-13 | オムニオン ビデオ ネットワークス | 分散メタデータサーバを利用するファイルシステムを有するアーキテクチャにおいてシステムの一意識別子を使用する技法 |
JP2009529295A (ja) * | 2006-03-08 | 2009-08-13 | オムニオン ビデオ ネットワークス | スケーラブルなデータ記憶システムのためのネットワークトポロジ |
JP4934790B2 (ja) * | 2006-03-08 | 2012-05-16 | ハーモニック インコーポレイテッド | スケーラブルなデータ記憶システムのためのネットワークトポロジ |
US11768609B2 (en) | 2008-08-08 | 2023-09-26 | Amazon Technologies, Inc. | Managing access of multiple executing programs to nonlocal block data storage |
WO2012042792A1 (en) * | 2010-09-30 | 2012-04-05 | Nec Corporation | Storage system |
JP2013514560A (ja) * | 2010-09-30 | 2013-04-25 | 日本電気株式会社 | ストレージシステム |
US9256368B2 (en) | 2010-09-30 | 2016-02-09 | Nec Corporation | System and method for deduplication of distributed data |
JP2015135568A (ja) * | 2014-01-16 | 2015-07-27 | 株式会社日立製作所 | ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法 |
KR102314138B1 (ko) | 2015-03-05 | 2021-10-18 | 삼성전자 주식회사 | 모바일 장치 및 모바일 장치의 데이터 관리 방법 |
KR20160107802A (ko) * | 2015-03-05 | 2016-09-19 | 삼성전자주식회사 | 모바일 장치 및 모바일 장치의 데이터 관리 방법 |
KR101982416B1 (ko) * | 2017-12-06 | 2019-05-24 | 고려대학교 산학협력단 | 복수의 데이터 노드를 이용하여 tcp 통신을 통해 데이터를 분산하여 저장하는 시스템을 위한 소프트웨어 정의 네트워크와, 이에 포함되는 스위치 및 그 제어 방법 |
JP7428081B2 (ja) | 2020-06-05 | 2024-02-06 | コニカミノルタ株式会社 | 振り分け装置、画像処理システム及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2002056181A2 (en) | 2002-07-18 |
AU2002249939A1 (en) | 2002-07-24 |
US20090240705A1 (en) | 2009-09-24 |
US7562110B2 (en) | 2009-07-14 |
US20040133650A1 (en) | 2004-07-08 |
US6889249B2 (en) | 2005-05-03 |
US20020120763A1 (en) | 2002-08-29 |
TW561358B (en) | 2003-11-11 |
WO2002056181A3 (en) | 2003-10-09 |
EP1368736A2 (en) | 2003-12-10 |
USRE43346E1 (en) | 2012-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7562110B2 (en) | File switch and switched file system | |
US7383288B2 (en) | Metadata based file switch and switched file system | |
US8005953B2 (en) | Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system | |
US7512673B2 (en) | Rule based aggregation of files and transactions in a switched file system | |
US8396895B2 (en) | Directory aggregation for files distributed over a plurality of servers in a switched file system | |
US7509322B2 (en) | Aggregated lock management for locking aggregated files in a switched file system | |
CA2512312C (en) | Metadata based file switch and switched file system | |
US20180011874A1 (en) | Peer-to-peer redundant file server system and methods | |
US9880753B2 (en) | Write requests in a distributed storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050107 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070122 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070423 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070501 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080526 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080826 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090813 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091217 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20100422 |