The IP.com Prior Art Database
English (United States)
4 pages / 46.9 KB
Page 01 of 4
Transparent and flexible method to persist data to a computer system or storage system
Disclosed is a transparent and flexible method and program to persist selected data from a computer system to another computer system or a storage system. The computer systems or the computer system and the storage system communicate over a network or similar communication device using a standard or proprietary protocol.
Generally, computer systems without persistent storage provide a number of benefits over computer systems that contain persistent storage (e.g., hard disks or flash memory):
Less moving parts, resulting in increased reliability. This can also result in lowered costs.
Increased security as it is virtually impossible to steal information by stealing the
computer system or parts of the computer system.
No dependencies on customer-managed storage if the customer would have to
provide persistent storage, e.g., in the form of network-attached storage (NAS).
For example, such a computer system without persistent storage could be a so-called virtual appliance (i.e., an encapsulated software stack consisting of operating system and application programs) that is hosted in a customer-managed physical computer system with limited resources and few predefined properties. In this scenario, relying on persistent storage would limit the flexibility of the offering, introduce dependencies on the customer, and would potentially compromise the integrity of the appliance stack.
However, in a large number of scenarios, including the exemplary one above, at least some limited persistent storage is required (e.g., to hold application-program data), which can be provided by another computer system or a storage system. Today, there are several ways how to connect these two computer systems:
Mounting storage into the file system. However, this requires all persistent data to be stored in this directory tree.
Modifying the application programs to store relevant data to the other computer
system using some standard or proprietary protocol. However, this requires modifications of all relevant application programs.
Implementing a file system, e.g., by using the Linux Filesystem in Userspace (FUSE) package. This provides a transparent service to application programs but requires a lot of implementation work.
The present idea has the following advantages over these existing solutions:
It is transparent to application programs, i.e., it does not require any modifications.
It can monitor configurable parts of the whole file system, i.e., it does not require
persistent data to be stored in a certain directory tree.
It can provide additional functionality, for example:
Compressing data before transfer.
Encrypting data before transfer.
Automatically checking transfer and storage using checksums.
Reducing transfers by transferring certain data only in certain intervals.
Page 02 of 4
Prioritizing transfers in order to give priority to critical data or to optimize...