Techniques are disclosed for incrementally rendering content in a content framework (such as a portal page provided by a portal system). Upon receiving a request for a portal page, a portal server immediately returns a response including the results from portlets which have acquired their content. If some portlets have not yet finished, subsequent content is delivered at a later time through use of one of several alternative programmatically-generated mechanisms. Capabilities of existing browsers are leveraged for several embodiments, including use of refresh headers, multipart MIME (“Multi-purpose Internet Mail Extensions”) types, and portal pages structured using frames.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of incrementally rendering content in a content framework, comprising: receiving a request for a portal page, wherein one or more portlets provide content for the portal page; immediately returning a response message containing a first document and a refresh trigger responsive to receiving the request, wherein the first document represents results from portlets which have acquired their content but does not represent results of all portlets; programmatically generating a mechanism for delivering an updated document responsive to immediately returning the response message containing the first document and the refresh trigger, wherein the updated document further represents results from one or more portlets which had not acquired their content when the first document was returned; receiving a subsequent request for the portal page, the subsequent request having been automatically sent responsive to receiving the refresh trigger; and returning a subsequent response comprising the updated document responsive to receiving the subsequent request, the updated document being a subsequent version of the first document and representing results from portlets which have acquired their content thus far and which omits the refresh trigger only if all portlets have now acquired their content.
2. The method according to claim 1 , wherein the refresh trigger is a refresh header of the response message.
3. The method according to claim 1 , wherein the refresh trigger is encoded using syntax of a markup language.
4. The method according to claim 3 , wherein the markup language is HTML (“Hypertext Markup Language”).
5. The method according to claim 4 , wherein the syntax comprises a“META” tag using an“HTTP-EQUIV” attribute syntax.
6. The method according to claim 3 , wherein the markup language is WML (“Wireless Markup Language”).
7. The method according to claim 3 , wherein the markup language is i-mode format.
8. The method according to claim 3 , wherein the markup language is HDML (“Handheld Device Markup Language”).
9. The method according to claim 1 , wherein a value on the refresh trigger specifies a time before which the programmatically generated mechanism does not execute.
10. The method according to claim 1 , wherein a value on the, refresh trigger is computed as a time after which a sender of the portal page request automatically invokes the delivery of the updated document.
11. The method according to claim 1 , wherein a value on the refresh trigger is computed as a latest predicted completion time of a final one of the portlets which have not yet acquired their content.
12. The method according to claim 11 , wherein the value is determined by weighting actual fetch times of the portlets which have not yet acquired their content.
13. The method according to claim 11 , wherein the value is determined by adding a constant value to a largest of weighted actual fetch times of the portlets which have not yet acquired their content.
14. The method according to claim 1 , further comprising: receiving the response message by a client from which the request for the portal page was sent; rendering, by the client, the first document from the received response message; and automatically sending a subsequent request for the portal page after waiting for a time specified by a value of the refresh trigger.
15. The method according to claim 1 , wherein the programmatically generated mechanism comprises creating a multipart document, and wherein the first document is embedded in a first of the parts of the multipart document.
16. The method according to claim 15 , wherein the first of the parts is preceded by a boundary string used to delimit parts of the multipart document.
17. The method according to claim 16 , wherein the first of the parts is followed by a terminating boundary string if the first document represents results from all portlets.
18. The method according to claim 15 , further comprising: receiving the response message by a client from which the request for the portal page was sent; rendering, by the client, the first document from the first of the parts of the multipart document; receiving, by the client, subsequent parts of the multipart document, each of the subsequent parts comprising a revised version of the first document; and rendering, by the client, the subsequent parts of the multipart document.
19. The method according to claim 15 , further comprising: detecting that one or more of the portlets which had not acquired their content when the first document was returned in the response message have now acquired their content; and sending, responsive to detecting, a subsequent response message containing a revised version of the first document, the revised version representing results from the one or more portlets and being embedded in a subsequent part of the multipart document.
20. The method according to claim 19 , wherein the subsequent part is preceded by a boundary string used to delimit parts of the multipart document and is followed by a terminating boundary string if the revised version represents results from all portlets.
21. The method according to claim 1 , wherein the programmatically generated mechanism comprises programmatically inserting a hyperlink into the first document, wherein the inserted hyperlink can be used to explicitly request delivery of the updated document.
22. A method of incrementally rendering content in a content framework, comprising: receiving a request for a portal page, wherein one or more portlets provide content for the portal page; immediately returning a response message containing a first document and a refresh trigger responsive to receiving the request, wherein the first document represents results from portlets which have acquired their content but does not represent results of all portlets; and automatically delivering an updated document responsive to immediately returning the response message containing the first document and the refresh trigger, wherein the updated document further represents results from one or more portlets which had not acquired their content when the first document was returned, and wherein automatically delivering the updated document comprises: receiving a subsequent request for the portal page, the subsequent request having been automatically sent responsive to receiving the refresh trigger; and returning a subsequent response comprising the updated document responsive to receiving the subsequent request, the updated document being a subsequent version of the first document and representing results from portlets which have acquired their content thus far and which omits the refresh trigger only if all portlets have now acquired their content.
23. A method of incrementally rendering content in a content framework, comprising: receiving a request for a portal page frame, wherein one or more portlets provide content for the portal page frame; immediately returning a response message containing a first mini-document and a refresh header responsive to receiving the request, wherein the first mini-document represents results from portlets which have acquired their content but does not represent results of all portlets; and programmatically generating a mechanism for delivering an updated mini-document responsive to immediately returning the response message containing the first mini-document and the refresh header, wherein the updated mini-document further represents results from one or more portlets which had not acquired their content when the first mini-document was returned; receiving a subsequent request for the portal page frame, the subsequent request having been automatically sent responsive to receiving the refresh header; and returning a subsequent response comprising the updated mini-document responsive to receiving the subsequent request, the updated mini-document being a subsequent version of the first mini-document and representing results from portlets which have acquired their content thus far and which omits the refresh header only if all portlets have now acquired their content.
24. The method according to claim 23 , wherein the programmatically generated mechanism comprises inclusion of a syntax element in the response message, wherein the syntax element is encoded using a markup language.
25. The method according to claim 24 , wherein the markup language is HTML (“Hypertext Markup Language”) and the syntax element comprises a“META” tag using an“HTTP-EQUIV” attribute syntax.
26. The method according to claim 23 , wherein a value on the refresh header is computed as a time after which a sender of the portal page frame request automatically invokes the delivery of the updated mini-document.
27. The method according to claim 23 , wherein the programmatically generated mechanism comprises creating a multipart document, and wherein the first mini-document is embedded in a first of the parts of the multipart document.
28. The method according to claim 27 , wherein the first of the parts is preceded by a boundary string used to delimit parts of the multipart document, and is followed by a terminating boundary string if the first mini-document represents results from all portlets.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 18, 2001
March 18, 2008
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.