Patent number 8621092 is assigned to
The following quote was obtained by the news editors from the background information supplied by the inventors: "Portals provide end users with unified access to content, applications, and collaboration services in a highly personalized manner. An example is
"Typically a Portal employs an architecture where the Portal itself only implements standard functionality like authentication, state handling, aggregation, caching, user management, and so on and provides the infrastructure for application components. This architecture includes APIs for the integration of applications so that applications from different partners can be used as long as they match the Portal product's API. In the Portal environment, these applications are typically called Portlets.
"Portlets are pluggable components that can be added to Portals and are designed to run inside a Portal's Portlet container. Portlets may provide different functions ranging from simple rendering of static or dynamic content to application functions such as e-mail, calendar, etc. Portlets are invoked indirectly via the Portal application and produce content that is suited for aggregation in larger pages, e.g., Portlets should produce mark-up fragments adhering guidelines that assure that the content generated by different Portlets can be aggregated into one page. Typically, Portlets run on the Portal-Server, processing input data and rendering content locally.
"FIG. 1A gives a schematic system view on a Web server implementing such prior art Portal.
"A prior art Portal as e.g., represented by above IBM WebSphere Portal is built by a complex functionality implemented on a network server--for example a Web server 100, which has elements including logic components for user authentication 105, state handling 110, aggregation 115 of fragments, a plurality of Portlets 120--further described below--provided in respective pages 125 with a respective plurality of APIs 130 to a respective Portlet container software 135 for setting them into the common Web page context, and some Portal storage resources 140. The logic components are operatively connected such that data can be exchanged between single components as required. This is roughly depicted in FIG. 1A.
"In more detail, a Portal engine of the Web server in FIG. 1A implements an aggregation of Portlets 120 based on the underlying Portal model 150 and Portal information such as security settings, user roles, customization settings, and device capabilities. Within the rendered page, the Portal automatically generates the appropriate set of navigation elements based on the Portal model. The Portal engine invokes Portlets during the aggregation as required and when required and uses caching to reduce the number of requests made to Portlets. The prior art IBM WebSphere Portal employs open standards such as the Java Portlet API (application programming interface). It also supports the use of a remote Portlet via the WSRP standard.
"The Portal model represents the Portal's content structure, i.e., the hierarchical structure of portal pages--which may again contain nested pages--and portlets, which are arranged on pages. This data is stored in the database 128 in an adequate representation based on prior art techniques like relational tables.
"Web clients interact with portlets via a request/response paradigm implemented by the portal. Usually, users interact with content produced by portlets by, for example, following links or submitting forms, resulting in portlet actions being received by the portal, which are then forwarded to the portlets targeted by the user's interactions.
"Accordingly, the Portal waits for client requests and responds to these requests. A client request message includes a URL/URI which addresses the requested page.
"The before-mentioned aggregation logic includes all steps that are required to assemble a page that is sent back to the client. Typically, these steps are to load the Portal model from the Portal database, to traverse it and to call the instances referenced in the model in order to obtain their output, which is assembled to a single page. The Portal model may be defined as the relationship as well as the arrangement of the components that are used to create the visual representation of the content. The Portal model will be defined through the Manual Layout Interface 160 by the administrators or users and is saved in the database.
"An activity in the rendering and aggregation processes is the generation of URLs that address Portal pages. A URL is generated by the Aggregation logic and includes coded state information.
"By including the state information in a URL, the Portal ensures that it is later able to establish the navigation and presentation context when the client sends a request for this URL.
"The Portlet container 135 is a single control component competent for all Portlets 120, which may control the execution of code residing in each of these Portlets. It provides the runtime environment for the Portlets and the facilities required for event handling, inter-Portlet messaging, and access to Portlet instance and configuration data, among others. The Portal resources 140 are in particular the Portlets 120 themselves and the pages 125, on which they are aggregated in form of an aggregation of fragments. A Portal database 128 stores the portlet description, this is in detail the portlet identifier, the portlet description featuring some attributes like portlet name, portlet description, portlet title, portlet short title, and keywords.
"With special focus now at the present invention remote portlets are portlets, which reside on a different portal server and which are accessed through an appropriate web service protocol. The prior art Web Services for Remote Portlets (WSRP) specification defines a web service interface for accessing and interacting with portlets. In particular, WSRP allows a Portal to issue requests for remote portlets. WSRP supports: 'Producers', in the sense of WSRP or any other suited protocol supporting remote portlets that provide portlets as WSRP conformant web services; and, 'Consumers' that use and invoke WSRP conformant web services, i.e., remote portlets.
"A prior art WSRP Producer is a portal (see also FIG. 1A) that comprises a WSRP producer 190 and a SOAP server 180."
In addition to the background information obtained for this patent, VerticalNews journalists also obtained the inventors' summary information for this patent: "This objective of the invention is achieved by the features stated in enclosed independent claims. Further advantageous arrangements and embodiments of the invention are set forth in the respective dependent claims. Reference should now be made to the appended claims.
"An aspect of the present invention is based on the above mentioned objective and includes the aspect to enable the client browser in the above communication structure to determine an optimized access pass to a remote network resource, before the actual access happens. This may be obtained by an enhanced resource-URL rewriting procedure.
"According to another aspect, the present invention discloses a method to be performed by a consumer portal server for providing access to a remote network resource addressed by a respective resource URL in a web portal infrastructure comprising at least: a WSRP Consumer Portal connectable to a client Browser requesting said remote network resource, and a remote communication partner--either a WSRP Producer Portal or a pure WSRP Producer having a Portlet Container and a Webserver--hosting said remote network resource, characterised by the steps of: a) in response to an incoming client request for a web page, determining if remote portlets are comprised of said requested web page; b) for remote portlets sending a request, e.g. by a get markup operation, for a respective portlet markup to the producer (190) of said remote portlets; c) receiving a response to said request comprising a markup document including encoded representations of network URLs of a respective remote network resource; d) searching said response for producer encoded resource URLs of remote network resources, resulting in a set of found URLs; e) generating for each producer encoded resource URL a set of rewritten URLs, wherein each rewritten URL provides an access performable by said client to said remote resource; f) generating from said received markup document a new markup document comprising an executable code fragment, having the function to be executed by the client to select a specific rewritten URL out of said set of rewritten URLs; g) sending a newly assembled web page comprising said new markup document for remote portlets and an unchanged markup document for non-remote portlets.
"The remote communication partner is in case of WSRP use either a WSRP Producer Portal or a pure WSRP Producer having a Portlet Container and a Webserver hosting the remote network resource.
"At the client Browser implemented in a networked environment comprising a WSRP Consumer Portal connectable to the client Browser requesting said remote network resource, and a remote communication partner hosting the remote network resource, the following steps are performed for accessing the above mentioned remote network resource: a) in response to a pre-sent client request for a web page receiving a response comprising a newly assembled web page and a code fragment executable by said client; b) invoking said code fragment to select a specific URL out of a set of URLs which accesses a remote resource.
"When the selection is performed, then the URL can be tested and response times can be stored temporarily. This can be done for all of the URLs. Then in a request for a remote resource, which is actually and manually triggered by a person using the client browser, i.e., in case of a 'serious' request, the best performing URL can be automatically used for accessing the remote network resource.
"By that the above objective is achieved an the advantage results that at access time the client selects the very URL which offers the best performance dependent of the actually prevailing network topology.
"Advantageously, the workload required at the WSRP Consumer Portal is substantially decreased, because instead of two network requests only one network request is performed, i.e., that one of the client Browser, when the user clicks the rewritten URL, enabling the client to directly access the remote resource without an interaction of the WSRP Consumer Portal being necessary.
"In an embodiment, the set of URLs is implemented in a list-like form in the markup document sent to the client Browser.
"In another embodiment, the following steps are added at the consumer portal: h) adding a weight to each found URL, said weight being a parameter reflecting the response time required to access the said remote network resource; i) adding an executable code fragment, ie a script, ready to be invoked by the requesting Client Browser, which comprises functionality to select the best weighted URL, and to invoke said best weighted URL; and j) replacing the found resource URL by a reference which invokes said executable code fragment.
"Accordingly, at the client, the following further steps are performed: d) receiving a web page comprising one or multiple rewritten URLs and an added executable code fragment which comprises functionality to select a best weighted URL; e) executing said executable code fragment for sending a request with the best weighted URL.
"The script may be transferred to the client as a part of the markup. Alternatively, it is transferred in a separate document that is referenced through a link or an identifier contained in the markup.
"The client executes the script and the script execution selects one URL from the set-off resource URLs. The selected URL is then used for performing the actual access to the network resource. The selection is based on an evaluation of performance parameters collected for each URL comprised of the set. The URL having the best performance is automatically selected by the script.
"Even without the script, which selects the best performing URL, the inventional resource URL rewriting procedure enables the client to access the remote network resource with a single network access.
"In above URL rewriting procedure for each resource URL pointing to a remote network resource some set of URLs is generated along with an executable script. This set of URLs contains at least the original resource URL pointing to the actual requested resource at the producer portal, further the URL pointing to the resource proxy portlet located at the WSRP consumer portal and further URLs pointing to replica or to copies of the resource proxy portlet or copies of the remote resource at the producer portal. These replicas can be created and managed by a prior art replication component which can advantageously be combined with the invention.
"In another implementation of the inventional method the performance statistics collected from the different URLs contained in the before mentioned set of URLs is evaluated by the consumer portal. An advantage includes that the evaluation can take place asynchronously to the requests made by the client. This had to increase the network performance in view of the client.
"A portlet at the WSRP consumer portal may be dedicated to do the performance measurements and store the measured values in the portal database and generates the respective scripts and the set of resource-URLs."
URL and more information on this patent, see: Jacob, Richard; Kussmaul,
Keywords for this news article include: Software,
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC
Most Popular Stories
- Obama Administration Releases Proposal to Regulate For-Profit Colleges
- Koch Brothers Step up Anti-Obamacare Campaign
- Elizabeth Vargas' Husband Marc Cohn Addresses Rumors
- Keurig Adds Peet's coffee, Alters Starbucks deal
- U.S. to Relinquish Gov't Control Over Internet
- Quiznos Files for Chapter 11
- SoCalGas Reaches Record Spend on Diversity Suppliers
- FDIC Sues Big Banks Over Rate Manipulation
- Vybz Kartel Convicted of Murder
- U.S. Consumer Sentiment Falls in Early March