JP2005502096A - ファイルスイッチ及び交換ファイルシステム - Google Patents

ファイルスイッチ及び交換ファイルシステム Download PDF

Info

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
Application number
JP2002556371A
Other languages
English (en)
Other versions
JP2005502096A5 (ja
Inventor
ヴラディミール アイ ミルシェフ
ピーター エイ ニコロフ
Original Assignee
ゼット−フォース コミュニケイションズ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ゼット−フォース コミュニケイションズ インコーポレイテッド filed Critical ゼット−フォース コミュニケイションズ インコーポレイテッド
Publication of JP2005502096A publication Critical patent/JP2005502096A/ja
Publication of JP2005502096A5 publication Critical patent/JP2005502096A5/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1019Random or heuristic server selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2058Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer 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の組のファイルサーバを選択する段階と、
    前記第1のファイルプロトコルヘッダから得られる第2のファイルプロトコルヘッダと前記第1のデータの一部分とを含む第2のフレームを、前記第1の組のファイルサーバの第1のサーバに送る段階と、
    を含むことを特徴とする方法。
  2. 第3のファイルプロトコルヘッダを含む第3のフレームを前記第1のサーバから受信する段階と、
    前記第3のファイルプロトコルヘッダから得られる第4のファイルプロトコルヘッダを含む第4のフレームを、前記第1のクライアントコンピュータに送る段階と、
    を更に含むことを特徴とする請求項1に記載の方法。
  3. 前記第1のファイルプロトコルヘッダから得られる第3のファイルプロトコルヘッダと前記第1のデータの一部分とを含む第3のフレームを、前記第1の組のファイルサーバの第2のサーバに送る段階、
    を更に含むことを特徴とする請求項1に記載の方法。
  4. 第4のファイルプロトコルヘッダを含む第4のフレームを前記第1のサーバから受信する段階と、
    第5のファイルプロトコルヘッダを含む第5のフレームを前記第2のサーバから受信する段階と、
    前記第4のファイルプロトコルヘッダから、及び、前記第5のファイルプロトコルヘッダから得られる応答ファイルプロトコルヘッダを作成する段階と、
    前記応答ファイルプロトコルヘッダを含む第6のフレームを前記第1のクライアントコンピュータに送る段階と、
    を更に含むことを特徴とする請求項3に記載の方法。
  5. ネットワークシステムにおけるネットワークファイルプロトコル・トランザクションを統合する方法であって、
    第1のクライアントコンピュータにより開始される第1のトランザクションに属する第1のメッセージの、第1のファイルプロトコルヘッダと第1のデータとを含む第1のフレームを受信する段階と、
    前記第1のファイルプロトコルヘッダの情報に基づいて、前記第1のトランザクションの処理に参加する第1の組のファイルサーバを選択する段階と、
    前記第1のファイルプロトコルヘッダから得られる第2のファイルプロトコルヘッダと前記第1のデータの一部分とを含む第2のフレームを、前記第1の組のファイルサーバの第1のサーバに送る段階と、
    前記第1のメッセージの、第2のデータを含む第3のフレームを受信する段階と、
    第3のファイルプロトコルヘッダと前記第2のデータの一部分とを含む第4のフレームを、前記第1の組のファイルサーバの第2のサーバに送る段階と、
    を含むことを特徴とする方法。
  6. 第4のファイルプロトコルヘッダを含む第5のフレームを前記第1のサーバから受信する段階と、
    第5のファイルプロトコルヘッダを含む第6のフレームを前記第2のサーバから受信する段階と、
    前記第4のファイルプロトコルヘッダから、及び、前記第5のファイルプロトコルヘッダから得られる第6のファイルプロトコルヘッダを含む第7のフレームを前記第1のクライアントコンピュータに送る段階と、
    を更に含むことを特徴とする請求項5に記載の方法。
  7. 修正された第1のファイルプロトコルヘッダと前記第1のデータの一部分とを含む第5のフレームを、前記第1の組のファイルサーバの第3のサーバに送る段階と、
    ファイルプロトコルヘッダと前記第2のデータの一部分とを含む第6のフレームを、前記第1の組のファイルサーバの第4のサーバに送る段階と、
    を更に含むことを特徴とする請求項5に記載の方法。
  8. ネットワークシステムにおけるネットワークファイルプロトコル・トランザクションを統合する方法であって、
    第1のクライアントコンピュータにより開始された第1のトランザクションに属し、第1のファイルプロトコルヘッダを含む第1のフレームを受信する段階と、
    前記第1のファイルプロトコルヘッダの情報に基づいて、前記第1のトランザクションの処理に参加する第1の組のファイルサーバを選択する段階と、
    修正された第1のファイルプロトコルヘッダを含む第2のフレームを、前記第1の組のファイルサーバの第1のサーバに送る段階と、
    修正された第1のファイルプロトコルヘッダを含む第3のフレームを、前記第1の組のファイルサーバの第2のサーバに送る段階と、
    を含むことを特徴とする方法。
  9. 第2のファイルプロトコルヘッダと第1のデータとを含む第4のフレームを前記第1のサーバから受信する段階と、
    第3のファイルプロトコルヘッダと第2のデータとを含む第5のフレームを前記第2のサーバから受信する段階と、
    前記第2のファイルプロトコルヘッダの情報と前記第3のファイルプロトコルヘッダの情報とに基づいて、応答ファイルプロトコルヘッダを作成する段階と、
    前記応答ファイルプロトコルヘッダと前記第1のデータの一部分とを含む第6のフレームを、前記第1のクライアントコンピュータに送る段階と、
    を更に含むことを特徴とする請求項6に記載の方法。
  10. ネットワークファイルプロトコル・トランザクションを切り替えて統合することによりファイルシステムを統合する方法。
  11. 複数のファイルシステムのネームスペースを統合し、それらを単一ネームスペースとして呈示する段階と、
    複数のファイルシステムのディレクトリを、それらを単一ディレクトリとして呈示することにより統合する段階と、
    複数のファイルシステムのファイルオブジェクトを、それらを単一ファイルオブジェクトとして呈示することにより統合する段階と、
    複数のファイルシステムにおけるファイルのファイルデータを、それを単一ファイルのデータとして呈示することにより統合する段階と、
    を含むことを特徴とする、ファイルシステムを統合する方法。
  12. 統合ファイルシステムのための同時性解決機構を実施するために、前記複数のファイルシステムの各々に設けられた同時性解決機構を統合する段階、
    を更に含むことを特徴とする請求項11に記載の方法。
  13. 複数のファイルシステムのネームスペースを統合し、それらを単一ネームスペースとして呈示する段階と、
    複数のファイルシステムのディレクトリを、それらを単一ディレクトリとして呈示することにより統合する段階と、
    複数のファイルシステムのファイルオブジェクトを、それらを単一ファイルオブジェクトとして呈示することにより統合する段階と、
    複数のファイルシステムにおけるファイルのファイルデータを、それを単一ファイルのデータとして呈示することにより統合する段階と、
    を含むことを特徴とする、ネットワーク・ストレージ・システムにおけるファイルを記憶する方法。
  14. スイッチがサーバに対してクライアントとして見えるようにスイッチを実装する段階と、
    スイッチがクライアントに対してサーバとして見えるようにスイッチを実装する段階と、
    前記スイッチ間で調停するために、複数のクライアント間で調停するサーバの能力を使用する段階と、
    を含むことを特徴とする、クライアント/サーバ・プロトコルを切り替えるスイッチを拡張する方法。
  15. 複数の同時クライアントからの要求を調停するサーバの能力をもたらすクライアント/サーバ・ネットワークプロトコルの下で機能し、前記ネットワークプロトコルのクライアント側を実行するクライアントと前記ネットワークプロトコルのサーバ側を実行するサーバとを含むストレージネットワークを拡張する方法であって、
    各々がクライアントと通信する時はネットワークプロトコルのサーバ側を形成し、サーバと対話する時はネットワークプロトコルのクライアント側を形成する複数のスイッチを、クライアントとサーバとの間に挿入する段階と、
    前記スイッチ間で調停するために、複数の同時クライアント間で調停するサーバの能力を使用する段階と、
    を含むことを特徴とする方法。
  16. 複数のクライアントコンピュータと複数のサーバコンピュータとを含むコンピュータネットワークにおいて、複数のクライアントコンピュータのうちの少なくとも1つと複数のサーバコンピュータのうちの少なくとも1つとの間で相互接続された、ファイルを切り替えて統合する装置であって、
    ファイルスイッチコンピュータが、
    データとファイルプロトコルヘッダとを第1のメッセージフレームに含むメッセージを受信し、
    前記ファイルプロトコルヘッダに基づき、かつ前記メッセージのデータから独立した方法で、少なくとも1つのどのネットワークノードに前記メッセージを転送するべきかを判断し、
    前記判断に基づく方法で、修正されたファイルプロトコルヘッダを導出し、
    前記修正されたファイルプロトコルヘッダと前記メッセージデータとを転送する、
    ことを特徴とする装置。
  17. 複数の同時メッセージが前記ファイルスイッチコンピュータにより受信された時には、この同時メッセージの1つだけが、成功する要求をもたらすことを特徴とする請求項16に記載の装置。
  18. 複数のクライアントコンピュータと複数のサーバコンピュータとを含むコンピュータネットワークにおいて、少なくとも1つのクライアントコンピュータと少なくとも1つのサーバコンピュータとの間でファイル切替及びファイル統合機能性を提供する装置であって、
    前記少なくとも1つのサーバコンピュータに対してはクライアントコンピュータ、及び、前記少なくとも1つのクライアントコンピュータに対してはサーバコンピュータとして見える、
    ことを特徴とする装置。
  19. 複数のクライアントコンピュータと、
    複数のサーバコンピュータと、
    クライアントコンピュータからのファイルメッセージを複数のサーバコンピュータに切り替えることができる少なくとも1つのファイルスイッチと、
    を含むことを特徴とする、ネットワーク化されたファイルデータを処理するための交換ファイルシステム。
  20. 複数のクライアントコンピュータと、
    複数のサーバコンピュータと、
    複数のサーバからのファイルメッセージをクライアントコンピュータに統合することができる少なくとも1つのファイルスイッチと、
    を含むことを特徴とする、ネットワーク化されたファイルデータを処理するための交換ファイルシステム。
  21. 複数のサーバ、ファイルスイッチ、及び、複数のクライアントを含むコンピュータネットワークにおいて、
    第1のファイルスイッチが、ファイルヘッダをその第1のパケットに含むファイルプロトコルメッセージをクライアントから受信し、
    前記第1のファイルスイッチは、前記ファイルヘッダを解析し、
    前記第1のファイルスイッチは、複数のメッセージ処理規則に従って、前記メッセージを複数のサーバ間で分割する方法を判断する、
    ことを含む方法に従って複数のサーバ間で作成されて維持されることを特徴とするファイルディレクトリ。
  22. 前記ネットワークは、複数のスイッチを更に含むことを特徴とする請求項21に記載の方法に従って作成されて維持されたファイルディレクトリ。
  23. 前記メッセージ処理規則は、第2のファイルスイッチにより共用されることを特徴とする請求項22に記載の方法に従って作成されて維持されたファイルディレクトリ。
  24. 前記複数のメッセージ処理規則は、少なくとも1つのファイルサーバから受信したファイルメッセージを通じて、前記第1及び第2ファイルスイッチにおいて更新されることを特徴とする請求項23に記載のファイルディレクトリ。
  25. ネットワーク使用データを供給する装置であって、
    複数のクライアントコンピュータと複数のサーバコンピュータとを含むコンピュータネットワークにおいて、前記クライアントコンピュータと前記サーバコンピュータとの間でファイルを統合するための、クライアント及びサーバコンピュータ間でファイルメッセージを切り替えながら使用データを収集する装置、
    を含むことを特徴とする装置。
  26. ファイルを統合するための複数の規則は、前記使用データから得られることを特徴とする請求項25に記載の装置。
  27. ファイルを統合するための複数の規則を含み、
    前記複数の規則に対する少なくとも1つの変更は、前記使用データから得られる、
    ことを特徴とする請求項25に記載の装置。
  28. 前記少なくとも1つの変更は、前記ネットワーク内の第2の統合装置において反映されることを特徴とする請求項27に記載の装置。
  29. 各々が複数の規則に従ってファイルを統合する複数のファイルアグリゲータを含むネットワークにおいて、複数のファイルアグリゲータ内で規則を変更する方法であって、
    第1のアグリゲータにおいて規則を変更する段階と、
    前記第1のアグリゲータが、残りの複数のファイルアグリゲータに前記規則の変更を転送する段階と、
    前記残りの複数のファイルアグリゲータにおいて前記規則を更新する段階と、
    を含むことを特徴とする方法。
  30. サーバ及びクライアントを有する複数のネットワーク参加者を含み、ファイルトランザクションがこのネットワーク参加者間に流れるコンピュータネットワークにおいて、複数のネットワーク参加者間の単一トランザクションの切替及び統合を提供する装置。
  31. ヘッダを有するトランザクションを交換する複数のネットワークノードを含むコンピュータネットワークにおいて、トランザクションヘッダ内に含まれた情報に基づく方法で、ファイルプロトコル・トランザクションを他のネットワークノード間で切り替えるネットワークノード。
  32. ネットワークの複数のサーバを統合するための装置であって、
    ネットワークプロトコル・トランザクションを統合する手段、
    を含むことを特徴とする装置。
  33. ネットワーククライアントを複数のネットワークサーバに接続するための装置であって、
    ネットワークファイルを切り替える手段、
    を含むことを特徴とする装置。
JP2002556371A 2001-01-11 2002-01-10 ファイルスイッチ及び交換ファイルシステム Ceased JP2005502096A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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