Reference points for file system

FIELD: information technology.

SUBSTANCE: it is indicated that the first set of updates is subject to binding to the first reference point. The need in recording of data of the reference point is determined, which belong to the first reference point, in the repository of the file system that uses copy-on-write to update data of the file system. It is indicated that any updates that occur after the first set of updates are subject to binding to the next reference point. The plans of recording for the first set of updates are generated, and each plan of recording indicates at least the scheduled location in the repository for data representing at least one of the first set of updates. The metadata are updated to specify the data of file system allocation, as well as locations in the repository for file system objects, modified according to the said plans of recording. The logical copy of the metadata is created.

EFFECT: decrease recovery time.

15 cl, 8 dwg

 

Background of the invention

[0001] a power Outage or a system failure may occur in the process of writing data to the storage device. When this occurs, data may be lost or become inconsistent. For example, if a system failure occurs at a time when the account holder withdraws money from the ATM, the transaction may be illegal to end in favor of the Bank or the account holder. In order another example, if a system failure occurs during long calculations involving recourse to the disk, to re-perform the calculations may take considerable time.

[0002] the Claimed invention is not limited to variants of implementation, allowing to overcome any disadvantages or only working in environments like the one described above. On the contrary, this section "Background of invention" serves only to illustrate one illustrative technological areas where some options described here implement can be implemented in practice.

Summary of the invention

[0003] Briefly, aspects of the invention described herein relate to checkpoints for a file system. According to aspects, updates, file system organized into containers checkpoint. When you want a checkpoint, subsequent updates n�further to another container checkpoint. After upgrade global tables for updates in the current container control points creates a logical copy of the global tables. This logical copy is saved as part of the data of the control point. To contribute to the restoration Manager, the control points can wait for all the updates of the current container control points will not be written to storage before writing the final checkpoint in the vault. These final data breakpoints can be associated with a logical copy of the global tables and include the confirmation code to certify that these control points are correct.

[0004] This summary of the invention intended study in order to present some concepts in a simplified form that are further described below in the detailed description. This is a brief summary of the invention is not intended to identify key features or essential features of the claimed invention, and, furthermore, this is a brief summary of the invention is not intended to limit the scope of the claimed invention.

[0005] the invention described here refers to the invention described in the detailed description, unless the context clearly indicates otherwise. The term “aspects” should be understood in the sense of “at least one �SPECT”. Identification of aspects of the invention described in the detailed description, is not intended to identify key or essential features of the claimed invention.

[0006] the Above aspects and other aspects of the invention described herein is illustrated by way of example and not limited to the accompanying drawings, in which similar reference position indicate similar elements.

Brief description of the drawings

[0007] Fig.1 is a block diagram showing an illustrative computing environment for General purpose, which can be implemented aspects of the invention described herein;

[0008] Fig.2 is a block diagram showing an illustrative layout of system components, which can be implemented aspects of the invention described herein;

[0009] Fig.3 is a block diagram illustrating aspects of the invention described herein;

[0010] Fig.4 - schematic diagram generally representing the update of the file system in accordance with aspects of the invention described herein;

[0011] Fig.5 is a block diagram illustrating an illustrative container control points in accordance with aspects of the invention described herein; and

[0012] Fig.6-8 - logical flowchart of operations that collectively representing illustrative steps that may occur in accordance with aspects of the invention described herein.

Under�t hese description

Definition

[0013] as Used herein, the term “includes” and its variants should be understood as open-ended terms that mean “includes, but without limitation”. The term “or” should be understood as “and/or”, unless the context should not be directly opposite. The term “based on” should be understood as “based, at least in part.” The terms “one variant of implementation” and “implementation option” should be understood as “at least one variant of implementation”. The term “other implementation” should be understood as “at least one variant of implementation”. May be followed by other definitions, direct and indirect.

Illustrative operating environment

[0014] Fig.1 illustrates an example of a suitable environment 100 of a computer system in which you can implement aspects described herein of the subject invention. Environment computing system 100 is only one example of a suitable computing environment and is not intended to impose any limitation on the scope of use or functionality of aspects of the subject matter described herein of the invention. In addition, the computing environment 100 should not be considered in terms of any dependency or requirement relating to any one or combination of components presented in Fig�administrative operating environment 100.

[0015] Aspects of the invention described herein is applicable to many other environments or configurations of computer system for General and special purposes. Examples of well known computing systems, environments or configurations that may be suitable for use with aspects of the invention described herein, include personal computers, servers, handheld or laptop devices, multiprocessor systems, systems based on microcontroller, set-top boxes, programmable consumer electronics, network PCs, mini-computers, universal computers, palmtop computers (PDAs), gaming devices, printers, appliances including set-top box, media center, or other devices built into the car or set it on computing devices, other mobile devices, distributed computing environments that include any of the above systems or devices, etc.

[0016] Aspects of the invention described herein can be described in the General context of computer-executable instructions, such as software modules executed by a computer. Generally, program modules include procedures, programs, objects, components, data structures, etc. that solve concrete�e tasks or implement certain abstract data types. Aspects of the invention described herein may also be implemented in distributed computing environments where tasks are performed by remote processing devices that are associated with each other by a communication network. In a distributed computing environment, program modules may be located on local and remote computer storage media including memory devices.

[0017] According to Fig.1, an illustrative system for implementing aspects of the invention described herein includes a computing device for General purposes in the form of a computer 110. The computer may include any electronic device capable of performing the instruction. Components of computer 110 may include a processing block is 120, system memory 130, and a system bus 121 that connects various system components including the system memory to the processing block is 120. The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus and a local bus using any of a variety of bus architectures. By way of example, but not limitation, such architectures include the bus Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA), Enhanced ISA (EISA) bus, local bus Video Electronics Standards Association (VESA) bus, Peripheral Component Interconect (PCI), also known as the expansion bus bus Peripheral Component Interconnect Extended (PCI-X), Advanced Graphics Port (AGP), and PCI express (PCIe).

[0018] the Computer 110 typically includes a variety of computer-readable media. Computer readable media can be any available media, to which the computer 110 can access, and include volatile and nonvolatile media, and removable and fixed media. By way of example, but not limitation, computer-readable media may include computer storage media and communication media.

[0019] Computer storage media include volatile and nonvolatile, removable and fixed media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other storage device on the basis of an optical disk, magnetic cassettes, magnetic tape, a storage device based on a magnetic disk or other magnetic storage devices, or any other medium which can be used to store useful information and to which the computer 110 may be maintained by a�ü access.

[0020] communication media typically embody computer readable instructions, data structures, program modules, or other data in the modulated data signal, such as carrier wave or other transport mechanism and include any medium of information delivery. The term “modulated data signal” means a signal, one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, but not limitation, communication media includes wired environment, such as a wired network or direct wired connection, and wireless environment, such as acoustic, RF, infrared and other wireless environments. Communication through any of the above environments will also be included in the scope of machine-readable media.

[0021] the System memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory, such as permanent memory (ROM) 131 and random access memory (RAM) 132. Basic system input/output 133 (BIOS), containing basic routines that help transfer information between elements within computer 110, for example, at startup, is typically stored in ROM 131. RAM 132 typically contains data and/or software modules that are immediately accessible to and/or operated at the moment the block 120 processing�. By way of example, but not limitation, Fig.1 illustrates operating system 134, application programs 135, other program modules 136 and program data 137.

[0022] the Computer 110 may also include other removable/fixed, volatile/nonvolatile computer storage media. Solely by way of example, Fig.1 illustrates a hard disk drive 141, which performs reading or writing of a stationary, non-volatile magnetic media, the drive 151 magnetic disk, which performs reads or writes to a removable, nonvolatile magnetic disk 152, and the drive 155 optical drive that performs reads or writes to a removable, nonvolatile optical disk 156, such as a CD ROM or other optical media. Other removable/fixed, volatile/nonvolatile computer storage media that can be used in the illustrative operating environment include magnetic cassette tape, flash memory cards, digital versatile discs, other optical discs, tape for digital video recording, solid state RAM, solid state ROM, etc. Hard disk drive 141 is typically connected to the system bus 121 via an interface fixed memory, such as interface 140, the drive 151 magnetic disk and the drive 155 optical drive is usually connected to systems�th bus 121 by a removable memory interface, for example, the interface 150.

[0023] the Drives and their associated computer storage media discussed above and illustrated in Fig.1, provide storage of computer readable instructions, data structures, program modules and other data for the computer 110. For example, in Fig.1 shows that the hard disk drive 141 is stored, the operating system 144, application programs 145, other program modules 146 and program data 147. Note that these components can be the same as or different from operating system 134, application programs 135, other program modules 136 and program data 137. Operating system 144, application programs 145, other program modules 146 and program data 147 are different to show that they, at least, are different copies.

[0024] a User may enter commands and information into the computer 110 through input devices such as a keyboard 162 and pointing device 161, which is usually described as the mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, touch screen, graphics tablet, etc. These and other input devices are often connected to the processing block is 120 via the interface 160 user input, which is connected to the system�Noah the bus but can be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).

[0025] a Monitor 191 or the display device of another type is also connected to the system bus 121 via an interface, such as video interface 190. In addition to the monitor, computers may also include other peripheral output devices, such as speakers 197 and printer 196, which may be connected via interface 195 output peripherals.

[0026] the Computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer 180. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above in relation to the computer 110, although in Fig.1 shows only the memory device 181. The logical connections depicted in Fig.1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks. Such networking environments are common in office networks, computer networks scale enterprises, intranets and the Internet.

[0027] When used in a network�m LAN environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 may include a modem 172 or other means for establishing connections over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the interface 160 user input or other suitable mechanism. In a networked environment, program modules depicted in relation to the computer 110, or parts thereof, may be stored in a remote storage device. By way of example, but not limitation, Fig.1 illustrates that the remote application program 185 are stored in the memory device 181. It is obvious that the network connections shown are illustrative and that you can use other means of establishing lines of communication between computers.

Creating a checkpoint

[0028] As mentioned previously, power outages and system failures can occur during writing data to the storage device. As a result, the data stored on the storage device may remain in an inconsistent state. To solve these and other problems, a storage device to record the control points.

[0029] Fig.2 shows a block diagram showing an illustrative layout of system component�status, which can be implemented aspects of the subject matter described herein of the invention. The components shown in Fig.2 are illustrative and are not to be considered as forming a complete set of all kinds necessary for, or included components. In other embodiments, components and/or functions described with reference to Fig.2, may be included in other components (shown or not shown) or placed in subcomponents without deviating from the essence or scope of the aspects described herein of the subject invention. In some embodiments, components and/or functions described with reference to Fig.2, may be distributed across multiple devices.

[0030] According to Fig.2, the system 205 may include one or more applications 210, API 215, components 220 file system, the storage 250, the mechanism 255 and other components (not shown). The system 205 may include one or more computing devices. Such devices may include, for example, personal computers, server machines, handheld or laptop devices, multiprocessor systems, systems based on microcontroller, set-top boxes, programmable consumer electronics, network PCs, mini-computers, universal computers, cell phones, pocket personal computer�the puters (PDA), gaming devices, printers, appliances including set-top box, media center, or other devices built into the car or set it on computing devices, other mobile devices, distributed computing environments that include any of the above systems or devices, etc.

[0031] When the system 205 contains a single device, the illustrative device that may be configured to act as a system 205 that includes a computer 110, shown in Fig.1. When the system 205 contains multiple devices, each of the multiple devices may contain similar or differently configured computer 110 shown in Fig.1.

[0032] the Components of the file system 220 may include Manager 225 recovery Manager 230 checkpoint Manager 235 of the I/o Manager 237 plans account and other components (not shown). Used here, the term "component" should be understood in the sense of incorporating the device in whole or in part, a collection of one or more software modules, or parts thereof, some combination of one or more software modules or parts thereof and one or more devices or their parts, etc.

[0033] the Mechanism 255 connection 205 allows the system to communicate with others about�hachami. For example, the mechanism 255 may allow the system 205 to communicate with applications on remote host. The mechanism 255 may be a network interface or adapter 170, the modem 172, or any other mechanism for establishing communications as described with reference to Fig.1.

[0034] the Storage 250 is any storage medium capable of providing access to the data. The storage may include volatile memory (e.g., cache) and nonvolatile memory (e.g., persistent storage). The term "data" should be understood in a broad sense, as including all that may be represented by one or more elements of computer storage. Logically, the data can be represented by a sequence of ones and zeros in a volatile or non-volatile memory. In computers that have nonbinary data carrier, the data can be presented in accordance with the capabilities of the data carrier. Data can be organized in different types of data structures, including simple data types, such as numbers, letters, etc., hierarchical, reference or other related data types, data structures that include multiple other data structures or simple data types, etc. are Some examples of data include information, program code, program operator, �programnya data other data, etc.

[0035] the Storage 250 may include a hard disk, other non-volatile storage, volatile memory, such as RAM, other storage, some combination of the above, etc., and may be distributed across multiple devices. The storage 250 may be external, internal, or include components that are both internal and external to the system 205.

[0036] access to the storage 250 may be performed by the controller 240 of the storage. Used here, the term "access" may include reading data, writing data, deleting data, updating data, the combination comprising two or more of the above, etc., the Controller 240 stores that may accept requests for access to the storage 250 and, if necessary, can accommodate such requests. The controller 240 of the storage may be performed in such a way that it does not guarantee that the data will be recorded in the storage 250 in the order in which they were taken. In addition, the controller 240 storage may indicate that he produced the requested data record to the controller 240 of the storage will actually write the data to non-volatile memory of the store 250.

[0037] One or more applications 210 include any process that may be performed when creating, deleted�and or updating data. Such processes can be performed in user mode or kernel mode. Used here, the term “process” and its variants may include one or more conventional processes, threads, components, libraries, objects that solve the problem, and so the Process can be implemented via hardware, software or a combination of hardware and software. According to the embodiment of the implementation, the process represents any mechanism, regardless of the name, able to carry out an action or to be used for this. The process may be distributed across multiple devices or may be performed on a single device. One or more applications 210 may send requests file system (for example, through calls to the function/method) through the API Manager 215 at 235 input/output.

[0038] the Manager 235 I/o can determine which request or requests of the I/o supply to the controller 240 of the storage (or some other intermediate component). Manager 235 I/o can also return data to one or more applications 210 as operations related to file system requests, executed, completed or abnormally end. When the file system request involves a transaction Manager 235 I/o can inform and�information to the transaction Manager (not shown) so the transaction Manager can properly manage the transaction. In some embodiments, the Manager 235 I/o can assume the functions of the transaction Manager.

[0039] the Components of the file system 220 may use copy on write, write on the spot, a combination of the above, etc. when recording objects in the file system or metadata relating to the file system objects in the storage 250. The term "file" may include a directory, a file system object that does not have descendants (for example, which sometimes is treated as a file), other file system objects, etc.

[0040] In the implementation of copy-on-write, to change the data file, the copy of data to be changed is placed in another location. When recording on location, the file data can be changed on the spot, without transferring a copy of the original data elsewhere. Hybrid copy-on-write and write access to the location may include the right to copy for metadata relating to the file simultaneously with the recording on the data included in the file.

[0041] the file system Objects can be updated in the context of transactions. A transaction is a group of operations that can be described by various properties, including, for example, atomic,�glavany, isolated and long-lived. Used here, the term "transaction" can be, at least, the property of coherence and can be performed by one or more of the other above-mentioned properties.

[0042] the Property of coherence refers to the resolved state of the data in relation to one or more files. Before the start of the transaction and after the transaction completes, the files must be in the enabled state (although they can pass through the unresolved status in the transaction). For example, a Bank transfer can be implemented as a set of two operations: debiting one account and crediting another account. The consistency of this example can be specified as a condition that the combined balance of the account Bank and the account holder must be constant (e.g., T=A+B, where T is a constant, A = the balance of the Bank, B = the balance of the account holder). To implement consistency in this example, the operation of debiting and crediting just have to be for the same amount of money and must be either completed or not completed in each account.

[0043] the Control point can be written to specify a consistent state of the file system. The control point may include one or more verification codes (e.g.�, one or more checksums, hashes or other data) that can be used to determine whether a control point and/or data associated with the checkpoint written to the disk. After recovery, you can determine the location of the last recorded checkpoint. Then the code(s) confirm control points can be used to determine whether a control point and/or data associated with the checkpoint written to the disk. If not, you can determine the location of the previous checkpoint and check for suitability until there is a suitable reference point. When found, the most recent suitable reference point becomes the last known consistent state of the file system. File system operations occurring after this point can be discarded or, if desired, you can perform additional actions to recovery.

[0044] In one embodiment, the implementation, the object in the file system can be denoted as Dnwhere n identifies the object system. Objects in the file system are serializable (i.e. they can be represented as data in the storage 250) and unserialized. The table associates the identifier of each object with its location in the storage 250.

[0045] When the first update of Dnin �modifitsiruemoi transaction the location of the Dnis determined by finding its location in the table of objects using n. For use in the example, the location in the repository for Dnin the storage 250 is denoted by L1.

[0046] Then, the contents of L1is read from the storage 250, an object can be deserialized (e.g., converted from a serialized format in the structure of the object), and object parts be modified, copied in the main system memory. Updates are carried out on the parts (or their copies) in memory. Together with modifiable parts in the memory, one or more new locations (indicated by L2store, 25 are assigned to modified parts.

[0047] These copies in the main system memory is sometimes called "logical copies of the objects. A logical copy of the object includes one or more data structures that can be used to represent the object. From a logical point of view, the logical copy is a duplicate of the object. From a physical point of view, logically, the copy may include data (including pointers to other data) that can be used to create a duplicate of the object. For example, in one implementation, a logical copy can be the actual copy (e.g., a bitwise copy of the object or data structure that includes data which can be used to create the object.

[0048] In another implementation, the unmodified logical copy may include one or more pointers that point to the original object. When changes in a logical copy of the pointers in the logical copy can point to a new location in memory (for example, for the modified portion of the logical backup) while other signs may indicate parts of the source object (for example, for the unchanged portion of the logical copy). Using pointers, it is possible to construct a modified copy using modified data together with unmodified data source object. Creating a logical copy can be realized, for example, to reduce the amount of storage required to create a duplicate of the object.

[0049] in addition, although there are sometimes referred to serialization and deserialization, there is no intention to limit aspects of the invention described herein is that generally mean by serialization and deserialization. In one embodiment, the implementation of the serialized version can be bitwise identical to the deserialized version. In another embodiment, the implementation, the bits of the serialized version can be packaged in a different format and manner than the deserialized version. In fact, in one embodiment, is�the implementation, under the serialization and deserialization means any mechanism to store and retrieve the data representing the objects from the repository. Other mechanisms may, for example, include a record of the properties of objects in the repository in text format, the encoding of object properties in the markup language in the vault, other ways to store properties and other characteristics of objects in the repository, etc.

[0050] In the separation system (e.g., after a transaction, or at any other time), the system can serialize the modified logical copy back to stable storage, but does it in the location of the L2. The intention to record a modified logical copy back to a new location called the plan of record. The plan records can identify an arbitrary number of updates one or more objects. The plan records can indicate changes in more than one transaction. Multiple plans records can be combined into a single plan of record.

[0051] the Manager 237 plans account can participate in creating the plans account for different updates. When a plan provides for multiple entries for the file system objects (for example, in the context of the transaction), the Manager plans 237 records can be used for generating the plan of record which indicates mastoparan�I store all file system objects, involved in the transaction, to maintain a consistent state of the file system.

[0052] When the modification occurs immediately after the checkpoint, the unit, called a unit of recovery (which may be duplicated in multiple locations) can be modified to specify the beginning of the modified logical copies (i.e., L2). Field in the object in L2specifies the location of the next record. This field represents a link in the chain plans writes that occur between checkpoints.

[0053] in conjunction with the sending of the request to write the logical copy in the table can be modified. In particular, the value of the location, indexed by object ID, can be set equal to the value of the location in which to store the modified logical copy (i.e., L2). This is done so that subsequent search object location Dngiven the location of the L2, new version of the object.

[0054] If the transaction modifies more than one object, for example Diand Djobjects are considered “atomic bound” to each other and recorded in a single plan of record. The plan records can indicate this ratio (for example, in the references of the involved objects).

[0055] Thus, it is possible to support an arbitrary number of�of yackov. Periodically, the table can be stored in storage 250 in the same way as any other object.

[0056] in conjunction with the sending of the request table entry of objects in the repository 250, the controller 240 of the storage can also be transmitted to the cleaning crew. The clear command causes the controller 240 of the storage to record all the data from its volatile memory that have not yet been recorded in non-volatile memory of the store 250.

[0057] Periodically, a checkpoint can be recorded in storage, which will be described in more detail below. The reference point may be specified by the entry control points stored in the storage 250. A control point can enroll at any time and can become a stable/long-lived after cleaning. Stable/long-lived reference point means that it is stored in non-volatile memory storage.

[0058] After the control point becomes a stable/long-lived, the location used for any old and unused copies of objects (or their parts) that you can reuse. Upon completion of cleaning, the recovery block is placed at the beginning of the chain following plans records. In one embodiment of implementation, the recovery unit may designate the beginning of the chain plans record the new location of the feature table.

[0059] More of concrete�wide example described with reference to Fig.3, which shows a block diagram illustrating aspects of the invention described herein. Fig.3 shows the main memory 305, and storage 250. Line 307 represents the separation between the main memory 305 and the storage 250. Objects above the line 310 are in main memory, while objects below the line 310 are in volatile or non-volatile memory of the store 250.

[0060] the Objects 314 to 316 are shown in the main memory 305. In the implementation of objects 314 to 316 can be deserialized logical copies of the objects 319-321, respectively. Object 319 is in the location 1550 in the storage 250, the object 320 is at location 200 in the storage 250, and the object 321 is located at a location 800 in the storage 250.

[0061] table objects 310 includes a pair of key values, which indicate the location of objects in the repository 314 to 316 250. Pairs of key values indexed using ID (n) of objects 314 to 316.

[0062] When a transaction modifies the object 316 (e.g., by changing its name to foo.txt), the components of coherence (for example, the components 220 coherence, shown in Fig.2) can determine the new location in the repository for the updated object (e.g., 801). If the object is a file, updating its name in the context of a transaction may also result in Thu� directory which includes a file, will also be involved in the transaction. For example, if you change the name of the file, you may want to in the transaction participated and the object that represents the file and the object that represents the directory that includes the file. In this case, the directory that includes the object, represented as an object 314, and a logical copy of the updated directory (for example, an object 318) is represented as an object 323 in the storage 250. In addition, the table 310 has logically been updated to table 311 to specify the new location in the repository (i.e. 801 and 1,000) of modified objects (i.e. objects 317 and 318).

[0063] that the modification of the object in the context of the transaction also affects other object may be explicitly specified or determined, for example, the Manager 235 I/o or any other component shown in Fig.2.

[0064] When two or more objects involved in the transaction update, objects are considered "atomic bound", as previously mentioned. In a restore operation, while in the storage 250 not found changes for all items modified in the context of a transaction, all changes are rejected. In other words, if you change one of the objects found, but changes to other objects is not found, change one of the objects is rejected.

[0065] For atomar�CSOs linking two or more objects, in one embodiment of the implementation, a pointer may be stored or otherwise be associated with each object in the repository 250. The pointer may indicate a location in the vault of another object (or its part), participating in the transaction. In the absence of additional objects participating in the transaction, the pointer may indicate a "dead block", or specify the location in the repository of the "main" object of another plan account. This parent object can contain the plan of record, the modified object (or part) of the plan records, etc.

[0066] in Addition to pointers to the following location in the store, in the storage 250 may also store data to specify the correct content of the object pointed to" object. For example, can store a hash that specifies the faithful the contents of the object pointed object.

[0067] In the example shown in Fig.3, the pointer associated with the object 322 may specify the location of the storage associated with the object 323. The pointer connects with each other the two objects. If during recovery, any of the objects cannot be found, or it has no true content, changes, presents found objects can be discarded.

[0068] Due to the nature of the storage 250 may not be guaranteed which the first object will be written to non-volatile memory of the store 250. If the object 322, the recording�n first, and object 323 is not recorded, the pointer from the object 322 indicates the location in the repository where can be false data. However, computing the hash of the data to a location in the repository and comparing that hash with the hash stored with the object 322 can determine that the data at location 1000 are invalid data. In this case, during the recovery, recovery Manager (e.g., Manager 225 recovery, shown in Fig.2) can reject the changes submitted by the objects 322 and 323.

[0069] the recovery Unit 330 specifies the first location in the repository (in this case, the location of 801), where the data is, presumably, persist after the checkpoint. The recovery unit 330 also may include or be associated with a hash that is calculated using the true contents of the object stored in the first location in the repository.

[0070] In Fig.4 shows a diagram generally representing the updates taking place in the file system, in accordance with aspects of the invention described herein. Global tables 405 includes a table that identifies the location of objects in the repository and selection data relating to the location in the storage 250, which was allocated. Also illustrated made pack 410. When the update applies to axis 415 �belts, the update is completed and no longer need to modify any global tables 405. Each line updates for updates 410 may represent multiple updates. When it is necessary to simultaneously hold multiple updates to maintain consistency, the update can be performed in the context of a transaction.

[0071] To ensure that the checkpoint was effective, the control point you want to capture in a consistent state. In the presence of a file system with copy-on-write, when updating an object, the modified logical copy of the object stored in a new location on the file system. This new location is updated in the table by updating the feature table. For consistency, it would be wrong if the table reflected the update that has not yet been written to disk, because the update may not completely written to disk before the system. Similarly, it would be wrong if the update was completed and recorded on the disc, as well as completed other updates associated with the transaction, but the table is not showing the update.

[0072] to ensure consistency, the reference point must be selected in a time when the metadata for the updates are reflected in the global table. If �each of the lines, representing pack 410 indicates the period when the global tables 405 can be updated to update, implementing the checkpoint at time 520 may give an inconsistent state, while implementation of checkpointing at time 525 will give consistent state.

[0073] In Fig.5 shows a block diagram illustrating an illustrative container control points in accordance with aspects of the invention described herein. To resolve the issues mentioned above and other issues, each update may be associated with the container control points (for example, one of the containers 515). The container checkpoint is a logical concept that indicates that a global table must be updated to account for, at least, plans update records associated with the container checkpoint before the checkpoint are written to disk. In other words, global tables must be updated to account for the location and information of the selection updates the container, despite the fact that the updates in the moment can be recorded or not recorded at these locations.

[0074] Periodically (e.g., upon expiration of the timer control points on the basis of the recovery window after a certain amount of transactions Zap�si in case of exceeding some threshold, etc.), it is possible to produce a definition for generation of the control points. When this happens, the dispatcher control points can update data (for example, the structure 510 data) that indicate the container checkpoint to associate with subsequent updates. For example, the dispatcher control point can receive an exclusive binding (e.g., binding 505) at data (for example, the structure 510 data) that indicate the current container checkpoint. After the tower checkpoint gets exclusive binding on the data Manager control points can be updated to specify the new container control points for future upgrades. All future updates associated with the new container checkpoint, while the data will not change to specify a different container control points for future upgrades.

[0075] the Container checkpoint can be seen as a logical concept and can be implemented in various ways. For example, in one implementation, the container checkpoint can be implemented as a data structure, such as a list that has pointers to each of the updates associated with the container checkpoint. In order another example, the container checkpoint can R�to elisavet as data, supported for each update, where data indicate the reference point associated with the update. In order another example, the container checkpoint can be implemented as a counting semaphore. In this example, can be not known which updates still need to be written to disk, but the number of updates that still need to be written to disk, it is known. In this example, the binding can be used to read/write.

[0076] the Above examples are not intended to cover all possible methods of implementation of the container checkpoint. Actually, on the basis of the guidelines, the experts in this field of technology can offer many other mechanisms for the implementation of the container control points.

[0077] After the container checkpoint for future updates (for example, by changing patterns 510 data), Manager of control points can expect the generation of plans account for all updates in the current container checkpoint. After generation plans account for all updates in the current container control points (but may not be recorded in the store) Manager checkpoint can take a snapshot of the global tables 405, shown in Fig.4, and create a plan of record to record a snapshot of the global tables 405 in the storage. SMS chat�th snapshot can be created as a logical copy of the global tables 405 through copy-on-write or other mechanisms.

[0078] Returning to Fig.4, the recording plans for updates, following after the checkpoint can be generated and written to the disk until the Manager checkpoint generation expects all updates in the current container checkpoint, and also as the Manager of control points generates a plan of record for the checkpoint record. However, when the Manager of control points necessary to obtain a snapshot of the global tables, the Manager control point can receive an exclusive binding for global tables 405 to create a snapshot. While the Manager checkpoint has exclusive reference, plans, records can still be generated for other updates, and these plans account can even be stored in the repository, but the global table (e.g. the table) can't be updated to point to these plans record as the Manager of control points will not loose its exclusive binding. In conjunction with the release of bind, the dispatcher control point can send a signal (for example, when an event), which indicates that the creation of the next checkpoint, and that subsequent updates can update the global table.

[0079] to facilitate the restoration, the checkpoint can be written to disk with a confirmation code for the identity of the control point�and according to the following rules.

[0080] 1. Expected information specified by the plans, write to write to disk (for example, to expect all the updates related to the control point for recording to disk).

[0081] 2. To request a write to disk of all data associated with the control point (for example, request entry to disk logical copy of the metadata).

[0082] 3. To issue the wipe command or expect it and wait for a confirmation of successful completion of treatment.

[0083] 4. To generate a verification code for checkpoint data that was written to disk. In one embodiment, the implementation, the verification code can refer to a subset of the data recorded on the disc. For example, if the file data are stored in a tree, where each node of the tree includes a verification code for its child nodes, then the verification code can refer to the root node of the tree. In this variant of implementation, the verification code can be written with the root node and can also be used to ascertain the accuracy of the confirmation code.

[0084] 5. To request the disc verification code (and any related data, for example, the root node). Note that the verification code doesn't need to go to disk before the system. If not, the control point is not a suitable control point.

[0085] According to these rules, during recovery, if the control�the first point found in the vault, and internal verification code checkpoint is valid, it is also expected that other data associated with the breakpoint are stored in the repository are valid. If the confirmation code included in the root node, other data in the root node (for example, pointers to other nodes in the tree) can be used to locate other data corresponding to the control point.

[0086] alternatively, the verification code for each update that is associated with the control point, you can write to the repository. For example, a control point may indicate the units of all the updates that supposedly occurred before the checkpoint and after the previous checkpoint. For each specified unit, a control point can save the confirmation code, which indicates the correct contents of the block. During the recovery, according to this alternative, for the identity of the control point, each block can be verified by the related confirmation code checkpoints.

[0087] Returning to Fig.2, in one embodiment, the implementation, the dispatcher 230 checkpoint can be used to implement actions that address.

[0088] 1. The definition of the first control point to associate with requests to update file system objects. As mentioned previously, the Mgr�black 230 checkpoint can do this by updating the data structure (e.g., structure data 510 shown in Fig.5) to specify a new container checkpoint. Then, when receiving each of the next refresh request, the request may be assigned to the new container checkpoint.

[0089] note that as used herein, the term "first" does not mean it is the first control point; rather, it is used to distinguish from the "second" checkpoint. In other words, if the N control points, the first reference point can be any of X, where 1 <= X <= N, and the second reference point can be any Y, where 1 <= Y <= N and X <> y

[0090] 2. Determining when to write checkpoint data associated with the breakpoint in the file system repository. For example, to determine that it is time to write data breakpoints, you can use the criterion of the expiration of the timer control points, exceeding the number of updates or some other threshold.

[0091] 3. The definition of the second control point for subsequent requests to update file system objects. As mentioned previously, the dispatcher 230 checkpoint can do this by updating the data structure (e.g., structure data 510 shown in Fig.5) after receiving exclusive binding (e.g., binding 505) on the data structure.

[0092] 4. The expectation of a consistent state of the NT�topics with permission of the preparation for recording data for subsequent requests. Consistent state occurs when all the updates associated with the current container control points, represented (for example, were successfully recorded) in the storage. Resolution preparation to record data for subsequent requests includes the resolution of the generation of plans, records and writing them to storage for subsequent requests, but does not permit meta-data (e.g., global tables) until then, until you create a logical copy of the metadata.

[0093] 5. Creating a logical copy of the metadata of the file system. This can be done by taking a snapshot of the global tables, as mentioned earlier.

[0094] 6. Write the logical copy of the metadata in the repository. In one embodiment of the implementation, this may include requesting the recording of the logical backup repository and waiting for confirmation that the logical copy is recorded in the repository. In another embodiment of the implementation, this may include marking the backup repository as clean to subsequent metadata updates resulted in a copy-on-write permission to update.

[0095] 7. Recording at least one confirmation code in the repository. As mentioned previously, the confirmation code can be used to determine whether updates to the checkpoint recorded in the repository, as well as the validity of the entry control point.

[0096] API 215 may accept the request for modification of an object participating in a transaction. In response, the Manager 235 I/o can determine the location of the object at the location in the repository (for example, L1vaults, create a logical copy of the object to modify the object in the context of a transaction, determine a second location in the repository (for example, L2) to preserve the logical copy in the event of changes, send a request to write the logical copy in the event of changes to the controller 240 of the storage and update a volatile data structure (e.g., table objects 310) to indicate that the logical copy is stored in the second location in the repository.

[0097] If the API 215 receives a request to modify the other object involved in the transaction Manager 235 I/o may perform further actions, including the establishment of the Association (e.g., plan of record), which binds a different object with the first object. Then, in conjunction with the sending of the request to write the modifications of objects in the repository Manager 235 I/o can also send a write request of the Association to the controller 240 of the repository.

[0098] In Fig.6-8 illustrates a logical flowchart of operations that collectively representing illustrative steps that may occur in accordance with aspects of the OPI�ƈ here the subject invention. For ease of explanation, the methodology described with reference to Fig.6-8, depicted and described as a sequence of actions. Obviously, the aspects described herein of the subject invention is not limited to the illustrated actions and/or other actions. In one embodiment, the implementation, actions occur in the order described below. However, in other embodiments, the steps may occur concurrently, in a different order and/or in conjunction with other acts not presented or are not described in this description of the invention. Moreover, not all illustrated steps may be required to implement a methodology in accordance with aspects of the invention described herein. In addition, specialists in the art it is obvious that the alternative methodology can be represented as a sequence of interrelated conditions by means of diagrams of States or events.

[0099] referring to Fig.6, in step 605 the action begins. In step 610 is an indication that the first set of updates to be linking to the first reference point. This can be done by modifying the data structure to indicate that subsequent updates shall be binding to the first reference point. This may include, for example, obtaining and releasing the bindings and updating the criminal code�index or other data structure to indicate that the container checkpoint, as previously mentioned. Note that the word "first", again, can mean any checkpoint file system and is used to distinguish this point from the next checkpoint. For example, according to Fig.2 and 5, the dispatcher 230 checkpoint can get 505 binding on the structure 510 of the data and update the pointer to indicate one of the containers 515 control points.

[00100] In step 615 the updates are accepted and associated with the first reference point. For example, according to Fig.2, Manager 235 I/o can accept update requests from the application(s) 210 through the API 215. As we receive updates, they can contact the control point.

[00101] In step 620, it is determined in relation to record checkpoint data for the first control point in the file system repository. For example, according to Fig.2, the dispatcher 230 checkpoint may determine that the timer control points had expired, and on this basis, may determine that a checkpoint should be written to the store 250.

[00102] In step 625 is obtained linking the data structure to specify control points for future upgrades. For example, according to Fig.2 and 5, the dispatcher 230 checkpoint can get 505 binding on the structure 510 of the data.

[00103] In step 630, the data structure is updated to point to other� control point. Modification of this data structure specifies that any updates that occur after the first set of updates shall be linked with the next control point. For example, according to Fig.2 and 5, the dispatcher 230 checkpoint can update the structure of the data 510 to point to another container 515 control points.

[00104] In step 635, the binding is released. For example, according to Fig.2 and 5, the dispatcher 230 checkpoint may release the binding 505.

[00105] In step 640 are generated plans account for updates. Each plan record indicates at least the planned location in the repository for the data representing at least one of the first set of updates. For example, according to Fig.2, Manager 237 plans account can participate in creating the plans account for updates associated with the control point.

[00106] In step 645, the metadata is updated for the plans of record. This metadata indicates the location in the store plans to write (although plans recording can be recorded or to be recorded in the repository). For example, according to Fig.2, Manager 237 plans account can update the global table to specify locations in the repository for objects that are modified according to the plans of record.

[00107] After step 645, the steps continue at step 705 shown in Fig.. According to Fig.7, in step 705, the result is binding for the metadata. For example, according to Fig.2 and 4, the dispatcher 230 checkpoint can get the binding at the global tables 405. Manager 230 checkpoint can wait until the metadata will not reflect the location in the repository for all updates in the first set of updates (despite the fact that all of these updates can be recorded or not recorded at these locations in the repository).

[00108] In step 710 creates a logical copy of the metadata. As mentioned previously, this may include creating a new copy of the metadata, marking the metadata as clean to subsequent metadata updates resulted in a copy-on-write, or any other mechanism logical copy. For example, according to Fig.2 and 4, the dispatcher 230 checkpoint can create a logical copy of the global tables 405.

[00109] In step 715, the binding is released. For example, according to Fig.2 and 4, the dispatcher 230 checkpoint may release the binding for global tables 405.

[00110] In step 720 creates a plan of record for recording the first data control points. The creation of this plan, the records may occur in parallel with the generation (and burning) plans account for updates, following after the checkpoint, as well as data relevant to current plans, records, written�yuemin to disk. For example, according to Fig.2, the dispatcher 230 checkpoint can be used by the Manager plans 237 entries to create entries for checkpoint data for the first control point. This data may include a logical copy of the above global tables.

[00111] In step 725, in one embodiment, the implementation Manager, checkpoint can expect a successful record of all updates in the first set of updates to the repository. After the successful recording of all updates in store, the update Manager can record the final entry control point, which includes a confirmation code. As mentioned previously, this allows you, when you restore, just check the verification code to determine whether all the updates corresponding to control point recorded in the repository.

[00112] In another embodiment, the implementation Manager, checkpoint can write some validation code in the checkpoint record. These verification codes can be associated with locations in the repository for updates the first set of updates. In this embodiment, the implementation Manager, checkpoint can expect these updates in the repository, or can record the entry control point without waiting. If you choose the latter option, finding a suitable to�trolley point during recovery can be used to a greater extent than check for the presence of the suitable checkpoint record is on disk.

[00113] In step 730 checkpoint data may be recorded in the repository. This may include, for example, a schedule entry record associated with the checkpoint data in the repository. In order another example, this may include the entry in the repository of the checkpoint record that references a logical copy of the global tables. For example, according to Fig.2, the dispatcher 230 checkpoint may request the entry in the repository of the terms of entry of the corresponding data of the control point.

[00114] In step 735, at least one verification code is recorded in the repository. Recording at least one confirmation code in the repository can be combined with the entry in the repository of the checkpoint record that refers to the logical copies of the global tables. For example, according to Fig.2, the dispatcher 230 checkpoint may be written to the storage entry control point, which refers to the logical copy of the global tables and which includes a confirmation code to validate the contents of the checkpoint record.

[00115] In step 740 may be performed other actions, if any.

[00116] referring to Fig.8, in step 805, the action begins. In step 810 was adopted by the restore request. For example,according to Fig.2, Manager 225 recovery can receive a restore request for the implementation of recovery for data stored in the storage 250.

[00117] In step 815, it is determined for the locations of these control points. For example, according to Fig.2, the scheduler 225 to determine the location of the latest checkpoint data stored in the storage 250 (or any other repository).

[00118] In step 820, the data control points are verified using a verification code. For example, according to Fig.2, the scheduler 225 recovery can calculate a checksum of the checkpoint data and to compare this checksum with the checksum stored with the data of the control point. If the checksums match, the control point may be considered as suitable. If additional confirmation is required, the recovery Manager may be trying to prove one or more of the objects specified in the global tables referenced by the data reference point.

[00119] In step 825 may be implemented other actions, if any.

[00120] As can be seen from the foregoing detailed description, aspects have been described related to checkpoints for a file system. Although aspects of the invention described herein allow for different modification�AI and alternative constructions, certain illustrated variants of implementation shown in the drawings and described in detail above. However, it should be understood that there is no intention to limit aspects of the claimed invention to the specific open forms, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents are within the essence and scope of various aspects of the invention described herein.

1. A method, implemented at least partially by a computer, the method contains the stages at which
indicate that the first set of updates to be linking to the first control point,
determine the need to write checkpoint data associated with the first control point in the file system repository, which uses the copy-on-write to update the data file system,
indicate that any updates that occur after the first set of updates shall be linked with the next control point,
generate plans account for the first set of updates, each plan record indicates, at least, the planned location in the repository for the data representing at least one of the first set of updates,
update the metadata to specify the data allocation file system, as well as locations in the storage�lime for filesystem objects modified according to the plans of record, and
create a logical copy of the metadata.

2. A method according to claim 1, additionally containing phases in which
create a plan of record for recording the first data of the control point, at the same time allowing you to generate plans account for future updates in parallel with the creation of the plan records, and
write at least one confirmation code in the repository, at least one verification code is part of the checkpoint data, wherein the at least one verification code is used to determine whether recorded in a storage of the first set of updates.

3. A method according to claim 2, additionally containing a stage at which you expect the data record representing the first set of updates in the repository referred to recording at least one confirmation code in the repository.

4. A method according to claim 2, wherein the step of recording at least one confirmation code in the repository record in the storage unit confirmation code in the block with other data that refer to the root nodes of at least one tree data structure that represents a logical copy of the metadata, wherein the method further comprises a stage on which to calculate a single confirmation code for the identity of the block.

5. �] according to claim 2, additionally containing phases in which read the mentioned at least one confirmation code that calculates at least one other confirmation code from the data in the repository, compare the mentioned at least one code confirm with at least one other confirmation code and determine on this basis whether all data representing the first set of updates that are successfully written to the repository.

6. A method according to claim 1, wherein in step indicate that the first set of updates to be linking to the first reference point, update the data structure that indicates that the first control point to be used for any update that occurs before updating the data structure to specify a different reference point.

7. A method according to claim 1, wherein the step of creating a logical copy of the metadata create a logical copy in parallel with the recording in the storage of data representing at least one of the first set of updates.

8. In the computing environment, the system comprising
the interface is arranged to accept a request to update the file system object for file system,
Manager, I/o, configured to determine one or more query I/o for sending in storage to satisfy the request, and
Manager of control points, made with the possibility of implementation of action containing
the definition of the first control point to associate with requests to update file system objects, and the Manager control point is adapted to assign requests to different control points,
determine if you need to write checkpoint data associated with the breakpoint in the file system repository,
the definition of the second control point for subsequent requests to update file system objects,
the expectation of a consistent state of the file system, while providing an opportunity to prepare for the recording of data for subsequent requests,
creating a logical copy of the metadata file system,
a record of the logical backup repository and
recording at least one confirmation code in the repository, at least one verification code is used to determine whether updates to the checkpoint recorded in the repository.

9. A system according to claim 8, in which the Manager of the test points is arranged to determine the control points to associate with requests to update file system objects, provides that the Manager control point is arranged to update the data structure that indicates that the first control point of Podles�t use for updates which happen to determine you wish to write checkpoint data associated with the breakpoint in the file system repository and the need to use the second control point for updates that occur later.

10. A system according to claim 8, in which the Manager control point, configured to determine whether the write checkpoint data associated with the breakpoint in the file system repository, provides that the Manager control point is arranged to determine that the duration of the checkpoint has expired, and the time of the action of the control points is determined on the basis of the recovery window.

11. A system according to claim 8, further comprising the plan Manager recording, made with the possibility of generating a plan which indicates the location in storage of all file system objects to be updated in conjunction with the file system object to maintain a consistent state of the file system.

12. A system according to claim 8, in which the Manager of the test points is arranged to expect a consistent state of the file system, provides that the Manager control point is arranged to wait until all the updates associated with a first control point of the multipartite� system, will not be represented in the file system repository.

13. A system according to claim 8, in which the Manager of control points configured to enable to write the data for subsequent requests, provides that the Manager of the control points are arranged to allow to generate and write to the repository plans account for subsequent requests, but does not allow to update the metadata as long as there is no logical copy of the metadata.

14. A computer storage medium having computer-executable instructions that when performed implement action containing
receiving a restore request for the file system
determining the location of the checkpoint data to the checkpoint in the file system repository, and the data control points are generated by pre-action containing
an indication of any updates that occur after the updates associated with the control point associated with the next control point,
the generation of plans account for updates related to the reference point, and each plan record indicates, at least, the planned location in the repository to represent at least one of the updates,
update metadata to specify locations in XP�a planned total volume of objects modified according to the plans of record,
creating a logical copy of the metadata, and
the entry in the repository for at least one confirmation code relating to the control point, and
the identity data of the control point using this code to confirm.

15. A computer storage medium according to claim 14, in which the identity data of the control point using the confirmation code contains a checksum calculation of data control points and compare the checksum data of the control point with a confirmation code.



 

Same patents:

FIELD: physics, control.

SUBSTANCE: invention relates to perfection of road info and to control over vehicle drive proceeding from said info. Proposed method comprises application of road info for control over vehicle drive with the help of electronic control unit that bots the access to road info contained in different sources A, B, C thereof and to location pickup P. Said sources comprises digital map A, carrier company data base B and vehicle local base C. Electronic control unit can select between road data arrays contained in sources A, B, C. Selection is performed in compliance with the quality index of road info in sources A, B, C.

EFFECT: perfected road info.

15 cl, 1 dwg

FIELD: radio engineering, communication.

SUBSTANCE: information search apparatus comprises N≥2 mask storage units 11-1N, N selection units 21-2N, a frequency divider 3, a time interval generator 4, a search strategy register 5, a transition mask address generating unit 6, a display unit 7, N selection search time controllers 81-8N, a main search time controller 9 and a clock-pulse generator 10.

EFFECT: high probability of timely information search in packet switched data networks, inquiry systems, based on dynamically corrected values of the maximum search time for each search query.

4 cl, 11 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to computer engineering. A method of providing information support, which includes search on microcontroller specifications, RSS servers and web servers, providing context help on graphic interface elements of the software development environment, where structure is retrieved from each microcontroller specification file, and elements of said structure are merged according to predefined rules into general partitions, followed by creating an entry in a database, creating an index file, wherein the structure of the microcontroller specification and the index of its text content are stored separately on a database server and an indexation server, respectively.

EFFECT: faster process of developing microcontroller software by improving the quality and speed of providing information support to the developer.

3 cl, 1 dwg

Monitoring system // 2552182

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to means of monitoring system status data. The method comprises emulating and/or using a modified presence service to obtain information on monitored subjects in order to determine system status as modified presence status in a modified presence service; Adding, from at least one database using an output value of at least one dynamic monitored subject, data/information on monitored subjects in order to determine system status thereof for the dynamic monitored subject; integrating said output value with system status distribution for presentation of the system status of said dynamic monitored subject; accessing the system status for at least one dynamic monitored subject; reading as input data a portion of information relating to the health of an individual or other confidential information; recognising an individual data field from information distribution for said individual based on a set of criteria; recording into a database said portion of information relating to the health of an individual or other confidential information, which does not include individual data of said individual.

EFFECT: easy access to unclassified information.

13 cl, 27 dwg, 7 ex

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to a system and a method of evaluating the progress of the advertising market of goods and services using mobile versions of websites. The evaluation method is characterised by creating and storing a catalogue on a server, said catalogue containing visitor-satisfying information on geo-objects, goods and services on which search is to be made. Through a mobile terminal, a visitor on the site selects the desired geo-object to whose address the visitor is subsequently transferred. At the address of said geo-object, the visitor uses their own mobile terminal to enter the site of said object where login is performed using one of available social networks. The server records and stores in a database of statistics of the mobile site information about the user clicking the link of the means of performing the desired action, the date and time of the click, the geographic location of the visitor, the IP address of the visitor, the model of the mobile terminal of the visitor and information on successful execution of the service. The efficiency of using geo-object search is evaluated by comparing previously obtained data with later data on visitors over a defined period of time.

EFFECT: high efficiency of marketing goods and services, bringing them closer to the consumer and easier search for goods and services for the consumer.

2 cl, 1 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to computer engineering. A method of searching for a composite sample in an analysed sequence, characterised by combining parallel bitwise processing of elements in the diagonals of a characteristic matrix, the length of which is equal to the length of the composite sample in the analysed sequence, with row-wise computation of start values search cells of the characteristic matrix, which enables to take into account the positionally irregular arrangement of symbols of the composite sample in the analysed sequence and join into a single search object the positionally irregular arrangements of symbols of the composite sample in the analysed sequence.

EFFECT: broader functional capabilities owing to modernisation of links of cells of the characteristic matrix and input of additional elements into the characteristic matrix.

2 cl, 5 dwg

FIELD: information technology.

SUBSTANCE: personal data identification is achieved through linguistic techniques, realised by a data collection server, a linguistic processing server and an application server. The disclosed method includes creating a task based on open source bypass parameters coming in through an administrator's automated workstation. Further, the method includes loading text, bypassing open sources and loading texts or transmitting texts from an external system; selecting links from the loaded texts for addition thereof to addresses for further bypass; extracting text and converting binary files to a text format; text prepared for analysis is broken down and the substance is determined; the substance of personal data in the text is selected; personal data are identified; facts (substance determined at the previous step associated with persons) of personal data in the text are identified.

EFFECT: providing high relevance of results when identifying personal data in open information sources and in text files of the most common formats.

7 cl, 3 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to means of communication over the Internet for applications and content. The system comprises network infrastructure configured to create a pattern and implement an application supermarket which supports a plurality of users, wherein the application supermarket provides customers with access to online stores which provide digital products, wherein relationships between the plurality of users are flexibly and dynamically specified for at least some of the plurality of users.

EFFECT: high efficiency and reliability when selling and buying applications owing to customisation thereof.

31 cl, 11 dwg

FIELD: physics.

SUBSTANCE: method includes receiving geodetic data for a plurality of locations on a surface, wherein the geodetic data contain information on surface gradient for at least a subset of locations on the surface; generating a set of constraining relations based on the geodetic data, wherein the set of constraining relations correlates undefined values for temporary changes in surface height in the subset of locations on the surface with information on surface gradient included in the geodetic data; the set of constraining relations includes undefined values for temporary changes in surface height at multiple locations on the surface; identifying specific values for temporary changes in surface height at each location on the surface in the subset based on determining the solution of the set of constraining relations.

EFFECT: high accuracy of the model of a geophysical area.

33 cl, 7 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to information retrieval means. method comprises receiving a request at the input; outputting said request at the output in a plurality of different sources, at least one of which is a public domain search engine and at least one of which is a private domain search engine; receiving, at the input, a list of results from each of said plurality of different sources; determining whether to merge said list of results based on determining relevancy using a merging model; creating, by a processor, a full list of results from the received list of results using a merging model; providing presentation of the full list of results through a user interface; monitoring user behaviour in response to the presented full list of results; using the user behaviour to update the merging model.

EFFECT: improved relevancy of results.

21 cl, 12 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

FIELD: computers.

SUBSTANCE: system has entries memory block, words memory block, control block, substitutions block, n blocks for searching and replacing.

EFFECT: broader functional capabilities.

17 dwg

FIELD: computers.

SUBSTANCE: system has nine registers, four address selectors, triggers, AND elements, OR elements and delay elements.

EFFECT: higher speed.

8 dwg

FIELD: computers.

SUBSTANCE: system has operation mode setting block, first and second blocks for selecting records addresses, block for forming addresses for reading records, data output block, first and second record codes comparison blocks, records quality comparison block, year intervals comparison block, records selection control block, register, adder and OR elements.

EFFECT: higher speed of operation.

10 dwg

FIELD: computers.

SUBSTANCE: system has memory for programs, including browser, display block, database for storing documents, addressing control block, while each document of base has at least one link with indicator of its unique number and indicator with address of program for control stored in addressing control block, system contains also, connected by data buses and control of other blocks of system, memory for links of couples of unique numbers of links and forming means for lists of unique numbers of documents links, which are interconnected.

EFFECT: higher efficiency.

2 cl, 1 dwg

FIELD: telecommunication networks.

SUBSTANCE: messages, sent by cell phones, are formed by means of printed and public-distributed classifier, wherein at least one category is made with possible detection of at least one identifier of individual mark of object, identifier is sent by sender via at least one message to computer server with software, which transfers such message into database record at server for its transfer to at least one receiver, or searches for such record in database at server in accordance to received message and transfers to sender of such message at least one found database record.

EFFECT: broader functional capabilities.

2 dwg

FIELD: web technologies.

SUBSTANCE: method for integration of printed business documents, requiring original signature, with electronic data concerning these documents and later extraction of data, inputted for forming documents, is characterized by steps for forcing end user or agent to input all necessary data for forming of required document, saving collected data in database, linking saved data to unique ID code and printing unique ID code on printed document during printing. Printed documents is signed by end user and sent together with supporting documentation. When document is received by business-client, business-client inputs ID code, which is then used for access to saved data, and updates private database of business-client with all data, used for creation of original documents.

EFFECT: higher efficiency.

2 cl, 7 dwg

FIELD: computer science.

SUBSTANCE: device has string memory block, comparator, memory block for words and substitutes, block for analysis and forming of displacement results, block for storing string address, control block.

EFFECT: broader functional capabilities, higher reliability.

10 dwg

FIELD: data bases.

SUBSTANCE: method includes presenting operations at all levels of company in form typical product life cycle tree, wherein existing objective functional-technological connections of each manufacture stage are decomposed, and forming information system in form of pertinent-relevant complex information system and search, for which typical structure-information modules of information system are formed, system objective information requirements of data consumers, being a result of decompositions by levels of operations and problems, are determined as precisely as possible, data base of found documents in form of files is formed of key nodes with set of elementary data block for each system information requirement and files of information system modules, starting from lower levels of current stage and then upwards, while each data block has a list of pertinent documents ordered by determined information requirements.

EFFECT: higher search efficiency.

13 cl, 11 dwg

FIELD: computer science.

SUBSTANCE: system has first, second, third, fourth and fifth registers, first and second memory blocks, first, second and third decoders, triggers, elements AND, OR and delay elements.

EFFECT: higher speed of operation.

1 dwg

Up!