[go: up one dir, main page]

TW200907720A - Bi-directional data modification with synchronization - Google Patents

Bi-directional data modification with synchronization Download PDF

Info

Publication number
TW200907720A
TW200907720A TW097123133A TW97123133A TW200907720A TW 200907720 A TW200907720 A TW 200907720A TW 097123133 A TW097123133 A TW 097123133A TW 97123133 A TW97123133 A TW 97123133A TW 200907720 A TW200907720 A TW 200907720A
Authority
TW
Taiwan
Prior art keywords
data
item
data item
synchronized
synchronization
Prior art date
Application number
TW097123133A
Other languages
Chinese (zh)
Inventor
Akash J Sagar
George P Moromisato
Richard Yiu-Sai Chung
Paresh S Suthar
Raymond E Ozzie
Jack E Ozzie
Matthew S Augustine
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 TW200907720A publication Critical patent/TW200907720A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Systems and methods for synchronizing data between endpoints, including the modification of data on an endpoint without necessarily modifying data that is communicated between endpoints are disclosed. In such systems and methods the representation of data on an endpoint may be modified so that constraints on that particular endpoint are enforced, without requiring a similar or the same modification to the data when it is synchronized to other endpoints.

Description

200907720 九、發明說明: 【發明所屬之技術領域】 本發明係關於一種具同步化之雙向資料修改。 【先前技術】 目前已存在各種同步化系統係,用以將不同端點之間 的資料同步化,例如在不同電腦系統之間。在一些情況中, 在至少一些表示中,同步的資料可關聯與受限於特定的限 制。在此限制的一些範例中,一電腦檔案系統可需要一檔 案名稱只使用特定字元,其在相同目錄中的檔案具有唯一 的名稱,該等檔案係位在一目錄中等。 為了表示及實施限制,在一些情況中,一同步化系統 本身可設計或擴充成具有在所有同步端點上一致性特定限 制的知識及實施。在其他情況中,除了或在一同步化系統 的「上面」操作的額外邏輯可提供或定義,所以當資料與 該同步化系統同步時,可一致性實施限制。 擴大一同步化系統實施限制(其可為特定或只有關於 某類型的資料或特定端點)可使該同步化系統的不同態樣 複雜化,包括使其更難以改變或更新該同步化系統操作方 式。例如,當新的端點需要資料遵照新的限制時,在一些 情況中,其可能難以或甚至不可能新增一新類型的端點至 同步化端點的一現有系統。此外,一致性應用限制,以致 每一端點係應用相同限制至同步的資料亦會造成潛在性問 題,包括需要限制同步的資料侷限於或許由每一端點所支 5 200907720 援的低忠實度表示,即使當一些端點可提供額外功能 或與相同資料的更複雜及潛在更有用的表示一起操作 【發明内容】 下列提供本揭示的簡單摘要,以提供讀者的基 解。此摘要不是本揭示的擴充概觀且不認為本發明的 或關鍵元件或描述本發明的範疇。其唯一目的是要以 化形式來提供在此揭示的一些概念,作為稍後提供更 描述的前言。 在此的描述是針對在同步化端點上的資料修改, 必然要修改同步資料之不同技巧與技術。在s少中一 施中,在一端點上的資料之表示可修改,所以可實施 特定端點上的限制,當其與其他端點同步時,不需要 料的類似或相同修改。 【實施方式】 在此描述是針對資料同步實施的不同技巧與技術 中資料是在一同步化端點上修改,或許可確保實施在 的資料限制,而不必然要修改同步化的資料。即是, 及在至少一些實施中,在一端點上的資料表示可修改 以可實施在該特定端點上的限制,當其同步化、或當 在其他端點上存取或使用時,不必然需要類似或相同 料修改。 在一些實施中,一同步化系統包含可在多個端點 性, 本瞭 主要 一簡 詳細 而不 些實 在該 對資200907720 IX. Description of the invention: [Technical field to which the invention pertains] The present invention relates to a two-way data modification with synchronization. [Prior Art] Various synchronization system systems exist to synchronize data between different endpoints, for example, between different computer systems. In some cases, in at least some of the representations, the synchronized material may be associated and limited by a particular limit. In some examples of this limitation, a computer file system may require a file name to use only a particular character, and files in the same directory have unique names that are in a directory. To represent and enforce the limitations, in some cases, a synchronization system itself can be designed or expanded to have knowledge and implementation of consistency-specific restrictions across all synchronization endpoints. In other cases, additional logic may be provided or defined in addition to or in the "above" of a synchronization system, so that when the data is synchronized with the synchronization system, the restrictions may be enforced consistently. Extending a synchronization system implementation limit (which may be specific or only about a certain type of material or a particular endpoint) may complicate the different aspects of the synchronization system, including making it more difficult to change or update the synchronization system operation. the way. For example, when a new endpoint requires data to comply with new restrictions, in some cases it may be difficult or even impossible to add a new type of endpoint to an existing system of synchronized endpoints. In addition, consistent application restrictions, such that each endpoint applies the same restrictions to the synchronization of the data will also cause potential problems, including the need to limit the synchronization of data limited to the low loyalty expressed by each endpoint 5 200907720 aid, Even when some of the endpoints can provide additional functionality or operate with more complex and potentially more useful representations of the same material, the following summary is provided to provide a basic understanding of the disclosure. This Summary is not an extensive overview of the disclosure and is not to be considered as a Its sole purpose is to provide some of the concepts disclosed herein in the form of a The description here is for data modification on the synchronization endpoint, and it is inevitable to modify the different techniques and techniques of synchronizing data. In the case of s, the representation of the data at one endpoint can be modified so that the restrictions on a particular endpoint can be implemented, and when it is synchronized with other endpoints, no similar or identical modifications are required. [Embodiment] The description herein is directed to different techniques and techniques for data synchronization. The data is modified on a synchronized endpoint, or permits to ensure that the data is enforced, and it is not necessary to modify the synchronized data. That is, and in at least some implementations, the data on an endpoint represents a limit that can be modified to be enforceable on that particular endpoint, when it is synchronized, or when accessed or used on other endpoints, It is necessary to modify similar or identical materials. In some implementations, a synchronization system includes multiple endpoints, which are primarily simple and detailed, but not actual.

,其 端點 例如 ,所 資料 的資 之間 6 200907720, its endpoints , for example , the information between the resources 6 200907720

通信資料的執行程式碼,例如在各種類型的多個計算裝置 之間。在是一範例中,一同步化系統可在不同電腦之間同 步電腦實施的目錄與檔案。藉由使用此系統,一使用者可 維持一目錄、與所有檔案(及或許子目錄)在目錄中、多個 電腦之間的同步。當一使用者改變在該同步目錄中的一檔 案時,該修改或變更的檔案可透過來自該計算裝置的各種 構件來同步及傳輸,其中該變更可在一或多個其他計算裝 置達成。當一使用者新增一新檔案時,新檔案可類似通信 等。相同或一或多個其他同步化系統亦可同步各種其他類 型資料之任何一者。 在至少一些實施中,可為與同步資料有關的一或多個 限制。若此限制未伴隨發生或依附,該同步資料不能使用, 不可能有效,只能限度使用等。例如,繼續一示例性目錄 與檔案同步實施,可能的情況係,在至少一些端點上,同 步目錄與檔案必須遵守各種特定限制。在許多可能範例之 一者中,一檔案可能需為一目錄的「子代」,或可能需要與 一目錄有關。此外,該目錄可能需要有效,不能被刪除, 不能有無效的名稱等。另一示例性限制可能需要,一特定 目錄不包含具相同名稱的兩檔案。在一進一步示例性限制 中,不允許兩目錄為彼此的子代(其可能形成一「循環」)。 即是,若「目錄B」是「目錄A」的子代,則「目錄A」 不能為「目錄B」的子代。在仍然另一範例中,目錄名稱 與檔案名稱可能需要只使用從一特定組的字元選取的字 元。即是,或許,類似「A」、「B」、「c」、「d」、「1」、「5」 7The execution code of the communication material is, for example, between a plurality of computing devices of various types. In an example, a synchronization system can synchronize the directories and files implemented by the computer between different computers. By using this system, a user can maintain a directory, synchronize all files (and perhaps subdirectories) in the directory, and between multiple computers. When a user changes a profile in the synchronization directory, the modified or altered profile can be synchronized and transmitted via various components from the computing device, wherein the change can be made in one or more other computing devices. When a user adds a new file, the new file can be similar to communication. The same or one or more other synchronization systems can also synchronize any of a variety of other types of data. In at least some implementations, there may be one or more restrictions associated with synchronizing data. If this restriction is not accompanied or attached, the synchronization data cannot be used, it is impossible to use it, and it can only be used. For example, continuing with an exemplary directory and file synchronization implementation, it is possible that at least some of the endpoints, the synchronization directory and archive must adhere to various specific restrictions. In one of many possible examples, a file may need to be a "child" of a directory or may need to be associated with a directory. In addition, the directory may need to be valid, cannot be deleted, cannot have invalid names, and so on. Another exemplary limitation may require that a particular directory does not contain two files with the same name. In a further exemplary limitation, two directories are not allowed to be children of each other (which may form a "loop"). That is, if "directory B" is a child of "directory A", "directory A" cannot be a child of "directory B". In still another example, the directory name and file name may need to use only characters selected from a particular set of characters. That is, perhaps, similar to "A", "B", "c", "d", "1", "5" 7

200907720 等的文數字字元可允許在一目錄或檔案名稱;而可能類似 「!」、「%」或其他的特定其他字元是不允許。其他限制亦 可能,二者係適合於一示例性目錄與檔案同步實施、以及 任何其他類型的資料。 在一些環境中,例如在單一計算裝置,其認為相當簡 單以確保遵循至少一些限制。然而,在至少一些其他環境 中,包括當資料是在多個端點之間同步,並可在一個以上 的端點上修改或改變,確保遵循的所有限制可能更困難。 如一範例所示,確保一目錄只保持具特定名稱的一檔案可 藉由例如與一檔案系統有關的可執行碼而在單一系統上實 施"當該新檔案具有與該相同目錄中的一現有擋案相同名 稱時,此可執行碼係不允許建立一新檔案,且不允許將一 檔案重新命名為具有與一現有檔案相同名稱等等。 然而,在一目錄中的檔案可於計算裝置之間同步,且 檔案可在一個以上計算裝置上新增、修改、或刪除的一環 境中,需求(例如需要沒有複製存在)在至少一些實施中係 不能只由在一.特定計算裝置上的檔案系統實施。在可建立 多個檔案之情況的範例中,一新檔案可在一計算裝置上建 立。同時(或在資料同步化前的另一時間),具相同名稱的 另一檔案可在一第二計算裝置上建立。在此範例中,直到 兩計算裝置同步其資料,不能夠違背沒有重複檔案存在的 需求。然而,完全同步該資料將需要在第二計算裝置上建 立的檔案是在第一計算裝置上建立。執行此動作會在第一 計算裝置的相同目錄中,建立具相同名稱的兩檔案,其將 8The alphanumeric characters such as 200907720 may be allowed in a directory or file name; and certain other characters such as "!", "%" or others may not be allowed. Other restrictions are also possible, both of which are suitable for an exemplary directory and file synchronization implementation, as well as any other type of material. In some environments, such as in a single computing device, it is considered fairly simple to ensure that at least some of the limitations are followed. However, in at least some other environments, including when data is synchronized between multiple endpoints and can be modified or changed on more than one endpoint, it may be more difficult to ensure that all restrictions are followed. As shown in an example, ensuring that a directory only maintains a file with a specific name can be implemented on a single system by, for example, an executable code associated with a file system" when the new file has an existing one in the same directory When the file has the same name, the executable code does not allow a new file to be created, and it is not allowed to rename a file to have the same name as an existing file, and so on. However, in a directory where the files in a directory can be synchronized between computing devices, and the files can be added, modified, or deleted on more than one computing device, the requirements (eg, need not be duplicated) are in at least some implementations. The system cannot be implemented only by a file system on a particular computing device. In the example where multiple files can be created, a new file can be created on a computing device. At the same time (or at another time prior to data synchronization), another file with the same name can be created on a second computing device. In this example, until the two computing devices synchronize their data, they cannot violate the need for duplicate files. However, fully synchronizing the data will require the file created on the second computing device to be created on the first computing device. Performing this action will create two files with the same name in the same directory of the first computing device, which will be 8

200907720 違背在相同目錄中不允許重複檔案的限制(當在第一計算 裝置上建立的檔案係與第二計算裝置同步時,相同的問題 將會存在)。 遵循限制可能困難的一潛在性問題的另一範例可隨著 允許為目錄或檔案名稱的一部分的字元而發生。例如,其 可能使用相同檔案系統的兩或多個端點可具有關於在一目 錄或檔案名稱中所允許字元的相同限制之情況。即是,再 次,為了範例的目的,假設兩端點二者係執行相同電腦操 作系統,具有使用相同檔案系統的儲存。在一此端點上建 立的檔案可(如藉由在端點上使用的檔案系統或一些檔案 系統的實施)具有一有效檔案名稱。若此檔案然後齊受制於 目錄與檔案命名的相同限制的另一端點同步,再次例如(且 非限制),檔案名稱可持續有效。然而,若其與例如使用一 些其他操作系統或檔案系統(具有效檔案名稱的不同規則 或限制)的一端點或計算裝置相同步,檔案名稱不可能為有 效。因此,例如,類似「F i 1 e ! · t X t」的樓案名稱在一端點 上可為有效,但是在另一端點上可能無效。在一些情況中, 此檔案可在一端點上毫無問題地建立,但是在不違背與同 步資料有關的至少一些限制,不可能與另一示例性端點相 同步。 在當可能違背限制作為同步資料的至少一些情況中, 藉由確保不違背限制或解決違背的限制,各種實施或解決 方案可用來例如嘗試解決潛在的問題。 例如,在一些實施中,可決定是否違背限制,及或許 9200907720 Violation of the restriction that duplicate files are not allowed in the same directory (the same problem will exist when the file created on the first computing device is synchronized with the second computing device). Another example of following a potential problem that may be difficult to limit may occur with characters that are allowed to be part of a directory or file name. For example, two or more endpoints that may use the same file system may have the same restrictions on the allowed characters in a directory or file name. That is, again, for the purposes of the example, it is assumed that both ends perform the same computer operating system with storage using the same file system. A file created on one of the endpoints (e.g., by the file system used on the endpoint or some file system implementation) has a valid file name. If the file is then subject to synchronization with another endpoint whose directory is the same as the file name, again (for example, and without limitation), the file name will remain valid. However, if it is synchronized with an endpoint or computing device, e.g., using some other operating system or file system (with different rules or restrictions for the file name), the file name may not be valid. Thus, for example, a building name like "F i 1 e ! · t X t" may be valid on one end, but may be invalid on the other end. In some cases, this file can be created without problems on one endpoint, but it is not possible to synchronize with another exemplary endpoint without violating at least some of the limitations associated with the synchronization material. In at least some instances where synchronization may be violated as a means of synchronizing data, various implementations or solutions may be used, for example, to attempt to resolve a potential problem by ensuring that the limitation is not violated or the violation is resolved. For example, in some implementations, you can decide whether to violate the restrictions, and perhaps 9

200907720 自動(或涉及類似一使用者或一些其他可執行碼 體)解決該違背限制。繼續先前引用的目錄與檔 例,在一些實施中,自動重新命名使用在一特定 是有效字元的一目錄或檔案是可能的。例如且非 在一第一端點上建立的檔案具有在第一端點上為 檔案名稱,然後係與檔案名稱不是有效的一第 步,該檔案名稱可能在第二端點上改變,在一些 動地改變,所以該擋案名稱係使用在第二端點上 字元。若檔案在兩端點之間係保持同步,當該檔 變係重新與第一端點同步時,該檔案名稱亦可在 改變成相同的新檔案名稱。結果,該檔案名稍在 可能相同,且在兩端點為有效。然而,在此情況 稱目前係被侷限於不再包括在第一端點上為有效 元,所以根本就不是沒有只與第二端點有關的限 此外,在一些情況,不同端點可能具有互斥 所以不是甚至一些部分的資料可在兩端點表示, 與該等端點之至少一者有關的限制。例如,採用 印度)語言所使用字元的一名稱係不與採用中文、 式所使用字元之一名稱來共用任何字元。 在一些範例中,違背限制可能造成以一些方 步項目予以旗標或標記。此旗標或標記資料然後 該同步資料的一使用者、或一些其他實體加以評 限制的違背可透過一些構件加以解決,包括透過 或實體部分的動作。如使用目錄與檔案同步化的 的一些實 案同步範 端點上不 限制,若 有效的一 二端點同 情況是自 為有效的 案名稱改 第一端點 * _h 的檔案名 的一些字 时。 的限制, 而不違背 H i n d i (北 英文等形 式將一同 或許藉由 估,然後 該使用者 相同情況 10200907720 Automatically (or involves a similar user or some other executable code) to resolve this violation limit. Continuing with the previously cited directories and files, in some implementations, it is possible to automatically rename a directory or file that is a valid character at a particular location. For example, and the file created on a first endpoint has a file name on the first endpoint, and then the file name is not valid, the file name may be changed on the second endpoint, in some Dynamically changed, so the file name is used on the second endpoint. If the file is synchronized between the two ends, the file name can also be changed to the same new file name when the file is re-synchronized with the first endpoint. As a result, the file name may be slightly the same and valid at both ends. However, in this case, it is said that the current limit is no longer included as a valid element on the first endpoint, so there is no limit at all that is only related to the second endpoint. In some cases, different endpoints may have mutual Rejection is not a part of the data that can be represented at both ends, with restrictions on at least one of the endpoints. For example, a name for a character used in a language in India does not share any character with a name that uses one of the characters used in Chinese. In some cases, violations of restrictions may result in flagging or marking with some program items. The violation of this flag or tagged material and then by a user of the synchronised material, or by some other entity, may be resolved by some means, including through the action of the physical component. For example, some real-time synchronization endpoints that use directory and file synchronization are not restricted. If the valid one-two endpoints are the same as the case name, the file name of the first endpoint * _h is changed. . Restrictions, without violating H i n d i (Northern English, etc. will be estimated together, and then the user will be the same 10

200907720 的另一特殊及非限制範例所示,若檔案的同步化在相同目 錄中造成使用相同名稱來建立檔案,兩檔案之一者可被置 於「保留區」,例如一特定目錄,或以某種方式與另一檔案 加以區別,所以不違背限制。此動作然後可使用「衝突」 或同步化系統的其他類似元件來標記,且使用者(或許同步 檔案的使用者)可透過此一衝突存在的一些構件加以通 知。例如,一使用者可見到一對話方塊盒,接收一「衝突 電子郵件」等。該使用者然後可透過一或多個動作來解決 該衝突,例如重新命名兩檔案之一者、移動兩檔案之一者 至一不同目錄、刪除兩檔案之一者等。當該使用者改變一 重新命名的檔案、一移動的樓案、一被刪除的檔案等,其 然後重新與第一端點同步,兩端點然後在相同目錄等中具 有使用相同名稱的相同組之檔案,且不違背相關的限制。 雖然例如這些先前所引用的技術允許資料同步而不致 違背限制,但是該技術亦可具有其自己的限度。一潛在有 問題的限制可能是改變資料以確保伴隨的限制會導致同步 資料只利用或使用普遍在所有端點可用的功能性。例如, 即使一或多個端點支援使用各種字元的目錄或檔案名稱, 若目錄或檔案係與只支援一更有限字元集的另一端點同 步,這些端點係不能夠使用具有這些字元當中的許多字元 的目錄或檔案。在另一範例中,當檔案位於單一檔案系統 時,雖然沒有重複檔案存在的需求可能常見,但是此需求 不能夠應用在相同目錄與檔案資料的其他表示。如此情況 的一特定範例所示,若一目錄結構係以使用一網頁(例如 11Another special and non-limiting example of 200907720 shows that if the synchronization of files causes the same name to be used to create a file in the same directory, one of the two files can be placed in a "reserved area", such as a specific directory, or There is some way to distinguish it from another file, so it does not violate the restrictions. This action can then be tagged using "conflict" or other similar components of the synchronization system, and the user (perhaps the user of the sync file) can be notified through some of the components of the conflict. For example, a user can see a dialog box, receive a "conflict email", and the like. The user can then resolve the conflict through one or more actions, such as renaming one of the two files, moving one of the two files to a different directory, deleting one of the two files, and the like. When the user changes a renamed file, a mobile file, a deleted file, etc., it is then re-synchronized with the first endpoint, and then both ends point and then have the same group with the same name in the same directory or the like. The file does not violate the relevant restrictions. While such previously cited techniques allow for data synchronization without compromising limitations, the technology may have its own limits. A potentially problematic limitation may be to change the data to ensure that the accompanying restrictions result in the synchronization data only utilizing or using the functionality that is generally available at all endpoints. For example, even if one or more endpoints support directory or file names that use various characters, if the directory or file is synchronized with another endpoint that only supports a more limited set of characters, these endpoints cannot use these words. A directory or file of many characters in the meta. In another example, when the archive is in a single file system, although the need for duplicate files may be common, this requirement cannot be applied to other representations of the same directory and archives. As shown in a specific example of this situation, if a directory structure is to use a web page (for example, 11

200907720 HTML)的一 「網投影學」來表示,且使用者有能力藉由按 一下該網頁鏈結來下載檔案,允許具有重複名稱的檔案, 因為在此表示中,一「檔案」可只由HTML與一鏈結組成, 且沒有理由為什麼HTML與鏈結不能夠包括一些重複。 當改良、發展、或通常改變同步資料(或資料同步)的 端點時,這些種類的限制亦可能是問題。類似些的限制可 減少改良或改變一同步化系統的方式,或可減少加入資料 同步的端點。例如,當同步資料的初始端點可能具有相同 或類似的限制-或許一系統的第一實施只在執行一操作系 統的特定版本的計算裝置上執行,假定稍後,可能想要延 仲該同步化系統在各種其他操作系統、或士種類型計貰裝 置之一或多個之上執行。例如,想要啟用或許較少計算能 力,而同樣支援或許較少功能性(例如行動電話)的計算裝 置以加入資料同步化,而不是只在「桌上型」或「膝上型」 計算裝置上執行。然而,遵循此端點的新增所需的新限制 然後需要同步的資料是更侷限在範疇、功能性等。(或,在 該同步化系統中不包括新的額外端點,直到新的端點包括 解譯及同步在端點之間同步的整個或原始廣度資料所需的 功能性。) 此外,除了可能減少同步資料的忠實度或能力之外, 此變化亦需要修改所有加入的端點,以「同時」或在與以 其他端點同步之前支援新的需要。此可能需要例如一更舊 的端點不嘗試同步資料至不支援或使用該資料的一新端 點。在一些同步化系統中,無法實際或不可能以此方式來 12200907720 HTML) is a "net projection", and the user has the ability to download the file by clicking on the link of the page, allowing files with duplicate names, because in this representation, a "file" can only be HTML is composed of a link, and there is no reason why HTML and links cannot include some repetition. These types of limitations can also be problematic when improving, developing, or otherwise changing the endpoints of synchronized data (or data synchronization). Similar restrictions can reduce the way to improve or change a synchronization system, or reduce the number of endpoints that join data synchronization. For example, when the initial endpoint of the synchronization material may have the same or similar restrictions - perhaps the first implementation of a system is only executed on a computing device executing a particular version of an operating system, assuming that later, it may be desirable to delay the synchronization The system is executed on one or more of a variety of other operating systems, or a genre type device. For example, you want to enable perhaps less computing power, while also supporting computing devices that may be less functional (such as mobile phones) to join data synchronization, rather than just "desktop" or "laptop" computing devices. Execute on. However, following the new restrictions required for this endpoint, the data that needs to be synchronized is more limited in scope, functionality, and so on. (Or, new extra endpoints are not included in the synchronization system until the new endpoint includes the functionality required to interpret and synchronize the entire or raw breadth of data synchronized between the endpoints.) In addition, except In addition to reducing the loyalty or ability of synchronized data, this change also requires modifying all of the added endpoints to support new needs "simultaneously" or before synchronizing with other endpoints. This may require, for example, an older endpoint not attempting to synchronize data to a new endpoint that does not support or use the material. In some synchronization systems, it is not practical or possible to use this method.

200907720 改變或更新所有端點,且如此在一些情況中,可廣泛 的更新係不進行,或比在別的方面想要係更不時常進 在一些實施中,藉由「實現」「同步化資料」在「 資料」之處理,以說明這些問題當中的至少一些題是 的。如在此所述,通常,在領域資料上實現同步化資 為映射同步化資料之處理(例如在端點之間)至使用在 定端點上的資料表示。然後,「同步化資料」將包含在 之間通信的至少一部分資料,而「領域資料」包含放 存在一端點上的同步化資料的表示。 如一範例所示,其係考慮藉由在端點之間通信 文件:乂同步目錄與檔案資料之實施。在至少一範例中 XML文件可認為包含該同步化資料。在一非限制性 中,或許,目錄與檔案中間資料(例如一目錄或檔案名 有關一目錄或檔案的曰期與時間等)可以一 XML文件 表。在一些情況中,實際的檔案資料可能從該 XML 參考,但是不可轉換成該XML文件本身的部分。在 情況中,檔案資料可包括在該XML文件。 在此範例中,一 XML文件與任何參考的檔案資 包含該同步化資料,且可在實際檔案系統物件或檔案 元件上實現,例如接著該包含領域資料的實際目錄 案。部分藉由修改(包括建立、更新、及刪除)在一檔 統中的實際目錄與檔案,實施可實現一同步化XML 之處理。即是,在至少中一些實施中,可執行的程式 解譯一同步化XML文件的内容,然後建立、更新、刪 有用 行。 領域 可能 料可 一特 端點 置或 XML ,,νμ 範例 稱、 來代 文件 其他 訊可 糸統 與檔 案系 文件 碼可 除、 13 200907720 或在一或多個目錄與檔案上操作。(應該注意,在此的使 用,例如用語「修改領域資料」應該解譯為包括修改現有 領域資料,以及包括有關領域資料所採行的其他動作,包 括建立新的領域資料及刪除現有的領域資料。) 在此範例中,且在包括不同步目錄與檔案,或在其他 方面是不同的許多其他實施與範例中,至少一些先前引用 問題、以及其他問題可至少部分藉由同步化資料至領域資 料上實現的方式予以說明。如一範例所示,為了解決從目 錄或檔案名稱的支援字元的差異發生的不一致,並不是修 改該目錄或檔案本身(當其是在同步化資料中表示),當與 -檔案系統使用時,該同步化資,料可在具有一符定名筘妁 一目錄或檔案上實現,並當與另一檔案系統使用時,可使 用不同名稱實現在一目錄或檔案。即是,在一非限制性範 例中,在該同步化資料中包括的目錄或檔案名稱可實現在 一目錄或檔案,且當該目錄或檔案名稱對於一特定檔案系 統為有效時,可當作該領域資料的部分使用。然而,當在 該同步化資料中包括的目錄或檔案名稱對於一特定端點不 是有效時,該目錄或檔案名稱可使用對於特定端點為有效 的不同名稱以實現在一目錄或檔案。 此外,在至少一些實施中,當該領域資料改變,即是 在先前的範例中,當該實際的目錄或檔案改變,且該改變 係與其他端點同步時,在至少一些情況中,以作為實現同 步化資料在該領域資料的部分所進行的資料之變化係不與 其他端點傳輸、同步、或可見之此方式,該領域資料可映 14200907720 Change or update all endpoints, and as such, in some cases, a wide range of updates may not be performed, or in other ways it may be more frequent than in some implementations, by "implementing" "synchronized data" The processing of "information" to illustrate at least some of these questions is yes. As described herein, in general, synchronization information is implemented on the domain data to map the synchronization of data (e.g., between endpoints) to the use of data representations on the endpoints. The "synchronized data" will then contain at least a portion of the data communicated between them, and the "domain data" will contain a representation of the synchronized data placed on an endpoint. As an example, it is considered to communicate between the endpoints by communicating files: 乂 synchronizing directories and archival material implementation. In at least one example, the XML file can be considered to contain the synchronized material. In a non-limiting manner, perhaps the directory and file intermediate data (e.g., a directory or file name related to the time and time of a directory or file, etc.) may be an XML file table. In some cases, the actual archive may be referenced from the XML, but not converted to the portion of the XML itself. In the case, the archive material can be included in the XML file. In this example, an XML file and any referenced archives contain the synchronized material and can be implemented on the actual file system object or file component, such as the actual directory containing the domain data. Part of the implementation of a synchronized XML can be implemented by modifying (including creating, updating, and deleting) the actual directories and files in a file. That is, in at least some implementations, the executable program interprets the contents of a synchronized XML file and then creates, updates, and deletes useful lines. The field may be a special endpoint or XML, νμ example, the next file, the other system and the file system can be deleted, 13 200907720 or one or more directories and files. (It should be noted that the use of this, such as the term "modification of domain information", should be interpreted to include modifications to existing field information, as well as other actions taken in the field, including the creation of new domain data and the deletion of existing domain data. In this example, and in many other implementations and examples that include unsynchronized directories and files, or otherwise different, at least some of the previously cited questions, as well as other issues, may be at least partially synchronized by the data to the domain data. The way of implementation is explained. As shown in the example, in order to resolve the inconsistency in the difference of the support characters from the directory or file name, the directory or the file itself (when it is represented in the synchronized data) is not modified, when used with the -file system, The synchronization resource can be implemented on a directory or file having a name, and when used with another file system, can be implemented in a directory or file using a different name. That is, in a non-limiting example, the directory or file name included in the synchronization material can be implemented in a directory or file, and can be treated as if the directory or file name is valid for a particular file system. Part of the use of material in this field. However, when the directory or file name included in the synchronization material is not valid for a particular endpoint, the directory or file name can be implemented in a directory or file using a different name that is valid for the particular endpoint. Moreover, in at least some implementations, when the domain data changes, ie in the previous example, when the actual directory or archive changes and the change is synchronized with other endpoints, in at least some instances, The change of data carried out in the part of the data in the field of synchronization data is not transmitted, synchronized, or visible to other endpoints.

200907720 射回至同步化資料。例如,假設,由於實現同步化資 領域資料的處理,且一檔案具有一名稱係不同於在相 步化資料中指定的名稱。該檔案的變化(或檔案的内容 化)需與其他端點同步。然而,該檔案名稱的變化(即 在實現處理期間所作的變化)無法連同更新的檔資料 同步。相反的,如同產生檔案的同步化資料的部分, 決定因為實現處理,所以檔案的名稱是否不同。在此 中,例如(且非限制),在同步化資料中指定的原始名 當作產生的同步資料的部分使用,而不是在特定端點 磁碟(或在記憶體中)上的檔案名稱。用於映射領域資 同步化資料的的各種類似或其他機構亦可實施,曰Λ 處更詳細描述。 通常(且不同地說明),當實施一同步化系統可能 的一困難可確保在端點之間的同步化資料可「統一」 同端點上成相同狀態。即是,雖然在一特定端點上進 化於一些時段會造成在一或多個端點上的不同資料, 此變化應該以最終所有端點將有相同變化及統一成相 態的方式,在同步化端點之間通信。 在一或多個端點存在的限制使統一成共同狀態 難。例如,如前面介紹的之範例,其中一端點可同步 另一端點的檔案(具有與已在端點存在的檔案相同名j 若使用不允許相同名稱檔案存在相同位置的檔案系統 端點可嘗試藉由該等檔案之一者予以重新命名以解決 性問題。然後,重新命名的檔案可同步其他端點。然 料至 關同 之變 是當 一起 其可 情況 稱可 上的 料至 ,th 出現 在不 的變 但是 同狀 更困 來自 I ) ° , —— 潛在 而, 15200907720 Shoot back to the synchronized data. For example, suppose that due to the processing of the synchronized domain data, and a file having a name is different from the name specified in the step data. Changes to the file (or the content of the file) need to be synchronized with other endpoints. However, changes to the file name (i.e., changes made during the implementation process) cannot be synchronized with the updated file data. Conversely, as part of the synchronization data that produces the file, it is decided whether the name of the file is different because of the processing. Here, for example (and without limitation), the original name specified in the synchronization material is used as part of the generated synchronization data, not the file name on a particular endpoint disk (or in memory). Various similar or other mechanisms for mapping domain-synchronized data may also be implemented, as described in more detail. Often (and differently stated), a difficulty in implementing a synchronization system ensures that the synchronized data between the endpoints can be "unified" in the same state as the endpoints. That is, although evolution on a particular endpoint may result in different data on one or more endpoints, the change should be synchronized in such a way that eventually all endpoints will have the same change and be unified into phase. Communication between endpoints. Restrictions that exist at one or more endpoints make it difficult to unify to a common state. For example, as in the example described above, one of the endpoints can synchronize the file of the other endpoint (having the same name as the file already existing on the endpoint j. If you use a file system endpoint that does not allow the same name file to exist in the same location, you can try to borrow Renamed by one of the files to solve the problem. Then, the renamed file can synchronize with other endpoints. However, the change to the same is that when it is together with the situation, th appears in Not changing, but the same shape is more difficult from I) °, —— potential, 15

200907720 若一個以上的端點獨立地改變相同檔案的名稱,該檔案的 名稱重複在多個端點上改變的一情況可能出現,且變化可 能分歧且不達成一共同狀態,而不是統一成一共同狀態。 在一些實施中,此問題可至少部分藉由使同步化資料 與領域資料分開,然後實現同步化資料在該領域資料(如在 此所述)而處理。在此實施中,該同步化資料不需要遵守定 義或需用於該領域資料的相同限制。其次,此使其較容易 同步化資料來統一在所有端點上的共同狀態。實現該同步 化資料至領域資料的處理然後當作應用由該領域資料所需 限制的部分予以使用,及當作使用更新的同步化資料以通 涫領域t料的至少-些變化的部分予以使用。 最後,瞭解在至少一些實施中,包括先前介紹及在此 描述這些的至少一些問題之存在是與設計相當更「一般化」 的同步技術一樣,其在於該同步化技術設計上係在各種不 同類型資料上操作。即是,在一些情況中,包括與在同步 化系統(操作上係只同步化特定類型資料)中的特定類型資 料有關的限制之特定處理是可能的。然而,可能更困難或 不想要包括此使用可同步各種資料種類的一般同步化技術 之特定處理。結果,當與一般同步化技術一起使用時,例 如在此描述這些的技術(包括在同步化資料與領域資料之 間映射)可提供特別有用的效益。 請即參考第1圖,其係顯示資料可同步及共用的一示 例性系統1 0 0。該示例性系統1 0 0包含端點A 1 1 0、端點 B 1 2 0、與端點C 1 3 0、以及示例性通信構件1 1 5。第1圖的 16200907720 If more than one endpoint independently changes the name of the same file, a situation in which the name of the file is repeated on multiple endpoints may occur, and the changes may be divergent and do not reach a common state, rather than being unified into a common state. . In some implementations, this problem can be addressed, at least in part, by separating the synchronized data from the domain data and then implementing the synchronized data in the domain data (as described herein). In this implementation, the synchronized material does not need to comply with the same restrictions that are defined or required for the data in the field. Second, it makes it easier to synchronize the data to unify the common state across all endpoints. The processing of the synchronized data to the domain data is then used as part of the application to be limited by the data in the field, and as part of the use of updated synchronized data for at least some of the changes in the field of material . Finally, it is understood that in at least some implementations, at least some of the problems, including those previously described and described herein, are the same as the "generalized" synchronization techniques of design, in that the synchronization techniques are designed in a variety of different types. Operation on the data. That is, in some cases, specific processing including restrictions related to particular types of information in the synchronization system (which only synchronizes certain types of data in operation) is possible. However, it may be more difficult or undesirable to include this specific processing using a general synchronization technique that synchronizes various types of data. As a result, techniques such as those described herein, including mapping between synchronized data and domain data, can provide particularly useful benefits when used with general synchronization techniques. Please refer to Fig. 1, which shows an exemplary system 1 0 0 in which data can be synchronized and shared. The exemplary system 100 includes an endpoint A 1 1 0, an endpoint B 1 2 0, an endpoint C 1 300, and an exemplary communication component 1 15 . Figure 16 of Figure 1

200907720 描述係關於其他圖式。然而,應該瞭解,第1圖描述的元 件不是有意限制與關於其他圖式所述的元件一起使用。此 外,雖然第1圖的示例性圖式係表示特定元件,但是在一 些實施中,不是所有這些元件可存在,且在一些實施中, 可存在一些額外元件。 通常,一共用或同步化關係可存在兩或多個端點之 間。一特定共用關係通常是與包含一或多個資料項目、或 只是項目的一組資料有關。當項目做了至少一些種類變化 時,改變的項目或只是變化本身可同步在同步化關係中的 另一端點(或一些端點)。 雖然資料的同步能β各種方法反使用各種技巧與技術 加以實施,但是在至少一些實施中,資料的同步化係至少 部分可藉由將特定資料加至使用類似 RSS(簡易聯合組織 「Really Simple Syndication」或「Rich Site Summary」) 或Atom的一可能廣泛接受的協定所提供的饋給資料予以 實施。例如,在只有彼此通信的兩端點所組成的技術之示 例性實施中,在至少一範例中,例如(或許)端點A 11 0之 發佈者可發佈包含一些類型資訊的一 RSS或Atom饋給。 在(或許)一範例中,該饋給可包括代表目錄與檔案的資 料。在仍然另一範例中,該饋給可代表、包含、或參考任 何其他資料。 在一範例中,例如(或許)為端點C 1 3 0之發佈者可預 約由第一端點所提供的饋給,且當例如第一端點新增一新 檔案、修改一現有檔案等時,可通知發佈者。此外,一預 17200907720 Description is about other schemas. However, it should be understood that the elements depicted in Figure 1 are not intended to be limiting for use with the elements described with respect to other figures. Further, while the exemplary figures of Figure 1 represent particular elements, in some implementations, not all of these elements may be present, and in some implementations, some additional elements may be present. In general, a shared or synchronized relationship can exist between two or more endpoints. A particular sharing relationship is typically associated with a set of materials that contain one or more data items, or just projects. When the project makes at least some kind of change, the changed project or just the change itself can be synchronized to another endpoint (or some endpoint) in the synchronized relationship. Although the synchronization of data can be implemented using various techniques and techniques, in at least some implementations, the synchronization of the data can be at least partially achieved by adding specific data to the use of similar RSS (Simplified Joint Organization "Really Simple Syndication" Or "Rich Site Summary" or feed information provided by Atom's potentially widely accepted agreement. For example, in an exemplary implementation of a technique consisting of only two endpoints communicating with each other, in at least one example, for example, (or perhaps) the publisher of endpoint A 11 0 may publish an RSS or Atom feed containing some type of information. give. In an (and perhaps) example, the feed may include information representative of the catalog and the archive. In still another example, the feed can represent, contain, or reference any other material. In an example, a publisher, such as (perhaps) endpoint C 1 3 0, may subscribe to the feed provided by the first endpoint, and when, for example, the first endpoint adds a new file, modifies an existing profile, etc. The publisher can be notified when. In addition, a pre-17

200907720 約端點可使用與在原始發佈者饋給中提供的相同資 及使用預約者所達成的變更或新增來發佈其自己的 然後,該原始發佈者然後預約此第二饋給。透過這 預約,任一端點所達成的變更可在兩端點所維護的 反映。此外,多個端點可藉由預約由另一端點所提 給之至少一者、且類似發佈其自己的饋給,以參與 相同資料。 在至少一些實施中,在一饋給中的同步資訊, 換資料時,藉由至少特定端點所遵循之處理可為相 似與例如簡單共用擴展(Simple Sharing Extensions 的··協定有關的這些。SSE通常係瞭衔為定義與頰 和Atom的饋給協定、或其他饋給協定或文件一起 延伸或額外資料,其中該等延伸係有關當使用一饋 輸或同步資料時所使用的資訊。在一些情況中,一 Atom、或包括SSE資訊的其他類型饋給可稱為一「 給」。 一協定(例如SSE或另一同步協定)亦可定義端 遵循的程序,所以在一饋給中的同步資訊係遵從一 織,且結果,以同步關係,由其他端點來讀取及使 一範例所示,S S E係指定特定同步資訊,其可存在 一 SSE饋給中的一項目。當建立一新項目時,一端 責確保該適當的S S E資訊係與該新項目有關,且該 訊是在該饋給的正確位置中提供、使用正確的識 等。當例如一端點修改一現有項目、刪除一現有項 料,以 饋給。 些彼此 資料中 供之饋 及共用 及當交 同或類 ,SSE) /.'f T? <? Q 、 a. 使用的 給來傳 RSS、 SSE饋 點所要 特定組 用。如 用於在 點可負 SSE資 別名稱 目、合 18200907720 The approximate endpoint can publish its own using the same capital and the changes or additions made by the subscriber in the original publisher feed. The original publisher then reserves this second feed. Through this appointment, the changes made at either endpoint can be reflected at the ends. In addition, multiple endpoints may participate in the same material by making reservations to at least one of the other endpoints, and similarly publishing their own feeds. In at least some implementations, the synchronization information in a feed, when the data is exchanged, the processing followed by at least a particular endpoint may be similar to, for example, a simple shared extension (Simple Sharing Extensions). SSE It is usually defined as a feed agreement with the cheek and Atom, or other feed agreements or documents that extend or additional information about the information used when using a feed or sync data. In the case, an Atom, or other type of feed including SSE information, may be referred to as a "give." A protocol (such as SSE or another synchronization protocol) may also define a procedure followed by the end, so synchronization in a feed The information is compliant, and as a result, in a synchronous relationship, read by other endpoints and shown in an example, the SSE specifies specific synchronization information, which may exist in a SSE feed. When a new one is created At the time of the project, one end is responsible for ensuring that the appropriate SSE information is related to the new project, and that the message is provided in the correct location of the feed, using the correct knowledge, etc. when, for example, an endpoint Modify an existing project, delete an existing item, and feed it. Some of the information in each other is for feeding and sharing and when it is the same or class, SSE) /.'f T? <? Q, a. Send RSS and SSE feed points to a specific group. For example, it can be used as a negative SSE name in the point.

200907720 併來自其他端點的變更等時,類似S S E的一協定亦可定義 需要特定資料包括在内的其他程序。 在一兩端點發佈及預約的共用關係中,每一端點可進 行項目的「局部」變更,其中對於一些理由而言,一「局 部」變更可為在特定端點上達成的變更,包括例如使用者、 自動化處理等的實體所達成的變更。然後,共用的項目在 兩端點上係保持相同,局部變化可如同饋給的部分予以發 佈。另一端點可維持其自己組的相同項目,及(因為其預約 饋給)可「合併」使用具有其維持的項目組之饋給所暴露之 變化。另一端點亦可進行其自己的局部變化,然後,在發 伟乞後,可由第一端點來結合或合併。 如一特定範例所示,端點A 1 1 0 (或端點B 1 2 0、或包括 未在圖顯示的這些之一些其他端點)可加入與端點 C 130 的一共用或同步化關係。端點A可使一 Atom饋給可用, 包含項目資料及饋給同步化資料。端點C可存取此饋給、 合併或結合在該饋給中的變化至項目的其自己的儲存内, 且接著使其自己的饋給可用。端點A然後預約由端點C所 提供的饋給,及合併由端點C所產生的變化。 在一些實施中,在一共用或同步關係中的一端點可本 身產生或更新在一同步化關係中使用的饋給。例如,一使 用者可使用與端點A 1 1 0有關的應用,以修改接著由端點 A(或許端點C 130)共用及同步的一些資料。為了讓該使用 者所做的變更可用於端點C,端點A可能需要使用該變更 的項目資訊、以及變更的饋給同步化資訊來更新該饋給。 19200907720 When changes are made from other endpoints, an agreement similar to S S E can also define other procedures that require specific information to be included. In a shared relationship where both ends are posted and reserved, each endpoint can make a "partial" change to the project, where for some reason a "local" change can be a change made at a particular endpoint, including for example Changes made by entities such as users and automated processes. Then, the shared item remains the same on both endpoints, and local changes can be issued as part of the feed. The other endpoint can maintain the same project in its own group, and (because its subscription feed) can "merge" the changes exposed by the feed with the project group it maintains. The other endpoint can also make its own local changes, and then, after the wei wei, can be combined or merged by the first endpoint. As shown in a particular example, endpoint A 1 1 0 (or endpoint B 1 2 0, or some other endpoints not shown in the figure) may join a shared or synchronized relationship with endpoint C 130. Endpoint A allows an Atom feed to be available, including project data and feed synchronization data. Endpoint C can access this feed, merge or combine the changes in the feed into its own store of the project, and then make its own feed available. Endpoint A then subscribes to the feed provided by Endpoint C and merges the changes produced by Endpoint C. In some implementations, an endpoint in a shared or synchronized relationship may itself generate or update a feed used in a synchronized relationship. For example, a user may use an application associated with endpoint A 1 10 to modify some of the material that is then shared and synchronized by endpoint A (perhaps endpoint C 130). In order for the user to make changes for Endpoint C, Endpoint A may need to update the feed using the changed project information and the changed feed synchronization information. 19

200907720 在使用S S E的實施中,在該饋給中的饋給同步化資訊可例 如藉由修改一 XML文件予以更新,其係尤其藉由使用一 新的版號更新一特定「版本」屬性、藉由修改與項目有關 的一更新歷史、藉由建立新的 XML元件等以具體實施饋 給。 如在此的使用,同步化資料通常可包含在端點之間的 資料交換、傳輸、或通信。在一特性與非限制性範例中, 當類似S S E的協定用來同步在端點之間的資訊時,該同步 化資料可包含一饋給,其包括SSE資訊。此饋給可本身包 含一或多個饋給項目(或一些饋給資料項目),其在一些情 況中可稱為「同步化資料項目」。在其他實施+,同步化資 料項目(與通常同步化資料)能以包括不使用s S E的各種其 他方法來表示。 在一些實施中,不是所有端點必須建立一饋給及預約 一對應的饋給。例如,一些端點可只發佈(但是不預約)給 與一些特定組資料有關的饋給。此端點可發佈有關由端點 所做局部變化的資訊,但是不合併由任何其他端點所做的 變化。發饰及預約動作的任何其他配置可考慮或實施,此 係取決於特定情節或情況的需要。而且注意,在一些實施 中,若其共用一個以上的資料集,一特定組的兩端點可具 有一個以上的共用關係。在其他實施中,一共用關係可定 義係包括在兩端點之間共用的所有資料,即使其包括一個 以上單一組類型的資料。此外,在一些實施中,雖然一共 用關係可存在兩端點之間,但是一特定組的項目與任何數 20200907720 In an implementation using SSE, the feed synchronization information in the feed can be updated, for example, by modifying an XML file, in particular by updating a particular "version" attribute using a new version number. The feed is specifically implemented by modifying an update history related to the project, by creating a new XML component, and the like. As used herein, synchronized data can typically include data exchange, transmission, or communication between endpoints. In a non-limiting example, when a protocol like S S E is used to synchronize information between endpoints, the synchronization profile can include a feed that includes SSE information. This feed may itself contain one or more feed items (or some feed data items), which in some cases may be referred to as "synchronized data items." In other implementations, the synchronized data item (with the usual synchronization data) can be represented by a variety of other methods including the use of s S E . In some implementations, not all endpoints must establish a feed and reserve a corresponding feed. For example, some endpoints may only publish (but not make reservations) feeds that are related to some specific group of materials. This endpoint can publish information about local changes made by the endpoint, but does not incorporate changes made by any other endpoint. Any other configuration of hair accessories and appointment actions may be considered or implemented depending on the particular circumstances or circumstances. Also note that in some implementations, if more than one data set is shared, the end points of a particular group may have more than one sharing relationship. In other implementations, a shared relationship can be defined to include all of the material shared between the two ends, even if it includes more than one single group type of material. Moreover, in some implementations, although a common relationship may exist between the two ends, a particular set of items and any number 20

200907720 量端點共用及同步亦可能。此可透過端點的各種 局予以達成。如一範例所示,一組的一些數量端 特定端點同步,該特定端點然後與不直接和原始 步資訊的一或多個額外端點予以同步。在此情況 況之至少一些情況中,資訊可在同步端點的整個 織」中同步。 端點A 1 1 0與端點C 1 3 0係顯示在系統1 0 0 由一示例性通信構件11 5 .連接。此一示例性通信 譯為包括可傳輸資料的任何構件,包括任何類型 任何其他種類的傳輸,包括實體媒體的傳輸,類 (CD)或快闕記憶體驅動裝置。端點亦可例如藉由 11 0與端點B 1 2 0之間的連接予以直接連接,如圖 在端點之間共用及同步的資訊可以各種方式 以儲存。在至少一實施中,一端點可區域儲存同 在相同計算裝置或在遠端的一或多個其他計算裝 些情況中,此儲存可由一或多個磁碟機或磁性或 裝置、或藉由可儲存資料的任何機構予以具體實 端存取一些或所有同步的資料,可例如使用一網 通信構件來存取資料。 在一些實施中,一端點可使用例如一電腦' 庫、或其他儲存機構的一資料儲存來儲存共用的 可動態或在特定時監上產生一饋給。在相同或 中,一端點可藉由儲存一檔案在一檔案系統以儲 本身,或許在一 RSS饋給的情況,可藉由儲存一 配置或佈 點可與一 組端點同 或其他情 「網狀組 ,其係藉 構件應解 的網路或 似一光碟 Λ Ik A I所示。 及位置加 步的資料 置。在一 其他儲存 施。當遠 路或其他 實施資料 資料’並 其他實施 存一饋給 XML檔 21200907720 Volume endpoint sharing and synchronization is also possible. This can be achieved through various offices of the endpoint. As shown in an example, some of the number of endpoints are synchronized with a particular endpoint, which is then synchronized with one or more additional endpoints that are not directly related to the original step information. In at least some instances of this situation, information can be synchronized throughout the synchronization endpoint. Endpoint A 1 1 0 and endpoint C 1 3 0 are shown in system 100 connected by an exemplary communication component 11 5 . This exemplary communication is translated into any component that includes transmissible material, including any other type of transmission of any type, including the transmission of physical media, a class (CD) or flash memory drive. The endpoints may also be directly connected, e.g., by a connection between the endpoint 10 and the endpoint B 1 2 0. The information shared and synchronized between the endpoints may be stored in various ways. In at least one implementation, an endpoint may be stored in the same computing device or in one or more other computing devices at the remote end, the storage may be by one or more disk drives or magnetic or devices, or by Any organization that can store data can access some or all of the synchronized data in a specific real-time manner, for example, using a network communication component to access the data. In some implementations, an endpoint may use a data store such as a computer 'library, or other storage facility, to store a shared dynamic or generate a feed on a particular time. In the same or medium, an endpoint can store itself in a file system to store itself, perhaps in the case of an RSS feed, by storing a configuration or placement point with a set of endpoints or otherwise The group is represented by the network to be solved by the component or as shown in the CD-ROM Ik AI. The location is added to the data. In other storage applications, when the remote or other implementation data is 'and other implementations are saved Give XML file 21

200907720 案等。 在此系統顯示的每一端點可代表一些泛用或專屬電 腦,包括桌上型電腦、伺服器電腦、筆記型電腦、工作站 電腦、行動或蜂巢式電話、連接的個人數位助理(PDA, person digital assistant)等。在至少一些實施中,一端點可 由一計算環境實施,包括關於下面第5圖討論的示例性計 算環境。 請即參考第2圖,其係顯示包括當合併同步化資料在 一端點時,可執行不同操作的一示例性一般化操作流程 2 0 0,包括實現同步化資料至領域資料。下面第2圖的描述 係Η於其他圖式。然而,應該瞭解,關於第2图楛述豹標 作流程並未限制與關於這些其他圖式描述的元件一起使 用。此外,雖然第2圖的示例性操作流程係表示執行的特 殊順序,但是在一或多個替代具體實施例_,操作可為不 同順序。此外,雖然該示例性操作流程包含多個步驟,但 是應該明白,在一些實施中,這些操作的至少一些可組合 或同時執行,且在相同或其他實施中,一些步驟不可執行。 在操作2 1 0的示例性實施中,同步化資料可透過各種 構件以從一些位置獲得,包括另一端點。例如,在使用同 步化資料的一或多個饋給的實施(例如使用S S Ε的一實施) 中,操作2 1 0的一實施的至少部分係包含一饋給文件的擷 取,其包括項目資訊、以及饋給同步化資料元件。此一饋 給文件可由執行示例性操作流程2 0 0的至少一些操作的端 點予以取回,例如藉由執行一 HTTP GET請求,或透過一 22200907720 case, etc. Each endpoint displayed on this system can represent some general purpose or proprietary computers, including desktop computers, server computers, notebook computers, workstation computers, mobile or cellular phones, and connected personal digital assistants (PDA, person digital Assistant). In at least some implementations, an endpoint can be implemented by a computing environment, including the exemplary computing environment discussed with respect to Figure 5 below. Referring now to Figure 2, there is shown an exemplary generalized operational flow 200 that includes performing different operations when merging synchronized data at an endpoint, including implementing synchronized data to domain data. The description of Figure 2 below is based on other drawings. However, it should be understood that the process of the Panther Marking in Figure 2 is not limited to use with the elements described in relation to these other figures. Moreover, while the exemplary operational flow of Figure 2 represents a particular order of execution, in one or more alternative embodiments, the operations may be in a different order. Moreover, while the exemplary operational flow includes multiple steps, it should be understood that in some implementations, at least some of these operations may be performed in combination or concurrently, and in the same or other implementations, some steps may not be performed. In an exemplary implementation of operation 210, the synchronized material may be obtained from a variety of locations, including another endpoint, through various components. For example, in an implementation of one or more feeds that use synchronized data (eg, an implementation using SS )), at least a portion of an implementation of operation 210 includes a feed of a feed file, including items Information, as well as feeds to synchronize data components. This feed file can be retrieved from an end point that performs at least some of the operations of the exemplary operational flow 200, such as by performing an HTTP GET request, or by a 22

200907720 些其他網路或其他資料取回操作。在相同或其他具體 例中,該同步化資料可傳遞或提供給該端點。在一些 中,該同步化資料可藉由類似關於下面第4圖所述的 饋給422或輸入饋給N 424、其兩者來表示。 在操作2 1 5的至少一實施中,獲得的同步化資料( 已由執行操作 2 1 0獲得的資料)可結合或合併由該端 維護的同步化資料。在至少一些實施中,獲得的外部 來同步資料與該區域同步化資料的合併可使用一或多 步技術來執行。在一些實施中,此技術可識別至少一 在性的同步化問題。例如,當多個端點獨立地修改一 項3時,可被識別的一類型問題可能發生,旦可紇需 一步檢查或處理,所以例如當儲存在另一端點上的 時,在一端點所做的變更不會被覆寫或遺失。在一些 中,一合併操作可由或關於一同步模組(其係相同或類 同步模組4 2 0)加以執行,並造成該輸入同步化資料與 存、或使用一同步化資料儲存模組4 3 0產生可用的同 資料之結合或合併,其兩者是在下面參考第4圖加以| 例如,在使用S S E的一實施中,操作2 1 5的至少 施可包含使用作為合併饋給的S S E技術,以合併一輸 給與一區域饋給。例如,在一些示例性實施中,如同 2 1 0的部分所獲得的同步化資料可為一「外來饋給」, 執行的項目更新可在使用類似一同步化資料儲存模組 等之某物所維護的區域饋給儲存上進行操作。例如(且 制),在至少一實施中,一區域維護的饋給文件可在 實施 實施 輸入 包括 點所 或外 個同 些潛 特定 φ -*s 變化 實施 似於 已儲 步化 §述。 一實 入饋 操作 區域 430 非限 操作 23 200907720 Ο 2 1 5的執行期間更 文新,所以該區域維護的 輸入或外來的饋給中所代表或具體實: 在一些實施中,雖然操作215係合併 執行至少一此链认* —3外處理(類似識別可使用 給同步化資料所決定 ^决疋的衝突),但是在至少— 定的其他操作不能 能如冋刼作2 1 5的部分加 操作215的至少_此者 二a施中執行的一操作 步化資料至領域資M + 只埤貧枓之處理,其在此實施的 中,可由在示例性操作流程200中的其他極 括操作230。 # 在完成操作215的實施之後,在從另— 步化資料中所具體實施之變化或修改可認為 在該區域同步化資料。即I,例# ,在另— 及在操作2 1 0中所獲得的同步化資料通信的 已合併至對應的區域同步化資料。如—特定 在操作2 1 0獲得的同步化資料係代表目錄與 有檔案的變化是在獲得的同步化資料中表示 執行可合併變化至該同步化資料的區域表示 同步協定或用來合併資料之技術所提供的其 運用。例如,若該合併處理可決定當— 喝目 獨立修改’在至少—些情況中s s E所持有、 目可此已識別或標記。例如,在使用Me j 目可認為一 SSE衝突。 的 給文件 的至少 步化資 —饋給 些實施 執行。 包括音 端 已 端 項 範 已在多 一能力 實施中 係合併 一些變 料,及 中的饋 中,特 不能在 現該同 些實施 行,包 传的同 及反映 所達成 變更現 示,若 且一現 215的 地,該 可能已 端點上 ’此項 ’此項 24200907720 Some other network or other data retrieval operations. In the same or other specific examples, the synchronized material can be delivered or provided to the endpoint. In some of these, the synchronization data can be represented by a feed 422 or an input feed N 424 similar to that described in relation to Figure 4 below. In at least one implementation of operation 215, the obtained synchronized material (the material that has been obtained by performing operation 210) may combine or merge the synchronized data maintained by the terminal. In at least some implementations, the combination of the obtained external synchronization data and the region synchronization material can be performed using one or more techniques. In some implementations, this technique can identify at least one synchronization issue. For example, when multiple endpoints modify an item 3 independently, a type of problem that can be identified may occur, and may need to be checked or processed in one step, so for example, when stored on another endpoint, at an endpoint Changes made will not be overwritten or lost. In some cases, a merge operation may be performed by or with respect to a sync module (which is the same or a sync module 410), and causes the input to synchronize data and save, or use a synchronized data storage module 4 30 0 produces a combination or combination of the same data available, both of which are referred to below with reference to Figure 4 | For example, in an implementation using SSE, at least the operation of Operation 2 1 5 may include the use of SSE as a combined feed Technology to combine one loss with an area feed. For example, in some exemplary implementations, the synchronized data obtained as part of the 210 may be an "external feed", and the executed project update may be performed using something similar to a synchronized data storage module. The maintained area feeds the store for operation. For example, in at least one implementation, a region-maintained feed file may be implemented in an implementation input including a point or a different potential specific φ -*s change as implemented in a stored procedure. A real feed operation area 430 is not limited to operation 23 200907720 Ο 2 1 5 is more innovative during the execution, so the input or external feed of the area is represented or concretely: In some implementations, although in operation 215 Merging and executing at least one of the links *3 external processing (similar to identifying the conflicts that can be determined by using the synchronization data), but at least the other operations cannot be used as part of the 2 1 5 At least one of the operations of step 215 of the operation 215 is performed to the domain resource M + only the process of barrenness, which in this implementation may be performed by other extreme operations in the exemplary operational process 200 230. # After completing the implementation of operation 215, changes or modifications implemented in the alternative data may be considered to synchronize the data in the area. That is, I, Example #, in another, and the synchronized data communication obtained in operation 2 1 0 have been merged into the corresponding region synchronization data. For example, the synchronization data obtained in operation 2 1 0 represents that the directory and the file change are in the obtained synchronization data, and the area indicating the execution of the mergeable change to the synchronization data indicates a synchronization agreement or is used to merge data. The use of technology. For example, if the merging process can determine that the s s E is held in at least some of the cases, the identities are identified or marked. For example, using a Me j can be considered a SSE conflict. The at least step-by-step funding of the document is fed to the implementation. Including the audio end of the term has been merged in the implementation of more than one capability, and the feeds in the middle, especially in the same implementation line, the same as the transmission and reflect the changes achieved, if A 215-day land, the possible end of the 'this item' item 24

200907720 然而,雖然該區域同步化資料已更新,但是此 未實現、映射、或者用來更新對應的領域資料,包 典型使用的一使用者、處理或其他實體之領域資料 步目錄與檔案資訊的範例中,雖然該目錄與檔案資 區域同步化資料表示可能已更新,所以現有檔案的 前是在區該域同步化資料中表示,但是這些變化可 實現在實際的檔案系統物件或檔案系統元件的領域 例如目錄與檔案。 因此,在操作220的至少一實施中,其決定是 何同步化資料項目要如同實現同步化資料項目至領 項目的部分加以處理。若有項3要處理.示丨?〗性:¾ 200可進行如下述的操作225。若沒有更多項目要處 例性操作流程可結束。在至少一些實施中,在操作 第一執行期間,在該區域同步化資料中所代表的所 項目可能仍尚未處理。例如,在使用S S E且其中] 料項目是在該區域同步化資料中表示的實施中,當 操作220時,可能有10個項目要處理。在其他實施 過使用各種篩選器或其他構件,只有從該區域同步 選擇的特定項目可認為要處理。在一些實施中,在操 的隨後反覆期間,先前處理的項目認為不再需要處 相同或其他實施中,可決定已處理的項目是否需要 理,即是,例如,在一些情況中,一項目可被處理 次以上。為了各種理由,可決定同步化資料項是否 外處理,包括實現相同或其他同步化資料項目至領 資料尚 括可能 。在同 訊的一 變更目 能仍未 資料* 否有任 域資料 作流程 理,示 220的 有資料 0個資 先執行 中,透 化資料 作22 0 理。在 額外處 超過一 需要額 域資料 25200907720 However, although the area synchronization data has been updated, this is not implemented, mapped, or used to update the corresponding domain data. The sample is typically used by a user, processing or other entity. In the case that the directory and the archive area synchronization data representation may have been updated, the existing file is previously represented in the domain synchronization data, but these changes can be implemented in the field of actual file system objects or file system components. For example, directories and files. Thus, in at least one implementation of operation 220, it is determined how the synchronized data item is to be processed as part of implementing the synchronized data item to the lead item. If there is an item 3 to be processed, the following: Operation 225 can be performed as follows: 3⁄4 200. If there are no more projects, the process can be ended. In at least some implementations, during the first execution of the operation, the item represented in the area synchronization material may still have not been processed. For example, in an implementation where S S E is used and where the item is represented in the area synchronization material, when operation 220, there may be 10 items to process. In other implementations, various filters or other components are used, and only specific items selected from this area are considered to be processed. In some implementations, during subsequent iterations of the operation, the previously processed items are deemed to no longer need to be in the same or in other implementations, and it may be determined whether the processed items are in need of care, ie, for example, in some cases, an item may be It is processed more than once. For various reasons, it may be decided to synchronize the data items for external processing, including the possibility of implementing the same or other synchronized data items. In the case of a change in the same information, there is still no data*. If there is any data in the process, the data in the 220 is displayed in the first instance, and the data is transmitted in the middle. In the extra place, more than one, the required amount of information, 25

200907720 項目的部分或結果。 在操作2 2 5的至少一示例性實施中,在一區域同步 資料中的一或多個項目可認為將在操作2 3 0的隨後執行 進一步處理的項目。在一些實施中,每次只有單一項目 被識別。在其他實施(包括可實現多個同步化資料項目在 一領域資料項目)中,當操作2 2 5執行時,一個以上的同 化資料項目可被識別。 如一範例所示,在同步目錄與檔案資訊的一實施中 每次執行操作 2 2 5,在該區域同步化資料中的一新目錄 檔案可被識別。在相同或其他目錄與檔案實施中,多個 曰可在操作2 2 5的一些執行中識;^。例如,當識別一目 時,操作2 2 5的一實施亦可識別或嘗試識別位在目錄中 檔案。當檔案的上層目錄亦實現至領域資料時,此允許 如檔案實現至領域資料。 最後,在操作230的一或多個實施中,在操作225 別的同步化資料項目(或一些項目)可實現在一或多個領 資料項目。通常,藉由使用在同步化資料項目中包含的 少一些資訊以建立或修改該相關的領域資料項目,一或 個同步化資料項目可實現在一或多個領域資料項目。操 2 3 0的實施與一領域資料項目建立或修改的特定方式、 使用資料如何或多麼與一同步化資料項目有關通常係至 部分取決於該同步化資料項目與領域資料項目的特徵。 外,在至少中一些實施中,操作2 3 0可至少部分藉由一 現模組(例如示例性實現模組440或實現模組442,兩者 化 中 可 單 步 j 或 項 錄 的 例 識 域 至 多 作 或 少 此 實 是 26 200907720 在下面關於第4圖中描述)而實施。 如一範例所示,考慮一同步化資料項目代表一檔案的 情況,該同步化資料項目係包含描述檔案中間資料中的文 字,且位在一 XML饋給文件(其亦可包括SSE資訊)中,且 該檔案的内容亦位在該XML文件(或許當内容為文字),或 是以二進資料表示,且位在由該饋給(Feed)文件中的資料 所參考的一些其他位置。在此情況中,在至少中一些實施 中,對應至此同步化資料項目的領域資料項目在一檔案系 統中可為一實際的檔案。在此範例中,實現一同步化資料 項目在一領域資料項目可包括(或許)使用由一檔案系統或 作業系統提供的一應用程式界面(‘m’’, programming interface)來建立一新的標案,其具有在該同 步化資料項目中提供,或該由同步化資料項目所參考的檔 案中間資料與内容。若此檔案已存在,實現該同步化資料 項目可包括更新與該檔案有關的資訊,包括該檔案中間資 料或檔案内容,所以是與該同步化資料項目一致。對於其 他類型的資料、其他同步化資料表示、其他領域資料項目 等而言,實現一同步化資料項目至一領域資料項目可不同 地處理。 雖然此實現操作在至少一些情況係足夠,但是在其他 環境中,可能需要額外的處理來實現一同步化資料項目至 一領域資料項目。此其他情況可包括一些環境(包括在先前 介紹或討論之至少一些範例中的環境),其中在有關同步化 資料的功能性、支援或表示與有關領域資料的功能性、支 27200907720 Part or result of the project. In at least one exemplary implementation of operation 2 2 5, one or more items in a region synchronization profile may be considered to be subsequently processed for further processing at operation 230. In some implementations, only a single item is identified at a time. In other implementations, including the ability to implement multiple synchronized data items in a field data item, more than one assimilated data item can be identified when operation 2 2 5 is performed. As shown in an example, each time an operation 2 2 5 is performed in an implementation of the synchronization directory and file information, a new directory file in the area synchronization data can be identified. In the same or other directory and file implementations, multiple 曰 can be identified in some implementations of Operation 2 2 5; For example, when identifying a item, an implementation of operation 2 2 5 may also identify or attempt to identify a file in the directory. When the upper directory of the file is also implemented to the domain data, this allows for the implementation of the file to the domain data. Finally, in one or more implementations of operation 230, one or more of the leader items may be implemented at operation 225 with other synchronized data items (or items). Typically, one or more synchronized data items can be implemented in one or more domain data items by using less information contained in the synchronized data items to create or modify the relevant domain data items. The specific way in which the implementation of Operations 230 is related to the establishment or modification of a data item in a field, how or how the usage data relates to a synchronized data item is usually dependent in part on the characteristics of the synchronized data item and the domain data item. In addition, in at least some implementations, operation 230 may be performed at least in part by a current module (eg, exemplary implementation module 440 or implementation module 442, which may be a single step j or an entry description) The domain is at most or less. This is actually implemented by 26 200907720 as described below in relation to Figure 4. As shown in an example, consider a case where a synchronized data item represents a file, the synchronized data item includes text describing the intermediate data of the file, and is located in an XML feed file (which may also include SSE information). And the content of the file is also located in the XML file (perhaps when the content is text), or in binary data, and in some other location referenced by the data in the feed file. In this case, in at least some of the implementations, the domain data item corresponding to the synchronized data item can be an actual file in an archive system. In this example, implementing a synchronized data item in a domain data item may include (or perhaps) using a program interface ('m'', a programming interface provided by a file system or operating system to create a new standard. The file has intermediate data and content provided in the synchronized data item or referenced by the synchronized data item. If the file already exists, implementing the synchronized data item may include updating the information related to the file, including the file intermediate material or file content, so it is consistent with the synchronized data item. For other types of data, other synchronized data representations, other field data items, etc., the implementation of a synchronized data item to a domain data item can be handled differently. While this implementation is sufficient in at least some cases, in other environments additional processing may be required to implement a synchronized data item to a domain data item. This other case may include some environments (including those in at least some of the examples previously introduced or discussed), where the functionality, support or representation of the data in the relevant field is functional, and support.

200907720 援、或表示之間存在差異。例如,此差異之一範例(再次如 先前的介紹)可為當在同步化資料中允許的有效字元集係 不同於或大於在對應的領域資料中允許的有效字元集。 當存在此差異時,可能需要超過只傳輸或複製一同步 化資料項目的元件至一對應的領域資料項目。例如,在一 些情況中,來自該同步化資料項目的資訊可能需要修改, 所以對應的領域資料項目是有效。 此外,該資料的此修改可能需要以不修改該同步化資 料項目的此方式來執行,且當該領域資料項目的變化稍後 用來更新或產生一新的同步化資料項目時,將不修改,以 识當同步其他端點之時使用》以此方法改變領域資料項S 可例如使其他端點完全使用該同步化資料,即使當一特定 端點只可支援例如一更有限的表示、更有限的功能等。 在該領域資料修改時或稍後當同步化資料產生供與另 一端點通信時,修改該領域資料而無需修改該同步化資料 之一方式可使用記錄如何修改或改變該領域資料項目的某 種資料結構,以用於一特定同步化資料項目或一些項目。 稍後當產生同步資料時,然後可使用此資料結構,(或許) 以識別該原始同步化資料項目(或一些項目),或「顛倒」 如實現該同步資料至領域資料的部分所做的變更或一些變 更。 如一範例所示,再次考慮該同步化資料代表目錄與檔 案的情況,及存在一特定端點上的一或多個各種限制或不 一致。在此範例中,實現目錄與檔案同步化資料至一領域 28 200907720 資料表示的部分可包括決定該同步化資料在一些方法中是 否與一領‘域資料表示所需的限制不一致或違背,且若確 證,修改該領域資料項目或一些項目,並記錄所做的修改 或一些修改。明確地係,例如,假設該同步化資料中通信 的檔案具有的名稱係使用不在一特定檔案系統上支援的字 元。實現此同步化資料項目的部分可包括例如建立具有不 同名稱的一實際檔案,及再次記錄如何改變該領域資料項 目(例如檔案)。此記錄的資料然後例如稍後使用,且如下 有關第3圖的更詳細描述,如同決定如何產生或更新與其 他端點通信的一同步化資料項目的部分。 如酋面的介紹,當實現同步化資料至領域.資料時,可 決定需要的領域資料的各種修改,此係取決於與該同步化 資料、該領域資料、可執行實現的端點或一些端點等有關。 當需要一或多個修改時,實現該同步化資料至領域資料的 部分可包括修改該領域資料來解決此不一致,以實施限制 等。 在目錄與擋案同步化資料的範例中,及在各種其他範 例中,額外的情況可能在需要修改該領域資料的實現期間 出現。當該領域資料包含是在一或多個階層中構成的資訊 時,這些情況之至少三者可能出現,但是其中,在至少一 些實施(包括使用SSE的一些格式的這些)中,該同步化資 料只由一 「單調」資料列表所組成,而沒有階層的固有概 念。在此環境中、或在其他環境中,一階層表示之方式可 在每一同步化資料項目上使用一或多個額外資料的欄位以 29200907720 There is a difference between aid or representation. For example, an example of this difference (again as previously introduced) may be when the set of valid characters allowed in the synchronized material is different or greater than the set of valid characters allowed in the corresponding domain material. When this difference exists, it may be necessary to exceed the transmission or copying of a component of a synchronized data item to a corresponding domain data item. For example, in some cases, information from the synchronized data item may need to be modified, so the corresponding domain data item is valid. In addition, this modification of the material may need to be performed in this manner without modifying the synchronized data item, and will not be modified when changes to the domain data item are later used to update or generate a new synchronized data item. In order to use when synchronizing other endpoints, the method of changing the domain data item S can, for example, enable other endpoints to fully use the synchronized data, even when a particular endpoint can only support, for example, a more limited representation, Limited features, etc. When the domain data is modified or later when the synchronization data is generated for communication with another endpoint, modifying the domain material without modifying one of the synchronization materials may use the recording to modify or change the data item of the domain. The data structure is used for a specific synchronization data project or some projects. Later, when synchronizing data is generated, this data structure can then be used, (perhaps) to identify the original synchronized data item (or some items), or "reverse" the changes made as part of implementing the synchronized data to the domain data. Or some changes. As shown in the example, again consider the case where the synchronized data represents a directory and a file, and there are one or more various restrictions or inconsistencies on a particular endpoint. In this example, the implementation of the directory and file synchronization data to a field 28 200907720 data representation may include determining whether the synchronization data is inconsistent or inconsistent with the required limits of a domain data representation in some methods, and if Confirm, modify the data project or some projects in the field, and record the changes or some modifications. Specifically, for example, assume that the file being communicated in the synchronized material has a name that uses characters that are not supported on a particular file system. Portions of implementing this synchronized data item may include, for example, creating an actual file with a different name, and again recording how to change the field data item (e.g., file). This recorded material is then used, for example, later, and as described in more detail below with respect to Figure 3, as part of a synchronized data item that determines how to generate or update communications with other endpoints. As introduced by the Emirates, when synchronizing data to the domain. The data can be used to determine various modifications of the required domain data, depending on the synchronization data, the domain data, the executable implementation endpoint or some end. Points are related. When one or more modifications are required, implementing the portion of the synchronized data to the domain data may include modifying the domain data to resolve the inconsistency, implementing restrictions, and the like. In the example of directory and file synchronization data, and in various other examples, additional situations may arise during the implementation of the material in need of modification. At least three of these situations may occur when the domain material contains information that is composed in one or more classes, but wherein, in at least some implementations (including those using some of the SSE formats), the synchronization data It consists of only a "monotonous" list of materials, without the inherent concept of hierarchy. In this environment, or in other environments, a hierarchical representation can use one or more additional fields of information on each synchronized data item.

200907720 儲存項目的「上層」。隨著此實施,位在一目錄的標案的 步化資料可具有在一特定資料欄位中的資料,包含例如 錄名稱、目錄ID、或允許推論來自一非階層資料表示的 層組織的一些其他資訊。 雖然此實施允許階層資料的表示,但是其亦可能發 矛盾、不一致、或其他情況,其當實現同步化資料至領 資料時,需要修改領域資料。這些問題可包括孤兒、複集 循環或其他問題。大體上,這些問題可為當根本的同步 術(例如,如在操作 2 1 5,合併同步資料的這些)獨立地 在同步化資料的構件或使用時,可能發生的至少一些問 6¾特定範钶。即是,當根本的同步技衝不必然支援或具 在該領域資料中存在的領域特定關係的知識時,這些問 可存在至少一些實施中。如先前的解釋,大體上,當實 同步化資料至領域資料時,這些種類問題的至少一些問 可藉由修改領域資料來解決。 例如,在一些實施中,至少在檔案系統中的一檔案 能需要位在一目錄,且如此可能需要具有一「父親」。沒 上層的檔案(或目錄)可認為是「孤兒j。雖然當一使用者 處理直接與檔案系統物件互動時,一作業系統可避免建 孤立的檔案或目錄,但是當同步目錄與檔案資訊時,可 建立孤兒。例如,假設一使用者將一槽案加入一目錄, 另一使用者(在另一端點上,且在同步最近新增的檔案之 刪除相同目錄。若第二使用者然後同步,且如此接收最 新增的檔案,最近新增的檔案將會是孤兒,因為其上層 同 a 階 生 域 Λ 技 存 題 有 題 現 題 可 有 或 立 能 而 前) 近 目 30200907720 Save the "upper layer" of the project. With this implementation, the step data of the standard located in a directory may have data in a particular data field, including, for example, a record name, a directory ID, or some layer structure that allows for inference from a non-hierarchical data representation. Other information. Although this implementation allows for the representation of class information, it may also create contradictions, inconsistencies, or other circumstances that require domain information to be modified when synchronizing data to the leader. These issues can include orphans, collection loops, or other issues. In general, these problems can be at least some of the specific parameters that may occur when the underlying synchronization (eg, as in Operation 215, Merging Synchronous Data) independently synchronizes the components or use of the data. . That is, when the underlying synchronization technique does not necessarily support or have knowledge of domain-specific relationships that exist in the domain data, these questions may exist in at least some implementations. As explained earlier, in general, when real-time synchronization of data to domain data, at least some of these types of questions can be resolved by modifying domain data. For example, in some implementations, at least one file in the file system may need to be in a directory, and thus may need to have a "father." The file (or directory) without the upper layer can be considered as an orphan j. Although an operating system can avoid the construction of isolated files or directories when a user directly interacts with the file system object, when synchronizing the directory and file information, An orphan can be established. For example, suppose a user adds a slot to a directory, and another user (on the other endpoint, and synchronizes the newly added files to delete the same directory. If the second user then synchronizes, And so to receive the most newly added files, the newly added files will be orphans, because the upper layer and the a-level domain Λ 存 有 有 有 现 现 现 现 现 现 近 近 近 近 近 近 近

200907720 錄不再存在於第二端點。 孤立檔案系統物件的問題能以各種方式加以解決。在 一範例中,當其同步化資料實現至領域資料時,該孤立的 檔案可移動,所該以領域資料項目(實際的檔案)係放置或 位在該檔案系統的「保留區」或一些特定位置,例如一特 定目錄。此變化只能從實現該同步化資料的端點的觀點達 成。即是,同步化該資料本身不可改變,且從使用相同同 步化資料的其他端點的觀點,該目錄可能仍然被刪除,且 最近新增的檔案可仍然存在。此外,一不同的實現處理(或 許一實現處理係與一網投影一起使用,且其儲存檔案在資 料序的一非階層式列表中,見只將目錄肇作楫錢栲案名稱 使用)係不認為全然是一爭論點或問題的沒有上層目錄。 在一些範例(例如該領域資料包含一實際的檔案系 統、或具其他類型的領域資料)中,亦可通知該使用者有關 特定的檔案為孤兒。該使用者然後可採取一些特定動作, 例如移動該檔案至未被刪除的目錄、刪除該檔案等,其可 能決定性地解決不一致。一使用者採行的此動作通常領域 資料所做的局部變化,且同樣地,該變化(或該改變的領域 資料)然後包括在更新的同步化資料,並同步其他端點(如 在下面有關第3圖的更詳細解釋)。 當例如位在相同目錄的具相同名稱的一檔案在多個端 點上建立時,另一潛在性問題可能出現。當此檔案同步時, 該同步化資料然後表示具有相同名稱的檔案存在相同目 錄,其不是由許多檔案系統所允許。(然而,正如孤立檔案 31200907720 Record no longer exists at the second endpoint. The problem of isolated file system objects can be solved in various ways. In an example, when the synchronized data is implemented to the domain data, the isolated file can be moved, and the domain data item (actual file) is placed or located in the "reserved area" or some specific of the file system. Location, such as a specific directory. This change can only be achieved from the point of view of the endpoint that implements the synchronized data. That is, the synchronization of the material itself is immutable, and from the point of view of other endpoints that use the same synchronization data, the directory may still be deleted, and recently added files may still exist. In addition, a different implementation process (perhaps an implementation processing system is used with a network projection, and its storage file is in a non-hierarchical list of data sequences, see only using the directory as a money file name) There is no upper-level directory that is considered to be a matter of debate or problem at all. In some examples (for example, the field data contains an actual file system, or other types of domain data), the user may also be notified that the particular file is orphaned. The user can then take some specific actions, such as moving the file to a directory that has not been deleted, deleting the file, etc., which may decisively resolve the inconsistency. This action taken by a user typically makes local changes in the domain data, and as such, the change (or the changed domain data) is then included in the updated synchronization data and synchronized with other endpoints (as described below) A more detailed explanation of Figure 3). Another potential problem may arise when, for example, a file with the same name located in the same directory is created on multiple endpoints. When this file is synchronized, the synchronized material then indicates that the file with the same name exists in the same directory, which is not allowed by many file systems. (However, just as isolated files 31

200907720 的範例,具相同名稱的檔案不可能為具一些類型領 的問題。)在一檔案系統實現的情況中,複製檔案的 能以各種方式解決。在一範例中,該等複製之一者 些方式選擇,或許藉由選擇具較高SSE識別碼的項 後移至保留區,類似一特定目錄。結果,該檔案系 包含一檔案在該原始目錄,且具相同名稱的另一檔 另一目錄。.此外,如前述,一使用者、處理或其他 後可評估檔案,及決定是否應該採取任何進一步動 動作可包括重新命名一或兩檔案,移動一或兩檔案 位置,刪除一檔案等。且最後,類似前述,此使用 該領域資料然後產生至少一些實施對應同步化資 改、及同步其他端點的變化或一些變化。 然而,另一潛在性檔案系統問題為「循環」,當 (例如,「目錄A」)為在一端點上的「目錄B」的子 雖然同時或至少在兩端點同步資料之前,「目錄B」 另一端點上的「目錄A」的子代。一檔案系統可需 檔案系統階層組織中的所有檔案系統物件或檔案系 最後係來自一根物件或元件,且一循環係違背此需 向解決此不一致性可將包含循環的檔案系統物件移 留區或特定目錄。同前,可通知一使用者有關此變 後能夠決定性地解決問題,或許藉由將檔案重新安 保留區。 在另一檔案系統例中,一些檔案系統可允許一 括多個或交替的資料「流」或資料集,而不是只為 域資料 問題可 能以一 目,然 統然後 案是在 實體然 作。此 至不同 者修改 料的修 一目錄 代時, 可為在 要在一 統元件 要。單 至一保 化,然 置在該 檔案包 一資料 32 200907720In the example of 200907720, an archive with the same name cannot be a problem with some type of collar. In the case of a file system implementation, copying files can be resolved in a variety of ways. In one example, one of the copies is selected in some manner, perhaps by selecting an item with a higher SSE identification code and then moving to a reserved area, similar to a particular directory. As a result, the file contains a file in the original directory and another directory with the same name. In addition, as described above, a user, processing or other post-evaluable file, and deciding whether to take any further action may include renaming one or two files, moving one or two file locations, deleting a file, and the like. And finally, similar to the foregoing, this uses the domain data and then generates at least some implementations of corresponding synchronization changes, and synchronization of other endpoint changes or changes. However, another potential file system problem is "looping" when (for example, "directory A") is a child of "directory B" on an endpoint, although at the same time or at least at both ends, the data is synchronized, "directory B" The child of "Directory A" on the other endpoint. A file system may require all file system objects or file systems in the file system hierarchy to come from an object or component, and a loop is in violation of this need to resolve this inconsistency and may include a loop file system object transfer area. Or a specific directory. As before, a user can be notified of this change to be able to resolve the problem decisively, perhaps by re-arranging the file. In another file system example, some file systems may allow for multiple or alternating data streams or data sets, rather than just for domain data problems, and then the case is in the entity. This is a sub-catalog of different revisions, which can be used in a unified component. Single to one guarantee, and then in the archives. A data 32 200907720

流或資料集。在沒有使用包括交換資料流的檔案操作的處 理,一同步化系統可實施,所以其只支援具有單一資料流 的檔案,不允許亦包含交換資料流的檔案。然而,在同步 化資料實現至領域資料的一實施中,可支援具交換資料流 的檔案或甚至與本質不支援此檔案的端點同步。例如,在 支援具交換資料流的檔案的端點上,可建立只有單一檔案 (亦包含交換資料流)。然而,在使用不支援交換資料流的 檔案系統的一端點上,在同步化資料中的交換資料流資訊 可實現在額外與單獨的檔案。(此外,如有下面有關第3 圖的描述,當產生同步化資料時,額外與單獨的檔案可用 來t .峰代表具交換資料流的單一檔案之同步化資斜)。 應該再次注意,雖然許多先前(與隨後)的操作及其他 元件已參考討論在端點之間的目錄與檔案同步化的特定範 例予以解釋,但是此描述的技術並未限於此實施,並適於 不同的其他使用,包括作為各種其他類型資料的同步化。 如另一類型的同步化資料與領域資料的一範例所示, 一内容管理或網誌(blog)系統可同步化高階物件或文件、 以及有關每一物件或文件的所做的評論。在此範例中,可 代表文件或評論的文字,假定如在使用S SE的一 RS S饋給 中的一項目。此外,各種限制可存在例如條文與評論之間。 例如,至少當在一使用者介面表示時,每一評論可能需要 與一最高階條文或文件有關。當實現同步化資料時,則不 與最高階條文或文件有關的評論可被加註旗標以供進一步 審查,且可能或許不顯示。 33 200907720 一同步化系統(其中實現同步化資料至領 有用)的另一範例可包括以一或多個特定語言 之一示例性系統。在此實施中,藉由使用一些 在端點上實現此同步化資料至領域資料之部分 從一語言轉換成另一語言的資訊。同樣地,在 言中提供的資訊可在實現處理期間轉換成第 訊。如此實施的一特定範例所示,一使用者可使 印度)語言來建立一文件。該文件可同步由閱讀 使用者操作的一些另一端點。如同實現文件在 端點的處理之部分,文件中的資訊可從Hindi 箪語。或許,在相同實施中,第二使用者建 之文件可同步第一使用者。然後,如同在閱讀 的使用者的端點上實現文件的部分,該文件中 英文轉換成Hindi語言。 請即參考第3圖,其係顯示包括不同操作 一般化操作流程 3 0 0,當產生同步化資料供與 信時,可執行該等不同操作,包括使用先前實 料以產生同步化資料。下列第3圖描述是與 關。然而,應該瞭解,有關第3圖描述的操作 限制與有關這些其他圖式所述元件一起使用。 第3圖的示例性操作流程係表示執行的特定順 一或多個替代具體實施例中,可不同順序進行4 雖然該示例性操作流程包含多個步驟,但是應 一些實施中,這些操作的至少一些可組合或同 域資料可能 以同步資訊 其他語言, 包括將資訊 一些其他語 一語言的資 用Hindi(北 英文語言的 第二使用者 語言轉換成 的英文資邻. Hindi語言 的資訊可從 的一示例性 其他端點通 現的領域資 其他圖式有 流程並非要 此外,雖然 序,但是在 喿作。此外, 該明白,在 時執行,而 34Stream or data set. A synchronization system can be implemented without the use of a file operation including an exchange of data streams, so that it only supports files with a single data stream, and does not allow files that also exchange data streams. However, in an implementation of synchronized data implementation to domain data, files with exchanged data streams can be supported or even synchronized with endpoints that do not support this file. For example, on an endpoint supporting a file with an exchange stream, only a single file (including an exchange stream) can be created. However, on an endpoint using a file system that does not support the exchange of data streams, the exchange of stream information in the synchronized data can be implemented in additional and separate files. (In addition, as described below in relation to Figure 3, when synchronizing data is generated, additional and separate files are available. t. Peaks represent the synchronization of a single file with an exchange of data streams). It should be noted again that while many of the previous (and subsequent) operations and other elements have been explained with reference to specific examples of directory and file synchronization discussed between endpoints, the techniques described herein are not limited to this implementation and are suitable for Different other uses, including synchronization as various other types of data. As shown in another example of synchronized data and domain data, a content management or blogging system can synchronize high-level objects or files, as well as comments about each object or file. In this example, the text of the file or comment may be assumed, assuming an item in an RS S feed using S SE. In addition, various restrictions may exist between, for example, a clause and a comment. For example, at least when represented by a user interface, each comment may need to be associated with a top-level article or file. When synchronizing data is implemented, comments that are not related to the highest-order article or file may be flagged for further review and may not be displayed. 33 200907720 Another example of a synchronization system in which synchronization of data is available is useful, including one exemplary system in one or more specific languages. In this implementation, information is converted from one language to another by using some of the synchronized data to the domain data on the endpoint. Similarly, the information provided in the words can be converted into a message during the implementation process. As shown in a particular example of such implementation, a user can create a file in the Indian language. This file synchronizes some of the other endpoints that are manipulated by the reading user. As with the implementation of the file in the processing of the endpoint, the information in the file is available from Hindi. Perhaps, in the same implementation, the second user created file can synchronize the first user. Then, as part of the implementation of the file on the endpoint of the user who reads it, the file is converted to English in Hindi. Please refer to Figure 3 for a list of different operations. The generalized operational flow 300 0, when generating synchronized data feeds, can perform these different operations, including the use of prior material to produce synchronized data. Figure 3 below describes what is and is. However, it should be understood that the operational limitations described in relation to Figure 3 are used in conjunction with the elements described in relation to these other figures. The exemplary operational flow of Figure 3 is representative of a particular one or more alternative implementations that may be performed in a different order. Although the exemplary operational flow includes multiple steps, in some implementations, at least some of these operations Combinable or same-domain data may be used to synchronize information in other languages, including the use of information in other languages and languages. Hindi (the second user language of the Northern English language is converted into English-speaking neighbors. Hindi language information is available from Other areas of the exemplary other endpoints are available in other schemas. The process is not to be added, although it is in the order, but in the process. In addition, it is understood that it is executed at the time, and 34

200907720 且在相同或其他實施中,一些步驟係不可執行。 關於第2圖的先前描述的操作係說明同步化資料如何 例如從另一端點獲得可合併至區域同步化資料,然後實現 至領域資料項目。此操作可使其於一特定區域端點使用在 另一端點所做的變化。然而,有關第2圖描述的操作不使 其可於其他端點使用在該區域端點上所作領域資料項目的 變更來更新其資料。例如,再次使用非限制性目錄與檔案 範例,假設一使用者更新一檔案,或許藉由開啟在一區域 應用程式中的檔案,進行變更,然後儲存該檔案。在一些 隨後時間點,產生一更新的饋給以反映該檔案變化,所以 K他竦點然後可合併變化至其自己的區域檔案剔木是饵有 用。示例性操作流程3 0 0之使用可藉由產生然後同步於其 他端點的同步化資料以協助完成此目標。 在操作3 1 0的一示例性實施中,為了一或多個各種理 由,可開始產生適合於通信或可用於其他端點的同步化資 料。在一些實施中,在一些時間間隔過去之後,可週期性 產生新的同步化資料。在相同或其他實施中,當一(或多個) 領域資料項目局部改變時,可開始產生新的同步化資料; 或者,為了 一些其他理由,可開始產生新的同步化資料。 在操作3 1 5的至少一示例性實施中,可決定是否有任 何領域資料項目要處理。若有要處理的領域資料項目,示 例性操作流程3 0 0可進行下述的操作3 2 0。若沒有更多的 項目要處理,該示例性操作流程可結束。在一些實施中, 所有領域資料項目可由示例性操作流程3 0 0處理,而在其 35200907720 And in the same or other implementations, some steps are not executable. The previously described operation of Figure 2 illustrates how the synchronized material, for example, can be merged into the region-synchronized data from another endpoint, and then implemented into the domain data item. This action allows it to use changes made at the other endpoint at a particular zone endpoint. However, the operations described in relation to Figure 2 are not such that they can update their data at other endpoints using changes to the domain data items made at the endpoints of the region. For example, again using the unrestricted directory and file examples, assume that a user updates a file, perhaps by opening a file in an area application, making changes, and then saving the file. At some subsequent point in time, an updated feed is generated to reflect the file change, so K can then merge and change to its own zone file. The use of the exemplary operational flow 300 can assist in accomplishing this by generating synchronized data that is then synchronized with other endpoints. In an exemplary implementation of operation 310, synchronization information suitable for communication or available to other endpoints can be initiated for one or more of various reasons. In some implementations, new synchronized data may be generated periodically after some time interval has elapsed. In the same or other implementations, new synchronized data may begin to be generated when one (or more) domain data items are locally changed; or, for some other reason, new synchronized data may be generated. In at least one exemplary implementation of operation 315, it may be determined whether any domain material items are to be processed. If there is a domain data item to be processed, the exemplary operation flow 300 can perform the following operations 3 2 0. The example operational process can end if there are no more projects to process. In some implementations, all domain data items can be processed by the exemplary operational flow 300, while at

200907720 他實施中,可處理只有一些部分領域資料項目(例如,或許 只有已改變的這些、或只有已改變或有關已改變的這些)。 在操作3 2 0的示例性實施中,當產生更新的同步化資 料時,一或多個領域資料項目可被確認考慮使用。在一些 實施中,每一領域資料項目可個別考慮;如此,只有單一 領域資料項目可在操作3 20的每一執行期間予以識別,而 在其他實施中,一個以上的領域資料項目可識別,然後可 與其他識別的領域資料項目一起考慮。 在操作3 2 5的至少一實施中,可決定是否需要產生作 為操作 3 2 0中識別的領域資料項目的任何同步化資料項 目。若需要(或可能需要,但是不能在此椟作期問進粁決定) 產生一或多個同步化資料項目,則操作流程可進行操作 3 3 0。若不需要同步化資料項目,操作流程可進行操作 3 1 5。不管是’否需要一或多個同步化資料項目能以各種方式 決定。例如,在所有領域資料項目處理的實施中,此決定 可至少部分藉由決定識別的領域資料項目是否已修改而達 成,由於其是最後同步。若確證,則需要產生一同步化資 料項目或一些項目,所以其他端點可進行局部修改。例如, 若一領域資料項目(例如一實際檔案)已更新或改變,此操 作可決定一同步化資料項目、或多個同步化資料項目是否 應該產生作為該領域資料項目。 在一些實施中,作為在一領域資料項目上實現一同步 化資料項目之部分所做的一修改(例如,前文中參照第 2 圖所述的示例性操作 230)不包含產生新同步資料的變 36200907720 In his implementation, he can handle only some of the domain data items (for example, perhaps only those that have changed, or only those that have changed or have changed). In an exemplary implementation of operation 320, one or more domain data items may be validated for use when generating updated synchronization information. In some implementations, each domain data item may be considered individually; thus, only a single domain material item may be identified during each execution of operation 315, while in other implementations, more than one domain data item may be identified, and then Can be considered together with other identified domain data items. In at least one implementation of operation 325, it may be determined whether any synchronized data items that are the domain data items identified in operation 320 may need to be generated. If required (or may be required, but cannot be determined during this time) to generate one or more synchronized data items, the operational flow can be operated 3 3 0. If you do not need to synchronize the data items, the operation flow can be operated 3 1 5. Whether or not a need for one or more synchronized data items can be determined in a variety of ways. For example, in the implementation of all domain data item processing, this decision can be achieved, at least in part, by determining whether the identified domain data item has been modified, since it is the last synchronization. If confirmed, a synchronized data item or some items need to be generated, so other endpoints can make local modifications. For example, if a domain data item (e.g., an actual file) has been updated or changed, this operation may determine whether a synchronized data item, or multiple synchronized data items, should be generated as a data item in the field. In some implementations, a modification made as part of implementing a synchronized data item on a domain data item (e.g., the exemplary operation 230 described above with reference to Figure 2) does not include a change that produces new synchronization data. 36

200907720 更。即是,例如,只有當一使用者或其他實體進行一領域 資料項目變更時,一新的同步化資料項目可能需要。從另 一預期來考慮,應可瞭解,在一些情況中,作為在一領域 資料項目上實現同步化資料的部分的一領域資料項目之修 改有時只造成該領域資料項目本身的變化。此變化可能無 法被其他端點看見;或者,與其他端點同步化,如此可不 需要產生新的同步資料。 最後,在操作3 3 0的至少一些示例性實施中,一或多 個同步化資料項目可為例如已在操作3 2 0中識別的領域資 料項目或一些項目予以產生。例如,當該識別的領域資料 項3未被修改為在該領域資料項2上實現鬥步资3灼郜分 時,此操作可藉由使用該與領域資料項目有關的資料來實 施,以產生一對應的同步化資料項目。在該領域資料項目 上所做的局部變化然後會在產生的同步化資料中反映,並 與其他端點同步或通信。例如,當一實際檔案具體實施一 領域資料項目已由在區域端點上的檔案使用者更新時,此 變化可反映新產生或更新的同步化資料項目。在使用SSE 與饋給(Feed)文件之實施中,此同步化資料項目可至少部 分藉由執行一 S S E更新予以產生,其可例如包括更新在同 步化資料項目中的項目資訊,包括檔案的變更、以及更新 與同步化資料項目有關的一版本識別碼。 當領域資料項目或所考慮的項目被修改為在領域資料 項目上實現同步資料的部分時,操作3 3 0的至少一些示例 性實施亦決定產生的同步化資料應該如何反映該原始接收 37 200907720 的同步化資料,且或許不必然由該領域資料項目所包 資料。即是,作為在領域資料上實現同步化資料的部 做的變化只能在一特定端點上看見,且不同步於其 點。相反地係,同步其他端點的資料可為最初從其他 接收的資料(除了在實現該領域資料之後局部所做的 變更之外)。 在一些實施中,當在領域資料上實現同步化資料 所記錄的資料可用來決定一特定的局部變化是否應該 在產生的同步資料。此記錄的資料亦可當作產生一同 資料項目之部分加以使用,例如,其可取代或替代性 用與實現該領域資料項目為一同步化資料項3時所做 有關的資料。 例如,再次考慮一檔案名稱在實現期間修改,所 際的檔案具有符合一特定檔案系統需要的一檔案名稱 況。在此範例中,當產生一同步化資料項目具有的一 名稱係不同於原始接收或存在儲存的同步化資料的檔 稱時,可考慮該領域資料項目。若此不同的檔案名稱 由一使用者、處理、或一些其他實體所做的領域資料 (檔案本身)的變更,則變化可能需要同步其他端點, 此作為所產生同步化資料項目的部分。然而,當該檔 稱改變作為在該領域資料項目上實現該同步化資料項 部分時,該改變可能不能作為所產生同步化資料項目 部分。相反地,例如,在該區域同步化資料中通信及 的原始檔案名稱可當作更新同步化資料項目的部分使, 含的 分所 他端 端點 任何 時, 包括 步化 地使 變争. 以實 之情 檔案 案名 發生 項目 且如 案名 目的 的一 儲存 38200907720 More. That is, for example, a new synchronized data item may be needed only when a user or other entity makes a change in a domain data item. From another expectation, it should be understood that, in some cases, modifications to a domain data item that is part of the synchronization of data on a data item in a field sometimes only result in changes in the data item itself in the field. This change may not be visible to other endpoints; or it may be synchronized with other endpoints so that no new synchronization data is needed. Finally, in at least some example implementations of operation 330, one or more synchronized data items may be generated for, for example, a domain data item or some items that have been identified in operation 320. For example, when the identified domain data item 3 has not been modified to implement the bucketing time on the domain data item 2, the operation can be implemented by using the data related to the domain data item to generate A corresponding synchronized data item. Local changes made on the data item in the field are then reflected in the generated synchronization data and synchronized or communicated with other endpoints. For example, when an actual file implementation implements a domain data item that has been updated by a file user at a regional endpoint, this change may reflect the newly generated or updated synchronized data item. In an implementation using SSE and a feed file, the synchronized data item can be generated, at least in part, by performing an SSE update, which can include, for example, updating project information in the synchronized data item, including file changes. And updating a version identifier associated with the synchronized data item. When the domain data item or the item under consideration is modified to implement a portion of the synchronized data on the domain data item, at least some exemplary implementations of operation 330 also determine how the generated synchronized data should reflect the original receipt 37 200907720 Synchronize data, and perhaps not necessarily include information in the field data project. That is, changes made as part of the implementation of synchronized data on the domain data can only be seen on a particular endpoint and are not synchronized to its point. Conversely, synchronizing data from other endpoints may be data that was originally received from other sources (except for changes made locally after implementing the domain material). In some implementations, when data is synchronized on the domain data, the data recorded can be used to determine whether a particular local change should be generated in the synchronized data. The information in this record may also be used as part of the production of a data item, for example, in lieu of or in lieu of information relating to the achievement of a data item in the field as a synchronized item 3. For example, consider again that a file name is modified during implementation, and that the file has a file name that meets the needs of a particular file system. In this example, the field data item may be considered when generating a synchronized data item having a name that is different from the original received or stored profile of the synchronized material. If the different file name is changed by a user, process, or some other entity's domain data (the file itself), the change may require synchronization of other endpoints as part of the generated synchronized data item. However, when the profile change is implemented as part of the synchronized data item on the domain data item, the change may not be part of the synchronized data item generated. Conversely, for example, the original file name communicated in the area synchronization data can be used as part of updating the synchronization data item, including any other end points, including step by step. The actual situation file name of the project and a storage of the name of the case 38

200907720 請即參考第4圖,其係顯示了一示例性系統 說明一端點加入一同步關係及包括在領域資料上 化資料的功能之一具體實施例。第4圖的描述是 式有關。然而,應該瞭解,關於第4圖描述的元 限於與關於其他圖式中描述的元件一起使用。此 在第4圖的示例性圖係表示特定元件,但是在 中,不是所有這些元件可存在,且在一些實施中 元件可存在。此外,例如,雖然示例性圖式係顯 一特定端點或計算裝置所包含的部分,但是應該 關一特定端點的一或多個模組亦可藉由一或多個 或計算裝置加以實施,並藉由足以交抶任何必須 何構件以連接至該示例性說明的端點。 示例性系統4 0 0可包含一同步端點4 1 0、一 420、一同步資料儲存模組430、一實現模組440 組N 442、一領域資料儲存模組450與領域資料 N 452、以及一輸入饋給422'輸入饋給N 424、 426、與輸出饋給N 428。 大體上,在至少一些實施中,示例性同步端 類似或與先前關於第1圖所述的端點A 1 1 0、端I 或端點C 1 3 0之一者相同。該示例性同步端點可 模組,其包括一些或全部說明的模組作為實施的 允許該共用及同步資料、在領域資料上實現同步 及領域資料產生同步化資料。此外,在一些實施 點可藉由一計算環境加以實施,其包括下面有關 400 > 其 實現同步 與其他圖 件並未侷 外,雖然 一些實施 ,額外的 示元件為 注意,有 其他端點 ^ Ά /X- 六 I I ·' V ·-- 同步模組 與實現模 儲存模組 輸出饋給 點410可 ^ B 120 > 包含多個 部分,以 化資料, 中,該端 第5圖討 39200907720 Please refer to FIG. 4, which shows an exemplary embodiment of an exemplary embodiment in which an endpoint joins a synchronization relationship and includes functions for updating data in the domain data. The description of Figure 4 is related to the formula. However, it should be understood that the elements described with respect to Figure 4 are limited to use with elements described in relation to other figures. The exemplary figures in Figure 4 represent particular elements, but not all of them may be present, and in some implementations the elements may be present. In addition, for example, although an exemplary drawing illustrates a particular endpoint or portion of a computing device, one or more modules that should be closed to a particular endpoint can also be implemented by one or more or computing devices. And by connecting to any of the necessary components to connect to the endpoint of the exemplary description. The exemplary system 400 can include a synchronization endpoint 4 1 0, a 420, a synchronous data storage module 430, an implementation module 440 group N 442, a domain data storage module 450, and domain data N 452, and An input feed 422' inputs feeds N 424, 426, and an output feeds N 428. In general, in at least some implementations, the exemplary sync end is similar or identical to one of the endpoints A 1 1 0, end 1 or endpoint C 1 3 0 previously described with respect to FIG. The exemplary synchronous endpoint module includes some or all of the illustrated modules as implemented to allow the shared and synchronized data, synchronization on the domain data, and domain data generation synchronization data. In addition, in some implementation points, it can be implemented by a computing environment, which includes the following about 400 > its implementation of synchronization with other graphics is not out of the way, although some implementations, additional components are noted, there are other endpoints ^ Ά /X- VI II · ' V ·-- Synchronous module and implementation of the mode storage module output feed point 410 can be ^ B 120 > contains multiple parts to materialize, in the end, Figure 5

200907720 論的示例性計算環境。 在至少一些實施中,一同步模組420可在一或多個其 他端點之間同步或傳輸同步化資料。一同步模組可使用各 種通信機構,包括一特定計算裝置的區域通信構件、一或 多個網路或其他通信構件,以允許與其他端點或計算裝置 等的通信。此外,一同步模組可使用各種各種同步技術、 協定等、及各種構件之任何一者,用以代表通信或傳輸同 步化資料。 在只是一特定範例中,一同步模組420可使用如先前 介紹的S S E所述這些的技術以同步化資訊。在此實施中, -··示例性同步模組可獲得一或多個鑌泠,包括或許示例袖 輸入饋給422與輸入饋給N 424。在至少一些實施中,一 輸入饋給可使用一 XML文件來表示,類似RSS或Atom饋 給文件(Atom feed document)。示例性輸出饋給426與輸出 饋給N 428亦可同樣表示。 若有一饋給,該同步模組可合併由該饋給(Feed)所表 示的變更至一資料儲存。在一些實施中,此資料儲存可包 括由示例性同步化資料儲存模組4 3 0所代表的儲存。在一 些實施中,有關先前第2圖所述的操作2 1 5可藉由一示例 性同步模組加以實施,作為饋給(Feed)所代表的合併變化 的部分。在使用類似S S E的技術之實施中,該同步模組可 藉由執行例如為 S S E合併部分的操作以合併該同步化資 料。 在一些實施中,當同步端點4 1 0所維護的同步化資料 40 Ο Ο 200907720 或領域資料已改變時,同步祺組420亦可產生更 饋給’包括可能示例性輪出饋給426或輸出饋每 在-些實施’有關先前第3圖所述操# 33〇可賴 生更新輸出饋給之部分的-示例性同步模組加以 如前述,同步模組42ο i m 俱 u可使用一同步資料儲q 來儲存同步化資料。此同步化資料儲存模組通1 方法或格式之任一者來储存同步資料,並以包招 多個資料庫、一或多個檔幸 莱寺使用之各種方法來 使用類似SSE的-同步協定的範例中,—同步化 模組可健存實際的饋給文侔,上 件包括類似輸入饋结 出饋给426的饋給文件。发 -’、]在一檔案系蜂由, 給儲存為檔案,例如在— 、 4夕個育料庫中的一 錄,或使用任何其他資料儲存 存模組可被同步端41〇_ 。…、該同芳 我θ 「 %點0控制、維護、或修改, 為疋一「區域」資料儲存,但 資料儲存趨:4 =·情況中, 貝枓儲存模組可使用位在遠離該同步 際儲存資訊。在+奢始Φ j的儲? 在此實施中,此遠端储 件之-或多個構件來存取。 使用< 一示例性香, 442)^ . ^ 實現模組(例如實現模組440 ^ — 442)可在領域 440或賓 貧科上實現同步化資料, 加入從實現的 或在一崔 中,在領域資粗 b貝料。在 上實現同步化資料可5 , 步化資料的領试$ 、寸了至少部分包 其他實施令,在料之修改(包括建立及刪除)。 在領域資料上實現同步化 新的輸出 N 428。 由作為產 實施。 F模組4 3 0 能以各種 透過一或 實施。在 資料儲存 422或輸 ϋ年Η類靖 或多個記 化資料儲 如此可認 該同步化 -機構來實 -種通信構 現模組Ν 情況中, 一些實施 含基於同 在相同或 包含映射 41200907720 An exemplary computing environment. In at least some implementations, a synchronization module 420 can synchronize or transmit synchronized data between one or more other endpoints. A synchronization module can use a variety of communication mechanisms, including regional communication components of a particular computing device, one or more networks, or other communication components to allow for communication with other endpoints or computing devices and the like. In addition, a synchronization module can use any of a variety of synchronization techniques, protocols, and the like, and any of a variety of components to represent communication or transmission of synchronized data. In just one particular example, a synchronization module 420 can use techniques such as those described in the previously described S S E to synchronize information. In this implementation, the exemplary synchronization module may obtain one or more ports, including perhaps example sleeve input feed 422 and input feed N 424. In at least some implementations, an input feed can be represented using an XML file, similar to an RSS or Atom feed document. The exemplary output feed 426 and the output feed N 428 can also be represented. If there is a feed, the sync module can merge the changes represented by the feed to a data store. In some implementations, this data store can include storage represented by the exemplary synchronized data storage module 430. In some implementations, the operations 2 1 5 described in relation to the previous Figure 2 can be implemented by an exemplary synchronization module as part of the merge change represented by the feed. In an implementation using a technology similar to S S E, the synchronization module can merge the synchronization information by performing operations such as the S S E merge portion. In some implementations, when the synchronization data 40 Ο Ο 200907720 or domain data maintained by the synchronization endpoint 410 is changed, the synchronization group 420 can also generate a more feed to include a possible exemplary round-trip feed 426 or The output feeds each of the implementations in relation to the portion of the operation described in the previous FIG. 3, which can be used to update the output feed. As described above, the synchronization module 42 can use a synchronization. Data storage q to store synchronized data. The synchronized data storage module stores the synchronization data through any one of the methods or formats, and uses a SSE-like synchronization protocol in various ways of using multiple databases and one or more files. In the example, the synchronization module can store the actual feed file, and the upper piece includes a feed file similar to the input feed-forward feed 426. Send -',] in a file system, store it as a file, for example, in a library, or use any other data storage module to be synchronized 41_. ..., the same Fang I θ "% point 0 control, maintenance, or modification, for the "regional" data storage, but the data storage trend: 4 = · In case, the Beckham storage module can be used away from the synchronization Store information. In the + luxury start Φ j storage? In this implementation, the remote storage device - or multiple components are accessed. Using < an exemplary incense, 442) ^ . ^ implementation module (such as implementation module 440 ^ - 442) can achieve synchronization of data in the field 440 or the guest poor, added from the implementation or in a Cui, In the field of coarse b shell material. In the implementation of the synchronization of the data can be 5, step by step data to lead the trial, at least part of the package of other implementation orders, in the material modification (including the establishment and deletion). Synchronization on the field data New output N 428. It is implemented as a production. The F module 4 3 0 can be implemented in various ways. In the data storage 422 or the ϋ Η 或 or multiple statistic data stores, it can be recognized that the synchronization - the organization to implement the communication configuration module 情况 in the case, some implementations include the same or contain mapping 41

200907720 同步資料至實現領域資料中具體實施的一或多個交 示,其中「交替」係表示該領域資料表示法不能使用 應的同步化資料中存在的所有相同資料。用於在領域 上實現同步化資料的處理是在先前有關第2圖中更詳 述。 此外,當在領域資料上實現同步化資料而此交替 法已使用時,則在領域資料改變之後,一實現模組亦 與產生或更新同步化資料。同步化資料產生的一此範 在先前有關第3圖中更詳細描述。 一實現模組(例如(或許)示例性實現模組44 0或 性實現模组442)能以各種方式來操作,吟了其他特 外,此係取決於該實現模組所處理的同步化資料與領 料的類型或一些類型。例如,一實現模組可解譯及實 定類型的同步資料,且可與特定類型的領域資料互動 在一些實施中,其上實現同步化資料的領域資料 存在一領域資料儲存模組,例如示例性領域資料儲存 4 5 0或示例性領域資料儲存模組4 5 2。例如,在同步化 定義目錄與檔案的一情況中,領域資料儲存模組4 5 0 含一或多個檔案系統,且該領域資料可包含實際的目 檔案。在此一範例中,一「檔案系統實現模組」可使 括例如檔案中間資料、以及檔案内容的資訊之同步 料,以建立或修改在一領域資料儲存模組所具體實施 案系統的一或多個位置中的實際檔案。 一檔案系統實現模組亦包括邏輯、可執行碼或類 替表 在對 資料 細描 表示 可參 例是 示例 SJ;夕 域資 現特 〇 可儲 模組 資料 可包 錄與 用包 化資 的檔 似, 42200907720 Synchronize data to one or more of the specific implementations in the implementation domain data, where "alternating" means that the same data in the domain data representation cannot be used in the synchronized data. The processing for synchronizing data on the field is described in more detail in the previous section 2. In addition, when the synchronization data is implemented on the domain data and the alternate method has been used, the implementation module also generates or updates the synchronization data after the domain data is changed. One such paradigm for synchronizing data generation is described in more detail in the previous related FIG. An implementation module (eg, (or perhaps) an exemplary implementation module 44 0 or a sexual implementation module 442) can operate in a variety of ways, depending on other specialities, depending on the synchronization data processed by the implementation module With the type or type of picking. For example, an implementation module can interpret and define a type of synchronization data, and can interact with a specific type of domain data. In some implementations, a domain data storage module exists on the domain data on which the synchronized data is implemented, such as an example. Sexual domain data storage 4500 or exemplary domain data storage module 4 5 2 . For example, in the case of synchronizing a directory and a file, the domain data storage module 4500 contains one or more file systems, and the domain data can contain the actual file. In this example, a "file system implementation module" can synchronize information such as file intermediate data and file content to create or modify one of the specific implementation systems of a domain data storage module. The actual file in multiple locations. A file system implementation module also includes logic, executable code or class substitution table. The data can be described in the example SJ; the imaginary domain special storage module data can be recorded and packaged. Like, 42

200907720 其可當實現模組所處理的同步化資料應該或必須要修改 包含有效的領域資料時,加以確認及採取不同動作。例女 如前述,一實現模組可確認當在同步化資料中的目錄或 案具有無效或不允許在舆實現模組有關的一檔案系統中 名稱。在此情況中,該實現模組亦可包括邏輯或可執行 以採取解決此問題或不相容性的一些動作,例如在該實 的領域資料中使用一替代名稱,且若該領域資料稍後用 產生與其他端點同步化的同步化資料,或許亦可映射回 原始名稱。 在一些實施中,一個以上的實現模組可存在,並使 相同的同步化資料來工作。例如,當#用相同的同舟化 料時,例如(或許)當使用具目錄與檔案資訊的相同饋給 件時,一個以上的實現模組可存在,且每一實現模組可 同地操作。例如,不同實現模組可存在,以不同方法在 域資料上實現該同步化資料。例如,一實現模組可實現 錄與檔案同步資訊至使用一特定類型檔案系統的檔案與 錄。另一實現模組可實現(可能相同)目錄與檔案同步化 料至使用不同類型檔案系統的檔案與目錄。在另一範 中,一檔案系統可允許在名稱中有一特定字元集,另一 案系統可允許不同的字元集,且在端點之間通信的同步 資料仍然可支援另一字元集。在此一範例中,不同實現 組可具有產生符合該等特定需要的領域資料之能力;及 領域資料的限制,其在此情況為該檔案系統,且由該實 模組支援,並可映射或解決此限制。 以 ϊ , 檔 的 瑪 現 來 至 用 資 文 不 領 a 目 資 例 檔 化 模 該 現 43200907720 It can be used to confirm and take different actions when the synchronized data processed by the module should or must be modified to include valid domain data. As an example, an implementation module can confirm that the directory or file in the synchronized data has invalid or no name in a file system associated with the implementation module. In this case, the implementation module may also include logic or executable to take some action to resolve the problem or incompatibility, such as using an alternate name in the real domain material, and if the domain material is later Synchronization data that is synchronized with other endpoints may also be mapped back to the original name. In some implementations, more than one implementation module can exist and cause the same synchronized data to work. For example, when #using the same same material, for example (perhaps) when using the same feed with catalog and file information, more than one implementation module may exist and each implementation module may operate in the same place. For example, different implementation modules may exist to implement the synchronized data on the domain data in different ways. For example, an implementation module can record and archive synchronization information to a file and record using a particular type of file system. Another implementation module can implement (possibly the same) directory and file synchronization to use files and directories of different types of file systems. In another example, a file system may allow a specific set of characters in a name, another system may allow different sets of characters, and synchronized data communicated between endpoints may still support another set of characters. . In this example, different implementation groups may have the ability to generate domain data that meets those particular needs; and domain data limitations, which in this case are file systems, supported by the real module, and may be mapped or Fix this limitation. ϊ 档 档 档 档 档 档 档 档 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43

200907720 在一些實施中,此設計在不需要同步化資料或其他實 現模組改變而亦允許現有實現模組改變,並致能新的實現 模組,或許支援代表同步資訊的新端點或方法,其可在不 必然要改變該同步化資料、該同步技術或其他端點而予以 新增。 如前述,在一些實施中,不同端點包括可接受及產生 可由每一端點讀取及解釋的同步資訊的不同實現模組是可 能的。在一些實施中,使用相同同步化資料的不同實現模 組可在相同端點上操作。在此範例中,一電腦系統可具有 使用不同檔案系統的不同儲存裝置。在此環境中,有關一 些電腦系統的不同實現模組可修改在不同铐存萝置少的領 域資料,或許為檔案與目錄,且使用相同的同步化資料。 即是,相同的同步資料可造成兩不同組的目錄與檔案,一 組是用於每一檔案系統。此外,一檔案系統的一實現模組 所完成的變更不必然由另一檔案系統的另一實現模組所完 成。 在相同或其他範例中,一端點可具有在相同目錄與檔 案同步資料上操作,但是修改不同類型領域資料(即是,除 了實際的檔案與目錄之外)的一或多個其他實現模組。一不 同類型的領域資料與對應的實現模組之一範例可為具下列 能力之一實現模組:修改一 ZIP、或其他壓縮檔、或具有 能力表示在單一檔案中多個檔案及可能目錄階層結構的檔 案類型。隨著此一實現模組,實現同步資料可包含建立一 或多個ZIP檔案,其包含可如同相同的同步資料部分通信 44200907720 In some implementations, this design allows existing implementation modules to be changed without the need to synchronize data or other implementation module changes, and enables new implementation modules, perhaps supporting new endpoints or methods that represent synchronization information. It can be added without necessarily changing the synchronization data, the synchronization technique, or other endpoints. As mentioned above, in some implementations, it is possible for different endpoints to include different implementation modules that can accept and generate synchronization information that can be read and interpreted by each endpoint. In some implementations, different implementation modules that use the same synchronization material can operate on the same endpoint. In this example, a computer system can have different storage devices using different file systems. In this environment, different implementation modules for some computer systems can modify the domain data in different fields, perhaps files and directories, and use the same synchronized data. That is, the same synchronized data can result in two different sets of directories and files, one for each file system. Moreover, the changes made by one implementation module of a file system are not necessarily performed by another implementation module of another file system. In the same or other examples, an endpoint may have one or more other implementation modules that operate on the same directory and profile synchronization data, but modify different types of domain data (i.e., in addition to the actual files and directories). An example of a different type of domain data and corresponding implementation module can implement a module for one of the following capabilities: modifying a ZIP, or other compressed file, or having the ability to represent multiple files and possible directory classes in a single file. The file type of the structure. With this implementation module, implementing synchronization data can include establishing one or more ZIP archives that contain portions of the same synchronization data that can be communicated 44

200907720 的目錄與檔案,且其在某些場合,可用來修改非連續 與目錄。 一不同類型領域資料與實現模組的另一範例可為 「網投影學」所使用的實現模組。在此環境中,一使 可使用例如包含一或多個 Η T M L 頁的一網頁界面來 目錄與檔案。在一範例中,一 HTML頁可顯示檔案的截 及允許一使用者藉由按一下該等顯示鏈結之一者以下 檔案。雖然此使用者界面的一實施可在一網路伺服器 重新建立目錄與檔案在(且如此可使用一檔案系統實 組實施),但是另一實施可使用一實現模組,其可例如 該同步化資料來植入一資料庫,然後產生該HTMT.反 及供給來自該資料庫的檔案内容。在此範例中,該資 可認為包含由該實現模組所建立或修改的至少一些領 料。此實現模組雖然在代表目錄與檔案的同步化資料 作,但是其實質不能建立實際的目錄或檔案。 亦應該再次注意,雖然許多先前的範例已描述關 例性目錄與檔案同步化資料,但是第4圖的元件亦可 為用來同步、儲存、及實現各種其他類型的資料。 範例計算環境 請即參考第5圖,此圖及相關的討論是要提供一 性計算環境的一簡要及一般描述,其中可實施在此描 不同技術。雖然不需要,但是在此描述的技術,至少 是在電腦可執行指令的一般内容中,例如可由一控制 檔案 由一 用者 存取 1結, 載一 上只 現模 使用 而 , 料庫 域資 上操 於示 或改 示例 述的 部分 器、 45200907720 directory and archive, and in some cases, can be used to modify non-contiguous and directory. Another example of a different type of domain data and implementation module can be an implementation module used by "net projection." In this environment, a web page interface containing, for example, one or more M T M L pages can be used to catalog and archive. In one example, an HTML page can display a cut of the file and allow a user to click on the file below one of the display links. While an implementation of the user interface may re-create directories and archives on a network server (and thus may be implemented using a file system group), another implementation may use an implementation module that may, for example, synchronize The data is implanted into a database, and then the HTMT is generated. In turn, the contents of the archive from the database are supplied. In this example, the asset may be considered to contain at least some of the materials established or modified by the implementation module. Although this implementation module performs synchronization data on behalf of directories and files, its essence cannot establish actual directories or files. It should also be noted again that while many of the previous examples have described both directory and file synchronization data, the elements of Figure 4 can also be used to synchronize, store, and implement various other types of data. Example Computing Environment Referring now to Figure 5, this figure and related discussion is intended to provide a brief and general description of a one-dimensional computing environment in which various techniques can be implemented. Although not required, the techniques described herein are at least in the general content of computer-executable instructions, for example, a control file can be accessed by a user for a node, and the first-only model is used. On the part of the device shown or modified, 45

200907720 處理器、個人電腦或其他計算裝置(例如在第5圖中說 計算裝置500)執行的程式模組。 通常,程式模組包括常式、程式、物件、成分、 者界面、資料結構等,其係執行特定任務、顯示特定資 或實施特定抽象資料類型。該等程式模組執行的操作 已經與一或多個方塊圖及操作流程圖的輔助來描述。 熟諳此項技術者能以電腦可執行指令的形式來實 述、方塊圖與操作流程,該等指令可以電腦可讀媒體 或多個形式來具體實施。如在此使用,電腦可讀媒體 任何媒體,其可儲存或具體實施電腦可存取及瞭解的 所编碼的資訊。電腦可讀媒體的典型形式包括(仨是未 揮發性與非揮發性記憶體二者、資料儲存裝置,包括 除及/或非可移除媒體、及通信媒體。 通信媒體可具體實施在一調變資料信號中的電腦 資訊,例如一載波或其他傳輸機構,且包括任何資訊 媒體。該術語「調變資料信號」係意謂一信號具有其 或多個特徵,或能以此方式改變,以編碼在該信號中 訊。經由範例(不是限制),通信媒體包括有連媒體, 一有線網路或直接配線連接、及無線媒體,例如聲 RF(射頻)、紅外線及其他無線媒體。 在第5圖中描述的計算裝置500(在其最基本配: 包括至少一處理單元502與記憶體504。在一些實施 計算裝置5 0 0可實施例如先前有關第1圖描述的端點 者的至少部分,例如端點A 1 10、端點B 12 0等。在 明的 使用 訊, 先前 施描 的一 可為 形式 肪:抵、 可移 可讀 傳遞 的一 的資 例如 音、 t中) 中, 之一 相同 46 Ο Ο 200907720 或其他實施中,該計算裝 _ ^ Λ , 實施先前參考第4圖描述的 同步端,點410之至少 園钿疋的 τ ^•一 β « μ 在—些實施中,處理單元502 可為泛用的中央處理單元(Cp .+、甘六士, 平兀(CPU, central processing unit),其存在例如各種的 包括桌上型電腦盥筆記型 電腦。記憶體504可a插i α ^ ώ ^200907720 A program module executed by a processor, personal computer, or other computing device (e.g., computing device 500 in FIG. 5). Generally, program modules include routines, programs, objects, components, interfaces, data structures, etc., which perform specific tasks, display specific resources, or implement specific abstract data types. The operations performed by the program modules have been described with the aid of one or more block diagrams and operational flowcharts. Those skilled in the art will be able to exemplify, block, and operate in the form of computer-executable instructions which may be embodied in a computer readable medium or in a plurality of forms. As used herein, a computer readable medium, any medium that stores or embodys encoded information that is accessible and understandable by a computer. Typical forms of computer readable media include (ie, both non-volatile and non-volatile memory, data storage devices, including and/or non-removable media, and communication media. Communication media may be embodied in a Computer information in a variable data signal, such as a carrier or other transmission mechanism, and including any information medium. The term "modulated data signal" means that a signal has one or more characteristics, or can be changed in this manner to The code is encoded in the signal. By way of example (and not limitation), the communication medium includes connected media, a wired network or direct wiring connection, and wireless media such as acoustic RF (radio frequency), infrared, and other wireless media. The computing device 500 depicted in the figures (in its most basic configuration: includes at least one processing unit 502 and memory 504. In some implementations, the computing device 500 can implement at least a portion of the endpoints such as those previously described in relation to FIG. 1, For example, the endpoint A 1 10, the endpoint B 12 0, etc. In the explicit use of the message, the previously described one may be a form of fat: In the sound, t), one of the same 46 Ο Ο 200907720 or other implementations, the calculation _ ^ Λ , the implementation of the synchronization end previously described with reference to Figure 4, the point 410 of at least the garden τ ^ • a β « μ In some implementations, the processing unit 502 can be a general purpose central processing unit (Cp.+, a central processing unit, such as various desktop computers, notes, etc.) Computer. Memory 504 can be inserted into i α ^ ώ ^

4 了為揮發性(例如RAM ROM、快閃記憶體等 )P禪發性(例如 M. ^ W if ^ ^ 者的一些組合,此係取決於計 异裝置的正確配置及類型。 以虛後506裊- 最基本的配置在第5圖中是 以虛線506表不。此外,計 及功能性。例如,計算裝置5〇0亦具有額外的特徵 及/或非可移除),包括Πθ是亦可包括額外存儲(可移除 州謂5圖二:Ϊ限於)磁性或光碟或磁帶。此 圖中係…可移除儲存5() 教队 510加以說明。 "νν…π u 計算裝置5〇〇亦可包含— ^ W ^ w 5〇η ^ 或夕個通信連接512,以使 計算裝置500能與1他步 …、他裝置及服務通信 可具有與各種通信構件或 。十异裝置 异裝置的一或多個連接,包 括,例如如先前參考第 巧步團撝述的端點連接。在一此情況 中,此連接可包含與通信構件 —潰况 5的連接,先前亦參考了 第1圖加以描述。計篡驴番 °十算裝置50〇亦可具有-或多個輸入裝 置 5 14,例如一影後給A妝印 ' ,、置(類似攝影機或掃描器)、鍵 盤、滑鼠、針筆、語音輪入 硬 裝置,包括麥克風陣列、觸控 式輸入裝置等。一或多個輸出 一 裝置5 1 6 (例如一顯示器、剩 叭、印表機等)亦可包括在計算裝置5〇〇。 熟諳此項技術者將可瞭解,在此描述的技術可在除了 第5圖中說明的計算裝置500之外的計算裝置中實施。例 474 is a volatility (such as RAM ROM, flash memory, etc.) P zen (such as M. ^ W if ^ ^ some combinations, depending on the correct configuration and type of the device. 506 袅 - The most basic configuration is shown in Figure 5 by dashed line 506. In addition, functionality is taken into account. For example, computing device 5 〇 0 also has additional features and / or non-removable), including Π θ is It can also include additional storage (removable state says 5 Figure 2: Ϊ is limited to) magnetic or optical disc or tape. In this figure, the removable storage 5() teaching team 510 is explained. "νν...π u The computing device 5〇〇 may also include - ^ W ^ w 5〇 η ^ or a communication connection 512 to enable the computing device 500 to communicate with other devices, devices, and services. Various communication components or. Ten different devices One or more connections of the different devices, including, for example, endpoint connections as previously described with reference to the sequel. In this case, the connection may include a connection to the communication component, which was previously described with reference to Figure 1. The 50-inch device can also have - or a plurality of input devices 5 14, for example, a shadow makeup for A, a set (similar to a camera or scanner), a keyboard, a mouse, a stylus pen, Voices are wheeled into hard devices, including microphone arrays, touch input devices, and the like. One or more outputs A device 5 16 (e.g., a display, a pad, a printer, etc.) may also be included in the computing device 5 . Those skilled in the art will appreciate that the techniques described herein can be implemented in computing devices other than computing device 500 illustrated in FIG. Example 47

200907720 如(且非限制),在此描述的技術同樣可在手持式裝置中實 施,包括行動電話與P D A、多處理器系統、以微處理器為 主或可程式消費性電子產品、網路個人電腦、迷你電腦、 主機電腦及類似。這些計算裝置之每一者係藉由在第5圖 的系統加以詳細描述或不同描述。 在此描述的技術亦可在分散式計算環境中實施,其中 操作係藉由遠端處理裝置執行,且其係透過一通信網路來 鏈結。在一分散式計算環境中,程式模組可位於區域與遠 端裝置二者。 雖然在此的描述係以軟體來實施,但是進一步應瞭 蒜’在此描述的技術或者能全部或局部t =、弍 軟體、硬體及/或韌體的不同組合來實施。 雖然方法及系統的一些特定實施已在附圖中說明及在 前文中描述,但是應可瞭解,顯示及描述的方法及系統並 未限於描述的特定實施,而是可有許多不同的重新配置、 修改及替代,不致悖離下列申請專利範圍所發表及定義的 精神。 【圖式簡單說明】 第1圖說明可同步及共用資料的一示例性系統。 第2圖說明一示例性一般化操作流程,包括當合併同 步化資料至一端點(包括在領域資料上實現同步化資料)時 執行的不同操作。 第3圖說明一示例性一般化操作流程,包括當產生用 48 200907720 於與其他端點通信的同步化資料(包括使用先前實現的領 域資料以產生同步化資料)時可執行的不同操作。 第4圖說明一示例性系統,其係顯示加入同步關係的 一端點之一具體實施例,且包括用於實現同步化資料至領 域資料的功能性。 第5圖說明可實施在此描述不同技術的一示例性電腦 裝置。 Ο 【主要元件符號說明】 100系統 I i W ^rfij II 5通信構件 1 2 0端點 1 3 0端點 400系統 4 1 0同步端點 420同步模組 422輸入饋給 424輸入饋給Ν 426輸出饋給 428輸出饋給Ν 430同步化資料儲存模組 4 4 0實現模組 442實現模& Ν 4 5 0領域資料儲存模組 452領域資料儲存模組Ν 500計算裝置 502處理單元 504記憶體 5 0 6基本配置 5 0 8可移除儲存 5 1 0非可移除儲存 5 1 2通信連接 514輸入裝置 516輸出裝置 49200907720 As (and without limitation), the techniques described herein can also be implemented in handheld devices, including mobile phones and PDAs, multi-processor systems, microprocessor-based or programmable consumer electronics, and network individuals. Computers, mini computers, mainframe computers and the like. Each of these computing devices is described in detail or differently by the system of Figure 5. The techniques described herein can also be implemented in a distributed computing environment where operations are performed by remote processing devices and are linked through a communications network. In a distributed computing environment, the program module can be located both in the zone and the remote device. Although the description herein is embodied in software, it is further contemplated that the garlic described herein can be implemented in various combinations of all or part of t =, 弍 soft, hard and/or fused. Although some specific implementations of the methods and systems have been described in the drawings and described above, it should be understood that the methods and systems shown and described are not limited to the specific implementations described, but many different reconfigurations are possible. Modifications and substitutions do not detract from the spirit of the publication and definition of the scope of the patent application below. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 illustrates an exemplary system in which data can be synchronized and shared. Figure 2 illustrates an exemplary generalized operational flow, including the different operations performed when merging the synchronized data to an endpoint (including synchronizing data on the domain data). Figure 3 illustrates an exemplary generalized operational flow including the different operations that may be performed when generating synchronized data for communication with other endpoints (including the use of previously implemented domain data to produce synchronized data). Figure 4 illustrates an exemplary system showing one embodiment of an endpoint joining a synchronization relationship and including functionality for implementing synchronized data to domain data. Figure 5 illustrates an exemplary computer device that can implement the different techniques described herein. Ο [Main component symbol description] 100 system I i W ^rfij II 5 communication component 1 2 0 endpoint 1 3 0 endpoint 400 system 4 1 0 synchronization endpoint 420 synchronization module 422 input feed 424 input feed Ν 426 Output feed 428 output feed Ν 430 synchronization data storage module 4 40 implementation module 442 implementation module & Ν 450 domain data storage module 452 domain data storage module Ν 500 computing device 502 processing unit 504 memory Body 5 0 6 basic configuration 5 0 8 removable storage 5 1 0 non-removable storage 5 1 2 communication connection 514 input device 516 output device 49

Claims (1)

200907720 十、申請專利範圍: 1 . 一種方法,其包含下列步驟: 獲得同步資料,其包括一同步化資料項目; 合併該同步化資料項目與一第二同步化資料項 目·,及 在一領域資料項目上,實現該第二同步化資料項 目,包括:200907720 X. Patent application scope: 1. A method comprising the steps of: obtaining synchronization data, comprising a synchronization data item; merging the synchronization data item with a second synchronization data item, and data in a field On the project, the second synchronized data project is implemented, including: 藉由使用與該第二同步化資料項目有關的資訊, 修改該領域資料項目,藉此使該領域資料項目產生一 變化,而無需改變該第二同步化資料項目;以使對該 領域資料項目所做的該變化不會合併至與該第二同步 化資料項目有關的一第三同步化資料項目;及 儲存如何修改該領域資料項目的一描述。 2. 如申請專利範圍第1項所述之方法,其中該同步化資 料更包含使用SSE表示的一饋給(Feed)。 3. 如申請專利範圍第1項所述之方法,其中該實現步驟 係解決字元所導致的不一致,其中該等字元在該同步 化資料中被支援但不在該領域資料項目中被支援,及 該修改步驟另包含:使用在該領域資料項目中一支援 的字元來取代在該領域資料項目中一未支援的字元。 4. 如申請專利範圍第1項所述之方法,其中該第二同步 化資料項目包括:與一檔案系統元件有關的檔案系統 資訊,且該領域資料項目是一第二檔案系統元件。 5 · 如申請專利範圍第4項所述之方法,其中該實現步驟 50 200907720 係解決下列之一者所導致的不一致: 一重複的檔案系統元件; 一週期,其包括一第三檔案系統元件、與一第四 檔案系統元件;及 一孤立的檔案系統元件。 6. 如申請專利範圍第1項所述之方法,其中該修改步驟 另包含:Modifying the data item in the field by using information related to the second synchronized data item, thereby causing a change in the data item in the field without changing the second synchronized data item; The change is not merged into a third synchronized data item associated with the second synchronized data item; and a description of how the field data item is modified. 2. The method of claim 1, wherein the synchronization data further comprises a feed represented by SSE. 3. The method of claim 1, wherein the implementing step resolves an inconsistency caused by a character, wherein the characters are supported in the synchronized material but are not supported in the domain data item, And the modification step further includes replacing a unsupported character in the data item in the field with a supported character in the domain data item. 4. The method of claim 1, wherein the second synchronized data item comprises: file system information related to a file system component, and the domain data item is a second file system component. 5. The method of claim 4, wherein the implementing step 50 200907720 addresses an inconsistency caused by one of: a duplicate file system component; a cycle comprising a third file system component, And a fourth file system component; and an isolated file system component. 6. The method of claim 1, wherein the modifying step further comprises: 找出在一位置中的該領域資料項目,該位置係不 同於在該第二同步化資料項目中指定的一同步化資料 項目位置。 7. 如申請專利範圍第1項所述之方法.其中該鍺存步驟 另包含: 以一表格資料結構,記錄與該第二同步化資料項 目有關的一識別碼;及相關於該識別碼,記錄該領域 資料如何修改之描述。 8. 如申請專利範圍第1項所述之方法,其中該合併步驟 另包含下列步驟: 藉由評估該同步化資料項目與該第二同步化資料 項目是否與與該相同的識別碼有關,以決定該同步化 資料項目是否與該第二同步化資料項目有關; 藉由比較該同步化資料項目與該第二同步化資料 項目,從該同步化資料項目與該第二同步化資料項目 選擇一獲勝項目與一失敗項目,以決定當該同步化資 料項目與該第二同步化資料項目有關時,是否應該更 51 200907720 新該第二同步化資料項目;及 當該第二同步化資料項目應該更新時,至少使用 與一項目資料元件有關的資訊,以更新該第二同步化 資料項目,其中該項目資料元件與該第二同步化資料 項目有關。 9 · 如申請專利範圍第8項所述之方法,其中該比較步驟 另包含下列比較之至少一者: 比較一同步化資料項目版本屬性與一第二同步化 資料項目版本屬性,其中一較大的版本值相關於該獲 勝的項目; 比較一同步化資料項目修改時問屬性與一第二同 步化資料項目修改時間屬性,其中一較大的修改時間 值相關於該獲勝的項目;及 比較一同步化資料項目修改實體與一第二同步化 資料項目修改實體,其中一較大的修改實體值相關於 該獲勝的項目。 10.如申請專利範圍第1項所述之方法,另包含: 使用如何修改該領域資料項目之描述,以產生一 產生的同步化資料項目,其中該產生的同步化資料項 目包括資訊的至少一部分,其係當作在該領域資料項 目上實現該第二同步化資料項目的部分使用,且該產 生的同步化資料項目不包括該領域資料項目的該變 化。 1 1 .如申請專利範圍第1項所述之方法,另包含: 52 200907720 對一實體提供一通知,通知有關該領 已被修改,其中該修改係包括有關如何修 料項目的至少一些修改資訊。 1 2 · —種方法,包含下列步驟: 識別一領域資料項目; 決定該領域資料項目是否先前已修改 資料項目上實現一同步化資料項目的部分 當該領域資料項目先前已修改為在該 目上實現該同步化資料項目的部分時,使 該領域資料項目之描述以產生一第二同 冃,其申該第二同步化資料項弓包括同 目,其係由該同步化資料項目提供,且該 項目係當作在該領域資料項目上實現該同 目的部分使用。 1 3 ·如申請專利範圍第1 2項所述之方法,其中 料項目係使用SSE表示的一饋給(Feed)。 14.如申請專利範圍第12項所述之方法,其中 目資料之至少一部分不是由該領域資料項 1 5 ·如申請專利範圍第1 2項所述之方法,其中 項目是一檔案系統元件,且該第二同步化 括有關該檔案系統元件的檔案系統資訊。 1 6.如申請專利範圍第1 2項所述之方法,另 驟: 在該產生操作之前,更新該領域資料 域資料項目 改該領域資 為在該領域 ;及 領域資料項 用如何修改 步化資料項 步化資料項 同步化資料 步化資料項 該同步化資 該同步化項 目儲存。 該領域資料 資料項目包 包含下列步 項目,以包 53 200907720 括新資訊;及 包括在該第二同步化資料項目中的新訊息。 1 7 ·如申請專利範圍第1 6項所述之方法,其中該第二同步 化資料項目另包含一第二饋給項目,其包括一饋給同 步化資料元件與一項目資料元件,且另包含: 修改與該項目資料元件有關的項目資料,以使該 項目資料包括該新資訊的至少一部分;The field data item in a location is found, the location being different from the location of a synchronized data item specified in the second synchronized data item. 7. The method of claim 1, wherein the storing step further comprises: recording, by a form data structure, an identification code associated with the second synchronized data item; and related to the identification code, A description of how the field data is modified. 8. The method of claim 1, wherein the merging step further comprises the step of: by evaluating whether the synchronized data item and the second synchronized data item are associated with the same identification code, Determining whether the synchronized data item is related to the second synchronized data item; selecting one of the synchronized data item and the second synchronized data item by comparing the synchronized data item with the second synchronized data item a winning project and a failed project to determine whether the second synchronized data item should be further when the synchronized data item is related to the second synchronized data item; and when the second synchronized data item should be When updating, at least information related to a project data element is updated to update the second synchronized data item, wherein the project data element is related to the second synchronized data item. 9. The method of claim 8, wherein the comparing step further comprises at least one of the following comparisons: comparing a synchronized data item version attribute with a second synchronized data item version attribute, wherein a larger one The version value is related to the winning item; comparing a synchronized data item modification time attribute with a second synchronization data item modification time attribute, wherein a larger modification time value is related to the winning item; and comparing one The synchronized data item modifying entity and a second synchronized data item modifying entity, wherein a larger modified entity value is associated with the winning item. 10. The method of claim 1, further comprising: using a description of how to modify the data item in the field to generate a generated synchronized data item, wherein the generated synchronized data item includes at least a portion of the information It is used as part of the implementation of the second synchronized data item on the data item in the field, and the generated synchronized data item does not include the change in the data item in the field. 1 1. The method of claim 1, further comprising: 52 200907720 providing a notice to an entity notifying that the collar has been modified, wherein the modification includes at least some modification information about how to repair the item . 1 2 · A method comprising the steps of: identifying a field data item; determining whether the data item in the field has been previously modified to implement a synchronized data item on the data item; the data item in the field has been previously modified to be in the target When the part of the synchronized data item is implemented, the description of the data item in the field is generated to generate a second peer, and the second synchronized data item includes the same item, which is provided by the synchronized data item, and The project is used as part of the implementation of the same purpose in the data project in the field. 1 3 • The method described in claim 12, wherein the item is a feed represented by SSE. 14. The method of claim 12, wherein at least a portion of the data is not by the method of the field of information 1 5 · the method of claim 12, wherein the item is a file system component, And the second synchronization includes file system information about the file system component. 1 6. If the method described in item 12 of the patent application is applied, another step: before the production operation, update the data field data item in the field to change the field of resources in the field; and how to modify the field data item The data item step data item synchronization data step data item is synchronized and the synchronization item is stored. The field data package includes the following steps to include new information in the package 2009 200920; and new information included in the second synchronized data project. The method of claim 16, wherein the second synchronized data item further comprises a second feed item comprising a feed to the synchronized data component and a project data component, and Include: modifying project data related to the project data component such that the project material includes at least a portion of the new information; 增量與該饋給同步化資料元件有關的一版本值; 建立與該饋給同步化資料元件有關的一新更新元 件,且另有關下列之至少一者:一先前的最近修改時 間與一先前的最近修改實體;及 更新下列至少一者:與該饋給同步化資料元件有 關的一最近修改時間歷史屬性、與與該饋給同步化資 料元件有關的一最近修改實體歷史屬性。 1 8 . —種系統,包含: 一同步化資料儲存模組,其係配置成儲存一饋給 項目; 一領域資料儲存模組,其係配置成儲存一資料項 目; 一實現模組,其係配置成: 藉由使用與該饋給項目有關的資訊來修改該 領域資料項目,以在領域資料項目上實現該饋給 項目,而不需改變該饋給項目;及 一同步模組,其係配置成: 54 200907720 合併一第二饋給項目與該饋給項目,其中該 第二饋給項目包括一饋給同步化資料元件與一項 目資料元件,且與一饋給有關;及 Ο 19.Incrementing a version value associated with the feed to the synchronized data element; establishing a new update element associated with the feed synchronization data element, and further relating to at least one of: a previous recent modification time and a previous The recently modified entity; and updating at least one of: a recently modified time history attribute associated with the feed synchronization data element, and a recently modified entity history attribute associated with the feed synchronization data element. A system comprising: a synchronized data storage module configured to store a feed item; a domain data storage module configured to store a data item; Configuring to: modify the domain data item by using information related to the feed item to implement the feed item on the field data item without changing the feed item; and a synchronization module Configured as: 54 200907720 merges a second feed item with the feed item, wherein the second feed item includes a feed to the synchronized data component and a project data component, and is associated with a feed; and 19. 20. 使用該領域資料項目如何修改為在該領域資 料項目上實現該饋給項目的部分之一描述,以產 生一產生的饋給項目,其係與一產生的饋給有關 及包括一第二饋給同步化資料元件與一第二項目 資料元件,其中該第二項目資料元件包括該資訊 的至少一部分,其係當作在該領域資料項目上實 現該饋給項目的部分使用。 如申請專利範圍第1 8項所述之系統,另包令: 一第二領域資料儲存模組,其係配置成儲存一第 二領域資料項目;及 一第二實現模組,其係配置成: 藉由使用有關該饋給項目的第二資訊來修改 該第二領域資料項目,以在該第二領域資料項目 上實現該饋給項目,而不需改變該饋給項目,及 其中該第二領域資料項目的修改係不同於該領域 資料項目。 如申請專利範圍第1 8項所述之系統,另包含: 藉由不同地修改該領域資料項目,改變該實現模 組,以使該實現模組在該領域資料項目上實現該饋給 項目,而不需改變該饋給項目。 5520. How to use the field data item to modify a description of one of the parts of the feed item in the field data item to generate a generated feed item related to a generated feed and including a second Feeding the synchronization data element and a second item data element, wherein the second item data element includes at least a portion of the information, which is used as part of implementing the feed item on the domain data item. The system of claim 18, wherein the second domain data storage module is configured to store a second domain data item; and a second implementation module is configured to : modifying the second domain data item by using the second information about the feed item to implement the feed item on the second field data item without changing the feed item, and the The revision of the second-domain data project is different from the data project in this field. The system of claim 18, further comprising: modifying the implementation module by modifying the domain data item differently, so that the implementation module implements the feed item on the domain data item, There is no need to change the feed item. 55
TW097123133A 2007-06-22 2008-06-20 Bi-directional data modification with synchronization TW200907720A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/767,001 US7831558B2 (en) 2007-06-22 2007-06-22 Bi-directional data modification with synchronization

Publications (1)

Publication Number Publication Date
TW200907720A true TW200907720A (en) 2009-02-16

Family

ID=40137614

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097123133A TW200907720A (en) 2007-06-22 2008-06-20 Bi-directional data modification with synchronization

Country Status (6)

Country Link
US (3) US7831558B2 (en)
EP (1) EP2160689A4 (en)
JP (1) JP2010531025A (en)
CN (1) CN101681344B (en)
TW (1) TW200907720A (en)
WO (1) WO2009002822A2 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831558B2 (en) 2007-06-22 2010-11-09 Microsoft Corporation Bi-directional data modification with synchronization
US9078288B2 (en) * 2009-04-21 2015-07-07 Microsoft Technology Licensing, Llc Independent information network
US8473543B2 (en) 2009-07-06 2013-06-25 Microsoft Corporation Automatic conflict resolution when synchronizing data objects between two or more devices
US8572022B2 (en) 2010-03-02 2013-10-29 Microsoft Corporation Automatic synchronization conflict resolution
CN102065137B (en) * 2010-12-21 2013-08-14 山东浪潮齐鲁软件产业股份有限公司 Method for synchronizing table data application programs of network databases
US9208252B1 (en) * 2011-01-31 2015-12-08 Symantec Corporation Reducing multi-source feed reader content redundancy
US10089093B1 (en) 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US8924958B1 (en) 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US10791538B1 (en) * 2011-07-06 2020-09-29 BlueStack Systems, Inc. Cloud-based data synchronization
CN102354316A (en) * 2011-09-22 2012-02-15 用友软件股份有限公司 Data updating device and data updating method
US9804864B1 (en) 2011-10-07 2017-10-31 BlueStack Systems, Inc. Method of mapping inputs and system thereof
CN103491113B (en) * 2012-06-11 2018-06-08 腾讯科技(深圳)有限公司 A kind of synchronous method, the apparatus and system of information fusion file
US9342512B1 (en) 2013-03-15 2016-05-17 Tasktop Technologies, Incorporated System and method for repairing data synchronization links
US9977820B1 (en) 2013-03-15 2018-05-22 Tasktop Technologies, Incorporated System and method for synchronizing states in associated data records
US9189533B2 (en) 2013-05-29 2015-11-17 Microsoft Technology Licensing, Llc Sync framework extensibility
US10095797B2 (en) 2014-10-03 2018-10-09 Salesforce.Com, Inc. Suggesting actions for evaluating user performance in an enterprise social network
US10387405B2 (en) * 2014-11-03 2019-08-20 Hewlett Packard Enterprise Development Lp Detecting inconsistencies in hierarchical organization directories
WO2016073030A1 (en) 2014-11-03 2016-05-12 Hewlett Packard Enterprise Development Lp Policy and configuration data for a user directory
US9459839B2 (en) 2014-12-15 2016-10-04 Tasktop Technologies, Incorporated Systems and methods to synchronize artifact relationships across a plurality of repositories
US10359909B2 (en) 2015-03-25 2019-07-23 Adobe Inc. Document layer extraction for mobile devices
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10216709B2 (en) 2015-05-22 2019-02-26 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing inline replies
US9922044B2 (en) * 2015-05-28 2018-03-20 International Business Machines Corporation File path modification based management
US11468896B2 (en) 2019-06-12 2022-10-11 Nvoq Incorporated Systems, methods, and apparatus for real-time dictation and transcription with multiple remote endpoints
US20220134222A1 (en) * 2020-11-03 2022-05-05 Nvidia Corporation Delta propagation in cloud-centric platforms for collaboration and connectivity

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315709A (en) * 1990-12-03 1994-05-24 Bachman Information Systems, Inc. Method and apparatus for transforming objects in data models
US5870759A (en) 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US7260610B2 (en) 1998-02-10 2007-08-21 Gateway Inc. Convergence events notification system
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
WO2001086882A2 (en) * 2000-05-05 2001-11-15 @ Hand Corporation System and method for extending an enterprise network to mobile devices
US7472396B2 (en) 2001-05-18 2008-12-30 Qualcomm Incorporated Extensible event notification mechanism
US7207008B1 (en) 2001-09-12 2007-04-17 Bellsouth Intellectual Property Corp. Method, system, apparatus, and computer-readable medium for interactive notification of events
US20030220966A1 (en) 2002-05-24 2003-11-27 International Business Machines Corporation System and method for dynamic content dependent conflict resolution
US7703128B2 (en) 2003-02-13 2010-04-20 Microsoft Corporation Digital identity management
US7743022B2 (en) 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
US7734690B2 (en) 2003-09-05 2010-06-08 Microsoft Corporation Method and apparatus for providing attributes of a collaboration system in an operating system folder-based file system
US8250150B2 (en) 2004-01-26 2012-08-21 Forte Internet Software, Inc. Methods and apparatus for identifying and facilitating a social interaction structure over a data packet network
US20050203935A1 (en) 2004-03-11 2005-09-15 International Business Machines Corporation Clipboard content and document metadata collection
US7506006B2 (en) * 2004-09-03 2009-03-17 Microsoft Corporation Synchronization for smart clients
US20060218492A1 (en) 2005-03-22 2006-09-28 Andrade Jose O Copy and paste with citation attributes
US20060230183A1 (en) * 2005-04-07 2006-10-12 Samsung Electronics Co., Ltd. Method and apparatus for synchronizing content with a collection of home devices
US20060247961A1 (en) * 2005-04-28 2006-11-02 Klemow Jason L Method and system for providing aggregation and display of notifications
US7693888B2 (en) * 2005-05-10 2010-04-06 Siemens Communications, Inc. Data synchronizer with failover facility
US7523146B2 (en) * 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US20080155112A1 (en) * 2006-12-22 2008-06-26 Nokia Corporation System and method for updating information feeds
US7933296B2 (en) * 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
US7831558B2 (en) 2007-06-22 2010-11-09 Microsoft Corporation Bi-directional data modification with synchronization

Also Published As

Publication number Publication date
EP2160689A4 (en) 2012-08-29
WO2009002822A3 (en) 2009-05-07
US20110173157A1 (en) 2011-07-14
JP2010531025A (en) 2010-09-16
WO2009002822A2 (en) 2008-12-31
US20110035355A1 (en) 2011-02-10
US20080320055A1 (en) 2008-12-25
CN101681344A (en) 2010-03-24
US7831558B2 (en) 2010-11-09
EP2160689A2 (en) 2010-03-10
CN101681344B (en) 2013-05-29
US8103629B2 (en) 2012-01-24
US7930272B2 (en) 2011-04-19

Similar Documents

Publication Publication Date Title
TW200907720A (en) Bi-directional data modification with synchronization
US7933296B2 (en) Services for data sharing and synchronization
RU2404450C2 (en) Method and system for synchronising multiple user revisions to shared object
Loeliger et al. Version Control with Git: Powerful tools and techniques for collaborative software development
Ramasubramanian et al. Cimbiosys: A platform for content-based partial replication
JP2022141669A (en) Content Management Client Synchronization Service
Lublinsky et al. Professional hadoop solutions
US20080270481A1 (en) Item Management with Data Sharing and Synchronization
US10931748B2 (en) Optimistic concurrency utilizing distributed constraint enforcement
WO2009020837A2 (en) Synching data
CN102460409A (en) Synchronizing file partitions utilizing a server storage model
JP2011508342A (en) Asynchronous replication
Haupt et al. A conversation based approach for modeling REST APIs
Shaw et al. A sharing-oriented design strategy for networked knowledge organization systems
Barbera et al. A semantic web powered distributed digital library system
Veeraraghavan et al. Fidelity-aware replication for mobile devices
Štorga et al. XML-based web service for collaborative product data management
Lim et al. Design and implementation of a collaborative team-based cloud storage system
Cai et al. Research of consistency maintenance mechanism in real-time collaborative multi-view business modeling
Ramasubramanian et al. Fidelity-aware replication for mobile devices
Chudnovskyy et al. Development of Web 2.0 Applications using WebComposition/Data Grid Service
KR101111222B1 (en) System for making semantic web by web database with internet program metadata
Davoust et al. Towards semantically enhanced peer-to-peer file-sharing
Yu Managing multi-synchronous sessions for collaborative editing
Berry Describing and supporting complex interactions in distributed systems