IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0731133
(2007-03-30)
|
등록번호 |
US-7680915
(2010-04-21)
|
발명자
/ 주소 |
- Still, David N.
- Calabrese, John S.
|
출원인 / 주소 |
|
대리인 / 주소 |
Hickman Palermo Truong & Becker LLP
|
인용정보 |
피인용 횟수 :
10 인용 특허 :
12 |
초록
▼
Techniques for redirecting a client request. The client request is received at a first server. The first server forwards the client request to a second server. The first server receives a result message from the second server. The first server identifies, in the result message, references to resourc
Techniques for redirecting a client request. The client request is received at a first server. The first server forwards the client request to a second server. The first server receives a result message from the second server. The first server identifies, in the result message, references to resources of the second server. The first server replaces, in the result message, all references to resources of the second server with translated references that reference the first server without replacing references to resources of any other entity other than the second server. The first server sends the translated references to the client as a response to the client request.
대표청구항
▼
What is claimed is: 1. One or more computer-readable storage media storing one or more sets of instructions, which when executed by one or more processors, cause: receiving a client request at a first server; the first server forwarding the client request to a second server; the first server receiv
What is claimed is: 1. One or more computer-readable storage media storing one or more sets of instructions, which when executed by one or more processors, cause: receiving a client request at a first server; the first server forwarding the client request to a second server; the first server receiving a result message from the second server; the first server identifying, in the result message, references to resources of the second server; the first server replacing, in the result message, all references to resources of the second server with translated references that reference the first server without replacing references to resources of any other entity other than said second server; and the first server sending the translated references to the client as a response to the client request. 2. The one or more computer-readable storage media recited in claim 1, wherein execution of the one or more sets of instructions by the one or more processors further cause: receiving, at the first server, a second client request based on the response; and for the second client request, repeating the steps of forwarding, receiving a result message, identifying, replacing, and sending. 3. The one or more computer-readable storage media recited in claim 1, wherein the identifying step comprises the steps of: parsing the result message to identify one or more tags that are associated with references to resources of the second server; and matching the tags to attributes that identify resources of the second server. 4. The one or more computer-readable storage media recited in claim 3, wherein the replacing step comprises attaching, to each of the references to resources of the second server, a value that identifies a process of the first server that carries out the identifying step and the replacing step. 5. The one or more computer-readable storage media recited in claim 1, wherein the replacing step comprises attaching, to each of the references to resources of the second server, a value that identifies a process of the first server that carries out the identifying step and the replacing step. 6. The one or more computer-readable storage media recited in claim 1, wherein the step of receiving a client request at the first server comprises the steps of receiving a client HTTP request at a second Web server; wherein the step of forwarding the client request to the second server comprises the steps of redirecting the client HTTP request to a first Web server; wherein the step of receiving a result message from the second server comprises the steps of receiving an HTTP response message from the first Web server that contains an HTML document. 7. The one or more computer-readable storage media recited in claim 6, wherein the step of identifying, in the result message, references to resources of the second server comprises the steps of parsing the HTML document to identify one or more URLs. 8. The one or more computer-readable storage media recited in claim 6, wherein the step of identifying, in the result message, references to resources of the second server comprises the steps of parsing the HTML document to identify one or more relative URLs that lack an explicit reference to the second server or one or more URLs that explicitly reference the second server. 9. The one or more computer-readable storage media recited in claim 6, wherein the steps of identifying and replacing are carried out using a CGI script that may contain one or more associated software elements, and wherein the step of replacing comprises the steps of attaching, to each of the references to resources of the second server, a value that identifies the CGI script. 10. The one or more computer-readable storage media recited in claim 1, wherein the steps of identifying, replacing and sending comprise the steps of: stream tokenizing the result message into a plurality of tags, wherein each tag of the plurality of tags has zero or more attributes; storing in an output message any tags, of said plurality of tags, that are not associated with references to resources of the second server; and for each tag, of said plurality of tags, that is associated with a reference to a resource of the second server: identifying a resource attribute associated with the tag that identifies the resource; prepending a value, which identifies a software element that carries out the steps of identifying and replacing, to the resource attribute; and storing the tag, value, and resource attribute in the output message. 11. The one or more computer-readable storage media recited in claim 1, wherein the first server and the second server form part of a load-balanced server group, and wherein both the first server and the second server are capable of responding to the client request. 12. A data communications apparatus, comprising: one or more processors; means for, at a first server, receiving a request from a client at the second server, forwarding the request to a second server, and receiving a result message from the second server; means for, at the first server, identifying, in the result message, references to resources of the second server, and replacing, in the result message, all references to resources of the second server with translated references that reference the first server without replacing references to resources of any other entity other than said second server; and means for, at the first server, sending the translated references to the client as a response to the request. 13. The apparatus recited in claim 12, wherein the first server further comprises means for receiving, at the first server, a second client request based on the response, and, for the second client request, for repeating the steps of forwarding, receiving a result message, identifying, replacing, and sending. 14. The apparatus recited in claim 12, wherein the first server further comprises means for parsing the result message to identify one or more tags that are associated with references to resources of the second server, and for matching the tags to attributes that identify resources of the second server. 15. The apparatus recited in claim 14, wherein the first server further comprises means for attaching, to each of the references to resources of the second server, a value that identifies a process of the first server that carries out the identifying step and the replacing step. 16. The apparatus recited in claim 12, wherein the first server further comprises means for attaching, to each of the references to resources of the second server, a value that identifies a process of the first server that carries out the identifying step and the replacing step. 17. The apparatus recited in claim 12, wherein the first server further comprises means for receiving a client HTTP request at a second Web server, redirecting the client HTTP request to a first Web server, and receiving an HTTP response message from the first Web server that contains an HTML document. 18. The apparatus recited in claim 17, wherein the first server further comprises means for parsing the HTML document to identify one or more URLs. 19. The apparatus recited in claim 17, wherein the first server further comprises means for parsing the HTML document to identify one or more relative URLs that lack an explicit reference to the second server or one or more URLs that explicitly reference the second server. 20. The apparatus recited in claim 17, wherein the first server further comprises a CGI script that may contain one or more associated software elements, and wherein the first server further comprises means for attaching, to each of the references to resources of the second server, a value that identifies the CGI script. 21. The apparatus recited in claim 12, wherein the first server further comprises: means for stream tokenizing the result message into a plurality of tags, wherein each tag, of the plurality of tags, has zero or more attributes; means for storing in an output message any tags, of said plurality of tags, that are not associated with references to resources of the second server, and means for (a) identifying, for each tag, of said plurality of tags, that is associated with a reference to a resource of the second server, a resource attribute associated with the tag that identifies the resource, (b) prepending a value, which identifies a software element that carries out the steps of identifying and replacing, to the resource attribute, and (c) storing the tag, value, and resource attribute in the output message. 22. The apparatus recited in claim 12, wherein the first server and the second server form part of a load-balanced server group, and wherein both the first server and the second server are capable of responding to the client request. 23. An apparatus for redirecting a request from a client, comprising: one or more computer-readable storage media, in a first server, which store one or more sets of instructions which, when executed by one or more processors of the first server, cause the first server to perform: receiving a client request from the client; forwarding the client request to a second server; receiving a result message from the second server; identifying, in the result message, references to resources of the second server; replacing, in the result message, all references to resources of the second server with translated references that reference the first server without replacing references to resources of any other entity other than said second server; and sending the translated references to the client as a response to the client request. 24. The apparatus recited in claim 23, further comprising instructions for performing the steps of: receiving, at the first server, a second client request based on the response; and for the second client request, repeating the steps of forwarding, receiving a result message, identifying, replacing, and sending. 25. The apparatus recited in claim 23, wherein the instructions for performing the identifying step comprise instructions for performing the steps of: parsing the result message to identify one or more tags that are associated with references to resources of the second server; and matching the tags to attributes that identify resources of the second server. 26. The apparatus recited in claim 25, wherein the instructions for performing the replacing step comprise instructions for performing the step of attaching, to each of the references to resources of the second server, a value that identifies a process of the first server that carries out the identifying step and the replacing step. 27. The apparatus recited in claim 23, wherein the instructions for performing the replacing step comprise instructions for performing the step of attaching, to each of the references to resources of the second server, a value that identifies a process of the first server that carries out the identifying step and the replacing step. 28. The apparatus recited in claim 23, wherein the instructions for performing the step of receiving a client request at the first server comprise instructions for performing the steps of receiving a client HTTP request at a second Web server; wherein the instructions for performing the step of forwarding the client request to the second server comprise instructions for performing the steps of redirecting the client HTTP request to a first Web server; wherein the instructions for performing the step of receiving a result message from the second server comprise instructions for performing the steps of receiving an HTTP response message from the first Web server that contains an HTML document. 29. The apparatus recited in claim 28, wherein the instructions for performing the step of identifying, in the result message, references to resources of the second server comprises instructions for performing the steps of parsing the HTML document to identify one or more URLs. 30. The apparatus recited in claim 28, wherein the instructions for performing the step of identifying, in the result message, references to resources of the second server comprise instructions for performing the steps of parsing the HTML document to identify one or more relative URLs that lack an explicit reference to the second server or one or more URLs that explicitly reference the second server. 31. The apparatus recited in claim 28, wherein the instructions for performing the steps of identifying and replacing are carried out using a CGI script that may contain one or more associated software elements, and wherein the instructions for performing the step of replacing comprise instructions for performing the steps of attaching, to each of the references to resources of the second server, a value that identifies the CGI script. 32. The apparatus recited in claim 23, wherein the instructions for performing the steps of identifying, replacing and sending comprise instructions for performing the steps of: stream tokenizing the result message into a plurality of tags, wherein each tag, of the plurality of tags, has zero or more attributes; storing in an output message any tags, of said plurality of tags, that are not associated with references to resources of the second server; and for each tag, of said plurality of tags, that is associated with a reference to a resource of the second server: identifying a resource attribute associated with the tag that identifies the resource; prepending a value, which identifies a software element that carries out the steps of identifying and replacing, to the resource attribute; and storing the tag, value, and resource attribute in the output message. 33. The apparatus recited in claim 23, wherein the first server and the second server form part of a load-balanced server group, and wherein both the first server and the second server are capable of responding to the client request.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.