|How It Works|
The facilitator between the sender and the recipient is called a Relay. Its role is to act as a common trust between two parties involved in a transaction. The Relay provides 3 major functions in order to facilitate data transfers.
The magicVORTEX application makes this process transparent to the end-users. When sending a file, it appears to transfer directly to the destination computer. The technical details behind facilitated streaming allow for a simple and intuitive user experience.
|Sending Files (A Walkthrough)|
The Client copies a file into the Cage and sends a Publication request to the Relay. The Publication request contains information about the file (filename, size, modified date), a list of recipients, a description of the transfer, and whether the sender desires a confirmation email to be sent to them upon completion.
The Relay validates the request and deducts the file size from the account's available balance.
The Relay resolves the recipient email address(es) and identifies which recipients are registered users. The recipients who are not registered users are sent an email message informing them of the file and ways for them to retrieve it. Registered users will now start receiving the new file in the list of active files discussed in "Receiving Files" from above.
The Client sends the first packet of data in the file to the Relay.
The Relay stores the data in the Repository and records the new byte count.
The Client continues to send data packets until the byte count is equal to the file's original size. When the file is completely sent, the Client truncates the copy of the file stored in the Cage down to zero bytes in order to immediately free up hard disk space.
The file now remains active until the file expires based on the default duration or someone aborts it or the recipient sends a Finalization request.
When the Client retrieves the active file list and detects the file is no longer active the temporary file is removed from the Cage.
Once the file becomes inactive for any reason the file is deleted from the Repository and any requested confirmation email messages are sent.
|Receiving Files (A Walkthrough)|
The Client sends a request to the Relay inquiring on all active files that are addressed to the current user's email address or aliases.
The Client scans the list for any files are not yet completed and records the byte count already received in the past.
The Client requests a packet of data from the Relay corresponding to an active file and indicating the current byte count.
If the request for data is valid, the Relay sends a packet of data to the Client and records a new byte count.
The Client receives the data packet and writes the data at the end of the staging file stored in the Cage.
The Client adds the packet size to the byte count and proceeds to request the next packet of data.
When all the bytes for a particular file are received, the Client sends a Finalization request to the Relay to request that the file is recorded and completely and successfully received.
If the Relay has not received any cancellation requests and has not encountered any errors, then the file is recorded as complete and the file become inactive.
The Client can now save the file which causes the file to be moved out of the staging file stored in the Cage and copied to the location specified by the user.
magicVORTEX enables users to send files securely and directly. The procedure is straightforward and does not require a lengthy certificate acquisition process. By using strong encryption (128-bit key strength) and widely accepted technology (SSL), magicVORTEX can deliver the same reliability and security that protects the financial community throughout the world.
For secure transfers, the Vortex Relay becomes a "shared trust" between the sender and receiver. The Vortex Relay will act as an arbiter for the transaction. The importance of this shared trust is that it allows the use of client-based Secure Sockets Layer (SSL) as the key exchange mechanism.
When sending a file, sender establishes a SSL connection with the Vortex Relay using a dynamically generated key. During this phase, the program validates the authenticity of the Vortex Relay's certificate, therefore ensuring against impersonation. This process is repeated on the recipientís computer. Once the file transfer is initiated, the transfer will continue streaming, block by block, until completed. Every bit of transmitted data is encrypted using the SSL generated key. The net effect is an easy to use yet still highly secure transfer.