Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20030145275 A1
Publication typeApplication
Application numberUS 10/279,696
Publication dateJul 31, 2003
Filing dateOct 24, 2002
Priority dateOct 24, 2001
Also published asCN1647071A, CN100504853C, EP1442397A1, EP1442397A4, US7240280, US7367014, US7451163, US7451477, US7472342, US7516167, US20030105974, US20030110172, US20030110448, US20030115292, US20030117437, US20030126558, US20030149722, US20050187978, US20050187986, US20050187993, US20070214421, WO2003036481A1, WO2003036489A1, WO2003036490A1, WO2003036500A1, WO2003036505A1, WO2003036521A1, WO2003036548A1, WO2003036609A1
Publication number10279696, 279696, US 2003/0145275 A1, US 2003/145275 A1, US 20030145275 A1, US 20030145275A1, US 2003145275 A1, US 2003145275A1, US-A1-20030145275, US-A1-2003145275, US2003/0145275A1, US2003/145275A1, US20030145275 A1, US20030145275A1, US2003145275 A1, US2003145275A1
InventorsShelly Qian, Robert Lor, Adrian Fletcher
Original AssigneeShelly Qian, Robert Lor, Adrian Fletcher
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
System and method for portal rendering
US 20030145275 A1
Abstract
A system and method for rendering a portal, comprising rendering a portal containing a portal page with a first Java Server Page (JSP); rendering the portal page containing a portlet with a second JSP; rendering the portlet containing a portlet element with a third JSP; and rendering the portlet element with a fourth JSP.
Images(5)
Previous page
Next page
Claims(69)
What is claimed is:
1. A method for rendering a portal, comprising:
rendering a portal containing a portal page with a first Java Server Page (JSP);
rendering the portal page containing a portlet with a second JSP;
rendering the portlet containing a portlet element with a third JSP; and
rendering the portlet element with a fourth JSP.
2. The method of claim 1 wherein:
wherein rendering utilizes a skin.
3. The method of claim 2 wherein:
the skin can be customized.
4. The method of claim 1 wherein:
the portal page is a Hypertext Markup Language (HTML) table.
5. The method of claim 1 to be used by a portal group which contains at least one user wherein:
the portal page is described by a template wherein the template can be customized by the group and/or by the at least one user.
6. The method of claim 5 wherein:
a placeholder is associated with the template.
7. The method of claim 6 wherein:
the portlet is dynamically bound to the placeholder.
8. The method of claim 1 wherein:
the portlet has at least one capability which is determined by evaluation of at least one entitlement.
9. The method of claim 1 wherein:
at least one entitlement acts as security for the portlet.
10. The method of claim 1 wherein:
access to the portlet is guarded by at least one entitlement.
11. The method of claim 1 wherein:
rendering the portal includes rendering a header and a footer.
12. The method of claim 1 wherein:
rendering the portlet element includes rendering at least one of a title bar, a banner, a header, a content and a footer.
13. A method for rendering a portal, comprising:
rendering a portal containing a customizable portal page with a first Java Server Page (JSP);
rendering the portal page containing a portlet with a second JSP;
rendering the portlet containing a portlet element with a third JSP;
rendering the portlet element with a fourth JSP; and
wherein the portlet corresponds to a placeholder on the portal page.
14. The method of claim 13 wherein:
wherein rendering utilizes a skin.
15. The method of claim 14 wherein:
the skin can be customized.
16. The method of claim 13 wherein:
the portal page is a Hypertext Markup Language (HTML) table.
17. The method of claim 13 to be used by a portal group which contains at least one user wherein:
the portal page is described by a template wherein the template can be customized by the group and/or by the at least one user.
18. The method of claim 17 wherein:
the placeholder is associated with the template.
19. The method of claim 13 wherein:
the portlet is dynamically bound to the placeholder.
20. The method of claim 13 wherein:
the portlet has at least one capability which is determined by evaluation of at least one entitlement.
21. The method of claim 13 wherein:
at least one entitlement acts as security for the portlet.
22. The method of claim 13 wherein:
access to the portlet is guarded by at least one entitlement.
23. The method of claim 13 wherein:
rendering the portal includes rendering a header and a footer.
24. The method of claim 13 wherein:
rendering the portlet element includes rendering at least one of a title bar, a banner, a header, a content and a footer.
25. A method for rendering a portal, comprising:
spawning a first process to render a portal containing a portal page;
spawning a second process to render the portal page containing a portlet;
spawning a third process to render the portlet containing a portlet element; and
spawning a fourth process to render the portlet element.
26. The method of claim 25 wherein:
wherein rendering utilizes a skin.
27. The method of claim 26 wherein:
the skin can be customized.
28. The method of claim 25 wherein:
the portal page is a Hypertext Markup Language (HTML) table.
29. The method of claim 25 to be used by a portal group which contains at least one user wherein:
the portal page is described by a template wherein the template can be customized by the group and/or by the at least one user.
30. The method of claim 29 wherein:
a placeholder is associated with the template.
31. The method of claim 30 wherein:
the portlet is dynamically bound to the placeholder.
32. The method of claim 25 wherein:
the portlet has at least one capability which is determined by evaluation of at least one entitlement.
33. The method of claim 25 wherein:
at least one entitlement acts as security for the portlet.
34. The method of claim 25 wherein:
access to the portlet is guarded by at least one entitlement.
35. The method of claim 25 wherein:
rendering the portal includes rendering a header and a footer.
36. The method of claim 25 wherein:
rendering the portlet element includes rendering at least one of a title bar, a banner, a header, a content, and a footer.
37. The method of claim 25 wherein:
a process is a servlet.
38. A machine readable medium having instructions stored thereon that when executed by a processor cause a system to:
render a portal containing a portal page with a first Java Server Page (JSP);
render the portal page containing a portlet with a second JSP;
render the portlet containing a portlet element with a third JSP; and
render the portlet element with a fourth JSP.
39. The machine readable medium of claim 38 wherein:
wherein rendering utilizes a skin.
40. The machine readable medium of claim 39 wherein:
the skin can be customized.
41. The machine readable medium of claim 38 wherein:
the portal page is a Hypertext Markup Language (HTML) table.
42. The method of claim 38 to be used by a portal group which contains at least one user wherein:
the portal page is described by a template wherein the template can be customized by the group and/or by the at least one user.
43. The machine readable medium of claim 42 wherein:
a placeholder is associated with the template.
44. The machine readable medium of claim 43 wherein:
the portlet is dynamically bound to the placeholder.
45. The machine readable medium of claim 38 wherein:
the portlet has at least one capability which is determined by evaluation of at least one entitlement.
46. The method of claim 38 wherein:
at least one entitlement acts as security for the portlet.
47. The method of claim 38 wherein:
access to the portlet is guarded by at least one entitlement.
48. The machine readable medium of claim 38 wherein:
rendering the portal includes rendering a header and a footer.
49. The machine readable medium of claim 38 wherein:
rendering the portlet element includes rendering at least one of a title bar, a banner, a header, a content and a footer.
50. A system for rendering a portal and adapted to communicate with a client, comprising:
a server to perform a hierarchy of rendering processes in response to communication from the client; and
wherein the server can evaluate at least one entitlement to determine a permission associated with an element to be rendered.
51. The system of claim 50 wherein:
the server can evaluate at least one entitlement which associates a role with a user based on a role rule.
52. The system of claim 50 wherein:
a rendering process can be a servlet.
53. The system of claim 50 wherein:
the server communicates to the client a portal skin and a portal page template.
54. The system of claim 53 wherein:
the portal page template can be customized for a group and/or by at least one user belonging to the group.
55. The system of claim 53 wherein:
the server selectively binds at least one portlet to the template.
56. The system of claim 55 wherein:
binding is based on the evaluation of the at least one entitlement.
57. The system of claim 50, further comprising:
a portal manager, adapted to communicate to the client a portal skin and a portal page template.
58. The system of claim 50, further comprising:
an access controller that can provide access to resources based on evaluation the at least one entitlement.
59. The system of claim 50 wherein:
the hierarchy is determined by the client.
60. The system of claim 50 wherein:
the element includes at least one of a portlet element and a portlet.
61. The system of claim 50 wherein:
the permission is whether a user is entitled to any one or more of execute, view or edit a portlet.
62. A method for rendering a portlet, comprising:
rendering a portlet wherein at least one entitlement acts as security for the portlet.
63. The method of claim 62 wherein:
rendering utilizes a skin.
64. The method of claim 63 wherein:
the skin can be customized.
65. The method of claim 62 wherein:
the portlet is dynamically bound to a placeholder for a portal page based on evaluation of the at least one entitlement.
66. The method of claim 62 wherein:
the portlet has at least one capability which is determined by evaluation of at least one entitlement.
67. The method of claim 66 wherein:
the capability is at least one of execute, view and edit.
68. The method of claim 62 wherein:
rendering includes invoking at least one Java Server Page.
69. The method of claim 62 wherein:
rendering includes rendering at least one of a title bar, a banner, a header, a content and a footer.
Description
    CLAIM OF PRIORITY
  • [0001]
    This application claims priority from ENHANCED PORTALS [FLAGSTAFF RELEASE], U.S. Provisional Application No. 60/386,487, Inventors: Phil Griffin, et al., filed on Oct. 24, 2001, and which is incorporated herein by reference.
  • CROSS REFERENCES
  • [0002]
    This application is related to the following co-pending applications which are each hereby incorporated by reference in their entirety: SYSTEM AND METHOD FOR PORTAL PAGE LAYOUT, Inventors: Phil Griffin, et al., filed on ______; SYSTEM AND METHOD FOR DELEGATED SYSTEM ADMINISTRATION, U.S. application Ser. No.______, Inventors: Phil Griffin, et al., filed on______; SYSTEM AND METHOD FOR RULE-BASED ENTITLEMENTS, U.S. application Ser. No.______, Inventors: Phil Griffin, et al., filed on______.
  • FIELD OF THE DISCLOSURE
  • [0003]
    The present invention disclosure relates to portal rendering.
  • BACKGROUND
  • [0004]
    A portal is a point of access to data and applications that provides a unified and personalized view of information and resources. Typically, a portal is implemented as one or more pages on a website. Portal pages can integrate many elements, such as live data feeds, static information and multimedia presentations. However, if the software required for rendering each element on a portal page is complex, maintenance problems can arise. For example, a web page that contains text and graphics is coded in at least two programming languages, often intermingled within the same file used to describe the web page. Implementing even minor changes requires a great deal of skill and knowledge. What is needed is a more modular approach to portal rendering that permits users of average skill to create and modify portal pages with minimal effort.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0005]
    [0005]FIG. 1 is an illustration of an exemplary portal in accordance to one embodiment of the invention.
  • [0006]
    [0006]FIG. 2 is diagram of a system in accordance to one embodiment of the invention.
  • [0007]
    [0007]FIG. 3 is diagram of portal rendering in accordance to one embodiment of the invention.
  • [0008]
    [0008]FIG. 4 is diagram of portlet rendering in accordance to one embodiment of the invention.
  • DETAILED DESCRIPTION
  • [0009]
    The invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
  • [0010]
    [0010]FIG. 1 is an illustration of an exemplary portal in accordance to one embodiment of the invention. In one embodiment, by way of example, portal 16 is rendered upon display area 12, which can be a region in the display area of a device (e.g., a computer monitor). In a further embodiment, a portal can be rendered as one or more pages available on the World Wide Web. Such pages can be implemented using Hypertext Markup Language (HTML), or other programming language, so as to be render-able by a commercial web browser. One such browser is Microsoft Internet Explorer, available from Microsoft, Corp. of Redmond, Wash.
  • [0011]
    Portal 16 contains several elements. Portal page selection tabs 20-28 can each be selected by a user to render a different page within the portal. Portal pages can be thought of as panels or panes that are swapped into and out of a display region of the available portal real estate. If tab 20 were selected, for example, the portal page corresponding to that tab would be rendered. By way of a non limiting example, selection of a portal element can be accomplished with an input device such as a mouse, a motion detector, a voice command, a hand or eye gesture, etc. Although tabs 20-28 in FIG. 1 are displayed horizontally, in another embodiment the tabs could be displayed vertically or using some other scheme. In yet another embodiment, tabs 20-28 could be rendered as buttons or as other kinds of interactive controls.
  • [0012]
    Portal 16 is also contains portal page 10, which includes portlets and other elements. A portlet is an application that can manage its own graphical user interface (GUI). Portlets can communicate with each other and with other software and hardware components (e.g., Enterprise Java Beans™, Java™ Beans, servlets, applets, etc.). The Java™ programming language, its libraries, environment and toolkits are available from Sun Microsystems, Inc. of Santa Clara, Calif. The other software and hardware components may be part of the same execution environment as the portlet or may be in a different execution environment. In one embodiment, a portlet is implemented as a JavaServer Page™ (JSP). JSP's are part of the Java™ standard available from Sun Microsystems, Inc. For example, portlet 30 displays real-time stock ticker information. A user might be able to configure such a portlet to display certain stocks of interest. In another embodiment, the user can select a given stock displayed in portlet 30 and receive more detailed information, such as the price history, price to earnings ratio, etc. The portlet would be responsible for handling user input and responding accordingly. Portlet GUI 32, for example, displays up-to-date information pertaining to a user's checking accounts. Likewise, portlet 32 could provide detailed information on transactions if the user were to select an account. Advertisement portlet 18 displays an advertisement that could be directed specifically to the current user based on demographics or other information. For instance, if a user had an outstanding home loan in good standing, the advertisement could be for a home equity loan. Likewise, if the user had an appropriate amount in a savings account, the advertisement could be for a new car loan. Static area 14 contains non-interactive content, such as text, an image or any combination thereof.
  • [0013]
    In one embodiment, a portal page such as 10 can be described with a layout (hereinafter referred to as a “template”). A template can specify the location of elements on a portal page. A template can include one or more placeholders which define regions of the template wherein a portlet can render itself, or wherein other static or dynamic content can be rendered. A given placeholder can host more than one portlet. In such a case, the template area occupied by the placeholder could be shared amongst the portlets in a number of ways, including but not limited to stacking portlets on top of one another (not shown). In another embodiment, a template can be implemented as a Hypertext Markup Language (HTML) table and created with conventional HTML editors. Each cell in a such a table can represent a placeholder. Placeholders can be dynamically bound to portlet GUI's during portal page rendering. In one embodiment, this can be accomplished by inserting directives to initiate portlet execution, such as JSP tag library calls, in the HTML table cells representing placeholders.
  • [0014]
    [0014]FIG. 2 is diagram of a system in accordance to one embodiment of the invention. Although this diagram depicts objects as functionally separate, such depiction is merely for illustrative purposes. It will be apparent to those skilled in the art that the objects portrayed in FIG. 2 can be arbitrarily combined or divided into separate software, firmware or hardware components. Furthermore, it will also be apparent to those skilled in the art that such objects, irregardless of how they are combined or divided, can execute on the same computer or can be arbitrarily distributed among different computers connected by a network.
  • [0015]
    In one embodiment, by way of illustration, client 200 can render a portal by delegating the work to a hierarchy of JSP's wherein one JSP renders parts of its GUI by invoking other JSP's. Client 200 can be a web browser, for example. However, client 200 may be any software, firmware or hardware capable of communicating with server 202. Server 202 can be any web server having a Java™ run-time environment and support for JSP, such as the BEA WebLogic Server™, available from BEA Systems, Inc. of San Jose, Calif.
  • [0016]
    JSP's separate GUI functionality executing on a client from application logic executing on a server, thereby enabling users to easily change a GUI without having to alter underlying application logic. Generally speaking, a JSP includes a page file that contains traditional HTML and Java™, but has a “jsp” file name extension rather than “.hml”. The “jsp” extension indicates to server 202 that the file contains embedded directives to invoke special JSP processing within server 202. For example, consider the following JSP page:
  • [0017]
    <%@page import=“java.util.*” %>
  • [0018]
    <HTML>
  • [0019]
    <HEAD>
  • [0020]
    <TITLE>JSP Date Example</TITLE>
  • [0021]
    </HEAD>
  • [0022]
    <CENTER>
  • [0023]
    <H2>Today's Date is:</H2>
  • [0024]
    <%=new Date( ) %>
  • [0025]
    </CENTER>
  • [0026]
    </BODY>
  • [0027]
    </HTML>
  • [0028]
    Embedded in the HTML code above are statements expressly for processing by a JSP engine (not shown) in server 202. For example, the scriplet code fragment “new Date ( )” is delimited by the special symbols <%= and %>. When the JSP page is invoked by client 200, it will be processed and executed on server 202 by the JSP engine, whereas the HTML code will be processed and executed on client 200. The above scriplet creates a new instance of the Date class on server 202 and returns the current date as a string to client 200, which is then displayed by client 200:
  • [0029]
    Today's Date is:
  • [0030]
    Tues Jul. 05 13:34:33 PDT 2002
  • [0031]
    In one embodiment, when client 200 invokes a JSP page, web server 202 compiles the page into a servlet and spawns it as a running process. A servlet is a process deployed in a web server. Any dynamic output of the servlet is sent back to client 200 as a response. Processing of JSP code within the web server may also result in the inclusion (and invocation) of other JSP files via the <jsp:include> or similar directive.
  • [0032]
    [0032]FIG. 3 is diagram of portal rendering in accordance to one embodiment of the invention. Each box in the diagram having a file name therein represents a JSP page. The arrows beneath the boxes represent execution flow from one JSP page to another via JSP include directives. index.jsp 300 is the entry point for the portal web page. It forwards the web page request to the main portal JSP page, Portal.jsp 302. Portal.jsp 302 is responsible for rendering the portal and its contents. As such it must acquire various information needed for this endeavor. In one embodiment, Portal.jsp 302 retrieves such information via calls to a JSP tag library, esp.tld 204. esp.tld 204 includes JSP tags for communicating with portal manager 206. Portal manager 206 is responsible for retrieving and persisting information pertaining to portal “skins”, portal templates and portlets. In one embodiment, the portal manager can be implemented as a stateless session Enterprise Java Bean™ (EJB). Persistence manager 208 is responsible for persisting this information and providing it to portal manager 206. Persistence manager 208 may utilize a relational database management system (RDMBS) 210.
  • [0033]
    In one embodiment, a skin can be a collection of files that includes a cascading style sheet and a directory of images that define the look and feel of a portal. Every button, banner, portlet header, background color, and font characteristic can be determined by the skin. In one embodiment, a portal can be associated with more than one user or portal group. A user group can be any arbitrary collection of users that is determined statically, or dynamically by evaluating rules that take into account information about a user and other information. A portal has a default skin that can be customized for a group. In this way, a group can define its own look and feel for a particular portal page. The group skin can be further customized to suit the needs of individual users. Skin information can be cached in server 202 so that it may be used by other JSP's invoked by Portal.jsp during rendering of the portal page.
  • [0034]
    Another piece of information retrieved by Portaljsp 302 via esp.tld 204 is a template corresponding to each portal page. As with skins, a template can be customized. In one embodiment, customization of a template involves the layout or placement of portal elements (e.g., portlets, static data, dynamic data, header, footer, content, etc.) on the template. A template can be afforded an arbitrary number of levels of customization. In another embodiment, a template can have three levels of customization: global, group and user. An initial template is created for a portal page at the global level. This is the default template used for describing the portal page if there are no further customizations. Customizations at the group level supersede the global level template. Likewise, customizations at the user level take precedence over the group and global levels.
  • [0035]
    As part of retrieving the template, portal manager 206 binds portlets to template placeholders. In doing so, portal manager 206 utilizes access controller 212 to determine capabilities or permissions (e.g., whether the given portal user is entitled to execute, view or edit the portlet in question) based on one or more entitlements. An entitlement is a rule that grants or denies access to a resource capability. In one embodiment, a resource can be any resource available on a computer network, including but not limited to a portlet, a portlet GUI component, a portal page, portlet content, etc. In one embodiment, evaluation of an entitlement consists of dynamically associating roles with a user based on role rules that take into account information about the user, information about the user's communication session, or the current state of the system. For example:
  • [0036]
    (1) When all of these conditions apply, the user is a GoldMember:
  • [0037]
    Checking account balance>$5,000
  • [0038]
    Combined account balance >$50,000
  • [0039]
    In rule (1) above, a user is deemed a GoldMember if there is more than $5,000 in their checking account and they have more than $50,000 in their combined accounts. Certain portlets, for example, may only be for GoldMember users. Thus, if only GoldMember users were entitled to execute the portlet in question, it would not be bound to a template for non-GoldMember users. Similarly, if the entitlement was for viewing, rather than execution, the portlet would be bound to the template but only GoldMember users could view it. If the entitlement was for editing, then the portlet would be bound to the template and would be visible to a user, however only GoldMember users would be allowed to edit the portlet's contents. Access controller 212 directs role mapper 214 to determine which roles correspond to client 200. Access controller 212 then directs decision module 216 to determine whether or not access to a resource should be allowed based on entitlements corresponding to the roles.
  • [0040]
    The final piece of information Portal.jsp 302 needs in order to render the portal is the currently selected portal page tab 20-28. This determines which portal page template to use initially, since each portal page is described by a template and each tab corresponds to a unique portal page. After obtaining this preliminary information, as shown in FIG. 3, Portal.jsp 302 uses a JSP include directive to invoke header.jsp 304. header.jsp 304 renders a standard header which is the same for each page in the portal. The header could be a navigation pane, for example, allowing a user to jump to different areas of the portal. It could also provide a standard graphic design element to unify pages within the portal. Next, Portal.jsp 302 invokes PortalPageHeader.jsp 306. PortalPageHeader.jsp 306 renders tabs 20-28 based on the number of portal page templates retrieved. Next, Portal.jsp 302 invokes PortalPageContent.jsp 308 to render the selected portal page. A placeholder defines regions of the template wherein a portlet can display itself, or wherein other static or dynamic content can be rendered. In one embodiment, PortalPageContent.jsp 308 is responsible for rendering the page elements corresponding to each placeholder. If the placeholder hosts a portlet, PortalPageContent.jsp 308 invokes Portlet.jsp 310.
  • [0041]
    [0041]FIG. 4 is diagram of portlet rendering in accordance to one embodiment of the invention. Portlet.jsp 310 invokes Titlebar.jsp 402 which, in turn, renders the portlet's window title bar. The title bar might display icons that, when selected, allow a user to edit the portlet's contents 36, detach the portlet such that it occupies a window independent from the web browser's main window 34, or remove the portlet 38 (i.e., close its window). Titlebar.jsp 402 can access entitlement information via esp.tld 204 in deciding whether or not these icons are present or active. Portlet.jsp 310 invokes Banner.jsp 404 to render a banner in a like manner to that of the portal page. Portlet.jsp 310 invokes aheader.jsp 406 and afooter.jsp 410 render the header and footer portions of the portlet window. Portlet content generation (e.g., stock quotes, account balances) begins when Portlet.jsp 310 invokes acontent.jsp 408 to initiate portlet execution (e.g., by making a JSP tag library call).
  • [0042]
    One embodiment may be implemented using a conventional general purpose or a specialized digital computer or microprocessor(s) programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art.
  • [0043]
    One embodiment includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the features presented herein. The storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.
  • [0044]
    Stored on any one of the computer readable medium (media), the present invention includes software for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, execution environments/containers, and user applications.
  • [0045]
    The foregoing description of the preferred embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to the practitioner skilled in the art. Embodiments were chosen and described in order to best describe the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention, the various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US5426747 *Mar 22, 1991Jun 20, 1995Object Design, Inc.Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5627886 *Sep 15, 1995May 6, 1997Electronic Data Systems CorporationSystem and method for detecting fraudulent network usage patterns using real-time network monitoring
US5649195 *May 22, 1995Jul 15, 1997International Business Machines CorporationSystems and methods for synchronizing databases in a receive-only network
US5757669 *May 31, 1995May 26, 1998Netscape Communications CorporationMethod and apparatus for workgroup information replication
US5758355 *Aug 7, 1996May 26, 1998Aurum Software, Inc.Synchronization of server database with client database using distribution tables
US5867667 *Mar 24, 1997Feb 2, 1999Pfn, Inc.Publication network control system using domain and client side communications resource locator lists for managing information communications between the domain server and publication servers
US5889953 *Mar 29, 1996Mar 30, 1999Cabletron Systems, Inc.Policy management and conflict resolution in computer networks
US5918210 *Jun 7, 1996Jun 29, 1999Electronic Data Systems CorporationBusiness query tool, using policy objects to provide query responses
US5925136 *Mar 2, 1998Jul 20, 1999Fairchild Semiconductor CorporationDifference capture timer
US6026433 *Mar 17, 1997Feb 15, 2000Silicon Graphics, Inc.Method of creating and editing a web site in a client-server environment using customizable web site templates
US6029144 *Aug 29, 1997Feb 22, 2000International Business Machines CorporationCompliance-to-policy detection method and system
US6029196 *Jun 18, 1997Feb 22, 2000Netscape Communications CorporationAutomatic client configuration system
US6054910 *Mar 2, 1999Apr 25, 2000Murata Manufacturing Co., Ltd.Dielectric filter having an inner conductor with two open-circuited inner ends
US6055515 *Jul 30, 1996Apr 25, 2000International Business Machines CorporationEnhanced tree control system for navigating lattices data structures and displaying configurable lattice-node labels
US6055637 *Sep 27, 1996Apr 25, 2000Electronic Data Systems CorporationSystem and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US6081829 *Jan 31, 1996Jun 27, 2000Silicon Graphics, Inc.General purpose web annotations without modifying browser
US6088679 *Dec 1, 1997Jul 11, 2000The United States Of America As Represented By The Secretary Of CommerceWorkflow management employing role-based access control
US6092083 *Aug 17, 1999Jul 18, 2000Siebel Systems, Inc.Database management system which synchronizes an enterprise server and a workgroup user client using a docking agent
US6169794 *May 13, 1998Jan 2, 2001Fujitsu LimitedMethod and apparatus for synchronizing databases within intelligent network
US6170009 *Jul 17, 1998Jan 2, 2001Kallol MandalControlling devices on a network through policies
US6178172 *Mar 24, 1998Jan 23, 20013Com CorporationMethod of topology database synchronization in an asynchronous transfer mode network
US6182142 *Jul 10, 1998Jan 30, 2001Encommerce, Inc.Distributed access management of information resources
US6185587 *Jun 19, 1998Feb 6, 2001International Business Machines CorporationSystem and method for building a web site with automated help
US6188399 *May 8, 1998Feb 13, 2001Apple Computer, Inc.Multiple theme engine graphical user interface architecture
US6195696 *Oct 1, 1998Feb 27, 2001International Business Machines CorporationSystems, methods and computer program products for assigning, generating and delivering content to intranet users
US6202066 *Nov 18, 1998Mar 13, 2001The United States Of America As Represented By The Secretary Of CommerceImplementation of role/group permission association using object access type
US6202157 *Dec 8, 1997Mar 13, 2001Entrust Technologies LimitedComputer network security system and method having unilateral enforceable security policy provision
US6202207 *Aug 19, 1998Mar 13, 2001International Business Machines CorporationMethod and a mechanism for synchronized updating of interoperating software
US6205466 *Jul 17, 1998Mar 20, 2001Hewlett-Packard CompanyInfrastructure for an open digital services marketplace
US6209101 *Jul 17, 1998Mar 27, 2001Secure Computing CorporationAdaptive security system having a hierarchy of security servers
US6216231 *Apr 25, 1997Apr 10, 2001At & T Corp.Specifying security protocols and policy constraints in distributed systems
US6233576 *Sep 25, 1995May 15, 2001International Business Machines CorporationEnhanced security for computer system resources with a resource access authorization control facility that creates files and provides increased granularity of resource permission
US6236991 *Nov 26, 1997May 22, 2001International Business Machines Corp.Method and system for providing access for categorized information from online internet and intranet sources
US6253321 *Jun 19, 1998Jun 26, 2001Ssh Communications Security Ltd.Method and arrangement for implementing IPSEC policy management using filter code
US6256741 *Oct 13, 2000Jul 3, 2001At&T Corp.Specifying security protocols and policy constraints in distributed systems
US6269456 *Jan 11, 2000Jul 31, 2001Network Associates, Inc.Method and system for providing automated updating and upgrading of antivirus applications using a computer network
US6336073 *Jul 26, 2000Jan 1, 2002Matsushita Electric Industrial Co., Ltd.Information terminal device and method for route guidance
US6339423 *Mar 23, 2000Jan 15, 2002Entrust, Inc.Multi-domain access control
US6341352 *Oct 15, 1998Jan 22, 2002International Business Machines CorporationMethod for changing a security policy during processing of a transaction request
US6353886 *Nov 24, 1998Mar 5, 2002Alcatel Canada Inc.Method and system for secure network policy implementation
US6360363 *Dec 30, 1998Mar 19, 2002Eternal Systems, Inc.Live upgrade process for object-oriented programs
US6377973 *Sep 30, 1998Apr 23, 2002Emrys Technologies, Ltd.Event management in a system with application and graphical user interface processing adapted to display predefined graphical elements resides separately on server and client machine
US6393474 *Dec 31, 1998May 21, 20023Com CorporationDynamic policy management apparatus and method using active network devices
US6397222 *Jul 28, 1999May 28, 2002Paul ZellwegerMethod and apparatus for end-user management of a content menu on a network
US6412077 *Jan 14, 1999Jun 25, 2002Cisco Technology, Inc.Disconnect policy for distributed computing systems
US6418448 *Dec 6, 1999Jul 9, 2002Shyam Sundar SarkarMethod and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
US6519647 *Jul 23, 1999Feb 11, 2003Microsoft CorporationMethods and apparatus for synchronizing access control in a web server
US6530024 *Nov 20, 1998Mar 4, 2003Centrax CorporationAdaptive feedback security system and method
US6542993 *Mar 12, 1999Apr 1, 2003Lucent Technologies Inc.Security management system and method
US6581071 *Sep 12, 2000Jun 17, 2003Survivors Of The Shoah Visual History FoundationSurveying system and method
US6584454 *Dec 31, 1999Jun 24, 2003Ge Medical Technology Services, Inc.Method and apparatus for community management in remote system servicing
US6587876 *Aug 24, 1999Jul 1, 2003Hewlett-Packard Development CompanyGrouping targets of management policies
US6684369 *Jun 19, 1998Jan 27, 2004International Business Machines, CorporationWeb site creator using templates
US6697805 *Apr 14, 2000Feb 24, 2004Microsoft CorporationXML methods and systems for synchronizing multiple computing devices
US6715077 *Mar 22, 2000Mar 30, 2004International Business Machines CorporationSystem and method to support varying maximum cryptographic strength for common data security architecture (CDSA) applications
US6721888 *Jan 14, 2000Apr 13, 2004Sun Microsystems, Inc.Mechanism for merging multiple policies
US6732144 *Nov 16, 2000May 4, 2004Kabushiki Kaisha ToshibaCommunication method for data synchronization processing and electronic device therefor
US6735701 *Jun 25, 1998May 11, 2004Macarthur Investments, LlcNetwork policy management and effectiveness system
US6751659 *Mar 31, 2000Jun 15, 2004Intel CorporationDistributing policy information in a communication network
US6757698 *Dec 22, 2000Jun 29, 2004Iomega CorporationMethod and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations
US6757822 *May 31, 2000Jun 29, 2004Networks Associates Technology, Inc.System, method and computer program product for secure communications using a security service provider manager
US6769095 *Nov 27, 2000Jul 27, 2004Codagen Technologies Corp.Hierarchically structured control information editor
US6769118 *Dec 19, 2000Jul 27, 2004International Business Machines CorporationDynamic, policy based management of administrative procedures within a distributed computing environment
US6854035 *Oct 5, 2001Feb 8, 2005International Business Machines CorporationStorage area network methods and apparatus for display and management of a hierarchical file system extension policy
US6856999 *Jun 12, 2001Feb 15, 2005Microsoft CorporationSynchronizing a store with write generations
US6857012 *May 18, 2001Feb 15, 2005Intel CorporationMethod and apparatus for initializing a new node in a network
US6865549 *Jan 21, 2000Mar 8, 2005Sun Microsystems, Inc.Method and apparatus for concurrency control in a policy-based management system
US6873988 *Jul 9, 2002Mar 29, 2005Check Point Software Technologies, Inc.System and methods providing anti-virus cooperative enforcement
US6880005 *Mar 31, 2000Apr 12, 2005Intel CorporationManaging policy rules in a network
US6889222 *Dec 26, 2000May 3, 2005Aspect Communications CorporationMethod and an apparatus for providing personalized service
US6901403 *Sep 14, 2001May 31, 2005Quovadx, Inc.XML presentation of general-purpose data sources
US6904454 *Mar 20, 2002Jun 7, 2005Nokia CorporationMethod and apparatus for content repository with versioning and data modeling
US6912538 *Oct 19, 2001Jun 28, 2005Kevin StapelSystem and method for dynamic generation of structured documents
US6918088 *Nov 5, 2001Jul 12, 2005Sun Microsystems, Inc.Service portal with application framework for facilitating application and feature development
US6920457 *May 16, 2002Jul 19, 2005Peter PressmarVirtual database of heterogeneous data structures
US6985915 *Feb 28, 2001Jan 10, 2006Kiran SomalwarApplication independent write monitoring method for fast backup and synchronization of files
US6988138 *Jun 30, 2000Jan 17, 2006Blackboard Inc.Internet-based education support system and methods
US7003578 *Apr 26, 2001Feb 21, 2006Hewlett-Packard Development Company, L.P.Method and system for controlling a policy-based network
US7035944 *Sep 19, 2001Apr 25, 2006International Business Machines CorporationProgrammatic management of software resources in a content framework environment
US7043685 *Mar 11, 2002May 9, 2006Nec CorporationWeb-content providing method and web-content providing system
US7047522 *Apr 30, 2001May 16, 2006General Electric Capital CorporationMethod and system for verifying a computer program
US7051316 *Apr 20, 2001May 23, 2006Borland Software CorporationDistributed computing component system with diagrammatic graphical representation of code with separate delineated display area by type
US7062490 *Dec 5, 2001Jun 13, 2006Microsoft CorporationServerless distributed file system
US7174563 *Nov 1, 2000Feb 6, 2007Entrust, LimitedComputer network security system and method having unilateral enforceable security policy provision
US20010009016 *Jan 12, 2001Jul 19, 2001Sun Microsystems, Inc.Computer-based presentation manager and method for individual user-device data representation
US20020005867 *May 22, 2001Jan 17, 2002Yaniv GvilySnippet selection
US20020046099 *Apr 3, 2001Apr 18, 2002Renee FrengutMethod for providing customized user interface and targeted marketing forum
US20020059394 *Jun 29, 2001May 16, 2002Seachange International, Inc., A Delaware CorporationContent propagation in interactive television
US20020062451 *May 16, 2001May 23, 2002Scheidt Edward M.System and method of providing communication security
US20020067370 *Sep 17, 2001Jun 6, 2002Forney Paul W.Extensible manufacturing/process control information portal server
US20030004982 *Jun 15, 2001Jan 2, 2003Brandon Nancy W.Method for designing a knowledge portal
US20030014442 *Jul 5, 2002Jan 16, 2003Shiigi Clyde K.Web site application development method using object model for managing web-based content
US20030069874 *May 5, 2000Apr 10, 2003Eyal HertzogMethod and system to automate the updating of personal information within a personal information management application and to synchronize such updated personal information management applications
US20030078959 *Oct 18, 2001Apr 24, 2003Wilson YeungDeployment of business logic software and data content onto network servers
US20030115484 *Sep 13, 2002Jun 19, 2003Moriconi Mark S.System and method for incrementally distributing a security policy in a computer network
US20040030744 *Feb 28, 2003Feb 12, 2004Rubin Andrew E.Network portal apparatus and method
US20050097008 *Dec 13, 2004May 5, 2005Dan EhringPurpose-based adaptive rendering
US20060005150 *Aug 30, 2005Jan 5, 2006Microsoft CorporationMethod and system for displaying categorized information on a user interface
US20060059107 *Mar 30, 2001Mar 16, 2006Kevin ElmoreSystem and method for establishing eletronic business systems for supporting communications servuces commerce
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7062511Dec 31, 2001Jun 13, 2006Oracle International CorporationMethod and system for portal web site generation
US7277924May 7, 2002Oct 2, 2007Oracle International CorporationMethod and mechanism for a portal website architecture
US7353452 *Feb 21, 2003Apr 1, 2008International Business Machines CorporationSystem and method for hierarchical layout specialization
US7548957May 7, 2002Jun 16, 2009Oracle International CorporationMethod and mechanism for a portal website architecture
US7552401 *Aug 13, 2004Jun 23, 2009International Business Machines CorporationDetachable and reattachable portal pages
US7600188Jun 15, 2006Oct 6, 2009Glogood, Inc.Interface for directing a user to build a website
US7653930Jan 26, 2010Bea Systems, Inc.Method for role and resource policy management optimization
US7752205Aug 4, 2006Jul 6, 2010Bea Systems, Inc.Method and system for interacting with a virtual content repository
US7783670Jan 26, 2006Aug 24, 2010Bea Systems, Inc.Client server conversion for representing hierarchical data structures
US7818344Oct 19, 2010Bea Systems, Inc.System and method for providing nested types for content management
US7840707 *Nov 23, 2010International Business Machines CorporationReverse proxy portlet with rule-based, instance level configuration
US7917537May 22, 2006Mar 29, 2011Oracle International CorporationSystem and method for providing link property types for content management
US7921380 *Oct 10, 2008Apr 5, 2011International Business Machines CorporationDetachable and reattachable portal pages
US7953734May 31, 2011Oracle International CorporationSystem and method for providing SPI extensions for content management system
US7992189Aug 5, 2009Aug 2, 2011Oracle International CorporationSystem and method for hierarchical role-based entitlements
US8055705 *Nov 8, 2011International Business Machines CorporationMethod and apparatus for enabling associated portlets of a web portlet to collaborate for synchronized content display
US8327290 *Dec 4, 2012International Business Machines CorporationUser task interface in a web application
US8463852Jun 11, 2013Oracle International CorporationGroupware portlets for integrating a portal with groupware systems
US8612852 *Sep 30, 2003Dec 17, 2013Oracle International CorporationOmniportlet-declaratively publish data in a portal without code
US8812944 *Aug 16, 2007Aug 19, 2014Yahoo! Inc.Page modules and providing content
US8831966Feb 14, 2003Sep 9, 2014Oracle International CorporationMethod for delegated administration
US9218329Jun 30, 2005Dec 22, 2015International Business Machines CorporationIndependent submission of forms in a portal view
US20040162733 *Feb 14, 2003Aug 19, 2004Griffin Philip B.Method for delegated administration
US20040162905 *Feb 14, 2003Aug 19, 2004Griffin Philip B.Method for role and resource policy management optimization
US20040162906 *Feb 14, 2003Aug 19, 2004Griffin Philip B.System and method for hierarchical role-based entitlements
US20040167868 *Jul 11, 2003Aug 26, 2004Bea Systems, Inc.System and method for a virtual content repository
US20040230901 *May 15, 2003Nov 18, 2004International Business Machines CorporationPortlet style conformity on pervasive agents
US20050055634 *Sep 30, 2003Mar 10, 2005Oracle International CorporationOmniportlet-declaratively publish data in a portal without code
US20050102401 *Oct 8, 2004May 12, 2005Bea Systems, Inc.Distributed enterprise security system for a resource hierarchy
US20050102535 *Oct 8, 2004May 12, 2005Bea Systems, Inc.Distributed security system with security service providers
US20050102536 *Oct 8, 2004May 12, 2005Bea Systems, Inc.Dynamically configurable distributed security system
US20050120288 *Feb 21, 2003Jun 2, 2005Boehme Thomas F.System and method for hierarchical layout specialization
US20050223081 *Apr 5, 2004Oct 6, 2005Mcmahan Paul FPortal including detachable and reattachable portlets
US20050251851 *Oct 8, 2004Nov 10, 2005Bea Systems, Inc.Configuration of a distributed security system
US20050251852 *Oct 8, 2004Nov 10, 2005Bea Systems, Inc.Distributed enterprise security system
US20050256906 *May 13, 2005Nov 17, 2005Bea Systems, Inc.Interface for portal and webserver administration-efficient updates
US20050257154 *May 13, 2005Nov 17, 2005Bea Systems, Inc.Graphical association of elements for portal and webserver administration
US20050257245 *Oct 8, 2004Nov 17, 2005Bea Systems, Inc.Distributed security system with dynamic roles
US20060031849 *Apr 6, 2004Feb 9, 2006International Business Machines CorporationUser task interface in a Web application
US20060036969 *Aug 13, 2004Feb 16, 2006International Business Machines CorporationDetachable and reattachable portal pages
US20060041637 *Aug 18, 2004Feb 23, 2006Jerrard-Dunne Stanley KReverse proxy portlet with rule-based, instance level configuration
US20060047777 *Sep 1, 2004Mar 2, 2006International Business Machines CorporationEnhancing portlet run-time display with dynamically applied portlet skins
US20060080612 *Oct 7, 2004Apr 13, 2006International Business Machines CorporationDynamic portlet tabbing
US20060123026 *Jan 26, 2006Jun 8, 2006Bea Systems, Inc.Client server conversion for representing hierarchical data structures
US20070016857 *Jun 30, 2005Jan 18, 2007International Business Machines CorporationMethod and system for non-intrusive portlet rendering for printing
US20070073638 *Sep 26, 2006Mar 29, 2007Bea Systems, Inc.System and method for using soft links to managed content
US20070094267 *Oct 20, 2005Apr 26, 2007Glogood Inc.Method and system for website navigation
US20070157082 *Jan 4, 2006Jul 5, 2007Computer Associates Think, Inc.Web portal layout manager system and method
US20070294628 *Jun 15, 2006Dec 20, 2007Glogood, Inc.Interface for directing a user to build a website
US20080077851 *Sep 26, 2006Mar 27, 2008International Business Machines CorporationMethod and apparatus for inserting jsr 168 portlet content into a j2ee java server page
US20080270915 *Apr 30, 2008Oct 30, 2008Avadis TevanianCommunity-Based Security Information Generator
US20090037823 *Oct 10, 2008Feb 5, 2009Guido Patrick RDetachable and reattachable portal pages
US20090049370 *Aug 16, 2007Feb 19, 2009Andrew Boath FarisPage Modules and Providing Content
US20090049387 *Aug 16, 2007Feb 19, 2009Guido Patrick RMethod and system to control operation of a portlet
US20090292800 *Nov 26, 2009International Business Machines CorporationMethod and apparatus for enabling associated portlets of a web portlet to collaborate for synchronized content display
US20110055704 *Aug 16, 2007Mar 3, 2011Guido Patrick RMethod and system to control operation of a portlet
US20110113354 *Nov 12, 2009May 12, 2011Sling Media Pvt LtdAlways-on-top media player launched from a web browser
US20120179985 *Mar 20, 2012Jul 12, 2012International Business Machines CorporationIndependently refreshing portlet content in a portal view
WO2007081766A1 *Jan 4, 2007Jul 19, 2007Computer Associates Think, Inc.Web portal layout manager system and method
Classifications
U.S. Classification715/234, 707/E17.116, 707/E17.032, 707/E17.111
International ClassificationH04L12/24, G06F12/00, G06F21/00, G09G5/00, G06Q10/00, H04L29/08, H04L29/06, G06F17/30
Cooperative ClassificationY10S707/99931, Y10S707/99933, Y10S707/99954, Y10S707/99953, H04L67/2842, H04L67/2871, H04L67/2838, H04L67/306, H04L67/36, H04L67/16, H04L69/22, H04L67/14, H04L67/142, H04L67/025, H04L69/329, H04L67/02, H04L67/2819, H04L67/06, H04L67/34, H04L63/0884, G06F17/30581, H04L41/22, G06F2221/0766, G06F2221/0771, G06F21/6218, H04L63/0815, H04L29/06, G06F2221/2145, H04L63/102, G06F17/30896, G06F2221/2141, G06F21/604, G06F17/3089, G06F2221/2117, G06F2221/2149, G06F2221/2101, G06F21/6227, G06F2221/0735, G06F2221/0717, G06F2221/0706, G06F17/30873, G06F21/629, H04L41/18, G06F17/30908, G06Q10/10
European ClassificationG06Q10/10, H04L29/08N13B, G06F21/60B, H04L29/08A7, H04L29/08N1A, H04L29/06, G06F21/62B, H04L41/18, H04L63/10B, H04L63/08B, G06F17/30W7S, H04L29/08N5, H04L63/08J, G06F21/62B1, H04L29/06N, H04L41/22, H04L29/08N15, H04L29/08N35, G06F21/62C, G06F17/30S7L, H04L29/08N13, G06F17/30W3, H04L29/08N1, H04L29/08N29U, G06F17/30W7, H04L29/08N33, G06F17/30X, H04L29/08N27I
Legal Events
DateCodeEventDescription
Apr 1, 2003ASAssignment
Owner name: BEA SYSTEMS, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:QIAN, SHELLY;LOR, ROBERT;FLETCHER, ADRIAN;REEL/FRAME:013925/0681;SIGNING DATES FROM 20021024 TO 20030312