JP4547263B2 - データをネットワーク中で処理する装置および方法 - Google Patents
データをネットワーク中で処理する装置および方法 Download PDFInfo
- Publication number
- JP4547263B2 JP4547263B2 JP2004536620A JP2004536620A JP4547263B2 JP 4547263 B2 JP4547263 B2 JP 4547263B2 JP 2004536620 A JP2004536620 A JP 2004536620A JP 2004536620 A JP2004536620 A JP 2004536620A JP 4547263 B2 JP4547263 B2 JP 4547263B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- proxy cache
- data object
- client
- server
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
- Y10S707/99957—Garbage collection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
(1)位置に非依存、および、名前空間の統合
(2)オン・デマンドでまばらな整合のとれたデータの複製
(3)ロード・バランシング
(4)遠隔切断アクセスおよびデータ変更
(5)プロトコル変換
これらの仮想化を適用することにより、従来の方法に関連する法外なコストを伴なうことなく、分散型ストレージの基盤を構築することが可能になる。
次に、図1Bおよび図1Cのブロック図を参照し、本発明の一実施形態によるプロキシ・キャッシュ115の動作について説明する。ファイルハンドルは、ファイルシステム内のファイル等のオブジェクトに名前を付けるのに使用される。ファイルハンドルについては、図4を参照して後で詳しく説明する。
IOベクトル194を作成した場合、ファイルバッファ・ツリー191のブロック番号が、要求されたファイル・データブロックが(ストレージデバイス171内の)バッファ内に無いことを意味する特殊な値Xであれば、キャッシュ・ミス状態が発生する。あるいは、重複しない名前182を計算した後、ファイルシステム169がテーブル検索機能を実施したときに一致するファイルID183が見付からなければ、キャッシュ・ミス状態が発生する。
プロキシ・キャッシュ114においてアクティブデータセット140内のデータファイルを更新、維持、または消去するための置換ポリシーには、様々なものがある。図2は、アクティブデータセット140内にキャッシュされたデータの重要度を、そのキャッシュされたデータに対するクライアント(複数の場合もあり)からのアクセスすなわち要求の回数に基づいて増加させる方法を示すグラフ200である。従ってプロキシ・キャッシュ115は、アクティブデータセット140内にキャッシュされたデータに対し、そのキャッシュされたデータに対するクライアント105からのアクセスまたは要求の回数に基づいて「重要度」値を動的に割り当て、調節するように構成される。プロキシ・キャッシュ115は、アクセス数すなわち要求回数が増えるのに従って、キャッシュされたデータの重要度を増加させる。例えば、プロキシ・キャッシュ115は、アクティブデータセット140内にキャッシュされたデータが重要度値Y(図2のグラフに点205で示す)に達した場合、プロキシ・キャッシュ115のストレージユニットから、そのキャッシュ・データが消去されないようにする。
NFSネットワーク・ファイルシステム・プロトコルによって処理を実行するために、クライアントは、NFS要求を下記の(1)〜(3)とともにNFSサーバに送信する。
(1)処理対象を指定するためのNFSファイルハンドル
(2)処理(検索、読出し、書込み、パーミッション変更など)
(3)要求を送信する代表となるユーザ
NFSクライアントがリモートのファイルシステムに最初にアクセスしようとする場合、クライアントはまず、ボリューム(上で述べたように、「ボリューム」という用語と「ファイルシステム」という用語は、同じ意味で使用される)のエントリ・ポイントのファイルハンドルであるルート・ファイルハンドルを入手しなければならない。その目的のために、クライアントホストは、マウント要求をサーバのマウントデーモンに送信する。ここで、マウント要求とは、ルート・ファイルハンドルにアクセスするためのプロトコルの一部であり、デーモンとは、コンピュータシステムが受信する可能性のある定期的なサービス要求を処理するために、絶え間なく動作し続け、存在するプログラムである。デーモンプログラムは、必要に応じてその要求を他のプログラム(またはプロセス)に転送する。サーバのマウントデーモンは、要求されたファイルシステムにアクセスするためのパーミッションをクライアントが有していることを確認する。マウントデーモンは、アクセスを許可する場合、ファイル(ディレクトリ)ハンドルをそのNFSクライアントに返送する。通常、各ファイルハンドルは、32バイトの不可視の識別データである。ファイル名が変更されても、そのファイルハンドルは、リネーム後のファイルのファイルハンドルとしてそのまま維持される。従って、上記のマウント処理は、ルート・ファイルハンドルにアクセスするためのプロトコルである。
本発明の一実施形態によれば、上記のようなマウントポイント間の統合が可能になるだけでなく、世界的に重複しない名前空間の作成も可能になる。従来は、NFSのマウントポイントをネストさせること(すなわち、クライアントがNFSボリュームをマウントするときに、そのボリュームに他のマウントポイントを含めること)が出来なかった。この制約は、ネットワークのユニフォーム・ビューの作成を非常に難しいものにしていた。
同一オブジェクトについて、ファイルハンドルは様々な方法で書き換えることができる。一実施形態において、ファイルハンドルは、プロキシ・キャッシュ上の関連ローカルマウントポイントの属性を利用して様々な方法で書き換えることができる。
最初に、プロキシ・キャッシュがNFSクライアントに対して保証するデータ整合性モデルを定義する。このモデルは、NFSサーバによって保証されるものと同じである。次に、サーバおよびプロキシ・キャッシュがどのようにしてこのNFSデータ整合性モデルを保証するのかについて説明する。次に、入手元サーバにアクセスし、キャッシュとディレクトリの両方を通してデータを変更しているクライアント群に対し、このデータ整合性モデルがどのように作用するかについて説明する。最後に、キャッシュ最大寿命(すなわち、入手元サーバを用いて新しさが確認される前にヒットが満たされる際の最大量の時間)を使用する方法について説明し、キャッシュ最大寿命がデータの新しさおよび整合性にどのように影響を与えるかについて説明する。以下に記載する例はNFSプロトコルに関するものになっているが、キャッシュ・データの整合性をとるためのこの方法は、他のプロトコルでも使用することができる。
クライアントの視点から見ると、NFS整合性モデルは、番号順のファイル・トランザクションを保証するものである。あるトランザクションが完了し、特定バージョンのファイルが返された後、そのファイルに対して開始されるトランザクションはいずれも、少なくとも新しいバージョン、すなわちもっと新しいバージョンを返すことが保証される。我々はこれを連続整合性と呼んでいる。NFSにおける整合性の理解が難しい理由は、例えば、種々の時間にわたるトランザクションがパイプライン化され、信頼性のないトランスポートに依存することがあるからである。従って、下記のように少数のクライアントの定義から始めることが有用である。
NFSトランザクションの開始は、クライアントが最初の要求RPC(リモート・プロシージャ・コール)を送信した時刻として定義される。以後のDUP要求(複製要求)がトランザクションの開始をリセットすることはない。DUP要求は、NFSプロトコルによって以前に行なわれた要求の複製である。ファイルサーバ上のDUPキャッシュは、クライアントからの要求に対する応答だけでなく、トランザクション識別子(XID)も格納している。各NFS要求は、重複しないXIDを有する(要求が重複しないXIDを有するのに対し、応答は要求に対応するXIDを有する)。複製要求は、もとの要求と同じXIDを有する。
NFSトランザクションの終了は、クライアントが、発生しうる複数のDUP応答のうちの最初のものを受信したときに発生する。
一方のトランザクションが完了する前に他方のトランザクションが開始された場合、それら2つのトランザクションは連続であるものと定義される。
NFSサーバ上では、ファイルは、そのファイルのアクセスに使用されるプロトコル・バージョンやエクスポートパスに応じて、種々のファイルハンドルによって参照される。プロキシ・キャッシュの一実施形態において、ファイルはファイルハンドルによって一意に識別される。これは、異なるエクスポートパスまたは異なるプロトコル・バージョンを用いて複数のマウントポイントにインポートされた実際には同一のファイルが、複数の別個のファイルとみなされることを意味している。
サーバの視点から見ると、サーバは通常、クライアント側でトランザクションが何時開始され、何時終了するのかを正確には知らない。サーバは応答を送信した後、それがクライアントに直ぐに受信されることを想定している。サーバが要求を受信した場合、サーバは、以前に送信した応答がすべてクライアントに受信された後で、その要求をクライアントが開始したものと想定する。サーバの視点から見れば、トランザクションは最初の要求を受信した時に開始され、最初の応答を返送した時に終了する。
プロキシ・キャッシュがクライアントに応答を送信した場合、プロキシ・キャッシュは、それ以降に受信した全ての要求に対する応答が、整合性のとれた返答になることを保証しなければならない。これは、特定バージョンのファイルをクライアントに教えた後、そのファイルに関する以後のトランザクションは全て、少なくともその特定バージョンと同程度に新しいバージョンを返さなければならないことを意味している。
(1)プロキシ・キャッシュは、応答をクライアントに送信するときに、以後のキャッシュ・ヒットに対して整合性のとれた応答を返すように準備することが望ましい。これは、従来は、キャッシュ・ミス時に応答をクライアントに送信する前に、データが満杯であることを確認することによって行なわれている。
(2)プロキシ・キャッシュにデータを入れる場合、プロキシ・キャッシュは、クライアントに既に返送されたそれよりも新しいバージョンのファイルが無いことが確認できた場合にのみ、そのデータを以後のキャッシュ・ヒット時に使用することができる。我々は、これを整合性充填と呼んでいる。整合性充填については以下の実施形態で説明する。
プロキシ・キャッシュが起動すると、プロキシ・キャッシュはメモリ内オブジェクトキャッシュを再構築しながらプロキシ専用モードで動作する。一実施形態において、充填はロギングされず、不適切なシャットダウンは、キャッシュを不整合状態にすることがある。そのため、プロキシ・キャッシュは起動時に、全てのキャッシュ・オブジェクトを、キャッシュ・ヒット時に返送する前に確認が必要なものとしてマークする。プロキシ・キャッシュは、クライアント要求に応答してオブジェクトをクライアントに渡す前に、そのオブジェクトの属性をチェックすることにより、そのオブジェクトが最新のバージョンであることをサーバを用いて確認する。
キャッシュ充填には次の2つがある。
(1)読出し専用処理によって返送されたデータの格納
(2)キャッシュ・データに対する変更処理の再現
変更処理は通常、プロキシ・キャッシュで常に見られるものではないので、あるいは、それらを再現することは非常に難しいので、プロキシ・キャッシュからファイルを投げなければならない場合がしばしばある。「投げる」とは、特定タイプの充填を簡略化したものである。また、性能上の理由から、データの充填が有用な場合もあり、そのデータは新しい場合もあれば、キャッシュファイルを不整合状態にする場合もある(NFS応答によっては、参照される全てのファイルについてファイル属性を持たないものもある)。本発明の一実施形態では、データを充填することによってこの状態を処理する。ただし、ファイルは、後続のヒット時にキャッシュから返送される前に確認が必要なものとしてマークされる。
(1)整合性があるもの
(2)不整合の可能性があるもの
不整合の可能性がある充填は、以前にクライアントに送信されたデータに比べて、新しいデータを有する場合がある。NFSバージョン2では、応答が新しいデータを有しているか否かを常に知ることができるとは限らない。この種の応答は、不整合な充填の候補となる。応答に関連するファイル(複数の場合もあり)に変更があった時にサーバから再要求された応答も、候補となる。プロキシ・キャッシュのアプローチは通常、堅実なものでなければならないので、確実なことが言えない場合は「新しい」と推測する。不整合な充填があると、プロキシ・キャッシュは、後続のヒット時に問題のファイルを提供する前に、その新しさを入手元サーバを用いて確認しなければならない。これは、直後に簡単なキャッシュ・ヒットが続く可能性がある整合性のある充填とは対照的である。
・応答が、ファイルに対する変更があったことを知っている処理に関するものである。
・応答が、ファイルの処理後属性を含まない(処理後属性とは、ファイルに対して処理を実施した後のファイルの属性である)。
・応答が、ファイルの処理後属性を含み、それらの属性が、現在キャッシュされているものとは異なる。
・ファイルの属性が何もキャッシュされていない。
・キャッシュが再構築段階にある。
ファイルシステムを求める全てのクライアントが特定のプロキシ・キャッシュを通過するとすれば、それらのクライアントは、データの最新のコピーを得ることが保証される。その理由は、変更処理はすべて、プロキシ・キャッシュで実施されるか、または、新たなキャッシュデータが投げられるかのいずれかとなるからである。具体的には、全ての変更処理がプロキシ・キャッシュを通過するとすれば、たとえ読出し専用処理をルーティングしたとしても、このことが言える。
HTTPプロトコルの場合、サーバは通常、クライアントがサーバにおけるファイル更新をチェックしなければならない時を示すインジケータをクライアントに与える。これに対し、NFSプロトコルでは、サーバは、サーバファイルの更新をクライアントに通知することができない。以下で説明する種々の事前確認方法は、プロキシ・キャッシュがサーバに格納されたデータの属性を確認できるようにするためのものである。
図13は、クライアント105からのCIFSトラフィックに応答するキャッシュ・ヒット状態を説明するための、クライアント105、プロキシ・キャッシュ115、および、サーバ110を含むネットワークシステムを示す図である。クライアント105とプロキシ・キャッシュ115の間で使用されるプロトコルはCIFSプロトコルのようなオープン・プロトコルであり、プロキシ・キャッシュ115とサーバ110の間で使用されるプロトコルはNFSプロトコルであるものと仮定する。
図16は、遅延書込み処理を説明するための、本発明の一実施形態によるネットワークを示すブロック図である。プロキシ・キャッシュ115は、クライアント105からの書込み処理1605に応答し、遅延スパース書込み処理1610をサーバ110に対して実施するように構成される。例えば、クライアント105がプロキシ・キャッシュ115に対して書込み処理1605を実施する場合、プロキシ・キャッシュ115は、そのデータをサーバ110に書込み、サーバ110内のファイルを変更することができる。書込み処理1610は、プロキシ・キャッシュ115のバックグラウンド処理として実施してもよいし、後で実施してもよい。従って、書込みデータは最初にプロキシ・キャッシュ内のローカルディスクに送信され、リモートサーバに対する書込み処理は遅れる場合がある。
図18は、本発明の一実施形態によるDelegationを使用するシステムを示すブロック図である。サーバ110(1)は、ディレクトリまたはファイル(複数の場合もあり)のコピー1810を有し、プロキシ・キャッシュ115は、論理コピー1810におけるデータのキャッシュされたコピー1805を有するものと仮定する。この例においてキャッシュされたコピー1805は、プロキシ・キャッシュ115内のアクティブデータセットに含まれることが好ましい。サーバ105は、論理コピー1810をプロキシ・キャッシュ115に「ロック」することができ、それによってプロキシ・キャッシュ115は、キャッシュ・ヒット時に、サーバ115の論理コピー1810にファイルの更新があったか否かをチェックすることなく、役目を果たすことができるようになる。サーバ110(1)は、サーバ110(1)の論理コピー1810に関するファイル更新をいずれも、ファイル更新ロックの所有者に通知する。プロキシ・キャッシュ115がサーバ内のファイルに対するロックを有している場合、そのファイルに対する書込み要求は通常いずれもプロキシ・キャッシュ115を通過し、その後プロキシ・キャッシュにより、そのファイルに対する遅延書込み処理が実施される。その後、プロキシ・キャッシュ115が所有するロックは、サーバによって無効にされる。
図19は、本発明の一実施形態によるクラスタ構成の複数のプロキシ・キャッシュ115a〜115cを含むブロック図である。プロキシ・キャッシュの数は、図19のものとは違っていてもよい。プロキシ・キャッシュのクラスタを用いると、一次プロキシ・キャッシュが故障したときに、クライアント要求トラフィックおよびデータトラフィックに関する代替経路の方法が可能になる。これらのプロキシ・キャッシュ115は、例えば、世界または地域の様々な部分に配置することができる。例えば、プロキシ・キャッシュ115aは一次キャッシュであり、その後これが故障した場合、他のプロキシ・キャッシュを一次プロキシ・キャッシュとして選択することにより、ネットワーク・トラフィックの代替経路を形成することができる。例えば、プロキシ・キャッシュ115bおよび115cが、一次プロキシ・キャッシュとして選択される。新たなプロキシ・キャッシュを選択する際の基準には例えば、サイズ(大きなサイズのプロキシ・キャッシュはキャッシュ・ヒット率を向上させる)、低減されるトラフィック待ち時間、位置(例えば、1つの「ピア」プロキシ・キャッシュにするか、近接する複数のプロキシ・キャッシュにするかなど)、および/または、要求されているデータなどがある。クライアント105は、グローバル名前空間機能およびファイルハンドル変換機能により、他のプロキシ・キャッシュの代わりに、1つのプロキシ・キャッシュにアクセスすることができる。種々のプロキシ・キャッシュはお互いを知らないので、ファイルハンドルの書換えを利用する。クライアントは、ファイルハンドルの書換えにより、自分の要求を特定のプロキシ・キャッシュに適切に宛先変更することができる。そして種々のプロキシ・キャッシュがそのメッセージを解釈する。これに対し、HTTPプロトコルでは、オブジェクトの名前がサーバの名前に既に埋め込まれている。
Claims (19)
- プロキシ・キャッシュにおいて、クライアントによって生成された、該プロキシ・キャッシュから離れたリモートサーバに格納されたデータオブジェクトに対するリクエストを、ネットワークを介して受け取るステップと、
前記プロキシ・キャッシュにおいて、前記リクエストされたデータオブジェクトが前記プロキシ・キャッシュに格納されているかどうかを判断するステップと、
前記リクエストされたデータオブジェクトが前記プロキシ・キャッシュに格納されていないと判断された場合には、前記リクエストに対するレスポンスをクライアントへ返す前に、前記プロキシ・キャッシュにおいて、以前の事前確認プロセスにおいてクライアントによって生成された履歴に基づくデータオブジェクトのリンクに基づいて前記リクエストされたデータオブジェクトおよび少なくとも1つの他のデータオブジェクトに関する事前確認プロセスを行ってデータオブジェクトの属性を確認することにより、前記リクエストされたデータオブジェクトおよび前記少なくとも1つの他のデータオブジェクトのそれぞれが変更されたかどうかを判断するステップと、を有し、
前記プロキシ・キャッシュと前記離れたリモートサーバとの間の通信は、NFSプロトコルを用いて行われ、
前記事前確認プロセスは、NFSプロトコルを用いて前記プロキシ・キャッシュから前記離れたサーバへ前記データオブジェクトに関するGETATTR確認リクエストを送るステップを含み、
前記事前確認プロセスは、さらに、前記プロキシ・キャッシュのハッシュテーブルにおいて前記データオブジェクトに対応する第1エントリにアクセスするステップと、
前記ハッシュテーブル内の順序に関する示唆を用いて前記履歴に基づくデータオブジェクトのリンクを特定するステップと、を含む、方法。 - 前記リクエストされたデータオブジェクトおよび前記少なくとも1つの他のデータオブジェクトに関する事前確認プロセスは、
前記プロキシ・キャッシュの要素ハッシュテーブルにおいて、第1ファイルのファイルハンドルをハッシュして前記第1ファイルに対応する第1エントリを割り当てるステップと、
前記第1エントリのポインタを用いて、第2ファイルに対応する第2エントリを前記要素ハッシュテーブルにおいて特定するステップと、を含み、
前記第2ファイルは、前記少なくとも1つの他のデータオブジェクトである、請求項1に記載の方法。 - 前記リクエストされたデータオブジェクトは、ディレクトリであり、
前記リクエストされたデータオブジェクトおよび前記少なくとも1つの他のデータオブジェクトに関する前記事前確認プロセスは、
前記プロキシ・キャッシュの要素ハッシュテーブルにおいて、第1ファイルのファイルハンドルをハッシュして前記第1ファイルに対応する第1エントリを割り当てるステップと、
前記第1エントリを用いて、前記プロキシ・キャッシュのディレクトリ・ハッシュテーブルにおいて、前記少なくとも1つの他のデータオブジェクトである第1ファイルの親ディレクトリに対応する第2エントリを割り当てるステップと、
前記第1エントリのポインタを用いて、前記要素ハッシュテーブルにおいて、前記少なくとも1つの他のデータオブジェクトである親ディレクトリ内の第2ファイルに対応する第3エントリを特定するステップと、を含む、請求項1に記載の方法。 - 前記クライアントによって生成されたデータオブジェクトに対するリクエストは、CIFSプロトコルにより、前記プロキシ・キャッシュが受信する、請求項1に記載の方法。
- 前記プロキシ・キャッシュは、ファイルシステムおよびNFSクライアントモジュールを含み、
前記ファイルシステムは、前記クライアントによって生成されCIFSプロトコルによって前記プロキシ・キャッシュが受信したリクエストに応答して前記NFSクライアントモジュールへ質問を送る、請求項4に記載の方法。 - さらに、
前記プロキシ・キャッシュにおいて、クライアントからの、書き込みデータを含んだ書き込み処理を受け取るステップと、
前記プロキシ・キャッシュにおいて、前記書き込みデータをバッファするステップと、
遅延の後に、前記クライアントからの書き込み処理に応答して前記バッファされた書き込みデータを用いて前記サーバに対して書き込み処理を実行するステップと、を有する請求項5に記載の方法。 - 前記サーバに対する書き込み処理は、前記クライアントからの書き込み処理の速度よりも遅い速度で実行される、請求項6に記載の方法。
- 前記サーバに対する書き込み処理は、スケジュールにしたがって実行される、請求項6に記載の方法。
- 前記クライアントによって生成されたデータオブジェクトに対するリクエストは、CIFSプロトコルにより、前記プロキシ・キャッシュが受信する、請求項1に記載の方法。
- 前記プロキシ・キャッシュは、ファイルシステムおよびNFSクライアントモジュールを含み、
前記ファイルシステムは、前記クライアントによって生成されたデータオブジェクトに対するリクエストに応答して前記NFSクライアントモジュールへ質問を送る、請求項9に記載の方法。 - さらに、
前記プロキシ・キャッシュにおいて、クライアントからの、書き込みデータを含んだ書き込み処理を受け取るステップと、
前記プロキシ・キャッシュにおいて、前記書き込みデータをバッファするステップと、
遅延の後に、前記クライアントからの書き込み処理に応答して前記バッファされた書き込みデータを用いて前記サーバに対して書き込み処理を実行するステップと、を有する請求項1に記載の方法。 - 前記サーバに対する書き込み処理は、前記クライアントからの書き込み処理の速度よりも遅い速度で実行される、請求項11に記載の方法。
- 前記サーバに対する書き込み処理は、スケジュールにしたがって実行される、請求項11に記載の方法。
- プロキシ・キャッシュが、ネットワークを介して、クライアントによって生成された、該プロキシ・キャッシュから離れたサーバに格納されたデータオブジェクトに対するリクエストを受け取り、該サーバと通信するためのネットワーク・インタフェースと、
前記プロキシ・キャッシュが、前記離れたサーバに格納された内容のキャッシュを備えるローカル不揮発記憶システムにアクセスするためのストレージインタフェースと、
前記プロキシ・キャッシュがキャッシュしたデータを管理するためのファイルシステムと、
前記リクエストされたデータオブジェクトが前記プロキシ・キャッシュに格納されていないと判断した場合には、前記リクエストに対するレスポンスをクライアントへ返す前に、前記プロキシ・キャッシュにおいて、以前の事前確認プロセスにおいてクライアントによって生成された履歴に基づくデータオブジェクトのリンクに基づいて前記リクエストされたデータオブジェクトおよび少なくとも1つの他のデータオブジェクトに関する事前確認プロセスを行ってデータオブジェクトの属性を確認することにより、前記リクエストされたデータオブジェクトおよび前記少なくとも1つの他のデータオブジェクトのそれぞれが変更されたかどうかを判断するための手段と、を有し、
前記プロキシ・キャッシュと前記離れたリモートサーバとの間の通信は、NFSプロトコルを用いて行われ、
前記事前確認プロセスは、NFSプロトコルを用いて前記プロキシ・キャッシュから前記離れたサーバへ前記データオブジェクトに関するGETATTR確認リクエストを送るプロセスを含み、
前記事前確認プロセスは、さらに、前記プロキシ・キャッシュのハッシュテーブルにおいて前記データオブジェクトに対応する第1エントリにアクセスするプロセスと、
前記ハッシュテーブル内の順序に関する示唆を用いて前記履歴に基づくデータオブジェクトのリンクを特定するプロセスと、を含む、プロキシ・キャッシュ。 - 前記リクエストされたデータオブジェクトおよび前記少なくとも1つの他のデータオブジェクトに関する事前確認プロセスは、
前記プロキシ・キャッシュの要素ハッシュテーブルにおいて、第1ファイルのファイルハンドルをハッシュして前記第1ファイルに対応する第1エントリを割り当てるプロセスと、
前記第1エントリのポインタを用いて、第2ファイルに対応する第2エントリを前記要素ハッシュテーブルにおいて特定するステップと、を含み、
前記第2ファイルは、前記少なくとも1つの他のデータオブジェクトである、請求項14に記載のプロキシ・キャッシュ。 - 前記リクエストされたデータオブジェクトは、ディレクトリであり、
前記リクエストされたデータオブジェクトおよび前記少なくとも1つの他のデータオブジェクトに関する前記事前確認プロセスは、
前記プロキシ・キャッシュの要素ハッシュテーブルにおいて、第1ファイルのファイルハンドルをハッシュして前記第1ファイルに対応する第1エントリを割り当てるプロセスと、
前記第1エントリを用いて、前記プロキシ・キャッシュのディレクトリ・ハッシュテーブルにおいて、前記少なくとも1つの他のデータオブジェクトである第1ファイルの親ディレクトリに対応する第2エントリを割り当てるプロセスと、
前記第1エントリのポインタを用いて、前記要素ハッシュテーブルにおいて、前記少なくとも1つの他のデータオブジェクトである親ディレクトリ内の第2ファイルに対応する第3エントリを特定するプロセスと、を含む、請求項14に記載のプロキシ・キャッシュ。 - プロキシ・キャッシュが、ネットワークを介して、クライアントによって生成された、該プロキシ・キャッシュから離れたサーバに格納されたデータオブジェクトに対するリクエストを受け取り、該サーバと通信するためのネットワーク・インタフェースと、
前記プロキシ・キャッシュが、前記離れたサーバに格納された内容のキャッシュを備えるローカル不揮発記憶システムにアクセスするためのストレージインタフェースと、
前記プロキシ・キャッシュがキャッシュしたデータを管理するためのファイルシステムと、
前記リクエストされたデータオブジェクトが前記プロキシ・キャッシュに格納されていないと判断した場合には、前記リクエストに対するレスポンスをクライアントへ返す前に、前記プロキシ・キャッシュにおいて、以前の事前確認プロセスにおいてクライアントによって生成された履歴に基づくデータオブジェクトのリンクに基づいて前記リクエストされたデータオブジェクトおよび少なくとも1つの他のデータオブジェクトに関する事前確認プロセスを行ってデータオブジェクトの属性を確認することにより、前記リクエストされたデータオブジェクトおよび前記少なくとも1つの他のデータオブジェクトのそれぞれが変更されたかどうかを判断するプロセッサと、を有し、
前記プロキシ・キャッシュと前記離れたリモートサーバとの間の通信は、NFSプロトコルを用いて行われ、
前記事前確認プロセスは、NFSプロトコルを用いて前記プロキシ・キャッシュから前記離れたサーバへ前記データオブジェクトに関するGETATTR確認リクエストを送るプロセスを含み、
前記事前確認プロセスは、さらに、前記プロキシ・キャッシュのハッシュテーブルにおいて前記データオブジェクトに対応する第1エントリにアクセスするプロセスと、
前記ハッシュテーブル内の順序に関する示唆を用いて前記履歴に基づくデータオブジェクトのリンクを特定するプロセスと、を含む、プロキシ・キャッシュ。 - 前記リクエストされたデータオブジェクトおよび前記少なくとも1つの他のデータオブジェクトに関する事前確認プロセスは、
前記プロキシ・キャッシュの要素ハッシュテーブルにおいて、第1ファイルのファイルハンドルをハッシュして前記第1ファイルに対応する第1エントリを割り当てるプロセスと、
前記第1エントリのポインタを用いて、第2ファイルに対応する第2エントリを前記要素ハッシュテーブルにおいて特定するステップと、を含み、
前記第2ファイルは、前記少なくとも1つの他のデータオブジェクトである、請求項17に記載のプロキシ・キャッシュ。 - 前記リクエストされたデータオブジェクトは、ディレクトリであり、
前記リクエストされたデータオブジェクトおよび前記少なくとも1つの他のデータオブジェクトに関する前記事前確認プロセスは、
前記プロキシ・キャッシュの要素ハッシュテーブルにおいて、第1ファイルのファイルハンドルをハッシュして前記第1ファイルに対応する第1エントリを割り当てるプロセスと、
前記第1エントリを用いて、前記プロキシ・キャッシュのディレクトリ・ハッシュテーブルにおいて、前記少なくとも1つの他のデータオブジェクトである第1ファイルの親ディレクトリに対応する第2エントリを割り当てるプロセスと、
前記第1エントリのポインタを用いて、前記要素ハッシュテーブルにおいて、前記少なくとも1つの他のデータオブジェクトである親ディレクトリ内の第2ファイルに対応する第3エントリを特定するプロセスと、を含む、請求項17に記載のプロキシ・キャッシュ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/245,798 US7284030B2 (en) | 2002-09-16 | 2002-09-16 | Apparatus and method for processing data in a network |
PCT/US2003/029395 WO2004025428A2 (en) | 2002-09-16 | 2003-09-16 | Apparatus and method for processing data in a network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005539314A JP2005539314A (ja) | 2005-12-22 |
JP4547263B2 true JP4547263B2 (ja) | 2010-09-22 |
Family
ID=31992193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004536620A Expired - Fee Related JP4547263B2 (ja) | 2002-09-16 | 2003-09-16 | データをネットワーク中で処理する装置および方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7284030B2 (ja) |
EP (1) | EP1540492A4 (ja) |
JP (1) | JP4547263B2 (ja) |
AU (1) | AU2003270762A1 (ja) |
WO (1) | WO2004025428A2 (ja) |
Families Citing this family (116)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7171469B2 (en) * | 2002-09-16 | 2007-01-30 | Network Appliance, Inc. | Apparatus and method for storing data in a proxy cache in a network |
US7383387B2 (en) * | 2002-12-13 | 2008-06-03 | Sap Ag | Document transformation tool |
US7809693B2 (en) * | 2003-02-10 | 2010-10-05 | Netapp, Inc. | System and method for restoring data on demand for instant volume restoration |
US7587422B2 (en) * | 2003-04-24 | 2009-09-08 | Neopath Networks, Inc. | Transparent file replication using namespace replication |
US7346664B2 (en) * | 2003-04-24 | 2008-03-18 | Neopath Networks, Inc. | Transparent file migration using namespace replication |
US7072917B2 (en) * | 2003-04-24 | 2006-07-04 | Neopath Networks, Inc. | Extended storage capacity for a network file server |
WO2004097686A1 (en) * | 2003-04-24 | 2004-11-11 | Neopath Networks, Inc. | Transparent file replication using namespace replication |
US7831641B2 (en) * | 2003-04-24 | 2010-11-09 | Neopath Networks, Inc. | Large file support for a network file server |
US8539081B2 (en) * | 2003-09-15 | 2013-09-17 | Neopath Networks, Inc. | Enabling proxy services using referral mechanisms |
DE10356724B3 (de) * | 2003-12-02 | 2005-06-16 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum Verringern des Transportvolumens von Daten in Datennetzen |
US8566446B2 (en) * | 2004-01-28 | 2013-10-22 | Hewlett-Packard Development Company, L.P. | Write operation control in storage networks |
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 |
US7720796B2 (en) * | 2004-04-23 | 2010-05-18 | Neopath Networks, Inc. | Directory and file mirroring for migration, snapshot, and replication |
US7617321B2 (en) * | 2004-05-07 | 2009-11-10 | International Business Machines Corporation | File system architecture requiring no direct access to user data from a metadata manager |
JP2006031608A (ja) * | 2004-07-21 | 2006-02-02 | Hitachi Ltd | 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム |
US20060047714A1 (en) * | 2004-08-30 | 2006-03-02 | Mendocino Software, Inc. | Systems and methods for rapid presentation of historical views of stored data |
US7664983B2 (en) | 2004-08-30 | 2010-02-16 | Symantec Corporation | Systems and methods for event driven recovery management |
US7389298B2 (en) * | 2004-11-18 | 2008-06-17 | International Business Machines Corporation | Seamless remote traversal of multiple NFSv4 exported file systems |
US8788674B2 (en) * | 2005-01-12 | 2014-07-22 | Blue Coat Systems, Inc. | Buffering proxy for telnet access |
WO2006116293A2 (en) * | 2005-04-25 | 2006-11-02 | Network Appliance, Inc. | System and method for restoring data on demand for instant volume restoration |
WO2006116183A1 (en) * | 2005-04-25 | 2006-11-02 | Network Appliance, Inc. | Architecture for supporting sparse volumes |
ATE512412T1 (de) * | 2005-04-25 | 2011-06-15 | Network Appliance Inc | System und verfahren zum zwischenspeichern von netzwerkdateisystemen |
US8396981B1 (en) * | 2005-06-07 | 2013-03-12 | Oracle America, Inc. | Gateway for connecting storage clients and storage servers |
US7613743B1 (en) * | 2005-06-10 | 2009-11-03 | Apple Inc. | Methods and apparatuses for data protection |
US7739318B2 (en) * | 2005-06-20 | 2010-06-15 | Netapp, Inc. | System and method for maintaining mappings from data containers to their parent directories |
EP1900189B1 (en) * | 2005-06-29 | 2018-04-18 | Cisco Technology, Inc. | Parallel filesystem traversal for transparent mirroring of directories and files |
US20070038697A1 (en) * | 2005-08-03 | 2007-02-15 | Eyal Zimran | Multi-protocol namespace server |
US20070055703A1 (en) * | 2005-09-07 | 2007-03-08 | Eyal Zimran | Namespace server using referral protocols |
US7707193B2 (en) * | 2005-09-22 | 2010-04-27 | Netapp, Inc. | System and method for verifying and restoring the consistency of inode to pathname mappings in a filesystem |
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 |
US20080010652A1 (en) * | 2006-07-07 | 2008-01-10 | General Instrument Corporation | Association of Network Terminals to a Common Account |
BRPI0806353A2 (pt) | 2007-02-02 | 2011-09-06 | Interdigital Tech Corp | seleção / atualização de células em estado cell_fach aprimorado |
US8868495B2 (en) * | 2007-02-21 | 2014-10-21 | Netapp, Inc. | System and method for indexing user data on storage systems |
US9110920B1 (en) * | 2007-05-03 | 2015-08-18 | Emc Corporation | CIFS access to NFS files and directories by translating NFS file handles into pseudo-pathnames |
US8682916B2 (en) | 2007-05-25 | 2014-03-25 | F5 Networks, Inc. | Remote file virtualization in a switched file system |
US9870263B2 (en) * | 2007-06-29 | 2018-01-16 | Microsoft Technology Licensing, Llc | System virtualization instance management for terminal sessions |
JP5076736B2 (ja) * | 2007-08-27 | 2012-11-21 | 日本電気株式会社 | 計算機システム、ストレージ、アクセス制御方法およびアクセス制御用プログラム |
US7836025B1 (en) * | 2007-09-18 | 2010-11-16 | Network Appliance, Inc. | Method and apparatus for using pointers within a nonvolatile system memory of a network file computer system |
US8548953B2 (en) | 2007-11-12 | 2013-10-01 | F5 Networks, Inc. | File deduplication using storage tiers |
US8219564B1 (en) | 2008-04-29 | 2012-07-10 | Netapp, Inc. | Two-dimensional indexes for quick multiple attribute search in a catalog system |
US8484162B2 (en) | 2008-06-24 | 2013-07-09 | Commvault Systems, Inc. | De-duplication systems and methods for application-specific data |
US8549582B1 (en) * | 2008-07-11 | 2013-10-01 | F5 Networks, Inc. | Methods for handling a multi-protocol content name and systems thereof |
US7937453B1 (en) | 2008-09-24 | 2011-05-03 | Emc Corporation | Scalable global namespace through referral redirection at the mapping layer |
US8176012B1 (en) | 2008-10-06 | 2012-05-08 | Netapp, Inc. | Read-only mirroring for load sharing |
US8078622B2 (en) * | 2008-10-30 | 2011-12-13 | Network Appliance, Inc. | Remote volume access and migration via a clustered server namespace |
US8266136B1 (en) | 2009-04-13 | 2012-09-11 | Netapp, Inc. | Mechanism for performing fast directory lookup in a server system |
US8930306B1 (en) | 2009-07-08 | 2015-01-06 | Commvault Systems, Inc. | Synchronized data deduplication |
US8171064B2 (en) * | 2009-09-01 | 2012-05-01 | Netapp, Inc. | Methods and systems for concurrently reading direct and indirect data blocks |
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
US8627130B2 (en) * | 2009-10-08 | 2014-01-07 | Bridgette, Inc. | Power saving archive system |
US9507799B1 (en) | 2009-12-08 | 2016-11-29 | Netapp, Inc. | Distributed object store for network-based content repository |
US20110137966A1 (en) * | 2009-12-08 | 2011-06-09 | Netapp, Inc. | Methods and systems for providing a unified namespace for multiple network protocols |
US8484259B1 (en) | 2009-12-08 | 2013-07-09 | Netapp, Inc. | Metadata subsystem for a distributed object store in a network storage system |
US8180813B1 (en) | 2009-12-08 | 2012-05-15 | Netapp, Inc. | Content repository implemented in a network storage server system |
US9195500B1 (en) | 2010-02-09 | 2015-11-24 | F5 Networks, Inc. | Methods for seamless storage importing and devices thereof |
US8578109B2 (en) | 2010-09-30 | 2013-11-05 | Commvault Systems, Inc. | Systems and methods for retaining and using data block signatures in data protection operations |
US8577851B2 (en) | 2010-09-30 | 2013-11-05 | Commvault Systems, Inc. | Content aligned block-based deduplication |
US9286298B1 (en) | 2010-10-14 | 2016-03-15 | F5 Networks, Inc. | Methods for enhancing management of backup data sets and devices thereof |
US8954446B2 (en) * | 2010-12-14 | 2015-02-10 | Comm Vault Systems, Inc. | Client-side repository in a networked deduplicated storage system |
US9020900B2 (en) | 2010-12-14 | 2015-04-28 | Commvault Systems, Inc. | Distributed deduplicated storage system |
JP5250644B2 (ja) * | 2011-01-25 | 2013-07-31 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置 |
US8601220B1 (en) | 2011-04-29 | 2013-12-03 | Netapp, Inc. | Transparent data migration in a storage system environment |
US8910273B1 (en) | 2011-08-04 | 2014-12-09 | Wyse Technology L.L.C. | Virtual private network over a gateway connection |
US20130110575A1 (en) * | 2011-11-01 | 2013-05-02 | Nec Laboratories America, Inc. | Finding optimum combined plans among multiple sharing arrangements and multiple data sources and consumers |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
US20130332417A1 (en) * | 2012-06-08 | 2013-12-12 | In Koo Kim | Hybrid Client-Server Data Proxy Controller For Software Application Interactions With Data Storage Areas And Method Of Using Same |
US9251186B2 (en) | 2012-06-13 | 2016-02-02 | Commvault Systems, Inc. | Backup using a client-side signature repository in a networked storage system |
US9830334B2 (en) | 2012-09-07 | 2017-11-28 | International Business Machines Corporation | Client to client resource sharing in a client-server file-system |
US9288077B1 (en) * | 2012-09-28 | 2016-03-15 | Emc Corporation | Cluster file system with server block cache |
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 |
US9633033B2 (en) | 2013-01-11 | 2017-04-25 | Commvault Systems, Inc. | High availability distributed deduplicated storage system |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9984083B1 (en) | 2013-02-25 | 2018-05-29 | EMC IP Holding Company LLC | Pluggable storage system for parallel query engines across non-native file systems |
US9171042B1 (en) | 2013-02-25 | 2015-10-27 | Emc Corporation | Parallel processing database tree structure |
US9554418B1 (en) | 2013-02-28 | 2017-01-24 | F5 Networks, Inc. | Device for topology hiding of a visited network |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
US9602329B1 (en) * | 2013-08-30 | 2017-03-21 | Instantcal, Inc. | Dynamic remote procedure call |
EP3063629A1 (en) * | 2013-10-28 | 2016-09-07 | Longsand Limited | Instant streaming of the latest version of a file |
US10380072B2 (en) | 2014-03-17 | 2019-08-13 | Commvault Systems, Inc. | Managing deletions from a deduplication database |
US9633056B2 (en) | 2014-03-17 | 2017-04-25 | Commvault Systems, Inc. | Maintaining a deduplication database |
US9852026B2 (en) | 2014-08-06 | 2017-12-26 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US11249858B2 (en) | 2014-08-06 | 2022-02-15 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
JP5951702B2 (ja) * | 2014-08-07 | 2016-07-13 | 日本電信電話株式会社 | ファイルシステム、秘密分散サーバ、ファイル管理方法及びプログラム |
US9575673B2 (en) | 2014-10-29 | 2017-02-21 | Commvault Systems, Inc. | Accessing a file system using tiered deduplication |
FR3032579B1 (fr) * | 2015-02-05 | 2017-03-10 | Dassault Aviat | Procede et dispositif d'echange de donnees avec un dispositif de stockage d'un aeronef |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10339106B2 (en) | 2015-04-09 | 2019-07-02 | Commvault Systems, Inc. | Highly reusable deduplication database after disaster recovery |
US11057446B2 (en) | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
US20160350391A1 (en) | 2015-05-26 | 2016-12-01 | Commvault Systems, Inc. | Replication using deduplicated secondary copy data |
US9766825B2 (en) | 2015-07-22 | 2017-09-19 | Commvault Systems, Inc. | Browse and restore for block-level backups |
US20170192868A1 (en) | 2015-12-30 | 2017-07-06 | Commvault Systems, Inc. | User interface for identifying a location of a failed secondary storage device |
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 |
US10296368B2 (en) | 2016-03-09 | 2019-05-21 | Commvault Systems, Inc. | Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount) |
US10846024B2 (en) | 2016-05-16 | 2020-11-24 | Commvault Systems, Inc. | Global de-duplication of virtual disks in a storage platform |
US10795577B2 (en) | 2016-05-16 | 2020-10-06 | Commvault Systems, Inc. | De-duplication of client-side data cache for virtual disks |
US10412198B1 (en) | 2016-10-27 | 2019-09-10 | F5 Networks, Inc. | Methods for improved transmission control protocol (TCP) performance visibility and devices thereof |
US10740193B2 (en) | 2017-02-27 | 2020-08-11 | Commvault Systems, Inc. | Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount |
US10567492B1 (en) | 2017-05-11 | 2020-02-18 | F5 Networks, Inc. | Methods for load balancing in a federated identity environment and devices thereof |
US10664352B2 (en) | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
EP4020940A1 (en) | 2017-08-28 | 2022-06-29 | Bright Data Ltd. | Content fetching by selecting tunnel devices |
US11190374B2 (en) | 2017-08-28 | 2021-11-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
CN108093086B (zh) * | 2018-01-22 | 2021-03-23 | 微梦创科网络科技(中国)有限公司 | 一种服务网关的数据传输方法及*** |
US10833943B1 (en) | 2018-03-01 | 2020-11-10 | F5 Networks, Inc. | Methods for service chaining and devices thereof |
US11003372B2 (en) | 2018-05-31 | 2021-05-11 | Portworx, Inc. | Protecting volume namespaces from corruption in a distributed container orchestrator |
US12003422B1 (en) | 2018-09-28 | 2024-06-04 | F5, Inc. | Methods for switching network packets based on packet data and devices |
US11010258B2 (en) | 2018-11-27 | 2021-05-18 | Commvault Systems, Inc. | Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication |
US11698727B2 (en) | 2018-12-14 | 2023-07-11 | Commvault Systems, Inc. | Performing secondary copy operations based on deduplication performance |
EP4053717A3 (en) | 2019-02-25 | 2022-10-26 | Bright Data Ltd. | System and method for url fetching retry mechanism |
US20200327017A1 (en) | 2019-04-10 | 2020-10-15 | Commvault Systems, Inc. | Restore using deduplicated secondary copy data |
US11463264B2 (en) | 2019-05-08 | 2022-10-04 | Commvault Systems, Inc. | Use of data block signatures for monitoring in an information management system |
US20210173811A1 (en) | 2019-12-04 | 2021-06-10 | Commvault Systems, Inc. | Optimizing the restoration of deduplicated data stored in multi-node replicated file systems |
US11687424B2 (en) | 2020-05-28 | 2023-06-27 | Commvault Systems, Inc. | Automated media agent state management |
US11153412B1 (en) * | 2020-08-26 | 2021-10-19 | Software Ag | Systems and/or methods for non-intrusive injection of context for service mesh applications |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619771A (ja) | 1992-04-20 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | 異種のクライアントによる共用ファイルのファイル管理機構 |
US6026452A (en) | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
US6085234A (en) | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US5864852A (en) | 1996-04-26 | 1999-01-26 | Netscape Communications Corporation | Proxy server caching mechanism that provides a file directory structure and a mapping mechanism within the file directory structure |
US6282580B1 (en) | 1996-07-02 | 2001-08-28 | Sun Microsystems, Inc. | Bridge providing communication between different implementations of object request brokers |
US5893140A (en) * | 1996-08-14 | 1999-04-06 | Emc Corporation | File server having a file system cache and protocol for truly safe asynchronous writes |
US6138141A (en) * | 1996-10-18 | 2000-10-24 | At&T Corp | Server to client cache protocol for improved web performance |
US5987506A (en) | 1996-11-22 | 1999-11-16 | Mangosoft Corporation | Remote access and geographically distributed computers in a globally addressable storage environment |
US5946690A (en) | 1996-12-17 | 1999-08-31 | Inca Technology, Inc. | NDC consistency reconnect mechanism |
US5924116A (en) | 1997-04-02 | 1999-07-13 | International Business Machines Corporation | Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node |
US5907678A (en) | 1997-05-07 | 1999-05-25 | International Business Machines Corporation | Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request |
US6065058A (en) | 1997-05-09 | 2000-05-16 | International Business Machines Corp. | Dynamic push filtering based on information exchanged among nodes in a proxy hierarchy |
JP4134357B2 (ja) | 1997-05-15 | 2008-08-20 | 株式会社日立製作所 | 分散データ管理方法 |
US6578113B2 (en) | 1997-06-02 | 2003-06-10 | At&T Corp. | Method for cache validation for proxy caches |
US7103794B2 (en) | 1998-06-08 | 2006-09-05 | Cacheflow, Inc. | Network object cache engine |
CA2210755C (en) | 1997-07-17 | 2003-12-23 | Ibm Canada Limited - Ibm Canada Limitee | Creating proxies for distribution of beans and event objects |
US6038601A (en) | 1997-07-21 | 2000-03-14 | Tibco, Inc. | Method and apparatus for storing and delivering documents on the internet |
US5991810A (en) | 1997-08-01 | 1999-11-23 | Novell, Inc. | User name authentication for gateway clients accessing a proxy cache server |
US5950205A (en) | 1997-09-25 | 1999-09-07 | Cisco Technology, Inc. | Data transmission over the internet using a cache memory file system |
US6085193A (en) | 1997-09-29 | 2000-07-04 | International Business Machines Corporation | Method and system for dynamically prefetching information via a server hierarchy |
US6393526B1 (en) | 1997-10-28 | 2002-05-21 | Cache Plan, Inc. | Shared cache parsing and pre-fetch |
US6167446A (en) | 1997-11-03 | 2000-12-26 | Inca Technology, Inc. | Automatically configuring network-name-services |
US6292835B1 (en) | 1997-11-26 | 2001-09-18 | International Business Machines Corporation | Network bandwidth and object obsolescence sensitive scheduling method and apparatus for objects distributed broadcasting |
US6389460B1 (en) | 1998-05-13 | 2002-05-14 | Compaq Computer Corporation | Method and apparatus for efficient storage and retrieval of objects in and from an object storage device |
US6311216B1 (en) | 1998-05-29 | 2001-10-30 | Microsoft Corporation | Method, computer program product, and system for client-side deterministic routing and URL lookup into a distributed cache of URLS |
US6330561B1 (en) | 1998-06-26 | 2001-12-11 | At&T Corp. | Method and apparatus for improving end to end performance of a data network |
US6338117B1 (en) | 1998-08-28 | 2002-01-08 | International Business Machines Corporation | System and method for coordinated hierarchical caching and cache replacement |
US6438652B1 (en) | 1998-10-09 | 2002-08-20 | International Business Machines Corporation | Load balancing cooperating cache servers by shifting forwarded request |
US6178461B1 (en) | 1998-12-08 | 2001-01-23 | Lucent Technologies Inc. | Cache-based compaction technique for internet browsing using similar objects in client cache as reference objects |
US6370620B1 (en) | 1998-12-10 | 2002-04-09 | International Business Machines Corporation | Web object caching and apparatus for performing the same |
US6553411B1 (en) | 1999-05-18 | 2003-04-22 | International Business Machines Corporation | System and method for cache acceleration |
US6542964B1 (en) | 1999-06-02 | 2003-04-01 | Blue Coat Systems | Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server |
US6658463B1 (en) | 1999-06-10 | 2003-12-02 | Hughes Electronics Corporation | Satellite multicast performance enhancing multicast HTTP proxy system and method |
US6463508B1 (en) | 1999-07-19 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for caching a media stream |
US6658462B1 (en) | 1999-08-26 | 2003-12-02 | International Business Machines Corporation | System, method, and program for balancing cache space requirements with retrieval access time for large documents on the internet |
US6801927B1 (en) * | 1999-09-24 | 2004-10-05 | Akamba Corporation | Network adaptor card with reverse proxy and cache and method implemented therewith |
US6665705B1 (en) | 1999-10-19 | 2003-12-16 | International Business Machines Corporation | Method and apparatus for proxy replication |
US6823377B1 (en) | 2000-01-28 | 2004-11-23 | International Business Machines Corporation | Arrangements and methods for latency-sensitive hashing for collaborative web caching |
US7577754B2 (en) | 2000-04-28 | 2009-08-18 | Adara Networks, Inc. | System and method for controlling access to content carried in a caching architecture |
US7908337B2 (en) | 2000-04-28 | 2011-03-15 | Adara Networks, Inc. | System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content |
US6643672B1 (en) * | 2000-07-31 | 2003-11-04 | Hewlett-Packard Development Company, Lp. | Method and apparatus for asynchronous file writes in a distributed file system |
GB2366965A (en) | 2000-09-01 | 2002-03-20 | Ncr Int Inc | Downloading data to a requesting client form the local cache of another client |
EP1368948A2 (en) * | 2000-10-26 | 2003-12-10 | Prismedia Networks, Inc. | Method and apparatus for large payload distribution in a network |
WO2002042874A2 (en) | 2000-11-22 | 2002-05-30 | Azoth Technologies, Inc. | Method and architecture for serving and caching web objects on the modern internet |
US6741970B2 (en) * | 2001-02-26 | 2004-05-25 | International Business Machines Corporation | Method and apparatus for enhanced, high speed updating and storing of E-commerce orders in a server |
JP4191902B2 (ja) | 2001-02-28 | 2008-12-03 | 株式会社日立製作所 | コンテンツ配信装置 |
US20030004998A1 (en) | 2001-06-29 | 2003-01-02 | Chutney Technologies, Inc. | Proxy-based acceleration of dynamically generated content |
US6886077B2 (en) | 2001-12-21 | 2005-04-26 | International Business Machines Corporation | Context-sensitive caching |
US6907501B2 (en) | 2002-01-25 | 2005-06-14 | Ntt Docomo Inc. | System for management of cacheable streaming content in a packet based communication network with mobile hosts |
US20030145112A1 (en) | 2002-01-31 | 2003-07-31 | Keller S. Brandon | Assisted entering of addresses |
US20030163731A1 (en) | 2002-02-28 | 2003-08-28 | David Wigley | Method, system and software product for restricting access to network accessible digital information |
US9087319B2 (en) | 2002-03-11 | 2015-07-21 | Oracle America, Inc. | System and method for designing, developing and implementing internet service provider architectures |
US7133905B2 (en) | 2002-04-09 | 2006-11-07 | Akamai Technologies, Inc. | Method and system for tiered distribution in a content delivery network |
-
2002
- 2002-09-16 US US10/245,798 patent/US7284030B2/en active Active
-
2003
- 2003-09-16 AU AU2003270762A patent/AU2003270762A1/en not_active Abandoned
- 2003-09-16 EP EP03752473A patent/EP1540492A4/en not_active Withdrawn
- 2003-09-16 WO PCT/US2003/029395 patent/WO2004025428A2/en active Application Filing
- 2003-09-16 JP JP2004536620A patent/JP4547263B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040054748A1 (en) | 2004-03-18 |
AU2003270762A1 (en) | 2004-04-30 |
WO2004025428A2 (en) | 2004-03-25 |
EP1540492A4 (en) | 2007-09-26 |
US7284030B2 (en) | 2007-10-16 |
EP1540492A2 (en) | 2005-06-15 |
AU2003270762A8 (en) | 2004-04-30 |
WO2004025428A3 (en) | 2004-06-24 |
JP2005539314A (ja) | 2005-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4547263B2 (ja) | データをネットワーク中で処理する装置および方法 | |
JP4547264B2 (ja) | プロキシ・キャッシュに関する装置および方法 | |
US7552223B1 (en) | Apparatus and method for data consistency in a proxy cache | |
US20070088702A1 (en) | Intelligent network client for multi-protocol namespace redirection | |
US20070055703A1 (en) | Namespace server using referral protocols | |
US20070038697A1 (en) | Multi-protocol namespace server | |
JP4154893B2 (ja) | ネットワークストレージ仮想化方法 | |
US9348842B2 (en) | Virtualized data storage system optimizations | |
US9152600B2 (en) | System and method for caching network file systems | |
KR101544717B1 (ko) | 소프트웨어 정의 네트워크 연결 저장 시스템 및 방법 | |
US7840618B2 (en) | Wide area networked file system | |
US8682916B2 (en) | Remote file virtualization in a switched file system | |
CA2734675C (en) | Shared namespace for storage clusters | |
US7546432B2 (en) | Pass-through write policies of files in distributed storage management | |
US6530036B1 (en) | Self-healing computer system storage | |
US8762434B1 (en) | Aliasing of exported paths in a storage system | |
US10579597B1 (en) | Data-tiering service with multiple cold tier quality of service levels | |
JP4327869B2 (ja) | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 | |
US10628391B1 (en) | Method and system for reducing metadata overhead in a two-tier storage architecture | |
US20240119005A1 (en) | Mechanism to maintain data compliance within a distributed file system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090721 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091006 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091006 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091014 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100121 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100121 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100609 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100629 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100705 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130709 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |