JP5009310B2 - サーバベースファイルのローカルコピーへのリダイレクト - Google Patents

サーバベースファイルのローカルコピーへのリダイレクト Download PDF

Info

Publication number
JP5009310B2
JP5009310B2 JP2008552506A JP2008552506A JP5009310B2 JP 5009310 B2 JP5009310 B2 JP 5009310B2 JP 2008552506 A JP2008552506 A JP 2008552506A JP 2008552506 A JP2008552506 A JP 2008552506A JP 5009310 B2 JP5009310 B2 JP 5009310B2
Authority
JP
Japan
Prior art keywords
server
server file
local
file
local copy
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.)
Active
Application number
JP2008552506A
Other languages
English (en)
Other versions
JP2009525523A (ja
JP2009525523A5 (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 JP2009525523A publication Critical patent/JP2009525523A/ja
Publication of JP2009525523A5 publication Critical patent/JP2009525523A5/ja
Application granted granted Critical
Publication of JP5009310B2 publication Critical patent/JP5009310B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、サーバに記憶したファイルをローカルに記憶したサーバファイルのコピーにマッピングすることに関する。
インターネット及びイントラネットなどの分散コンピューティング環境の出現により、ワードプロセッサドキュメント、スプレッドシートドキュメント、スライドプレゼンテーションドキュメント、データベースファイル等の様々な電子ファイルをサーバに記憶することが一般的となった。多数のユーザが当該サーバへのアクセスを行って、記憶したファイルを使用することができる。協調的な作業環境を可能とするサーバシステムが開発されている。そのサーバシステムでは、様々なユーザがチームとして所与の1つまたは複数のファイル上で作業することができる。当該システムの下では、所与のユーザはドキュメントを「チェックアウト(check out)」して、そのドキュメントを編集することができる。編集しているユーザによりドキュメントがチェックアウトされている間、他のユーザはそのドキュメントがチェックアウトされていることを通知され、第1のユーザがドキュメントをサーバにチェックインし戻すまでドキュメントを編集することができない。このように、ドキュメントに対する編集の競合(conflict)が防止される。
先行技術のシステムによると、チェックアウトされたドキュメントは、編集中はサーバ上に残っている。すなわち、編集しているユーザはオフラインセッション中にそのドキュメントを自身のローカルコンピュータで編集するために、そのドキュメントを自身のローカルコンピュータにチェックアウトできない。オフラインセッションでドキュメントを自身のローカルコンピュータで編集するために、ユーザはそのドキュメントをローカルコンピュータにコピーし、所望の編集を行い、次いで編集したドキュメントを手動でサーバに保存し直さなければならない。不都合なことに、編集したドキュメントをサーバに手動で保存するには、ユーザはオフラインセッション中にドキュメントに加えた変更が、オフラインセッション中にサーバのコピーに加えた変更と競合しないことを保証する必要がある。さらに、編集を行うユーザがサーバに手動で保存したドキュメントは、オフラインセッション中に他人が編集した可能性があり、以前サーバに保存したバージョンとバージョンが異なる可能性がある。上記のプロセスは、協調的な作業環境の利点を完全に消し去ることはないにしても、大幅に減らすものである。
これらのこと、及び他のことも考慮して本発明を行った。
本要約は、選択した概念を簡潔な形で導入するために示される。これらの概念は以下の「発明を実施するための最良の形態」でさらに説明する。本要約は、特許請求の範囲の主要な特徴または本質的な特徴を特定するようには意図しておらず、特許請求の範囲を判定するための支援としても意図していない。
本発明の実施形態は、サーバファイルをサーバファイルに対応するローカルに記憶したコピーにマッピングすること、及びアプリケーションをサーバコピーまたは対応するローカルコピーにリダイレクトして、最新または最も信頼できるバージョンの所望のファイルを開くことにより、上述及び他の問題を解決する。一実施形態によると、サーバベースドキュメントを「チェックアウト」してローカルコンピュータに保存し、オフラインセッション中に編集することができる。ドキュメントをローカルコンピュータにチェックアウトするとき、サーバファイルへのパスをローカルコピーへのパスに関連付けるマッピングを生成する。加えて、将来、ローカルコピーと比較するため、サーバファイルに書き込んだ最後の編集に対する日付/時刻スタンプを生成する。一実施形態によると、最適化のためマッピング及び日付/時刻スタンプのデータをローカルコンピュータに記憶することができる。
サーバファイルまたはそのサーバファイルのローカルコピーのいずれかを開く後続の試行(attempt)を受信すると、ローカルコピーに対してマッピングが存在するかどうかを判定する。マッピングが存在しない場合、サーバコピーを開く。ローカルコピーに対するマッピングが存在するが対応するローカルコピーが利用可能でない場合、サーバファイルを開く。ローカルコピーに対するマッピングが存在してそのローカルコピーが利用可能であるが、上記試行を要求したユーザにそのローカルコピーがチェックアウトされていない場合、サーバファイルを開く。ローカルコピーに対するマッピングが存在してローカルコピーが利用可能であるが、サーバファイルへの最後の書き込み編集に対する日付/時刻スタンプを検討することにより、ローカルコピーをローカルコンピュータに記憶してからサーバファイルが変更されたことが示される場合、サーバファイルを開く。ローカルコピーに対するマッピングが存在し、ローカルコピーが利用可能で、ローカルコピーをローカルコンピュータに記憶してからサーバファイルが変更されていない場合、ファイルオープン要求をローカルコピーに向け、そのローカルコピーを開く。一実施形態によると、ローカルコピーも利用可能であるが上述のように開かれていないときにサーバファイルを開く場合、要求ユーザに警告を与えることができる。
別の実施形態によると、ローカルコピーにプロパティを設定して要求アプリケーションにそのローカルコピーを関連付けたサーバファイルを通知し、その結果、ローカルコピーを記憶したローカルコンピュータ上の記憶位置に関わらず要求アプリケーションはそのローカルコピーを発見することができる。
これら及び他の特徴及び利点は、以下の詳細な説明を読み、添付図面を検討することで明らかになるであろう。前述の一般的な説明及び以下の詳細な説明は例に過ぎず、特許請求の範囲に記載する本発明を限定しないことは理解されるべきである。
上で簡潔に説明したように、本発明の実施形態は、サーバベースファイルを対応するローカルに記憶したファイルコピーにマッピングすること、及び要求アプリケーションをサーバファイルまたは対応するサーバファイルのローカルコピーに向けて最新もしくは最も信頼できるバージョンの所望のファイルを開くことに関する。以下の詳細な説明では、その一部を形成する添付図面を参照し、図面においては例示として具体的な実施形態または例を示してある。これらの実施形態を組み合わせること、他の実施形態を利用すること、及び本発明の要旨または範囲から逸脱せずに構造的な変更を加えることができる。以下の詳細な説明は、限定的な意味で捉えるべきではなく、本発明の範囲を特許請求の範囲及びその均等物により定義する。
次に、図面を参照する。図面では、同じ参照番号は幾つかの図面を通して同じ構成要素を示し、本発明の態様及び例示的なコンピューティング動作環境を説明する。図1及び以下の議論は、本発明の実装に適したコンピューティング環境の簡潔で一般的な説明を提供することを意図している。本発明を、パーソナルコンピュータ上のオペレーティングシステムで動くアプリケーションプログラムと関連して実行されるプログラムモジュールの一般的なコンテキストで説明するが、当業者には本発明を他のプログラムモジュールと組み合わせて実行しても可能であることは理解されよう。
一般に、プログラムモジュールにはルーチン、プログラム、コンポーネント、データ構造、及び特定のタスクを実施するか、または特定の抽象データ型を実装する他種の構造が含まれる。さらに、当業者は、本発明を他のコンピュータシステム構成で実践できることが理解されよう。そのコンピュータシステム構成には、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能消費家電、ミニコンピュータ、メインフレームコンピュータ、等が含まれる。本発明を、通信ネットワークを通して接続したリモート処理装置によりタスクが実施される分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、プログラムモジュールをローカル及びリモートメモリ記憶装置の両方に置くことができる。
本発明の実施形態をコンピュータプロセス(方法)、コンピューティングシステムとして、またはコンピュータプログラム製品もしくはコンピュータ可読媒体のような製造品として実装することができる。コンピュータプログラム製品はコンピュータ記憶媒体で可能であり、そのコンピュータ記憶媒体はコンピュータシステムにより読み出すことができ、かつコンピュータプロセスを実行する命令からなるコンピュータプログラムを符号化する。コンピュータプログラム製品は搬送波上の伝播信号でも可能であり、その伝播信号はコンピューティングシステムにより読み出すことができ、かつコンピュータプロセスを実行する命令からなるコンピュータプログラムを符号化する。
図1を参照する。本発明を実装する1つの例示的なシステムはコンピューティング装置100のようなコンピューティング装置を含む。基本的な構成では、コンピューティング装置100には一般に少なくとも1つの処理ユニット102及びシステムメモリ104が含まれる。コンピューティング装置の厳密な構成及び種類に依存して、システムメモリ104は、(RAMなどの)揮発性、(ROM、フラッシュメモリなどの)不揮発性またはその2つの何らかの組み合わせで可能である。システムメモリ104は、一般に、ワシントン州レドモンド在の本件特許出願人のWINDOWS(登録商標)オペレーティングシステムのような、ネットワーク接続されたパーソナルコンピュータの動作の制御に適したオペレーティングシステム105を含む。システムメモリ104は1つまたは複数のソフトウェアアプリケーション106、及びプログラムデータ107を含むことができる。この基本的な構成を、図1の破線108内部のコンポーネントにより示す。
本発明の実施形態によると、アプリケーション106は、電子メールプログラム、カレンダプログラム、インターネット閲覧プログラム、等のような多種のソフトウェアアプリケーションを含むことができる。上記プログラムの例には本件特許出願人が制作したOUTLOOK(登録商標)がある。アプリケーション106は多数の他種のソフトウェアアプリケーションを含むことができる。そのアプリケーションには、多数の他種の機能性を提供する多機能性ソフトウェアアプリケーションが含まれる。この多機能性アプリケーションは、ワードプロセッサプログラム、スプレッドシートプログラム、スライドプレゼンテーションプログラム、データベースプログラム、等のような多数のプログラムモジュールを含むことができる。この多機能性アプリケーションの例には本件特許出願人が制作したOFFICE(商標)がある。本発明の実施形態によると、アプリケーション106は、本明細書で説明した本発明の実施形態に従って、サーバファイルまたはサーバファイルのローカルコピーのオープンを要求するよう動作する任意のソフトウェアアプリケーションを示す。
コンピューティング装置100は追加の特徴または機能性を有することができる。例えば、コンピューティング装置100は追加のデータ記憶装置(取り外し可能及び/または取り外し不可能)を含むこともできる。そのデータ記憶装置としては、例えば、磁気ディスク、光ディスク、またはテープがある。上記の追加の記憶装置を、図1に取り外し可能記憶装置109及び取り外し不可能記憶装置110により示す。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶する任意の方法または技術で実装した、揮発性及び不揮発性、取り外し可能及び取り外し不可能媒体を含むことができる。システムメモリ104、取り外し可能記憶装置109及び取り外し不可能記憶装置110は、コンピュータ記憶媒体の全ての例である。コンピュータ記憶媒体にはRAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、DVDもしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報の記憶に使用でき、コンピューティング装置100によりアクセス可能な任意の他の媒体が含まれるがこれらに限定されない。任意の上記のコンピュータ記憶媒体は、装置100の一部である場合がある。コンピューティング装置100は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置等のような1つまたは複数の入力装置112を有することもできる。ディスプレイ、スピーカ、プリンタ等のような1つまたは複数の出力装置114を含めることもできる。これらの装置は当業界で公知であり、ここでは詳細に議論する必要はないであろう。
コンピューティング装置100は、また通信接続116を含むこともできる。その通信接続116によりコンピューティング装置100は、例えばイントラネットまたはインターネットのような分散コンピューティング環境内のネットワーク上で、他のコンピューティング装置118と通信することができる。通信接続116は通信媒体の1つの例である。通信媒体は一般にコンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他の伝送メカニズムのような変調データ信号の他のデータにより具現化することができ、任意の情報配信媒体を含む。「変調データ信号」という用語は、1つまたは複数のその特性集合を有するか、または信号内の情報を符号化するよう変化した信号を意味する。限定ではなく例として、通信媒体は有線ネットワークまたは直接配線接続のような有線媒体、ならびに音響、RF、赤外線及び他の無線媒体のような無線媒体を含む。本明細書で使用するコンピュータ可読媒体は記憶媒体と通信媒体の両方を含む。
次に図2を参照すると、分散コンピューティング環境が示されている。サーバコンピュータ200を、分散コンピューティング環境210を介したローカルコンピュータ100との間の2方向通信について示す。サーバデータストア205は、サーバ200に記憶したデータが維持されるメモリ位置を示す。実施形態によると、分散コンピューティング環境210はインターネットであるか、または組織イントラネット、LAN、WAN等のような1つもしくは複数の分散コンピューティングネットワークで可能である。簡潔に上述したように、例えばワードプロセッサドキュメント、スプレッドシートドキュメント、スライドプレゼンテーションドキュメント、データベースファイル、デスクトップパブリッシングドキュメント、等のような様々な電子ドキュメントをサーバ200に記憶して、分散コンピューティング環境210を介してローカルコンピュータ100の1人または複数人のユーザにより使用することができる。
一実施形態によると、サーバ200に記憶したドキュメントをデータベースに記憶する。そのデータベースは、協調的な作業環境で操作する1人または複数人のユーザがドキュメントにアクセスし、そのドキュメントを利用できるように動作する。協調的な作業環境を可能とするデータベースの例には、マイクロソフト社が製作したSHAREPOINT(登録商標)がある。例えば、企業の部署による次回プロジェクト向けの企業提案を含むワードプロセッサドキュメントをサーバ200に記憶することができる。作業チームの様々なメンバは時々そのドキュメントにアクセスして、そのドキュメントに変更を加えること、または情報を追加することができる。本発明の実施形態によると、所定のユーザがサーバ200上の所定のドキュメントの編集を望むとき、そのユーザはそのドキュメントを「チェックアウト」でき、その結果、そのドキュメントがその要求ユーザにチェックアウトされている間は、その要求ユーザはそのドキュメントを編集すること、またはそのドキュメントに他の変更を加えることができる。すなわち、ドキュメントが要求ユーザによりチェックアウトされている間は、他のユーザはそのドキュメントを開くことができず、そのドキュメントを編集すること、及びそのドキュメントに他の変更を加えることができない。それにより、別のユーザによるドキュメントへの、競合を引き起こす編集または変更が防止される。
ユーザが、チェックアウトしたドキュメントに対する自身の所望の編集または他の変更を全て完了すると、そのユーザはそのドキュメントをサーバにチェックインし戻すことができ、次にそのチェックインしたドキュメントを他のユーザが編集することができる。以下で詳述するように、サーバ200上で維持されるファイルは要求ユーザによりチェックアウトでき、ローカルコンピュータ100に記憶することができる。ローカルコンピュータ100を用いて、要求ユーザはローカルに記憶したファイルをオフライン編集セッション中に編集できる。すなわち、要求ユーザは所望のファイルをサーバ200からチェックアウトして、ローカルコンピュータをサーバ200から切断した後、オフライン編集セッション中にローカルコンピュータ100を用いて、そのファイルで操作することができる。ユーザが自身のローカルコンピュータ100をサーバ200に再接続するとき、以前にチェックアウトしたドキュメントをサーバ200にチェックインし戻すことができ、オフラインセッション中にローカルコンピュータ100でドキュメントに加えた編集または他の変更をサーバ200に発行することができる。
本発明の実施形態によると、上述のようにドキュメントをサーバ200からローカルコンピュータ100にチェックアウトするとき、チェックアウトしたファイルのコピーをローカルコンピュータ100のローカルデータストア215に記憶する。一実施形態によると、ローカルに記憶したファイルのコピーをローカルデータストアの「ドラフト」フォルダに保存して、ローカルに記憶したファイルを発見及び編集する効率的な方法をユーザに提供する。ファイルのローカルコピーをローカルコンピュータ100に記憶するとき、サーバファイルへのパスをファイルのローカルコピーのパスへマップするためのマッピングを生成する。実施形態によると、記憶したファイルに対して生成したマッピングは、要求アプリケーションをそれぞれの記憶したファイルに向けるためのデータを含む。サーバパスをそのマッピングデータに含めるが、そのサーバパスは、例えばワードプロセッサアプリケーションのような要求アプリケーションが利用できる、サーバファイルをサーバ200で発見するための値を含む。例えばサーバパスは、要求アプリケーションをサーバ200のサーバファイルに向けるための、サーバファイルに対するURL(uniform resource locator)アドレスとすることが可能である。
ローカルコピーパスはマッピングに含まれるが、そのパスは、要求アプリケーションが利用できる、サーバファイルのローカルコピーをローカルコンピュータ100で発見するための値を含む。最終書込み時刻の値をサーバファイルに対するマッピングデータに含める。サーバファイルの「最終書込み時刻」は、サーバファイルをローカルコンピュータ100にチェックアウトした日付及び時刻より前の、最後の編集または変更をサーバファイルに加えた日付及び時刻に関連付けた日付/時刻のスタンプである。実施形態によると、サーバファイルに対する最終書込み時刻は記録されて、要求アプリケーションにより、サーバファイルのローカルコピーをローカルコンピュータ100に記憶した後に、サーバファイルに変更を加えたかどうかを判定するための参照ポイントとして利用される。
サーバファイルまたはローカルコピーのいずれかを開く後続の試行が行われる場合、後述のように、ファイルのローカルコピーをローカルコンピュータ100に記憶した後に、サーバファイルに変更を加えたかどうかに関する判定を行うことができる。ファイルのローカルコピーをローカルコンピュータ100に記憶してからサーバファイルが変更された場合、ファイルオープン要求に応じてファイルのサーバコピーを開くことができ、その結果、サーバに記憶した最新バージョンのサーバファイルを要求ユーザに提供する。後述するように、上記の場合、ファイルのローカルコピーは、ファイルのローカルコピーをローカルコンピュータ100に記憶した後に、サーバファイルに加えた変更と競合する編集または他の変更を含む恐れがあるが、この状況下でサーバファイルを提供することは、協調的な作業環境に対して維持されるサーバファイルの状態に関する混乱を防ぐために必要である。
一実施形態によると、サーバファイルのローカルコピーをローカルコンピュータ100に記憶するとき、ローカルコピーが関連付けられるサーバファイルを識別するためのプロパティをファイルのローカルコピーに設定する。従って、後続の要求アプリケーションは、ファイルのローカルコピーが記憶されるローカルデータストア215の特定の位置に関わらず、ファイルのローカルコピーをローカルコンピュータ100のローカルデータストア215で発見することができる。
サーバファイルからローカルコピーへのマッピングを生成した後、上述のように、マッピングに対する記憶をローカルコンピュータ100で確立する。一実施形態によると、ローカルコンピュータ100のオペレーティングシステムのレジストリを利用することができる。後述するように、サーバファイルパスをレジストリキーとして記憶することができ、ローカルコピーのパスをそのレジストリキーに対するデフォルト値として記憶することができる。その結果、サーバファイルまたはローカルコピーのいずれかに対する後続の要求は、サーバファイルを開かなければならないと判定する前にローカルコピーへのパスの存在を先ず判定するために、デフォルトでローカルコピーへのパスに向けられる。上述のように、サーバファイルに対する最後の編集の日付/時刻を、ローカルコピーを記憶した後に加えられる可能性があるサーバファイルの編集の日付/時刻と比較するために、サーバファイルに対する最終書込み時刻をレジストリ内の文字列値として記憶することができる。理解されるべきものとして、最適化のためマッピングデータをオペレーティングシステムのレジストリに記憶することができ、または、マッピングデータを任意数の他のローカルデータストア215に、サーバファイルもしくは対応するローカルコピーに向けられた要求アプリケーションが、ファイルオープン動作中にアクセスするために記憶できる。別の実施形態によると、マッピングは関連ファイルにも記憶される。従って、本明細書で説明するように、ユーザがファイルをローカルコンピュータ100上の別のメモリ位置に移す場合、マッピングデータはそのファイルで、要求アプリケーションをそのマッピング経由でサーバに向けるような利用が常に可能である。
図3を参照して、本発明の実施形態の例示的な動作である論理フローを説明する。ルーチン300は開始動作305で開始し、チェックアウト動作310に進む。チェックアウト動作310で、ユーザは上述のようにドキュメントをサーバ200から自身のローカルコンピュータ100にチェックアウトする。例えば、ユーザはワードプロセッサドキュメントをチェックアウトできる。そのワードプロセッサドキュメントは、ユーザが自らの組織における作業チームの4人の他のメンバとともに協調的な作業環境で作業しているメモを含む。上述のように、要求ユーザによりドキュメントをチェックアウトすることで、ユーザはドキュメントに変更を加えることができ、要求ユーザがそのドキュメントを編集用にチェックアウトしている間、ユーザのチームの他のメンバがドキュメントに変更を加えるために同じドキュメントをチェックアウトするのを防ぐ。
所望のドキュメントをチェックアウトするとき、ドキュメントを上述のようにローカルコンピュータ100に記憶する。ドキュメントのローカルコピーをローカルコンピュータ100に記憶するとき、ローカルコピーにプロパティを設定する。そのプロパティにより、例えばワードプロセッサアプリケーション、スプレッドシートアプリケーション、等のような後続の要求アプリケーションは、ローカルコピーを記憶したローカルデータストア215の特定な位置に関わらず、ドキュメントのローカルに記憶したコピーを発見できる。
マッピング動作315で、要求ドキュメントのローカルコピーに対するサーバベースドキュメントのマッピングを生成する。上述のように、マッピングを含むデータは、サーバファイルへのパス、ローカルに記憶したコピーへのパス、及びドキュメントのサーバコピーの「最終書込み時刻」に対する日付/時刻スタンプを含む。
動作320で、ローカルコンピュータ100、例えばローカルデータストア215での記憶位置を定義して、動作315で生成したマッピングデータを記憶する。上述のように、本発明の一実施形態によると、最適化の目的でマッピングデータに対する記憶位置をローカルコンピュータ100のオペレーティングシステムレジストリに定義する。すなわち、マッピングデータをオペレーティングシステムのレジストリに記憶することで、要求時に、マッピングデータを要求アプリケーションにより効率的かつ迅速に取り出すことができる。マッピング記憶動作325で、ローカルに記憶したドキュメントのコピーに対して生成したマッピングデータを記憶する。
サーバベースドキュメントのローカルコピーを記憶し、マッピングを生成して記憶すると、要求ユーザは、サーバ200とのオンラインセッションにおいて、ローカルに記憶したドキュメントで作業することができる。すなわち、ドキュメントを現在のユーザによりローカルコンピュータ100にチェックアウトしている間に、ローカルコピーに加えた編集または他の変更を自動的にサーバ200に発行することができる。本発明の実施形態によると、ユーザはオフライン編集セッション中に、ローカルに記憶したドキュメントで操作することもできる。例えば、ユーザはローカルドキュメントをラップトップコンピュータ100に記憶して、ある位置から別の位置への飛行中にドキュメントを編集することを望むかもしれない。上述のように、ユーザが自身のコンピュータ100をサーバ200に分散コンピューティング環境210経由で再接続すると、ローカルに記憶したドキュメントをサーバ200に「チェックイン」することで、ユーザはローカルに記憶したドキュメントを任意の編集または変更とともにサーバ200に同期させることができる。
オフライン編集セッション後にユーザが自身のコンピュータをサーバ200に再接続すると、サーバファイルまたはサーバファイルのローカルに記憶したコピーのいずれかに対する要求を要求アプリケーションにより受信することができる。例えば、ドキュメントのローカルコピーを自身のローカルコンピュータに最初に記憶したユーザ、または他のユーザは、対象のドキュメントをサーバ200からチェックアウトすることを試みることができ、またはそのユーザは対象のドキュメントを自身のローカルコンピュータ100から開くことができる。例えば、ユーザは、ワードプロセッサアプリケーション、スプレッドシートアプリケーション、スライドプレゼンテーションアプリケーション等のような要求アプリケーション経由で対象のドキュメントの起動を試みることができる。
ドキュメント要求動作330で、対象のドキュメントに対する要求を要求アプリケーション経由で、サーバ200またはローカルコンピュータ100で受信する。マッピング取り出し動作335で、要求アプリケーションは所望のドキュメントを、サーバ200の要求ドキュメントに対するパス経由で要求する。すなわち、要求アプリケーションは、要求ドキュメントに対するサーバパス経由でアクセス可能なメモリ位置で要求ドキュメントを開くことを試みる。要求アプリケーションが要求ドキュメントのためのサーバパス経由で要求ドキュメントを取り出し、開くことを試みるとき、要求ドキュメントが以前にチェックアウトされてローカルコンピュータ100で編集された可能性がある場合は、要求アプリケーションを要求ドキュメントに対するマッピングデータにリダイレクトすることになる。
動作338で、要求アプリケーションは所望のドキュメントに対するサーバパスを辿る。上述のように、所望のドキュメントのためのサーバパスをその所望のドキュメントのためのローカルコピーのパスへマップするマッピングをその所望のドキュメントに対して生成した場合、要求アプリケーションをデフォルトのパスとしてローカルコピーのパスにリダイレクトすることになる。しかしながら、要求ドキュメントに対して利用可能なマッピングがない場合、これは要求ドキュメントがローカルコンピュータ100にチェックアウトされていないことを意味し、ルーチンはファイルオープン動作340に直接進み、要求アプリケーションは要求ドキュメントに対するサーバファイルを開く。
動作342を参照する。要求アプリケーションが要求ドキュメントに対するサーバパスを辿り、マッピングが要求ドキュメントに対して利用可能であると判定する場合、上述のように要求アプリケーションをドキュメントのローカルコピーに対するパスにリダイレクトする。要求アプリケーションがローカルコピーへのパスを辿るとき、ローカルコピーが利用可能であるかどうかに関する判定が行なわれる。そのドキュメントのローカルコピーが利用可能でない場合、例えば、ローカルコピーが移動、削除、別の位置へチェックアウト等されている場合、ルーチンは動作344に進み、警告を要求ユーザに与えることができる。例えば、ダイアログボックスを要求ユーザに提示して、ドキュメントのローカルコピーがチェックアウトされてローカルに記憶されているが、要求アプリケーションはそのローカルコピーが開けられないことをユーザに知らせることができる。
一実施形態によると、警告ダイアログ経由でユーザに追加の選択肢を提供することができる。例えば、ユーザはローカルコピーのオープンを再試行でき、ユーザはファイルオープン要求を中止でき、またはユーザがドキュメントのサーバコピーを開くように向けることができる。デフォルトの動作として、この状況では、ルーチンは動作346に進み、サーバコピーをファイルオープン要求に応じて開く。
動作348を参照する。マッピングが利用可能であると要求アプリケーションが判定し、ローカルに記憶したコピーへのパスを辿る際にローカルコピーが利用可能であると判定する場合、要求アプリケーションは、次いでローカルコピーがチェックアウトされるか否かを判定する。例えば、第1のユーザが要求ドキュメントを自身のローカルコンピュータ100にチェックアウトし、次いで第1のユーザが職場を長期間不在にし、その間第1のユーザがサーバ200に再接続してローカルに記憶したドキュメントをサーバにチェックインし戻さない場合、後続の要求ユーザがそのドキュメントを開くことを試みることができる。後続の要求ユーザは、第1のユーザが長期間ドキュメントから離れていることを判定する場合、後続の要求ユーザは、システムを上書きして第2の要求ユーザがドキュメントのサーバベースコピーをチェックアウトできるようにすることで、ファイルチェックアウトシステムを崩すことを決定できる。
本発明の実施形態によると、以前に記憶したローカルコピーに対するマッピングデータを更新することにより、チェックアウトシステムが崩されていること、及び対象のドキュメントが第2の要求ユーザによりチェックアウトされていることを示すことができる。従って、第1のユーザが長期の留守から戻り、以前に記憶したローカルドキュメントのコピーにアクセスすることを試みる場合、動作348で、マッピングが利用可能であってローカルコピーが利用可能であるが、ドキュメントが別のユーザによりチェックアウトされていることをユーザに通知する。警告を動作350で要求ユーザに与えた後、ドキュメントのサーバコピーをその要求ユーザに提供する。従って、第1のユーザの長期チェックアウトセッション中に第1のユーザがローカルに記憶したドキュメントに編集または他の変更を加えた場合でも、第1のユーザは、現在最新で最も信頼できるコピーであるサーバコピーを開いて利用するよう要求される。なぜならば、サーバベースのコピーが第2のユーザにより編集または変更されている可能性があるからである。
動作354を参照する。ファイルオープン要求の結果、ローカルコピーに対するマッピングが利用可能であり、そのドキュメントのローカルコピーが利用可能であるが、ローカルコピーに関してサーバコピーが変更されていることが判定される場合、警告動作356で警告をユーザに与える。上述のように、サーバドキュメントのローカルコピーをローカルコンピュータ100に記憶する時点で、ドキュメントをローカルに記憶する前にサーバドキュメントに加えた最後の編集または変更に関連付けた最終書き込み時刻に対する日付/時刻スタンプを、他のマッピングデータとともに記憶する。本明細書で説明するように、要求アプリケーションを要求ドキュメントに対するマッピングデータに向けるとき、以前に記憶した最終書き込み時刻をサーバドキュメントに対する推定最終書き込み時刻と見なす。次いで要求アプリケーションはサーバパスを辿ってサーバベースドキュメントに戻り、要求ドキュメントに対する現在の最終書き込み時刻を取り出す。次いで、要求ドキュメントに対する以前に記憶した最終書き込み時刻または推定最終書き込み時刻と、要求ドキュメントに対する現在の最終書き込み時刻とを比較する。サーバドキュメントに対する現在の最終書き込み時刻が以前に記憶した最終書き込み時刻または推定最終書き込み時刻より後である場合、サーバベースドキュメントのローカルコピーをローカルコンピュータ100にチェックアウトした後に、後続のユーザによりサーバベースドキュメントが変更されたと判定される。要求ドキュメントのサーバベースコピーは、ドキュメントのローカルコピーをローカルコンピュータ100に記憶したときにドキュメントに含まれなかった編集または他の変更を含むので、ルーチンはファイルオープン動作358に進み、要求アプリケーションによりサーバベースコピーを最新バージョンのドキュメントとして開く。従って、ドキュメントのローカルに記憶したコピーに加えた要求ユーザによる任意の編集または他の変更は、要求ユーザが動作358でドキュメントのローカルサーバコピーをチェックアウトした後に、ドキュメントの開いたサーバコピーに加えなければならない。
動作360を参照する。ファイルオープン動作中に、サーバファイルからローカルコピーへのマッピングが利用可能で、ローカルコピーが利用可能であり、ドキュメントが別のユーザによりチェックアウトされておらず、サーバコピーが変更されていないと判定する場合、ルーチンは動作362に進み、ドキュメントのローカルに記憶したコピーをファイルオープン要求に応じて起動する。
本明細書で説明したように、本発明の実施形態は、サーバファイルの対応するローカルに記憶したコピーへのサーバファイルのマッピングに関し、及びアプリケーションをサーバファイルまたは対応するローカルコピーへリダイレクトして、最新もしくは最も信頼できるバージョンの所望のファイルを開くことに関する。本発明の範囲または要旨から逸脱せずに、様々な修正または変形を本発明において加えうることは、当業者には明らかであろう。本発明の他の実施形態は、本明細書で開示した本発明の仕様及び実践を考慮すると、当業者には明らかであろう。
例示的なコンピューティング動作環境を示す図である。 サーバとローカルコンピュータ間の関係を示す簡潔なブロック図である。 ファイルオープン動作の論理フローを示すフロー図である。

Claims (20)

  1. サーバファイルを、ローカルに記憶した前記サーバファイルのコピーにマッピングするコンピュータ実施方法であって、
    前記方法は、
    サーバファイルを、前記サーバファイルを含むサーバから離れたローカルコンピューティング装置にチェックアウトする選択を受信するステップと、
    前記サーバファイルのローカルコピーを前記ローカルコンピューティング装置に記憶するステップと、
    前記サーバの前記サーバファイルから前記ローカルコンピューティング装置の前記ローカルコピーへのマッピングを生成して前記ローカルコンピューティング装置のオペレーティングシステムのレジストリに記憶するステップであって、該マッピングは、前記サーバの前記サーバファイルへのパスと、前記ローカルコンピューティング装置の前記ローカルコピーへのパスと、前記サーバファイルが前記ローカルコンピューティング装置にチェックアウトされた日時より前に、最後の編集または変更が前記サーバファイルになされた日時と関連付けられる日付/時刻スタンプを有する最終書き込み時刻とを含むデータを備え、該サーバファイルへのパスはURLアドレスを備え、前記サーバファイルの該最終書き込み時刻は、前記ローカルコンピューティング装置のオペレーティングシステムのレジストリに文字列値として格納される、ステップと、
    前記マッピングの生成後に、前記サーバファイルまたは前記サーバファイルの前記ローカルコピーのいずれかを開く選択を受信するステップと、
    前記サーバファイルまたは前記サーバファイルの前記ローカルコピーのいずれかを開く前記選択の受信に応答して、前記サーバファイルから前記サーバファイルの前記ローカルコピーへのマッピングが利用可能であるかどうかを判定するステップと、
    前記サーバファイルから前記サーバファイルのローカルコピーへのマッピングが利用可能である場合、前記サーバファイルの要求アプリケーションを前記サーバの前記サーバファイルへのパスから前記ローカルコンピューティング装置の前記ローカルコピーへのパスへリダイレクトすることによって、前記マッピングを介して前記ローカルコンピューティング装置の前記ローカルコピーを取り出し、前記ローカルコピーを開くステップと
    を含むことを特徴とする方法。
  2. 前記マッピングを生成するステップは、
    前記サーバの前記サーバファイルへのパスを判定するステップと、
    前記ローカルコンピューティング装置の前記ローカルコピーへのパスを判定するステップと
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記マッピングを生成するステップは、前記ローカルコンピューティング装置に前記ローカルコピーを記憶する前に、前記サーバの前記サーバファイルになされた任意の変更についての最終書き込み時刻を判定するステップをさらに含むことを特徴とする請求項2に記載の方法。
  4. 前記マッピングを生成するステップに加えて、前記ローカルコピーを記憶した前記ローカルコンピューティング装置の記憶位置に関わらず、前記ローカルコピーを要求アプリケーションが発見できるように、前記ローカルコピーが関連付けられる前記サーバファイルを要求アプリケーションに通知するプロパティを、前記ローカルコピーとともに記憶するステップを含むことを特徴とする請求項1に記載の方法。
  5. 前記マッピングを前記ローカルコンピューティング装置に記憶するステップをさらに含むことを特徴とする請求項3に記載の方法。
  6. 前記ローカルコンピューティング装置に前記マッピングを記憶するステップは、前記ローカルコンビューティング装置のオペレーティングシステムのレジストリに前記マッピングを記憶するステップを含むことを特徴とする請求項5に記載の方法。
  7. 前記サーバファイルから前記サーバファイルの前記ローカルコピーへのマッピングが利用可能でない場合、前記サーバファイルを前記サーバから取り出し、前記サーバファイルを開くステップをさらに含むことを特徴とする請求項1に記載の方法。
  8. 前記サーバファイルを開く場合、前記サーバファイルのローカルコピーではなく前記サーバファイルが開かれているという警告を、要求ユーザに与えるステップをさらに含むことを特徴とする請求項7に記載の方法。
  9. 前記ローカルコンピューティング装置で前記ローカルコピーを取り出す前に、前記ローカルコピーが利用可能であるかどうかを判定するために、前記マッピングを解析して、前記ローカルコンピューティング装置の前記ローカルコピーへのパスを辿るステップをさらに含むことを特徴とする請求項1に記載の方法。
  10. 前記ローカルコピーが利用可能でない場合、前記サーバから前記サーバファイルを取り出し、前記サーバファイルを開くステップをさらに含むことを特徴とする請求項9に記載の方法。
  11. 前記ローカルコピーを前記ローカルコンピューティング装置に記憶してから、前記サーバファイルに変更が加えられているかどうかを判定するステップをさらに含むことを特徴とする請求項9に記載の方法。
  12. 前記ローカルコピーを前記ローカルコンピューティング装置に記憶してから前記サーバファイルに変更が加えられている場合、前記サーバから前記サーバファイルを取り出し、前記サーバファイルを開くステップをさらに含むことを特徴とする請求項11に記載の方法。
  13. 前記ローカルコピーを前記ローカルコンピューティング装置に記憶してから前記サーバファイルに変更が加えられているかどうかを判定するステップは、日付/時刻スタンプに対する前記マッピングを解析するステップを含み、前記日付/時刻スタンプは、前記ローカルコンピューティング装置に前記ローカルコピーを記憶する前の、前記サーバファイルに対する任意の変更の最終書き込み時刻の日付/時刻を示すことを特徴とする請求項12に記載の方法。
  14. 前記サーバに問い合わせて、前記最終書き込み時刻より後に前記サーバファイルに任意の変更が加えられたかどうかを判定するステップをさらに含むことを特徴とする請求項13に記載の方法。
  15. 前記ローカルコピーが利用可能である場合、前記ローカルコピーが別のユーザにチェックアウトされているかどうかを判定し、前記ローカルコピーが別のユーザにチェックアウトされている場合、前記サーバから前記サーバファイルを取り出し、前記サーバファイルを開くことを特徴とする請求項9に記載の方法。
  16. 前記サーバファイルから前記サーバファイルのローカルコピーへの前記マッピングが利用可能でない場合、前記サーバファイルのローカルコピーの代わりに前記サーバファイルが開かれているという警告を要求ユーザに提供し、該サーバファイルを前記サーバから取り出し、該サーバファイルを開くステップをさらに含むことを特徴とする請求項1に記載の方法。
  17. コンピュータ実行時に、サーバファイルを、ローカルに記憶した前記サーバファイルのコピーにマッピングする方法を実施するコンピュータ実行可能命令を含むコンピュータ読み取り可能な記録媒体であって、
    前記方法は
    サーバファイルを、前記サーバファイルを含むサーバから離れたローカルコンピューティング装置にチェックアウトする選択を受信するステップと、
    前記サーバファイルのローカルコピーを前記ローカルコンピューティング装置に記憶するステップと、
    前記サーバの前記サーバファイルから前記ローカルコンピューティング装置の前記ローカルコピーへのマッピングを生成して前記ローカルコンピューティング装置のオペレーティングシステムのレジストリに記憶するステップであって、該マッピングは、前記サーバの前記サーバファイルへのパスと、前記ローカルコンピューティング装置の前記ローカルコピーへのパスと、前記サーバファイルが前記ローカルコンピューティング装置にチェックアウトされた日時より前に、最後の編集または変更が前記サーバファイルになされた日時と関連付けられる日付/時刻スタンプを有する最終書き込み時刻とを含むデータを備え、該サーバファイルへのパスはURLアドレスを備え、前記サーバファイルの該最終書き込み時刻は、前記ローカルコンピューティング装置のオペレーティングシステムのレジストリに文字列値として格納される、ステップと、
    前記マッピングの生成後に、前記サーバファイルまたは前記サーバファイルの前記ローカルコピーのいずれかを開く選択を受信するステップと、
    前記サーバファイルまたは前記サーバファイルの前記ローカルコピーのいずれかを開く前記選択の受信に応答して、前記サーバファイルから前記サーバファイルの前記ローカルコピーへのマッピングが利用可能であるかどうかを判定するステップと、
    前記サーバファイルから前記サーバファイルのローカルコピーへのマッピングが利用可能である場合、前記サーバファイルの要求アプリケーションを前記サーバの前記サーバファイルへのパスから前記ローカルコンピューティング装置の前記ローカルコピーへのパスへリダイレクトすることによって、前記マッピングを介して前記ローカルコンピューティング装置の前記ローカルコピーを取り出し、前記ローカルコピーを開くステップと
    を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
  18. 前記マッピングを生成するステップは、
    前記サーバの前記サーバファイルへのパスを判定するステップと、
    前記ローカルコンピューティング装置の前記ローカルコピーへのパスを判定するステップと、
    前記ローカルコンピューティング装置の前記ローカルコピーを記憶する前の、前記サーバの前記サーバファイルになされた任意の変更についての最終書き込み時刻を判定するステップと、
    前記ローカルコンピューティング装置に前記マッピングを記憶するステップと
    を含むことを特徴とする請求項17に記載のコンピュータ読み取り可能な記録媒体。
  19. 前記サーバファイルから前記サーバファイルの前記ローカルコピーへのマッピングが利用可能でない場合、前記サーバファイルを前記サーバから取り出し、前記サーバファイルを開くステップを含むことを特徴とする請求項18に記載のコンピュータ読み取り可能な記録媒体。
  20. コンピュータ実行時に、サーバファイルを、ローカルに記憶した前記サーバファイルのコピーにマッピングする方法を実施するコンピュータ実行可能命令を含むコンピュータ読み取り可能な記録媒体であって、
    前記方法は
    サーバファイルを、前記サーバファイルを含むサーバから離れたローカルコンピューティング装置に対してチェックアウトする選択を受信するステップと、
    前記サーバファイルのローカルコピーを前記ローカルコンピューティング装置に記憶するステップと、
    前記サーバの前記サーバファイルから前記ローカルコンピューティング装置の前記ローカルコピーへのマッピングを生成して前記ローカルコンピューティング装置のオペレーティングシステムのレジストリに記憶するステップであって、該マッピングは、前記サーバの前記サーバファイルへのパスと、前記ローカルコンピューティング装置の前記ローカルコピーへのパスと、前記サーバファイルが前記ローカルコンピューティング装置にチェックアウトされた日時より前に、最後の編集または変更が前記サーバファイルになされた日時と関連付けられる日付/時刻スタンプを有する最終書き込み時刻とを含むデータを備え、該サーバファイルへのパスはURLアドレスを備え、前記サーバファイルの該最終書き込み時刻は、前記ローカルコンピューティング装置のオペレーティングシステムのレジストリに文字列値として格納される、ステップと、
    前記マッピングの生成後に、前記サーバファイルまたは前記サーバファイルの前記ローカルコピーのいずれかを開く選択を受信するステップと、
    前記サーバファイルまたは前記サーバファイルの前記ローカルコピーのいずれかを開く前記選択の受信に応答して、前記サーバファイルから前記サーバファイルの前記ローカルコピーへのマッピングが利用可能であるかどうかを判定するステップと、
    前記サーバファイルから前記サーバファイルのローカルコピーへのマッピングが利用可能であり、前記ローカルコンピューティング装置に前記ローカルコピーが記憶されてから前記サーバファイルに何ら変更が加えられていない場合、前記サーバファイルの要求アプリケーションを前記サーバの前記サーバファイルへのパスから前記ローカルコンピューティング装置の前記ローカルコピーへのパスへリダイレクトすることによって、前記マッピングを介して前記ローカルコンピューティング装置の前記ローカルコピーを取り出し、前記ローカルコピーを開くステップと
    を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2008552506A 2006-01-31 2007-01-30 サーバベースファイルのローカルコピーへのリダイレクト Active JP5009310B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/343,957 2006-01-31
US11/343,957 US7743026B2 (en) 2006-01-31 2006-01-31 Redirection to local copies of server-based files
PCT/US2007/002662 WO2007089854A1 (en) 2006-01-31 2007-01-30 Redirection to local copies of server based files

Publications (3)

Publication Number Publication Date
JP2009525523A JP2009525523A (ja) 2009-07-09
JP2009525523A5 JP2009525523A5 (ja) 2010-03-18
JP5009310B2 true JP5009310B2 (ja) 2012-08-22

Family

ID=38327730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008552506A Active JP5009310B2 (ja) 2006-01-31 2007-01-30 サーバベースファイルのローカルコピーへのリダイレクト

Country Status (5)

Country Link
US (1) US7743026B2 (ja)
EP (1) EP1984839A4 (ja)
JP (1) JP5009310B2 (ja)
KR (1) KR101344101B1 (ja)
WO (1) WO2007089854A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716168B2 (en) 2005-06-29 2010-05-11 Microsoft Corporation Modifying table definitions within a database application
US8135755B2 (en) 2005-06-29 2012-03-13 Microsoft Corporation Templates in a schema editor
US7546291B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Data source task pane
US7546286B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Offline multi-table data editing and storage
US7743026B2 (en) 2006-01-31 2010-06-22 Microsoft Corporation Redirection to local copies of server-based files
US7769810B1 (en) * 2007-04-26 2010-08-03 Adobe Systems Incorporated Method and system for collaborative editing
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US9088414B2 (en) * 2009-06-01 2015-07-21 Microsoft Technology Licensing, Llc Asynchronous identity establishment through a web-based application
US20120131323A1 (en) * 2009-09-21 2012-05-24 Yves Gattegno System including a virtual disk
US9953100B2 (en) * 2010-01-27 2018-04-24 Auraplayer Ltd. Automated runtime command replacement in a client-server session using recorded user events
US8578289B2 (en) 2010-01-28 2013-11-05 Ebay Inc. Application module for managing jobs asynchronously
US8966027B1 (en) * 2010-05-24 2015-02-24 Amazon Technologies, Inc. Managing replication of computing nodes for provided computer networks
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US11308449B2 (en) * 2011-04-28 2022-04-19 Microsoft Technology Licensing, Llc Storing metadata inside file to reference shared version of file
US10185932B2 (en) 2011-05-06 2019-01-22 Microsoft Technology Licensing, Llc Setting permissions for links forwarded in electronic messages
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US20130054734A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Migration of cloud applications between a local computing device and cloud
US9483454B2 (en) * 2011-10-07 2016-11-01 D2L Corporation Systems and methods for context specific annotation of electronic files
US9355115B2 (en) * 2011-11-21 2016-05-31 Microsoft Technology Licensing, Llc Client application file access
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US10885060B2 (en) 2012-02-28 2021-01-05 International Business Machines Corporation On-demand file synchronization
CN104216794A (zh) * 2013-06-04 2014-12-17 北大方正集团有限公司 用于稿件编辑的灾备方法和装置
US9876849B2 (en) * 2014-11-05 2018-01-23 Google Llc Opening local applications from browsers

Family Cites Families (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US200499A (en) * 1878-02-19 Improvement in driving-gear for street-cars
US4815A (en) * 1846-10-17 Foster
US38702A (en) * 1863-05-26 Improvement in
EP0211151B1 (en) * 1985-05-30 1992-09-09 International Business Machines Corporation Procedure for controlling the order of editing cells in a spreadsheet
US5255356A (en) * 1989-05-31 1993-10-19 Microsoft Corporation Method for hiding and showing spreadsheet cells
US5175810A (en) 1989-06-19 1992-12-29 Digital Equipment Corporation Tabular data format
US5247611A (en) * 1989-09-15 1993-09-21 Emtek Health Care Systems, Inc. Spreadsheet cell having multiple data fields
US5396587A (en) * 1990-04-11 1995-03-07 501 Lotus Development Corp. Asynchronous, minimal update display system
GB9009930D0 (en) * 1990-05-02 1990-06-27 Int Computers Ltd Electronic spreadsheet
US5319777A (en) * 1990-10-16 1994-06-07 Sinper Corporation System and method for storing and retrieving information from a multidimensional array
US5359729A (en) * 1991-05-31 1994-10-25 Timeline, Inc. Method for searching for a given point in regions defined by attribute ranges, then sorted by lower and upper range values and dimension
US5418898A (en) * 1991-08-07 1995-05-23 Occam Research Corporation Multidimensional data display system and method
US5510980A (en) * 1991-11-27 1996-04-23 Microsoft Corporation Method and system for selecting and executing arithmetic functions and the like
US5623282A (en) * 1991-12-31 1997-04-22 Microsoft Corporation Method and system for the direct manipulation of cells in an electronic spreadsheet program or the like
US5471575A (en) * 1992-01-03 1995-11-28 Home Equity Software, Inc. Interactive parameter driven iterative financial spreadsheet analysis with context and layout sensitive help screen
US5701499A (en) 1992-03-25 1997-12-23 Microsoft Corporation Method and system for automatically entering a data series into contiguous cells of an electronic spreadsheet program or the like
US5455853A (en) * 1992-08-25 1995-10-03 Bell Communications Research, Inc. Method of creating a telecommunication service template
US5600584A (en) * 1992-09-15 1997-02-04 Schlafly; Roger Interactive formula compiler and range estimator
US5649192A (en) * 1993-01-15 1997-07-15 General Electric Company Self-organized information storage system
JPH0737008A (ja) * 1993-06-29 1995-02-07 Hitachi Ltd 表計算処理装置の表示制御方法
US5615373A (en) * 1993-08-26 1997-03-25 International Business Machines Corporation Data lock management in a distributed file server system determines variable lock lifetime in response to request to access data object
US6119151A (en) * 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
US5604854A (en) * 1994-04-22 1997-02-18 Borland International, Inc. System and methods for reformatting multi-dimensional spreadsheet information
FR2721728B1 (fr) * 1994-06-28 1996-07-26 Bull Sa Procédé et dispositif de génération automatique de feuilles de calcul.
JPH0887495A (ja) * 1994-09-16 1996-04-02 Ibm Japan Ltd 表データのカット・アンド・ペースト方法及びデータ処理システム
US5553215A (en) * 1994-09-21 1996-09-03 Microsoft Corporation Method and system of sharing common formulas in a spreadsheet program and of adjusting the same to conform with editing operations
US5535324A (en) * 1994-09-22 1996-07-09 Microsoft Corporation Method and system for dragging and plotting new data onto an embedded graph
US5598519A (en) * 1994-11-08 1997-01-28 Microsoft Corporation Method and system for direct cell formatting in a spreadsheet
US5838965A (en) * 1994-11-10 1998-11-17 Cadis, Inc. Object oriented database management system
US5812983A (en) * 1995-08-03 1998-09-22 Kumagai; Yasuo Computed medical file and chart system
JPH09128466A (ja) * 1995-10-26 1997-05-16 Casio Comput Co Ltd 表処理方法及び表処理装置
US5890174A (en) * 1995-11-16 1999-03-30 Microsoft Corporation Method and system for constructing a formula in a spreadsheet
US6216139B1 (en) * 1995-11-20 2001-04-10 Execware Integrated dialog box for rapidly altering presentation of parametric text data objects on a computer display
US5768158A (en) * 1995-12-08 1998-06-16 Inventure America Inc. Computer-based system and method for data processing
US6138130A (en) * 1995-12-08 2000-10-24 Inventure Technologies, Inc. System and method for processing data in an electronic spreadsheet in accordance with a data type
US5864854A (en) * 1996-01-05 1999-01-26 Lsi Logic Corporation System and method for maintaining a shared cache look-up table
US5740370A (en) * 1996-03-27 1998-04-14 Clinton Battersby System for opening cache file associated with designated file of file server only if the file is not subject to being modified by different program
US6055548A (en) * 1996-06-03 2000-04-25 Microsoft Corporation Computerized spreadsheet with auto-calculator
US5819293A (en) * 1996-06-06 1998-10-06 Microsoft Corporation Automatic Spreadsheet forms
US6134583A (en) * 1996-07-01 2000-10-17 Sun Microsystems, Inc. Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16)
US5758337A (en) * 1996-08-08 1998-05-26 Microsoft Corporation Database partial replica generation system
US5944789A (en) * 1996-08-14 1999-08-31 Emc Corporation Network file server maintaining local caches of file directory information in data mover computers
US5926822A (en) * 1996-09-06 1999-07-20 Financial Engineering Associates, Inc. Transformation of real time data into times series and filtered real time data within a spreadsheet application
US5893920A (en) * 1996-09-30 1999-04-13 International Business Machines Corporation System and method for cache management in mobile user file systems
US6044381A (en) * 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
CA2191640A1 (en) * 1996-11-29 1998-05-29 Kenn S. Jennyc User-interactive system and method for integrating applications
US5913033A (en) * 1996-12-20 1999-06-15 International Business Machines Corporation Apparatus and method for retrieving information using standard objects
US6021413A (en) * 1997-04-01 2000-02-01 The University Of Illinois Board Of Trustees Application-directed variable-granularity caching and consistency management
US6477527B2 (en) 1997-05-09 2002-11-05 International Business Machines Corporation System, method, and program for object building in queries over object views
US5987481A (en) * 1997-07-01 1999-11-16 Microsoft Corporation Method and apparatus for using label references in spreadsheet formulas
US5920725A (en) * 1997-07-02 1999-07-06 Adaptivity Inc. Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors
US6134563A (en) * 1997-09-19 2000-10-17 Modernsoft, Inc. Creating and editing documents
US6292811B1 (en) * 1997-09-19 2001-09-18 Modernsoft, Inc. Populating cells of an electronic financial statement
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6134552A (en) * 1997-10-07 2000-10-17 Sap Aktiengesellschaft Knowledge provider with logical hyperlinks
US6151601A (en) 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
US6151624A (en) 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US6070177A (en) * 1998-03-06 2000-05-30 Vita Systems, Inc. Database forms with attached audit history
US6374268B1 (en) * 1998-04-14 2002-04-16 Hewlett-Packard Company Methods and systems for an incremental file system
US6757705B1 (en) * 1998-08-14 2004-06-29 Microsoft Corporation Method and system for client-side caching
US6341291B1 (en) * 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US6640234B1 (en) * 1998-12-31 2003-10-28 Microsoft Corporation Extension of formulas and formatting in an electronic spreadsheet
EP1183613A4 (en) * 1999-04-05 2006-06-21 Neomedia Tech Inc SYSTEM AND METHOD FOR USING MACHINE-LIKE OR MACHINE-READABLE LINK CODES TO ACCESS NETWORK DATA RESOURCES
US6510439B1 (en) * 1999-08-06 2003-01-21 Lucent Technologies Inc. Method and system for consistent update and retrieval of document in a WWW server
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6694321B1 (en) * 1999-09-23 2004-02-17 Affymetrix, Inc. System, method, and product for development and maintenance of database-related software applications
US6721727B2 (en) 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
AU2001243597A1 (en) * 2000-03-03 2001-09-17 Radiant Logic, Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
US6567822B1 (en) * 2000-03-21 2003-05-20 Accenture Llp Generating a data request graphical user interface for use in an electronic supply chain value assessment
US6631519B1 (en) 2000-03-30 2003-10-07 Microsoft Corporation Automated schema and interface generation
US6820088B1 (en) 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US7139768B1 (en) 2000-05-04 2006-11-21 Unisys Corporation OLE DB data access system with schema modification features
WO2002021400A2 (en) * 2000-09-07 2002-03-14 Petrovantage, Inc. Computer system for providing a collaborative workflow environment
US20020082857A1 (en) * 2000-09-08 2002-06-27 Val Skordin Method and apparatus for providing an online document and input form creation and storage system
AU2001293269A1 (en) * 2000-09-11 2002-03-26 David Edgar System, method, and computer program product for optimization and acceleration of data transport and processing
US7039875B2 (en) * 2000-11-30 2006-05-02 Lucent Technologies Inc. Computer user interfaces that are generated as needed
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
US7437429B2 (en) * 2001-02-13 2008-10-14 Microsoft Corporation System and method for providing transparent access to distributed authoring and versioning files including encrypted files
JP2002288029A (ja) * 2001-03-28 2002-10-04 Ricoh Co Ltd 文書管理システム
US20020184043A1 (en) 2001-06-04 2002-12-05 Egidio Lavorgna Systems and methods for managing business metrics
US6947947B2 (en) * 2001-08-17 2005-09-20 Universal Business Matrix Llc Method for adding metadata to data
WO2003050662A1 (fr) * 2001-12-13 2003-06-19 Japan Science And Technology Agency Systeme d'execution securisee d'un logiciel
US7062502B1 (en) * 2001-12-28 2006-06-13 Kesler John N Automated generation of dynamic data entry user interface for relational database management systems
US7275105B2 (en) * 2002-01-16 2007-09-25 Laszlo Systems, Inc. Enabling online and offline operation
US7093291B2 (en) * 2002-01-28 2006-08-15 Bailey Ronn H Method and system for detecting and preventing an intrusion in multiple platform computing environments
US20030154197A1 (en) * 2002-02-13 2003-08-14 Permutta Technologies Flexible relational data storage method and apparatus
US7185317B2 (en) * 2002-02-14 2007-02-27 Hubbard & Wells Logical data modeling and integrated application framework
US7055067B2 (en) * 2002-02-21 2006-05-30 Siemens Medical Solutions Health Services Corporation System for creating, storing, and using customizable software test procedures
US20040019875A1 (en) * 2002-04-29 2004-01-29 Welch Keith C. Masked edit control for use in a graphical programming environment
JP4039884B2 (ja) 2002-05-16 2008-01-30 株式会社リコー 情報仮置き場管理方法、情報仮置き場管理装置、画像形成装置、プログラム及び記憶媒体
US7574652B2 (en) * 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US20040001106A1 (en) * 2002-06-26 2004-01-01 John Deutscher System and process for creating an interactive presentation employing multi-media components
US6907434B2 (en) * 2002-08-23 2005-06-14 The Boeing Company Message analysis tool
US20040103365A1 (en) * 2002-11-27 2004-05-27 Alan Cox System, method, and computer program product for an integrated spreadsheet and database
US6889141B2 (en) * 2003-01-10 2005-05-03 Weimin Li Method and system to flexibly calculate hydraulics and hydrology of watersheds automatically
GB0304297D0 (en) * 2003-02-25 2003-04-02 Connect 360 Ltd Document control
US8706760B2 (en) 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
US8010491B2 (en) * 2003-02-28 2011-08-30 Microsoft Corporation Method for managing multiple file states for replicated files
GB0306463D0 (en) 2003-03-20 2003-04-23 Steelhead Systems Ltd Improvements relating to communications data management
JP4294353B2 (ja) * 2003-03-28 2009-07-08 株式会社日立製作所 ジョブ管理機能を有するストレージ系障害管理方法及び装置
US20050034064A1 (en) 2003-07-25 2005-02-10 Activeviews, Inc. Method and system for creating and following drill links
US7535588B2 (en) * 2003-09-30 2009-05-19 Toshiba Corporation System and method to communicate to controller mapped by print server
US7472254B2 (en) * 2003-10-10 2008-12-30 Iora, Ltd. Systems and methods for modifying a set of data objects
US7870152B2 (en) 2003-10-22 2011-01-11 International Business Machines Corporation Attaching and displaying annotations to changing data views
US20050172261A1 (en) * 2004-01-30 2005-08-04 Yuknewicz Paul J. Architecture for creating a user interface using a data schema
JP4189332B2 (ja) * 2004-01-30 2008-12-03 株式会社東芝 データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム
US7624120B2 (en) * 2004-02-11 2009-11-24 Microsoft Corporation System and method for switching a data partition
US8135755B2 (en) * 2005-06-29 2012-03-13 Microsoft Corporation Templates in a schema editor
US7546291B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Data source task pane
US7716168B2 (en) * 2005-06-29 2010-05-11 Microsoft Corporation Modifying table definitions within a database application
US7225189B1 (en) * 2004-02-19 2007-05-29 Microsoft Corporation Data source write back and offline data editing and storage in a spreadsheet
US7546286B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Offline multi-table data editing and storage
JP4899295B2 (ja) 2004-07-01 2012-03-21 富士通株式会社 メタデータエディタプログラム、メタデータエディタ装置およびメタデータエディタ方法
GB2419436A (en) 2004-10-25 2006-04-26 Digitalml Ltd Extensible object-modelling mechanism
US20060155705A1 (en) * 2005-01-10 2006-07-13 Kamper Robert J Managing hierarchical authority to access files in a shared database
US8392873B2 (en) * 2005-01-26 2013-03-05 Tti Inventions C Llc Methods and apparatus for implementing model-based software solution development and integrated change management
US7698634B2 (en) 2005-03-07 2010-04-13 Computer Associates Think, Inc. System and method for data manipulation
US7650335B2 (en) * 2005-04-20 2010-01-19 The Board Of Trustees Of The University Of Illinois High-level database management system
KR100558952B1 (ko) 2005-05-12 2006-03-10 김길웅 인터페이스 화면 설계 중심의 소프트웨어 생산 공정 자동화방법 및 이 방법을 프로그램화하여 수록한 컴퓨터로 읽을수 있는 기록매체
US7743026B2 (en) 2006-01-31 2010-06-22 Microsoft Corporation Redirection to local copies of server-based files

Also Published As

Publication number Publication date
JP2009525523A (ja) 2009-07-09
US7743026B2 (en) 2010-06-22
EP1984839A4 (en) 2009-07-01
WO2007089854A1 (en) 2007-08-09
EP1984839A1 (en) 2008-10-29
KR101344101B1 (ko) 2013-12-23
KR20080100174A (ko) 2008-11-14
US20070198657A1 (en) 2007-08-23

Similar Documents

Publication Publication Date Title
JP5009310B2 (ja) サーバベースファイルのローカルコピーへのリダイレクト
JP5085548B2 (ja) アプリケーション間でのxmlデータのリアルタイム同期
KR101183426B1 (ko) 웹 기반 데이터 폼
KR101238541B1 (ko) 메타데이터를 보고 에디트하기 위하여 개별화된 사용자인터페이스를 제공하기 위한 방법 및 시스템
JP4921785B2 (ja) コンピュータ生成ドキュメントにおけるデータの管理および使用
JP4906292B2 (ja) 電子文書で使用するために複数のデータソースのデータをマージする方法、システム、およびコンピュータ読み取り可能媒体
KR101608099B1 (ko) 문서의 동시적인 협업적 검토
JP5122747B2 (ja) ソフトウェア・アプリケーション文書のためのデータ・ストア
US7711754B2 (en) System and method for managing data using static lists
US10216755B2 (en) Multi-master text synchronization using deltas
JP4932240B2 (ja) コンピュータ生成の文書におけるネストされたデータを透過的方法で公開するための方法およびシステム
US20060212792A1 (en) Synchronously publishing a web page and corresponding web page resources
US9483452B2 (en) Generating document content from application data
JP2006178952A (ja) コンピュータによって生成されるドキュメントのデータの範囲を関連するxml要素にリンクする方法およびシステム
JP2012525640A (ja) レガシー文書向け高速マージサポート
US20080301299A1 (en) Automatically targeting and filtering shared network resources
US20050198565A1 (en) Method and apparatus for automatic update ad notification of documents and document components stored in a document repository
JP2007257629A (ja) 共同で作成されるマスター・ドキュメントにサブ・ドキュメントをマージするためのシステムおよび方法
WO2020131501A1 (en) Intelligent document management in computing systems
JP2005339549A (ja) データをラップするための方法およびシステム
US8490068B1 (en) Method and system for feature migration
US9430527B2 (en) Keyword-based content management
US9361285B2 (en) Method and apparatus for storing notes while maintaining document context

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100128

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120426

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5009310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150608

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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