JP3980675B2 - ネットワーク独立型ファイル・シャドウイング - Google Patents

ネットワーク独立型ファイル・シャドウイング Download PDF

Info

Publication number
JP3980675B2
JP3980675B2 JP33763495A JP33763495A JP3980675B2 JP 3980675 B2 JP3980675 B2 JP 3980675B2 JP 33763495 A JP33763495 A JP 33763495A JP 33763495 A JP33763495 A JP 33763495A JP 3980675 B2 JP3980675 B2 JP 3980675B2
Authority
JP
Japan
Prior art keywords
shadow
file system
system structure
computer
network
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
Application number
JP33763495A
Other languages
English (en)
Other versions
JPH08255106A (ja
Inventor
パルディカル シシル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JPH08255106A publication Critical patent/JPH08255106A/ja
Application granted granted Critical
Publication of JP3980675B2 publication Critical patent/JP3980675B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般に、データ処理システムに関し、具体的には、ネットワーク独立型ファイル・シャドウイングに関する。
【0002】
【発明の背景】
携帯用コンピュータに伴う一つの問題は、ネットワークに接続されていないときのファイルへのアクセスに関するものである。ほとんどの携帯用コンピュータは、その携帯用コンピュータをネットワークに接続するための設備を備えている。携帯用コンピュータがネットワークに接続されているときに、携帯用コンピュータは、ネットワーク内に格納されているリモート・ファイルにアクセスすることができる。不幸にも、携帯用コンピュータがネットワークから切り離されると、携帯用コンピュータは、ネットワークに格納されたリモート・ファイルへのアクセスをもはや有しない。
【0003】
【発明の概要】
本発明の第1の特徴によると、コンピュータが前記ネットワークから切り離されたときに、ネットワークからのファイル・システム構造体にアクセスするための方法が提供される。この方法は、記憶装置を備えたコンピュータを有するデータ処理システムにおいて実行される。コンピュータは、第1のタイプの第1ネットワークおよび第2のタイプの第2ネットワークに接続可能である。この方法において、前記コンピュータが前記ネットワークの選択された一方に接続され、かつ、プログラムが前記コンピュータ上で実行されているときに、いくつかのステップが実行される。まず、前記選択されたネットワーク上に格納されたファイル・システム構造体のうちの選択された1つにアクセスするためのリクエストが、前記プログラムから受け取られる。このリクエストに応答して、前記選択されたファイル・システム構造体のシャドウ・コピーが、前記プログラムに関連して透明に得られるように、シャドウ・コピーが透明に得られる。選択されたファイル・システム構造体のシャドウ・コピーは、記憶装置のシャドウ・データベースに格納される。シャドウ・データベースは、コンピュータが前記選択されたネットワークにもはや接続されなくなったときの使用のためにファイル・システム構造体を保持する。
【0004】
本発明の第2の特徴によると、ストレージを備えたコンピュータを有するデータ処理システムにおいて一方法が実行される。コンピュータは、異なるタイプの複数のネットワーク群に接続可能である。このネットワーク群の少なくとも1つは、選択されたファイル・システム構造体を格納する。この方法において、シャドウ・データベースが、前記ストレージ内に設けられ、前記ネットワーク群のために取り出されたファイル・システム構造体のシャドウ・コピーを格納する。シャドウ・データベースは、前記選択されたネットワークからの前記選択されたファイル・システム構造体のシャドウ・コピーを含んでいる。コンピュータが、前記選択されたネットワークから切り離されているときに、前記選択されたファイル・システム構造体をアクセスするためのリクエストが受け取られ、シャドウ・データベースに格納されている前記選択されたファイル・システム構造体のシャドウ・コピーが、このリクエストにサービスを提供するために使用される。
【0005】
本発明の第3の特徴によると、ストレージを備えたコンピュータを有するデータ処理システムにおいて一方法が実行される。コンピュータは、異なるタイプの複数のコンピュータ群に接続することができる。各ネットワークは、少なくとも1つのファイル・システム構造体を備えている。この方法において、コンピュータがネットワークに接続されているとき、ネットワーク群のファイル構造体にアクセスするためのリクエストが受け取られ、アクセスするためのリクエストが受け取られたファイル・システム構造体のシャドウ・コピーが、ストレージ内のシャドウ・データベースに格納される。コンピュータが、ネットワーク群の少なくとも1つから切り離され、切り離されたネットワーク群の一つのネットワークの選択されたファイル・システム構造体にアクセスするためのリクエストが受け取られると、シャドウ・データベースがアクセスされ、このリクエストにサービスを提供するために、選択されたファイル・システム構造体のシャドウ・コピーが使用される。
【0006】
本発明の第4の特徴によると、コンピュータ・システムが、異なるタイプのネットワーク群に接続可能である。このコンピュータ・システムは、異なるタイプのネットワーク群から選択されたファイル・システム構造体のシャドウ・コピーを保持するシャドウ・データベースを備えている。また、コンピュータ・システムは、前記シャドウ・データベースにアクセスすることにより、前記選択されたファイル・システム構造体の1つをアクセスするためのリクエストに応答して、前記リクエストにサービスを提供するために前記リクエストされたファイル・システム構造体のシャドウ・コピーを得るシャドウ・モジュールも備えている。コンピュータ・システムは、シャドウ・データベースを構築するシャドウ・データベース・ビルダを備えていてもよい。シャドウ・データベース・ビルダは、ファイル・システム構造体がコンピュータによってアクセスされるときに、選択されたファイル・システム構造体のシャドウ・コピーを格納する。また、コンピュータ・システムは、シャドウ・データベースを構築および維持するエージェントを備えていてもよい。
【0007】
【実施例または発明の実施の形態】
本発明の好ましい実施形態は、ネットワーク独立ファイル・シャドウイングを提供する。それぞれ異なるタイプのネットワークからのファイルが、本発明の好ましい実施形態のメカニズムを使用してシャドウイングされるという点において、好ましい実施形態によって提供されるファイル・シャドウイングは、ネットワーク独立である。本発明の好ましい実施形態によって実行されるファイル・シャドウイングは、リモート・ネットワーク・ファイル・システムにおいてユーザによりアクセスされるファイルのコピーを自動的かつ透明(トランスペアレント)に保持する。好ましい実施形態によって提供される透明性により、コンピュータがリモート・ネットワークから切り離されたときに、アクセス用にローカルに格納するためにどのファイルを選択するかというユーザの負担が軽減される。
【0008】
図1は、本発明の好ましい実施形態を実現するのに適した分散システム10の一例を示すブロック図である。この技術分野の専門家(当業者)には明らかであるが、図1に示す分散システムは例示のためのものにすぎず、本発明が他のデータ処理システムの構成においても実現することができる。図1に示す分散システム10は、ネットワーク12、14および16を含んでいる。これらの各ネットワークは、ファイル・サーバ18、20および22をそれぞれ備えている。ファイル・サーバ18、20および22は、それぞれのネットワーク12、14および16に格納されたファイルおよび他のデータへのアクセスを管理する。ネットワーク12、14および16のそれぞれは、ワークステーション、記憶装置および他の周辺装置のような追加コンポーネントを備えていてもよい。ネットワーク12は、メモリ26を有するワークステーション24を備えている。メモリ26は、少なくとも一つのアプリケーション・プログラム30とオペレーティング・システム28のコピーを保持する。本発明の好ましい実施形態を実行するコードは、オペレーティング・システム28の内部に組み込まれている。しかしながら、当業者には明らかであるが、変形例として、このコードは、オペレーティング・システムに直接組み込まれていない別のモジュールに組み込まれることもある。
【0009】
以下の説明のために、ワークステーション24がネットワーク14および16から切り離されているものと仮定する。さらに、ワークステーション24は、分離された環境における使用にも容易に適応可能な携帯用コンピュータであると仮定する。本発明が携帯用コンピュータにおける実現に限られるものではなく、むしろ他のタイプのコンピュータ・システムにおいても実現できることが、当業者には理解されよう。
【0010】
本発明の好ましい実施形態は、リモート・ネットワーク(例えば、ネットワーク14および16)からのワークステーション24によってアクセスされるファイルのシャドウ・コピーを自動的かつ透明に格納することによって、発明の背景の項で説明した従来技術の問題点を解決する。後に詳述するように、本発明の好ましい実施形態は、ファイル・シャドウ・メカニズムおよび永続キャッシュ(persistent cache)として働くリモート・アクセス・ファイルのデータベースを備える。ファイル・シャドウ・メカニズムは、リモート・ネットワークからのファイル入出力(I/O)のためのリクエストをフック(hook)する。続いて、このようなリクエストに関係したファイルが、永続キャッシュに運ばれる。したがって、永続キャシュは、ワークステーション24がネットワーク14および16に接続されている間に構築され、後にワークステーションがネットワーク14および16に接続されなくなった場合に永続キャシュ内のファイルがアクセスされるようにする。
【0011】
図2は、本発明の好ましい実施形態における役割を担うソフトウェアの構成要素を示すブロック図である。ボーダ37は、ユーザ特権レベルにあるソフトウェア構成要素をカーネル特権レベルにあるソフトウェア構成要素から分離するものである。ファイルI/Oリクエストは、アプリケーション・プログラム30によって生成される。アプリケーション・プログラム30は、ワード・プロセシング・プログラムやスプレッドシート・プログラムを含む、いずれのタイプのアプリケーションであってもよい。ファイルI/Oリクエストがアプリケーション・プログラム30内からではなくオペレーティング・システム28内から発行される場合についても、本発明が適用可能であることは、当業者には理解されよう。以下の説明のために、アプリケーション・プログラムは、ファイルI/Oリクエストを生成できる任意のプログラムを含むようにされている。
【0012】
アプリケーション・プログラム30から発行されるリクエストは、マルチ・プロバイダ・ルータ31に渡される。マルチ・プロバイダ・ルータ31は、このリクエストをネットワーク・プロバイダ33および35にルーティング(経路選択)する。ネットワーク・プロバイダ33および35は、クライアント・コードとしてオペレーティング・システム28に設けられる。ネットワーク・プロバイダ33および35は、アプリケーション・プログラム30とリモート・ネットワークとの間に接続(コネクション)を生成する機能を有する。マルチ・プロバイダ・ルータ31は、ネットワーク・プロバイダのそれぞれにリクエストを渡し、いずれのネットワーク・プロバイダが適切なネットワークとの接続に成功するかを判断する。分散システム10における異なるタイプのネットワークのそれぞれに対して、個別のネットワーク・プロバイダ33および35が設けられる。本発明の好ましい実施形態は、シャドウ・ネットワーク・プロバイダを提供する。このシャドウ・ネットワーク・プロバイダは、他のネットワーク・プロバイダ33のいずれも接続の確立に成功しない場合に使用される。シャドウ・ネットワーク・プロバイダ35は、シャドウ・データベース42へのシャドウ・ネットワーク接続を確立するために使用され、シャドウ・データベース42に含まれるデータがアクセスされるようにする。シャドウ・ネットワーク・プロバイダ35の使用は、後に詳述される。ネットワーク・プロバイダ33および35は、ファイル・システム・ドライバ(FSD:File System Driver)38および40と直接インタラクションを行って、リモート・ネットワークへの接続を確立してもよい。これらのドライバについては後に詳述する。選択的に、ネットワーク・プロバイダ33は、インストール可能ファイル・システム・マネージャ(IFSMGR:Installable File System Manager )32を介してリモート・ネットワークへの接続を確立することもできる。
【0013】
IFSMGR32は、オペレーティング・システム28の一部として含まれ、ファイルI/Oリクエストをその適切な目的地(すなわち、リクエストを処理する適切なファイル・サーバ)へ向かわせる役割を有する。IFSMGR32は、ユーザが、異なるタイプのファイル・システムのファイルにアクセスできるように、マルチ・ファイル・システムを扱うように設計される。
【0014】
IFSMGR32は、図2に示すファイル・システム・ドライバ(FSD)36、38および40のようなFSD群とインタラクションを行う。FSD36、38および40は、IFSMGR32とファイル・システムとの間のインタフェースとして機能する。FSDは、システムにはデバイス・ドライバとして見える。特に、FSD36、38および40は、ファイル・システムを担当するデバイス・ドライバとして見える。
【0015】
FSD36、38および40は、オペレーティング・システム28の一部である。FSD36、38および40は、ローカル・ファイル・システム(FSD36)またはリモート・ファイル・システム(FSD38および40)との間のインタフェース(整合)を行う。FSD36、38および40のそれぞれは、所与のファイル・システムとのインタフェースを行うように設計される。
【0016】
シャドウVxD34は、ファイルI/Oリクエストを監視する仮想デバイス・ドライバであり、どのファイルを永続キャシュ(シャドウ・データベース42として知られている)内に置く必要があるかを決定する。シャドウVxD34は、デバイスをシミュレーションする仮想デバイス・ドライバである(すなわち、これはデバイスの仮想化を表す)。シャドウVxD34は、オペレーティング・システム28のカーネルの一部として実現される。シャドウVxD34の役割は、後に詳述される。
【0017】
ユーザ・ヒント・データベース(user hints database) が、どのファイル・タイプがシャドウ・データベース42に含まれるべきかまたは除外されるべきかを決定するために設けられることがある。このヒント・データベースは、あるファイル・リファレンスを含め、または、除外するためのフィルタのように動作する。また、ファイルが他の任意のアプリケーション・プログラムによって参照されたかどうかにかかわらず、リクエストされたファイル・リファレンスをエージェントが、ヒント・データベースに周期的に満たすことがあるという点において、ヒント・データベースは、エージェント用のワーク・キューのようにも動作する。ユーザのコンピュータがネットワークから切り離されたときに、ヒント・データベースは、ユーザの利用可能なスペースを最適化するために、ローカル・ディスクのスペースの利用を最大にしようとする。
【0018】
シャドウ・データベース42は、ワークステーション28(図1)にアクセスされ、かつ、リモート・ファイル・システム内に存在するファイルの完全なネーミング情報を保持している。また、シャドウ・データベース42は、アクセスされるファイルの記述(すなわち、そのファイルの疎な記述(sparse representation) または完全な記述のいずれか)も保持している。さらに、シャドウ・データベース42は、優先順位の高いファイルをキューの先頭に、優先順位の低いファイルをキューの末尾にそれぞれ配置する優先順位キューも有する。優先順位の高いファイルは、優先順位の低いファイルよりも、シャドウ・データベース42に留まる優先順位が高いファイルである。
【0019】
エージェント44として知られているアプリケーションは、シャドウ・データベース42を維持するために設けられている。後に詳述するように、エージェント44は、定期的に起動され、ファイルをシャドウ・データベース42に運び、シャドウ・データベースの必要な更新を行う。
【0020】
図3は、本発明の好ましい実施形態によって実行される処理の概要を示すフローチャートである。まず、ワークステーション24は、ネットワーク14および16に接続される(図3のステップ46)。続いて、シャドウ・データベース42が、後に詳述するように構築される(図3のステップ48)。その後、ワークステーション24は、ネットワーク14および16の一方または双方から切り離される(図3のステップ50)。ワークステーション24がネットワークから切り離された状態において、シャドウ・データベース42は、リモート・ファイル・システムから生じたファイルを発見するためにアクセスされる永続キャッシュとして使用される(図3のステップ52)。続いて、ワークステーション24は、ネットワークに再接続され(図3のステップ54)、さまざまなクリーン・アップ処理が実行される(ステップ56)。
【0021】
シャドウVxD34は、リモート・ファイル・システムへファイルI/Oリクエストをフックする役割を有する。図4は、シャドウVxD34がこのようなフック処理を実行できるようにするために実行される処理を示すフローチャートである。先ず、システム・ブート中に、IFSMGR32が、ワークステーション24のメモリ26にロードされる(図4のステップ58)。IFSMGR32が十分にロードされると、シャドウVxD34がロードされる(図4のステップ60)。シャドウVxD34は、RegisterNet サービスへの呼出しをフックし(図4のステップ62)、RegisterNet サービスは、IFSMGR32を有するリモート・ファイル・システム・ドライバを登録する。続いて、リモート・ファイル・システム・ドライバ38および40は、連続してロードされる(図4のステップ64)。RegisterNet サービスは、IFSMGR32を有するリモート・ネットワークを登録する。このRegisterNet サービスへの呼出しをフックすることによって、シャドウVxD34は、IFSMGR32からリモート・ファイル・システム・ドライバ38および40の1つへ送られる各ファイルI/Oリクエストをフックすることができる。
【0022】
ファイル・システム・ドライバ38および40のそれぞれがロードされると、それらは、FSDを登録するために、IFSMGR32によって提供されるRegisterNet サービスを呼び出す。FSD38および40は、RegisterNet サービスへの呼出しの一部として、ファイル・システム・ドライバへの接続を形成するために関数ポインタを転送する。続いて、IFSMGR32が接続形成を必要とすると、IFSMGR32は、FSD38または40から渡されるポインタによって識別される関数を呼び出す。この関数呼出しが成功すると、FSDは、IFSMGR32に関数ポインタの配列を返す。この関数ポインタ配列は、FSD38または40と関連したファイル・システム上で実行可能な関数を指すものである。シャドウVxD34は、FSD38および40からのRegisterNet 呼出しをフックし、関数ポインタ配列を受け取る。シャドウVxD34は、それ自身の関数ポインタ配列をIFSMGR32に渡す。シャドウVxD34からIFSMGRへ渡された関数ポインタ配列は、シャドウVxD34の関数へのフックを提供する。その結果、オペレーションがリモート・ファイル・システムの一つの上で実行されるごとに、シャドウVxD34は、これらの呼出しをフックし、したがって、シャドウ・データベース42を満たす。
【0023】
図5は、I/Oリクエストがアプリケーション・プログラム30から発生したときに本発明の好ましい実施形態によって実行される処理を示すフローチャートである。この処理は、リモート・ネットワークの1つに存在するファイルへのファイルI/Oリクエストを作成するアプリケーション・プログラム30によって開始される(図5のステップ66)。上述したように、このリモート・ファイルI/Oリクエストは、ローカル・ワークステーション24で実行されている任意のプログラムから生じることがある。このリクエストは、IFSMGR32に渡される(図5のステップ68)。シャドウVxD34は、このリクエストをフックし(図5のステップ70)、そのファイルがシャドウ・データベース42内にまだ存在していないならば、シャドウ・データベース42にそのファイルを追加する(図5のステップ70)。特に、リクエストされたファイルの完全なネーミング情報は、シャドウ・データベース42に格納される。この完全なネーミング情報は、統一ネーミング規約(UNC:Unified Naming Convention )に従って指定されるように、サーバ共有ペアのパスネームを含んでいる。ファイルは、疎なフォーマット(すなわち、ファイルの内容が即座にはデータベースに格納されない)でデータベース42に格納される。続いて、シャドウVxD32は、適切なファイルが取り出されるように、適切なFSDへファイルI/Oリクエストを渡す(ステップ74)。
【0024】
上述したように、エージェント44(図2)に役割は、シャドウ・データベース42を維持することである。エージェント44の主な役割の一つは、シャドウ・データベース42に疎に格納されているファイルの内容を取り出すことである。エージェント44は、このタスクをバックグラウンド・スレッド(background thread) として実行する。図6は、この点に関するエージェント44によって実行される処理を示すフローチャートである。まず、エージェント44は定期的に起動される(図6のステップ76)。例えば、エージェント44は、30秒毎に起動される。続いて、エージェント44は、アクティブになり、その後スリープ状態に戻る。エージェントが起動されると、エージェントは、シャドウ・データベース42内のエントリを見て、疎な形式で格納されているエントリを識別する(図6のステップ78)。エージェント44は、優先順位キューの先頭にあるエントリから優先順位の低いエントリに向かって、疎なエントリの検索を行う。エージェント44が疎な形式で格納されたエントリを発見すると、エージェントは、そのファイルのシャドウ・コピーを捕らえることによりファイルの内容を完成させようとする(ステップ80)。続いて、エージェント44は、一定の時間が経過するか、または、エージェントの行うべき処理がなくなった後に、スリープ状態に戻る(ステップ82)。
【0025】
エージェント44は、シャドウ・データベース42を維持する役割をも有する。一つの問題は、シャドウ・データベース42に格納されたファイルのコピーが新鮮でないか、または、余りにも古くなることがあるということである。ファイルが取り出され、シャドウ・データベース42に格納されるごとに、タイムスタンプがデータベースに入力される。このタイムスタンプは、図7に示すように使用され、新鮮でないエントリをシャドウ・データベース42から除去する。特に、エージェント44は、シャドウ・データベース42に格納されたファイルのタイムスタンプを検査する(図7のステップ84)。シャドウVxDが、シャドウ・データベースのファイルをオープンする際または他の適当な時に、この検査を実行してもよい。このタイムスタンプは、予め定められたタイムスタンプ値と比較され、そのファイルが新鮮であるかどうかが判断される(ステップ86)。タイムスタンプの遮断値以前の値を有するタイムスタンプは、除去の対象となる。ファイルが、新鮮でないと判断されると、そのファイルの新しいコピーが取り出され、シャドウ・データベース42に格納される(図7のステップ88)。
【0026】
エージェント44がシャドウ・データベース42を維持する際に検討しなければならないもう一つの問題は、シャドウ・データベース42のサイズが固定されており、このために満杯になることがあるということである。例えば、シャドウ・データベース42は、ワークステーション24のハードディスク・ドライブにおける固定サイズの一部分を構成していることがある。シャドウ・データベースに運ばれるファイルが多くなるほど、シャドウ・データベース42が満杯になる可能性が増加する。このような場合に、あるファイルをシャドウ・データベースから消去しなければならない。図8に示すように、エージェント44は、利用可能なスペースが十分にないと判断する(図8のステップ90)。この決定は、シャドウ・データベース42のファイルをオープンするごとに、または、他の選択可能な回数で、シャドウ・データベース42に書き込む際になされる。エージェント44は、シャドウ・データベース42に十分なスペースが利用可能になるまで、優先順位の最も低いファイルを一つずつ消去し始める(図8のステップ92)。
【0027】
上述したように、シャドウ・データベース42は、ワークステーション24がネットワーク16および18に接続されている間に構築される。しかしながら、シャドウ・データベース42は、ワークステーション24がネットワーク16および18の一方または双方から切り離されているときに主に使用される。図9は、ワークステーション24がネットワーク16および18の一方または双方から切り離されているときに、シャドウ・データベース42を使用するために実行される処理を示すフローチャートである。アプリケーション・プログラム30は、ワークステーション24上で実行され、リモート・ファイル・システム上のファイルに対するファイルI/Oリクエストを開始する(図9のステップ94)。マルチ・プロバイダ・ルータ31は、リモート・ファイル・システムにファイルを保持するネットワークへの接続を確立するのに通常のネットワーク・プロバイダ33を使用できないと判断して、シャドウ・ネットワーク・プロバイダ35にリクエストをルーティング(経路選択)する。シャドウ・ネットワーク・プロバイダ35は、シャドウ・データベース42にアクセスするために、シャドウVxD34を呼び出す(図9のステップ96)。続いて、シャドウVxD34はアクティブになり、シャドウ・データベース42内を検索する(図9のステップ98)。シャドウVxD34は、ファイルがシャドウ・データベース42にあるかどうか、およびその内容(すなわち、疎な形態ではなく)が存在するかどうかをチェックする(図9のステップ100 )。ファイルがシャドウ・データベース42内に格納されているならば、ファイルは取り出され、使用される(図9のステップ102 )。一方、ファイルがデータベース内にないか、または、疎な形態でしか格納されていないならば、ファイルが利用可能でないことを示すエラーが返される(ステップ104 )。
【0028】
ワークステーション24がネットワーク14および16の一方または双方から切り離されると、ネットワークのファイル・サーバ18および20は、ワークステーション24に保持されているファイルのローカル・コピーを検査して、これらのコピーをネットワークに保持されているものと一致させなければならない。一致を行うための標準的な技術を利用することができる。エージェント44は、所与のファイル・サーバがオンライン状態であるかどうかをチェックするためのコードを備えている。サーバがオンラインであり、かつ、ローカル・ファイルが変更されているときは、統合および一致がトリガされる。
【0029】
好ましい実施形態を参照しながら本発明を説明してきたが、特許請求の範囲に定められるような本発明の意図する範囲から逸脱することなく、さまざまな形式の変更および具体化を行うことができるのは、当業者には理解できよう。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態を実行するのに適した分散システムのブロック図である。
【図2】本発明の好ましい実施形態を実行する役割を有するソフトウェア構成要素を示すブロック図である。
【図3】本発明の好ましい実施形態において実行される処理の概要を示すフローチャートである。
【図4】本発明の好ましい実施形態に従って、シャドウVxDにファイル入出力リクエストをフックさせるように実行される処理を示すフローチャートである。
【図5】本発明の好ましい実施形態に従って、ファイルI/Oリクエストがリモート・ファイルになされたときに実行される処理を示すフローチャートである。
【図6】本発明の好ましい実施形態に従って、シャドウ・データベースによって実行される処理を示すフローチャートである。
【図7】本発明の好ましい実施形態において、シャドウ・データベースに新鮮でないエントリを消去するためにエージェントによって実行される処理を示すフローチャートである。
【図8】本発明の好ましい実施形態に従って、シャドウ・データベースに十分なフリー・スペースを生成するためにエージェントによって実行される処理を示すフローチャートである。
【図9】本発明の好ましい実施形態に従って、コンピュータがネットワークから切り離されたときにシャドウ・データベースを使用するために実行される処理を示すフローチャートである。
【符号の説明】
10 分散システム
12、14、16 ネットワーク
18、20、22 ファイル・サーバ
24 ワークステーション
26 メモリ
28 オペレーティング・システム
30 アプリケーション・プログラム
31 マルチ・プロバイダ・ルータ
32 インストール可能ファイル・システム・マネージャ(IFSMGR)
33 ネットワーク・プロバイダ
34 シャドウVxD
35 シャドウ・ネットワーク・プロバイダ
38、40 ネットワーク・ファイル・システム・ドライバ
42 シャドウ・データベース
44 エージェント

Claims (17)

  1. 記憶装置を備え、第1のタイプの第1ネットワークおよび第2のタイプの第2ネットワークに接続可能なコンピュータを有するデータ処理システムにおいて、前記第1ネットワークおよび第2ネットワークは、ファイル・システム構造体をそれぞれ格納し、前記コンピュータが前記ネットワークの少なくとも1つから切り離されたときに前記ネットワークの1つから前記ファイル・システム構造体の1つへのアクセスを提供するための方法であって、
    前記コンピュータが前記ネットワークの選択された一方に接続され、かつ、プログラムが前記コンピュータ上で実行されているときに、
    (i)前記選択されたネットワーク上に格納されたファイル・システム構造体のうちの選択された1つにアクセスするためのリクエストを前記プログラムから受け取り、
    (ii)前記リクエストに応答して、前記選択されたファイル・システム構造体の1つに関する完全なネーミング情報を格納し、かつ、前記プログラムに関連した前記選択されたファイル・システム構造体のシャドウ・コピーをトランスペアレントに得て、
    (iii)前記選択されたネットワークに接続されたファイル・システム構造体を保持する前記記憶装置のシャドウ・データベースに、前記選択されたファイル・システム構造体のシャドウ・コピーを格納する、
    ステップを備えている方法。
  2. 請求項1に記載の方法において、
    前記コンピュータが前記選択されたネットワークから切り離されたときに、
    (i)前記選択されたネットワークの前記選択されたファイル・システム構造体をアクセスするためのリクエストを受け取り、
    (ii)前記リクエストにサービスを提供するために前記シャドウ・データベースに格納されている前記選択されたファイル・システム構造体の前記シャドウ・コピーを使用する、
    ステップをさらに備えている方法。
  3. 請求項2に記載の方法において、前記コンピュータが前記選択されたネットワークに再接続されたときに、前記シャドウ・データベースをクリーン・アップして、前記選択されたネットワークの全てのファイル・システム構造体を消去するステップをさらに備えている方法。
  4. 請求項1に記載の方法において、
    前記シャドウ・コピーを格納する前に、前記シャドウ・データベースに前記シャドウ・コピーを格納するのに十分なフリー・スペースがないと判断し、
    前記シャドウ・データベースのファイル・システム構造体を消去して、前記選択されたファイル・システム構造体の前記シャドウ・コピーを格納するのに十分なフリー・スペースを生成する、
    ステップをさらに備えている方法。
  5. 請求項1に記載の方法において、前記シャドウ・データベースが、ファイル・システム構造体の優先順位に従ってファイル・システム構造体を格納する優先順位キューであり、前記選択されたファイル・システム構造体が優先順位を有し、前記選択されたファイル・システム構造体のシャドウ・コピーを前記優先順位キューのある位置に格納する前記ステップが、前記選択されたファイル・システム構造体の優先順位に基づくものである方法。
  6. 請求項1に記載の方法において、前記コンピュータは、複数の異なるタイプのネットワーク群に接続可能で、前記ネットワーク群の少なくとも選択された1つが選択されたファイル・システム構造体を記憶するデータ処理システムにおいて、前記コンピュータが前記選択されたネットワークから切り離されたときに、前記選択されたファイル・システム構造体へのアクセスを提供する方法であって、
    前記ネットワーク群から取り出されるファイル・システム構造体のシャドウ・コピーを格納するためのシャドウ・データベースを前記ストレージ内に設け、前記シャドウ・データベースは、前記選択されたネットワークからの前記選択されたファイル・システム構造体のシャドウ・コピーを含み、
    前記コンピュータが、前記選択されたネットワークから切り離されると、
    (i)前記選択されたファイル・システム構造体をアクセスするためのリクエストを受け取り、
    (ii)前記リクエストにサービスを提供するために前記シャドウ・データベースに格納されている前記選択されたファイル・システム構造体の前記シャドウ・コピーを使用する、
    ステップを備えている方法。
  7. 請求項6に記載の方法において、シャドウ・データベースを設ける前記ステップが、前記シャドウ・データベースを優先順位キューとして設けるステップを含み、ファイル・システム構造体の各シャドウ・コピーが優先順位を有し、各シャドウ・コピーの前記キュー内の位置がその優先順位によって決定されるものである方法。
  8. 請求項6に記載の方法において、前記コンピュータ・システムがアプリケーション・プログラムを実行し、前記アプリケーション・プログラムが、前記選択されたファイル・システム構造体をアクセスするためのリクエストを生成し、前記リクエストにサービスを提供するために前記選択されたファイル・システム構造体のシャドウ・コピーを使用する前記ステップが、前記アプリケーション・プログラムに関してトランスペアレントに実行される方法。
  9. 請求項6に記載の方法において、
    前記コンピュータが、前記ネットワーク群の第2のものから切り離されたときに、
    (i)前記第2のネットワークのファイル・システム構造体をアクセスするためのリクエストを受け取り、
    (ii)前記リクエストにサービスを提供するために前記第2のネットワークからアクセスされる、前記シャドウ・データベースに格納されている前記ファイル・システム構造体の所与のシャドウ・コピーを使用する方法。
  10. ストレージを備え、複数の異なるタイプのネットワーク群に接続可能なコンピュータを有し、各ネットワークが少なくとも1つのファイル・システム構造体を含んでいるデータ処理システムにおいて、
    前記コンピュータが前記ネットワーク群に接続されたときに、
    (i)前記ネットワーク群のファイル・システム構造体をアクセスするリクエストを受け取り、
    (ii)アクセスするためのリクエストが受け取られた前記ファイル・システム構造体に関する完全なネーミング情報をトランスペアレントに格納し、リクエストが完了した後に前記ファイル・システム構造体のシャドウ・コピーをトランスペアレントに取得し、受け取られた前記ファイル・システム構造体のシャドウ・コピーを、前記ストレージのシャドウ・データベースに格納し、
    前記コンピュータが、前記ネットワーク群の少なくとも1つから切り離され、前記切り離されたネットワーク群の1つの選択されたファイル・システム構造体をアクセスするためのリクエストが受け取られると、前記シャドウ・データベースをアクセスして、そこに格納されている前記選択されたファイル・システム構造体のシャドウ・コピーを使用して、前記リクエストにサービスを提供する、
    ステップを備えている方法。
  11. 請求項10に記載の方法において、前記シャドウ・データベースに格納されているファイル・システム構造体の各シャドウ・コピーが優先順位を有し、アクセスのためのリクエストが受け取られたファイル・システム構造体のシャドウ・コピーを、前記ストレージの前記シャドウ・データベースに格納する前記ステップが、前記シャドウ・コピーを優先順位キューとして格納するステップを含み、前記優先順位キューの各シャドウ・コピーの位置がその優先順位によって決定されるものである方法。
  12. 請求項10に記載の方法において、シャドウ・コピーを格納する前記ステップが、
    シャドウ・コピーの所与の一つを格納するのに、前記シャドウ・データベースに利用可能なフリー・スペースが十分にないと判断し、
    前記シャドウ・データベースからシャドウ・コピーを消去して、前記所与のシャドウ・コピーを格納するための十分なフリー・スペースを設ける、
    ステップを備えている方法。
  13. 請求項10に記載の方法において、
    前記ストレージに各シャドウ・コピーのタイムスタンプを格納し、各タイムスタンプは、前記シャドウ・コピーが前記シャドウ・データベースに格納されたときを示すものであり、
    前記タイムスタンプが、現在格納されているシャドウ・コピーがあまりにも古いことを示している場合にシャドウ・コピーの更新版を格納する、
    ステップをさらに備えている方法。
  14. 異なるタイプのネットワーク群に接続可能なコンピュータ・システムであって、
    異なるタイプのネットワーク群から選択されたファイル・システム構造体のシャドウ・コピーを保持するシャドウ・データベース、および
    前記ファイル・システム構造体が前記コンピュータによってアクセスされるためにリクエストされるとき前記選択されたファイル・システム構造体に関して完全なネーミング情報をトランスペアレントに格納し、リクエストが完了した後に前記選択されたファイル・システム構造体のシャドウ・コピーをトランスペアレントに得て、かつ前記選択されたファイル・システム構造体のシャドウ・コピーを格納することによって前記シャドウ・データベースを構築するためのシャドウ・データベース・ビルダ、
    前記シャドウ・データベースにアクセスすることにより、前記選択されたファイル・システム構造体の1つをアクセスするためのリクエストに応答して、前記リクエストにサービスを提供するために前記1つのファイル・システム構造体のシャドウ・コピーを得るシャドウ・モジュール、
    を備えているコンピュータ・システム。
  15. 請求項14に記載のコンピュータ・システムにおいて、前記シャドウ・データベース・ビルダが、前記ファイル・システム構造体が前記コンピュータによってアクセスされるときに、前記選択されたファイル・システム構造体のシャドウ・コピーを格納することによって、前記シャドウ・データベースを構築するように構成されたコンピュータ・システム。
  16. 請求項14に記載のコンピュータ・システムにおいて、前記シャドウ・データベースを維持するためのエージェントをさらに備えているコンピュータ・システム。
  17. 請求項14に記載のコンピュータ・システムにおいて、前記ネットワークのファイル・システムとインタフェースするファイル・システム・ドライバをさらに備えているコンピュータ・システム。
JP33763495A 1994-11-18 1995-11-20 ネットワーク独立型ファイル・シャドウイング Expired - Fee Related JP3980675B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34212794A 1994-11-18 1994-11-18
US08/342127 1994-11-18

Publications (2)

Publication Number Publication Date
JPH08255106A JPH08255106A (ja) 1996-10-01
JP3980675B2 true JP3980675B2 (ja) 2007-09-26

Family

ID=23340457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33763495A Expired - Fee Related JP3980675B2 (ja) 1994-11-18 1995-11-20 ネットワーク独立型ファイル・シャドウイング

Country Status (3)

Country Link
US (1) US5721916A (ja)
EP (1) EP0713183A3 (ja)
JP (1) JP3980675B2 (ja)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US5727203A (en) * 1995-03-31 1998-03-10 Sun Microsystems, Inc. Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
US5964830A (en) * 1995-08-22 1999-10-12 Durrett; Charles M. User portal device for the world wide web to communicate with a website server
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
US5806085A (en) * 1996-05-01 1998-09-08 Sun Microsystems, Inc. Method for non-volatile caching of network and CD-ROM file accesses using a cache directory, pointers, file name conversion, a local hard disk, and separate small database
US6125403A (en) * 1996-05-01 2000-09-26 Sun Microsystems, Inc. Method for implementing a non-volatile caching product for networks and CD-ROMS
US5889935A (en) * 1996-05-28 1999-03-30 Emc Corporation Disaster control features for remote data mirroring
US6052797A (en) 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US5953522A (en) * 1996-07-01 1999-09-14 Sun Microsystems, Inc. Temporary computer file system implementing using anonymous storage allocated for virtual memory
US5850565A (en) * 1996-08-26 1998-12-15 Novell, Inc. Data compression method and apparatus
US5893116A (en) * 1996-09-30 1999-04-06 Novell, Inc. Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network
US6073128A (en) * 1997-10-31 2000-06-06 Oracle Corporation Method and apparatus for identifying files used to restore a file
US6003044A (en) * 1997-10-31 1999-12-14 Oracle Corporation Method and apparatus for efficiently backing up files using multiple computer systems
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
JPH11249948A (ja) 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムで使用されるファイルリソース切り替え方法および記録媒体
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) * 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6574591B1 (en) * 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6757705B1 (en) * 1998-08-14 2004-06-29 Microsoft Corporation Method and system for client-side caching
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6247024B1 (en) 1998-09-25 2001-06-12 International Business Machines Corporation Method and system for performing deferred file removal in a file system
US6615244B1 (en) 1998-11-28 2003-09-02 Tara C Singhal Internet based archive system for personal computers
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6418413B2 (en) 1999-02-04 2002-07-09 Ita Software, Inc. Method and apparatus for providing availability of airline seats
DE60042484D1 (de) * 1999-03-25 2009-08-13 Microsoft Corp Erweitertes dateiensystem
US6754696B1 (en) 1999-03-25 2004-06-22 Micosoft Corporation Extended file system
US6122630A (en) * 1999-06-08 2000-09-19 Iti, Inc. Bidirectional database replication scheme for controlling ping-ponging
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US6961749B1 (en) 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
AU3638401A (en) * 1999-11-01 2001-05-14 Ita Software, Inc. Method and apparatus for providing availability of airline seats
US6807550B1 (en) * 1999-12-01 2004-10-19 Microsoft Corporation Methods and systems for providing random access to structured media content
US6883120B1 (en) 1999-12-03 2005-04-19 Network Appliance, Inc. Computer assisted automatic error detection and diagnosis of file servers
US6963875B2 (en) 2000-03-23 2005-11-08 General Atomics Persistent archives
US6678700B1 (en) * 2000-04-27 2004-01-13 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
US7216085B1 (en) 2000-07-13 2007-05-08 Ita Software, Inc. Competitive availability tools
GB2365556B (en) * 2000-08-04 2005-04-27 Hewlett Packard Co Gateway device for remote file server services
AU2001293290A1 (en) 2000-09-21 2002-04-02 Integrity Pc Innovations, Inc. An automatic real-time file management method and apparatus
US20040233910A1 (en) * 2001-02-23 2004-11-25 Wen-Shyen Chen Storage area network using a data communication protocol
US6662196B2 (en) 2001-03-16 2003-12-09 Iti, Inc. Collision avoidance in bidirectional database replication
US7103586B2 (en) * 2001-03-16 2006-09-05 Gravic, Inc. Collision avoidance in database replication systems
US7177866B2 (en) * 2001-03-16 2007-02-13 Gravic, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US6668264B1 (en) 2001-04-03 2003-12-23 Network Appliance, Inc. Resynchronization of a target volume with a source volume
CA2365372A1 (en) * 2001-12-18 2003-06-18 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for editing a production data store by shadowing content
GB2390444A (en) 2002-06-13 2004-01-07 Barry Edmund James Improvements relating to data storage
NZ521983A (en) * 2002-10-14 2005-05-27 Maximum Availability Ltd Journaling changes to system objects such as programs in the IBM OS/400 operating system
US8010491B2 (en) * 2003-02-28 2011-08-30 Microsoft Corporation Method for managing multiple file states for replicated files
US7349943B2 (en) * 2003-03-12 2008-03-25 Microsoft Corporation Protocol-independent client-side caching system and method
US7430570B1 (en) 2003-04-28 2008-09-30 Ibrix, Inc. Shadow directory structure in a distributed segmented file system
US7653699B1 (en) * 2003-06-12 2010-01-26 Symantec Operating Corporation System and method for partitioning a file system for enhanced availability and scalability
US8108483B2 (en) * 2004-01-30 2012-01-31 Microsoft Corporation System and method for generating a consistent user namespace on networked devices
US7698393B2 (en) * 2004-03-23 2010-04-13 Microsoft Corporation Method and system for shadowing information between computing devices
US8271436B2 (en) * 2005-02-07 2012-09-18 Mimosa Systems, Inc. Retro-fitting synthetic full copies of data
US7778976B2 (en) * 2005-02-07 2010-08-17 Mimosa, Inc. Multi-dimensional surrogates for data management
US7657780B2 (en) * 2005-02-07 2010-02-02 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US8918366B2 (en) * 2005-02-07 2014-12-23 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US7870416B2 (en) * 2005-02-07 2011-01-11 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US8799206B2 (en) * 2005-02-07 2014-08-05 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8161318B2 (en) * 2005-02-07 2012-04-17 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US20070143366A1 (en) * 2005-02-07 2007-06-21 D Souza Roy P Retro-fitting synthetic full copies of data
US8812433B2 (en) * 2005-02-07 2014-08-19 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8275749B2 (en) * 2005-02-07 2012-09-25 Mimosa Systems, Inc. Enterprise server version migration through identity preservation
US8543542B2 (en) * 2005-02-07 2013-09-24 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US7917475B2 (en) * 2005-02-07 2011-03-29 Mimosa Systems, Inc. Enterprise server version migration through identity preservation
US9152823B2 (en) * 2005-04-22 2015-10-06 Storagecraft Technology Corporation Systems, methods, and computer readable media for computer data protection
JP2006309547A (ja) * 2005-04-28 2006-11-09 Toshiba Corp 情報処理装置及び情報処理方法
US7853956B2 (en) * 2005-04-29 2010-12-14 International Business Machines Corporation Message system and method
US7685175B2 (en) * 2005-08-12 2010-03-23 Michael Lee Carroll Content manager
US8300798B1 (en) 2006-04-03 2012-10-30 Wai Wu Intelligent communication routing system and method
US7958303B2 (en) * 2007-04-27 2011-06-07 Gary Stephen Shuster Flexible data storage system
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
KR101626117B1 (ko) * 2009-06-22 2016-05-31 삼성전자주식회사 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
WO2011034548A1 (en) * 2009-09-21 2011-03-24 Hewlett-Packard Development Company, L.P. System including a virtual disk
US8386424B2 (en) * 2010-06-15 2013-02-26 Microsoft Corporation Transparent access mechanism for local and remote data
US9449010B2 (en) * 2011-04-02 2016-09-20 Open Invention Network, Llc System and method for managing sensitive data using intelligent mobile agents on a network
JP2012226397A (ja) * 2011-04-14 2012-11-15 Hitachi Solutions Ltd Dlnaコンテンツ変換装置、dlnaコンテンツ変換方法、dlnaコンテンツ変換プログラム
US9218350B2 (en) * 2013-04-30 2015-12-22 Microsoft Technology Licensing, Llc Searching and placeholders
US9552363B2 (en) * 2013-04-30 2017-01-24 Microsoft Technology Licensing, Llc File management with placeholders
US9166866B2 (en) 2013-04-30 2015-10-20 Microsoft Technology Licensing, Llc Hydration and dehydration with placeholders
US9405767B2 (en) 2013-05-01 2016-08-02 Microsoft Technology Licensing, Llc Streaming content and placeholders
US10007682B2 (en) 2015-03-30 2018-06-26 International Business Machines Corporation Dynamically maintaining data structures driven by heterogeneous clients in a distributed data collection system
US11797713B2 (en) * 2020-12-16 2023-10-24 International Business Machines Corporation Systems and methods for dynamic control of a secure mode of operation in a processor

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4823310A (en) * 1987-08-10 1989-04-18 Wang Laboratories, Inc. Device for enabling concurrent access of indexed sequential data files
US5212788A (en) * 1990-05-22 1993-05-18 Digital Equipment Corporation System and method for consistent timestamping in distributed computer databases
NL9001262A (nl) * 1990-06-05 1992-01-02 Oce Nederland Bv Werkwijze voor het in een logisch georganiseerd systeem, van door digrafen te representeren groepen van met elkaar in relatie staande entiteiten, distribueren van status-informatie betreffende een digraaf en een inrichting voor het toepassen van een dergelijke werkwijze.
CA2048306A1 (en) * 1990-10-02 1992-04-03 Steven P. Miller Distributed configuration profile for computing system
US5263155A (en) * 1991-02-21 1993-11-16 Texas Instruments Incorporated System for selectively registering and blocking requests initiated by optimistic and pessimistic transactions respectively for shared objects based upon associated locks
US5367698A (en) * 1991-10-31 1994-11-22 Epoch Systems, Inc. Network file migration system
US5452454A (en) * 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
US5418945A (en) * 1992-05-18 1995-05-23 Motorola, Inc. File based and highly available hybrid database
US5493728A (en) * 1993-02-19 1996-02-20 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5418713A (en) * 1993-08-05 1995-05-23 Allen; Richard Apparatus and method for an on demand data delivery system for the preview, selection, retrieval and reproduction at a remote location of previously recorded or programmed materials
US5628005A (en) * 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment

Also Published As

Publication number Publication date
JPH08255106A (ja) 1996-10-01
EP0713183A2 (en) 1996-05-22
US5721916A (en) 1998-02-24
EP0713183A3 (en) 1996-10-02

Similar Documents

Publication Publication Date Title
JP3980675B2 (ja) ネットワーク独立型ファイル・シャドウイング
US11836135B1 (en) Method and system for transparent database query caching
US6078955A (en) Method for controlling a computer system including a plurality of computers and a network processed as a user resource
US6167490A (en) Using global memory information to manage memory in a computer network
JP4028820B2 (ja) コンピュータ・システムでのトランザクションの選択的キャッシングの方法および装置
US6219676B1 (en) Methodology for cache coherency of web server data
US20220417184A1 (en) Techniques for handling message queues
US6886164B2 (en) Selection of a resource in a distributed computer system
US5881229A (en) Method and product for enchancing performance of computer networks including shared storage objects
JP2910985B2 (ja) キャッシュ管理方法
WO1995031787A1 (en) Method and apparatus for handling requests regarding information stored in a file system
US11922537B2 (en) Resiliency schemes for distributed storage systems
US20080115128A1 (en) Method, system and computer program product for implementing shadow queues for recovery of messages
US20020178176A1 (en) File prefetch contorol method for computer system
EP0805392B1 (en) Method and computer program product to reuse directory search handles
US20090276473A1 (en) Method and apparatus for maintaining consistency between database and virtual table
JPH0950418A (ja) 疎結合並列処理環境において一時的記憶待ち行列機能を有する顧客情報制御システム及び方法
JPH0962635A (ja) 疎結合並列処理環境においてトランザクション直列化制御機能を有する顧客情報制御システム及び方法
JP3777162B2 (ja) キューを維持するための方法及び装置
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
JPH11259627A (ja) 画像管理装置およびその方法、画像管理システム、記憶媒体
JP3110185B2 (ja) 計算機システム
US6604116B1 (en) Decreasing memory return latency by predicting the order of completion of partially ready returns
US20240330111A1 (en) Database node soft restart
US8086586B2 (en) Accessing a data structure

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060809

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060809

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061109

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: 20070608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070628

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120706

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120706

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130706

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees