US20040054749A1 - Method, system and program products for distributing portal content processing - Google Patents
Method, system and program products for distributing portal content processing Download PDFInfo
- Publication number
- US20040054749A1 US20040054749A1 US10/242,130 US24213002A US2004054749A1 US 20040054749 A1 US20040054749 A1 US 20040054749A1 US 24213002 A US24213002 A US 24213002A US 2004054749 A1 US2004054749 A1 US 2004054749A1
- Authority
- US
- United States
- Prior art keywords
- portal
- type
- content
- portal content
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Definitions
- the present invention generally relates to a method, system and program product for distributing portal content processing. Specifically, the present invention improves responsiveness and scalability of portal solutions by sharing portlet processing duties between a portal system and a surrogate system.
- a portal server includes a portal program (e.g., WebSphere Portal Server from International Business Machines Corp. of Armonk, N.Y.), which obtains and aggregates portal content into a portal page.
- the portal page includes sections or visual portlets that each contain particular portal content formatted according to a user's preferences. For example, a user could establish his/her own portal page that has sections for news, weather and sports.
- the portal program would obtain the desired portal content from the appropriate content providers. Once obtained, the portal content would be aggregated, and then displayed in the appropriate sections as a portal web page.
- This portal technology has lead to the explosion of personalized “home” pages for individual web users.
- portal content has been occurring at a single point, namely, on the portal server.
- a separate portlet could be provided (e.g., a news portlet, a sports portlet, a weather portlet, etc.) to obtain the corresponding portal content from the appropriate content provider.
- the portal program must aggregate all of the content into a single Web page. Since such aggregation occurs on the portal server at a single point in time, bottlenecking is often experienced. This bottlenecking often leads to increased (poorer) response time and reduced scalability.
- the present invention provides a method, system and program product for distributing portal content processing.
- a surrogate system is provided between a web user and a portal system. All requests for portal content are first received by the surrogate system and then passed to the portal system.
- the requested portal content is classified into two (or more) types.
- the portal system is responsible for obtaining and aggregating portal contents of the first type.
- the portal system then forms an intermediate response consisting of the first-type of content and place holders for the second type of content.
- This response will be transmitted to the surrogate system, which will, based upon the place holders, obtain the missing second type of portal contents.
- the place holders in the response will then be replaced with the retrieved second-type portal content, and the aggregated response, containing both content types, will be returned as a portal page for the requesting portal user.
- a method for distributing portal content processing comprises: (1) receiving a request for portal content on a surrogate system, wherein the requested portal content has a first type and a second type; (2) forwarding the request to a portal system; (3) receiving a response from the portal system, wherein the response includes the first type of portal content and place holders corresponding to the second type of portal content; and (4) obtaining the second type of portal content on the surrogate system, and replacing the place holders in the response with the second type of portal content.
- a method for distributing portal content processing comprises: (1) receiving a request for a first type of portal content and a second type of portal content on a surrogate system, and forwarding the received request to a portal system; (2) obtaining and aggregating the first type of portal content and providing place holders corresponding to the second type of portal content, on the portal system; (3) transmitting a response containing the aggregated first type of portal content and the place holders from the portal system to the surrogate system; and (4) obtaining the second type of portal content on the surrogate system, and replacing the place holders in the response with the second type of portal content.
- a method for distributing portal content processing comprises: (1) receiving a request for a first type of portal content and a second type of portal content on a portal system; (2) obtaining and aggregating the first type of portal content on the portal system; and (3) transmitting a response containing the aggregated first type of portal content and place holders corresponding to the second type of portal content from the portal system.
- a method for distributing portal content processing comprises: (1) receiving a request for portal content on a surrogate system, wherein the requested portal content has a first type and a second type; (2) forwarding the request to a portal system; (3) receiving a response from the portal system, wherein the response includes the first type of portal content; and (4) obtaining the second type of portal content on the surrogate system from a content provider.
- a system for distributing portal content processing comprises: (1) a request system for receiving a request for a first type of portal content and a second type of portal content, and for forwarding the request to a portal system; (2) a response system for receiving a response containing the first type of portal content and place holders corresponding to the second type of portal content, from the portal system; (3) an external content system for obtaining the second type of portal content; and (4) a replacement system for replacing the place holders in the response with the second type of portal content.
- a system for distributing portal content processing comprises: (1) a surrogate system for receiving a request for portal content, wherein the requested portal content includes a first type and a second type; (2) a portal system for receiving the request from the surrogate system, wherein the portal system receives and aggregates the first type of portal content and provides place holders corresponding to the second type of portal content, and wherein the portal system transmits the aggregated first type of portal content and the place holders to the surrogate system as a response; and (3) wherein the surrogate system obtains the second type of portal content, and replaces the place holders with the second type of portal content.
- a program product stored on a recordable medium for distributing portal content processing comprises: (1) program code for receiving a request for a first type of portal content and a second type of portal content, and for forwarding the request to a portal system; (2) program code for receiving a response containing the first type of portal content and place holders corresponding to the second type of portal content, from the portal system; (3) program code for obtaining the second type of portal content; and (4) program code for replacing the place holders in the response with the second type of portal content.
- the present invention provides a method, system and program product for distributing portlet aggregation.
- FIG. 1 depicts a related art system for invoking remote portlets.
- FIG. 2 depicts a system for distributing portlet aggregation, according to the present invention.
- FIG. 3 depicts a more detailed diagram of the surrogate system of FIG. 2.
- FIG. 4 depicts the surrogate system and portal system of FIG. 2 existing in a common network.
- FIG. 5 depicts a method flow diagram, according to the present invention.
- the present invention provides a method, system and program product for distributing portal content processing.
- one or more surrogate systems are provided between a web user and a portal system. All requests for portal content are first received by the surrogate system(s) and then passed to the portal system.
- the requested portal content is classified into two (or more) portions/types.
- the portal system is responsible for obtaining the first type of requested portal content. Once obtained, the first type is aggregated and packaged into a response that includes place holders corresponding to the second type of portal content.
- the response will be transmitted to the surrogate system, which will, based upon the place holders, invoke portlets (either locally or on one or more remote systems) to obtain the missing second type of portal content.
- the second type of portal content is used to replace the place holders in the response. Then, the response containing both content types will be rendered as a portal page for the requesting portal user.
- portal server 12 includes portal program 13 (e.g., WebSphere Portal Server), which itself can include, among other things, aggregation system 14 , portlets 16 A-B and proxy 18 .
- portal program 13 e.g., WebSphere Portal Server
- portal program 13 will receive the request and invoke portlets 16 A-B and proxy 18 to retrieve the requested content.
- portlets 16 A-B will generate particular types of portal content while proxy 18 causes remote portlet 22 to generate other portal content.
- the content generated by remote portlet 22 will then be transmitted to portal server 12 .
- the requested portal content Once all of the requested portal content has been obtained, it will be aggregated via aggregation system 14 and displayed to user 10 as a portal page.
- aggregation system 14 As indicated above, although the system depicted in FIG. 1 allows for the generation of portal content to be distributed, it fails to distribute the aggregation of the portal content. Under such a system, aggregation bottlenecking will still occur.
- portal program 13 is shown as including aggregation system 14 , portlets 16 A-B and proxy 18 , this may or may not be the case.
- portlets 16 A-B and/or proxy 18 could exist outside of portal program 12 and merely work in conjunction therewith.
- the system generally includes one or more surrogate system(s) 32 each having surrogate program 34 , portal server/system 36 having portal program 37 and one or more remote system(s) 44 each having remote portlet(s) 46 .
- surrogate system 32 and portal system 36 are programmed to obtain and aggregate different portions/types of requested portal content.
- portal system 36 is programmed to obtain only “internal” portal content (i.e., portal content that is generated by portlets within the network of portal system 36 ), while surrogate system 32 is programmed to obtain and aggregate only “external” portal content (i.e., portal content that is generated by portlets outside of the network of portal system 36 ).
- portal content i.e., portal content that is generated by portlets within the network of portal system 36
- surrogate system 32 is programmed to obtain and aggregate only “external” portal content (i.e., portal content that is generated by portlets outside of the network of portal system 36 ).
- portal system 36 would be responsible for obtaining and aggregating the IBM-based content while surrogate system 32 would be responsible for obtaining and aggregating the news from the AP.
- a request for portal content by user 30 is first received by surrogate system 32 , which will optionally attach a header and forward the request to portal system 36 . If attached, the header informs portal system 36 of the existence and the capabilities of surrogate system 32 .
- a first type of portal content e.g., internal
- portlets 40 or by other remote portlets invoked by portal system 36 .
- any user preferences can be retrieved from log 42 .
- only those portlets 40 that are capable of generating the first type of portal content are loaded on, or are accessible/invoked by portal system 36 .
- the response also includes place holders that correspond to the requested second type of portal content (e.g., external). Specifically, the place holders include information necessary to invoke remote portlet(s) 46 .
- surrogate system 32 e.g., also via aggregation system 38 .
- one or more proxies within surrogate program 34 Upon reception of the response by surrogate system 32 , one or more proxies within surrogate program 34 will, based upon the place holders, invoke remote portlets 46 on remote system(s) 44 (e.g., content providers) to obtain the missing second type of portal content (e.g., external).
- remote portlets 46 e.g., content providers
- invocation of remote portlets 46 is accomplished as described above in conjunction with FIG. 1. That is, one or more WSRP requests are sent to remote portlets 46 loaded on one or more remote systems 44 from proxies 35 .
- remote portlets 46 In response to the WSRP request(s), remote portlets 46 generate the requested second type of portal content. Once generated, the second type of portal content is transmitted back to surrogate system 32 .
- surrogate program 34 Upon receipt, surrogate program 34 will replace the place holders in the response with the second type of portal content (i.e., aggregate the response).
- the response, now having the first and second types of portal content can then be transmitted to user 30 for display as a portal page according to any user preferences stored in log 42 .
- the present invention distributes both the obtaining and the aggregation of requested portal content among two different systems (i.e., portal system 36 and surrogate system 32 ). This not only reduces network latency associated with aggregation bottlenecking, but also improves scalability.
- portal system 36 typically generates and aggregates a first type of portal content (e.g., internal), while surrogate system 32 obtains and aggregates a second type of portal content (e.g., external).
- classification could be an informal function that is accomplished simply by loading only certain “internal” portlets on portal system 36 , and proxies that call external remote portlets on surrogate system 32 .
- portal system 36 could also call other remote portlets (not shown) that are capable of generating only the first type of content. It should be also appreciated, however, that the teachings of the present invention are not intended to be limited to classifying the requested portal content as either internal or external and that many variations could be implemented hereunder.
- remote system 44 and surrogate system 32 can represent the same system, and that any remote portlets invoked hereunder can be invoked using WSRP or any other applicable protocol.
- the portlets invoked by surrogate system 32 hereunder need not be loaded on remote system 44 . Rather, remote portlets 46 could be loaded within surrogate system 32 .
- the type of content obtained by surrogate system 32 could be obtained in any known manner.
- surrogate system 32 could obtain the second type of content by communicating with one or more local storage systems (e.g., databases).
- local storage systems e.g., databases
- portal system 36 could be responsible for obtaining content that is common to all stores in the chain (e.g., store locations) while surrogate system 32 is responsible for obtaining content that could vary from store to store (e.g., prices).
- each surrogate system 32 would communicate with a local storage system at the particular store to obtain the “local” content.
- surrogate system 32 generally includes central processing unit (CPU) 50 , memory 52 , bus 54 , input/output (I/O) interfaces 56 and external devices/resources 58 .
- CPU 50 may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and server.
- Memory 52 may comprise any known type of data storage and/or transmission media, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), a data cache, a data object, etc.
- memory 52 may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms.
- I/O interfaces 56 may comprise any system for exchanging information to/from an external source.
- External devices/resources 58 may comprise any known type of external device, including speakers, a CRT, LED screen, hand-held device, keyboard, mouse, voice recognition system, speech output system, printer, monitor, facsimile, pager, etc.
- Bus 54 provides a communication link between each of the components in surrogate system 32 and likewise may comprise any known type of transmission link, including electrical, optical, wireless, etc.
- additional components such as cache memory, communication systems, system software, etc., may be incorporated into surrogate system 32 .
- surrogate system 32 , portal system 36 and remote system 44 are intended to be representative of any type of computerized system. Examples include a server, a client, a workstation, a laptop, a personal digital assistant, etc.
- communication between surrogate system 32 , portal system 36 and remote system 44 can occur via a direct hardwired connection (e.g., serial port), or via an addressable connection (e.g., the Internet, a LAN, a WAN, a VPN, or other network).
- portal system 36 and remote system 44 typically include computer components (e.g., CPU, memory, etc.) similar to surrogate system 32 . Such components have not been shown for brevity purposes only.
- surrogate program 34 Stored in memory 52 of surrogate system 32 is surrogate program 34 .
- surrogate program 34 includes request system 60 , header system 62 , response system 64 , external content system 66 and replacement system 68 .
- request system 60 Upon receipt, header system 62 will optionally attach a header to the request that alerts portal system 36 as to the presence of surrogate system 32 as well as its capabilities (e.g., that surrogate system 32 will retrieve and aggregate a particular type (e.g., external) of portal content).
- request system 60 Once the header has been attached, request system 60 will forward the request to portal system 36 .
- portal system 36 will generate a first type of portal content (e.g., internal). Once generated, the first type of portal content will be aggregated and packaged into a response. Portal system 36 will also insert place holders in the response. The place holders correspond to the second type of portal content (e.g., external) that surrogate system 32 is responsible for obtaining and aggregating.
- first type of portal content e.g., internal
- second type of portal content e.g., external
- the response is then transmitted to surrogate system 32 and received by response system 64 .
- one or more proxies within external content system 66 will invoke any applicable remote portlets on remote system 44 (e.g., content provider) to generate and retrieve the missing second type of portal content. If the first type of portal content was “internal” portal content retrieved, the second type is “external” portal content that is retrieved from remote or external content source(s).
- replacement system 68 will aggregate the response. That is, replacement system 68 will replace the place holders in the response received from portal system 36 with the second type of portal content. Then, response system 64 will transmit the finalized response to user 30 for display/rendering as a portal page. As indicated above, the portal content will be rendered according to any user preferences as stored in log 42 .
- log 42 could be any system for storing content such as a database.
- log 42 may include one or more storage devices, such as a magnetic disk drive or an optical disk drive.
- log 42 includes data distributed across, for example, a local area network (LAN), wide area network (WAN) or a storage area network (SAN) (not shown).
- Log 42 may also be configured in such a way that one of ordinary skill in the art may interpret it to include one or more storage devices.
- surrogate system 32 could exist within or outside of the same network as portal system 36 .
- portal system 36 could reside within a common network.
- surrogate system 32 and portal system 36 reside within a common network.
- Such an embodiment will not prevent the obtaining and aggregation of portal content to be distributed.
- surrogate system 32 could still obtain and aggregate external portal content, while portal system 36 obtains and aggregates internal portal content.
- surrogate system 32 could be included as part of a common network, or sold as a “service” by a third party broker/provider.
- the third party broker would typically establish and maintain any relationships with the necessary content providers (e.g., remote systems, etc.).
- the third party broker would contract the content providers and provide a surrogate system(s) 32 that is capable of obtaining the desired portal content.
- the cost of maintaining these relationships could be factored into the broker's price to the website owner.
- surrogate system(s) 32 are provided by a third party broker, numerous advantages are presented. For example, the website owner purchasing the surrogate system service is relieved of having to “contract” with individual content providers to obtain the second type (e.g., outside) of portal content. Rather, the website owner could simply inform the broker of the type of content (e.g., Weather, A.P.
- the broker would be provided with a revenue stream that is variable based upon, for example, the type, amount and/or nature of content that must be provided.
- the teachings of the present invention could be implemented using multiple surrogate systems and/or remote systems that operate in series on the response received from the portal system.
- an end user in a branch office might request the company's portal page, which might include corporate and branch-office content as well as external content.
- the request might flow through a branch “surrogate,” then through an Internet-based “surrogate,” and finally to the portal system within the corporate data center.
- the response might also contain two types of place holders (e.g., those targeted at the Internet-based surrogate, and those targeted at the branch surrogate).
- First step 102 is to receive a request for portal content on a surrogate system, wherein the requested portal content has a first type and a second type.
- Second step 104 is to forward the request to a portal system.
- Third step 106 is to receive a response from the portal system, wherein the response includes the first type of portal content and place holders corresponding to the second type of portal content.
- Fourth step 108 is to obtain the second type of portal content on the surrogate system, and replace the place holders in the response with the second type of portal content.
- the present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer/server system(s)—or other apparatus adapted for carrying out the methods described herein—is suited.
- a typical combination of hardware and software could be a general purpose computer system with a computer program that, when loaded and executed, controls surrogate system 32 such that it carries out the methods described herein.
- a specific use computer containing specialized hardware for carrying out one or more of the functional tasks of the invention could be utilized.
- the present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods.
- Computer program, software program, program, or software in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
Abstract
Description
- 1. Field of the Invention
- The present invention generally relates to a method, system and program product for distributing portal content processing. Specifically, the present invention improves responsiveness and scalability of portal solutions by sharing portlet processing duties between a portal system and a surrogate system.
- 2. Background Art
- Web portals have become an increasingly popular means of delivering aggregated, personalized content to computer users. Typically, a portal server includes a portal program (e.g., WebSphere Portal Server from International Business Machines Corp. of Armonk, N.Y.), which obtains and aggregates portal content into a portal page. The portal page includes sections or visual portlets that each contain particular portal content formatted according to a user's preferences. For example, a user could establish his/her own portal page that has sections for news, weather and sports. When the page is requested, the portal program would obtain the desired portal content from the appropriate content providers. Once obtained, the portal content would be aggregated, and then displayed in the appropriate sections as a portal web page. This portal technology has lead to the explosion of personalized “home” pages for individual web users.
- To date, the aggregation of portal content has been occurring at a single point, namely, on the portal server. For each type of content the user wishes to receive, a separate portlet could be provided (e.g., a news portlet, a sports portlet, a weather portlet, etc.) to obtain the corresponding portal content from the appropriate content provider. Once obtained, the portal program must aggregate all of the content into a single Web page. Since such aggregation occurs on the portal server at a single point in time, bottlenecking is often experienced. This bottlenecking often leads to increased (poorer) response time and reduced scalability.
- Heretofore, attempts have been made to address the efficiency by which portal content is delivered. None of such attempts, however, improve efficiency by distributing portlet aggregation. Rather, the previous attempts generally revolve around remote portlet invocation. Specifically, under a standard called Web Services for Remote Portals (WSRP), portlets can be off-loaded from the portal server to other systems. This allows the portal content to be produced by multiple systems instead of only by the portal server. However, while preventing potential congestion in producing the portal content, this fails to alleviate aggregation bottlenecking.
- In view of the foregoing, there exists a need for a method, system and program product for distributing portal content processing. Specifically, a need exists for a method, system and program product that can distribute both the retrieval/generation and the aggregation of portal content. A further need exists for portal content processing duties to be shared between multiple systems to improve scalability and reduce network latency.
- In general, the present invention provides a method, system and program product for distributing portal content processing. Specifically, a surrogate system is provided between a web user and a portal system. All requests for portal content are first received by the surrogate system and then passed to the portal system. Under the present invention, the requested portal content is classified into two (or more) types. The portal system is responsible for obtaining and aggregating portal contents of the first type. The portal system then forms an intermediate response consisting of the first-type of content and place holders for the second type of content. This response will be transmitted to the surrogate system, which will, based upon the place holders, obtain the missing second type of portal contents. The place holders in the response will then be replaced with the retrieved second-type portal content, and the aggregated response, containing both content types, will be returned as a portal page for the requesting portal user.
- According to a first aspect of the present invention, a method for distributing portal content processing is provided. The method comprises: (1) receiving a request for portal content on a surrogate system, wherein the requested portal content has a first type and a second type; (2) forwarding the request to a portal system; (3) receiving a response from the portal system, wherein the response includes the first type of portal content and place holders corresponding to the second type of portal content; and (4) obtaining the second type of portal content on the surrogate system, and replacing the place holders in the response with the second type of portal content.
- According to a second aspect of the present invention, a method for distributing portal content processing is provided. The method comprises: (1) receiving a request for a first type of portal content and a second type of portal content on a surrogate system, and forwarding the received request to a portal system; (2) obtaining and aggregating the first type of portal content and providing place holders corresponding to the second type of portal content, on the portal system; (3) transmitting a response containing the aggregated first type of portal content and the place holders from the portal system to the surrogate system; and (4) obtaining the second type of portal content on the surrogate system, and replacing the place holders in the response with the second type of portal content.
- According to a third aspect of the present invention, a method for distributing portal content processing is provided. The method comprises: (1) receiving a request for a first type of portal content and a second type of portal content on a portal system; (2) obtaining and aggregating the first type of portal content on the portal system; and (3) transmitting a response containing the aggregated first type of portal content and place holders corresponding to the second type of portal content from the portal system.
- According to a fourth aspect of the present invention, a method for distributing portal content processing is provided. The method comprises: (1) receiving a request for portal content on a surrogate system, wherein the requested portal content has a first type and a second type; (2) forwarding the request to a portal system; (3) receiving a response from the portal system, wherein the response includes the first type of portal content; and (4) obtaining the second type of portal content on the surrogate system from a content provider.
- According to a fifth aspect of the present invention, a system for distributing portal content processing is provided. The system comprises: (1) a request system for receiving a request for a first type of portal content and a second type of portal content, and for forwarding the request to a portal system; (2) a response system for receiving a response containing the first type of portal content and place holders corresponding to the second type of portal content, from the portal system; (3) an external content system for obtaining the second type of portal content; and (4) a replacement system for replacing the place holders in the response with the second type of portal content.
- According to a sixth aspect of the present invention, a system for distributing portal content processing is provided. The system comprises: (1) a surrogate system for receiving a request for portal content, wherein the requested portal content includes a first type and a second type; (2) a portal system for receiving the request from the surrogate system, wherein the portal system receives and aggregates the first type of portal content and provides place holders corresponding to the second type of portal content, and wherein the portal system transmits the aggregated first type of portal content and the place holders to the surrogate system as a response; and (3) wherein the surrogate system obtains the second type of portal content, and replaces the place holders with the second type of portal content.
- According to a seventh aspect of the present invention, a program product stored on a recordable medium for distributing portal content processing is provided. When executed, the program product comprises: (1) program code for receiving a request for a first type of portal content and a second type of portal content, and for forwarding the request to a portal system; (2) program code for receiving a response containing the first type of portal content and place holders corresponding to the second type of portal content, from the portal system; (3) program code for obtaining the second type of portal content; and (4) program code for replacing the place holders in the response with the second type of portal content.
- Therefore, the present invention provides a method, system and program product for distributing portlet aggregation.
- These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
- FIG. 1 depicts a related art system for invoking remote portlets.
- FIG. 2 depicts a system for distributing portlet aggregation, according to the present invention.
- FIG. 3 depicts a more detailed diagram of the surrogate system of FIG. 2.
- FIG. 4 depicts the surrogate system and portal system of FIG. 2 existing in a common network.
- FIG. 5 depicts a method flow diagram, according to the present invention.
- The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
- In general, the present invention provides a method, system and program product for distributing portal content processing. Specifically, one or more surrogate systems are provided between a web user and a portal system. All requests for portal content are first received by the surrogate system(s) and then passed to the portal system. Under the present invention, the requested portal content is classified into two (or more) portions/types. The portal system is responsible for obtaining the first type of requested portal content. Once obtained, the first type is aggregated and packaged into a response that includes place holders corresponding to the second type of portal content. The response will be transmitted to the surrogate system, which will, based upon the place holders, invoke portlets (either locally or on one or more remote systems) to obtain the missing second type of portal content. Once obtained, the second type of portal content is used to replace the place holders in the response. Then, the response containing both content types will be rendered as a portal page for the requesting portal user.
- Referring now to, FIG. 1, a related art system for remote portlet invocation is shown. As depicted, the related art system includes
portal server 12 andremote server 20.Portal server 12 includes portal program 13 (e.g., WebSphere Portal Server), which itself can include, among other things,aggregation system 14,portlets 16A-B andproxy 18. Whenuser 10 makes a request for portal content,portal program 13 will receive the request and invokeportlets 16A-B andproxy 18 to retrieve the requested content. Specifically,portlets 16A-B will generate particular types of portal content whileproxy 18 causesremote portlet 22 to generate other portal content. The content generated byremote portlet 22 will then be transmitted toportal server 12. Once all of the requested portal content has been obtained, it will be aggregated viaaggregation system 14 and displayed touser 10 as a portal page. As indicated above, although the system depicted in FIG. 1 allows for the generation of portal content to be distributed, it fails to distribute the aggregation of the portal content. Under such a system, aggregation bottlenecking will still occur. - It should be understood that although
portal program 13 is shown as includingaggregation system 14,portlets 16A-B andproxy 18, this may or may not be the case. For example,portlets 16A-B and/orproxy 18 could exist outside ofportal program 12 and merely work in conjunction therewith. - Referring now to FIG. 2, a system for distributing portal content processing according to the present invention is shown. The present invention overcomes the drawbacks associated with the system of FIG. 1 by, among other things, distributing both the obtaining/production and aggregation of portal content. In general, the system generally includes one or more surrogate system(s)32 each having
surrogate program 34, portal server/system 36 havingportal program 37 and one or more remote system(s) 44 each having remote portlet(s) 46. Under the present invention,surrogate system 32 andportal system 36 are programmed to obtain and aggregate different portions/types of requested portal content. In one embodiment,portal system 36 is programmed to obtain only “internal” portal content (i.e., portal content that is generated by portlets within the network of portal system 36), whilesurrogate system 32 is programmed to obtain and aggregate only “external” portal content (i.e., portal content that is generated by portlets outside of the network of portal system 36). For example, ifuser 30 had established a personalized home page on IBM.com, and the personalized home page had sections (portlets) for: (1) IBM-based technical content; and (2) AP-News,portal system 36 would be responsible for obtaining and aggregating the IBM-based content whilesurrogate system 32 would be responsible for obtaining and aggregating the news from the AP. - To this extent, a request for portal content by
user 30 is first received bysurrogate system 32, which will optionally attach a header and forward the request toportal system 36. If attached, the header informsportal system 36 of the existence and the capabilities ofsurrogate system 32. When the request is passed toportal system 36, a first type of portal content (e.g., internal) will be generated by portlets 40 (or by other remote portlets invoked by portal system 36). In addition, any user preferences can be retrieved fromlog 42. In a typical embodiment, only thoseportlets 40 that are capable of generating the first type of portal content (e.g., internal) are loaded on, or are accessible/invoked byportal system 36. Once the first type of portal content has been obtained, it is aggregated and packaged into a response byaggregation system 38. The response also includes place holders that correspond to the requested second type of portal content (e.g., external). Specifically, the place holders include information necessary to invoke remote portlet(s) 46. Once the response has been prepared, it is transmitted to surrogate system 32 (e.g., also via aggregation system 38). - Upon reception of the response by
surrogate system 32, one or more proxies withinsurrogate program 34 will, based upon the place holders, invokeremote portlets 46 on remote system(s) 44 (e.g., content providers) to obtain the missing second type of portal content (e.g., external). Typically, invocation ofremote portlets 46 is accomplished as described above in conjunction with FIG. 1. That is, one or more WSRP requests are sent toremote portlets 46 loaded on one or moreremote systems 44 fromproxies 35. In response to the WSRP request(s),remote portlets 46 generate the requested second type of portal content. Once generated, the second type of portal content is transmitted back tosurrogate system 32. Upon receipt,surrogate program 34 will replace the place holders in the response with the second type of portal content (i.e., aggregate the response). The response, now having the first and second types of portal content can then be transmitted touser 30 for display as a portal page according to any user preferences stored inlog 42. Thus, the present invention distributes both the obtaining and the aggregation of requested portal content among two different systems (i.e.,portal system 36 and surrogate system 32). This not only reduces network latency associated with aggregation bottlenecking, but also improves scalability. It should be appreciated that although the functions of: (1) aggregating internal portal content; (2) packing the aggregated internal portal content into a response along with place holders that correspond to external portal content; and (3) transmitting the response tosurrogate system 32 are described as being performed byaggregation system 38, many variations are possible. For example, separate systems could exist withinportal program 37 to perform each of these functions. The embodiment depicted herein is only intended to be illustrative. - It should also be understood that as described above,
portal system 36 typically generates and aggregates a first type of portal content (e.g., internal), whilesurrogate system 32 obtains and aggregates a second type of portal content (e.g., external). To this extent, classification could be an informal function that is accomplished simply by loading only certain “internal” portlets onportal system 36, and proxies that call external remote portlets onsurrogate system 32. Alternatively,portal system 36 could also call other remote portlets (not shown) that are capable of generating only the first type of content. It should be also appreciated, however, that the teachings of the present invention are not intended to be limited to classifying the requested portal content as either internal or external and that many variations could be implemented hereunder. It should also be appreciated thatremote system 44 andsurrogate system 32 can represent the same system, and that any remote portlets invoked hereunder can be invoked using WSRP or any other applicable protocol. In addition, it should be appreciated that the portlets invoked bysurrogate system 32 hereunder need not be loaded onremote system 44. Rather,remote portlets 46 could be loaded withinsurrogate system 32. Along these lines, it should be understood that the type of content obtained bysurrogate system 32 could be obtained in any known manner. For example,surrogate system 32 could obtain the second type of content by communicating with one or more local storage systems (e.g., databases). Thus, in the case of a supermarket chain,surrogate systems 32 could be implemented at the individual stores whileportal system 36 is implemented at the chain's national headquarters. In such an embodiment,portal system 36 could be responsible for obtaining content that is common to all stores in the chain (e.g., store locations) whilesurrogate system 32 is responsible for obtaining content that could vary from store to store (e.g., prices). In this case, eachsurrogate system 32 would communicate with a local storage system at the particular store to obtain the “local” content. - Referring now to FIG. 3, a more detailed diagram of
surrogate system 32 is shown. As depicted,surrogate system 32 generally includes central processing unit (CPU) 50,memory 52,bus 54, input/output (I/O) interfaces 56 and external devices/resources 58.CPU 50 may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and server.Memory 52 may comprise any known type of data storage and/or transmission media, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), a data cache, a data object, etc. Moreover, similar toCPU 50,memory 52 may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms. - I/O interfaces56 may comprise any system for exchanging information to/from an external source. External devices/
resources 58 may comprise any known type of external device, including speakers, a CRT, LED screen, hand-held device, keyboard, mouse, voice recognition system, speech output system, printer, monitor, facsimile, pager, etc.Bus 54 provides a communication link between each of the components insurrogate system 32 and likewise may comprise any known type of transmission link, including electrical, optical, wireless, etc. In addition, although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated intosurrogate system 32. - It should be understood
surrogate system 32,portal system 36 andremote system 44 are intended to be representative of any type of computerized system. Examples include a server, a client, a workstation, a laptop, a personal digital assistant, etc. In addition, it is understood that communication betweensurrogate system 32,portal system 36 andremote system 44 can occur via a direct hardwired connection (e.g., serial port), or via an addressable connection (e.g., the Internet, a LAN, a WAN, a VPN, or other network). It should also be appreciated that although not shown,portal system 36 andremote system 44 typically include computer components (e.g., CPU, memory, etc.) similar tosurrogate system 32. Such components have not been shown for brevity purposes only. - Stored in
memory 52 ofsurrogate system 32 issurrogate program 34. As shown,surrogate program 34 includesrequest system 60,header system 62,response system 64,external content system 66 andreplacement system 68. Under the present invention, a request for portal content is received fromuser 30 byrequest system 60. Upon receipt,header system 62 will optionally attach a header to the request that alertsportal system 36 as to the presence ofsurrogate system 32 as well as its capabilities (e.g., thatsurrogate system 32 will retrieve and aggregate a particular type (e.g., external) of portal content). Once the header has been attached,request system 60 will forward the request toportal system 36. As indicated above, portlets within portal system 36 (or on other servers not shown) will generate a first type of portal content (e.g., internal). Once generated, the first type of portal content will be aggregated and packaged into a response.Portal system 36 will also insert place holders in the response. The place holders correspond to the second type of portal content (e.g., external) thatsurrogate system 32 is responsible for obtaining and aggregating. - Once assembled, the response is then transmitted to
surrogate system 32 and received byresponse system 64. Upon receipt, one or more proxies withinexternal content system 66 will invoke any applicable remote portlets on remote system 44 (e.g., content provider) to generate and retrieve the missing second type of portal content. If the first type of portal content was “internal” portal content retrieved, the second type is “external” portal content that is retrieved from remote or external content source(s). Once retrieved,replacement system 68 will aggregate the response. That is,replacement system 68 will replace the place holders in the response received fromportal system 36 with the second type of portal content. Then,response system 64 will transmit the finalized response touser 30 for display/rendering as a portal page. As indicated above, the portal content will be rendered according to any user preferences as stored inlog 42. - It should be understood that
log 42 could be any system for storing content such as a database. In such a case, log 42 may include one or more storage devices, such as a magnetic disk drive or an optical disk drive. In another embodiment, log 42 includes data distributed across, for example, a local area network (LAN), wide area network (WAN) or a storage area network (SAN) (not shown).Log 42 may also be configured in such a way that one of ordinary skill in the art may interpret it to include one or more storage devices. - It should also be understood that
surrogate system 32 could exist within or outside of the same network asportal system 36. For example, as shown in FIG. 4,surrogate system 32 andportal system 36 reside within a common network. Such an embodiment will not prevent the obtaining and aggregation of portal content to be distributed. For example,surrogate system 32 could still obtain and aggregate external portal content, whileportal system 36 obtains and aggregates internal portal content. In either event, it should be appreciated thatsurrogate system 32 could be included as part of a common network, or sold as a “service” by a third party broker/provider. In this case, the third party broker would typically establish and maintain any relationships with the necessary content providers (e.g., remote systems, etc.). For example, if a website owner wished to make outside portal content (e.g., Weather, A.P. News, ESPN Sports, etc.) available touser 30, the third party broker would contract the content providers and provide a surrogate system(s) 32 that is capable of obtaining the desired portal content. The cost of maintaining these relationships could be factored into the broker's price to the website owner. When surrogate system(s) 32 are provided by a third party broker, numerous advantages are presented. For example, the website owner purchasing the surrogate system service is relieved of having to “contract” with individual content providers to obtain the second type (e.g., outside) of portal content. Rather, the website owner could simply inform the broker of the type of content (e.g., Weather, A.P. News, ESPN Sports, etc.) they wish to provide, and leave the burden of making the portal content obtainable on the broker. Moreover, the website owner would be relieved of the overhead involved with maintaining the surrogate system(s) 32. Still yet, the broker would be provided with a revenue stream that is variable based upon, for example, the type, amount and/or nature of content that must be provided. - It should be understood that although only one surrogate system and remote system have been depicted herein, the teachings of the present invention could be implemented using multiple surrogate systems and/or remote systems that operate in series on the response received from the portal system. For example, an end user in a branch office might request the company's portal page, which might include corporate and branch-office content as well as external content. In this case the request might flow through a branch “surrogate,” then through an Internet-based “surrogate,” and finally to the portal system within the corporate data center. The response might also contain two types of place holders (e.g., those targeted at the Internet-based surrogate, and those targeted at the branch surrogate).
- Referring now to FIG. 5, a method flow diagram100 is shown. First step 102 is to receive a request for portal content on a surrogate system, wherein the requested portal content has a first type and a second type. Second step 104 is to forward the request to a portal system. Third step 106 is to receive a response from the portal system, wherein the response includes the first type of portal content and place holders corresponding to the second type of portal content. Fourth step 108 is to obtain the second type of portal content on the surrogate system, and replace the place holders in the response with the second type of portal content.
- It is understood that the present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer/server system(s)—or other apparatus adapted for carrying out the methods described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when loaded and executed, controls
surrogate system 32 such that it carries out the methods described herein. Alternatively, a specific use computer, containing specialized hardware for carrying out one or more of the functional tasks of the invention could be utilized. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. Computer program, software program, program, or software, in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form. - The foregoing description of the preferred embodiments of this invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of this invention as defined by the accompanying claims.
Claims (42)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/242,130 US7308488B2 (en) | 2002-09-12 | 2002-09-12 | Method, system and program products for distributing portal content processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/242,130 US7308488B2 (en) | 2002-09-12 | 2002-09-12 | Method, system and program products for distributing portal content processing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20040054749A1 true US20040054749A1 (en) | 2004-03-18 |
US7308488B2 US7308488B2 (en) | 2007-12-11 |
Family
ID=31991330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/242,130 Active 2025-07-29 US7308488B2 (en) | 2002-09-12 | 2002-09-12 | Method, system and program products for distributing portal content processing |
Country Status (1)
Country | Link |
---|---|
US (1) | US7308488B2 (en) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050021694A1 (en) * | 2003-07-11 | 2005-01-27 | Sheue Yuan | System and method for configuring servlet-based components as dynamic content components |
US20050192771A1 (en) * | 2002-12-20 | 2005-09-01 | International Business Machines Corporation | System and method for dynamically integrating remote portal fragments into a local portal |
US20050283524A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Persuasive portlets |
US20060010390A1 (en) * | 2004-07-09 | 2006-01-12 | Guido Patrick R | Method, system and program product for generating a portal page |
US20060041890A1 (en) * | 2004-05-21 | 2006-02-23 | Sap Aktiengesellschaft | Portal runtime framework |
US20060047728A1 (en) * | 2004-08-31 | 2006-03-02 | International Business Machines Corporation | Method and apparatus for updating a portal page |
US20060085500A1 (en) * | 2004-10-20 | 2006-04-20 | Bea Systems, Inc. | Message interface for configuring web services for remote portlets |
US20060155682A1 (en) * | 2005-01-12 | 2006-07-13 | Lection David B | Running content emitters natively on local operating system |
US20060168102A1 (en) * | 2005-01-11 | 2006-07-27 | David Faller | Cooperation between web applications |
US20060212798A1 (en) * | 2005-01-12 | 2006-09-21 | Lection David B | Rendering content natively on local operating system |
US20060212454A1 (en) * | 2005-03-17 | 2006-09-21 | International Business Machines Corporation | Method for rendering and refreshing a portal page |
US20070005726A1 (en) * | 2005-06-29 | 2007-01-04 | Bea Systems, Inc. | System and method for delivering grouped web service applications |
US20070005733A1 (en) * | 2005-06-30 | 2007-01-04 | Bea Systems, Inc. | System and method for a web service portlet registry |
US20070006016A1 (en) * | 2005-06-30 | 2007-01-04 | Bea Systems, Inc. | System and method for publishing to a web service portlet registry |
US20070006318A1 (en) * | 2005-06-29 | 2007-01-04 | Bea Systems, Inc. | Entitlement designation in Web Services for Remote Portlets environment |
US20070038599A1 (en) * | 2005-08-09 | 2007-02-15 | Sbc Knowledge Ventures, L.P. | End-user portal session logging by portlets |
US20070038643A1 (en) * | 2005-08-09 | 2007-02-15 | Epstein Samuel S | Methods and apparatuses to assemble, extract and deploy content from electronic documents |
US20070220083A1 (en) * | 2006-03-17 | 2007-09-20 | Microsoft Corporation | Estimation of initial dynamic rendering control data |
WO2008036416A2 (en) * | 2006-09-21 | 2008-03-27 | Clipblast, Inc. | Web video distribution system for e-commerce, information-based or services websites |
US20080127234A1 (en) * | 2006-09-19 | 2008-05-29 | International Business Machines Corporation | Methods, systems, and computer program products for a remote request dispatcher extension framework for container based programming models |
US20090177761A1 (en) * | 2008-01-08 | 2009-07-09 | International Business Machines Corporation | Light weight portal proxy |
US20090313632A1 (en) * | 2008-06-17 | 2009-12-17 | Walter Haenel | Generating resource consumption control limits |
US20100077073A1 (en) * | 2008-09-24 | 2010-03-25 | Walter Haenel | Executing resource consumption control limits |
US20110029593A1 (en) * | 2009-07-29 | 2011-02-03 | International Business Machines Corporation | Lightweight rrd extension framework |
US10834167B1 (en) * | 2011-06-02 | 2020-11-10 | Amazon Technologies, Inc. | Client side navigation compositor |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005346169A (en) * | 2004-05-31 | 2005-12-15 | Sony Corp | Information processor and processing method, and program |
US8892631B2 (en) | 2009-04-09 | 2014-11-18 | International Business Machines Corporation | System and method of optimizing digital media processing in a carrier grade web portal environment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976210B1 (en) * | 1999-08-31 | 2005-12-13 | Lucent Technologies Inc. | Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality |
-
2002
- 2002-09-12 US US10/242,130 patent/US7308488B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976210B1 (en) * | 1999-08-31 | 2005-12-13 | Lucent Technologies Inc. | Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050192771A1 (en) * | 2002-12-20 | 2005-09-01 | International Business Machines Corporation | System and method for dynamically integrating remote portal fragments into a local portal |
US20050021694A1 (en) * | 2003-07-11 | 2005-01-27 | Sheue Yuan | System and method for configuring servlet-based components as dynamic content components |
US8429249B2 (en) * | 2003-07-11 | 2013-04-23 | Ca, Inc. | System and method for configuring servlet-based components as dynamic content components |
US20060041890A1 (en) * | 2004-05-21 | 2006-02-23 | Sap Aktiengesellschaft | Portal runtime framework |
US7681202B2 (en) * | 2004-05-21 | 2010-03-16 | Sap Portals Israel Ltd. | Portal runtime framework |
US20050283524A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Persuasive portlets |
US9330187B2 (en) | 2004-06-22 | 2016-05-03 | International Business Machines Corporation | Persuasive portlets |
US10838602B2 (en) | 2004-06-22 | 2020-11-17 | International Business Machines Corporation | Persuasive portlets |
US20060010390A1 (en) * | 2004-07-09 | 2006-01-12 | Guido Patrick R | Method, system and program product for generating a portal page |
US20090006971A1 (en) * | 2004-07-09 | 2009-01-01 | Guido Patrick R | Portal page generation |
US7475354B2 (en) * | 2004-07-09 | 2009-01-06 | International Business Machines Corporation | Method for generating a portal page |
US20060047728A1 (en) * | 2004-08-31 | 2006-03-02 | International Business Machines Corporation | Method and apparatus for updating a portal page |
US7500181B2 (en) | 2004-08-31 | 2009-03-03 | International Business Machines Corporation | Method for updating a portal page |
US7792969B2 (en) | 2004-10-20 | 2010-09-07 | Bea Systems, Inc. | Message interface for configuring web services for remote portlets |
US20060085500A1 (en) * | 2004-10-20 | 2006-04-20 | Bea Systems, Inc. | Message interface for configuring web services for remote portlets |
US20060168102A1 (en) * | 2005-01-11 | 2006-07-27 | David Faller | Cooperation between web applications |
US20060212798A1 (en) * | 2005-01-12 | 2006-09-21 | Lection David B | Rendering content natively on local operating system |
US8631324B2 (en) * | 2005-01-12 | 2014-01-14 | International Business Machines Corporation | Running content emitters natively on local operating system |
US20060155682A1 (en) * | 2005-01-12 | 2006-07-13 | Lection David B | Running content emitters natively on local operating system |
US20060212454A1 (en) * | 2005-03-17 | 2006-09-21 | International Business Machines Corporation | Method for rendering and refreshing a portal page |
US7831556B2 (en) * | 2005-03-17 | 2010-11-09 | International Business Machines Corporation | Differential rendering and refreshing a portal page with a page delta |
US20070005726A1 (en) * | 2005-06-29 | 2007-01-04 | Bea Systems, Inc. | System and method for delivering grouped web service applications |
US7996494B2 (en) | 2005-06-29 | 2011-08-09 | Oracle International Corporation | System and method for delivering grouped web service applications |
US20070006318A1 (en) * | 2005-06-29 | 2007-01-04 | Bea Systems, Inc. | Entitlement designation in Web Services for Remote Portlets environment |
US7647644B2 (en) | 2005-06-29 | 2010-01-12 | Bea Systems, Inc. | Entitlement designation in web services for remote portlets environment |
US8001216B2 (en) * | 2005-06-30 | 2011-08-16 | Oracle International Corporation | System and method for a web service portlet registry |
US20070005733A1 (en) * | 2005-06-30 | 2007-01-04 | Bea Systems, Inc. | System and method for a web service portlet registry |
US20070006016A1 (en) * | 2005-06-30 | 2007-01-04 | Bea Systems, Inc. | System and method for publishing to a web service portlet registry |
US8751922B2 (en) * | 2005-08-09 | 2014-06-10 | Zalag Corporation | Methods and apparatuses to assemble, extract and deploy content from electronic documents |
US11151220B2 (en) | 2005-08-09 | 2021-10-19 | Andrew Epstein | Methods and apparatuses to assemble, extract and deploy content from electronic documents |
US20070038643A1 (en) * | 2005-08-09 | 2007-02-15 | Epstein Samuel S | Methods and apparatuses to assemble, extract and deploy content from electronic documents |
US20070038599A1 (en) * | 2005-08-09 | 2007-02-15 | Sbc Knowledge Ventures, L.P. | End-user portal session logging by portlets |
US7904430B2 (en) * | 2005-08-09 | 2011-03-08 | At&T Intellectual Property I, L.P. | End-user portal session logging by portlets |
US20070220083A1 (en) * | 2006-03-17 | 2007-09-20 | Microsoft Corporation | Estimation of initial dynamic rendering control data |
US20080127234A1 (en) * | 2006-09-19 | 2008-05-29 | International Business Machines Corporation | Methods, systems, and computer program products for a remote request dispatcher extension framework for container based programming models |
WO2008036416A2 (en) * | 2006-09-21 | 2008-03-27 | Clipblast, Inc. | Web video distribution system for e-commerce, information-based or services websites |
WO2008036416A3 (en) * | 2006-09-21 | 2008-07-31 | Clipblast Inc | Web video distribution system for e-commerce, information-based or services websites |
US20080092189A1 (en) * | 2006-09-21 | 2008-04-17 | Clipblast, Inc. | Web video distribution system for e-commerce, information-based or services websites |
US9578123B2 (en) * | 2008-01-08 | 2017-02-21 | International Business Machines Corporation | Light weight portal proxy |
US20090177761A1 (en) * | 2008-01-08 | 2009-07-09 | International Business Machines Corporation | Light weight portal proxy |
US8677370B2 (en) | 2008-06-17 | 2014-03-18 | International Business Machines Corporation | Generating resource consumption control limits |
US20090313632A1 (en) * | 2008-06-17 | 2009-12-17 | Walter Haenel | Generating resource consumption control limits |
US8010659B2 (en) * | 2008-09-24 | 2011-08-30 | International Business Machines Corporation | Executing resource consumption control limits |
US20100077073A1 (en) * | 2008-09-24 | 2010-03-25 | Walter Haenel | Executing resource consumption control limits |
US8332467B2 (en) * | 2009-07-29 | 2012-12-11 | International Business Machines Corporation | Lightweight RRD extension framework |
US20110029593A1 (en) * | 2009-07-29 | 2011-02-03 | International Business Machines Corporation | Lightweight rrd extension framework |
US10834167B1 (en) * | 2011-06-02 | 2020-11-10 | Amazon Technologies, Inc. | Client side navigation compositor |
Also Published As
Publication number | Publication date |
---|---|
US7308488B2 (en) | 2007-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7308488B2 (en) | Method, system and program products for distributing portal content processing | |
US7747781B2 (en) | Content access from a communications network using a handheld computer system and method | |
US9807160B2 (en) | Autonomic content load balancing | |
US11375044B2 (en) | Custom digital components | |
US6523063B1 (en) | Method system and program product for accessing a file using values from a redirect message string for each change of the link identifier | |
US6654814B1 (en) | Systems, methods and computer program products for dynamic placement of web content tailoring | |
US7475354B2 (en) | Method for generating a portal page | |
US9626342B2 (en) | Dynamic page generator | |
KR100843828B1 (en) | Method and apparatus for managing a collection of portlets in a portal server | |
US6647531B2 (en) | Customization of network documents | |
US6892206B2 (en) | Reduction of meta data in a network | |
US7308649B2 (en) | Providing scalable, alternative component-level views | |
US20050038867A1 (en) | Method, system and program product for integrating web services on a client | |
US20020010794A1 (en) | Internet hosting system | |
US20020143822A1 (en) | Method and apparatus for applying an adaptive layout process to a layout template | |
KR20050055745A (en) | Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display | |
JP2002511961A (en) | Universal domain routing and issue control system | |
WO2002069196A2 (en) | System for logging on to servers through a portal computer | |
JP2001521717A (en) | Dynamic group registry device and method | |
KR20050055746A (en) | Method and apparatus for relaying session information from a portal server | |
US7398464B1 (en) | System and method for converting an electronically stored document | |
US20050188008A1 (en) | System for communicating with servers using message definitions | |
US6823369B2 (en) | Using state information in requests that are transmitted in a distributed network environment | |
JP2007525764A (en) | Hierarchical selective personalization method and apparatus, and product and system for delivering content | |
Kapyla et al. | Towards an accessible web by applying push technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DOYLE, RONALD P.;FLETCHER, JAMES C.;IMS, STEVEN D.;AND OTHERS;REEL/FRAME:013287/0360;SIGNING DATES FROM 20020904 TO 20020910 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: DAEDALUS GROUP LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:051032/0784 Effective date: 20190930 |
|
FEPP | Fee payment procedure |
Free format text: 11.5 YR SURCHARGE- LATE PMT W/IN 6 MO, LARGE ENTITY (ORIGINAL EVENT CODE: M1556); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |
|
AS | Assignment |
Owner name: DAEDALUS GROUP, LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:051710/0445 Effective date: 20191230 |
|
AS | Assignment |
Owner name: DAEDALUS BLUE LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DAEDALUS GROUP, LLC;REEL/FRAME:051737/0191 Effective date: 20200128 |