Method and system for providing transfer of analytic application data over a network
First Claim
Patent Images
1. In a multithreaded analytic application executed by a source computer system and capable of concurrent execution of multiple session threads, a method for transferring data, the method comprising:
- receiving an incoming request for analytic data resident in a mass storage unit on the source computer system;
authenticating the incoming request;
spawning a session thread that reads and parses a command received via the incoming request, the command for sending the data to a second computer system; and
concurrently executing a plurality of data transformation threads within the session thread, comprisinga reader thread that reads data and writes at least a part of the data to a first data block buffer;
a compressor thread that compresses the part of the data in the first data block buffer into a compressed data block and writes the compressed data block to a second data block buffer;
an encryptor thread that encrypts the compressed data block in the second data block buffer into an encrypted and compressed data block and writes the encrypted and compressed data block to a third data block buffer; and
a writer thread that reads the encrypted and compressed data block in the third data block buffer and sends the encrypted and compressed data block to the second computer;
restoring a connection with the second computer system when an ongoing connection is lost; and
resuming transfer of data to the second computer system at the point in the data where the ongoing connection was lost.
8 Assignments
0 Petitions
Accused Products
Abstract
A method and system providing a high speed and secure data link for moving large amounts of data across a network, such as the data used in an analytic application. Featured are simultaneous compression and encryption of the data, as well as means for recovery in the event the network connection is lost.
229 Citations
32 Claims
-
1. In a multithreaded analytic application executed by a source computer system and capable of concurrent execution of multiple session threads, a method for transferring data, the method comprising:
-
receiving an incoming request for analytic data resident in a mass storage unit on the source computer system; authenticating the incoming request; spawning a session thread that reads and parses a command received via the incoming request, the command for sending the data to a second computer system; and concurrently executing a plurality of data transformation threads within the session thread, comprising a reader thread that reads data and writes at least a part of the data to a first data block buffer; a compressor thread that compresses the part of the data in the first data block buffer into a compressed data block and writes the compressed data block to a second data block buffer; an encryptor thread that encrypts the compressed data block in the second data block buffer into an encrypted and compressed data block and writes the encrypted and compressed data block to a third data block buffer; and a writer thread that reads the encrypted and compressed data block in the third data block buffer and sends the encrypted and compressed data block to the second computer; restoring a connection with the second computer system when an ongoing connection is lost; and resuming transfer of data to the second computer system at the point in the data where the ongoing connection was lost. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a first multithreaded analytic application executed by a target computer system and capable of concurrent execution of multiple session threads, a method for receiving data transferred from a source computer, the method comprising:
-
issuing a request for data to the source computer system on which the data resides, the source computer system executing a second multithreaded analytic application; spawning a session thread in response to a message from the source computer system; receiving from the source computer system at least one encrypted and compressed data block of the data; and concurrently executing a plurality of data transformation threads within the session thread, comprising a reader thread for writing the encrypted and compressed data block to a first data block buffer; a decryptor thread for decrypting the encrypted and compressed data block into a compressed data block and writing the compressed data block to a second data block buffer; and a decompressor thread for decompressing the compressed data block in the second data block buffer and writing a resultant data block to a third data block buffer; restoring a connection with the source computer system when an ongoing connection is lost; and resuming transfer of data from the source computer system at the point in the data where the ongoing connection was lost. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A source computer system comprising:
-
a bus; a memory unit coupled to the bus;
a multithreaded analytic application stored in the memory unit, and comprising;a listener object for receiving an incoming request for data resident in a mass storage unit on the source computer system; protocol for authenticating the incoming request; a session manager object for spawning a session thread that reads and parses a command received via the incoming request, the command for sending the data to a second computer system; a reader channel object for reading data and writing at least a part of the data to a first data block buffer; a compressor channel object for compressing the part of the data in the first data block buffer into a compressed data block and writing the compressed data block to a second data block buffer; an encryptor channel object for encrypting the compressed data block in the second data block buffer into an encrypted and compressed data block and writing the encrypted and compressed data block to a third data block buffer; and a writer channel object for reading the encrypted and compressed data block in the third data block buffer and sending the encrypted and compressed data block to the second computer, wherein the application executes the reader channel object, the compressor channel object, the encryptor channel object, and the writer channel object concurrently; and a processor coupled to the bus, the processor configured for executing the multithreaded analytic application, wherein the processor is further configured for; restoring a connection with the second computer system when an ongoing connection is lost; and resuming transfer of data to the second computer system at the point in the data where the ongoing connection was lost. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A target computer system comprising:
-
a bus; a memory unit coupled to the bus; a multithreaded analytic application stored in the memory unit, and comprising; a first session thread for issuing a request for data to a source computer system on which the data resides; a session manager object for spawning a session thread in response to a message from the source computer system; a listener object for receiving from the source computer system at least one encrypted and compressed data; a reader channel object for reading data and writing at least part of the encrypted and compressed data to a first data block buffer; a decryptor channel object for decrypting the encrypted and compressed data block into a compressed data block and writing the compressed data block to a second data block buffer; and a decompressor channel object for decompressing the compressed data block in said the second data block buffer and writing a resultant data block to a third data block buffer, wherein the application executes the reader channel object, the decryptor channel object, and the decompressor channel object concurrently; and a processor coupled to the bus, the processor configured for executing the multithreaded analytic application, wherein the processor is further configured for; restoring a connection with the source computer system when an ongoing connection is lost; and resuming transfer of data from the source computer system at the point in the data where the ongoing connection was lost. - View Dependent Claims (27, 28, 29, 30, 31, 32)
-
Specification