JP2012527048A - 双方向同期における自己参照フィールドの同期 - Google Patents

双方向同期における自己参照フィールドの同期 Download PDF

Info

Publication number
JP2012527048A
JP2012527048A JP2012510907A JP2012510907A JP2012527048A JP 2012527048 A JP2012527048 A JP 2012527048A JP 2012510907 A JP2012510907 A JP 2012510907A JP 2012510907 A JP2012510907 A JP 2012510907A JP 2012527048 A JP2012527048 A JP 2012527048A
Authority
JP
Japan
Prior art keywords
project
task
predecessor
collaboration
list
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.)
Withdrawn
Application number
JP2012510907A
Other languages
English (en)
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 JP2012527048A publication Critical patent/JP2012527048A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

自己参照フィールドは、クライアントコンピュータとサーバーコンピュータとの間の双方向同期の同期パスにおいて同期される。同期オペレーションが実行されると、サーバーに関連付けられているサーバータスクのリスト、およびクライアントに関連付けられているプロジェクトタスクのリストがロードされる。同期されるタスク毎に、2つの先行作業リストが保持される。同期中に、比較を実行し、プロジェクトタスクデータを使用するのか、またはサーバータスクデータを使用するのかを確定する。プロジェクトタスクデータが使用される場合、プロジェクト先行作業リスト内に格納されている先行作業IDが使用される。サーバータスクデータが使用される場合、サーバー先行作業リスト内に格納されている先行作業IDが使用される。

Description

本発明は、双方向同期における自己参照フィールドの同期に関する。
ユーザーは、タスク管理アプリケーションソフトウェアによって、プロジェクトを効率的に、また効果的に管理することができる。プロジェクトマネージャは、1つのプロジェクトを複数のタスクに分けて構成し、複数の特定のユーザーにタスクを割り当て、タスクにリソースを配分することができる。タスク管理ソフトウェアは、仕事の流れを制御し、相互に関係するタスクをリンクし、プロジェクトの期限が確実に守られるようにすることができる。
タスク管理情報は、相互に関係するデータを共有する2つまたはそれ以上のコンピュータシステム上に格納することができる。それらのシステムにおいて同じデータへの更新が許容される場合、特に相互に関係するデータが逐次的に関係するタスクを含むときに、競合が発生する可能性がある。例えば、1つのシステム上のユーザーがタスクの開始日を変更すると、相互に関係するタスクに対する開始日および完了日も変化する可能性がある。
この「課題を解決するための手段」は、以下の「発明を実施するための形態」でさらに説明される概念の抜粋を簡素化された形式で紹介するために提供される。この「課題を解決するための手段」は、請求された主題の重要な特徴または本質的な特徴を識別することを意図されていないし、また請求された主題の範囲を定める補助手段として使用されることも意図されていない。
自己参照フィールド(Self−referencing fields)は、クライアントコンピュータとサーバーコンピュータとの間の双方向同期の同期パスにおいて同期される。同期オペレーションが実行されると、サーバー上のプロジェクトに関連付けられているコラボレーションタスク(collaboration tasks)のリスト、およびクライアント上のプロジェクトに関連付けられているプロジェクトタスクのリストがロードされる。同期するそれぞれのタスクについて、プロジェクト先行作業リスト(project predecessor list)およびコラボレーション先行作業リスト(collaboration predecessor list)を含む2つのリストが保持される。同期中に、それぞれのタスクについて比較を実行し、プロジェクトタスクデータを使用するのか、またはコラボレーションタスクデータを使用するのかを確定する。プロジェクトタスクデータが使用される場合、コラボレーション先行作業リストがクリアされ、プロジェクト先行作業リストに、対応するプロジェクト先行作業IDが書き込まれる。コラボレーションタスクデータが使用される場合、プロジェクト先行作業リストがクリアされ、コラボレーション先行作業リストに、対応するコラボレーション先行作業IDが書き込まれる。同期の書き込みフェーズにおいて、プロジェクト先行作業リストおよびコラボレーション先行作業リストが、どのような先行作業IDを書き込むべきかを確定するために使用される。プロジェクトタスクが書き込まれていて、プロジェクト先行作業リストが空でない場合、プロジェクト先行作業リストが使用される。プロジェクト先行作業リストが空であるが、コラボレーション先行作業リストが空でない場合、コラボレーション先行作業IDが使用される。
あるコンピュータのコンピュータアーキテクチャを例示する図である。 自己参照フィールドを同期するための例示的な同期システムを示す図である。 プロジェクト管理システムでタスク管理アプリケーションソフトウェアを実行する例示的なクライアントコンピュータを示す図である。 自己参照フィールドを同期するための同期の読み込みフェーズにおけるプロセスを示す図である。 同期オペレーションの比較フェーズに基づいて先行作業リストを調整するためのプロセスを例示する図である。 同期オペレーションの書き込みフェーズにおいて自己参照フィールドを同期するためのプロセスを例示する図である。 クライアントコンピュータおよびサーバーコンピュータ上で相互に関係するデータ間の競合を解決するためのプロセス700を示す図である。 競合解決を含む例示的な同期オペレーションの流れ図である。
次に、類似の番号は同様の要素を表す、図面を参照しつつ、さまざまな実施形態について説明する。特に、図1およびそれに対応する説明は、実施形態を実装できる好適なコンピューティング環境について簡潔に述べた一般的な説明であることが意図されている。
一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造、および他の種類の構造を含む。ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家電製品、ミニコンピュータ、メインフレームコンピュータ、および同様のものを含む、他のコンピュータシステム構成も使用できる。通信ネットワークを通じてリンクされているリモート処理デバイスによりタスクが実行される分散コンピューティング環境も使用できる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートの両方の記憶装置デバイス内に配置されうる。
次に、図1を参照しつつ、さまざまな実施形態において使用されるコンピュータ100の例示的なコンピュータアーキテクチャについて説明する。図1に示されているコンピュータアーキテクチャは、デスクトップ、サーバー、またはモバイルコンピュータとして構成することができ、中央演算処理装置5(「CPU」)、ランダムアクセスメモリ9(「RAM」)および読み出し専用メモリ(「ROM」)10を含むシステムメモリ7、およびメモリをCPU 5に結合するシステムバス12を備える。起動時などにコンピュータ内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システムは、ROM 10に格納される。コンピュータ100は、以下でさらに詳しく説明される、オペレーティングシステム16、アプリケーションプログラム24、および他のプログラムモジュールを格納するための大容量記憶装置デバイスをさらに備える。
大容量記憶デバイス14は、バス12に接続されている大容量記憶装置コントローラ(図示せず)を通じてCPU 5に接続されている。大容量記憶装置デバイス14およびその関連するコンピュータ可読媒体は、コンピュータ100用の不揮発性記憶域を提供する。本明細書に記載されているコンピュータ可読媒体の説明では、ハードディスクまたはCD−ROMドライブなどの大容量記憶装置デバイスに言及しているが、コンピュータ可読媒体は、コンピュータ100によってアクセスできる利用可能な任意の媒体とすることができる。
例えば、限定はしないが、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータなどの情報を格納するための方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能媒体を含む。コンピュータ記憶媒体としては、限定はしないが、RAM、ROM、EPROM、EEPROM、フラッシュメモリまたはその他のソリッドステートメモリ技術、CD−ROM、デジタル多目的ディスク(「DVD」)、またはその他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、または所望の情報を格納するために使用することができ、しかもコンピュータ100によりアクセスできる他の媒体が挙げられる。
さまざまな実施形態により、コンピュータ100は、インターネットなどの、ネットワーク18を通じてリモートコンピュータへの論理的接続を使用しネットワーク接続環境において動作する。コンピュータ100は、バス12に接続されているネットワークインターフェイスユニット20を通じてネットワーク18に接続することができる。ネットワーク接続は、有線方式および/または無線方式としてよい。ネットワークインターフェイスユニット20は、他の種類のネットワークおよびリモートコンピュータシステムに接続するために使用することもできる。コンピュータ100は、キーボード、マウス、または電子スタイラス(図1には示されていない)を含む、多数の他のデバイスから入力を受け取り、処理するための入出力コントローラ22を備えることもできる。同様に、入出力コントローラ22は、ユーザーインターフェイス28を備えるディスプレイ画面、プリンタ、または他の種類の出力デバイスへの出力を行うことができる。
上で簡単に述べたように、コンピュータ100の大容量記憶装置デバイス14およびRAM 9に、ワシントン州レドモンド所在のMICROSOFT CORPORATION社のオペレーティングシステムWINDOWS(登録商標) VISTA(登録商標)などの、ネットワーク接続されたパーソナルコンピュータのオペレーションを制御するのに適しているオペレーティングシステム16をふくむ、多数のプログラムモジュールおよびデータファイルを格納することができる。大容量記憶装置デバイス14およびRAM 9には、1つまたは複数のプログラムモジュールを格納することもできる。特に、大容量記憶装置デバイス14およびRAM 9には、1つまたは複数のアプリケーションプログラム24を格納することができる。アプリケーションプログラムの1つは、MICROSOFT PROJECT(登録商標)などのプロジェクト管理アプリケーション27とすることができる。サーバーとして構成されている場合、アプリケーションプログラムのうちの1つは、WINDOWS(登録商標) SHAREPOINT SERVICES(WSS)などのコラボレーションプログラムとしてもよい。
ユーザーインターフェイス(UI)28は、プロジェクト管理アプリケーション27、サーバー上に保持されるコラボレーションアプリケーション、さらには他のアプリケーションとインタラクティブにやり取りするための視覚的な方法をユーザーに提供するように設計されたものである。例えば、UI 28を使用してタスクのリストを表示し、このリストから編集するタスクをユーザーに選択させることができる。UI 28は、タスクの優先度を追加したり、または変更したりするためにも使用できる。
同期アプリケーション26は、プロジェクト管理アプリケーションを実行するクライアントコンピューティングデバイスとコラボレーションアプリケーションを実行するサーバーコンピューティングデバイスとの間で自己参照フィールドを同期することを含む同期オペレーションを実行するように構成されている。
図2は、自己参照フィールドを同期するための例示的な同期システム200を示している。例示されているように、システム200は、クライアント201、サーバー204、およびネットワーク206を含む。1つのクライアントおよびサーバーのみが例示されているが、システム200は、さらに多くのクライアントおよび/またはサーバーを備えることができる。
典型的には、1つのクライアントコンピュータ、例えばクライアントコンピュータ201は、プロジェクトが相互に関係する複数のタスクに分けて構成されるプロジェクト管理アプリケーションソフトウェアプログラム220を実行する。タスク管理アプリケーションソフトウェアを実行する例示的なプロジェクト管理システムとして、ワシントン州レドモンド所在のMicrosoft Corporation社のMicrosoft Project 2007が挙げられる。典型的には、サーバーコンピュータ204は、やはりMicrosoft Corporation社のWindows(登録商標) Sharepoint Services(WSS)などのコラボレーションおよびドキュメント管理ソフトウェアプログラム210を実行する。例示的なクライアント201は、ネットワーク206を介してウェブサービスおよび/またはウェブブラウザを使用し、サーバー204上のコラボレーションアプリケーション経由で格納されているプロジェクト管理タスクリストにアクセスすることができる。
例示的なタスク管理アプリケーションは、多くの相互に関係するタスクを含みうる。1つまたは複数のタスクが、先行作業タスクへの依存関係を含んでいる可能性がある。例えば、タスクBは、タスクAが完了するまで開始することが許されない場合がある。そのようなものとして、タスクAはタスクBの先行作業タスクである。同様に、タスクEが、タスクB、C、およびDが完了するまで開始することが許されない場合がある。そのようなものとして、タスクB、C、およびDは、タスクEの先行作業タスクである。
Microsoft Project 2007などのタスク管理アプリケーションは、典型的には、1人、例えば、プロジェクトマネージャによって制御される。しかし、チームメンバーが、自分たちに割り当てられたタスクにアクセスし、それらのタスクの計画された完了日および進捗度ステータスを更新することができることが望ましい。WSSのようなオンラインコラボレーションプログラムでは、タスクリストをサーバーコンピュータ、例えばサーバー204に格納しておき、ユーザー、例えばクライアント201上のユーザーは、それらのタスクリストにアクセスし、しかるべきときにそれらのタスクリストに変更を加えることができる。プロジェクトマネージャまたはチームメンバーによって加えられた変更は、クライアントとサーバーとの間で同期をとる必要があり、実際の競合を解決する必要がある。クライアントとサーバーとの間で同期をとるときに、それぞれのタスクに対する自己参照先行作業ID(つまり、他のアイテムを指すデータを含むフィールド)の同期もとる。しかし、典型的には、クライアントに関連付けられている先行作業IDは、サーバー上のコラボレーションソフトウェアに対する先行作業IDと一致しない。この例では、先行作業IDは、クライアント201とサーバー204との間で異なる。例えば、サーバー上のコラボレーションアプリケーションに関連付けられているタスクに対するIDは、クライアント上のプロジェクト管理アプリケーションに関連付けられているタスクに対する対応するIDと異なる。
同期処理アプリケーションは、2つの先行作業リストを作成する。一方の先行作業リストは、プロジェクト先行作業のIDに対するリストであり、他方のリストは、コラボレーション先行作業に対するリストである。同期処理の比較および修正段階において、これらのリストはクリアされ、アイテム毎に上書きされうる。同期処理の書き込み段階で、これらのリストを調べて、どのようなデータを書き込むべきかを確定する(つまり、プロジェクトタスクデータまたはコラボレーションタスクデータ)。同期処理アプリケーションが現在、プロジェクトデータを書き込んでいる場合、クリアでない限りプロジェクト先行作業リストは書き込まれ、その場合,コラボレーション先行作業リストは、プロジェクトIDにマッピングされ、次いで書き込まれる。同期処理アプリケーションが現在、コラボレーションデータを書き込んでいる場合、クリアでない限りコラボレーション先行作業リストは書き込まれ、その場合,プロジェクト先行作業リストは、プロジェクトIDにマッピングされ、次いで書き込まれる。2つのリストを保持することで、クライアント201とサーバー204との間の単一パスの同期を実行しやすくなる。
一実施形態によれば、上述のように、クライアント201上のプロジェクト管理アプリケーション220およびサーバー204上のコラボレーションアプリケーション210は、IDを使用してプロジェクト内のタスクに対する先行作業を定義する。例えば、プロジェクト管理アプリケーション220に対するプロジェクトは、ID 4および5を持つ2つのタスクを有することができ、タスク5は、タスク4の先行作業タスクとすることが可能である。同様に、コラボレーションアプリケーション210とともに格納される対応するプロジェクトは、タスク4および5をタスク14および15として格納することができる。プロジェクト管理アプリケーション220とコラボレーションアプリケーション210との間で関係するタスクを関連付けるために、プロジェクトタスクIDとコラボレーションタスクIDとの間のマッピングが保持される。例えば、クライアント201上で、プロジェクト管理アプリケーション220に関連付けられているタスク5は、コラボレーションアプリケーションのタスク14と同期されることを示すフィールドにマッピングされる。同様のマッピングが、サーバー204上にも存在する。
クライアント201とサーバー204との間の同期オペレーション実行時に、プロジェクトタスクおよびコラボレーションタスクが別々のデータ構造に読み込まれ、これにより、同期アプリケーション212は、基礎となるデータに影響を及ぼすことなくデータを比較し、修正することができる。これらのデータ構造は、上述の2つの先行作業リスト(プロジェクトIDを格納するプロジェクト先行作業リストとコラボレーションIDを格納するコラボレーション先行作業リスト)を含む。同期オペレーションの「読み込みフェーズ」において、プロジェクト管理アプリケーション220およびコラボレーションアプリケーション210に関連付けられている先行作業が、それらの各リスト内に読み込まれる。例えば、プロジェクトタスクでは、最初に、プロジェクト先行作業リストの書き込みが行われ、コラボレーションタスクでは、最初に、コラボレーション先行作業リストの書き込みが行われる。
同期の比較フェーズでは、どのようなタスクをマージし、潜在的に上書きするのかを確定する。例示的な比較フェーズについては、図7および8ならびに関係する説明を参照されたい。他の比較アルゴリズムも使用することができる。先行作業を受け入れるために、プロジェクトタスクが比較フェーズにおいて「勝つ」(つまり、コラボレーションタスク内のデータを上書きする)ときには必ず、コラボレーションタスクのコラボレーション先行作業リストがクリアされ、プロジェクト先行作業リストに、対応するプロジェクトIDが書き込まれる。コラボレーションタスクが比較フェーズにおいて「勝つ」(つまり、プロジェクトタスク内のデータを上書きする)ときには必ず、プロジェクトタスクのプロジェクト先行作業リストがクリアされ、コラボレーション先行作業リストに、対応するコラボレーションIDが書き込まれる。
書き込みフェーズにおいて、これら2つの先行作業リストを使用して、先行作業情報をどのように書き込むかを確定する。プロジェクトタスクが書き込まれていて、プロジェクト先行作業リストが空でない場合、その先行作業リストが使用されるが、プロジェクトアイテムが同期の比較フェーズにおいて「勝った」からである。しかし、プロジェクト先行作業リストが空であり、コラボレーション先行作業リストが空でない場合、コラボレーション先行作業リストIDが使用されるが、それは、プロジェクトタスクが比較フェーズにおいて「負けた」からである。上述のように、プロジェクトタスクIDとコラボレーションタスクIDとの間のマッピングを使用して、クライアント201からのIDをサーバー204に、サーバー204からのIDをクライアント201にマッピングする。例えば、コラボレーションIDからは、プロジェクトIDを確定することができるが、それは、そのアイテムの同期がすでにとられているか(したがって、対応するプロジェクトIDをすでに持っているか)、またはタスクがプロジェクト管理アプリケーション220に対するプロジェクトにおいてちょうど作成されたばかりであり、したがって正しいプロジェクトIDがコラボレーションIDに基づいているからである。同期処理時にタスクが削除されると、次いで「書き込み」フェーズにおいて、この削除は検出され、アイテムが削除されてしまっているアイテムへの先行作業を有している場合にその先行作業は書き込まれない。他の実施形態によれば、比較フェーズにおいて「負ける」リストをクリアする代わりに、それらの先行作業リストをマージすることができ、その場合、両方のリストが使用される。
図3は、Microsoft Project 2007などのプロジェクト管理システムでタスク管理アプリケーションソフトウェアを実行する例示的なクライアントコンピュータ300を示している。例示的なクライアントコンピュータ300は、例示的なユーザーインターフェイスモジュール304および例示的なプロジェクトエンジンモジュール310を備える。例示的なプロジェクトエンジンモジュール310内には、同期モジュール312が収められている。
例示的なユーザーインターフェイスモジュール304を使用することで、ユーザーは、タスク、リソース、および割り当てのようなプロジェクトエンティティをプロジェクト管理システムに入力することができる。これらのエンティティは、典型的にはテーブル内に格納され、したがって、典型的には、タスク用のテーブル、リソース用のテーブル、および割り当て用のテーブルがあることになる。プロジェクトタスクに関連付けられるのが、そのタスクに関係する1つまたは複数の属性である。これらの属性は、タスクテーブル内の列に対応する。いくつかの例示的な属性は、タスクの名前、所有者、開始日、完了日、プロジェクト期間、およびステータスである。それぞれのタスクは、そのタスクを識別するための一意的なプロジェクト識別子をも有する。
ユーザーは、例示的なプロジェクト管理システム内で利用可能にされている複数の属性から属性を選択することができる。例示的なユーザーインターフェイスモジュール304において、ユーザーは、それらの属性または利用可能な属性のうちの1つまたは複数を選択し、それらの属性を1つのタスクに関連付けることができる。例示的なユーザーインターフェイスモジュール304において、ユーザーは、それぞれのタスクに対しサーバーコンピュータ上で利用可能にされている1つまたは複数の属性を選択することもできる。サーバー属性は、典型的には、タスクの名前、所有者、開始日、完了日、プロジェクト期間、およびステータスを含む。結果は、タスク管理システムによって監視される、それぞれのタスクに関連付けられているクライアントおよびサーバーの一組の属性である。
例示的なプロジェクトエンジンモジュール310は、プロジェクト管理システムを実行するソフトウェアエンジンを備える。1つまたは複数のタスクを、親/子関係で他のタスクにリンクすることができる。1つまたは複数のタスクが、他のタスクとの先行作業または後続作業の関係を有することができる。開始日またはタスク期間が1つのタスクについて変更になった場合、例示的なプロジェクトエンジンモジュール310は、すべてのリンクされているタスクの結果の開始日および終了日を計算し、プロジェクト管理システムにおけるそれらのタスクに対する日付を更新する。
例示的な同期モジュール312は、クライアントコンピュータ、例えば、図2に例示されているクライアント201とサーバーコンピュータ204との間のタスクの同期処理を制御する。同期モジュール312は、それぞれのタスクに対するチェンジリストおよびビットマスクも備えることができる。チェンジリストは、クライアントコンピュータ201とサーバーコンピュータ204との間で同期をとることができるそれぞれのタスクに対する属性のリストである。チェンジリストは、ユーザーインターフェースモジュール304を介してユーザーによって選択されたタスクに対するクライアント201およびサーバー204の属性に対応する。ビットマスクは、チェンジリスト内のそれぞれの属性に対するビットを含むデータ構造である。例えば、対応する属性がクライアントコンピュータ201上で変化した場合に、ビットマスク内にビットをセットすることができる。同期モジュール312は、これらのビットマスクを使用して、クライアントコンピュータ201上でどの属性が変化したかを確定し、それらの属性をサーバーコンピュータ204上の対応する属性と同期させることができる。
次に図4〜7を参照して、プロジェクトアプリケーションとコラボレーションアプリケーションとの間の自己参照フィールドの同期をとるための例示的なプロセスを説明する。
本明細書で提示しているルーチンの説明を読むと、さまざまな実施形態の論理的オペレーションは、(1)コンピューティングシステム上で実行される一連のコンピュータ実装活動またはプログラムモジュールとして、および/または(2)コンピューティングシステム内の相互接続されたマシン論理回路または回路モジュールとして実装されることは理解されるであろう。この実装は、本発明を実装するコンピューティングシステムの性能要件に応じて選択できるものである。したがって、本明細書において例示されている、本明細書で説明されている実施形態を構成する論理的なオペレーションは、演算、構造的デバイス、活動、またはモジュールとさまざまに称される。これらの演算、構造的デバイス、活動、およびモジュールは、ソフトウェア、ファームウェア、専用デジタル論理回路、およびこれらの任意の組み合わせで実装されうる。
図4は、自己参照フィールドを同期するための同期の読み込みフェーズにおけるプロセスを示している。
開始オペレーションの後、プロセスはオペレーション410に流れ、そこでプロジェクトタスクおよびコラボレーションタスクがロードされる。例えば、プロジェクト管理アプリケーションからのプロジェクトタスクが、クライアントからロードされ、コラボレーションアプリケーションからのコラボレーションタスクが、サーバーからロードされる。
オペレーション420に進み、それらのタスクに対し2つの先行作業リストを作成する。一実施形態によれば、それぞれのプロジェクトタスクについて、プロジェクト先行作業リストは、そのタスクの先行作業に対するプロジェクトID、およびそのタスクの先行作業に対するコラボレーションIDを含む最初は空のコラボレーション先行作業リストを含む。
オペレーション430に進み、それらのコラボレーションタスクに対し2つの先行作業リストを作成する。一実施形態によれば、サーバーは、そのタスクの先行作業に対するコラボレーションIDを含むコラボレーション先行作業リスト、およびそのタスクの先行作業に対するプロジェクトIDを含む最初は空のプロジェクト先行作業リストを作成する。
オペレーション440に流れ、同期は同期の比較フェーズに進み、その時点において、どのようなデータを書き込むべきかを確定する(例えば、プロジェクトタスクデータまたはサーバータスクデータ)。
次いで、このプロセスは、終了オペレーションに流れ、他のアクションの処理に戻る。
図5は、同期オペレーションの比較フェーズに基づいて先行作業リストを調整するためのプロセス500を例示している。
開始オペレーションの後、プロセスはオペレーション510に流れ、そこで、競合解決を実行することによってどのようなタスクデータの同期をとるべきか(つまり、どのようなタスクが「勝ったか」)を確定する(例示的なプロセスについては、図7および8ならびに関係する説明を参照されたい)。
決定オペレーション520へ流れ、1つのタスクに対してプロジェクトデータを使用するか、または1つのタスクに対してコラボレーションタスクデータを使用するかを確定する。
プロジェクトタスクデータを使用する場合、プロセスはオペレーション525に進み、そこで、コラボレーション先行作業リストをクリアする。オペレーション530に進んで、プロジェクト先行作業IDをプロジェクト先行作業リスト内にコピーする。
コラボレーションタスクデータを使用する場合、プロセスはオペレーション540に進み、そこで、プロジェクト先行作業リストをクリアする。オペレーション545に進んで、コラボレーション先行作業IDをプロジェクト先行作業リスト内にコピーする。
オペレーション550に進み、プロセスは同期の書き込みフェーズに進む(図6および関係する説明を参照されたい)。
次いで、このプロセスは、終了オペレーションに流れ、他のアクションの処理に戻る。
図6は、同期オペレーションの書き込みフェーズにおいて自己参照フィールドを同期するためのプロセス600を例示している。
開始オペレーションの後、プロセスは決定オペレーション610に流れ、そこで、クライアント上のプロジェクトタスクが同期しているかどうかを確定する。
プロジェクトタスクがクライアント上で同期している場合、オペレーションは決定オペレーション620に進み、そこで、プロジェクト先行作業リストが空であるかどうかを確定する。
プロジェクト先行作業リストが空である場合、プロセスは、オペレーション625に流れ、そこで、コラボレーション先行作業IDがプロジェクト先行作業IDにマッピングされる。次いで、プロセスは、オペレーション630に進み、そこで、プロジェクト先行作業IDが書き込まれる。
先行作業リストが空でない場合、プロセスは、オペレーション630に進み、そこで、プロジェクト先行作業IDが書き込まれる。
同様に、コラボレーションタスクがサーバー上で同期している場合、オペレーションは決定オペレーション640に進み、そこで、コラボレーション先行作業リストが空であるかどうかを確定する。
コラボレーション先行作業リストが空である場合、プロセスは、オペレーション645に流れ、そこで、プロジェクト先行作業IDがコラボレーション先行作業IDにマッピングされる。次いで、プロセスは、オペレーション650に進み、そこで、コラボレーション先行作業IDが書き込まれる。
コラボレーション先行作業リストが空でない場合、プロセスは、オペレーション650に進み、そこで、コラボレーション先行作業IDが書き込まれる。
次いで、このプロセスは、終了オペレーションに流れ、他のアクションの処理に戻る。
図7は、クライアントコンピュータおよびサーバーコンピュータ上で相互に関係するデータ間の競合を解決するためのプロセス700を示している。
開始オペレーションの後、プロセスはオペレーション710に進み、そこでタスク情報がクライアントコンピュータ上に格納される。タスク情報は、クライアントコンピュータのアプリケーションプログラム、典型的にはプロジェクト管理アプリケーションプログラムを介して入力されるものとしてよく、1つまたは複数のタスクおよびそれぞれのタスクに関連付けられている1つまたは複数の属性を含む。属性は、タスクの名前、タスクの開始日および完了日、タスクの期間、タスクの優先度、などの情報を含む。それぞれのタスクは、それに、一意的なクライアントコンピュータタスク管理アプリケーション識別子を関連付けている。一意的なクライアントコンピュータタスク管理アプリケーション識別子は、オペレーション720においてクライアント上に格納される。
オペレーション730へ流れると、タスク情報は、典型的にはその情報を、サーバーコンピュータ上で実行中のドキュメント共有およびコラボレーションプログラムへ発行することによって、サーバーコンピュータに送られる。タスク情報が、サーバーコンピュータ上に格納されると、サーバーコンピュータは、一意的なサーバーコンピュータアプリケーション識別子をそれぞれのタスクに対して割り当てる。
オペレーション740に進み、それぞれのタスクについて一意的なサーバーコンピュータアプリケーション識別子を取得し、クライアントコンピュータ上に格納する。
タスクがサーバーコンピュータ上に格納されるときに、タイムスタンプも格納され、これは、サーバーコンピュータ上でタスクが最後に修正された日時を示す。オペレーション750で、そのタスクに対するタイムスタンプが、サーバーコンピュータから取得され、クライアントコンピュータ上に格納される。
オペレーション760へ流れ、それぞれのタスクに対する一意的なサーバーコンピュータアプリケーション識別子をそのタスクに対する一意的なクライアントコンピュータタスク管理アプリケーション識別子にマッピングし、それらのマッピングをクライアントコンピュータ上に格納する。
それぞれのタスクがクライアントコンピュータ上で作成されるときに、チェンジリストも作成される。チェンジリストは、サーバーと同期させるべきタスクに対する属性を識別するものである。チェンジリスト毎に、ビットマスクが作成され、ビットマスク内のそれぞれのビットは同期させる属性に対応している。オペレーション770で、それぞれのタスクに対するビットマスクをクライアントコンピュータ上に格納する。クライアントコンピュータのタスク管理アプリケーション介してタスクを編集すると、1つまたは複数の属性が変更される。オペレーション780で、変更される属性毎にそのタスクに対するビットマスク内のビットをセットする。
定期的に、特にクライアントコンピュータ上でタスクを編集したときに、クライアントコンピュータは、同期オペレーションを開始し、それらの変更をサーバーに同期させる。同期オペレーションは、オペレーション790で開始する。
図8は、競合解決を含む例示的な同期オペレーションの流れ図である。
開始オペレーションの後、プロセスはオペレーション810に流れ、そこでサーバーコンピュータからタスクおよび属性のリストが取得される。決定オペレーション815で、サーバーコンピュータから取得したタスクのそれぞれについて、そのタスクに対する一意的なサーバーコンピュータアプリケーション識別子(コラボレーションID)をそのタスクに対する一意的なクライアントコンピュータタスク管理アプリケーション識別子(プロジェクトID)にマッピングするかどうかを確定する。例えば、そのタスクに対するプロジェクトIDをそのタスクに対するコラボレーションIDにマッピングするかどうかを確定する。タスクのマッピングが行われない場合、オペレーション850で、クライアントコンピュータ上に新規タスクが作成され、そのタスクに対する一意的なサーバーコンピュータアプリケーション識別子にマッピングされる。
タスクのマッピングが行われる場合、オペレーション820で、タスクがクライアントコンピュータ上に存在するかどうかが確定される。タスクのマッピングが行われるが、クライアントコンピュータ上に存在していない場合、これはそのタスクがクライアントコンピュータから削除されたことを示すものである。したがって、オペレーション855で、サーバーコンピュータがクライアントコンピュータと整合するようにそのタスクはサーバーコンピュータから削除される。
タスクのマッピングが行われ、それと同時にクライアントコンピュータ上にも存在する場合、そのタスクに対するビットマスク内のピットがセットされているかどうかが決定オペレーション825において確定される。そのタスクに対するビットマスク内のビットのどれかがセットされている場合、これはそのタスクに対する少なくとも1つの属性が変更されていることを示しており、決定オペレーション830で、最後のクライアントコンピュータ同期の前にサーバーコンピュータが更新されたかどうかが確定される。この確定は、クライアントコンピュータが同期オペレーションを最後に開始した日時とサーバーコンピュータ上でそのタスクが最後に修正された日時とをチェックすることによって行われる。サーバーコンピュータ上でそのタスクが最後に修正された日時が、クライアントコンピュータ上でそのタスクが最後に修正された日時より前である場合、これはクライアントコンピュータ上でそのタスクが更新されているが、サーバーコンピュータではまだこの更新情報を受け取っていないことを示し、更新されたタスク情報は、オペレーション860でクライアントコンピュータに送られる。
そのタスクに対してビットマスクのビットがセットされ、サーバーコンピュータが最後のクライアント同期の後に更新されている場合、クライアントコンピュータは、ビットマスクのビットがセットされているすべてのフィールドに競合のフラグをたて、オペレーション835で、競合が生じていることを示すダイアログボックスをユーザーに表示する。オペレーション840で、ユーザーは、競合している属性のうちの1つを選択することによって競合解決を手動実行する。一実施形態によれば、これは、競合を表示するダイアログボックスを介して行われる。
そのタスクに対して競合解決が計算されるとき、または競合がない場合にオペレーション850、855、または860が完了しているときに、制御はオペレーション845に渡されて次のタスクをチェックし、前記のようにオペレーション815を再び実行する。推移的変更は、タスク管理アプリケーションによって自動的に更新され、このため、解決のためユーザーに提示される競合が最小限度に抑えられる。
上記の仕様、実例、およびデータは、本発明の構成物の製造および使用に関する完全な記述をなす。本発明の多くの実施形態は、本発明の精神と範囲を逸脱することなく実装できるため、本発明は付属の請求項によって画定される。

Claims (15)

  1. プロジェクト管理アプリケーションとコラボレーションアプリケーションとの間で自己参照フィールドを同期するための、コンピュータのプロセッサ上で実行される方法であって、
    クライアントコンピューティングデバイス上に1つのプロジェクトに対するプロジェクトタスクをロードするステップ(410)と、
    サーバーコンピューティングデバイス上に前記プロジェクトに対するコラボレーションタスクをロードするステップ(410)と、
    それぞれのプロジェクトタスクについてプロジェクト先行作業リストを作成するステップ(420)と、
    それぞれのコラボレーションタスクについてコラボレーション先行作業リストを作成するステップ(430)と、
    それぞれのプロジェクトタスクおよび対応するコラボレーションタスクについて競合解決(510)を実行することによってプロジェクトタスクデータをいつ使用するか、また前記コラボレーションタスクデータをいつ使用するかを確定するステップと、
    前記プロジェクト先行作業リスト(620)および前記コラボレーション先行作業リスト(640)にアクセスして、書き込みのために前記プロジェクト先行作業リストをいつ選択するか、また前記コラボレーション先行作業リストをいつ選択するかを確定するステップとを含むことを特徴とする方法。
  2. 前記プロジェクトタスクデータが使用されるときに前記コラボレーション先行作業リストをクリアするステップ(525)をさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記コラボレーションタスクデータが使用されるときに前記プロジェクト先行作業リストをクリアするステップ(540)をさらに含むことを特徴とする請求項2に記載の方法。
  4. 前記コラボレーション先行作業リストがクリアされたときに前記プロジェクト先行作業リストを書き込むステップ(630)と、前記プロジェクト先行作業リストがクリアされたときに前記コラボレーション先行作業リストを書き込むステップ(650)とをさらに含むことを特徴とする請求項3に記載の方法。
  5. 前記コラボレーション先行作業リストがクリアされたときに前記プロジェクト先行作業識別子をコピーするステップ(530)と、前記プロジェクト先行作業リストがクリアされたときに前記コラボレーション先行作業識別子をコピーするステップ(545)とをさらに含むことを特徴とする請求項2に記載の方法。
  6. 前記コラボレーション先行作業識別子と前記プロジェクト先行作業識別子との間のマッピングを実行するステップ(625、645)をさらに含むことを特徴とする請求項3に記載の方法。
  7. どのリストがクリアされるかに基づき前記マッピングを確定するステップ(625、645)をさらに含むことを特徴とする請求項6に記載の方法。
  8. クライアントコンピューティングデバイス上のタスク管理アプリケーションおよびサーバーコンピューティングデバイス上のコラボレーションアプリケーションのタスクに関連付けられている自己参照識別子を同期するためのコンピュータ実行可能命令を収容したコンピュータ可読記憶媒体であって、
    クライアントとサーバーとの間でタスクを含むプロジェクトに対しプロジェクトデータを同期する同期セッション(308)を開始するステップと、
    前記プロジェクトについてタスクをロードし(410)、タスク毎にプロジェクト先行作業リストおよびコラボレーション先行作業リストを作成するステップ(420、430)であって、前記プロジェクト先行作業リストは、前記プロジェクトタスクが先行作業を有しているときに少なくとも1つのプロジェクト先行作業識別子を含み、前記コラボレーション先行作業リストは、前記コラボレーションタスクが先行作業を有しているときに少なくとも1つのコラボレーション先行作業識別子を含む、ステップと、
    プロジェクトタスクデータをいつ使用するか、またそれぞれのタスクを同期するときにコラボレーションタスクデータをいつ使用するかを確定するステップ(520)と、
    前記同期の書き込みフェーズにおいて、プロジェクトタスクデータが使用されるときに前記プロジェクト先行作業リストを書き込み、コラボレーションタスクデータが使用されるときに前記コラボレーション先行作業リストを書き込むステップ(550)とを含むことを特徴とするコンピュータ可読記憶媒体。
  9. 前記プロジェクトに対するタスクをロードするステップは、前記サーバーからコラボレーションタスクをロードし、前記クライアントからプロジェクトタスクをロードするステップ(410)を含むことを特徴とする請求項8に記載のコンピュータ可読記憶媒体。
  10. プロジェクトタスクデータが使用されるときに前記コラボレーション先行作業リストをクリアするステップ(525)と、プロジェクトタスクデータが使用されるときに前記プロジェクト先行作業リストをクリアするステップ(540)とをさらに含むことを特徴とする請求項9に記載のコンピュータ可読記憶媒体。
  11. クリアされていない先行作業リスト内に識別子があればそれを前記クリア済みリスト内の対応する識別子にマッピングするステップと、どの先行作業リストがクリアされるかに基づきどの先行作業リストに書き込むかを確定するステップ(625、645)とをさらに含むことを特徴とする請求項10に記載のコンピュータ可読記憶媒体。
  12. クライアントとサーバーとの間の同期の単一パスにおいて自己参照フィールドを同期するためのシステムであって、
    プロセッサ(5)およびコンピュータ可読媒体(14)と、
    前記コンピュータ可読媒体上に格納され、前記プロセッサ上で実行される動作環境(16)と、
    クライアント上で動作するプロジェクト管理アプリケーション(27)と、
    サーバー上で動作する同期アプリケーション(26)と、
    タスクを実行するように構成された同期モジュールであって、前記タスクは、
    前記クライアントと前記サーバーとの間でタスクを含むプロジェクトに対しプロジェクトデータを同期する同期セッション(308)を開始するステップと、
    前記プロジェクトについてタスクをロードし(410)、タスク毎にプロジェクト先行作業リストおよびコラボレーション先行作業リストを作成するステップ(420、430)であって、前記プロジェクト先行作業リストは、前記プロジェクトタスクが先行作業を有しているときに少なくとも1つのプロジェクト先行作業識別子を含み、前記コラボレーション先行作業リストは、前記コラボレーションタスクが先行作業を有しているときに少なくとも1つのコラボレーション先行作業識別子を含み、前記プロジェクトに対するタスクをロードするステップは、前記サーバーからコラボレーションタスクをロードし、前記クライアントからプロジェクトタスクをロードするステップを含む、ステップと、
    プロジェクトタスクデータをいつ使用するか、またそれぞれのタスクを同期するときにコラボレーションタスクデータをいつ使用するかを確定するステップ(520)と、
    プロジェクトタスクデータが使用されるときに前記プロジェクト先行作業リストを書き込み(630)、コラボレーションタスクデータが使用されるときに前記コラボレーション先行作業リストを書き込むステップ(650)とを含む、同期モジュールと
    を備えることを特徴とするシステム。
  13. プロジェクトタスクデータが使用されるときに前記コラボレーション先行作業リストをクリアするステップ(525)と、プロジェクトタスクデータが使用されるときに前記プロジェクト先行作業リストをクリアするステップ(540)とをさらに含むことを特徴とする請求項12に記載のシステム。
  14. クリアされていない先行作業リスト内に識別子があればそれを前記クリア済みリスト内の対応する識別子にマッピングするステップ(625、645)をさらに含むことを特徴とする請求項13に記載のシステム。
  15. どの先行作業リストがクリアされるかに基づきどの先行作業リストに書き込むかを確定し、前記クライアント上でタスクに対する前記先行作業識別子を書き込み、前記サーバー上で前記先行作業識別子を書き込む(630、650)ことを特徴とする請求項12に記載のシステム。
JP2012510907A 2009-05-12 2010-05-10 双方向同期における自己参照フィールドの同期 Withdrawn JP2012527048A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/464,257 US8019813B2 (en) 2009-05-12 2009-05-12 Synchronizing self-referencing fields during two-way synchronization
US12/464,257 2009-05-12
PCT/US2010/034279 WO2010132378A2 (en) 2009-05-12 2010-05-10 Synchronizing self-referencing fields during two-way synchronization

Publications (1)

Publication Number Publication Date
JP2012527048A true JP2012527048A (ja) 2012-11-01

Family

ID=43069378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012510907A Withdrawn JP2012527048A (ja) 2009-05-12 2010-05-10 双方向同期における自己参照フィールドの同期

Country Status (6)

Country Link
US (1) US8019813B2 (ja)
EP (1) EP2430561A2 (ja)
JP (1) JP2012527048A (ja)
KR (1) KR101661789B1 (ja)
CN (1) CN102422276B (ja)
WO (1) WO2010132378A2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316371B2 (en) * 2009-04-09 2012-11-20 Mindjet Llc Task hierarchy in an event-driven communication system
US9641564B2 (en) * 2009-05-14 2017-05-02 Qualcomm Incorporated Maintaining controllee information in collaborative sessions
US9641567B2 (en) 2009-05-14 2017-05-02 Qualcomm Incorporated Controlling media and informing controller status in collaborative sessions
US8667033B1 (en) 2011-05-14 2014-03-04 Gopivotal, Inc. Persistent file system objects for management of databases
GB2520931A (en) * 2013-11-29 2015-06-10 Togeva Ltd A system for managing communications with a plurality of mobile devices
US20170230466A1 (en) * 2016-02-05 2017-08-10 Prysm, Inc. Cross Platform Annotation Syncing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007003B1 (en) 1998-12-04 2006-02-28 Intellisync Corporation Notification protocol for establishing synchronization mode for use in synchronizing databases
US6792085B1 (en) 1999-09-10 2004-09-14 Comdial Corporation System and method for unified messaging with message replication and synchronization
WO2002021413A2 (en) * 2000-09-05 2002-03-14 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US8463744B2 (en) 2001-01-03 2013-06-11 International Business Machines Corporation Method and system for synchronizing data
US7076567B1 (en) 2002-04-25 2006-07-11 Oracle International Corporation Simplified application object data synchronization for optimized data storage
US7730014B2 (en) * 2003-03-25 2010-06-01 Hartenstein Mark A Systems and methods for managing affiliations
US8005710B2 (en) * 2004-09-28 2011-08-23 Microsoft Corporation Methods and systems for caching and synchronizing project data
US7496886B2 (en) * 2004-09-30 2009-02-24 Microsoft Corporation Method and system for providing cross project commitments
US20060242204A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Sync manager conflict resolution
US7383393B2 (en) * 2005-10-28 2008-06-03 Freescale Semiconductor, Inc. System and method for cooperative prefetching
CN101005428A (zh) 2006-01-19 2007-07-25 华为技术有限公司 一种检测与解决数据同步冲突的实现方法
US7983249B2 (en) 2007-01-23 2011-07-19 Oracle America, Inc. Enterprise web service data to mobile device synchronization
US8135635B2 (en) * 2008-10-16 2012-03-13 Intuit Inc. System and method for time tracking on a mobile computing device

Also Published As

Publication number Publication date
KR20120022911A (ko) 2012-03-12
CN102422276B (zh) 2014-03-19
KR101661789B1 (ko) 2016-09-30
US8019813B2 (en) 2011-09-13
EP2430561A2 (en) 2012-03-21
WO2010132378A2 (en) 2010-11-18
WO2010132378A3 (en) 2011-02-17
CN102422276A (zh) 2012-04-18
US20100293222A1 (en) 2010-11-18

Similar Documents

Publication Publication Date Title
US10437795B2 (en) Upgrading systems with changing constraints
US20190155791A1 (en) Multi-master text synchronization using deltas
JP3779263B2 (ja) 共同作業システムのためのコンフリクトの解決
US8051209B2 (en) Minimizing conflicts when synchronizing interrelated data between two systems
US20070239725A1 (en) Active cache offline access and management of project files
US11783254B2 (en) Method and system for implementing an adaptive data governance system
JP2006099728A (ja) 共同アプリケーションにおけるワークフローの関連付け
JP2008305094A (ja) 文書管理方法及びその装置
WO2018236521A1 (en) DYNAMIC ORIENTED GRAPH WORKFLOW
US8019813B2 (en) Synchronizing self-referencing fields during two-way synchronization
JP2010092484A (ja) 統合設計アプリケーション
US8701083B2 (en) Systems and methods for varying software build properties using primary and supplemental build files
US11029943B1 (en) Processing framework for in-system programming in a containerized environment
US10659522B2 (en) Sharing application local environment
US20140164489A1 (en) Blending single-master and multi-master data synchronization techniques
AU2011224001B2 (en) Content asset manager
US20090228427A1 (en) Managing document work sets
US11316951B2 (en) Polytree queue for synchronizing data with a shared resource
US20160364674A1 (en) Project management with critical path scheduling and releasing of resources
JP2012525656A (ja) 電子ノートブックにおける共有ジョブスケジューリング
JP2011192078A (ja) タスク管理装置及びタスク管理プログラム
US20080086353A1 (en) Server level summary information of resource utilization
US20090327020A1 (en) Intelligent task Deactivation In Project Scheduling Application
JP4997886B2 (ja) ワークフロー連携プログラムおよびワークフロー管理システム
JP5057481B2 (ja) ワークフローシステム、制御方法、およびプログラム

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20121005