US7861174B2ExpiredUtilityA1

Method and system for assembling concurrently-generated content

Assignee: ORACLE INT CORPPriority: Sep 8, 2000Filed: Feb 15, 2002Granted: Dec 28, 2010
Est. expirySep 8, 2020(expired)· nominal 20-yr term from priority
H04L 67/565H04L 67/306H04L 67/5682H04L 67/1001H04L 67/10015H04L 67/133H04L 67/567H04L 9/40G06F 16/9535H04L 69/08H04L 67/02H04L 67/142H04L 69/329H04L 67/10H04L 67/1029H04L 67/1031H04L 69/18
69
PatentIndex Score
17
Cited by
21
References
80
Claims

Abstract

A method, apparatus, and computer-readable media for satisfying a single request from a client for a plurality of content components derived from content hosted by a plurality of distinct, separately accessible component servers comprises receiving a single request specifying the content components; after receiving the single request, generating a plurality of information requests for the content; sending each information request to the component server hosting the content corresponding to the information request before receiving a response to any of the information requests; forming the content components from the responses to the information requests; and transmitting the content components to the client.

Claims

exact text as granted — not AI-modified
1. A method for satisfying a single request from a client for a plurality of content components derived from content hosted by a plurality of distinct, separately accessible component servers for forming a personalized network page, comprising:
 receiving a single request specifying multiple content components derived from content hosted by the plurality of distinct, separately accessible component servers for forming the personalized network page; 
 after receiving the single request, generating a plurality of information requests for the content as parallel worker threads spawned from a main execution thread; 
 sending the plurality of requests as parallel or rapid sequential worker threads so that each information request is sent to the component server hosting the content corresponding to the information request before receiving a response to any of the information requests, thereby permitting concurrent generation of the content components at the component servers; 
 forming the content components from the responses to the information requests including assembling the personalized network page; and 
 transmitting the personalized network page including the multiple content components to the client and 
 wherein the single request comprises a request for a personalized Web page; and 
 wherein the forming comprises assembling the personalized Web page from the content components; and 
 wherein the transmitting comprises sending the personalized Web page to the client. 
 
     
     
       2. The method of  claim 1 , further comprising:
 instantiating a timer after the step of sending each information request and before the step of forming the personalized web page; and 
 if no response is received from one of the component servers prior to a timeout period of the timer, performing the steps of
 immediately establishing the response from that component server as a null value, and 
 carrying out the steps of forming the personalized network page and transmitting the personalized network page to the client without waiting for that response. 
 
 
     
     
       3. The method of  claim 2 , wherein the information requests are transmitted according to a standard network protocol. 
     
     
       4. The method of  claim 3 , wherein the standard network protocol is selected from the group consisting of HTTP, HTTPS, WAP, and FTP. 
     
     
       5. The method of  claim 1 , wherein the component servers generate the responses in different data formats, and the method further comprises converting the responses to a common data format. 
     
     
       6. The method of  claim 5 , wherein the common data format is based on a markup language. 
     
     
       7. The method of  claim 5 , wherein the converting step is performed at the respective component servers. 
     
     
       8. The method of  claim 5 , wherein the converting step is performed at a main server, the main server also receiving the single request from the user and transmitting the personalized network page to the client. 
     
     
       9. The method of  claim 8 , wherein the main server is a corporate portal server. 
     
     
       10. The method of  claim 8 , wherein the main server is an Internet portal server. 
     
     
       11. The method of  claim 8 , wherein each of the main server and the component servers are physically separate, and wherein the information requests and responses are transmitted according to a standard network protocol. 
     
     
       12. The method of  claim 11 , wherein the standard network protocol is selected from the group consisting of HTTP, HTTPS, WAP, and FTP. 
     
     
       13. The method of  claim 1 , wherein the component servers comprise an email server, an enterprise resource planning server, or a customer relationship management server, or combinations thereof. 
     
     
       14. The method of  claim 1 , further comprising:
 generating a state machine to represent the progress of each information request; and 
 recursively processing the state machines to advance the progress of each information request. 
 
     
     
       15. The method of  claim 1 , further comprising uniquely identifying a user who wishes to view the personalized network page regardless of which access terminal is being used. 
     
     
       16. The method of  claim 1 , further comprising caching one or more of the content components for retrieval without contacting the component server in a future request. 
     
     
       17. The method of  claim 16 , wherein the caching comprises indexing at least one of the content components according to one or more user preferences. 
     
     
       18. The method of  claim 1 , further comprising retrieving one or more previously cached content components for including in the personalized network page without contacting the corresponding component server. 
     
     
       19. The method of  claim 18 , wherein at least one of the cached content components was indexed according to one or more user preferences, and wherein the retrieving comprises calling the at least one cached content component according to the indexing. 
     
     
       20. The method of  claim 1 , further comprising providing a form allowing a user to select the components from a library of components. 
     
     
       21. Computer-readable media embodying instructions executable by a computer to perform a method for satisfying a single request from a client for a plurality of content components derived from content hosted by a plurality of distinct, separately accessible component servers for forming a personalized network page, the method comprising:
 receiving a single request specifying multiple content components derived from content hosted by the plurality of distinct, separately accessible component servers for forming the personalized network page; 
 after receiving the single request, generating a plurality of information requests for the content as parallel worker threads spawned from a main execution thread; 
 sending the plurality of requests as parallel or rapid sequential worker threads so that each information request is sent to the component server hosting the content corresponding to the information request before receiving a response to any of the information requests, thereby permitting concurrent generation of the content components at the component servers; 
 forming the content components from the responses to the information requests including assembling the personalized network page; and 
 transmitting the personalized network page including the multiple content components to the client and 
 wherein the single request comprises a request for a personalized Web page; and 
 wherein the forming comprises assembling the personalized Web page from the content components; and 
 wherein the transmitting comprises sending the personalized Web page to the client. 
 
     
     
       22. The media of  claim 21 , wherein the method further comprises:
 instantiating a timer after the step of sending each information request and before the step of forming the personalized web page; and 
 if no response is received from one of the component servers prior to a timeout period of the timer, performing the steps of
 immediately establishing the response from that component server as a null value, and 
 carrying out the steps of forming the personalized network page and transmitting the personalized network page to the client without waiting for that response. 
 
 
     
     
       23. The media of  claim 22 , wherein the information requests are transmitted according to a standard network protocol. 
     
     
       24. The media of  claim 23 , wherein the standard network protocol is selected from the group consisting of HTTP, HTTPS, WAP, and FTP. 
     
     
       25. The media of  claim 21 , wherein the component servers generate the responses in different data formats, wherein the method further comprises:
 converting the responses to a common data format. 
 
     
     
       26. The media of  claim 25 , wherein the common data format is based on a markup language. 
     
     
       27. The media of  claim 25 , wherein the converting step is performed at the respective component servers. 
     
     
       28. The media of  claim 25 , wherein the converting step is performed at a main server, the main server also receiving the single request from the user and transmitting the personalized network page to the client. 
     
     
       29. The media of  claim 28 , wherein the main server is a corporate portal server. 
     
     
       30. The media of  claim 28 , wherein the main server is an Internet portal server. 
     
     
       31. The media of  claim 28 , wherein each of the main server and the component servers are physically separate, and wherein the information requests and responses are transmitted according to a standard network protocol. 
     
     
       32. The media of  claim 31 , wherein the standard network protocol is selected from the group consisting of HTTP, HTTPS, WAP, and FTP. 
     
     
       33. The media of  claim 21 , wherein the component servers comprise an email server, an enterprise resource planning server, or a customer relationship management server, or combinations thereof 
     
     
       34. The media of  claim 21 , wherein the method further comprises:
 generating a state machine to represent the progress of each information request; and 
 recursively processing the state machines to advance the progress of each information request. 
 
     
     
       35. The media of  claim 21 , the method further comprising uniquely identifying a user who wishes to view the personalized network page regardless of which access terminal is being used. 
     
     
       36. The media of  claim 21 , the method further comprising caching one or more of the content components for retrieval without contacting the component server in a future request. 
     
     
       37. The media of  claim 36 , wherein the caching comprises indexing at least one of the content components according to one or more user preferences. 
     
     
       38. The media of  claim 21 , the method further comprising retrieving one or more previously cached content components for including in the personalized network page without contacting the corresponding component server. 
     
     
       39. The media of  claim 38 , wherein at least one of the cached content components was indexed according to one or more user preferences, and wherein the retrieving comprises calling the at least one cached content component according to the indexing. 
     
     
       40. The media of  claim 21 , the method further comprising providing a form allowing a user to select the components from a library of components. 
     
     
       41. An apparatus for satisfying a single request from a client for a plurality of content components derived from content hosted by a plurality of distinct, separately accessible component servers for forming a personalized network page, comprising:
 means for receiving a single request specifying multiple content components derived from content hosted by the plurality of distinct, separately accessible component servers for forming the personalized network page; 
 means for, after receiving the single request, generating a plurality of information requests for the content as parallel worker threads spawned from a main execution thread; 
 means for sending the plurality of requests as parallel or rapid sequential worker threads so that each information request is sent to the component server hosting the content 
 means for forming the content components from the responses to the information requests including assembling the personalized network page; and 
 means for transmitting the personalized network page including the multiple content components to the client and 
 wherein the single request comprises a request for a personalized Web page; and 
 wherein the forming comprises assembling the personalized Web page from the content components; and 
 wherein the transmitting comprises sending the personalized Web page to the client. 
 
     
     
       42. The apparatus of  claim 41 , further comprising:
 means for instantiating a timer after the step of sending each information request and before the step of forming the personalized web page; and 
 means for, if no response is received from one of the component servers prior to a timeout period of the timer, performing the steps of
 immediately establishing the response from that component server as a null value, and 
 carrying out the steps of forming the personalized network page and transmitting the personalized network page to the client without waiting for that response. 
 
 
     
     
       43. The apparatus of  claim 42 , wherein the information requests are transmitted according to a standard network protocol. 
     
     
       44. The apparatus of  claim 43 , wherein the standard network protocol is selected from the group consisting of HTTP, HTTPS, WAP, and FTP. 
     
     
       45. The apparatus of  claim 41 , wherein the component servers generate the responses in different data formats, wherein the apparatus further comprises:
 means for converting the responses to a common data format. 
 
     
     
       46. The apparatus of  claim 45 , wherein the common data format is based on a markup language. 
     
     
       47. The apparatus of  claim 45 , wherein the means for converting is part of the respective component servers. 
     
     
       48. The apparatus of  claim 45 , wherein the means for converting is part of a main server, the main server also receiving the single request from the user and transmitting the personalized network page to the client. 
     
     
       49. The apparatus of  claim 48 , wherein the main server is a corporate portal server. 
     
     
       50. The apparatus of  claim 48 , wherein the main server is an Internet portal server. 
     
     
       51. The apparatus of  claim 48 , wherein each of the main server and the component servers are physically separate, and wherein the information requests and responses are transmitted according to a standard network protocol. 
     
     
       52. The apparatus of  claim 51 , wherein the standard network protocol is selected from the group consisting of HTTP, HTTPS, WAP, and FTP. 
     
     
       53. The apparatus of  claim 52 , wherein the component servers comprise an email server, an enterprise resource planning server, or a customer relationship management server, or combinations thereof. 
     
     
       54. The apparatus of  claim 41 , further comprising:
 means for generating a state machine to represent the progress of each information request; and 
 means for recursively processing the state machines to advance the progress of each information request. 
 
     
     
       55. The apparatus of  claim 41 , the method further comprising uniquely identifying the user who wishes to view the personalized network page regardless of which access terminal is being used. 
     
     
       56. The apparatus of  claim 41 , the method further comprising caching one or more of the content components for retrieval without contacting the component server in a future request. 
     
     
       57. The apparatus of  claim 56 , wherein the caching comprises indexing at least one of the content components according to one or more user preferences. 
     
     
       58. The apparatus of  claim 41 , the method further comprising retrieving one or more previously cached content components for including in the personalized network page without contacting the corresponding component server. 
     
     
       59. The apparatus of  claim 58 , wherein at least one of the cached content components was indexed according to one or more user preferences, and wherein the retrieving comprises calling the at least one cached content component according to the indexing. 
     
     
       60. The apparatus of  claim 41 , the method further comprising providing a form allowing a user to select the components from a library of components. 
     
     
       61. An apparatus for satisfying a single request from a client for a plurality of content components derived from content hosted by a plurality of distinct, separately accessible component servers for forming a personalized network page, the apparatus comprising a processor configured to perform a method comprising:
 receiving a single request specifying multiple content components derived from content hosted by the plurality of distinct, separately accessible component servers for forming the personalized network page; 
 after receiving the single request, generating a plurality of information requests for the content as parallel worker threads spawned from a main execution thread; 
 sending the plurality of requests as parallel or rapid sequential worker threads so that each information request is sent to the component server hosting the content corresponding to the information request before receiving a response to any of the information requests, thereby permitting concurrent generation of the content components at the component servers; 
 forming the content components from the responses to the information requests including assembling the personalized network page; and 
 transmitting the personalized network page including the multiple content components to the client and 
 wherein the single request comprises a request for a personalized Web page; and 
 wherein the forming comprises assembling the personalized Web page from the content components; and 
 wherein the transmitting comprises sending the personalized Web page to the client. 
 
     
     
       62. The apparatus of  claim 61 , wherein the method further comprises:
 instantiating a timer after the step of sending each information request and before the step of forming the personalized web page; and 
 if no response is received from one of the component servers prior to a timeout period of the timer, performing the steps of
 immediately establishing the response from that component server as a null value, and 
 carrying out the forming of the personalized network page and transmitting the personalized network page to the client without waiting for that response. 
 
 
     
     
       63. The apparatus of  claim 62 , wherein the information requests are transmitted according to a standard network protocol. 
     
     
       64. The apparatus of  claim 63 , wherein the standard network protocol is selected from the group consisting of HTTP, HTTPS, WAP, and FTP. 
     
     
       65. The apparatus of  claim 61 , wherein the component servers generate the responses in different data formats, wherein the method further comprises:
 converting the responses to a common data format. 
 
     
     
       66. The apparatus of  claim 65 , wherein the common data format is based on a markup language. 
     
     
       67. The apparatus of  claim 65 , wherein the converting is performed at the respective component servers. 
     
     
       68. The apparatus of  claim 65 , wherein the converting is performed at a main server, the main server also receiving the single request from the user and transmitting the personalized network page to the client. 
     
     
       69. The apparatus of  claim 68 , wherein the main server is a corporate portal server. 
     
     
       70. The apparatus of  claim 68 , wherein the main server is an Internet portal server. 
     
     
       71. The apparatus of  claim 68 , wherein each of the main server and the component servers are physically separate, and wherein the information requests and responses are transmitted according to a standard network protocol. 
     
     
       72. The apparatus of  claim 71 , wherein the standard network protocol is selected from the group consisting of HTTP, HTTPS, WAP, and FTP. 
     
     
       73. The apparatus of  claim 72 , wherein the component servers comprise an email server, an enterprise resource planning server, or a customer relationship management server, or combinations thereof. 
     
     
       74. The apparatus of  claim 61 , wherein the method further comprises:
 generating a state machine to represent the progress of each information request; and 
 recursively processing the state machines to advance the progress of each information request. 
 
     
     
       75. The apparatus of  claim 61 , the method further comprising uniquely identifying the user who wishes to view the personalized network page regardless of which access terminal is being used. 
     
     
       76. The apparatus of  claim 61 , the method further comprising caching one or more of the content components for retrieval without contacting the component server in a future request. 
     
     
       77. The apparatus of  claim 76 , wherein the caching comprises indexing at least one of the content components according to one or more user preferences. 
     
     
       78. The apparatus of  claim 61 , the method further comprising retrieving one or more previously cached content components for including in the personalized network page without contacting the corresponding component server. 
     
     
       79. The apparatus of  claim 78 , wherein at least one of the cached content components was indexed according to one or more user preferences, and wherein the retrieving comprises calling the at least one cached content component according to the indexing. 
     
     
       80. The apparatus of  claim 61 , the method further comprising providing a form allowing a user to select the components from a library of components.

Join the waitlist — get patent alerts

Track US7861174B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.