SECURE BLOCK READ AND WRITE PROTOCOL FOR REMOTELY STORED FILES
First Claim
Patent Images
1. A system for secure remote file storage, the system comprising:
- a client workstation including;
an operating system;
a user application;
a remote drive interface coupled to said user application; and
a data transfer layer protocol client coupled to said remote drive interface and for coupling to a server over a network, anda server including;
an operating system;
a server file system;
a data transfer layer protocol server for coupling to a client workstation over a network; and
a file handler coupled to said data transfer layer protocol server and to said server file system,wherein said remote drive interface receives block level file commands and unencrypted and uncompressed data blocks of a file from said user application and provides block commands and data blocks to said data transfer layer protocol client, wherein said data transfer layer protocol client compresses and encrypts each block of data received from said remote drive interface for transmission to said server and decrypts and decompresses blocks received from said data transfer layer protocol server and provides the unencrypted and uncompressed data to said remote drive interface,wherein said data transfer layer protocol server receives the encrypted and compressed data blocks from said data transfer layer protocol client and decrypts and decompresses said data blocks for storage in said server file system and provides said data blocks to said file handler for storage in said server file system and compresses and encrypts data blocks retrieved from said server file system by said file handler for transmission to said client workstation, andwherein said data blocks are less than the full size of the file.
8 Assignments
0 Petitions
Accused Products
Abstract
A file transfer system including a client and a server capable of updating portions of the file stored on the server. The system is capable of uploading portions of a file before the file has been specified at the client side. The files are stored in raw at the client and the server, which preserves the block list mapping. The file transfer protocol is capable of compressing and encrypting transferred data. As a result, the partial file writes are possible while maintaining current bandwidth usage. The write request data structure is provided with additional features in the form of flags and fields to provide reliable transmission of partial file data.
23 Citations
12 Claims
-
1. A system for secure remote file storage, the system comprising:
-
a client workstation including; an operating system; a user application; a remote drive interface coupled to said user application; and a data transfer layer protocol client coupled to said remote drive interface and for coupling to a server over a network, and a server including; an operating system; a server file system; a data transfer layer protocol server for coupling to a client workstation over a network; and a file handler coupled to said data transfer layer protocol server and to said server file system, wherein said remote drive interface receives block level file commands and unencrypted and uncompressed data blocks of a file from said user application and provides block commands and data blocks to said data transfer layer protocol client, wherein said data transfer layer protocol client compresses and encrypts each block of data received from said remote drive interface for transmission to said server and decrypts and decompresses blocks received from said data transfer layer protocol server and provides the unencrypted and uncompressed data to said remote drive interface, wherein said data transfer layer protocol server receives the encrypted and compressed data blocks from said data transfer layer protocol client and decrypts and decompresses said data blocks for storage in said server file system and provides said data blocks to said file handler for storage in said server file system and compresses and encrypts data blocks retrieved from said server file system by said file handler for transmission to said client workstation, and wherein said data blocks are less than the full size of the file.
-
-
2. A method of requesting one or more data blocks, by a user application running on a client workstation, from a server file system coupled to a server comprising the steps of:
-
retrieving requested data blocks of a file from the server file system and providing the requested data blocks to a data transfer layer protocol server; compressing and encrypting the requested data blocks at the data transfer layer protocol server; transmitting the compressed and encrypted requested data blocks to a data transfer layer protocol client running on the client workstation; decrypting and decompressing the compressed and encrypted requested data blocks at the data transfer layer protocol client; and transferring the decrypted and decompressed requested data blocks to the user application, wherein said data blocks are less than the full size of the file. - View Dependent Claims (3, 4)
-
-
5. A method of uploading data blocks to a server file system coupled to a server from a user application running on a client workstation comprising the steps of:
-
transferring data blocks of a file and block level file transfer commands to a data transfer layer protocol client running on the client workstation; compressing and encrypting the data blocks at the data transfer layer protocol client; transmitting the compressed and encrypted data blocks to a data transfer layer protocol server coupled to the server file system; decrypting and decompressing the compressed and encrypted data blocks at the data transfer layer protocol server; and uploading the decrypted and decompressed data blocks to the server file system, wherein said data blocks are less than the full size of the file. - View Dependent Claims (6, 7)
-
-
8. A method for transferring data blocks between a user application running on a client workstation and a server file system comprising the steps of:
-
generating block level file commands for transferring data blocks of a file between a user application running on the client workstation and a server file system coupled to a server; operating a remote file interface layer for receiving block level file commands and block data from the user application and providing corresponding block level commands to a data transfer layer protocol client, and receiving data blocks from the data transfer layer protocol client and transferring the received data blocks to the user application; operating the data transfer layer protocol client for receiving block level file commands from the remote drive interface layer and coupled to a data transfer layer protocol server via a network, wherein operating the data transfer layer protocol client comprises the steps of; compressing and encrypting the data blocks received from the remote drive interface layer; and transmitting the block level file commands and the compressed and encrypted data blocks to the data transfer layer server when uploading data blocks; decrypting and decompressing data blocks received from the data transfer layer protocol server; and transferring the decrypted and decompressed data blocks to the remote drive interface when retrieving data blocks, wherein said data blocks are less than the full size of the file.
-
-
9. A method for transferring data blocks between a remote data file database and a client workstation comprising the steps of:
-
operating a file handler, coupled to the server file system and responsive to a data transfer layer protocol server for storing and retrieving data blocks of a file to and from the server file system based on the block level file commands received from the data transfer layer protocol server; and operating the data transfer layer protocol server coupled to a data transfer layer protocol client, running on the client workstation, via a network for receiving block level file commands from the data transfer layer protocol client, wherein operating the data transfer layer protocol server comprises the steps of; decrypting and decompressing the data blocks received from the data transfer layer protocol client and providing the decrypted and decompressed data blocks to the file handler when uploading data; and compressing and encrypting data blocks received from the file handler and transmitting the compressed and encrypted data blocks to the data transfer layer protocol client when retrieving data, wherein said data blocks are less than the full size of the file. - View Dependent Claims (10)
-
-
11. A client workstation for secure remote file storage, comprising:
-
at least one processor; an operating system; a user application running on the operating system; a remote drive interface coupled to the user application; and a data transfer layer protocol client coupled to the remote drive interface and for coupling to a server over a network, wherein the remote drive interface receives block level file commands and unencrypted and uncompressed data blocks of a file from the user application and provides block level file commands and data blocks to the data transfer layer protocol client, wherein the data transfer layer protocol client encrypts and compresses each data block received from the remote drive interface for transmission to the server and decrypts and decompresses data blocks received from the server and provides the decrypted and decompressed data to the remote drive interface, and wherein said data blocks are less than the full size of the file.
-
-
12. A server workstation for secure remote file storage comprising:
-
at least one processor; an operating system; a server file system; a data transfer layer protocol server for coupling to a client workstation over a network; and a file handler coupled to the data transfer layer protocol server and the server file system, wherein the data transfer layer protocol server receives encrypted and compressed data blocks of a file and block level file commands from the client and decrypts and decompresses the data blocks for storage in the server file system and provides the data blocks to the file handler for storage, wherein the data transfer layer protocol server compresses and encrypts data blocks received from the file handler and transmits the compressed and encrypted data blocks to the client, and wherein said data blocks are less than the full size of the file.
-
Specification