Computer duplication system, which operates with open files
Abstract
computer engineering. SUBSTANCE: duplication software of computer system which has hard disk drive monitors storage of changes which are made in data of file under duplication. Upon duplication, both parts of source and corrected file or record are stored. Duplication software reads source data wile other applications read corrected data. Detection of the fact whether reading operation is called by duplication software or another application is achieved by system using stack, and reading request source, asking user, identifiers of task or process. Access to file for duplication software is provided by system file allocation table processing. The fact that file is kept in "good" condition is ensured by delay of start of duplication operation for given period. EFFECT: protection against failure of storage device or damage, loss or infection of data by computer virus. 16 cl, 6 dwg
Term
Term ended
Expired 18 March 2016, 10.5 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
16 claims: 9 independent, 7 dependent
- 1A method of operating a microprocessor-based computer system comprising a command memory, a CPU and storage means, whereby providing backup process, running on the computer system, which is operable to issue the start signal and end signal and to issue at least one command backup reader for reading original data from the storage means, providing first instructions stored in memory in the CPU to cause the CPU to perform at least one normal read operation to read data from the memory means, the backup processor can work with files which are open to access commands, write to the data stored in said memory means, in order to establish a connection between the corresponding areas in a primary storage area of the memory means and secondary memory area storing means is determined after receiving the start signal and on receiving the reading, whether the read command to the operation of the backup read or normal read operation, and then perform one of the operations of the backup and normal read request record to read data from one of the primary and secondary storage areas corresponding to the recording, and after another of the operations of the backup and normal reading read data from the primary memory, characterized in that when determining whether the read command to the operation of the backup read or to normal reading operation, the viewing area of memory from which the read command, for determining the identity of the program which initiated the command reading. 1. Способ работы основанной на микропроцессоре компьютерной системы, включающей командную память, центральный процессор и запоминающее средство, согласно которому обеспечивают дублирующий процесс, выполняющийся на компьютерной системе, который является действующим для выдачи сигнала начала и сигнала окончания и для выдачи, по меньшей мере, одной команды дублирующего считывания для считывания исходных данных из запоминающего средства, обеспечивают первые команды, хранимые в памяти, в центральном процессоре для того, чтобы заставить центральный процессор выполнить, по меньшей мере, одну обычную операцию считывания для считывания данных из запоминающего средства, причем дублирующий процессор способен работать с файлами, которые открыты для доступа командами, поддерживают запись данных, записанных в запоминающем средстве, для того, чтобы установить связь между соответствующими областями в первичной области памяти запоминающего средства и вторичной областью памяти запоминающего средства, определяют после получения сигнала начала и после получения команды считывания, относится ли команда считывания к операции дублирующего считывания или к обычной операции считывания, и после выполнения одной из операций дублирующего и обычного считывания запрашивают запись для считывания данных из одной из первичной и вторичной областей памяти, соответствующих записи, и после выполнения другой из операций дублирующего и обычного считывания считывают данные из первичной области памяти, отличающийся тем, что при определении того, относится ли команда считывания к операции дублирующего считывания или к обычной операции считывания, просматривают область памяти, из которой происходит команда считывания, для определения идентичности программы, которая инициировала команду считывания.
- 3The method of claim. 2, characterized in that the viewing field of the memory address comparing code around the memory cell with the code expected from the backup program. 3. Способ по п. 2, отличающийся тем, что при просмотре области памяти сравнивают код около адреса ячейки памяти с кодом, ожидаемым из дублирующей программы.
- 5A method of operating a microprocessor-based computer system comprising a command memory, a CPU and storage means, in a computer network, wherein providing a backup process, running on the computer system, which is operable to issue the start signal and end signal and to issue at at least one command backup reader for reading original data from the storage means, providing first instructions stored in memory in the CPU to cause the CPU to perform at least one normal read operation to read data from the memory means, maintain a record of data written in said memory means, in order to establish a connection between the corresponding areas in a primary storage area of the memory means and secondary memory area of the memory means, and determine after receiving the start signal receiving read command, whether the read command to the operation of the backup read or to the normal read operation, and after performing one of the operations of the backup and normal read request record to read data from one of the primary and secondary storage areas corresponding to the records, and then performing another of the operations of the backup and normal read read data from the primary memory, characterized that designate the backup process a user authentication process or task, and for determining whether the read command to the operation of the backup read or to normal reading operation, determined is sought whether or not the read user or program with said user identification process or task. 5. Способ работы основанный на микропроцессоре компьютерной системы, включающей командную память, центральный процессор и запоминающее средство, в компьютерной сети, согласно которому обеспечивают дублирующий процесс, выполняющийся на компьютерной системе, который является действующим для выдачи сигнала начала и сигнала окончания и для выдачи, по меньшей мере, одной команды дублирующего считывания для считывания исходных данных из запоминающего средства, обеспечивают первые команды, хранимые в памяти, в центральном процессоре для того, чтобы заставить центральный процессор выполнить, по меньшей мере, одну обычную операцию считывания для считывания данных из запоминающего средства, поддерживают запись данных, записанных в запоминающем средстве, для того, чтобы установить связь между соответствующими областями в первичной области памяти запоминающего средства и вторичной областью памяти запоминающего средства, и определяют после получения сигнала начала получения команды считывания, относится ли команда считывания к операции дублирующего считывания или к обычной операции считывания, и после выполнения одной из операций дублирующего и обычного считывания запрашивают запись для считывания данных из одной из первичной и вторичной областей памяти, соответствующих записи, и после выполнения другой из операций дублирующего и обычного считывания считывают данные из первичной области памяти, отличающийся тем, что назначают в дублирующий процесс пользователя идентификацию процесса или задачи, а при определении того, относится ли команда считывания к операции дублирующего считывания или к обычной операции считывания, определяют, запрашивается ли операция считывания пользователем или программой с указанным пользователем, идентификацией процесса или задачи.
- 6A method of operating a microprocessor-based computer system comprising a command memory, a CPU and storage means, whereby providing backup process, running on the computer system, which is operable to issue the start signal and end signal and to issue at least one command backup reader for reading original data from the storage means, and providing instructions stored in memory in the CPU to cause the CPU to perform at least one normal read operation to read data from the storage means, and provide a means of opening file to open the file, readable normal read operation, and the rejection of access to the file by other read operations, characterized by providing a means associated with duplicating process which blocks the function failure means of opening the file to permit simultaneous read access to the file backup read operation and a normal reading operation. 6. Способ работы основанной на микропроцессоре компьютерной системы, включающей командную память, центральный процессор и запоминающее средство, согласно которому обеспечивают дублирующий процесс, выполняющийся на компьютерной системе, который является действующим для выдачи сигнала начала и сигнала окончания и для выдачи, по меньшей мере, одной команды дублирующего считывания для считывания исходных данных из запоминающего средства, и обеспечивают команды, хранимые в памяти, в центральном процессоре для того, чтобы заставить центральный процессор выполнить, по меньшей мере, одну обычную операцию считывания для считывания данных из запоминающего средства, и обеспечивают средство открытия файла для открытия файла, считываемого обычной операцией считывания, и отказа доступа к файлу другими операциями считывания, отличающийся тем, что обеспечивают средство, связанное с дублирующим процессом, которое блокирует функцию отказа средства открытия файла для разрешения одновременного доступа считывания к файлу дублирующей операцией считывания и обычной операцией считывания.
- 8A method of operating a microprocessor-based computer system comprising a command memory, a CPU and storage means, whereby providing backup process, running on the computer system, which is operable to issue the start signal and end signal and to issue at least one command backup reader for reading original data from the storage means, providing instructions stored in memory in the CPU to cause the CPU to perform at least one normal write operation to write data to the storage means, the backup process is capable of operating with files which are open to access commands, characterized in that the delay issuance start signal until until complete series of write operations in duplicated image. 8. Способ работы основанной на микропроцессоре компьютерной системы, включающей командную память, центральный процессор и запоминающее средство, согласно которому обеспечивают дублирующий процесс, выполняющийся на компьютерной системе, который является действующим для выдачи сигнала начала и сигнала окончания и для выдачи, по меньшей мере, одной команды дублирующего считывания для считывания исходных данных из запоминающего средства, обеспечивают команды, хранимые в памяти, в центральном процессоре для того, чтобы заставить центральный процессор выполнить, по меньшей мере, одну обычную операцию записи для записи данных в запоминающее средство, причем дублирующий процесс способен работать с файлами, которые открыты для доступа командами, отличающийся тем, что задерживают выдачу сигнала начала до тех пор, пока не завершат ряд операций записи в дублируемый файл.
- 9A backup system for a microprocessor-based computer system, comprising a command memory (14), a central processing unit (12) and memory means (16) containing the substitute program for execution on a computer system that is operational to signal the start and end signal and for issuing at least one command backup reader for reading original data from the storage means, means (38, 40) for providing first instructions stored in the memory to the CPU to cause the CPU to execute at least one conventional read operation for reading data from the memory means, means (34) for supporting the recording data recorded in a storage means, in order to establish a connection between the corresponding areas in a primary storage area of the memory means and secondary memory area of the memory means, and means ( 42, 60) for determining after receiving the start signal and after receiving the read command, whether the read command to the operation of the backup read or to normal reading operation, and after performing one of the operations of the backup and normal read write request to read data from one of the primary and secondary memory areas corresponding to the recording and after the other of the operations of the backup and normal read, reading data from the primary memory, characterized in that the means (42, 60) for determining whether the read command to the operation of the backup read or to normal operation reading means for viewing comprises a memory area from which the read command, for determining the identity of the program which initiated the read command. 9. Дублирующая система для основанной на микропроцессоре компьютерной системы, включающая командную память (14), центральный процессор (12) и запоминающее средство (16), содержащая дублирующую программу для выполнения на компьютерной системе, которая является действующей для выдачи сигнала начала и сигнала окончания и для выдачи, по меньшей мере, одной команды дублирующего считывания для считывания исходных данных из запоминающего средства, средство (38, 40) для обеспечения первых команд, хранимых в памяти, в центральный процессор для того, чтобы заставить центральный процессор выполнить, по меньшей мере, одну обычную операцию считывания для считывания данных из запоминающего средства, средство (34) для поддержки записи данных, записанных в запоминающее средство, для того, чтобы установить связь между соответствующими областями в первичной области памяти запоминающего средства и вторичной областью памяти запоминающего средства, и средство (42, 60) для определения после получения сигнала начала и после получения команды считывания, относится ли команда считывания к операции дублирующего считывания или к обычной операции считывания, и после выполнения одной из операций дублирующего и обычного считывания запроса записи для считывания данных из одной из первичной и вторичной областей памяти, соответствующих записи, и после выполнения другой из операций дублирующего и обычного считывания, считывания данных из первичной области памяти, отличающаяся тем, что средство (42, 60) для определения, относится ли команда считывания к операции дублирующего считывания или к обычной операции считывания, содержит средство для просмотра области памяти, из которой происходит команда считывания, для определения идентичности программы, которая инициировала команду считывания.
- 13A microprocessor-based computer system for use in a computer network and comprising a command memory (14), a central processing unit (12) and memory means (16), wherein the microprocessor-based computer system comprises duplicating program for execution on a computer system that is operational to signal the beginning and the end signal and to issue at least one backup read command for reading the original data from the storage means;means (38, 40) for providing first instructions stored in the memory to the CPU to cause the CPU to perform at least one normal read operation to read data from the memory means, means (34) for supporting the recording data recorded in memory means, in order to establish a connection between the corresponding areas in a primary storage area of the memory means and secondary memory area of the memory means, and means (42, 60) for determining after receiving the start signal and after receiving the start signal and on receiving the reading whether the read command to the operation of the backup read or to normal reading operation, and after performing one of the operations of the backup and normal read write request to read data from one of the primary and secondary storage areas corresponding to the records, and then performing another of the operations of duplicating and normal reading, data read from the primary memory, characterized in that it comprises means for assigning a duplicate user program identification process or task, and means (42, 60) for determining whether the read command to the operation of the backup read or to normal operation reader comprises means for determining whether the read operation is requested by the user or program with said user, process or task identification. 13. Основанная на микропроцессоре компьютерная система для использования в компьютерной сети и включающая командную память (14), центральный процессор (12) и запоминающее средство (16), причем основанная на микропроцессоре компьютерная система содержит дублирующую программу для выполнения на компьютерной системе, которая является действующей для выдачи сигнала начала и сигнала окончания и для выдачи, по меньшей мере, одной команды дублирующего считывания для считывания исходных данных из запоминающего средства;средство (38, 40) для обеспечения первых команд, хранимых в памяти, в центральный процессор для того, чтобы заставить центральный процессор выполнить, по меньшей мере, одну обычную операцию считывания для считывания данных из запоминающего средства, средство (34) для поддержки записи данных, записанных в запоминающее средство, для того, чтобы установить связь между соответствующими областями в первичной области памяти запоминающего средства и вторичной областью памяти запоминающего средства, и средство (42, 60) для определения после получения сигнала начала и после получения сигнала начала и после получения команды считывания, относится ли команда считывания к операции дублирующего считывания или к обычной операции считывания, и после выполнения одной из операций дублирующего и обычного считывания запроса записи для считывания данных из одной из первичной и вторичной областей памяти, соответствующих записи, и после выполнения другой из операций дублирующего и обычного считывания, считывания данных из первичной области памяти, отличающаяся тем, что содержит средство для назначения в дублирующую программу пользователя идентификации процесса или задачи, а средство (42, 60) для определения, относится ли команда считывания к операции дублирующего считывания или к обычной операции считывания, содержит средство для определения, запрашивается ли операция считывания пользователем или программой с указанным пользователем, идентификацией процесса или задачи.
- 14A backup system for a microprocessor-based computer system comprising a command memory (14), a central processing unit (12) and memory means (16), wherein the backup system comprises duplicating program for execution on a computer system that is operational to signal the beginning and end signal and to issue at least one instruction duplicate reading for reading the original data from the storage means, and means (38, 40) for providing instructions stored in the memory to the CPU to cause the CPU to execute on at least one normal read operation to read data from the memory means, and means for opening a file to open a file read routine reading operation and failure of access to the file by other read operations, characterized in that it comprises means associated with the backup program to block failure function means open the file for read permission simultaneous access to the file of the backup operation and normal reading operation of reading. 14. Дублирующая система для основанной на микропроцессоре компьютерной системы, включающей командную память (14), центральный процессор (12) и запоминающее средство (16), причем дублирующая система содержит дублирующую программу для выполнения на компьютерной системе, которая является действующей для выдачи сигнала начала и сигнала окончания и для выдачи, по меньшей мере, одной команды дублирующего считывания для считывания исходных данных из запоминающего средства, и средства (38, 40) для обеспечения команд, хранимых в памяти, в центральный процессор для того, чтобы заставить центральный процессор выполнить, по меньшей мере, одну обычную операцию считывания для считывания данных из запоминающего средства, и средство открытия файла для открытия файла, считываемого обычной операцией считывания и отказа доступа к файлу другими операциями считывания, отличающаяся тем, что содержит средство, связанное с дублирующей программой для блокирования функции отказа средства открытия файла для разрешения одновременного доступа считывания к файлу операцией дублирующего считывания и обычной операцией считывания.
- 16A backup system for a microprocessor-based computer system comprising a command memory (14), a central processing unit (12) and memory means (16), wherein the backup system comprises duplicating program for execution on a computer system, which is acting for dispensing start signal and closure and for issuing at least one command backup reader for reading original data from the storage means, and means (22) for providing instructions stored in the memory to the CPU to cause the CPU to execute at least a conventional write operation to write data into the memory means, and wherein the substitute program is capable of operating with files which are open to access commands, characterized in that it comprises means for delaying the signal output until until after a number of write operations is duplicated image . 16. Дублирующая система для основанной на микропроцессоре компьютерной системы, включающей командную память (14), центральный процессор (12) и запоминающее средство (16), причем дублирующая система содержит дублирующую программу для выполнения на компьютерной системе, которая является действующей для выдачи начала и сигнала окончания и для выдачи, по меньшей мере, одной команды дублирующего считывания для считывания исходных данных из запоминающего средства, и средство (22) для обеспечения команд, хранимых в памяти, в центральный процессор для того, чтобы заставить центральный процессор выполнить, по меньшей мере, одну обычную операцию записи для записи данных в запоминающее средство, и в которой дублирующая программа способна работать с файлами, которые открыты для доступа командами, отличающаяся тем, что содержит средство для задержки выдачи сигнала до тех пор, пока не завершится ряд операций записи в дублируемый файл.
Independent claims9
100 paragraphs, as filed
The invention relates to a method of operating a computer system and, in particular, to a method of providing backup copies of data stored in the storage unit to protect the storage device from damage or deterioration, data loss, or infection by a computer virus. The invention mainly relates to the provision of duplication for personal computers (PC).
Traditionally, simple single-user computer system comprising storage means such as gesture or cue non-removable disk, only one application program has access to the storage means at any given time. The problem of duplication of data stored memory means is performed by the application program, which will have exclusive use of the storage means in step duplication, since in such an environment no other application can operate until the application is complete duplication.
With the introduction of multi-tasking environments which allow multiple applications to run simultaneously, and the network systems that allow multiple users to share the same resources, a situation may arise where more than one application has concurrent access to the same storage means. When this situation arises, there is a possibility of conflict between the applications. For example, one application might modify or delete a file currently being used by another application. This would lead to confusion and potentially corrupt the memory means and, as a result, the loss of data.
Methods known as "file locking" and "record locking" introduced into operating systems to avoid in the case of file locking to more than one application to write to the file in the case of a write lock that two applications have modified the same region of the file. These methods are complex enough for most applications, particularly if each application only makes relatively minor changes to files which are shared and therefore does not significantly delay other applications wishing to access a file or record which is locked. However, an application for the periodic duplication of data in a computer system, wherein the memory means is a shared, is a special case.
The minimum unit of data that can be reproduced is a single file, since neither duplicate application nor the operating system does not have knowledge of the internal structure of a file because it could be associated with any application program.
In addition, a duplicate copy of the file must be accurate way the original at a time. However, copying a file is not an instantaneous process and the time required for copying will depend on the file size and the speed of the copy operation. This leads to a problem as long as the duplicate application can not be sure that no other application can modify the file during the copying process.
To copy I file a duplicate application shall designate the area of random access memory (RAM) as a transmission buffer and continues alternating reading blocks of the source file into the buffer, and then read the contents of the implementation of the control of the buffer into a secondary storage means. If the file is not very small, the transfer buffer will fill up several times and the copying process will require several read and write operations to perform a full backup of the file.
The potential problem is due to the possibility of modifying the file during the copying process can be illustrated by considering the example of the file that is copied as a series of 10-minute blocks. If the file would be modified input message, which required changes to the file which correspond to blocks 3 and 8 after blocks 1 to 8 have been copied, the copy process resulting copied to a change in the unit 8, but not copied to a change in the unit 3 since this block had already been copied before the input message. Therefore, a duplicate copy will contain only partial input message, which can make a duplicate copy of the completely useless, since the application which "owns" it will probably consider the file to be corrupted.
U.S. Patent N 5086502, owned by the present assignee, discloses a method of duplication of each recording operation, when it is made, performing duplicate write operation to a secondary storage means. In addition to this method, there are two other ways to duplicate files on a computer system having shared storage means: I) Lock the file while copying. This prevents the file modification by other users through the denial of access to records. If another user already has write access, duplicate application must either skip that file or wait until as long as can be obtained exclusive access records.
II) Detect modifications to the file. After copying the file duplicate application can use the operating system in order to check whether made any modifications during the copy operation. If modifications were made, then the copy must be repeated or that file skipped.
Neither of the latter two methods do not provide an adequate solution since many files (particularly database files) are constantly in use. Moreover, these two methods require users to be effectively locked until there is a duplication. Further, few combinations of secondary storage devices and operating systems allow continuous data transfer rate of more than 15 megabytes (Mb) per minute and therefore the time required to copy a large file is significant.
Some applications really address this problem through a reliable duplication of their own files in a shared environment, but the procedure for each is different. To duplicate all the storage means, the substitute application system needs to know how each different built-in procedure or must rely on manual intervention at the appropriate moment.
Thus, since the substitute application system must duplicate the whole file and since this file should be modified by another application program during the dubbing, using previous methods of duplication will introduce delays into a computer system having shared storage means. This is especially true when large files are duplicated.
U.S. Patent N 5163148, issued in the name of Walls (Walls) describes a backup system in which, before starting dubbing file, the file is in a constant state, for example, if the required number of operations in connection with the input message, then all these operations are completed. If part of the file to be duplicated requires adjustment, this part of the source file is copied to a separate part of the disc before duplication occurs. Duplicate software duplicate file by replacing those parts which adjusted the original parts that are copied and stored somewhere else on the disk. Map of the distribution areas of disk space, which usually contains a list of tracks and sectors on the disk occupied by that file is extended to include a concordance (index), which establishes the ratio of placements tracks and sectors to copy the original parts of the file to placing tracks and sectors of adjusted parts, which occupy the area from which they were copied.
International Patent Application N PCT / GB 94/01581, published July 20, 1995 under publication number 095 NW / 19559 and belonging to the present applicant, describes a method of operating a computer having a storage device shared between several application programs, which also contains a backup process comprising the process for supporting the recording changes made to the data on the storage device during the backup process. Recording is used to ensure that the data process of duplicating visible, do not change when it is performed, while allowing other processes to continue to update the storage device normally, thereby avoiding delays associated with file locking techniques. Additional operations are done at the operating system interface of the microcomputer in such a way that is not affected by the normal use of the computer. In this way the backup process is operable to issue the start signal and end signal and to perform at least one backup read operation to read original data from the storage means, such as a hard disk. The central processing unit performs at least one normal write operation to write data periodically to a primary area of the storage means and at least one normal read operation to read data from the memory means.
After receiving this signal the beginning of the interception operation is performed to intercept the write operation for writing data to a secondary memory storage means, in order to preserve the original data, which would otherwise be overwritten by the write operation. Writing parts of the file written to the secondary area is maintained and after one of the redundant and normal operations Read Write is requested to read data from one of the primary and secondary storage areas corresponding to the recording. This ensures that the backup process with the original data stored in the condition in which they were directly before the start signal was issued. However, at this point defines the entry portion of the file in terms of file records and not in terms of track and sector placements on the disk. This avoids problems that can arise if the record is stored in terms of the placement of the disc, i.e. track and sector, and provides certain advantages.
Record preferably comprises a delta area in which is stored the primary data and the corresponding reference between the actual location of the primary data and its intended location. Alternatively the second data may be recorded in the delta area and other applications may continue to write to the intended location on the storage device.
The delta area is preferably a different area of the same storage device, such as a hard disk. Additional required operations preferably stored and executed on the operating system interface level of the computer system. If the software is stored at the operating system level, it can be made transparent to the user so as not to affect application software.
This duplicate recording may be stored on some storage means, e.g., tape drive, optical disk, or in another area of the basic storage medium. If duplication is satisfied, it may be restored in conventional manner.
The present invention provides improvements which are applicable to the above methods. First of all, it is a requirement that the system can distinguish between read requests that originate from the backup program from the read requests that originate from other applications that can be executed.
In a first aspect, the present invention provides a method of operating a microprocessor based computer system comprising a command memory, the CPU and the memory means, according to which (method) provide backup process, running on the computer system, which is operable to issue the start signal and end signal and issuing at least one command backup reader for reading original data from the storage means, providing first instructions stored in memory in the CPU to cause the CPU to perform at least one normal read operation to read data from the memory means, wherein backup process is capable of operating with files which are open to access commands, write to the data stored in the memory means to establish a connection between the corresponding areas in a primary storage area of the memory means is determined after receiving the start signal and after receiving the read command, whether read command to operation of the backup read or to normal reading operation, and after performing one of the operations of the backup and normal read request record to read data from one of the primary and secondary storage areas corresponding to said recording, and after the other of the operations of the backup and normal read reading data from the primary storage area, wherein (method) that when determining whether the read command to the operation of the backup read or to normal reading operation, the viewing area of memory from which the read command, for determining the identity of the program which initiated a read command.
In a second alternative aspect of the invention there is provided a method of operating a microprocessor-based computer system comprising a command memory, a CPU and a memory means. computer network, according to which (method) provide backup process, running on the computer system, which is operable to issue the start signal and end signal and to issue at least one instruction duplicate reading for reading the original data from the storage means, providing first instructions stored a memory in the CPU to cause the CPU to perform at least one normal read operation to read data from the storage means maintain a record of data written in said memory means, in order to establish a connection between the corresponding areas in a primary storage area memory means and secondary memory area of the memory means, and determine after receiving the start signal, and after receiving the read command, whether the read command to the operation of the backup read or to normal reading operation, and after performing one of the operations of the backup and normal read request record to read data from one of the primary and auxiliary memory areas corresponding to the recording, and after another of the operations of the backup and normal read, read data from the primary storage area, wherein (a way) that is assigned to the backup process of user identification or a process or task, and when determining whether the read command to read the backup operation or a normal read operation, it is determined whether a read operation is requested by the user or program with said user identification process or task.
Potential problems with the method mentioned earlier application is that it may be unable to provide the required back-up team in this file, because This file is opened for another application, so that access to the file duplicate the process is prohibited by the operating system.
In a third aspect, which is preferably used in combination with the previously mentioned aspects of the invention, a method of operating a microprocessor based computer system comprising a command memory, a CPU and storage means, whereby providing backup process, running on the computer system, which is applicable to signal the beginning and the end signal and to perform at least one command backup reader for reading original data from the storage means, and providing instructions stored in memory in the CPU to cause the CPU to execute at least one routine operation reader for reading data from the storage means, provide a means of opening the file to open the file read by normal read operation and the refusal of access to the file by other read operations, characterized in (a way) that provide a means associated with duplicating a process that blocks the function of failure opening means file to allow simultaneous read access to the file backup read operation and a normal read operation.
Finally, despite the fact that the method of duplication of said earlier application can cope with changes made to the file duplicated when duplicating operates, the inventor took into account that there is a problem if the file is in the process of recording when the duplication operation actually begins.
In a fourth aspect, the invention provides a method of operating a microprocessor based computer system comprising a command memory, a CPU and storage means, whereby providing backup process, running on the computer system, which is operable to issue the start signal and end signal and to issue at least audio commands duplicate reading for reading the original data from the storage means, providing instructions stored in memory in the CPU to cause the CPU to perform at least one normal write operation to write data to the storage means, the backup process is capable of operating with a files which are open to access commands, wherein (method) that delays the issuance of the start signal until the number is not complete the write operations duplicated file.
In a fifth aspect, the invention provides a backup system for a microprocessor based computer system comprising komandrunyu memory (14), a central processing unit (12) and memory means (16) containing the substitute program for execution on a computer system that is operational to signal the beginning and end signal and to issue at least one instruction dublitsiruyuschego reader for reading original data from the storage means, means (38, 40) for providing first instructions stored in the memory to the CPU to cause the CPU to execute at least one normal read operation to read data from the memory means, means (34) for supporting the recording data recorded in the memory means to establish a connection between the corresponding areas in a primary storage area of the memory means and secondary memory area of the memory means, and means (42, 60) for determining after receiving the start signal and after receiving the read command, whether the read command to the operation of the backup read or to normal reading operation, and after performing one of the operations of the backup and normal read write request to read data from one of the primary and secondary regions memory corresponding to recording, and then performing other operations of the backup and normal read, reading data from the primary memory area that is different (system) in that the means (42, 60) for determining whether the read command to the operation of the backup read or to normal operation reading means for viewing comprises a memory area from which the read command, for determining the identity of the program which initiated the read command.
The redundant system according to the fifth aspect of the viewer includes means for polling to determine the stack memory addresses stored in the stack and poll the specified addresses.
The viewer includes means for comparing code around memory addresses with the code expected from the backup program.
The viewer includes means for determining the program segment prefix string and the environment associated with the program in the memory addresses and specify the name of the program line with the medium.
A sixth aspect of the invention is a microprocessor-based computer system for use in a computer network and comprising a command memory (14) the central processor (12) and memory means (16), wherein the microprocessor-based computer system comprises duplicating program for execution on a computer system, which is serving to signal the beginning and the end signal and to issue at least one instruction duplicate reading for reading the original data from the storage means, means (38, 40) for providing first instructions stored in the memory to the CPU in order to make the central processor to perform at least one normal read operation to read data from the memory means, means (34) for supporting the recording data recorded in a storage means, in order to establish a connection between the corresponding areas in a primary storage area of the memory means and secondary memory area of the memory means, and means (42, 60) for determining after receiving the start signal and after receiving the read command, whether the read command to the operation of the backup read or to normal reading operation, and after performing one of the operations of the backup and normal read write request for reading data from one of the primary and secondary storage areas corresponding to the recording and other operations after the backup and normal read, reading data from the primary memory.
Microprocessor-based computer system is characterized in that it comprises means for assigning a duplicate user program identification process or task, and means (42, 60) for determining whether the read command to the operation of the backup read or normal read operation comprises means for determining, queried whether the read operation by the user or a program with the specified user identification process or task.
A seventh aspect of the invention is a backup system for a microprocessor based computer system comprising a command memory (14), a central processing unit (12) and memory means (16), wherein the backup system comprises duplicating program for execution on a computer system that is operational to signal start and end signal and to issue at least one instruction duplicate reading for reading the original data from the storage means, and means (38, 40) for providing instructions stored in the memory to the CPU to cause the CPU to execute at least one normal read operation to read data from the memory means, and means for opening a file to open a file read routine reading operation and failure of access to the file by other read operations, a backup system of the seventh aspect is characterized in that it comprises means associated with the backup program for Blocking failure means open the file to allow simultaneous access to the file read operation, read the backup and normal read operation.
An eighth aspect of the invention is a backup system for a microprocessor based computer system comprising a command memory (14), a central processing unit (12) and memory means (16), wherein the backup system comprises duplicating program for execution on a computer system that is operational to signal start and end signal and to issue at least one instruction duplicate reading for reading the original data from the storage means, and means (22) for providing instructions stored in the memory to the CPU to cause the CPU to execute at least one the normal write operation to write data to the storage means, and that duplicate the program can work with files that are open to access commands; and duplicating system according to an eighth aspect is characterized in that it comprises means for delaying the issuance of the start signal until until after a number of write operations is duplicated file.
The invention will be described below with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a personal computer and memory on a cassette tape.
FIG. 2A and 2B are diagrams illustrating a system memory allocation scheme at the operating system of a personal computer, and conventional computer modified to operate in accordance with the method of the invention, respectively.
FIG. 3 is a flowchart of a method for recording data in a backup operation.
FIG. 4 is a block diagram of a second embodiment of the method of FIG. 3; and FIG. 5 is a block diagram illustrating an improvement in the embodiment described with reference to FIG. 3 and 4.
DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring to FIG. 1 of drawings, the personal computer 10 typically comprises a CPU 12, a command memory (random access memory) 14 and a memory means (non-removable storage device in the form of hard disk drives) 16. In this example, for the purpose of providing backup storage means to drive the magnetic Ribbon 18 is connected to computer 10.
Part backup program application is formed as a recording process which operates to intercept normal read and write operations from and to the disk drive 16 respectively, in order to control the flow of data between the disk drive 16, and other parts of the computer 10.
Before you begin to create a duplicate copy of the file, the recording process is activated by duplicating the application in order to redirect all disk recording media to another area of the disk 16 known as the "delta" area. Table corresponding delta area of memory supported for recording all disk write operations are redirected to the delta area. This table maintains correspondence between the intended destination on the disk 16, data associated with each disk write operation, and its actual location in the memory in the delta area. If a subsequent write operation occurs in an area which is already the subject of the components in the table, it is assumed that the old data in the delta area have been overwritten by new data. Thus the data in the main part of the disk does not change when the duplicate copy is created, since all changes are reoriented in the delta area.
When a disk read operation is requested duplicate application, it is passed unchanged, so that the data returned to the backup application comes from the original data area on the main part of the disk. However, when a disk read operation is requested by another application, the recording process first operates to check the table to see whether there was a record on a disc in this area, since the process started intercepting write operations and, if so, the read operation is reoriented in the corresponding position in the delta area. If no write operation has occurred, i.e. this piece of data has not changed, since the write operation interception started, then the read operation is passed unchanged.
Thus, changes in the data stored on the disk 16 are seen normally by all applications other than the backup application. Duplicate application sees data which will not change as long as the command is issued to stop the recording process intercepting read and write operations.
When the backup copying operation ends, the recording process is activated to return the computer to normal operation. This replacement is achieved by using phase changes stored in the delta area to the appropriate original data areas in the main part of the disk 16 using an appropriately stored in the table. While the delta changes are applied area, disk write operations continue to be intercepted as described above. When there are no more write operations which have not been applied to the original data area, the interception of write operations is stopped and the system operates conventionally.
As a further improvement, if a record is saved from the continuous memory area to which the advanced backup copying process, the software can allow write operations to the main part of the disk 16 to pass unchanged after that part disk zadublirovana as more will not matter, if the data change. This reduces the size of the table corresponding delta area. Also if the area on the main part of the disk to which the operation is directed was already the subject components in the mapping table, this component may then be removed, thereby reducing the time required in the recovery phase.
The invention is particularly applicable to IBM - compatible personal computers, ie. E majority of personal computers using as their central processor CPU chip 8086, 8088, 80286, 80386, 80486, and Pentium, manufactured by Intel, and similar microprocessor based systems. In such computers, whenever a program wishes to access a file it calls a standard routine which writes data to disk. This routine, which in the case of the DOS operating system is known as Interrupt 21 hex (INT 21h), is an integral part of the operating system. The action performed by the routine, known as the interrupt routine depends on the parameters passed to the routine after entering. This routine is shown in Figure 2A as an integral part of the operating system in the scheme of the system memory, and input INT 21h place indicated by the arrow. For performing a preferred process according to the invention, additional program code is added at the operating system interface level as shown in FIG. 2B. In practice, in a DOS environment this might be loaded into the computer as a device driver using the CONFIG.SYS file.
Additional software is the action command for writing data, a substitutable alternative instruction set. A similar method may be used to intercept the command to read data from the disk and to replace it as an alternative set of instructions.
The corresponding sequence of operations provided by the alternative set of instructions is shown in the flowchart of FIG. 3. After receiving the call INT 21h, the program first checks to determine whether the call is a call record. If so, the program checks in step 20 to determine whether implied that it is intercepted call records. If not, data is written (step 22) to the original data area 24.
If calls are intercepted, then the program checks the correspondence table delta area (step 26) to determine whether to make a pre-entry into this area of the original file 24, defined in terms of specified records or portions in the file. If (step 28) record previously made, then this part of the delta area 30 previously corresponded to that part of the original file 24 in the delta area of correspondence table is overwritten with new data (step 32).
If calls are intercepted record, but the record has not been previously done in this part of the original file 24, then the record is added to the table and a new area of the delta area is assigned to the portion of the data (step 34). The data is then written to the new delta area (step 36).
If the call is a read call, the program checks in step 38 whether implied that it is intercepted calls reading. If not, then data is read from the original file 24 (step 40).
If the read program intercepts calls, then it first checks in step 42 to ascertain whether the call came from the backup application program. If the call did come from the backup application, the program proceeds to step 40 and data is read from the original file 24.
If the call does not come from reading the backup application, the program checks the delta mapping table area to find out whether the record redirected to the original file 24 corresponding to the reading area of the call, in the delta area (step 44). If it does not re-directed (step 46), the program goes back to step 40 and data is read from the original file 24. If the redirected reading, data is read from the corresponding portion delta area 30 (step 48).
If the call INT 21h call is neither a write nor read call, then it returns to the normal processing routine INT 21h.
In the second embodiment, when read and write commands are intercepted during the recording process, instead of storing the changed data in the delta area, when a first entry in a particular region of the file, original data stored in the delta area and the original file is allowed to modify. Inputting to the mapping table which points to the original contents of that area of the original file which is now stored in the delta area. Any subsequent write to the same area of the file is then ignored by the recording process. Read request from the backup application and then reoriented to the delta area if the correspondence table shows that this area of the source file is overwritten.
FIG. 4 shows the second embodiment in a block diagram. Scheme is similar to FIG. 3, the steps having the same reference numerals denote the same steps.
Differences between FIG. 3 and FIG. 4 is as follows.
At step 60, if read intercept is active (step 38) and the read is not from the backup application, the data is read from the original data area. This is in contrast to step 42 of FIG. 3. The extra step 62 is inserted after step 28 which reads data from the original data area before it is overwritten for the first time.
Step 3 36 modified to form new step 64 which further comprises recording in the delta area of the data read in step 62.
Step 32 is modified to form new step 66 which no longer redirects the data to overwrite the delta area but instead writes the data over the original data area.
This second method is slower than the first since each file write request becomes a read and two records as opposed to a single reoriented first recording method. However, the second method does not require the changes stored in the delta area have been applied to the original file once the complete duplication. Table conformity delta area and the data stored in the delta area may simply be discarded. In addition, because of this difference is not required to take precautionary measures to recover from a fatal condition (such as a power failure) occurring when the delta changes in the field are not fully applied to the original data.
In the case where the method described above forms part of a backup application, the interception of read operations can take place within the backup application and need not involve the use routines of the operating system.
A detailed application of the system as described with reference to Figures 3 and FIG. 4, it is within the skill in the art and need not be a full description. When used in MS DOS, the reader is referred to the Technical Reference Manual for an explanation of IBM DOS material if required.
The invention is preferably used as part of the operating system, or as an integral part of the original operating system code, or forming an extension to it in the form of a device driver. In the case of Intel 80386 (and higher) CPU invention typically would work at the highest privilege level, known as the "Ring O", where access to all elements of the system is unlimited.
However, the invention does not rely on any particular CPU architecture in order to operate. It can be readily applied to other systems, for example on Macintosh computers, which use a series CPUs 68000 and PowerPC.
The invention may be used in a multiuser environment. In this case, preferably, the invention is used in an environment with file access control. The invention will be guaranteed to make a duplicate copy of the undistorted, while the rest of the system is fully working effectively, and how it would work if it were not present invention. In the absence of file access control there is a danger of file corruption, regardless of whether the invention is used or not.
The invention is particularly applicable to files generated by databases, such as dBase, for example, which can be large and are divided into records. Entries that are corrected, are recorded in the table, and the two versions, the original and adjusted, maintained as long as duplication is complete. The table can contain, for example, the starting point in the file, which begins corrected data, and the length, corresponding to the amount of data that are adjusted. Alternatively the table may contain identification in terms of identification of corrected records.
In a multiuser or network situation, when the computer environment allows identification of a particular user who wishes to perform dubbing, the method may also include the steps of recognition of the user and duplicate only the files that the user in the manner described above. Thus it is not necessary to intercept all incoming data messages, but only those relating to that user.
Identifying the source of inquiry methods of duplication, as described above, are able to work on files which are open rely on the ability to distinguish between read requests originating from the backup application, and requests originating from other sources, ie. E. Normal applications. This arises in step 42 in Figure 3 or step 60 in FIG. 4.
Provided the open file method is provided as an integral part of the backup application, the source of the read request can be easily defined as a duplicate application 'knows' which requests it issues. However, a problem arises if a duplicate application already exists, for example, in a standard or otherwise finished package, in the form in which it can not be altered to accommodate the open file method, which instead should be applied by the additional code.
According to a first improvement request from the backup application are distinguished from other requests tracking chain of events (ie. E. Viewing back or "upwards") to identify the area of code which iniitsiroval read request. The following example of such a method will be used again MS DOS operating system as an illustration, but similar techniques can be applied to other operating system environments. The read request is initiated by calling INT 21h, which normally would go straight into the interrupt routine. Interrupt service routine usually has no knowledge of the caller. She's only been reported to perform a specific function, and then return to the calling program. In the Intel CPUs, referred to above, which are used in DOS environments, the CPU automatically places the return address of the caller on the stack and moves to the first team of the interrupt routine. When a function is executed, the interrupt handler issues a return interrupt that causes the CPU to find the return address from the stack and continue execution at the return address. Therefore, the interrupt handler is not required to have, and really, he has no knowledge of the caller.
In the system described above with reference to FIG. 3 and FIG. 4 INT 21h interrupt routine is replaced by an alternative set of instructions. In addition to the functions described in the foregoing, these instructions can be adapted to additionally determine the source of the request, as described later.
In this improvement the interrupt handler examines the stack to determine the return address. In the case of CPU Intel series 80h86 code phase and a segment of the caller will be remembered as the first and second floor at the top of the stack, ie, at SS: [SP] and SS: [SP +2], respectively. Driving steps listed under MS DOS -Application this improvement is given as an appendix to this description.
A subroutine can then check the source of the request, as specified by the stack, and to identify the program that made the call, the number of possible ways, of which the following are examples.
I) Since the code in each version of the program ready to use one and the same, may be investigated various characteristics of the code around the return address to determine if the caller is a known backup program. The code around the return address is compared with the code expected from the backup program which is used to determine if there is a match indicating that the call is made backup program.
II) Alternatively, it may be established by reference to the program name in the program segment prefix (PSP) and the medium line associated with each loaded program. From the stack the segment is known and the program segment prefix can be read. This will determine the location of the line environment and hence the program name. This method is fully described in the textbook "Undocumented DOS", Andrew Schulman et al., Ed. Addison-Wesley, 2nd ed. 1993, ISBN 0-201-63287-X, see. Chapter 7, especially pp. 356-359.
In the case of an operating system other than MS DOS identity of the caller can be determined from the other parameters of the stack, including the number links, number of identical tasks, process numbers and the like. In certain operating systems, global variables can also be used to establish the process name.
The method relies on the recognition of some of the known characteristics of the caller, such as program name, the name of the process (or communication) or the recognition of a "signature" in the program code, which may be a known sequence of bytes, view back to the caller on the stack.
In accordance with a second improvement which can be used in a network server environment, the identity of callers determined redundancy particular user only for purposes of redundancy. Instead of establishing the identity of the program is recognized by the user name (unique user identification) and assumes that all requests from the reserved user come from the backup program.
As each user is required to enter the server before access to files is provided, this is an effective method, provided of course that the user name is always used for duplication, and not for any other purpose. This method does not require prior knowledge of the particular backup program. Likewise may be requested process or task identification specific to the backup process to determine whether it is a duplicate process or another application which is requesting reading. Two tasks with the same identification (id) never exist at the same time, so they uniquely identify the processes at any instant (though task numbers that are reused).
The foregoing is described with reference to the read request, but it is also possible to apply the same procedure to write requests. If the substitute program issues a write request, then must be taken the appropriate action, which will typically include some error routine, as the redundant application should not normally issue write requests to the interrupt handler.
As described above, the additional instructions first look through to determine whether an interrupt request reading (or writing) and, if so, browsing to find out whether there was prompted backup program or other application. In principle the order of these two operations could be, nevertheless, a reflux and the caller would be determined first before the investigated type of call.
Guaranteed file access overlaps the open file method described with reference to FIG. 3 and FIG. 4 assumes that read access to files can always be obtained by duplicate application. In practice, this may not always be true, since the file may already be opened for exclusive read / writer used in other applications and, therefore, access can be denied duplicated application.
The present inventor has taken into account that as a duplicate application should never write to the files, which it dubs and as a way to open files as described above, will ensure that a copy of the file obtained by duplicating the application does not change during the duplication is really completely safe for the backup application to have read access to the file.
Access for duplication can be provided as follows.
The operating system typically maintains a table of all open files, which includes information such as identifiers of operating files, the current file offset pointers, and access rights stored for each open file.
In the case of MS DOS operating system files are opened using the function INT 21h. Thus file open requests can be identified by addition to the same alternative set of instructions as described above. By using the methods of identifying the source of the request described in the previous section, or direct command from the backup program, it can be ascertained that the request for the opening of the file has been made redundant application and, if so, the table of open files can be temporarily processed to ensure that access to the file available, even if he is not usually allowed. When access is granted, but before the interrupt handler returns, the table is restored to its previous state, so that subsequent requests from other applications will be refused access as usual. Read request from the backup application will then be satisfied, even though the original application believes it has exclusive use of the file.
The MS DOS table of open files is known as a system file table. The system file table is a table containing a component for each open file. Each component provides a way to access provided for access to the file. Additional commands that are necessary, modify the system file table when the duplicate application requires access to an open file by temporary changes in the relevant components of the system file table to create the impression that the permissions that are not normally allowed to access redundant application has not yet been provided. Before returning to the calling program access rights in the system table files back to their original state.
The system file table is fully described in the textbook "Undocumented DOS", to which reference is made above, see chap. 8, pp. 465-469 and 490-494. Specifically, in the case of DOS operating system, the steps required in the INT 21h interrupt handler to guarantee access duplicated application shown in FIG. 5.
Referring to FIG. 5, after receipt of a file open command as INT 21h call, in step 70 a determination is made regarding the source of the request, using one of the methods described in the previous section. If so, then a determination is made at step 72 as to whether the already opened file to which access is required. If the answer to any of these questions is "no", then the program returns to the normal routine handler INT 21h, step 74. If the answer to both questions is "yes", then performed a special code described in FIG. 5.
This occurs as follows. Each component in the system file table contains the access method provided by the requesting process ("attribute access method"). In step 76, or the current source attribute ways to access the corresponding components in the system file table is stored. At step 78 then access method attribute is changed to the state "never refused", with the result that the system file table is in inoperative condition, in which it does not stop multiple access to the open file. Now a normal INT 21h interrupt handler can be called in step 80 in order to open a file for backup software in the usual way. When the back-up program has finished with the file, the original, previously saved attribute access method is returned to the file system table (step 82). Finally, execution returns to the calling program using the IRET command, which reads the stack (step 84).
The steps given in the Appendix assume that this improvement is used, providing guaranteed access to the file.
The specific way in which to change the system file table is not important and could be used in different ways. The preferred method manipulates the sharing fields "share_prev_sft" and "share_net_ machine" (cm. Undocumented DOS, p. 478). By manipulating these fields, for example, by changing the value of "deny read out" to "nobody denied" may be caused as offered access to backup program. Alternatively, parts SHARE utility, which is part of the MS DOS, could be changed so that access is granted (see. Cited textbook, pp. 490-494).
A similar method could be used in other operating system environments, for example, Novell NetWare.
Determination of "good" state open file method described above with reference to FIG. 3 and FIG. 4 ensures that a file opened for the duplication does not change during the execution of duplication. However, it does not establish that the file is in "good" condition at the start of duplication. For example, another application could write the input message, which includes a series of write operations, some of which are made, and some of them are not satisfied. Because the backup method operates on open files, so it is possible for the backup application to receive a copy of the file containing a partial input message.
The inventor has taken into account that by delaying the file open request from a backup application until such time as it can be determined that the input message is not executed, can be achieved "good condition" backup copy of the file. Since most network operating systems are by their nature multiply, i.e. designed to run more than one process and the ability to delay one process while another completes is a common facility of such operating systems, this can be easily achieved. Usually, it does not matter if the back-up operation is delayed for a short time, since users are not usually dependent on its completion, particularly if files can be duplicated until opened. The delay in the file open request corresponds to delaying the start signal which starts executing routines described with reference to FIG. 3 and FIG. 4.
The second method is applicable where no inherent means to maintain the integrity of the incoming message. Then it can be used an alternative way of establishing the integrity of the input messages. Input messages usually occur within a relatively short period of time with longer time intervals occurring between the input messages. The application will usually bring to an end all write operations required for a single input messages in quick succession, t. To. Otherwise, there is a danger that a power failure or similar fatal problem will cause that the data disk will contain a partial input message that, when restart the system will be detected as a corrupted file. Obviously, the shorter the period in which the input message is written to disk, the less likely that the unrelated fatal problem (such as a power failure) happens during this incoming message. By measuring the time period between successive write operations may make a value judgment regarding the state of the input message file. For example, if there was no record, for example, at the last minute is very unlikely that the application is on the part of the path for the recording of the input message. With the help of empirical adjustment period of inactivity to the characteristics of the application can be installed very reliable indicator of the integrity of the input messages.
Thus, various improvements are described in the methods illustrated with reference to FIG. 3 and FIG. 4, namely various techniques for request source identification, a method for ensuring guaranteed file access, and techniques for ensuring that the file to be duplicated, is in "good" condition, before there is a duplication. These various improvements are preferably used in combination. However, they can be used selectively and independently, and is not necessary that they be applied simultaneously in the same application.
The invention is chiefly described in terms of the DOS operating system, more particularly MS DOS. However, the invention does not rely on any particular CPU architecture in order to operate. In particular, it is not limited to DOS operating systems, and could be applied in Novell NetWare, OS / 2, or UNIX, and on Macintosh computers, that use CPUs 6800 and PowerPC series.
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9594925B2 | Cited by | United States of America | Applicant |
93 members in 25 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 9505939 | United Kingdom | A | |
| 95059390 | – | – | – |
| GB19950005939 | – | – | – |
Members93
| Document | Office | Kind | |
|---|---|---|---|
| GB9424637D0 | United Kingdom | D0 | |
| GB9505939D0 | United Kingdom | D0 | |
| AU7786894A | Australia | A | |
| WO9519599A1 | World Intellectual Property Organization (WIPO) | A1 | |
| GB2290396A | United Kingdom | A | |
| CA2153508A1 | Canada | A1 | |
| EP0710375A1 | European Patent Office (EPO) | A1 | |
| US5546534A | United States of America | A | |
| CA2213312A1 | Canada | A1 | |
| WO9629650A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU5115496A | Australia | A | |
| IS4535A | Iceland | A | |
| NO973991D0 | Norway | D0 | |
| US5675725A | United States of America | A | |
| NO20041944L | Norway | L | |
| NO20041945L | Norway | L | |
| NO973991L | Norway | L | |
| MX9707260A | Mexico | A | |
| EP0815512A1 | European Patent Office (EPO) | A1 | |
| PL322454A1 | Poland | A1 | |
| AU687095B2 | Australia | B2 | |
| BG101864A | Bulgaria | A | |
| BR9607912A | Brazil | A | |
| AU695339B2 | Australia | B2 | |
| KR19980703229A | Republic of Korea | A | |
| EP0880096A1 | European Patent Office (EPO) | A1 | |
| CZ293097A3 | Czechia | A3 | |
| EP0710375B1 | European Patent Office (EPO) | B1 | |
| JPH11502339A | Japan | A | |
| NZ304065A | New Zealand | A | |
| AT176824T | Austria | T | |
| ATE176824T1 | Austria | T1 | |
| DE69416591D1 | Germany | D1 | |
| NZ331685A | New Zealand | A | |
| NZ331686A | New Zealand | A | |
| HU9900368A2 | Hungary | A2 | |
| HUP9900368A2 | Hungary | A2 | |
| EP0921466A1 | European Patent Office (EPO) | A1 | |
| EP0921467A1 | European Patent Office (EPO) | A1 | |
| ES2130447T3 | Spain | T3 | |
| GR3030004T3 | Greece | T3 | |
| DE69416591T2 | Germany | T2 | |
| DK0710375T3 | Denmark | T3 | |
| EP0880096B1 | European Patent Office (EPO) | B1 | |
| AT185207T | Austria | T | |
| ATE185207T1 | Austria | T1 | |
| DE69420979D1 | Germany | D1 | |
| HU9900368A3 | Hungary | A3 | |
| HUP9900368A3 | Hungary | A3 | |
| ES2137789T3 | Spain | T3 | |
| DE69420979T2 | Germany | T2 | |
| DK0880096T3 | Denmark | T3 | |
| EP0815512B1 | European Patent Office (EPO) | B1 | |
| AT193608T | Austria | T | |
| ATE193608T1 | Austria | T1 | |
| DE69608673D1 | Germany | D1 | |
| RU2155373C2This record | Russian Federation | C2 | |
| DK0815512T3 | Denmark | T3 | |
| ES2148739T3 | Spain | T3 | |
| JP2000514211A | Japan | A | |
| GR3034153T3 | Greece | T3 | |
| DE69608673T2 | Germany | T2 | |
| KR100285534B1 | Republic of Korea | B1 | |
| EP0921467B1 | European Patent Office (EPO) | B1 | |
| AT202645T | Austria | T | |
| ATE202645T1 | Austria | T1 | |
| DE69613594D1 | Germany | D1 | |
| ES2159916T3 | Spain | T3 | |
| DK0921467T3 | Denmark | T3 | |
| BG63373B1 | Bulgaria | B1 | |
| PT921467E | Portugal | E | |
| GR3036695T3 | Greece | T3 | |
| DE69613594T2 | Germany | T2 | |
| EP0921466B1 | European Patent Office (EPO) | B1 | |
| AT219262T | Austria | T | |
| ATE219262T1 | Austria | T1 | |
| PL183365B1 | Poland | B1 | |
| DE69621841D1 | Germany | D1 | |
| DK0921466T3 | Denmark | T3 | |
| PT921466E | Portugal | E | |
| ES2179424T3 | Spain | T3 | |
| DE69621841T2 | Germany | T2 | |
| KR100413915B1 | Republic of Korea | B1 | |
| CA2213312C | Canada | C | |
| NO20041944D0 | Norway | D0 | |
| CZ294040B6 | Czechia | B6 | |
| NO317208B1 | Norway | B1 | |
| CN1627267A | China | A | |
| CN1627274A | China | A | |
| CA2153508C | Canada | C | |
| HU224852B1 | Hungary | B1 | |
| JP2006099784A | Japan | A | |
| JP3769019B2 | Japan | B2 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| The patent is invalid due to non-payment of feesMM4A | MM4A |
Numbers
- Publication, DOCDB
- 2155373
- Publication, EPODOC
- RU2155373
- Application
- 9711745109
- Application, DOCDB
- 97117451
- Application, EPODOC
- RU19970117451
Titles
- English
- COMPUTER DUPLICATION SYSTEM, WHICH OPERATES WITH OPEN FILES
Classification
- IPC, 2
- G06F11 14
- G06F15 16