Document synchronisation on protocol not using status information

FIELD: information technology.

SUBSTANCE: first version and at least one cell associated with the document are received, wherein at least one cell has a cell identifier and the cell identifier is associated with the first version, having at least one first version identifier. Each of the at least one first version identifiers presents cell status at a moment in time, and the coverage area defines a plurality of cells and versions, the coverage area including at least one root object. Updates for a first computing device are received. The updates indicate the identifier of the updated version, associated with each cell, associated with the document. The first version of each cell is stored if the first version identifier matches the identifier of the updated version of the cell. A new version of each cell is generated, wherein generation of the new version includes assigning a new version of the identifier of the new version if the identifier of the first version of the cell does not match the identifier of the updated version of the cell. Any cell on which there were no links in root objects is deleted and the document is synchronised by replacing cells with a new version of each cell.

EFFECT: reduced volume of altered information.

12 cl, 6 dwg

 

The LEVEL of TECHNOLOGY

In a typical documentary information systems to the documents you have access to all the document level, resulting in the entire document arrives at the client computer from the server for editing. This requires low-level data associated with the base document format that is transmitted from the server to the client computer. In addition, incremental document formats have to undergo surgery memory cleanup and Defrag via a network connection. Moreover, the locks must be managed through the network. Managing locks can be a difficult and short-lived task that requires a significant amount of volatile content. The transfer of low-level data, including information on clearing the memory and Defrag, and locking mechanism, overly binds the application to its low-level file format and can be inflexible and lead to inefficiency.

The INVENTION

Exemplary systems and methods described herein relate to the synchronization of the file (e.g., document) and/or the loading Protocol that does not use information about the state.

According to one aspect, a data structure for storing the document in the first computing device does not depend on the Doc format is ment, moreover, the data structure includes multiple cells and multiple data objects that specifies the content of the document. Each cell has a cell ID, which uniquely identifies a particular cell in the framework document and associated at least with one version. Each data object is associated with one of the cells and has one object identifier that uniquely identifies the data object within the corresponding cell, and configured for communication with other cells and with objects within the corresponding cell. In addition, each of the cells is set so that every other cell remained unaffected by changes related to the data objects in this cell.

According to other features, the manifest version is stored on a machine-readable carrier of the first computing device. Manifest-version specifies the version representing the state of a cell at time. The manifest version includes: multiple object groups, where each object group contains at least one data object; and the unit is compatible data containing at least one data object, where each block is compatible data set so that editing one of the blocks compatible data did not influence any other unit compatible Danna is.

According to another aspect, the synchronization method of the document on the first computing device, the document is divided into cells, each cell is set, at least one manifest version, and the method includes: obtaining a first version and at least one cell associated with the document; receiving updates to the first computing device, where the update indicates the ID of the updated version associated with each cell associated with the document; save the first version of each cell, when the ID of the first version of the cell corresponds to the ID of the updated version of the cell; generating a new version of each cell, and generating the new version includes a new version of the new version identifier when the identifier of the first version of the cell does not match the ID of the updated version of the cell; erasing any cell that is not referenced by the root object; and synchronization of the document by replacing the cells in the new version of each cell. The identifier of the cell includes a pair of globally unique identifier (globally unique identifier or GUID) and an integer (integer, INT), where GUID is a globally unique scope that defines a set of cells and versions, which includes the root object at the eat to the cells within the region have access through the root objects. The cell ID associated with the first version having at least one identifier of the first version. Each at least one version identifier represents the state of the cells at each time point. The cell consists of a scope that defines a set of cells and versions, and the scope includes at least one root object. Cells within the definition area is accessible through the root object.

This description of the invention provided for proposals selection in a simplified form concepts, which further described below in the Detailed description. This description of the invention should not be construed as identify key features or essential features of the declared object of the invention. Also this description of the invention should not be used to limit the claimed scope of the subject matter.

Description of the DRAWINGS

Not limiting and not exhaustive variants of the embodiment described with reference to the following figures, in which identical reference numbers refer to identical parts in all the different images, unless otherwise noted.

Figure 1 is a schematic block diagram illustrating an exemplary authoring system.

Figure 2 is a block diagram, illustri the existing copyright system according to figure 1, in which the document is stored in the first computing device may include blocks of consistent content.

Figure 3 is a schematic block diagram block compatible data.

Fig. 4 is a schematic block diagram of the field definition.

Figure 5 is a schematic block diagram of an exemplary client computing system configured to implement environment copyright developments; and

6 is a block diagram illustrating exemplary synchronization technology implemented by the copyright application.

DETAILED DESCRIPTION

In the following detailed description references the accompanying drawings, which form part of and are in the form of illustration, specific variants of the embodiments or examples. While the disclosure will be described in the General context of program modules that operate in conjunction with an application program running on the operating system installed on the computer system, specialists in the art should understand that the disclosure may also be implemented in combination with other program modules. Variants of the embodiments described herein can be combined with each other, and other variants of the embodiment can be used without otstuplenie is from the spirits or scope of the present disclosure. Therefore, the following detailed description should not be construed in a restrictive sense, and the scope of the disclosure defined by the attached claims and their equivalents.

Variants of the embodiment of the present disclosure provide an environment in which a single client can create a document, or multiple clients can work together to create a document with the consumption of minimal server and exchange resources. In exemplary embodiments of the incarnation, when possible joint use of the application is editing the document, the application affects only certain elements of the document. Before the client has accessed the document elements, the application's data model was divided into defined blocks compatible data.

In exemplary embodiments, the embodiments described in this disclosure, the document is split into a sequence of parts, called blocks compatible data. By default, the document can be converted into one unit of compatible data, which covers the entire document. When specific information about the structure of the document is known, the document can be split into more than one unit of compatible data. For example, a presentation program, for example, a program created using presentation graphics POWERPOINT®, consisting of more h is m from one slide can be divided into several blocks compatible data, where each block is compatible data includes one slide. For example, a presentation consisting of ten slides can be divided into ten blocks of compatible data.

In the example described above may be more or less than ten blocks compatible data. For example, each slide can include a footer, and each footer can be a block of compatible data. Therefore, presentation, consisting of ten slides can have 20 units of compatible data. Also, by default, the entire document may constitute one unit of compatible data.

There are two basic approaches to the implementation of the allowable error. The first is that the allowable error can be accurately computed using the algorithm "diff". For example, the algorithm used may be a library "Remote differential compression" Remote Differential Compression (RDC), the library found in the WINDOWS platform. Algorithmic approach has the advantage that the data can be considered implicit, and any structure or structural information may not be necessary. It is ideal for scenarios where the document format is fixed, is unknown or cannot be changed. Non-limiting examples of file formats that is fixed, unknown or who cannot be changed, include text formats, bitmaps and audio files.

However, the price for this flexibility is the high cost of computing and the inefficiency of data caused by changes that cannot well be tracked using the algorithm. This problem may occur if you have not developed efficient data synchronization. That is, the data does not have "clearly defined" permissible errors or good locality changes.

The second approach is that the allowable error can be divided into smaller blocks changes, called "granules", which can be relatively closely aligned with the expected changes. The relative error in this case is a set of granules, which may vary according to the two States. This scheme is less expensive to compute and potentially more efficient when the data can be successfully divided into small blocks changes, which are closely aligned with the expected adjustments.

Two approaches can be used independently or in combination with each other. For example, when using two approaches in combination with each other model of access to the document can provide an arbitrary level of coarseness of the partitioning modules in blocks of compatible data. Through schemes is explicitly specified allowable error, the synchronization mechanisms can enhance an arbitrary level size split that leads to increased efficiency.

Refer now to the figures: figure 1 illustrates an exemplary authoring system 100, with signs that illustrate exemplary features of the disclosure. Authoring system 100 includes a data storage device 120 that stores the master copy of the document 150. In one variant embodiment, the storage device 120 may include (but are not limited to) server, client computer, or other computing device. In another variant embodiment, the storage device 120 may include one or more storage devices (e.g., network computing devices).

Authoring system 100 also includes one or more client computing devices 110A, 110B, 110C, 110D, associated with the ability to communicate with the storage device 120. Each of the client computing devices can edit the document 150 by receiving updates to one or more blocks compatible data 155 and editing object data block is compatible data 155. Units are compatible data 155 synchronize when the client computing device to periodically send to the storage device 120 updates, which it shares with other client computing devices.

As follows from the term, ICP shall lisemore in this document, the client computing device includes any computing device that reaches block compatible data generated from the master copy of the document. The client computing device may be different from the storage device 120, or may include other client account, implemented on the storage device 120. In one variant embodiment of a computing device that acts as a storage device 120 for a single document, can act as a client computing device to another document and Vice versa.

In the shown example, four client computing devices 110A, 110B, 110C and 110D are connected, with the ability to communicate with the storage device 120. However, in other embodiments, the embodiment with the storage device 120 may be connected to any number of computing devices. In the shown example, each client computing device 110A, 110B, 110C, 110D may be sent to the storage device 120 updates created by the client the client computing device, and may request from the storage device 120 other blocks compatible data for editing/authoring. In one variant embodiment, the storage device 120 may be a server vicis is sustained fashion device, and the client computing device may be a client computing device 110A, 110B, 110C, 110D. Other configurations are possible system. For example, in alternative embodiments can use multiple server computing devices.

As shown in figure 2, the document 150, stored on the storage device 120, may include content 152A and 152B, divided into blocks of compatible data 155A, 155B. Copyright application 130 on the client computing device 110 to process and manage content blocks compatible data 155A, 155B of the document 150. Generally speaking, the client computing device 11 OA can synchronize updates to content 152A separately from updates provided by the client computing device 110B. Because updates are made for different blocks of compatible data between blocks compatible data merge conflict will not occur.

Refer to figure 3. Shows the block a compatible data 155A (i.e. data structure)that includes multiple versions of the software for the unit is compatible data 155A 305, 310 and 315. Cells are groups of data objects with similar properties. For example, a cell can contain texts, group pictures, and more, Each of the cells 305, 310 and 315 includes the identifier of the cell 320 (shown whether the b cell 305), which uniquely identifies a particular cell in the document 150. Each of the cells 305, 310 and 315 may be provided, with at least one other cell within the document 150, using the identifiers of the cells. Also, each of the cells 305, 310 and 315 are associated at least with one version of the program 325 (shown only for cells 305). It should be noted that the state of a cell is described by a version that contains the status of the group of data objects.

Each cell may include the identifier of the cell which includes a pair of globally unique identifier (globally unique identifier or GUID) and an integer (integer, INT). Each cell may also be included in the file that specifies a set of cells and versions. The scope may also include at least one root object. Cells in scope can be accessed through the root objects. The cell ID can be associated with the first version, which includes at least one first version identifier. Each at least one version identifier can represent the state of a cell at time. The term "file" is not what it used to represent a named saved "logical object", and it should not be a physical file, such as a text file or the imagination jpeg.

The unit is compatible data 155A includes many data objects 330, 335, 340 and 345, which specifies the content of the document 150. Typically, data objects can represent arbitrary binary data. Non-exclusive examples of data objects include text, picture, table, hyperlink, movie file, audio file, etc. Each data object 330, 335, 340 and 345 is associated with one of the cells 305, 310 and 315 and has an object identifier that uniquely identifies the data object in the associated cell. For example, the object identifier 350 uniquely identifies the data object 330 in the cell 305. The identifiers of the cells, the object identifiers and the identifiers of the versions may include a pair of GUID and INT. In addition, the GUID may be globally unique within the cell.

Each data object 330, 335, 340 and 345 are configured to communicating with other cells and with the objects within the associated cell. For example, the data object 330 may communicate with the reference cells 310 and 315, and the reference cells 310 and 315 are not objects. This helps to ensure consistency, even if one cell is changed independently of the other. Typically, the object may be addressed to any other object within the same cell and to other cells, but not to objects in other cells. In addition, each of ACE is to 305, 310 and 315 are set so that every other cell remained resistant to change data objects in the cell. Also, each cell 305, 310 and 315 may be able to address at least one cell within the actions pane. The scope is to define a set of cells and versions. Cm. figure 4, which shows schematically the scope.

During partitioning each of the data objects 330, 335, 340 and 345 can be grouped, at least one group of objects. The use of groups of objects minimizes service signals accompanied each object separately. In the scenario, when all objects are relatively large, the presence of groups of objects may be optional because the service signals are small. However, in scenarios where objects can be arbitrarily small, group of objects used to control the service signals. Group objects also take into account the selection of objects (i.e. blocks of change) and their grouping into larger units. During separation creates the need for testing and maintaining the characteristics of a "block changes" just created groups.

Storage device 120 may sort the data objects 330, 335, 340 and 345 for groups of objects based on various factors such as the probability (i.e. heuristics based on the application), which is Oh, each data object is updated by the client computer 110. For example, objects can be grouped into several categories. Non-limiting examples of these categories include: 1) types of objects, about which we know that they change frequently (for example, the metadata properties of the document, such as word count and the last moment changes); (ii) types of objects, about which we know that they change very often (e.g., drawings); and (iii) objects, the rate of which is unknown; and (iv) the objects that are changed frequently (for example, a list structure for the list that the user is continuously changed).

In addition, the storage device 120 may sort the data objects 330, 335, 340 and 345 for groups of objects based on the size of each data object. For example, in a sorting algorithm, you can enter the size. If the object is large, the service signal tracking object as a single object becomes insignificant. This is especially true when the benefit is calculated (that is, it helps prevent sample or synchronization object, which is not mandatory). If the object is very small in relation to the service group object, then the object can be included in the group regardless of how often the object is modified.

As mentioned above, each cell 305, 310 and 315 may be suitable for addressing at least one cell in which blasti actions and the scope is to define a set of cells and versions. Figure 4 shows a schematic block diagram of the actions pane 400. Scope 400 includes a root cell 405, the cell 410 and the cell "junk" data 415. For example, the root cell 405 includes version 420, 425 and 430. Example version may include the last saved instance of the block of stored data 155A, i.e. the state of the file before the last change. For example, the version may include the status of the text field before the text was added (version one). If you add text to the text field, you can create a new version (version two). Therefore, the operation "undoing actions may lead to the return from version two to version one. Also, each cell may include a different number of versions. For example, the cell 405 includes two versions (version 435 and 440), and the cell of unnecessary information includes one version (version 445).

Versions of the cells is achieved by splitting the document into blocks compatible data that allow you to block replication (or update) to be much smaller than the entire document. Using versions of cells can improve the performance changes. In the case of partial synchronization (i.e. the presence of the synchronizing blocks compatible data in contrast is the synchronization of the entire document) partitioning allows you to see updates which otherwise would not have been noticeable. Effective partitioning also allows you to merge applications to run a smaller number of them. For example, conflicts, by definition, can only occur when there are changes in the unit compatible data, and any other changes in other blocks compatible data can generate conflicts and synchronization application can run without the mandatory merge. In addition, the units are compatible data can form an effective basis for step-by-step operations load/store. Startup scripts and sync when they are fully integrated with the application, are faster, and thus, can be obtained new separate properties/sharing data.

To maintain compatibility within the block a compatible data, you must ensure that all updates have been compatible. This entails that potentially incompatible update must be completed with each other with education compatible updates and transactions. Application programming interface (access application programming interface, API) subfile can update it through the transaction, without uncontrolled level range byte access.

For effective control sync the tion and replication can be used subfile replication which may be established at block level compatible data (i.e. partitioning). In this simplest form, it can cause nothing like assigning a GUID to each section, which changes every time you update for this section.

Updates can be done at block level compatible data due to new versions in the form of transitions. Synchronization may entail sending the new version (i.e. States) between client and server. However, updates are usually small and are based on a previous state, which may be available as the client and the server. This can be advantageously used when transferring increments or deltas, which makes synchronization more efficient.

Each version may include any number of data objects. For example, the version of the 425 has three data object (data object 450, 455 and 460). For each version of the cell, you can create a manifest version 470. The manifest version 470 may indicate the root set of objects contained in the version, any dependence of/links to manifest other versions and groups of objects (that is, how objects are located in the group of objects). Each manifest version 470 may indicate other groups of objects specified in the manifest of the previous version.

The manifest version MoE to set the version representing the state of the document 150 at the time. The manifest version 470 includes at least one group of objects, and each group of objects includes at least one data object. The manifest version 470 also describes the single version, which, by definition, can only be used to describe the state of objects in a single cell (which is a block of compatible data).

The second computing device (e.g., storage device 120) may be partially or fully determine what data objects in which the group of objects placed. The second computing device may also ask each group of objects, based on how often each object is updated. In addition, the second computing device may ask each group of objects, based on the size of the object. Also, the first computing device (e.g., client computer 110) may affect which data objects in which groups of objects are placed.

Refer now to figure 5, where the client device 110A shown in more detail. The client device 110A may be a personal computer, a server computer, a laptop computer, personal digital assistant, smartphone, or any other similar computing device.

Figure 5 approximate Kli is ntshe computing device 11 OA usually includes, at least one data processing unit 515 for execution of software applications and programs stored in system memory 520. Depending on the exact configuration and type of computing device 110A system memory 520 may include (but are not limited to) RAM (random access memory, random access memory, RAM), ROM (read-only memory, permanent memory, ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory, electrically erasable programmable permanent memory, EEPROM), flash memory, CD-ROM, digital versatile disks (digital versatile disc, DVD) or other optical storage, magnetic cassettes, magnetic tape, storage device on magnetic disks or other magnetic storage devices, or other storage technologies.

In the memory system 520 is typically stored operating system 522, such as a WINDOWS® operating system from Microsoft Corporation, Redmond, Washington, is suitable for regulating the operation of the computing device 110A. The system memory 520 may also include document cache 526, which can store the unit is compatible data 527 document. In the client cache 526 may also store metadata 529 document.

In the system memory 520 may also store one or more application programs, such as applications for creating cars the ski development 130, which is used to create and edit documents. One non-limiting example of copyright applications 130, suitable for creating documents in accordance with the principles of the present disclosure, is a software tool for text processing WORD® from Microsoft. Other non-limiting examples of applications to create original projects include presentation software POWERPOINT®software VISIO® drawing and graphing, and Internet EXPLORER®, all available from Microsoft. You can also use other applications.

Computing device 110A may also have the device (s) input 530, such as a keyboard, mouse, pen, a device for voice input, touch input device, etc. to enter and manage data. Can also be enabled device (s) output 535, such as a display screen, speaker PC, printer, etc. These output device 535 is well known in the art and need not be here detailed discussion.

Computing device 110A may also contain communications 540, which allow the device 110A to communicate with other computing devices, for example, the storage device 120 of figure 1, over the network in a distributed computing environment (for example, II andstc the network or the Internet). As an example, and without limitation, the environment of the communication device 540 includes a wired medium, such as a wired network or a single-wire connection, and the wireless environment, such as acoustic, RF, infrared and other wireless environments.

6 is a block diagram outlining the main stages included in method 600, corresponding to the embodiment of the disclosure for synchronization of the document after the changes made to create a block of compatible data. The method 600 may be implemented using computing devices 110A, as described above with reference to figure 5. Introducing the stages of method 600 will be described in more detail below.

Method 600 begins with start block 605 and transition to stage 610 where the computing device 110A may take the version and any cells to which this version is applied. For example, the set of versions can be obtained together with the corresponding commands on what cells must possess a state configured for a specific version. In other words, when synchronization occurs, the reception of the following: (i) {version} - set of versions; (ii) {(cell, version)} - the set of identifiers of the cells, the tuples of version identifiers that describe the cells that are "modified", and what is their new state from the point of view of the received versions. The term "modified" means that some of the information in the version changes. For example, a client using the computing device 110A (e.g., client computer) can take a slide from a presentation or information from the header/footnote of the text processing document. Once the changes have been applied, a means of storing documents can do without any cells and/or versions that may not be "revealed" by running in root cells and tracking of object references/cell. The term "disclosure" applies to optimization, which means the store can do to get rid of irrelevant information that is no longer in use by clients as customers have no way to access that data. For example, once the changes have been applied, the tool storage can get rid of any cells and/or versions to which they no longer are addressed directly or indirectly in root cells.

After stage 610, where the computing device 110A receives the version and the corresponding cells to which these versions are attached, the method 600 may go to step 620, where the computing device 110A may receive updates to the unit compatible data 527. Updates can specify the ID of the updated version associated with each of the cell, associated with a block of compatible data 527 or document 150. For example, on a computing device 110A can run presentation graphics POWERPOINT®, and the unit is compatible data 527 may be a slide. Updates to the slide can be obtained, when the user edits the slide.

Once computing device 11 OA receives updates on the block compatibility 527 at stage 620, the method 600 may go to step 680, where the computing device 110A determines whether to save the first version, or should generate a new version. When the computing device 110A determines that the first version should be retained, the method 600 proceeds to step 630, where the computing device 110A may keep the first version. The first version can be saved, when the ID of the first version of the cell corresponds to the ID of the updated version of the cell. Example, when the ID of the first version may correspond to the ID of the updated version, is when a version is created, and then the version is cancelled. For example, the user can print the word on a slide, and then washed again printed word. Because the slide has not been changed, there is no need to generate a new version.

When the computing device 110A determines that a new version is created, the method 600 crossing the t from the stage of 680 to stage 640, where the computing device 110A generates a new version. Generating a new version may include the appointment of a new version of the new version identifier when the identifier of the first version of the cell does not match the ID of the updated version of the cell. Generating a new version may also include determining for each cell whether the ID of each object in the cell ID of the updated version. The ID of the updated object may define the manifest version. The manifest version can determine the version of the block a compatible data 527 or document and may include at least a first group of objects, which contains at least the first data object. The manifest version may also indicate on the manifest the previous version. For example, during editing by the user, the application keeps track of a set of objects that are modified as part of user edits. Then create the ID of the new version using the standard algorithm for generating the GUID. The objects are then Packed into groups of objects (as discussed above), and then group the objects and manifest the previous version of the extract from the Manifesto of the new version, which is the new version.

Immediately after generating a new in rsii on stage 640 computing device 110A, the method 600 may proceed to step 650, where the computing device 110A may clear the memory of any cell that is not referenced by the root object. Clear memory involves identifying objects that are impossible to "reveal" by tracking object references/cell, resulting in root cells. Because cells with purified memory may not be available, they will never need, and disk space/resource can be cleared by erasing them.

Once computing device 110A erases any cell in which the root objects do not refer to stage 650, the method 600 may proceed to step 660, where the computing device 110A may synchronize the document 150 or block compatible data 527. For example, computing device 110A may synchronize the document by replacing the existing cells to the new version of each cell. Once computing device 110A synchronized document 150 or block compatible data 527 at stage 660, the method 600 may then end at stage 670.

Throughout this description could be mentioned the phrase "one embodiment", "variant embodiment", "variants of embodiment", "feature" or "features", meaning that a particular described feature, structure, or characteristic may be included at least in one variant of this embodiment is the future of the disclosure. Thus, the use of such phrases may belong to more than only one variant embodiment or features. In addition, the described features, structures or characteristics may be combined with each other in any suitable manner in one or more embodiments of the embodiments or features. In addition, a link to a single item may mean a single item or many items, just like a link to many items can mean a single subject. Moreover, the use of the term "and"embedded in the list, should imply that covered all the elements of a list, a single item of a list, or any combination of items in the list.

Variants of the embodiment of the disclosure can be implemented as a computer process (method), a computing system or as a finished product, such as a computer program product or computer readable media. The processes (programs) can be implemented any number of ways, including the structure described in this document. One such way is to machine operations, and devices of this type are described in this document. Another way (not mandatory) is intended for one or more individual operations according to the methods executed on a computing device in conjunction with one or more operators-the people, the issue is Naushki some of these operations. These people are the operators do not need to be next to each other, and each of them can only be next to the machine, which performs its part of the program.

The computer software product can be a medium for storing information, a computer-readable computer system and encoding a computer program in the form of commands for executing a computer process. The computer program product may also be a signal propagating on a medium readable by the computing system and encoding a computer program in the form of commands for executing a computer process. The term "environment for storing information of the computer", as used herein, includes both the storage environment, and environment data.

Specialists in the art should be understood that the disclosure can be applied using computers with other system configurations, including handheld devices, multiprocessor systems, electronics, microprocessor-based or programmable consumer electronics, minicomputers, mainframes, etc. Disclosure can also be applied in a distributed computing environment where tasks are performed by using remote handle, connected via the network before the Chi data. In a distributed computing environment, program modules may be located in local or remote memory devices. Typically, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.

1. The synchronization method of the document on the first computing device, the document is divided into cells, and each cell is set, at least one manifest version, and the method includes:
the reception of the first version and at least one cell associated with the document, and at least one cell contains the ID of the cell that contains a globally unique identifier and an integer, and the globally unique identifier is a globally unique identifier of a cell associated with the first version, containing at least one identifier of the first version, each of the at least one identifier of the first version represents the state of the cells in time and scope specifies the set of cells and versions, and the scope includes, at least one root object, and cells in the scope available, at least through one cor the eve of the object;
receiving updates to the first computing device, the update indicates the ID of the updated version associated with each cell associated with the document;
saving the first version of each cell, when the ID of the first version of the cell corresponds to the ID of the updated version of the cell;
generating a new version of each cell, and generating the new version includes a new version of the ID of the new version, when the ID of the first version of the cell does not match the ID of the updated version of the cell;
erase any cell that does not have reference to the root object;
and
synchronization of the document by replacing the cells in the new version of each cell.

2. The method according to claim 1, wherein generating the new version includes determining for each cell whether the object ID of each object in the cell ID of the updated object.

3. The method according to claim 2, in which the ID of the updated object specifies the manifest version specifies the version of the document and includes at least a first group of objects, which contains at least the first data object.

4. The method according to claim 3, in which the manifest of the version indicates the group of objects defined in the previous release manifest.

5. Masha is acidaemia storage media, containing the stored Mashinostroenie commands that when executed perform the method of synchronization of the document on the first computing device, the document is divided into cells, and each cell is set, at least one manifest version, and the method includes:
the reception of the first version and at least one cell associated with the document, and at least one cell contains the ID of the cell that contains a globally unique identifier and an integer, and the globally unique identifier is a globally unique identifier of a cell associated with the first version, containing at least one identifier of the first version, each of the at least one identifier of the first version represents the state of the cells in time and scope specifies the set of cells and versions, and the scope includes, at least one root object, and cells in the scope available, at least one root object;
receiving updates to the first computing device, the update indicates the ID of the updated version associated with each cell associated with the document;
saving the first version of each cell, and when entification the first version of the cell corresponds to the ID of the updated version of the cell;
generating a new version of each cell, and generating the new version includes a new version of the ID of the new version, when the ID of the first version of the cell does not match the ID of the updated version of the cell;
erase any cell that does not have reference to the root object; and
synchronization of the document by replacing the cells in the new version of each cell.

6. The computer-readable storage medium according to claim 5, in which the generation of new version includes determining for each cell whether the object ID of each object in the cell ID of the updated object.

7. The computer-readable storage medium according to claim 5, in which the ID of the updated object specifies the manifest version specifies the version of the document and includes at least a first group of objects, which contains at least the first data object.

8. The computer-readable storage medium according to claim 5, in which the manifest of the version indicates the group of objects defined in the previous release manifest.

9. A computer system for upgrading many existing publications using a single request for the acquisition of publications, and computer system contains:
at least one processor; and
at least one storage condition the device, United with the possibility of communication with the at least one processor and containing computer-readable commands that, when executed by at least one processor, perform a method of synchronization of the document on the first computing device, the document is divided into cells, and each cell is set, at least one manifest version, and the method includes:
the reception of the first version and at least one cell associated with the document, and at least one cell contains the ID of the cell that contains a globally unique identifier and an integer, and the globally unique identifier is a globally unique identifier of a cell associated with the first version, containing at least one identifier of the first version, each of the at least one identifier of the first version of
represents the state of the cells in time and scope specifies the set of cells and versions, and the scope of action includes at least one root object, and cells in the scope available, at least one root object;
receiving updates to the first computing device, the update indicates the ID of the updated version associated with each I is a side, associated with the document;
saving the first version of each cell, when the ID of the first version of the cell corresponds to the ID of the updated version of the cell;
generating a new version of each cell, and generating the new version includes a new version of the ID of the new version, when the ID of the first version of the cell does not match the ID of the updated version of the cell;
erase any cell that does not have reference to the root object; and
synchronization of the document by replacing the cells in the new version of each cell.

10. A computer system according to claim 9, in which the generation of new version includes determining for each cell whether the object ID of each object in the cell ID of the updated object.

11. A computer system according to claim 9, in which the ID of the updated object specifies the manifest version specifies the version of the document and includes at least a first group of objects, which contains at least the first data object.

12. A computer system according to claim 9, in which the manifest of the version indicates the group of objects defined in the previous release manifest.



 

Same patents:

FIELD: information technologies.

SUBSTANCE: associative Identifier of Events, Technological, implements a circuit of identification of expected design events/conditions of a control system, determined readings of primary sensors of process control, and whenever such occur, it generates alternative design data for direct control of process without application of software and processor resources in asynchronous mode and at the moment of control data arrival, at the same time it includes a multi-layer architecture of an item, organising address-free space of memory and providing for equal and asynchronous access of input information to each layer, in respect to input data, all layers are interconnected memory cells with elements of data comparison and control of recording procedure.

EFFECT: increased indices of reliability, trustworthiness and validity.

3 cl, 3 dwg

FIELD: radio engineering, communication.

SUBSTANCE: disclosed system for controlling, collecting and processing data with onboard spacecraft recording equipment includes at least one onboard recording equipment unit connected by at least two communication channels to a data control and processing unit, which is connected onboard spacecraft equipment through at least one communication channel for subsequent collection of information on Earth. The data control and processing unit includes: an interfacing device, a self-contained timer, a single-board computer, a forced cooling system, a heat sensor system, a storage unit, a synchronous data transmission unit, a secondary power unit and a command transmission and power distribution system.

EFFECT: easier and reliable simultaneous connection to different onboard recording equipment.

7 cl, 2 dwg

FIELD: oil and gas industry.

SUBSTANCE: stages of the proposed method involve acquisition of database of oil deposit, which are related to oil-field objects. A self-organising map (SOM) is formed by means of the following: assignment of each of multiple data fields to one of multiple SOM maps. Each of multiple oil-field objects is assigned to one of multiple SOM positions based on the pre-determined SOM algorithm for presentation of statistical patterns in a variety of databases of oil deposit. Stochastic database is formed of databases of oil deposit based on artificial neuron network for databases of oil deposit. Screening of databases of oil deposit is performed to identify candidates from oil-field objects. Besides, screening is based on stochastic database. Detail assessment of each of the candidates and selection of oil-field object of candidates based on detail assessment is performed. Oil-field operations for the chosen oil-field object are performed.

EFFECT: improving assessment accuracy of oil-field objects.

22 cl, 23 dwg

FIELD: information technology.

SUBSTANCE: method for digital distribution of media content using a distribution main line system comprises steps of receiving a media content request from a client, the request including the profile of the client; performing inventory check and analysis of source assets by iteratively going through the client profile to generate output data; mapping functionalities, wherein several rules enable to map source assets onto the client profile; and scheduling the production process, which determines work elements and execution steps based on functionalities mapped in response to the media content request from the client.

EFFECT: automation of a process which downloads content in digital format and seamlessly manages said content by delivering to the client.

27 cl, 23 dwg

FIELD: radio engineering, communication.

SUBSTANCE: information on characteristics of weapons of each party is switched; the information is stored in a first memory unit; the information is supplemented with characteristics of a backup group with variable input time; information on weapons of all groups is used to pre-evaluate characteristics of their difference and determine coefficients of independent combat superiority of party A over groups B1, B2; the obtained information is used to select a strategy of combat operations; the remaining weapons of all groups are determined; intermediate characteristics of groups and the outcome of combat operations are stored in a second memory unit and read therefrom, and then transmitted to inputs of a display unit, where information on the outcome of combat operations of party A is displayed: win, loss, draw; the remaining weapons in groups: type of strategy, delayed backup, type of difference, values of coefficients of combat superiority and coefficients of distribution of weapons.

EFFECT: high combat efficiency and effectiveness of operations with different groups, rapid planning of the selection of the optimum target distribution strategy.

2 cl, 5 dwg

FIELD: information technology.

SUBSTANCE: method creating an audio scene for an avatar in a virtual environment comprises the following steps: creating a link structure in a virtual environment between a plurality of avatars; reproducing an audio scene for each avatar based on its connection with other avatars connected by the links; wherein the created link structure is configured to determine the angle for reproducing the audio scene and/or the attenuation coefficient for applying to audio streams on input links. The angle for reproducing the audio scene corresponds to angles of links between said each avatar and other avatars connected by links; the link structure includes a minimum spanning tree. Loops are introduced into the minimum spanning tree such that the minimum length of the loops is shorter than a predetermined value so as to prevent echo in the reproduced audio scenes.

EFFECT: solving a task such as creating voices which really seem to originate from avatars in a virtual environment.

12 cl, 6 dwg

FIELD: information technology.

SUBSTANCE: information on unit indicators of compared means is switched, recorded in a first memory unit, sent to a worst quality and best quality reference forming unit, which forms the corresponding beginning and end of a straight line which defines a quality estimation scale; planes perpendicular to that straight line are made through points of the compared means in the space of the unit indicators; parameters of the points of intersection with the estimation scale are found, values of which form complex quality indicators of the compared means, the maximum value of one of which corresponds to the preferred means.

EFFECT: high security of devices.

2 cl, 2 dwg

FIELD: information technology.

SUBSTANCE: system for hosting interactive audio/video (A/V) streaming with short waiting time includes a plurality of servers on which one or more applications are executed. The system also includes a network with input routing, which receives packet streams from users and routes these packets to one or more said servers, wherein said packet streams include user control signal input, wherein one or more said servers is configured to calculate A/V data in response to user control signal input. Furthermore, the system includes a compressing unit which is connected to receive A/V data from one or more servers and derive therefrom streaming compressed A/V data with short waiting time. The system also includes an output routing network which routes streaming compressed A/V data with short waiting time to each user over a communication channel through an interface.

EFFECT: high quality of A/V data transmitted over a communication channel.

29 cl, 40 dwg

FIELD: information technology.

SUBSTANCE: device for simulating the process of choosing a commodity has an array of m*n first registers, second registers whose number equals the number of rows of the array, adders whose number equals the number of rows of the array, AND element units whose number equals the number of rows of the array, third and fourth registers whose number equals the number of columns of the array, an array of m*n divider units, an array of multiplier units, a unit of OR elements, a maximum code selecting unit, a decoder, four delay elements and a flip-flop.

EFFECT: broader functional capabilities by providing selection of the best version of a commodity based on given consumer criteria.

1 dwg

FIELD: information technology.

SUBSTANCE: at least some of illustrated versions of implementation relate to systems having a flow computer configured to monitor a physical process which is external with respect to a data processing unit, an archive server connected to the flow computer over a computer network and configured to receive data related to physical process and store said data in nonvolatile data storage, and a human-machine interface connected to the archive server over a computer network. The human-machine interface is configured to extract values of archive data related to the physical process from the archive server, calculate statistical data not stored in the archive server based on the values of archive data and display the statistical data on a display device.

EFFECT: reduced amount of data stored in archive servers.

32 cl, 8 dwg

FIELD: message boards and mail servers.

SUBSTANCE: electronic message board is provided with database in form of several known words, which are selected in specific order, while each word is connected to respective URI. Message text from user computer is checked using a plurality of known words. When message text does not include a known word of plurality of known words, message is placed at electronic board. Each known word is found in text, known in text is converted to hypertext format with URI connected to word, as destination of link, and message is placed at message board.

EFFECT: higher efficiency.

7 cl, 4 dwg

FIELD: computers.

SUBSTANCE: device has control trigger, random pulse generators, block for forming program of functioning of modeled multimode system, working modes and technological mode blocks, operation time counters, random pulses generators, OR block, orders counters.

EFFECT: broader functional capabilities.

3 dwg

FIELD: computers.

SUBSTANCE: device has matrix of m rows and n columns for homogenous environment, maximum detection block, adder, memory block, n blocks for counting units, block for estimating channels load levels, containing pulse generator, element selection multiplexer, element selection decoder, row selection decoder, m OR elements, m triggers, m counters of channel load, row number counter, column number counter, group of m blocks of forbidding elements.

EFFECT: broader functional capabilities.

5 dwg

FIELD: computers.

SUBSTANCE: method includes detection of connection of user computer to Web-site of sub-domain on national language and selects service of registration of domain name on national language, performing software extension for automated forming of combination of symbols of English alphabet, matching domain name, based on national language, determining, whether such combination of English symbols was registered before as existing domain name, and, if not, then it is registered as domain name.

EFFECT: higher efficiency.

4 cl, 7 dwg

FIELD: computer science.

SUBSTANCE: device has random time ranges generators, imitating specific usage modes, elements AND, OR, triggers, delay elements, random numbers generators, decrypters and differentiative elements, providing for modeling of dynamics and specifics of operation of surface mobile measuring complex.

EFFECT: higher precision, broader functional capabilities.

2 dwg

FIELD: computer science.

SUBSTANCE: device has input registers, NOT elements, comparison blocks, counters, indication blocks, delay elements, adders, division blocks, Or elements, commutators, subtraction blocks.

EFFECT: broader functional capabilities, higher efficiency.

8 dwg

FIELD: measuring equipment.

SUBSTANCE: device has harmonic signals generator, synchronization pulse generator, counter, rectangular pulse generator, key, quadrature demodulator block, digital block for adjusting synchronization phase, analog-digital generator of tone frequencies signals, three ADC, three buffer registers, three digital filters, five multiplexers for temporal division, six arithmetical subtracter-adders, six arithmetical multiplication blocks with accumulation, microprocessor set with input and output data registers, data processing block, micro-programmed control block and synchronous pulse generator and indication block.

EFFECT: higher precision, higher efficiency, broader functional capabilities.

1 dwg

FIELD: radiolocation.

SUBSTANCE: method includes analog-digital conversion of reflected from targets and received signal, calculating complex correlation sums of selection of received signal and support quadrature signals with values of parameter of resolution of support signal, taken on e even mesh, maximal by width intervals of values of resolution parameter, inside which all modules of correlation sums exceed threshold of detection, decision is taken about match of each local maximum to one target in the ranges, in which number of local maximums is more than one, width of range is calculated, inside which one local maximum is placed, decision about match of one local maximum to two targets is taken in case, if width of range is more than threshold width, in opposite case minimal non-square non-match of counts of complex correlation sums and count s of standard correlation sums of signal of one target are calculated, and decision is taken about match of local maximum inside range of one target in case, if non-match is less than non-match threshold, and two targets - in opposite case.

EFFECT: higher efficiency.

3 dwg

FIELD: equipment characteristics prognosis technologies.

SUBSTANCE: device provides forming of statistical model for prognosis of characteristics of equipment. Device gets input data, in form of equipment parameter, which includes multiple values, appropriate for parameter. Input data is inputted into model and data set is formed, appropriate for model response to input data, equations system if formed being a model of equipment characteristic, received data is statistically processed for forming probability image of equipment characteristic.

EFFECT: higher efficiency.

6 cl, 4 dwg

FIELD: computer science.

SUBSTANCE: device has two registers blocks, inputs of which are device parameters inputs, pulses multiplication block, four multiplication blocks, comparator, clock pulses generator, adder block, two subtraction blocks, block for multiplication by zero, counter, division block, integrator and register.

EFFECT: broader functional capabilities.

1 dwg

Up!