Conflict resolution

FIELD: information technology.

SUBSTANCE: content updates may be synchronised separately from metadata updates. Metadata updates may be synchronised automatically, whereas content updates may be synchronised only when any identified editing conflicts are resolved. When an editing conflict is identified, the user interface of the authoring application may be configured to switch between displaying and hiding the identified editing conflicts.

EFFECT: resolving editing conflicts arising when synchronising a user copy of a data file with a master copy of the data file.

20 cl, 30 dwg

 

The LEVEL of TECHNOLOGY

Traditional collaborative editing tends to run sequentially. Users are changing, turning to the document, edit the document and save the results of your editing. To prevent conflicts of editing, the user, who has access, can install a lock on the file to prevent other users from editing the document, when the user, who has access, edit the document. The iterative editing process can cause delays, since each user can wait for document editing. In addition, the iterative process of editing can be difficult to control. For example, each user may need to watch who what parts of the document edits which version of the document is the most recent and when will be the turn of the next user.

In other types of traditional collaborative editing each user can edit his copy of the document. In the future, all edited copies may be combined into a single document. Such large-scale Association may also cause delays and lead to numerous conflicts editing and/or be difficult to control. For example, the user responsible for unite is a group of documents, you may want to monitor the interaction between documents. The user may also be responsible for resolving conflicts between two or more edited copies.

It is for these and other reasons it was made by the present disclosure.

The INVENTION

This section of the description of the invention ensures that in a simplified form to submit a selection of concepts that further described below in the section "Detailed description". This section of the description of the invention is not intended to identify key features or essential features of the claimed subject matter, and is not intended to be an aid in determining the scope of the claimed subject matter.

Embodiments of the present disclosure, in General, designed to allow the user to resolve editing conflicts that arise when synchronizing file data in a collaborative environment. Every user who creates a custom copy of the data file, you can resolve editing conflicts between the main data file and a custom copy. Update taken from the user copy of the data file can be made to the master copy after conflict resolution editing.

In accordance with aspects of the disclosure, the use of auto is Inga allows the user to selectively show and hide the editing conflicts within the user copy of the data file. Application authoring allows free editing your copy, regardless of whether shown or hidden conflicts editing. According to other aspects, the authoring application provides a contextual user interface, enabling the user to allow the display editing conflicts.

In some embodiments, the implementation of the demonstration of editing conflicts contains comments on the content of the conflict. In one embodiment, the commentary to the content of the conflict indicates how conflicting content. In another embodiment, explains only the conflicting content, which is inserted, fixed and/or removed within your copy.

These and other features and advantages will be apparent from reading the subsequent detailed description and examining the accompanying drawings. It should be understood that both the foregoing General description and the subsequent detailed description are merely explanatory and not limiting aspects, as they claimed in the claims.

BRIEF DESCRIPTION of DRAWINGS

Figure 1 - example of an authoring system, with signs that are examples of aspects of the disclosure;

Figure 2 - block diagram of the example system authoring containing a storage device that stores the primary copy the data file, communication means connected to the user's device that stores the user copy of the data file corresponding to the principles of the disclosure;

Figure 3 - block diagram of the sequence of operations in the example of the authoring process by which a user copy of the data file may be created in accordance with the principles of the disclosure;

4 is a block diagram of a computer system user with the possibility of the implementation of the authoring environment in accordance with the principles of the disclosure;

5 is a block diagram of the sequence of operations in the example of the synchronization process, by which the synchronization operation, shown in figure 3, can be carried out in accordance with the principles of the disclosure;

6 is a block diagram of the sequence of operations in the example of the editing process, by which the operation is continuing, shown in figure 5, may be carried out in accordance with the principles of the disclosure;

7 is a block diagram of a sequence of operations, for example, a review process in which one or more of editing conflicts can be viewed and resolved in accordance with the principles of the disclosure;

Fig is an example of a user interface displayed to the user when no unresolved to the editing conflicts were not identified in accordance with the principles of the disclosure;

Fig.9 is an example of a user interface displayed to the user when the identified at least one conflict of editing in accordance with the principles of the disclosure;

Figure 10 is an example user interface displayed to the user when the identified at least one conflict editing and the user has chosen to view the identified conflict of editing in accordance with the principles of the disclosure;

11 is a diagram of the user interface containing the interface of conflict resolution that is displayed when the conflict edit is selected from the list in the summary screen in accordance with the principles of the existing disclosure;

Fig - block diagram of the sequence of operations for an example of the process by which the authoring application provides team conflict resolution provided by the user in accordance with the principles of the disclosure;

Fig - block diagram of the sequence of operations, for example-making process by which the accepted editing operation can be entered in the merged version of the data file in accordance with the principles of the disclosure;

Fig - block diagram of the sequence of operations for an example of process deviations by which discard the bedroom, the editing operation can be removed or destroyed within the merged version of the data file in accordance with the principles of the disclosure;

Fig-22 - changes in the example user interface displayed by the application authoring as the first user is editing a custom copy of the data file in a network mode in accordance with the principles of the disclosure; and

Fig-29 - changes in the example user interface displayed by the application authoring as the first user is editing a custom copy of the data file offline in accordance with the principles of the disclosure.

DETAILED DESCRIPTION

In the following detailed description referring to the accompanying drawings, made a part hereof, and on which, by means of illustrations showing specific embodiments of, or examples. Although the disclosure will be described in the General context of program modules that are executed with the software application running on the operating system in the computer system, specialists in the art should recognize that the disclosure can also be implemented in combination with other program modules. Described here are the options for implementation may unite and other options for implementation may be used, without departing from the spirits or scope of the present disclosure. Subsequent detailed description should not therefore be construed in a restrictive sense, the scope of the invention defined by the points of the attached claims and their equivalents.

In accordance with the principles of the present disclosure, the application for collaborative authoring environment provides authoring, in which one or more users can edit one or more data files (e.g., to handle text documents, presentations, documents, spreadsheets, drawings or other images, audio files, application program software, work programme etc) by editing operations (such as insert, edit and/or delete content and/or metadata). Each user receives a custom copy of the data file based on the version of the data file presents the main file. The user can edit the user copy of the data file to create a new version of the data file and periodically synchronize the new version with the master copy.

Synchronization, as used herein, the term refers to the sending and/or receiving one or more updates for the version between the main data file and the user copy of the data file to create a common version of the data file. For example, each user may periodically send a master copy of the upgrade version, which is a new version of the data file, and may periodically receive from the master copy of the upgrade version, before the bringing the current version of the master copy (for example, which may reflect the edits made by other users).

As briefly described above, embodiments of the present disclosure is directed to allow the user to resolve conflicts that arise editing when synchronizing file data in a collaborative environment. In General, the editing conflicts can occur when the primary copy of the data file is changed (for example, editing operations are performed on the master copy) between the time when the user copy is received and the time when the user copy is synchronized with the master copy, or between synchronizations. Such changes in the master copy will be referred to here as "minor edits".

The edit operation performed on the user copy of the data file, leads, as a result, a conflict of editing, as used here, the term, when the editing operation is faced with an intermediate change made to the master copy (or Vice versa). For example, if the user performs the editing operation on the user copy of the data file to make corrections in the first block of data that was deleted in the master file data through intermediate changes, then the edit operation, leading to the correction of Pervov the data block, may conflict with the editing operation, leading to the destruction of the first data block in the master.

Now with reference to the drawings, figure 1 shows an example system 100 authoring with signs that are examples of aspects of the invention in the disclosure. The authoring system 100 includes a storage device 120, which stores the primary copy 150 of the data file (for example, text documents, presentations, documents, spreadsheets, pictures, or other images, audio files, software applications, work program and so on). In one embodiment, storage device 120 may include one or more storage devices (e.g., network storage devices). In another embodiment, storage device 120 may include one or more computing devices.

The authoring system 100 also includes at least one computing device 110 of the user, which can means of communication to connect with the storage device 120. As the term is used here, the computing device 110 of the user includes any device configured to receive from the master copy 150 of the data file and the authoring user copy 155 data file. As the term is used here, the authoring data file may contain the substance of the creation of the data file and/or edit data file by editing operations. Each of the computing devices 110 user can perform the authoring data file, creating a user copy 155 from a data file based on the master copy 150. The device 110 of the user can edit the user copy 155, when the device 110 of the user communication means connected with the storage device 120 (i.e. the network) or when the device 110 of the user is disconnected from the storage device 120 (i.e. offline).

User copy 155 data file can be synchronized when the computing device 110 of the user communication means connected to a storage device 120 (that is, network) and periodically sends to the storage device 120, one or more updates that will be entered into the master copy 150 and, thus, will be used in conjunction with other computing devices 110 users. Synchronizing the user copy 155 also includes periodically received from the storage device 120 updates the master copy 150, originating from the computing devices 110 other users. When the computing device 110 of the user is offline, the computing device 110 of the user is not synchronized with the storage device 120 and, therefore, the calc is dlitelnyj devices 110 other users.

Additional details regarding the synchronization of the user copy of the data file with master copy can be found in co-pending application No. 11/938082 registered November 9, 2007 and entitled "Collaborative Authoring", the disclosure of which is hereby found here in its entirety. Additional details regarding synchronization, when the computing device 110 of the user is offline, can be found in co-pending application No. 11/957010, registered on December 14, 2007 and entitled "Collaborative Authoring Modes", the disclosure of which is hereby found here in its entirety.

In the example shown in figure 1, four computing device users, HOA, HOB, HOC, HOD, means connected to a storage device 120. In other embodiments, implementation, however, to a storage device 120 can be connected to any number of computing devices 110 users. In the shown example, the computing device 110 each user, 110A, 110, 110C, 110D may be sent to storage device 120 updates created by the user computing device 110, and may request from the storage device 120 updates created by the users of other computing devices 110.

Computing device 110 users 11A, 110V, 110C, 110D may be devices other than the storage device 120, or may contain various user accounts, implemented on the storage device 120. In one embodiment, the device acting as a mass storage device 120 for a single data file that can act as a computing device 110 user to another data file, and Vice versa. In one embodiment, storage device 120 may be a computing device 110, server and computing device 110A, 110, 110C, 110D users can be computing devices clients.

In accordance with aspects of the disclosure, the update data file contain content updates and/or update metadata. As the term is used here, content updates apply to any editing done in the independent content of the data file. For example, content updates for the processing of a text document may contain added paragraphs (or sections), deleted paragraphs (or sections), amended paragraphs (or sections) and add, remove, and/or changes in tables, charts, images, or other such objects. In another embodiment, update content for presentation document may contain added at Lennie and/or fixed image, text, animations, sounds, and other similar data objects.

As the term is used here, metadata updates are available for each editing operation performed in the metadata of the data file. Examples of metadata is not limited to only these contain blocking content, presence information, and other similar items. The presence information indicates which users are informed about the intention to edit the document. Lock content prohibit editing any content within the block for those users who do not have the lock. For example, blocking content can prevent editing conflicts, indicating which parts of the document or other data file have been requested by another user. In some embodiments, the blocking of content can be prevented (i.e. limit) the user edits the document part, which is requested by another user. In other embodiments, implementation, however, the user may decide to break the lock of the content and edit the part of the data file. In such cases, the authoring application may alert the user that when editing the blocked part, conflicts can occur.

As shown in figure 2, the content 152 and metadata 154 data file can be stored in the Amati 125 of the storage device 120. In some embodiments, the implementation of metadata 154 data file can be stored separately from the content 152. For example, the content 152 may be stored in the file 150 data and metadata 154 may be stored in a table (not shown) separately from the file 150 data. In other embodiments, implementation, however, the metadata 154 can be stored inside the file 150 data. Content 152' and the metadata 154' user copy 155 data file can be stored in the cache (see cache 426 figure 4) on the computing device 110 of the user. One or more applications 130 authoring on the computing device 110 of the user process and manipulate content 152' and/or metadata 154' user copy 155 data file.

In General, computing device 110 user can synchronize content updates separately from the update metadata. In some embodiments, the implementation of metadata updates are automatically synchronized between the storage device 120 and the computing devices 110 users, while the update of the content from the computing device 110 of each user are synchronized upon request of the user. In one embodiment, environment 100 authoring can synchronize content updates only when the editing conflicts are not creatures who are (or were they permitted), but can synchronize metadata updates regardless of existing conflicts editing.

In one embodiment, the edit conflict may arise from the content updates received from the primary copy. In this embodiment, changes in the content 152' and/or metadata 154' user copy 155 encounter intervening changes in the content 152 of the master copy 150. Such conflicts editing referred to here as the merge conflicts. For example, in one embodiment, the same data block may, in the interval between synchronizations was edited differently in your copy and the master copy of the data file. In another embodiment, the data block may have been edited in the master copy 150 before blocking content, obtained for the data block in the user copy 155, was synchronized with the master copy 150.

In another embodiment, the edit conflict may arise from updating the metadata received from the master copy 150. In this embodiment, changes in the content 152' and/or metadata 154' user copy 155 faced with intermediate changes in metadata 154 of the master copy 150 (for example, adding locks content). Such conflicts editing reference is raised here as conflicts naseleniya. For example, device 110 may receive metadata updates from the master copy 150 of the data file, indicating that the content is fixed in the user copy 155, has already been locked by another user.

In one embodiment, changes to metadata 154' user copy 155 data file, which are faced with intermediate changes in the master copy 150, cancelled intermediate changes in the master copy 150. For example, if the storage device 120 receives the update metadata from the HOA device of the first user (1), requesting the lock of the content in the first data block of the data file, and determines that the corresponding first data block of the master copy 150 already locked in the device HOB second user (figure 1), then the storage device 120 will reject the lock request device 110A of the first user.

Figure 3 presents the block diagram of the sequence of operations for an example process 300 authoring, through which the authoring application can create a custom copy of the data file, such as user copy 155, shown in figure 2. The process 300 authoring is initiated and starts at module 302 starts and proceeds to operation 304 authoring. In General, the operation 304 authoring edits polzovateley data file. In one embodiment, operation 304 of the authoring user receives a copy of the data file based on the master copy of an existing data file (e.g., storage devices). In another embodiment, operation 304 authoring creates and edits a new data file, creates a master copy of the data file (e.g., periodically or when editing is finished) and stores the master copy of the data file (for example, on the storage device).

Operation 306 reception when using the authoring application receives updates, indicating minor changes made to the primary copy of the data file. For example, in one embodiment, operation 306 receiving receives the update content, indicating any interim changes made to the content of the master copy of one or more other users, conductive authoring data file. In another embodiment, operation 306 receiving receives the update metadata indicating any interim changes made to the metadata of the master copy of one or more other users, conductive authoring data file. In another embodiment, operation 306 receiving receives as content updates, and update metadata.

[0045] In one embodiment, operation 306 accept upgr the population from the main copy with predetermined intervals. In another embodiment, operation 306 will accept updates from the master copy when the master copy was made of the threshold amount of editing. In another embodiment, operation 306 will accept updates from the master copy in response to the update request. For example, operation 306 may request an update of the master copy to update the file data before saving the data file. In this embodiment, operation 306 receiving requests from the master copy of the update when the user accepts commands to synchronize the data file.

Operation 308 update introduces intermediate changes in the user copy of the document (for example, by merging the intermediate changes in the user copy of the document). In one embodiment, operation 308 update introduces intermediate changes in the metadata, in a manner different from the intermediate content changes. In one embodiment, operation 308 may update type update content and metadata updates automatically. In another embodiment, the operation 308 updates can enter metadata updates automatically and can enter content updates at the user's request. For example, the operation 308 updates may provide the user with a button or have the front-end tool indicate the availability of updates that can be introduced by including buttons or other interface tool.

Operation 308 updates can also determine whether there are any conflicts editing. In some embodiments, the implementation of the operation 308 updates can enter intermediate changes differently depending on the identified conflicts editing. For example, in one embodiment, the operation 308 updates may prohibit the holding of content updates, if the identified editing conflicts, but can continue updating metadata automatically, despite the existence of editing conflicts. Preferably, the synchronization of updates to metadata, despite the existence of editing conflicts can mitigate the occurrence of further conflict editing. For example, the sync block data may prevent concurrent editing of the same data block by different users.

Operation 310 synchronization tries to synchronise the user a copy from the master copy, directing into the master copy of the update that indicates changes made in the user copy of the data file. In one embodiment, operation 310 synchronization directs the snowline for distribution to other users, jointly conducting the authoring data file. Operation 310 synchronization user saves a copy as the master copy (that is, overwrites the master copy), only if not identified any editing conflicts between the user copy and the master copy. In one embodiment, operation 310 synchronization gets the most recent version of the master copy, and determines whether there are conflicts of editing between the user copy and the new version of the master copy.

In accordance with aspects of the disclosure, the operation 310 synchronization may allow the user to initiate the conflict resolution editing by the user at any time after edit conflict was identified. Operation 310 synchronization may allow the user to continue to freely edit a custom copy of the data file, even if it was determined the presence of one or more of editing conflicts. In one embodiment, operation 310 synchronization can continue editing your copy in the presence of editing conflicts that are hidden from the user. In another embodiment, operation 310 synchronization can continue editing your copy when there are conflicts editing, performance is implemented by the user. If editing your copy continues despite the existence of one or more conflicts edit, update content, indicating a change in your copy can be saved locally until the editing conflicts are not resolved, instead of sending them to the master copy for synchronization, as will be discussed here in more detail.

Operation 310 synchronization can synchronize metadata updates differently than content updates. For example, in one embodiment, operation 310 synchronization may send content updates only if all the editing conflicts were resolved, and may send updates metadata, regardless of whether they were resolved conflicts editing. As noted above, the synchronization of updates to metadata, despite the existence of editing conflicts can mitigate the occurrence of further conflict editing. Additionally, the termination synchronization of content updates when the existence of editing conflicts may prohibit the introduction of editing conflicts in the master copy of the data file. The process 300 authoring is completed and ends at module 312 stop.

[0051] In General, the authoring environment, with signs, which are examples aspect the invention in accordance with the principles of the disclosure, can be implemented on a computing device of the user (e.g. on a personal computer, server computer, laptop, handheld computer, PDA, smartphone, or any other such computing device 110 of the user). An implementation option, in particular, to a computer system 400 user with the possibility of implementation environment authoring and execution processes of authoring, such as the process 300 authoring shown in figure 3, is described here with reference to figure 4.

Figure 4 is an example of a computer system 400 for implementing the principles of the disclosure includes a computing device such as computing device 410 of the user. In the basic configuration, computing device 410 user typically contains at least one processor 415 to run applications and programs stored in the system memory 420. Depending on the exact configuration and type of computing device 910 user, system memory 420 may include, in particular, random access memory (RAM), a persistent storage device (ROM), electrically erasable programmable permanent memory (EEPROM), flash memory, CD-ROM, CD-ROM, digital versatile disks (DVDs) or other optical storage devices, magnetic ka the sets, magnetic tape, magnetic disk storage device or other magnetic storage devices, or devices made in accordance with other technologies storage devices.

In the system memory 420 is typically stored operating system 422, such as a WINDOWS® operating system MICROSOFT CORPORATION, Redmond, Washington, is suitable to control the operation of computing device 410 of the user. System memory 420 may also contain a cache 426 data file, which can be stored custom copy 427 document. Metadata 429 data file can also be stored in the cache 426 user.

In the system memory 420 may also store one or more software applications, such as applications 424 authoring for creating and editing data files. One of the examples, in particular, the application 424 authoring, suitable for authoring documents in accordance with the principles of the present disclosure, is a software authoring MICROSOFT® OFFICE WORD MICROSOFT CORPORATION, Redmond, Washington. Other examples of authoring applications, not limited to only these contain software POWERPOINT® to create presentations and software VISIO® drawing and diagrams, both of which also feature the company is th MICROSOFT CORPORATION, Redmond, Washington.

The computing device 410 user can also have the device(s) 430 input, such as keyboard, mouse, pen, voice input device, touch input device, etc. to enter and manage data. Device(s) 425 output, such as a display screen, speakers, printer, etc. may also be contained in the products. These devices 435 output known in the art and need not be discussed here in detail.

The computing device 410 user may also contain connections 440 for communication, allowing the device 410 to communicate with the computing device 410 other users, for example, with the storage device 120 in figure 1, over the network in a distributed computing environment (e.g., Intranet or Internet). For example, in a particular environment 440 communication devices includes a wired medium, such as a wired network or direct-wired connection, and wireless environment, such as acoustic, RF, infrared and other wireless environments.

Figure 5 presents a flowchart of the sequence of operations for an example process 500 synchronization through which can be operation 310 synchronization, shown in figure 3. The process 500 synchronization is initiated and begins to fashion the Les 502 starts and proceeds to operation 504 is received. Operation 504 receive is how to obtain the update version from the main copy. For example, in one embodiment, operation 504 may receive request an update version from the main copy. In another embodiment, operation 504 may receive to receive periodic updates version from the master copy (for example, with predetermined intervals).

Operation 506 identification determines whether there are conflicts of editing between the current version of the master copy and customized copy. More specifically, the operation 506 identification determines the face do each other any interim changes to the master copy and any editing operations performed on the user copies since the last synchronization (or since it was a received custom copy).

Operation 508 merge combines user copy and the master copy in the merged version of the data file and is the merged version to the user. In one embodiment, operation 508 merge integrates intermediate changes in the user copy of the data file. In another embodiment, operation 508 merge integrates the changes into the master copy of the data file. In another embodiment, operation 508 merge integrates PR is interstitial changes and changes in the last synchronized version of the master copy (i.e. the version of the master copy, which was received and edited by the user).

The first module 510 definition breaks the flow of the process 500 of synchronization, based on whether using the operation 506 identification identified any conflicts editing, and/or whether there were any conflicts editing of previously received updates unresolved. If the first module 510 of determining determines that at least one edit conflict was identified, the operation 512 warning informs the user of the presence of conflict editing. For example, operation 512 warnings may present the user with a message indicating the existence of one or more of editing conflicts. In one embodiment, operation 512 alerts can also specify the consequences of unresolved identified editing conflicts (for example, the inability to fully synchronize custom copy from the master copy, while resolving the conflict edit).

The second module 514 definition allows the user to choose when to view and resolve the identified conflict editing. In the shown example, the second module 514 definition gives the user the option to view conflict edit or continue what I am editing a custom copy of the data file without viewing conflict editing. If the second module 514 determining determines that the user selected the ongoing editing, the operation 516 continuation allows the user to freely edit the data file, as will be discussed in more detail.

If the second determining module 514 determines that the user selected view, then, however, the operation 518 view allows the user to view and, as an option to resolve the conflict editing, using the dispute resolution process, which will be discussed here in more detail. When the operation 518 viewing is completed, the process 500 sync goes back to the first module 510 definitions 510 to determine, remain unresolved whether any conflicts of editing. The above sequence of operations is repeated up until the first module 510 of determining determines that no conflict of editing does not exist.

When the first module 510 definitions 510 determines that no conflict of editing does not exist, then the third module 520 determination decides whether received any intervening changes from the main copy, and whether they were implemented in a custom copy. For example, the third module 520 can determine determine whether you have made any intervening changes in the main copy from the time of the last update. In one embodiment, the third module 520 definition compares the version number for the current version of the master copy of the version number for the version of the master copy, presents the most recent adopted by the update.

If the third module 520 determining determines that additional interim changes exist (that is, what is the most recent update received does not reflect the current state of the master copy), then the process 500 sync returns to operation 504 receive and process 500 synchronization begins again. If the third module 520 definitions 520 determines that no additional intermediate changes do not exist (that is, that the last received update reflects the current state of the master copy), then, however, the operation 522 indication provides an indication that the conflict editing was allowed. For example, in one embodiment, operation 522 display can display a message to the user indicating that all the editing conflicts were resolved. In another embodiment, operation 522 display can display to the user a graphic, icon or other indication indicating that the editing conflicts were resolved. Operation 524 save overwrites the user a copy of the master copy of the data file. The process 500 synchronization for ersetze and ends in module 526 stop.

Figure 6 presents a flowchart of the sequence of operations for an example process 600 of editing, through which can be operation 516 continue, shown in figure 5. The process 600 editing is initiated and starts at module 602 run and proceeds to operation 604 reception. Operation 604 receiving receiving editing commands from the user. For example, the operation 604 can receive input from the user via the input device, such as device 430 input data, shown in figure 4.

Editing commands specify the changes to content and/or metadata merged version of the user's copy of the data file. For example, the edit command can specify that a block of data (e.g., paragraph, column, table, slide, graphics, etc.) new data file must be added, removed, or corrected. Editing commands can also indicate a change in the metadata (for example, change the locks content and so on). Operation 606 making performs the editing operation on a new copy of the document.

Module 608 definitions decides indicated whether the user is a desire to stop editing. For example, in the first embodiment, module 608 can determine to decide what the user wanted to resolve conflicts editing. In another embodiment, the wasp is estline module 608 definitions decides what the user wanted to close a new copy of the file data or to synchronize a new copy from the master copy of the data file. In another embodiment, module 608 can determine to decide what the user wanted to continue editing a new copy of the data file.

If the module 608 determining determines that the user wanted to continue editing the data file, then the process 600 editing 600 cyclically returns to operation 604 receiving and starts again. If the module 608 determining determines that the user wanted to stop editing the data file, then, however, the operation 610 save saves any changes made by the user. In General, the operation 610 save stores the merged version of the data file, including any changes made by the user in a location other than the primary copy of the data file. In one embodiment, operation 610 save stores the merged version of the file data in local memory (e.g., in a local cache). In another embodiment, operation 610 may remember the merged version of the data file on the storage device separately from the main copy. The process 600 editing is completed and ends at module 612 stop.

Figure 7 presents a flowchart of the execution sequence of the of eraci for example process 700 of view, whereby one or more of editing conflicts can be addressed and resolved. For example, the process 700 view is one example of the implementation process 518 view figure 5. The process 700 view is triggered and starts at module 702 start and proceeds to operation 704 of the display. Operation 704 of the display represents the conflict edit to the user. In one embodiment, the editing conflicts are presented within the context of the merged version of the data file.

In some embodiments, implementation, operation 704 display displays all the conflicting editing as the primary copy and your copy. For example, in one embodiment, operation 704, the display may display the content resulting from the merge conflicting editing operations with the user copy of the data file. In another embodiment, operation 704, the display may display the content resulting from the merge conflicting editing operations with the primary copy of the data file. In another embodiment, operation 704, the display may display the content resulting from the merge conflicting editing version of the data file, dokaka any intermediate changes.

In one embodiment, if the conflicting editing operations are performed in one and the same object (e.g., character, word, paragraph, graphic, slide, cell, row, column, and so on) within a data file, then the operation 704, the display displays the object converted both editing operations. In another embodiment, operation 704 display displays two copies of the object: one copy that represents the version of the object found in the master data file, and another copy that represents the version of the object found in your copy of the file data.

In one embodiment, operation 704, the display displays the conflicting content as a comment to a non-conflicting content unified version data file. For example, in one embodiment, the conflicting content added to the data file in the master or in your copy can be shown as added to the non-conflicting content and commented to specify conflicting content that was inserted in one version of the data file. In another embodiment, the conflicting content that is deleted from a data file in the master or in your copy can be shown as added to the non-conflicting content and provided the com is various, to specify conflicting content that was deleted in one version of the data file. Here below we will provide additional disclosure relating to the display of conflicting edits.

Operation 706 receives the user commands authoring. For example, operation 706 may receive to accept input from the user via the input device, such as device 430 input data, shown in figure 4. The first module 708 definitions decides, provided if the user command to return to a free continuation editing a data file instead continue browsing of editing conflicts. For example, in one embodiment, the first module 708 definitions may decide that the user has selected the interface switching, which here will be disclosed in more detail. In another embodiment, the first module 708 definitions may decide that the user has provided a command to accept or reject one or more operations conflicting edits.

If the first module 708 determining determines that the user has provided a command to return to editing, the process 700 view completes and ends at module 714 stop 714, even if the identified editing conflicts remain unresolved. If the first module 708 determine the program decides that the user has provided a command to return to editing, then, however, the operation 710 make executes commands from the user. In General, operation 710 making can enter or reject each edit operation in accordance with commands provided by the user. For example, in one embodiment, operation 710 may make to enter operation by the conflicting edits in the merged version of the data file, if the user provides commands to the adoption of editing operations. In another embodiment, operation 710 may make to remove the effects rejected editing operations of the merged version of the data file. There are further details concerning the characteristics of the operation 710 submission.

The second module 712 definitions 712 decides remains unresolved whether any of the identified editing conflicts. In one embodiment, the second module 712 definition does not address whether you have created any new conflicts of editing after the most recent identification of editing conflicts (for example, through updates received from the master copy, through additional editing operations performed by the user, and so on). Rather, the second module 712 definition solves remain unresolved whether any is because of the already identified editing conflicts. In another embodiment, the second module 712 determination decides whether there are any new conflicts editing.

If the second module 712 determining determines that at least one of the identified edit conflict remains unresolved, then the process 700 solutions cycled back to the first module 708 definitions. If the second module 712 determining determines that the identified editing conflicts were resolved, then, however, the process 700 solutions completes and ends at module 714 stop.

In General, the user interface displayed using the authoring application on the user's device, such as an application 130 authoring device 110 of the user in figure 2, may vary based on whether the application authoring identified one or more of editing conflicts. In some embodiments, the implementation of the authoring application may display a warning message to alert the user to the existence of editing conflicts. For example, in one embodiment, the status may indicate the existence of editing conflicts. In another embodiment, the user may display a message box that provides guidance on the implications of editing conflicts. For example, in the window with the communication can be specified the content may not be synchronized until you have resolved the identified editing conflicts.

In addition, when an edit conflict is identified, the user interface of the authoring application may, at the discretion of the user, to be made with the possibility of switching between the display of editing conflicts and concealment of editing conflicts. In General, the user interface of the authoring application allows free editing of the data file, when editing conflicts appear when editing conflicts are hidden. The user interface provides additional functionality that allows you to view and resolve conflicts editing when the user wants to view conflicts editing.

On Fig-10 schematically presents block diagrams showing examples of user interfaces that the authoring application may display to the user, to enable the authoring and synchronization of the data file. On Fig presents an example interface 800 of the user provided by the user, when not identified any unresolved conflicts editing. For example, the authoring application may display the interface 800 of a user when the operation is performed 304 editing, shows the th figure 3.

The interface 800 user contains the window 810 authoring, which can be custom copy of the data file. In one embodiment, the window 810 authoring contains region 812 edit, which displays the content of your copy. In the field 812 editing can also display the metadata of the data file (for example, blocking content). The user of the authoring application can interact with the content in the field 812 edit to add, delete or correct the displayed content.

Figure 9 presents an example of the interface 850 user that is displayed to the user when the identified at least one conflict editing. For example, the authoring application may display the interface 850 user, when the user wants to continue editing the data file instead of to resolve conflicts (see, for example, the first module 516 definitions figure 5). In one embodiment, the interface 850 user is displayed when the process 600 editing shown in Fig.6.

The user interface 850 contains a window 810 authoring shown in Fig with the editing area 812, in which the content and metadata of the data file can be displayed and/or edited. The user is sci interface 850 also includes an interface 815 switch. In General, the choice of interface 815 switching by the user will cause the user interface to display the identified editing conflicts. In one embodiment, the selection interface 815 switch will also activate the interface conflict resolution.

Figure 10 presents an example interface 900 of the user that is displayed to the user when the identified at least one conflict editing and the user wanted to view the identified conflict editing. Interface 900 user can also allow allow the identified editing conflicts. For example, the authoring application may display the interface 900 of a user when the user wants to view conflicts editing (see the first module 514 definitions figure 5). Accordingly, in one embodiment, the interface 900 user is displayed when the process 700 view shown in Fig.7.

The user interface 900 also includes interface 915 switch with which the user can hide the identified editing conflicts. In one embodiment, the selection interface 915 switch also disables the interface 920 conflict resolution. For example, the choice of interface 915 switching the mode can be forced to display the user interface 850 user, shown in figure 9, instead of the interface 900 of the user.

Interface 900 user contains the window 910 authoring with region 912 editing, which can be displayed and/or edited the content and metadata of the data file. Region 912 editing also displays the identified editing conflicts or content resulting from the identified editing conflicts. For example, in one embodiment, region 912 editing can display the merged version of the data file created by combining the user copies from the master copy.

In some embodiments, implementation of the identified editing conflicts displayed inside the field 912 editing, indicated by comments to the content resulting from the operations of editing conflicts. In one embodiment, the comments indicate how conflicts resulting content. For example, in one embodiment, a section of content (e.g., word, paragraph, table, column, graphics, etc. can be annotated to indicate that the section has been inserted, removed and/or corrected in your copy and/or in the main copy. Example comments indicating such insertion, deletion, and/or the patch may contain a given the second color, strikethrough, underline, set opacity, selection, or other such features.

Interface 900 user may also contain a final window 920, in which the authoring application may inform the user about the identified editing conflicts. In some embodiments, the implementation of the final window 920 may contain region 922 summary. For example, the region 922 summary can display the number of editing conflicts identified by the authoring application and the remaining unresolved. Region 922 summary information may also specify the number of drained and nalivaem of editing conflicts. In one embodiment, the region 922 summary information can freshen (i.e. updated) as conflicts are resolved editing.

In some embodiments, the implementation of the final window 920 may also display an enumeration 924 any unresolved conflicts editing. For example, in one embodiment, all conflicting content (e.g. content added, deleted and/or corrected in your copy or master copy) listed within the summary window 920. In one embodiment, the content may be provided with a comment to indicate the origin Taiwan the discussion of content (for example, custom copy or primary copy). In another embodiment, the content may be commented to indicate the type of editing operations (for example, patch, paste, delete, etc)that make up the content.

The interface 900 may be configured to enable a user to allow the displayed editing conflicts. For example, the interface 900 may allow a user to provide commands resolution for one or more display of editing conflicts. In one embodiment, the interface 900 of a user allows the user to provide commands permit for the display of editing conflicts in accordance with their sequence. In another embodiment, the interface 900 of a user allows the user to provide commands permissions for any displayed conflict edit selected by the user.

Examples of commands permissions contain the command of adoption, through which the user indicates that the selected edit operation must be entered in the merged version of the data file, and the team deviations by which the user indicates that the edit operation should not be performed in the volume of yennai version of the data file. Other examples of commands permits may contain the command "next"through which the user moves to the next edit conflict, not allowing the currently selected conflict edit, and click "previous", through which the user returns to the previous edit conflict, not allowing the currently selected conflict editing.

In some embodiments, the implementation, the user may provide a command for conflict resolution, interacting with one or more interfaces 930 permission. Examples of interfaces of conflict resolution are, in particular, buttons (e.g., button making, button reject button, "next" etc), drop-down menus, tabs, and other front-end tools. In one embodiment, when the displayed conflicts editing interface 900 displays to the user one or more interfaces of conflict resolution. In another embodiment, when the user selected the conflicting content, interface 900 displays to the user one or more interfaces of conflict resolution.

For example, the user may provide a command conflict resolution, selecting (e.g., through a cursor or other input interface) content HV the three areas 912 editing which is the result of one of the operations conflict with editing and interaction with the interface of conflict resolution. In other embodiments, the implementation, the user may provide a command conflict resolution, choosing the editing operation to be displayed inside the final box 920, and interacting with the interface of conflict resolution, to provide or select conflict resolution.

For example, figure 11 interface 900 contains the user interface 930 conflict resolution, which is displayed when the conflict 925 editing is selected from a list of 924 in the summary window 920. Interface 930 conflict resolution, shown at 11, includes a button 932 adoption and click 934 deviations. In other embodiments, the implementation of the interface 930 conflict resolution may, however, contain any desired front-end tool. In the example shown figure 11, the interface 930 conflict resolution is displayed as a pop-up window. In other embodiments, implementation, however, the interface 930 conflict resolution may contain a dashboard or section drop-down menu or a part thereof, or other similar interface display.

On Fig presents a flowchart of the sequence of operations of the example process 1000 of application, whereby the application ABT the ring implements the commands conflict resolution, provided by the user. The process 1000 Deposit is initiated and begins in module 1002 start and proceeds to operation 1004 is received. Operation 1004 receives a command conflict resolution from the user to resolve the conflict content. For example, operation 1004 obtain can define a specific section of the conflicting content that was selected by the user, and a specific button, a menu option or other front-end tool of conflict resolution selected by the user.

Module 1006 definition determines whether a command conflict resolution that selected conflicting content should be accepted or rejected. If the module 1006 determining determines that the operation 1004 receives the acceptance team, the process 1000 implementation proceeds to operation 1008 adoption. If the module 1006 determining determines that the operation 1004 receives the command reject, then, however, the process 1000 implementation proceeds to operation 1010 deviations. Details of examples of processes for transactions 1008, 1010 acceptance and rejection are discussed below with reference to Fig and 14. The process 1000 ends and make ends at module 1012 stop.

On Fig presents a flowchart of the sequence of operations of the example process 1100 of adoption, through which the principles of the Tay, the editing operation can be entered in the merged version of the data file. The process 1100 adoption is initiated and begins in module 1102 run and proceeds to operation 1104 cleaning. Operation 1104 cleaning removes any comments or other instructions from a received content. For example, any underline, strikethrough, color, or other similar comments received content are removed from the merged version of the data file.

Module 1106 definition solves, has adopted content to add and/or formatting of the content in the data file. For example, in one embodiment, the module 1106 determination decides whether the received content, character, word, table, column, graphics or other data block in the data file. In another embodiment, the module 1106 definitions decides added if the received content any formatting (such as bold, underline, font color, highlighting, and so on) in the data file.

If the module 1106 determining determines that the accepted editing operation has resulted in adding to the content and/or formatting, the process 1100 adoption is completed and ends at module 1110 stop. If the module 1106 determining determines that the accepted editing operation removes the content and/or format of the data file, then, however, the operation 1108 delete deletes the content and/or format of the consolidated version of the file the data. The process 1100 adoption is completed and ends at module 1110 stop after the operation 1108 remove.

On Fig presents a flowchart of the sequence of operations of the example process 1200 deviations by which rejected the edit operation may be removed or destroyed within the merged version of the data file. The process 1200 deviation is initiated and begins in module 1202 start and proceeds to operation 1204 cleaning. Operation 1204 cleaning removes from the content of any comments or other indications resulting from rejected editing operations. For example, any underline, strikethrough, color, or other similar comments in the content are removed from the merged version of the data file.

Module 1206 definitions decides could rejected the edit operation to result in adding content and/or formatting in the data file. For example, in one embodiment, the fourth module 1206 determine 1206 decides added Lee rejected the edit operation symbol, word, row, cell or other block of data or the content object to the data file. In another embodiment, the module 1206 definitions decides added if the declined transaction edit any formatting (such as bold, podcherkivanie is, font color, highlighting, and so on) to the data file.

If the module 1206 determination decides that rejected the edit operation could result in adding content and/or format in the data file, then the process 1200 deviations completes and ends at module 1210 stop. If the module 1206 determination decides that rejected the edit operation could add content and/or formatting, then, however, the operation 1208 delete deletes the content and/or format of the merged version of the data file. The process 1200 deviations completes and ends at module 1220 stop after the operation 1208 remove.

The principles of the present disclosure can be better understood if we use the sample applications. In the first example application Fig-22 presents the changes in the example user interface displayed by the application authoring, as the first user is editing a custom copy of the data file online. In the second example application, shown in Fig-29 shows the changes in the example user interface displayed by the application authoring, as the first user is editing a custom copy of the data file offline.

On Fig interface 2000 user of the authoring application contains the CTA 2010 on the display screen 2010, containing region 2012 editing, displaying the content of the user copy of the data file, dashboard, 2016 command, providing command options, and the string 2018 status indicating the state of the user copy of the data file. For example, line 2018 status can indicate when content updates are available for insertion into the user copy of the data file. String 2018 status may also indicate when were identified editing conflicts. In the shown example, the string 2018 status indicates that no content updates are not available from the primary copy of the data file.

The authoring application allows editing of the user copy of the data file, for example, using the example process 300 authoring shown in figure 3. In the shown example, the authoring application allows the first user to freely edit a custom copy of the data file (see operation 304 editing figure 3) within the scope 2012 edit 2010 on the display screen. On Fig the first user is editing the first data block of the content displayed in the 2012 editing. First, the user sets the cursor 2019 on the first block of data to allow editing of the first data block. The second user receives the lock 2022 on the second block d is the R content inside the 2012 editing. Block 2022, which is displayed inside the 2012 editing, prevents the first user is free to edit the second data block.

On Fig the first user edited the first data block, to change the word "dog" to "doe". In one embodiment, the change of the word "dog" to "doe" includes the provision of an edit operation to delete the word "dog", and editing operations to insert the word "doe". In another embodiment, the change of the word "dog" to "doe" contains software editing operations to remove the letter "g", and editing operations to insert the letter "e". In other embodiments, the implementation can use other editing operations to achieve the same results.

In one embodiment, the editing of the first data block initiates the transfer into the master copy of the data file request by the first user block of the first block of data. In another embodiment, the first user can provide a custom command to block the first block of data. For example, the first user can select the first block of data and select the lock option on the interface 2000 user. Accordingly, block 2024, owned by the first user, is placed around the first block of data on Fig. In showing the second example of the locking 2024 differs from block 2022, owned by the second user. For example, block 2024, owned by the first user, is shown by the dashed lines, and block 2022, owned by the second user, is displayed as solid lines. The difference of locks owned by the first user, from the locks owned by other users that may allow the first user to know which data block is blocked, the first user without interfering with the first user to edit the data block. In one embodiment, each user can have different block (for example, blocking different users can have different color, shading, formatting, etc).

On figa the authoring application receives updates, indicating minor changes made to the primary copy of the data file (see operation 306 obtain figure 3). In one embodiment, the authoring application receives an update after the expiry of a specified period of time. In another embodiment, the authoring application receives an update in response to the synchronization request your copy from the master copy. For purposes of this example, application authoring, as expected, took the update automatically after a specified period of time. String 2018 status window 200 of the display was updated on figa, to specify that the update was made.

In one embodiment, the authoring application accepts metadata updates from the master copy. In another embodiment, the authoring application receives content updates from the master copy. In the sample app authoring takes as metadata updates, and update content. Update metadata indicates that the second user has removed the lock 2022 on the second data block and got the lock (see lock 2028 on Fig) on the first block of data. In this example, the second user synchronized lock request for the first data block from the primary copy to the first user. Accordingly, the second user has been assigned a lock on the first data block. Update metadata also indicates that the third user has received the third block 2026 on the third data block. Update content indicates that the second user has edited the first data block, to change the word "lazy" to "lively".

When the authoring application receives an update, the authoring application decides whether there are any conflicts between editing custom copy and accepted the update. If no editing conflicts do not exist, then the authoring application enters the update metadata is avtomaticheskij (see operation 308 updates figure 3). In the sample application update metadata indicates that the third user has a lock on the third data block. Accordingly, figa third block 2026 is shown around the third data block.

In one embodiment, if the update metadata conflicts with the change of the user, then, however, the update metadata is not introduced until the user attempts to synchronize user a copy from the master copy. In the sample application update metadata indicates that the second user has a lock on the first data block, which conflicts with the request of the first user to block the first block of data. Accordingly, the lock of the second user on the first block of data is not entered in the user copy automatically. In another embodiment, the unlocking content is not inserted, until you have resolved any of the identified editing conflicts. Accordingly, unlock 2022 of the second user on the second block of data is not entered in the user copy automatically.

If no editing conflicts do not exist, then the authoring application also allows the user to decide when content updates must be entered (e.g., merger) in a custom copy of the file data is x (see operation 308 updates figure 3). For example, the authoring application may provide an interface introduction, through which the first user can provide commands to the introduction of the update. Examples of interfaces introduction contain, in particular, buttons, menu options and other interface tools.

However, if the authoring application identifies the conflict editing, authoring prohibits the introduction of user updates user a copy. In one embodiment, the authoring application does not display the interface for administration. In another embodiment, the authoring application does not display an indication of the availability of an update. In the sample application update metadata conflicts with user made the change. Accordingly, the authoring application does not provide the first user to enter the update content.

On Fig the first user instructs the application authoring to try to synchronise the user copy of the data file with master copy (see operation 310 synchronization figure 3). In one embodiment, the authoring application performs the process 500 synchronization, shown in figure 5. The authoring application receives updates from the master copy, if the process is properly (see the operation 504 receive the deposits figure 5) and decides are there any conflicts editing result of the update (see operation 506 identification figure 5). In the shown example, the authoring application does not receive any new updates (i.e., no intervening changes in the master copy has not been done since the last update). Application authoring decides that intermediate changes previously adopted by the update conflict with user made the changes.

The authoring application then combines the user copy of the data file with master copy of the data file (see operation 508 merge figure 5) and displays the merged copy of the data file to the first user. In the shown example, the authoring application displays a consolidated version of the data file in the 2012 edit Fig. In General, the authoring application may integrate a custom copy and the master copy, using any desired way merge. For example, in one embodiment, the authoring application displays all content added, deleted and/or revised in the user copy of the data file and the master file data.

In another embodiment, the authoring application may determine the file version of the data, presents the master copy, and can perform any addition, deletion is occurring and/or corrections of content or formatting your copy on unlocked blocks of data version of the master copy of the data file (i.e. to enter to be merge conflicts). For conflicts that are not subject to the merger, such as editing user data blocks that are locked on master copy (for example, edit a user, is made to receive updates metadata that indicates the lock), the authoring application may add duplicate data block adjacent to the locked block of data and can correct the duplicate data block, based on the corrections made in your copy (for example, change the content, add a block of content, and so on). Accordingly, the data block remains locked and unchanged in accordance with the state of the master copy. However, changes in the data block of the first user stored in the merged version of the data file up until the first user does not want to remove them.

In the example shown in Fig, the first data block is shown as blocked by the second user (see block 202) and modified using the edit operations performed by the second user. For example, the second occurrence of the word "lazy" was changed to "lively". A duplicate of the first data block has been created and placed next to the first data block. The duplicate is blocked for the first user (see block 2024) and contains fixes that were made by the first user attempts to synchronize (for example, the second occurrence of the word "dog" was changed to the word "doe"). On Fig the second block of data is still blocked for the second user. In one embodiment, the authoring application releases the lock only when the user copy is synchronized with the master copy. In another embodiment, the authoring application releases the lock only when the locked block of data is fully synchronized. In other embodiments, implementation of the authoring application may indicate that the lock was removed.

Because the application authoring identified conflicts editing, authoring application does not continue maintaining the master copy (see the first module 510 definitions figure 5). Rather, the authoring application displays one or more warning messages to notify the first user of the existence of editing conflicts (see operation 512 alarm figure 5). For example, on Fig warning 2017 appears in 2010 on the display screen to inform the first user to the presence of editing conflicts. In the shown example, the string 2018 status was also updated to indicate the presence of editing conflicts. In other embodiments, the implementation of line 2018 status may be updated to indicate the number of updates that have not yet been introduced, the number identifiziert is the R of editing conflicts or other similar information. In still some other embodiments, the implementation of the notice on the existence of editing conflicts can provide the first user with other types of warnings or instructions.

The authoring application is also on Fig first user interface 2015 switching, giving the user the ability to make a choice between continuing with the editing of the data file, without considering the conflict, and consideration of editing conflicts (see the second module 514 definitions). The first user may wish to continue editing the data file, not making viewing of editing conflicts (see operation 516 continue figure 5). The first user may also want to choose the interface 2015 switching to view conflicts editing (see operation 518 view figure 5). In one embodiment, the interface selection 2015 switch also activates the summary window 2030. First, the user can continue to edit a merged version of the data file, regardless of whether they want the first user to view conflicts editing.

One process example, by means of which the authoring application may perform an operation 518 viewing figure 5, contains the process 700 view figure 7. When the user selects the interface 2015 swap the treatment (Fig), the authoring application provides the user with the editing conflicts (see operation 704 display figure 7). For example, in one embodiment, the interface selection 2015 switching divides the box 2010 on the display screen between a region 2012 edit 2012 and the final box 2030, which lists the editing conflicts (see list 2034 on Fig), and can be displayed summary information about conflicts (see final area 2032 on Fig).

In General, the region 2012 edit displays the merged version of the data file and allows the user to freely edit the merged version. In some embodiments, the implementation of a consolidated version of the data file displayed in the 2012 editing, is supplied comments to indicate which parts of the content are in conflict. For example, in one embodiment, the merged version of the data file is supplied with comments to indicate whether the conflicting content with the inserts (for example, underscores, or other formatting, text color, highlight, or other similar instructions) or deletions (for example, by strikethrough or other formatting, text color, highlight, or other similar instructions).

In the example shown the corrections in the content are shown as placentas is required deletions and insertions. In other embodiments, implementation, however, correct in content can be clearly commented. In other embodiments, implementation of the metadata (e.g., locks) can also be interpreted to indicate what part of the metadata conflict. In the example shown in Fig, the first data block does not contain any editing conflicts, because the first block of data is blocked on the server for the second user. Accordingly, the first data block is not supplied comments. Duplicate data block shown in Fig as blocked for the first user, underlined, to indicate that the data block has been inserted in the data file.

Conflicting editing operations are also displayed in the summary window 2030. The final area 2032 interface conflict resolution specifies the number of conflicting editing operations contained within the merged version of the data file. In the shown example, the total area 2032 specifies that was identified by one of the conflicting edit operation. List 2034 in the summary window 2030 displays conflicting content. In one embodiment, the list 2034 displays conflicting content separately from the non-conflicting content. In another embodiment, the list 2034 commented conflicting content, to decree the ü, if the content is inserted and/or removed (for example, see the notes 2036 on Fig). In another embodiment, the list 2034 commented conflicting content to indicate the source (for example, user a copy or the primary copy) of the conflicting content (for example, see the notes 2038 on Fig).

The first user of the authoring application can interact with the editing area, 2012 or with the final box 2030 (Fig)to ensure that commands (see operation 706 obtain figure 7) to return to the edit data file, or to allow any of the displayed editing conflicts (see the first module 708 definition 7). For example, in one embodiment, the user can again select the interface 2015 toggle to hide the editing conflicts. The choice of hiding conflicts removes comments from editing conflicts. In one embodiment, the selection of concealment of conflicts of editing is to make the display interface 2000 user, shown in Fig. The process 700 synchronization may result (see module 714 stop 7), the authoring application may determine that at least one edit conflict remained unresolved (see the first module 510 definitions figure 5), and the first user again m who may be able to choose between the free editing of the data file and conflict resolution.

Alternatively, the first user can provide commands to accept or reject the conflicting content or part of it. In one embodiment, the first user can select the content that is displayed inside the 2012 edit 2010 on the display screen and can choose the option on the interface of conflict resolution, to provide teams for conflict resolution editing operations. For example, the first user can select the content, which should be provided commands, and can choose the option from the links 2040 conflicts (see Fig). In other embodiments, the first user may provide a command for conflict resolution, using a different type of front-end tool for conflict resolution.

In the example shown in Fig, the first user selects (see pointers 2013) the first part of the conflicting content and selects deviations menu 2040 conflict resolution, using the cursor 2019. Accordingly, the authoring application determines that the user has not provided the team return to editing (see the first module 708 definition 7) and executes the command conflict resolution (see operation 710 introduction figure 7). In other embodiments, the first user can select all or another cha is to be conflicting content.

One example of the process by which the authoring application can perform the deviation of the selected part of the conflicting content, is the process 1200 deviations shown in Fig. Application authoring removes comments from the selected conflicting content in the 2012 edit 2010 on the display screen (refer to operation 1204 cleaning on Fig). The authoring application also defines (see module 1206 definition on Fig) rejected the editing operation that led to the addition of the selected conflicting content in the data file. Accordingly, the authoring application deletes the selected conflicting content from a merged version of the data file (see operation 1208 removal on Fig). If the edit operation has resulted in the removal of the content, the process 1200 deviations ends without deleting the selected conflicting content from a data file.

Returning to the process 700 viewing figure 7, the authoring application decides that at least one of the identified editing conflicts remain unresolved (see the second module 712 definition 7), starting, thus, again, the process 700 of view. Starting again the process 700 of view, the first user may wish to continue the conflict resolution edited the I (for example, using the process 700 view figure 7), while the user interface is configured in the mode of conflict resolution. Alternatively, the first user may want to hide the conflicts editing at any time, choosing 2015 switch.

On Fig shows the interface 2000 user after the first user has dismissed the selected conflicting content (see operation 704 display figure 7). Rejected conflicting content has been removed from the 2012 editing. Additionally, the authoring application updates the totals box 2030 to reflect the resolution of conflicts in the conflicting content, removing the rejected content from the list 2034 inside the final box 2030. Because of the conflicting content has not been fully resolved, the final area 2032 remains unchanged.

Continuing the process 700 of view, the authoring application receives a different set of commands from the first user (see operation 706 obtain figure 7). In this sample application, the authoring application receives a command for resolving the conflicting content. For example, on Fig shows another interface 2050 conflict resolution, with which the first user can provide commands conflict resolution in the authoring application. Interface 2050 conflict resolution is a menu listing the options of conflict resolution (for example, accept, decline, etc). Menu is adjacent to the selected conflicting content. In one embodiment, the authoring application displays the interface 2050 conflict resolution, when the user selects a conflicting edit from the list 2034 inside the final box 2030. In another embodiment, the authoring application may display the interface 2050 conflict resolution within the field of 2012 editing when conflicting content selected from within the region 2012 edit. In other embodiments, implementation, however, the first user may use any desired type of interface conflict resolution, to provide teams conflict resolution for application authoring.

On Fig the user selects (for example, using a right mouse click, left mouse click, move, or otherwise selects through another input device) remaining conflicting content within a list, 2034 final box 2030 and selects the option of taking on the interface 2050 conflict resolution (for example, using the cursor 2019). Accordingly, the authoring application determines that the first user has provided a command to hide the conflicts editing and return to the edit (see module 708 definition 7), and carries out the acceptance team (see operation 710 the bearing 7).

One example of a process by which the authoring application may accept the conflicting content, contains the process 1100-making, shown in Fig. Application authoring remove any comments from the selected conflicting content (see operation 1104 cleaning on Fig). The authoring application determines that the selected conflicting content was inserted into the data file (see module 1106 definition on Fig). Accordingly, the process 1100-making ends and ends (see module 1110 stop Fig). If the application authoring decided that conflicting content was removed from the data file, the authoring application could delete the conflicting content from a data file (see operation 1108 removal on Fig).

Returning to the process 700 viewing figure 7, the authoring application decides that no more editing conflicts remain unresolved (see the second module 712 definitions). Accordingly, the process 700 view ends and ends (see module 714 stop 7), completing thus the operation 514 view of process 500 synchronization figure 5. The process 500 sync goes back to the first module 510 to determine which application authoring determines remained unresolved whether any identified confli what you're editing.

Because the first user has resolved all identified conflicts of editing in this example application, the application authoring decides that no editing conflicts remain unresolved. Accordingly, the authoring application is verified with the master copy, to determine whether additional updates (see the second module 520 definitions figure 5). If additional updates are available, then the process 500 synchronization loop back to receive and integrate new updates. The new update contains any intermediate changes made from the time when the previous update. Any conflicts arising from the new update, are resolved as discussed above. This process updates and resolve any identified conflicts is repeated up until the first user will not resolve all the conflicts editing between the user copy of the data file and the current state of the master copy of the data file.

When the authoring application decides that no editing conflicts do not exist (see the first module 510 definitions figure 5) and no new updates are not available (see the second module 520 definitions figure 5), the authoring application sends an update from elizavetinskoj copy to a primary copy (see operation 522 conservation figure 5), to complete the synchronization of user and master copies. For example, in one embodiment, the authoring application may send the user a copy of the fully-on storage device commands to overwrite the primary copy. In another embodiment, the authoring application may send an update with the changes, pointing, than custom copy differs from the primary copy.

The authoring application sends an alert to the first user when the application authoring successfully unloads update the master copy (see operation 524 display figure 5). For example, on Fig status bar 2018 has been updated to indicate that the update was successfully transmitted. In some embodiments, the implementation of the authoring application can also display box 2060 warnings indicating a successful boot. In one embodiment, the box 2060 alerts can provide further explanation, for example, to specify the consequences of posting. In the example shown in Fig, the final box 2030 is removed from the user interface, as no editing conflicts not identified. In other embodiments, implementation, however, the final box 2030 may remain until it is switched by the first user.

The second example of application, to the m first user is editing the data file offline, provided on Fig-29. On Fig interface 2200 user belonging to the authoring application contains a window 2210 on the display screen containing region 2212 editing, displaying the content of the user copy of the data file, dashboard, 2216 with teams, providing options command, and the line 2218 state indicating the state of the user copy of the data file. For example, the interface 2200 may be the same as the interface 2000 user Fig.

In the shown example, the string 2218 state indicates that the first user is editing a custom copy of the file offline (i.e. not connected by means of connection to a storage device that retains the master copy of the data file). Another user has a lock 2222 on the first block of data within the field 2212 editing. Accordingly, the authoring application prevents the first user editing of the first data block.

The authoring application allows the editing of a custom copy of the data file, using, for example, the example process 300 authoring shown in figure 3. In the shown example, the authoring application allows the first user to freely edit a custom copy of the data file (see operation 304 editing figure 3) inside the 2012 detailed information the Denmark open 2010 on the display screen. On Fig shows the changes when editing made by the first user in the user copy of the data file. In particular, the first user added two sentences in the third data block. In other embodiments, implementation, however, the first user may have added, corrected and/or delete any content or metadata inside the user copy of the data file.

Because the first user is editing a custom copy in offline mode, the authoring application may not synchronize the lock request for the third data block. In one embodiment, the authoring application holds the lock request until such time as the user is not registered in network mode. In this embodiment, the authoring application may display a lock around the third data block. In another embodiment, the authoring application does not attempt to block third block of data. In one embodiment, the authoring application first warns the user that the lock request cannot be synchronized and, accordingly, that the editing of the data block may lead to conflicts of editing. For the purposes of this example application authoring retains the lock request for later synchronization with the master copy.

Figure 2 authoring application gets an update indicating minor changes made to the primary copy of the data file (see operation 306 obtain figure 3). In one embodiment, the authoring application receives an update after the expiry of a specified period of time. In another embodiment, the authoring application receives an update in response to the synchronization request your copy from the master copy. For example purposes of the present application authoring, as expected, took the update automatically after a specified period of time. Line 2218-status window 2210 on the display screen has been updated to Fig to indicate that the update was received.

When the authoring application receives an update, the authoring application determines whether there are any editing conflicts between the user copy and the received update. If no editing conflicts do not exist, the application authoring introduces metadata updates automatically (see operation 308 updates figure 3). For the purposes of this example application authoring, as expected, took the update content that indicates changes made in the third block of data that conflicts with the lock request of the first user to the third data block. However, updating the e indicates a lock for the third block of data (for example, for another user, a third data block may have been blocked when conducting editing and later the lock was removed. Accordingly, the authoring application does not provide the first user interface introduction or otherwise prohibits the introduction of updates.

On Fig the first user connects to a storage device (i.e. registered in network mode) and sends the command to the application authoring, to try to synchronise the user copy of the data file with master copy (see operation 310 synchronization figure 3). In one embodiment, the authoring application performs the process 500 synchronization, shown in figure 5. The authoring application receives updates from the master copy, if they are relevant (see operation 504), and decides whether any conflicts of editing the update (see operation 506 identification). In the shown example, the authoring application does not receive any new updates (for example, in the master since the last time updates were not made no new updates). Application authoring decides that intermediate changes of the previously received update (for example, content that is added to the third data block), conflict made with the local user's changes (for example, the lock request for the third data block).

The authoring application then combines the user copy of the data file with master copy of the data file (see operation 508 merge figure 5) and displays the merged copy of the data file to the first user. In the shown example, the authoring application displays a consolidated version of the file data in the field 2212 editing on Fig. As noted above, the authoring application may integrate custom and bulk copies using any desired method of Association. In the shown example, the authoring application added new content to the primary copy in the first and third data blocks your copy.

The first set of new content, "TBD", which was added to the first data block does not conflict editing. First the user has not edited the first data block. The second set of new content, "Jump, fox, jump!", which was added to the third block of data that results in the conflict of editing, because the first user has tried to block third block of data. Another user had the ability to edit the third data block, because the lock request of the first user to edit has not yet been synchronized with the master copy. However, since the update indicates that the third block is given the s is locked by another user, the first user is stored lock around the third data block.

Because the application authoring identified conflict editing, authoring application does not continue maintaining the master copy (see the first module 510 definitions figure 5). Rather, the authoring application displays one or more warning messages to notify the first user of the existence of editing conflicts (see operation 512 alarm figure 5). For example, on Fig anxiety 2217 displayed in the window 2210 on the display screen to inform the first user of the presence of editing conflicts. In the shown example, the string 2218 state was also updated to indicate the presence of editing conflicts. In other embodiments, the implementation of line 2218 state may be updated to indicate the number of updates that have not yet been introduced, the number of the identified editing conflicts or other similar information. In still some other embodiments, the implementation of other types of warnings or instructions can provide the first user is notified about the existence of conflicts of editing.

Application authoring is also the first user on Fig interface 2215 switch, enabling the user you who play this game between continuation editing of the data file without viewing conflicts editing and correction of editing conflicts (see the second module 514 definitions figure 5). The first user may wish to continue editing the data file are not looking at the editing conflicts (see operation 516 continue figure 5). The first user may also want to choose the interface 2215 switch (Fig) to identify conflicts editing (see operation 518 view figure 5). In one embodiment, the selection interface 2215 switch also activates the final box 2230 (see Fig). First, the user can continue to edit a merged version of the data file regardless of whether or not the first user to view conflicts editing.

One example of a process by which the authoring application may perform an operation 518 viewing figure 5, contains the process 700 view shown in Fig.7. When the user selects the interface 2215 switch, the authoring application provides user conflicts editing (see operation 704 display figure 7). For example, in one embodiment, the selection interface 2215 switch splits the window 2210 on the display screen between a region 2212 editing and final box 2230, which lists the editing conflicts (see list 2234) and may display summary information about conflicts (see final area 2232).

In General, the region is here 2212 edit displays the merged version of the data file and allows the user to freely edit the merged version. In some embodiments, the implementation of a consolidated version of the data file displayed in the field 2212 editing, is supplied comments to indicate which parts of the content are in conflict. For example, in one embodiment, the merged version of the data file is supplied with comments to indicate whether the conflicting content with the inserts (e.g., by underlining or other formatting, font color, highlight, opacity, or other similar instructions) or deletion (for example, by strikethrough or other formatting, font color, highlight, opacity, or other such indications).

In the shown example, the first data block does not contain any conflicts of editing, because the first block of data is blocked on the server for the second user. Accordingly, the first data block is not supplied comments. The second block of data also does not contain any conflicts editing, and therefore, the second data block does not contain comments. Some content within the third data block, which is shown as blocked for the first user, it is emphasized to indicate that the content has been inserted in the data block.

In one embodiment, the comment is only for the conflicting content, increasing asego of your copy. Preferably, only the comment generated by the user conflicts allow the user to understand the state of the master copy of the data file and differences between the master copy and customized copy. In other embodiments, implementation, however, conflicting content originating from the primary copy can be annotated as well as or instead of the conflicting content of your copy.

Editing conflict are also displayed in the summary window 2230. The final area 2232 interface conflict resolution specifies the number of conflicting editing operations contained within the merged version of the data file. In the shown example, the total area 2232 specifies one identified conflicting edit operation. List 2234 in the summary window 2230 displays conflicting content. In one embodiment, the list 2234 displays conflicting content separately from the non-conflicting content. In another embodiment, the list 2234 commented conflicting content to indicate whether content is inserted and/or removed (see, for example, pointers 2236 on Fig). In another embodiment, the list 2234 commented conflicting content to indicate the source (for example, user a copy or primary copy) conflictuous the th content (for example, see the notes 2238 on Fig).

The first user of the authoring application can interact with the interface of conflict resolution (see, for example, interface 2240 conflict resolution Fig)to ensure that commands (see operation 706 obtain figure 7) in order to return to the edit data file, or to allow any of the displayed editing conflicts (see the first module 708 definitions 708 7). For example, in one embodiment, the user may again select the interface 2215 switch to hide the editing conflicts, as discussed above.

Alternatively, the first user can provide commands to accept or reject the conflicting content or part of it. In one embodiment, the first user can select the content that is displayed inside the 2012 edit 2010 on the display screen, and can choose the option on the interface 2240 conflict resolution, to provide teams for conflict resolution editing operations. For example, the first user can select the content that should be provided to the team, and can choose the button 2242 acceptance or click 2244 deviation of the sample interface 2040 conflict resolution (see Fig). The example interface 2040 resolution confli the LLC may also contain a button 2246 "next" and click 2248 "previous" to determine consistency between conflicts. In other embodiments, the first user may provide a command for conflict resolution, using a different type of front-end tool for conflict resolution.

In the example shown in Fig, the first user selects the first part of the conflicting content (see instructions 2213 choice in the summary window 2230) and using the cursor 2219 selects the button 2242 adoption at the interface 2040 conflict resolution. In other embodiments, implementation, however, the first user may provide a command through any desired interface conflict resolution. Accordingly, the authoring application determines that the user has provided a command to return to editing (see the first module 708 definition 7) and executes the command conflict resolution (see operation 710 introduction figure 7).

One example of a process by which the authoring application may accept the conflicting content, contains a process 1100 of reception shown in Fig. Application authoring remove any comments from the selected conflicting content (see operation 1104 cleaning on Fig). The authoring application determines that the selected conflicting content was inserted into the data file (see module 1106 definition on Fig). Accordingly, the process 1100 receiving ends and ends see module 1110 stop Fig). If the application authoring decided that conflicting content was removed from the data file, the authoring application may delete the conflicting content from a data file (see operation 1108 removal on Fig).

Returning to the process 700 viewing figure 7, the authoring application decides that it no longer remains any unresolved conflicts editing (see the second module 712 definition 7). Accordingly, the process 700 view ends and ends (see module 714 stop 7), completing thus the operation 514 view of process 500 synchronization figure 5. The process 500 sync goes back to the first module 510 definition (figure 5), in which the authoring application determines that there are no unresolved conflicts editing. Application authoring also decides that the master copy is not received any more updates (see the second module 520 definitions figure 5) and, accordingly, sends the update from the user copies to the master (see operation 522 conservation figure 5)to complete the synchronization of user and master copies.

Application authoring prevents the first user when the application authoring successfully downloads the update in the master copy (see operation 524 display figure 5). For example, the R, on Fig status bar 2218 has been updated to indicate that the update was successfully transmitted. In some embodiments, the implementation of the authoring application may also display box 2260 warnings, pointing to the success of the boot. In one embodiment, the box 2260 warnings may provide additional explanation, for example, specifying the consequences of a successful download. In the example shown in Fig, the final box 2230 is removed from the interface 2200 user, because there is no unresolved identified editing conflicts. In other embodiments, implementation, however, the final box 2230 may remain until such time until it is deactivated by the first user (e.g., via interface 2215 switch on Fig and 28).

Embodiments of the disclosure may be implemented as a computer process (method), a computing system or as an industrial product, such as computer software product or machine-readable media. The processes (programs) can be carried out in any number of ways, including using the structures described in this document. One of such ways are machine operation devices of the type described herein. Another variant of the method consists in one or more individual operas the operations of ways, to be executed on a computing device in combination with one or more operators-people perform some of the operations. These operators should not interact with each other, and each can only work with machine executing part of the program.

The computer software product may be a computer storage media readable by the computing system and encoding a computer program of instructions for executing a computing process. The computer program product may also be distributed by the signal on a carrier readable by the computing system and encoding a computer program of instructions for executing a computing process. The term "machine-readable media", as used here, includes both media storage and media for data transfer.

Experts in the art should understand that, in practice, the disclosure may be implemented using other configurations of computing systems, including handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers and the like, the Disclosure may also be implemented in distributed computing environments where tasks are performed by remote processing devices, connected through the communication system. In a distributed computing environment, program modules may be located in both local and remote storage devices. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement private abstract data types.

1. The process of co-authoring a data file containing the time that:
identify in the first application (130) authoring is performed on the first computing device (110), the conflict edit existing between the user copy (155) of the data file and the master copy (150) of the data file;
combine a custom copy of the data file and the master copy of the data file to create a merged copy of the data file;
display a merged copy of the data file to the user of the first authoring application;
provide the user interface (815, 915, 2015, 2215) switch that allows the user to switch between displaying the identified conflict editing and concealment identified conflict of editing, and the interface switch is available when the edit conflict identified, and remains up until the identified conflict edit n is permitted, moreover, the merged copy of the data file is freely available for editing by the user when the identified conflict edit is displayed, and when the identified conflict edit hidden;
provide interface (930, 2040, 2050, 2240) conflict resolution, allowing the user to provide commands conflict resolution for the identified edit conflict, when the user switches to displaying the identified conflict editing.

2. The method according to claim 1, wherein allowing the user to provide commands conflict resolution is the resolution the user to choose whether to accept or reject an edit conflict.

3. The method according to claim 1, additionally containing a stage, on which:
identify in the first application authoring a lot of editing conflicts that exist between the user copy of the data file and the master copy of the data file, and providing the user interface switch allows the user to switch between the display of editing conflicts and concealment of editing conflicts.

4. The method according to claim 3, additionally containing a stage, on which:
display the identified editing conflicts, when the user switches on the display identify the new conflicts editing; and presents the interface of conflict resolution enables the user to accept or reject any editing conflicts.

5. The method according to claim 1, wherein displaying the identified conflict edit contains a mapping of the identified conflict of editing within the context of non-conflicting content.

6. The method according to claim 5, in which displaying the identified conflict edit contains commentary on the identified conflict of editing to distinguish the identified conflict edit from the non-conflicting content.

7. The method according to claim 6, in which the review identified conflict edit contains a mapping of the origin of the identified conflict editing.

8. The method according to claim 6, in which the concealment of the identified conflict editing includes deleting any comment from the identified conflict editing.

9. The method according to claim 1, additionally containing a reception in the first authoring application update that indicates the current state of the master copy of the data file to synchronize the user copy of the data file with master copy.

10. The method according to claim 1, additionally containing a warning to the user when the identified conflict editing.

11. the procedure according to claim 1, optionally containing phases in which:
take command to synchronize the user copy of the data file with master copy;
create a new copy of the data file based on the user copy and the new copy has identified a conflict of editing while editing a new copy of the file data does not trigger the provision of the interface switch.

12. Machine-readable storage medium that stores executable commands that perform a method of conflict resolution editing, when they are executed by the computing device, and the editing conflicts exist between the user copy (155) of the data file and the master copy (150) of the data file, the method includes the steps are:
provide the user computing device window (810, 910, 2010, 2210) on the display screen, and the window on the display screen contains an area (812, 912, 2012, 2212) editing, the final region (820, 920, 2030, 2230) and the interface (930, 2040, 2050, 2240) conflict resolution, and the interface conflict resolution configured to enable a user to provide commands conflict resolution for identified conflicting content selected by the user;
display any locks (154, 2022, 2024) and content (152) sex is sabatelli copies, containing any identified conflicting content inside the editing area of the window on the display screen and the user can freely edit the content of your copy containing the identified conflicting content in the editing area, and identified the conflicting content supplied by the comment, to distinguish the identified conflicting content from non-conflicting content;
display the identified conflicting content and any locks identified conflicting content inside the final window; and
provide the user interface (815, 915, 2015, 2215) switch on which the user interface switch removes any comments identified conflicting content inside the editing area of the window on the display screen.

13. Machine-readable data carrier according to item 12, in which the user interface switch also removes the interface conflict resolution from the window on the display screen.

14. Machine-readable data carrier according to item 12, optionally containing a warning is displayed informing the user that there is an identified conflicting content.

15. Machine-readable data carrier according to item 12, in which been identified the conflicting content contains only the content, which is inserted or deleted by the user in the user copy of the data file and that causes a conflict with intermediate changes in the master file data.

16. The system is co-authoring a data file that contains:
the storage device (120)that stores the primary copy (150) of the data file, and the primary copy is the main content (152) and key lock (154);
the device (110) of the user that contains the user copy (155) of the data file, while the user is identified by user-generated content (152') and user lock (154'), and custom content is created on the basis of the main content, and the user locks are created on the basis of the main locks;
the application (130) authoring carried out on the user's device, and the authoring application is configured to receive from the storage device updates the main content, indicating any changes in the main content, and updates the main lock, indicating any changes to the underlying locks
moreover, the above-mentioned application authoring is also configured to identify any editing conflicts between the user copy of the data file and updates the main content and between the user copy and about what olaniyi key locks and
moreover, the authoring application automatically enters any changes in the basic block, when changes in key locks do not conflict with any changes in the user locks; and
moreover, the authoring application automatically enters any changes in the main content, only when the authoring application does not identify any conflicts editing.

17. System according to clause 16, in which the authoring application is also configured to send to the storage device updates the user content, indicating any changes to user content, only when the authoring application does not identify any conflicts editing.

18. System according to clause 16, in which the authoring application is also configured to send to the storage device updates the user locks that indicates any changes in the user locks, regardless of identified conflicts editing application authoring.

19. The system of clause 16, further comprising
the interface of conflict resolution, is configured to display the authoring application, and the interface conflict resolution is configured to present the user copy of the data file containing the mapping of the user who ski locks, and display the user content, commented to indicate any identified conflicts editing.

20. The system of clause 16, further containing a number of user devices that are connected by means of connection to a storage device, and each device is configured to receive the user's copy of the data file, receiving updates from the storage device with periodic intervals and make updates to the storage device when the identified editing conflicts resolved.



 

Same patents:

FIELD: information technologies.

SUBSTANCE: method and system are proposed to combine the first document with the second document for generation of the third document. Each of the first and second documents includes at least one data element. Each data element is connected with an element identifier (E-identifier) and an editorial identifier (Ed-identifier). E-identifiers of each document are compared to E-identifiers of another document to detect whether each E-identifier matches or does not match the E-identifier. Ed-identifiers of data elements connected to matching E-identifiers are compared to each other. Data elements related to non-matching E-identifiers are inserted directly into the third document. Data elements related to matching E-identifiers and matching Ed-identifiers are inserted directly into the third document. Data elements related to matching E-identifiers and non-matching Ed-identifiers are combined into the third document.

EFFECT: increased efficiency and acceleration of a process of documents combination.

20 cl, 9 dwg

FIELD: information technology.

SUBSTANCE: type of a set of files associated with a set of different data types for display on a standard browser is generated, wherein the files and data types have relationships given in a corresponding scheme, wherein the scheme is stored as data in a storage with data types, wherein the data types include a set of different extensions, wherein at least one of the data types is individually defined by the data type user. An edit request is received, which is meant to change one or more selected files, each file having a corresponding data type. The storage is requested to determine one or more properties of the selected files which correspond to the received edit request, including the data type of each of the selected files. It is determined, based on the scheme, if the edit is correct for that data type and file, based on information on relationships stored in the scheme. Information on verified editing is sent to the standard browser for display, wherein the standard browser dynamically determines how to display the selected files and data types according to the display format meant for files and data types as indicated by the scheme, without prior knowledge of how to manipulate the selected files and corresponding data types.

EFFECT: shorter time for editing multiple files.

15 cl, 7 dwg

FIELD: information technology.

SUBSTANCE: different types of documents can be organised on a universal and dynamically adjustable workspace canvas in a manner which indicates relationships between the documents. The workspace canvas is configured to host various different editors simultaneously for editing the different types of documents. Accordingly, versions of the present invention facilitate editing documents of different types in the same context and in a manner which maintains relationships between documents.

EFFECT: broader functional capabilities of processing documents owing to organisation of a single workspace.

20 cl, 5 dwg

FIELD: information technologies.

SUBSTANCE: for autonomous applications of working with electronic tables and/or web-services of electronic tables there is an opportunity to indicate, detect and define parameters of electronic tables documents. When creating a document of electronic tables, an opportunity is provided to specify particular cells or ranges of cells as parameters for an electronic table. When viewed in an autonomous application of working with electronic tables or by means of a web-service, there is an opportunity provided to detect these parameters by means of a user interface or an object model. There is also an opportunity to specify or vary these parameters one at a time or in a package, and to provide changes into a model of calculations. Accordingly, when viewed in an autonomous application of working with electronic tables or by means of a web-service, effect of parameters entered by a user may be calculated and viewed immediately. There is also an opportunity to suspend a book recount until all relevant values are obtained, such as the current set of parameters.

EFFECT: increased functionality of documents with electronic tables, increased efficiency of user working with document cells with an electronic table.

15 cl, 31 dwg

FIELD: information technology.

SUBSTANCE: one aspect of the present invention is a computer-implemented method for automatic completion of data of a formula cell which involves a step for confirming the auto-completion process in response to formula cell data entered by the user and grouping auto-completion options based on the user input. Another aspect of the present invention is display of a dynamic list of auto-completion options when the user input is an initiating feature.

EFFECT: easier entering of formula data.

17 cl, 11 dwg, 25 tbl

FIELD: information technologies.

SUBSTANCE: modular structure of content may include container of file format joined to modular parts. Fire format includes logically separate modular parts, which are joined to each other by means of one or more connections, besides each modular part is related to type of connection. Modular parts include the following: part "presentation", representing initial part for presentation, part "slide master", related to part "presentation", and "slide model" related to part "master slide". Modular parts may also include part "properties of document", comprising inbuilt properties related to file format, part "miniature sketch" comprising joined miniature sketches, and part "slide" comprising slide in presentation. Each modular part may be requested separately, extracted from presentation and/or repeatedly used in other presentation.

EFFECT: expansion of functional capabilities due to provision of repeated use of parts "slide model" and "slide master" in other presentation together with joined modular parts.

16 cl, 7 dwg

FIELD: information technology.

SUBSTANCE: method provides a preliminary presentation which automatically shows the intended outcome of applying one or another control to data. This is preferred when analysing electronic worksheet data by formatting certain data based on the control condition. The method involves identification of one or more data parametres subject to formatting based on the condition on display, selection of a predefined condition and automatic temporary application of that predefined condition to parametre(s), display of the temporary preliminary presentation on the display of the said predefined condition applied to data which correspond to the said predefined condition. The method also enables preliminary change of conditions and parametres applied to data, and automatically provide corresponding preliminary presentation of the effect of such application of the altered conditions with respect to displayed data.

EFFECT: faster formatting of displayed data.

27 cl, 28 dwg

FIELD: physics; computer engineering.

SUBSTANCE: invention relates to methods and systems for converting a hierarchical data structure into a planar data structure. The hierarchical data structure format can be XML. The hierarchical data structure, which conforms to the schema, is loaded into an application program. The data structure contains elements and attributes related to each other through a "parent-child" relationship. The schema sets a hierarchical relationship between the elements and attributes in the hierarchical data structure. After loading the hierarchical data structure conforming to the schema, a set of distribution rules for creating a planar data structure is applied to the hierarchical data structure based on the schema. The distribution rules determine how to put data into the planar data structure. The distribution rules can be applied while identifying properties in the schema which identify requirements for appearance of elements given in the schema. After applying distribution rules to the hierarchical data, the hierarchical data are entered into an electronic table by putting data into rows and columns.

EFFECT: provision for a method and system for converting hierarchical data structure to a planar data structure which is suitable for use in electronic tables, based on a scheme, related to the hierarchical data structure.

21 cl, 11 dwg

FIELD: information technologies.

SUBSTANCE: invention is related to computer equipment, to devices and methods for data processing, and more precisely to systems and methods for reference generation, and may be used for generation of reference in computer applications. Suggested system and method make it possible to hide or show content of reference page, to vary presentation of this content (for instance, text may be replaced by hyperlink to another page with description), and also transfer this content to any page of reference file without change in reference pages and repeated assembly of reference file. Method is based on configuration file of application, in which structure and application tuning parameters are reflected, which are necessary for reflection in reference file. Therefore, variation of the whole single fire of configuration automatically results in variation of any reference file for this application.

EFFECT: reduced labour intensity and increased efficiency in reference generation.

10 cl, 3 dwg

FIELD: information technology.

SUBSTANCE: present invention relates to a method of processing digital documents and their digital handwritten notes of arbitrary form. Method of processing digital hand-written notes includes cutting off at least some of digital hand-written character strokes based on time streamlining and (or) space allocation of hand-written character strokes; grouping digital hand-written character strokes in the document for definition of digital hand-written notes, classification of these items according to the type of notes, linking the notes to the relevant areas or places in the document and reformating the notes in the new layout, while maintaining the initial target and values of notes.

EFFECT: invention allows for a more efficient way of processing digital handwritten notes in order to maintain the position of notes in the document, even if the document being edited is displayed on another device or modified in any other way.

37 cl, 22 dwg

FIELD: editing of records.

SUBSTANCE: device is used for separation of data file with main and control data on first file and second file. Device has operation means for determining a point of division on first and second files; editing means for editing first control data, to render ineffective first portion of block of recorded data of fixed length with main data; and means for generating second control data, to render ineffective second portion of block of recorded data of fixed length with main data, and for adding second control data to second data file.

EFFECT: higher efficiency.

3 cl, 46 dwg

FIELD: information technologies.

SUBSTANCE: when user specifies (explicitly or implicitly) that he or she tries or intends to open file, this file may further be locked for edit. Therefore, default action executed, when user requests file opening, results in the fact that access of other users to this file is not prohibited. Then, when user specifies that editing should take place, file is locked.

EFFECT: provision of possibility of file opening modified action.

4 dwg

FIELD: physics, computer technology.

SUBSTANCE: invention concerns computer technology. Data for insertion to the second document are selected in the first document. Selected data are stored in memory, such as clipboard. Together with selected data, related information or data is copied for presentation of any data types related to selected data to application performing insertion or to data user application. User application can respectively obtain name space and related resource, e.g. extensible style language transformation file, for transformation of selected data from first data type related to the first document to another data type for insertion of selected data to the second document with preservation of data structure and format applied in selected data before insertion in inserted data.

EFFECT: prevention of incompatibility of insertion.

33 cl, 6 dwg

FIELD: information technologies.

SUBSTANCE: method for processing of electronic documents includes creation of the first context unit associated to the first part of basic part of electronic document; association of annotation made by electronic ink to the mentioned first part; creation of the second context unit associated to annotation to basic part, at that the first context unit and second context unit are located in the single hierarchical structure of data presenting data associated to electronic document, and preservation of connection that associates the second context unit to the first context unit.

EFFECT: invention provides for creation of more flexible and natural annotations.

42 cl, 49 dwg

FIELD: information technology.

SUBSTANCE: present invention relates to a method of processing digital documents and their digital handwritten notes of arbitrary form. Method of processing digital hand-written notes includes cutting off at least some of digital hand-written character strokes based on time streamlining and (or) space allocation of hand-written character strokes; grouping digital hand-written character strokes in the document for definition of digital hand-written notes, classification of these items according to the type of notes, linking the notes to the relevant areas or places in the document and reformating the notes in the new layout, while maintaining the initial target and values of notes.

EFFECT: invention allows for a more efficient way of processing digital handwritten notes in order to maintain the position of notes in the document, even if the document being edited is displayed on another device or modified in any other way.

37 cl, 22 dwg

FIELD: information technologies.

SUBSTANCE: invention is related to computer equipment, to devices and methods for data processing, and more precisely to systems and methods for reference generation, and may be used for generation of reference in computer applications. Suggested system and method make it possible to hide or show content of reference page, to vary presentation of this content (for instance, text may be replaced by hyperlink to another page with description), and also transfer this content to any page of reference file without change in reference pages and repeated assembly of reference file. Method is based on configuration file of application, in which structure and application tuning parameters are reflected, which are necessary for reflection in reference file. Therefore, variation of the whole single fire of configuration automatically results in variation of any reference file for this application.

EFFECT: reduced labour intensity and increased efficiency in reference generation.

10 cl, 3 dwg

FIELD: physics; computer engineering.

SUBSTANCE: invention relates to methods and systems for converting a hierarchical data structure into a planar data structure. The hierarchical data structure format can be XML. The hierarchical data structure, which conforms to the schema, is loaded into an application program. The data structure contains elements and attributes related to each other through a "parent-child" relationship. The schema sets a hierarchical relationship between the elements and attributes in the hierarchical data structure. After loading the hierarchical data structure conforming to the schema, a set of distribution rules for creating a planar data structure is applied to the hierarchical data structure based on the schema. The distribution rules determine how to put data into the planar data structure. The distribution rules can be applied while identifying properties in the schema which identify requirements for appearance of elements given in the schema. After applying distribution rules to the hierarchical data, the hierarchical data are entered into an electronic table by putting data into rows and columns.

EFFECT: provision for a method and system for converting hierarchical data structure to a planar data structure which is suitable for use in electronic tables, based on a scheme, related to the hierarchical data structure.

21 cl, 11 dwg

FIELD: information technology.

SUBSTANCE: method provides a preliminary presentation which automatically shows the intended outcome of applying one or another control to data. This is preferred when analysing electronic worksheet data by formatting certain data based on the control condition. The method involves identification of one or more data parametres subject to formatting based on the condition on display, selection of a predefined condition and automatic temporary application of that predefined condition to parametre(s), display of the temporary preliminary presentation on the display of the said predefined condition applied to data which correspond to the said predefined condition. The method also enables preliminary change of conditions and parametres applied to data, and automatically provide corresponding preliminary presentation of the effect of such application of the altered conditions with respect to displayed data.

EFFECT: faster formatting of displayed data.

27 cl, 28 dwg

FIELD: information technologies.

SUBSTANCE: modular structure of content may include container of file format joined to modular parts. Fire format includes logically separate modular parts, which are joined to each other by means of one or more connections, besides each modular part is related to type of connection. Modular parts include the following: part "presentation", representing initial part for presentation, part "slide master", related to part "presentation", and "slide model" related to part "master slide". Modular parts may also include part "properties of document", comprising inbuilt properties related to file format, part "miniature sketch" comprising joined miniature sketches, and part "slide" comprising slide in presentation. Each modular part may be requested separately, extracted from presentation and/or repeatedly used in other presentation.

EFFECT: expansion of functional capabilities due to provision of repeated use of parts "slide model" and "slide master" in other presentation together with joined modular parts.

16 cl, 7 dwg

FIELD: information technology.

SUBSTANCE: one aspect of the present invention is a computer-implemented method for automatic completion of data of a formula cell which involves a step for confirming the auto-completion process in response to formula cell data entered by the user and grouping auto-completion options based on the user input. Another aspect of the present invention is display of a dynamic list of auto-completion options when the user input is an initiating feature.

EFFECT: easier entering of formula data.

17 cl, 11 dwg, 25 tbl

Up!