System and method for directing requests to specific processing

Electrical computers and digital processing systems: multicomput – Distributed data processing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S200000, C709S203000, C709S212000, C709S216000, C709S227000, C709S229000, C709S241000

Reexamination Certificate

active

06615231

ABSTRACT:

BACKGROUND OF THE INVENTION
1. The Field of the Invention
The present invention relates to systems and methods for directing requests to specific processing. More particularly, the present invention relates to systems and methods for directing Hyper Text Transport Protocol (HTTP) requests to specific processing using mapping techniques.
2. The Prior State of the Art
The rapid and effective exchange of information can generate many positive societal results such as improved education, an efficient economy and stronger personal relationships. In the modem era often termed the “information age,” computer networks such as the Internet play an important role in facilitating such information exchange. For example, e-mail allows people to communicate quickly over large distances and at minimal cost. Furthermore, the Internet and World-Wide Web allow users to manipulate browser software to obtain information in the form of World-Wide Web pages that may reside on one of millions of remote servers. Currently, there are so many World-Wide Web pages, that computer users can access information concerning practically any subject matter they desire. Computer networks also allow people to share resources such as memory or processing power.
Many conventional computer networks exchange information using a request-response protocol. Specifically, a client computer obtains information by generating a request and transmitting that request over a computer network to a server computer. The server computer interprets and generates a response to the request which ideally includes the information requested by the client computer. HyperText Transport Protocol or HTTP is one example of a request-response protocol that is used over computer networks.
In larger networks such as the Internet, a server computer can potentially receive many requests from many different client computers. Thus, it is important that the server computer respond efficiently to each request. Furthermore, to preserve the integrity and utility of the network, the server computer should respond appropriately to the request by considering the information desired and the security permissions of those generating the request. In some cases this may involve responding within the desired information. In other cases, this may involve responding with an error message if the user does not have security permission to obtain the desired information.
A server computer, or a cluster of server computers, may have available several specialized software modules that can efficiently handle requests for information of certain types or perform other processing such as executing code. For example, a special “active server” module may be capable of responding to a request identifying an active server page. An active server page is a Web page that contains executable code that is typically executed in response to a request for the active server page. An active server page is identified by an “asp” extension. Typically, the results of the execution rather than the executable code itself are then included in the response to the client.
The server computer must thus make a determination as to whether the module can handle the request identifying a file, page, or other resource. In the case of the “active server” module, the server would ensure that the request truly identifies an active server page by, for example, confirming that the request identified a file with an “asp” extension.
The server computer must also confirm that the module can perform the command or “verb” designated in the request on the file. For example, an active server module typically does not handle the HTTP methods “PUT” or “DELETE”, but can handle other HTTP methods such as “GET”, “POST” and “HEAD”. Thus, it is important that the server computer not pass control for processing the request to the active server module when the request designates methods that the active server module does not handle or is not capable of executing. For example, the server computer should not pass control for processing the request to an active server module if the request includes the methods “PUT” or “DELETE”.
The server computer performs this method check by using a mapping technique referred to as an exclusion list, which includes a list of all the methods that the module does not handle. In the active server module example, the exclusion list would include an entry for the active server module with corresponding methods “PUT” and “DELETE” indicating that the active server module does not handle the “PUT” and “DELETE” methods. On the other hand, since the methods “GET”, “POST” and “HEAD” are not included on the exclusion list, control is properly passed to the active server module when the request includes those methods. The methods within the exclusion list may have been derived based on information provided by the module to the server computer as the module registers with the exclusion list during installation of the module or power up of the server computer.
The problem with the exclusion list stems from the fact that many transport protocols are extensible protocols in that additional methods can be introduced into the protocol. For example, HTTP is an extensible protocol for which further extensions have been developed. WEB Distributed Authoring and Versioning or WEBDAV is one such extension that introduces new methods that permit collaborative and distributed authoring over the Internet. Some of these new WEBDAV methods include, for example, “PROPFIND”, “PROPPATCH”, “MKCOL”, “COPY”, “MOVE”, “LOCK” and “UNLOCK.”
However, assume that these new methods are not known to the module developers at the time the module is distributed. This might likely occur if the new methods were introduced into a protocol after the module was distributed. In this case, the module does not register with the server computer that the module cannot handle these new methods and thus the new methods will not be included within the exclusion list. After all, the developers might have a very difficult time predicting what potential new methods could appear within a request for future extensions to the protocol. Thus, the developers cannot have the module register with the exclusion list such new methods with the exclusion list as being methods that the module cannot handle.
If the server computer receives a request designating a new method, the server computer would check the exclusion list to discover that the new method is not listed as one of the methods that the module cannot handle. Thus, control would be passed to the module to process the request. The module most likely will not be able to perform the new method since the assumption is that the module was distributed before the new method was known to the developers of the module.
Thus, the module could return an unpredictable and inappropriate response to the request thereby introducing inefficiency into the server computer's ability to properly process a request. Therefore, methods and systems are desired for conditionally passing control for processing a request to a module. Control should not be passed to the module if the module cannot handle a method included in the request even if the method was not known to the module developers.
SUMMARY OF THE INVENTION
In many networks, including Intranets and the Internet, the exchange of information between clients and servers is often initiated by a request from a client. The request typically identifies a resource and a particular method that is to be performed at the server with regard to the identified resource. For instance, the method may be a GET method, which causes the server to retrieve the identified resource for the client. The resource is typically identified by a name and an extension.
At the server, the extension is usually associated with specific processing in the form of a process, program or other module, that will be executed in response to the request. This is performed by transferring or directing control of the request to the specific processing. The act of providing control to another process is

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for directing requests to specific processing does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for directing requests to specific processing, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for directing requests to specific processing will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3068209

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.