WO2000065773A2 - Portal system and method - Google Patents
Portal system and method Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer 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
Description
Claims
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)
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 |
-
2000
- 2000-04-27 WO PCT/US2000/011320 patent/WO2000065773A2/en active Application Filing
- 2000-04-27 AU AU44954/00A patent/AU4495400A/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
No Search * |
Cited By (45)
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 |