WO2013162542A1 - File transfer using xml - Google Patents
File transfer using xml Download PDFInfo
- Publication number
- WO2013162542A1 WO2013162542A1 PCT/US2012/034943 US2012034943W WO2013162542A1 WO 2013162542 A1 WO2013162542 A1 WO 2013162542A1 US 2012034943 W US2012034943 W US 2012034943W WO 2013162542 A1 WO2013162542 A1 WO 2013162542A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- engine
- binary data
- xml
- file
- destination
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Definitions
- File transfers allow for distributed computing by making files available for remote access and communication.
- XML web service standards may be used for internal and external communications.
- Some file transfer systems require multiple ports for communication of messages, and are incompatible with modern XML standards and infrastructures.
- FIG. 1 is a flow diagram depicting an example of a method according to the present disclosure
- FIG. 2 is a schematic illustration of an example file transfer system according to the present disclosure
- FIG. 3 is a flow diagram depicting an example of two methods for encoding binary data parts for subsequent transfer
- FIG. 4A is a flow diagram depicting an example of a method for preparing a source file for transfer as multiple parts
- Fig. 4B is a flow diagram depicting an example of a method for generating a copy of a source file from multiple transferred parts
- FIG. 5 is a schematic illustration of another example of the file transfer system according to the present disclosure.
- FIG. 6 is a semi-schematic view of an example of a file transfer program in a computing environment for an example file transfer as part of a local system, a remote system, and/or a cloud computing system according to the present disclosure.
- the present disclosure relates generally to systems for transferring files, and to methods of managing file transfers.
- Examples of the present disclosure include file transfers of any type and may be used within any type of environment.
- Representative environments in which examples of the present disclosure may be implemented include file transfers from individual to individual, business to business, business to
- the file transfer protocol includes, for example, a web services reliable messaging platform which defines a Simple Object Access Protocol (SOAP) binding to support interoperable web services.
- SOAP Simple Object Access Protocol
- Examples of the present disclosure enable a file transfer using XML- based technology.
- This file transfer is also called XFTP herein.
- XFTP is compatible with Security Assertion Markup Language (SAML)/ws-federation to support authentication and authorization.
- SAML Security Assertion Markup Language
- XFTP is also compatible with Secure Sockets Layer (SSL)/Transport Layer Security (TLS) and XML security standards for encryption and digital signatures. This allows secure file transfers with non- repudiation.
- SOAs SOAs
- cloud based environments as well as for business to business data transfer scenarios.
- XFTP uses the same Web 2.0 standards upon which current cloud infrastructures are based, allowing system integration that may not be possible with FTP or other legacy standards.
- Some enterprises may invest in infrastructure such as enterprise service buses and security devices. Examples according to the present disclosure allow for interoperability with such infrastructure, including XML security gateways, allowing for existing investments to be reused.
- the XFTP file transfer protocol as disclosed herein works with standard hardware load balancers and routers.
- XFTP works with XML Security Gateways such as IBM DataPower.
- XFTP supports development of SOAs and works over a single port.
- the method includes receiving a source file by a gateway engine, as shown at reference numeral 202.
- the source file is a binary file.
- the method further includes portioning the source file 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, as shown at reference numeral 206.
- the transfer of the multiple parts may be optimized according to a particular message optimization protocol, for example, in instances when such a protocol is supported by a communication channel utilized.
- the multiple parts are reassembled into a copy of the source file by a reassembly engine. It is to be understood that various examples of the method shown in Fig. 1 will be further described in reference to the other figures.
- FIG. 2 An example of a system for accomplishing XFTP according to the present disclosure is depicted generally at 10 in Fig. 2. It is to be understood that throughout the description of Fig. 2, Figures 3, 4A and/or 4B may be referenced.
- system 10 includes a gateway engine 14 which is capable of receiving a source file 12 (as shown at reference numeral 400 of Fig. 4A).
- the source file 12 is a binary file.
- the gateway engine 14 includes a breakdown engine 16 that is capable of portioning or parsing the source file 12 into multiple binary parts (as shown at reference numeral 402 of Fig. 4A).
- the breakdown engine 16 provides for a disassembly of the source binary file 12.
- a single binary part is shown at reference numeral 300 in Fig. 3.
- Each of the multiple binary parts 300 includes binary data. It is to be understood that the binary parts 300 need not be persisted/stored as individual files, but rather may simply exist in memory or be read directly from the source file 12 as needed.
- binary parts 300 may be referred to generally as chunks, sections, pieces, or portions.
- the source file 12 gets broken down into parts 300 which can be effectively transferred and later reassembled. This enables large files to be transferred in a reliable manner.
- the size of the parts 300 may be determined by requirements of a communication channel 27 as used for the transfer process. For example, the dynamics of the communication channel 27 may limit the maximum size of any single data transfer, or there may be a message size at which the channel 27 operates at peak efficiency.
- the communication channel 27 may refer to a port (which may be a physical or virtual connection) upon which data is transferred.
- the XFTP may be used over any channel 27 that supports or is capable of supporting SOAP, such as hypertext transfer protocol (HTTP), simple mail transfer protocol (SMTP), message queues (MQ), or other like examples.
- the channel 27 supports or is capable of supporting both SOAP and MTOM (discussed further hereinbelow).
- System 10 further includes an XML Encoding engine 18 which is capable of encoding the binary parts 300 in XML.
- the XML Encoding engine 18 includes a packaging engine 38 that is used to create an XML document (see reference numeral 302 in Fig. 3) for each of the multiple parts 300.
- the packaging engine 38 is an XOP engine that uses XOP standard(s) to XML encode each binary part 300. In an example using the XOP standard(s), the
- packaging/XOP engine 38 creates the XML document 302 containing an XOP reference to the binary data part 300 in its raw form.
- Fig. 4A the creation of the XML document 302 is shown at reference numeral 404.
- XML-binary Optimized Packaging XOP is a mechanism defined for the optimized serialization of XML information sets that contain binary data as developed by contributors to the W3C standards setting organization.
- An XML information set is defined according to W3C as a well-formed document satisfying certain constraints.
- MTOM Transmission Optimization Mechanism
- XOP optimization and referencing mechanism
- the system 10 further includes a source gateway 24, which is capable of receiving the XML document 302 and the referenced binary data part 300 from the XML encoding engine 18. As shown in Fig. 3, the source gateway 24, via a source gateway engine (not shown), embeds the XML document 302 within a SOAP message 304.
- a Reliable Messaging (RM) source 23 (discussed further
- WS-ReliableMessaging is a protocol developed by the source gateway 24.
- embedding the XML document 302 within the SOAP message 304 and implementing the messaging protocol may involve first embedding the XML document 302 inside a SOAP envelope, as shown at reference numeral 406, and then adding messaging protocol metadata to a header of the SOAP envelope, as shown at reference numeral 408.
- the source gateway 24 may also include another standards engine 21 .
- the other standards engine 21 allows the source gateway 24 to support other XML, WS, and/or SOAP standards to enhance the
- the other standards engine 21 may also be used to add an additional security protocol layer to each of the SOAP messages 304.
- WS-ReliableMessaging provides for extensibility under the model of SOAP and Web Services Description Language (WSDL).
- Security protocol layers include XML-Signature or other digital signatures, XML-Encryption, other SOAP extensions, Transport Layer Security (TLS) Encryption, Mutual Authentication, Federation, etc.
- XML or other digital signatures to validate to a recipient that the file has come from the correct source.
- SAML and ws-federation may be used to establish trust between the sender and receiver, and SAML may also be used to established authorization to send the message sequence.
- the source gateway 24 may include two encoders, one of which is a Base 64 encoder 20, and the other of which is an MTOM engine 22. As shown at reference numeral 412 of Fig. 4A, the source gateway 24 determines whether the communication channel 27 to be used for message transmission supports MTOM.
- the MTOM engine 22 of the source gateway 24 allows the XML SOAP message 304 and XOP referenced binary data part 300 to be streamed to a destination (e.g., a destination gateway 30) as (or in) a container, such as a multi-part MIME (shown at reference numeral 308 in Fig. 3).
- a destination gateway 30 e.g., a destination gateway 30
- the MTOM engine 22 may add MTOM metadata to the header of the SOAP envelope to generate SOAP message 304' (Fig. 3), and the MIME 308 may be used to stream the SOAP message 304' (including XML document 302) and the binary data part 300 to the destination.
- the use of MTOM may advantageously avoid an increase in the volume of data to be transferred.
- a communication channel 27 may be capable of supporting SOAP but may not be capable of supporting a mechanism for transferring raw binary data. In these instances, MTOM/XOP cannot be used to optimize the communication, at least in part because the channel 27 does not support MTOM.
- the Base 64 encoder 20 replaces the XOP reference in the XML document 302 with a Base 64 encoded representation of the binary data, as shown at reference numeral 418 of Fig. 4A. As shown in Fig. 3, this process generates a Base 64 encoded XML document 302' and a SOAP message 304" without attachments.
- the XFTP gateway engine 14, the XML encoding engine 18, and the source gateway 24 may all be part of a single component, as shown at box 26. It is to be further understood that the XFTP gateway engine 14, the XML encoding engine 18, and the source gateway 24 may be any combination of two or more separate components. In an example, the source gateway 24 or components thereof may be an IBM DataPower XML security gateway, which supports WS-ReliableMessaging, and other security and/or optimization standards.
- the SOAP message 304" without attachments or the multi-part MIME 308 is capable of being transferred from the source gateway 24 to the destination gateway 30 across the communication channel 27 and according to the messaging protocol (e.g., WS- ReliableMessaging).
- a transfer engine 28 (also referred to herein as a reliable transfer engine) includes the Reliable Messaging (RM) source 23 of the source gateway 24 and a Reliable Messaging (RM) destination 25 of the destination gateway 30.
- RM Reliable Messaging
- RM Reliable Messaging
- the reliable transfer may be accomplished according to the messaging protocol to transfer individual messages/packets (e.g., the SOAP message(s) 304" or the multi-part MIME(s) 308) reliably between nodes in the presence of any such failures.
- individual messages/packets e.g., the SOAP message(s) 304" or the multi-part MIME(s) 308
- a single port may provide for transportation of the SOAP message 304" or the multi-part MIME 308 according to the messaging protocol.
- the reliable transfer engine 28 (including RM source 23 and RM destination 25) may include features having connectivity rules, delivery confirmation, ordering management, duplicate messaging protection, or a combination thereof.
- Transfer engine 28 may enable the individual messages/packets to be received in the same order in which they were sent. This may be accomplished, for example, using the RM source 23 and the RM destination 25.
- the RM Source 23 is capable of assigning a message number to each message within a sequence (e.g., to each SOAP message(s) 304 generated for a single source file 12). The message number begins at 1 and increases by 1 for each subsequent message. The message numbers are assigned in the same order in which messages are sent.
- the RM Destination 25 includes
- the RM Destination 25 excludes the message numbers of any messages not accepted in the AcknowledgementRange elements.
- the RM Destination 25 is capable of sending the message numbers that are accepted in order to apprise the RM Source 23 of message delivery (see reference numerals 422-426 in Fig. 4A).
- the RM Destination 25 is also capable of returning "None" to the RM Source 23 instead of an AcknowledgementRange if no messages have been received by the RM Destination 25.
- the RM Source 23 may retransmit unacknowledged messages (i.e., any messages that the RM Destination 25 does not acknowledge receiving).
- the messaging protocol (e.g., WS-ReliableMessaging) may be configured to determine an amount of time regarding how far to look back for messages.
- WS-ReliableMessaging can be configured to suit the dynamics of the channel 27 across which it is operating.
- steps at reference numerals 404 through 424 are repeated for each binary data part 300 portioned from the original source file 12.
- This example of the method then continues as shown in Fig. 4B.
- all of the SOAP message(s) 304" or multi-part MIME(s) 308 generated for the single source file 12 are transmitted to the destination gateway 30, and thus a new message sequence is received, as shown at reference numeral 430 in Fig. 4B).
- the destination gateway 30 may create an empty destination file, as shown at reference numeral 432 of Fig. 4B, that will be used to create a copy of the original source file 12 (i.e., the destination file 56).
- Each message within a sequence is processed individually, as shown at reference numerals 434 through 450 of Fig. 4B.
- the destination gateway 30 receives an individual SOAP message 304" or multi-part MIME 308 and utilizes another standards engine 36 to decrypt any additional XML, validate any digital signatures, or undo or remove any other SOAP extensions that had been included by other standards engine 21 .
- the destination gateway 30 determines whether MTOM had been utilized, as shown at reference numeral 438 of Fig. 4B. In other words, the destination gateway 30 determines whether the message is a SOAP message 304" or a multi-part MIME 308. Depending upon the type of message, a different encoder 32 or 34 of the destination gateway 30 may be used to retrieve the XML document 302 with the XOP reference to binary data.
- the destination gateway 30 of the XFTP system 10 further includes two decoders, namely a Base 64 decoder 32 and an MTOM decoder 34.
- the Base 64 decoder 32 converts the XML document 302' containing Base 64 encoded binary of the SOAP message(s) 304" to the XML document 302 with XOP references to binary data.
- the Base 64 decoder 32 extracts the XML document 304" with Base 64 encoded binary data and then replaces the Base 64 encoded binary data with the XOP references to the binary data.
- the MTOM decoder 34 When the message sequence includes multipart MIME(s) 308, the MTOM decoder 34 is able to retrieve the XML document 302 with XOP references to binary data from the SOAP message 304'. As shown at reference numeral 440 of Fig. 4B, the MTOM decoder 34 directly extracts the XML document 302 with XOP references to binary data from the multi-part MIME(s) 308.
- the XFTP system 10 further includes an XML decoding engine 51 .
- the XML decoding engine 51 is capable of receiving the XML document 302 with XOP references to binary data from the destination gateway 30 and extracting the binary data from the XML document 302.
- the XML decoding engine 51 is capable of operating with a reader 40 (e.g., an XOP reader) to retrieve the binary data part, and to pass the binary data to an XFTP Destination 52.
- a reader 40 e.g., an XOP reader
- the XFTP Destination 52 is capable of receiving the individual binary part 300 from the XML Decoding Engine 51 .
- the XFTP Destination 52 is capable of operating with a reassembly engine 50 to reassemble all of the individual binary parts 300 into the empty destination file (as shown at reference numerals 448 and 450 of Fig. 4B) to create the destination file 56, which will be a copy of the source file 12.
- the reassembly engine 50 repackages/re- composites/reconstructs the decoded binary data of each of the messages/packets and strings them back together to form the copy (destination file 56) of the original source file 12.
- the steps shown at reference numerals 434 through 450 of Fig. 4B are performed for each message in order to generate the destination file 56, which will be in the same format as the original source file 12.
- the XFTP destination 52 may make the destination file 56 accessible to a user of the system 10 (as shown at reference numerals 452 and 454 of Fig. 4B).
- the XFTP destination 52 may include a file system, from which the destination file 56 is retrievable or otherwise accessible.
- Fig. 2 it is to be understood that the components indicated by destination gateway 30, XML decoding engine 51 , and XFTP destination 52 may be implemented in a single component, as shown at box 54, or may be any combination of individual components.
- the original source file 12 is a binary file, as depicted by the sequence of 1 's and 0's.
- the source file 12 is portioned and encoded at the XFTP client 26'. Also in this example, the encoded portions are received, decoded, and reassembled at the XFTP server 54'.
- the XFTP gateway 14 receives the source file 12 containing the binary data. While not shown, the breakdown engine 16 of the XFTP gateway 14 breaks the file 12 down into parts 300 A , 300 B , 300 c , 300 D , each of which contains some of the binary data from the original source file 12. The size of each part 300A, 300B, 300C, 300D is configured to suit the dynamics,
- each XML document 302 A , 302 B , 302 c , 302 D includes an XOP reference to the corresponding binary data of the respective part 300 A , 300 B , 300 c , 300 D .
- the XML documents 302 A , 302 B , 302 c , 302 D (including respective XOP references) are transmitted to the source gateway 24 for additional processing, as described above in reference to Figs. 2, 3 and 4A.
- the XML document 302 A , 302 B , 302 c , 302 D including the XOP references to raw binary data are embedded into respective SOAP messages (304, not shown in Fig. 5) and are streamed as respective multi-part MIMEs 308 A , 308 B , 308 c , 308 D .
- the XML document 302 A , 302 B , 302 c , 302 D including the XOP references to raw binary data may be embedded into respective SOAP messages (e.g., 304), and the references to raw binary data may be replaced with a Base 64 encoded representation of the binary data to create SOAP messages (e.g., 304") without attachments.
- the respective multi-part MIMEs 308 A , 308 B , 308 c , 308 D are transmitted across the communication channel 27 and are received by the destination gateway 30.
- the MTOM decoder 34 is able to retrieve the XML documents 302 A , 302 B , 302c, 302 D with XOP references to binary data from the respective SOAP messages (304', not shown in Fig. 5) of the multi-part MIMEs 308 A , 308 B , 308c, 308D- It is to be understood that when the Base 64 encoder is utilized, the Base 64 decoder 32 may be used to retrieve the XML documents 302 A , 302 B , 302 c , 302 D with XOP references to binary data.
- the XML decoding engine 51 is capable of receiving the XML document 302 A , 302 B , 302c, 302 D with XOP references to binary data from the destination gateway 30.
- the XML decoding engine 51 extracts the binary data parts 300 A , 300 B , 300c, 300 D from the respective XML document 302 A , 302 B , 302 c , 302 D .
- the reassembly engine 50 receives the individual binary part 300 A , 300 B , 300c, 300D and reassembles all of the individual binary parts 300 A , 300 B , 300c, 300D to create a copy of the source file 12 (i.e., the destination file 56, not shown).
- various components have been described as engines which may include hardware, associated programming, or a combination thereof. These components may be implemented in a variety of fashions.
- Fig. 6 illustrates examples of implementation of these components as part of any of a local system, a remote system, and a cloud computing system. As illustrated in Fig.
- a source computing system 92 may be operatively connected to a local or remote destination computing system 94 via a link 98, or to a cloud computing system 96 via a link 98', or to both systems 94, 96.
- Remote destination computing system 94 may be operatively connected to cloud computing system 96 via a link 98".
- the local or remote destination computing system 94 may include one or more standalone computing systems 94 and/or a network of destination computing systems 94.
- the links 98, 98' may be one or more of cable, wireless, fiber optic, or remote connections via a telecommunication link, an infrared link, a radio frequency link, or any other connectors or systems that provide electronic communication.
- Links 98, 98' may include, at least in part, an intranet, the Internet, or a combination of both.
- the links 98, 98' may also include intermediate proxies, routers, switches, load balancers, and the like. It is to be understood that links 98, 98' are capable of providing communication channels for XFTP system 10 to operate.
- Each of the source computing system 92 and the destination computing system 94 may be any personal computer, portable computer, content server, a network PC, a personal digital assistant (PDA), a cellular telephone or any other computing device that is capable of performing the functions as described in examples of the present disclosure.
- PDA personal digital assistant
- the programming may be processor executable instructions stored on non-transitory, tangible memory media and the hardware may include a processor for executing those instructions.
- the tangible memory media 100 and processor 102 may be implemented as examples of physical hardware 106 in the cloud 96.
- Each of the source and destination computing systems 92, 94 may also include respective processors 102', 102" and tangible memory media 100' and 100".
- the memory 100, 100', 100" stores program instructions that, when executed by processor 102, 102', 102", implement a program so as to implement examples of the XFTP file transfer protocol as disclosed herein.
- the memory 100, 100', 100" may be integrated in the same respective device as the processor 102, 102', 102", or it may be separate from, but accessible to the respective computing system 92, 94, 96.
- the program instructions may be part of an installation package that can be executed by the processor 102', 102" to implement examples of the XFTP file transfer protocol.
- the memory 100', 100" may be a portable medium, such as a compact disc (CD), a digital video disc (DVD), or a flash drive; or the memory 100', 100" may be a memory maintained by a server from which the installation package can be downloaded and installed on the respective computing systems 92, 94.
- the program instructions may be part of an installation package that can be executed by the processor 102', 102" to implement examples of the XFTP file transfer protocol.
- the memory 100', 100" may be a portable medium, such as a compact disc (CD), a digital video disc (DVD), or a flash drive; or the memory 100', 100" may be a memory maintained by a server from which the installation package can be downloaded and installed on the respective computing systems 92, 94.
- the program instructions may be part of an installation package that can be executed by the processor
- the memory 100', 100" may include integrated memory, such as a hard drive.
- the cloud computing system 96 refers to a computing system including multiple pieces of hardware operatively coupled over a network so that they can perform a specific computing task.
- the cloud 96 may include a combination of physical hardware 106, software 108, and virtual hardware 1 10.
- the cloud computing system 96 is configured to (i) receive requests from the computing system 92, 94 (or from users using the computing system 92, 94), and (ii) return request responses.
- the cloud computing system 96 may be a private cloud, a public cloud or a hybrid cloud.
- the cloud 96 may be a combination cloud computing system including a private cloud (or multiple private clouds) and a public cloud (or multiple public clouds).
- the physical hardware 106 may include, among others, processors, memory devices, and networking equipment.
- the virtual hardware 1 10 is a type of software that is processed by the physical hardware 106 and designed to emulate specific hardware.
- virtual hardware 1 10 may include a virtual machine (VM), i.e., a software implementation of a computer that supports execution of an application like a physical machine.
- VM virtual machine
- An application refers to a set of specific instructions executable by a computing system for facilitating carrying out a specific task.
- an application may take the form of a web-based tool providing users with a specific functionality, e.g., file transfer.
- an application as used herein is not limited to a file transfer application, but refers to an application supporting performing a specific task using computing resources such as, among others, enterprise applications, accounting applications, multimedia related applications, or data storage applications.
- Software 108 is a set of instructions and data configured to cause virtual hardware 1 10 to execute an application.
- the cloud computing system 96 can render a particular application available to users associated with either of the respective computing systems 92, 94.
- Executing an application in the cloud 96 may involve receiving a number of requests, processing the requests according to the particular functionality implemented by the application, and returning request responses to the requesting computing system 94.
- the resources e.g., physical hardware 106, virtual hardware 1 10, and software 108
- the cloud 96 may be scaled depending on the demands posed on the application.
- cloud 96 may vary the size of the resources allocated to the application depending on the number of requests, the number of users interacting with the application, or requirement on the performance of the application (e.g., a maximum response time). While not shown, it is to be understood that the cloud 96 may also include an interface that allows the computing devices 92, 94 to communicate with the components of the cloud 96.
- the physical hardware 106 of the cloud computing system 96 may include processor 102 and memory 100.
- the processor 102 may be any processor that is capable of executing program instructions stored in the memory 100 to implement, for example, a file transfer program 104 so as to implement examples of the XFTP file transfer protocol as disclosed herein.
- the memory 100 may include an operating system and applications, such as an XFTP file transfer application.
- the operating system may be a collection of programs that, when executed by the processor 102, serves as a platform on which the XFTP file transfer application can run.
- Some examples of operating systems include various versions of Linux® and Microsoft Windows®.
- the file transfer program 104 may have the hardware portions implemented as the processor 102 and may have the programming portions implemented as the operating system and applications.
- the examples disclosed herein may be realized in any non-transitory, tangible computer-readable media for use by or in connection with an instruction execution system (e.g., computing systems 92, 94, 96), such as a
- Non-transitory, tangible computer-readable media may be any media that is capable of containing, storing, or maintaining programs and data for use by or in connection with the computing systems 92, 94, 96.
- Computer readable media may include any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media.
- suitable computer-readable media include a portable magnetic computer diskette such as floppy diskettes or hard drives, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or a portable CD, DVD, or flash drive.
- a portable magnetic computer diskette such as floppy diskettes or hard drives
- RAM random access memory
- ROM read-only memory
- EPROM erasable programmable read-only memory
- portable CD, DVD, or flash drive a portable CD, DVD, or flash drive.
- connection and/or the like are broadly defined herein to encompass a variety of divergent connected arrangements and assembly techniques. These arrangements and techniques include, but are not limited to (1 ) the direct communication between one component and another component with no intervening components therebetween; and (2) the communication of one component and another component with one or more components therebetween, provided that the one component being
Abstract
Description
Claims
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201280068614.2A CN104094249B (en) | 2012-04-25 | 2012-04-25 | It is transmitted using the file of XML |
BR112014018627-8A BR112014018627B1 (en) | 2012-04-25 | 2012-04-25 | FILE TRANSFER USING XML |
PCT/US2012/034943 WO2013162542A1 (en) | 2012-04-25 | 2012-04-25 | File transfer using xml |
US14/374,834 US9614895B2 (en) | 2012-04-25 | 2012-04-25 | File transfer using XML |
EP12875444.7A EP2842052B1 (en) | 2012-04-25 | 2012-04-25 | File transfer using xml |
IN5882DEN2014 IN2014DN05882A (en) | 2012-04-25 | 2014-07-14 | |
US15/441,095 US9860301B2 (en) | 2012-04-25 | 2017-02-23 | File transfer using XML |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/034943 WO2013162542A1 (en) | 2012-04-25 | 2012-04-25 | File transfer using xml |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/374,834 A-371-Of-International US9614895B2 (en) | 2012-04-25 | 2012-04-25 | File transfer using XML |
US15/441,095 Continuation US9860301B2 (en) | 2012-04-25 | 2017-02-23 | File transfer using XML |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013162542A1 true WO2013162542A1 (en) | 2013-10-31 |
Family
ID=49483649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2012/034943 WO2013162542A1 (en) | 2012-04-25 | 2012-04-25 | File transfer using xml |
Country Status (6)
Country | Link |
---|---|
US (2) | US9614895B2 (en) |
EP (1) | EP2842052B1 (en) |
CN (1) | CN104094249B (en) |
BR (1) | BR112014018627B1 (en) |
IN (1) | IN2014DN05882A (en) |
WO (1) | WO2013162542A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701921A (en) * | 2013-12-31 | 2014-04-02 | 曙光云计算技术有限公司 | Business realization method and device based on interface calling under cloud environment |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015041740A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Techniques for reliable messaging for an intermediary in a network communication environment |
CN104484373B (en) * | 2014-12-05 | 2019-03-05 | 中国航空工业集团公司第六三一研究所 | A kind of engine health data storage method |
US10505905B2 (en) * | 2015-03-24 | 2019-12-10 | Global Data Sentinel, Inc. | Transport envelope |
US10657136B2 (en) | 2015-12-02 | 2020-05-19 | International Business Machines Corporation | Searching data on a synchronization data stream |
US10924455B2 (en) * | 2017-03-22 | 2021-02-16 | Dell Products L.P. | Method and system for implementing a cluster-wide communication over a single port |
US11212218B2 (en) * | 2018-08-09 | 2021-12-28 | Tata Consultancy Services Limited | Method and system for message based communication and failure recovery for FPGA middleware framework |
CN111597389B (en) * | 2019-02-21 | 2024-02-06 | 上海微电子装备(集团)股份有限公司 | Data processing method, device, equipment and storage medium |
GB201906869D0 (en) * | 2019-05-15 | 2019-06-26 | Palantir Technologies Inc | Data processing system and method |
CN115361262B (en) * | 2022-08-22 | 2023-06-09 | 武汉烽火技术服务有限公司 | Method and system for realizing FTP (File transfer protocol) reporting of transmission equipment performance file |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149626A1 (en) * | 2004-01-07 | 2005-07-07 | Microsoft Corporation | XML schema for network device configuration |
US20060007957A1 (en) * | 2004-06-14 | 2006-01-12 | Nokia Corporation | Transfer of a multimedia message |
EP1918824A1 (en) * | 2006-11-03 | 2008-05-07 | Alcatel Lucent | Method for communication by binary coding of XML files |
US20100287247A1 (en) * | 2007-09-07 | 2010-11-11 | Nec Europe Ltd. | Method and system for secure web service data transfer |
US20100332677A1 (en) | 2009-06-24 | 2010-12-30 | Lifen Tian | Efficient file transfer on web service-enabled image forming device |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2995496B2 (en) * | 1995-06-19 | 1999-12-27 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | Method and system for receiving data packets in a unidirectional broadcast system |
AU2002234258A1 (en) * | 2001-01-22 | 2002-07-30 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
JP4252229B2 (en) | 2001-03-28 | 2009-04-08 | ユミルリンク株式会社 | Information exchange system, information communication terminal, information exchange method, program, and recording medium |
JP3905851B2 (en) | 2003-03-24 | 2007-04-18 | 株式会社東芝 | Structured document segmentation method and program |
US20050149732A1 (en) | 2004-01-07 | 2005-07-07 | Microsoft Corporation | Use of static Diffie-Hellman key with IPSec for authentication |
US7853676B1 (en) | 2004-06-10 | 2010-12-14 | Cisco Technology, Inc. | Protocol for efficient exchange of XML documents with a network device |
US20060056403A1 (en) * | 2004-09-13 | 2006-03-16 | Pleasant Daniel L | System and method for robust communication via a non-reliable protocol |
WO2006051964A1 (en) | 2004-11-12 | 2006-05-18 | Justsystems Corporation | Data processing system, data processing method, and management server |
WO2006051966A1 (en) | 2004-11-12 | 2006-05-18 | Justsystems Corporation | Document managing device and document managing method |
US8296354B2 (en) * | 2004-12-03 | 2012-10-23 | Microsoft Corporation | Flexibly transferring typed application data |
US7921216B2 (en) * | 2005-02-01 | 2011-04-05 | Microsoft Corporation | System and method for building and using communication binding objects |
FR2882164A1 (en) * | 2005-02-11 | 2006-08-18 | Canon Kk | METHOD AND DEVICE FOR TRANSFERRING DIGITAL DATA WITH PROGRESSIVE FORMAT |
CN100399747C (en) | 2005-03-17 | 2008-07-02 | 联想(北京)有限公司 | Computer network strategy management system and strategy management method |
US20070076228A1 (en) * | 2005-10-04 | 2007-04-05 | Jacob Apelbaum | System and method for providing data services via a network |
US20070115917A1 (en) * | 2005-10-31 | 2007-05-24 | Microsoft Corporation | MTOM data transfer via TCP |
JP4677340B2 (en) * | 2005-12-21 | 2011-04-27 | キヤノン株式会社 | Information processing apparatus, information processing method, program, and storage medium |
US8739180B2 (en) * | 2008-01-25 | 2014-05-27 | International Business Machines Corporation | Processing of MTOM messages |
US8145608B2 (en) | 2008-04-28 | 2012-03-27 | Infosys Technologies Limited | Method and system for rapidly processing and transporting large XML files |
-
2012
- 2012-04-25 WO PCT/US2012/034943 patent/WO2013162542A1/en active Application Filing
- 2012-04-25 US US14/374,834 patent/US9614895B2/en active Active
- 2012-04-25 EP EP12875444.7A patent/EP2842052B1/en active Active
- 2012-04-25 CN CN201280068614.2A patent/CN104094249B/en active Active
- 2012-04-25 BR BR112014018627-8A patent/BR112014018627B1/en active IP Right Grant
-
2014
- 2014-07-14 IN IN5882DEN2014 patent/IN2014DN05882A/en unknown
-
2017
- 2017-02-23 US US15/441,095 patent/US9860301B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149626A1 (en) * | 2004-01-07 | 2005-07-07 | Microsoft Corporation | XML schema for network device configuration |
US20060007957A1 (en) * | 2004-06-14 | 2006-01-12 | Nokia Corporation | Transfer of a multimedia message |
EP1918824A1 (en) * | 2006-11-03 | 2008-05-07 | Alcatel Lucent | Method for communication by binary coding of XML files |
US20100287247A1 (en) * | 2007-09-07 | 2010-11-11 | Nec Europe Ltd. | Method and system for secure web service data transfer |
US20100332677A1 (en) | 2009-06-24 | 2010-12-30 | Lifen Tian | Efficient file transfer on web service-enabled image forming device |
Non-Patent Citations (2)
Title |
---|
LAM ET AL.: "IEEE Transactions on Services Computing", vol. 6, 1 July 2013, IEEE, article "A Web Service Framework Supporting Multimedia Streaming" |
See also references of EP2842052A4 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701921A (en) * | 2013-12-31 | 2014-04-02 | 曙光云计算技术有限公司 | Business realization method and device based on interface calling under cloud environment |
Also Published As
Publication number | Publication date |
---|---|
EP2842052A4 (en) | 2015-12-23 |
EP2842052B1 (en) | 2021-06-23 |
CN104094249A (en) | 2014-10-08 |
CN104094249B (en) | 2018-09-28 |
US20170163719A1 (en) | 2017-06-08 |
IN2014DN05882A (en) | 2015-05-22 |
US9614895B2 (en) | 2017-04-04 |
BR112014018627B1 (en) | 2021-08-24 |
US9860301B2 (en) | 2018-01-02 |
EP2842052A1 (en) | 2015-03-04 |
BR112014018627A2 (en) | 2017-06-20 |
BR112014018627A8 (en) | 2017-07-11 |
US20150052220A1 (en) | 2015-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9860301B2 (en) | File transfer using XML | |
US10686850B2 (en) | Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications | |
Lampesberger | Technologies for web and cloud service interaction: a survey | |
US8446911B2 (en) | System and method for managing communication for component applications | |
US7627681B2 (en) | Relaying messages through a firewall | |
RU2406233C2 (en) | Bulk transmission of messages using single http request | |
US11153365B2 (en) | Transfer of files with arrays of strings in soap messages | |
US9332090B1 (en) | Communication data padding | |
CN111901230B (en) | Internet of things gateway and system supporting equipment access verification and equipment access verification method | |
US7797405B2 (en) | Streaming file transfer apparatus, systems, and methods | |
CA2533543C (en) | System and method for managing communication for component applications | |
CN107113304B (en) | Method and module for intermediary delegation on encrypted data exchange | |
KR101642665B1 (en) | Direct electronic mail | |
US20130024543A1 (en) | Methods for generating multiple responses to a single request message and devices thereof | |
US20050004975A1 (en) | Adaptive connection for data transmission | |
US20070156721A1 (en) | Efficient Webservice Data Format and Protocol Suite | |
CN113419878B (en) | Data operation method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12875444 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14374834 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012875444 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112014018627 Country of ref document: BR |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 112014018627 Country of ref document: BR Kind code of ref document: A2 Effective date: 20140729 |