US 7216180 System and method for modifying an information transfer request
ABSTRACT – Disclosed is a system and methodology for recognizing when an Information Transfer Request (ITR) should be modified, for creating such a modified request and for processing such a modified information transfer request to produce a desired response. Also disclosed is a client side component that can identify when an information transfer request in a particular format may not produce a desired response, a client side component that can reformat an information transfer request from one that may not produce a desired response to one that may produce a desired response and a server side component that can recognize reformatted information transfer requests and process those requests to produce the desired response.
The present invention relates generally to data processing and data communications systems. More particularly, a system and method is provided for processing information transfer requests transmitted via incompatible data communications systems.
BACKGROUND OF THE INVENTION
With the growth of computer networks, it is now possible for computers to make large numbers of information transfer requests to many other computer systems. A common information transfer request (“ITR”) provides for receiving all or portions of files from another computer. For example, the Hypertext Transfer Protocol (“HTTP”), an application-level protocol for distributed, collaborative, hypermedia information systems, has been in use since 1990 and includes methods for requesting and transferring information. An early version of HTTP, the 0.9 version, provided a protocol for raw data transfer across the Internet. Subsequently, HTTP versions 1.0 and 1.1 have appeared.
When a computer sends an ITR to another computer, the ITR may traverse data communication systems that may include one or more servers and one or more proxy servers. Not all of the servers or proxy servers may support the same data communications protocol, however. For example, some servers may support HTTP 1.1 while others may support HTTP 1.0. Generally, newer versions of protocols are backwards compatible with older versions of protocols and thus can successfully process ITRs formatted in the older versions. A problem arises, however, when an ITR formatted in a newer protocol arrives at a server supporting an older protocol. The effects on the ITR formatted in the newer protocol when processed by the server supporting the older protocol may be unpredictable and unwanted. For example, HTTP 1.1 supports a byte range specification in an ITR and thus a portion of a file, specified by the byte range, may be requested, however HTTP 1.0 does not support a byte range specification. Thus, when an HTTP 1.1 ITR with a byte range specification is processed by a server supporting HTTP 1.0, the HTTP 1.0 server may discard the byte range specification or may even discard the entire ITR. Thus, there exists a need for a system that can recognize when an ITR has not successfully traversed data communications systems and for reformatting the ITR in order that the ITR may successfully traverse the data communications systems and generate a desired response.
SUMMARY OF THE INVENTION
The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is intended to neither identify key or critical elements of the invention nor delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.
The present invention provides a system and method for processing information transfer requests. An information transfer request (“ITR”) may be sent from a requesting client to a server. The client and the server may be programmed to process ITRs formatted in a particular protocol (e.g., version). The ITR may traverse one or more communication and/or proxy servers during the trip from the client to the server. The communication and/or proxy servers may not be programmed to process ITRs formatted in the protocol utilized by the client and the server and thus may corrupt, modify, or destroy ITRs formatted in the protocol utilized by the client and the server. The present invention enables ITRs to travel uncorrupted from client to server, via paths that may include incompatible communication and/or proxy servers.
More specifically, the present invention provides a system and method for identifying when sending an ITR formatted in a protocol utilized by the client and server has not resulted in information requested. This may be due to incompatibly programmed communication and/or proxy servers, for example. The present invention also provides, after such an identification, for reformatting the ITR into a one or more different ITR formats which appear as an earlier version of the present protocol.
The present invention may include a client component that identifies when an ITR formatted in a particular protocol did not produce the requested information because an intermediary communication and/or proxy server was not programmed to process ITRs formatted in the particular protocol. The present invention may further include a client component that reformats ITRs formatted in the particular protocol, which did not produce the information requested, into ITRs formatted in one or more different protocols. The ITRs formatted in the one or more different protocols can traverse the communication and/or proxy servers without being corrupted.
In another aspect, the present invention includes server components that recognize the ITRs reformatted in the one or more different formats and that process the modified ITRs to produce the desired response.
One aspect of the present invention provides a system for processing an information transfer request (“ITR”) including: an identifying component for identifying whether an ITR formatted in a second format produced a desired response; and an altering component for altering the ITR formatted in the second format to an ITR reformatted in one or more first formats so that the desired response may be produced.
Another aspect of the present invention provides a system for processing an information transfer request (“ITR”) including a recognizing component for recognizing an ITR reformatted in one or more first formats, the one or more first formats being earlier versions than an original formatting version of the ITR. The system further includes a processing component for processing the ITR reformatted in the one or more first formats to produce a desired response.
Another aspect of the present invention provides a data packet adapted to be transmitted from a first computer process to a second computer process, the data packet including information related to an information transfer request (ITR) formatted in one or more first protocols so that the ITR contains formatting information sufficient to translate the ITR into a second protocol.
Yet another aspect of the present invention provides a computer readable medium having stored thereon a data structure, the data structure including a first data field containing information related to an information transfer request (ITR) formatted in a first protocol so that the ITR contains formatting information sufficient to translate the ITR into one or more second protocols.
Still another aspect of the present invention provides a method for processing an ITR including sending a first ITR formatted in a second format and evaluating a response to the first ITR. The method also includes generating a reformatted second ITR, where the second ITR is reformatted in one or more first formats and carries information sufficient to translate the second ITR into an ITR formatted in the second format.
To the accomplishment of the foregoing and related ends, certain illustrative aspects of the invention are described herein in connection with the following description and the annexed drawings. These aspects are indicative, however, of but a few of the various ways in which the principles of the invention may be employed and the present invention is intended to include all such aspects and their equivalents. Other advantages and novel features of the invention may become apparent from the following detailed description of the invention when considered in conjunction with the drawings.