WO2000065773A2 - Portal system and method - Google Patents

Portal system and method Download PDF

Info

Publication number
WO2000065773A2
WO2000065773A2 PCT/US2000/011320 US0011320W WO0065773A2 WO 2000065773 A2 WO2000065773 A2 WO 2000065773A2 US 0011320 W US0011320 W US 0011320W WO 0065773 A2 WO0065773 A2 WO 0065773A2
Authority
WO
WIPO (PCT)
Prior art keywords
subscriber
context
portal
portal interface
information
Prior art date
Application number
PCT/US2000/011320
Other languages
French (fr)
Other versions
WO2000065773A8 (en
Inventor
Michael J. Cowden
Christopher M. Ducey
Original Assignee
Firstpersom.Com
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Firstpersom.Com filed Critical Firstpersom.Com
Priority to AU44954/00A priority Critical patent/AU4495400A/en
Publication of WO2000065773A2 publication Critical patent/WO2000065773A2/en
Publication of WO2000065773A8 publication Critical patent/WO2000065773A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention is related to communication systems. More particularly, this invention relates to a system and method for providing users an interface to information and services accessible over a communication network.
  • the Internet is a communications system which has evolved into a worldwide network made up of thousands of networks connecting millions of computers in many countries. These computers provide information, such as data, news, and opinions, and offer services, such as travel reservation services, stock trading services, auction services, and the like, to users connected to the Internet.
  • a portal is usually an Internet site or service that can offer an array of services and resources, such as e-mail, online shopping, news, weather, search engines, and the like, to its users.
  • These conventional portals are available from online service companies such as America Online, as well as traditional search engines such as Yahoo!®, Excite SM , and
  • the traditional portal companies orovide its users a standard "start page.”
  • the start page is a summary page that features the Internet portal company's own content and applications. Thus, the start page is focused around a single information provider, the specific portal. Even though the user is able to customize his or her start page, the user may only customize the start page by selecting from the pool of content and applications made available by the portal.
  • the start page is generally not readily accessible to the user. Rather, in order to access the desired content and applications configured into the user's start page, the user generally uses the "home,” "bookmark,” or
  • This launch-and-retum operation in which the user launches to a web site from the start page, performs the desired operations, and returns to the start page to access its customized contents, may be inconvenient and inefficient.
  • the present invention is a system and method for providing a portal interface to information and services accessible over a communication network.
  • a method of providing a portal interface comprises the acts of: (1 ) storing at a portal system one or more portal definitions wherein each portal definition defines a portal interface which is configured to be displayed in a browser while the browser accesses different web objects; (2) transmitting from a user computer a subscriber identification to the portal system wherein the subscriber identification identifies a portal definition stored on the portal system; (3) receiving at the portal system the subscriber identification transmitted from the user computer and retrieving the portal definition identified by the subscriber identification; (4) transmitting from the portal system the portal definition identified by the subscriber identification to the user computer; and (5) displaying the portal interface defined by the portal definition within the browser on the user computer.
  • the portal interface is persistently displayed in the browser.
  • the display of the portal interface is maintained in the browser while the browser displays the contents of a first web object, and the portal interface is not displayed while the browser displays the contents of a second web object.
  • the portal interface is customizable by the subscriber to include one or more web objects accessible through a communication medium.
  • the portal interface is resizable.
  • the portal interface is relocateable within the browser.
  • the portal interface is displayed independent of the browser.
  • the portal interface includes an auto-hide feature.
  • a method of providing a portal interface comprises the acts of: (1 ) obtaining at a user computer, a portal interface from a remote server; (2) displaying within a browser window on the user computer, the portal interface and at least a first web page; and (3) maintaining the display of the portal interface within the browser window during the display of a second web page.
  • the portal interface is customizable.
  • the portal interface is resizable.
  • the portal interface provides access to search services.
  • the portal interface provides access to enabled web sites.
  • the portal interface provides access to e-mail services.
  • the portal interface provides access to a notes application. In yet a further aspect of the embodiment, the portal interface provides notifications of events received from services. In one aspect of the embodiment, the portal interface provides access to a configuration application that facilitates the configuration of the portal interface. In another aspect of the embodiment, the portal interface provides access to a start page. In still another aspect of the embodiment, the portal interface provides access to a address book application. In yet another aspect of the embodiment, the portal interface provides access to a calendar application. In a further aspect of the embodiment, the portal interface provides access to an investment portfolio. In still a further aspect of the embodiment, the portal interface provides access to one or more bookmarks. In yet a further aspect of the embodiment, the portal interface provides access to a web directory.
  • the portal interface provides access to an news content.
  • the portal interface provides access to a chat application.
  • a method of providing a user interface comprises the acts of: (1 ) obtaining at a first computer, a user interface from a second computer; (2) displaying within a window on the first computer, the user interface and content from a first web site; and (3) requesting through the user interface content from a second web site while displaying the content from the first web site within the window.
  • the window is a browser window.
  • the user interface is a portal interface.
  • a method of providing a portal interface comprises the acts of: (1 ) displaying within a browser window on the user computer, a portal interface and at least a first web page; (2) maintaining the display of the portal interface within the browser window during the display of a second web page; and (3) displaying in the portal interface one or more event notifications.
  • the event notification is received from a remote computer.
  • the portal interface includes a branding area.
  • the portal interface includes an advertisement area.
  • the portal interface includes a launch area.
  • the portal interface includes a mode area.
  • the portal interface includes a feature bar.
  • the portal interface includes a portal display region.
  • a method of providing a portal interface comprises the acts of: (1) displaying within a browser window on the user computer, a portal interface and at least a first web page; (2) maintaining the display of the portal interface within the browser window during the display of a second web page; and (3) redirecting requests from the user computer to a portal system configured to provide infomediary services.
  • the portal system is on one or more remote computers.
  • the portal system is on the user computer.
  • the portal system is on the user computer and one or more remote computers.
  • the requests are entered through the browser window.
  • a method of providing a server-stored portal interface comprises the acts of: (1 ) maintaining a portal interface that is intended to be displayed within a browser window while the browser window accesses different web objects; (2) receiving from a remote computer a request for the portal interface; and (3) transmitting the portal interface to the remote computer.
  • the portal interface provides access to one or more enabled web sites.
  • the portal interface provides access to one or more system enabled web sites.
  • the portal interface provides access to one or more enabled web sites.
  • the portal interface provides access to one or more system enabled web sites.
  • the portal interface provides access to one or more content provider enabled web sites.
  • the portal interface provides access to one or more subscriber enabled web sites.
  • a method of processing portal interface requests comprises the acts of: (1 ) receiving a request from a portal interface that is displayed within a browser window while the browser window accesses different web pages; and (2) processing the request and providing a response to the portal interface.
  • the response includes data which is displayed in the portal interface.
  • the response includes a digest of the contents of a web object.
  • a method of providing a portal interface comprises the acts of: (1 ) maintaining a portal definition in a database, the portal definition defines a portal interface which is configured to be displayed in a browser, the portal definition is associated with a subscriber identification information; (2) receiving the subscriber identification information from a remote device, the subscriber identification information identifies a subscriber; (3) retrieving the portal definition associated with the received subscriber identification information from the database; and (4) transmitting the portal definition to the remote device wherein the portal interface defined by the portal definition is displayed as part of a browser display on the remote device, the portal interface is displayed whenever the browser is displayed, and the portal interface is displayed irrespective of the browser content.
  • a portal system comprises: (1) a database containing a plurality of portal interfaces wherein each portal interface is configured to be displayed in a browser while the browser accesses different web objects; (2) a monitor component configured to receive a subscriber identification information from a user computer wherein the subscriber identification information is associated with one of the plurality of portal interfaces, the monitor component further configured to retrieve the portal interface associated with the received subscriber identification; and (3) a transmit component configured to transmit the retrieved portal interface to the user computer for displaying in the browser on the user computer.
  • the portal system further comprises a configure component configured to enable customization of the portal interface.
  • a portal system comprises: (1 ) a database containing a portal interface intended to be displayed within a browser window displayed on a remote computer while the browser window displays a first web page, the portal interface is intended to remain displayed within the browser window while the browser window displays a second web page; (2) a monitor component configured to receive a request for the portal interface from the remote computer; and (3) a transmit component configured to transmit the portal interface to the remote computer.
  • the portal interface includes access to one or more enabled web objects.
  • the monitor component is further configured to receive a request from the portal interface displayed on the remote computer and provide a response to the portal interface.
  • the monitor component is further configured to receive a request from the browser window displayed on the remote computer and provide a response to the browser window.
  • a portal interface system comprises: (1) a portal interface received from a remote computer and displayed on a user computer; and (2) a browser window displayed on the user computer, the browser window displaying the portal interface and a first web page, and the browser window maintaining the display of the portal interface during the display of a second web page.
  • a portal interface system comprises: (1 ) a user interface obtained at a first computer from a second computer; (2) a window displayed on the first computer, the window displays the user interface and content from a first web site; and (3) a request for content from a second web site, the request made through the user interface while displaying the content from the first web site in the window.
  • a portal interface system comprises: (1) a portal interface received from a remote computer and displayed on a user computer; and (2) a browser window displayed on the user computer, the browser window displaying the portal interface and content from a first web site, the browser window not displaying the portal interface during the display of content from a second web site, and the browser window redisplaying the portal interface during the display of content from a third web site.
  • a portal interface system comprises: (1 ) a means for obtaining at a user computer, a portal interface from a remote server; (2) a means for displaying within a browser window on the user computer, the portal interface and at least a first web page; and (3) a means for maintaining the display of the portal interface within the browser window during the display of a second web page.
  • a portal interface system comprises: (1) a means for maintaining a portal definition in a database, the portal definition defines a portal interface which is configured to be displayed in a browser, the portal definition is associated with a subscriber identification information; (2) a means for receiving the subscriber identification information from a remote device, the subscriber identification information identifies a subscriber; (3) a means for retrieving the portal definition associated with the received subscriber identification information from the database; and (4) a means for transmitting the portal definition to the remote device wherein the portal interface defined by the portal definition is displayed as part of a browser display on the remote device, the portal interface is displayed whenever the browser is displayed, and the portal interface is displayed irrespective of the browser content.
  • a portal interface system comprises: (1 ) a means for displaying on a user computer a browser window displaying a portal interface and at least a first web page; (2) a means for maintaining the display of the portal interface in the browser window during the display of a second web page; and (3) a means for redirecting from the user computer to a remote computer.
  • a portal system comprises: (1 ) a means for maintaining a portal interface intended to be displayed within a browser window displayed on a remote computer while the browser window display a first web page, the portal interface is further intended to remain displayed within the browser window while the browser window displays a second web page; (2) a means for receiving a request for the portal interface from the remote computer; and (3) a means for transmitting the portal interface to the remote computer.
  • Figure 1 is a system block diagram illustrating an embodiment of the overall network architecture.
  • Figure 2 is a high level block diagram illustrating a process by which a portal system provides a service to a subscriber according to one embodiment of the invention. - -
  • Figure 3 is a block diagram illustrating one embodiment of a flow of information between a user computer and a portal system through a communication medium.
  • Figure 4 is a representation of one embodiment of a portal interface.
  • Figure 5 is a representation of one embodiment of a portal interface displayed as part of a browser window.
  • Figure 6 is a block diagram illustrating one embodiment of the portal interface persistently displayed as part of the browser window over a period of time.
  • Figure 7 is a flow chart illustrating one embodiment of a subscriber log on process.
  • Figure 8 is a representation of one embodiment of the records containing information comprising a portal definition.
  • Figure 9 is a high level block diagram illustrating one embodiment of the selected components of a user computer and a portal system.
  • Figure 10 is a representation of one embodiment of a portal interface containing inter-connected pull-down menus.
  • Figure 1 1 is a block diagram representation of one embodiment of a subscriber session illustrating the activity contexts.
  • Figure 12 is a representation of one embodiment of a context record.
  • Figure 13 is a representation of one embodiment the multiple editions of the persistent portal system.
  • Figure 14 is a flow chart illustrating a process by which a portal interface is updated in accordance with one embodiment of the invention.
  • Figure 15 is a flow chart illustrating a process by which a change in activity context is managed according to one embodiment of the invention.
  • Figure 16 is a representation of one embodiment of a session record suitable for maintaining a log of a subscriber's session.
  • Figure 17 is a flow chart illustrating a process by which an assistant guides the subscriber perform an activity according to one embodiment of the invention.
  • Figure 18 is a representation of one embodiment of an enabled site record.
  • Figure 19 is a representation of one embodiment of an active business card record and a contact information record.
  • Figure 20 is a flow chart illustrating one embodiment of a process by which a contact is received through an active business card.
  • Figure 21 is a flow chart illustrating one embodiment of a process by which a dynamic assistant is used to submit context specific information.
  • Figure 22 is a flow chart illustrating one embodiment of a process by which information is integrated into a subscriber's personal application.
  • Figure 23A is a high level block diagram illustrating the data flow associated with creating an interactivity room according to one embodiment of the invention.
  • Figure 23B is a high level block diagram illustrating the data flow associated with two subscribers each agreeing to interact with the other in an interactivity room according to one embodiment of the invention.
  • Figure 24 is a flow chart illustrating one embodiment of a process for determining the access list for an interactivity room.
  • Figure 25 is a representation of an interaction preferences record used in the process of Figure 24 according to one embodiment of the invention.
  • Figure 26 is a high level block diagram illustrating the data flow associated with two subscribers concurrently web surfing and chatting according to one embodiment of the invention.
  • Figure 27 is a high level block diagram illustrating the data flow associated with two subscribers synchronizing web browsers and chatting according to one embodiment of the invention.
  • Figure 28 is a high level block diagram illustrating the data flow associated with an advertisement provider sending tailored advertisements to two subscribers according to one embodiment of the invention.
  • Figure 29 is a representation of an advertisement set record used in advertisement campaigns according to one embodiment of the invention.
  • Figure 30 is a flow chart illustrating the process used to allocate advertisement versions to community members of a community role-based advertising campaign according to one embodiment of the invention.
  • Figure 31 is a flow chart illustrating a process used to allocate advertisement versions to community members for a community relationship-based advertising campaign according to one embodiment of the invention.
  • Figure 32 is a representation of a process for organizing browser selections into popularity records according to one embodiment of the invention.
  • Figure 33 is a representation of a popularity record set according to one embodiment of the invention.
  • Figure 34 is a representation of an individual popularity record according to one embodiment of the invention.
  • Figure 35 is a flow chart illustrating a process used to create a popularity-based display of web addresses according to one embodiment of the invention.
  • a system 10 includes a portal system 102, a plurality of user computers 104, a plurality of content servers 106, and a communication medium 108.
  • the plurality of user computers 104 and the plurality of content servers 106 communicate with each other through the communication medium 108 and the portal system 102.
  • the portal system 102 and the content server 106 are comprised of one or more computers as defined herein.
  • each user computer 104 communicates with the portal system 102 through the communication medium 108.
  • Each content server 106 also communicates with the portal system 102 through the communication medium 108.
  • a computer including the user computer 104, and the computers comprising the portal system 102 and the content servers 106, may be any microprocessor or processor (hereinafter referred to as processor) controlled device that permits access to the communication medium 108, including terminal devices, such as personal computers, workstations, servers, clients, mini computers, main-frame computers, laptop computers, a network of individual computers, mobile computers, palm top computers, hand held computers, set top box for a TV, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, a mobile browser, or a combination thereof.
  • the computers may further possess input devices such as a keyboard or a mouse, and output devices such as a computer screen or a speaker.
  • These computers may be uniprocessor or multiprocessor machines. Additionally, these computers include an addressable storage medium or computer accessible medium, such as random access memory (RAM), an electronically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), hard disks, floppy disks, laser disk players, digital video devices, compact disks, video tapes, audio tapes, magnetic recording tracks, electronic networks, and other techniques to transmit or store electronic content such as, by way of example, programs and data.
  • the computers are equipped with a network communication device such a network interface card, a modem, or other network connection device suitable for connecting to the communication medium 108.
  • the computers execute an appropriate operating system such as Linux, Unix, Microsoft® Windows® 95, Microsoft® Windows® 98, Microsoft® Windows ® NT, Apple ® MacOS®, or IBM® OS/2®.
  • the appropriate operating system includes a communications protocol implementation which handles all incoming and outgoing message traffic passed over the communication medium 108.
  • the operating system may differ depending on the type of computer, the operating system will continue to provide the appropriate communications protocols necessary to establish communication links with the communication medium 108.
  • the computers may advantageously contain program logic, or other substrate configuration representing data and instructions, which cause the computer to operate in a specific and predefined manner as described herein.
  • the program logic may advantageously be implemented as one or more modules.
  • the modules may advantageously be configured to reside on the addressable storage medium and configured to execute on one or more processors.
  • the modules include, but are not limited to, software or hardware components which perform certain tasks.
  • a module may include, by way of example, components, such as, software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
  • the terms "portal system” and "content server” are to be viewed as designations of one or more computers and are not to be otherwise limiting in any manner.
  • the portal system 102 may be comprised of one or more modules that execute on one or more computers.
  • the content server 106 need not be server based, but can comprise one or more modules that execute on one or more computers.
  • the communication medium 108 may advantageously facilitate the transfer of electronic content.
  • the communication medium 108 includes the Internet.
  • the Internet is a global network connecting millions of computers.
  • the structure of the Internet which is well known to those of ordinary skill in the art, is a global network of computer networks utilizing a simple, standard common addressing system and communications protocol called Transmission Control Protocol/Internet Protocol (TCP/IP).
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the connection between different networks are called "gateways", and the gateways serve to transfer electronic data worldwide.
  • the WWW is generally used to refer to both (1) a distributed collection of interlinked, user-viewable hypertext documents (commonly referred to as "web documents” or “web pages” or “electronic pages” or “home pages”) that are accessible via the Internet, and (2) the client and server software components which provide user access to such documents using standardized Internet protocols.
  • the web documents are encoded using Hypertext Markup Language (HTML) and the primary standard protocol for allowing applications to locate and acquire web documents is the Hypertext Transfer Protocol (HTTP).
  • HTTP Hypertext Transfer Protocol
  • the term WWW is intended to encompass future markup languages and transport protocols which may be used in place of, or in addition to, HTML and HTTP.
  • the WWW contains different computers which store electronic pages, such as web documents, capable of displaying graphical and textual information.
  • the computers which contain information remotely accessible through the WWW are generally referred to as "web sites.”
  • a web site is defined by an Internet address, and the Internet address has an associated electronic page.
  • an electronic page may advantageously be a document which organizes the presentation of text, graphical images, audio, and video.
  • the communication medium 108 may advantageously be comprised of other types of networks without detracting from the scope of the invention.
  • the communication medium 108 can include, by way of example, local area networks (LANs), wide area networks (WANs), public internets, private intranets, a private computer network, a secure internet, a private network, a public network, a value-added network, interactive television networks, wireless data transmission networks, two-way cable networks, interactive kiosk networks, and the like.
  • the portal system 102 facilitates efficient access to information and resources made available on the content servers 106 connected to the communication medium 108.
  • the portal system 102 provides each subscriber a personalized interface which advantageously assists the subscriber to efficiently access the information made available on the communication medium 108.
  • the portal system 102 also presents information and services on the communication medium 108 in an efficient and usable manner.
  • the subscriber may advantageously utilize the portal system 102 and, in particular, the personalized interface, to obtain fast, convenient, and personalized access to information and resources from any user computer 104.
  • the portal system 102 functions as an "infomediary" between the subscriber and the information available on the communication medium 108.
  • an “infomediary” can be thought of as a mediator of information.
  • the portal system 102 functions as an intermediary between the subscriber and the available information and resources on the communication medium 108.
  • the portal system 102 facilitates efficient interaction between the subscriber and the requested information and resources available on the communication medium 108.
  • the portal system 102 personalizes the interface and the infomediary services to the subscriber's context as the subscriber accesses the information and resources available on the communication medium 108.
  • the subscriber's context may generally be defined to include information about the subscriber (who the subscriber is) and what the subscriber is attempting to accomplish (the subscriber's objective or purpose in undertaking a particular task).
  • the portal system 102 may advantageously present the subscriber information and resources that are relevant to the subscriber's present context.
  • the subscriber's interface may also be modified based upon the subscriber's present context to provide efficient access to the information and resources that are relevant to the subscriber's context.
  • the portal system 102 functions as an "interactivity room" that allows multiple subscribers to interact in real time.
  • the interaction within the room may encompass any form of synchronous shared application, such as chatting (via text, voice, video, etc.), synchronized browsing, game-playing, conferencing, whiteboarding, and the like, as well as any form of asynchronous shared application, such as exchanging information (files, events, contact information, etc.), posting to message boards, annotating web pages, and the like.
  • a subscriber's context includes demographic information (e.g., gender, age, residence, and the like), membership within online communities, a "persona” designating the general purpose for which the subscriber is online (e.g., a business purpose, personal purpose, and the like), a “category” (e.g., travel, shopping, and the like) and including any intent specific information (e.g., toy shopping, book shopping, and the like) that helps to designate a more specific purpose and provide additional relevant information.
  • a subscriber's context further includes the current web page address loaded into the subscriber's web browser and all of the subscriber's past web page selections.
  • a subscriber may create a context-dependent interactivity room, for example, limited to other subscribers visiting the same web site. Or, more narrowly, the subscriber may create an interactivity room limited to others visiting the same web site for the purpose of shopping for toys.
  • the portal system 102 functions as an infomediary between the subscriber and advertisers.
  • the knowledge of subscriber context maintained in the portal system 102 allows advertisers to precisely target advertising based on the purpose with which the subscriber is utilizing the communication medium 108. For example, an advertiser may send a tailored advertisement to a subscriber based on the subscriber's current online purpose of making flight reservations for business travel.
  • the portal system 102 allows advertisers to target advertising based on the demographics of the subscriber, on the roles he or she assumes within a community, and upon the relationships he or she has with other members within a community.
  • An advertising campaign comprises a set of one or more advertisements targeted at a group of persons together with logic that specifies the recipients for the advertisements, based at least in part on the relationships between the recipients. For example, an advertising campaign targeting a family may be designed to send one version of an advertisement to the husband, followed two days later by a second version of an advertisement to the wife, followed three days later by a third version of an advertisement to the children.
  • the design of the advertisements may take into account differences in demographics and other context information associated with each family member.
  • the portal system 102 facilitates efficient access to information and resources made available on the content servers 106 connected to the communication medium 108 by providing a popularity-based interface that "mines" the collective experience of subscribers who have accessed those content servers 106 in the past.
  • the subscriber is presented a display that is organized and prioritized based on the past selection choices of subscribers. This provides the benefit of highlighting those content sites that have been the most popular with subscribers in the past.
  • the population of subscribers used to determine popularity may be limited based upon subscriber context.
  • the portal system 102 may provide to a subscriber several airline reservation web sites selected and organized based upon the past visits of all subscribers who, at the time of the visit, had the online purpose of making flight reservations for business travel.
  • a subscriber may be provided with several music web sites selected and organized based upon the past visits of all subscribers belonging to an online classical music appreciation community.
  • the search results returned to a subscriber from a web-based search engine may be prioritized based on past subscriber visits to the set of web pages comprising the search results.
  • a "portal" is generally an interface that provides users access to available and accessible information through a broad array of offered resources and services, such as, by way of example, e-mail, forums, search engines, online shopping, and the like.
  • a WWW portal is generally a service that offers its users a broad array of resources and services available on the WWW.
  • the portal system 102 provides subscribers a server-based Internet portal.
  • a server-based portal is a portal which is stored and maintained on a computer different from a computer, for example, the user computer 104, typically utilized by the subscriber to access the communication medium 108. Rather, the server-based portal is periodically downloaded or "served" onto and displayed on the subscriber's computer from another computer such as a server which maintains the portal.
  • a user first registers with the portal system 102 and becomes a subscriber in order to subsequently utilize the services and features offered by the portal system 102.
  • a prospective subscriber utilizes the user computer 104 and connects to the portal system 102 through the communication medium 108. Once connected, the portal system 102 requests information from the prospective subscriber such as, by way of example, name, e-mail address, zip code, requested username, requested password, and requested or pre determined edition. Edition is further discussed in greater detail below.
  • the portal system 102 creates one or more appropriate records for the subscriber and launches a portal on the user computer 104.
  • the subscriber may subsequently customize the portal to include information and resources desired by the subscriber as well as to present the desired information and resources in a particular manner.
  • the portal is automatically launched, and thus, executes on the user computer 104 utilized by the subscriber to access the portal system 102, whenever the subscriber logs on to the portal system 102.
  • the server-based Internet portal is advantageously implemented as an Active X control which attaches itself to, and executes as part of, a standard browser which executes on the user computer 104.
  • the portal system 102 may advantageously download the Active-X control to the user computer 104 once the prospective subscriber registers with the portal system 102.
  • the Active-X control launches an interface window to be displayed as part of the standard browser display on the user computer 104.
  • the interface window configuration is advantageously transmitted from the portal system 102 to the appropriate user computer 104 when the subscriber logs on to the portal system 102. Subsequently, the interface window configuration is periodically transmitted from the portal system 102 depending on one or more subscriber actions.
  • the subscriber is not bound to a particular user computer 104 but may access his or her server-based Internet portal from any user computer 104.
  • the browser is a software program which allows a subscriber to access different computers, including the portal system 102 and the content servers 106, through the communication medium 108.
  • the browser may be a standard browser such as the Netscape® Navigator developed by Netscape, Inc., the Microsoft® Internet Explorer developed by Microsoft Corporation, WebTV, or an embedded web browser on a hand-held device.
  • the other types of access software could be, by way of example, other types of Internet browsers, custom network browsers, two-way communications software, cable modem software, point-to-point software, custom emulation programs, and the like.
  • the server-based Internet portal may be implemented as a plug-in which executes on the user computer 104 and launches the interface window as part of the standard browser display.
  • the server-based Internet portal may be implemented as an applet which may be included in, and executed as part of, an interface application such as, by way of example, a standard browser.
  • the server-based Internet portal may be implemented as an HTML frame which is displayed as part of the standard browser. Active-X controls, plug-ins, applets, HTML frames, and other browser extension technologies are generally known to those of ordinary skill in the art.
  • the server-based Internet portal may be a client application such as, by way of example, a tool bar that is present on the user computer 104, that interacts with the browser.
  • the portal system 102 provides subscribers a persistent portal which is displayed as part of the browser display.
  • a persistent portal is a portal which is present as part of the browser on the subscriber's computer.
  • the persistent portal is always present and displayed, either in whole or in part, as part of the browser whenever the browser is displayed.
  • the persistent portal is included as part of the browser irrespective of, and independent of, the browser's location.
  • the persistent portal is present as part of the browser, and is displayed to the subscriber during at least a portion of the subscriber's browsing experience.
  • the persistent browser may not be displayed during certain periods of the browsing session, for example, when the browser is at a specific location.
  • the subscriber is able to tune the persistent feature of the portal including turning on the persistent feature, turning off the persistent feature, selectively turning off the persistent feature, and the like.
  • the portal interface may be displayed independent of the browser.
  • Devices such as, by way of example, a palm pilot, cell phone, and other restricted display devices, may not be able to display both the browser and the portal interface.
  • the portal interface may be implemented as a client-side application, and the subscriber may have access to the portal interface and not the browser window.
  • the persistent portal may advantageously be implemented utilizing Active X controls, plug-ins, applets, or frames.
  • Figure 2 is a high level block diagram illustrating one embodiment of the overall process of the present invention.
  • Figure 2 illustrates a process by which the portal system 102 provides a subscriber an Internet portal comprised of the features and benefits as described herein.
  • the portal system 102 receives an activity notification from a remote device in state 202.
  • the activity notification may advantageously be transmitted by a service executing on the remote device.
  • the activity notification may be a request initiated by a subscriber of the portal system 102 to access the contents of a specific web page, identified by a particular URL, on the WWW.
  • the request may have been made either through a web browser, or the portal executing as part of the web browser, displayed on the user computer 104.
  • the Active-X control forwards or redirects requests initiated by the subscriber through the portal to the portal system 102.
  • the portal system 102 may advantageously function as an intermediary between the subscriber and the subscriber's request.
  • the portal system 102 performs the necessary infomediary services associated with the activity notification received in the prior state 202.
  • Certain particulars about specific web pages, such as, by way of example, the information requested by the particular web page, may be maintained by the portal system 102.
  • the portal system 102 may then provide the requested information to the web page on behalf of the subscriber. Submitting requested subscriber information on behalf of the subscriber is discussed in further detail below.
  • the Active X control may also forward or redirect requests initiated through the browser to the portal system 102.
  • the Active X control selectively forwards some of the subscriber's requests initiated either through the browser or the portal to the portal system 102.
  • the Active X control may only forward subscriber requests to surf particular web sites that are identified in a database to the portal system 102.
  • the URL and the header information is redirected to the portal system 102. URL and header information redirection is further discussed below.
  • the forwarding functionality may be implemented as part of a proxy server.
  • a proxy server is a server or program that sits between a first application, such as a browser, and the second application (the server).
  • the first application advantageously initiates a request to the second application, and the second application serves the request received from the first application.
  • the proxy server intercepts some or all of the requests intended for the second application (the server) to see if the proxy server can fulfill the request itself. If not, the proxy server forwards the request to the intended recipient or the second application (the server).
  • the intercepting, servicing, and forwarding functions may advantageously be considered proxy services (the services provided by a proxy server). It is well known in the art that the proxy servers utilize packet and protocol filtering methods in implementing the proxy services.
  • the proxy server functionality may advantageously be extended to include application content filtering in addition to the packet or protocol filtering.
  • the application content filtering facilitates the parsing of the actual application contents contained in, for example, an HTML page, by XML, vCARD/vCAL, and the like.
  • Application content parsing enables the portal system 102 to advantageously perform the necessary infomediary services.
  • the necessary proxy server functionality may be implemented as a server proxy executing on the server, such as, by way of example, the portal system 102, or a client proxy executing on the client, such as, by way of example, the user computer 104, or a hybrid proxy executing on both the server and the client.
  • Proxy servers, as well as application parsing are well known to those of ordinary skill in the art. Particular aspects of the proxy functionality are further discussed below in conjunction with the discussion of Figure 9.
  • the subscriber may have requested to book an airline flight through an online travel agency on the WWW.
  • the activity notification received in previous state 202 may then be a confirmation of the requested airline fight reservation transmitted by the online travel agency.
  • the portal system 102 may maintain a list of personal applications utilized by the subscriber such as, by way of example, online calendar, online address book, and the like.
  • the portal system 102 may advantageously enter the airline flight information, such as the date and time of departure and the date and time of arrival, in the subscriber's online calendar on behalf of the subscriber. Integrating information into the subscriber's portal, including the subscriber's personal applications, is further discussed below.
  • the subscriber may have previously requested to browse a particular web site.
  • the receipt of the contents of the previously requested web site, and in particular, the home page of the requested web site, may be the activity notification received in prior state 202.
  • the portal system 102 may determine a new context for the subscriber based upon the particular web site requested. Furthermore, the portal system 102 may assist the subscriber in further customizing the subscriber's portal to include information regarding the requested web site such as, by way of example, a hyperlink to the web site. Proceeding to state 206, the portal system 102 services the received activity notification by performing any necessary proxy services.
  • the portal system 102 can determine if a copy of the requested web page is maintained on the portal system 102 and, if it is, can directly service the subscriber's request without accessing the content server 106 containing the requested web page. For example, the portal system 102 can transmit the stored web page to the user computer 104, causing the web page to be displayed in the browser executing on the subscriber's user computer 104. Having serviced the activity notification received in prior state 202, the portal system 102 determines that further proxy services are not required and proceeds to end state 208.
  • the portal system 102 proceeds to end state 208.
  • the portal system 102 in addition to integrating the necessary information associated with the notification into the subscriber's personal applications (performing the necessary infomediary services), forwards the received airline flight reservation confirmation to the subscriber and proceeds to end state 208
  • the portal system 102 forwards the contents of the web site requested by the subscriber and received by the portal system 102 to the subscriber's user computer 104 and proceeds to end state 208.
  • infomediary service state 204 functions and the proxy service state 206 functions are closely integrated and thus, may be performed in varying order without detracting from the invention
  • FIG. 3 is a high level block diagram illustrating one embodiment of the flow of information between the user computer 104 and the portal system 102 when a subscriber accesses and logs on to the portal system 102
  • a subscriber utilizes the user computer 104, and in particular, a browser executing on the user computer 104, to connect to, and access, the portal system 102 through the communication medium 108.
  • the subscriber enters the URL of the portal system 102 into a browser window 302 displayed on the user computer 104
  • the browser requests the contents of the web page identified by the specified URL.
  • the portal system 102 retrieves the contents of the specified web page and launches the web page on the user computer 104 causing the retrieved contents to be displayed in the browser window 302.
  • the web page displayed in the browser window 302 requests identification information, such as, by way of example, a username and password, from the subscriber.
  • the identification information is advantageously the information the subscriber previously provided the portal system 102 when registering with the portal system 102.
  • the portal system 102 verifies the received identification information and subsequently transmits the subscriber's portal definition to the user computer 104.
  • the portal definition defines a portal interface 304, and the portal interface 304 configuration and contents, which is displayed as part of the browser window 302 on the user computer 104.
  • Other acceptable methods of requesting and receiving identification information are well known to those of ordinary skill in the art.
  • the portal definition is associated with the subscriber and defines or configures a personal portal interface 304 for the subscriber.
  • the portal definition is initially created for the subscriber by the portal system 102 substantially at the time the subscriber registers or subscribes for the portal services, or soon after.
  • the portal definition is created from the subscriber provided information as needed, for example, when the portal system 102 determines that the portal definition needs to be transmitted to the user computer 104.
  • the portal definition is transmitted when the portal interface 304 changes from one display state to another display state.
  • the portal interface 304 display state may change from one display state to another display state when the subscriber instantiates an action in the portal interface 304
  • the portal interface 304 may be displayed on the user computer 104 in a first display state or in a first configuration.
  • the subscriber may request an action in the portal interface 304 that requires the portal interface 304 to change from the present, first display state or configuration to a new, second display state or configuration.
  • the portal system 102 advantageously transmits a new portal definition that causes the portal interface 304 to be displayed in the second display state or configuration.
  • the new portal definition advantageously defines the second display state or configuration of the portal interface 304.
  • the portal interface 304 may be "served-up" on the user computer 102, for example, over the Internet, from the portal system 102 utilizing mechanisms such as, by way of example, HTTP, Active X, HTML, and the like.
  • Maintaining the subscriber's portal definition on the portal system 102, and subsequently transmitting the portal definition to the requesting user computer 104 benefits the subscriber by enabling the subscriber to access his or her personalized web portal from any user computer 104 capable of displaying the portal interface 304 defined by the appropriate portal definition.
  • the subscriber further benefits by only having to define the portal definition once while being able to access the portal interface 304 from one or more remote devices.
  • Figure 4 generally illustrates an example of the portal interface 304 suitable for use with one embodiment of the invention.
  • the portal interface 304 is illustrated as comprising a branding area 402, an advertisement area 404, a launch area 406, a mode area 408, a feature bar 410, and a portal display region 412.
  • the provider of the portal service may advantageously be identified in the branding area 402.
  • the ability to identify differing entities in the branding area 402 advantageously facilitates the branding of the portal service.
  • the underlying service may be developed and maintained by an entity different from the entity identified in the branding area 402. This advantageously allows the developers of the portal system 102 to leverage existing subscriber bases of large Internet companies while permitting these companies to offer the portal services to its existing and future subscribers under its own brand.
  • the advertisement area 404 facilitates the display of advertisements to the subscriber.
  • General and targeted advertisements may be displayed in the advertisement area 404.
  • the launch area 406 is comprised of one or more hyperlink buttons which identify one or more web-based services, for example, personal applications. Clicking on a particular hyperlink button using a pointing device, such as, by way of example, a mouse or the like, causes the associated application to be launched in either the browser window 302, the portal interface 304, or both the browser window 302 and the portal interface 304.
  • the mode area 408 is comprised of one or more hyperlink buttons which identify one or more modes.
  • a mode advantageously identifies the manner in which the subscriber is utilizing the portal interface 304. The mode further identifies "how" the subscriber is using the portal interface 304. Selecting an appropriate mode identified in the mode area 408 contributes to determining the context of the subscriber. Subscriber context is further discussed below.
  • Appropriately activating a mode from the mode area 408 launches an application that enables the subscriber to accomplish his or her mode in the portal interface 304, and in particular, the portal display region 412.
  • launching a mode from the mode area 408 may alter other content, such as the contents displayed in the feature bar 410 and the contents displayed in the advertisement area 404, in the portal interface 304.
  • the feature bar 410 is comprised of one or more hyperlink tabs and one or more pop-up menus.
  • Pop-up menus, pull-down menus, and pop-up windows are well known interface mechanisms and used interchangeably herein. Furthermore, these interface mechanisms may be displayed on any portion of the computer display including, but not limited to, the portal interface 304 and the browser window 302.
  • the subscriber may advantageously select an intent, a persona, or a category. Intent, persona and category contribute to determining the subscriber's context. Furthermore, the selected category may advantageously determine the one or more hyperlink tabs that are displayed in the feature bar 410. Intent, persona, category, and context are further discussed below.
  • the hyperlink buttons and the hyperlink tabs advantageously identify and reference appropriate web objects.
  • a web object may be any identifiable content, such as, by way of example, a web page, a web site, web application, web service, and the like, on the Internet, and in particular, the WWW.
  • the appropriate data or contents of the associated web object may advantageously be displayed in the portal display region 412.
  • the content and functionality of the portal interface 304 is discussed in further detail below. Those of ordinary skill in the art will realize that the content and layout of the portal interface 304 may be altered, including displaying the contents of the portal interface 304 in one or more interface windows, without departing from the essence of the invention.
  • Figure 5 illustrates an example of the portal interface 304 displayed as part of the browser window 302 suitable for use with one embodiment of the invention.
  • the portal interface 304 is displayed along the lower portion of the browser window 302.
  • the portal interface 304 is advantageously persistent in the browser window 302.
  • the portal interface 304 is always displayed and visible whenever the browser window 302 is displayed.
  • the portal interface 304 is displayed regardless of the contents displayed in the browser window 302. If the browser window 302 is resized, the portal interface 304 may advantageously be proportionately resized. If the browser window 302 is collapsed, the portal interface 304 is also collapsed and therefore, not visible.
  • the portal interface 304 may be independently resized within the browser window 302 to increase the display area of either the browser window 302 or the portal interface 304.
  • the portal interface 304 may be relocated to be displayed in another region of the browser window 302.
  • the portal interface 304 may be displayed and visible during a portion of the time the browser window 302 is displayed.
  • the portal interface 304 may comprise an "auto-hide" feature.
  • the portal interface 304 may be displayed as an icon, a tool bar, or a title bar in the browser window 302.
  • the portal interface 304 may advantageously expand to a larger size in order to present a fuller display.
  • the portal interface 304 shrinks down to the icon, tool bar, or title bar mode.
  • the auto-hide feature is configurable by the subscriber.
  • FIG. 6 is a block diagram illustrating one embodiment of the portal interface 304 persistently displayed as part of the browser window 302 over a period of time.
  • subscriber X is logged on and utilizing the services of the portal system 102.
  • subscriber X's user computer 104 displays the browser window 302 containing the portal interface 304.
  • the browser window 302 displays the contents of subscriber X's start page.
  • subscriber X initiates a request to access the web object identified by URL A.
  • the user computer 104 receives the contents of the requested web object. The contents are appropriately displayed in the browser window 302 displayed on the user computer 104.
  • the portal interface 304 is also displayed as part of the browser window 302 along with the contents of requested URL A.
  • subscriber X initiates a request for the contents of URL B to be displayed in the browser window 302.
  • the user computer 104 receives the contents of URL B and appropriately displays the received contents in the browser window 302 along with the portal interface 304.
  • the browser window 302 functions independently of the portal interface 304 in displaying the contents of web objects requested by subscriber X.
  • the portal interface 304 is persistently displayed to subscriber X.
  • the portal interface 304 may not be displayed.
  • the portal interface 304 may not be displayed when certain web objects are displayed in the browser window 302.
  • subscriber X may advantageously instantiate operations through the portal interface 304.
  • subscriber X may request to access his or her search engine through the portal interface 304.
  • the requested search engine may advantageously be displayed in the portal interface 304, and in particular, the portal display region 412, independent of the contents displayed in the browser window 302.
  • the services and functionality offered by and through the portal interface 304 is continuously available to subscriber X.
  • Conventional web portals typically provide a start page which is used as a launching point into the WWW. Once the user launches into the WWW through the start page, the user does not have access to the content and services which are made accessible through the start page. If the user wants access the content and services contained in the start page, the user must navigate back to the start page, for example, through the use of a "back" button available in standard browsers, or maintain multiple browser instances on the user computer 104. One of the browser instances must always reference the start page, and thus, if the user launches from this instance of the start page, the user must initiate another instance of the browser application.
  • the persistent aspect of the present invention advantageously provides a subscriber the ability to maintain continued access to the content and services contained in the portal interface 304 independent of the browser location.
  • the present invention enables the subscriber to utilize the features offered through the portal interface 304, such as, by way of example, receive notifications, launch applications, and view contents of web objects, while the subscriber surfs the WWW utilizing the browser window 302. As a result, the subscriber is never more than a click away from the information included in, and accessible through, the portal interface 304 and which is relevant to the subscriber.
  • FIG. 7 is a flow chart illustrating a subscriber log on process according to one embodiment of the invention.
  • the portal system 102 receives a subscriber identification information from a remote device in state 702.
  • the subscriber identification information may advantageously be comprised of information such as a username and password.
  • the remote device may be a particular user computer 104 or any processor controlled device capable of communicating with the portal system 102 and appropriately displaying the information received from the portal system 102 as disclosed herein.
  • the portal system 102 may maintain identification information for all registered subscribers in a readily accessible subscriber database. If the received subscriber identification information is not found in the subscriber database, the portal system 102 proceeds to state 706 and transmits an appropriate error message to the remote device. In one embodiment, the portal system 102 may provide the subscriber an opportunity to resubmit the identification information. The portal system 102 then proceeds to end state 716. Referring again to state 704, if the received subscriber identification information is found in the subscriber database, the portal system 102 proceeds to state 708 and retrieves the portal definition for the subscriber identified by the received subscriber identification information. In one embodiment, the portal definition is maintained in one or more data records in a portal database 910 ( Figure 9).
  • FIG. 8 One example of the one or more data records containing information comprising the portal definition according to one embodiment of the invention is generally illustrated in Figure 8.
  • eight records are illustrated comprising a portal definition record 802, portal current state record 804, persona list record 806, category list record 808, category set element record 810, an intent list record 812, an intent element record 814, and an assistant 816.
  • each subscriber username and password may advantageously be linked to the portal definition record 802, portal current state record 804, persona list record 806, category list record 808, and intent list record 812. Therefore, from a subscriber's username and password, the subscriber's portal definition, and particular aspects of the portal definition, may advantageously be identified and retrieved.
  • the portal definition record 802 identifies the content to be displayed in the associated subscriber's portal interface 304, and in particular, the content displayed in the subscriber's portal interface 304 when the subscriber initially logs on to the portal system 102.
  • the portal definition record 802 may be comprised of data fields, such as, by way of example, a brand, advertisement, launch one to launch four, mode one to mode four, initial persona element, initial category element, initial category set element, as well as other fields, which contain information appropriately defining the portal interface 304.
  • the brand field advantageously identifies the content placed in the branding area 402.
  • the advertisement field identifies an advertisement server assigned to deliver the advertisements into the advertisement area 404, and the appropriate advertisement server may periodically transmit an advertisement to the user computer 104.
  • the advertisement field may further identify an initial advertisement to display in the advertisement area 404 when the portal interface 304 is initially displayed.
  • the advertisement field may contain the advertisement to be displayed in the advertisement area 404.
  • an appropriate advertisement server periodically places an advertisement in the advertisement field for subsequent display in the advertisement area 404.
  • the portal system 102 periodically places the contents of the advertisement field in the advertisement area 404.
  • the advertisement may be displayed at predetermined periodic intervals, whenever the advertisement server delivers a new advertisement in the advertisement field, whenever the subscriber navigates to a new location, whenever the subscriber instantiates an action in the portal interface 304, and the like.
  • the launch one to launch four fields respectively identify the four applications associated with the four hyperlink buttons in the launch area 406.
  • the first hyperlink may be associated with the subscriber's start page
  • the second hyperlink may be associated with the subscriber's e-mail application
  • the third hyperlink may be associated with the subscriber's address book application
  • the fourth hyperlink may be associated with the subscriber's calendar application.
  • Instantiating any of the hyperlink buttons for example, by clicking on the hyperlink button, may cause the associated application to be launched in the browser window 302.
  • the subscriber may advantageously configure the hyperlink buttons in the launch area 406 to be associated with any web object or service.
  • the mode one to mode four fields respectively identify the four modes associated with the four hyperlink buttons in the mode area 408.
  • the portal system 102 may provide modes such as collaborate, search, annotate, notify, portfolio, gaming, configure, and the like. The subscriber may then select four of the available modes to incorporate into the mode area 408.
  • the portal system 102 may offer four modes as a default. The subscriber may subsequently alter the modes which are made available in the mode area 408.
  • the configure mode, and the associated applications which enable the subscriber to configure the portal interface 304 may be made available as a button on the portal interface 304.
  • the first hyperlink may be the collaborate mode
  • the second hyperlink may be the search mode
  • the third hyperlink may be the annotate mode
  • the fourth hyperlink may be the configure mode.
  • the collaborate mode may be associated with a chat application and an instant messaging application. Instantiating the collaborate mode may cause the two applications to be listed in the portal interface 304. The subscriber may then select the desired application which causes the selected application to execute.
  • the search mode may be associated with one or more search engine applications. Instantiating the search mode may advantageously list the available search engine applications in the portal interface 304. The subscriber may then select and execute the desired search engine application.
  • the search mode, or any other mode is associated with a single application, instantiating the mode may advantageously cause the associated application to execute.
  • the annotate mode may be associated with a notes application.
  • the notes application advantageously permits the subscriber to create notes for him or herself, or for other recipients.
  • the configure mode may be associated with a configuration application.
  • the configuration application is advantageously comprised of one or more configuration modules accessible by the subscriber.
  • the configuration modules permit the subscriber to configure or tune the operation of the portal system 102 services by, for example, turning on or off particular services, modifying the portal system 102 records maintained on behalf of the subscriber, and the like.
  • the notify mode may be associated with a notification application.
  • the notification application permits the subscriber to specify one or more services, along with notification criteria or events for the respective service, from which the subscriber wants to receive notifications from.
  • the portfolio mode may be associated with one or more investment portfolios specified by the subscriber. Instantiating the portfolio mode may display a list of available - - investment portfolios. Selecting a particular investment portfolio from the list may display the selected investment portfolio in detail in the portal interface 304. In one embodiment, selecting a particular investment portfolio causes the portal interface 304 to obtain the current value of one or more investments specified in the selected portfolio in realtime from one or more web services.
  • the gaming mode may be associated with one or more subscriber selectable games. Instantiating the gaming mode causes the games to be listed in the portal interface 304, and selecting a game causes the game to execute.
  • Instantiating any of the hyperlink buttons causes the mode, and in particular, the application associated with the mode, to be launched in the portal interface 304.
  • the subscriber may advantageously specify the launch area, such as, for example, the browser window 302 or the portal interface 304, for the applications identified in or with the launch area 406 or the mode area 408.
  • the subscriber may advantageously configure the hyperlink buttons in the mode area 408 to be associated to any web object, service, or application.
  • the initial persona element field identifies the initial persona setting of the subscriber at the time the subscriber logs on to the portal system 102.
  • the initial persona setting may be an element in the persona list record 806.
  • the initial category element field identifies the initial category of operation for the subscriber at the time the subscriber logs on to the portal system 102.
  • the initial category may be an element in the category list record 808.
  • the initial category set element field identifies the initial web objects associated with the hyperlink tabs displayed in the feature bar 410.
  • the initial category set may be an element in the category set element record 810.
  • the persona list record 806, category list record 808, and category set element record 810 are further discussed below.
  • the initial persona element field, initial category element field, and the initial category set element field are configurable by the subscriber, for example, through the configuration application.
  • the portal definition record 802 may contain additional fields or less fields, and the fields may be in differing order.
  • the records disclosed herein may be broken down into a greater number of records or combined into a fewer number of records.
  • the portal current state record 804 identifies the current contents displayed in the subscriber's portal interface 304.
  • the portal current state record 804 may be comprised of data fields, such as, by way of example, a current portal display region location, current portal display region content, current persona, current category, and current category set element.
  • the current portal display region location field contains the location of the contents displayed in the portal display region 412.
  • the portal display region content field may advantageously identify the contents presently displayed in the portal display region 412. For example, if the contents displayed in the portal display region is a digest of the contents of a particular web page, the current portal display region location field may advantageously contain the web page URL.
  • the current persona field identifies the current persona selected in the portal interface 304.
  • the current category field identifies the current category selected in the portal interface 304.
  • the current category set element field identifies the category set element which is currently displayed in the portal interface 304, and in particular, in the hyperlink tabs displayed in the feature bar 410.
  • multiple portal current state records 804 may be maintained by the portal system 102. Each record maintained may be appropriately identified, for example, by a time stamp, subscriber activity, and the like, to further associate the record with the subscriber's activity.
  • the portal system 102 may then re-create the appropriate portal interface 304 based upon the subscriber's activity.
  • the portal system 102 may provide to the subscriber the appropriate portal interface 304 as the subscriber jumps from one activity to another. Activities are further discussed below.
  • the persona list record 806 contains a list of the available personas for a subscriber.
  • a persona may advantageously be equated with an identity such as, by way of example, personal, business, public, anonymous, and the like.
  • the subscriber may advantageously specify, for example, by making a selection on a pulldown menu accessible through the feature bar 410, his or her persona.
  • the subscriber may further select a different persona at any time while accessing the portal system 102. Personas enable the subscriber to utilize the services offered by the portal system 102, and in particular, the portal interface 304, under different identities based upon the particular persona selected.
  • Each persona may be a factor in determining a particular representation of the subscriber, and in particular, the subscriber's preferences based upon the representation.
  • the persona may advantageously be a factor considered in determining the appropriate view on the subscriber's information.
  • the portal system 102 advantageously presents appropriate subscriber information based on the subscriber's selected persona when responding to requests for subscriber information. For example, if the subscriber operating under the "business" persona initiates a request which in turn requires the submission of the subscriber's address and credit card information for proper processing of the request, the portal system 102 may advantageously submit the subscriber's business address and business credit card information, as opposed to the subscriber's personal address and personal credit card information.
  • the persona may also be considered by the portal system 102 in providing the subscriber a personalized and efficient information portal.
  • the portal interface 304 may advantageously operate differently depending on the subscriber's selected persona.
  • the portal current state record 804 may contain additional fields identifying different applications, such as, e-mail application, address book application, calendar application, and the like, for the various personas.
  • the subscriber operating under the "business" persona, instantiates his or her calendar application, the subscriber's business calendar application is launched.
  • the subscriber's personal calendar application is launched.
  • each entry in the subscriber's application may be differentiated by being associated with or tagged to a particular persona.
  • the contents displayed in the portal interface 304 such as the contents of the advertisement area 404, feature bar 410, and portal display region 412, may differ depending on the subscriber's persona.
  • the persona may also advantageously be considered by the portal system 102 when integrating information into the subscriber's applications. For example, a notification confirming a previously requested airline flight reservation, made under the subscriber's "business" persona, may be received by the portal system 102. This notification may advantageously be further processed by integrating the relevant information associated with the airline flight reservation into the subscriber's business applications such as, by way of example, the business address book, the business calendar, and the like.
  • the subscriber may advantageously channel his or her communications by persona. While the subscriber is utilizing the portal system 102 services, for example, to surf the WWW, in a particular persona, the subscriber receives notifications for the particular persona. For example, when surfing the WWW in a "personal" persona, the subscriber receives notifications for his or her personal applications, such as e-mail, chat account, and the like. As a further example, new contacts or events received while surfing the WWW under the "personal" persona may advantageously be added to the subscriber's personal address book application or calendar application (contacts or events added to their the subscriber's address book or calendar are identified as being associated with the subscriber's personal persona).
  • the portal system 102 may maintain information regarding a subscriber's activity according to the subscriber's persona at the time the subscriber instantiated the particular activity. For example, the subscriber's click stream data may be maintained according to the subscriber's persona. Thus, the portal system 102 can utilize this data to efficiently assist the subscriber as the subscriber switches back and forth between a first activity to a second activity as well as between one persona to another.
  • the persona information may be considered by the portal system 102 in sharing the subscriber's contact information.
  • the subscriber's contact information is shared through the subscriber's active business card.
  • the persona information may also be a factor considered when determining the subscriber's context.
  • the active business card and context are further discussed in detail below.
  • the subscriber may also create a persona to further identify the subscriber as the subscriber utilizes the portal system 102.
  • the portal system 102 advantageously assists the subscriber, for example, through a utility such as a wizard or other interface program, to submit the information needed for the newly created persona to function within the portal system 102.
  • newly created personas may advantageously be made available to all of the other subscribers or to a subset of the subscribers.
  • a subscriber who is a member of Organization W may advantageously create a new persona and request that the portal system 102 offer the newly created persona to other subscribers belonging to Organization W.
  • the category list record 808 contains one or more categories.
  • a category organizes the content displayed in the portal interface 304. Specifying a category causes the portal system 102 to display content in the portal interface 304 which is associated with the specified category.
  • a subscriber may advantageously select a particular category, such as, by way of example, bookmarks, history, my routine, travel, shopping, converse, look up, search, browse, finance, download, news, and the like, by making a selection on a pop-up menu accessible through the feature bar 410. The subscriber may further select a different category at any time while accessing the portal system 102.
  • the category impacts the operation of the portal system 102 and, in particular, the contents displayed in the portal interface 304.
  • Each category is associated with a set of features which are displayed in the portal interface 304.
  • Each feature in the set of features may advantageously be associated with a hypertext tab displayed in the feature bar 410 of the portal interface 304. Selecting a different category may cause the portal interface 304 to display a different set of features which is associated with the newly selected category.
  • Each set of features may advantageously be maintained in the category set element record 810, and each category in the category list record 808 may reference the appropriate category set element record 810.
  • the category “shopping” may be associated with a feature set comprised of books, music, computers, electronics, toys, and gifts
  • the category “travel” may be associated with a feature set comprised of common, popular, reservations, providers, discounts, vacation, itineraries, and mileage information.
  • the hypertext tabs displayed in the feature bar 410 will be for books, music, computers, electronics, toys, and gifts, respectively.
  • Changing the category to "travel” will cause the hypertext tabs to display common, popular, reservations, providers, discounts, vacation, itineraries, and mileage information, respectively.
  • the hypertext tabs displayed in the feature bar 410 are connected to the appropriate category.
  • each element in the category set element record 810 may advantageously specify data which is to be displayed in the portal display region 412.
  • the data may be advantageously stored in a portal display region content record.
  • Instantiating the particular category set element for example, through the appropriate hyperlink tab in the feature bar 410, displays the data specified in the associated portal display region content record in the portal display region 412.
  • the data may be a digest of the contents of a web page specified by the particular category set element.
  • the digest may be "clipped" from the web page contents and specified through the category set element record 810, and in particular, the portal display region content record.
  • the portal display region content record may refer to data which is to be "clipped" to create the digest.
  • the portal display region 412 is capable of displaying any data which is likewise displayable in a standard browser window.
  • Each element in the category set element record 810 may advantageously be associated with another category set element record 810.
  • the feature (category set element) "books” may further reference another set of features, such as, by way of example, fiction, non-fiction, reference, religious, and magazines.
  • Instantiating the hyperlink tab for the feature "books” may then advantageously cause the hyperlink tabs displayed in the feature bar 410 to be fiction, non-fiction, reference, religious, and magazines, respectively.
  • the elements in the category list record 808 and the associated one or more category set element records 810 may be accessed and instantiated through one or more pop-up menus in the portal interface 304, and in particular, the feature bar 410.
  • One embodiment of the inter-connected pop-up menus is illustrated in Figure 10. Again referring to the prior "shopping" category example, a first pop-up menu in the feature bar 410 may advantageously list the available categories.
  • the one or more feature sets may be displayed as a hyperlink directory tree in the portal display region 412.
  • the portal system 102 provides one or more configuration programs through which the subscriber may change the contents of his or her portal interface 304.
  • the subscriber may advantageously alter the contents of the data records 802, 804, 806, 808, 810, 812, and 814.
  • the subscriber may also specify the contents which is to be displayed in the portal display region 412 for each of the category set elements. For example, the subscriber may request that a specific directory tree be displayed when a particular hyperlink tab (category set element) is selected from the feature bar 410.
  • the subscriber may create a new category.
  • the portal system 102 may advantageously assist the subscriber, for example, through a utility such as a wizard or other interface program, to submit the information necessary to create an entry in the category list record 808 for the newly created category.
  • the portal system 102 may advantageously assist the subscriber create the necessary category set element records 810. Similar to subscriber created personas, subscriber created categories may be offered as a selection to other subscribers.
  • the portal system 102 proceeds to state 710 and determines if any client code needs to be downloaded onto the remote device.
  • the client code is comprised of the program or controls which facilitate the forwarding or redirecting of the requests to the portal system 102.
  • the client code may be comprised of the program or controls which facilitate the persistent function of the portal interface 304.
  • client code may not be necessary, for example, in a HTML frames implementation of the portal interface 304.
  • the remote device has been previously used to access the portal system 102, for example, the remote device is the same device used by the subscriber to subscribe to the portal system 102, the necessary client code would have been previously downloaded to the remote device, and thus, should be present on the remote device unless the client code was somehow deleted, for example, by reloading the browser application. If the remote device does not contain the necessary client code, or the client code is a prior version, the portal system 102 downloads the client code to the remote device in state 712.
  • the client code may be one or more components, such as a client infomediary control module 902 ( Figure 9), which is configured to execute on the remote device.
  • the downloaded components execute on the remote device and assist the portal system 102 in facilitating and performing some or all of the features and functions as disclosed herein.
  • the downloaded components may communicate with the portal system 102 in performing its function.
  • Client code is further discussed below in conjunction with the client infomediary control module 902 discussion.
  • the client code may additionally comprise a copy of the subscriber's information, for example, the subscriber's data records maintained by the portal system 102. Maintaining a copy of the subscriber's records on the remote device reduces the number and frequency of the communications between the remote device and the portal system 102 in performing the required functions. The portal system 102 may then periodically upload the subscriber's records maintained on the remote device.
  • the portal system 102 either downloads the client code in state 712 or determines that the client code is not needed on the remote device in state 710. Proceeding to state 714, the portal system 102 transmits the portal definition retrieved in the previous state 708 to the remote device and proceeds to end state 716.
  • the intent list record 808 contains one or more intents.
  • an intent organizes an action undertaken by a subscriber through the portal interface 304.
  • An intent addresses the purpose or objective of the subscriber action.
  • the intents may be, by way of example, travel, shopping, converse, look up, search, browse, news, and the like.
  • the intents may advantageously be maintained in the intent list record 812.
  • Each intent may further reference a list of one or more elements.
  • the list of elements may advantageously be maintained in the intent element record 814.
  • Each of the elements may further reference a list of one or more subelements.
  • Each of the subelements may reference a list of one or more subsubelements.
  • each intent may reference an assistant 816 that assists the subscriber in performing the action specified by the intent. It is appreciated by those of ordinary skill in the art that each intent may reference a different number of elements and subelements. Furthermore, certain intents may or may not ultimately reference an assistant 816.
  • the assistant 816 may present a list of online services or web sites that are capable of interacting with the assistant 816 to process the subscriber action.
  • the assistant 816 may additionally present a list of related services that are capable of interacting with the assistant 816.
  • the presented services or web sites are enabled sites.
  • the subscriber may select one or more services from the list, whereupon the assistant 816 submits or inputs the subscriber information to the selected online service or web site for processing.
  • Methods of interaction include, by way of example, XML, HTML, plain text, e-mail for off-line processing, and other communication methods specified in the enabled sites discussion below.
  • the subscriber may access the list of available intents through an intent button present on the portal interface 304. Clicking on the intent button, with a pointing device, such as a mouse or the like, may display a pop-up menu displaying the intents. The subscriber may then explicitly select an intent from the pop-up menu.
  • Selecting a particular intent may display another pop-up menu containing the list of elements for the particular intent.
  • Selecting a particular element from the pop-up menu may display a subsequent pop-up menu containing the list of subelements for the particular element. This process is repeated until the subscriber accesses the last sub...subelement for the particular intent.
  • the assistant 816 for the particular intent is displayed to assist the subscriber perform the action represented by the intent and the selections made through the sequence of pop-up menus.
  • the subscriber may explicitly specify the "shopping" intent on a first pop-up menu.
  • a second pop-up menu may be displayed which lists the elements books, music, computers, electronics, toys, and gifts. The subscriber may then indicate his or her intent as "shopping for books” by selecting "books” from the second pop-up menu.
  • a third pop-up menu may be displayed which lists the subelements fiction, non- fiction, reference, religions, and magazines. The subscriber may then further indicate his or her intent as "shopping for fiction books” by selecting "fiction” from the third pop-up menu.
  • the shopping assistant 816 may be displayed which assists the subscriber in accomplishing his or her task of "shopping for fiction books.”
  • the shopping assistant 816 may request information, such as, by way of example, one or more book titles, who the book is for, why or for what occasion is the book being purchased, what online services the subscriber prefers, and the like, through one or more pop-up windows.
  • the assistant 816 may determine some or all of the subscriber information needed to perform the action from the information regarding the subscriber maintained by the portal system 102 or by asking the subscriber to explicitly provide the necessary information through one or more pop-up windows.
  • the shopping assistant 816 may present one or more pop-up windows that asks the subscriber one or more questions related to the shopping intent. The subscriber may then respond to the questions by entering a string of text. The shopping assistant 816 may then parse the input text string in formulating the necessary information to assist the subscriber perform the shopping activity.
  • the assistant 816 may additionally provide the subscriber the option of expanding his or her action to include other books or other online services.
  • the assistant 816 performs the provided services in real-time, upon receiving the subscriber's request.
  • the assistant 816 may defer the performance of the provided services to a later time; the assistant 816 may perform the services as a batch or off-line process.
  • the assistant 816 may provide the subscriber the option of specifying whether the services are to be performed in real-time or off-line. It is appreciated by those of ordinary skill in the art that the other assistants 816 may be implemented to perform their appropriate services in a likewise similar manner.
  • the portal system 102 may implicitly determine the subscriber's intent by monitoring the subscriber's actions. For example, the subscriber's intent may be determined implicitly from one or more structured statements or unstructured statements provided by the subscriber, or both. The structured statements may be obtained through one or more assistants 816 which are presented to the subscriber. For example, the portal system 102 may determine that the subscriber has specified "travel" as his or her category and that the subscriber is browsing web sites containing information about Asia. An assistant 816 may then execute that displays a pop-up window listing one or more structured statements to the subscriber from which the subscriber can make a selection.
  • the structured statements may be "find travel destinations in Asia,” “find cheap air fares to Asia,” “find vacation packages to Asia,” and the like.
  • the assistant 816 may display a subsequent pop-up window listing a list of countries. In like fashion, the assistant 816 may assist the subscriber perform the appropriate action which is associated with the implicitly determined intent.
  • the portal system 102 may utilize natural language parsing techniques to implicitly determine the subscriber's intent. For example, one or more subscriber submitted statements, such as, by way of example, search strings, may be parsed to implicitly determine the subscriber's intent. In one embodiment, having implicitly determined a portion of the subscriber's intent through natural language parsing, the portal system 102 may utilize one or more assistants 816 to present one or more additional structured statements in order to more fully determine the subscriber's intent. Natural language parsing technology is well understood by those of ordinary skill in the art.
  • the portal system 102 may implicitly determine the subscriber's intent from one or more context factors maintained for the subscriber. For example, the portal system 102 may implicitly determine the subscriber's intent from factors such as, by way of example, the specified category, the web object being accessed or browsed, or other information regarding the subscriber. For example, the subscriber may have selected the "research" category on his or her portal interface 304 and be currently browsing the ABCcompany.com web site. From this information, the portal system 102 may implicitly determine the subscriber's intent as "researching information regarding ABCcompany.com.” The portal system 102 may subsequently provide the subscriber an assistant 816 that asks if the subscriber wants to research ABCcompany.com. In one embodiment, the assistant 816 may advantageously be an extension of the standard research assistant 816. In another embodiment, the assistant 816 may present one or more structured statements in order to further determine the subscriber's intent.
  • factors such as, by way of example, the specified category, the web object being accessed or browsed, or other information regarding the
  • the subscriber may create new intents.
  • the portal system 102 may advantageously assist the subscriber, for example, through a utility such as a wizard or other interface program, to submit the information necessary to create an entry in the intent list record 812 for the newly created intent.
  • the portal system 102 may advantageously assist the subscriber create the necessary intent element records 814.
  • the portal system 102 may create the assistant 816 for the newly created intent from the information and data provided by the subscriber to create the intent. Similar to subscriber created personas, subscriber created intents may be offered as a selection to other subscribers.
  • Figure 9 is a high level block diagram illustrating one embodiment of the selected components of the user computer 104 and the portal system 102.
  • the user computer 104 includes the client infomediary control module 902 which is inter-connected to and communicates with the cache 904, browser window 302, and the portal interface 304.
  • the client infomediary module 902 and the cache 904 are optional and may or may not exist on certain user computers 104.
  • the client infomediary control module 902 may not exist on user computers 104 with limited processing capabilities.
  • the client infomediary control module 902 may not be required in implementations where all the infomediary processing is performed on the portal system 102.
  • the cache 904 may not exist on user computers 104 with limited memories or on computes in which the client infomediary control module 902 is not present.
  • the portal system 102 includes a server infomediary control module 906, a proxy control module 908, the portal database 910, a session control module 912, and one or more assistants 816.
  • the depicted components may advantageously communicate with each other and other components comprising the respective computers through mechanisms such as, by way of example, interprocess communication, remote procedure call, and other various program interfaces.
  • the functionality provided for in the components, modules, and databases may be combined into fewer components, modules, or databases or further separated into additional components, modules, or databases.
  • the components, modules, and databases may advantageously be implemented to execute on one or more computers.
  • some of the components, modules, and databases may be implemented to execute on one or more computers external to the portal system 102.
  • the portal system 102 includes program logic which enables the portal system 102 to communicate with the externally implemented components, modules, and databases to perform the functions as disclosed herein.
  • the client infomediary control module 902 performs hyperlink interception.
  • the hyperlink interception, and the necessary redirecting function, may be performed by a redirecting component within the client infomediary control module 902.
  • the client infomediary control module 902 may interact with the portal system 102 in performing its functions associated with the hyperlink interception.
  • One function performed by the client infomediary control module 902 may be to determine whether the web object associated with the particular hyperlink selected by the subscriber requires information to be input by the subscriber. In one embodiment, what input the web object requires may advantageously be maintained by the portal system 102 in an enabled site record 1802 ( Figure 18). The enabled site record 1802 and enabled sites are further discussed below.
  • the client infomediary control module 902 communicates with the portal system 102 to determine if the web object is enabled.
  • the client infomediary control module 902 may communicate with the portal system 102 to obtain the necessary subscriber information required by the web object.
  • the enabled site record 1802, and other information, including the subscriber information, and data maintained by the portal system 102 may advantageously be downloaded to the user computer 104 and maintained in the cache 904.
  • the client infomediary control module 902 may then communicate with the cache 902 in performing its functions.
  • the contents of the cache 902 may then be periodically uploaded to the portal system 102.
  • the client infomediary control module 902 may advantageously perform some or all of the infomediary functions, such as, by way of example, extracting content or information from a web object and entering the extracted content or information into one or more personal applications for the subscriber, modifying the portal interface 304, updating the subscriber's records maintained by the portal system 102, updating the subscriber's context, creating and maintaining a click stream history, uploading information to the portal system 102, downloading information from the portal system 102, inputting information into one or more web objects, redirecting requests to the portal system 102, and other infomediary functions as described herein, on the user computer 104.
  • infomediary functions such as, by way of example, extracting content or information from a web object and entering the extracted content or information into one or more personal applications for the subscriber, modifying the portal interface 304, updating the subscriber's records maintained by the portal system 102, updating the subscriber's context, creating and maintaining a click stream history, uploading information to the portal system 102, downloading information from the portal system
  • the client infomediary control module 902 redirects requests made on the user computer 104 by intercepting the URL and the header information from a request made by the subscriber in the browser window 302 or the portal interface 304.
  • the client infomediary control module 902 may access data maintained in the cache 904 or the portal database 910 to determine the appropriate action or actions to take in processing the particular subscriber request.
  • the cache 904 or the portal database 910 may contain a list of web objects which are not available to the particular subscriber. If the intercepted URL is for a web object which is not found on this list, the client infomediary control module 902 may permit the subscriber to navigate to the requested URL.
  • the client infomediary control module 902 may block access to the web object. In another example, the client infomediary control module 902 may determine from data maintained in the cache 904 or the portal database 910 that the subscriber should be navigated to a new location instead of the location specified by the URL. Once the client infomediary control module 902 determines and grants access to the web page, the web page contents are transmitted directly from the remote device 914 containing the web page and the user computer 104. The client infomediary control module 902 does not participate in the page loading; the contents of the web page are not intercepted by the client infomediary control module 902. Thus, in this embodiment, the portal system 102 also does not participate in the page loading.
  • the client infomediary control module 902 stores the intercepted URL and header information for subsequent utilization by components of the portal system 102 in providing the services as disclosed herein.
  • the URL may be used in maintaining a URL or click stream history for the subscriber.
  • the client infomediary control module 902 may independently request the contents of the web page referenced by the URL.
  • the client infomediary control module 902 may then edit the contents of the page, and store the entire contents, the edited contents, or both, in the cache 904 or the portal database 910. Subsequent requests to access the contents of the particular URL may cause the client infomediary control module 902 to retrieve either the edited contents or the entire contents for display without having to access the actual web page. If the subscriber requested the contents from a restricted web site, the client infomediary control module 902 may advantageously display, if available, the edited contents for the particular web site.
  • header information and the URL may advantageously be used by the client infomediary control module 902 to provide subscribers efficient access to the web site.
  • the client infomediary control module 902 may request the contents of a sequence of web pages contained in the web site.
  • the sequence of web pages may be determined from one or more intercepted URLs.
  • the client infomediary control module 902 may determine the format of the contents either from the enabled site record 1802 ( Figure 18) or by parsing the contents of the web pages. From this information, the client infomediary control module 902 may appropriately supplement the intercepted header information in order to sequence the inputting of data into, or the extraction of data out of, the sequence of web pages.
  • the client infomediary control module 902 may enhance the subscriber's browsing experience by efficiently organizing the contents of the sequence of web pages, or efficiently inputting data requested by the sequence of web pages, and presenting to the subscriber one or more web pages containing data and information of interest.
  • the data and information of interest may be obtained by editing the contents of the web pages.
  • the hyperlink interception function may be implemented as a modification to the browser on user computers 104 that do not have the client infomediary control module 902.
  • the browser may be modified with an Active X control that performs hyperlink interception.
  • the hyperlink interception function may be implemented in a client application that executes on the user computer 104 whenever the subscriber is logged on the portal system 102.
  • the client infomediary control module 902 may be implemented on the portal system 102, for example, as part of the server infomediary control module 906, without detracting from the essence of the invention. Furthermore, for user computers 104 lacking the necessary processing capability, the functions and features of the client infomediary control module 902 and the cache 904 are implemented and performed on the portal system 102.
  • the server infomediary control module 906 comprises one or more modules or components that perform the infomediary functions as described herein.
  • the server infomediary control module 906 functions as the subscriber's agent in interfacing with the subscriber's records, personal applications, and other web objects.
  • the server infomediary control module 906 may comprise, for example, a configure component, a monitor component, a context specific information component, a filter component, and a data integrate component.
  • the configure component includes one or more applications, such as the configuration application, that facilitate the configuration and modification of the services offered by the portal system 102 as disclosed herein.
  • the configure component may be accessed by the subscribers, content providers, portal system 102 administrators, and other third parties who are granted access to the portal system 102.
  • the subscriber may invoke the configure component to modify his or her portal interface 304 settings.
  • the content provider may access the configure component to enable or disable its web site or to create a particular edition of the portal system 102.
  • the portal system 102 administrator may utilize the configure component to enable additional web sites, disable web sites, or alter the services provided by the portal system 102.
  • the monitor component may be implemented as one or more applications that monitors, processes, and maintains the data, information, and requests that are received by the portal system 102 to facilitate the operation of the portal interface 304 and the other services comprising the portal system 102 as disclosed herein.
  • the monitor component maintains information regarding the subscriber by, for example, monitoring the subscriber activity on the portal interface 304 or the browser window 302. For example, by analyzing the subscriber's actions, along with the appropriate action results, such as service responses, the monitor component may maintain information regarding the subscriber, such as the current portal interface 304 configuration, a subsequent portal interface 304 configuration, the context, the current browser location, the requested browser location, the personal applications, and other subscriber information as disclosed herein, in the appropriate records.
  • the monitor component analyzes the subscriber's actions and updates the appropriate portal system 102 records which store the information regarding the subscriber.
  • the monitor component also analyzes the subscriber information to retrieve the appropriate information and data maintained by the portal system 102 for transmission to remote devices 914 such as the user computer 104 and the content server's 106.
  • the monitor component may determine from one or more factors, such as the subscriber's click stream history, the subscriber's request or action, and the like, that a differently configured portal interface 304 needs to be displayed for the subscriber.
  • the monitor component may advantageously update the appropriate records for the portal interface 304 to create the appropriate portal interface 304 configuration.
  • the portal definition for the appropriate configuration is then transmitted to the user computer 104.
  • the monitor component utilizes the data and information to provide the services offered by the portal system 102.
  • the monitor component may incorporate the data and information into the portal interface 304 through one or more of the assistants 816.
  • the monitor component may utilize the data and information to facilitate the proper operation of one or more assistants 816.
  • the monitor component may utilize the data and information to create and maintain one or more dynamic assistants 816 for the subscriber.
  • the context specific information component may be implemented as one or more applications that create context specific information, as disclosed herein, from one or items of data.
  • the context specific information component may utilize additional information maintained by the portal system 102 to identify and create context specific information from the received data.
  • the context specific information component receives one or more items of data originally input by a subscriber through the portal interface 304.
  • the context specific information component may then utilize one or more factors comprising the subscriber's context to identify the items of data that are specific to the context, and thus, create the context specific information.
  • the filter component may be implemented as one or more applications that filter data or information according to one or more factors or criteria as disclosed herein. This creates one or more items of data or information that satisfy the one or more factors or criteria used.
  • the filter component may filter a search result contents targeted for a subscriber based on one or more factors comprising the subscriber's context such as, for example, demographics, edition, persona, mode, category, intent, and the like.
  • the search results may be filtered based on the subscriber's current category.
  • the search result contents which are related to the present category may advantageously be identified.
  • the subscriber demographics may be utilized to filter the search results in order to identify and display the web sites which are in the subscriber's locale.
  • the data integrate component may be implemented as one or more applications that receive as input one or more items of data and integrate the received items of data into one or more web objects as disclosed herein.
  • the data integrate component may determine the appropriate subscriber context and appropriate subscriber applications which are to be updated with the data. This information may be obtained from the subscriber information maintained by the portal system 102.
  • the appropriate subscriber context or the appropriate subscriber applications may be identified by another component, for example, the monitor component, and be input to the data integrate component.
  • the data integrate component may utilize information and data maintained by the portal system 102, as well as the transmit component, to communicate with, and update the appropriate subscriber applications.
  • server infomediary control module 906 as disclosed herein, including, but not limited to, the configure component, monitor component, context specific information component, filter component, and data integrate component may be implemented to execute on the user computer 102 or one or more other computers connected to the communication medium 108.
  • the proxy control module 908 includes one or more modules that perform the proxy services as disclosed herein.
  • the proxy control module 908 may comprise, for example, a transmit component.
  • the transmit component receives data from one or more devices connected to the communication medium 108, such as, by way of example, the user computer 104, content server 106, or a remote device 914.
  • the transmit component receives a forwarded request from the user computer 104 and parses the application data.
  • the application data is communicated to the monitor component of the server infomediary control module 906 to enable the server infomediary control module 906 to process the data and perform the infomediary services as disclosed herein.
  • the transmit component also receives and processes requests to transmit data over the communication medium 108 to one or more devices connected to the communication medium 108.
  • the components comprising the server infomediary control module 906 may submit such requests to the transmit component.
  • the transmit component may parse the protocol to determine the intended recipient of the request. In addition to submitting the application data to the server infomediary control module 906, the transmit component may transmit the request to the intended recipient for further processing.
  • the user computer 104 may forward a request initiated by a subscriber to access a web page stored on the remote device 914 to the portal system 102.
  • the transmit component of the proxy control module 908 advantageously receives the forwarded request and parses the application contents (application data). The parsed application contents are then communicated to the monitor component of the server infomediary control module 906.
  • the monitor component performs the necessary infomediary services, as described herein, on the application contents.
  • the monitor component may determine if the forwarded request needs to be transmitted to the intended recipient for further processing. If so, the monitor component requests the transmit component to transmit the forwarded request to the intended recipient. In another embodiment, the transmit component may independently determine if the forwarded request needs to be transmitted to the intended recipient for further processing.
  • the transmit component advantageously transmits the necessary forwarded request to the remote device 914.
  • the remote device 914 services the received forwarded request and transmits the appropriate response, the requested web page contents, to the portal system 102.
  • the transmit component of the proxy control module 908 receives the response and parses the application contents (the web page contents).
  • the application contents are communicated to the monitor component of the server infomediary control module 906 for necessary processing.
  • the transmit component advantageously transmits the response to the user computer 104.
  • the remote device 914 may transmit the web page contents directly to the user computer 104.
  • the proxy control module 908 proxies all requests made by a subscriber on his or her user computer 104. In another embodiment, the proxy control module 908 proxies selected requests made by the subscriber. For example, the proxy control module 908 may determine if information regarding a particular request, such as the particular web object, is maintained on the portal system 102. If the necessary information regarding the web object is not maintained on the portal system 102, the proxy control module 908 may advantageously inform the user computer 104 to not forward subsequent requests for the web object to the portal system 102. The user computer 104 may subsequently communicate with the web object, such as, by way of example, the remote device 914, directly.
  • the proxy control module 908 may determine if information regarding a particular request, such as the particular web object, is maintained on the portal system 102. If the necessary information regarding the web object is not maintained on the portal system 102, the proxy control module 908 may advantageously inform the user computer 104 to not forward subsequent requests for the web object to the portal system 102. The user computer 104 may subsequently
  • the request or authorization to not forward subsequent requests may be conditional, for example, as long as the subscriber is in the same context. Subscriber context is further discussed below.
  • the proxy control module 908 determines whether particular events need to be forwarded by the user computer 104 to the portal system 102. For example, a subscriber may instantiate an action, such as a request to participate in a chat room. The request may be forwarded by the user computer 104 to the portal system
  • the portal system 102 services the forwarded request. Subsequently, either the server infomediary control module 906 or the proxy control module 908 may advantageously determine that subsequent requests associated with communicating in the particular chat room need not be forwarded to the portal system 102 by the user computer 104.
  • the portal system 102 informs the user computer 104 to not forward future requests associated with communicating in the particular chat room. In one embodiment, the URLs for which the user computer
  • the portal system 102 may be maintained in a database, for example, the cache 904, on the user computer 104.
  • the browser executing on the user computer 104 may determine from this database whether or not to forward a subscriber's request for a particular URL to the portal system 102.
  • the portal database 910 contains the databases, records, data, and other information as disclosed herein.
  • the portal database 910, as well as other databases disclosed herein, may advantageously be implemented on addressable storage medium on the same or different computers.
  • the databases are implemented with Structured Query Language (SQL) code.
  • SQL is a relational database language standardized by the International Standards Organization (ISO).
  • the databases can be implemented utilizing any number of commercially available database products such as, by way of example Oracle, Microsoft® Access and the like.
  • the database may be, by way of example, a relational database, an object oriented database, a hierarchical database, an LDAP directory, an object oriented-relational database, and the like.
  • the databases may conform to any database standard, or may even conform to a non-standard, private specification.
  • the databases may be implemented using the file system provided with the operating system executing on the computer.
  • the session control module 912 manages a subscriber's session as the subscriber utilizes the portal system 102.
  • a session is defined as starting when the subscriber logs on to the portal system 102 and ending when the subscriber logs off of the portal system 102.
  • a session may further be divided into one or more activity contexts.
  • an activity can be thought of as a task or endeavor, such as, by way of example, searching for a particular item, making a flight reservation, participating in a particular event, and the like.
  • the activity context is based on or unified by a single intent.
  • an activity may comprise one or more subscriber instantiated actions in performing the activity.
  • An activity context can be thought of as an assignment of a context to an activity.
  • the activity context may advantageously be a sequence of one or more subscriber actions while in the same context.
  • the assistants 816 assist a subscriber to efficiently utilize the services provided by the portal system 102 as disclosed herein.
  • the assistants 816 are implemented as one or more software modules that display one or more interfaces, such as pop-up menus, pop-up windows, and the like, that assist the subscriber in performing a task or utilizing a service.
  • the assistants 816 may present one or more items of data through the one or more interfaces.
  • the assistants 816 may also request data from the subscriber through the interfaces. For example, the assistants 816 may provide one or more lists from which the subscriber is to make a selection, or may ask one or more questions to which the subscriber is to provide a reply by entering a string of text.
  • the assistants 816 may facilitate the integration of data into and out of the portal interface 102 as disclosed herein.
  • the assistants 816 may also integrate information out of and into the subscriber's personal applications.
  • the assistants 816 may use the subscriber's persona to extract account information from the subscriber records, extract or integrate events into the subscriber's calendar application, extract or integrate contacts from the subscriber's address book, and the like.
  • the assistants 816 interact with and are utilized by the modules and components comprising the portal system 102.
  • the subscriber may activate and de-activate each of the assistants 816 disclosed herein.
  • a list containing the assistants 816 may be accessed through the portal interface 304. From this list, the subscriber may be able to activate or de-activate an assistant 816, for example, through a toggle selection.
  • the subscriber may be offered the option of de-activating a particular assistant 816 when the particular assistant executes. The option to de-activate the assistant 816 may be presented in one of the assistant's 816 pop-up window or in another window displayed on the user computer 104.
  • FIG 11 is a block diagram representation of one embodiment of a subscriber session illustrating the activity contexts.
  • the session control module 912 monitors a subscriber's action or request and classifies each action or request into an appropriate activity, and furthermore, assigns an appropriate context to the activity.
  • the session control module 912 creates and updates the appropriate records and databases required in maintaining the session and activity context information.
  • the activity context information is utilized by the portal system 102 in assisting the subscriber as the subscriber moves from one activity to another, and also back and forth between one activity and another, during the subscriber's browsing experience.
  • the portal system 102 may maintain state information, such as the last web object the subscriber was at in an activity before the subscriber switched to a different activity.
  • the portal system 102 may provide the subscriber the option of returning to the last state, or possibly any prior state, the subscriber was in before leaving the particular activity the previous time.
  • the state information may be further categorized and maintained by the subscriber's context.
  • Figure 12 is a representation of one embodiment of a context record.
  • a subscriber's context is maintained in a context record.
  • a context record may be comprised of information such as, by way of example, demographics, edition, persona, intent, category, mode, browser location, browser click stream history, and other information regarding and related to the subscriber and the subscriber's activity as monitored by the portal system 102.
  • the context record is associated with a particular subscriber's username and password. Therefore, from a subscriber's username and password, the subscriber's context may advantageously be determined from the contents of the context record.
  • the demographics include information about the subscriber, such as, by way of example, age, gender, residence, profession, political affiliation, interests, and the like.
  • the edition identifies the subscriber's portal system 102 edition or configuration, and is further discussed below.
  • the persona, intent, category, and mode identify the subscriber's persona, intent, category, and mode as disclosed herein.
  • the browser location may identify the web object currently accessed by the subscriber. In one embodiment, the browser location may identify the location accessed by the browser window 302. In another embodiment, the browser location may identify the location accessed by the portal interface 304. In still another embodiment, the browser location may identify both the location accessed by the browser window 302 and the portal interface 304.
  • the browser click stream history may identify the click stream history for the browser window 302, the portal interface 304, or both the browser window 302 and the portal interface 304.
  • the context is an underlying principle upon which the portal system 102 services are based.
  • the subscriber's context may be a factor in determining, for example, the content of the portal interface 304, the subscriber's available contacts, the subscriber's associations, the subscriber's relationships, the subscriber's available events or tasks, the accessible web objects, the advertisements displayed on the portal interface 304, the dissemination of the subscriber's information to third parties, the incorporation of information into the subscriber's applications, the overall operation of the portal interface 304 as disclosed herein, and other portal system 102 services as disclosed herein.
  • the portal system 102 may advantageously use the subscriber's context to narrow the scope of available information, content, or services to that which is relevant to the subscriber's context.
  • the subscriber is able to narrow the scope of available information, content, or services to that which is relevant to what the subscriber is currently trying to accomplish.
  • the filter component of the portal system 102 may filter information, for example, search results, accessible web objects, and the like, based on the subscriber's current context.
  • the subscriber's view of the Internet through the portal interface 304 may be narrowed or limited based upon the subscriber's context.
  • the subscriber may specify his or her context by, for example, selecting the appropriate persona, specifying a particular intent, specifying a particular category, specifying a particular mode, browsing the appropriate web sites, and the like.
  • the portal system 102 may determine the subscriber's context from evaluating the browser location, the browser click stream history, and the like. Thus, the portal system 102 may dynamically shift the subscriber's context from the context the subscriber specified by monitoring and analyzing the subscriber's browsing activity.
  • the subscriber may have specified a context by selecting the category "shopping" from the portal interface 304. Subsequently, the subscriber may browse one or more travel related sites such as, by way of example, one or more online travel agencies.
  • the portal system 102 and in particular, the monitor component, may advantageously monitor the subscriber's browsing tendencies and determine that the subscriber is browsing travel related sites and from this information, establish a different context for the subscriber. Methods of determining the context information from web sites and web pages are, by way of example, HTML/XML parsing, pattern matching, standard parsing, capturing HTTP header information (GET/POST/AUTH), URL Query string analysis, WIDL, cookie analysis, tangential page definitions, P3P, and the like.
  • the monitor component may dynamically select the appropriate category, for example, the category "travel," on behalf of the subscriber.
  • the portal system 102 may additionally display the category set elements associated with the new category on the portal interface 304.
  • the subscriber may be provided an option to turn off the dynamic context switching feature of the portal system 102.
  • the subscriber may not want the portal system 102 to dynamically switch his or her context while the subscriber is surfing particular web objects.
  • the subscriber may turn off the dynamic context shifting feature, for example, by making an appropriate selection on the portal interface 304.
  • the portal system 102 will not dynamically shift the subscriber's context.
  • the subscriber may request the portal system 102 resume the dynamic context shifting.
  • the subscriber may likewise stop the portal system 102 from maintaining a click stream history while the subscriber is performing particular activities.
  • the portal system 102 utilizes the subscriber's context to aid the subscriber as the subscriber surfs the Internet.
  • the monitor component of the portal system 102 may advantageously monitor and maintain a record of the subscriber's activity based on the subscriber's context as previously discussed in conjunction with Figure 1 1.
  • the portal system 102 may store context specific information for use at a later time to assist the subscriber efficiently surf the Internet.
  • the context specific information component identifies and creates the context specific information.
  • context specific information is comprised of the information or data requested by specific web objects and the information or data the subscriber provides to the web objects during an activity under a particular context.
  • the portal system 102 may assist the subscriber perform context specific actions such as, by way of example, submitting the context specific information, returning to a specific state in a prior activity, bypassing unnecessary and redundant sections of web objects, and the like.
  • context specific information may additionally comprise information processed by the portal system 102 for a particular context. Information and data are used interchangeably herein.
  • Figure 13 is a representation of one embodiment the multiple editions of the portal system 102.
  • An edition may be thought of as providing a template.
  • An edition is a pre-determined arrangement of the features and services provided by the portal system 102 which is directed toward a discrete set of subscribers. Each pre-determined edition addresses the targeted set of subscribers by presenting a pre-set, custom arrangement of the portal system 102 components.
  • four editions are illustrated comprising a standard edition, university edition, family edition, and a government edition.
  • the standard edition may advantageously be a default edition with default settings of the portal system 102.
  • the university edition may be a customized version of the portal system 102 targeted for a typical university or college.
  • the family and government editions may be a version of the portal system 102 specially targeted for a family and government body, respectively.
  • an edition may contain restrictions which restrict the web objects which may be accessed by its members.
  • each pre-determined edition may advantageously define communities, relationships, roles, preferences, and content for the subscribers of the particular edition.
  • the family edition may specify a community template, a default preferences, a default content, and a category set.
  • the community template for the family edition may further define the members of the family, such as, by way of example, mother, father, son, and daughter, and each member's roles and relationships.
  • the roles may be parent or children, and the relationships may be father-son, mother-daughter, and so on.
  • the roles may further define the initial communities the subscriber is a member of, by default.
  • the default preferences may define the content and applications for each role within the family edition.
  • the son or daughter may have restricted, or filtered, access to the Internet.
  • the default content may define the content, such as, by way of example, messages, web digests, intents, modes, categories, documents, shortcuts, and the like, available on the portal interface 304 for the particular role.
  • the category set may define the category and category set elements of the portal interface 304 for the particular role.
  • Offering editions of the portal system 102 benefits the subscribers in that the subscriber does not have to tediously configure or set up the portal system 102 options. Having selected a pre-determined edition, the subscriber may subsequently personalize the portal system 102 features and services, and in particular, the portal interface 304, by altering the pre-selected settings by specifying the configure mode and utilizing, for example, the configuration application and the associated configuration modules.
  • an edition may advantageously be associated with a brand to provide a unique configuration of the portal system 102 services to the subscriber.
  • the brand may be comprised of a logo, color scheme, layout, fonts, advertisements, and additional brand provider specific information.
  • XYZ Company may offer a pre-determined edition of the portal system 102 to its customers under its own brand.
  • the XYZ Company's portal system 102 edition may advantageously be pre-set or pre-configured for its customers, and moreover, XYZ Company may provide its own brand and advertisements.
  • FIG. 14 is a flow chart illustrating the portal interface 304 update process according to one embodiment of the invention.
  • a subscriber's action causes an update of his or her portal interface 304.
  • the portal system 102 receives a subscriber request from a user computer 104 in state 1402.
  • the monitor component analyzes the request and determines if the subscriber had changed contexts. Proceeding to state 1404, the monitor component makes the appropriate change to the subscriber's context record if there was a change in context.
  • the session control module 912 may create a new activity if the subscriber changed contexts, and associate the new context with the created activity. Proceeding to state 1406, the monitor component appropriately updates the subscriber's portal definition to reflect the new context.
  • the monitor component determines if the portal definition needs to be updated by analyzing the subscriber's portal current state record 804. Having made the necessary changes, the monitor component requests the transmit component to transmit the updated portal definition to the subscriber's user computer 104 in state 1408, and proceeds to end state 1410.
  • the subscriber may have selected a new category different than the current category on the portal interface 304.
  • the monitor component receives the subscriber's request to change his or her category and appropriately records the new category in the subscriber's context record.
  • the session control module 912 may create a new activity and an activity context for the subscriber.
  • the monitor component then updates the subscriber's portal definition utilizing the contents of the category set element record 810 associated with the new category. The appropriate changes may be made to the portal definition record 802.
  • the transmit component then transmits an updated portal definition to the subscriber's user computer 104.
  • the subscriber may have selected a different persona than the current persona on the portal interface 304.
  • the monitor component receives the subscriber's request to change his or her persona and appropriately records the new persona in the subscriber's context record.
  • the session control module 912 may create a new activity and an activity context for the subscriber.
  • the monitor component may update the elements of the portal interface 304 display, such as the launch area 406 or the mode area 408, to reflect the new persona.
  • the new persona may be associated with a different set of personal applications.
  • the new persona may also require changing the contents displayed in the feature bar 410 of the portal interface 304.
  • the appropriate changes may be made to the portal definition record 802.
  • the transmit component then transmits an updated portal definition to the subscriber's user computer 104.
  • the subscriber may have requested to access a web object in the portal interface 304.
  • the monitor component receives the subscriber's request to access the web object.
  • the requested web object and specifically, the web object's URL, may be recorded in the subscriber's context record.
  • the monitor component may determine that the subscriber has changed his or her context by requesting the particular web object.
  • the subscriber may have requested to browse a news site while his or her specified category was "shopping.”
  • the monitor component may advantageously determine, from parsing the contents of the web object or information regarding the web object which was maintained by the portal system 102, that the news site is better associated with a category different from "shopping.”
  • the monitor component may then modify the subscriber's context record, for example, by updating the category to "reference.”
  • the monitor component may advantageously create a new portal definition for the subscriber and request the transmit component to send the portal definition to the subscriber's user computer 104.
  • the subscriber may have requested the web object in the browser window 302.
  • the portal system 102 may monitor the web objects requested or visited by the subscriber. If a particular web object is repeatedly referenced by the subscriber, or the subscriber browsed the web object for an extended length of time, the monitor component may provide the subscriber the option of including a reference to the web object in the portal interface 304. For example, an assistant 816 may display a pop-up window which requests the subscriber to authorize the inclusion of the reference to the web object in the portal interface 304. If the subscriber authorizes the action, the monitor component includes the reference to the web portal into the portal interface 304 for the subscriber's current context. In another embodiment, the subscriber may specify the placement of the reference to the web object within the portal interface 304.
  • the subscriber may also identify the form of the reference.
  • the reference may be in a form such as, by way of example, a directory entry, an entry in a pop-up menu, a bookmark, a web digest, or the like.
  • FIG. 15 is a flow chart illustrating an activity context change management process according to one embodiment of the invention.
  • the portal system 102 receives a subscriber request and determines if there is a change in the subscriber's activity context in state 1502.
  • the session control module 912 determines and maintains the activity context.
  • An instantiation of an action, such as a request, by a subscriber may potentially cause a change in activity context.
  • the subscriber may change to another activity context by specifying a different context or changing from one activity to another.
  • the subscriber may advantageously specify a different context by selecting an intent, a category, a persona, requesting a web object, and the like.
  • the subscriber may change activities by requesting one or more services through either the portal interface 304 or browser window 302.
  • the portal system 102 may advantageously maintain the subscriber's current activity context in a record in the portal database 910.
  • the portal system 102 may advantageously detect a change in activity context by monitoring the subscriber's requests.
  • the subscriber in the "business" persona, may have been in the process of making travel arrangements from Los Angeles to New York with an online travel agency. While in the process of making the travel arrangements, for example, while in the third web page of a five web page sequence on the particular travel agency web site, the subscriber may instantiate a request to browse an online book store.
  • the session control module 912 creates an activity context when the subscriber accesses the travel agency site to make the travel arrangements.
  • the portal system 102 may maintain the same activity context while the subscriber is accessing the web pages on the travel agency site.
  • the session control module 912 advantageously creates a new activity context for the subscriber.
  • the request to browse the online book store changes the subscriber's activity context.
  • the portal system 102 proceeds to end state 1510. Otherwise, the portal system 102 proceeds to state 1504 to determine if the subscriber changed to a prior activity context.
  • the session control module 912 may advantageously determine whether the subscriber changed to a prior activity context by maintaining a log of the subscriber's session.
  • Figure 16 illustrates one embodiment of a session record 1602 suitable for maintaining a subscriber's session log.
  • the session record 1602 is associated with the subscriber's username and password and contains one or more activity contexts.
  • Each activity context is advantageously associated with a web site list record 1604, and furthermore, may maintain a record of the last web site accessed by the subscriber while in the particular activity context.
  • the session record 1602 may contain activity contexts from one or more subscriber sessions.
  • the web site list record 1604 may contain a list of web sites accessed by the subscriber. Each web site entry in the web site list record 1604 may be associated with a URL sequence record 1606 which is a sequenced listing of the web pages visited by the subscriber while browsing the particular web site.
  • a click stream record 1608 may contain a sequence of the URLs accessed by the subscriber during the subscriber session. In one embodiment, the click stream record 1608 maintains a record of URLs for the enabled web sites. In another embodiment, the click stream record 1608 may maintain a record of URLs for all web sites visited by the subscriber. Each URL entry in the click stream record 1608 may be sequentially indexed by an identifier such as a number.
  • the URL sequence record 1606 may contain a sequenced listing of the index numbers from the click stream record 1608. In another embodiment, the URL sequence record 1606 may contain the actual URLs. In one embodiment, each URL entry in the click stream record 1608 may be associated with an information item record 1610.
  • the information item record 1610 contains a record of the information items associated with the referenced URL, and a record of the information items that are specific to the subscriber's context at the time the information items were processed.
  • An information item is a piece of information or data.
  • an information item associated with a URL is a piece of information or data which was input to the web object referenced by the URL or, conversely, output from the web object referenced by the URL.
  • the subscriber while in the context of shopping for a book, may have entered his name, address, and the title of the book into a web page. Furthermore, the web page may have asked the subscriber to input additional survey information which the subscriber provided.
  • each piece of information, the name, address, book title, and each piece of survey information is maintained as an information item in the information item record 1610.
  • the context specific information may advantageously be the title of the book.
  • the information item record 1610 maintains information input into the particular web object referenced by the URL. In another embodiment, the information item record 1610 maintains information output from or generated by the particular web object referenced by the URL.
  • the session control module 912 may determine that the subscriber's request to browse the online book store is not an activity context present in the subscriber's session record 1602. Therefore, the portal system 102 proceeds to state 1506 and the session control module 912 creates a new activity context record in the session record 1602 for the subscriber's request to browse the online book store, and proceeds to end state 1510. if, in the example above, the subscriber had been previously browsing the online book store, for example, before making the travel arrangements, the subscriber's subsequent request to browse the online book store would have been an activity context present in the session record 1602.
  • the portal system 102 proceeds to state 1508 and the monitor component may prompt the subscriber to determine if the subscriber wishes to resume browsing in the last state the subscriber was at the previous time the subscriber was browsing the online book store.
  • the monitor component may use one or more assistants 816, such as a wizard, to prompt and assist the subscriber return to the previous state.
  • the assistant 816 may advantageously input information into one or more web pages in assisting the subscriber return to the previous state.
  • the subscriber's previous state information, as well as the information previously input by the subscriber, may advantageously be maintained by the portal system 102 in one or more records such as, by way of example, the previously disclosed records 1602, 1604, 1606, 1608, and 1610, and any other records as necessary. Having received the subscriber's response, the portal system 102 proceeds to end state 1510.
  • the assistant 816 may enable the subscriber to resume his or her browsing experience at any point the subscriber was at previously in the prior activity context.
  • the portal system 102 may guide the subscriber navigate or re-trace his or her actions in returning to the previous state.
  • the portal system 102 benefits the subscriber by offering an efficient portal interface that provides services personalized for the subscriber and designed to benefit and work for the subscriber. For example, the subscriber no longer has to navigate through unwanted web pages. Furthermore, the subscriber does not have to re- enter information that was previously entered, either in the particular web page or in another web page.
  • FIG 17 is a flow chart illustrating a process by which an assistant 816 helps the subscriber perform an activity according to one embodiment of the invention.
  • the portal system 102 monitors a subscriber activity context.
  • the monitor component maintains a record of the information processed by the portal system 102, such as, for example, the subscriber's selections made on the portal interface 304, the web sites and web pages browsed by the subscriber, the subscriber's inputs into web pages, the output from the web pages, and the like, during the activity context.
  • the portal system 102 creates an assistant 816, such as a wizard, agent, or other application program, for the subscriber's activity context.
  • the assistant 816 helps the subscriber better and efficiently utilize the portal system 102 services by, for example, defining the objective of the subscriber's activity, providing results tailored for the activity and the activity context, permitting the subscriber to request off-line processing of activity, helping the subscriber return to previous states within an activity, and the like.
  • the portal system 102 provides standard assistants 816 that further categorize the subscriber's activity context by organizing the information submitted by the subscriber.
  • the standard assistants 816 such as, by way of example, a travel assistant 816, a shopping assistant 816, a research assistant 816, and the like, may be accessible through the portal interface 304, for example, by instantiating an intent button on the portal interface 304.
  • the subscriber explicitly indicates his or her intent, and the appropriate assistant 816 for the specified intent is activated.
  • the travel assistant 816 may organize the subscriber's information into the subscriber's general information, such as, name, address, and the like, and the subscriber's context specific information such as, departure date, departure city, arrival city, and the like. The subscriber may subsequently utilize the assistant 816, and in particular, the information organized by the assistant 816, in performing his or her objective.
  • the subscriber's general information such as, name, address, and the like
  • the subscriber's context specific information such as, departure date, departure city, arrival city, and the like.
  • the subscriber may subsequently utilize the assistant 816, and in particular, the information organized by the assistant 816, in performing his or her objective.
  • the assistant 816 may advantageously provide the subscriber with a list of services appropriate for, and personalized to, the subscriber's current activity context.
  • the travel assistant 816 may request the subscriber to provide subscriber and travel related information up front through a sequence of one or more forms or pop-up windows. Having received the requested information, the assistant 816 may provide the subscriber a "search for relevant services" option. Instantiating the search option may provide the subscriber with a list of hyperlinks, where each link is associated with a relevant service, such as, by way of example, a leading travel site, appropriate to process the subscriber's travel needs.
  • the travel assistant 816 may then advantageously submit the subscriber provided information on behalf of the subscriber to the one or more services specified by the subscriber.
  • each service may advantageously incorporate the subscriber's general information as well as the subscriber's context specific information.
  • the travel assistant 816 helps the subscriber request the services of one or more travel services without having to tediously re-enter information in a format specific to the particular service.
  • the travel assistant 816 further provides a search engine enabling the subscriber to search the Internet through the travel assistant 816.
  • the travel assistant 816 may utilize the filter component to filter the search results and display only the results that are appropriate for the subscriber's particular activity context.
  • the travel assistant 816 may hierarchically categorize the travel information into "persona,” “departure date,” departure city,” “arrival city,” and the like.
  • the hierarchical categories may advantageously be accessible through the portal interface 304. For example, selecting the "travel" category from the feature bar 410 may display a pop-up menu displaying the departure dates which have been previously requested by the subscriber under the current subscriber persona. Selecting a particular departure city may display a pop-up menu displaying the departure cities which have been previously requested for the particular departure date. By making the desired selections, the subscriber may easily retrace his or her actions or return to a previous state in a particular activity context by navigating through the sequence of pop-up menus.
  • the hierarchically categorized information may be accessible through the intent pop-up menu.
  • the hierarchically categorized information may be displayed as one or more hyperlink directory trees.
  • the assistant 816 may offer other off-line application services which perform specific tasks for the subscriber.
  • the travel assistant 816 may provide the subscriber the ability to investigate comparable itineraries without going through the pain of surfing the Internet for the comparable itineraries.
  • the shopping assistant 816 may provide the subscriber with the ability to perform comparison shopping.
  • assistants 816 such as, by way of example, a shopping assistant 816, search assistant 816, research assistant 816, and the like, may be implemented in a similar manner to provide similar services as the travel assistant 816. Proceeding to state 1706, the portal system 102 subsequently provides the created assistant 816 to the subscriber.
  • the assistant 816 may be provided through the portal interface 304 as illustrated in Figure 10.
  • the assistant 816 may be invoked through the pop-up menus as previously discussed above.
  • the subscriber may select the "shopping" intent from the feature bar 410. This displays a sequence of pop-up menus from where the subscriber may select "books" and "fiction," respectively.
  • a pop-up menu may be displayed containing the next hierarchical category of information such as, by way of example, the book titles which were previously processed by the assistant 816.
  • the assistant 816 guides the subscriber in performing an activity. Having provided the assistant 816, the portal system 102 proceeds to end state 1708.
  • Figure 18 is a representation of one embodiment of the enabled site record 1802.
  • the enabled site record 1802 contains a list of web objects which have been incorporated into the portal system 102.
  • the enabled site record 1802 contains a listing of web objects enabled by the portal system 102, by the web objects, and by the subscribers.
  • the portal system 102 may advantageously provide utilities which facilitate the enabling of a web object.
  • Each enabled web object may be identified by a site id, a data communication method, and a display content.
  • the site id may contain information such as, by way of example, web object name, web object label, web object service, web object service URL, and the like.
  • the data communication method may include information regarding the data associated with the particular web object service such as, by way of example, the information required by the service, the information generated by the service, the format of information required or generated, and the like.
  • the data communication method may specify one or more supported input exchange methods for inputting data or information to a web site such as, by way of example, XML upload/header exchange, XML transaction, HTTP GET/POST/AUTH, cookies, dynamic URL/Query string, HTTP header exchange, Meta HTML, P3P, ECML, LDAP, vCARD/vCAL, and the like.
  • the data communication method may also specify one or more supported output exchange methods, such as, by way of example, HTML/XML parsing, pattern matching, standard parsing, capturing HTTP header information (GET/POST/AUTH), URL Query string analysis, WIDL, cookie analysis, tangential page definitions, P3P, and the like, of looking at web sites or web pages to glean content or context information. This information facilitates efficient and simplified interaction between the portal system 102 and the web object.
  • the data communication method may contain information which facilitates the realtime communication between the portal system 102 and the appropriate web object.
  • the data communication method can contain information on how to interact with the web object in real-time.
  • the data communication method can specify the XML specifications that describe the method of interaction with the particular web object.
  • the display content may specify the placement of the information associated with the service in the portal interface 304.
  • the display content may determine where to display the service, for example, in a particular pop-up menu, in a directory listing, and so on, what to display in the portal display region 412, where to launch or execute the service, for example, in the portal interface 304 or the browser window 302, and the like.
  • the display content may further specify the data which is to be displayed in the portal interface 304 when the associated web object is accessed.
  • the data may specify one or more directories, text listings (digest), navigation bars, query interfaces, applications, and the like.
  • the subscriber may specify a digest of the data contained in the web object. The digest is subsequently displayed in the portal interface 304 when the web object is accessed.
  • the display content may also include a reference to the location of the content to be displayed in the portal interface 304.
  • the portal system 102 may then clip from the referenced content the appropriate data to display, and subsequently display the clipped content in the portal interface 304.
  • the data maintained in the data communication method or the display content may reside on a system or computer external to the portal system 102, and that the data communication method and display content may contain a reference to the location of the actual data.
  • the portal system 102 uses the information maintained in the enabled site record 1802 to properly interact with the enabled web objects in performing the portal system's 102 services. In one embodiment, the portal system 102 services are offered for the enabled objects.
  • a subscriber may incorporate enabled web objects into the portal system 102, and in particular, the portal interface 304. If the subscriber requests to incorporate a web object into his or her portal interface 304 which is not enabled (not in the enabled site record 1802), the portal system 102 may provide the subscriber an assistant 816, such as a wizard, which will assist the subscriber enable the particular web object. Alternatively, the subscriber may invoke the assistant 816 to first enable the desired web object before incorporating the particular web object into the portal interface 304.
  • the assistant 816 such as a wizard
  • the portal system 102 services are offered for both enabled and non-enabled web objects.
  • the portal system 102 may automatically enable non-enabled web objects by including the web objects into the enabled site record 1802, for example, under an "automatically enabled sites" heading, and initially provide the necessary site id, data communication method, and display content information. This information may be obtained from the web object by, for example, parsing the contents of the web object. The initially provided information may subsequently be modified to better and more fully describe the web object.
  • the information in the enabled site record 1802 may advantageously be modified by the entity that initially provided the information.
  • an enabled web object may be associated with one or more sequences of web pages. The sequence of web pages may be used to automate movement through the web object.
  • the portal system 102 may maintain information regarding the data, and the format of the data, required as input by the sequence of web pages.
  • the portal system 102 may also maintain information regarding data and information output by the sequence of web pages. This information may be provided to the portal system 102 or gleaned from parsing the web pages.
  • An assistant 816 may then input the necessary data into, or extract the generated data from the web pages in the sequence.
  • the sequence of web pages enables a subscriber to get to relevant content more quickly.
  • a subscriber may associate one or more sequences with an enabled web object.
  • Figure 19 is a representation of one embodiment of an active business card record 1902 and a contact information record 1904.
  • the active business card record 1902 identifies the subscriber's active business card.
  • An active business card functions as the subscriber's electronic receptionist on the Internet.
  • the active business card record 1902 contains information, such as, by way of example, the viewable contact information contained in the contact information record 1904, which is made available to third parties requesting subscriber information.
  • the subscriber advantageously permits others to obtain subscriber information, and in particular, the subscriber's contact information.
  • This information may then be used to interact with the subscriber by, for example, sending the subscriber e-mail, requesting a meeting with the subscriber, posting a reminder for the subscriber, initiating a chat session with the subscriber, exchanging contact information with the subscriber, and the like.
  • each persona in the subscriber's persona list record 806 may be associated with the contact information record 1904.
  • Some or all of the information or data maintained in the contact information record 1904 may comprise a business card.
  • the subscriber may advantageously maintain one or more business cards, one business card for each persona.
  • the active business card is associated with the appropriate business card based on the subscriber's persona.
  • the contact information record 1904 may contain the subscriber's available contact information, viewable contact information, and contact preferences.
  • the subscriber's available contact information may identify the ways the subscriber may be contacted.
  • the available contact information for the subscriber's "business" persona may include the subscriber's business address, business phone number, business e-mail address, and cell phone number.
  • the subscriber's viewable contact information may identify the ways in the available contact information the subscriber wants to make available to third parties. For example, in the same "business" persona, the subscriber may be willing to make available to third parties his or her business e-mail address.
  • the subscriber's contact preferences may specify the method of contact preferred by the subscriber. For example, the subscriber, in the "business" persona, may prefer to be contacted by e-mail.
  • the active business card record 1902 is set to the subscriber's current persona, and in particular, the persona's viewable contact information maintained in the contact information record 1904. For example, if the subscriber's current persona is "business," then the subscriber's active business card is the viewable contact information contained in the contact information record 1904 associated with the subscriber's "business" persona. If there is a change in the subscriber's persona, then the subscriber's active business card may change accordingly. If the subscriber is not logged on to the portal system 102, the active business card may advantageously default to a particular persona such as, by way of example, the "public" persona.
  • the subscriber may be permitted to specify an active business card that is different from the subscriber's current persona.
  • the subscriber's active business card may be as specified, irrespective of the subscriber's persona, until the subscriber specifies a different persona to use as his or her active business card.
  • the active business card information may be distributed even if the subscriber is not logged on to the portal system 102.
  • the portal system 102 may permit the subscriber to enter contact information directly into the active business card record 1902. In this instance, the subscriber is not limited to specifying a particular persona to use as his or her active business card.
  • the subscriber may be permitted to specify different contact information depending on whether or not the subscriber is logged on or off the portal system 102.
  • the portal system 102 determines the active business card from analyzing one or more factors associated with a requestor of the active business card (a visitor to the active business card). For example, the subscriber's active business card may be determined by analyzing the visitor's context. In another example, the subscriber's active business card is determined by analyzing the relationship between the subscriber and the visitor.
  • the active business card may advantageously include the contact preferences information contained in the appropriate contact information record 1904.
  • the subscriber may be permitted to temporarily turn off or disable his or her active business card. If disabled, the portal system 102 advantageously refrains from submitting the contact information contained in the active business card until the subscriber enables the active business card feature.
  • the information contained in the contact information record 1904 may be determined from the information provided by the subscriber when the subscriber registered with the portal system 102.
  • the portal system 102 may request the subscriber to provide the information maintained in the contact information record 1904. If the provider decides not to provide the requested information, the portal system 102 does not provide any contact information on behalf on the subscriber.
  • the subscriber may advantageously modify the contents of the contact information record 1904 or the active business card record 1902 through, for example, the configure mode. Thus, the subscriber may determine the contents displayed through his or her active business card.
  • Figure 20 is a flow chart illustrating one embodiment of a process by which a contact is received through an active business card.
  • the portal system 102 receives a request for a subscriber's active business card in state 2002.
  • the portal system 102 identifies the subscriber and retrieves the subscriber's active business card.
  • the active business card may advantageously be implemented as a web page, and the web page contains and displays the contact information specified by the active business card record 1902.
  • the portal system 102 may provide the subscriber the ability to compose a message for display through the web page.
  • the portal system 102 may permit the subscriber to include methods of contact, other than those specified in the subscriber's active business card record 1902, in the web page.
  • the portal system 102 sends the retrieved active business card to the requestor.
  • the requestor may advantageously obtain access to the web page.
  • the requestor obtains access to the subscriber through the methods of communication made available through the web page, the active business card.
  • the requestor may then submit a request to contact the subscriber through the web page.
  • the portal system 102 monitors the active business card for requests submitted by visitors to the web page.
  • the portal system 102 may advantageously place the received requests in a "staging area" until the subscriber confirms the receipt of the request.
  • the staging area may be one or more records maintained by the portal system 102 on behalf of the particular subscriber.
  • the subscriber may advantageously be provided access to the staging area.
  • the staging area may be accessible from the subscriber's start page, a hyperlink tab on the portal interface 304, or each of the respective applications made accessible through the web page (the active business card).
  • the portal system 102 may notify the subscriber of the received request.
  • the notification may be through an indication on the portal interface 304.
  • the requests may not be staged in the staging area. Instead, the requests received through the web page, the active business card, may be directly submitted into the appropriate application.
  • the portal system 102 may monitor the visitors to the subscriber's active business card.
  • the portal system 102 may advantageously glean and maintain information regarding the visitor, for example, from the visitor's request to access the active business card, and stage the visitor information for inclusion into the subscriber's address book application.
  • a subscriber may have provided access to his or her notes application and e-mail account in his or her web page, the active business card.
  • the subscriber may have disclosed the URL of the web page (i.e. passed out his or her active business card) to his or her associates. Subsequently, one of the associates may have accessed the web page and submitted a note to the subscriber through the notes application.
  • the portal system 102 may have placed the submitted note in a staging area, and notified the subscriber of the received event. The subscriber may then access the staging area, retrieve the note from the associate, and furthermore, have the portal system 102 enter the note into the notes application. In one embodiment, the note may have been directly placed into the notes application.
  • Figure 21 is a flow chart illustrating one embodiment of a process by which a dynamic assistant 816 is used to submit context specific information. Beginning in start state 2100, the portal system 102 determines the subscriber's context from the subscriber information maintained by the portal system 102 in state 2102. Proceeding to state 2104, the portal system 102 monitors a subscriber's activity. In particular, the monitor component monitors information input by the subscriber at a first web site.
  • the monitored information may be maintained in the subscriber's click stream record 1608 and the one or more information item records 1610.
  • the session control module 912 associates the subscriber's context to the activity which is being monitored.
  • the session control module 912 may record the activity context in the subscriber's session record 1602 and record the particular web site in the web site list record 1604.
  • the portal system 102 identifies the context specific information from the record of the information input by the subscriber.
  • the context specific information component identifies the context specific information.
  • the context specific information may also be maintained in the appropriate information item record 1610. Proceeding to state 2108, the portal system 102 creates a dynamic assistant 816 for the identified context specific information. In one embodiment, the dynamic assistant 816 categorizes the context specific information for subsequent use by the portal system 102.
  • the context specific information may be integrated into the portal interface 304 for subsequent access by the subscriber through the dynamic assistant 816.
  • the context specific information may be formatted for subsequent input into one or more web objects.
  • the portal system 102 may associate the dynamic assistant 816 with one or more services, such as, by way of example, context specific search engines, web objects associated with the particular context, and the like, which are capable of using the context specific information to perform services on behalf of the subscriber.
  • the identified services may be integrated into the portal interface 304 for subsequent access by the subscriber.
  • the portal system 102 monitors the subscriber's activity and receives a request to browse a new web site. Proceeding to state 2112, the portal system 102 determines if the subscriber is in the same context. In particular, the session control module 912 determines if the subscriber is continuing the same activity context or returning to a prior activity context. The subscriber's activity contexts are maintained in the session record 1602. If the subscriber is not continuing the same activity context or not returning to a prior activity context, the portal system 102 proceeds to end state 2118.
  • the portal system 102 proceeds to state 2114 and determines if the dynamic assistant 816 exists for the activity context. If the dynamic assistant 816 exists, the dynamic assistant 816 is displayed on the subscriber's user computer 104 in state 2116. In particular, the context specific information is staged or presented through the dynamic assistant 816 for confirmation of submission into the new web site. In one embodiment, the data format and communication method information necessary to submit or input the context specific information into the web site may be obtained from the enabled site record 1802. If the required information is not contained in the enabled site record 1802, the portal system 102 may parse the web site in order to properly input the context specific information.
  • the portal system 102 Having serviced the subscriber's response (subscriber confirms submission or does not confirm submission), the portal system 102 proceeds to end state 2118.
  • the portal system 102 may also stage the subscriber's personal information for submission into the new web site.
  • the subscriber may have input flight information data into a first online travel site to obtain a price estimate.
  • a dynamic assistant 816 may be created for the input flight information.
  • FIG. 22 is a flow chart illustrating one embodiment of a process by which information is integrated into a subscriber's personal application.
  • the portal system 102 receives notification data addressed to a subscriber from an online service in state 2202.
  • the monitor component processes the notification data.
  • the portal system 102 determines the appropriate subscriber context to receive the notification data.
  • the data integrate component determines the appropriate recipient of the infomediary services provided by the portal system 102.
  • the received notification data is processed for the subscriber's current context, and in particular, the subscriber's current persona.
  • the subscriber's current context may be determined from the subscriber's context record.
  • the data integrate component identifies the appropriate subscriber applications for the subscriber's current context which are candidates to be updated with the received notification data. For example, if the subscriber's persona is currently set to "personal,” the subscriber's personal applications are identified as candidates to be updated with the notification data. In contrast, if the subscriber's current persona is set to "business,” the subscriber's business applications are identified as candidates to be updated with the notification data.
  • the portal system 102 maintains a record of the subscriber's applications associated with the respective subscriber context.
  • the received notification is processed for the subscriber's context at the time the subscriber requested the services.
  • the portal system 102 may associate the subscriber's context with the subscriber request, and this information may advantageously be maintained in one or more records in the portal database 910. Thus, if the subscriber's persona at the time the subscriber initiated the request to the service was "personal," then the subscriber's personal applications are identified as candidates to be updated with the notification data in state 2206.
  • the data integrate component determines which of the subscriber applications identified in state 2206 are to receive the notification data. For example, the data integrate component may update the subscriber's business address book application and the business calendar application, but not the business e-mail application. This determination may depend on the notification data or the type of online service.
  • notification data received from an online travel agency confirming a flight reservation may be integrated into the subscriber's address book application (the travel agency information) as well as the calendar application (flight information).
  • the notification data received from the online travel agency confirming the flight reservation may be integrated into the subscriber's calendar application.
  • the notification data is appropriately prepared for inclusion into the appropriate subscriber applications.
  • the data integrate component may determine the data format and communication methodology for the appropriate applications from the enabled site record 1802. If the application is not contained in the enabled site record 1802, the data integrate component may parse the one or more input pages associated with the application to determine the data format and communication methodology.
  • the appropriate subscriber applications may advantageously be updated with the notification data, as well as any other pertinent information regarding the notification which may be appropriate for inclusion into the subscriber application, in real-time or near real-time.
  • One or more components may execute simultaneously or in parallel within the portal system 102 to inform the subscriber of the received notification and also to update the appropriate subscriber applications.
  • the transmit component within the server infomediary control module 906 may transmit the received notification to the subscriber's user computer 104.
  • the data integrate component within the server infomediary control module 906 may determine the appropriate subscriber applications that are to be updated with the notification data and accordingly update the appropriate subscriber applications.
  • the portal system 102 may utilize a batch or off-line process in updating the appropriate subscriber applications with the notification data. While the transmit component transmits the notification to the subscriber's user computer 104 upon receiving the notification, or shortly thereafter, the data integrate component may update the appropriate subscriber applications at a later time.
  • the notification data may be stored along with other notification data for the subscriber, as well as notification data for other subscribers, by the monitor component. Periodically, for example, at periodic time intervals or when a sufficient amount of notification data have been stored, the data integrate component may update the appropriate subscriber applications with the associated notification data.
  • the portal system 102 stages the input of the notification data into the appropriate subscriber applications.
  • the portal system 102 may utilize an assistant 816 to stage the update of the appropriate subscriber applications with the received notification data.
  • the assistant 816 may appear on the subscriber's user computer 104 requesting the subscriber to confirm the update of the particular subscriber application with the received notification data.
  • the data integrate component may update the appropriate subscriber application with the received notification data.
  • the update of the subscriber applications with the received notification data is not staged for subscriber confirmation. Rather, the data integrate component updates the subscriber applications with the notification data upon receiving the notification data from the particular application. In still another embodiment, the subscriber may specify which of the subscriber applications may be updated with received notifications. In yet another embodiment, the portal system 102 may provide the subscriber the option of turning on or turning off integration of notification data into the subscriber applications.
  • FIG 23A illustrates one network architecture suitable for creating a real-time interactivity session between subscribers according to one embodiment of the invention.
  • a system 2300 includes the portal system 102, a plurality of user computers 104, and the communication medium 108.
  • the plurality of user computers 104 communicate with one another through the communication medium 108 and the portal system 102.
  • each user computer 104 communicates with the portal system 102 through the communication medium 108.
  • the portal system 102 includes an interactivity control module 2310 and an interactivity room 2320.
  • the interactivity control module 2310 receives requests from subscribers seeking to begin interactivity sessions with other subscribers, together with context criteria used to distinguish those subscribers who may join in the interactivity session, and uses the information to create an interactivity room 2320.
  • An interactivity session comprises two or more subscribers with the ability to interact with one another over the communication medium 108. This interaction includes any form of synchronous shared application, such as chatting (via text, voice, video, etc.), synchronized browsing, game-playing, conferencing, whiteboarding, and the like, as well as any form of asynchronous shared application, such as exchanging information (files, events, contact information, etc.), posting to message boards, annotating web pages, and the like.
  • the interactivity room 2320 either includes or initiates an interactivity application 2322 that allows a plurality of subscribers to interact with one another in real time.
  • This application may provide subscribers with the ability to chat, to play real-time interactive games, to exchange files, to synchronize web browsers, and the like.
  • Figure 23A also illustrates the flow of information when a subscriber seeks to initiate an interactivity session with one or more other subscribers.
  • Subscriber X is surfing the WWW using one of the user computers 104 connected to the portal system 102 through the communication medium 108.
  • Subscriber X in an effort to locate and eventually purchase a crescent wrench, has loaded the URL HTTP://www. hardware.com into his browser window 302.
  • Subscriber X Upon exploring this site, Subscriber X discovers that the associated online merchant sells a large number of crescent wrenches having a diverse and dizzying array of product features. The various descriptions available with the products, though helpful, do not answer all of Subscriber X's questions. As such, he decides to seek the assistance of other subscribers who may have greater experience than he in the use and purchase of crescent wrenches.
  • the data flow sequence used in creating a real-time interactivity session between Subscriber X and other subscribers is illustrated in Figure 23A with events A through D.
  • Subscriber X directs his user computer 104 to communicate with the portal system 102.
  • Subscriber X sends the portal system 102 a request to initiate an interactivity session with other subscribers.
  • the request includes the type of interactivity session (chat, interactive game, and the like) and the context criteria required by subscribers in order to be provided access to the session.
  • the request may be directed by the server infomediary control module 906 to the interactivity control module 2310.
  • Subscriber X desires to engage in a chat session with other subscribers who might help him with his purchasing decision.
  • the flexibility available to Subscriber X in identifying potential chat mates is enormous.
  • Subscriber X may select the context criteria so as to identify a single known subscriber, such as a brother- in-law employed as a plumber.
  • he may select the context criteria to include a broad group of unknown subscribers, such as all subscribers who have visited the www.hardware.com web site within the past two months.
  • Subscriber X directs his user computer 104 to send the portal system 102 a request for a chat session including all subscribers, regardless of their persona, category, intent, and the like, who are presently browsing www.hardware.com.
  • Subscriber X directs his user computer 104 to send the portal system 102 a request for a chat session including all subscribers, regardless of their persona, category, intent, and the like, who are presently browsing www.hardware.com.
  • Subscriber X could indicate this choice by selecting a "my current URL" option available within his portal window 304.
  • Subscriber X could indicate his or her choice by typing the text string "www.hardware.com” into a field within his portal window 304.
  • the request for an interactivity session includes a message created by the initiating subscriber conveying information ancillary to the desired interaction.
  • Subscriber X may include with his request the message, "Help! What kind of crescent wrench should I buy?" This message is presented to other subscribers (discussed below) to assist them in their decision whether or not to enter the interactivity room 2320.
  • the interactivity control module 2310 upon receiving Subscriber X's request in event A, determines which, if any, subscribers satisfy the context criteria provided by Subscriber X.
  • One embodiment of a flow diagram corresponding to event B is illustrated in Figure 24. Proceeding from start state 2400, the portal system 102 accesses the context record (see Figure 12) of a first subscriber within a grouping of subscribers in state
  • this grouping of subscribers includes the entire universe of subscribers. In another embodiment, this grouping of subscribers includes a subset of subscribers defined by predetermined context guidelines.
  • the context records may be organized into separate groupings of subscribers organized by subscriber persona, by gender, by state of residence, and the like.
  • the context records may be organized even more finely by combining context elements. Separate context records may be maintained, for example, for males over eighteen years of age residing in Iowa.
  • a subscriber search involving context criteria need only search those groupings containing subscribers satisfying the context criteria. For example, if the context records are stored separately based on the subscriber's state of residence, then a request to identify subscribers living in Illinois visiting the web page www.hardware.com need only search the Illinois grouping of context records.
  • the interactivity control module 2310 compares the context criteria provided by
  • the distinguishing context element is the current location of the browser window 302.
  • the browser location of the first subscriber is retrieved and compared to the URL www.hardware.com.
  • the state of the interactivity control module 2310 is redirected depending upon whether the comparison done in the previous state resulted in a match. If the comparison in state 2420 did not result in a match, the interactivity control module 2310 is redirected to state 2470, ensuring that the first subscriber is not provided access to the interactivity room 2320 sought by Subscriber X.
  • the interactivity control module 2310 proceeds to state 2440, where an interaction preferences record 2500 of the first subscriber is accessed and compared to Subscriber X's context record. This comparison may essentially be a mirror image of the comparison done in state 2420. Whereas in state 2420 it was determined whether the first subscriber had the proper context (selected by Subscriber X) for the first subscriber to gain access to the interactivity room 2320, state 2440 determines whether the Subscriber X has the proper context (selected by the first subscriber) such that the first subscriber has a potential interest in joining the interactivity session.
  • the interaction preferences record 2500 comprises a list of subscriber-selected preferences for each subscriber that indicate the willingness to join an interactivity session initiated by another subscriber. These selections make up one of the methods through which a subscriber can select his or her "visibility" to the rest of the universe of subscribers.
  • the subscriber associated with the interaction preferences record 2500 depicted in Figure 25 has selected particular preferences for each of the context elements within the context record, including, by way of example, subscriber persona 2510, category 2520, and browser location 2530. Selecting these preferences narrowly may ensure that the subscriber will not be bothered by unsolicited attempts by other subscribers to interact with them. By contrast, selecting these preferences broadly may potentially leave the subscriber open to a wide variety of potential interactivity solicitations.
  • the context preferences are selectable for multiple manners of interactivity, such as identification 2540 (seeking to find other subscribers), chatting 2550, and so on.
  • a subscriber may select preferences dictating an undiscriminating willingness to play online chess with other subscribers while maintaining total invisibility to subscribers seeking to chat.
  • the first subscriber has indicated that he or she is willing to be identified by subscribers having any persona, category, and browser location.
  • the first subscriber has indicated more discriminating tastes for chatting, for example, by requiring potential chat partners to have a business persona and a travel category.
  • the first subscriber would not be provided access to the interactivity chat room being created by Subscriber X (who lacks the proper persona and category settings) even if she is currently browsing the URL www.hardware.com. Subscriber X is interested in chatting with the first subscriber, but the interest is not mutual.
  • the interaction preferences 2500 include an indication whether a subscriber wishes to be prompted for a response before an interactivity session is initiated.
  • the first subscriber's preferences include a notification setting 2560 indicating a desire to be prompted before being connected to a chat session.
  • the first subscriber may be prompted, such as by an assistant, with the initiating subscriber's identification and his or her desire to chat.
  • the interactivity request includes an ancillary message, as described above, that message is conveyed to the first subscriber to aid them in their decision whether or not to interact. If a subscriber indicates no desire to be prompted, he or she will be automatically provided access to an interactivity room 2320 as long as the context preferences for the manner of interactivity are satisfied.
  • state 2450 the state of the interactivity control module 2310 is redirected depending upon whether the comparison in state 2440 described above resulted in a match. If the comparison did not result in a match, the interactivity control module 2310 proceeds to state 2470, ensuring that the first subscriber is not provided access to the interactivity room 2320 sought by Subscriber X. If the comparison in state 2440 did result in a match, the interactivity control module 2310 proceeds to state 2460, where the subscriber is identified as a qualified subscriber who is to be provided access to the interactivity room 2320. The qualified subscriber may advantageously be added to an access list for the interactivity room 2320 that includes all qualified subscribers.
  • the interactivity control module 2310 determines whether there are any subscribers remaining within the grouping of subscribers to be assessed that have not yet had their access status determined. If there are subscribers remaining, the interactivity control module 2310 returns to state 2410 whereupon the process is repeated with another subscriber. If there are no subscribers remaining, the interactivity control module 2310 proceeds to end state 2480.
  • Figure 23B illustrates one embodiment where the access list may be further modified by Subscriber X before the otherwise qualified subscribers are admitted to the interactivity room 2320.
  • Subscriber X in Figure 23B corresponds to the same Subscriber X as in Figure 23A.
  • Subscriber Y in Figure 23B corresponds to one of the qualified subscribers in Figure 23A.
  • the five events B1 - B5 depicted in Figure 23B are all encapsulated within event B of Figure 23A.
  • the portal system 102 determines that Subscriber Y satisfies the context criteria set by Subscriber X, and that Subscriber X satisfies the interaction preferences set by Subscriber Y. Subscriber Y, however, has indicated in his notification setting 2560 a desire to be prompted before accepting access to the interactivity room.
  • Subscriber-X-identifier information about Subscriber X
  • This information may include a name and/or context information about Subscriber X, to the extent that the display of such information is allowed by Subscriber X's identification preferences.
  • the identifier may also include a message from Subscriber X regarding the desired interactivity (e.g., "Help! What kind of crescent wrench should I buy?").
  • Subscriber Y sends either an acceptance or a refusal to accept access to the interactivity room 2320.
  • Subscriber-Y-identifier information about Subscriber Y
  • This identifier information may include a name and/or context information about Subscriber Y, to the extent the display of such information is allowed by Subscriber Y's identification preferences.
  • the event B4 identifier may also include a message from Subscriber Y regarding the desired interactivity (e.g., "I'm also shopping for a crescent wrench. Let's compare notes.”).
  • Subscriber X sends the interactivity control module 2310 either an acceptance or a refusal to allow Subscriber Y access to the interactivity room 2320.
  • Subscriber X might find that his or her attempt to interact with other subscribers currently browsing the URL www.hardware.com identified twelve such subscribers. Rather than engage in a group discussion, Subscriber X may prefer to select one of the twelve for a one-on-one chat about crescent wrench purchasing. In one embodiment, Subscriber X may select one or more desired subscribers from the portal window 304.
  • refusals in event B5 may include a message from Subscriber X that is forwarded by the interactivity control module 2310 to the disqualified subscriber (e.g., "Thanks very much for your interest, but I found someone else to assist me.")
  • the interactivity control module 2310 examines the access list determined in event B. If Subscriber X's request failed to identify any qualified subscribers, the list will be empty and the interactivity control module 2310 will not create an interactivity room 2320. If Subscriber X's request succeeded in identifying one or more qualified subscribers, the interactivity control module 2310 will create an interactivity room 2320 with access available to Subscriber X and to each of the qualified subscribers.
  • the interactivity room 2320 initiates an interactivity application 2322 that allows multiple users of the application to interact with one another.
  • the interactivity room 2320 includes the interactivity application 2322.
  • Examples of interactivity applications 2322 include chatting applications, interactive game applications, synchronization applications that synchronize the browser windows 302 of all users of the application, and the like.
  • the interactivity room 2320 may further include an interface on the user computer 104 associated with each qualified subscriber. This interface, generated by the interactivity application 2322, allows a qualified subscriber to interact with other subscribers in the interactivity room 2320 using the features (mouse, keyboard, monitor, graphics card, sound card, and the like) of the user computer 104.
  • the interactivity room interface is incorporated within the portal window 304 of the portal system 102 described above.
  • the interactivity room 2320 may be created in event C, Subscriber X and the qualified subscribers may exchange information as needed for their interactivity session.
  • This information may include text strings, electronic files, streaming audio, streaming video, HTTP commands, application control and synchronization commands, and the like.
  • the interactivity room 2320 is designed to be private, such that the room is both invisible and inaccessible to subscribers who are not specifically granted access.
  • the interactivity room 2320 is designed to be public, such that the room is both visible and accessible to all qualified subscribers.
  • the interactivity room 2320 is designed to be visible and accessible to a select group of subscribers, such as, by way of example, subscribers with a specified role (e.g., faculty) within a specified online community (e.g., subscribers affiliated with the University of Iowa).
  • the interactivity room 2320 is designed to be perpetual in duration, like traditional chat rooms, providing the opportunity for subscribers with access to interact with others at any time.
  • subscribers may freely enter and leave the interactivity room 2320.
  • the interactivity room 2320 is designed to be transitory, such that the room terminates after the purpose for its existence has been satisfied.
  • Subscriber X may opt to terminate the interactivity room 2320 he or she has created after it has served its purpose in helping him or her purchase a crescent wrench.
  • the transitory interactivity room 2320 is designed to terminate automatically once the interacting parties cease interacting.
  • the transitory interactivity room 2320 may be designed to terminate at a selected date and time. The date and time may be specified by the subscriber requesting the creation of the interactivity room 2320. In another embodiment, the date and time may be defined as a predetermined length of time (e.g., one day) following creation of the interactivity room 2320.
  • the interactivity room 2320 access list is static, including a set of subscribers that remains constant over time.
  • the interactivity room 2320 access list is variable, such that the set of subscribers on the list fluctuates with time as subscribers change their contexts.
  • a variable access list would be used for the interactivity room 2320 in the scenario at hand, for example, if Subscriber X wants the ability to chat with subscribers who begin browsing the URL www.hardware.com after the creation of the interactivity room 2320.
  • qualified subscribers changing contexts so as to risk losing access to an interactivity room may be prompted (e.g., by an assistant) whether or not they want access to be maintained.
  • Enabled web sites may incorporate features into their sites in order to enhance the experience of visitors who are also interacting via an interactivity room 2320. For example, consider a group of people chatting in an interactivity room 2320 who decide to all visit an enabled web site that hosts interactive games. The site could recognize that the new site visitors did not arrive independently, but rather arrived as a group. The site might then, without any prompting by the new visitors, ask each member of the group whether they wish to engage in a group game with the other members of the group. As noted above, in one embodiment the interactivity room 2320 interface is incorporated within the portal system 102. This embodiment provides the added benefit that the multiple interacting subscribers can each independently surf the WWW using web browsers 302 while interacting with each other via the portal windows 304 associated with the same web browsers 302.
  • Subscriber X looking to purchase a crescent wrench online.
  • Subscriber X succeeded in identifying a number of qualified subscribers browsing the URL www.hardware.com, from which Subscriber X selected one, Subscriber Y, for a one-on-one chat.
  • Subscriber Y informs Subscriber X that he or she is aware of several other online merchants in addition to www.hardware.com that stock high quality crescent wrenches.
  • Subscribers X and Y agree to concurrently browse separate web sites in order to quickly compare the crescent wrench models carried by the various merchants.
  • the two maintain their chat session so that they may keep the other updated on the products and prices that they find.
  • Figure 26 illustrates one embodiment of the flow of information when Subscriber X and Subscriber Y engage in an interactivity (e.g., chat) session while concurrently surfing the WWW using web browsers 302.
  • the data flow sequences used to concurrently maintain the surfing and interactivity sessions between Subscribers X and Y are illustrated in Figure 26 with events A-A' through E E'.
  • Events A and A' represent an ongoing interactivity session (a chat session, in the scenario at hand) between
  • Subscriber X uses his or her user computer 104 to send a chat message (e.g., text string) intended for Subscriber Y via the communication medium 108 to the interactivity application 2322 within the interactivity room 2320.
  • the interactivity application 2322 sends the chat message received in event A via the communication medium 108 to the user computer 104 associated with Subscriber Y.
  • the double arrows associated with the A-A' events described above are intended to represent that the paired events may also occur with the roles of Subscriber X and Subscriber Y reversed.
  • the paired A-A' events illustrated in Figure 26 represents an on-going series of back-and-forth exchanges of information characteristic of an interactivity session.
  • Subscriber X uses his or her user computer 104 to send a request via the communication medium 108 to the browser proxy control module 908 to have a web page (URL 1 ) loaded into his or her web browser 302.
  • the browser proxy control module 908 sends the request via the communication medium 108 to a remote computer 2610 associated with a content provider 1 that maintains the web page URL 1.
  • Subscriber X uses his or her user computer 104 to send a request via the communication medium 108 to the browser proxy control module 908 to have a web page (URL 1 ) loaded into his or her web browser 302.
  • the browser proxy control module 908 sends the request via the communication medium 108 to a remote computer 2610 associated with a content provider 1 that maintains the web page URL 1.
  • Subscriber X uses his or her user computer 104 to send a request via the communication medium 108 to the browser proxy control module 908 to have a web page (URL 1 ) loaded into his or her web browser 302.
  • the browser proxy control module 908 sends the request via the
  • Y uses his user computer 104 to send a request via the communication medium 108 to the browser proxy control module 908 to have a web page (URL 2) loaded into his or her web browser 302.
  • the browser proxy control module 908 sends the request via the communication medium 108 to a remote computer 2620 associated with a content provider 2 that maintains the web page URL 2.
  • the request submitted by the portal system 102 to the content provider includes a communication medium protocol (IP) address for the user computer 104 associated with the request, so that content provider can route the requested web page directly to that user computer 104 without further utilizing the portal system 102.
  • IP communication medium protocol
  • the event pair B B' may occur either before, after, or contemporaneously with the event pair C-C. Since Subscribers X and Y are each maintaining their interactivity session within the portal window 304 that is maintained independently of their respective browser windows 302, the B B' and C-C event pairs may occur at any point in time during the on-going interactivity session represented by A-A'.
  • content provider 1 sends the web page URL 1 from the remote computer 2610 via the communication medium 108 to the browser proxy control module 908.
  • the web page information sent by content provider 1 includes the IP routing information for the user computer 104 associated with Subscriber X.
  • the browser proxy control module 908 sends the URL 1 web page received from content provider 1 via the communication medium 108 to the user computer 104 associated with Subscriber X. Subscriber X's web browser 302 then displays the URL 1 web page.
  • content provider 2 sends the web page associated with the web address URL 2 from the remote computer 2620 via the communication medium 108 to the browser proxy control module 908.
  • the web page information sent by content provider 2 includes the IP routing information for the user computer 104 associated with Subscriber Y.
  • the browser proxy control module 908 sends the URL 2 web page received from content provider 2 via the communication medium 108 to the user computer 104 associated with Subscriber Y. Subscriber Y's web browser 302 then displays the URL 2 web page.
  • the event pair D-D' may occur either before, after, or contemporaneously with the event pair E E'. Since
  • Subscribers X and Y are each maintaining their interactivity session within a portal window 304 that is maintained independently of their respective browser windows, the D-D' and E E' event pairs may occur at any point in time during the on-going interactivity session represented by A-A'.
  • Subscriber X and Subscriber Y are both capable of practicing an embodiment that provides for concurrent chatting and surfing of the WWW within a single browser.
  • Subscriber X may concurrently chat and surf while interacting (e.g., chatting) with another who does not share this capability.
  • Subscriber X may engage in an online chat about crescent wrenches with a service representative employed by www.hardware.com.
  • the chat program used by Subscriber X is compatible with the chat program used by the service representative, even though the latter lacks the ability to provide for concurrent chatting and surfing within the same browser.
  • the interactivity application 2322 may interact with the browser proxy control module 908 so as to allow one subscriber to remotely direct the web browser of another subscriber.
  • This embodiment provides the benefit that one subscriber may take one or more other subscribers on a "guided tour" of the WWW.
  • Subscriber Y wishes to help Subscriber X with his purchase decision by guiding him or her through a series of web pages displaying crescent wrench information and product offerings.
  • Subscribers X and Y agree to "synchronize" their browsers so that each will see on their respective web browsers the web page selections made by Subscriber Y.
  • synchronization means that a web page address selection made by one subscriber results in, for each of one or more other subscribers, the loading of a web page associated with that web page address.
  • the web pages displayed to each subscriber need not be identical, nor must the web pages be loaded at or near the same time.
  • Figure 27 illustrates the flow of information that occurs when Subscriber X and Subscriber Y initiate and maintain a synchronized browsing session while engaged in a chat session.
  • the data flow sequences used in concurrently maintaining synchronization and chat sessions between Subscribers X and Y is illustrated in Figure 27 with events A-A' through D-D'.
  • Events A and A' represent the ongoing chat session between Subscriber X and Subscriber Y.
  • This event pair has an identical meaning to the corresponding event pair illustrated in Figure 26.
  • the paired A-A' events illustrated in Figure 27 represents an on-going series of back-and-forth exchanges of chatting information.
  • Events B and B' represent the synchronization session between Subscriber X and Subscriber Y.
  • event B
  • Subscriber X uses his or her user computer 104 to send a synchronization message via the communication medium 108 to the interactivity application 2322 within the interactivity room 2320.
  • the synchronization message sent by Subscriber X provides information to the interactivity application 2322 regarding the synchronization session, such as a request to initiate a synchronization session, an acceptance of a request for a session, setting one or more subscribers as authorized to "lead" (i.e. control the browsing) the synchronization session, and the like.
  • Subscriber Y uses his or her user computer 104 to send a synchronization message, discussed above, via the communication medium 108 to the interactivity application 2322. It is intended that the paired B-B' events illustrated in Figure 26 may represent an on-going series of back-and-forth exchanges of synchronization information as needed.
  • the interactivity application 2322 communicates with the browser proxy control module 908 in order to synchronize the browsers of Subscriber X and Subscriber Y.
  • one or more designated members (i.e. "leaders") of a synchronization session may make URL selections so as to control the browsers of all of the subscribers who are synchronized.
  • the interactivity application 2322 provides the browser proxy control module 908 with a list of leaders and a full list of members within a particular synchronization session.
  • the browser proxy control module 908 may then distribute the web pages intended for the browser of any of the leaders of the session (e.g., by recognizing the leader's IP address) to the browsers of all members of the session.
  • any member of a synchronization session may make URL selections that control the browsers of all of the subscribers who are synchronized.
  • the interactivity application 2322 need only provide the browser proxy control module 908 with a list of members within a particular synchronization session.
  • the browser proxy control module 908 may then distribute web pages intended for the browser of any member of the session to all members of the session.
  • Subscriber Y uses his or her user computer 104 to send a request via the communication medium
  • the browser proxy control module 908 sends the request via the communication medium 108 to a remote computer
  • the request includes a communication medium protocol (IP) address for the user computer 104 associated with Subscriber X.
  • IP communication medium protocol
  • the content provider sends the web page URL 1 from the remote computer 2710 via the communication medium 108 to the browser proxy control module 908.
  • the web page information sent by content provider 1 includes the IP routing information for the user computer 104 associated with Subscriber Y.
  • the browser proxy control module 908 sends the URL 1 web page via the communication medium 108 to the user computer 104 associated with Subscriber Y.
  • the browser proxy control module 908 recognizes that the browser associated with Subscriber Y is synchronized to the browser associated with Subscriber X. In one embodiment, the browser proxy control module 908 recognizes this synchronization by identifying Subscriber Y as an entry within a lookup table reserved for synchronization leaders. The table includes, for each leader, identifiers for all of the followers associated with that leader.
  • the browser proxy control module 908 identifies Subscriber X as a follower associated with Subscriber Y as a leader. The browser proxy control module 908 then sends the URL 1 web page via the communication medium 108 to the user computer 104 associated with Subscriber X.
  • the C-C and D-D' event pairs may occur at any point in time during the on-going chat session represented by A-A'.
  • a synchronization session need not be accompanied by a chat session.
  • one or more "leader” subscribers may control the browser location of one or more "follower” subscribers without the leaders having to synchronize their own browsers with those of the follower subscribers. This is beneficial, for example, in a classroom setting where one or more instructors may wish to concurrently take different groups of students on different guided tours.
  • the leaders may independently specify a web address that is to be applied to the web browsers 302 of one or more followers.
  • the interactivity application 2322 then provides the browser proxy control module 908 with the identity of the leader subscribers and the corresponding follower subscribers within the particular synchronization session.
  • the browser proxy control module 908 then distributes the web pages specified by any of the leaders of the session to the browsers of the designated followers.
  • an interactivity room may be created for all WWW users browsing a specified region of the web.
  • the specified region may consist of a web page, a web site, or an address specification (e.g., all domain names satisfying " * .[expedia
  • the specified region may be defined via a category, such as "travel sites.” In this latter case, a database associating categorical words with actual web sites may be used.
  • a subscriber's context includes information such as demographic information, membership within online communities, a persona designating the general purpose for which the subscriber is online, a set of categories and/or intents designating a more specific purpose, and the subscriber's current and historical browser location selections. This information may be useful to advertisers trying to reach recipients having particular characteristics.
  • An advertising campaign comprises one or more advertisements in the form of text, still - - pictures, streaming video, streaming sound, banner ads, electronic mail messages, hypertext links, and the like.
  • the campaign includes advertising campaign logic that dictates the version of advertisement targeted to a recipient, based on persona, intent, community memberships, roles, relationships, time of day, day of the week, and the like. The logic also optionally instructs the ordering of the delivery of advertisements into a sequential order.
  • the time of delivery for each advertisement within the sequence may be based on a real time duration (e.g., send advertisement 2 to mothers five days after advertisement 1 is sent to fathers), on triggering events (e.g., send advertisement 2 to mothers after every father and son receives advertisement 1 ), or some combination of the two.
  • a real time duration e.g., send advertisement 2 to mothers five days after advertisement 1 is sent to fathers
  • triggering events e.g., send advertisement 2 to mothers after every father and son receives advertisement 1
  • the campaign itself is initiated by a triggering event.
  • the triggering event may occur due to the actions of the targeted persons, such as by a targeted person accessing one of a set of "triggering" web sites.
  • the triggering event may occur due to the actions of the advertiser, such as by sending a first advertisement to a first recipient. Additional advertisements may then be sent as dictated by the campaign logic.
  • An advertising campaign may be "attribute” driven, with recipients targeted based upon their “attributes” (demographics, etc.), or it may be community-driven, where a group is targeted as an entity, and the advertisements (content, timing, etc.) received by any given individual within the community is determined at least in part on aspects unrelated to the individual.
  • the communities targeted by a campaign may be either explicit or implicit.
  • the latter category refers to "informal" communities that are defined based on the (possibly changing) attributes of the members.
  • Such communities may be derived from demographics (e.g., all men over 30 years old living in Michigan), context (e.g., all subscribers with a Business persona and a Travel intent), web site (e.g., all WWW surfers presently browsing www.hardware.com), click-stream history (e.g., all WWW surfers who visited www.hardware.com within the past three months), and the like.
  • Figure 28 illustrates one embodiment of the flow of information associated with a targeted advertising campaign associated with the advertisement provider on a remote computer 2810.
  • the advertisement provider directs its remote computer 2810 to send an advertising campaign via the communication medium 108 to the server infomediary control module 906 within the portal system 102.
  • the server infomediary control module 906 recognizes the information received as associated with advertising and forwards the information to an advertisement control module 2820.
  • the advertising campaign comprises a set of advertisements and an associated set of context criteria, such that each individual advertisement within the set is associated with one or more specified context criteria.
  • Each advertisement can be designed to appeal to subscribers having contexts that satisfy the associated context criteria.
  • the context criteria include specifications for one or more of the context elements discussed at length above (subscriber persona, category, intent, browser location, demographic information, and the like).
  • An advertisement set record 2900 includes a set of advertisement versions 2910 (each version comprising an individual advertisement) to be targeted at a group of subscribers.
  • the group of subscribers may include the entire universe of subscribers, or it may include a subset of subscribers.
  • the advertisement set record 2900 in Figure 29 is targeted at all subscribers who are members of a "Family" community 2920.
  • Each advertisement version 2910 within the advertisement set record 2900 is associated with specified criteria for each of a series of context elements, such as community role 2930 (discussed in more detail below), subscriber persona 2932, subscriber category 2934, subscriber age 2936, and the like. This series may include all possible context elements or a predetermined subset of context elements.
  • the advertisement set record 2900 illustrated in Figure 29 may depict the advertising campaign designed by
  • Figure 29 further reveals that a subscriber with the community role of either father or mother, the subscriber persona of business, and the subscriber category of travel is targeted to receive advertisement version 2. Since the recipients of advertisement version 2 are known to be surfing the WWW for business purposes, Disney may design this version to emphasize the availability of Disney conference facilities. Alternatively, Disney may believe that working parents are most susceptible to Disney vacation packages when they are engaged in a work-related activity.
  • Figure 29 also reveals that a subscriber with the community role of daughter and an age from 10-12 years is targeted to receive advertisement version 16. Disney is likely to believe that preteen girls will be attracted to different products and different styles of presentation than the parent subscribers discussed above. As such, Disney may design the style and content of advertisement version 16 to differ markedly from versions 1 and 2.
  • the advertisement control module 2820 upon receiving the advertising campaign in event A, determines which, if any, subscribers satisfy the context criteria provided for a first advertisement version within the advertising campaign. This determination is repeated for a second advertisement version, a third advertisement version, and so on, until a list of "recipient subscribers" is created for each advertisement version within the advertising campaign.
  • the advertisement control module 2820 identifies Subscriber X as one of the subscribers satisfying the context criteria associated with advertisement version 1.
  • the advertisement control module 2820 also identifies Subscriber Y as one of the subscribers satisfying the context criteria associated with advertisement version 2.
  • advertisement control module 2820 sends advertisement version 1 to the server infomediary control module 906.
  • advertisement is routing information designating the user computer 104 associated with Subscriber X as a destination for the advertisement.
  • server infomediary control module 906 sends advertisement version 1 via the communication medium 108 to the user computer 104 associated with Subscriber X. - -
  • advertisement control module 2820 sends advertisement version 2 to the server infomediary control module 906.
  • advertisement is routing information designating the user computer 104 associated with Subscriber Y as a destination for the advertisement.
  • server infomediary control module 906 the server infomediary control module
  • the advertisement versions may be conveyed to recipient subscribers via a wide range of techniques, such as displaying a banner ad or webcasting within a traditional web browser window, displaying a banner ad or webcasting within a portal window 304 (described above), sending an electronic mail message using a standard electronic mail application, sending a message to a wireless device (e.g., a cellular phone, a pager, or a personal digital assistant) using the Wireless Application Protocol (WAP) or the Wireless Markup Language (WML), sending a paper ad via traditional mail, sending a paper ad via traditional facsimile transmission, transmitting an interactive message via traditional telemarketing, and the like.
  • WAP Wireless Application Protocol
  • WML Wireless Markup Language
  • the advertisements in D and D' need not be sent concurrently, or even close to concurrently.
  • the functionality described above for the advertisement control module 2820 may be performed by the remote computer 2810 of the advertisement provider. That is, the content records and logic needed to determine which subscribers receive which advertisement versions may be downloaded and run entirely on the remote computer 2810.
  • the functionality described above may be divided between the advertisement control module 2820 within the portal system 102 and the remote computer 2810 of the advertisement provider.
  • the portal system 102 may be provided with a set of context criteria associated with an advertising campaign.
  • the portal system 102 may provide the remote computer 2810 of the advertisement provider with identifiers for those subscribers who satisfy the submitted context criteria.
  • the remote computer 2810 may then use this information to send the proper advertisement version directly to the appropriate subscribers without further using the resources of the portal system 102.
  • One powerful way in which advertisers may use subscriber context information is to target community roles.
  • a subscriber may belong to one or more communities. Membership in a community includes one or more roles that the subscriber assumes within the community. Within a Family community, for example, a female subscriber may be a daughter, nephew, sister, sister-in-law, mother, aunt, grandmother, wife, or, depending upon the boundaries placed upon the Family community, some combination of these.
  • One possibility for an advertising campaign is to target the implicit communities formed when people are interacting online.
  • the individuals may be chatting together, shopping together, using a collaborative application, using synchronized browsers, and the like. Or, the individuals may simply be related and online at the same time.
  • the members of the community may be targeted to receive the same advertisement (or different advertisements tailored to each person's context, current web site location, etc.).
  • the campaign may send the advertisements simultaneously to each member, or sequence the advertisements in some order. For example, two friends online at the same time may be targeted to simultaneously receive ads for an online gaming application. The advertisements could even be targeted to suggest to each that they play the game with the other.
  • FIG. 30 One embodiment of a flow diagram using a community role based advertising campaign is illustrated in Figure 30.
  • the portal system 102 receives a community role-based advertising campaign from an advertisement provider.
  • the advertisement control module 2820 identifies one or more persons targeted within the target community.
  • the campaign may be designed to initiate advertisements to a number of, or all, members with the target community. Or, the campaign may be designed to initially target a single member. Depending upon the associated logic, a campaign initiated by a single member may subsequently result in advertisements being delivered to a large number of members of the target community (and even other communities).
  • the generic community “Family,” for example, may include all persons who possess any Family role. Each member of the generic Family community may also be a member of one or more Family communities specific to the person. A person may have an "immediate" Family community consisting of a mother, father, and children. The same person may have one or more "extended" Family communities including combinations of the immediate Family, grandparents, grandchildren, aunts, uncles, nieces, nephews, and the like.
  • a generic university community may include all persons who are faculty, administration, students, and staff at any university in the world. Subcommunities could be made up of those persons at particular institutions, subsubcom unities could be made up of those persons at particular schools or colleges within each institution, and subsubsubcommunities could be made up of those persons at particular departments within each school or college. These hierarchies provide an advertiser with the ability to tailor a community-based advertising campaign as broadly or narrowly as needed to suit the purposes of the campaign.
  • the membership of the target community may be determined using several approaches.
  • the content records of the universe of persons is organized into separate databases categorized by community.
  • the membership of the target community may be determined either by merely accessing the appropriate database (if the target community is identical to the scope of the database), or by conducting a search for the appropriate community membership within one or more databases.
  • the advertisement control module 2820 accesses the context record of a first targeted member of the target community. Proceeding to state 3040, the advertisement control module 2820 determines from the context record of the first member to the community one or more roles that the first member assumes within the target community. Proceeding to state 3050, the advertisement control module 2820 determines a first role for the first member. Proceeding to state 3055, a determination is made by the advertisement control module 2820 whether or not the first role is targeted by the advertising campaign. If so, in state 3060 the advertisement control module 2820 initiates the delivery of an advertisement version from the advertising campaign designed for the first role. If not, state 3060 is not performed.
  • the delivery of the advertisement in state 3060 occurs at essentially the same time for each recipient role.
  • the deliveries are sequential in time, with an order determined by the logic associated with the advertising campaign.
  • the delivery to a particular role is contingent upon the occurrence of a triggering event included in the logic of the advertising campaign. For example, an advertisement may be delivered to a person tailored to his role as a father. The advertisement campaign logic may then instruct the campaign to "wait and see" if the person responds to the advertisement. If the person has not responded after a waiting period (e.g. ten days), the campaign logic may then instruct the campaign to deliver a second advertisement tailored to his role as a husband. The campaign may include additional waiting periods and additional roles as needed.
  • the design of the advertisement delivered in state 3060 may be dictated by much more than the recipient's role. It may also be influenced by other context factors (e.g., persona, intent, demographics, etc.), by the timing of the advertisement (actual time or relative time along a sequence), by the previous results of the campaign (e.g., alternative versions of advertisements may be dropped or highlighted based upon the rate at which they have been observed to generate positive results), by which fellow-community-members have already received an advertisement, by which fellow-community-members have responded favorably to an advertisement, and the like. Furthermore, waiting periods in the campaign may be preset and fixed, or they may be determined dynamically.
  • context factors e.g., persona, intent, demographics, etc.
  • the timing of the advertisement actual time or relative time along a sequence
  • the previous results of the campaign e.g., alternative versions of advertisements may be dropped or highlighted based upon the rate at which they have been observed to generate positive results
  • waiting periods in the campaign may be preset and fixed, or they
  • the advertiser may keep track of the number of persons responding to an advertisement (e.g., by making a purchase, visiting a web site, etc.) for a particular role over time. If the number of persons responding each day increases for awhile, reaches a peak, and then decreases, the advertiser may select a time on the downward slope of the peak and use that point as a trigger to sending out a new advertisement (tailored to the same or a different role) to those persons who did not yet respond to the first advertisement.
  • an advertisement e.g., by making a purchase, visiting a web site, etc.
  • the advertisements targeted to specific community members may trigger other (or the same) advertisement to be presented to "related" individuals (e.g., other roles) in that community.
  • a "community advertisement” may be triggered based on a person with a "parent” role visiting one of a set of web sites and/or WWW surfing with a "Travel” intent.
  • any member of that community may then be targeted based on their role and/or relationship in the community, their context, and timing/sequencing. Advertisements may be sequenced, for example, first to the children, then to the mother, and lastly to the father.
  • the version of advertisement sent to each community member may be based on their demographics and other context elements.
  • the children may receive additional ads followed by a final ad to both parents.
  • the demographics and other context elements may be used by the campaign logic to modify the sequence of advertisements, as well as the content, order, and whether or not advertisements are presented at all.
  • the campaign logic dictates which roles are targeted in state 3055. This logic can be as simple as including one or more roles associated with the community and excluding the rest. Another possibility is requiring that the person have multiple community roles (e.g., must be both a father and a husband). Another possibility is requiring that certain context criteria be met. For example, a Little League Baseball advertisement may be targeted at sons and daughters (the community roles) who are between the ages of 8 and 12 years old, and living in Detroit, Michigan. - -
  • the advertisement control module 2820 determines whether there are any community roles remaining for the first person that have not yet been examined in state 3050. If any unexamined roles remain, the advertisement control module 2820 returns to state 3050 and accesses an unexamined role for the first member. Once there are no more unexamined roles remaining for the first member, the advertisement control module 2820 proceeds to state 3080, where it determines whether there are any targeted members of the target community that need to be examined in state 3030.
  • the advertisement control module 2820 returns to state 3030 and accesses an unexamined member from the target community. Once all targeted members of the target community have been examined, the advertisement control module 2820 proceeds to end state 3090.
  • the approach described above requires first identifying the one or more targeted persons within the target community. Community memberships may be maintained within one or more records. In one embodiment, the context records of the target community may be organized by community role.
  • FIG. 30 applies to an advertising campaign that is based on community roles. Even greater customizing of advertisement versions is possible by combining the use of community role information with the other context elements, such as browser location, person persona, category, intent, age, and the like.
  • a community relationship refers to the connection between two members of the community.
  • a member of a community will have one or more relationships for every role he or she assumes within the community.
  • a member of a Family community in the mother role may have community relationships mother- son, mother-daughter, mother-son-in-law, and the like.
  • the marketing may provide each community member within the targeted relationship with complimentary advertisements.
  • Disney is capable of marketing a Fathers Day event at its theme parks by sending, for each father in a target community, a tailored advertisement to the father and a complimentary advertisement to each child of that father.
  • the portal system 102 receives a community relationship-based advertising campaign from an advertisement provider in state 3110. Proceeding to state 3120, the advertisement control module 2820 identifies one or more targeted persons who are members of the target community. The membership of the target community may be determined using several approaches, as noted above. Proceeding to state 3130, the advertisement control module 2820 accesses the context record of a first targeted member of the target community. Proceeding to state 3140, the advertisement control module 2820 determines from the context record of the first member to the community one or more relationships that the first targeted member possesses within the target community. Proceeding to state 3150, the advertisement control module 2820 accesses a first relationship for the first targeted member.
  • the delivery of the advertisement in state 3160 occurs at essentially the same time for each member of the targeted relationship.
  • the deliveries are sequential in time, with an order determined by the logic associated with the advertising campaign.
  • the delivery to a particular role is contingent upon the occurrence of a triggering event included in the logic of the advertising campaign. For example, an advertisement may be delivered to a person tailored to his status as a father in a targeted father-son relationship. The advertisement campaign logic may then instruct the campaign to "wait and see" if the father responds to the advertisement. If the father has not responded after a waiting period (e.g. ten days), the campaign logic may then instruct the campaign to deliver a second advertisement tailored the son's mother. The campaign may include additional waiting periods and additional relationships as needed.
  • the design of the advertisement delivered in state 3160 may be dictated by much more than the recipient's relationship. It may also be influenced by other context factors (e.g., persona, intent, demographics, etc.), by the timing of the advertisement (actual time or relative time along a sequence), by the previous results of the campaign (e.g., alternative versions of advertisements may be dropped or highlighted based upon the rate at which they have been observed to generate positive results), and the like. Furthermore, as noted above, waiting periods may be preset and fixed, or they may be determined dynamically.
  • the advertisements targeted to specific community members may trigger other (or the same) advertisement to be presented to "related" individuals (e.g., other roles) in that community.
  • a "community advertisement” may be triggered based on a person with a "parent-of-child” relationship visiting one of a set of web sites and/or WWW surfing with a "Travel” intent.
  • any member of that community may then be targeted based on their role and/or relationship in the community, their context, and timing/sequencing. Advertisements may be sequenced as discussed above in connection with state 3060.
  • the campaign logic dictates which roles are targeted in state 3155.
  • This logic can be as simple as including one or more relationships associated with the community and excluding the rest. Another possibility is requiring that the person have multiple community relationships (e.g., must have both father-son and father-daughter). Another possibility is requiring a relationship that extend across two separate communities (e.g., a parent-teacher relationship spanning family and school communities). Another possibility is requiring that certain context criteria be met. For example, a Father's Day advertisement may be targeted at sons of fathers (the community relationship) who are between the ages of 10 and 12 years old, and living in Michigan.
  • the advertisement control module 2820 determines whether there are any community relationships remaining for the first targeted person that need to be examined in state 3150. If any relationships remain, the advertisement control module 2820 returns to state 3150 and accesses an unexamined relationship for the first member. Once there are no more unexamined relationships remaining for the first member, the advertisement control module 2820 proceeds to state 3180, where it determines whether there are any targeted members of the target community that need to be examined in state 3130. If any members remain to be examined, the advertisement control module 2820 returns to state 3130 and accesses an unexamined targeted member from the target community. Once all targeted members of the target community have been examined, the advertisement control module 2820 proceeds to end state 3190.
  • the approach described above requires first identifying the group of persons within the target community.
  • Any advertising delivery system may be used to target members within a community.
  • a popularity-based interface may be created by using the historical selections of subscribers to determine which web pages are likely to be of greatest relevance to the subscriber using the interface. These historical selections may be used to determine 1 ) which web page addresses to display, 2) how to prioritize the web page addresses that are displayed, and 3) how to organize the web page addresses that are displayed. In one implementation this "popularity-based" interface is the default interface.
  • the popularity-based interface is used when a subscriber requests such an interface.
  • One way of incorporating this feature into the portal system 102, for example, is by including within one or more of the portal categories a category element (e.g., "Popular") that generates a popularity-based display for that category.
  • a category element e.g., "Popular”
  • context criteria allows the "intelligence" of the popularity-based interface to be influenced by those historical selections made by subscribers having an appropriate context. For example, a subscriber with the persona Business and the category Travel may opt to view a popularity-based display that includes web page addresses generated from the past actions of other subscribers when in the Business Travel context. This may allow the subscriber to uncover web sites that are popular among business travelers but that are not popular among non-business travelers.
  • the context criteria may include memberships in explicit communities and in implicit communities. Using the former, a subscriber may opt to view a popularity-based display determined by members of the University of Colorado. Using the latter, a subscriber may opt to view a popularity-based display determined by subscribers who are presently accessing a specified web site.
  • the actual organization of links displayed to a user is determined by popularity according to a predetermined method of organization.
  • a directory framework may comprise a folder structure, wherein each folder contains hyperlinks with associated popularity measures.
  • popularity measures are more detailed discussion of popularity measures.
  • the presentation of the folders themselves may be determined by the cumulative popularity of all hyperlinks contained within each folder. In one embodiment this is accomplished by summing the popularity measures of the individual hyperlinks within the particular folder. In another embodiment this is accomplished by summing the popularity measures of all of the hyperlinks under the particular folder (e.g., all hyperlinks in that folder and in any folders within that folder, etc.). In the latter embodiment the summing may optionally be done using different weightings for links in different folders (e.g., with a lower weighting for links within nested folders).
  • the available options in a portal interface are impacted by the popularity of the options. This may be accomplished in the same manner as for web page addresses using popularity records for the options analogous to the popularity records described elsewhere for web page addresses.
  • a subscriber may select a popularity "view" for surfing the WWW with a web browser.
  • the browser proxy control module 908 filters the web surfing experience such that the subscriber is presented with only those pages satisfying some popularity criteria (e.g., with a popularity measure above a predetermined threshold, with a popularity measure within a particular percentile, etc.).
  • Figure 32 illustrates one embodiment of an approach for organizing browser selections into records that facilitate the creation of a context-dependent popularity-based interface for subscribers.
  • Subscriber X directs his web browser to access the web page URL 1.
  • his or her context record 3210 contains his or her context, including a persona 3212 (e.g., Persona 2), a category 3214 (e.g., Category 5), community membership information 3216 (e.g., Roles 1 and 3 within Community 2), and his or her browser location 3218 (e.g., URL 1).
  • persona 3212 e.g., Persona 2
  • category 3214 e.g., Category 5
  • community membership information 3216 e.g., Roles 1 and 3 within Community 2
  • his or her browser location 3218 e.g., URL 1).
  • an archival module modifies a series of existing archival records, and/or creates new archival records as needed, to reflect Subscriber X's selection.
  • the archival records contain all of the web page addresses selected by subscribers, together with, for each selection, the subscriber's context at the time of the selection.
  • the archival module identifies Subscriber X's Community 2 membership 3216 in the context record 3210 and correspondingly updates a Community 2 archival record 3220 containing a listing of each web page selected by members of Community 2 within a predetermined time interval extending back from the present.
  • a popularity measure may be associated with each web page.
  • the archival module may consolidate the web page selections within a web site (i.e. a linked set of related web pages) into one record for that web site.
  • the popularity measure may be determined in many ways. In one embodiment, it indicates the number of times the web page was selected by a subscriber having the proper context. Applying this embodiment to Figure 32, the archival module responds to Subscriber X's selection of URL 1 by incrementing the URL 1 entry in the Community 2 archival record 3220 from 39,009 to 39,010. In another embodiment, the popularity measure includes other factors such as the amount of time spent browsing the web page, or the number of times hypertext links on the web page were selected.
  • the archival module identifies Subscriber X's community roles 3216 and may correspondingly update a Community 2, Role 1 archival record (not shown in Figure 32) and a Community 2, Role 3 archival record 3230.
  • This latter record contains a listing of each web page selected within the predetermined time interval by members of Community 2, Role 3.
  • the archival module increments the URL 1 popularity measure entry in the Community 2, Role 3 archival record 3230 from 24,313 to 24,314. Since the web page selections recorded in the Role 3 archival record 3230 represent a subset of those selections made in the Community 2 archival record 3220, the popularity measures in the Role 3 archival record 3230 are equal to or smaller than those in the broader Community 2 archival record 3220.
  • the archival module further identifies Subscriber X's context category 3214 and correspondingly updates a
  • the archival module increments the URL 1 popularity measure entry in the Community 2, Role 3, Category 5 archival record 3240 from 4,717 to 4,718.
  • the archival module may further identify narrower archival records (not shown in Figure 32) by incorporating
  • Subscriber X's remaining context elements Whenever the archival module finds an archival record for which the selected URL is absent, it creates an entry for the selected URL and increments its associated popularity score from 0 to the appropriate value. Whenever the archival module finds that no archival record exists for a particular combination of context elements associated with a URL selection, it creates a new archival record for that combination of context elements and creates an entry for the selected URL, together with an appropriate popularity measure.
  • the archival records are not updated in real time, but rather are updated periodically by extracting the click-stream information from the click stream records 1608 that record an entry each time a subscriber makes a URL selection.
  • the click stream record 1608 may include a reference to the subscriber's identity, the date and time of the request, the HTTP address requested, and the subscriber context (persona, category, intent, and the like). Since the click stream record 1608 identifies the time a web page was requested, requests older than a particular date may be identified and discarded as outdated. Furthermore, the interval of time between two requests may be used as an indicator of the amount of time spent browsing the earlier web page.
  • Figure 33 illustrates one embodiment of a popularity record set 3300 created from the archival records discussed above.
  • a popularity record set consists of a plurality of popularity records.
  • a single popularity record includes browser location selections from a defined grouping of subscribers.
  • An All Subscribers popularity record 3310 depicted in Figure 33 for example, includes browser location choices from the entire universe of subscribers.
  • a Community 1 popularity record 3320 includes browser location choices for the subset of subscribers who are members of Community 1.
  • Community 1, Role 1 popularity record 3330 and Community 1, Role 2 popularity record 3340 include browser location selections for the (potentially overlapping) subsets of Community 1 members who possess Role 1 and Role 2 status, respectively.
  • Analogous information is stored within a Community 2 popularity record 3350 and a Community 2, Role 1 popularity record 3360.
  • Additional popularity records may exist for other community-role combinations, for community-relationship combinations, and for other context element combinations.
  • Popularity records may exist for different time intervals (e.g., URL selections made yesterday, made within the past week, within the past month, and the like), for different times of the day (e.g., URL selections made from 8:00 a.m. to 11 :59 a.m. EST, made from 12:00 to 3:59 p.m. EST, and the like) for different demographic breakdowns (e.g., URL selections for female subscribers, male subscribers, subscribers between the ages of 13 and 18, and the like). These distinctions may be combined in numerous ways as needed.
  • the popularity records do not retain the actions of subscribers in the past, but instead monitor the actions of subscribers in real time.
  • the popularity measure of a web page is dictated by how many subscribers have that particular web page loaded into their browsers (and, perhaps, how long they have had it loaded there) at the present time.
  • the popularity record retains the past actions of the subscriber himself. This embodiment, although not mining the collective experience of a large community of subscribers, allows a subscriber to see those web pages he has visited most frequently in the past.
  • These single-subscriber popularity records may be organized by persona, category, intent, and the like, as discussed above, thus allowing a subscriber to have a distinct display of popular sites for each persona and category combination in the portal system 102.
  • Figure 34 generally illustrates one embodiment of an implementation of a single popularity record 3400 within the popularity record set 3300, such as the All Subscribers Popularity Record 3310.
  • a popularity record 3400 includes entries for one or more context elements such as subscriber persona 3410, category 3420, and category element 3430. For each possible combination of included context elements, the popularity record 3400 includes the most popular URL addresses 3440 as determined from the archival records.
  • the popularity record includes up to a fixed number (e.g., ten) of URL addresses ranked by popularity measure.
  • the popularity record includes the popularity measures (not shown in Figure 34) with the corresponding URL addresses.
  • each of the lists of web page addresses depicted in Figure 34 may be stored as a separate popularity record.
  • Figure 35 depicts a flow diagram illustrating an embodiment in which a popularity record is used to generate a popularity-based display of web page addresses.
  • a request for a display of web page addresses is received from a subscriber in state 3510.
  • This request may take many forms. It may come from the selection of a category in a directory tree, such as may be incorporated into the portal window 304.
  • Subscriber P may select the portal category element "Toys" from within the category "Shopping" as a way of locating web pages associated with shopping for toys.
  • the request may come from a search query submitted to a search engine.
  • Subscriber Q may use the search query "Barbies for sale” as a way to locate web pages associated with the selling of a well-known brand of dolls.
  • context criteria are received for determining the subset of subscriber URL selections that are to be considered in creating the popularity-based display.
  • these criteria are determined from the context record of the subscriber requesting the display.
  • a subscriber in the Business Travel persona may be provided with popularity-based results determined by historical URL selections made by subscribers when in the Business Travel persona.
  • the context criteria are set to default to one of the community roles associated with the requesting subscriber. For example, a subscriber within a Family community in the role of Father would receive popularity-based results generated from the past actions of other Family Father subscribers.
  • the context criteria may be selected by a subscriber independent of the subscriber's current persona. This may be particularly useful for subscribers wishing to mine the collective experience of other demographic groups. A female subscriber, for example, may wish to see the most popular shopping web sites determined by male subscribers when searching for a gift for her spouse. This may also be useful for subscribes wishing the mine the collective experience of other community groups. For example, a subscriber wishing to learn more about classical music may wish to see the most popular music sites determined by members of a community created for supporters of classical music.
  • the appropriate popularity records for the context criteria received in state 3520 are accessed to retrieve the appropriate web page addresses.
  • more than one popularity record 3400 may be accessed.
  • a filtering module within the portal system 102 retrieves the most popular web page addresses from the popularity records 3400 accessed in state 3530 that are relevant to the submitted request. The manner in which this is done depends upon the nature of the request submitted by the subscriber. If the request is for web page addresses within a category aligned with the context elements, such as selecting a category and/or intent from the portal (recall Subscriber P, above), the filtering module retrieves the most popular web page addresses directly from the appropriate popularity record for those context elements.
  • the filtering module within the portal system 102 determines the most popular web page addresses for the search query by applying a search engine (either within the portal system 102 or in communication with the portal system 102) to the appropriate list of web pages (as determined by the context criteria) on the popularity record 3400 accessed in state 3530.
  • a "full" list of search results (unrelated to the actions of subscribers) is generated by applying the search query to a web-wide search engine, such as AltaVistaTM or Excite SM .
  • This full list of results is then generated by the filtering module by filtering the search results through the popularity record 3400 accessed in state 3530. That is, only those results in the full list that are also present in the popularity record 3400 are considered to be popularity-based results of the search.
  • the portal system 102 sends the output from the filtering module into a sorting module to prioritize the most popular relevant web page addresses.
  • the sorting module then sorts the web page addresses by their associated popularity measures.
  • the sorting module may utilize any of various methods for sorting that are well known in the art. - -
  • the web page addresses are displayed to the subscriber.
  • the web page addresses may be displayed with associated hyperlinks that the subscriber may select in order to access the corresponding web page.
  • the web page addresses may be displayed as text strings.
  • the web page addresses are displayed within the portal window 304.
  • the web page addresses may advantageously be displayed in a prioritized manner, with the priority determined by ranking the popularity measure associated with each web page address.
  • the number of web page addresses displayed may not exceed a predetermined maximum value.
  • the number of web page addresses displayed is determined by requiring the associated popularity measure to satisfy a quality criteria.
  • the popularity measure criteria is a simple threshold (e.g., the popularity measure must exceed 10).
  • the popularity measure criteria depends upon the popularity measure of the most popular web page (e.g., the popularity measure must exceed 10% of the popularity measure of the top scoring web page in the results).
  • the results are organized into a hierarchical structure, with a popularity-based organization.
  • context criteria consisting of the persona Business, category Travel, and intent Travel Planning/Flight Reservations.
  • multiple popularity records exist for this set of context criteria. For example, separate popularity records are maintained for 1 ) Business Travel Reservations - Flights, 2) Business Travel Reservations • Hotels, and 3) Business Travel Reservations - Cars.
  • separate popularity records are a maintained for 1 ) Business Travel Reservations - Hotels - Men, and 2) Business Travel Reservations - Hotels - Women (reflecting subscriber gender).
  • results are organized into a relational structure, using a sortable tabular format with table headings (e.g., frequency of visits, number of links viewed on the site, time spent per page, etc.) and context fields (persona, category, intent, etc.).
  • table headings e.g., frequency of visits, number of links viewed on the site, time spent per page, etc.
  • context fields persona, category, intent, etc.
  • results are organized into a hybrid hierarchical/relational view.
  • the popularity-based results are displayed via a search interface.
  • subscribers receive the results in response to one or more search queries (e.g., text strings, voice commands, etc.) and/or selections (e.g. check boxes, pull-down menus, etc.) submitted by the subscriber.
  • search queries e.g., text strings, voice commands, etc.
  • selections e.g. check boxes, pull-down menus, etc.
  • the interface used to display the popularity results may utilize one or more pop-up menus, pull-down menus, tree views, drill down web-directory views, and hybrid tree views/table displays.
  • Search results presented to the subscriber from an unaffiliated web-based search engine may be organized in a like fashion.
  • One possible organization is to display a top tier including three links: Flights, Hotels, and Cars. Selecting a link drops the subscriber down to a second tier consisting of the web page addresses corresponding to that link, or, if there is greater detail as in the case of Flights, additional links (e.g. Men, Women).
  • the popularity measures of the web pages within each category and intent are used to rearrange the structure.
  • the top tier may display the top several Flights web page addresses, together with links to lower tiers for Hotels web pages, Cars web pages, and additional (lower priority) Flights web pages.
  • the hierarchical structure may be dictated by the ranking of the popularity measures within each category. Applying this embodiment to the above example, the top tier may display the top Flights web page, the top Hotels web page, and the top Cars web page. A second tier displays the second most popular Flights web page, the second most popular Hotels web page, and the second most popular Cars page. Lower tiers may be included in a like manner as desired.

Abstract

The present invention is a system and method for providing a portal interface to information and services accessible over a communication network. A portal system (102) stores one or more portal definitions. Each portal definition defines a portal interface which is configured to be displayed in a browser (302) while the browser accesses different web objects. A user computer (104) transmits a subscriber identification to the portal system (102). The subscriber identification identifies a portal definition stored on the portal system (102). The portal system (102) receives the subscriber identification transmitted from the user computer (104) and retrieves the portal definition identified by the subscriber identification. The portal system (102) then transmits the retrieved portal definition to the user computer (104), and the portal interface (304) defined by the portal definition is displayed within the browser on the user computer. In one embodiment, the portal interface (304) is persistently displayed in the browser (302).

Description

PORTAL SYSTEM AND METHOD
Background Field The present invention is related to communication systems. More particularly, this invention relates to a system and method for providing users an interface to information and services accessible over a communication network.
Description of the Related Art The Internet is a communications system which has evolved into a worldwide network made up of thousands of networks connecting millions of computers in many countries. These computers provide information, such as data, news, and opinions, and offer services, such as travel reservation services, stock trading services, auction services, and the like, to users connected to the Internet.
Typically, a user accesses the information and services available on the Internet through a conventional portal. A portal is usually an Internet site or service that can offer an array of services and resources, such as e-mail, online shopping, news, weather, search engines, and the like, to its users. These conventional portals are available from online service companies such as America Online, as well as traditional search engines such as Yahoo!®, ExciteSM, and
Lycos®.
The traditional portal companies orovide its users a standard "start page." The start page is a summary page that features the Internet portal company's own content and applications. Thus, the start page is focused around a single information provider, the specific portal. Even though the user is able to customize his or her start page, the user may only customize the start page by selecting from the pool of content and applications made available by the portal. Furthermore, with conventional portals, once the user "launches" from the start page to another location or site on the Internet, the start page is generally not readily accessible to the user. Rather, in order to access the desired content and applications configured into the user's start page, the user generally uses the "home," "bookmark," or
"back" button which is present on many standard browsers. This launch-and-retum operation, in which the user launches to a web site from the start page, performs the desired operations, and returns to the start page to access its customized contents, may be inconvenient and inefficient.
Summary
The present invention is a system and method for providing a portal interface to information and services accessible over a communication network.
For purposes of summarizing the invention, certain aspects, advantages, and novel features of the invention have been described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Thus, the invention may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
In one embodiment, a method of providing a portal interface comprises the acts of: (1 ) storing at a portal system one or more portal definitions wherein each portal definition defines a portal interface which is configured to be displayed in a browser while the browser accesses different web objects; (2) transmitting from a user computer a subscriber identification to the portal system wherein the subscriber identification identifies a portal definition stored on the portal system; (3) receiving at the portal system the subscriber identification transmitted from the user computer and retrieving the portal definition identified by the subscriber identification; (4) transmitting from the portal system the portal definition identified by the subscriber identification to the user computer; and (5) displaying the portal interface defined by the portal definition within the browser on the user computer. In one aspect of the embodiment, the portal interface is persistently displayed in the browser. In another aspect of the embodiment, the display of the portal interface is maintained in the browser while the browser displays the contents of a first web object, and the portal interface is not displayed while the browser displays the contents of a second web object. In still another aspect of the embodiment, the portal interface is customizable by the subscriber to include one or more web objects accessible through a communication medium. In yet another aspect of the embodiment, the portal interface is resizable. In a further aspect of the embodiment, the portal interface is relocateable within the browser. In still a further aspect of the embodiment, the portal interface is displayed independent of the browser. In yet a further aspect of the embodiment, the portal interface includes an auto-hide feature.
In another embodiment, a method of providing a portal interface comprises the acts of: (1 ) obtaining at a user computer, a portal interface from a remote server; (2) displaying within a browser window on the user computer, the portal interface and at least a first web page; and (3) maintaining the display of the portal interface within the browser window during the display of a second web page. In one aspect of the embodiment, the portal interface is customizable. In another aspect of the embodiment the portal interface is resizable. In still another aspect of the embodiment, the portal interface provides access to search services. In yet another aspect of the embodiment, the portal interface provides access to enabled web sites. In a further aspect of the embodiment, the portal interface provides access to e-mail services. In still a further aspect of the embodiment, the portal interface provides access to a notes application. In yet a further aspect of the embodiment, the portal interface provides notifications of events received from services. In one aspect of the embodiment, the portal interface provides access to a configuration application that facilitates the configuration of the portal interface. In another aspect of the embodiment, the portal interface provides access to a start page. In still another aspect of the embodiment, the portal interface provides access to a address book application. In yet another aspect of the embodiment, the portal interface provides access to a calendar application. In a further aspect of the embodiment, the portal interface provides access to an investment portfolio. In still a further aspect of the embodiment, the portal interface provides access to one or more bookmarks. In yet a further aspect of the embodiment, the portal interface provides access to a web directory. In one aspect of the embodiment, the portal interface provides access to an news content. In another aspect of the embodiment, the portal interface provides access to a chat application. In still another embodiment, a method of providing a user interface comprises the acts of: (1 ) obtaining at a first computer, a user interface from a second computer; (2) displaying within a window on the first computer, the user interface and content from a first web site; and (3) requesting through the user interface content from a second web site while displaying the content from the first web site within the window. In one aspect of the embodiment, the window is a browser window. In another aspect of the embodiment, the user interface is a portal interface.
In yet another embodiment, a method of providing a portal interface comprises the acts of: (1 ) displaying within a browser window on the user computer, a portal interface and at least a first web page; (2) maintaining the display of the portal interface within the browser window during the display of a second web page; and (3) displaying in the portal interface one or more event notifications. In one aspect of the embodiment, the event notification is received from a remote computer. In another aspect of the embodiment, the portal interface includes a branding area. In still another aspect of the embodiment, the portal interface includes an advertisement area. In yet another aspect of the embodiment, the portal interface includes a launch area. In a further aspect of the embodiment, the portal interface includes a mode area. In still a further aspect of the embodiment, the portal interface includes a feature bar. In yet a further aspect of the embodiment, the portal interface includes a portal display region. In a further embodiment, a method of providing a portal interface comprises the acts of: (1) displaying within a browser window on the user computer, a portal interface and at least a first web page; (2) maintaining the display of the portal interface within the browser window during the display of a second web page; and (3) redirecting requests from the user computer to a portal system configured to provide infomediary services. In one aspect of the embodiment, the portal system is on one or more remote computers. In another aspect of the embodiment, the portal system is on the user computer. In still another aspect of the embodiment, the portal system is on the user computer and one or more remote computers. In yet another aspect of the embodiment, the requests are entered through the browser window. In a further aspect of the embodiment, the requests are entered through the portal interface. 1. In still a further embodiment, a method of providing a server-stored portal interface comprises the acts of: (1 ) maintaining a portal interface that is intended to be displayed within a browser window while the browser window accesses different web objects; (2) receiving from a remote computer a request for the portal interface; and (3) transmitting the portal interface to the remote computer. In one aspect of the embodiment, the portal interface provides access to one or more enabled web sites. In another aspect of the embodiment, the portal interface provides access to one or more system enabled web sites. In one aspect of the embodiment, the portal interface provides access to one or more enabled web sites. In another aspect of the embodiment, the portal interface provides access to one or more system enabled web sites. In still another aspect of the embodiment, the portal interface provides access to one or more content provider enabled web sites. In yet another aspect of the embodiment, the portal interface provides access to one or more subscriber enabled web sites.
In yet a further embodiment, a method of processing portal interface requests comprises the acts of: (1 ) receiving a request from a portal interface that is displayed within a browser window while the browser window accesses different web pages; and (2) processing the request and providing a response to the portal interface. In one aspect of the embodiment, the response includes data which is displayed in the portal interface. In another aspect of the embodiment, the response includes a digest of the contents of a web object.
In one embodiment, a method of providing a portal interface comprises the acts of: (1 ) maintaining a portal definition in a database, the portal definition defines a portal interface which is configured to be displayed in a browser, the portal definition is associated with a subscriber identification information; (2) receiving the subscriber identification information from a remote device, the subscriber identification information identifies a subscriber; (3) retrieving the portal definition associated with the received subscriber identification information from the database; and (4) transmitting the portal definition to the remote device wherein the portal interface defined by the portal definition is displayed as part of a browser display on the remote device, the portal interface is displayed whenever the browser is displayed, and the portal interface is displayed irrespective of the browser content.
In another embodiment, a portal system comprises: (1) a database containing a plurality of portal interfaces wherein each portal interface is configured to be displayed in a browser while the browser accesses different web objects; (2) a monitor component configured to receive a subscriber identification information from a user computer wherein the subscriber identification information is associated with one of the plurality of portal interfaces, the monitor component further configured to retrieve the portal interface associated with the received subscriber identification; and (3) a transmit component configured to transmit the retrieved portal interface to the user computer for displaying in the browser on the user computer. In one aspect of the embodiment, the portal system further comprises a configure component configured to enable customization of the portal interface.
In still another embodiment, a portal system comprises: (1 ) a database containing a portal interface intended to be displayed within a browser window displayed on a remote computer while the browser window displays a first web page, the portal interface is intended to remain displayed within the browser window while the browser window displays a second web page; (2) a monitor component configured to receive a request for the portal interface from the remote computer; and (3) a transmit component configured to transmit the portal interface to the remote computer. In one aspect of the embodiment, the portal interface includes access to one or more enabled web objects. In another aspect of the embodiment, the monitor component is further configured to receive a request from the portal interface displayed on the remote computer and provide a response to the portal interface. In still another aspect of the embodiment, the monitor component is further configured to receive a request from the browser window displayed on the remote computer and provide a response to the browser window.
In yet another embodiment, a portal interface system comprises: (1) a portal interface received from a remote computer and displayed on a user computer; and (2) a browser window displayed on the user computer, the browser window displaying the portal interface and a first web page, and the browser window maintaining the display of the portal interface during the display of a second web page.
In a further embodiment, a portal interface system comprises: (1 ) a user interface obtained at a first computer from a second computer; (2) a window displayed on the first computer, the window displays the user interface and content from a first web site; and (3) a request for content from a second web site, the request made through the user interface while displaying the content from the first web site in the window. In still a further embodiment, a portal interface system comprises: (1) a portal interface received from a remote computer and displayed on a user computer; and (2) a browser window displayed on the user computer, the browser window displaying the portal interface and content from a first web site, the browser window not displaying the portal interface during the display of content from a second web site, and the browser window redisplaying the portal interface during the display of content from a third web site.
In yet a further embodiment, a portal interface system comprises: (1 ) a means for obtaining at a user computer, a portal interface from a remote server; (2) a means for displaying within a browser window on the user computer, the portal interface and at least a first web page; and (3) a means for maintaining the display of the portal interface within the browser window during the display of a second web page. In one embodiment, a portal interface system comprises: (1) a means for maintaining a portal definition in a database, the portal definition defines a portal interface which is configured to be displayed in a browser, the portal definition is associated with a subscriber identification information; (2) a means for receiving the subscriber identification information from a remote device, the subscriber identification information identifies a subscriber; (3) a means for retrieving the portal definition associated with the received subscriber identification information from the database; and (4) a means for transmitting the portal definition to the remote device wherein the portal interface defined by the portal definition is displayed as part of a browser display on the remote device, the portal interface is displayed whenever the browser is displayed, and the portal interface is displayed irrespective of the browser content.
In another embodiment, a portal interface system comprises: (1 ) a means for displaying on a user computer a browser window displaying a portal interface and at least a first web page; (2) a means for maintaining the display of the portal interface in the browser window during the display of a second web page; and (3) a means for redirecting from the user computer to a remote computer.
In still another embodiment, a portal system comprises: (1 ) a means for maintaining a portal interface intended to be displayed within a browser window displayed on a remote computer while the browser window display a first web page, the portal interface is further intended to remain displayed within the browser window while the browser window displays a second web page; (2) a means for receiving a request for the portal interface from the remote computer; and (3) a means for transmitting the portal interface to the remote computer.
These and other embodiments of the present invention will also become readily apparent to those skilled in the art from the following detailed description of the preferred embodiments having reference to the attached figures, the invention not being limited to any particular embodiment(s) disclosed.
Brief Description of the Drawings
These and other aspects, advantages, and novel features of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:
Figure 1 is a system block diagram illustrating an embodiment of the overall network architecture. Figure 2 is a high level block diagram illustrating a process by which a portal system provides a service to a subscriber according to one embodiment of the invention. - -
Figure 3 is a block diagram illustrating one embodiment of a flow of information between a user computer and a portal system through a communication medium.
Figure 4 is a representation of one embodiment of a portal interface.
Figure 5 is a representation of one embodiment of a portal interface displayed as part of a browser window. Figure 6 is a block diagram illustrating one embodiment of the portal interface persistently displayed as part of the browser window over a period of time.
Figure 7 is a flow chart illustrating one embodiment of a subscriber log on process.
Figure 8 is a representation of one embodiment of the records containing information comprising a portal definition. Figure 9 is a high level block diagram illustrating one embodiment of the selected components of a user computer and a portal system.
Figure 10 is a representation of one embodiment of a portal interface containing inter-connected pull-down menus.
Figure 1 1 is a block diagram representation of one embodiment of a subscriber session illustrating the activity contexts.
Figure 12 is a representation of one embodiment of a context record.
Figure 13 is a representation of one embodiment the multiple editions of the persistent portal system.
Figure 14 is a flow chart illustrating a process by which a portal interface is updated in accordance with one embodiment of the invention. Figure 15 is a flow chart illustrating a process by which a change in activity context is managed according to one embodiment of the invention.
Figure 16 is a representation of one embodiment of a session record suitable for maintaining a log of a subscriber's session.
Figure 17 is a flow chart illustrating a process by which an assistant guides the subscriber perform an activity according to one embodiment of the invention.
Figure 18 is a representation of one embodiment of an enabled site record.
Figure 19 is a representation of one embodiment of an active business card record and a contact information record.
Figure 20 is a flow chart illustrating one embodiment of a process by which a contact is received through an active business card.
Figure 21 is a flow chart illustrating one embodiment of a process by which a dynamic assistant is used to submit context specific information.
Figure 22 is a flow chart illustrating one embodiment of a process by which information is integrated into a subscriber's personal application. Figure 23A is a high level block diagram illustrating the data flow associated with creating an interactivity room according to one embodiment of the invention. Figure 23B is a high level block diagram illustrating the data flow associated with two subscribers each agreeing to interact with the other in an interactivity room according to one embodiment of the invention.
Figure 24 is a flow chart illustrating one embodiment of a process for determining the access list for an interactivity room. Figure 25 is a representation of an interaction preferences record used in the process of Figure 24 according to one embodiment of the invention.
Figure 26 is a high level block diagram illustrating the data flow associated with two subscribers concurrently web surfing and chatting according to one embodiment of the invention.
Figure 27 is a high level block diagram illustrating the data flow associated with two subscribers synchronizing web browsers and chatting according to one embodiment of the invention.
Figure 28 is a high level block diagram illustrating the data flow associated with an advertisement provider sending tailored advertisements to two subscribers according to one embodiment of the invention.
Figure 29 is a representation of an advertisement set record used in advertisement campaigns according to one embodiment of the invention. Figure 30 is a flow chart illustrating the process used to allocate advertisement versions to community members of a community role-based advertising campaign according to one embodiment of the invention.
Figure 31 is a flow chart illustrating a process used to allocate advertisement versions to community members for a community relationship-based advertising campaign according to one embodiment of the invention.
Figure 32 is a representation of a process for organizing browser selections into popularity records according to one embodiment of the invention.
Figure 33 is a representation of a popularity record set according to one embodiment of the invention. Figure 34 is a representation of an individual popularity record according to one embodiment of the invention. Figure 35 is a flow chart illustrating a process used to create a popularity-based display of web addresses according to one embodiment of the invention.
Detailed Description Figure 1 illustrates a network architecture suitable for use with one embodiment of the invention. A system 10 includes a portal system 102, a plurality of user computers 104, a plurality of content servers 106, and a communication medium 108. The plurality of user computers 104 and the plurality of content servers 106 communicate with each other through the communication medium 108 and the portal system 102. The portal system 102 and the content server 106 are comprised of one or more computers as defined herein. Furthermore, each user computer 104 communicates with the portal system 102 through the communication medium 108. Each content server 106 also communicates with the portal system 102 through the communication medium 108.
A computer, including the user computer 104, and the computers comprising the portal system 102 and the content servers 106, may be any microprocessor or processor (hereinafter referred to as processor) controlled device that permits access to the communication medium 108, including terminal devices, such as personal computers, workstations, servers, clients, mini computers, main-frame computers, laptop computers, a network of individual computers, mobile computers, palm top computers, hand held computers, set top box for a TV, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, a mobile browser, or a combination thereof. The computers may further possess input devices such as a keyboard or a mouse, and output devices such as a computer screen or a speaker.
These computers may be uniprocessor or multiprocessor machines. Additionally, these computers include an addressable storage medium or computer accessible medium, such as random access memory (RAM), an electronically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), hard disks, floppy disks, laser disk players, digital video devices, compact disks, video tapes, audio tapes, magnetic recording tracks, electronic networks, and other techniques to transmit or store electronic content such as, by way of example, programs and data. In one embodiment, the computers are equipped with a network communication device such a network interface card, a modem, or other network connection device suitable for connecting to the communication medium 108. Furthermore, the computers execute an appropriate operating system such as Linux, Unix, Microsoft® Windows® 95, Microsoft® Windows® 98, Microsoft® Windows® NT, Apple® MacOS®, or IBM® OS/2®. As is conventional, the appropriate operating system includes a communications protocol implementation which handles all incoming and outgoing message traffic passed over the communication medium 108. In other embodiments, while the operating system may differ depending on the type of computer, the operating system will continue to provide the appropriate communications protocols necessary to establish communication links with the communication medium 108. The computers may advantageously contain program logic, or other substrate configuration representing data and instructions, which cause the computer to operate in a specific and predefined manner as described herein. In one embodiment, the program logic may advantageously be implemented as one or more modules. The modules may advantageously be configured to reside on the addressable storage medium and configured to execute on one or more processors. The modules include, but are not limited to, software or hardware components which perform certain tasks. Thus, a module may include, by way of example, components, such as, software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
As used herein, the terms "portal system" and "content server" are to be viewed as designations of one or more computers and are not to be otherwise limiting in any manner. For example, the portal system 102 may be comprised of one or more modules that execute on one or more computers. The content server 106 need not be server based, but can comprise one or more modules that execute on one or more computers.
The communication medium 108 may advantageously facilitate the transfer of electronic content. In one embodiment, the communication medium 108 includes the Internet. The Internet is a global network connecting millions of computers. The structure of the Internet, which is well known to those of ordinary skill in the art, is a global network of computer networks utilizing a simple, standard common addressing system and communications protocol called Transmission Control Protocol/Internet Protocol (TCP/IP). The connection between different networks are called "gateways", and the gateways serve to transfer electronic data worldwide.
One part of the Internet is the World Wide Web (WWW). The WWW is generally used to refer to both (1) a distributed collection of interlinked, user-viewable hypertext documents (commonly referred to as "web documents" or "web pages" or "electronic pages" or "home pages") that are accessible via the Internet, and (2) the client and server software components which provide user access to such documents using standardized Internet protocols. The web documents are encoded using Hypertext Markup Language (HTML) and the primary standard protocol for allowing applications to locate and acquire web documents is the Hypertext Transfer Protocol (HTTP). However, the term WWW is intended to encompass future markup languages and transport protocols which may be used in place of, or in addition to, HTML and HTTP.
The WWW contains different computers which store electronic pages, such as web documents, capable of displaying graphical and textual information. The computers which contain information remotely accessible through the WWW are generally referred to as "web sites." A web site is defined by an Internet address, and the Internet address has an associated electronic page. Generally, an electronic page may advantageously be a document which organizes the presentation of text, graphical images, audio, and video.
One of ordinary skill in the art will recognize that the communication medium 108 may advantageously be comprised of other types of networks without detracting from the scope of the invention. The communication medium 108 can include, by way of example, local area networks (LANs), wide area networks (WANs), public internets, private intranets, a private computer network, a secure internet, a private network, a public network, a value-added network, interactive television networks, wireless data transmission networks, two-way cable networks, interactive kiosk networks, and the like.
In one embodiment, the portal system 102 facilitates efficient access to information and resources made available on the content servers 106 connected to the communication medium 108. The portal system 102 provides each subscriber a personalized interface which advantageously assists the subscriber to efficiently access the information made available on the communication medium 108. The portal system 102 also presents information and services on the communication medium 108 in an efficient and usable manner. The subscriber may advantageously utilize the portal system 102 and, in particular, the personalized interface, to obtain fast, convenient, and personalized access to information and resources from any user computer 104.
In addition, in one embodiment, the portal system 102 functions as an "infomediary" between the subscriber and the information available on the communication medium 108. As used herein, an "infomediary" can be thought of as a mediator of information. The portal system 102 functions as an intermediary between the subscriber and the available information and resources on the communication medium 108. The portal system 102 facilitates efficient interaction between the subscriber and the requested information and resources available on the communication medium 108. Furthermore, the portal system 102 personalizes the interface and the infomediary services to the subscriber's context as the subscriber accesses the information and resources available on the communication medium 108. The subscriber's context may generally be defined to include information about the subscriber (who the subscriber is) and what the subscriber is attempting to accomplish (the subscriber's objective or purpose in undertaking a particular task). By determining the subscriber's context, the portal system 102 may advantageously present the subscriber information and resources that are relevant to the subscriber's present context. The subscriber's interface may also be modified based upon the subscriber's present context to provide efficient access to the information and resources that are relevant to the subscriber's context.
In another embodiment, the portal system 102 functions as an "interactivity room" that allows multiple subscribers to interact in real time. The interaction within the room may encompass any form of synchronous shared application, such as chatting (via text, voice, video, etc.), synchronized browsing, game-playing, conferencing, whiteboarding, and the like, as well as any form of asynchronous shared application, such as exchanging information (files, events, contact information, etc.), posting to message boards, annotating web pages, and the like.
The participants in the room may be identified and tailored as needed by limiting access to subscribers having a particular context. A subscriber's context includes demographic information (e.g., gender, age, residence, and the like), membership within online communities, a "persona" designating the general purpose for which the subscriber is online (e.g., a business purpose, personal purpose, and the like), a "category" (e.g., travel, shopping, and the like) and including any intent specific information (e.g., toy shopping, book shopping, and the like) that helps to designate a more specific purpose and provide additional relevant information. A subscriber's context further includes the current web page address loaded into the subscriber's web browser and all of the subscriber's past web page selections.
A subscriber may create a context-dependent interactivity room, for example, limited to other subscribers visiting the same web site. Or, more narrowly, the subscriber may create an interactivity room limited to others visiting the same web site for the purpose of shopping for toys.
In another embodiment, the portal system 102 functions as an infomediary between the subscriber and advertisers. The knowledge of subscriber context maintained in the portal system 102 allows advertisers to precisely target advertising based on the purpose with which the subscriber is utilizing the communication medium 108. For example, an advertiser may send a tailored advertisement to a subscriber based on the subscriber's current online purpose of making flight reservations for business travel.
Furthermore, the portal system 102 allows advertisers to target advertising based on the demographics of the subscriber, on the roles he or she assumes within a community, and upon the relationships he or she has with other members within a community. An advertising campaign comprises a set of one or more advertisements targeted at a group of persons together with logic that specifies the recipients for the advertisements, based at least in part on the relationships between the recipients. For example, an advertising campaign targeting a family may be designed to send one version of an advertisement to the husband, followed two days later by a second version of an advertisement to the wife, followed three days later by a third version of an advertisement to the children. The design of the advertisements may take into account differences in demographics and other context information associated with each family member. In another embodiment, the portal system 102 facilitates efficient access to information and resources made available on the content servers 106 connected to the communication medium 108 by providing a popularity-based interface that "mines" the collective experience of subscribers who have accessed those content servers 106 in the past. In this embodiment, the subscriber is presented a display that is organized and prioritized based on the past selection choices of subscribers. This provides the benefit of highlighting those content sites that have been the most popular with subscribers in the past. To further refine the mining process, the population of subscribers used to determine popularity may be limited based upon subscriber context. For example, the portal system 102 may provide to a subscriber several airline reservation web sites selected and organized based upon the past visits of all subscribers who, at the time of the visit, had the online purpose of making flight reservations for business travel. In another example, a subscriber may be provided with several music web sites selected and organized based upon the past visits of all subscribers belonging to an online classical music appreciation community. In yet another example, the search results returned to a subscriber from a web-based search engine may be prioritized based on past subscriber visits to the set of web pages comprising the search results.
Even though the invention is suitable for the portal system 102 to provide its subscribers an interface which facilitates access to available information and resources, the invention will be further disclosed in the context of the portal system 102 providing its subscribers a personalized "portal" to information accessible through the communication medium 108 such as the Internet, and in particular, the WWW. As used herein, a "portal" is generally an interface that provides users access to available and accessible information through a broad array of offered resources and services, such as, by way of example, e-mail, forums, search engines, online shopping, and the like. For example, a WWW portal is generally a service that offers its users a broad array of resources and services available on the WWW. Throughout the drawings, components which correspond to components shown in previous figures are indicated using the same reference numbers.
In one embodiment, the portal system 102 provides subscribers a server-based Internet portal. As used herein, a server-based portal is a portal which is stored and maintained on a computer different from a computer, for example, the user computer 104, typically utilized by the subscriber to access the communication medium 108. Rather, the server-based portal is periodically downloaded or "served" onto and displayed on the subscriber's computer from another computer such as a server which maintains the portal. A user first registers with the portal system 102 and becomes a subscriber in order to subsequently utilize the services and features offered by the portal system 102. A prospective subscriber utilizes the user computer 104 and connects to the portal system 102 through the communication medium 108. Once connected, the portal system 102 requests information from the prospective subscriber such as, by way of example, name, e-mail address, zip code, requested username, requested password, and requested or pre determined edition. Edition is further discussed in greater detail below.
Once the prospective subscriber has provided the requested information, including a unique username and password, the portal system 102 creates one or more appropriate records for the subscriber and launches a portal on the user computer 104. The subscriber may subsequently customize the portal to include information and resources desired by the subscriber as well as to present the desired information and resources in a particular manner. Subsequently, the portal is automatically launched, and thus, executes on the user computer 104 utilized by the subscriber to access the portal system 102, whenever the subscriber logs on to the portal system 102.
In one embodiment, the server-based Internet portal is advantageously implemented as an Active X control which attaches itself to, and executes as part of, a standard browser which executes on the user computer 104. The portal system 102 may advantageously download the Active-X control to the user computer 104 once the prospective subscriber registers with the portal system 102. The Active-X control launches an interface window to be displayed as part of the standard browser display on the user computer 104. The interface window configuration is advantageously transmitted from the portal system 102 to the appropriate user computer 104 when the subscriber logs on to the portal system 102. Subsequently, the interface window configuration is periodically transmitted from the portal system 102 depending on one or more subscriber actions. Hence, the subscriber is not bound to a particular user computer 104 but may access his or her server-based Internet portal from any user computer 104.
The browser is a software program which allows a subscriber to access different computers, including the portal system 102 and the content servers 106, through the communication medium 108. In one embodiment, the browser may be a standard browser such as the Netscape® Navigator developed by Netscape, Inc., the Microsoft® Internet Explorer developed by Microsoft Corporation, WebTV, or an embedded web browser on a hand-held device. One of ordinary skill in the art will realize that other types of access software could also be used to implement the browser. The other types of access software could be, by way of example, other types of Internet browsers, custom network browsers, two-way communications software, cable modem software, point-to-point software, custom emulation programs, and the like. In another embodiment, the server-based Internet portal may be implemented as a plug-in which executes on the user computer 104 and launches the interface window as part of the standard browser display. In still another embodiment, the server-based Internet portal may be implemented as an applet which may be included in, and executed as part of, an interface application such as, by way of example, a standard browser. In yet another embodiment, the server-based Internet portal may be implemented as an HTML frame which is displayed as part of the standard browser. Active-X controls, plug-ins, applets, HTML frames, and other browser extension technologies are generally known to those of ordinary skill in the art. In an alternative embodiment, the server-based Internet portal may be a client application such as, by way of example, a tool bar that is present on the user computer 104, that interacts with the browser.
In one embodiment, the portal system 102 provides subscribers a persistent portal which is displayed as part of the browser display. As used herein, a persistent portal is a portal which is present as part of the browser on the subscriber's computer. In one embodiment, the persistent portal is always present and displayed, either in whole or in part, as part of the browser whenever the browser is displayed. Furthermore, the persistent portal is included as part of the browser irrespective of, and independent of, the browser's location. In another embodiment, the persistent portal is present as part of the browser, and is displayed to the subscriber during at least a portion of the subscriber's browsing experience. Here, the persistent browser may not be displayed during certain periods of the browsing session, for example, when the browser is at a specific location. In still another embodiment, the subscriber is able to tune the persistent feature of the portal including turning on the persistent feature, turning off the persistent feature, selectively turning off the persistent feature, and the like.
In an alternative embodiment, the portal interface may be displayed independent of the browser. Devices such as, by way of example, a palm pilot, cell phone, and other restricted display devices, may not be able to display both the browser and the portal interface. On such devices, the portal interface may be implemented as a client-side application, and the subscriber may have access to the portal interface and not the browser window.
Similar to the server-based portal implementation, the persistent portal may advantageously be implemented utilizing Active X controls, plug-ins, applets, or frames.
Figure 2 is a high level block diagram illustrating one embodiment of the overall process of the present invention. In particular, Figure 2 illustrates a process by which the portal system 102 provides a subscriber an Internet portal comprised of the features and benefits as described herein. Beginning in a start state 200, the portal system 102 receives an activity notification from a remote device in state 202. The activity notification may advantageously be transmitted by a service executing on the remote device. In a first example, the activity notification may be a request initiated by a subscriber of the portal system 102 to access the contents of a specific web page, identified by a particular URL, on the WWW. The request may have been made either through a web browser, or the portal executing as part of the web browser, displayed on the user computer 104.
In one embodiment, the Active-X control forwards or redirects requests initiated by the subscriber through the portal to the portal system 102. Hence, proceeding to state 204, the portal system 102 may advantageously function as an intermediary between the subscriber and the subscriber's request. In particular, the portal system 102 performs the necessary infomediary services associated with the activity notification received in the prior state 202. Certain particulars about specific web pages, such as, by way of example, the information requested by the particular web page, may be maintained by the portal system 102. The portal system 102 may then provide the requested information to the web page on behalf of the subscriber. Submitting requested subscriber information on behalf of the subscriber is discussed in further detail below. In another embodiment, the Active X control may also forward or redirect requests initiated through the browser to the portal system 102. In still another embodiment, the Active X control selectively forwards some of the subscriber's requests initiated either through the browser or the portal to the portal system 102. For example, the Active X control may only forward subscriber requests to surf particular web sites that are identified in a database to the portal system 102. In yet another embodiment, the URL and the header information is redirected to the portal system 102. URL and header information redirection is further discussed below.
The forwarding functionality may be implemented as part of a proxy server. A proxy server is a server or program that sits between a first application, such as a browser, and the second application (the server). The first application advantageously initiates a request to the second application, and the second application serves the request received from the first application. The proxy server intercepts some or all of the requests intended for the second application (the server) to see if the proxy server can fulfill the request itself. If not, the proxy server forwards the request to the intended recipient or the second application (the server). The intercepting, servicing, and forwarding functions may advantageously be considered proxy services (the services provided by a proxy server). It is well known in the art that the proxy servers utilize packet and protocol filtering methods in implementing the proxy services.
In one embodiment, the proxy server functionality may advantageously be extended to include application content filtering in addition to the packet or protocol filtering. The application content filtering facilitates the parsing of the actual application contents contained in, for example, an HTML page, by XML, vCARD/vCAL, and the like. Application content parsing enables the portal system 102 to advantageously perform the necessary infomediary services. The necessary proxy server functionality may be implemented as a server proxy executing on the server, such as, by way of example, the portal system 102, or a client proxy executing on the client, such as, by way of example, the user computer 104, or a hybrid proxy executing on both the server and the client. Proxy servers, as well as application parsing, are well known to those of ordinary skill in the art. Particular aspects of the proxy functionality are further discussed below in conjunction with the discussion of Figure 9.
In a second example, the subscriber may have requested to book an airline flight through an online travel agency on the WWW. The activity notification received in previous state 202 may then be a confirmation of the requested airline fight reservation transmitted by the online travel agency. The portal system 102 may maintain a list of personal applications utilized by the subscriber such as, by way of example, online calendar, online address book, and the like. The portal system 102 may advantageously enter the airline flight information, such as the date and time of departure and the date and time of arrival, in the subscriber's online calendar on behalf of the subscriber. Integrating information into the subscriber's portal, including the subscriber's personal applications, is further discussed below.
In a third example, the subscriber may have previously requested to browse a particular web site. The receipt of the contents of the previously requested web site, and in particular, the home page of the requested web site, may be the activity notification received in prior state 202. The portal system 102 may determine a new context for the subscriber based upon the particular web site requested. Furthermore, the portal system 102 may assist the subscriber in further customizing the subscriber's portal to include information regarding the requested web site such as, by way of example, a hyperlink to the web site. Proceeding to state 206, the portal system 102 services the received activity notification by performing any necessary proxy services. Continuing the first example, the portal system 102 can determine if a copy of the requested web page is maintained on the portal system 102 and, if it is, can directly service the subscriber's request without accessing the content server 106 containing the requested web page. For example, the portal system 102 can transmit the stored web page to the user computer 104, causing the web page to be displayed in the browser executing on the subscriber's user computer 104. Having serviced the activity notification received in prior state 202, the portal system 102 determines that further proxy services are not required and proceeds to end state 208.
With continued reference to the first example, if a copy of the requested web page is not maintained on the portal system 102, or the maintained copy is stale, the request for the subscriber requested web page is transmitted on the WWW by the portal system 102. Having requested the web page on behalf of the subscriber, the portal system 102 proceeds to end state 208. In continuing the second example above, the portal system 102, in addition to integrating the necessary information associated with the notification into the subscriber's personal applications (performing the necessary infomediary services), forwards the received airline flight reservation confirmation to the subscriber and proceeds to end state 208 With reference to, and continuing the third example above, the portal system 102 forwards the contents of the web site requested by the subscriber and received by the portal system 102 to the subscriber's user computer 104 and proceeds to end state 208. Those of ordinary skill in the art will realize that the infomediary service state 204 functions and the proxy service state 206 functions are closely integrated and thus, may be performed in varying order without detracting from the invention
Figure 3 is a high level block diagram illustrating one embodiment of the flow of information between the user computer 104 and the portal system 102 when a subscriber accesses and logs on to the portal system 102 A subscriber utilizes the user computer 104, and in particular, a browser executing on the user computer 104, to connect to, and access, the portal system 102 through the communication medium 108. For example, the subscriber enters the URL of the portal system 102 into a browser window 302 displayed on the user computer 104 The browser requests the contents of the web page identified by the specified URL. The portal system 102 retrieves the contents of the specified web page and launches the web page on the user computer 104 causing the retrieved contents to be displayed in the browser window 302.
In one embodiment, the web page displayed in the browser window 302 requests identification information, such as, by way of example, a username and password, from the subscriber. The identification information is advantageously the information the subscriber previously provided the portal system 102 when registering with the portal system 102. Through the displayed web page, the subscriber submits the requested identification information in order to obtain access to the services offered by the portal system 102. The portal system 102 verifies the received identification information and subsequently transmits the subscriber's portal definition to the user computer 104. The portal definition defines a portal interface 304, and the portal interface 304 configuration and contents, which is displayed as part of the browser window 302 on the user computer 104. Other acceptable methods of requesting and receiving identification information are well known to those of ordinary skill in the art.
The portal definition is associated with the subscriber and defines or configures a personal portal interface 304 for the subscriber. The portal definition is initially created for the subscriber by the portal system 102 substantially at the time the subscriber registers or subscribes for the portal services, or soon after. In another embodiment, the portal definition is created from the subscriber provided information as needed, for example, when the portal system 102 determines that the portal definition needs to be transmitted to the user computer 104.
In one embodiment, the portal definition is transmitted when the portal interface 304 changes from one display state to another display state. The portal interface 304 display state may change from one display state to another display state when the subscriber instantiates an action in the portal interface 304 For example, the portal interface 304 may be displayed on the user computer 104 in a first display state or in a first configuration. The subscriber may request an action in the portal interface 304 that requires the portal interface 304 to change from the present, first display state or configuration to a new, second display state or configuration. The portal system 102 advantageously transmits a new portal definition that causes the portal interface 304 to be displayed in the second display state or configuration. The new portal definition advantageously defines the second display state or configuration of the portal interface 304. In one embodiment, the portal interface 304 may be "served-up" on the user computer 102, for example, over the Internet, from the portal system 102 utilizing mechanisms such as, by way of example, HTTP, Active X, HTML, and the like.
Maintaining the subscriber's portal definition on the portal system 102, and subsequently transmitting the portal definition to the requesting user computer 104, benefits the subscriber by enabling the subscriber to access his or her personalized web portal from any user computer 104 capable of displaying the portal interface 304 defined by the appropriate portal definition. The subscriber further benefits by only having to define the portal definition once while being able to access the portal interface 304 from one or more remote devices.
Figure 4 generally illustrates an example of the portal interface 304 suitable for use with one embodiment of the invention. By way of example, the portal interface 304 is illustrated as comprising a branding area 402, an advertisement area 404, a launch area 406, a mode area 408, a feature bar 410, and a portal display region 412. The provider of the portal service may advantageously be identified in the branding area 402. The ability to identify differing entities in the branding area 402 advantageously facilitates the branding of the portal service. The underlying service may be developed and maintained by an entity different from the entity identified in the branding area 402. This advantageously allows the developers of the portal system 102 to leverage existing subscriber bases of large Internet companies while permitting these companies to offer the portal services to its existing and future subscribers under its own brand. The advertisement area 404 facilitates the display of advertisements to the subscriber. General and targeted advertisements may be displayed in the advertisement area 404. The launch area 406 is comprised of one or more hyperlink buttons which identify one or more web-based services, for example, personal applications. Clicking on a particular hyperlink button using a pointing device, such as, by way of example, a mouse or the like, causes the associated application to be launched in either the browser window 302, the portal interface 304, or both the browser window 302 and the portal interface 304.
In one embodiment, the mode area 408 is comprised of one or more hyperlink buttons which identify one or more modes. A mode advantageously identifies the manner in which the subscriber is utilizing the portal interface 304. The mode further identifies "how" the subscriber is using the portal interface 304. Selecting an appropriate mode identified in the mode area 408 contributes to determining the context of the subscriber. Subscriber context is further discussed below. Appropriately activating a mode from the mode area 408 launches an application that enables the subscriber to accomplish his or her mode in the portal interface 304, and in particular, the portal display region 412. Furthermore, launching a mode from the mode area 408 may alter other content, such as the contents displayed in the feature bar 410 and the contents displayed in the advertisement area 404, in the portal interface 304.
In one embodiment, the feature bar 410 is comprised of one or more hyperlink tabs and one or more pop-up menus. Pop-up menus, pull-down menus, and pop-up windows are well known interface mechanisms and used interchangeably herein. Furthermore, these interface mechanisms may be displayed on any portion of the computer display including, but not limited to, the portal interface 304 and the browser window 302. From the feature bar 410, the subscriber may advantageously select an intent, a persona, or a category. Intent, persona and category contribute to determining the subscriber's context. Furthermore, the selected category may advantageously determine the one or more hyperlink tabs that are displayed in the feature bar 410. Intent, persona, category, and context are further discussed below.
In one embodiment, the hyperlink buttons and the hyperlink tabs advantageously identify and reference appropriate web objects. A web object may be any identifiable content, such as, by way of example, a web page, a web site, web application, web service, and the like, on the Internet, and in particular, the WWW. Depending on the particular hyperlink activated, the appropriate data or contents of the associated web object may advantageously be displayed in the portal display region 412. The content and functionality of the portal interface 304 is discussed in further detail below. Those of ordinary skill in the art will realize that the content and layout of the portal interface 304 may be altered, including displaying the contents of the portal interface 304 in one or more interface windows, without departing from the essence of the invention.
Figure 5 illustrates an example of the portal interface 304 displayed as part of the browser window 302 suitable for use with one embodiment of the invention. By way of example, the portal interface 304 is displayed along the lower portion of the browser window 302. In one embodiment, the portal interface 304 is advantageously persistent in the browser window 302. For example, the portal interface 304 is always displayed and visible whenever the browser window 302 is displayed. The portal interface 304 is displayed regardless of the contents displayed in the browser window 302. If the browser window 302 is resized, the portal interface 304 may advantageously be proportionately resized. If the browser window 302 is collapsed, the portal interface 304 is also collapsed and therefore, not visible. In another embodiment, the portal interface 304 may be independently resized within the browser window 302 to increase the display area of either the browser window 302 or the portal interface 304. In still another embodiment, the portal interface 304 may be relocated to be displayed in another region of the browser window 302. In yet another embodiment, the portal interface 304 may be displayed and visible during a portion of the time the browser window 302 is displayed.
In an alternative embodiment, the portal interface 304 may comprise an "auto-hide" feature. For example, the portal interface 304 may be displayed as an icon, a tool bar, or a title bar in the browser window 302. When a cursor or pointing device is above the icon, tool bar, or title bar, the portal interface 304 may advantageously expand to a larger size in order to present a fuller display. When the cursor or pointing device is no longer over the portal interface 304, the portal interface 304 shrinks down to the icon, tool bar, or title bar mode. The auto-hide feature is configurable by the subscriber.
Figure 6 is a block diagram illustrating one embodiment of the portal interface 304 persistently displayed as part of the browser window 302 over a period of time. At a time tO, subscriber X is logged on and utilizing the services of the portal system 102. In particular, subscriber X's user computer 104 displays the browser window 302 containing the portal interface 304. The browser window 302 displays the contents of subscriber X's start page. Subsequently, subscriber X initiates a request to access the web object identified by URL A. At a time t1, the user computer 104 receives the contents of the requested web object. The contents are appropriately displayed in the browser window 302 displayed on the user computer 104. The portal interface 304 is also displayed as part of the browser window 302 along with the contents of requested URL A. At a subsequent time t3, subscriber X initiates a request for the contents of URL B to be displayed in the browser window 302. At a subsequent time t4, the user computer 104 receives the contents of URL B and appropriately displays the received contents in the browser window 302 along with the portal interface 304. The browser window 302 functions independently of the portal interface 304 in displaying the contents of web objects requested by subscriber X. In one embodiment, independent of the web object accessed and displayed in the browser window 302, the portal interface 304 is persistently displayed to subscriber X. In another embodiment, the portal interface 304 may not be displayed. By way of example, the portal interface 304 may not be displayed when certain web objects are displayed in the browser window 302.
Furthermore, during the illustrated time period tO to t4, subscriber X may advantageously instantiate operations through the portal interface 304. As an example, at a time t2, subscriber X may request to access his or her search engine through the portal interface 304. In one embodiment, the requested search engine may advantageously be displayed in the portal interface 304, and in particular, the portal display region 412, independent of the contents displayed in the browser window 302. In one embodiment, irrespective of the web object accessed through the browser window 302, the services and functionality offered by and through the portal interface 304 is continuously available to subscriber X.
Conventional web portals typically provide a start page which is used as a launching point into the WWW. Once the user launches into the WWW through the start page, the user does not have access to the content and services which are made accessible through the start page. If the user wants access the content and services contained in the start page, the user must navigate back to the start page, for example, through the use of a "back" button available in standard browsers, or maintain multiple browser instances on the user computer 104. One of the browser instances must always reference the start page, and thus, if the user launches from this instance of the start page, the user must initiate another instance of the browser application. In contrast to conventional web portals, the persistent aspect of the present invention advantageously provides a subscriber the ability to maintain continued access to the content and services contained in the portal interface 304 independent of the browser location. The present invention enables the subscriber to utilize the features offered through the portal interface 304, such as, by way of example, receive notifications, launch applications, and view contents of web objects, while the subscriber surfs the WWW utilizing the browser window 302. As a result, the subscriber is never more than a click away from the information included in, and accessible through, the portal interface 304 and which is relevant to the subscriber.
Figure 7 is a flow chart illustrating a subscriber log on process according to one embodiment of the invention. Beginning in a start state 700, the portal system 102 receives a subscriber identification information from a remote device in state 702. The subscriber identification information may advantageously be comprised of information such as a username and password. The remote device may be a particular user computer 104 or any processor controlled device capable of communicating with the portal system 102 and appropriately displaying the information received from the portal system 102 as disclosed herein.
Proceeding to state 704, the subscriber identification information received in previous state 702 is verified. In one embodiment, the portal system 102 may maintain identification information for all registered subscribers in a readily accessible subscriber database. If the received subscriber identification information is not found in the subscriber database, the portal system 102 proceeds to state 706 and transmits an appropriate error message to the remote device. In one embodiment, the portal system 102 may provide the subscriber an opportunity to resubmit the identification information. The portal system 102 then proceeds to end state 716. Referring again to state 704, if the received subscriber identification information is found in the subscriber database, the portal system 102 proceeds to state 708 and retrieves the portal definition for the subscriber identified by the received subscriber identification information. In one embodiment, the portal definition is maintained in one or more data records in a portal database 910 (Figure 9).
One example of the one or more data records containing information comprising the portal definition according to one embodiment of the invention is generally illustrated in Figure 8. By way of example, eight records are illustrated comprising a portal definition record 802, portal current state record 804, persona list record 806, category list record 808, category set element record 810, an intent list record 812, an intent element record 814, and an assistant 816. As illustrated, each subscriber username and password may advantageously be linked to the portal definition record 802, portal current state record 804, persona list record 806, category list record 808, and intent list record 812. Therefore, from a subscriber's username and password, the subscriber's portal definition, and particular aspects of the portal definition, may advantageously be identified and retrieved.
In one embodiment, the portal definition record 802 identifies the content to be displayed in the associated subscriber's portal interface 304, and in particular, the content displayed in the subscriber's portal interface 304 when the subscriber initially logs on to the portal system 102. The portal definition record 802 may be comprised of data fields, such as, by way of example, a brand, advertisement, launch one to launch four, mode one to mode four, initial persona element, initial category element, initial category set element, as well as other fields, which contain information appropriately defining the portal interface 304.
In one embodiment, the brand field advantageously identifies the content placed in the branding area 402. The advertisement field identifies an advertisement server assigned to deliver the advertisements into the advertisement area 404, and the appropriate advertisement server may periodically transmit an advertisement to the user computer 104. The advertisement field may further identify an initial advertisement to display in the advertisement area 404 when the portal interface 304 is initially displayed. In another embodiment, the advertisement field may contain the advertisement to be displayed in the advertisement area 404. Here, an appropriate advertisement server periodically places an advertisement in the advertisement field for subsequent display in the advertisement area 404. The portal system 102 periodically places the contents of the advertisement field in the advertisement area 404. By way of example, the advertisement may be displayed at predetermined periodic intervals, whenever the advertisement server delivers a new advertisement in the advertisement field, whenever the subscriber navigates to a new location, whenever the subscriber instantiates an action in the portal interface 304, and the like.
The launch one to launch four fields respectively identify the four applications associated with the four hyperlink buttons in the launch area 406. By way of example, the first hyperlink may be associated with the subscriber's start page, the second hyperlink may be associated with the subscriber's e-mail application, the third hyperlink may be associated with the subscriber's address book application, and the fourth hyperlink may be associated with the subscriber's calendar application. Instantiating any of the hyperlink buttons, for example, by clicking on the hyperlink button, may cause the associated application to be launched in the browser window 302. In one embodiment, the subscriber may advantageously configure the hyperlink buttons in the launch area 406 to be associated with any web object or service.
The mode one to mode four fields respectively identify the four modes associated with the four hyperlink buttons in the mode area 408. In one embodiment, the portal system 102 may provide modes such as collaborate, search, annotate, notify, portfolio, gaming, configure, and the like. The subscriber may then select four of the available modes to incorporate into the mode area 408. In another embodiment, the portal system 102 may offer four modes as a default. The subscriber may subsequently alter the modes which are made available in the mode area 408. In still another embodiment, the configure mode, and the associated applications which enable the subscriber to configure the portal interface 304, may be made available as a button on the portal interface 304.
By way of example, the first hyperlink may be the collaborate mode, the second hyperlink may be the search mode, the third hyperlink may be the annotate mode, and the fourth hyperlink may be the configure mode. In one embodiment, the collaborate mode may be associated with a chat application and an instant messaging application. Instantiating the collaborate mode may cause the two applications to be listed in the portal interface 304. The subscriber may then select the desired application which causes the selected application to execute. The search mode may be associated with one or more search engine applications. Instantiating the search mode may advantageously list the available search engine applications in the portal interface 304. The subscriber may then select and execute the desired search engine application. In another embodiment, if the search mode, or any other mode, is associated with a single application, instantiating the mode may advantageously cause the associated application to execute.
The annotate mode may be associated with a notes application. The notes application advantageously permits the subscriber to create notes for him or herself, or for other recipients. The configure mode may be associated with a configuration application. In one embodiment, the configuration application is advantageously comprised of one or more configuration modules accessible by the subscriber. The configuration modules permit the subscriber to configure or tune the operation of the portal system 102 services by, for example, turning on or off particular services, modifying the portal system 102 records maintained on behalf of the subscriber, and the like.
The notify mode may be associated with a notification application. The notification application permits the subscriber to specify one or more services, along with notification criteria or events for the respective service, from which the subscriber wants to receive notifications from. The portfolio mode may be associated with one or more investment portfolios specified by the subscriber. Instantiating the portfolio mode may display a list of available - - investment portfolios. Selecting a particular investment portfolio from the list may display the selected investment portfolio in detail in the portal interface 304. In one embodiment, selecting a particular investment portfolio causes the portal interface 304 to obtain the current value of one or more investments specified in the selected portfolio in realtime from one or more web services. The gaming mode may be associated with one or more subscriber selectable games. Instantiating the gaming mode causes the games to be listed in the portal interface 304, and selecting a game causes the game to execute.
Instantiating any of the hyperlink buttons, for example, by clicking on the hyperlink button, causes the mode, and in particular, the application associated with the mode, to be launched in the portal interface 304. In one embodiment, the subscriber may advantageously specify the launch area, such as, for example, the browser window 302 or the portal interface 304, for the applications identified in or with the launch area 406 or the mode area 408. In another embodiment, the subscriber may advantageously configure the hyperlink buttons in the mode area 408 to be associated to any web object, service, or application.
The initial persona element field identifies the initial persona setting of the subscriber at the time the subscriber logs on to the portal system 102. The initial persona setting may be an element in the persona list record 806. The initial category element field identifies the initial category of operation for the subscriber at the time the subscriber logs on to the portal system 102. The initial category may be an element in the category list record 808. The initial category set element field identifies the initial web objects associated with the hyperlink tabs displayed in the feature bar 410. The initial category set may be an element in the category set element record 810. The persona list record 806, category list record 808, and category set element record 810 are further discussed below. In one embodiment, the initial persona element field, initial category element field, and the initial category set element field are configurable by the subscriber, for example, through the configuration application.
It is well known by those of ordinary skill in the art that the number of hyperlink buttons in the launch area 406 and the mode area 408 may vary without departing from the essence of the invention. Furthermore, the portal definition record 802, as well as any other record disclosed herein, may contain additional fields or less fields, and the fields may be in differing order. Moreover, the records disclosed herein may be broken down into a greater number of records or combined into a fewer number of records.
In one embodiment, the portal current state record 804 identifies the current contents displayed in the subscriber's portal interface 304. The portal current state record 804 may be comprised of data fields, such as, by way of example, a current portal display region location, current portal display region content, current persona, current category, and current category set element. The current portal display region location field contains the location of the contents displayed in the portal display region 412. The portal display region content field may advantageously identify the contents presently displayed in the portal display region 412. For example, if the contents displayed in the portal display region is a digest of the contents of a particular web page, the current portal display region location field may advantageously contain the web page URL. The current persona field identifies the current persona selected in the portal interface 304. The current category field identifies the current category selected in the portal interface 304. The current category set element field identifies the category set element which is currently displayed in the portal interface 304, and in particular, in the hyperlink tabs displayed in the feature bar 410. In one embodiment, multiple portal current state records 804 may be maintained by the portal system 102. Each record maintained may be appropriately identified, for example, by a time stamp, subscriber activity, and the like, to further associate the record with the subscriber's activity. The portal system 102 may then re-create the appropriate portal interface 304 based upon the subscriber's activity. Thus, the portal system 102 may provide to the subscriber the appropriate portal interface 304 as the subscriber jumps from one activity to another. Activities are further discussed below.
In one embodiment, the persona list record 806 contains a list of the available personas for a subscriber. A persona may advantageously be equated with an identity such as, by way of example, personal, business, public, anonymous, and the like. The subscriber may advantageously specify, for example, by making a selection on a pulldown menu accessible through the feature bar 410, his or her persona. The subscriber may further select a different persona at any time while accessing the portal system 102. Personas enable the subscriber to utilize the services offered by the portal system 102, and in particular, the portal interface 304, under different identities based upon the particular persona selected. Each persona may be a factor in determining a particular representation of the subscriber, and in particular, the subscriber's preferences based upon the representation.
The persona may advantageously be a factor considered in determining the appropriate view on the subscriber's information. The portal system 102 advantageously presents appropriate subscriber information based on the subscriber's selected persona when responding to requests for subscriber information. For example, if the subscriber operating under the "business" persona initiates a request which in turn requires the submission of the subscriber's address and credit card information for proper processing of the request, the portal system 102 may advantageously submit the subscriber's business address and business credit card information, as opposed to the subscriber's personal address and personal credit card information.
The persona may also be considered by the portal system 102 in providing the subscriber a personalized and efficient information portal. In one embodiment, the portal interface 304 may advantageously operate differently depending on the subscriber's selected persona. For example, the portal current state record 804 may contain additional fields identifying different applications, such as, e-mail application, address book application, calendar application, and the like, for the various personas. Thus, if the subscriber, operating under the "business" persona, instantiates his or her calendar application, the subscriber's business calendar application is launched. Likewise, under the "personal" persona, the subscriber's personal calendar application is launched. In another embodiment, each entry in the subscriber's application may be differentiated by being associated with or tagged to a particular persona. In still another embodiment, the contents displayed in the portal interface 304, such as the contents of the advertisement area 404, feature bar 410, and portal display region 412, may differ depending on the subscriber's persona.
The persona may also advantageously be considered by the portal system 102 when integrating information into the subscriber's applications. For example, a notification confirming a previously requested airline flight reservation, made under the subscriber's "business" persona, may be received by the portal system 102. This notification may advantageously be further processed by integrating the relevant information associated with the airline flight reservation into the subscriber's business applications such as, by way of example, the business address book, the business calendar, and the like.
In one embodiment, the subscriber may advantageously channel his or her communications by persona. While the subscriber is utilizing the portal system 102 services, for example, to surf the WWW, in a particular persona, the subscriber receives notifications for the particular persona. For example, when surfing the WWW in a "personal" persona, the subscriber receives notifications for his or her personal applications, such as e-mail, chat account, and the like. As a further example, new contacts or events received while surfing the WWW under the "personal" persona may advantageously be added to the subscriber's personal address book application or calendar application (contacts or events added to their the subscriber's address book or calendar are identified as being associated with the subscriber's personal persona).
In another embodiment, the portal system 102 may maintain information regarding a subscriber's activity according to the subscriber's persona at the time the subscriber instantiated the particular activity. For example, the subscriber's click stream data may be maintained according to the subscriber's persona. Thus, the portal system 102 can utilize this data to efficiently assist the subscriber as the subscriber switches back and forth between a first activity to a second activity as well as between one persona to another.
In one embodiment, the persona information may be considered by the portal system 102 in sharing the subscriber's contact information. The subscriber's contact information is shared through the subscriber's active business card. The persona information may also be a factor considered when determining the subscriber's context. The active business card and context are further discussed in detail below. In a further embodiment, the subscriber may also create a persona to further identify the subscriber as the subscriber utilizes the portal system 102. The portal system 102 advantageously assists the subscriber, for example, through a utility such as a wizard or other interface program, to submit the information needed for the newly created persona to function within the portal system 102. In another embodiment, newly created personas may advantageously be made available to all of the other subscribers or to a subset of the subscribers. For example, a subscriber who is a member of Organization W may advantageously create a new persona and request that the portal system 102 offer the newly created persona to other subscribers belonging to Organization W.
In one embodiment, the category list record 808 contains one or more categories. As used herein, a category organizes the content displayed in the portal interface 304. Specifying a category causes the portal system 102 to display content in the portal interface 304 which is associated with the specified category. A subscriber may advantageously select a particular category, such as, by way of example, bookmarks, history, my routine, travel, shopping, converse, look up, search, browse, finance, download, news, and the like, by making a selection on a pop-up menu accessible through the feature bar 410. The subscriber may further select a different category at any time while accessing the portal system 102.
The category impacts the operation of the portal system 102 and, in particular, the contents displayed in the portal interface 304. Each category is associated with a set of features which are displayed in the portal interface 304. Each feature in the set of features may advantageously be associated with a hypertext tab displayed in the feature bar 410 of the portal interface 304. Selecting a different category may cause the portal interface 304 to display a different set of features which is associated with the newly selected category. Each set of features may advantageously be maintained in the category set element record 810, and each category in the category list record 808 may reference the appropriate category set element record 810. By way of example, the category "shopping" may be associated with a feature set comprised of books, music, computers, electronics, toys, and gifts, while the category "travel" may be associated with a feature set comprised of common, popular, reservations, providers, discounts, vacation, itineraries, and mileage information. If the current category is "shopping," the hypertext tabs displayed in the feature bar 410 will be for books, music, computers, electronics, toys, and gifts, respectively. Changing the category to "travel" will cause the hypertext tabs to display common, popular, reservations, providers, discounts, vacation, itineraries, and mileage information, respectively. As can be seen, the hypertext tabs displayed in the feature bar 410 are connected to the appropriate category.
Furthermore, each element in the category set element record 810 may advantageously specify data which is to be displayed in the portal display region 412. The data may be advantageously stored in a portal display region content record. Instantiating the particular category set element, for example, through the appropriate hyperlink tab in the feature bar 410, displays the data specified in the associated portal display region content record in the portal display region 412. The data may be a digest of the contents of a web page specified by the particular category set element. The digest may be "clipped" from the web page contents and specified through the category set element record 810, and in particular, the portal display region content record. In another embodiment, the portal display region content record may refer to data which is to be "clipped" to create the digest. The portal display region 412 is capable of displaying any data which is likewise displayable in a standard browser window.
Each element in the category set element record 810 may advantageously be associated with another category set element record 810. For example, with reference to the previously mentioned "shopping" category, the feature (category set element) "books" may further reference another set of features, such as, by way of example, fiction, non-fiction, reference, religious, and magazines. Instantiating the hyperlink tab for the feature "books" may then advantageously cause the hyperlink tabs displayed in the feature bar 410 to be fiction, non-fiction, reference, religious, and magazines, respectively.
In one embodiment, the elements in the category list record 808 and the associated one or more category set element records 810 may be accessed and instantiated through one or more pop-up menus in the portal interface 304, and in particular, the feature bar 410. One embodiment of the inter-connected pop-up menus is illustrated in Figure 10. Again referring to the prior "shopping" category example, a first pop-up menu in the feature bar 410 may advantageously list the available categories. Selecting the category "shopping" from the first pop-up menu may advantageously cause a second pop-up menu to be displayed containing the feature set (books, music, computers, electronics, toys, and gifts) associated with the selected category "shopping." Selecting "books" in the second pop-up menu may advantageously cause a third pop-up menu, containing the feature set comprised of fiction, non-fiction, reference, religious, and magazines, to be displayed. This process may be repeated in a recursive manner until the available feature sets have been displayed. In another embodiment, the one or more feature sets may be displayed as a hyperlink directory tree in the portal display region 412.
In one embodiment, the portal system 102 provides one or more configuration programs through which the subscriber may change the contents of his or her portal interface 304. In particular, the subscriber may advantageously alter the contents of the data records 802, 804, 806, 808, 810, 812, and 814. The subscriber may also specify the contents which is to be displayed in the portal display region 412 for each of the category set elements. For example, the subscriber may request that a specific directory tree be displayed when a particular hyperlink tab (category set element) is selected from the feature bar 410.
In another embodiment, the subscriber may create a new category. The portal system 102 may advantageously assist the subscriber, for example, through a utility such as a wizard or other interface program, to submit the information necessary to create an entry in the category list record 808 for the newly created category. Moreover, the portal system 102 may advantageously assist the subscriber create the necessary category set element records 810. Similar to subscriber created personas, subscriber created categories may be offered as a selection to other subscribers. Referring again to Figure 7, having retrieved the portal definition in state 708, the portal system 102 proceeds to state 710 and determines if any client code needs to be downloaded onto the remote device. In one embodiment, the client code is comprised of the program or controls which facilitate the forwarding or redirecting of the requests to the portal system 102. In another embodiment, the client code may be comprised of the program or controls which facilitate the persistent function of the portal interface 304. In still another embodiment, client code may not be necessary, for example, in a HTML frames implementation of the portal interface 304.
If the remote device has been previously used to access the portal system 102, for example, the remote device is the same device used by the subscriber to subscribe to the portal system 102, the necessary client code would have been previously downloaded to the remote device, and thus, should be present on the remote device unless the client code was somehow deleted, for example, by reloading the browser application. If the remote device does not contain the necessary client code, or the client code is a prior version, the portal system 102 downloads the client code to the remote device in state 712.
In another embodiment, the client code may be one or more components, such as a client infomediary control module 902 (Figure 9), which is configured to execute on the remote device. The downloaded components execute on the remote device and assist the portal system 102 in facilitating and performing some or all of the features and functions as disclosed herein. The downloaded components may communicate with the portal system 102 in performing its function. Client code is further discussed below in conjunction with the client infomediary control module 902 discussion.
In still another embodiment, the client code may additionally comprise a copy of the subscriber's information, for example, the subscriber's data records maintained by the portal system 102. Maintaining a copy of the subscriber's records on the remote device reduces the number and frequency of the communications between the remote device and the portal system 102 in performing the required functions. The portal system 102 may then periodically upload the subscriber's records maintained on the remote device.
Referring again to Figure 7, the portal system 102 either downloads the client code in state 712 or determines that the client code is not needed on the remote device in state 710. Proceeding to state 714, the portal system 102 transmits the portal definition retrieved in the previous state 708 to the remote device and proceeds to end state 716.
In one embodiment, the intent list record 808 contains one or more intents. As used herein, an intent organizes an action undertaken by a subscriber through the portal interface 304. An intent addresses the purpose or objective of the subscriber action. The intents may be, by way of example, travel, shopping, converse, look up, search, browse, news, and the like. The intents may advantageously be maintained in the intent list record 812. Each intent may further reference a list of one or more elements. The list of elements may advantageously be maintained in the intent element record 814. Each of the elements may further reference a list of one or more subelements. Each of the subelements may reference a list of one or more subsubelements. The list of subelements and subsubelements may be maintained in appropriate records similar to the intent element record 814. Ultimately, each intent may reference an assistant 816 that assists the subscriber in performing the action specified by the intent. It is appreciated by those of ordinary skill in the art that each intent may reference a different number of elements and subelements. Furthermore, certain intents may or may not ultimately reference an assistant 816.
For example, the assistant 816 may present a list of online services or web sites that are capable of interacting with the assistant 816 to process the subscriber action. The assistant 816 may additionally present a list of related services that are capable of interacting with the assistant 816. In one embodiment, the presented services or web sites are enabled sites. The subscriber may select one or more services from the list, whereupon the assistant 816 submits or inputs the subscriber information to the selected online service or web site for processing. Methods of interaction include, by way of example, XML, HTML, plain text, e-mail for off-line processing, and other communication methods specified in the enabled sites discussion below. In one embodiment, the subscriber may access the list of available intents through an intent button present on the portal interface 304. Clicking on the intent button, with a pointing device, such as a mouse or the like, may display a pop-up menu displaying the intents. The subscriber may then explicitly select an intent from the pop-up menu.
Selecting a particular intent may display another pop-up menu containing the list of elements for the particular intent.
Selecting a particular element from the pop-up menu may display a subsequent pop-up menu containing the list of subelements for the particular element. This process is repeated until the subscriber accesses the last sub...subelement for the particular intent. In one embodiment, the assistant 816 for the particular intent is displayed to assist the subscriber perform the action represented by the intent and the selections made through the sequence of pop-up menus. By way of example, the subscriber may explicitly specify the "shopping" intent on a first pop-up menu.
Subsequently, a second pop-up menu may be displayed which lists the elements books, music, computers, electronics, toys, and gifts. The subscriber may then indicate his or her intent as "shopping for books" by selecting "books" from the second pop-up menu. Subsequently, a third pop-up menu may be displayed which lists the subelements fiction, non- fiction, reference, religions, and magazines. The subscriber may then further indicate his or her intent as "shopping for fiction books" by selecting "fiction" from the third pop-up menu. Subsequently, the shopping assistant 816 may be displayed which assists the subscriber in accomplishing his or her task of "shopping for fiction books."
In one embodiment, the shopping assistant 816 may request information, such as, by way of example, one or more book titles, who the book is for, why or for what occasion is the book being purchased, what online services the subscriber prefers, and the like, through one or more pop-up windows. The assistant 816 may determine some or all of the subscriber information needed to perform the action from the information regarding the subscriber maintained by the portal system 102 or by asking the subscriber to explicitly provide the necessary information through one or more pop-up windows. In another embodiment, the shopping assistant 816 may present one or more pop-up windows that asks the subscriber one or more questions related to the shopping intent. The subscriber may then respond to the questions by entering a string of text. The shopping assistant 816 may then parse the input text string in formulating the necessary information to assist the subscriber perform the shopping activity.
In another embodiment, the assistant 816 may additionally provide the subscriber the option of expanding his or her action to include other books or other online services. In one embodiment, the assistant 816 performs the provided services in real-time, upon receiving the subscriber's request. In another embodiment, the assistant 816 may defer the performance of the provided services to a later time; the assistant 816 may perform the services as a batch or off-line process. In still another embodiment, the assistant 816 may provide the subscriber the option of specifying whether the services are to be performed in real-time or off-line. It is appreciated by those of ordinary skill in the art that the other assistants 816 may be implemented to perform their appropriate services in a likewise similar manner. In another embodiment, the portal system 102 may implicitly determine the subscriber's intent by monitoring the subscriber's actions. For example, the subscriber's intent may be determined implicitly from one or more structured statements or unstructured statements provided by the subscriber, or both. The structured statements may be obtained through one or more assistants 816 which are presented to the subscriber. For example, the portal system 102 may determine that the subscriber has specified "travel" as his or her category and that the subscriber is browsing web sites containing information about Asia. An assistant 816 may then execute that displays a pop-up window listing one or more structured statements to the subscriber from which the subscriber can make a selection. As an example, the structured statements may be "find travel destinations in Asia," "find cheap air fares to Asia," "find vacation packages to Asia," and the like. Subsequent to the subscriber selecting one of the presented structured statements, the assistant 816 may display a subsequent pop-up window listing a list of countries. In like fashion, the assistant 816 may assist the subscriber perform the appropriate action which is associated with the implicitly determined intent.
In still another embodiment, the portal system 102 may utilize natural language parsing techniques to implicitly determine the subscriber's intent. For example, one or more subscriber submitted statements, such as, by way of example, search strings, may be parsed to implicitly determine the subscriber's intent. In one embodiment, having implicitly determined a portion of the subscriber's intent through natural language parsing, the portal system 102 may utilize one or more assistants 816 to present one or more additional structured statements in order to more fully determine the subscriber's intent. Natural language parsing technology is well understood by those of ordinary skill in the art.
In yet another embodiment, the portal system 102 may implicitly determine the subscriber's intent from one or more context factors maintained for the subscriber. For example, the portal system 102 may implicitly determine the subscriber's intent from factors such as, by way of example, the specified category, the web object being accessed or browsed, or other information regarding the subscriber. For example, the subscriber may have selected the "research" category on his or her portal interface 304 and be currently browsing the ABCcompany.com web site. From this information, the portal system 102 may implicitly determine the subscriber's intent as "researching information regarding ABCcompany.com." The portal system 102 may subsequently provide the subscriber an assistant 816 that asks if the subscriber wants to research ABCcompany.com. In one embodiment, the assistant 816 may advantageously be an extension of the standard research assistant 816. In another embodiment, the assistant 816 may present one or more structured statements in order to further determine the subscriber's intent.
In one embodiment, the subscriber may create new intents. The portal system 102 may advantageously assist the subscriber, for example, through a utility such as a wizard or other interface program, to submit the information necessary to create an entry in the intent list record 812 for the newly created intent. Moreover, the portal system 102 may advantageously assist the subscriber create the necessary intent element records 814. The portal system 102 may create the assistant 816 for the newly created intent from the information and data provided by the subscriber to create the intent. Similar to subscriber created personas, subscriber created intents may be offered as a selection to other subscribers. Figure 9 is a high level block diagram illustrating one embodiment of the selected components of the user computer 104 and the portal system 102. The user computer 104 includes the client infomediary control module 902 which is inter-connected to and communicates with the cache 904, browser window 302, and the portal interface 304. The client infomediary module 902 and the cache 904 are optional and may or may not exist on certain user computers 104. For example, the client infomediary control module 902 may not exist on user computers 104 with limited processing capabilities. Furthermore, the client infomediary control module 902 may not be required in implementations where all the infomediary processing is performed on the portal system 102. The cache 904 may not exist on user computers 104 with limited memories or on computes in which the client infomediary control module 902 is not present. The portal system 102 includes a server infomediary control module 906, a proxy control module 908, the portal database 910, a session control module 912, and one or more assistants 816. The depicted components may advantageously communicate with each other and other components comprising the respective computers through mechanisms such as, by way of example, interprocess communication, remote procedure call, and other various program interfaces. Furthermore, the functionality provided for in the components, modules, and databases may be combined into fewer components, modules, or databases or further separated into additional components, modules, or databases. Additionally, the components, modules, and databases may advantageously be implemented to execute on one or more computers. In another embodiment, some of the components, modules, and databases may be implemented to execute on one or more computers external to the portal system 102. In this instance, the portal system 102 includes program logic which enables the portal system 102 to communicate with the externally implemented components, modules, and databases to perform the functions as disclosed herein.
In one embodiment, the client infomediary control module 902 performs hyperlink interception. The hyperlink interception, and the necessary redirecting function, may be performed by a redirecting component within the client infomediary control module 902. The client infomediary control module 902 may interact with the portal system 102 in performing its functions associated with the hyperlink interception. One function performed by the client infomediary control module 902 may be to determine whether the web object associated with the particular hyperlink selected by the subscriber requires information to be input by the subscriber. In one embodiment, what input the web object requires may advantageously be maintained by the portal system 102 in an enabled site record 1802 (Figure 18). The enabled site record 1802 and enabled sites are further discussed below. The client infomediary control module 902 communicates with the portal system 102 to determine if the web object is enabled. Furthermore, the client infomediary control module 902 may communicate with the portal system 102 to obtain the necessary subscriber information required by the web object. In another embodiment, the enabled site record 1802, and other information, including the subscriber information, and data maintained by the portal system 102 may advantageously be downloaded to the user computer 104 and maintained in the cache 904. The client infomediary control module 902 may then communicate with the cache 902 in performing its functions. The contents of the cache 902 may then be periodically uploaded to the portal system 102. In one embodiment, the client infomediary control module 902 may advantageously perform some or all of the infomediary functions, such as, by way of example, extracting content or information from a web object and entering the extracted content or information into one or more personal applications for the subscriber, modifying the portal interface 304, updating the subscriber's records maintained by the portal system 102, updating the subscriber's context, creating and maintaining a click stream history, uploading information to the portal system 102, downloading information from the portal system 102, inputting information into one or more web objects, redirecting requests to the portal system 102, and other infomediary functions as described herein, on the user computer 104.
In another embodiment, the client infomediary control module 902 redirects requests made on the user computer 104 by intercepting the URL and the header information from a request made by the subscriber in the browser window 302 or the portal interface 304. The client infomediary control module 902 may access data maintained in the cache 904 or the portal database 910 to determine the appropriate action or actions to take in processing the particular subscriber request. For example, the cache 904 or the portal database 910 may contain a list of web objects which are not available to the particular subscriber. If the intercepted URL is for a web object which is not found on this list, the client infomediary control module 902 may permit the subscriber to navigate to the requested URL. If the intercepted URL is found in the list, the client infomediary control module 902 may block access to the web object. In another example, the client infomediary control module 902 may determine from data maintained in the cache 904 or the portal database 910 that the subscriber should be navigated to a new location instead of the location specified by the URL. Once the client infomediary control module 902 determines and grants access to the web page, the web page contents are transmitted directly from the remote device 914 containing the web page and the user computer 104. The client infomediary control module 902 does not participate in the page loading; the contents of the web page are not intercepted by the client infomediary control module 902. Thus, in this embodiment, the portal system 102 also does not participate in the page loading.
In one embodiment, the client infomediary control module 902 stores the intercepted URL and header information for subsequent utilization by components of the portal system 102 in providing the services as disclosed herein. For example, the URL may be used in maintaining a URL or click stream history for the subscriber. As another example, the client infomediary control module 902 may independently request the contents of the web page referenced by the URL. The client infomediary control module 902 may then edit the contents of the page, and store the entire contents, the edited contents, or both, in the cache 904 or the portal database 910. Subsequent requests to access the contents of the particular URL may cause the client infomediary control module 902 to retrieve either the edited contents or the entire contents for display without having to access the actual web page. If the subscriber requested the contents from a restricted web site, the client infomediary control module 902 may advantageously display, if available, the edited contents for the particular web site.
As still another example, header information and the URL may advantageously be used by the client infomediary control module 902 to provide subscribers efficient access to the web site. The client infomediary control module 902 may request the contents of a sequence of web pages contained in the web site. The sequence of web pages may be determined from one or more intercepted URLs. The client infomediary control module 902 may determine the format of the contents either from the enabled site record 1802 (Figure 18) or by parsing the contents of the web pages. From this information, the client infomediary control module 902 may appropriately supplement the intercepted header information in order to sequence the inputting of data into, or the extraction of data out of, the sequence of web pages. Subsequently, if the subscriber requests the URL, the client infomediary control module 902 may enhance the subscriber's browsing experience by efficiently organizing the contents of the sequence of web pages, or efficiently inputting data requested by the sequence of web pages, and presenting to the subscriber one or more web pages containing data and information of interest. In one embodiment, the data and information of interest may be obtained by editing the contents of the web pages. Thus, the subscriber is not presented with and does not have to bother with unnecessary web pages.
In one embodiment, the hyperlink interception function may be implemented as a modification to the browser on user computers 104 that do not have the client infomediary control module 902. For example, the browser may be modified with an Active X control that performs hyperlink interception. In another embodiment, the hyperlink interception function may be implemented in a client application that executes on the user computer 104 whenever the subscriber is logged on the portal system 102.
It is appreciated by those of ordinary skill in the art that some or all of the functions and features of the client infomediary control module 902 may be implemented on the portal system 102, for example, as part of the server infomediary control module 906, without detracting from the essence of the invention. Furthermore, for user computers 104 lacking the necessary processing capability, the functions and features of the client infomediary control module 902 and the cache 904 are implemented and performed on the portal system 102.
The server infomediary control module 906 comprises one or more modules or components that perform the infomediary functions as described herein. In particular, the server infomediary control module 906 functions as the subscriber's agent in interfacing with the subscriber's records, personal applications, and other web objects.
In one embodiment, the server infomediary control module 906 may comprise, for example, a configure component, a monitor component, a context specific information component, a filter component, and a data integrate component. The configure component includes one or more applications, such as the configuration application, that facilitate the configuration and modification of the services offered by the portal system 102 as disclosed herein. The configure component may be accessed by the subscribers, content providers, portal system 102 administrators, and other third parties who are granted access to the portal system 102. For example, the subscriber may invoke the configure component to modify his or her portal interface 304 settings. The content provider may access the configure component to enable or disable its web site or to create a particular edition of the portal system 102. The portal system 102 administrator may utilize the configure component to enable additional web sites, disable web sites, or alter the services provided by the portal system 102.
The monitor component may be implemented as one or more applications that monitors, processes, and maintains the data, information, and requests that are received by the portal system 102 to facilitate the operation of the portal interface 304 and the other services comprising the portal system 102 as disclosed herein. In one embodiment, the monitor component maintains information regarding the subscriber by, for example, monitoring the subscriber activity on the portal interface 304 or the browser window 302. For example, by analyzing the subscriber's actions, along with the appropriate action results, such as service responses, the monitor component may maintain information regarding the subscriber, such as the current portal interface 304 configuration, a subsequent portal interface 304 configuration, the context, the current browser location, the requested browser location, the personal applications, and other subscriber information as disclosed herein, in the appropriate records. As an example, the monitor component analyzes the subscriber's actions and updates the appropriate portal system 102 records which store the information regarding the subscriber. The monitor component also analyzes the subscriber information to retrieve the appropriate information and data maintained by the portal system 102 for transmission to remote devices 914 such as the user computer 104 and the content server's 106. For example, the monitor component may determine from one or more factors, such as the subscriber's click stream history, the subscriber's request or action, and the like, that a differently configured portal interface 304 needs to be displayed for the subscriber. The monitor component may advantageously update the appropriate records for the portal interface 304 to create the appropriate portal interface 304 configuration. The portal definition for the appropriate configuration is then transmitted to the user computer 104.
In one embodiment, the monitor component utilizes the data and information to provide the services offered by the portal system 102. In one example, the monitor component may incorporate the data and information into the portal interface 304 through one or more of the assistants 816. In another example, the monitor component may utilize the data and information to facilitate the proper operation of one or more assistants 816. In another embodiment, the monitor component may utilize the data and information to create and maintain one or more dynamic assistants 816 for the subscriber.
The context specific information component may be implemented as one or more applications that create context specific information, as disclosed herein, from one or items of data. The context specific information component may utilize additional information maintained by the portal system 102 to identify and create context specific information from the received data. As an example, the context specific information component receives one or more items of data originally input by a subscriber through the portal interface 304. The context specific information component may then utilize one or more factors comprising the subscriber's context to identify the items of data that are specific to the context, and thus, create the context specific information.
The filter component may be implemented as one or more applications that filter data or information according to one or more factors or criteria as disclosed herein. This creates one or more items of data or information that satisfy the one or more factors or criteria used. As an example, the filter component may filter a search result contents targeted for a subscriber based on one or more factors comprising the subscriber's context such as, for example, demographics, edition, persona, mode, category, intent, and the like. In one example, the search results may be filtered based on the subscriber's current category. The search result contents which are related to the present category may advantageously be identified. In another example, the subscriber demographics may be utilized to filter the search results in order to identify and display the web sites which are in the subscriber's locale. In still another example, if the subscriber is an adult, the search results may be filtered to identify the items which are targeted to adults. The data integrate component may be implemented as one or more applications that receive as input one or more items of data and integrate the received items of data into one or more web objects as disclosed herein. In one embodiment, the data integrate component may determine the appropriate subscriber context and appropriate subscriber applications which are to be updated with the data. This information may be obtained from the subscriber information maintained by the portal system 102. In another embodiment, the appropriate subscriber context or the appropriate subscriber applications may be identified by another component, for example, the monitor component, and be input to the data integrate component. The data integrate component may utilize information and data maintained by the portal system 102, as well as the transmit component, to communicate with, and update the appropriate subscriber applications.
It is appreciated by those of ordinary skill in the art that some or all of the features and function of the server infomediary control module 906 as disclosed herein, including, but not limited to, the configure component, monitor component, context specific information component, filter component, and data integrate component may be implemented to execute on the user computer 102 or one or more other computers connected to the communication medium 108.
The proxy control module 908 includes one or more modules that perform the proxy services as disclosed herein. In one embodiment, the proxy control module 908 may comprise, for example, a transmit component. The transmit component receives data from one or more devices connected to the communication medium 108, such as, by way of example, the user computer 104, content server 106, or a remote device 914. For example, the transmit component receives a forwarded request from the user computer 104 and parses the application data. The application data is communicated to the monitor component of the server infomediary control module 906 to enable the server infomediary control module 906 to process the data and perform the infomediary services as disclosed herein. The transmit component also receives and processes requests to transmit data over the communication medium 108 to one or more devices connected to the communication medium 108. The components comprising the server infomediary control module 906 may submit such requests to the transmit component.
In another embodiment, the transmit component may parse the protocol to determine the intended recipient of the request. In addition to submitting the application data to the server infomediary control module 906, the transmit component may transmit the request to the intended recipient for further processing.
By way of example, the user computer 104 may forward a request initiated by a subscriber to access a web page stored on the remote device 914 to the portal system 102. The transmit component of the proxy control module 908 advantageously receives the forwarded request and parses the application contents (application data). The parsed application contents are then communicated to the monitor component of the server infomediary control module 906. The monitor component performs the necessary infomediary services, as described herein, on the application contents. In one embodiment, the monitor component may determine if the forwarded request needs to be transmitted to the intended recipient for further processing. If so, the monitor component requests the transmit component to transmit the forwarded request to the intended recipient. In another embodiment, the transmit component may independently determine if the forwarded request needs to be transmitted to the intended recipient for further processing. The transmit component advantageously transmits the necessary forwarded request to the remote device 914.
Continuing the prior example, the remote device 914 services the received forwarded request and transmits the appropriate response, the requested web page contents, to the portal system 102. The transmit component of the proxy control module 908 receives the response and parses the application contents (the web page contents). The application contents are communicated to the monitor component of the server infomediary control module 906 for necessary processing. In one embodiment, the transmit component advantageously transmits the response to the user computer 104. In another embodiment, the remote device 914 may transmit the web page contents directly to the user computer 104.
In one embodiment, the proxy control module 908 proxies all requests made by a subscriber on his or her user computer 104. In another embodiment, the proxy control module 908 proxies selected requests made by the subscriber. For example, the proxy control module 908 may determine if information regarding a particular request, such as the particular web object, is maintained on the portal system 102. If the necessary information regarding the web object is not maintained on the portal system 102, the proxy control module 908 may advantageously inform the user computer 104 to not forward subsequent requests for the web object to the portal system 102. The user computer 104 may subsequently communicate with the web object, such as, by way of example, the remote device 914, directly. In still another embodiment, the request or authorization to not forward subsequent requests may be conditional, for example, as long as the subscriber is in the same context. Subscriber context is further discussed below. In one embodiment, the proxy control module 908 determines whether particular events need to be forwarded by the user computer 104 to the portal system 102. For example, a subscriber may instantiate an action, such as a request to participate in a chat room. The request may be forwarded by the user computer 104 to the portal system
102 for processing. The portal system 102 services the forwarded request. Subsequently, either the server infomediary control module 906 or the proxy control module 908 may advantageously determine that subsequent requests associated with communicating in the particular chat room need not be forwarded to the portal system 102 by the user computer 104. The portal system 102 informs the user computer 104 to not forward future requests associated with communicating in the particular chat room. In one embodiment, the URLs for which the user computer
104 need not forward to the portal system 102 may be maintained in a database, for example, the cache 904, on the user computer 104. The browser executing on the user computer 104 may determine from this database whether or not to forward a subscriber's request for a particular URL to the portal system 102.
The portal database 910 contains the databases, records, data, and other information as disclosed herein. The portal database 910, as well as other databases disclosed herein, may advantageously be implemented on addressable storage medium on the same or different computers. In one embodiment, the databases are implemented with Structured Query Language (SQL) code. SQL is a relational database language standardized by the International Standards Organization (ISO). The databases can be implemented utilizing any number of commercially available database products such as, by way of example Oracle, Microsoft® Access and the like. The database may be, by way of example, a relational database, an object oriented database, a hierarchical database, an LDAP directory, an object oriented-relational database, and the like. In another embodiment, the databases may conform to any database standard, or may even conform to a non-standard, private specification. In still another embodiment, the databases may be implemented using the file system provided with the operating system executing on the computer.
In one embodiment, the session control module 912 manages a subscriber's session as the subscriber utilizes the portal system 102. As used herein, a session is defined as starting when the subscriber logs on to the portal system 102 and ending when the subscriber logs off of the portal system 102. A session may further be divided into one or more activity contexts. As used herein, an activity can be thought of as a task or endeavor, such as, by way of example, searching for a particular item, making a flight reservation, participating in a particular event, and the like. In one embodiment, the activity context is based on or unified by a single intent. Furthermore, an activity may comprise one or more subscriber instantiated actions in performing the activity. An activity context can be thought of as an assignment of a context to an activity. The activity context may advantageously be a sequence of one or more subscriber actions while in the same context.
The assistants 816 assist a subscriber to efficiently utilize the services provided by the portal system 102 as disclosed herein. In one embodiment, the assistants 816 are implemented as one or more software modules that display one or more interfaces, such as pop-up menus, pop-up windows, and the like, that assist the subscriber in performing a task or utilizing a service. The assistants 816 may present one or more items of data through the one or more interfaces. The assistants 816 may also request data from the subscriber through the interfaces. For example, the assistants 816 may provide one or more lists from which the subscriber is to make a selection, or may ask one or more questions to which the subscriber is to provide a reply by entering a string of text. Furthermore, the assistants 816 may facilitate the integration of data into and out of the portal interface 102 as disclosed herein. The assistants 816 may also integrate information out of and into the subscriber's personal applications. For example, the assistants 816 may use the subscriber's persona to extract account information from the subscriber records, extract or integrate events into the subscriber's calendar application, extract or integrate contacts from the subscriber's address book, and the like. The assistants 816 interact with and are utilized by the modules and components comprising the portal system 102.
In one embodiment, the subscriber may activate and de-activate each of the assistants 816 disclosed herein. For example, a list containing the assistants 816 may be accessed through the portal interface 304. From this list, the subscriber may be able to activate or de-activate an assistant 816, for example, through a toggle selection. In another example, the subscriber may be offered the option of de-activating a particular assistant 816 when the particular assistant executes. The option to de-activate the assistant 816 may be presented in one of the assistant's 816 pop-up window or in another window displayed on the user computer 104.
Figure 11 is a block diagram representation of one embodiment of a subscriber session illustrating the activity contexts. The session control module 912 monitors a subscriber's action or request and classifies each action or request into an appropriate activity, and furthermore, assigns an appropriate context to the activity. In particular, the session control module 912 creates and updates the appropriate records and databases required in maintaining the session and activity context information. The activity context information is utilized by the portal system 102 in assisting the subscriber as the subscriber moves from one activity to another, and also back and forth between one activity and another, during the subscriber's browsing experience. For example, the portal system 102 may maintain state information, such as the last web object the subscriber was at in an activity before the subscriber switched to a different activity. Thus, if the subscriber returns to the previous activity, the portal system 102 may provide the subscriber the option of returning to the last state, or possibly any prior state, the subscriber was in before leaving the particular activity the previous time. The state information may be further categorized and maintained by the subscriber's context.
Figure 12 is a representation of one embodiment of a context record. A subscriber's context is maintained in a context record. A context record may be comprised of information such as, by way of example, demographics, edition, persona, intent, category, mode, browser location, browser click stream history, and other information regarding and related to the subscriber and the subscriber's activity as monitored by the portal system 102. As illustrated, the context record is associated with a particular subscriber's username and password. Therefore, from a subscriber's username and password, the subscriber's context may advantageously be determined from the contents of the context record.
In one embodiment, the demographics include information about the subscriber, such as, by way of example, age, gender, residence, profession, political affiliation, interests, and the like. The edition identifies the subscriber's portal system 102 edition or configuration, and is further discussed below. The persona, intent, category, and mode identify the subscriber's persona, intent, category, and mode as disclosed herein. The browser location may identify the web object currently accessed by the subscriber. In one embodiment, the browser location may identify the location accessed by the browser window 302. In another embodiment, the browser location may identify the location accessed by the portal interface 304. In still another embodiment, the browser location may identify both the location accessed by the browser window 302 and the portal interface 304. The browser click stream history may identify the click stream history for the browser window 302, the portal interface 304, or both the browser window 302 and the portal interface 304.
In one embodiment, the context, and in particular, the subscriber's context, is an underlying principle upon which the portal system 102 services are based. The subscriber's context may be a factor in determining, for example, the content of the portal interface 304, the subscriber's available contacts, the subscriber's associations, the subscriber's relationships, the subscriber's available events or tasks, the accessible web objects, the advertisements displayed on the portal interface 304, the dissemination of the subscriber's information to third parties, the incorporation of information into the subscriber's applications, the overall operation of the portal interface 304 as disclosed herein, and other portal system 102 services as disclosed herein.
In one embodiment, the portal system 102 may advantageously use the subscriber's context to narrow the scope of available information, content, or services to that which is relevant to the subscriber's context. As a result, by specifying the appropriate factors which comprise the context, the subscriber is able to narrow the scope of available information, content, or services to that which is relevant to what the subscriber is currently trying to accomplish. For example, by selecting the appropriate context, the subscriber is able to provide the appropriate view on their personal information. The filter component of the portal system 102 may filter information, for example, search results, accessible web objects, and the like, based on the subscriber's current context. Still further, the subscriber's view of the Internet through the portal interface 304 may be narrowed or limited based upon the subscriber's context.
In one embodiment, the subscriber may specify his or her context by, for example, selecting the appropriate persona, specifying a particular intent, specifying a particular category, specifying a particular mode, browsing the appropriate web sites, and the like. In another embodiment, the portal system 102 may determine the subscriber's context from evaluating the browser location, the browser click stream history, and the like. Thus, the portal system 102 may dynamically shift the subscriber's context from the context the subscriber specified by monitoring and analyzing the subscriber's browsing activity.
For example, the subscriber may have specified a context by selecting the category "shopping" from the portal interface 304. Subsequently, the subscriber may browse one or more travel related sites such as, by way of example, one or more online travel agencies. The portal system 102, and in particular, the monitor component, may advantageously monitor the subscriber's browsing tendencies and determine that the subscriber is browsing travel related sites and from this information, establish a different context for the subscriber. Methods of determining the context information from web sites and web pages are, by way of example, HTML/XML parsing, pattern matching, standard parsing, capturing HTTP header information (GET/POST/AUTH), URL Query string analysis, WIDL, cookie analysis, tangential page definitions, P3P, and the like. In one embodiment, the monitor component may dynamically select the appropriate category, for example, the category "travel," on behalf of the subscriber. The portal system 102 may additionally display the category set elements associated with the new category on the portal interface 304.
In still another embodiment, the subscriber may be provided an option to turn off the dynamic context switching feature of the portal system 102. For example, the subscriber may not want the portal system 102 to dynamically switch his or her context while the subscriber is surfing particular web objects. In this instance, the subscriber may turn off the dynamic context shifting feature, for example, by making an appropriate selection on the portal interface 304. Subsequent to receiving the subscriber's request, the portal system 102 will not dynamically shift the subscriber's context. When ready, the subscriber may request the portal system 102 resume the dynamic context shifting. In one embodiment, the subscriber may likewise stop the portal system 102 from maintaining a click stream history while the subscriber is performing particular activities.
In one embodiment, the portal system 102 utilizes the subscriber's context to aid the subscriber as the subscriber surfs the Internet. The monitor component of the portal system 102 may advantageously monitor and maintain a record of the subscriber's activity based on the subscriber's context as previously discussed in conjunction with Figure 1 1. In particular, the portal system 102 may store context specific information for use at a later time to assist the subscriber efficiently surf the Internet. In one embodiment, the context specific information component identifies and creates the context specific information. As used herein, context specific information is comprised of the information or data requested by specific web objects and the information or data the subscriber provides to the web objects during an activity under a particular context. Subsequently, the portal system 102 may assist the subscriber perform context specific actions such as, by way of example, submitting the context specific information, returning to a specific state in a prior activity, bypassing unnecessary and redundant sections of web objects, and the like. In another embodiment, context specific information may additionally comprise information processed by the portal system 102 for a particular context. Information and data are used interchangeably herein.
Figure 13 is a representation of one embodiment the multiple editions of the portal system 102. An edition may be thought of as providing a template. An edition is a pre-determined arrangement of the features and services provided by the portal system 102 which is directed toward a discrete set of subscribers. Each pre-determined edition addresses the targeted set of subscribers by presenting a pre-set, custom arrangement of the portal system 102 components. By way of example, four editions are illustrated comprising a standard edition, university edition, family edition, and a government edition. The standard edition may advantageously be a default edition with default settings of the portal system 102. The university edition may be a customized version of the portal system 102 targeted for a typical university or college. Likewise, the family and government editions may be a version of the portal system 102 specially targeted for a family and government body, respectively. In one embodiment, an edition may contain restrictions which restrict the web objects which may be accessed by its members.
In one embodiment, each pre-determined edition may advantageously define communities, relationships, roles, preferences, and content for the subscribers of the particular edition. By way of example, the family edition may specify a community template, a default preferences, a default content, and a category set. The community template for the family edition may further define the members of the family, such as, by way of example, mother, father, son, and daughter, and each member's roles and relationships. For example, the roles may be parent or children, and the relationships may be father-son, mother-daughter, and so on. The roles may further define the initial communities the subscriber is a member of, by default. The default preferences may define the content and applications for each role within the family edition. For example, the son or daughter (children) may have restricted, or filtered, access to the Internet. The default content may define the content, such as, by way of example, messages, web digests, intents, modes, categories, documents, shortcuts, and the like, available on the portal interface 304 for the particular role.
Finally, the category set may define the category and category set elements of the portal interface 304 for the particular role.
Offering editions of the portal system 102 benefits the subscribers in that the subscriber does not have to tediously configure or set up the portal system 102 options. Having selected a pre-determined edition, the subscriber may subsequently personalize the portal system 102 features and services, and in particular, the portal interface 304, by altering the pre-selected settings by specifying the configure mode and utilizing, for example, the configuration application and the associated configuration modules. In one embodiment, an edition may advantageously be associated with a brand to provide a unique configuration of the portal system 102 services to the subscriber. The brand may be comprised of a logo, color scheme, layout, fonts, advertisements, and additional brand provider specific information. For example, XYZ Company may offer a pre-determined edition of the portal system 102 to its customers under its own brand. The XYZ Company's portal system 102 edition may advantageously be pre-set or pre-configured for its customers, and moreover, XYZ Company may provide its own brand and advertisements.
Figure 14 is a flow chart illustrating the portal interface 304 update process according to one embodiment of the invention. In particular, a subscriber's action causes an update of his or her portal interface 304. Beginning in a start state 1400, the portal system 102 receives a subscriber request from a user computer 104 in state 1402. In particular, the monitor component analyzes the request and determines if the subscriber had changed contexts. Proceeding to state 1404, the monitor component makes the appropriate change to the subscriber's context record if there was a change in context. In one embodiment, the session control module 912 may create a new activity if the subscriber changed contexts, and associate the new context with the created activity. Proceeding to state 1406, the monitor component appropriately updates the subscriber's portal definition to reflect the new context. In one embodiment, the monitor component determines if the portal definition needs to be updated by analyzing the subscriber's portal current state record 804. Having made the necessary changes, the monitor component requests the transmit component to transmit the updated portal definition to the subscriber's user computer 104 in state 1408, and proceeds to end state 1410.
As an example, the subscriber may have selected a new category different than the current category on the portal interface 304. The monitor component receives the subscriber's request to change his or her category and appropriately records the new category in the subscriber's context record. In one embodiment, the session control module 912 may create a new activity and an activity context for the subscriber. The monitor component then updates the subscriber's portal definition utilizing the contents of the category set element record 810 associated with the new category. The appropriate changes may be made to the portal definition record 802. The transmit component then transmits an updated portal definition to the subscriber's user computer 104.
As another example, the subscriber may have selected a different persona than the current persona on the portal interface 304. The monitor component receives the subscriber's request to change his or her persona and appropriately records the new persona in the subscriber's context record. In one embodiment, the session control module 912 may create a new activity and an activity context for the subscriber. The monitor component may update the elements of the portal interface 304 display, such as the launch area 406 or the mode area 408, to reflect the new persona. For example, the new persona may be associated with a different set of personal applications. In another embodiment, the new persona may also require changing the contents displayed in the feature bar 410 of the portal interface 304. The appropriate changes may be made to the portal definition record 802. The transmit component then transmits an updated portal definition to the subscriber's user computer 104.
As still another example, the subscriber may have requested to access a web object in the portal interface 304. The monitor component receives the subscriber's request to access the web object. In one embodiment, the requested web object, and specifically, the web object's URL, may be recorded in the subscriber's context record. The monitor component may determine that the subscriber has changed his or her context by requesting the particular web object. For example, the subscriber may have requested to browse a news site while his or her specified category was "shopping." The monitor component may advantageously determine, from parsing the contents of the web object or information regarding the web object which was maintained by the portal system 102, that the news site is better associated with a category different from "shopping." The monitor component may then modify the subscriber's context record, for example, by updating the category to "reference." The monitor component may advantageously create a new portal definition for the subscriber and request the transmit component to send the portal definition to the subscriber's user computer 104. In another embodiment, the subscriber may have requested the web object in the browser window 302.
In one embodiment, the portal system 102 may monitor the web objects requested or visited by the subscriber. If a particular web object is repeatedly referenced by the subscriber, or the subscriber browsed the web object for an extended length of time, the monitor component may provide the subscriber the option of including a reference to the web object in the portal interface 304. For example, an assistant 816 may display a pop-up window which requests the subscriber to authorize the inclusion of the reference to the web object in the portal interface 304. If the subscriber authorizes the action, the monitor component includes the reference to the web portal into the portal interface 304 for the subscriber's current context. In another embodiment, the subscriber may specify the placement of the reference to the web object within the portal interface 304. In still another embodiment, the subscriber may also identify the form of the reference. For example, the reference may be in a form such as, by way of example, a directory entry, an entry in a pop-up menu, a bookmark, a web digest, or the like.
Figure 15 is a flow chart illustrating an activity context change management process according to one embodiment of the invention. Beginning in a start state 1500, the portal system 102 receives a subscriber request and determines if there is a change in the subscriber's activity context in state 1502. In one embodiment, the session control module 912 determines and maintains the activity context. An instantiation of an action, such as a request, by a subscriber may potentially cause a change in activity context. In one embodiment, the subscriber may change to another activity context by specifying a different context or changing from one activity to another. For example, the subscriber may advantageously specify a different context by selecting an intent, a category, a persona, requesting a web object, and the like. Furthermore, the subscriber may change activities by requesting one or more services through either the portal interface 304 or browser window 302. The portal system 102 may advantageously maintain the subscriber's current activity context in a record in the portal database 910.
In one embodiment, the portal system 102 may advantageously detect a change in activity context by monitoring the subscriber's requests. By way of example, the subscriber, in the "business" persona, may have been in the process of making travel arrangements from Los Angeles to New York with an online travel agency. While in the process of making the travel arrangements, for example, while in the third web page of a five web page sequence on the particular travel agency web site, the subscriber may instantiate a request to browse an online book store. In one embodiment, the session control module 912 creates an activity context when the subscriber accesses the travel agency site to make the travel arrangements. The portal system 102 may maintain the same activity context while the subscriber is accessing the web pages on the travel agency site. When the subscriber instantiates the request to browse the online book store, the session control module 912 advantageously creates a new activity context for the subscriber. The request to browse the online book store changes the subscriber's activity context.
If the subscriber's activity context did not change in state 1502, the portal system 102 proceeds to end state 1510. Otherwise, the portal system 102 proceeds to state 1504 to determine if the subscriber changed to a prior activity context. In one embodiment, the session control module 912 may advantageously determine whether the subscriber changed to a prior activity context by maintaining a log of the subscriber's session. Figure 16 illustrates one embodiment of a session record 1602 suitable for maintaining a subscriber's session log. The session record 1602 is associated with the subscriber's username and password and contains one or more activity contexts. Each activity context is advantageously associated with a web site list record 1604, and furthermore, may maintain a record of the last web site accessed by the subscriber while in the particular activity context. In one embodiment, the session record 1602 may contain activity contexts from one or more subscriber sessions.
In one embodiment, the web site list record 1604 may contain a list of web sites accessed by the subscriber. Each web site entry in the web site list record 1604 may be associated with a URL sequence record 1606 which is a sequenced listing of the web pages visited by the subscriber while browsing the particular web site. A click stream record 1608 may contain a sequence of the URLs accessed by the subscriber during the subscriber session. In one embodiment, the click stream record 1608 maintains a record of URLs for the enabled web sites. In another embodiment, the click stream record 1608 may maintain a record of URLs for all web sites visited by the subscriber. Each URL entry in the click stream record 1608 may be sequentially indexed by an identifier such as a number. In one embodiment, the URL sequence record 1606 may contain a sequenced listing of the index numbers from the click stream record 1608. In another embodiment, the URL sequence record 1606 may contain the actual URLs. In one embodiment, each URL entry in the click stream record 1608 may be associated with an information item record 1610. The information item record 1610 contains a record of the information items associated with the referenced URL, and a record of the information items that are specific to the subscriber's context at the time the information items were processed. An information item is a piece of information or data. Thus, an information item associated with a URL is a piece of information or data which was input to the web object referenced by the URL or, conversely, output from the web object referenced by the URL. By way of example, the subscriber, while in the context of shopping for a book, may have entered his name, address, and the title of the book into a web page. Furthermore, the web page may have asked the subscriber to input additional survey information which the subscriber provided. Here, each piece of information, the name, address, book title, and each piece of survey information, is maintained as an information item in the information item record 1610. The context specific information may advantageously be the title of the book. In one embodiment, the information item record 1610 maintains information input into the particular web object referenced by the URL. In another embodiment, the information item record 1610 maintains information output from or generated by the particular web object referenced by the URL.
Continuing the previous Los Angeles to New York travel arrangement example above, the session control module 912 may determine that the subscriber's request to browse the online book store is not an activity context present in the subscriber's session record 1602. Therefore, the portal system 102 proceeds to state 1506 and the session control module 912 creates a new activity context record in the session record 1602 for the subscriber's request to browse the online book store, and proceeds to end state 1510. if, in the example above, the subscriber had been previously browsing the online book store, for example, before making the travel arrangements, the subscriber's subsequent request to browse the online book store would have been an activity context present in the session record 1602. In this instance, the portal system 102 proceeds to state 1508 and the monitor component may prompt the subscriber to determine if the subscriber wishes to resume browsing in the last state the subscriber was at the previous time the subscriber was browsing the online book store. In one embodiment, the monitor component may use one or more assistants 816, such as a wizard, to prompt and assist the subscriber return to the previous state.
The assistant 816 may advantageously input information into one or more web pages in assisting the subscriber return to the previous state. The subscriber's previous state information, as well as the information previously input by the subscriber, may advantageously be maintained by the portal system 102 in one or more records such as, by way of example, the previously disclosed records 1602, 1604, 1606, 1608, and 1610, and any other records as necessary. Having received the subscriber's response, the portal system 102 proceeds to end state 1510. In another embodiment, the assistant 816 may enable the subscriber to resume his or her browsing experience at any point the subscriber was at previously in the prior activity context. For example, through one or more interfaces, such as pop-up windows, pop-up menus, and the like, the portal system 102 may guide the subscriber navigate or re-trace his or her actions in returning to the previous state. Thus, the portal system 102 benefits the subscriber by offering an efficient portal interface that provides services personalized for the subscriber and designed to benefit and work for the subscriber. For example, the subscriber no longer has to navigate through unwanted web pages. Furthermore, the subscriber does not have to re- enter information that was previously entered, either in the particular web page or in another web page.
Figure 17 is a flow chart illustrating a process by which an assistant 816 helps the subscriber perform an activity according to one embodiment of the invention. Beginning in a state 1700, the portal system 102 monitors a subscriber activity context. In particular, the monitor component maintains a record of the information processed by the portal system 102, such as, for example, the subscriber's selections made on the portal interface 304, the web sites and web pages browsed by the subscriber, the subscriber's inputs into web pages, the output from the web pages, and the like, during the activity context.
Proceeding to state 1704, the portal system 102 creates an assistant 816, such as a wizard, agent, or other application program, for the subscriber's activity context. The assistant 816 helps the subscriber better and efficiently utilize the portal system 102 services by, for example, defining the objective of the subscriber's activity, providing results tailored for the activity and the activity context, permitting the subscriber to request off-line processing of activity, helping the subscriber return to previous states within an activity, and the like.
In one embodiment, the portal system 102 provides standard assistants 816 that further categorize the subscriber's activity context by organizing the information submitted by the subscriber. The standard assistants 816, such as, by way of example, a travel assistant 816, a shopping assistant 816, a research assistant 816, and the like, may be accessible through the portal interface 304, for example, by instantiating an intent button on the portal interface 304. Here, the subscriber explicitly indicates his or her intent, and the appropriate assistant 816 for the specified intent is activated. By way of example, the travel assistant 816 may organize the subscriber's information into the subscriber's general information, such as, name, address, and the like, and the subscriber's context specific information such as, departure date, departure city, arrival city, and the like. The subscriber may subsequently utilize the assistant 816, and in particular, the information organized by the assistant 816, in performing his or her objective.
In one embodiment, the assistant 816 may advantageously provide the subscriber with a list of services appropriate for, and personalized to, the subscriber's current activity context. For example, the travel assistant 816 may request the subscriber to provide subscriber and travel related information up front through a sequence of one or more forms or pop-up windows. Having received the requested information, the assistant 816 may provide the subscriber a "search for relevant services" option. Instantiating the search option may provide the subscriber with a list of hyperlinks, where each link is associated with a relevant service, such as, by way of example, a leading travel site, appropriate to process the subscriber's travel needs. The travel assistant 816 may then advantageously submit the subscriber provided information on behalf of the subscriber to the one or more services specified by the subscriber.
In one embodiment, each service may advantageously incorporate the subscriber's general information as well as the subscriber's context specific information. Thus, the travel assistant 816 helps the subscriber request the services of one or more travel services without having to tediously re-enter information in a format specific to the particular service. In another embodiment, the travel assistant 816 further provides a search engine enabling the subscriber to search the Internet through the travel assistant 816. The travel assistant 816 may utilize the filter component to filter the search results and display only the results that are appropriate for the subscriber's particular activity context.
In one embodiment, the travel assistant 816 may hierarchically categorize the travel information into "persona," "departure date," departure city," "arrival city," and the like. The hierarchical categories may advantageously be accessible through the portal interface 304. For example, selecting the "travel" category from the feature bar 410 may display a pop-up menu displaying the departure dates which have been previously requested by the subscriber under the current subscriber persona. Selecting a particular departure city may display a pop-up menu displaying the departure cities which have been previously requested for the particular departure date. By making the desired selections, the subscriber may easily retrace his or her actions or return to a previous state in a particular activity context by navigating through the sequence of pop-up menus. In another embodiment, the hierarchically categorized information may be accessible through the intent pop-up menu. In still another embodiment, the hierarchically categorized information may be displayed as one or more hyperlink directory trees.
In a further embodiment, the assistant 816 may offer other off-line application services which perform specific tasks for the subscriber. For example, the travel assistant 816 may provide the subscriber the ability to investigate comparable itineraries without going through the pain of surfing the Internet for the comparable itineraries. Likewise, the shopping assistant 816 may provide the subscriber with the ability to perform comparison shopping. Those of ordinary skill in the art will realize that other assistants 816, such as, by way of example, a shopping assistant 816, search assistant 816, research assistant 816, and the like, may be implemented in a similar manner to provide similar services as the travel assistant 816. Proceeding to state 1706, the portal system 102 subsequently provides the created assistant 816 to the subscriber. In one embodiment, the assistant 816 may be provided through the portal interface 304 as illustrated in Figure 10. For example, the assistant 816 may be invoked through the pop-up menus as previously discussed above. As an example, as illustrated in Figure 10, the subscriber may select the "shopping" intent from the feature bar 410. This displays a sequence of pop-up menus from where the subscriber may select "books" and "fiction," respectively. Subsequently, if an assistant 816 has previously been created for this activity context, a pop-up menu may be displayed containing the next hierarchical category of information such as, by way of example, the book titles which were previously processed by the assistant 816. Through the pop-up menus, the assistant 816 guides the subscriber in performing an activity. Having provided the assistant 816, the portal system 102 proceeds to end state 1708.
Figure 18 is a representation of one embodiment of the enabled site record 1802. The enabled site record 1802 contains a list of web objects which have been incorporated into the portal system 102. In one embodiment, the enabled site record 1802 contains a listing of web objects enabled by the portal system 102, by the web objects, and by the subscribers. The portal system 102 may advantageously provide utilities which facilitate the enabling of a web object.
Each enabled web object may be identified by a site id, a data communication method, and a display content. The site id may contain information such as, by way of example, web object name, web object label, web object service, web object service URL, and the like. The data communication method may include information regarding the data associated with the particular web object service such as, by way of example, the information required by the service, the information generated by the service, the format of information required or generated, and the like. The data communication method may specify one or more supported input exchange methods for inputting data or information to a web site such as, by way of example, XML upload/header exchange, XML transaction, HTTP GET/POST/AUTH, cookies, dynamic URL/Query string, HTTP header exchange, Meta HTML, P3P, ECML, LDAP, vCARD/vCAL, and the like. The data communication method may also specify one or more supported output exchange methods, such as, by way of example, HTML/XML parsing, pattern matching, standard parsing, capturing HTTP header information (GET/POST/AUTH), URL Query string analysis, WIDL, cookie analysis, tangential page definitions, P3P, and the like, of looking at web sites or web pages to glean content or context information. This information facilitates efficient and simplified interaction between the portal system 102 and the web object.
In another embodiment, the data communication method may contain information which facilitates the realtime communication between the portal system 102 and the appropriate web object. The data communication method can contain information on how to interact with the web object in real-time. For example, the data communication method can specify the XML specifications that describe the method of interaction with the particular web object. The display content may specify the placement of the information associated with the service in the portal interface 304. As an example, the display content may determine where to display the service, for example, in a particular pop-up menu, in a directory listing, and so on, what to display in the portal display region 412, where to launch or execute the service, for example, in the portal interface 304 or the browser window 302, and the like. In another embodiment, the display content may further specify the data which is to be displayed in the portal interface 304 when the associated web object is accessed. The data may specify one or more directories, text listings (digest), navigation bars, query interfaces, applications, and the like. For example, the subscriber may specify a digest of the data contained in the web object. The digest is subsequently displayed in the portal interface 304 when the web object is accessed.
In still another embodiment, the display content may also include a reference to the location of the content to be displayed in the portal interface 304. The portal system 102 may then clip from the referenced content the appropriate data to display, and subsequently display the clipped content in the portal interface 304. It is well known to those of ordinary skill in the art that the data maintained in the data communication method or the display content may reside on a system or computer external to the portal system 102, and that the data communication method and display content may contain a reference to the location of the actual data. The portal system 102 uses the information maintained in the enabled site record 1802 to properly interact with the enabled web objects in performing the portal system's 102 services. In one embodiment, the portal system 102 services are offered for the enabled objects. Thus, a subscriber may incorporate enabled web objects into the portal system 102, and in particular, the portal interface 304. If the subscriber requests to incorporate a web object into his or her portal interface 304 which is not enabled (not in the enabled site record 1802), the portal system 102 may provide the subscriber an assistant 816, such as a wizard, which will assist the subscriber enable the particular web object. Alternatively, the subscriber may invoke the assistant 816 to first enable the desired web object before incorporating the particular web object into the portal interface 304.
In another embodiment, the portal system 102 services are offered for both enabled and non-enabled web objects. The portal system 102 may automatically enable non-enabled web objects by including the web objects into the enabled site record 1802, for example, under an "automatically enabled sites" heading, and initially provide the necessary site id, data communication method, and display content information. This information may be obtained from the web object by, for example, parsing the contents of the web object. The initially provided information may subsequently be modified to better and more fully describe the web object. In one embodiment, the information in the enabled site record 1802 may advantageously be modified by the entity that initially provided the information. In still another embodiment, an enabled web object may be associated with one or more sequences of web pages. The sequence of web pages may be used to automate movement through the web object. For example, the portal system 102 may maintain information regarding the data, and the format of the data, required as input by the sequence of web pages. The portal system 102 may also maintain information regarding data and information output by the sequence of web pages. This information may be provided to the portal system 102 or gleaned from parsing the web pages. An assistant 816 may then input the necessary data into, or extract the generated data from the web pages in the sequence. Thus, the sequence of web pages enables a subscriber to get to relevant content more quickly. In one embodiment, a subscriber may associate one or more sequences with an enabled web object.
Figure 19 is a representation of one embodiment of an active business card record 1902 and a contact information record 1904. The active business card record 1902 identifies the subscriber's active business card. An active business card functions as the subscriber's electronic receptionist on the Internet. In one embodiment, the active business card record 1902 contains information, such as, by way of example, the viewable contact information contained in the contact information record 1904, which is made available to third parties requesting subscriber information. By maintaining an active business card, the subscriber advantageously permits others to obtain subscriber information, and in particular, the subscriber's contact information. This information may then be used to interact with the subscriber by, for example, sending the subscriber e-mail, requesting a meeting with the subscriber, posting a reminder for the subscriber, initiating a chat session with the subscriber, exchanging contact information with the subscriber, and the like.
In one embodiment, each persona in the subscriber's persona list record 806 may be associated with the contact information record 1904. Some or all of the information or data maintained in the contact information record 1904 may comprise a business card. Hence, the subscriber may advantageously maintain one or more business cards, one business card for each persona. The active business card is associated with the appropriate business card based on the subscriber's persona.
The contact information record 1904 may contain the subscriber's available contact information, viewable contact information, and contact preferences. The subscriber's available contact information may identify the ways the subscriber may be contacted. For example, the available contact information for the subscriber's "business" persona may include the subscriber's business address, business phone number, business e-mail address, and cell phone number. The subscriber's viewable contact information may identify the ways in the available contact information the subscriber wants to make available to third parties. For example, in the same "business" persona, the subscriber may be willing to make available to third parties his or her business e-mail address. The subscriber's contact preferences may specify the method of contact preferred by the subscriber. For example, the subscriber, in the "business" persona, may prefer to be contacted by e-mail.
In one embodiment, the active business card record 1902 is set to the subscriber's current persona, and in particular, the persona's viewable contact information maintained in the contact information record 1904. For example, if the subscriber's current persona is "business," then the subscriber's active business card is the viewable contact information contained in the contact information record 1904 associated with the subscriber's "business" persona. If there is a change in the subscriber's persona, then the subscriber's active business card may change accordingly. If the subscriber is not logged on to the portal system 102, the active business card may advantageously default to a particular persona such as, by way of example, the "public" persona.
In another embodiment, the subscriber may be permitted to specify an active business card that is different from the subscriber's current persona. Here, the subscriber's active business card may be as specified, irrespective of the subscriber's persona, until the subscriber specifies a different persona to use as his or her active business card. The active business card information may be distributed even if the subscriber is not logged on to the portal system 102. In still another embodiment, the portal system 102 may permit the subscriber to enter contact information directly into the active business card record 1902. In this instance, the subscriber is not limited to specifying a particular persona to use as his or her active business card. Moreover, the subscriber may be permitted to specify different contact information depending on whether or not the subscriber is logged on or off the portal system 102.
In yet another embodiment, the portal system 102 determines the active business card from analyzing one or more factors associated with a requestor of the active business card (a visitor to the active business card). For example, the subscriber's active business card may be determined by analyzing the visitor's context. In another example, the subscriber's active business card is determined by analyzing the relationship between the subscriber and the visitor.
In one embodiment, the active business card may advantageously include the contact preferences information contained in the appropriate contact information record 1904. In another embodiment, the subscriber may be permitted to temporarily turn off or disable his or her active business card. If disabled, the portal system 102 advantageously refrains from submitting the contact information contained in the active business card until the subscriber enables the active business card feature.
In one embodiment, the information contained in the contact information record 1904 may be determined from the information provided by the subscriber when the subscriber registered with the portal system 102. In another embodiment, the portal system 102 may request the subscriber to provide the information maintained in the contact information record 1904. If the provider decides not to provide the requested information, the portal system 102 does not provide any contact information on behalf on the subscriber. The subscriber may advantageously modify the contents of the contact information record 1904 or the active business card record 1902 through, for example, the configure mode. Thus, the subscriber may determine the contents displayed through his or her active business card.
Figure 20 is a flow chart illustrating one embodiment of a process by which a contact is received through an active business card. Beginning in a start state 2000, the portal system 102 receives a request for a subscriber's active business card in state 2002. The portal system 102 identifies the subscriber and retrieves the subscriber's active business card. In one embodiment, the active business card may advantageously be implemented as a web page, and the web page contains and displays the contact information specified by the active business card record 1902. In another embodiment, the portal system 102 may provide the subscriber the ability to compose a message for display through the web page. In still another embodiment, the portal system 102 may permit the subscriber to include methods of contact, other than those specified in the subscriber's active business card record 1902, in the web page. Proceeding to state 2004, the portal system 102 sends the retrieved active business card to the requestor. For example, the requestor may advantageously obtain access to the web page. In particular, the requestor obtains access to the subscriber through the methods of communication made available through the web page, the active business card. The requestor may then submit a request to contact the subscriber through the web page. Proceeding to state 2006, the portal system 102 monitors the active business card for requests submitted by visitors to the web page.
Proceeding to state 2008, the portal system 102 may advantageously place the received requests in a "staging area" until the subscriber confirms the receipt of the request. The staging area may be one or more records maintained by the portal system 102 on behalf of the particular subscriber. The subscriber may advantageously be provided access to the staging area. For example, the staging area may be accessible from the subscriber's start page, a hyperlink tab on the portal interface 304, or each of the respective applications made accessible through the web page (the active business card). In another embodiment, the portal system 102 may notify the subscriber of the received request. For example, the notification may be through an indication on the portal interface 304. In still another embodiment, the requests may not be staged in the staging area. Instead, the requests received through the web page, the active business card, may be directly submitted into the appropriate application.
In one embodiment, the portal system 102 may monitor the visitors to the subscriber's active business card. When a visitor accesses the subscriber's active business card, the portal system 102 may advantageously glean and maintain information regarding the visitor, for example, from the visitor's request to access the active business card, and stage the visitor information for inclusion into the subscriber's address book application. As an example, a subscriber may have provided access to his or her notes application and e-mail account in his or her web page, the active business card. The subscriber may have disclosed the URL of the web page (i.e. passed out his or her active business card) to his or her associates. Subsequently, one of the associates may have accessed the web page and submitted a note to the subscriber through the notes application. The portal system 102 may have placed the submitted note in a staging area, and notified the subscriber of the received event. The subscriber may then access the staging area, retrieve the note from the associate, and furthermore, have the portal system 102 enter the note into the notes application. In one embodiment, the note may have been directly placed into the notes application. Figure 21 is a flow chart illustrating one embodiment of a process by which a dynamic assistant 816 is used to submit context specific information. Beginning in start state 2100, the portal system 102 determines the subscriber's context from the subscriber information maintained by the portal system 102 in state 2102. Proceeding to state 2104, the portal system 102 monitors a subscriber's activity. In particular, the monitor component monitors information input by the subscriber at a first web site. In one embodiment, the monitored information may be maintained in the subscriber's click stream record 1608 and the one or more information item records 1610. The session control module 912 associates the subscriber's context to the activity which is being monitored. The session control module 912 may record the activity context in the subscriber's session record 1602 and record the particular web site in the web site list record 1604. Proceeding to state 2106, the portal system 102 identifies the context specific information from the record of the information input by the subscriber. In one embodiment, the context specific information component identifies the context specific information. The context specific information may also be maintained in the appropriate information item record 1610. Proceeding to state 2108, the portal system 102 creates a dynamic assistant 816 for the identified context specific information. In one embodiment, the dynamic assistant 816 categorizes the context specific information for subsequent use by the portal system 102.
For example, the context specific information may be integrated into the portal interface 304 for subsequent access by the subscriber through the dynamic assistant 816. Furthermore, the context specific information may be formatted for subsequent input into one or more web objects. The portal system 102 may associate the dynamic assistant 816 with one or more services, such as, by way of example, context specific search engines, web objects associated with the particular context, and the like, which are capable of using the context specific information to perform services on behalf of the subscriber. The identified services may be integrated into the portal interface 304 for subsequent access by the subscriber.
Proceeding to state 2108, the portal system 102 monitors the subscriber's activity and receives a request to browse a new web site. Proceeding to state 2112, the portal system 102 determines if the subscriber is in the same context. In particular, the session control module 912 determines if the subscriber is continuing the same activity context or returning to a prior activity context. The subscriber's activity contexts are maintained in the session record 1602. If the subscriber is not continuing the same activity context or not returning to a prior activity context, the portal system 102 proceeds to end state 2118.
Referring again to state 2112, if the subscriber is continuing the same activity context or returning to a prior activity context, the portal system 102 proceeds to state 2114 and determines if the dynamic assistant 816 exists for the activity context. If the dynamic assistant 816 exists, the dynamic assistant 816 is displayed on the subscriber's user computer 104 in state 2116. In particular, the context specific information is staged or presented through the dynamic assistant 816 for confirmation of submission into the new web site. In one embodiment, the data format and communication method information necessary to submit or input the context specific information into the web site may be obtained from the enabled site record 1802. If the required information is not contained in the enabled site record 1802, the portal system 102 may parse the web site in order to properly input the context specific information. Having serviced the subscriber's response (subscriber confirms submission or does not confirm submission), the portal system 102 proceeds to end state 2118. Referring again to state 2114, if the dynamic assistant 816 does not exist for the context specific information, the portal system 102 proceeds to end state 2118. In another embodiment, the portal system 102 may also stage the subscriber's personal information for submission into the new web site. As an example, the subscriber may have input flight information data into a first online travel site to obtain a price estimate. A dynamic assistant 816 may be created for the input flight information. Subsequently, if the subscriber accesses a second online travel site in the same context, the portal system 102 may present the dynamic assistant 816 to the subscriber and request the subscriber to authorize the submission of the previously entered flight information, which has been captured into the dynamic assistant 816, into the second online travel site. Figure 22 is a flow chart illustrating one embodiment of a process by which information is integrated into a subscriber's personal application. Beginning in a start state 2200, the portal system 102 receives notification data addressed to a subscriber from an online service in state 2202. In one embodiment, the monitor component processes the notification data. Proceeding to state 2204, the portal system 102 determines the appropriate subscriber context to receive the notification data. In particular, the data integrate component determines the appropriate recipient of the infomediary services provided by the portal system 102. In one embodiment, the received notification data is processed for the subscriber's current context, and in particular, the subscriber's current persona. The subscriber's current context may be determined from the subscriber's context record.
Thus, proceeding to state 2206, the data integrate component identifies the appropriate subscriber applications for the subscriber's current context which are candidates to be updated with the received notification data. For example, if the subscriber's persona is currently set to "personal," the subscriber's personal applications are identified as candidates to be updated with the notification data. In contrast, if the subscriber's current persona is set to "business," the subscriber's business applications are identified as candidates to be updated with the notification data. In one embodiment, the portal system 102 maintains a record of the subscriber's applications associated with the respective subscriber context. In another embodiment, the received notification is processed for the subscriber's context at the time the subscriber requested the services. The portal system 102 may associate the subscriber's context with the subscriber request, and this information may advantageously be maintained in one or more records in the portal database 910. Thus, if the subscriber's persona at the time the subscriber initiated the request to the service was "personal," then the subscriber's personal applications are identified as candidates to be updated with the notification data in state 2206. The data integrate component determines which of the subscriber applications identified in state 2206 are to receive the notification data. For example, the data integrate component may update the subscriber's business address book application and the business calendar application, but not the business e-mail application. This determination may depend on the notification data or the type of online service. For example, notification data received from an online travel agency confirming a flight reservation may be integrated into the subscriber's address book application (the travel agency information) as well as the calendar application (flight information). In contrast, if the online travel agency information was already in the subscriber's address book application, the notification data received from the online travel agency confirming the flight reservation may be integrated into the subscriber's calendar application. The notification data is appropriately prepared for inclusion into the appropriate subscriber applications. In one embodiment, the data integrate component may determine the data format and communication methodology for the appropriate applications from the enabled site record 1802. If the application is not contained in the enabled site record 1802, the data integrate component may parse the one or more input pages associated with the application to determine the data format and communication methodology.
In one embodiment, the appropriate subscriber applications may advantageously be updated with the notification data, as well as any other pertinent information regarding the notification which may be appropriate for inclusion into the subscriber application, in real-time or near real-time. One or more components may execute simultaneously or in parallel within the portal system 102 to inform the subscriber of the received notification and also to update the appropriate subscriber applications. For example, the transmit component within the server infomediary control module 906 may transmit the received notification to the subscriber's user computer 104. Concurrently, the data integrate component within the server infomediary control module 906 may determine the appropriate subscriber applications that are to be updated with the notification data and accordingly update the appropriate subscriber applications. Those of ordinary skill in the art will realize that the simultaneous or parallel operation of the components within the portal system 102 is dependent upon the underlying system services, such as, by way of example, threads, multi-tasking capabilities, interprocess communications, and the like, provided by the portal system 102. It is understood that the degree of concurrent processing will vary depending on the capabilities provided by the system services. In another embodiment, the portal system 102 may utilize a batch or off-line process in updating the appropriate subscriber applications with the notification data. While the transmit component transmits the notification to the subscriber's user computer 104 upon receiving the notification, or shortly thereafter, the data integrate component may update the appropriate subscriber applications at a later time. The notification data may be stored along with other notification data for the subscriber, as well as notification data for other subscribers, by the monitor component. Periodically, for example, at periodic time intervals or when a sufficient amount of notification data have been stored, the data integrate component may update the appropriate subscriber applications with the associated notification data.
Proceeding to state 2208, the portal system 102 stages the input of the notification data into the appropriate subscriber applications. In one embodiment, the portal system 102 may utilize an assistant 816 to stage the update of the appropriate subscriber applications with the received notification data. For example, the assistant 816 may appear on the subscriber's user computer 104 requesting the subscriber to confirm the update of the particular subscriber application with the received notification data. Upon receiving the subscriber's confirmation, the data integrate component may update the appropriate subscriber application with the received notification data.
In another embodiment, the update of the subscriber applications with the received notification data is not staged for subscriber confirmation. Rather, the data integrate component updates the subscriber applications with the notification data upon receiving the notification data from the particular application. In still another embodiment, the subscriber may specify which of the subscriber applications may be updated with received notifications. In yet another embodiment, the portal system 102 may provide the subscriber the option of turning on or turning off integration of notification data into the subscriber applications.
The availability of context information on each subscriber allows for tremendous flexibility in providing real- time interactivity between subscribers. Figure 23A illustrates one network architecture suitable for creating a real-time interactivity session between subscribers according to one embodiment of the invention. A system 2300 includes the portal system 102, a plurality of user computers 104, and the communication medium 108. The plurality of user computers 104 communicate with one another through the communication medium 108 and the portal system 102. Furthermore, each user computer 104 communicates with the portal system 102 through the communication medium 108.
The portal system 102 includes an interactivity control module 2310 and an interactivity room 2320. The interactivity control module 2310 receives requests from subscribers seeking to begin interactivity sessions with other subscribers, together with context criteria used to distinguish those subscribers who may join in the interactivity session, and uses the information to create an interactivity room 2320. An interactivity session comprises two or more subscribers with the ability to interact with one another over the communication medium 108. This interaction includes any form of synchronous shared application, such as chatting (via text, voice, video, etc.), synchronized browsing, game-playing, conferencing, whiteboarding, and the like, as well as any form of asynchronous shared application, such as exchanging information (files, events, contact information, etc.), posting to message boards, annotating web pages, and the like. The interactivity room 2320 either includes or initiates an interactivity application 2322 that allows a plurality of subscribers to interact with one another in real time. This application may provide subscribers with the ability to chat, to play real-time interactive games, to exchange files, to synchronize web browsers, and the like.
Figure 23A also illustrates the flow of information when a subscriber seeks to initiate an interactivity session with one or more other subscribers. To help explain the operation of this embodiment, the following exemplary scenario will be used. Subscriber X is surfing the WWW using one of the user computers 104 connected to the portal system 102 through the communication medium 108. Subscriber X, in an effort to locate and eventually purchase a crescent wrench, has loaded the URL HTTP://www. hardware.com into his browser window 302.
Upon exploring this site, Subscriber X discovers that the associated online merchant sells a large number of crescent wrenches having a diverse and dizzying array of product features. The various descriptions available with the products, though helpful, do not answer all of Subscriber X's questions. As such, he decides to seek the assistance of other subscribers who may have greater experience than he in the use and purchase of crescent wrenches. The data flow sequence used in creating a real-time interactivity session between Subscriber X and other subscribers is illustrated in Figure 23A with events A through D.
With reference to event A, Subscriber X directs his user computer 104 to communicate with the portal system 102. In particular, Subscriber X sends the portal system 102 a request to initiate an interactivity session with other subscribers. The request includes the type of interactivity session (chat, interactive game, and the like) and the context criteria required by subscribers in order to be provided access to the session. In one embodiment, the request may be directed by the server infomediary control module 906 to the interactivity control module 2310.
In the scenario at hand, Subscriber X desires to engage in a chat session with other subscribers who might help him with his purchasing decision. The flexibility available to Subscriber X in identifying potential chat mates is enormous. Subscriber X may select the context criteria so as to identify a single known subscriber, such as a brother- in-law employed as a plumber. Alternatively, he may select the context criteria to include a broad group of unknown subscribers, such as all subscribers who have visited the www.hardware.com web site within the past two months.
In this example, in order to find someone who is currently thinking about hardware, Subscriber X directs his user computer 104 to send the portal system 102 a request for a chat session including all subscribers, regardless of their persona, category, intent, and the like, who are presently browsing www.hardware.com. In one embodiment,
Subscriber X could indicate this choice by selecting a "my current URL" option available within his portal window 304.
In another embodiment. Subscriber X could indicate his or her choice by typing the text string "www.hardware.com" into a field within his portal window 304.
In one embodiment, the request for an interactivity session includes a message created by the initiating subscriber conveying information ancillary to the desired interaction. Subscriber X, for example, may include with his request the message, "Help! What kind of crescent wrench should I buy?" This message is presented to other subscribers (discussed below) to assist them in their decision whether or not to enter the interactivity room 2320.
With reference to event B, the interactivity control module 2310, upon receiving Subscriber X's request in event A, determines which, if any, subscribers satisfy the context criteria provided by Subscriber X. One embodiment of a flow diagram corresponding to event B is illustrated in Figure 24. Proceeding from start state 2400, the portal system 102 accesses the context record (see Figure 12) of a first subscriber within a grouping of subscribers in state
2410. In one embodiment this grouping of subscribers includes the entire universe of subscribers. In another embodiment, this grouping of subscribers includes a subset of subscribers defined by predetermined context guidelines.
For example, the context records may be organized into separate groupings of subscribers organized by subscriber persona, by gender, by state of residence, and the like. The context records may be organized even more finely by combining context elements. Separate context records may be maintained, for example, for males over eighteen years of age residing in Iowa.
Under the embodiment utilizing multiple groupings of context records, a subscriber search involving context criteria need only search those groupings containing subscribers satisfying the context criteria. For example, if the context records are stored separately based on the subscriber's state of residence, then a request to identify subscribers living in Illinois visiting the web page www.hardware.com need only search the Illinois grouping of context records.
Proceeding to state 2420, the interactivity control module 2310 compares the context criteria provided by
Subscriber X with the context information stored in the context record of the first subscriber. For each distinguishing context element, the information within the context record of the first subscriber is retrieved and compared to the corresponding element in the context criteria. In the scenario at hand, for example, the distinguishing context element is the current location of the browser window 302. Thus, in state 2420, the browser location of the first subscriber is retrieved and compared to the URL www.hardware.com.
Proceeding to state 2430, the state of the interactivity control module 2310 is redirected depending upon whether the comparison done in the previous state resulted in a match. If the comparison in state 2420 did not result in a match, the interactivity control module 2310 is redirected to state 2470, ensuring that the first subscriber is not provided access to the interactivity room 2320 sought by Subscriber X.
If the comparison did result in a match, the interactivity control module 2310 proceeds to state 2440, where an interaction preferences record 2500 of the first subscriber is accessed and compared to Subscriber X's context record. This comparison may essentially be a mirror image of the comparison done in state 2420. Whereas in state 2420 it was determined whether the first subscriber had the proper context (selected by Subscriber X) for the first subscriber to gain access to the interactivity room 2320, state 2440 determines whether the Subscriber X has the proper context (selected by the first subscriber) such that the first subscriber has a potential interest in joining the interactivity session.
One example of the interaction preferences record 2500 is illustrated in Figure 25. The interaction preferences record 2500 comprises a list of subscriber-selected preferences for each subscriber that indicate the willingness to join an interactivity session initiated by another subscriber. These selections make up one of the methods through which a subscriber can select his or her "visibility" to the rest of the universe of subscribers. For example, the subscriber associated with the interaction preferences record 2500 depicted in Figure 25 has selected particular preferences for each of the context elements within the context record, including, by way of example, subscriber persona 2510, category 2520, and browser location 2530. Selecting these preferences narrowly may ensure that the subscriber will not be bothered by unsolicited attempts by other subscribers to interact with them. By contrast, selecting these preferences broadly may potentially leave the subscriber open to a wide variety of potential interactivity solicitations.
Furthermore, the context preferences are selectable for multiple manners of interactivity, such as identification 2540 (seeking to find other subscribers), chatting 2550, and so on. A subscriber, for example, may select preferences dictating an undiscriminating willingness to play online chess with other subscribers while maintaining total invisibility to subscribers seeking to chat. Referring to Figure 25, the first subscriber has indicated that he or she is willing to be identified by subscribers having any persona, category, and browser location. Here, the first subscriber has indicated more discriminating tastes for chatting, for example, by requiring potential chat partners to have a business persona and a travel category. With such preferences, the first subscriber would not be provided access to the interactivity chat room being created by Subscriber X (who lacks the proper persona and category settings) even if she is currently browsing the URL www.hardware.com. Subscriber X is interested in chatting with the first subscriber, but the interest is not mutual.
In one embodiment, the interaction preferences 2500 include an indication whether a subscriber wishes to be prompted for a response before an interactivity session is initiated. In Figure 25, for example, the first subscriber's preferences include a notification setting 2560 indicating a desire to be prompted before being connected to a chat session. Thus, if a subscriber having the proper context seeks a chat session, the first subscriber may be prompted, such as by an assistant, with the initiating subscriber's identification and his or her desire to chat. If the interactivity request includes an ancillary message, as described above, that message is conveyed to the first subscriber to aid them in their decision whether or not to interact. If a subscriber indicates no desire to be prompted, he or she will be automatically provided access to an interactivity room 2320 as long as the context preferences for the manner of interactivity are satisfied.
Referring again to Figure 24, in state 2450 the state of the interactivity control module 2310 is redirected depending upon whether the comparison in state 2440 described above resulted in a match. If the comparison did not result in a match, the interactivity control module 2310 proceeds to state 2470, ensuring that the first subscriber is not provided access to the interactivity room 2320 sought by Subscriber X. If the comparison in state 2440 did result in a match, the interactivity control module 2310 proceeds to state 2460, where the subscriber is identified as a qualified subscriber who is to be provided access to the interactivity room 2320. The qualified subscriber may advantageously be added to an access list for the interactivity room 2320 that includes all qualified subscribers.
Proceeding to state 2470, the interactivity control module 2310 determines whether there are any subscribers remaining within the grouping of subscribers to be assessed that have not yet had their access status determined. If there are subscribers remaining, the interactivity control module 2310 returns to state 2410 whereupon the process is repeated with another subscriber. If there are no subscribers remaining, the interactivity control module 2310 proceeds to end state 2480.
Figure 23B illustrates one embodiment where the access list may be further modified by Subscriber X before the otherwise qualified subscribers are admitted to the interactivity room 2320. Subscriber X in Figure 23B corresponds to the same Subscriber X as in Figure 23A. Subscriber Y in Figure 23B corresponds to one of the qualified subscribers in Figure 23A. The five events B1 - B5 depicted in Figure 23B are all encapsulated within event B of Figure 23A.
With reference to event B1, the portal system 102 determines that Subscriber Y satisfies the context criteria set by Subscriber X, and that Subscriber X satisfies the interaction preferences set by Subscriber Y. Subscriber Y, however, has indicated in his notification setting 2560 a desire to be prompted before accepting access to the interactivity room.
With reference to event B2, information about Subscriber X ("Subscriber-X-identifier") is sent by the interactivity control module 2310 to Subscriber Y to help him decide whether or not to accept the invitation to enter the interactivity room 2320. This information, for example, may include a name and/or context information about Subscriber X, to the extent that the display of such information is allowed by Subscriber X's identification preferences. In one embodiment, the identifier may also include a message from Subscriber X regarding the desired interactivity (e.g., "Help! What kind of crescent wrench should I buy?"). With reference to event B3, Subscriber Y sends either an acceptance or a refusal to accept access to the interactivity room 2320. If Subscriber Y accepts, as depicted in Figure 23B, information about Subscriber Y ("Subscriber-Y-identifier") is sent by the interactivity control module 2310 in event B4 to Subscriber X. This identifier information may include a name and/or context information about Subscriber Y, to the extent the display of such information is allowed by Subscriber Y's identification preferences. In one embodiment, the event B4 identifier may also include a message from Subscriber Y regarding the desired interactivity (e.g., "I'm also shopping for a crescent wrench. Let's compare notes.").
With reference to event B5, Subscriber X sends the interactivity control module 2310 either an acceptance or a refusal to allow Subscriber Y access to the interactivity room 2320. In the scenario at hand, for example, Subscriber X might find that his or her attempt to interact with other subscribers currently browsing the URL www.hardware.com identified twelve such subscribers. Rather than engage in a group discussion, Subscriber X may prefer to select one of the twelve for a one-on-one chat about crescent wrench purchasing. In one embodiment, Subscriber X may select one or more desired subscribers from the portal window 304. In another embodiment, refusals in event B5 may include a message from Subscriber X that is forwarded by the interactivity control module 2310 to the disqualified subscriber (e.g., "Thanks very much for your interest, but I found someone else to assist me.")
Referring back to Figure 23A, with reference to event C, the interactivity control module 2310 examines the access list determined in event B. If Subscriber X's request failed to identify any qualified subscribers, the list will be empty and the interactivity control module 2310 will not create an interactivity room 2320. If Subscriber X's request succeeded in identifying one or more qualified subscribers, the interactivity control module 2310 will create an interactivity room 2320 with access available to Subscriber X and to each of the qualified subscribers.
In a preferred embodiment, the interactivity room 2320 initiates an interactivity application 2322 that allows multiple users of the application to interact with one another. In another embodiment, the interactivity room 2320 includes the interactivity application 2322. Examples of interactivity applications 2322 include chatting applications, interactive game applications, synchronization applications that synchronize the browser windows 302 of all users of the application, and the like. The interactivity room 2320 may further include an interface on the user computer 104 associated with each qualified subscriber. This interface, generated by the interactivity application 2322, allows a qualified subscriber to interact with other subscribers in the interactivity room 2320 using the features (mouse, keyboard, monitor, graphics card, sound card, and the like) of the user computer 104. In one embodiment the interactivity room interface is incorporated within the portal window 304 of the portal system 102 described above.
With reference to event D, once the interactivity room 2320 is created in event C, Subscriber X and the qualified subscribers may exchange information as needed for their interactivity session. This information, for example, may include text strings, electronic files, streaming audio, streaming video, HTTP commands, application control and synchronization commands, and the like. Once an interactivity room 2320 is created there are many different modes in which it may be maintained. In one embodiment, the interactivity room 2320 is designed to be private, such that the room is both invisible and inaccessible to subscribers who are not specifically granted access. In another embodiment, the interactivity room 2320 is designed to be public, such that the room is both visible and accessible to all qualified subscribers. In still another embodiment, the interactivity room 2320 is designed to be visible and accessible to a select group of subscribers, such as, by way of example, subscribers with a specified role (e.g., faculty) within a specified online community (e.g., subscribers affiliated with the University of Iowa). In one embodiment, the interactivity room 2320 is designed to be perpetual in duration, like traditional chat rooms, providing the opportunity for subscribers with access to interact with others at any time. Here, subscribers may freely enter and leave the interactivity room 2320. In another embodiment, the interactivity room 2320 is designed to be transitory, such that the room terminates after the purpose for its existence has been satisfied. In the scenario at hand, for example, Subscriber X may opt to terminate the interactivity room 2320 he or she has created after it has served its purpose in helping him or her purchase a crescent wrench. In another embodiment, the transitory interactivity room 2320 is designed to terminate automatically once the interacting parties cease interacting. In an alternative embodiment, the transitory interactivity room 2320 may be designed to terminate at a selected date and time. The date and time may be specified by the subscriber requesting the creation of the interactivity room 2320. In another embodiment, the date and time may be defined as a predetermined length of time (e.g., one day) following creation of the interactivity room 2320.
In one embodiment, the interactivity room 2320 access list is static, including a set of subscribers that remains constant over time. In another embodiment, the interactivity room 2320 access list is variable, such that the set of subscribers on the list fluctuates with time as subscribers change their contexts. A variable access list would be used for the interactivity room 2320 in the scenario at hand, for example, if Subscriber X wants the ability to chat with subscribers who begin browsing the URL www.hardware.com after the creation of the interactivity room 2320. In one embodiment, qualified subscribers changing contexts so as to risk losing access to an interactivity room may be prompted (e.g., by an assistant) whether or not they want access to be maintained.
Enabled web sites (discussed earlier) may incorporate features into their sites in order to enhance the experience of visitors who are also interacting via an interactivity room 2320. For example, consider a group of people chatting in an interactivity room 2320 who decide to all visit an enabled web site that hosts interactive games. The site could recognize that the new site visitors did not arrive independently, but rather arrived as a group. The site might then, without any prompting by the new visitors, ask each member of the group whether they wish to engage in a group game with the other members of the group. As noted above, in one embodiment the interactivity room 2320 interface is incorporated within the portal system 102. This embodiment provides the added benefit that the multiple interacting subscribers can each independently surf the WWW using web browsers 302 while interacting with each other via the portal windows 304 associated with the same web browsers 302.
Recall the scenario at hand, with Subscriber X looking to purchase a crescent wrench online. Consider that Subscriber X succeeded in identifying a number of qualified subscribers browsing the URL www.hardware.com, from which Subscriber X selected one, Subscriber Y, for a one-on-one chat. During their chat session, Subscriber Y informs Subscriber X that he or she is aware of several other online merchants in addition to www.hardware.com that stock high quality crescent wrenches. Subscribers X and Y agree to concurrently browse separate web sites in order to quickly compare the crescent wrench models carried by the various merchants. Furthermore, to facilitate comparison shopping, the two maintain their chat session so that they may keep the other updated on the products and prices that they find. Figure 26 illustrates one embodiment of the flow of information when Subscriber X and Subscriber Y engage in an interactivity (e.g., chat) session while concurrently surfing the WWW using web browsers 302. The data flow sequences used to concurrently maintain the surfing and interactivity sessions between Subscribers X and Y are illustrated in Figure 26 with events A-A' through E E'. Events A and A' represent an ongoing interactivity session (a chat session, in the scenario at hand) between
Subscriber X and Subscriber Y. In event A, Subscriber X uses his or her user computer 104 to send a chat message (e.g., text string) intended for Subscriber Y via the communication medium 108 to the interactivity application 2322 within the interactivity room 2320. In event A', the interactivity application 2322 sends the chat message received in event A via the communication medium 108 to the user computer 104 associated with Subscriber Y. The double arrows associated with the A-A' events described above are intended to represent that the paired events may also occur with the roles of Subscriber X and Subscriber Y reversed. Furthermore, it is intended that the paired A-A' events illustrated in Figure 26 represents an on-going series of back-and-forth exchanges of information characteristic of an interactivity session.
In event B, Subscriber X uses his or her user computer 104 to send a request via the communication medium 108 to the browser proxy control module 908 to have a web page (URL 1 ) loaded into his or her web browser 302. In event B', the browser proxy control module 908 sends the request via the communication medium 108 to a remote computer 2610 associated with a content provider 1 that maintains the web page URL 1. In event C, Subscriber
Y uses his user computer 104 to send a request via the communication medium 108 to the browser proxy control module 908 to have a web page (URL 2) loaded into his or her web browser 302. In event C, the browser proxy control module 908 sends the request via the communication medium 108 to a remote computer 2620 associated with a content provider 2 that maintains the web page URL 2.
In an alternative embodiment, the request submitted by the portal system 102 to the content provider includes a communication medium protocol (IP) address for the user computer 104 associated with the request, so that content provider can route the requested web page directly to that user computer 104 without further utilizing the portal system 102.
The event pair B B' may occur either before, after, or contemporaneously with the event pair C-C. Since Subscribers X and Y are each maintaining their interactivity session within the portal window 304 that is maintained independently of their respective browser windows 302, the B B' and C-C event pairs may occur at any point in time during the on-going interactivity session represented by A-A'. In event D, content provider 1 sends the web page URL 1 from the remote computer 2610 via the communication medium 108 to the browser proxy control module 908. The web page information sent by content provider 1 includes the IP routing information for the user computer 104 associated with Subscriber X. In event D', the browser proxy control module 908 sends the URL 1 web page received from content provider 1 via the communication medium 108 to the user computer 104 associated with Subscriber X. Subscriber X's web browser 302 then displays the URL 1 web page. In event E, content provider 2 sends the web page associated with the web address URL 2 from the remote computer 2620 via the communication medium 108 to the browser proxy control module 908. The web page information sent by content provider 2 includes the IP routing information for the user computer 104 associated with Subscriber Y. In event E', the browser proxy control module 908 sends the URL 2 web page received from content provider 2 via the communication medium 108 to the user computer 104 associated with Subscriber Y. Subscriber Y's web browser 302 then displays the URL 2 web page. The event pair D-D' may occur either before, after, or contemporaneously with the event pair E E'. Since
Subscribers X and Y are each maintaining their interactivity session within a portal window 304 that is maintained independently of their respective browser windows, the D-D' and E E' event pairs may occur at any point in time during the on-going interactivity session represented by A-A'.
In the scenario at hand, Subscriber X and Subscriber Y are both capable of practicing an embodiment that provides for concurrent chatting and surfing of the WWW within a single browser. In one embodiment, Subscriber X may concurrently chat and surf while interacting (e.g., chatting) with another who does not share this capability. For example, Subscriber X may engage in an online chat about crescent wrenches with a service representative employed by www.hardware.com. In this embodiment, the chat program used by Subscriber X is compatible with the chat program used by the service representative, even though the latter lacks the ability to provide for concurrent chatting and surfing within the same browser.
In one embodiment of the present invention, the interactivity application 2322 may interact with the browser proxy control module 908 so as to allow one subscriber to remotely direct the web browser of another subscriber. This embodiment provides the benefit that one subscriber may take one or more other subscribers on a "guided tour" of the WWW. In the scenario at hand, consider that Subscriber Y wishes to help Subscriber X with his purchase decision by guiding him or her through a series of web pages displaying crescent wrench information and product offerings. Consider that Subscribers X and Y agree to "synchronize" their browsers so that each will see on their respective web browsers the web page selections made by Subscriber Y. In this context, synchronization means that a web page address selection made by one subscriber results in, for each of one or more other subscribers, the loading of a web page associated with that web page address. The web pages displayed to each subscriber need not be identical, nor must the web pages be loaded at or near the same time.
Regarding the scenario at hand, the two decide to enhance the tutorial nature of the experience by maintaining their chat session during their synchronization session. This will allow Subscriber Y to provide commentary and answer questions from Subscriber X. Figure 27 illustrates the flow of information that occurs when Subscriber X and Subscriber Y initiate and maintain a synchronized browsing session while engaged in a chat session. The data flow sequences used in concurrently maintaining synchronization and chat sessions between Subscribers X and Y is illustrated in Figure 27 with events A-A' through D-D'.
Events A and A' represent the ongoing chat session between Subscriber X and Subscriber Y. This event pair has an identical meaning to the corresponding event pair illustrated in Figure 26. As in Figure 26, it is intended that the paired A-A' events illustrated in Figure 27 represents an on-going series of back-and-forth exchanges of chatting information.
Events B and B' represent the synchronization session between Subscriber X and Subscriber Y. In event B,
Subscriber X uses his or her user computer 104 to send a synchronization message via the communication medium 108 to the interactivity application 2322 within the interactivity room 2320. Although a single interactivity application
2322 is depicted in Figure 27, the applications used for chatting and synchronization may be separate.
The synchronization message sent by Subscriber X provides information to the interactivity application 2322 regarding the synchronization session, such as a request to initiate a synchronization session, an acceptance of a request for a session, setting one or more subscribers as authorized to "lead" (i.e. control the browsing) the synchronization session, and the like. In event B', Subscriber Y uses his or her user computer 104 to send a synchronization message, discussed above, via the communication medium 108 to the interactivity application 2322. It is intended that the paired B-B' events illustrated in Figure 26 may represent an on-going series of back-and-forth exchanges of synchronization information as needed.
In event B", the interactivity application 2322 communicates with the browser proxy control module 908 in order to synchronize the browsers of Subscriber X and Subscriber Y. In one embodiment, one or more designated members (i.e. "leaders") of a synchronization session may make URL selections so as to control the browsers of all of the subscribers who are synchronized. In this embodiment, the interactivity application 2322 provides the browser proxy control module 908 with a list of leaders and a full list of members within a particular synchronization session.
The browser proxy control module 908 may then distribute the web pages intended for the browser of any of the leaders of the session (e.g., by recognizing the leader's IP address) to the browsers of all members of the session.
In an alternative embodiment, any member of a synchronization session may make URL selections that control the browsers of all of the subscribers who are synchronized. In this embodiment, the interactivity application 2322 need only provide the browser proxy control module 908 with a list of members within a particular synchronization session.
The browser proxy control module 908 may then distribute web pages intended for the browser of any member of the session to all members of the session.
In event C, Subscriber Y uses his or her user computer 104 to send a request via the communication medium
108 to the browser proxy control module 908 to have a web page (URL 1) loaded into his or her web browser. In event
C, the browser proxy control module 908 sends the request via the communication medium 108 to a remote computer
2710 associated with a content provider that maintains the web page URL 1. In one embodiment, the request includes a communication medium protocol (IP) address for the user computer 104 associated with Subscriber X.
In event D, the content provider sends the web page URL 1 from the remote computer 2710 via the communication medium 108 to the browser proxy control module 908. In one embodiment, the web page information sent by content provider 1 includes the IP routing information for the user computer 104 associated with Subscriber Y.
In event D', the browser proxy control module 908 sends the URL 1 web page via the communication medium 108 to the user computer 104 associated with Subscriber Y. The browser proxy control module 908 recognizes that the browser associated with Subscriber Y is synchronized to the browser associated with Subscriber X. In one embodiment, the browser proxy control module 908 recognizes this synchronization by identifying Subscriber Y as an entry within a lookup table reserved for synchronization leaders. The table includes, for each leader, identifiers for all of the followers associated with that leader. In event D' the browser proxy control module 908 identifies Subscriber X as a follower associated with Subscriber Y as a leader. The browser proxy control module 908 then sends the URL 1 web page via the communication medium 108 to the user computer 104 associated with Subscriber X.
Since Subscribers X and Y are each maintaining their chat session within a portal window 304 that is maintained independently of their respective browser windows 302, the C-C and D-D' event pairs may occur at any point in time during the on-going chat session represented by A-A'.
Although the above scenario described an embodiment including concurrent chat and synchronization interactivity sessions, a synchronization session need not be accompanied by a chat session.
In another embodiment, one or more "leader" subscribers may control the browser location of one or more "follower" subscribers without the leaders having to synchronize their own browsers with those of the follower subscribers. This is beneficial, for example, in a classroom setting where one or more instructors may wish to concurrently take different groups of students on different guided tours. In this embodiment, the leaders may independently specify a web address that is to be applied to the web browsers 302 of one or more followers. The interactivity application 2322 then provides the browser proxy control module 908 with the identity of the leader subscribers and the corresponding follower subscribers within the particular synchronization session. The browser proxy control module 908 then distributes the web pages specified by any of the leaders of the session to the browsers of the designated followers. Although the discussion described above generally describes embodiments involving subscribers to a portal system, the scope of the invention is more general. In another embodiment, for example, an interactivity room may be created for all WWW users browsing a specified region of the web. The specified region may consist of a web page, a web site, or an address specification (e.g., all domain names satisfying "*.[expedia | travelocity | trip | previewtravel ].*," where the asterisks are wild cards and the bracketed term signifies a string of logically OR'ed terms). Similarly, the specified region may be defined via a category, such as "travel sites." In this latter case, a database associating categorical words with actual web sites may be used.
Another area in which the availability of context information on subscribers provides tremendous flexibility is in providing targeted advertising to subscribers. Recall that a subscriber's context includes information such as demographic information, membership within online communities, a persona designating the general purpose for which the subscriber is online, a set of categories and/or intents designating a more specific purpose, and the subscriber's current and historical browser location selections. This information may be useful to advertisers trying to reach recipients having particular characteristics.
To help explain this embodiment, consider that the Walt Disney Company™ ("Disney"), a large and diversified corporation in the entertainment industry, is interested in advertising its goods and services to a universe of subscribers. To further this goal, Disney designs and creates a targeted advertising campaign, which it delivers to an advertisement provider. An advertising campaign comprises one or more advertisements in the form of text, still - - pictures, streaming video, streaming sound, banner ads, electronic mail messages, hypertext links, and the like. The campaign includes advertising campaign logic that dictates the version of advertisement targeted to a recipient, based on persona, intent, community memberships, roles, relationships, time of day, day of the week, and the like. The logic also optionally instructs the ordering of the delivery of advertisements into a sequential order. The time of delivery for each advertisement within the sequence may be based on a real time duration (e.g., send advertisement 2 to mothers five days after advertisement 1 is sent to fathers), on triggering events (e.g., send advertisement 2 to mothers after every father and son receives advertisement 1 ), or some combination of the two.
The campaign itself is initiated by a triggering event. The triggering event may occur due to the actions of the targeted persons, such as by a targeted person accessing one of a set of "triggering" web sites. Alternatively, the triggering event may occur due to the actions of the advertiser, such as by sending a first advertisement to a first recipient. Additional advertisements may then be sent as dictated by the campaign logic.
An advertising campaign may be "attribute" driven, with recipients targeted based upon their "attributes" (demographics, etc.), or it may be community-driven, where a group is targeted as an entity, and the advertisements (content, timing, etc.) received by any given individual within the community is determined at least in part on aspects unrelated to the individual.
The communities targeted by a campaign may be either explicit or implicit. The latter category refers to "informal" communities that are defined based on the (possibly changing) attributes of the members. Such communities may be derived from demographics (e.g., all men over 30 years old living in Michigan), context (e.g., all subscribers with a Business persona and a Travel intent), web site (e.g., all WWW surfers presently browsing www.hardware.com), click-stream history (e.g., all WWW surfers who visited www.hardware.com within the past three months), and the like.
Figure 28 illustrates one embodiment of the flow of information associated with a targeted advertising campaign associated with the advertisement provider on a remote computer 2810. In event A, the advertisement provider directs its remote computer 2810 to send an advertising campaign via the communication medium 108 to the server infomediary control module 906 within the portal system 102. In event A', the server infomediary control module 906 recognizes the information received as associated with advertising and forwards the information to an advertisement control module 2820.
The advertising campaign comprises a set of advertisements and an associated set of context criteria, such that each individual advertisement within the set is associated with one or more specified context criteria. Each advertisement can be designed to appeal to subscribers having contexts that satisfy the associated context criteria. The context criteria include specifications for one or more of the context elements discussed at length above (subscriber persona, category, intent, browser location, demographic information, and the like).
One embodiment of an approach to defining an advertising campaign is illustrated in Figure 29. An advertisement set record 2900 includes a set of advertisement versions 2910 (each version comprising an individual advertisement) to be targeted at a group of subscribers. The group of subscribers may include the entire universe of subscribers, or it may include a subset of subscribers. The advertisement set record 2900 in Figure 29 is targeted at all subscribers who are members of a "Family" community 2920. Each advertisement version 2910 within the advertisement set record 2900 is associated with specified criteria for each of a series of context elements, such as community role 2930 (discussed in more detail below), subscriber persona 2932, subscriber category 2934, subscriber age 2936, and the like. This series may include all possible context elements or a predetermined subset of context elements. The advertisement set record 2900 illustrated in Figure 29 may depict the advertising campaign designed by
Disney in the scenario at hand. Inspection of Figure 29 reveals that a subscriber with the community role of Father, the subscriber persona of Personal, and the subscriber category of Travel is targeted to receive advertisement version 1. Since the recipients of advertisement version 1 are known to be surfing the WWW for the purpose of personal travel, Disney may design this version to emphasize vacation travel packages that include Disney products. The community role requirement (i.e., Father) may be of particular importance to Disney, since it may wish to focus its advertising efforts on subscribers who are perceived as most likely to be making purchasing decisions regarding Disney goods and services.
Figure 29 further reveals that a subscriber with the community role of either father or mother, the subscriber persona of business, and the subscriber category of travel is targeted to receive advertisement version 2. Since the recipients of advertisement version 2 are known to be surfing the WWW for business purposes, Disney may design this version to emphasize the availability of Disney conference facilities. Alternatively, Disney may believe that working parents are most susceptible to Disney vacation packages when they are engaged in a work-related activity.
Figure 29 also reveals that a subscriber with the community role of daughter and an age from 10-12 years is targeted to receive advertisement version 16. Disney is likely to believe that preteen girls will be attracted to different products and different styles of presentation than the parent subscribers discussed above. As such, Disney may design the style and content of advertisement version 16 to differ markedly from versions 1 and 2.
With reference to event B, the advertisement control module 2820, upon receiving the advertising campaign in event A, determines which, if any, subscribers satisfy the context criteria provided for a first advertisement version within the advertising campaign. This determination is repeated for a second advertisement version, a third advertisement version, and so on, until a list of "recipient subscribers" is created for each advertisement version within the advertising campaign.
In the scenario at hand, the advertisement control module 2820 identifies Subscriber X as one of the subscribers satisfying the context criteria associated with advertisement version 1. The advertisement control module 2820 also identifies Subscriber Y as one of the subscribers satisfying the context criteria associated with advertisement version 2.
In event C, advertisement control module 2820 sends advertisement version 1 to the server infomediary control module 906. Accompanying the advertisement is routing information designating the user computer 104 associated with Subscriber X as a destination for the advertisement. In event C the server infomediary control module 906 sends advertisement version 1 via the communication medium 108 to the user computer 104 associated with Subscriber X. - -
In event D, advertisement control module 2820 sends advertisement version 2 to the server infomediary control module 906. Accompanying the advertisement is routing information designating the user computer 104 associated with Subscriber Y as a destination for the advertisement. In event D' the server infomediary control module
906 sends advertisement version 2 via the communication medium 108 to the user computer 104 associated with Subscriber Y.
The advertisement versions may be conveyed to recipient subscribers via a wide range of techniques, such as displaying a banner ad or webcasting within a traditional web browser window, displaying a banner ad or webcasting within a portal window 304 (described above), sending an electronic mail message using a standard electronic mail application, sending a message to a wireless device (e.g., a cellular phone, a pager, or a personal digital assistant) using the Wireless Application Protocol (WAP) or the Wireless Markup Language (WML), sending a paper ad via traditional mail, sending a paper ad via traditional facsimile transmission, transmitting an interactive message via traditional telemarketing, and the like. The advertisements in D and D' need not be sent concurrently, or even close to concurrently.
In another embodiment, the functionality described above for the advertisement control module 2820 may be performed by the remote computer 2810 of the advertisement provider. That is, the content records and logic needed to determine which subscribers receive which advertisement versions may be downloaded and run entirely on the remote computer 2810.
In another embodiment, the functionality described above may be divided between the advertisement control module 2820 within the portal system 102 and the remote computer 2810 of the advertisement provider. For example, the portal system 102 may be provided with a set of context criteria associated with an advertising campaign. In return, the portal system 102 may provide the remote computer 2810 of the advertisement provider with identifiers for those subscribers who satisfy the submitted context criteria. The remote computer 2810 may then use this information to send the proper advertisement version directly to the appropriate subscribers without further using the resources of the portal system 102. One powerful way in which advertisers may use subscriber context information is to target community roles.
As discussed above, a subscriber may belong to one or more communities. Membership in a community includes one or more roles that the subscriber assumes within the community. Within a Family community, for example, a female subscriber may be a daughter, niece, sister, sister-in-law, mother, aunt, grandmother, wife, or, depending upon the boundaries placed upon the Family community, some combination of these. One possibility for an advertising campaign is to target the implicit communities formed when people are interacting online. The individuals, for example, may be chatting together, shopping together, using a collaborative application, using synchronized browsers, and the like. Or, the individuals may simply be related and online at the same time. The members of the community may be targeted to receive the same advertisement (or different advertisements tailored to each person's context, current web site location, etc.). The campaign may send the advertisements simultaneously to each member, or sequence the advertisements in some order. For example, two friends online at the same time may be targeted to simultaneously receive ads for an online gaming application. The advertisements could even be targeted to suggest to each that they play the game with the other.
In some circumstances it is beneficial for an advertiser to customize its marketing to the role of a person within a community. One embodiment of a flow diagram using a community role based advertising campaign is illustrated in Figure 30. Beginning in a start state 3000, an embodiment of the present invention proceeds to state 3010. In state 3010, the portal system 102 receives a community role-based advertising campaign from an advertisement provider. Proceeding to state 3020, the advertisement control module 2820 identifies one or more persons targeted within the target community. The campaign may be designed to initiate advertisements to a number of, or all, members with the target community. Or, the campaign may be designed to initially target a single member. Depending upon the associated logic, a campaign initiated by a single member may subsequently result in advertisements being delivered to a large number of members of the target community (and even other communities).
Communities may be organized in a hierarchical fashion. The generic community "Family," for example, may include all persons who possess any Family role. Each member of the generic Family community may also be a member of one or more Family communities specific to the person. A person may have an "immediate" Family community consisting of a mother, father, and children. The same person may have one or more "extended" Family communities including combinations of the immediate Family, grandparents, grandchildren, aunts, uncles, nieces, nephews, and the like.
Considering a different context, a generic university community may include all persons who are faculty, administration, students, and staff at any university in the world. Subcommunities could be made up of those persons at particular institutions, subsubcom unities could be made up of those persons at particular schools or colleges within each institution, and subsubsubcommunities could be made up of those persons at particular departments within each school or college. These hierarchies provide an advertiser with the ability to tailor a community-based advertising campaign as broadly or narrowly as needed to suit the purposes of the campaign.
The membership of the target community may be determined using several approaches. In one embodiment, the content records of the universe of persons is organized into separate databases categorized by community. In such an embodiment, the membership of the target community may be determined either by merely accessing the appropriate database (if the target community is identical to the scope of the database), or by conducting a search for the appropriate community membership within one or more databases.
Proceeding to state 3030, the advertisement control module 2820 accesses the context record of a first targeted member of the target community. Proceeding to state 3040, the advertisement control module 2820 determines from the context record of the first member to the community one or more roles that the first member assumes within the target community. Proceeding to state 3050, the advertisement control module 2820 determines a first role for the first member. Proceeding to state 3055, a determination is made by the advertisement control module 2820 whether or not the first role is targeted by the advertising campaign. If so, in state 3060 the advertisement control module 2820 initiates the delivery of an advertisement version from the advertising campaign designed for the first role. If not, state 3060 is not performed. In one embodiment, the delivery of the advertisement in state 3060 occurs at essentially the same time for each recipient role. In another embodiment, the deliveries are sequential in time, with an order determined by the logic associated with the advertising campaign. In another embodiment, the delivery to a particular role is contingent upon the occurrence of a triggering event included in the logic of the advertising campaign. For example, an advertisement may be delivered to a person tailored to his role as a father. The advertisement campaign logic may then instruct the campaign to "wait and see" if the person responds to the advertisement. If the person has not responded after a waiting period (e.g. ten days), the campaign logic may then instruct the campaign to deliver a second advertisement tailored to his role as a husband. The campaign may include additional waiting periods and additional roles as needed.
The design of the advertisement delivered in state 3060 may be dictated by much more than the recipient's role. It may also be influenced by other context factors (e.g., persona, intent, demographics, etc.), by the timing of the advertisement (actual time or relative time along a sequence), by the previous results of the campaign (e.g., alternative versions of advertisements may be dropped or highlighted based upon the rate at which they have been observed to generate positive results), by which fellow-community-members have already received an advertisement, by which fellow-community-members have responded favorably to an advertisement, and the like. Furthermore, waiting periods in the campaign may be preset and fixed, or they may be determined dynamically. In the latter case, for example, the advertiser may keep track of the number of persons responding to an advertisement (e.g., by making a purchase, visiting a web site, etc.) for a particular role over time. If the number of persons responding each day increases for awhile, reaches a peak, and then decreases, the advertiser may select a time on the downward slope of the peak and use that point as a trigger to sending out a new advertisement (tailored to the same or a different role) to those persons who did not yet respond to the first advertisement.
In one embodiment, the advertisements targeted to specific community members (based on role status) may trigger other (or the same) advertisement to be presented to "related" individuals (e.g., other roles) in that community. For example, a "community advertisement" may be triggered based on a person with a "parent" role visiting one of a set of web sites and/or WWW surfing with a "Travel" intent. Once the community advertisement is triggered, any member of that community may then be targeted based on their role and/or relationship in the community, their context, and timing/sequencing. Advertisements may be sequenced, for example, first to the children, then to the mother, and lastly to the father. The version of advertisement sent to each community member may be based on their demographics and other context elements. If included in the campaign logic, the children may receive additional ads followed by a final ad to both parents. The demographics and other context elements may be used by the campaign logic to modify the sequence of advertisements, as well as the content, order, and whether or not advertisements are presented at all.
The campaign logic dictates which roles are targeted in state 3055. This logic can be as simple as including one or more roles associated with the community and excluding the rest. Another possibility is requiring that the person have multiple community roles (e.g., must be both a father and a husband). Another possibility is requiring that certain context criteria be met. For example, a Little League Baseball advertisement may be targeted at sons and daughters (the community roles) who are between the ages of 8 and 12 years old, and living in Detroit, Michigan. - -
Proceeding to state 3070, the advertisement control module 2820 determines whether there are any community roles remaining for the first person that have not yet been examined in state 3050. If any unexamined roles remain, the advertisement control module 2820 returns to state 3050 and accesses an unexamined role for the first member. Once there are no more unexamined roles remaining for the first member, the advertisement control module 2820 proceeds to state 3080, where it determines whether there are any targeted members of the target community that need to be examined in state 3030.
If any targeted members need to be examined, the advertisement control module 2820 returns to state 3030 and accesses an unexamined member from the target community. Once all targeted members of the target community have been examined, the advertisement control module 2820 proceeds to end state 3090. The approach described above requires first identifying the one or more targeted persons within the target community. Community memberships may be maintained within one or more records. In one embodiment, the context records of the target community may be organized by community role.
The example illustrated in Figure 30 applies to an advertising campaign that is based on community roles. Even greater customizing of advertisement versions is possible by combining the use of community role information with the other context elements, such as browser location, person persona, category, intent, age, and the like.
Another powerful way in which advertisers may use context information is to target community relationships. A community relationship refers to the connection between two members of the community. A member of a community will have one or more relationships for every role he or she assumes within the community.
A member of a Family community in the mother role, for example, may have community relationships mother- son, mother-daughter, mother-son-in-law, and the like. In some circumstances it is very beneficial for an advertiser to customize its marketing to the relationship of a person within a community. In particular, the marketing may provide each community member within the targeted relationship with complimentary advertisements. Using the scenario at hand, Disney is capable of marketing a Fathers Day event at its theme parks by sending, for each father in a target community, a tailored advertisement to the father and a complimentary advertisement to each child of that father. One embodiment of a flow diagram using a community relationship-based advertising campaign is illustrated in
Figure 31. Beginning in a start state 3100, the portal system 102 receives a community relationship-based advertising campaign from an advertisement provider in state 3110. Proceeding to state 3120, the advertisement control module 2820 identifies one or more targeted persons who are members of the target community. The membership of the target community may be determined using several approaches, as noted above. Proceeding to state 3130, the advertisement control module 2820 accesses the context record of a first targeted member of the target community. Proceeding to state 3140, the advertisement control module 2820 determines from the context record of the first member to the community one or more relationships that the first targeted member possesses within the target community. Proceeding to state 3150, the advertisement control module 2820 accesses a first relationship for the first targeted member. Proceeding to state 3155, a determination is made by the advertisement control module 2820 whether or not the first relationship is targeted by the advertising campaign. If so, in state 3160 the advertisement control module 2820 initiates the delivery of an advertisement version from the advertising campaign designed for the first relationship. If not, state 3160 is not performed.
In one embodiment, the delivery of the advertisement in state 3160 occurs at essentially the same time for each member of the targeted relationship. In another embodiment, the deliveries are sequential in time, with an order determined by the logic associated with the advertising campaign. In another embodiment, the delivery to a particular role is contingent upon the occurrence of a triggering event included in the logic of the advertising campaign. For example, an advertisement may be delivered to a person tailored to his status as a father in a targeted father-son relationship. The advertisement campaign logic may then instruct the campaign to "wait and see" if the father responds to the advertisement. If the father has not responded after a waiting period (e.g. ten days), the campaign logic may then instruct the campaign to deliver a second advertisement tailored the son's mother. The campaign may include additional waiting periods and additional relationships as needed.
The design of the advertisement delivered in state 3160 may be dictated by much more than the recipient's relationship. It may also be influenced by other context factors (e.g., persona, intent, demographics, etc.), by the timing of the advertisement (actual time or relative time along a sequence), by the previous results of the campaign (e.g., alternative versions of advertisements may be dropped or highlighted based upon the rate at which they have been observed to generate positive results), and the like. Furthermore, as noted above, waiting periods may be preset and fixed, or they may be determined dynamically.
In one embodiment, the advertisements targeted to specific community members (based on relationship status) may trigger other (or the same) advertisement to be presented to "related" individuals (e.g., other roles) in that community. For example, a "community advertisement" may be triggered based on a person with a "parent-of-child" relationship visiting one of a set of web sites and/or WWW surfing with a "Travel" intent. Once the community advertisement is triggered, any member of that community may then be targeted based on their role and/or relationship in the community, their context, and timing/sequencing. Advertisements may be sequenced as discussed above in connection with state 3060. The campaign logic dictates which roles are targeted in state 3155. This logic can be as simple as including one or more relationships associated with the community and excluding the rest. Another possibility is requiring that the person have multiple community relationships (e.g., must have both father-son and father-daughter). Another possibility is requiring a relationship that extend across two separate communities (e.g., a parent-teacher relationship spanning family and school communities). Another possibility is requiring that certain context criteria be met. For example, a Father's Day advertisement may be targeted at sons of fathers (the community relationship) who are between the ages of 10 and 12 years old, and living in Michigan.
Proceeding to state 3170, the advertisement control module 2820 determines whether there are any community relationships remaining for the first targeted person that need to be examined in state 3150. If any relationships remain, the advertisement control module 2820 returns to state 3150 and accesses an unexamined relationship for the first member. Once there are no more unexamined relationships remaining for the first member, the advertisement control module 2820 proceeds to state 3180, where it determines whether there are any targeted members of the target community that need to be examined in state 3130. If any members remain to be examined, the advertisement control module 2820 returns to state 3130 and accesses an unexamined targeted member from the target community. Once all targeted members of the target community have been examined, the advertisement control module 2820 proceeds to end state 3190.
The approach described above requires first identifying the group of persons within the target community.
Other approaches are possible. Rather than processing a list of members (determined in state 3120) within the target community, one may also process a list of relationships maintained within the target community. To facilitate this approach, the context records of the target community may be organized by relationship. Many other approaches would be apparent to those skilled in the art.
Also, the above discussion describes embodiments in the context of a WWW portal-based system. The advertising campaigns described above are not limited to such an approach. Any advertising delivery system (direct mail, television, interactive television, radio, and the like) may be used to target members within a community. The existence of the browser location history for each subscriber within the universe of subscribers, together with a knowledge of the subscriber contexts (subscriber intent, demographics, community memberships, roles, relationships, etc.) and while creating that history, provides a collective intelligence that may be mined and refined in order to provide a more informative and personally relevant interface for use in utilizing the WWW. A popularity-based interface may be created by using the historical selections of subscribers to determine which web pages are likely to be of greatest relevance to the subscriber using the interface. These historical selections may be used to determine 1 ) which web page addresses to display, 2) how to prioritize the web page addresses that are displayed, and 3) how to organize the web page addresses that are displayed. In one implementation this "popularity-based" interface is the default interface.
In another implementation, the popularity-based interface is used when a subscriber requests such an interface. One way of incorporating this feature into the portal system 102, for example, is by including within one or more of the portal categories a category element (e.g., "Popular") that generates a popularity-based display for that category.
The use of context criteria allows the "intelligence" of the popularity-based interface to be influenced by those historical selections made by subscribers having an appropriate context. For example, a subscriber with the persona Business and the category Travel may opt to view a popularity-based display that includes web page addresses generated from the past actions of other subscribers when in the Business Travel context. This may allow the subscriber to uncover web sites that are popular among business travelers but that are not popular among non-business travelers. As noted above, the context criteria may include memberships in explicit communities and in implicit communities. Using the former, a subscriber may opt to view a popularity-based display determined by members of the University of Colorado. Using the latter, a subscriber may opt to view a popularity-based display determined by subscribers who are presently accessing a specified web site. In one embodiment, the actual organization of links displayed to a user (for example, hierarchical) is determined by popularity according to a predetermined method of organization. For example, in a hierarchical organization, a directory framework may comprise a folder structure, wherein each folder contains hyperlinks with associated popularity measures. (A more detailed discussion of popularity measures is given below). In this embodiment, the presentation of the folders themselves may be determined by the cumulative popularity of all hyperlinks contained within each folder. In one embodiment this is accomplished by summing the popularity measures of the individual hyperlinks within the particular folder. In another embodiment this is accomplished by summing the popularity measures of all of the hyperlinks under the particular folder (e.g., all hyperlinks in that folder and in any folders within that folder, etc.). In the latter embodiment the summing may optionally be done using different weightings for links in different folders (e.g., with a lower weighting for links within nested folders).
In another embodiment, the available options in a portal interface are impacted by the popularity of the options. This may be accomplished in the same manner as for web page addresses using popularity records for the options analogous to the popularity records described elsewhere for web page addresses.
In another embodiment, a subscriber may select a popularity "view" for surfing the WWW with a web browser. In this embodiment, the browser proxy control module 908 filters the web surfing experience such that the subscriber is presented with only those pages satisfying some popularity criteria (e.g., with a popularity measure above a predetermined threshold, with a popularity measure within a particular percentile, etc.).
Figure 32 illustrates one embodiment of an approach for organizing browser selections into records that facilitate the creation of a context-dependent popularity-based interface for subscribers. In Figure 32, Subscriber X directs his web browser to access the web page URL 1. At the instant Subscriber X makes this selection, or soon after, his or her context record 3210 contains his or her context, including a persona 3212 (e.g., Persona 2), a category 3214 (e.g., Category 5), community membership information 3216 (e.g., Roles 1 and 3 within Community 2), and his or her browser location 3218 (e.g., URL 1).
Once Subscriber X selects the browser location URL 1, an archival module (not shown in Figure 32) modifies a series of existing archival records, and/or creates new archival records as needed, to reflect Subscriber X's selection. The archival records contain all of the web page addresses selected by subscribers, together with, for each selection, the subscriber's context at the time of the selection. In Figure 32, for example, the archival module identifies Subscriber X's Community 2 membership 3216 in the context record 3210 and correspondingly updates a Community 2 archival record 3220 containing a listing of each web page selected by members of Community 2 within a predetermined time interval extending back from the present. A popularity measure may be associated with each web page. In one embodiment, the archival module may consolidate the web page selections within a web site (i.e. a linked set of related web pages) into one record for that web site.
The popularity measure may be determined in many ways. In one embodiment, it indicates the number of times the web page was selected by a subscriber having the proper context. Applying this embodiment to Figure 32, the archival module responds to Subscriber X's selection of URL 1 by incrementing the URL 1 entry in the Community 2 archival record 3220 from 39,009 to 39,010. In another embodiment, the popularity measure includes other factors such as the amount of time spent browsing the web page, or the number of times hypertext links on the web page were selected.
The archival module identifies Subscriber X's community roles 3216 and may correspondingly update a Community 2, Role 1 archival record (not shown in Figure 32) and a Community 2, Role 3 archival record 3230. This latter record contains a listing of each web page selected within the predetermined time interval by members of Community 2, Role 3. The archival module increments the URL 1 popularity measure entry in the Community 2, Role 3 archival record 3230 from 24,313 to 24,314. Since the web page selections recorded in the Role 3 archival record 3230 represent a subset of those selections made in the Community 2 archival record 3220, the popularity measures in the Role 3 archival record 3230 are equal to or smaller than those in the broader Community 2 archival record 3220. The archival module further identifies Subscriber X's context category 3214 and correspondingly updates a
Community 2, Role 1 , Category 5 archival record 3240. This latter record contains a listing of each web page selected within the predetermined time interval by members of Community 2, Role 3 when in Category 5. The archival module increments the URL 1 popularity measure entry in the Community 2, Role 3, Category 5 archival record 3240 from 4,717 to 4,718. The archival module may further identify narrower archival records (not shown in Figure 32) by incorporating
Subscriber X's remaining context elements. Whenever the archival module finds an archival record for which the selected URL is absent, it creates an entry for the selected URL and increments its associated popularity score from 0 to the appropriate value. Whenever the archival module finds that no archival record exists for a particular combination of context elements associated with a URL selection, it creates a new archival record for that combination of context elements and creates an entry for the selected URL, together with an appropriate popularity measure.
In another embodiment the archival records are not updated in real time, but rather are updated periodically by extracting the click-stream information from the click stream records 1608 that record an entry each time a subscriber makes a URL selection. In one embodiment, the click stream record 1608 may include a reference to the subscriber's identity, the date and time of the request, the HTTP address requested, and the subscriber context (persona, category, intent, and the like). Since the click stream record 1608 identifies the time a web page was requested, requests older than a particular date may be identified and discarded as outdated. Furthermore, the interval of time between two requests may be used as an indicator of the amount of time spent browsing the earlier web page.
Figure 33 illustrates one embodiment of a popularity record set 3300 created from the archival records discussed above. A popularity record set consists of a plurality of popularity records. A single popularity record includes browser location selections from a defined grouping of subscribers. An All Subscribers popularity record 3310 depicted in Figure 33, for example, includes browser location choices from the entire universe of subscribers. Similarly, a Community 1 popularity record 3320 includes browser location choices for the subset of subscribers who are members of Community 1. Community 1, Role 1 popularity record 3330 and Community 1, Role 2 popularity record 3340 include browser location selections for the (potentially overlapping) subsets of Community 1 members who possess Role 1 and Role 2 status, respectively. Analogous information is stored within a Community 2 popularity record 3350 and a Community 2, Role 1 popularity record 3360. Additional popularity records (not shown in Figure 33) may exist for other community-role combinations, for community-relationship combinations, and for other context element combinations. Popularity records, for example, may exist for different time intervals (e.g., URL selections made yesterday, made within the past week, within the past month, and the like), for different times of the day (e.g., URL selections made from 8:00 a.m. to 11 :59 a.m. EST, made from 12:00 to 3:59 p.m. EST, and the like) for different demographic breakdowns (e.g., URL selections for female subscribers, male subscribers, subscribers between the ages of 13 and 18, and the like). These distinctions may be combined in numerous ways as needed.
In another embodiment, the popularity records do not retain the actions of subscribers in the past, but instead monitor the actions of subscribers in real time. In this embodiment, the popularity measure of a web page is dictated by how many subscribers have that particular web page loaded into their browsers (and, perhaps, how long they have had it loaded there) at the present time.
In another embodiment, the popularity record retains the past actions of the subscriber himself. This embodiment, although not mining the collective experience of a large community of subscribers, allows a subscriber to see those web pages he has visited most frequently in the past. These single-subscriber popularity records may be organized by persona, category, intent, and the like, as discussed above, thus allowing a subscriber to have a distinct display of popular sites for each persona and category combination in the portal system 102.
Figure 34 generally illustrates one embodiment of an implementation of a single popularity record 3400 within the popularity record set 3300, such as the All Subscribers Popularity Record 3310. A popularity record 3400 includes entries for one or more context elements such as subscriber persona 3410, category 3420, and category element 3430. For each possible combination of included context elements, the popularity record 3400 includes the most popular URL addresses 3440 as determined from the archival records. In one embodiment, the popularity record includes up to a fixed number (e.g., ten) of URL addresses ranked by popularity measure. In another embodiment, the popularity record includes the popularity measures (not shown in Figure 34) with the corresponding URL addresses. In another implementation, each of the lists of web page addresses depicted in Figure 34 may be stored as a separate popularity record.
Figure 35 depicts a flow diagram illustrating an embodiment in which a popularity record is used to generate a popularity-based display of web page addresses. Beginning in a start state 3500, a request for a display of web page addresses is received from a subscriber in state 3510. This request may take many forms. It may come from the selection of a category in a directory tree, such as may be incorporated into the portal window 304. Subscriber P, for example, may select the portal category element "Toys" from within the category "Shopping" as a way of locating web pages associated with shopping for toys. Alternatively, the request may come from a search query submitted to a search engine. Subscriber Q may use the search query "Barbies for sale" as a way to locate web pages associated with the selling of a well-known brand of dolls.
Proceeding to state 3520, context criteria are received for determining the subset of subscriber URL selections that are to be considered in creating the popularity-based display. In one embodiment these criteria are determined from the context record of the subscriber requesting the display. A subscriber in the Business Travel persona, for example, may be provided with popularity-based results determined by historical URL selections made by subscribers when in the Business Travel persona. In one such embodiment, the context criteria are set to default to one of the community roles associated with the requesting subscriber. For example, a subscriber within a Family community in the role of Father would receive popularity-based results generated from the past actions of other Family Father subscribers.
In another embodiment, the context criteria may be selected by a subscriber independent of the subscriber's current persona. This may be particularly useful for subscribers wishing to mine the collective experience of other demographic groups. A female subscriber, for example, may wish to see the most popular shopping web sites determined by male subscribers when searching for a gift for her spouse. This may also be useful for subscribes wishing the mine the collective experience of other community groups. For example, a subscriber wishing to learn more about classical music may wish to see the most popular music sites determined by members of a community created for supporters of classical music.
Proceeding to state 3530, the appropriate popularity records for the context criteria received in state 3520 are accessed to retrieve the appropriate web page addresses. Depending upon the organization of the popularity records 3400 and the specifics of the context criteria received, more than one popularity record 3400 may be accessed.
Proceeding to state 3540, a filtering module within the portal system 102 retrieves the most popular web page addresses from the popularity records 3400 accessed in state 3530 that are relevant to the submitted request. The manner in which this is done depends upon the nature of the request submitted by the subscriber. If the request is for web page addresses within a category aligned with the context elements, such as selecting a category and/or intent from the portal (recall Subscriber P, above), the filtering module retrieves the most popular web page addresses directly from the appropriate popularity record for those context elements.
If the subscriber request is for web page addresses satisfying some criteria unrelated to the context criteria, a more sophisticated approach than simply accessing the appropriate popularity records is used. Recall, for example, the example of Subscriber Q utilizing the search query "Barbies for sale" to locate web page addresses of web sites that sell dolls. In one embodiment, the filtering module within the portal system 102 determines the most popular web page addresses for the search query by applying a search engine (either within the portal system 102 or in communication with the portal system 102) to the appropriate list of web pages (as determined by the context criteria) on the popularity record 3400 accessed in state 3530. In another embodiment, a "full" list of search results (unrelated to the actions of subscribers) is generated by applying the search query to a web-wide search engine, such as AltaVista™ or ExciteSM. This full list of results is then generated by the filtering module by filtering the search results through the popularity record 3400 accessed in state 3530. That is, only those results in the full list that are also present in the popularity record 3400 are considered to be popularity-based results of the search.
The portal system 102 sends the output from the filtering module into a sorting module to prioritize the most popular relevant web page addresses. The sorting module then sorts the web page addresses by their associated popularity measures. The sorting module may utilize any of various methods for sorting that are well known in the art. - -
Proceeding to state 3550, the web page addresses are displayed to the subscriber. The web page addresses may be displayed with associated hyperlinks that the subscriber may select in order to access the corresponding web page. Alternatively, the web page addresses may be displayed as text strings. In one embodiment, the web page addresses are displayed within the portal window 304. The web page addresses may advantageously be displayed in a prioritized manner, with the priority determined by ranking the popularity measure associated with each web page address. In one embodiment, the number of web page addresses displayed may not exceed a predetermined maximum value. In another embodiment, the number of web page addresses displayed is determined by requiring the associated popularity measure to satisfy a quality criteria. In one such embodiment, the popularity measure criteria is a simple threshold (e.g., the popularity measure must exceed 10). In another such embodiment, the popularity measure criteria depends upon the popularity measure of the most popular web page (e.g., the popularity measure must exceed 10% of the popularity measure of the top scoring web page in the results).
In one embodiment, the results are organized into a hierarchical structure, with a popularity-based organization. Consider a subscriber requesting popularity-based results for context criteria consisting of the persona Business, category Travel, and intent Travel Planning/Flight Reservations. Further consider that multiple popularity records exist for this set of context criteria. For example, separate popularity records are maintained for 1 ) Business Travel Reservations - Flights, 2) Business Travel Reservations • Hotels, and 3) Business Travel Reservations - Cars. Similarly, separate popularity records are a maintained for 1 ) Business Travel Reservations - Hotels - Men, and 2) Business Travel Reservations - Hotels - Women (reflecting subscriber gender). In another embodiment, the results are organized into a relational structure, using a sortable tabular format with table headings (e.g., frequency of visits, number of links viewed on the site, time spent per page, etc.) and context fields (persona, category, intent, etc.). In another embodiment, the results are organized into a hybrid hierarchical/relational view.
In another embodiment, the popularity-based results are displayed via a search interface. In this embodiment, subscribers receive the results in response to one or more search queries (e.g., text strings, voice commands, etc.) and/or selections (e.g. check boxes, pull-down menus, etc.) submitted by the subscriber.
The interface used to display the popularity results may utilize one or more pop-up menus, pull-down menus, tree views, drill down web-directory views, and hybrid tree views/table displays.
Search results presented to the subscriber from an unaffiliated web-based search engine may be organized in a like fashion. One possible organization is to display a top tier including three links: Flights, Hotels, and Cars. Selecting a link drops the subscriber down to a second tier consisting of the web page addresses corresponding to that link, or, if there is greater detail as in the case of Flights, additional links (e.g. Men, Women). In an alternative embodiment, the popularity measures of the web pages within each category and intent are used to rearrange the structure. If, for example, the popularity measures of the top Flights web pages are much greater than the popularity measures of the other categories, the top tier may display the top several Flights web page addresses, together with links to lower tiers for Hotels web pages, Cars web pages, and additional (lower priority) Flights web pages. In another embodiment, the hierarchical structure may be dictated by the ranking of the popularity measures within each category. Applying this embodiment to the above example, the top tier may display the top Flights web page, the top Hotels web page, and the top Cars web page. A second tier displays the second most popular Flights web page, the second most popular Hotels web page, and the second most popular Cars page. Lower tiers may be included in a like manner as desired. Once the web page addresses have been displayed, the state proceeds to ending state 3560.
This invention may be embodied in other specific forms without departing from the essential characteristics as described herein. The embodiments described above are to be considered in all respects as illustrative only and not restrictive in any manner. The scope of the invention is indicated by the following claims rather than the foregoing description.

Claims

WHAT IS CLAIMED IS:
1. A method of providing a portal interface comprising: storing at a portal system one or more portal definitions wherein each portal definition defines a portal interface which is configured to be displayed in a browser while the browser accesses different web objects; transmitting from a user computer a subscriber identification to the portal system wherein the subscriber identification identifies a portal definition stored on the portal system; receiving at the portal system the subscriber identification transmitted from the user computer and retrieving the portal definition identified by the subscriber identification; transmitting from the portal system the portal definition identified by the subscriber identification to the user computer; and displaying the portal interface defined by the portal definition within the browser on the user computer.
2. The method as defined in Claim 1 wherein the portal interface is persistently displayed in the browser.
3. The method as defined in Claim 1 wherein the display of the portal interface is maintained in the browser while the browser displays the contents of a first web object, the portal interface is not displayed while the browser displays the contents of a second web object.
4. The method as defined in Claim 1 wherein the portal interface is customizable by the subscriber to include one or more web objects accessible through a communication medium.
5. The method as defined in Claim 1 wherein the portal interface is resizable.
6. The method as defined in Claim 1 wherein the portal interface is relocateable within the browser.
7. The method as defined in Claim 1 wherein the portal interface is displayed independent of the browser.
8. The method as defined in Claim 1 wherein the portal interface includes an auto-hide feature.
9. A method of providing a portal interface comprising: obtaining at a user computer, a portal interface from a remote server; displaying within a browser window on the user computer, the portal interface and at least a first web page; and maintaining the display of the portal interface within the browser window during the display of a second web page.
10. The method as defined in Claim 9 wherein the portal interface is customizable.
11. The method as defined in Claim 9 wherein the portal interface is resizable.
12. The method as defined in Claim 9 wherein the portal interface provides access to search services.
13. The method as defined in Claim 9 wherein the portal interface provides access to enabled web sites.
14. The method as defined in Claim 9 wherein the portal interface provides access to e-mail services.
15. The method as defined in Claim 9 wherein the portal interface provides access to a notes application.
16. The method as defined in Claim 9 wherein the portal interface provides notifications of events received from services.
17. The method as defined in Claim 9 wherein the portal interface provides access to a configuration application that facilitates the configuration of the portal interface.
18. The method as defined in Claim 9 wherein the portal interface provides access to a start page.
19. The method as defined in Claim 9 wherein the portal interface provides access to a address book application.
20. The method as defined in Claim 9 wherein the portal interface provides access to a calendar application.
21. The method as defined in Claim 9 wherein the portal interface provides access to an investment portfolio.
22. The method as defined in Claim 9 wherein the portal interface provides access to one or more bookmarks.
23. The method as defined in Claim 9 wherein the portal interface provides access to a web directory.
24. The method as defined in Claim 9 wherein the portal interface provides access to a news content.
25. The method as defined in Claim 9 wherein the portal interface provides access to a chat application.
26. A method of providing a user interface comprising: obtaining at a first computer, a user interface from a second computer; displaying within a window on the first computer, the user interface and content from a first web site; and requesting through the user interface content from a second web site while displaying the content from the first web site within the window.
27. The method as defined in Claim 26 wherein the window is a browser window.
28. The method as defined in Claim 26 wherein the user interface is a portal interface.
29. A method of providing a portal interface comprising: displaying within a browser window on the user computer, a portal interface and at least a first web page; maintaining the display of the portal interface within the browser window during the display of a second web page; and displaying in the portal interface one or more event notifications.
30. The method as defined in Claim 29 wherein the event notification is received from a remote computer.
31. The method as defined in Claim 29 wherein the portal interface includes a branding area.
32. The method as defined in Claim 29 wherein the portal interface includes an advertisement area.
33. The method as defined in Claim 29 wherein the portal interface includes a launch area.
34. The method as defined in Claim 29 wherein the portal interface includes a mode area.
35. The method as defined in Claim 29 wherein the portal interface includes a feature bar.
36. The method as defined in Claim 29 wherein the portal interface includes a portal display region.
37. A method of providing a portal interface comprising: displaying within a browser window on the user computer, a portal interface and at least a first web page; maintaining the display of the portal interface within the browser window during the display of a second web page; and redirecting requests from the user computer to a portal system configured to provide infomediary services.
38. The method as defined in Claim 37 wherein the portal system is on one or more remote computers.
39. The method as defined in Claim 37 wherein the portal system is on the user computer.
40. The method as defined in Claim 37 wherein the portal system is on the user computer and one or more remote computers.
41. The method as defined in Claim 37 wherein the requests are entered through the browser window.
42. The method as defined in Claim 37 wherein the requests are entered through the portal interface.
43. A method of providing a server-stored portal interface comprising: maintaining a portal interface that is intended to be displayed within a browser window while the browser window accesses different web objects; receiving from a remote computer a request for the portal interface; and transmitting the portal interface to the remote computer.
44. The method as defined in Claim 43 wherein the portal interface provides access to one or more enabled web sites.
45. The method as defined in Claim 44 wherein the enabled web sites are system enabled web sites.
46. The method as defined in Claim 44 wherein the enabled web sites are content provider enabled web sites.
47. The method as defined in Claim 44 wherein the enabled web sites are subscriber enabled web sites.
48. A method of processing portal interface requests comprising: receiving a request from a portal interface that is displayed within a browser window while the browser window accesses different web pages; and processing the request and providing a response to the portal interface.
49. The method as defined in Claim 48 wherein the response includes data which is displayed in the portal interface.
50. The method as defined in Claim 49 wherein the data is a digest of the contents of a web object.
51. A method of providing a portal interface comprising: maintaining a portal definition in a database, the portal definition defines a portal interface which is configured to be displayed in a browser, the portal definition is associated with a subscriber identification information; receiving the subscriber identification information from a remote device, the subscriber identification information identifies a subscriber; retrieving the portal definition associated with the received subscriber identification information from the database; and transmitting the portal definition to the remote device wherein the portal interface defined by the portal definition is displayed as part of a browser display on the remote device, the portal interface is displayed whenever the browser is displayed, the portal interface is displayed irrespective of the browser content.
52. A portal system comprising: a database containing a plurality of portal interfaces wherein each portal interface is configured to be displayed in a browser while the browser accesses different web objects; a monitor component configured to receive a subscriber identification information from a user computer wherein the subscriber identification information is associated with one of the plurality of portal interfaces, the monitor component further configured to retrieve the portal interface associated with the received subscriber identification; and a transmit component configured to transmit the retrieved portal interface to the user computer for displaying in the browser on the user computer.
53. The system as defined in Claim 52, further comprising a configure component configured to enable customization of the portal interface.
54. A portal system comprising: a database containing a portal interface intended to be displayed within a browser window displayed on a remote computer while the browser window displays a first web page, the portal interface is intended to remain displayed within the browser window while the browser window displays a second web page; a monitor component configured to receive a request for the portal interface from the remote computer; and a transmit component configured to transmit the portal interface to the remote computer.
55. The portal system as defined in Claim 54 wherein the portal interface includes access to one or more enabled web objects.
56. The portal system as defined in Claim 54 wherein the monitor component is further configured to receive a request from the portal interface displayed on the remote computer and provide a response to the portal interface.
57. The portal system as defined in Claim 54 wherein the monitor component is further configured to receive a request from the browser window displayed on the remote computer and provide a response to the browser window.
58. A portal interface system comprising: a portal interface received from a remote computer and displayed on a user computer; and a browser window displayed on the user computer, the browser window displaying the portal interface and a first web page, the browser window maintaining the display of the portal interface during the display of a second web page.
59. A portal interface system comprising: a user interface obtained at a first computer from a second computer; a window displayed on the first computer, the window displays the user interface and content from a first web site; and a request for content from a second web site, the request made through the user interface while displaying the content from the first web site in the window.
60. A portal interface system comprising: a portal interface received from a remote computer and displayed on a user computer; and a browser window displayed on the user computer, the browser window displaying the portal interface and content from a first web site, the browser window not displaying the portal interface during the display of content from a second web site, the browser window redisplaying the portal interface during the display of content from a third web site.
61. A portal interface system comprising: a means for obtaining at a user computer, a portal interface from a remote server; a means for displaying within a browser window on the user computer, the portal interface and at least a first web page; and a means for maintaining the display of the portal interface within the browser window during the display of a second web page.
62. A portal interface system comprising: a means for maintaining a portal definition in a database, the portal definition defines a portal interface which is configured to be displayed in a browser, the portal definition is associated with a subscriber identification information; a means for receiving the subscriber identification information from a remote device, the subscriber identification information identifies a subscriber; a means for retrieving the portal definition associated with the received subscriber identification information from the database; and a means for transmitting the portal definition to the remote device wherein the portal interface defined by the portal definition is displayed as part of a browser display on the remote device, the portal interface is displayed whenever the browser is displayed, the portal interface is displayed irrespective of the browser content.
63. A portal interface system comprising: a means for displaying on a user computer a browser window displaying a portal interface and at least a first web page; a means for maintaining the display of the portal interface in the browser window during the display of a second web page; and a means for redirecting from the user computer to a remote computer.
64. A portal system comprising: a means for maintaining a portal interface intended to be displayed within a browser window displayed on a remote computer while the browser window display a first web page, the portal interface is further intended to remain displayed within the browser window while the browser window displays a second web page; a means for receiving a request for the portal interface from the remote computer; and a means for transmitting the portal interface to the remote computer.
65. A method of exchanging information comprising: maintaining a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer; maintaining a plurality of enabled sites; receiving through the portal interface one or more items of data from the subscriber; creating a context specific information from the one or more items of data; and inputting the context specific information into at least one of the plurality of enabled sites.
66. The method as defined in Claim 65, further comprising the act of formatting the context specific information for input into at least one of the plurality of enabled sites.
67. The method as defined in Claim 65 wherein the plurality of enabled sites includes a web site.
68. The method as defined in Claim 65 wherein the plurality of enabled sites includes an online service.
69. The method as defined in Claim 65 wherein the plurality of enabled sites includes a web page.
70. The method as defined in Claim 65 wherein the one or more items of data are received through an assistant.
71. The method as defined in Claim 65 wherein the one or more items of data is input by the subscriber into one or more web pages.
72. The method as defined in Claim 65 wherein the context specific information is input into at least one of the plurality of enabled sites through one or more assistants.
73. The method as defined in Claim 65 wherein the plurality of enabled sites includes a personal application.
74. A method of exchanging information comprising: maintaining a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer; maintaining a plurality of assistants; receiving through the portal interface one or more items of data from the subscriber; creating a context specific information from the one or more items of data; and integrating one or more items of context specific information into one or more assistants.
75. A method of exchanging information comprising: maintaining a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer; maintaining an enabled site comprising a sequence of web pages; and inputting data into the sequence of web pages.
76. The method as defined in Claim 75, further comprising the act of maintaining information regarding the data communication method for the sequence of web pages.
77. The method as defined in Claim 75 wherein the data comprises a context specific information.
78. A method of exchanging information comprising: monitoring one or more items of information input by a subscriber, the one or more items of information is associated with a subscriber context; the one or more items of information is input into a first web site; creating a context specific information from the one or more items of information input by the subscriber; receiving a request to browse a second web site from the subscriber; and inputting the context specific information into the second web site.
79. The method as defined in Claim 78 wherein the first web site is comprised of a plurality of web pages.
80. The method as defined in Claim 78 wherein the second web site is comprised of a plurality of web pages.
81. The method as defined in Claim 78, further comprising the act of determining the subscriber's context from the subscriber's request to browse the second web site.
82. The method as defined in Claim 78, further comprising the act of staging the context specific information for input into the second web site.
83. The method as defined in Claim 78, further comprising the act of creating an assistant for the one or more items of information input by the subscriber.
84. The method as defined in Claim 83 wherein the assistant integrates the one or more items of information into the portal interface.
85. The method as defined in Claim 83 wherein the assistant stages the one or more items of information for input into the second web site.
86. A method of exchanging information comprising: maintaining subscriber information associated with a subscriber context, the subscriber information comprises a plurality of applications associated with the subscriber context; receiving a notification data from a service, the notification data is a response to a request to the service; determining an appropriate subscriber context and at least one application associated with the appropriate subscriber context; and inputting the notification data into at least one application associated with the appropriate subscriber context.
87. The method as defined in Claim 86 wherein the appropriate subscriber context is the subscriber context at the time of the request to the service.
88. The method as defined in Claim 86 wherein the appropriate subscriber context is the subscriber context at the time the notification data is received.
89. The method as defined in Claim 86 wherein the appropriate subscriber context is specified by a subscriber.
90. The method as defined in Claim 86, further comprising the act of staging the notification data for input into at least one application associated with the appropriate subscriber context.
91. A portal system comprising: a database comprising a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer, the portal interface is configured to receive one or more items of data from the subscriber; a plurality of enabled sites; a monitor component configured to receive the one or more items of data; a context specific information component configured to create a context specific information from the one or more items of data; and a data integrate component configured to input the context specific information into at least one of the plurality of enabled sites.
92. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing HTTP GET/POST/AUTH.
93. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing XML.
94. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing meta-HTML.
95. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing pattern matching.
96. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing standard parsing.
97. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing WIDL.
98. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing cookies.
99. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing URL/Query string analysis.
100. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing HTTP header exchange.
101. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing P3P.
102. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing ECML.
103. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing LDAP.
104. The system as defined in Claim 91 wherein the context specific information is input into at least one of the plurality of enabled sites utilizing vCARD or vCAL.
105. The system as defined in Claim 91 wherein the portal interface comprises at least one assistant configured to facilitate the receiving of the one or more items of data.
106. The system as defined in Claim 91 wherein the data integrate component comprises at least one assistant configured to stage the context specific information for input into at least one of the plurality of enabled sites.
107. A portal system comprising: a database comprising a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer; an enabled site comprising a sequence of web pages; and a data integrate component configured to input data into the enabled site.
108. The system as defined in Claim 107 wherein the data is context specific information.
109. An information exchange system comprising: a monitor component configured to monitor one or more items of information input by a subscriber wherein the one or more items of information is associated with a subscriber context, the one or more items of information is input into a first web site; a context specific information component configured to create a context specific information from the one or more items of information input by the subscriber; and a data integrate component configured to input the context specific information into a second web site.
110. The system as defined in Claim 109 wherein the context specific information is input to the second web site upon verifying that the subscriber context is unchanged.
111. An information exchange system comprising: a database comprising a plurality of applications wherein the plurality of applications is associated with a subscriber, the plurality of applications is further associated with a subscriber context; and a data integrate component configured to receive a notification data from a service, the data integrate component configured to determine an appropriate subscriber context and at least one application associated with the appropriate subscriber context, the data integrate component further configured to input the notification data into at least one application associated with the appropriate subscriber context.
112. The system as defined in Claim 1 1 1, further comprising at least one assistant, the assistant is configured to stage the notification data for input into at least one application associated with the appropriate subscriber context.
113. An information exchange system comprising: a means for maintaining a portal interface for a subscriber, the portal interface is associated with a subscriber context; a means for maintaining a plurality of enabled sites; a means for receiving one or more items of data from the subscriber; a means for creating a context specific information from the one or more items of data; and a means for inputting the context specific information into at least one of the plurality of enabled sites.
114. An information exchange system comprising: a means for receiving one or more items of data from the subscriber while the subscriber is in a first context; a means for associating a second context with the subscriber while the subscriber is browsing a web object; and a means for inputting the one or more items of data into the web object in response to determining that the first context and the second context are the same.
1 15. An information exchange system comprising: a means for storing subscriber information associated with a subscriber context, the subscriber information comprises a plurality of applications associated with the subscriber context; a means for receiving notification data from a service; and a means for inputting the notification data into at least one of the plurality of applications.
116. An information exchange system comprising: a means for receiving one or more items of data from a subscriber; a means for associating a subscriber context to the subscriber and the one or more items of data; and a means for inputting at least one of the items of data into a sequence of web pages.
117. A method of providing a context responsive portal interface comprising: maintaining a first portal interface for a subscriber, the first portal interface is associated with a first context; maintaining a second portal interface for the subscriber, the second portal interface is associated with a second context; transmitting the first portal interface to a user computer wherein the first portal interface is displayed on the user computer; detecting a change in context; and transmitting the second portal interface to the user computer wherein the second portal interface is displayed on the user computer.
1 18. The method as defined in Claim 117 wherein the change in context is specified by the subscriber.
1 19. The method as defined in Claim 1 17 wherein the change in context results from a change in persona.
120. The method as defined in Claim 117 wherein the change in context results from a change in intent.
121. The method as defined in Claim 117 wherein the change in context is determined from analyzing a browser click stream history.
122. The method as defined in Claim 117 wherein the change in context is determined from HTTP headers.
123. The method as defined in Claim 117 wherein the change in context is determined from analyzing a one or more web page contents.
124. A method of providing a context responsive portal interface comprising: maintaining a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer; and filtering information to be displayed on the user computer based on the subscriber context.
125. The method as defined in Claim 124 wherein the information includes the portal interface.
126. The method as defined in Claim 124 wherein the information includes search results.
127. The method as defined in Claim 124 wherein the information includes accessible web objects.
128. The method as defined in Claim 124 wherein the information includes a web directory listing.
129. The method as defined in Claim 124 wherein the filtering is based on subscriber demographic information.
130. The method as defined in Claim 124 wherein the filtering is based on mode.
131. The method as defined in Claim 124 wherein the filtering is based on edition.
132. The method as defined in Claim 124 wherein the filtering is based on intent.
133. The method as defined in Claim 124, further comprising the act of limiting access provided through the portal interface based on the subscriber context.
134. A method of providing a context responsive portal interface comprising: maintaining an active business card for a subscriber, the active business card is a first business card in a first subscriber context and a second business card in a second subscriber context; and providing access to the active business card based on the subscriber's context.
135. The method as defined in Claim 134 wherein the context is determined from the subscriber's persona.
136. The method as defined in Claim 134 wherein the active business card is a web page.
137. The method as defined in Claim 134 wherein the active business card displays subscriber information.
138. The method as defined in Claim 134 wherein the active business card provides access to one or more subscriber applications.
139. A method of providing a context responsive portal interface comprising: maintaining a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer; receiving one or more items of information through the portal interface; and creating a context specific information from the one or more items of information and the subscriber context.
140. The method as defined in Claim 139 wherein the context sensitive information is received through an assistant.
141. A context responsive portal system comprising: a database comprising a first portal interface for a subscriber wherein the first portal interface is associated with a first context, the database further comprising a second portal interface for the subscriber wherein the second portal interface is associated with a second context; and a monitor component responsive to detect a change in context, the monitor component configured to send the first portal interface to a user computer in response to detecting the first context, the monitor component configured to transmit the second portal interface to the user computer in response to detecting the second context.
142. The system as defined in Claim 141 wherein the change in context is specified by the subscriber.
143. The system as defined in Claim 141 wherein the change in context is dynamic.
144. The system as defined in Claim 141 wherein the first portal interface provides access to a first set of web objects.
145. The system as defined in Claim 141 wherein the second portal interface provides access to a second set of web objects.
146. A context responsive portal system comprising: a first portal interface for a subscriber, the first portal interface is associated with a first context, the first portal interface is configured to be displayed on a user computer; a second portal interface for the subscriber, the second portal interface is associated with a second context, the second portal interface is configured to be displayed on the user computer; a monitor component configured to determine the subscriber context; and a filter component configured to identify information to be displayed on the user computer based on the subscriber context.
147. The system as defined in Claim 146 wherein the information includes content displayed on a browser window.
148. The system as defined in Claim 146 wherein the information includes content displayed on the portal interface.
149. A context responsive portal system comprising: a plurality of business cards for a subscriber, each of the plurality of business cards associated with a subscriber context; an active business card for the subscriber, the active business card is one of the plurality of business cards; and a monitor component configured to monitor access to the active business card.
150. The system as defined in Claim 149 wherein the active business card is based on one or more context factors for a visitor to the active business card.
151. The system as defined in Claim 149 wherein the active business card is based on a relationship between the subscriber and a visitor to the active business card.
152. The system as defined in Claim 149 wherein the active business card is based on the subscriber's current context.
153. The system as defined in Claim 149 wherein the active business card is specified by the subscriber independent of the subscriber context.
154. The system as defined in Claim 149 wherein the active business card is set to one of the plurality of business cards irrespective of the subscriber context.
155. The system as defined in Claim 149 wherein information contained in the active business card is specified by the subscriber.
156. A context responsive portal system comprising: a database comprising a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer; a monitor component configured to receive one or more items of information through the portal interface; and a context specific information component configured to create context specific information from the one or more items of information.
157. The system as defined in Claim 156 wherein the one or more items of information are received through an assistant.
158. The system as defined in Claim 157 wherein the assistant is accessible through the portal interface.
159. The system as defined in Claim 157 wherein the assistant is accessible through a pop-up window.
160. The system as defined in Claim 157 wherein the assistant is accessible through a browser window.
161. The system as defined in Claim 156, further comprising an assistant configured to provide access to the context specific information through the portal interface.
162. A context responsive portal system comprising: a means for maintaining a plurality of portal interfaces for a subscriber, each of the plurality of portal interfaces is associated with a subscriber context, each of the portal interfaces is configured to be displayed on a user computer; a means for determining the subscriber context; a means for selecting one of the plurality of portal interfaces based on the subscriber context; and a means for transmitting the selected portal interface to the user computer.
163. The system as defined in Claim 162, further comprising a means for detecting a change in subscriber context.
164. A context responsive portal system comprising: a means for maintaining a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer; and a means for filtering information displayed on the user computer based on the subscriber context.
165. The system as defined in Claim 164 wherein the information is displayed in the portal interface.
166. The system as defined in Claim 164 wherein the information is displayed in a browser window on the user computer.
167. A context responsive portal system comprising: a means for maintaining a plurality of business cards associated with a subscriber, each of the plurality of business cards is further associated with a subscriber context; a means for maintaining an active business card for the subscriber, the active business card is one of the plurality of business cards; and a means for providing access to the active business card.
168. A context responsive portal system comprising: a means for maintaining a portal interface for a subscriber, the portal interface is associated with a subscriber context, the portal interface is configured to be displayed on a user computer; a means for receiving one or more items of information through the portal interface; and a means for creating context specific information from the one or more items of information.
169. The system as defined in Claim 168, further comprising a means for maintaining a plurality of assistants wherein the assistant provides access to the context specific information.
170. A method of interacting with fellow subscribers over a communication medium via a portal interface, comprising: dedicating a portion of a portal interface within a computer display for initiating and conducting interactivity sessions with fellow subscribers without affecting the ability to browse the worldwide web using another portion of said computer display; requesting an interactivity session with fellow subscribers; selecting a list of context parameters concerning the desired attributes of interactivity-mates among the fellow subscribers; receiving within said dedicated portion of said portal interface communications from fellow subscribers who (i) are currently online the communication medium; (ii) fulfill said list of context parameters; and (iii) have indicated a willingness to engage in an interactivity session; and responding interactively within said dedicated portion of said portal interface with one or more of said fellow subscribers.
171. The method as defined in Claim 170, further comprising continuing concurrently to browse the communication medium within another portion of said computer display while interactively engaged with one or more of said fellow subscribers within said dedicated portion of said portal interface..
172. A method of facilitating interactivity over a communication medium among a plurality of subscribers accessing the medium via computers, the computer-implemented acts comprising: storing a list of context parameters for each subscriber that provide information about that subscriber; receiving a first subscriber's request to initiate interactivity with fellow subscribers, wherein said request includes context parameter requirements that identify those fellow subscribers with which said first subscriber has an interest in interacting; comparing said context parameter requirements with said context parameters of other subscribers currently online the communication medium; and enabling interactivity between said first subscriber and those subscribers having context parameters matching said context parameter requirements.
173. The method as defined in Claim 172, further comprising: storing a list of interactivity parameters for each subscriber that personalizes that subscriber's interactivity; comparing, for those fellow subscribers having context parameters matching said context parameter requirements, said interactivity parameters with said context parameters of said first subscriber; and wherein enabling interactivity further comprises requiring that said interactivity parameters match said context parameters of said first subscriber.
174. The method as defined in Claim 172, further comprising supplying instructions to said subscribers' computers to dedicate a portion of the computer display for subscriber interactivity, and wherein said enabling interactivity takes place within said dedicated portions of said computer displays.
175. The method as defined in Claim 174, further comprising providing a second dedicated portion of the computer display for browsing the worldwide web, wherein a subscriber may conduct an interactivity session with fellow subscribers without affecting the subscriber's ability to concurrently browse the worldwide web using said second dedicated portion of the computer display.
176. A method of facilitating interactivity over a communication medium among a plurality of subscribers comprising: maintaining a list of parameters for each subscriber, said list including one or more parameters indicating a current intent for said subscriber's online session; receiving a request from a seeking subscriber to identify fellow subscribers having specified values for the parameters within their lists; determining one or more qualified subscribers possessing the specified values sought by said seeking subscriber; and enabling said seeking subscriber and said qualified subscribers to interact.
177. The method as defined in Claim 176, further comprising receiving from each of said qualified subscribers an acceptance of said seeking subscriber's request for interactivity.
178. The method as defined in Claim 177, wherein said acceptance comprises finding a match between said parameters of said seeking subscriber and interactivity preferences set by each of said qualified subscribers.
179. A method of facilitating chatting and synchronized web surfing over a communication medium among a plurality of subscribers accessing the medium via computers, the computer-implemented acts comprising: enabling a first subscriber and a second subscriber to engage in a chat session within a portion of a portal interface; and loading, concurrently with said chat session, a web page into a web browser of said second subscriber in response to a web page address selection made by said first subscriber.
180. The method as defined in Claim 179, further comprising loading the same web page into a web browser of said first subscriber.
181. A method of facilitating chatting over a communication medium among a plurality of users surfing a common web site, the computer-implemented acts comprising: storing a current web browser location for each of said plurality of users; receiving a first user's request to initiate chatting with fellow users surfing the same web site as said first user; comparing said current web browser location of said first user with said current web browser location of other users currently online the communication medium; and enabling chatting between said first user and those users having the same current web browser location.
182. A system for facilitating interactivity over a communication medium among a plurality of subscribers on computers, comprising: computer data storage connected to said communication medium storing context parameters for each member of said plurality of subscribers, said context parameters comprising information on said member; an interactivity room in communication with said computers of only those subscribers satisfying specified context parameters; and an interactivity application connected to said communication medium that enables interactivity between subscribers with access to said interactivity room.
183. The system as defined in Claim 182, further comprising an interactivity control module connected to said communication medium that creates said interactivity room in response to a request from a first subscriber.
184. The system as defined in Claim 183, wherein said request from said first subscriber includes specified context parameters that must be satisfied to receive access to said interactivity room.
185. The system as defined in Claim 182, further comprising a browser window and a portal interface on said subscriber computers that allows said subscribers with access to said interactivity room to concurrently browse the worldwide web while engaged in interactivity.
186. The system as defined in Claim 185, further comprising a browser proxy control module that proxies the downloading of web pages by said subscribers.
187. The system as defined in Claim 182, wherein said interactivity application enables a first subscriber with access to said interactivity room to direct the web browser location of a second subscriber with access to said interactivity room in response to a web page address selection made by said first subscriber.
188. A system for facilitating interactivity over a communication medium among a plurality of subscribers on computers, comprising: means for storing context parameters for each member of said plurality of subscribers, said context parameters comprising information on said member; means for providing interactivity between said plurality of subscribers; and means for limiting access to said interactivity to only those subscribers satisfying specified context parameters.
189. The system of claim 188, wherein said means for providing interactivity comprises means for enabling a first subscriber to direct the web browser location of a second subscriber with access to said interactivity room in response to a web page address selection made by said first subscriber.
190. A method of advertising to persons having community roles and relationships, comprising: sending a first advertisement to a first person tailored to characteristics of said first person; identifying a second person sharing a relationship with said first person; and sending a second advertisement to said second person tailored to characteristics of said second person.
191. The method as defined in Claim 190, wherein said characteristics comprise role and relationship information within said community.
192. The method as defined in Claim 191, wherein said characteristics further comprise demographic information.
193. The method as defined in Claim 191 , wherein said characteristics further comprise an intent of the associated person during an online session.
194. The method as defined in Claim 191, wherein said characteristics further comprise a persona of the associated person during an online session.
195. The method as defined in Claim 190, wherein said characteristics comprise a context of the associated person during an online session.
196. The method as defined in Claim 190, wherein sending said second advertisement occurs after a specified amount of time has passed since sending said first advertisement.
197. The method as defined in Claim 190, wherein sending said second advertisement occurs after a specified triggering event has occurred.
198. A method of advertising to a plurality of persons having roles and relationships within a community, comprising: storing context information for each person within said plurality of persons, said context information comprising role and relationship information; creating an advertising campaign comprising: a set of one or more advertisements; and advertising campaign logic dictating the recipients of said advertisements based at least in part on context information, dictating which advertisements are to be sent to which recipients based at least in part on context information, and further dictating the timing of delivery of said advertisements, and wherein recipients are further determined at least in part by their relationships with other recipients; sending a first advertisement from said set of advertisements to a first person in response to a triggering event that initiates the advertising campaign; and - - sending a sequence of one or more additional advertisements from said set of advertisements to one or more persons based upon the requirements of said advertising campaign logic.
199. The method as defined in Claim 198, wherein said context information further comprises demographic information.
200. The method as defined in Claim 198, wherein said context information further comprises the intent of the associated person during an online session.
201. The method as defined in Claim 198, wherein said advertising campaign logic includes specified times for the sending of at least some of said additional advertisements.
202. The method as defined in Claim 198, wherein said advertising campaign logic includes triggering events for the sending of at least some of said additional advertisements.
203. The method as defined in Claim 198, wherein said advertising campaign logic selects at least some advertisements for recipients based on the number of each advertisement of said set of advertisements sent to recipients earlier in said sequence.
204. The method as defined in Claim 198, wherein said advertising campaign logic selects at least some advertisements for recipients later in said sequence based upon an assessment of favorable responses received in response to advertisements received by recipients earlier in said sequence.
205. A method of distributing tailored advertising over a communication medium to a portal interface, the computer-implemented acts comprising: supplying instructions to a computer to dedicate a portion of a portal interface for displaying advertising; storing a list of context parameters for a person associated with said portal interface; and displaying advertising to said dedicated portion of said portal interface personalized to said list of context parameters.
206. The method as defined in Claim 205, wherein said context parameters include information characterizing the current intent of the associated person's online session.
207. The method as defined in Claim 205, wherein said parameters include one or more roles indicating one or more roles within one or more online communities.
208. The method as defined in Claim 205, further comprising providing for web browsing on the communication medium within a web browser associated with said portal interface simultaneously with said advertising within said portal interface.
209. A method of distributing advertising over a communication medium to a plurality of persons comprising: maintaining for each person a list of context parameters; receiving from an advertisement provider an advertisement and a list of parameter requirements; and sending said advertisement to only those persons with context parameters fulfilling said parameter requirements.
210. The method as defined in Claim 209, wherein said context parameters include information characterizing the current intent of the associated person's online session.
21 1. The method as defined in Claim 209, wherein said parameters include one or more roles indicating one or more roles for the associated person within one or more online communities.
212. A method of facilitating advertising to a plurality of persons comprising: receiving from an advertisement provider a list of parameter requirements; maintaining for each person a list of context parameters; and sending said advertisement provider information enabling said advertising provider to deliver tailored advertisements to those persons with parameters fulfilling said parameter requirements.
213. The method as defined in Claim 212, wherein said context parameters include information characterizing the current intent of the associated person's online session.
214. The method as defined in Claim 212, wherein said parameters include one or more roles indicating one or more roles for the person within one or more online communities.
215. A system for advertising to a plurality of persons, comprising: a listing of context information for each member of said plurality of persons, said context information comprising role and relationship information; an advertising campaign, said advertising campaign comprising: a set of one or more advertisements; and advertising campaign logic dictating the recipients of said advertisements based at least in part on context information, dictating which advertisements are to be sent to which recipients based at least in part on context information, and further dictating the timing of delivery of said advertisements, and wherein recipients are further determined at least in part by their relationships with other recipients; and means for sending an advertisement to said plurality of persons.
216. The system as defined in Claim 215, wherein said context information further comprises demographic information.
217. The system as defined in Claim 215, wherein said context information further comprises the intent of the associated person during an online session.
218. The system as defined in Claim 215, wherein said advertising campaign logic includes specified times for at least some of the timings of delivery.
219. The system as defined in Claim 215, wherein said advertising campaign logic includes triggering events for at least some of the timings of delivery.
220. The system as defined in Claim 215, wherein said advertising campaign logic selects at least some advertisements for recipients based on the number of each advertisement of said set of advertisements sent earlier.
221. The system as defined in Claim 215, wherein said advertising campaign logic selects at least some advertisements for recipients based upon an assessment of favorable responses received in response to advertisements sent earlier to recipients.
222. A system for advertising to a plurality of persons at computers connected to a communication medium, comprising: a computer storage connected to said communication medium comprising context information for each member of said plurality of persons, said context information comprising role and relationship information; a computer storage connected to said communication medium comprising an advertising campaign, said advertising campaign comprising: a set of one or more advertisements; and advertising campaign logic dictating the recipients of said advertisements based at least in part on context information, dictating which advertisements are to be sent to which recipients based at least in part on context information, and further dictating the timing of delivery of said advertisements, and wherein recipients are further determined at least in part by their relationships with other recipients; and an advertisement control module connected to said communication medium, said advertisement control module capable of selectively sending an advertisement from said set of advertisements to only the appropriate computers of said plurality of persons as determined by said advertising campaign logic.
223. An advertising campaign targeted at a plurality of persons, comprising: a set of one or more advertisements; and advertising campaign logic that specifies recipients for said advertisements based at least in part on a set of context parameters, that also specifies which advertisements are to be sent to which recipients based at least in part on said set of context parameters, and that further specifies the timing of delivery of said advertisements, and wherein said specified recipients are further determined at least in part by their relationships with other specified recipients.
224. The advertising campaign as defined in Claim 223, wherein said advertising campaign logic includes specified times for at least some of the timings of delivery.
225. The advertising campaign as defined in Claim 223, wherein said advertising campaign logic includes triggering events for at least some of the timings of delivery.
226. The advertising campaign as defined in Claim 223, wherein said advertising campaign logic selects at least some advertisements for recipients based on the number of each advertisement of said set of advertisements sent earlier.
227. The advertising campaign as defined in Claim 223, wherein said advertising campaign logic selects at least some advertisements for recipients based upon an assessment of favorable responses received in response to advertisements sent to earlier to recipients.
228. A method for selecting and displaying popular web page addresses to a subscriber on a computer, comprising: selecting at the computer a request to display a group of web page addresses associated with a category, where inclusion of a web page within said group depends at least in part upon the popularity of the web page as determined by a community of subscribers; determining said group of web page addresses based on visits by members of said community of subscribers; and receiving at the computer a presentation of said group of web page addresses.
229. The method as defined in Claim 228, wherein receiving a presentation of said group of web page addresses occurs within a portal interface generated by the computer.
230. The method as defined in Claim 228, further comprising selecting at the computer a list of context parameters defining said population of subscribers.
231. The method as defined in Claim 230, wherein said context parameters include memberships in online communities.
232. The method as defined in Claim 230, wherein said context parameters include the intent of said subscribers during an online session.
233. The method as defined in Claim 230, wherein said context parameters include demographic information.
234. The method as defined in Claim 228, wherein said request to display said group of web pages comprises a search query submitted to a search engine.
235. A method of selecting and displaying popular web page addresses to a subscriber on a computer, the computer-implemented acts comprising: receiving from said computer a request to display a group web page addresses within a category, where inclusion of a web page within said group depends at least in part upon the popularity of the web page as determined by a population of subscribers; and displaying said group of web page addresses at said computer.
236. The method as defined in Claim 235, further comprising supplying instructions to said computer to dedicate a portion of a display generated by the computer to displaying said group of web pages within a portal interface.
237. The method as defined in Claim 235, further comprising selecting at the computer a list of context parameters defining said population of subscribers.
238. The method as defined in Claim 237, wherein said context parameters include memberships in online communities.
239. The method as defined in Claim 237, wherein said context parameters include the intent of said subscribers during an online session.
240. The method as defined in Claim 237, wherein said context parameters include demographic information.
241. The method as defined in Claim 235, wherein said request to display said group of web pages comprises a search query submitted to a search engine.
242. A method of identifying popular web page addresses, the computer-implemented acts comprising: maintaining a list of parameters for each subscriber in a universe of subscribers; maintaining a record of past web page visits by each subscriber within said universe of subscribers, said record including, for each visit, the subscriber list of parameters at the time of said visit; receiving a list of required parameters defining a desired population of subscribers to be used for determining the popularity of web pages; receiving a request to display a group of web page addresses within a category, where inclusion of a web page within said group depends at least in part upon the popularity of the web page as determined by a population of subscribers; and determining said group of web page addresses at least in part by determining from said record of past web page visits which web pages within said category have been visited most often by subscribers having a list of parameters at the time of the visit matching said list of required parameters.
243. The method as defined in Claim 242, wherein said list includes one or more parameters designating a current intent for said subscriber's online session.
244. The method as defined in Claim 242, further comprising displaying said group of web page addresses.
245. A method of processing a search query submitted to a web-based search engine comprising: identifying a set of web page addresses that satisfies said search query; receiving from said subscriber a list of required parameters defining a desired population of subscribers to be used for determining the popularity of web pages for said search query; maintaining a record of past web page visits by each subscriber within a universe of subscribers, said record including, for each visit, a list of parameters for said subscriber at the time of said visit; ranking the individual web page addresses within said set of web page addresses based upon the number of past visits to each web page address by a subscriber having a list of parameters at the time of the visit matching said list of required parameters; and displaying said individual web page addresses prioritized according to the determined ranking.
246. The method as defined in Claim 245, further comprising maintaining a list of parameters for each subscriber within a universe of subscribers, said list including one or more parameters designating a current purpose for an online session.
247. A method of prioritizing and displaying web page addresses within a directory tree comprising: receiving from said subscriber a list of required parameters defining a desired population of subscribers to be used for determining the popularity of web pages for display; maintaining a record of past web page visits by each subscriber within a universe of subscribers to each web page within said set of web pages, said record including, for each visit, a list of parameters for said subscriber at the time of said visit; determining a subset of web page addresses for inclusion within said directory tree based upon the number of past visits to each web page address by a subscriber having a list of parameters at the time of the visit matching said list of required parameter; ranking the individual web page addresses within said subset of web page addresses based upon the number of past visits to each web page address by a subscriber having a list of parameters at the time of the visit matching said list of required parameters; and displaying said individual web page addresses within a directory tree prioritized according to the determined ranking.
248. The method as defined in Claim 247, wherein said directory tree comprises nested folders, wherein at least some of said nested folders contain web page addresses and links to additional nested folders.
249. The method as defined in Claim 248, wherein said nested folders are organized such that the location of a folder within said nested folders is determined at least in part by that folder's popularity compared to all other folders in the directory tree, and where a folder's popularity is assessed based on the cumulative number of past visits to all of the web page addresses within said folder.
250. A method of displaying a group of popular portal interface options to a subscriber on a computer, the computer-implemented acts comprising: maintaining a list of parameters for each subscriber in a universe of subscribers; maintaining a record of past option selections by each subscriber within said universe of subscribers, said record including, for each option selection, the subscriber list of parameters at the time of said option selection; receiving a list of required parameters defining a desired population of subscribers to be used for determining the popularity of said options; determining said group of options at least in part by determining from said record of past option selections which option selections have been made most often by subscribers having a list of parameters at the time of the selection matching said list of required parameters.
251. The method as defined in Claim 250, wherein said list includes one or more parameters designating a current intent for said subscriber's online session.
252. The method as defined in Claim 250, further comprising displaying said group of options.
253. A method of displaying popular web pages to a subscriber on a computer, the computer-implemented acts comprising: receiving from said computer a request to browse the WWW using a popularity filter, where said popularity filter only allows the display of web pages satisfying some predetermined popularity criteria; maintaining popularity measures for web page addresses, wherein said popularity measures are determined from records of web site visitations by a population of WWW users; receiving from said computer a request to display a web page address; and displaying said web page address at said computer only if said popularity measure associated with said web page satisfies said predetermined popularity criteria.
254. The method as defined in Claim 253, further comprising selecting at the computer a list of context parameters defining said population of WWW users.
255. A system for displaying a set of web page addresses, comprising: a list of web page addresses and associated popularity measures, where each popularity measure indicates the popularity of the associated web page address as determined by visitations to said web page address by subscribers; filtering means in communication with said list of web page addresses, wherein said filtering means is capable of determining a subset of said list of web page addresses that is relevant to a request for a popularity-based display; ranking means in communication with said filtering means, wherein said ranking means is capable of prioritizing said subset of web page addresses into a prioritized list on the basis of said popularity measures; and displaying means capable of generating a display of said prioritized list.
256. A system for displaying on a user computer a set of popular web page addresses on a computer accessing a communication medium, comprising: a computer storage connected to said communication medium comprising a list of web page addresses and associated popularity measures, where each popularity measure indicates the popularity of the associated web page address as determined by visitations to said web page address by subscribers; a filtering module connected to said communication medium, wherein said filtering module is capable of determining a subset of said list of web page addresses that is relevant to a request for a popularity-based display; a sorting module connected to said communication medium, wherein said sorting module is capable of prioritizing said subset of web page addresses into a prioritized list on the basis of said popularity measures; a database connected to said communication medium comprising a portal interface; and a monitor component configured to send said portal interface to said user computer.
257. A method of facilitating interactivity and advertising over a communication medium among a first subscriber and a second subscriber, the computer-implemented acts comprising: storing context parameters for a first subscriber and a second subscriber; enabling an interactivity session between said first subscriber and said second subscriber; and sending a first advertisement to said first subscriber tailored to the context parameters of said first subscriber; and sending a second advertisement to said second subscriber tailored to the context parameters of said second subscriber.
258. The method of Claim 257, wherein said interactivity session comprises a chat session.
259. The method of Claim 257 further comprising supplying instructions to computer displays associated with each subscriber to dedicate a first portion of said computer display for subscriber interactivity, and wherein said interactivity occurs within said first portion.
260. The method of Claim 257 further comprising supplying instructions to said computer displays to dedicate a second portion of said computer display for advertising, and wherein sending said advertisement comprises displaying said advertisement within said second portion.
261. The method of Claim 257, further comprising supplying instructions to said computer displays to dedicate a third portion of said computer display for browsing the worldwide web, wherein a subscriber may conduct an interactivity session with fellow subscribers within said first dedicated portion and receive advertising within said second dedicated portion without affecting the subscriber's ability to concurrently browse the worldwide web using said third dedicated portion.
262. A system for facilitating interactivity and advertising over a communication medium among a plurality of subscribers on computers, comprising: a first computer data storage connected to said communication medium storing context parameters for each member of said plurality of subscribers, said context parameters comprising information on said member; an interactivity room in communication with said computers of only those subscribers satisfying specified context parameters; an interactivity application connected to said communication medium that enables interactivity between subscribers with access to said interactivity room; a second computer storage connected to said communication medium comprising an advertising campaign, said advertising campaign comprising: a set of one or more advertisements; and advertising campaign logic dictating which advertisements to send to which subscribers within said interactivity room; an advertisement control module connected to said communication medium, said advertisement control module capable of selectively sending a particular advertisement from said set of advertisements to only the appropriate subscribers within said interactivity room.
263. A system for facilitating interactivity and advertising among a plurality of subscribers, comprising: first storage means containing context parameters for each member of said plurality of subscribers, said context parameters comprising information on said member; interactivity means providing interactivity between said plurality of subscribers; second storage means containing an advertising campaign, said advertising campaign comprising: a set of one or more advertisements; and advertising campaign logic dictating which advertisements to send to which subscribers within said interactivity room; and advertising means capable of selectively sending a particular advertisement from said set of advertisements to only the appropriate subscribers within said plurality of subscribers.
PCT/US2000/011320 1999-04-27 2000-04-27 Portal system and method WO2000065773A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU44954/00A AU4495400A (en) 1999-04-27 2000-04-27 Portal system and method

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
US13129099P 1999-04-27 1999-04-27
US60/131,290 1999-04-27
US48435300A 2000-01-18 2000-01-18
US48456100A 2000-01-18 2000-01-18
US48390400A 2000-01-18 2000-01-18
US48480700A 2000-01-18 2000-01-18
US48390700A 2000-01-18 2000-01-18
US48435200A 2000-01-18 2000-01-18
US48475500A 2000-01-18 2000-01-18
US09/484,561 2000-01-18
US09/484,807 2000-01-18
US09/483,904 2000-01-18
US09/484,755 2000-01-18
US09/484,353 2000-01-18
US09/484,352 2000-01-18
US09/483,907 2000-01-18

Publications (2)

Publication Number Publication Date
WO2000065773A2 true WO2000065773A2 (en) 2000-11-02
WO2000065773A8 WO2000065773A8 (en) 2002-12-27

Family

ID=27574897

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/011320 WO2000065773A2 (en) 1999-04-27 2000-04-27 Portal system and method

Country Status (2)

Country Link
AU (1) AU4495400A (en)
WO (1) WO2000065773A2 (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000070500A2 (en) * 1999-05-14 2000-11-23 Pivia, Inc. Client-server independent intermediary mechanism
WO2000070838A2 (en) * 1999-05-14 2000-11-23 Pivia, Inc. Client-server independent intermediary mechanism
WO2002052452A2 (en) * 2000-12-22 2002-07-04 Merchant & Gould P.C. Litigation management system and method
WO2002059787A1 (en) * 2001-01-24 2002-08-01 Telefonaktiebolaget Lm Ericsson (Publ) An arrangement and a method relating to session management in a portal structure
WO2002059791A1 (en) * 2001-01-24 2002-08-01 Telefonaktiebolaget Lm Ericsson (Publ) An arrangement and a method relating to end user station access of a portal
EP1231740A2 (en) * 2001-02-08 2002-08-14 Solid Information Technology Oy Method and system for data management
WO2002077861A1 (en) * 2001-03-22 2002-10-03 Brandfind Limited Method for providing services using an internet portal
EP1249767A2 (en) * 2001-04-12 2002-10-16 General Electric Company System and method for updating an intranet portal
WO2002089437A2 (en) * 2001-05-02 2002-11-07 Telefonaktiebolaget L M Ericsson (Publ) Personal internet portal
WO2002091154A2 (en) 2001-05-10 2002-11-14 Changingworlds Limited Intelligent internet website with hierarchical menu
WO2004051507A1 (en) * 2002-12-02 2004-06-17 Sap Ag Portal based desktop
US7127473B2 (en) 2002-05-17 2006-10-24 Sap Aktiengesellschaft Methods and systems for providing supplemental contextual content
US7200801B2 (en) 2002-05-17 2007-04-03 Sap Aktiengesellschaft Rich media information portals
US7305436B2 (en) 2002-05-17 2007-12-04 Sap Aktiengesellschaft User collaboration through discussion forums
US7321887B2 (en) 2002-09-30 2008-01-22 Sap Aktiengesellschaft Enriching information streams with contextual content
US7346668B2 (en) 2002-05-17 2008-03-18 Sap Aktiengesellschaft Dynamic presentation of personalized content
EP1903485A2 (en) * 2006-09-21 2008-03-26 SAP Portals Israel Ltd. System and methods for context based navigation
US7370276B2 (en) 2002-05-17 2008-05-06 Sap Aktiengesellschaft Interface for collecting user preferences
US7640348B2 (en) 2001-09-21 2009-12-29 Corel Corporation System and method of managing access to web services
US8302012B2 (en) 2002-12-02 2012-10-30 Sap Aktiengesellschaft Providing status of portal content
US8856226B2 (en) 2009-01-30 2014-10-07 Nokia Corporation Method, apparatus, and computer program product for context-based contact information management
US9997158B2 (en) 2014-07-31 2018-06-12 Google Llc Conversational agent response determined using a sentiment or user profile data
US11729588B1 (en) 2021-09-30 2023-08-15 T-Mobile Usa, Inc. Stateless charging and message handling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000070500A2 (en) * 1999-05-14 2000-11-23 Pivia, Inc. Client-server independent intermediary mechanism
WO2000070838A2 (en) * 1999-05-14 2000-11-23 Pivia, Inc. Client-server independent intermediary mechanism
WO2000070500A3 (en) * 1999-05-14 2002-01-03 Pivia Inc Client-server independent intermediary mechanism
WO2000070838A3 (en) * 1999-05-14 2002-01-10 Pivia Inc Client-server independent intermediary mechanism
US8826118B2 (en) 1999-05-14 2014-09-02 F5 Networks, Inc. Applications and services supported by a client-server independent intermediary mechanism
US6505230B1 (en) 1999-05-14 2003-01-07 Pivia, Inc. Client-server independent intermediary mechanism
WO2002052452A2 (en) * 2000-12-22 2002-07-04 Merchant & Gould P.C. Litigation management system and method
US7197716B2 (en) 2000-12-22 2007-03-27 Merchant & Gould, P.C. Litigation management system and method
WO2002052452A3 (en) * 2000-12-22 2003-07-17 Merchant & Gould P C Litigation management system and method
GB2386726A (en) * 2001-01-24 2003-09-24 Ericsson Telefon Ab L M An arrangement and a method relating to session management in a portal structure
WO2002059791A1 (en) * 2001-01-24 2002-08-01 Telefonaktiebolaget Lm Ericsson (Publ) An arrangement and a method relating to end user station access of a portal
WO2002059787A1 (en) * 2001-01-24 2002-08-01 Telefonaktiebolaget Lm Ericsson (Publ) An arrangement and a method relating to session management in a portal structure
GB2386726B (en) * 2001-01-24 2005-06-15 Ericsson Telefon Ab L M An arrangement and a method relating to session management in a portal structure
EP1231740A2 (en) * 2001-02-08 2002-08-14 Solid Information Technology Oy Method and system for data management
EP1231740A3 (en) * 2001-02-08 2005-08-17 Solid Information Technology Oy Method and system for data management
WO2002077861A1 (en) * 2001-03-22 2002-10-03 Brandfind Limited Method for providing services using an internet portal
EP1249767A2 (en) * 2001-04-12 2002-10-16 General Electric Company System and method for updating an intranet portal
EP1249767A3 (en) * 2001-04-12 2007-05-23 General Electric Company System and method for updating an intranet portal
WO2002089437A2 (en) * 2001-05-02 2002-11-07 Telefonaktiebolaget L M Ericsson (Publ) Personal internet portal
WO2002089437A3 (en) * 2001-05-02 2003-05-30 Ericsson Telefon Ab L M Personal internet portal
WO2002091154A2 (en) 2001-05-10 2002-11-14 Changingworlds Limited Intelligent internet website with hierarchical menu
US7028261B2 (en) 2001-05-10 2006-04-11 Changing World Limited Intelligent internet website with hierarchical menu
WO2002091154A3 (en) * 2001-05-10 2004-03-04 Changingworlds Ltd Intelligent internet website with hierarchical menu
AU2002256868B2 (en) * 2001-05-10 2007-08-16 Amdocs Software Systems Limited Intelligent internet website with hierarchical menu
CN100367166C (en) * 2001-05-10 2008-02-06 改造世界有限公司 Intelligent internet website with hierarchical menu
US7779023B2 (en) 2001-05-10 2010-08-17 Amdocs Software Systems Limited Intelligent internet website with hierarchical menu
US7640348B2 (en) 2001-09-21 2009-12-29 Corel Corporation System and method of managing access to web services
US7200801B2 (en) 2002-05-17 2007-04-03 Sap Aktiengesellschaft Rich media information portals
US7305436B2 (en) 2002-05-17 2007-12-04 Sap Aktiengesellschaft User collaboration through discussion forums
US7127473B2 (en) 2002-05-17 2006-10-24 Sap Aktiengesellschaft Methods and systems for providing supplemental contextual content
US7346668B2 (en) 2002-05-17 2008-03-18 Sap Aktiengesellschaft Dynamic presentation of personalized content
US7370276B2 (en) 2002-05-17 2008-05-06 Sap Aktiengesellschaft Interface for collecting user preferences
US7321887B2 (en) 2002-09-30 2008-01-22 Sap Aktiengesellschaft Enriching information streams with contextual content
US8028237B2 (en) 2002-12-02 2011-09-27 Sap Aktiengesellschaft Portal-based desktop
US8302012B2 (en) 2002-12-02 2012-10-30 Sap Aktiengesellschaft Providing status of portal content
WO2004051507A1 (en) * 2002-12-02 2004-06-17 Sap Ag Portal based desktop
EP1903485A3 (en) * 2006-09-21 2009-01-21 SAP Portals Israel Ltd. System and methods for context based navigation
EP1903485A2 (en) * 2006-09-21 2008-03-26 SAP Portals Israel Ltd. System and methods for context based navigation
US8856226B2 (en) 2009-01-30 2014-10-07 Nokia Corporation Method, apparatus, and computer program product for context-based contact information management
US9997158B2 (en) 2014-07-31 2018-06-12 Google Llc Conversational agent response determined using a sentiment or user profile data
US10325595B2 (en) 2014-07-31 2019-06-18 Google Llc Conversational agent response determined using a sentiment
US10726840B2 (en) 2014-07-31 2020-07-28 Google Llc Conversational agent response determined using a sentiment
US11423902B2 (en) 2014-07-31 2022-08-23 Google Llc Conversational agent response determined using a sentiment
US11900938B2 (en) 2014-07-31 2024-02-13 Google Llc Conversational agent response determined using a sentiment
US11729588B1 (en) 2021-09-30 2023-08-15 T-Mobile Usa, Inc. Stateless charging and message handling

Also Published As

Publication number Publication date
AU4495400A (en) 2000-11-10
WO2000065773A8 (en) 2002-12-27

Similar Documents

Publication Publication Date Title
WO2000065773A2 (en) Portal system and method
US11100543B1 (en) System and method for targeting information based on message content in a reply
JP5453347B2 (en) Universal search interface system and method
US6708172B1 (en) Community-based shared multiple browser environment
US8326858B2 (en) Synchronization of fixed and mobile data
US6442590B1 (en) Method and apparatus for a site-sensitive interactive chat network
US20080250332A1 (en) Social networking website interface
US9407462B2 (en) System and method to facilitate communications and content sharing among users over a network
US7849405B1 (en) Contextual user-contributed help information for a software application
US7730030B1 (en) Resource based virtual communities
US20020165967A1 (en) Global personalization engine
Kendall et al. Information delivery systems: an exploration of web pull and push technologies
US20140208235A1 (en) Dynamic information management system and method for content delivery and sharing in content-, metadata- & viewer-based, live social networking among users concurrently engaged in the same and/or similar content
JPH113304A (en) Improved type discussion technique system
US20050198162A1 (en) Method and system of collaborative browsing
EP2122505A2 (en) Expandable homepage modules
JP2006524870A (en) A search engine supplemented with a URL that gives access to search results from a predefined search query
US20030149580A1 (en) Customized interaction with computer network resources
WO2001040963A1 (en) Internet service system
JP2001184289A (en) Chat system and information offering system on internet including the chat system
Brenner et al. Application areas for intelligent software agents
Chisenga Application possibilities of agricultural information portals
Bidgoli İnternet literacy
KENDALL JULIE E. KENDALL KENNETH E. KENDALL
Shih An expectancy-value analysis of web gratifications

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

D17 Declaration under article 17(2)a
32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS (R. 69(1)EPC) DATED 21-01-2003

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP