IP Library Granted Patent US 9,614,895
Granted Patent B2
US 9,614,895 · App. 14/374,834 · Granted Apr 4, 2017

File transfer using XML

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,614,895
App. No.
14/374,834
Granted
Apr 4, 2017
Kind
B2
Abstract

A tangible, machine readable storage medium stores instructions and implements a method when the instructions are executed by a processor. A source file is received by a gateway engine. The source file is a binary file. The source file is portioned into multiple parts by a breakdown engine. The multiple parts are transferred by a reliable transfer engine using a single port according to a messaging protocol to transfer messages reliably between nodes in the presence of any of software failures, component failures, system failures, or network failures. The multiple parts are reassembled into a copy of the source file by a reassembly engine.

Claims (44)

1. A non-transitory, tangible, machine readable storage medium storing instructions that, when executed by a processor, cause the processor to:

receive a source file, the source file being a binary file;

portion the source file into multiple parts, wherein each of the multiple parts includes binary data;

for each of the multiple parts, create an XML document containing a reference to the binary data; and

transfer the multiple parts to a destination node through a single port,

wherein to transfer each of the multiple parts to the destination node, the processor is to:

determine whether a communication channel connected to the port supports Message Transmission Optimization Mechanism (MTOM);

in response to a determination that the communication channel supports MTOM, transmit each of the multiple parts and the respective XML document to the destination node through the communication channel, and

in response to a determination that the communication channel does not support MTOM, replace the reference to the binary data in each of the XML documents with an encoded representation of the binary data, and transmit each of the XML documents to the destination node through the communication channel without attachments, and

wherein the multiple parts are reassembled at the destination node into a copy of the source file by a reassembly engine.

2. The non-transitory, tangible, machine readable storage medium as defined in claim 1 , wherein the multiple binary-data parts are transferred to the destination node using connectivity rules, delivery confirmation, ordering management, duplicate messaging protection, or a combination thereof.

3. The non-transitory, tangible, machine readable storage medium as defined in claim 1 , wherein the instructions are to cause the processor to encode the binary data of each of the multiple parts in XML by (i) storing the binary data in a container and referencing the binary data in XML, or by (ii) using Base 64 encoding.

4. The non-transitory, tangible, machine readable storage medium as defined in claim 1 , wherein the instructions are to cause the processor to add a security protocol layer to each of the multiple binary-data parts.

5. A method for transferring binary files across web service channels using XML, the method comprising:

receiving a source file by a gateway engine, the source file being a binary file;

portioning the source file into multiple parts by a breakdown engine, wherein each of the multiple parts includes binary data;

for each of the multiple parts, creating an XML document containing a reference to the binary data;

transferring the multiple parts by a reliable transfer engine to a destination node using a single port according to a messaging protocol,

wherein transferring each of the multiple parts to the destination node includes:

determining whether a communication channel connected to the port supports Message Transmission Optimization Mechanism (MTOM);

in response to a determination that the communication channel supports MTOM, transmitting each of the multiple parts and the respective XML document to the destination node through the communication channel,

in response to a determination that the communication channel does not support MTOM, replacing the reference to the binary data in each of the XML documents with an encoded representation of the binary data, and transmit each of the XML documents to the destination node through the communication channel without attachments, and reassembling the multiple parts into a copy of the source file by a reassembly engine.

6. The method as defined in claim 5 wherein the reliable transfer engine includes connectivity rules, delivery confirmation, ordering management, duplicate messaging protection, or a combination thereof.

7. The method as defined in claim 5 , wherein the method further comprises encoding, by an encoder, binary data of each of the multiple parts in XML by (i) storing the binary data in a container and referencing the binary data in XML, or by (ii) using Base 64 encoding.

8. The method as defined in claim 5 , further comprising adding a security protocol layer to each of the multiple parts.

9. A system for transferring files using XML, comprising:

a processor; and

a non-transitory, tangible memory device storing instructions that when executed by the processor cause the processor to:

receive a source file, the source file being a binary file;

parse the source file in multiple parts, each of the multiple parts containing binary data;

for each of the multiple parts, create an XML document containing a reference to the binary data; and

transmit the multiple parts to a destination node using a single port,

wherein to transmit each of the multiple parts to the destination node, the processor is to:

determine whether a communication channel connected to the port supports Message Transmission Optimization Mechanism (MTOM);

in response to a determination that the communication channel supports MTOM, transmit each of the multiple parts and the respective XML document to the destination node through the communication channel, and

in response to a determination that the communication channel does not support MTOM, replace the reference to the binary data in each of the XML documents with an encoded representation of the binary data, and transmit each of the XML documents to the destination node through the communication channel without attachments.

10. The system as defined in claim 9 wherein the transfer engine further includes: a Reliable Messaging (RM) Source to assign a message number to each of the multiple parts beginning at 1 and increasing by 1 for each subsequent part, the message numbers assigned in the same order in which the multiple parts are sent to the destination node.

11. The system as defined in claim 10 , wherein the RM Source retransmits a message not acknowledged by a RM Destination.

12. The system as defined in claim 9 , wherein the destination node includes a reassembly engine to reconstitute the multiple parts into a copy of the source file.

13. The system as defined in claim 9 , wherein the processor is to encode the binary data in XML by (i) storing the binary data in a container and referencing the binary data in XML, or by (ii) using Base 64 encoding.

14. The system as defined in claim 9 , wherein the instructions are to cause the processor to: and wherein the

embed each of the XML documents in a SOAP message; and

stream the SOAP message and referenced binary data as a multi-part MIME to the destination node.

15. The system as defined in claim 9 , wherein the processor is to create the XML document for each of the multiple parts using XML-binary Optimized Packaging (XOP) protocol.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENT. SERVICES DEVELOPMENT CORPORATION LP
Reel/Frame 041041/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2014
From: MELVIN, JONATHAN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 033817/0113 →