JP2004265420A - 電子ファイルのバージョンを管理するための方法 - Google Patents

電子ファイルのバージョンを管理するための方法 Download PDF

Info

Publication number
JP2004265420A
JP2004265420A JP2004056910A JP2004056910A JP2004265420A JP 2004265420 A JP2004265420 A JP 2004265420A JP 2004056910 A JP2004056910 A JP 2004056910A JP 2004056910 A JP2004056910 A JP 2004056910A JP 2004265420 A JP2004265420 A JP 2004265420A
Authority
JP
Japan
Prior art keywords
versions
version
computer
software application
electronic file
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.)
Pending
Application number
JP2004056910A
Other languages
English (en)
Other versions
JP2004265420A5 (ja
Inventor
Noah Edelstein
エーデルスタイン ノア
Hani Saliba
サリバ ハニ
Hai Liu
ハイ リュウ
Steven James Rayson
ジェームズ レイソン スティーブン
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 JP2004265420A publication Critical patent/JP2004265420A/ja
Publication of JP2004265420A5 publication Critical patent/JP2004265420A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B15/00Layered products comprising a layer of metal
    • B32B15/20Layered products comprising a layer of metal comprising aluminium or copper
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B15/00Layered products comprising a layer of metal
    • B32B15/04Layered products comprising a layer of metal comprising metal as the main or only constituent of a layer, which is next to another layer of the same or of a different material
    • B32B15/08Layered products comprising a layer of metal comprising metal as the main or only constituent of a layer, which is next to another layer of the same or of a different material of synthetic resin
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B15/00Layered products comprising a layer of metal
    • B32B15/14Layered products comprising a layer of metal next to a fibrous or filamentary layer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/30Properties of the layers or laminate having particular thermal properties
    • B32B2307/304Insulating
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/50Properties of the layers or laminate having particular mechanical properties
    • B32B2307/582Tearability
    • B32B2307/5825Tear resistant
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2437/00Clothing
    • B32B2437/04Caps, helmets
    • 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/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 電子ファイルの第1および第2のバージョンを管理するための方法を提供すること。
【解決手段】 本方法では、電子ファイルの第1および第2のバージョンが認識され、同期イベントが開始される。アプリケーションプログラムインタフェースが、第1のバージョンと第2のバージョンにアクセスし、それぞれに関連付けられた情報を比較し、結果を生成し、その結果を第1のソフトウェアアプリケーションにレポートする。第2のソフトウェアアプリケーションは、第2のソフトウェアアプリケーションの機能に従ってユーザインタフェースを生成し、ここで電子ファイルは第2のソフトウェアアプリケーションに関連付けられており、ユーザインタフェースがディスプレイデバイス上で表示される。
【選択図】 図3

Description

本発明は、電子ファイルのバージョンを管理するための方法に関する。より詳細には、本発明は、同期イベント中にファイルのバージョンを一致させるために関連するアプリケーション機能を使用する電子ファイルのバージョンを管理するための方法及び記録媒体に関する。
ネットワーク化されたコンピュータ環境において、コンピュータユーザがネットワーク上の別のユーザと共に電子文書を共同制作することは日常茶飯事である。そのようなネットワークは、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネットなどとすることができる。そのような共同制作時には、各ユーザは、一般的なアプリケーションソフトウェア、または共同制作の対象であるファイルのタイプに合わせて特に設計されたソフトウェアなど、ソフトウェアアプリケーションを使用することによって電子ファイルを作成および編集することができる。
共同制作は、そのファイルを共同制作しているあらゆるユーザにとってアクセス可能であるロケーション内でマスターバージョンの電子ファイルを維持することによって可能にすることができる。従来のネットワーク化されたコンピュータ環境では、サーバコンピュータと、1つまたは複数のユーザコンピュータとが存在する可能性がある。サーバは、ユーザコンピュータ間で通信リンクを維持し、各ユーザコンピュータにとってアクセス可能であり、したがって、その諸ユーザによって共同制作されるファイルのマスターバージョンを記憶し、制御することができる。電子ファイルを共同制作するとき、ユーザは、まずサーバ上のそのファイルのマスターバージョンにアクセスし、次いでそのユーザのコンピュータにそのファイルを複写することができる。次いで、ユーザは、アプリケーションによってそのユーザに使用可能にされている任意の方法でファイルを改変することにより、そのファイルに対して作業することができる。たとえば、アプリケーションがワードプロセッサ、スプレッドシート、データベース、および/または類似物である場合には、アプリケーションは、編集、複写、削除、および/またはそのようなことなどのような、タスクを実行するための手段を提供することができる。任意の改変の完了時に、そのような改変をファイルに保持したいと望む場合には、ユーザは、そのユーザのコンピュータに記憶されているバージョンのファイルに変更を保存することができる。サーバコンピュータが存在しないシステムなど他のシステムでは、マスターバージョンをユーザコンピュータに記憶することができる。
サーバを介して他のユーザと共に共同制作するために、変更済みバージョンをユーザのコンピュータに記憶しているユーザは、そのコンピュータ上のバージョンのファイルをサーバ上のマスターバージョンのファイルと同期しなければならない。電子ファイルの複数のバージョンをその最も単純な形態で同期することにより、同期された後で、確実にすべてのバージョンが同一になる。このようにして、同期を実行するユーザは、共同制作に参加している他のユーザが、新たに改変されたファイルにアクセスするのを可能にすることになる。従来、同期は、同期ユーティリティによって実行される。同期ユーティリティは、一般にアプリケーションから別個であり、多くの場合、ユーザコンピュータのオペレーティングシステムの一部である。従来の同期ユーティリティは、所定の時間で、またはオペレーティングシステムによって要求されたとき同期を実行する。
従来の同期では、同期ユーティリティは、そのユーティリティが理解することが可能なコピーについてのどのような情報をも使用して、ユーザバージョンのファイルをマスターバージョンのファイルに比較することになる。典型的には、そのような情報は、各バージョンの最後の更新の日付および/または時刻に制限される。日付および/または時刻が同一である場合には、同期ユーティリティは両バージョンが同一であり、したがって同期されており、さらなる処置は必要とされないと判定する。しかし、日付および/または時刻の間に不一致があった場合には、同期ユーティリティは、同期イベントを駆動しているコンピュータに関連付けられたユーザにユーザインタフェースを提供する。ユーザインタフェースは、従来、不一致があることの手短な通知と、ファイルの各バージョンについてのそのような最後の更新の日付および/または時刻と、ファイルのどのコピーをユーザが保ちたいと望むかについてユーザから指示を求める要求とをユーザに提供する。ユーザがユーザバージョンを保つことを選んだ場合には、同期ユーティリティは、ユーザバージョンでマスターバージョンを上書きし、それにより、ユーザバージョンをサーバ上の新しいマスターバージョンにする。ユーザがマスターバージョンを保ちたいと望んでいる場合には、さらなる処置が行われない、またはユーザバージョンがマスターバージョンで上書きされる。いくつかのユーザインタフェースでは、どのバージョンをマスターバージョンにするか選択するのではなく、同期を打ち切るためのオプションがユーザに提示される。
上述の従来の同期は、重大な欠点を有する。従来の同期ユーティリティは、電子ファイルに関して機能が制限されているため、従来のユーティリティによって生成されるユーザインタフェースは、行動方針を選択するようにユーザを促すとき、ユーザに限られた量の情報を提示するだけである。したがって、そのような限られた量の情報は、どの行動方針をとるかについて、知識のない、おそらくは誤った判断をそのようなユーザにさせる可能性がある。たとえば、第1のユーザが以前同期されたユーザバージョンのファイルを改変する可能性があり、次いで、何らかの時点で従来の同期ユーティリティが同期イベントを開始する。ユーザは、従来のユーザインタフェースによって通知されたとき、ユーザバージョンがマスターバージョンより後で更新されたと理解し、したがって、マスターバージョンを上書きしようと決める可能性がある。しかし、従来のユーザインタフェースによって提示された情報では、そのユーザがユーザバージョンを改変し始めて以降マスターバージョンが変更されないままであるかどうかがそのユーザに伝えられない。これは、第2のユーザが別のユーザバージョンに改変を加え、次いで、第1のユーザの同期の前にそのユーザバージョンをマスターバージョンと同期している可能性があるという問題状況に通じる。第1のユーザのバージョンは、より新しく、より後で更新されたが、マスターバージョンは、第1のユーザが最初にファイルをサーバから複写したとき存在しなかった、第2のユーザによる改変を受けている。その結果、マスターバージョンに対する第2のユーザの改変は、第1のユーザが同期を完了した後で失われる。
上記の状況は、従来の同期ユーティリティが、そのファイルに関連するアプリケーションに固有の全範囲の機能を有してはおらず、そのため、ユーティリティが同期イベント中にその機能を使用できないことによって引き起こされる。したがって、ユーティリティは、電子ファイルの様々なバージョンに関して、たとえば、上記で論じたように各バージョンのファイルに対する最後の更新の日付および/または時刻など、非常に限られた量の情報をユーザに提供することができるにすぎない。
従来の同期ユーティリティの限られた機能によって引き起こされる別の欠点は、同期中にユーザにとって使用可能な複数の行動方針を欠いていることである。たとえば、上記で論じた例では、ユーザインタフェースは、マスターコピーをユーザコピーで更新するか、ユーザコピーをマスターコピーで更新するか、それとも打ち切るか、という3つのオプションを提示するだけである。
従来の同期ユーティリティの他の欠点は、そのようなユーティリティがそのようなアプリケーションと一体化されていないことに起因する。たとえば、上記で論じたように、従来の同期ユーティリティは、ユーザコンピュータまたはサーバコンピュータのオペレーティングシステムの一部である。したがって、従来、同期プロセスは、またどの適用可能なユーザインタフェースも、アプリケーションのユーザ体験の外で行われる。これは、アプリケーションに熟達しているかもしれないがオペレーティングシステムのユーティリティに熟達していないユーザの間で混乱を引き起こす可能性がある。さらに、一体化されていないことの結果として、同期は、そのようなイベントが発生するのに最適でないときに同期ユーティリティによって開始される可能性がある。従来の同期ユーティリティの他の欠点は、そのようなユーティリティをソフトウェアアプリケーションのコンポーネントとして使用することができないことである。たとえば、従来の方法を使用すると、コンピュータプログラマは、電子ファイルの複数のバージョンを一致させるために、その電子ファイルに適した第2のアプリケーションを使う能力を有する同期ユーティリティを使用する、第1のソフトウェアアプリケーションを作成することができない。したがって、同期中にファイルのコピー間の衝突を解決するために、関連するソフトウェアアプリケーション機能を使用する効率的な手段が求められている。
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、アプリケーション内でファイル複製を管理する電子ファイルのバージョンを管理するための方法を提供することにある。
前述に鑑みて、本発明は、アプリケーションプログラムインタフェースをソフトウェアアプリケーションと一体化し、アプリケーションのユーザ体験内にあるままで、アプリケーションがファイル同期プロセスを要求および制御することを可能にする方法を提供する。本発明は、電子ファイルの第1および第2のバージョンを管理するための方法を提供する。本方法では、電子ファイルの第1のバージョンと第2のバージョンが認識され、第1のコンピュータ上で動作する第1のソフトウェアアプリケーションを使用して同期イベントが開始される。アプリケーションプログラムインタフェースが、第1のバージョンと第2のバージョンにアクセスし、それぞれに関連付けられた情報を比較し、結果を生成し、その結果を第1のソフトウェアアプリケーションにレポートする。第2のソフトウェアアプリケーションは、第2のソフトウェアアプリケーションの機能に従ってユーザインタフェースを生成し、ここで電子ファイルは第2のソフトウェアアプリケーションに関連付けられ、ユーザインタフェースがディスプレイデバイス上で表示される。
本発明はまた、同期オプションを生成し、ユーザインタフェースと共にそのオプションを提示し、ユーザインタフェースをディスプレイデバイス上で表示するために第2のソフトウェアアプリケーションを提供する。第2のソフトウェアアプリケーションはまた、オプション選択を受け取ることができ、それに応じて電子ファイルの第1のバージョンと第2のバージョンを同期する。本発明はさらに、第1のソフトウェアアプリケーションと第2のソフトウェアアプリケーションとを同じソフトウェアアプリケーションとすることができることを定める。アプリケーションは、第1のバージョンと第2のバージョンに関してユーザに任意の量の情報を提供することができ、ユーザは、任意の数またはタイプの同期選択を入力することができる。一実施形態では、ユーザは、第1もしくは第2のバージョン、または両方の任意の部分を含む、あるいは含まない第3のバージョンを作成することができる。アプリケーションは、ユーザの要求時など任意の時点で同期を開始することができる。本発明の追加の特徴および利点が以下の説明の中で述べられている。
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。前述の概要、ならびに以下の好ましい実施形態の詳細な説明は、添付の図面と併せ読めば、よりよく理解できる。本発明について例示するために、図面内で本発明の例示的な実施形態が示されているが、本発明は、開示されている特定の方法および手段に限定されない。
概要
本発明は、アプリケーションプログラムインタフェースをソフトウェアアプリケーションと一体化し、アプリケーションのユーザ体験内にあるままで、アプリケーションがファイル同期プロセスを要求および制御することを可能にする方法を提供する。本発明は、電子ファイルの第1および第2のバージョンを管理するための方法を提供する。本方法では、電子ファイルの第1のバージョンと第2のバージョンが認識され、第1のコンピュータ上の第1のバージョンを第2のバージョンと同期するための同期イベントが、第1のコンピュータ上で動作する第1のソフトウェアアプリケーションを使用して開始される。アプリケーションプログラムインタフェースが第1のバージョンと第2のバージョンにアクセスし、第1のバージョンと第2のバージョンのそれぞれに関連付けられた情報が比較され、結果が生成される。比較の結果は、第1のソフトウェアアプリケーションにレポートされる。第2のソフトウェアアプリケーションは、第2のソフトウェアアプリケーションの機能に従ってユーザインタフェースを生成させられ、ここで電子ファイルは第2のソフトウェアアプリケーションに関連付けられ、ユーザインタフェースがディスプレイデバイス上で表示される。
本発明はまた、同期オプションを生成するために、また、同期オプションをユーザインタフェースによって提示させ、ディスプレイデバイス上で表示させるために第2のソフトウェアアプリケーションを提供する。第2のソフトウェアアプリケーションはまた、オプション選択を受け取り、オプション選択に従って電子ファイルの第1のバージョンと第2のバージョンを同期する。本発明はさらに、第1のソフトウェアアプリケーションと第2のソフトウェアアプリケーションを同じソフトウェアアプリケーションとすることができ、したがって、すべてのステップを単一のアプリケーションによって実行することができることを定める。
アプリケーションは、第1のバージョンと第2のバージョンに関してユーザに任意の量の情報を提供することができ、ユーザは、任意の数またはタイプの同期選択を入力することができる。一実施形態では、ユーザは、第1もしくは第2のバージョン、または両方の任意の部分を含む、あるいは含まない第3のバージョンを作成することができる。アプリケーションは、ユーザの要求時など任意の時点で同期を開始することができる。
例示的なコンピューティング環境
図1は、本発明を実施することができる好適なコンピューティングシステム環境100の一例を示す。コンピューティングシステム環境100は、好適なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどのような制限も示唆するものではに。コンピューティング環境100は、例示的な動作環境に示されている構成要素のいずれか1つまたは組合せに関してどんな依存性も要件も有すると解釈すべきでない。
本発明は、多数の他の汎用または専用コンピューティングシステム環境または構成と共に動作可能である。本発明と共に使用するのに適している可能性のある周知のコンピューティングシステム、環境、および/または構成の例には、それだけには限らないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークPC(personal computer)、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
本発明について、コンピュータによって実行される、プログラムモジュールなどコンピュータ実行可能命令の一般的な状況で述べることができる。一般に、プログラムモジュールは、特定のタスクを実行する、あるいは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明はまた、通信ネットワークまたは他のデータ伝送媒体を介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境内で実施することができる。分散コンピューティング環境では、プログラムモジュールや他のデータは、メモリ記憶デバイスを含むローカルとリモート双方のコンピュータ記憶媒体内に置かれてもよい。
図1を参照すると、本発明を実施するための例示的なシステムが、コンピュータ110の形態で汎用コンピューティングデバイスを含む。コンピュータ110の構成要素には、それだけには限らないが、プロセッサ120、システムメモリ130、およびシステムメモリを含む様々なシステム構成要素をプロセッサ120に結合するシステムバス121が含まれる。システムバス121は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺機器バス、およびローカルバスを含むいくつかのタイプのバス構造のいずれかとすることができる。限定ではなく例を挙げると、そのようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、および(メザニンバスとしても知られる)PCI(Peripheral Component Interconnect)バスが含まれる。
コンピュータ110は、一般に、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によってアクセスすることができる任意の入手可能な媒体とすることができ、揮発性媒体と不揮発性媒体、リムーバブルとリムーバブルノンリムーバブルの媒体を共に含む。限定ではなく例を挙げると、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体を含む。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報を記憶するための任意の方法または技術で実施される揮発性と不揮発性、リムーバブルとリムーバブルノンリムーバブルの媒体が共に含まれる。コンピュータ記憶媒体には、それだけには限らないが、RAM(random access memory)、ROM(read only memory)、EEPROM(electrically erasable programmable read-only memory)、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、所望の情報を記憶するために使用することができ、コンピュータ110によってアクセスすることができる他の任意の媒体が含まれる。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構など変調データ信号に統合し、任意の情報送達媒体を含む。「変調データ信号」という用語は、情報を信号に符号化するようにその特性の1つまたは複数が設定された、または変化した信号を意味する。限定ではなく例を挙げると、通信媒体は、有線ネットワークまたは直接配線接続など有線媒体と、音響、RF(radio frequencies)、赤外線および他の無線媒体など無線媒体とを含む。上記のいずれかの組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
システムメモリ130は、ROM131およびRAM132など揮発性および/または不揮発性メモリの形態でコンピュータ記憶媒体を含む。起動中などにコンピュータ110内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(Basic Input/Output System)133は、一般にROM131内に記憶されている。一般にRAM132は、プロセッサ120によって直ちにアクセス可能な、かつ/または現在動作されているデータおよび/またはプログラムモジュールを含む。限定ではなく例を挙げると、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、プログラムデータ137を示す。
コンピュータ110はまた、他のリムーバブル/リムーバブルノンリムーバブル、揮発性/不揮発性コンピュータ記憶媒体を含むことができる。例にすぎないが、図1は、リムーバブルノンリムーバブルの不揮発性磁気媒体との間で読出しまたは書込みをするハードディスクドライブ140、リムーバブルの不揮発性磁気ディスク152との間で読出しまたは書込みをする磁気ディスクドライブ151、CD−ROMまたは他の光媒体などリムーバブルの不揮発性光ディスク156との間で読出しまたは書込みをする光ディスクドライブ155を示す。例示的な動作環境内で使用することができる他のリムーバブル/リムーバブルノンリムーバブル、揮発性/不揮発性コンピュータ記憶媒体には、それだけには限らないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体RAM、固体ROMなどが含まれる。一般にハードディスクドライブ141は、インタフェース140などリムーバブルノンリムーバブルメモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、一般に、インタフェース150などリムーバブルメモリインタフェースによってシステムバス121に接続される。
上記で論じ、図1に示されたドライブとその関連コンピュータ記憶媒体は、コンピュータ110のためのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータを記憶する。たとえば、図1では、ハードディスクドライブ141が、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、プログラムデータ147を記憶して示されている。これらの構成要素は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、プログラムデータ137と同じとすることも異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、プログラムデータ147は、最低でも異なるコピーであることを示すために異なる番号が与えられている。ユーザは、キーボード162、および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス161など、入力デバイスを介してコンピュータ110にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含むことができる。これらの、また他の入力デバイスは、システムバスに結合されるユーザ入力インタフェース160を介してプロセッサ120に接続されることがしばしばであるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)など、他のインタフェースおよびバス構造によって接続することができる。モニタ191または他のタイプのディスプレイデバイスもまた、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータはまた、スピーカ197やプリンタ196など他の周辺出力デバイスを含むことができ、これらは、出力周辺機器インタフェース195を介して接続することができる。
コンピュータ110は、リモートコンピュータ180など、1つまたは複数のリモートコンピュータに対する論理接続を使用してネットワーク環境内で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードとすることができ、図1には、メモリ記憶デバイス181だけが示されているが、一般に、コンピュータ110に関して上述した要素の多数または全部を含む。図の論理接続は、ローカルエリアネットワーク(LAN)171と広域ネットワーク(WAN)173を含むが、他のネットワークを含むこともできる。そのようなネットワーク環境は、事務所、全社コンピュータネットワーク、イントラネット、インターネットで普通である。
コンピュータ110は、LANネットワーク環境内で使用されるとき、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。コンピュータ110は、WANネットワーク環境内で使用されるとき一般に、インターネットなどWAN173を介して通信を確立するためのモデム172または他の手段を含む。モデム172は、内部にあっても外部にあってもよく、ユーザ入力インタフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク環境では、パーソナルコンピュータ110に関して図示されたプログラムモジュール、またはその一部分を、リモートメモリ記憶デバイス内に記憶することができる。限定ではなく例を挙げると、図1は、メモリデバイス181に常駐するリモートアプリケーションプログラム185を示す。図1のネットワーク接続は例であり、コンピュータ間で通信リンクを確立する他の手段を使用することができることは理解されよう。
例示的な分散コンピューティングフレームワークまたはアーキテクチャ
パーソナルコンピューティングとインターネットを集中させるという点から、様々な分散コンピューティングフレームワークが開発されており、また開発されつつある。個人も法人ユーザも平等に、アプリケーションとコンピューティングデバイス用にシームレスに相互動作可能な、ウェブによって使用可能にされるインタフェースを備え、コンピューティング活動をますますウェブブラウザ指向またはネットワーク指向にしている。
たとえば、MICROSOFT(登録商標)の.NETプラットフォームは、サーバと、ウェブをベースとするデータ記憶装置などビルディングブロックサービスと、ダウンロード可能なデバイスソフトウェアとを含む。一般的に言うと、.NETプラットフォームは、(1)全範囲のコンピューティングデバイスを一緒に動作させ、また、それらすべてに対してユーザ情報を自動的に更新および同期させる能力、(2)HTML(Hyper Text Markup Language)ではなくXML(eXtensible [eXtended] Markup Language)をより多用することによって可能にされる、ウェブサイトのための対話性の高められた機能、(3)たとえば電子メールなど様々なアプリケーション、またはOffice.NETなどソフトウェアを管理するための中央開始点からユーザへの製品およびサービスのカスタマイズされたアクセスおよび送達を特徴とするオンラインサービス、(4)情報へのアクセスの効率および手軽さ、ならびにユーザとデバイスの間での情報の同期性を高める集中データ記憶装置、(5)電子メール、ファックス、電話など様々な通信媒体を一体化する能力、(6)開発者に対し、再使用可能なモジュールを作成し、それによって生産性を高め、プログラミングの誤りの数を低減する能力、(7)さらに多数の他のプラットフォーム間一体化機能を提供する。
本明細書では、例示的な実施形態がコンピューティングデバイスに常駐するソフトウェアと共に述べられているが、本発明の1つまたは複数の部分はまた、.NETの言語およびサービスすべてによって、またさらに他の分散コンピューティングフレームワーク内でサービスを実行し、.NETの言語およびサービスすべてにおいて、またさらに他の分散コンピューティングフレームワーク内でサービスをサポートし、.NETの言語およびサービスすべてを介して、またさらに他の分散コンピューティングフレームワーク内でサービスにアクセスすることができるように、オペレーティングシステム、API(Application Programming Interface)、または、コプロセッサと要求元オブジェクトとの間の「仲介者」オブジェクトを介して実施することができる。
例示的な実施形態
本発明によれば、電子ファイルが複数のバージョンの形に形成されたとき、そのファイルに関連付けられたソフトウェアアプリケーションが複数のバージョンを同期するプロセスを制御できるように、アプリケーションプログラムインタフェースを構成することができる。一実施形態では、アプリケーションは同期を自動的に開始することができ、一方、別の実施形態では、アプリケーションは、ユーザ入力に基づいて同期を開始することができる。別の実施形態では、アプリケーションは、アプリケーション機能によって提供された同期オプションをユーザに提示し、また、ユーザがオプションを選択し、アプリケーション機能を使用してタスクを実行することを可能にする。別の実施形態では、第1のアプリケーションが同期を開始し、一方、第2のアプリケーションが同期オプションをユーザに提示する。
次いで、図2を参照すると、第1のコンピュータ210は、記憶デバイス218と動作可能に通信する第1のプロセッサ220を備える。第1のコンピュータ210は、汎用デスクトップもしくはポータブルコンピュータ、ワークステーション、専門コンピューティングデバイスおよび/または類似物とすることができる。同様に、第1のプロセッサ220は、汎用コンピュータプロセッサ、専門プロセッサ、プロセッサ群のネットワークなどとすることができる。ディスプレイデバイス230が第1のコンピュータ210に動作可能に関連付けられている。ディスプレイデバイス230は、たとえばモニタ、スピーカなど、ユーザにオプションなどを提示するどの手段とすることもできる。任意の有線または無線接続手段により、第1のコンピュータ210にディスプレイデバイス230をそのように動作可能に関連付けることができる。図2では、ディスプレイデバイス230が第1のコンピュータ210内にあるように示されているが、ディスプレイデバイス230は、第1のプロセッサ220と動作可能に通信するどこにでも位置することができ、リモート地などを含む。
記憶デバイス218は、ハードドライブ、CD−ROM、磁気ディスク、DVD、RAMおよび/または類似物とすることができる。ディスプレイデバイス230と同様に、記憶デバイス218は、第1のプロセッサ220と動作可能に通信するどこにでも位置することができる。そのような状況における動作可能な通信は、有線、無線、またはその任意の組合せとすることができる。電子ファイルの第1のバージョン212が記憶デバイス218内に含まれている。そのような第1のバージョン212は、たとえば、ワードプロセッサ用文書、スプレッドシート、データベース、および/または類似物など、どのタイプの電子ファイルとすることもできる。
第1のアプリケーション208および第2のアプリケーション214は、記憶デバイス218内に記憶することができる。第1のアプリケーション208および第2のアプリケーション214は、たとえば、ワードプロセッサ、スプレッドシート、データベース、プログラムされたスクリプト、専門ソフトウェアなど、どのタイプのコンピュータ実行可能命令とすることもできる。以下で論じるように、第1のアプリケーション208と第2のアプリケーション214が共に存在する実施形態では、第2のアプリケーション214だけが電子ファイルに適合することを必要とする。別法として、やはり以下で論じるように、第1のアプリケーション208と第2のアプリケーション214を同じアプリケーションとすることができる。また、第1のアプリケーション208と第2のアプリケーション214の一方は、またはどちらも、記憶デバイス218の外に位置することができる。というのは、どちらのアプリケーションも、第1のコンピュータ210と動作可能に通信することを必要とするだけだからである。
アプリケーションプログラムインタフェース216は、同期するために電子ファイルの複数のコピーをチェックおよび比較するように適合された任意のタイプのコンピュータ実行可能命令であり、電子ファイルの複数のコピーを同期するために特に設計された独立ソフトウェア、別のアプリケーションのコンポーネントとして動作するソフトウェアユーティリティ、第1または第2のアプリケーション208、214の一体化コンポーネント、および/または類似物とすることができる。アプリケーションプログラムインタフェース216はまた、同期に関連することもしないこともある追加のタスクを実行することができる。第1のバージョン212、第1のアプリケーション208、第2のアプリケーション214、アプリケーションプログラムインタフェース216は、同じ記憶デバイス218内に、または、任意の数の様々な記憶デバイス218内で、もしくはそれらに渡って常駐することができる。
第2のコンピュータ222は、第2のプロセッサ224と、第1のバージョン212に関連して上記で論じた電子ファイルの第2のバージョン226を含む記憶デバイス228とを備える。上記で論じたように、記憶デバイス228は、第2のコンピュータ222と動作可能に通信するどこにでも位置することができ、リモート地などを含む。また、一実施形態では、記憶デバイス228と記憶デバイス218を同じ記憶デバイスとすることができる。ネットワーク238が第1および第2のコンピュータ210、222を動作可能に接続している。ネットワーク238は、たとえば、LAN、WAN、無線ネットワークなど、そのような動作可能な通信に適合されたどの通信ネットワークとすることもできる。理解できるように、任意の数の第1のコンピュータ210および第2のコンピュータ222をネットワーク238に動作可能に接続することができる。
次いで、図3に転じると、ステップ311で同期プロセスが始まる。一実施形態では、第1のアプリケーション208が同期プロセスを開始し、第2のアプリケーション214が同期プロセスを実施する。他の一実施形態では、第1のアプリケーション208と第2のアプリケーション214が単一のアプリケーションであり、その場合、単一のアプリケーションは、同期を開始し、また実施する。以下の図3の考察は、第1のアプリケーション208と第2のアプリケーション214を共に必要とするプロセスについて述べるが、単一のアプリケーションが、第1のアプリケーション208と第2のアプリケーション214によって実行されるステップのすべてを単独で実行することができることを理解されたい。
たとえば、第1のバージョン212を開く、閉じる、保存すること、もしくは類似のこと、電子ファイルの第1および第2のバージョンの認識時、ユーザ要求に応じて手動で開始すること、定期間隔で開始すること、システムへのユーザログイン時、および/または類似の時など、いくつかの状況により、第1のアプリケーション208が同期プロセスを開始する可能性がある。さらに、第1のアプリケーション208は、任意の追加条件を課すことができ、あるいは、たとえば、ある数のバージョンが存在するとき同期を開始するだけなど、代わりの条件を使用することができる。一実施形態で同期イベントを開始することに関連するより詳細は、図4に関連して以下に続く。このプロセスを開始するために、第1のアプリケーション208は、アプリケーションプログラムインタフェース216に第1のバージョン212と第2のバージョン226にアクセスさせる。第1のバージョン212と第2のバージョン226へのアクセスは、各バージョンに関連づけられた情報を見ること、探索機能を使用することによって各バージョンを見つけること、第1のアプリケーション208によって提供された識別情報を使用することによって各バージョンを突き止めることなど、どのコンピューティング手段によって実行することもできる。
第1のアプリケーション208は、たとえば、ファイル名、ロケーション、アドレス、および/または類似物など、第2のバージョン226に関する任意の量の識別情報をアプリケーションプログラムインタフェース216に提供することができる。アプリケーションプログラムインタフェース216は、第2のバージョン226を能動的に突き止めるように適合させることができ、あるいは、第1のアプリケーション208、第1のバージョン212などによって指定されたロケーションを見ることだけを可能にする制限された機能を有することができる。また、アプリケーションプログラムインタフェース216を、同期プロセスには関連していない可能性のある任意の数の追加タスクを実行するように構成することができる。ステップ313で、アプリケーションプログラムインタフェース216は、第2のバージョン226を突き止め、同期ステータスをチェックする。アプリケーションプログラムインタフェース216は、第1のバージョン212についての、たとえば最後の更新の時刻および/または日付などの情報を、第2のバージョン226と比較することによってステータスを判定する。同期ステータスはまた、上述の情報に追加の、または上述の情報に代えられた任意の基準によって判定することができる。その情報が、第1のアプリケーション208によって指定された情報および/または基準に合致した場合、第1および第2のバージョン212、226は、同期されたステータスを有する。情報が矛盾する場合、そのような矛盾は、そのようなバージョン212、226の一方に変更が加えられているかもしれない可能性を示すため、第1および第2のバージョン212、226は、同期されたステータスを有していない。あるいは、アプリケーションプログラムインタフェース216が、エラー、提供されていない条件、第1のアプリケーション208が同期を終了する原因と指定している条件などを検出した場合には、アプリケーションプログラムインタフェース216は、ステップ330に進む。ステップ330で、アプリケーションプログラムインタフェース216はその条件について第1のアプリケーション208に通知し、第1のアプリケーション208はそれに応じて進み、いずれかのタイプの処置、または何もしないことを含むことができる。
ステップ315で、アプリケーションプログラムインタフェース216は、ステップ313の同期判定の結果に応じて、2つの行動方針のうち1つを取ることができる。アプリケーションプログラムインタフェース216が、第1のバージョン212と第2のバージョン226が同期されていると判定した場合には、アプリケーションプログラムインタフェース216はステップ325に進む。ステップ325で、アプリケーションプログラムインタフェースは、第1のバージョン212と第2のバージョン226が同期されていることを第1のアプリケーション208にレポートする。そのようなレポートは、第1のバージョン212が電子ファイルの最新バージョンを含むため、現在、さらなる同期活動が必要でないことを第1のアプリケーション208に示す。このレポートはまた、ユーザが第1のアプリケーション208または第2のアプリケーション214を使用して第1のバージョン212を改変できることを示すことができる。
ステップ323で同期プロセスが終了する。このステップで、たとえば、そのような同期プロセスが、第1のアプリケーション208が電子文書の第1のバージョン212を閉じているとき実行された場合など、第1のアプリケーション208は機能をやめることができる。したがって、そのような状況では、同期が発生した後で、第1のアプリケーション208はそれ以上実行する機能がなく、ユーザによって手動で、または自動的に終了することができる。他の一実施形態では、第1のアプリケーション208が、第1のバージョン212を開いたとき同期プロセスを開始する。そのような状況では、アプリケーションは、そのような同期イベントの完了時に終了することにならず、第1のアプリケーション208の機能が使用可能であれば、それを使用してユーザが第1のバージョン212を改変し始めるのを可能にすることになる。
しかし、ステップ315で、アプリケーションプログラムインタフェース216が、第1のバージョン212と第2のバージョン226が同期されていないと判定した場合には、アプリケーションプログラムインタフェース216はステップ317に進む。ステップ317で、アプリケーションプログラムインタフェース216は、第1のバージョン212と第2のバージョン226が同期されていないことを第1のアプリケーション208および/または第2のアプリケーション214にレポートする。そのようなレポートは、ステップ319および321に関連して以下で論じるように、ユーザ入力と共に、第2のアプリケーション214に第1のバージョン212と第2のバージョン226の同期を開始させる。
ステップ319で、第2のアプリケーション214は、ディスプレイデバイス230上でユーザインタフェースを表示することによって、ユーザにユーザインタフェースを提示する。そのようなユーザインタフェースは、テキストおよび/もしくはグラフィックウィンドウ、オーディオプロンプト、ならびに/または類似物の形態にすることができ、ユーザインタフェースの任意のそのような構成は、本発明の一実施形態に等しく適合する。そのようなユーザインタフェースを提示する際に、第2のアプリケーション214は、第2のアプリケーション214の機能などを使用して、ユーザに1つまたは複数のオプションを提示することができる。たとえば、第2のアプリケーション214がワードプロセッサである場合、第2のアプリケーション214は、たとえば、そのような第1のバージョン212のページビューを有する編集ウィンドウおよび/または類似物など、第2のアプリケーション214のワードプロセッサ用ユーザ環境内でユーザに同期オプションを提示することができる。また、ユーザが同期判断をよりよくできるようにするために、第2のアプリケーション214は、色、音、グラフィックなどを使用して第1のバージョン212と第2のバージョン226の間の相違を強調することができる。第2のアプリケーション214はまた、たとえば、バージョン212、226のどちらかを改変した各ユーザの同一性など、追加情報を提供することができ、ユーザがセキュリティクリアランスなどの形態で改変するための許可を有する場合だけ、そのようなユーザがバージョン212、226を改変するのを許すことができる。第2のアプリケーション214は、変更を両バージョン212、226に組み込むために、ユーザが、たとえばバージョン212、226を第3のコピーの形にマージすることを可能にすることができる。追加オプションはまた、たとえば、推奨される行動方針など、第2のアプリケーション214の機能から導出されたガイダンスの形態とすることができる。理解できるように、オプションは、第1のバージョン212および第2のバージョン226に関連して、第2のアプリケーション214の機能を使用して第2のアプリケーション214によって生成し得るどのようなものとすることもできる。
ステップ321で、第2のアプリケーション214は、ユーザ入力を受け取り、処理する。そのようなユーザ入力は、そのような同期に関して任意の量の情報を含むことができる。たとえば、ユーザ入力により、そのユーザが保持したいと望む電子ファイルの第1のバージョン212か第2のバージョン226どちらかの特定の改変を選択することができる。他の一実施形態では、ユーザ入力は、ユーザが全体を保持したいと望む第1のバージョン212か第2のバージョン226どちらかの選択を含むことができる。他の一実施形態では、ユーザ入力は、完了したとき第1のバージョン212と第2のバージョン226が同期している第2のアプリケーション214の機能を使用する、第1および/または第2のバージョン212、226の編集を含むことができる。理解できるように、ユーザ入力は、ユーザによって選択または使用されるように第2のアプリケーション214によって使用可能にされる任意の入力を含むことができ、任意のそのような入力は、本発明の一実施形態に適合する。
やはり理解できるように、そのようなユーザインタフェースは、ユーザ入力に応じて再表示する、かつ/またはリフレッシュすることができるため、ステップ319および321は繰り返すことができる。たとえば、ユーザインタフェースを、ユーザ入力に基づいて、第2のアプリケーション214によって再構成することができる。そのような再構成は、たとえば、ユーザが第1のバージョン212と第2のバージョン226の間の複数の差違のうち1つを選択し、第2のアプリケーション214が、そのような選択を反映するために、ユーザにユーザインタフェースを再表示する場合に行われる可能性がある。ステップ319および321は、何回繰り返すことも、まったく繰り返さないこともでき、どちらのそのような状況も、本発明の一実施形態に等しく適合する。また、第2のアプリケーション214は、同期のどの結果も第1のアプリケーション208に、またはアプリケーションプログラムインタフェース216にレポートすることができる。第2のアプリケーション214によってレポートされる結果は、オプション選択、同期結果など、同期に関連づけられたどの情報とすることもできる。
第2のアプリケーション214は、トリガイベントが発生したとき、同期の終了であるステップ323に進むことができる。そのようなトリガイベントは、たとえば、ユーザが第1のバージョン212と第2のバージョン226の間の差違すべてを一致させるのを完了したとき、または、ユーザが、同期を完了することなしに同期プロセスを打ち切る、もしくは終了するように第2のアプリケーション214に指示したとき、または、所定の時間で、など、いつでも発生する可能性がある。ステップ323で、同期が終了する。次いで、ステップ325に関連して上述したように、第1のアプリケーション208または第2のアプリケーション214は、同期が発生する状況に適合するステップ323で任意の処置を行うことができる。
次いで、図4に転じると、本発明の一実施形態に従って、ステップ311の詳細な図が示されている。図3に関連して上記で論じたように、ステップ311で、第1のアプリケーション208は同期プロセスを開始する。図4は、そのような開始ステップの一実施形態をより具体的に示しており、ここで第1のアプリケーション208は、電子ファイルの第1のバージョン212を開いたのに応じて、そのような同期プロセスを開始する。上記で論じたように、第1のアプリケーション208は、たとえば、そのような第1のバージョン212を開き、保存し、もしくは閉じたとき、および/または、設定された、もしくは可変の間隔で、および/または、ユーザ入力時、および/または類似の時など、いつでも同期プロセスを開始することができる。
ステップ411で、第1のアプリケーション208は、電子ファイルの第1のバージョン212を開く。そのような開くことは、そのような第1のバージョン212を開くためのユーザ入力に応じて行われることになるのが最も一般的であるが、第1のバージョン212をそのように開くことを開始するためのどの手段も、本発明の一実施形態に適合する。ステップ413で、第1のアプリケーション208は、第1のバージョン212が関連の第2のバージョン226を有するかどうか判定する。第1のアプリケーション208は、ステップ411で第1のバージョン212を完全に開いたことに応じてステップ413に進むことができ、あるいは、たとえば、ステップ411で第1のバージョン212を開く前を含む、そのような開くプロセスの間の任意の時点でステップ413に進むことができる。また、第1のアプリケーション208がそのような判定をするのを可能にするために、どの方法を使用することもできる。たとえば、電子スタンプなどの情報をそのような第1のバージョン212に関連付け、それによって、第1のアプリケーション208がそのような判定をするのを可能にすることができる。一方、第1のアプリケーション208は、そのような判定のために、たとえば第2のコンピュータ222など、ネットワーク238に動作可能に接続されている任意の、またはすべてのコンピューティングデバイスを探索することができる。理解できるように、第1のアプリケーション208は、本発明の一実施形態に適合したままで、第2のバージョン226の存在を判定するどの方法を使用することもできる。
ステップ413で、第1のアプリケーション208が第2のバージョン226を見つけられなかった場合、第1のアプリケーション208は、第1のバージョン212がそのような電子ファイルの唯一のコピーであると判定し、ステップ417に進む。ステップ417で、第1のアプリケーション208は、第1のバージョン212を通常どおり処理する。そのような通常の処理は、第1のアプリケーション208が通常、おそらくは任意のユーザ入力に従って第1のバージョン212と同じ形式の電子ファイルに対して行うどのタイプの処理とすることもできる。たとえば、図4では、第1のアプリケーション208がステップ311に従ってそのような同期プロセスを開始したとき、第1のアプリケーション208は、第1のバージョン212を開くプロセスを行っていた。第2のバージョン226がないため、同期が必要ないとわかったことに応じて、第1のアプリケーション208は、第1のバージョン212を開くのを完了し、それに応じて進む。
ステップ413で、第1のアプリケーション208が第2のバージョン226を見つけた場合には、第1のアプリケーション208はステップ415に進む。ステップ415で、第1のアプリケーション208は、第1のバージョン212と第2のバージョン226の同期を開始するために、アプリケーションプログラムインタフェース216にコンタクトする。アプリケーションプログラムインタフェース216にコンタクトしたことに応じて、そのような同期プロセスは、図3に関連して上記で論じたように、ステップ313に進む。
以上、アプリケーション内でファイル複製を管理するための方法および装置を提示した。本発明について、様々な図の好ましい実施形態に関連して述べたが、本発明の同じ機能を実行するために、そこから逸脱することなしに他の同様な実施形態を使用し、または、修正および追加を上述の実施形態に加えることができることを理解されたい。たとえば、本願に述べられている本発明は、有線であろうと無線であろうと、どのコンピューティングデバイスまたは環境にも適用することができること、また、通信ネットワークを介して接続され、ネットワークを渡って相互作用する任意の数のそのようなコンピューティングデバイスに適用することができることを、当業者なら理解するであろう。さらに、特に無線ネットワーク化されたデバイスが増え続けているため、ハンドヘルドデバイス用オペレーティングシステムや他の応用分野特有のオペレーティングシステムを含む様々なコンピュータプラットフォームが企図されていることを強調しておくべきである。さらに、本発明は、複数の処理用チップまたはデバイス内で、またはそれらに渡って実施することができ、同様に、記憶は複数のデバイスに渡って実施することができる。したがって、本発明は、どの単一の実施形態にも制限すべきでなく、添付の特許請求の範囲による広さと範囲内で解釈すべきである。
本発明を適用できる実施形態の例示的なコンピューティング環境を示すブロック図である。 本発明を適用できる実施形態の第1のコンピュータとネットワークと第2のコンピュータの間の関係の一例を示す機能図である。 本発明を適用できる実施形態の同期プロセスを示す流れ図である。 本発明を適用できる実施形態の同期プロセスを開始する方法を示す流れ図である。
符号の説明
208 第1のアプリケーション
210 第1のコンピュータ
212 ファイルの第1のコピー
214 第2のアプリケーション
218 記憶デバイス
238 ネットワーク
220 第1のプロセッサ
222 第2のコンピュータ
224 第2のプロセッサ
226 ファイルの第2のコピー
228 記憶デバイス
230 ディスプレイデバイス

Claims (46)

  1. 電子ファイルの第1および第2のバージョンを管理するための方法であって、
    第1のコンピュータ上で動作する第1のソフトウェアアプリケーションを使用して、前記第1のコンピュータ上の前記第1のバージョンを前記第2のバージョンと同期するために同期イベントを開始するステップと、
    アプリケーションプログラムインタフェースに前記第1および第2のバージョンへアクセスさせるステップと、
    前記第1および第2のバージョンのそれぞれに関連付けられた情報を比較し、結果を生成するステップと、
    前記第1のソフトウェアアプリケーションに前記比較の前記結果をレポートするステップと、
    第2のソフトウェアアプリケーションに、該第2のソフトウェアアプリケーションの機能に従ってユーザインタフェースを生成させるステップであって、前記電子ファイルが前記第2のソフトウェアアプリケーションに関連付けられているステップと、
    前記ユーザインタフェースをディスプレイデバイス上で表示するステップと
    を備えることを特徴とする方法。
  2. 前記第1および第2のソフトウェアアプリケーションは同じアプリケーションである
    ことを特徴とする請求項1に記載の方法。
  3. 前記比較するステップの前記結果は、前記第1および第2のバージョンの同期ステータスである
    ことを特徴とする請求項1に記載の方法。
  4. 前記第2のバージョンが第2のコンピュータに記憶され、前記第1および第2のコンピュータが通信ネットワークによって動作可能に接続される
    ことを特徴とする請求項1に記載の方法。
  5. 前記比較の前記結果が、前記電子ファイルの前記第1および第2のバージョンが同期されていないことを示しているとき、前記生成するステップは、前記第2のソフトウェアアプリケーションを使用して同期オプションを提示するステップをさらに含む
    ことを特徴とする請求項1に記載の方法。
  6. 同期オプションを提示する前記ステップは、
    前記第2のソフトウェアアプリケーションによって同期オプションを生成するステップと、
    前記同期オプションを、前記ユーザインタフェースによって提示させ、前記ディスプレイデバイス上で表示させるステップと、
    オプション選択を受け取るステップと、
    前記オプション選択に従って前記電子ファイルの前記第1および第2のバージョンを同期するステップと
    をさらに含むことを特徴とする請求項4に記載の方法。
  7. 前記第1および第2のバージョンを同期する前記ステップは、前記電子ファイルの前記第1のバージョンを前記電子ファイルの前記第2のバージョンで上書きするステップを含む
    ことを特徴とする請求項6に記載の方法。
  8. 前記第1および第2のバージョンを同期する前記ステップは、前記第1および第2のバージョンを前記電子ファイルの第3のバージョンで上書きするステップを含み、前記第3のバージョンは、前記電子ファイルの前記第1のバージョンの一部分を含む
    ことを特徴とする請求項6に記載の方法。
  9. 前記第1および第2のバージョンを同期する前記ステップは、前記第1および第2のバージョンを前記電子ファイルの第3のバージョンで上書きするステップを含み、前記第3のバージョンは、前記電子ファイルの前記第2のバージョンの一部分を含む
    ことを特徴とする請求項6に記載の方法。
  10. 前記第1および第2のバージョンを同期する前記ステップは、前記ユーザインタフェースから受け取った入力に従って前記第1および第2のバージョンを第3のバージョンにマージし、前記第1および第2のバージョンを前記第3のバージョンで上書きするステップを含む
    ことを特徴とする請求項6に記載の方法。
  11. 前記第2のソフトウェアアプリケーションを使用して、前記第1および第2のバージョンを開くステップと、
    前記第2のソフトウェアアプリケーションによって生成された同期オプションを、前記ユーザインタフェースを使用して提示するステップと、
    前記ユーザインタフェースからユーザ入力を受け取るステップと、
    前記第2のソフトウェアアプリケーションを使用して、前記ユーザ入力を処理するステップと、
    前記ユーザ入力に従って前記第1および第2のバージョンを同期するステップと
    をさらに備えることを特徴とする請求項1に記載の方法。
  12. 同期オプションを提示する前記ステップは、前記第1および第2のバージョンを前記ユーザインタフェース内で表示するステップをさらに含む
    ことを特徴とする請求項11に記載の方法。
  13. 前記第1および第2のバージョンを同期する前記ステップは、ユーザ入力に従って前記第1および第2のバージョンを上書きするステップを含む
    ことを特徴とする請求項11に記載の方法。
  14. 前記同期イベントを開始する前記ステップは、前記第1のソフトウェアアプリケーションが、前記電子ファイルの前記第2のバージョンを示す前記電子ファイルの前記第1のバージョンに関連付けられた情報を検出したことに応じて発生する
    ことを特徴とする請求項1に記載の方法。
  15. 前記同期イベントを開始する前記ステップは、前記第1のソフトウェアアプリケーションが前記電子ファイルの前記第1のバージョンを開いたことに応じて発生する
    ことを特徴とする請求項1に記載の方法。
  16. 前記同期イベントを開始する前記ステップは、前記第1のソフトウェアアプリケーションが前記第1のコンピュータの記憶デバイスに前記電子ファイルの前記第1のバージョンを保存したことに応じて発生する
    ことを特徴とする請求項1に記載の方法。
  17. 前記同期イベントを開始する前記ステップは、前記第1のソフトウェアアプリケーションが前記第1バージョンおよび第2のバージョンを認識したことに応じて発生する
    ことを特徴とする請求項1に記載の方法。
  18. 電子ファイルの第1および第2のバージョンを管理するための方法であって、
    前記第1および第2のバージョンにアクセスし比較するために、第1のソフトウェアアプリケーションから要求を受け取るステップと、
    前記第1および第2のバージョンにアクセスするステップと、
    前記第1および第2のバージョンのそれぞれに関連付けられた情報を比較するステップと、
    前記第1および第2のバージョンが同期されているかどうか判定し、結果を生成するステップと、
    前記第1のソフトウェアアプリケーションに前記比較の前記結果をレポートするステップと
    を備えることを特徴とする方法。
  19. 要求を受け取る前記ステップは、前記第1および第2のバージョンに対応する識別情報を受け取るステップをさらに含む
    ことを特徴とする請求項18に記載の方法。
  20. 前記第2のバージョンが第2のコンピュータに記憶され、前記第1および第2のコンピュータが通信ネットワークによって動作可能に接続される
    ことを特徴とする請求項18に記載の方法。
  21. 前記第1および第2のバージョンにアクセスするための、また前記第1および第2のバージョンに関連するタスクを実行するための第2の要求を前記第1のソフトウェアアプリケーションから受け取るステップと、
    前記第1および第2のバージョンにアクセスし、前記タスクを実行するステップと
    をさらに備えることを特徴とする請求項18に記載の方法。
  22. 第2のソフトウェアアプリケーションによって受け取られたユーザ入力に従って前記第1および第2のバージョンを上書きするために、前記電子ファイルに関連付けられた前記第2のソフトウェアアプリケーションから要求を受け取るステップと、
    前記第1および第2のバージョンを上書きするステップと
    をさらに備えることを特徴とする請求項18に記載の方法。
  23. 前記第1および第2のソフトウェアアプリケーションは同じアプリケーションである
    ことを特徴とする請求項18に記載の方法。
  24. 電子ファイルの第1および第2のバージョンを管理するための方法を実行するコンピュータ実行可能命令を有するコンピュータ読み取り可能な記録媒体であって、前記方法は、
    第1のコンピュータ上で動作する第1のソフトウェアアプリケーションを使用して、前記第1のコンピュータ上の前記第1のバージョンを前記第2のバージョンと同期するために同期イベントを開始するステップと、
    アプリケーションプログラムインタフェースに前記第1および第2のバージョンへアクセスさせるステップと、
    前記第1および第2のバージョンのそれぞれに関連付けられた情報を比較し、結果を生成するステップと、
    前記第1のソフトウェアアプリケーションに前記比較の前記結果をレポートするステップと、
    第2のソフトウェアアプリケーションに、前記第2のソフトウェアアプリケーションの機能に従ってユーザインタフェースを生成させるステップであって、前記電子ファイルが前記第2のソフトウェアアプリケーションに関連付けられているステップと、
    前記ユーザインタフェースをディスプレイデバイス上で表示するステップと
    を備えることを特徴とするコンピュータ読み取り可能な記録媒体。
  25. 前記第1および第2のソフトウェアアプリケーションは同じアプリケーションである
    ことを特徴とする請求項24に記載のコンピュータ読み取り可能な記録媒体。
  26. 前記比較するステップの前記結果は、前記第1および第2のバージョンの同期ステータスである
    ことを特徴とする請求項24に記載のコンピュータ読み取り可能な記録媒体。
  27. 前記第2のバージョンが第2のコンピュータに記憶され、前記第1および第2のコンピュータが通信ネットワークによって動作可能に接続される
    ことを特徴とする請求項24に記載のコンピュータ読み取り可能な記録媒体。
  28. 前記比較の前記結果が、前記電子ファイルの前記第1および第2のバージョンが同期されていないことを示しているとき、前記生成するステップは、前記第2のソフトウェアアプリケーションを使用して同期オプションを提示するステップをさらに含む
    ことを特徴とする請求項24に記載のコンピュータ読み取り可能な記録媒体。
  29. 同期オプションを提示する前記ステップは、
    前記第2のソフトウェアアプリケーションによって同期オプションを生成するステップと、
    前記同期オプションを、前記ユーザインタフェースによって提示させ、前記ディスプレイデバイス上で表示させるステップと、
    オプション選択を受け取るステップと、
    前記オプション選択に従って前記電子ファイルの前記第1および第2のバージョンを同期するステップと
    をさらに含むことを特徴とする請求項27に記載のコンピュータ読み取り可能な記録媒体。
  30. 前記第1および第2のバージョンを同期する前記ステップは、前記電子ファイルの前記第1のバージョンを前記電子ファイルの前記第2のバージョンで上書きするステップを含む
    ことを特徴とする請求項29に記載のコンピュータ読み取り可能な記録媒体。
  31. 前記第1および第2のバージョンを同期する前記ステップは、前記第1および第2のバージョンを前記電子ファイルの第3のバージョンで上書きするステップを含み、前記第3のバージョンは、前記電子ファイルの前記第1のバージョンの一部分を含む
    ことを特徴とする請求項29に記載のコンピュータ読み取り可能な記録媒体。
  32. 前記第1および第2のバージョンを同期する前記ステップは、前記第1および第2のバージョンを前記電子ファイルの第3のバージョンで上書きするステップを含み、前記第3のバージョンは、前記電子ファイルの前記第2のバージョンの一部分を含む
    ことを特徴とする請求項29に記載のコンピュータ読み取り可能な記録媒体。
  33. 前記第1および第2のバージョンを同期する前記ステップは、前記ユーザインタフェースから受け取った入力に従って前記第1および第2のバージョンを第3のバージョンにマージし、前記第1および第2のバージョンを前記第3のバージョンで上書きするステップを含む
    ことを特徴とする請求項29に記載のコンピュータ読み取り可能な記録媒体。
  34. 前記方法は、
    前記第2のソフトウェアアプリケーションを使用して、前記第1および第2のバージョンを開くステップと、
    前記第2のソフトウェアアプリケーションによって生成された同期オプションを、前記ユーザインタフェースを使用して提示するステップと、
    前記ユーザインタフェースからユーザ入力を受け取るステップと、
    前記第2のソフトウェアアプリケーションを使用して、前記ユーザ入力を処理するステップと、
    前記ユーザ入力に従って前記第1および第2のバージョンを同期するステップとをさらに含む
    ことを特徴とする請求項24に記載のコンピュータ読み取り可能な記録媒体。
  35. 同期オプションを提示する前記ステップは、前記第1および第2のバージョンを前記ユーザインタフェース内で表示するステップをさらに含む
    ことを特徴とする請求項34に記載のコンピュータ読み取り可能な記録媒体。
  36. 前記第1および第2のバージョンを同期する前記ステップは、ユーザ入力に従って前記第1および第2のバージョンを上書きするステップを含む
    ことを特徴とする請求項34に記載のコンピュータ読み取り可能な記録媒体。
  37. 前記同期イベントを開始する前記ステップは、前記第1のソフトウェアアプリケーションが、前記電子ファイルの前記第2のバージョンを示す前記電子ファイルの前記第1のバージョンに関連付けられた情報を検出したことに応じて発生する
    ことを特徴とする請求項24に記載のコンピュータ読み取り可能な記録媒体。
  38. 前記同期イベントを開始する前記ステップは、前記第1のソフトウェアアプリケーションが前記電子ファイルの前記第1のバージョンを開いたことに応じて発生する
    ことを特徴とする請求項24に記載の方法。
  39. 前記同期イベントを開始する前記ステップは、前記第1のソフトウェアアプリケーションが前記第1のコンピュータの記憶デバイスに前記電子ファイルの前記第1のバージョンを保存したことに応じて発生する
    ことを特徴とする請求項24に記載のコンピュータ読み取り可能な記録媒体。
  40. 前記同期イベントを開始する前記ステップは、前記第1のソフトウェアアプリケーションが前記第1バージョンおよび第2のバージョンを認識したことに応じて発生する
    ことを特徴とする請求項24に記載のコンピュータ読み取り可能な記録媒体。
  41. 電子ファイルの第1および第2のバージョンを管理するための方法を実行するコンピュータ実行可能命令を有するコンピュータ読み取り可能な記録媒体であって、前記方法は、
    前記第1および第2のバージョンにアクセスし比較するために、第1のソフトウェアアプリケーションから要求を受け取るステップと、
    前記第1および第2のバージョンにアクセスするステップと、
    前記第1および第2のバージョンのそれぞれに関連付けられた情報を比較するステップと、
    前記第1および第2のバージョンが同期されているかどうか判定し、結果を生成するステップと、
    前記第1のソフトウェアアプリケーションに前記比較の前記結果をレポートするステップと
    を備えることを特徴とするコンピュータ読み取り可能な記録媒体。
  42. 要求を受け取る前記ステップは、前記第1および第2のバージョンに対応する識別情報を受け取るステップをさらに含む
    ことを特徴とする請求項41に記載のコンピュータ読み取り可能な記録媒体。
  43. 前記第2のバージョンが第2のコンピュータに記憶され、前記第1および第2のコンピュータが通信ネットワークによって動作可能に接続される
    ことを特徴とする請求項41に記載のコンピュータ読み取り可能な記録媒体。
  44. 前記方法は、
    前記第1および第2のバージョンにアクセスするための、また前記第1および第2のバージョンに関連するタスクを実行するための第2の要求を前記第1のソフトウェアアプリケーションから受け取るステップと、
    前記第1および第2のバージョンにアクセスし、前記タスクを実行するステップと
    をさらに備えることを特徴とする請求項41に記載のコンピュータ読み取り可能な記録媒体。
  45. 前記方法は、
    第2のソフトウェアアプリケーションによって受け取られたユーザ入力に従って前記第1および第2のバージョンを上書きするために、前記電子ファイルに関連付けられた前記第2のソフトウェアアプリケーションから要求を受け取るステップと、
    前記第1および第2のバージョンを上書きするステップと
    をさらに備えることを特徴とする請求項41に記載のコンピュータ読み取り可能な記録媒体。
  46. 前記第1および第2のソフトウェアアプリケーションは同じアプリケーションである
    ことを特徴とする請求項41に記載のコンピュータ読み取り可能な記録媒体。
JP2004056910A 2003-02-28 2004-03-01 電子ファイルのバージョンを管理するための方法 Pending JP2004265420A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/376,738 US7389309B2 (en) 2003-02-28 2003-02-28 Method for managing file replication in applications

Publications (2)

Publication Number Publication Date
JP2004265420A true JP2004265420A (ja) 2004-09-24
JP2004265420A5 JP2004265420A5 (ja) 2007-04-12

Family

ID=32771505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004056910A Pending JP2004265420A (ja) 2003-02-28 2004-03-01 電子ファイルのバージョンを管理するための方法

Country Status (20)

Country Link
US (1) US7389309B2 (ja)
EP (1) EP1452975B1 (ja)
JP (1) JP2004265420A (ja)
KR (1) KR101099297B1 (ja)
CN (1) CN100375016C (ja)
AU (1) AU2004200456A1 (ja)
BR (1) BRPI0400363A (ja)
CA (1) CA2458019C (ja)
CO (1) CO5550077A1 (ja)
EG (1) EG24738A (ja)
IL (1) IL160354A0 (ja)
MX (1) MXPA04001927A (ja)
MY (1) MY140256A (ja)
NO (1) NO331932B1 (ja)
NZ (1) NZ531280A (ja)
PL (1) PL365550A1 (ja)
RU (1) RU2349952C2 (ja)
SG (1) SG125107A1 (ja)
TW (1) TWI335519B (ja)
ZA (1) ZA200401307B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008524677A (ja) * 2004-12-17 2008-07-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 3層同期システム内で空更新イベントを処理するための方法、コンピュータ・プログラム、およびバイパス装置

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051053B2 (en) * 2002-09-30 2006-05-23 Dinesh Sinha Method of lazily replicating files and monitoring log in backup file system
US8010491B2 (en) * 2003-02-28 2011-08-30 Microsoft Corporation Method for managing multiple file states for replicated files
US9026578B2 (en) 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
US7440978B2 (en) * 2005-01-14 2008-10-21 Microsoft Corporation Method and system for synchronizing multiple user revisions, updating other strategy maps in the databases that are associated with the balanced scorecard
US7552187B2 (en) * 2005-06-22 2009-06-23 Tele Atlas North America, Inc. System and method for automatically executing corresponding operations on multiple maps, windows, documents, and/or databases
US7945531B2 (en) * 2005-09-16 2011-05-17 Microsoft Corporation Interfaces for a productivity suite application and a hosted user interface
US20070067354A1 (en) * 2005-09-16 2007-03-22 Microsoft Corporation Productivity suite to line of business synchronization mechanism
US7788223B2 (en) * 2005-12-05 2010-08-31 Microsoft Corporation Resource freshness and replication
US8019727B2 (en) * 2007-09-26 2011-09-13 Symantec Corporation Pull model for file replication at multiple data centers
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8301588B2 (en) 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US8346768B2 (en) 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
US20130124956A1 (en) * 2011-11-11 2013-05-16 Microsoft Corporation Coauthoring in a Drawing Tool
US10482638B2 (en) 2011-11-11 2019-11-19 Microsoft Technology Licensing, Llc Collaborative commenting in a drawing tool
US9298391B2 (en) * 2012-12-19 2016-03-29 Dropbox, Inc. Application programming interfaces for data synchronization with online storage systems
US9398090B2 (en) 2013-01-07 2016-07-19 Dropbox, Inc. Synchronized content library
US20140258373A1 (en) * 2013-03-11 2014-09-11 Say Media, Inc. Systems and Methods for Managing and Publishing Managed Content
US9336228B2 (en) * 2013-12-18 2016-05-10 Verizon Patent And Licensing Inc. Synchronization of program code between revision management applications utilizing different version-control architectures
US10270871B2 (en) 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
CN104991781B (zh) * 2015-07-23 2018-11-16 北京金山安全软件有限公司 应用软件内部功能推荐方法及装置
CN105117228B (zh) * 2015-08-27 2018-09-25 北京金山安全软件有限公司 一种加载悬浮窗的方法、悬浮窗加载装置及电子设备
US11971860B2 (en) 2015-12-28 2024-04-30 Dropbox, Inc. Embedded folder views
US10620811B2 (en) * 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
US11036712B2 (en) 2016-01-12 2021-06-15 Microsoft Technology Licensing, Llc. Latency-reduced document change discovery
CN105824627A (zh) * 2016-03-15 2016-08-03 网易(杭州)网络有限公司 确定用户界面变更的方法及装置
US10382502B2 (en) 2016-04-04 2019-08-13 Dropbox, Inc. Change comments for synchronized content items
CN106201457A (zh) * 2016-06-24 2016-12-07 乐视控股(北京)有限公司 一种基于应用场景展示操作界面的方法及装置
US11526533B2 (en) * 2016-12-30 2022-12-13 Dropbox, Inc. Version history management
US11741300B2 (en) * 2017-11-03 2023-08-29 Dropbox, Inc. Embedded spreadsheet data implementation and synchronization
RU2706482C1 (ru) * 2018-07-25 2019-11-19 федеральное государственное бюджетное образовательное учреждение высшего образования "Российский государственный университет им. А.Н. Косыгина (Технологии. Дизайн. Искусство)" Способ репликации информации в базах данных
CN110045949A (zh) * 2019-05-10 2019-07-23 上海紫翊网络科技有限公司 一种同一项目不同分支工程的预制件合并方法及装置
US12259857B2 (en) * 2020-12-04 2025-03-25 Kinaxis Inc. Rule-based systems and methods for customizing complex business solutions
TWI849484B (zh) * 2022-08-24 2024-07-21 大陸商北京歐錸德微電子技術有限公司 代碼文件與驗證模擬之管理方法及電路模塊設計驗證系統

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000081999A (ja) * 1998-09-07 2000-03-21 Hitachi Software Eng Co Ltd 文書出力システム

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0382321B1 (en) * 1984-11-14 1999-02-03 Canon Kabushiki Kaisha Image processing system
US5157663A (en) * 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
JPH04181423A (ja) * 1990-11-16 1992-06-29 Fujitsu Ltd バージョン管理方式
US5278979A (en) * 1990-12-20 1994-01-11 International Business Machines Corp. Version management system using pointers shared by a plurality of versions for indicating active lines of a version
US5671428A (en) * 1991-08-28 1997-09-23 Kabushiki Kaisha Toshiba Collaborative document processing system with version and comment management
JPH07141363A (ja) * 1993-11-19 1995-06-02 Casio Comput Co Ltd 文書編集方法
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US5806078A (en) * 1994-06-09 1998-09-08 Softool Corporation Version management system
US5694596A (en) * 1995-05-25 1997-12-02 Kangaroo, Inc. On-line database updating network system and method
US5881292A (en) * 1996-09-26 1999-03-09 Microsoft Corporation Dynamic versioning system for multiple users of multi-module software system
AU6183798A (en) * 1997-02-27 1998-09-29 Siebel Systems, Inc. Method of migrating to a successive level of a software distribution incorporating local modifications
US6314565B1 (en) * 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
US6182073B1 (en) * 1997-05-20 2001-01-30 Intel Corporation Integrated information browsing and multiple-participant application with a persistency control configured to monitor and to prevent attempts to replace data within the information browser
JP3567696B2 (ja) * 1997-09-24 2004-09-22 松下電器産業株式会社 ソフトウェアダウンロードシステム
JPH11143754A (ja) * 1997-11-05 1999-05-28 Hitachi Ltd バージョン情報・構成情報表示方法および装置およびバージョン情報・構成情報表示プログラムを記録したコンピュータ読み取り可能な記録媒体
US6041333A (en) 1997-11-14 2000-03-21 Microsoft Corporation Method and apparatus for automatically updating a data file from a network
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
JP2000099378A (ja) * 1998-09-18 2000-04-07 Hitachi Information Systems Ltd ファイル管理システムとファイル管理方法およびそのプログラムを記録した記録媒体
US6804663B1 (en) * 1998-09-21 2004-10-12 Microsoft Corporation Methods for optimizing the installation of a software product onto a target computer system
US6341291B1 (en) * 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US6324544B1 (en) 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
JP2000293519A (ja) * 1999-04-05 2000-10-20 Nec Corp 文書処理装置
US6381618B1 (en) * 1999-06-17 2002-04-30 International Business Machines Corporation Method and apparatus for autosynchronizing distributed versions of documents
US6560655B1 (en) 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
US6529921B1 (en) 1999-06-29 2003-03-04 Microsoft Corporation Dynamic synchronization of tables
US6513084B1 (en) 1999-06-29 2003-01-28 Microsoft Corporation Arbitration of state changes
JP2001034517A (ja) * 1999-07-19 2001-02-09 Toshiba Corp ファイルレプリケーションシステム
US6516339B1 (en) * 1999-08-18 2003-02-04 International Business Machines Corporation High performance client/server editor
US6256773B1 (en) 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
US6449624B1 (en) 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US20010039548A1 (en) * 2000-04-27 2001-11-08 Yoshitake Shinkai File replication system, replication control method, and storage medium
JP4077172B2 (ja) * 2000-04-27 2008-04-16 富士通株式会社 ファイルレプリケーションシステム、ファイルレプリケーション制御方法及び記憶媒体
US6845383B1 (en) * 2000-06-19 2005-01-18 International Business Machines Corporation System and method for managing concurrent scheduled or on-demand replication of subscriptions
US6658330B2 (en) * 2000-12-29 2003-12-02 General Electric Co. Method and system for upgrading software for controlling locomotives
US20030167318A1 (en) * 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
US7350191B1 (en) * 2003-04-22 2008-03-25 Noetix, Inc. Computer implemented system and method for the generation of data access applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000081999A (ja) * 1998-09-07 2000-03-21 Hitachi Software Eng Co Ltd 文書出力システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008524677A (ja) * 2004-12-17 2008-07-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 3層同期システム内で空更新イベントを処理するための方法、コンピュータ・プログラム、およびバイパス装置

Also Published As

Publication number Publication date
EP1452975B1 (en) 2013-12-25
AU2004200456A1 (en) 2004-09-16
RU2004105884A (ru) 2005-08-10
NO20040834L (no) 2004-09-01
US20040172425A1 (en) 2004-09-02
CA2458019A1 (en) 2004-08-28
PL365550A1 (en) 2004-09-06
KR20040077538A (ko) 2004-09-04
BRPI0400363A (pt) 2004-12-28
IL160354A0 (en) 2004-07-25
CN1525315A (zh) 2004-09-01
RU2349952C2 (ru) 2009-03-20
SG125107A1 (en) 2006-09-29
ZA200401307B (en) 2005-10-26
TWI335519B (en) 2011-01-01
CO5550077A1 (es) 2005-08-31
NZ531280A (en) 2005-08-26
US7389309B2 (en) 2008-06-17
NO331932B1 (no) 2012-05-07
TW200424868A (en) 2004-11-16
MXPA04001927A (es) 2005-04-25
MY140256A (en) 2009-12-31
EG24738A (en) 2010-07-05
CA2458019C (en) 2012-12-04
CN100375016C (zh) 2008-03-12
EP1452975A2 (en) 2004-09-01
KR101099297B1 (ko) 2011-12-26
EP1452975A3 (en) 2007-10-24

Similar Documents

Publication Publication Date Title
JP2004265420A (ja) 電子ファイルのバージョンを管理するための方法
RU2344468C2 (ru) Способ управления множеством состояний файла для дублированных файлов
JP4455100B2 (ja) 編集時にサーバファイルのロックを遅延させる方法
JP5349484B2 (ja) リアルタイムコラボレーションの間のデータ及びローカル計算のプライベートビュー
US6240414B1 (en) Method of resolving data conflicts in a shared data environment
US10318620B2 (en) General purpose annotation service for portal-based applications
US7620667B2 (en) Transfer of user profiles using portable storage devices
US7818663B2 (en) Editable information management system and method
US8972464B2 (en) File handling for naming conflicts
US20120297363A1 (en) Inferred and shared source control integration across mulitiple program development tools
JP2009525523A (ja) サーバベースファイルのローカルコピーへのリダイレクト
US20050273488A1 (en) Migration of data between computers
US20030115226A1 (en) Method, apparatus, and program for quick save to remote storage
US20060041870A1 (en) Systems and methods for varying software build properties using primary and supplemental build files
HK1067429A (en) Method for managing file replication in applications
WO2018040439A1 (zh) 文档的处理方法及装置
JP2019079456A (ja) 情報処理サーバ、情報処理システム、情報処理サーバにおける情報処理方法、及びプログラム
HK1067430A (en) A method for managing multiple file states for replicated files
HK1067433A (en) A method to delay locking of server files on edit
JPH11316702A (ja) クライアント/サーバシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100402