Expandable computer file format

FIELD: computer engineering.

SUBSTANCE: in accordance to invention, file version watermarks are included in source data file of an application. File version watermarks may indicate various properties of original data file. File version watermarks may include older version watermark, last version watermark, lesser version watermark, creation version watermark and object version watermark. In accordance to invention, file version watermarks are used to determine whether file or certain information in file correspond with previous, active or future version of an application. Respectively, invention allows to load or save original data file on basis of determined results.

EFFECT: creation of expandable file format, compatible with previous, current and future versions of an application; possible use of previous versions of applications for working with a file.

20 cl, 9 dwg

 

The technical field

The present invention generally relates to computer systems and programs. In particular, the present invention relates to a system and method that provides a file format that is compatible with the previous, current and future versions of the application program.

Prior art

Computer application programs in General have been used for numerous tasks performed on the computer. The application program can be used to create and modify a data file, which contains information specific subject of the application program. For example, you can create a document using an application program desktop publishing. The document may contain numerous individual elements, such as headings, text, graphics, styles, fonts, etc. the Application program publishing system can be used to create a data file that stores all information about this particular document.

Each application program that saves files in a computer system must determine the format in which data is stored. There are many ways to store data, ranging from maintaining the "Platini image data before storing the data in a form consistent with the industry standard. In addition,the computer application program is continuously being updated and modified, so you can use the latest features and advances in technology. End users usually get access to updates and changes due to the release of an updated version of the application program. The file format used by the updated version of the application program must be compatible with previous and future versions. However, the updated version usually uses a file format different from the previous versions because the new features in the updated version require the records in the data file with new data. Between two different versions of the application program can cause conflicts, as a result of the change the file format of previous versions may not be able to read files with the updated version.

The term "object"used in this description, refers to the entity that has the characteristics displayed by an application program and is part of an application program or a part of data stored/handled by the program. An example of an object displayed by an application program is a text field contained in the window of the application program, in which the user can enter text. Characteristics of the text field may include color, text font and size of text into paragraphs. An example of an object that is part of PR is Kladno program, is "Palatine representation" ("memory representation") of the animal and its characteristics may include color of the animal, the number of feet and the sign of protagnist. This "Palatine view can be implemented as a data structure, the elements which Express the characteristics. An example of such a data structure is a data structure class of C++. Characteristics of the object is called the object's properties. Each property of the object typically has a value. For example, the property "color" may have the value "red".

An example of the object 100 shown in figure 1. The object 100 may contain a border 102 and the text 104. The object 100 can have six properties characterizing the boundary 102 and the text 104. Border 102 can have properties "border style" and "border size". Text 104 can have the property "font", "size of characters of text", "alignment" and "text style". The default value for the border 102 and text 104 may indicate that the "border style" = "solid", "border size" = 4 points, "font" text = Times New Roman "size of text" = 20 points, alignment, text = "left-aligned" and "style" text = "not italic.

In the application program default values for objects and properties can be set during initial programming. In the course of the program default values can be changed is stored in the data file. For example, in a drawing program that can display objects, such as rectangles and triangles, the user can modify object properties. According to figure 1 the properties of the object 100 can be changed so that the solid boundary is replaced by a dotted border and the text style is changed to italic. Later versions of the program can usually read the default values and changes for each object. However, when you create later versions of the program the file format is usually different from the file format of the previous version. Accordingly, the previous version cannot read the files later. In the example shown in the previous paragraph, the later may include a new feature, for example the shadow of the object 100. Added feature requires the recording of new data in the program files, and consequently, change their format. The previous version can't read the files later, containing the new data, because the file formats are different.

One traditional solution to the above problems is to limit the new features of the updated version of that file format remained compatible with previous versions. However, this solution may prevent the dissemination of best product among users and may limit the functional capacity and and performance of the overall program.

Another conventional solution to the above problem is to create a software adapter that converts the old file that you created in the previous version to a new file that is compatible with the updated version. Program adapter can also convert the new file to a file that is compatible with the previous version. However, this solution may cause inconvenience to the user and may require large amounts of memory and processing time to convert files. In addition, this solution may cause the user to lose important information, required a newer version of the program, if you will save the file with the previous version.

There is therefore a need for improved system and method that can provide a file format compatible with the earlier, contemporary and later versions of the application program. There is a need for an extensible file format that allows you to add new features in future versions of the application program, at the same time remaining compatible with previous versions.

The invention

The present invention relates in General to a system and method for providing an extensible file format that can be compatible with previous, current and future versions of the application program. This is General the invention relates to an extensible file format which permits adding new features in future versions of the application program, at the same time remaining compatible (no change) with the previous and/or modern versions. Accordingly, the present invention allows the software vendor to ensure compatibility of the many versions with the same files, without limitation features that can be added in future versions.

According to one illustrative aspect of the present invention provides for the inclusion of "watermarks" version in the original data file of the application program. Watermark version of the file can be element of the source data file that specifies certain properties of the original data file. For example, in the source data file, you can provide the watermark high (older) version", indicating the highest (oldest) version of the application program used to save the file. In the original data file, you can provide watermark latest version", indicating the latest version of the application program used to save the file. In the original data file, you can provide a "low watermark (younger) version of"that specifies the lowest version of the application program used to save the file. In the original data file, you can provide "Wodan the first sign version of creation", indicates the version of the application program in which the file was first created. In the original data file, you can provide "object watermark version", indicating the highest (oldest) version of the application program to write a specific object. Each watermark version of the file can specify, modify, add or remove generated file.

According to another illustrative aspect of the present invention involves determining how to load or save the original data file, based on the information provided in one or more watermarks version. According to one illustrative aspect of the present invention allows to determine whether the watermark high version in the file is a newer version than the current version of the application program that loads or saves the file. The watermark high (older) version is a newer version, if the source data file was saved with a newer version of the application program relative to the current (active) version. In this case, the present invention provides for determining whether the source data file information unknown to the current version. If so, the current version of the application program can ignore unknown information, leaving it for use b the more new (later) versions.

According to another aspect of the present invention allows to determine whether the watermark high version in the file is an older version than the current version of the application program that loads or saves the file. Watermark higher version is an older version than the current version, if the source data file was saved with an older version of the application program with respect to the current version. In this case, the present invention allows to determine whether the current version of new information, which is based on old information in the source data file. Then the new information can be updated on the basis of old information. Additionally, new information can be saved for use the older (previous), the current and newer (later) versions by storing data in a format more than the old version, and format the existing and newer versions.

According to another illustrative aspect of the present invention "Platina structure (structure "in memory") application program can be separated from the data file format. Accordingly, future versions of the application program may include numerous new features that do not require changes to the format of the data file. For example, patterns can lane is to place in the memory, to make them more effective for a particular type of processor, but that doesn't make them compatible with a different version due to the differences in the formats of the data file.

The present invention also minimizes the amount of memory and processing required to load and save data files corresponding to other versions of the application program. Watermark version of the file can specify what information in the data file corresponds to a different version. Accordingly, any processing and conversion can be performed only on the specified information.

Another illustrative aspect of the present invention provides for a list of properties of the object (CCO) or an array of lists of object properties (array CCO) as the structure of the data file. CCO or an array of MDA allows for "turnover" (send and receive) data with unknown properties from future versions by passing or returning unknown data back to the saved data file. CCO or an array of MDA can be loaded into memory. If necessary, all those properties, which are known for a specific version, you can overwrite. Other properties (i.e. properties that are unknown to a specific version) were created with a newer version and can remain in the file untouched. With each memory structure stored in the data file, you can associate the WITH or array CCO to save this structure.

These and other aspects, objectives and characteristics of the present invention made it clear from the following detailed description of preferred embodiments given in conjunction with the attached drawings and with reference to them.

Brief description of drawings

Figure 1 - block diagram of the object used by the application.

Figure 2 - block diagram illustrative of a computer suitable for practical implementation of the illustrative variant implementation of the present invention.

Figure 3 - block diagram of the characteristics of traditional SSO.

4 is a block diagram of the characteristics of the array CCO according to illustrative variant implementation of the present invention.

5 is a block diagram of the algorithm of the method of loading the source data file according to an illustrative variant implementation of the present invention.

6 is a block diagram of the algorithm of the method of saving the source data file according to an illustrative variant implementation of the present invention.

7 is a block diagram of the algorithm is how to download and save the original data file according to an illustrative variant implementation of the present invention, when the current version added object property, not included in the previous version.

Fig - block-scheme of the algorithm is how to download and save the original data file the agreement is but illustrative variant implementation of the present invention, when the current version of the deleted property of the object that was used in the previous version.

Fig.9 is a block diagram of the algorithm is how to download and save the original data file according to an illustrative variant implementation of the present invention, when the current version of the old property of the object to the previous version altered.

Detailed description of the invention

The present invention is described below in detail with reference to the accompanying drawings, in which similar elements are denoted by similar positions.

The present invention is able to provide an extensible file format that is compatible with the previous, current and future versions of the application program. The present invention provides for the inclusion of a watermark version of the file in the source data file of the application program. Watermark version of the file can specify various properties of the original data file. Watermark version of the file may include the watermark high (older) version, a watermark latest version, watermark low (younger) version, a watermark version of creation and object watermark version. Each of the watermarked version of the file can also be provided for specific information in the file, for example, for a specific object in the file, to specify the version that changed the specific details is rmatio. The present invention allows the use of watermarks version of the file to determine whether a file or specific information in the file with a previous, current or future versions of the application program. Accordingly, the present invention allows to load or save the original data file on the basis of the definition.

Figure 2 illustrates various aspects of an illustrative computing environment in which you intend to use the present invention. Specialists in this field it is obvious that 2 and the appropriate consideration are designed to provide a brief General description of the preferred computer hardware and software modules, and that additional information can be found in the corresponding references on programming, user guides and similar publications.

Figure 2 shows a traditional personal computer 10 suitable for ensuring the implementation of the preferred alternative implementation of the present invention. According to figure 2, the personal computer 10 operates in a network environment implementing a logical connection to the remote server 11. The logical connection between personal computer 10 and the remote server 11 is provided in the form of the local network 12 and a global network of 13. Professionals in this field are known, h is about in this configuration, client-server remote server 11 can function as a file server or computer server.

The personal computer 10 includes a processor 14, such as the PENTIUM microprocessors manufactured by Intel Corporation, Santa Clara, California. The personal computer 10 also includes system memory 15, which includes permanent memory (ROM) 16 and random access memory (RAM) 17, connected to the processor 14 through the system bus 18. The preferred computer 10 uses the BIOS 19, is stored in ROM 16. Professionals in this field know that the BIOS 19 is a set of basic procedures that help to transfer information between elements of the personal computer 10. Specialists in this field it is also known that the present invention can be implemented on computers with different architectures, for example, on computers that do not use the BIOS, and use other microprocessors.

In the personal computer 10 local hard disk drive 20 is connected to the system bus 18 via the interface 21 of the hard disk. The actuator 22 floppy disk, which is used to read the floppy disk 23 or write to it, connected to the system bus 18 via the interface 24 of the floppy disk drive. The actuator 25 CD-ROM or DVD, which is used to read the disc 26 CD-ROM or DVD connected to the system bus 18 via an interface 27 CD-ROM or DVD. The user enters commands and information into the personal computer 10 using the input device, for example, keyboard 28 and/or pointing device, such as a mouse 29, which is connected to the system bus 18 via the interface 30 of the serial port. The index for other types of devices (not shown in figure 2) include a touch pad, ball handles, pens, devices for determining the position of the head position of the operator, gloves for collecting digital data, and other devices suitable for positioning a cursor on the monitor 31 of the computer. The monitor 31 or the display device of another kind is connected to the system bus 18 via adapter 32.

The remote server 11 in this network environment connected to a remote storage device 33. Remote storage device 33 is typically a storage device of large capacity, for example, a hard disk, CD-ROM or DVD, magneto-optical drive, and other Experts in this field know that software modules, such as modules 37C and 37D of the application program are provided to the remote server 11 by means of computer-readable media. The personal computer 10 is connected to the remote server 11 through the network interface 34, which is used for communication on the local network 12.

In an alternative embodiment, the personal computer 10 is also connected to the remote server 11 through odema 35, used for global communication network 13, such as the Internet. The modem 35 is connected to the system bus 18 via the interface 30 of the serial port. The modem 35 may also be connected to the telephone network of General use (PSTN) or network community reception (KTP). Although in figure 2 the modem is shown external to the personal computer 10, the person skilled in the art know that the modem 35 may be internal to the personal computer 10 and, thus, to communicate directly via the system bus 18. It is important to note that the connection to the remote server 11 via the local network 12 and a global network 13 is not required, but merely illustrates alternative ways to ensure lines of communication between personal computer 10 and the remote server 11.

Although other internal components of the personal computer 10 is not shown, specialists in this field it is obvious that such components and connections between them are well known. Accordingly, additional details concerning the internal construction of the personal computer 10, there is no need to disclose in connection with the present invention.

Professionals in this field know that software modules, for example, the operating system 36, the program module 37A applications, programmabl 37V browser other software modules 37N and data are provided by the personal computer 10 via computer-readable media. In the preferred computer 10 computer-readable media include local or remote storage device, which may include the local hard disk drive 20, floppy disk 23, CD-ROM or DVD 26, RAM 17, ROM 16 and the remote storage device 33. In a preferred personal computer 10 local hard disk drive 20 is used for storing data and programs.

Software module 37N can contain application programs that have files extensible file format according to an illustrative version of the present invention. The first application program can manage the object, which, in turn, can contain a list of properties of the object (CCO) is an extensible file format. CCO can be stored in a contiguous block of system memory 16. The second application program can access CCO object and can perform various functions using the SSO, for example, described below.

MDA represents the data structure for storing data in the data file. A more detailed description can be found in U.S. patent No. 5933842 and 5946696. The disclosure of these patents are incorporated here by reference.

Traditional CCO provide the structure of the data DL the file data. This data structure maintains information in a common format, useful for compatibility with previous and future versions of the application program. Format CCO allows you to skip data that are not recognized by the application program, and at the same time use data recognized by the application program. Traditional CCO can be updated with new information in the new version of the application program, as they allow dynamic expansion for new objects and properties.

Figure 3 describes the characteristics of traditional CCO 300. (For more information on soo see U.S. patent No. 5933842 and 5946696.)

The term "object"used in this description, refers to the entity that has the characteristics, and which is, or is displayed by an application program, or is part of the application program. An example of an object displayed by an application program is a text field contained in the window of the application program, in which the user can enter text. Characteristics of the text field may include color, text font and size of text into paragraphs. An example of an object that is part of the application program, is "Palatine view of the animal and its characteristics may include color of the animal, the number of legs and the characteristic plot is gnosti. This "Palatine view can be implemented as a data structure, the elements which Express the characteristics. An example of such a data structure is a data structure class of C++. Characteristics of the object is called the object's properties. Each property of the object typically has a value. For example, the property "color" may have the value "red".

Figure 1 shows an example of the object 100, is described in the section "Background of the invention". The object 100 may contain a border 102 and the text 104. The object 100 can have six properties characterizing the boundary 102 and the text 104. Border 102 can have properties "border style" and "border size". Text 104 can have the property "font", "size of characters of text", "alignment" and "text style". The default value for the border 102 and text 104 may indicate that the "border style" = "solid", "border size" = 4 points, "text" = Times New Roman "size of text" = 20 points, "text alignment = "left-aligned" and "style" text = "not italic.

As CCO 300 uses a standard format, it can be used for internal storage of the object properties. For example, CCO 300 may include element 302 "ID" object properties (opyid), element 304 "type" object properties and object 306 "value object properties". Element 302 opyid can contain numeric is identificator, associated with a specific property. The system can support the display of all properties in the relevant opyid, and this mapping can be changed from SSS to SSS. In other words, each CCO may ask, what are the Express property values opyid, and other MDA can use the same values opyid for different properties. Element 304 type "object properties" represents the type of data, for example, a short integer (2 bytes), long integer (4 byte), string, Unicode, etc. Element 306 "property value of the object is consistent with the corresponding element 304 type "object properties". For example, according to figure 3, opyid "1" indicates an element 304 type "object properties" - short integer (2 bytes), which is known to the system, corresponds to the "color", and the element 306 "value"object properties equal 000FF0000 that the system GLC (red, green, blue) encodes "red". When referring to a specific property is used opyid. For example, if the CCO 300 need a border property, it is referred to by opyid "2". CCO may also contain other CCO as a property that allows you to create more complex data structures.

In a traditional 16-bit MDA element 302 opyid usually takes eleven bits. In this configuration, the CCO 300 is limited to 2048 data elements (objects), because it is limited to eleven digits. In order the th system the number of objects and properties may significantly exceed 2048 data elements. Document publishing system can have many pages, each of which can have many objects. Each object can be associated with many properties. Accordingly, in some cases it is desirable to maximize the capacity of the CCO. For this purpose, the present invention provides an improved type CCO, array CCO"with virtually unlimited capacity. Arrays CCO can store large amounts of data, for example, all objects in the document. For storing smaller quantities of properties can still use the SSO.

The data structure 400 that meets illustrative variant implementation of the present invention described with reference to figure 4. Data structure 400 may include a root CCO 402. Root CCO 402 may include property a "maximum"property 402b "invariant" property s array CCO". While it is not necessary that the property a "maximum" may indicate the size of the property s array CCO" and may provide a better selection of good memory when reading the data structure 400. Property 402b "invariant" can specify a feature, where the index of the array for data items in the property s array CCO" remain constant. In other words, the array index for the data item in the property s array CCO will not change throughout the life-time pre the meta. Accordingly, new data items can only be added to the index, which is currently not used, and deleting data element clears the index of the cell.

Property s array CCO" can refer to the array 404 of the SSO. Array CCO can be stored in the property s array CCO or separately. Array 404 CCO may contain properties, other CCO or other arrays CCO. According to figure 4, the array 404 CCO may include a list of properties subobject (subopl) 404a-404e, each subopl 404a-404e may be a property, CCO or another array CCO. Each subopl 404a-404e can reference element array 406. Each element of the array 406 can represent any property, CCO or another array CCO. In this example, the elements 406 of the array represent the SSS, which contain an ID and a variable-length string.

Although figure 4 shows only one array 404 CCO related elements 406 array CCO, the present invention is not limited to such a structure. For example, data structure 400 may include a combination of MDA-like array 404 CCO, each of which has elements 406 array CCO. In this case, the index s can reference each array 404 CCO.

Each subopl a-e refers to property, object, or other CCO by analogy with opyid 302 (figure 3) traditional SSO. But when ructure data 400 data elements in the array 404 of the SSS are not given specific opyid. Instead opyid for each subopl 404a-404e in the array 404 CCO can be set to "-1". Then the position of each subopl 404a-404e in the array 404 of the SSS can be used as opyid. The position of each subopl 404a-404e figure 4 presents the corresponding pointers 405a-405e index position. For example, if you need specific subopl, for example, with the position 2 in the array 404 CCO provides subopl 404c corresponding to the item data pointer is index position. Subopl 404c is located at index position 2 in the array 404 of the SSO. Accordingly, the data structure 400 refers to a specific CCO based on their corresponding index position in the array 404 of the SSO. The index position of a particular subopl is opyid. The data structure 400 eliminates the need for conservation of specific opyid for each element, thereby overcoming the shortcomings of traditional SSO. In normal 32-bit system, the data structure 400 can store more than four billion items (instances) of the data because the number of these data elements are no longer limited by the range opyid. (Pointers 405A-e positions shown for illustrative purposes and is not generally provided in the array 404 MTR.)

Figure 4 also shows how you can save a blank cell in the array 404 of Le for future reference. For empty cells 404b in index position 405b property-placeholder "oplempty" ("the stable CCO") may specify, that the corresponding data item at index position 405b empty. Oplempty may indicate that one element of the array is empty and should be skipped. For multiple adjacent empty elements of the array you can use a property placeholder "oplskip=n". Oplskip=n can specify that the following (n) cells are empty. For example, according to figure 4 the subject 404d, the corresponding index position 405d, i.e. the index positions 3-5 in the array 404 MDA-filled property-placeholder "oplskip=3"indicating that the following 3 data element in the array 404 CCO empty and must be ignored.

The data file can be characterized as a set of objects. Each object can be set by the SSO. Every soo can be associated descriptor object (RO). PA may be an index to (a pointer to) the SSO object. Accordingly O.O can identify the object and does not change throughout the life of the object. (See field 402b "invariant" figure 4.) To bypass the file structure is sufficient to refer to CV for each object without having to use the information specific to each object. OO can remain unchanged (invariant) with respect to the savegame file that makes OO useful when referring to objects in memory and/or file.

Usually the PA must be assigned to a single entity and do not reuse if you save the file over the latest version of the application program. For example, a modern version of the application program may contain a table tracking to track all of the objects created by the program. If a previous version loads the file and remove one of the objects of the current version, the table is tracking the current version should be updated to reflect changes. Additionally, if the PA for a remote object is reused for another object that you created in the previous version, the table is tracking the current version will interpret reusable OO as another object. By definition, you saved the file later, the present invention allows to avoid repeated use of the PA before because of this, problems arise. Then when the file is loaded later she can see all the objects that have been deleted. This allows you to properly modify a table tracking. The present invention also enables the reuse of PA, if you saved the file the highest (oldest) version of those that used the file (defined watermarked version of the file). The present invention allows for the highest version of the determined available PA and made them available for reuse by removing all old references to objects that were deleted a previous version of the I.

To save memory structures in the SSO or array CCO, you can enter "dictionary CCO", which lists the default values and types for each property. The number of dictionaries can be minimized, since unused property does not take place. Accordingly, one illustrative variant implementation of the present invention involves the use of a single dictionary. In this embodiment, all shared objects can have the same opyid or index position of the array for each identical data item. Another illustrative variant implementation includes the following dictionaries: (1) the dictionary file structure, which may include all properties related to the structure of the file (i.e. the root of the tree MDA); (2) the object dictionary pages, which may include properties of all objects on the page of the document publishing system; and (3) other dictionaries structures, which may include the dictionary to describe objects that contain text, together with the related text or dictionary describe color to describe the colors used in the publication, etc. When the property is set in the dictionary any object can refer to them. Accordingly, the common properties shared by the objects that are the same because they come from the same dictionary.

CCO (and MASSY is s CCO) can provide benefit security or "turnover" (send-receive) unknown properties or information from future versions. Specific version can download the source CCO from disk into memory. All properties CCO known specific version may be overwritten. Other properties (i.e. properties that are unknown to a specific version), created a future version and can remain in the file untouched. Thus, the unknown properties can be transferred back to the saved file for use later. Unknown properties can be ignored when loading and easy to keep when saving.

Using CCO or array CCO as memory structures allows to separate "Palatino" structure (the structure in memory) from the file format. Accordingly, future versions of the application program may include numerous new features without creating problems with different file formats. For example, the structure can be moved in memory to make them more effective for a specific processor type, without causing changes to file formats. With each memory structure stored in the file, you can associate a CCO to save this structure. Display the SSO in the structure not required to be mutually unique. Logical objects on disk can become a separate memory structures for performance reasons. For example, the properties of the hyperlink object can be stored in the table obratno the search and used to determine what other objects are bound to any given object. Alternative multiple objects on disk may be combined into a single structure in memory.

Below are described with reference to figure 5 and 6 the method according to the present invention for compatibility between the current version, the previous version and a later version of the application program. The current (active) version of the application program is an application program currently running in the computer system 200 (figure 2). The previous version of the application program is any version of the application program that was created before the current version. A later version of the application program is any version of the application program, created after the current (active) version. Usually the version of the application program identified by a number. For example, the first version of the application program may be referred to as version 1.0. Later versions of the application program may be marked with large rooms. For example, the second version may be referred to as version 2.0. Version 1.0 is the previous version compared to version 2.0. Version 2.0 is a later version compared to version 1.0.

The present invention provides for the use of the above arrays CCO and traditional CCO as the structure of the data file. However, specialists in the Noi area clear that the present invention is not limited to these structures file.

According to the illustrative variant implementation of the present invention in the original data file of the application program can include watermarks version of a file that specifies various properties of the original data file. Watermark version of the file can be provided in the header file, which provides information about the file. The watermark high (older) version, you can provide to indicate the highest (oldest) version of the application program used to save the file. Watermark latest version can be provided for specifying the latest version of the application program used to save the file. Watermark low (younger) version, you can ensure to specify the lowest (lowest) version of the application program used to save the file. Watermark version of creation can provide to specify the version of the application program, which first created the file. Object watermark version, you can ensure as properties on each object to indicate the highest version of the application program, which can be used to record a specific object. Each watermark version of the file can specify, modify, add or remove generated file. P and downloading the file the present invention allows to define any data structure, and properties added or changed after you save the file version specified low watermark version. Added or modified data elements can then be adjusted to ensure their compatibility with any version.

During the watermark high version in the file data can be compared with the current version of the application program. Through this comparison it is possible to determine whether the original data file of the current version, the previous version or a later version of the application program. Because the application program can save the whole file objects in the file include the characteristics of the file created by the version identified by the watermark high (older) version. Then the application program can determine how to load and/or save the original data file on the basis of whether it meets the current version, the previous version or a later version. The original data file can contain a list of properties of the object, the array object properties or other file structure.

For example, version 2.0 (the later version) of the application program can determine whether or not to convert the information on the basis of how version 2.0 processes information differently than version 1.0 (the previous version). For example, if version 1.0 had a table for tracking hyperlinks, and the version all data hyperlinks in the objects themselves, the version 2.0 may determine that it must convert this information when the file is loaded, the recorded version 1.0. If version 2.0 is the oldest version that wrote the file, the version 2.0 may determine that such conversion is not necessary.

Watermarks low (low) and high (older) version (and object watermarks) can be updated if they surpass the previous mark. The latest version to save the file can be updated after you save. Watermark version can be provided upon initial creation of the file and is usually not updated.

Below are described with reference to figure 5, the method 500 download a data file that meets the illustrative variant implementation of the present invention. Figure 5 shows a block diagram of the algorithm representing a method 500 load source data file in the application program, and the source data file must be compatible with the current version, the previous version and later. The method 500 may include stage 510 software watermark high version watermark low version, watermark latest version, watermark version of creation and/or object watermark version in the source data file. At step 520 determines the watermark high version in the source data file. The method also envisage matrial definition watermark low version watermark latest version, watermark version of creation and/or object watermark version of objects in the source data file, as shown in step 530. At step 540 the watermark high version compared to the current (active) version of the application program to determine whether the high version newer than the current version. On the basis of this comparison method specifies how to load the source data file.

If the comparison at step 540 indicates that the watermark high version represents the version of the application program that is not newer than the current version, then the original data file corresponds to the same version or a previous version of the application program with respect to the current version. In this case, the method provides for a transition to step 560, where the original data file can be loaded into the application program without changes. Since the watermark high version is the same version or a previous version of the application program, the current version can read and understand all the information contained in the original data file.

If the comparison at step 540 indicates that the watermark high version represents the version of the application program, which is newer than the current version, then the original data file corresponds later applied the programme in relation to the current version. In this case, the method provides for a transition to step 550 to load the source data file. Since the watermark high version is a later version of the application program, the current version may not be able to read and understand all the information contained in the original data file. Accordingly, the source data file is loaded into the application program at step 550 by loading all known information and pass all unknown information. When using SSO or array CCO as the structure of the file is unknown properties CCO associated with the object, may be supported by downloading any unknown properties and store them in memory until you save the file. Alternative program can track the location of the source of the SSS associated with the object on disk and can read unknown properties CCO back into memory that you want before overwriting the file.

After step 550 or 560, the method proceeds to step 570, which determines whether the watermark is the latest version in the original computer file version of the application program, which is older than the current version. In case of negative result of the determination at step 570, the method ends. In the case of a positive determination at step 570, the method comprises the power is to step 580, the original data file can be converted by updating the new or changed information on the basis of old information in the source data file. Old information can also be left unchanged.

At steps 570 and 580 converts the source data file on the basis of the watermark latest version. Watermark latest version can specify additional information from the watermark high version to determine the necessary changes in the source data file. For example, suppose that in the original data file recorded version 2 computer application program (watermark high version). Version 2 may include new or modified property in relation to version 1. However, if version 1 of the application program is the latest version to write the file (watermark latest version), it can be modified some of the data corresponding to the new or altered properties version 2. Accordingly, if the version 2 or later (current version) reads the source data file, then this version may need to convert the data in the data file since the last version for file writing is version 1 (data recorded version 1, may need to be updated to match version 2 or later).

Water the major characters of the file version can be provided for each object and/or on the entire file. Therefore, the method 500 (and discussed below, the method 600 can be applied to the object in the source data file. Software watermark version of file for individual objects allows you to optimize methods to load and save by determining which objects in the file you want to convert, and which to ignore. Additionally watermarks version of the file can be provided for each property and/or on the file or on the object. Therefore, the method 500 (and discussed below, the method 600 can be applied to the property in the source data file. Software watermark version of file for individual properties allows you to optimize methods to load and save by determining which properties in the file you want to convert or be ignored.

In addition, in the current (active) version of the application program with each object may be associated with the watermark of the current version, which may represent the version of the application programs that are audited, changed or deleted object. According to method 500 (and discussed below, the method 600) object watermark version for a specific object can be compared with the current version and the current version presents watermarked version for this object in the current version. Accordingly, the present invention allows to optimize the allocation of necessary update the object in the source data file, because the object needs to be updated only if the watermark current version is newer than the object watermark version. For example, the object watermark version for a specific object in the source data file indicates that the version 1.0 is the latest version to save a particular object. If the current version 2.0 downloads the file, it will update the information in the current version, which is based on a specific object, because the newer version 2.0 version 1.0. If for a specific object in the current version provided with the watermark to the current version, and the watermark of the current version indicates that a particular object has not changed compared to version 1.0, the current version will not update a particular object, because it has not been changed in version 2.0. Thus, the method of loading can be optimized by eliminating unnecessary conversion steps.

With reference to Fig.6 described illustrative variant of the method 600 save the data file that meets the present invention. Method 600 allows you to save the modified file data so that it was compatible with the current version, the previous version and later. After the source data file was changed to the current (active) version of the application program, the modified source data file mo is et to be saved in the format compatible with the current version, previous versions and later versions. Figure 6 shows the block diagram of the sequence of operations of the method 600. The method 600 may include the step 605 ensure the watermark high (older) version, a watermark low (younger) version, a watermark latest version, watermark version of creation and/or object watermark version in the source data file. At step 610 determines the watermark high version in the source data file. The method also includes determining a watermark low version, watermark latest version, watermark version of creation and/or object watermark version of objects in the source data file, as shown in step 615. At step 620 the watermark high version compare with the current version of the application program. On the basis of this comparison method specifies how to save the modified source data file.

If the comparison at step 620 indicates that the watermark high version represents the version of the application program, which is older than the current version, then the original data file corresponds to a previous version of the application program with respect to the current version. In this case, the method provides for a transition to step 625 save the modified source data file in the format of the current ve is these application programs. Since the watermark high version is a previous version of the application program, the current version of the application program can also save the modified source data file in a format compatible with all previous versions. Accordingly, the method proceeds to step 630, where the data elements in the modified source file data is converted into the format of the previous one(s) version(s) and stored. Thus, the modified source data file is saved in the format of the current version and the previous one(s) version(s). Old information from the previous version can be reconstructed at step 630 that allows you to use the file in the previous, current and future versions of the application program. If the reconstruction of the old information becomes too laborious task, future files can be truncated by inserting in the file command, which instructs that to read the file is only a certain version or future versions. At step 635 the watermark high version of the original data file is updated to match the current version of the application program. Then the method proceeds to step 655, where the latest version to save the file is also updated for future use.

If the comparison at step 620 indicates that the watermark high version represents the version of CIDP is adney program, which is newer than the current version, then the original data file corresponds to a later version of the application program with respect to the current version. In this case, the method provides for a transition to step 640, which receive the source data file. Then at step 645 over the original file data record modified source data file. Since the watermark high version is a later version of the application program, the modified source data file may contain information or data that is unknown to the current version. (See, for example, step 580 figure 5.) Accordingly, at step 645, the only known data source file data is overwritten with the data of the modified source data file. Unknown data properties do not change. Owing to this method, the unknown data is still available in later versions of the application program that can read the data. Unknown data can be supported by an application program, according to the above with reference to figure 5. Then there is a transition to step 630 in which the data elements in the modified source file data is converted into the format of the previous one(s) version(s) and stored. Thus, the modified source data file is saved in the formats of the current (active) version and the previous(their) version of(the).

Then the method involves determining whether the update watermark low (younger) version. At step 650 the current version of the application program compared to the low watermark (younger) version of the original data file. If at step 650 it is determined that the current version is older than the version of the application program, presents low watermark version, the method provides a transition to step 655, where the watermark is low (younger) version is updated to match the current (active) version. Then the method proceeds to step 665, where the latest version to save the file is also updated for future use. If at step 650 it is determined that the current version is the same or newer version of the application program, presents low watermark version, then the method can go directly to step 665, where the watermark is last version updated to match the current version.

If the comparison at step 620 indicates that the watermark high version represents the version of the application program which is the same as the current version, then the original data file corresponds to the current version of the application program. In this case, the method provides for a transition to step 660, where the modified source data file sohranjaetsja write over the original file data. Then the method proceeds to step 630, where the data elements in the modified source file data is converted into the format of the previous one(s) version(s) and stored. Thus, the modified source data file is saved in the format of the current version and the previous one(s) version(s). Then the method proceeds to step 655, where the latest version to save the file is also updated for future use.

Note that step 630 may be performed regardless of the transition, carried out at the step 620. Accordingly, the properties corresponding to the previous versions, you can always write to the file, which provides compatibility file with previous versions.

In some cases, the methods 500 and 600 may include an additional step (not shown) tracking the location of the array elements of the CCO to save the file after changing it. For example, the version of the data file may contain a table of four elements. However, a modified version of the data file can have only three elements. When an application program tries to overwrite the original file data disk version contains four of the original item, and memory version contains only three elements. In the absence of phase tracking application program may not know what the item was deleted. Phase tracking software application organization which supports the original index of all tables. When reading the table from disk into the table, adding an additional data element that indicates the position of each element in the table. In other words, the application program notes which item was the first, second, etc. Accordingly, the program determines which item was deleted because it does not exist, and can save properties for future versions that may exist in the array elements.

According to the methods 500 and 600, the current version of the application program can use any of the watermark, to determine what action to take when loading the source data file. Using the watermark high (older) version was discussed above. Watermark low (younger) version can give a hint to the application program and limits the type of transformation needed for the source data file. According to the previous example, if it is known that in version 1.0 table of hyperlinks does not exist, because the watermark low version indicates that the file was never recorded this version, the conversion process can safely skip all actions associated with the table of hyperlinks. Watermark latest version can specify the data known last version to file records, and data, which are not known, but are in the file.

The object of Wodan the first sign version can provide specific information for a specific object, thanks to a specific object, you can download, save or convert on the basis of this information. Object watermark version can provide information for a specific object, and can provide the highest (oldest) version of the file for any property contained in a particular object. For example, in version 2.0 to the object X was added property of a hyperlink in version 3.0 to the object X does not have added any new properties. If the object X contains a hyperlink, recorded in version 2.0 or later, its watermark version will be installed on version 2.0. If the object X does not contain a hyperlink (and because no property of the hyperlink is not recorded or was recorded version 1.0, watermark version will be installed on version 1.0. This information can be used to further streamline operations load and save in respect of each individual object and the highest (oldest) version, knowing all the properties in this object. For example, an object X, which was recorded version 3.0 and did not contain a hyperlink (which has a watermark object indicating the version 1.0), can be written and read by version 1.0, regardless of the existing properties future version, even if the watermark high version of the file reflects the version 3.0.

In General, the most modern version of the butt of the Oh program to save file best suited to determine how to handle any information from this version or previous versions. The latest version can read and understand in the file all. The most current version of the application program determines what information to leave, to convert or to discard. Accordingly, the highest (highest) version of the file entry defines discarded or converted information. All lower (younger) version can simply distribute any unknown information.

Finally, in order that the invention worked, does not require all the steps of methods 500 and 600, shown in figure 5 and 6. In addition, some steps can be performed in a different order than shown.

With reference to Fig.7-9 described specific illustrative embodiments of the methods 500 and 600, which meets the present invention. Each of Fig.7-9 corresponds to the case when according to the method 500 or 600 it is determined that the watermark latest version is less than the current version of the application program (i.e. that the latest version of the application program to preserve the original data file corresponds to a previous version of the application program with respect to the current version) (see step 595 figure 5). In addition, embodiments of described below with reference to Fig.7-9, also correspond to the case when according to the method 500 or 600 it is determined that the water W is AK high version is less than the current application version.

7 shows a block diagram of the sequence of operations of the method 700 download and save the original data file according to the present invention taking into account the fact that the current version has the following additional property of the object that are not included in the previous version. At step 710 of the method 700, the default value for the new property specified in the SSO for the current (active) version of the application program. The process continues to step 725, where the source data file is loaded without modification. After changes to the source data file is stored at step 730. Accordingly, a new property is stored for use by current and future versions of the application program. Previous versions will simply ignore the new property. At step 740 the watermark high version is updated to the current version.

On Fig shows a block diagram of a method 800 download and save the original data file according to the present invention taking into account the fact that the current version has deleted the object property that was used in the previous version. At step 820, the remote property is ignored when loading the source data file in the current version. When saving a modified version of the original data file at step 830, the remote property of the saved file is still available for older versions. Although the current version does not use the remote property, remote property is returned to the saved file to use previous versions. Remote property can be returned to the saved file, leaving remote property in the source data file, i.e. the "not writing" remote property from a file. Alternative remote property can be returned to the saved file, transferring remote property (from the source data file) back to the saved file. Because the remote property is known of the current version, the value of the remote property may receive (received) from the values of other properties, or you can generate the default value that represents the remote property that allows you to return a remote property in the file. At step 840 the watermark high version can be upgraded to the current version.

For example, the previous version included the property drop shadow on the object. The current version may not support this property, i.e. the property drop shadow has been removed from the current (active) version. A newer version of the application program detects that the property drop shadow removed. However, the current version can still write to the file property of the drop shadow. At step 820, the original data file can be downloaded and remote property drop shadow can be ignored. When with the wounding of a modified version of the original file data at step 830 the file again can be saved to a remote property drop shadow, available for older versions. Although the current version does not use the remote property drop shadow, remote property drop shadow can be returned to the saved file to use previous versions. The property value drop shadow can be determined from the values of other properties, or you can use the default value. At step 840 the watermark high version can be upgraded to the current version.

Figure 9 shows the block diagram of the algorithm of the method 800 download and save the original data file according to the present invention taking into account the fact that the current version has changed the old property of the object to the previous version. Instead of replacing the old property changed property in the current version provided a new property representing the property that changed. At step 910 of method 900 sets the default value for the new property in the SSO of the current version of the application program. The old property remains intact. Then at step 920 the source data file is loaded in the current version, and the old property will be transformed into a new (revised) property. After changes to the source data file is stored at step 930. At step 930, a new property is preserved regardless of the old property. In addition, at step 930, a new property is converted to the old property and is protected to use the previous version. At step 940 the watermark high version is updated to the current version.

For example, the previous version of the application program used color model GLC RGB (red, green, blue) to the color of the objects. The current version of the application program may include a new property that allows you to specify the color of objects in the color model GSEC CMYK (cyan, Magenta, yellow, black), used by professional publishers. New property color GSEC can be based on the old color property of the CPS, and for each value of the GLC, you can determine the equivalent value GSIC. New opyid you can add in the appropriate dictionary CCO. For example, the corresponding dictionary can be a dictionary object page for a page object, another existing dictionary or a new dictionary. At step 910 in the dictionary CCO can be set to the default value for the new color properties GSIC. The old property GLC remains unchanged. At step 920, the original data file can be loaded into the current version, and a new color property GSEC can be updated on the basis of the old GLC properties of the object. After changes to the source data file, it may be saved in step 930. At step 930, a new color property GSEC can be saved independently from the old GLC properties from the original file data is H. New property GSEC can be converted into the corresponding old property GLC and saved in the file. Accordingly, a new color property GSEC can be saved for use by current and future versions of the application program. Previous versions will simply ignore the new color property GSIC. At step 940 the watermark high version can be upgraded to the current version.

The way the present invention may also resolve inconsistencies between the two versions of application programs that are stored in the data file. In the above example GSIC-GLC previous versions can read the file, because a later version will convert a new color property GSGC in the corresponding property of the CPS. However, if the latest version for file entries older than the current version and the high version to write the file, there may be discrepancies. The current version can represent the same version or a later version than the highest version for recording files. If the high version, which is not the latest version to write the file, recognizes the new color property GSEC, then it will record in the data file value of the new color properties GSIC, and the corresponding value of the color property of the CPS. In addition, if the latest version to write the file RA who knows only the color property of the CPS, it will write the file data property color GLC. When the data file is loaded in the current version, which supports a new property color GCGC, the color property GSGC in the data file corresponds to the old information. In the data file there are two versions of the information of the color properties as high version recorded in the data file value of the color property GSIC, and the latest version recorded in the data file value of the color property of the CPS. Values GLC and GSIC not the same as the last version for the file record has updated the value of the GLC, but left the value of the unknown properties GSIC. When the file is loaded in the current version you can determine the latest version to write the file (see step 570 figure 5). Based on this information, we can determine that the value of the color property GSIC outdated and that the value of the color property of the CPS must be loaded and converted to the updated value of the color property GSIC.

The object is a set of properties. Accordingly, the object changes in different versions of the application program can be reflected by changes in the properties that correspond to the object. When loading or saving a data file containing the object, the steps of the methods 700, 800 and 900 can be rerun for individual properties of the object.

Variant implementation of the present invention can IP alsowhat as part of the publishing system, known as Microsoft® Publisher, available from Microsoft Corporation®, Redmond, Washington. This publishing system allows the user to edit the document and insert various objects containing image data, text data, spreadsheet data, or other kind of data. In addition, this system allows the user to change properties of objects. The system may have a number of predefined object types that have predefined properties that have default values (default values). Each object type may have a different set of properties and/or property values. Each object can be an example of its type object. If this configuration object in its original form can be easily accessed. Although an implementation option described in relation to the publishing system, the person skilled in the art it is obvious that the described techniques can be applied to virtually an unlimited number of other types of systems.

The present invention can be used in conjunction with hardware and software that performs the above processing functions. Specialists in this field it is evident that the system described here, the methods and procedures can be implemented in a programmable computer, the software running on whom is utere or digital circuits. The software may be stored on computer-readable media. Examples of computer-readable media can serve as a floppy disk, RAM, ROM, hard disk, removable media, flash memory, memory card, optical media, magneto-optical media, CD-ROM, etc. Digital circuit may include an integrated circuit, a matrix of logic elements, prefabricated logic, programmable logic array (FPGA), etc.

Although the above was described in detail specific embodiments of the present invention, the description is for illustrative purpose only. Specialists in this field can offer various modifications and corresponding equivalent stages of the disclosed aspects of the illustrative embodiments, in addition to the above, without going beyond the nature and scope of the present invention defined in the following claims, the scope of which should be considered as the broadest interpretation, aimed to cover all such modifications and equivalent structures.

1. The method of loading the source data file, which must be compatible with the current version and a later version of the application program containing phases in which

provide the watermark high version in the source data file, moreover, the watermark high version specifies the highest version of the application program, used to save the file,

compare the watermark high version with the current version of the application program to determine whether the source data file to a later version of the application program, and

download the source data file into the current version, and if at the stage of comparison is determined that the original data file corresponds to a later version, then the loading phase includes the steps where

ignore unknown information in the original data file and

load known data from the original data file into the current version.

2. The method according to claim 1, characterized in that the source data file contains a list of object properties.

3. The method according to claim 2, characterized in that the property list object contains an array list of object properties.

4. The method according to claim 3, characterized in that it further comprises steps, in which

track the position of objects in the array list object properties and

update the array lists the properties of the object based on the position of objects tracked in the tracing stage.

5. The method according to claim 1, characterized in that each of the unknown and known information contains a property list object properties.

6. The method according to claim 1, characterized in that it further comprises a stage on which retain the amended version of the original data file, moreover, the step of saving includes the steps where

overwrite known information from the source data file information from the modified version, and

leave the unknown information from the source data file to unknown information remained available later.

7. The method according to claim 1, characterized in that it further comprises steps, in which

provide watermark latest version in the source data file, and watermark the latest version specifies the latest version of the application program used to save the file, and

define the characteristics of the source data file, comparing the watermark latest version with the current version of the application program.

8. The method according to claim 7, wherein if the detection phase is determined that the watermark latest version corresponds to the version of the application program, which is previous in relation to the current version, the method further comprises the step of converting the information in the current version of the application program based on the information in the original data file.

9. The method according to claim 1, characterized in that it further comprises steps, in which

provide low watermark version in the source data file, and watermark ve low the var indicates the earliest version of the application program, used to save the file,

define the characteristics of the source data file, comparing the watermark low version with the current version of the application program.

10. The method according to claim 1, characterized in that it further comprises steps, in which

provide object watermark version of the object in the source data file, and object watermark version specifies the lowest version of the application program that can interpret all of the properties in the object, and

define the characteristics of the source data file, comparing object watermark version with the version of the object in the current version of the application program.

11. Machine-readable media having executable computer commands for implementing the method according to claim 1.

12. The method of loading the source data file, which must be compatible with the current version and the previous version of the application program, the method contains the steps that

provide the watermark high version in the source data file, and watermark high version specifies the highest version of the application program used to save the file,

compare the watermark high version with the current version of the application program to determine whether the source file is data of the previous version of the application program, and

download the source data file is unchanged in the current version, if the phase comparison is determined that the original data file corresponds to a previous version.

13. The method according to item 12, characterized in that it further comprises steps, in which

provide watermark latest version in the source data file, and watermark the latest version specifies the latest version of the application program used to save the file, and

define the characteristics of the source data file, comparing the watermark latest version with the current version of the application program.

14. The method according to item 13, wherein if the detection phase is determined that the watermark latest version corresponds to the version of the application program, which is previous in relation to the current version, the method further comprises a step, which converts the information in the current version of the application program based on the information in the original data file.

15. The method according to item 12, wherein the source data file contains a list of object properties.

16. The method according to item 13, wherein the property list object contains an array list of object properties.

17. The method according to item 16, characterized in that it further comprises steps, in which

track the position of objects in the array list object properties and

update the array lists the properties of the object based on the position of objects tracked in the tracing stage.

18. The method according to 14, characterized in that it further comprises steps, in which

retain the information converted in the conversion step, and

keep untransformed old data from the original data file.

19. The method according to 14, characterized in that it further comprises steps, in which

retain the information converted in the conversion step,

generate information that corresponds to the old information from the source data file, and

store information generated by said generation step.

20. Machine-readable media having executable computer commands for implementing the method according to item 12.

21. The method of loading the source data file, which must be compatible with the current version and the previous version of the application program, the method contains the steps that

provide watermark latest version in the source data file, and watermark the latest version specifies the latest version of the application program used to save the file,

compare watermark latest version with the current version of the application program to determine the pouring, whether the original data file of the previous version of the application program, and

download the source data file into the current version,

moreover, if the phase comparison is determined that the original data file corresponds to the previous version, the loading phase includes the steps where

determine whether a previous version of the deleted data item that was deleted from the current version,

ignore the old information in the original data file corresponding to a remote data item, if the identify phase is determined that the previous version contains the deleted data item, and

download information from the source data file that corresponds to the data element that is different from the remote data element.

22. The method according to item 21, wherein the remote data element contains an object property.

23. The method according to item 21, wherein the remote data element contains the object.

24. The method according to item 21, characterized in that it further comprises steps, in which

save the modified version of the original data file and

store information corresponding to the remote data element of the source data file.

25. The method according to item 21, characterized in that it further comprises steps, in which

keep izmenenno the version of the source data file, generate information that corresponds to a remote data item from the source data file, and

retain the information generated in the generation step.

26. Machine-readable media having executable computer commands for implementing the method according to item 21.

27. The method of loading the source data file, which must be compatible with the current version and the previous version of the application program, the method contains the steps that

provide watermark latest version in the source data file, and watermark the latest version specifies the latest version of the application program used to save the file,

compare watermark latest version with the current version of the application program to determine whether the original data file of the previous version of the application program, and

download the source data file into the current version,

moreover, if the phase comparison is determined that the original data file corresponds to the previous version, the loading phase includes the steps where

determine whether the current version of the modified data item related to old information in the source data file,

convert old data from the original data file in the information appropriate to atstumu modified data item, if the identify phase is determined that the current version contains the modified data item related to old information in the source data file, and

download information converted in the conversion step, in the current version.

28. The method according to item 27, wherein the modified data item contains an object property.

29. The method according to item 27, wherein the modified data item contains the object.

30. The method according to item 27, characterized in that it further comprises a stage on which retain a modified version of the original data file, and the step of saving includes the steps where

store information corresponding to the changed data item

transform on the phase of the second conversion information corresponding to the changed data item in the appropriate information old information and read the previous version, and

save the converted information obtained at the second stage of the conversion.

31. Machine-readable media having executable computer commands for implementing the method according to item 27.

32. The method of loading the source data file, which must be compatible with the current version, the previous version and a later version of the application program, the method contains the steps that

provide the watermark high version in the source data file, and watermark high version specifies the highest version of the application program used to save the file,

provide watermark latest version in the source data file, and watermark the latest version specifies the latest version of the application program used to save the file,

compare the watermark high version with the current version of the application program to determine whether the source data file properties corresponding to one of: a previous version, the current version or a later version of the application program,

compare watermark latest version with the current version of the application program to determine whether the source data file additional properties that correspond to one of: a previous version, the current version or a later version of the application program, and

download the source data file into the current version,

moreover, if the above-mentioned stages of the comparison it is determined that the source data file contains properties that correspond to different versions of the application program, then the loading phase includes the steps where

determine what properties of the original data file are current, Akaki properties of the original data file are outdated,

download the source data file into the current version based on the current properties defined in the identify phase, and

ignore outdated properties defined at the stage of determination.

33. The method of loading the source data file, which must be compatible with the current version, the previous version and a later version of the application program, the method contains the steps that

provide watermark latest version in the source data file, and watermark the latest version specifies the latest version of the application program used to save the file,

compare watermark latest version with the current version of the application program to determine whether the latest version that is used to store the source data file, the previous version of the application program,

convert the information in the current version of the application program based on the information in the original data file, if the phase comparison determined that the latest version that is used to store the original data file corresponds to the previous version, and

download information converted in the conversion step.

34. The method of loading the source data file, which must be compatible with the current version is the second or a later version of the application program, moreover, the source data file contains a list of object properties displayed by an application program or part of the application program, the method contains the steps that

provide object watermark version of the object displayed by an application program or part of an application program, referred to in the list the object properties of the original data file, and object watermark version indicates the earliest version of the application program that can interpret all of the properties contained in the above-mentioned object,

compare object watermark version of the above-mentioned object version of the object in the current version of the application program to determine whether the object is a later version of the application program, and

download the source data file into the current version,

moreover, if the phase comparison is determined that the object corresponds to a later version, then the loading phase includes the steps where

ignore unknown information corresponding to the object in the source data file, and

load information corresponding to the object in the source data file into the current version.

35. The method according to clause 34, characterized in that it further comprises steps, in which

window is given in the list of object properties, including information converted in the conversion step, and

leave the old information in the property list object.

36. The method according to clause 34, wherein the property list object contains an array list of object properties.

37. The method according to p, characterized in that it further comprises steps, in which

track the position of objects in the array list object properties and

update the array lists the properties of the object based on the position of objects tracked in the tracing stage.

38. The method according to clause 34, wherein each of the unknown and known information contains a property list object properties.

39. The method according to clause 34, characterized in that it further comprises a stage on which retain a modified version of the original data file, and the step of saving includes the steps where

overwrite known information from the list the object properties of the source data file information from the modified version, and

leave unknown information from a list of object properties source file data to unknown information remained available later.

40. The method according to clause 34, characterized in that it further comprises steps, in which

provide object watermark latest version in the source data file,and object watermark latest version specifies the latest version of the application program, used to record the object, and

determine characteristics of the object in the source data file, comparing object watermark latest version with the current version of the application program.

41. The method according to p, wherein if the detection phase is determined that the object watermark latest version corresponds to the version of the application program, which is previous in relation to the current version, the method further comprises a step, which converts the information in the current version of the application program on the basis of the information of the corresponding object in the source data file.

42. Machine-readable media having executable computer commands for implementing the method according to clause 34.

43. The method of loading the source data file, which must be compatible with the current version and the previous version of the application program, and the source data file contains a list of object properties displayed by an application program or part of the application program, the method contains the steps that

provide object watermark version of the object displayed by an application program or part of an application program, referred to in the list the object properties of the original data file, and the object of the waters of the Noah character version indicates the earliest version of the application program, which can interpret all of the properties contained in the above-mentioned object,

compare object watermark version of the above-mentioned object version of the object in the current version of the application program to determine whether the object in the source data file, the previous version of the application program, and

download the source data file into the current version,

moreover, if the phase comparison is determined that the object in the original data file corresponds to the previous version, the loading phase includes the steps where

convert old information corresponding to the object in the source data file, the format of the current version and

download information converted in the conversion step, in the current version.

44. The method according to item 43, wherein the property list object contains an array list of object properties.

45. The method according to item 43, characterized in that it further comprises steps, in which

track the position of objects in the array list object properties and

update the array lists the properties of the object based on the position of objects tracked in the tracing stage.

46. The method according to item 43, characterized in that it further comprises steps, in which

retain the information converted in step converted the I, and

keep untransformed old data from the original data file.

47. The method according to item 43, characterized in that it further comprises steps, in which

retain the information converted in the conversion step,

generate information that corresponds to the old information from the source data file, and

retain the information generated in the generation step.

48. Machine-readable media having executable computer commands for implementing the method according to item 43.

49. The method of loading the source data file, which must be compatible with the current version and the previous version of the application program, and the source data file contains a list of object properties displayed by an application program or part of the application program, the method contains the steps that

provide object watermark version of the object displayed by an application program or part of an application program, referred to in the list the object properties of the original data file, and object watermark version indicates the earliest version of the application program that can interpret all of the properties contained in the above-mentioned object,

compare object watermark version with the version on which the target in the current version of the application program, to determine whether the object in the source data file, the previous version of the application program, and

download the source data file into the current version,

moreover, if the phase comparison is determined that the object in the original data file corresponds to the previous version, the loading phase includes the steps where

determine whether a previous version of the deleted data item that was deleted from the current version,

ignore the old information in the original data file corresponding to a remote data item, if the identify phase is determined that the previous version contains the deleted data item, and

download information from the source data file that corresponds to the data element that is different from the remote data element.

50. The method according to 49, wherein the remote data element contains an object property.

51. The method according to 49, wherein the remote data element contains the object.

52. The method according to 49, characterized in that it further comprises steps, in which

save the modified version of the original data file and

store information corresponding to the remote data element of the source data file.

53. The method of paragraph 52, wherein the information corresponding to-the resultant data element of the source data file, contains one of: information, derived from the default values, or information based on other properties in the current version.

54. Machine-readable media having executable computer commands for implementing the method according to 49.

55. The method of loading the source data file, which must be compatible with the current version and the previous version of the application program, and the source data file contains a list of object properties displayed by an application program or part of the application program, the method contains the steps that

provide object watermark version of the object displayed by an application program or part of an application program, referred to in the list the object properties of the original data file, and object watermark version indicates the earliest version of the application program that can interpret all of the properties contained in the above-mentioned object,

compare object watermark version with the version of the object in the current version of the application program to determine whether the above-mentioned object in the source data file, the previous version of the application program, and

download the source data file into the current version,

moreover, if the phase comparison ODA is divided, the object in the original data file corresponds to the previous version, the loading phase includes the steps where

determine whether the current version of the modified data item related to old information in the source data file,

convert old data from the original data file in the appropriate information for the changed data item, if the identify phase is determined that the current version contains the modified data item related to old information in the source data file, and

download information converted in the conversion step, in the current version.

56. The method according to 55, wherein the modified data item contains an object property.

57. The method according to 55, wherein the modified data item contains the object.

58. The method according to 55, characterized in that it further comprises a stage on which retain a modified version of the original data file, and the step of saving includes the steps where

store information corresponding to the changed data item

transform on the phase of the second conversion information corresponding to the changed data item in the appropriate information old information and read the previous version, and

save preobrazovan the th information received on the second stage of the conversion.

59. Machine-readable media having executable computer commands for implementing the method according to 55.

60. The data file read by the current version of the application program and a later version of the application program containing

the object displayed by an application program or part of an application program,

array list of object properties displayed by an application program or part of an application program having at least one known property associated with the above-mentioned object, and known property known to the current version, and having at least one unknown property associated with the above-mentioned object, and the unknown property is unknown to the current version, and

object watermark version that indicates the earliest version of the application program that can interpret all of the properties contained in the object

moreover, the current version of the application program is able to compare object watermark version with the version number associated with the current version, and ignore unknown property in case of determining that the object watermark version more than the version number associated with the current version.

61. The data file, read the Amy the current version of the application program and the previous version of the application program, contains

the object displayed by an application program or part of an application program,

array list of object properties displayed by an application program or part of an application program having at least one property associated with the said object and the corresponding previous version

object watermark version that indicates the earliest version of the application program that can interpret all of the properties contained in the above-mentioned object,

moreover, the current version of the application program is able to compare object watermark version with the version number associated with the current version, and update another property associated with the above-mentioned object, and the corresponding current version, based on properties of at least one property in the data file, in case of determining that the object watermark version less than version number associated with the current version.



 

Same patents:

FIELD: credit cards.

SUBSTANCE: electronic credit card is an electronic device capable of transmission/receipt of data and/or digital information into main computer or from it through a terminal station. Terminal station includes self-service banking machines in supermarkets/trading centers, electronic banking self-service machines, electronic payment system devices and native devices of transmitter-receivers, developed with usage of creative dialogue technologies, limited for interface of personal computers, providing latest financial information, including current accounts, on their display. Small keyboards are adapted for inputting personal identification number to activate electronic credit card. Information display 2, including LCD screen or other display screens, provides visual information. Key (3) "ENTER" confirms trading operation. It is also used for activating electronic credit card, when personal identification number is inputted. Sound converter (4) is made on small keyboards (1) for confirming input. Sound converter is also used for activation of financial trading operation through a phone. Transmission/receipt of data is performed through infrared devices (5), magnetic devices (6) and radio-frequency devices (7).

EFFECT: increased safety of financial operations being performed.

2 cl, 12 dwg

FIELD: engineering of circuits made of several layers, in particular, of substrate, adhesive layer and conductive layer, possible use, mainly, in cards with external contact or without it or in electronic labels; in accordance to invention cards or electronic labels have multiple possible uses, mainly as means of identification, control or payment.

SUBSTANCE: in accordance to invention electronic circuit contains at least one electronic element, substrate, applied to which are adhesive layer and conductive layer with a set of tracks. Electronic element contains at least two connecting zones. One of these connecting zones is electrically connected to conductive layer by means of conductive link, formed by conductive segment, selected from conductive layer. Conductive segment, free of any adhesive substance, is passed through a slit in substrate and is connected to connecting zone.

EFFECT: production of cheap electronic circuit, useable for example in cards or labels, simultaneously maintaining high level of reliability.

3 cl, 12 dwg

FIELD: engineering of technical means for marking chemical substances, possible use for marking any substances.

SUBSTANCE: an admixture is introduced into substance being marked, of same chemical composition as substance, but with increased content of rare stable isotopes (carbon, oxygen, nitrogen, hydrogen) of several elements present in composition of substance being marked. Used as marking code is value of concentration of rare isotopes introduced to substance being marked.

EFFECT: creation of universal, safe to use marker, useable for reliable identification of any substances without affecting their consumer qualities.

3 cl

FIELD: engineering of non-contact or hybrid contact/non-contact cards with microchips.

SUBSTANCE: card with microchip contains antenna positioned on substrate of fibrous material like paper, two body plates of card on each side of substrate, consisting of at least one layer of plastic, having low melting temperature, and electronic module, containing microchip connected to antenna, while card is formed by substrate of antenna and two body plates, connected by lamination welding by heating under pressure, substrate of fibrous material contains at least one groove so that plastic layers of body plates of card merge during lamination, and this groove forms welding seam between body plates of card.

EFFECT: increased resistance of electronic module.

9 cl, 6 dwg

FIELD: usage of information carriers, possible use when determining access rights.

SUBSTANCE: method for identification of objects access rights and inputting ode information includes typing code on identifier by selective rotation of its elements with code marks, periodic change of code on identifier by moving code plate in opposite sides from identifier axis, around which code plates are rotated, due to additional apertures in plate, and also change of position of code marks relatively to code reading devices of control devices by turning the plate in each one of additional apertures for certain angle relatively to base of identifier.

EFFECT: increased capacity of code.

3 dwg

FIELD: information carriers, in particular, universal magnetic identification device.

SUBSTANCE: identification device contains code elements positioned on substrate with different coercive intensity. Each code element is made of magnetic-soft material, to which through non-magnetic insert connected magnetically are grouped together, having similar shape and dimensions, of same domain during magnetization in direction of axis of light magnetization, discontinuous elements, which possess greater coercive intensity than magnetic-soft material. Method for scanning device includes serial magnetization by means of external field of elements with varying coercive intensity, registration of electromagnetic impulses occurring during that and their processing, while for magnetization alternating-sign magnetic fields are used with varying speed of their change in time.

EFFECT: amplification of signal used during scanning, increased information capacity and expanded area of possible use of device for identification due to possible spatial distribution of device and means for its scanning, and also increased reliability of its activation, improved manufacturability and decreased manufacturing costs.

2 cl, 16 dwg

FIELD: printing technique.

SUBSTANCE: set and method of printing can be used for printing light-absorbing signs of protection of printed items. Set of printing ink for printing of light-absorbing signs has at least two dyes. Any dye has at least one dyeing matter, pigment of dye which absorbs visible light. Set of printing inks has first and second groups of dyes. Dyes from first group additionally have mark with preset spectral absorption characteristic, preferably with characteristic relating to absorption. Mark has absorption maximum within wavelength range of 700-900 nm, preferably, 780 nm, and the mark practically doesn't absorb light within visible spectrum of absorption. Dyes of second group has dyeing matter, dye or pigment, which absorbs light within visible light spectrum and they have the same maximum of absorption within IR-red spectrum at wavelength around 700 nm as spectral characteristic within IR-red range of mark, Method of printing signs, printed item and set of dyes, including four-color set of printing inks and IR-mark, are described.

EFFECT: reliability of identification of authenticity of item independently on color of signs.

15 cl, 5 dwg, 2 app

FIELD: labels with diffraction barcodes and reading device for information recognition on such labels.

SUBSTANCE: label contains at least one machine-readable diffraction barcode, which consists of narrow rectangular fields and intermediate surfaces covered by optically active structures. Optically active structures covered by reflecting layer are sealed in layers of laminated structure. Relief structure of fields diffracts and polarizes in defined plane the incident light and disperses the diffracted light into half-space above the diffraction relief structure. Other microscopically small optically active structures differ from the diffraction relief structure by at least polarizing capabilities. Polarized back-scattered light can be registered by one of the known standard reading devices for barcodes made by printing technique.

EFFECT: creation of inexpensive machine-readable label with diffraction barcode, which can be read by standard reading devices at a distance of several decimeters.

20 cl, 9 dwg

FIELD: contactless chip-card and method for manufacturing contactless chip-cards.

SUBSTANCE: plastic substrate, which has notches, is prepared. Antenna coil is placed on the top side of plastic substrate. Construct, which has integrated chips, is placed on the back side of plastic substrate, opposite to top side. Electrical connection is created between coil and construct. Plastic substrate is placed into press mold for die casting. Card body is produced by die casting on the back side of plastic substrate.

EFFECT: manufacturing contactless chip-card, improvement of method for manufacturing chip-card, simplicity and efficiency of method, exclusion damage to built into chip-card antenna coil.

7 cl, 2 dwg

FIELD: products marking methods using holograms.

SUBSTANCE: N superimposed three-dimensional reflection holograms are written simultaneously. Mutual incoherence of N objective beams of light is ensured, and the reference beams are formed by mirror reflection of objective beams, which passed through a layer of registering medium.

EFFECT: simplified process of creating protective holograms used for marking products and increased quality of formed marking code images.

2 cl, 2 dwg

FIELD: medical information technologies.

SUBSTANCE: in accordance to method, medical databases are created and regularly updated; informative characteristics of patients health condition are formed on basis of case histories in medical databases; on basis of detected informative coefficients, deciding rules are created, considering cause-effect connections between pieces of medical information and biological age and health condition of patients; client units of practical doctors are equipped with software means for using formed deciding rules for information support of practical doctors; data pertaining to research and patient examination are recorded in client unit; appropriate deciding rules are used in client unit to determine biological age and to evaluate health condition of patient by groups: healthy, belongs to risk group or sick; to predict, when patient is included in risk group, the course of disease or pathological process; to provide, when patient is included in "sick" group, the clinical diagnosis with consideration of nature and severity degree of changes in main life support systems, individual features of organism and constitution factor of patient.

EFFECT: increased precision of diagnostics.

1 tbl

FIELD: systems for selling goods and services to population, using network technologies.

SUBSTANCE: in accordance to invention, in unified informational consolidating center, data input/output and identification block is meant for identification of user being buyer, seller, manufacturer, activation of controlling software block, for access to blocks of unified informational consolidating center depending on its user status. If user is buyer, then block for controlling personal account of buyer is initiated, if user is seller, then sales block is initiated for charging personal account of buyer with a part of price of product, and seller terminal is meant for, during purchases, to receiver payment of part of product price from buyer, and remaining part of price is received from virtual bank block.

EFFECT: creation of new software-hardware complex for selling goods with compensation of consumer losses.

2 dwg

FIELD: metadata searching means.

SUBSTANCE: in accordance to invention, in a carrier, containing indexing metadata structure, in first variant, indexing structure includes a list of keys, consisting of predetermined metadata fields, where at least part of information about position is expressed in form of predetermined code. In second variant, indexing structure contains section of list of key indexes, section of key index, section of key sub-index. In accordance to third variant, contains a list of keys and information about position for determining keys, key values and metadata identification information.

EFFECT: decreased metadata searching time.

3 cl, 12 dwg, 6 tbl

FIELD: information technologies, possible use for optimizing storage and selection of data.

SUBSTANCE: in accordance to method, spatial data structure is formed with elements in form of original n-dimensional intervals; lens is determined, being a 2n-dimensional interval of interval request operator, representing an instruction about selection of data of required n-dimensional intervals with description of given interval and positioning conditions of required ones relatively to it, while lens is determined in accordance to rose of intervals, representing virtual two-dimensional geometric diagram of areas such as 2n-dimensional points in axes xp and yp of their space, coordinates {xp,yp} of which are appropriate coordinates of p-projections of n-dimensional intervals appropriate for these points, where p-projection of n-dimensional interval is its projection on p-axis of its space basis; built and stored on physical data carrier is interval request operator about selection from data structure of such points, which are enveloped by this lens, by means of this operator interval request to structure is performed, resulting in a set of data of 2n-dimensional points, simultaneously being the data of sought after intervals corresponding to the data.

EFFECT: possible efficient execution of any interval requests in one spatial data structure.

10 dwg, 1 tbl, 8 ex

FIELD: information extraction systems engineering.

SUBSTANCE: system contains data storage, analysis mechanism of lower level, analysis mechanisms of higher level, indexer. In accordance to method, on basis of first set of rules, appropriate for first analysis mechanism, first key is connected, which is sent output second analysis mechanism, in which second key is generated based on second set of rules, first and second keys are connected to objects and keys and key values are indexed.

EFFECT: decreased time and computing resources spent on processing of large data arrays to extract required information.

2 cl, 5 dwg

FIELD: criminalistics and forensic examination.

SUBSTANCE: automated workplace consists of stand for researching electronic information carriers and personal computer. Stand featured in invention consists of controllable commutation device, ensuring possible mating of electronic information carrier and personal computer, and a source of controllable voltage. Controllable commutation device has m+n inputs/outputs and is represented by a set of m·n controlled rectifying cells, forming a commutation matrix of m×n dimensions, connecting 1÷m and (m+1)÷(m+n) inputs/outputs, while m=k+1, numbers k and n corresponding to maximal values of numbers of contacts of sockets of personal computer and electronic information carrier, respectively. Controllable rectifying cell is in turn represented by device, providing controllable capability of one-direction commutation with controllable transfer coefficient.

EFFECT: no limitations on types of electronic information carriers being connected, increased quality and speed of reviews of electronic information carriers, in other words, suggested automated workplace allows highly reliable fast access to information, stored in memory of electronic information carrier received for review, while quantitative and qualitative characteristics of electronic information carriers are not changed.

3 dwg

FIELD: informatics; computer technology.

SUBSTANCE: device can be used for soling tasks of composing dictionaries, manual as well as for creation of new databases. Device has entrance memory unit, processed words memory unit, unit for analyzing search, substitution memory unit, substitution unit, result storage unit, control unit.

EFFECT: widened functional abilities; improved reliability of operation; simplified algorithm of operation.

16 dwg

FIELD: electric communications, possible use for finding and quickly identifying information in multi-service digital data transfer networks with commutation of packets.

SUBSTANCE: device contains N generators of time intervals, N selection blocks, frequency divider, N temporary storage registers, N two-input AND elements, solving three-input element AND, N-input OR-NOT element, electronic key, mask storage register, n-input AND-NOT element, control block.

EFFECT: expanded area of possible use of device, increased speed of operation.

5 cl, 6 dwg

FIELD: syntactic analysis of bit stream, containing data having structure and content, matching certain format, possible use for generation of tree-like representation of said stream.

SUBSTANCE: proposed scheme is produced from XML, making it possible to describe encoding format in generalized form. Such scheme is used for performing syntactic analysis of stream of bits for production of document, which represents a stream of bits, which acts as a sample of aforementioned scheme, or for generation of stream of bits from document, representing the stream of bits.

EFFECT: increased resistance to interference.

7 cl, 3 dwg, 4 app

FIELD: statistical language models, used in speech recognition systems.

SUBSTANCE: word indexes of bigrams are stored in form of common base with characteristic shifting. In one variant of realization, memory volume required for serial storage of bigram word indexes is compared to volume of memory, required for storage of indexes of bigram words in form of common base with characteristic shifting. Then indexes of bigram words are stored for minimization of size of data file of language model.

EFFECT: decreased memory volume needed for storing data structure of language model.

7 cl, 4 dwg

FIELD: data access technologies.

SUBSTANCE: method includes assignment of simplified network address, recording URL and converting numbers into storage system with net access, inputting assigned number into computer, transferring inputted number to storage system, converting number to URL, receiving page matching URL, and displaying it. Method for use in operation systems for message transfer include intercepting system level messages to certain objects and forming pseudonym messages during that. Systems realize said methods.

EFFECT: broader functional capabilities.

12 cl, 30 dwg

Up!