US20050188318A1 - Method and apparatus for providing dynamic information to a user via a visual display - Google Patents
Method and apparatus for providing dynamic information to a user via a visual display Download PDFInfo
- Publication number
- US20050188318A1 US20050188318A1 US11/110,527 US11052705A US2005188318A1 US 20050188318 A1 US20050188318 A1 US 20050188318A1 US 11052705 A US11052705 A US 11052705A US 2005188318 A1 US2005188318 A1 US 2005188318A1
- Authority
- US
- United States
- Prior art keywords
- user
- application
- information
- canceled
- website
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Definitions
- the present invention generally relates to the presentation of web site information on Internet web browsers. More specifically, this invention relates to the dynamic display of web site information via a method and apparatus that tracks web site use by individual web users, and then dynamically configures the user's web browser and displayed information for optimum presentation based on the user's prior activity and preferences.
- the Internet has created a wealth of knowledge and information on a scale previously unimaginable. From commercial web sites to individual homepages, government resources to educational institutions, web surfers are exposed to a vast array of information that varies in purpose, presentation, language, complexity, and functionality.
- Internet web browsers are markedly generic, with minimal capability to be tailored for individual use.
- the method of the system described herein includes several functions. First, the system assigns each user a user identifier that allows the system to track the user's web sessions. Second, the system assigns every web site an application identifier that allows the system to track the user's activities at a particular web site. Third, the system records the user's activities as they visit different web sites via the user and application identifiers. Fourth, the system determines how the user prefers to view each web site based on their prior activity, their preferences, the web site, and various other factors. Fifth, as the user surfs from web site to web site, the system dynamically configures the user's web browser and the web page information for optimum presentation based on how the user prefers to view the web site.
- the apparatus used to implement this system is a client-server system.
- web display applications track the user's activity at web sites. Every web display application acts as a standalone client program that receives and executes instructions from the server system. Web display applications have common features including popup messages, menu functions, and web browser control.
- client programs web display applications receive instructions from the server system that modify the user's browser and customize presentation of web site information.
- Each web site has its own web display application. The user installs a web display application for each web site they want the server system to track and customize.
- the desktop system which includes functions to connect and communicate with the server system and manage web display applications.
- the message broker which handles communication between the server system and web display applications.
- the message broker also handles communication between the server system and other client or user components, including toolbars and the desktop taskbar. These components also respond to server configuration instructions for optimal presentation of information, including presentation of message information to one or more users.
- content servers record the Universal Resource Locators (URLs) of web sites accessed by users.
- Download servers maintain program updates and web display applications for each web site which is capable of being tracked by the system.
- Communication servers interact with users by sending and receiving instructions.
- Application servers record the user's activities in a database and log files.
- the database contains user and application specific records that are used for user and application specific activities, including user identification, user characteristics, user preferences, user behavior information, application identification, application characteristics, and application configuration information.
- Log files track individual user client activity throughout user sessions, including user log in and log out, session activities, download and messaging, and web site activities.
- An external interface provides for system expansion outside the core server system. Reporting servers generate reports and statistics including user activity, web site activity, and system performance.
- a message queue holds messages to be sent by the server system to the user based on the user's activity history.
- the user connects to the Internet.
- the desktop system establishes a connection with the server system to receive instructions. If the user is new, the server system first registers the user and assigns them their unique user identifier. Otherwise, the server recognizes the user as a registered client with a prior history.
- the server After logging in, the user invokes one of the web display applications. Once a web display application is running, the server tracks the user's activity at the web site associated with the web display application and customizes the display of the web site's information. The user can open multiple web display applications at once, and the server system tracks the user's activities at every web site that has its web display application running.
- the communication servers generate instructions based on the user's prior activity at the web site the user is accessing, provided that the user is running the appropriate web display application. They send these instructions to the corresponding web display application via the message broker.
- the web display application executes the instructions, thereby changing the user's browser settings and appearance.
- the server system optimizes the presentation of web page information based on the user's prior activity at the particular web site.
- the communication servers As the user changes web sites, the communication servers generate new instructions based on the user's activity history at the new web site, provided that the user is running the appropriate web display application. Thus, as the user surfs the net, their web browser is dynamically reconfigured for optimum presentation of information at each web site viewed.
- the server system records the user's activity at the web sites in a central database and log files for future use. This information is also used by the server system to generate updated instructions for the user's current session based on their most recent activity.
- FIG. 1 is a block diagram of the client-server system architecture of an embodiment of the present invention
- FIG. 2 is a flowchart of the User Identifier Request Process of the present invention
- FIG. 3 is a flowchart of the Session Communication Process of the present invention.
- FIG. 4 is a block diagram of the session tracking and data collection architecture according to the present invention.
- FIG. 5 is a table showing a User Information Record
- FIG. 6 is a table showing a User Session Record
- FIG. 7 is a table showing an Application Information Record
- FIG. 8 is a table showing an Application Navigation Information Record
- FIG. 9 is a table showing an Application Customization Record
- FIG. 10 is a table showing a User Behavior Information Record
- FIG. 11 is a table showing a User URL Information Record
- FIG. 12 is a table showing a User Application Information Record
- FIG. 13 is a table showing an Application Tracking Information Record
- FIG. 14 is a table showing a Message Queue Record
- FIG. 15 is a table showing an Activity Log File Record
- FIG. 16 is a diagram of the external interface protocol in accordance with the present invention.
- FIG. 17 is a diagram of the message broker protocol in accordance with the present invention.
- FIG. 18 is a diagram of the web display application's desktop icon placement
- FIG. 19 is a diagram of the dynamic browser customization features.
- FIG. 20 is a diagram illustrating the desktop taskbar customization feature.
- the server system includes the content servers 6 , download servers 8 , communication servers 10 , load balancer 12 , external interface 14 , database 18 , log files 20 , and reporting server 22 . It should be understood that every server shown as a single unit may also be a collection of servers linked together, and that the different server functions may be implemented in a single server.
- User client applications 2 are connected to the server system via a communications network, such as the Internet 4 . It should be understood that the user client applications 2 are any and all user applications that communicate with the server system through the Internet 4 , including the desktop system, message broker, web display applications, toolbars, and taskbar.
- the desktop system is one of the client applications 2 that interface with the server system. After installing the desktop system, the user connects to the Internet 4 and runs the desktop system application, at which point the message broker begins to exchange messages with the communication servers 10 . Communication between the message broker and server system may be established through TCP/IP, which opens a socket between a user and the server system. If the user is new, the desktop system registers the user with the server system, which assigns the user a unique user identifier. Otherwise, the system recognizes the user as a prior user who is registered with the server system.
- the user After logging in and establishing a valid client-server connection, the user opens additional user client applications 2 , including web display applications for different web sites. These applications exchange instructions with the communication servers 10 via the desktop system's message broker. As the user visits different web sites, the corresponding web display applications transmit information about the user's activities at those sites to the communication servers 10 .
- the communication servers 10 access the database 18 and log files 20 , determine the user's prior activities at the web sites, and generate instructions that optimize the user's web browser for those sites based on the web site the user is viewing, the user's prior activity at the site, the user's preferences, and other factors. These instructions are sent back to the corresponding web display applications, which execute the instructions to dynamically configure the user's web browser.
- the communication servers 10 also record the user's current activity at the web site in the database 18 and log files 20 for future use. In addition to generating instructions for web display applications, the communication servers 10 generate instructions for additional client applications 2 , including instructions for modifying toolbars and the taskbar. These instructions are based on the web site the user is viewing, the user's prior history at the web site, the user's preferences, and other factors.
- the content servers 6 contain messages that are sent to user client applications 2 .
- the content servers 6 query the database 18 to determine which messages to send to the user based on the web site the user is viewing, the user's prior history at the web site, the user's preferences, and other factors.
- the content servers then queue the appropriate messages and send them to the corresponding user client application 2 .
- the download servers 8 contain program and information updates for user client applications 2 .
- the server system compares the versions of the user client applications 2 with client application version information stored in records in the database 18 . If a comparison reveals that a newer version or additional data is available for the user client applications 2 , the download servers 8 transmit the updated information to the user client applications 2 , or supply the appropriate web address where the program update is available.
- the content servers 6 and download servers 8 communicate with other systems 16 outside the core server system through an external interface 14 . These other systems 16 send content and instructions through the external interface 14 to the content servers 6 and download servers 8 , thereby allowing external systems to control, configure, and update the information provided to the user client applications 2 . In this way, for example, an operator of a web site can provide information to be presented by way of web display applications associated with their web site.
- the reporting server 22 interfaces with the database 18 and log files 20 to determine the system status, user traffic, and other administrative statistics, and also to generate usage reports.
- the server system communicates with multiple users simultaneously while they are on the Internet 4 and logged into the server system.
- the communication servers 10 track the activities of each user client application via the user and application identifiers transmitted from the client applications 2 to the communication servers 10 . Thus, the activity for each user is recorded in the database 18 and log files 20 for future use.
- the User Identifier Request Process wherein the user installs client software and registers with the server system, is shown in FIG. 2 .
- the User Identifier Request Process begins when the user downloads the desktop system client application software to their computer (step 260 ) via common means such as the Internet or CD-ROM. The user then runs the software on their computer, thereby installing and running the desktop system client application (step 262 ).
- step 264 After installing and running the desktop system, it is then determined if the user's computer has a valid Internet connection (step 264 ). If not, the process proceeds to step 272 , wherein the desktop system uses its default settings until it establishes communications with the server system. If so, the process proceeds to step 266 , wherein the desktop system contacts the server system to register and configure itself.
- step 266 it is then determined if the user is new and needs to register with the server system.
- the server system determines if the user is new by searching for a pre-existing unique user identifier stored on the user's computer (step 266 ). If a user identifier is found on the user's computer, the user is already registered with the server system, and the process proceeds to step 270 . If a user identifier is not found on the user's computer, the user is new and not registered with the server system, and the process proceeds to step 268 .
- the desktop system requests a unique user identifier from the server system, which generates and sends a user identifier back to the desktop system. The desktop system stores the received user identifier on the user's computer, thereby registering the user for future client-server sessions (step 268 ).
- the desktop system After registering with the system, the desktop system then requests user specific client configuration information from the server system (step 270 ). After receiving configuration information updates, the desktop system proceeds to run in its usual fashion by managing the main client-server session and other user client applications run by the user (step 274 ).
- the Session Communication Process wherein a client application 2 initiates a client session and communicates with the server system, is shown in FIG. 3 .
- All client applications 2 communicate with the server system via the message broker, which handles communication between client applications 2 and the server system.
- Client applications 2 send requests and data to the message broker, which forwards this client information to the server system.
- the server system responds to client requests and data by sending requests and data back to the message broker, which forwards this server information to the client applications 2 .
- the process begins when the user starts the client application by running the client software (step 280 ).
- the client application then initiates a client-server session with the server system by sending a connect request to the message broker 300 , which opens a TCP/IP socket with a communication server (step 282 ).
- the communication server responds by sending version control and operating parameters to the client application, thereby establishing a new client-server session (step 282 ).
- the client application then requests custom configuration information from the server system, which returns custom client parameters based on factors including the user's preferences and prior use history (step 284 ).
- the client application then performs initial client configuration operations, in which the client application reconfigures itself based on the custom parameters received from the server system (step 288 ).
- the client application After performing the initial custom configuration information request and custom configuration operation steps, the client application sends URLs to the server system for those web sites that the user accesses, which the server system acknowledges (step 290 ). The client application also sends tracking and usage information based on the user's activity, which the server system acknowledges (step 292 ). The client application further requests additional custom configuration information, which the server system provides, thereby updating and reconfiguring the client application based on the user's most recent activity (step 294 ).
- the client-server session continues until the user chooses to terminate the client application (step 296 ). As long as the client application runs, the client-server session continues, and the client application continues to send URLs (step 290 ), send tracking and usage information (step 292 ), and receive updated custom parameters (step 294 ). If the user ends the client application, however, the client application requests an end of session from the server system, which acknowledges the end of session request from the client application and terminates the session (step 298 ).
- the session tracking and data collection architecture of the system is shown in detail in FIG. 4 .
- user client applications 2 exchange messages with communication servers 32 that handle session management and the collection of data, which is then stored in log files and the server database 18 .
- Typical tracking records such as session records 34 , application records 36 , and activity records 38 are shown.
- a session record 34 includes the Session Identifier 40 , User Identifier 42 , Session Start 44 , Session End 46 , End Code 48 , and IP Address (internet address) 50 .
- the Session Identifier 40 is a unique session identification which indicates the session in which the client-server communication occurred.
- the User Identifier 42 is a unique user identification number assigned to a user that is used by the server system to identify the user of client applications.
- the Session Start 44 and Session End 46 entries indicate the time when the session began and ended, respectively.
- the End Code 48 indicates how the session was terminated, such as a user hang up or lost connection.
- the IP Address 50 indicates the internet address from which the client application 2 communicated with the server system during the session.
- An application record 36 includes the Session Identifier 40 , User Identifier 42 , Application Identifier 52 , Application Start 54 , and Application End 56 .
- the Session Identifier 40 is a unique session identifier which indicates the session in which the client-server communication occurred.
- the User Identifier 42 is a unique user identification number assigned to a user that is used by the server system to identify the user of client applications.
- the Application Identifier 52 is a unique application identification number assigned to an application and used by the server system to identify which client application 2 is communicating with the server.
- the Application Start 54 and Application End 56 entries indicate when the client application began and ended communication with the server system, respectively.
- An activity record 38 includes the Session Identifier 40 , User Identifier 42 , Application Identifier 52 , Activity Code 58 , and Activity Data 60 .
- the Session Identifier 40 is a unique session identifier which indicates the session in which the client-server communication occurred.
- the User Identifier 42 is a unique user identification number assigned to a user that is used by the server system to identify the user of client applications.
- the Application Identifier 52 is a unique application identification number assigned to an application and used by the server system to identify which client application 2 is communicating with the server.
- the Activity Code 58 and Activity Data 60 are entries indicating the activity the user executed with the application, and the data upon which the user acted, respectively.
- Examples of activities recorded in the Activity Code 58 include installation, uninstallation, visiting a web site, shutting down, and changing menus.
- Examples of data recorded in the Activity Data 60 include web site addresses, text entries, Internet Service Providers (ISP), new menu items, and existing menu items.
- ISP Internet Service Providers
- FIG. 5 - FIG. 12 are tables showing categories of information the server system records to track user activity and generate instructions for user client applications.
- the User Information Record is shown in FIG. 5 . This record is used by the system for functions including defining user specific characteristics and tracking user activities. There is one User Information Record per user regardless of the number of client applications the user downloads.
- the User Information Record includes the User Identifier field 42 , which is the unique user identification assigned to the user, and a User Number field 72 , which is an internal number used to record user specific activities.
- the User Information Record also includes an IP Address field 50 , which is the last internet address from which the user connected with the server system, along with a Country Code field 74 , which indicates the country from which the user last accessed the server system.
- the User Information Record further includes a Last Login field 76 , which indicates the last time the user logged into the server system.
- the server system is able to track each user's activities and customize the presentation of information to the user.
- the User Identifier 42 is a unique character string that is assigned for each user that communicates with the server system.
- the User Number 72 is a unique binary number assigned to each user that communicates with the server system. Whereas the longer User Identifier 42 is transmitted between client applications 2 and the server system, the smaller User Number 72 is used to store individual user records and maintain referential integrity between the user and server database system.
- the system receives data from a client application, the data includes the User Identifier 42 .
- the system compares the received User Identifier 42 with the User Identifier 42 from various User Information Records to determine which user is interacting with the system.
- the system can perform user specific functions including identifying the user at login, accessing database and log files to determine the user's prior activities, sending instructions to the user's client applications, and determining the user's corresponding User Number 72 .
- the user's activity is then recorded and retrieved from the database using the smaller User Number 72 in order to reduce storage space while maintaining unique records for each user.
- the IP Address 50 is the user's Internet Protocol Address that is used to identify a user on the Internet.
- the server system uses the IP Address 74 to determine factors including the user's country of connection, Internet Service Provider, and company from which they are connecting.
- the Country Code 74 indicates the country from which the user is accessing the system, and is used for region specific functions including country, nationality, and language. For instance, by comparing the user's Country Code 74 with country codes associated with different messages and web sites, the server system can identify which set of messages or web sites a user will view, and the language in which the user will view them.
- the Last Login 76 includes the time and date the user last connected, which is updated whenever a user connects to the system.
- the User Session Record is shown in FIG. 6 .
- This record is used by the server system for functions that include tracking and recording user sessions with the server system. Whenever the user connects with a communication server 10 , a User Session Record is created, and whenever the user disconnects from the communication server 10 , the User Session Record is updated. There is one User Session Record per application per session.
- the User Session Record includes the User Number field 72 , which is an internal number used to record user specific activities, and an Application Identifier field 82 , which is the unique identification assigned to the application.
- the User Session Record also includes the IP Address field 50 , which is the user's Internet address during the session.
- the User Session Record further includes a Session Start field 44 and Session End field 46 , which are the session start and end times, respectively.
- the User Session Record also includes a Session Identifier 40 , which is a unique session identification which indicates the session in which the client-server communication occurred.
- the server system is able to track each user session and generate statistics about user sessions with the server system.
- the User Number 72 and Application Identifier 82 provides a unique user and application identification, respectively, that is used by the system to determine which user and application is communicating with the system.
- the data includes a User Identifier 42 and Application Identifier 82 .
- the system retrieves the user's corresponding User Number 72 for the received User Identifier 42 , and then creates a new User Session Record by recording the User Number 72 , Application Identifier 82 , and a Session Number 40 in the database.
- the server system can thereby track user and client specific sessions, as well as generate user and client specific statistics.
- the server system uses the IP Address 50 to determine the Internet address from which the user and application communicate with the server system throughout the session.
- the server system can thereby determine statistics including the IP Addresses from which users communicate with the server system, and the IP Addresses from which applications communicate with the server system.
- the server system can also determine what times the user and application began and completed the client-server session.
- the server system can thereby determine user-specific statistics including the user session duration and peak time of use, as well as client-specific statistics including client session duration and peak time of use.
- the server system can also determine system-wide user and client statistics including the average user session duration, average client session duration, user session peak time of use, and client session peak time of use.
- the server system uses the Session Identifier 40 to track individual user and client sessions.
- the server system can thereby maintain multiple User Session Records for identical users and client applications, and generate statistics including the aggregate number of client-server sessions for a particular user and client application, the session frequency for the user and client application, and the peak session time for the user and client application.
- the Application Information Record is shown in FIG. 7 .
- This record is used by the server system for functions that include defining application specific characteristics and tracking application activities. There is one Application Information Record per application.
- the Application Information Record includes the Application Identifier field 82 , which is the unique identification assigned to an application, and an Application Name field 84 , which is the textual name of the application.
- the Application Information Record also includes an Application Message Interval field 86 , which indicates the period between messages sent from the message queue to the application, and a Welcome Wait Interval field 88 , which indicates the amount of time to wait before requesting the next display message from the message queue.
- the Application Information Record further includes a Client Query Time Interval field 90 , which indicates the time period between application queries to the server for information.
- the Application Information Record also includes an Application Version field 92 , which indicates the current version of the application, along with an Application Update URL field 94 , which indicates the web address for updating the application.
- the server system is able to track each application's activities and customize the presentation of information to the user based on the application.
- the Application Identifier 82 provides a unique application identification that is used by the system to determine which application is communicating with the system. Whenever the system receives data from a client application, the data includes an Application Identifier 82 . The system compares the received Application Identifier 82 with the Application Identifier 82 from various Application Information Records to determine which application is interacting with the system. By identifying the correct Application Information Record, the system can perform application specific functions including processing application requests for information or instructions, accessing the database and log files to determine application characteristics, generating application specific instructions, and sending application specific instructions and messages.
- the Application Name 84 allows a simple textual name to be associated with the application.
- the Application Message Interval 86 , Welcome Wait Interval 88 , and Client Query Time Interval 90 control how often messages are sent to the application, how long the application waits before requesting additional messages, and how often the application requests new instructions from the server system, respectively.
- the Application Version 92 indicates the current version of the application, and is compared with the version of the user's client application to determine if updates to the user's application are available. If updates are available, the download server then prompts the user to download the updated version of the application from the web address specified in the Application Update URL 94 , or from the download servers 8 .
- the Application Navigation Record is shown in FIG. 8 . This record is used for functions including defining the primary web address the application initially accesses when the application is run. There is one Application Navigation Record per client application per country.
- the Application Navigation Record includes the Application Identifier field 82 , which is the unique identification assigned to the application.
- the Application Navigation Record also includes a Navigation URL field 102 , which indicates the web address for the application to access when the user runs the application, and the Country Code field 74 , which indicates the user country for which the Navigation URL 102 applies.
- the system determines the initial web address and web information to present to the client application.
- the server system receives data which includes an Application Identifier 82 and Country Code 74 .
- the server compares this information with the Application Identifier 82 and Country Code 74 in the Application Navigation Records to determine the correct Application Navigation Record.
- the system sends the Navigation URL 102 to the client application, which is loaded as the application's initial web address.
- the Application Customization Record is shown in FIG. 9 .
- This record contains application parameters that are related to user behavior. There are multiple Application Customization Records per application per user behavior.
- the Application Customization Record includes the Application Identifier field 82 , which is the unique identification assigned to the application, and a Behavior Type field 112 , which is the user's behavior type.
- the Application Customization Record also includes a Tag Name field 310 and Value Name field 312 , which provide a textual information tag and an associated value, respectively, for the application.
- the server system can customize user client applications based on the user's behavior type.
- the server system receives the Application Identifier 82 and Behavior Type 112 from user client applications, which it compares with the Application Identifier 82 and Behavior Type 112 to determine the appropriate Application Customization Record.
- the server system then sends Tag Name 310 and Value Name 312 information, based on the user's behavior, to the user client application, thereby customizing the user client application.
- the Tag Name 310 is a specific parameter for the client application
- the Value Name 312 is the parameter's corresponding custom value.
- the server system identifies the application and user behavior, and then sends custom tags and tag values to client applications, thereby customizing the application parameters based on the user behavior type.
- the User Behavior Information Record is shown in FIG. 10 .
- This record contains weighted information about the user's behavior that is used for functions including determining the configuration of user client applications and dynamically configuring user client applications. There is one record per user per client application.
- the User Behavior Information Record includes the User Number field 72 , which is an internal number used to record user specific activities.
- the User Behavior Information Field also includes a Behavior Type field 112 , which indicates information about the user's type of interests, and a Weight field 114 , which indicates the significance or weighting of the Behavior Type 112 .
- the system records various user activity information, thereby creating a data source representing the user's activity preferences.
- their corresponding user client applications communicate the user's User Identification 42 , the URL the user is visiting, and the user's activity at the URL to the server system.
- the server system uses the received User Identification to identify the user performing the activity, and processes the received user URL and activity information to determine the user's behavior, as well as the significance of the user's behavior.
- the server system records the user's behavior and the significance of the behavior in a User Behavior Information Record, using the User Number 72 , User Behavior Type 112 , and Weight 114 to indicate the user, type of activity the user is performing, and the significance of the user's activity, respectively.
- the server system uses this information, along with information from other User Behavior Information Records, to perform custom user functions including generating instructions for user client applications, customizing web information appearance, and determining messages to send to the user.
- the User URL Information Record is shown in FIG. 11 .
- This record includes user URL tracking information that the server system uses as a database to generate user behavior information.
- the User URL Information Record includes the User Number field 72 , which is an internal number used to record user specific activities, and a Session Identifier field 40 , which identifies the session of the user for the URL.
- the User URL Information Record also includes a Domain field 320 and Page field 322 , which are the domain and page portions of the URL, respectively.
- the User URL Information Record further includes a Page Type field 324 , which identifies the type of URL, as well as a Duration field 326 , which records the amount of time the user spent at the URL.
- the server system records URLs visited by users, thereby creating a database from which the server system generates user behavior information.
- their corresponding user client applications communicate the user's User Identification 42 , User Session Identifier 40 and the URL the user is visiting.
- the server system uses the received User Identification to identify the user performing the activity, and splits the received user URL into its Domain 320 and Page 322 portions.
- the server system then records the user, session, URL domain name, an URL page name using the User Number 72 , Session Identifier 40 , Domain 320 , and Page 322 , respectively.
- the server system then records the page type for the URL, such as sports, finance, and news under the Page Type 324 , and the duration of time the user was at the URL under Duration 326 .
- the server system uses the User URL Information Records to generate user behavior statistics and customize user client applications.
- the server system determines user specific activities using the User Number 72 , and generates user specific behavior statistics using the Domain 320 , Page 322 , Page Type 324 , and Duration 326 fields.
- These user specific behavior statistics include the total and average number of times the user visited a URL, the total and average duration the user spent at a URL, the peak times when the user visited the URL, and the types of pages the user visited.
- the server system also determines URL specific activities using the Domain 230 and Page 322 , and generates URL specific behavior statistics using the User Number 72 , Page Type 324 , and Duration 326 fields. These URL specific behavior statistics include the total and average number of times that users visit a URL, the total and average amount of time users spend at a URL, the peak times when users visit a URL, and the types of URLs that user's visit.
- the User Application Information Record is shown in FIG. 12 .
- This record includes information about client applications the user has downloaded. There is one User Application Information Record per user per client application.
- the User Application Information Record includes the User Number field 72 , which is an internal number used to record user specific activities, and the Application Identifier field 82 , which is the unique identification assigned to an application.
- the User Application Information Record also includes an Application Version field 92 , which is the user's current version of the client application, and a Download Date field 122 , which is the date the user downloaded the application.
- the User Application Information Record further includes a Last Login field 124 , which is the last date and/or time the user used the application, along with a Last Message Id field 126 , which indicates the last message displayed to the user in connection with this application.
- the server system can track, update, and service client applications downloaded and installed by the user.
- the system compares the User Number 72 from the User Application Record with the User Number 72 from various User Information Records to determine the user.
- the system also compares the Application Identifier 82 from the User Application Record with the Application Identifier 82 from various Application Information Records to determine the application.
- the system is thereby able to determine the user and the correct User Information Record, as well as the application and the correct Application Information Record.
- the server system After determining the user and application, the server system compares the Application Version 92 from the User Application Information Record with the Application Version 92 from the Application Information Record to determine if a more recent version of the user's client application exists. If a more recent version exists, the user is prompted to update their application from the web site specified in the Application Update URL 94 specified in the Application Information Record, or from the download servers 8 .
- the system records the date the client application was downloaded by the user in the Download Date 122 , and records the last date the user logged into the server system in Last Login 124 .
- the system also records the last message the user was sent from the message queues in the Last Message Id 126 , and is thereby able to determine the next appropriate message to send to the user from the message queue.
- the Application Tracking Record is shown in FIG. 13 .
- This record contains information about application use and application events on a daily basis. There is one Application Tracking Record per application per event type per day. There may be multiple Application Tracking Records for an application depending on, for example, the different types of events.
- the Application Tracking Record includes the Application Identifier field 82 , which is the unique identification assigned to an application, and a Day Year field 132 , which is the date representation of the day and year of the current record.
- the Application Tracking Record also includes an Event Code field 134 , which indicates a particular type of event for an application, as well as a Count field 136 , which indicates the number of times the Event Code 134 occurred in connection with the application.
- the system uses these fields to customize instructions.
- a client application sends Application Identifier 82 and Event Code 134 information to the server system
- the system compares the received Application Identifier 82 , the received Event Code 134 , and the current date DayYear 132 with the Application Identifier 82 , Event Code 134 , and DayYear 132 from various Application Tracking Records.
- the server system records the activity by incrementing the Count 136 field.
- the system is able to perform functions including tracking all application activities, generating statistics based on the application, activity, date, or a combination of these fields, and creating instructions based on these statistics.
- the Message Queue Record is shown in FIG. 14 .
- This record includes the list of messages to display to a user. There is one Message Queue Record per application per country.
- the Message Queue Record includes the Application Identifier field 82 , which is the unique identification assigned to an application, and a Behavior Type field 112 , which is the user behavior for which the messages in the queue will be sent to the user.
- the Message Queue Record also includes a Message Number field 152 , which is a sequential number assigned to every message, a Messages field 154 , which indicates the list of messages to be sent to the user, and a Country Code field 74 , which indicates the country for which the messages in the queue are tailored.
- the Message Queue Record further includes a URL field 156 , indicating a fully qualified web address to send to the user.
- the Message Queue Record also includes a Browser Mode field 158 , which indicates whether the browser window will use a small dialog window or a full window to display the messages sent from the queue, and a Popup Mode field 160 , which indicates whether the browser will make the message window popup or pulse the application icon whenever a message is received.
- the Message Queue Record further includes a Browser Width field 162 and a Browser Height field 164 , which define the width and height, respectively, of the browser window that displays the messages.
- the server system queues and sends messages to a user client application.
- the process begins when a client application requests messages from the server system according to the Welcome Wait Interval 88 specified in the Client Information Record. Included in the request is a User Identifier 42 and Application Identifier 82 , which the system compares with the User Identifier 42 of various User Information Records to determine the correct User Information Record. By identifying the correct User Information record, the system is able to determine the user's User Number 72 and Country Code 74 .
- the system compares the Application Identifier 82 and the user's Country Code 76 with the Application Identifier 82 and Country Code 74 from the various Message Queue Records to select a group of appropriate Message Queue Record(s) with different Behavior Types 310 .
- the system also compares the user's User Number 72 with the User Number 72 of different User Behavior Information Records to determine the user's different Behavior Types 112 and Weights 114 .
- the system processes the user's Behavior Types 112 and Weights 114 to determine which record(s) from the group of appropriate Message Queue Record(s) should be sent to the user based on their behavior. If the Behavior Type 112 specified in the Message Queue record is “ALL,” then that record is appropriate to send to the user regardless of his Behavior Types 112 and Weights 114 .
- the server system After determining the correct Message Queue Record(s), the server system queues Messages 154 to send to the client application.
- the interval at which the server system sends the messages is defined by the Application Message Interval 86 specified in the appropriate Application Information Record.
- the Message Number 152 is compared with the Last Message Id 126 to determine the next message to send the user.
- the URL 156 is also sent to the user, which is displayed by the client application to provide the user with additional information.
- the client application When the client application receives a message from the server system, it displays the message for the user.
- the Browser Width 162 , Browser Height 164 , Browser Mode 158 , and Popup Mode 160 control the message appearance when it is displayed.
- the Browser Width 162 and Height 164 control the message width and height in the browser window.
- the Browser Mode 158 and Popup Mode 160 control full window versus small dialog box display, and instant message popup versus pulse icon notification of the user, respectively.
- the server system tracks user activity by generating Activity Log Files that record user activities.
- FIG. 15 shows the format of the Activity Log Files generated by the application servers. These files can be combined to generate a report on all user activities with the application servers and generate statistics about user and system activity.
- the Activity Log File includes a Time field 172 , which is the time the Activity Log file was created, and the User Identifier field 42 , which is the unique user identification assigned to each user.
- the Activity Log File also includes a User IP field 174 , which is the user's last internet connection address, and an Activity field 176 , which specify various descriptions for different user activities.
- the Activity Log File further includes the Activity Info 1 field 178 and Activity Info 2 field 180 , which are the first two entries illustrative of the activity information entries recorded in the log file.
- user activity records are generated and recorded in log files.
- the server system receives information from user client applications, it identifies the time the log file was created, user, application, internet address from which the user is connected, and activity the user's client application is executing.
- the time, user identification, and internet connection address information are stored in the Time 172 , User Identifier 42 , and User IP 174 fields, respectively.
- the Activity field 176 includes one or more shorthand notations for different user activities. Typical notations include POPUP (user received a popup text message), CLICK (user selected an application icon to bring up a dialog box), NAV (user visited a web site), SESSION (user end-of-session actions), HELP (user selected help), FIRSTTIME (user downloaded software for the first time), AGREE (user agreed to terms and conditions), DISAGREE (user disagreed to terms and conditions, and REINSTALL (user downloaded and installed software over the existing version).
- POPUP user received a popup text message
- CLICK user selected an application icon to bring up a dialog box
- NAV user visited a web site
- SESSION user end-of-session actions
- HELP user selected help
- FIRSTTIME user downloaded software for the first time
- AGREE user agreed to terms and conditions
- DISAGREE user disagreed to terms and conditions
- REINSTALL user downloaded and installed software over the existing version
- Activity Info 1 178 and Activity Info 2 180 list the user's activity. Each entry contains a shorthand notation of the activity from the Activity list 176 , followed by the data upon which the activity was taken. For instance, Activity Info 1 178 shows POPUP and SESSION notations followed by entries. This information indicates the user received a popup message, the message received was from the document “document number,” and that the user started the session at “start time of session.” Activity Info 2 180 shows POPUP and session notations followed by entries. This information indicates the user received a popup message, the message received was a web page specified by “document URL,” and that the session duration was for “duration of session” time.
- log files are then used by the system for functions including generating user statistics, generating activity statistics, and creating instructions for user client applications based on prior activity history.
- the system merely examines the log files, determines the prior activity taken by the user, and then tailors client and system activities according to the user's prior history.
- the server system includes an External Interface 14 that allows it to interface with other systems 16 .
- the details of the External Interface 14 are shown in FIG. 16 .
- the External Interface includes five separate layers which are the Application Program Interface (API) and Notification layer 194 , Transaction Tracking and Security layer 196 , Real Time Transmission and Queuing layer 198 , Filtering layer 200 , and TCP/IP layer 202 . These layers allow external applications 192 to be treated as external plug-ins 204 to the server system.
- API Application Program Interface
- Notification layer 194 the Application Program Interface
- Transaction Tracking and Security layer 196 the Transaction Tracking and Security layer 196
- Real Time Transmission and Queuing layer 198 Real Time Transmission and Queuing layer 198
- Filtering layer 200 Filtering layer 200
- TCP/IP layer 202 TCP/IP layer
- External applications 192 initially couple to the external interface via the API and Notification layer 194 , which includes Content, Database, Tracking, and System APIs.
- Content APIs include functions for external applications to send web pages and messages to the communication servers, such as setting the delivery time, country, and behavior type for content to send to the user
- Database APIs include functions for external applications to access the system database 10 and retrieve user information.
- Tracking APIs include functions for external applications to access tracking information, including the type of users who view the external application's published content
- System APIs include functions for external applications to register and un-register with the server system, establish and end sessions with the server system, and send and receive status information from the server system.
- the notification callback is used to notify asynchronous external applications when their requests have been completed by the server system.
- the information from external applications then proceeds to the Transaction Tracking and Security layer 196 , which manages the flow of information from external applications to the server system. Communication between external applications and the server system take place in transactions, wherein external applications send requests to the server system, which acknowledges the requests and responds with the requested information.
- This layer 196 includes Transaction Tracking functions, which manage these transactions between external applications and the server systern, and Security functions, which perform encryption and security functions for these transactions.
- Real-Time Transmission and Queuing layer 198 which carries out the requested transactions in real-time and/or by queuing external application requests.
- This layer includes Real-Time functions, which process real-time transactions prior to queuing transactions during the external application-server session, and Queuing functions, which process transactions within a single or multiple external application-server sessions.
- the Filtering layer 200 includes functions to optimize and validate data from the external applications.
- real-time data is sent prior to queued data, and System API data is sent ahead of Content, Database, and Tracking API data.
- the TCP/IP layer 202 is the standard protocol layer used to send the filtered, encrypted, and compressed external application data to the rest of the server system.
- the message broker 300 includes Message Interface 212 , Message Transaction 214 , and HTTP-TCP/IP 216 layers. These layers are packaged as a unit and installed with the desktop system.
- the Message Interface layer 212 is the client-based API used by client applications 2 , and includes functions required for client application communication with the communication servers.
- the Message Interface layer 212 receives client application 2 requests and sends them to the Message Transaction layer 214 , which manages the flow of information from client applications 220 to the server system. Communication between the client application 2 and the server system take place in transactions, wherein client applications 2 send requests to the server system, which acknowledges the requests and responds with the requested information.
- This layer 214 includes functions that manage these transactions client applications and the server system.
- the HTTP-TCP/IP layer 216 permits the information to safely penetrate firewalls and receive support from proxy servers, and includes HTTP functions, which enable communication with proxy servers and web browsers 220 , as well as TCP/IP functions, which enable communication over the Internet and other networked systems.
- the Task Bar 218 is the dynamic task bar that can be customized by the messages received through the message broker.
- the message broker monitors the system for a valid Internet connection and, once connected, communicates with the communication servers to receive information including instructions, software updates, and behavior configuration parameters. If the Internet connection is lost, the message broker sits idle awaiting a valid connection, caching information to be sent to the server system upon reconnecting.
- Web display applications are standalone user client programs that install in the user's taskbar tray and provide functions including popup messages, menu items, and invoking web browsers to display specific URLs. Referring to FIG. 18 , these applications install in numerous locations, such as shortcuts on the desktop 232 , in the program files menu 234 , in the start menu 236 , and as a tray icon 238 . The appearance of each application's tray icon 238 changes based on different factors including the Internet connection status and information received by the application. Applications also self configure based on the user's behavior.
- FIG. 19 displays portions of the web browser window 248 that are dynamically reconfigured by the server system, including web browser toolbars 242 , web address windows 244 , and messaging windows 246 .
- the web browser toolbar component 242 extends the web browser to include additional toolbars. It includes buttons, input fields, pull-down menus, and user interface elements available on the user's computer.
- a web address window 244 displays preferred user web sites.
- a messaging window 246 receives messages from the content servers and displays them to the user.
- the web browser 248 , toolbar 242 , web address window 244 , and messaging window 246 components execute instructions generated by the server system and dynamically reconfigure the information they display.
- the server system also updates these components periodically with the most recent information available.
- the custom server instructions are based on information including the user's preferences, prior activity, current activity, application activity, and other external information. All this information is stored in the server system's database and log files and used by the server system to generate instructions that modify the browser window 248 , toolbar 242 , web address window 244 , and messaging window 246 .
- the desktop taskbar application client is shown in FIG. 20 .
- the desktop taskbar application 252 runs within the taskbar 254 and provides information to the user that has been previously chosen via a web display application.
- the desktop taskbar application 252 receives instructions from the communications server via the message broker on what information to display.
- the desktop taskbar application 252 executes instructions generated by the server system and dynamically reconfigures the information it displays.
- the server system also updates the desktop taskbar application 252 periodically with the most recent information available.
- the custom server instructions are based on information including the user's preferences, prior activity, current activity, application activity, and other external information. All this information is stored in the server system's database and log files and used by the server system to generate instructions that modify the desktop taskbar application 252 .
- the server system optimizes the appearance of web site information by dynamically configuring client application software in order to optimally present web site information according to factors including the user's history and preferences.
- User client applications 2 communicate with communication servers 10 to request configuration information, which the communication servers 10 return to the user client applications 2 , thereby configuring the user client applications 2 .
- User client applications 2 record URLs that the user accesses, and the user's activities at those URLs, in order to customize the presentation of web site information.
- the client-server system can also track user activity for locations that are in the URL format, but are not URLs for Internet web sites.
- URL format locations may include networked files and other resources, which are not connected to the Internet, but which include information whose presentation the user desires the server system to customize.
- users who view information with a web browser, and who run the appropriate user client application 2 are not limited to customizing content on Internet web sites, but can also customize the presentation of information that is not at an Internet address, but whose location is still in the URL format.
- Customization of the user's web browser takes place on both the client and server side, which first collect URL addresses for the web sites the user visits, and then customize the user's web browser to optimally present information according to factors including the user's preferences and history.
- user client applications 2 register with the user's web browser(s), thereby allowing the client applications 2 to intercept URLs requested by the user, and measure the time a user spends at a URL.
- the client application 2 collects this information and sends it to the server system using an API from the message broker 300 , which separates, stores, and dispenses the information to the server system in batches.
- the message broker 300 also counts and removes duplicate information, as well as compressing the information, prior to sending it to the server system.
- Client applications 2 that display URLs but do not register with the user's web browser, such as the desktop system and intelligent toolbars also send URL information to the server system via the message broker 300 .
- communication servers 10 collect URL information sent by client applications 2 , and store the information in the database 18 and log files 20 . This information is analyzed to determine the user's behavior and then used to customize the user's client application 2 .
- user client applications 2 request custom configuration information from the server system through the message broker 300 .
- This custom configuration information may include graphics, links, chat information, and other information that is used by client applications 2 to configure themselves.
- Client applications 2 can also send a request through the message broker 300 , asking the server system to notify the client applications 2 when they should change their configuration by requesting new custom configuration information.
- communication servers 10 process URLs sent by the client applications 2 using batch and/or real-time methods. Batch methods are used to recalculate user behavior formulas across a range of users in the database 18 , whereas real-time methods are used on a per-user basis after the server system receives URL information sent by user client applications 2 .
- the server system checks the database for new information pertinent to the customization information, uses any new information and the behavior formulas to generate new custom configuration information, and sends the new custom configuration information to the client application 2 .
- the server system generates new custom configuration information and sends it to the client applications 2 .
- Server analysis to generate custom configuration information includes a number of steps.
- the server system performs a number of data counts based on factors including the current session, prior sessions, prior days, prior weeks, and prior months, thereby calculating a plurality of running totals or counts.
- the number of prior sessions, days, weeks, and months are assigned and configured by the server system.
- URL totals or counts are counted by domain name only, and the URL count result determines the style of web site the user prefers to view.
- Page counts for URLs are counted up to a defined number of nested levels, where each level is a slash that separates a portion of the URL domain name. Total time counts are also performed within each counting set according to the total time the user spent at a particular URL in the current session, prior sessions, prior days, prior weeks, and prior months.
- each running total is assigned a numerical weighting factor, which is multiplied by the running total results to adjust the relevance of particular running totals. After weighting these running totals or counts, the results are further adjusted according to the amount of time the user spent at each domain and page, thereby generating a plurality of running total scores.
- the next step is the style and behavior determination step, in which the server system determines the user's behavior based on the running total scores.
- the server system takes the highest running total score, which indicates the top weighted and adjusted web site, and compares it with the database records for a particular user to determine the client application style the user prefers. If the user does not use a client application 2 for the web site corresponding to the highest running total score, the server may determine the top running total score is inapplicable, and use the next highest running total score to determine the user's preferred style.
- the client application 2 will present web site information to the user according to the style of the highest running total score, unless there is no client application 2 for that running total score, in which case the client application 2 may resort to the next best style according to the next highest running total score.
- the server system determines the user's behavior by internal and external examination of data that includes running total scores, and other extracted information. Relevant data used by the server system to determine user behavior includes keywords within a web page or URL, keywords within the host portion of a URL, known motifs of a URL domain name, and known motifs of a web page within a specific URL domain name. By determining the motif of particular web site domain names and pages, the server system adjusts custom configuration information sent to client applications 2 to reflect those motifs accessed by the user.
- One feature of the present invention is the ability for a single client application to support multiple users with separate user histories.
- the client-server system tracks client activity on a per user-per application basis.
- multiple users can share a single client application by using separate login identifications which are assigned unique user identifiers.
- Each user's activity history and customization will be unique because the single application will have multiple unique user identifiers.
- Another feature of the present invention is the ability to use different varieties of client applications from a single user.
- the client-server system tracks client activity on a per user-per application basis.
- client applications that are assigned separate client identifiers.
- Each client application's activity history and customization will be unique because the single user will have multiple unique application identifiers for the user's client applications.
- An additional feature of the present invention is that multiple client applications can be developed that track a single web site, because the system tracks user activity on a per user-per client basis.
- Different client application varieties may be developed that have unique features and capabilities such as functionality and speed, thereby making certain client applications preferable for certain users. For example, a client application that contains less functionality but greater speed may be preferable to users who value efficiency, whereas another client application that has extended functionality but less speed may be preferable to users that value presentation and detail.
- both client applications can be used to track and customize a single web site, because the client-server system tracks activities on a per user-per application basis, rather than a per user-per web site basis.
- a further feature of the present invention is that a single user can install and use multiple client applications that track the same web site, because the client-server system tracks activities on a per user-per application basis.
- a single user can download and install multiple client applications that are tailored for uses such as speed or functionality even though both client applications track the same web site. The user then runs the appropriate client application according to their current need, and separate activity histories and customization results are generated for each client application.
- the client-server system can support multiple instantiations or profiles of identical client applications for a single user.
- client application instantiation/profile field under the appropriate records and log files, multiple instances of the same client program can be tracked independently by the client-server system.
- Such a system would track client activities on a per user-per client-per instance/profile basis.
- Each instantiation or profile would have its own unique user history and corresponding customization features.
- a user could install multiple instances of identical client application, or load separate profiles of an identical client application, and the server system would generate separate activity history and customization for each client instance or profile.
- a further feature of the present invention is the ability to send users custom messages directly from a web site based on the user's activity history.
- the external interface permits web site owners to broadcast messages to different users according to the each user's interests. These messages may include promotional information, advertisements, news, and other information that is generated by the web site.
- the external interface also provides connections into other systems including ad servers, chat, instant messaging, and other databases and systems that enhance the ability of the system to provide the user with relevant information during their online and offline session. These external systems may collect user information from the system, send information to the system, publish content to the system for distribution and send information to the system, including music, video clips and special offers.
- An additional feature of the present invention is the ability to provide statistical information to different web sites based on the user's activity information. Different user records and log files can be used to determine features including the number of users visiting a web site, the amount of time users are at a web site, the web site's most accessed features, and the activities users execute at the web site. This information can be provided to web site owners as feedback for the owners to make changes to the web site, thereby making the web site more attractive to users.
- Other features of the present invention include its ability to dynamically configure the user web-browsing environment to provide the most effective and efficient web browsing experience by presenting the user with information relevant to their current subject.
- the system can also record areas and subject matter the that the user visits and provides the user with ancillary information via the client software interface.
- the user can further be notified asynchronously of promotions or other information that pertains to their browsing habits.
- the user receives information based not only on the direct web sites the user has visited, but additional information related to the subject matter of the web sites the user has visited.
- An additional feature of the present invention is that the client components are integrated into the browser and desktop providing the user with information whenever they are connected to the Internet.
- the system provides both a client software interface and server interface for expanding the user's experience through additional augmenting software.
- the client and server session detect when a user is online or offline and make adjusts to the client presentation based on heuristics at the server.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A client-server system for recording web site activity by web users and dynamically customizing web display apparatuses for optimal information presentation based on the users'prior activity history. The system assigns each user a user identifier that allows the system to track the user's web sessions. The system also assigns every web site an application identifier that allows the system to track the user's activities at a particular web site. The system then records the user's activities as they visit different web sites via the user and application identifiers. The system determines how the user prefers to view each web site based on their prior activity, their preferences, the web site, and various other factors. As the user surfs from web site to web site, the system dynamically configures the user's web browser and the web page information for optimum presentation based on how the user prefers to view the web site.
Description
- The present invention generally relates to the presentation of web site information on Internet web browsers. More specifically, this invention relates to the dynamic display of web site information via a method and apparatus that tracks web site use by individual web users, and then dynamically configures the user's web browser and displayed information for optimum presentation based on the user's prior activity and preferences.
- The Internet has created a wealth of knowledge and information on a scale previously unimaginable. From commercial web sites to individual homepages, government resources to educational institutions, web surfers are exposed to a vast array of information that varies in purpose, presentation, language, complexity, and functionality.
- In addition to various web site designs, the interests of individual web surfers determine the manner in which web sites are accessed and utilized. Novice web surfers prefer simplicity and ease of use, whereas expert surfers prefer functionality and flexibility. Patterns of individual use further diverge with different areas of interest such as news, merchandise, sports, science, and education.
- In contrast to the diversity of web sites and use patterns, Internet web browsers are markedly generic, with minimal capability to be tailored for individual use. The two most prominent web browsers, NETSCAPE NAVIGATOR and MICROSOFT INTERNET EXPLORER, limit individual customization to manual, static processes such as selecting a homepage, book marking web site addresses, displaying and hiding navigational toolbars, and setting global appearance features.
- The combination of different web sites, individual preferences, and generic web browsers guarantees that web users surfing from web site to web site are never presented with web page information in their preferred fashion. They are thus faced with equally unattractive choices of either exhaustively and repeatedly reconfiguring browser settings throughout a web session, or experiencing frustration and inefficiency as they view web sites in less than ideal conditions. Significantly, those most affected are the mainstay web surfers who visit large numbers of web sites.
- These and other deficiencies in the presentation of web page information are addressed by the present invention, which tracks the activities of individual web users, and then dynamically tailors the user's web browser and web information for optimal presentation of information based on the user's prior activity.
- The method of the system described herein includes several functions. First, the system assigns each user a user identifier that allows the system to track the user's web sessions. Second, the system assigns every web site an application identifier that allows the system to track the user's activities at a particular web site. Third, the system records the user's activities as they visit different web sites via the user and application identifiers. Fourth, the system determines how the user prefers to view each web site based on their prior activity, their preferences, the web site, and various other factors. Fifth, as the user surfs from web site to web site, the system dynamically configures the user's web browser and the web page information for optimum presentation based on how the user prefers to view the web site.
- The apparatus used to implement this system is a client-server system. On the client or user side, web display applications track the user's activity at web sites. Every web display application acts as a standalone client program that receives and executes instructions from the server system. Web display applications have common features including popup messages, menu functions, and web browser control. As client programs, web display applications receive instructions from the server system that modify the user's browser and customize presentation of web site information. Each web site has its own web display application. The user installs a web display application for each web site they want the server system to track and customize.
- Another component on the client or user side is the desktop system, which includes functions to connect and communicate with the server system and manage web display applications. Yet another component on the client or user side is the message broker, which handles communication between the server system and web display applications. The message broker also handles communication between the server system and other client or user components, including toolbars and the desktop taskbar. These components also respond to server configuration instructions for optimal presentation of information, including presentation of message information to one or more users.
- On the server side, content servers record the Universal Resource Locators (URLs) of web sites accessed by users. Download servers maintain program updates and web display applications for each web site which is capable of being tracked by the system. Communication servers interact with users by sending and receiving instructions. Application servers record the user's activities in a database and log files. The database contains user and application specific records that are used for user and application specific activities, including user identification, user characteristics, user preferences, user behavior information, application identification, application characteristics, and application configuration information. Log files track individual user client activity throughout user sessions, including user log in and log out, session activities, download and messaging, and web site activities. An external interface provides for system expansion outside the core server system. Reporting servers generate reports and statistics including user activity, web site activity, and system performance. A message queue holds messages to be sent by the server system to the user based on the user's activity history.
- To activate the system, the user connects to the Internet. The desktop system establishes a connection with the server system to receive instructions. If the user is new, the server system first registers the user and assigns them their unique user identifier. Otherwise, the server recognizes the user as a registered client with a prior history.
- After logging in, the user invokes one of the web display applications. Once a web display application is running, the server tracks the user's activity at the web site associated with the web display application and customizes the display of the web site's information. The user can open multiple web display applications at once, and the server system tracks the user's activities at every web site that has its web display application running.
- The communication servers generate instructions based on the user's prior activity at the web site the user is accessing, provided that the user is running the appropriate web display application. They send these instructions to the corresponding web display application via the message broker. The web display application executes the instructions, thereby changing the user's browser settings and appearance. Thus, the server system optimizes the presentation of web page information based on the user's prior activity at the particular web site.
- As the user changes web sites, the communication servers generate new instructions based on the user's activity history at the new web site, provided that the user is running the appropriate web display application. Thus, as the user surfs the net, their web browser is dynamically reconfigured for optimum presentation of information at each web site viewed. The server system records the user's activity at the web sites in a central database and log files for future use. This information is also used by the server system to generate updated instructions for the user's current session based on their most recent activity.
- The foregoing and other features of the present invention will be more readily apparent from the following detailed description and drawings of illustrative embodiments of the invention in which:
-
FIG. 1 is a block diagram of the client-server system architecture of an embodiment of the present invention; -
FIG. 2 is a flowchart of the User Identifier Request Process of the present invention; -
FIG. 3 is a flowchart of the Session Communication Process of the present invention; -
FIG. 4 is a block diagram of the session tracking and data collection architecture according to the present invention; -
FIG. 5 is a table showing a User Information Record; -
FIG. 6 is a table showing a User Session Record; -
FIG. 7 is a table showing an Application Information Record; -
FIG. 8 is a table showing an Application Navigation Information Record; -
FIG. 9 is a table showing an Application Customization Record; -
FIG. 10 is a table showing a User Behavior Information Record; -
FIG. 11 is a table showing a User URL Information Record; -
FIG. 12 is a table showing a User Application Information Record; -
FIG. 13 is a table showing an Application Tracking Information Record; -
FIG. 14 is a table showing a Message Queue Record; -
FIG. 15 is a table showing an Activity Log File Record; -
FIG. 16 is a diagram of the external interface protocol in accordance with the present invention; -
FIG. 17 is a diagram of the message broker protocol in accordance with the present invention; -
FIG. 18 is a diagram of the web display application's desktop icon placement; -
FIG. 19 is a diagram of the dynamic browser customization features; and -
FIG. 20 is a diagram illustrating the desktop taskbar customization feature. - Referring now to
FIG. 1 , therein is shown the overall client-server system architecture 100. The server system includes thecontent servers 6, downloadservers 8,communication servers 10,load balancer 12,external interface 14,database 18, log files 20, and reportingserver 22. It should be understood that every server shown as a single unit may also be a collection of servers linked together, and that the different server functions may be implemented in a single server.User client applications 2 are connected to the server system via a communications network, such as theInternet 4. It should be understood that theuser client applications 2 are any and all user applications that communicate with the server system through theInternet 4, including the desktop system, message broker, web display applications, toolbars, and taskbar. - The desktop system is one of the
client applications 2 that interface with the server system. After installing the desktop system, the user connects to theInternet 4 and runs the desktop system application, at which point the message broker begins to exchange messages with thecommunication servers 10. Communication between the message broker and server system may be established through TCP/IP, which opens a socket between a user and the server system. If the user is new, the desktop system registers the user with the server system, which assigns the user a unique user identifier. Otherwise, the system recognizes the user as a prior user who is registered with the server system. - After logging in and establishing a valid client-server connection, the user opens additional
user client applications 2, including web display applications for different web sites. These applications exchange instructions with thecommunication servers 10 via the desktop system's message broker. As the user visits different web sites, the corresponding web display applications transmit information about the user's activities at those sites to thecommunication servers 10. Thecommunication servers 10 access thedatabase 18 and log files 20, determine the user's prior activities at the web sites, and generate instructions that optimize the user's web browser for those sites based on the web site the user is viewing, the user's prior activity at the site, the user's preferences, and other factors. These instructions are sent back to the corresponding web display applications, which execute the instructions to dynamically configure the user's web browser. Thecommunication servers 10 also record the user's current activity at the web site in thedatabase 18 and log files 20 for future use. In addition to generating instructions for web display applications, thecommunication servers 10 generate instructions foradditional client applications 2, including instructions for modifying toolbars and the taskbar. These instructions are based on the web site the user is viewing, the user's prior history at the web site, the user's preferences, and other factors. - The
content servers 6 contain messages that are sent touser client applications 2. Thecontent servers 6 query thedatabase 18 to determine which messages to send to the user based on the web site the user is viewing, the user's prior history at the web site, the user's preferences, and other factors. The content servers then queue the appropriate messages and send them to the correspondinguser client application 2. - The
download servers 8 contain program and information updates foruser client applications 2. The server system compares the versions of theuser client applications 2 with client application version information stored in records in thedatabase 18. If a comparison reveals that a newer version or additional data is available for theuser client applications 2, thedownload servers 8 transmit the updated information to theuser client applications 2, or supply the appropriate web address where the program update is available. - The
content servers 6 and downloadservers 8 communicate withother systems 16 outside the core server system through anexternal interface 14. Theseother systems 16 send content and instructions through theexternal interface 14 to thecontent servers 6 and downloadservers 8, thereby allowing external systems to control, configure, and update the information provided to theuser client applications 2. In this way, for example, an operator of a web site can provide information to be presented by way of web display applications associated with their web site. The reportingserver 22 interfaces with thedatabase 18 and log files 20 to determine the system status, user traffic, and other administrative statistics, and also to generate usage reports. - The server system communicates with multiple users simultaneously while they are on the
Internet 4 and logged into the server system. Thecommunication servers 10 track the activities of each user client application via the user and application identifiers transmitted from theclient applications 2 to thecommunication servers 10. Thus, the activity for each user is recorded in thedatabase 18 and log files 20 for future use. - The User Identifier Request Process, wherein the user installs client software and registers with the server system, is shown in
FIG. 2 . Referring now toFIG. 2 , the User Identifier Request Process begins when the user downloads the desktop system client application software to their computer (step 260) via common means such as the Internet or CD-ROM. The user then runs the software on their computer, thereby installing and running the desktop system client application (step 262). - After installing and running the desktop system, it is then determined if the user's computer has a valid Internet connection (step 264). If not, the process proceeds to step 272, wherein the desktop system uses its default settings until it establishes communications with the server system. If so, the process proceeds to step 266, wherein the desktop system contacts the server system to register and configure itself.
- If the process proceeds to step 266, it is then determined if the user is new and needs to register with the server system. The server system determines if the user is new by searching for a pre-existing unique user identifier stored on the user's computer (step 266). If a user identifier is found on the user's computer, the user is already registered with the server system, and the process proceeds to step 270. If a user identifier is not found on the user's computer, the user is new and not registered with the server system, and the process proceeds to step 268. At
step 268, the desktop system requests a unique user identifier from the server system, which generates and sends a user identifier back to the desktop system. The desktop system stores the received user identifier on the user's computer, thereby registering the user for future client-server sessions (step 268). - After registering with the system, the desktop system then requests user specific client configuration information from the server system (step 270). After receiving configuration information updates, the desktop system proceeds to run in its usual fashion by managing the main client-server session and other user client applications run by the user (step 274).
- The Session Communication Process, wherein a
client application 2 initiates a client session and communicates with the server system, is shown inFIG. 3 . Allclient applications 2 communicate with the server system via the message broker, which handles communication betweenclient applications 2 and the server system.Client applications 2 send requests and data to the message broker, which forwards this client information to the server system. The server system responds to client requests and data by sending requests and data back to the message broker, which forwards this server information to theclient applications 2. - Referring now to
FIG. 3 , the process begins when the user starts the client application by running the client software (step 280). The client application then initiates a client-server session with the server system by sending a connect request to themessage broker 300, which opens a TCP/IP socket with a communication server (step 282). The communication server responds by sending version control and operating parameters to the client application, thereby establishing a new client-server session (step 282). - Once the client-server session is established, the client application then requests custom configuration information from the server system, which returns custom client parameters based on factors including the user's preferences and prior use history (step 284). The client application then performs initial client configuration operations, in which the client application reconfigures itself based on the custom parameters received from the server system (step 288).
- After performing the initial custom configuration information request and custom configuration operation steps, the client application sends URLs to the server system for those web sites that the user accesses, which the server system acknowledges (step 290). The client application also sends tracking and usage information based on the user's activity, which the server system acknowledges (step 292). The client application further requests additional custom configuration information, which the server system provides, thereby updating and reconfiguring the client application based on the user's most recent activity (step 294).
- The client-server session continues until the user chooses to terminate the client application (step 296). As long as the client application runs, the client-server session continues, and the client application continues to send URLs (step 290), send tracking and usage information (step 292), and receive updated custom parameters (step 294). If the user ends the client application, however, the client application requests an end of session from the server system, which acknowledges the end of session request from the client application and terminates the session (step 298).
- The session tracking and data collection architecture of the system is shown in detail in
FIG. 4 . Referring toFIG. 4 ,user client applications 2 exchange messages withcommunication servers 32 that handle session management and the collection of data, which is then stored in log files and theserver database 18. Typical tracking records such as session records 34, application records 36, andactivity records 38 are shown. - A
session record 34 includes theSession Identifier 40,User Identifier 42,Session Start 44,Session End 46,End Code 48, and IP Address (internet address) 50. TheSession Identifier 40 is a unique session identification which indicates the session in which the client-server communication occurred. TheUser Identifier 42 is a unique user identification number assigned to a user that is used by the server system to identify the user of client applications. TheSession Start 44 and Session End 46 entries indicate the time when the session began and ended, respectively. TheEnd Code 48 indicates how the session was terminated, such as a user hang up or lost connection. TheIP Address 50 indicates the internet address from which theclient application 2 communicated with the server system during the session. - An
application record 36 includes theSession Identifier 40,User Identifier 42,Application Identifier 52,Application Start 54, andApplication End 56. TheSession Identifier 40 is a unique session identifier which indicates the session in which the client-server communication occurred. TheUser Identifier 42 is a unique user identification number assigned to a user that is used by the server system to identify the user of client applications. TheApplication Identifier 52 is a unique application identification number assigned to an application and used by the server system to identify whichclient application 2 is communicating with the server. TheApplication Start 54 andApplication End 56 entries indicate when the client application began and ended communication with the server system, respectively. - An
activity record 38 includes theSession Identifier 40,User Identifier 42,Application Identifier 52,Activity Code 58, andActivity Data 60. TheSession Identifier 40 is a unique session identifier which indicates the session in which the client-server communication occurred. TheUser Identifier 42 is a unique user identification number assigned to a user that is used by the server system to identify the user of client applications. TheApplication Identifier 52 is a unique application identification number assigned to an application and used by the server system to identify whichclient application 2 is communicating with the server. TheActivity Code 58 andActivity Data 60 are entries indicating the activity the user executed with the application, and the data upon which the user acted, respectively. Examples of activities recorded in theActivity Code 58 include installation, uninstallation, visiting a web site, shutting down, and changing menus. Examples of data recorded in theActivity Data 60 include web site addresses, text entries, Internet Service Providers (ISP), new menu items, and existing menu items. - Referring now to the database record tables,
FIG. 5 -FIG. 12 are tables showing categories of information the server system records to track user activity and generate instructions for user client applications. The User Information Record is shown inFIG. 5 . This record is used by the system for functions including defining user specific characteristics and tracking user activities. There is one User Information Record per user regardless of the number of client applications the user downloads. - Referring to
FIG. 5 , the User Information Record includes theUser Identifier field 42, which is the unique user identification assigned to the user, and aUser Number field 72, which is an internal number used to record user specific activities. The User Information Record also includes anIP Address field 50, which is the last internet address from which the user connected with the server system, along with aCountry Code field 74, which indicates the country from which the user last accessed the server system. The User Information Record further includes aLast Login field 76, which indicates the last time the user logged into the server system. - Using these fields, the server system is able to track each user's activities and customize the presentation of information to the user. The
User Identifier 42 is a unique character string that is assigned for each user that communicates with the server system. TheUser Number 72 is a unique binary number assigned to each user that communicates with the server system. Whereas thelonger User Identifier 42 is transmitted betweenclient applications 2 and the server system, thesmaller User Number 72 is used to store individual user records and maintain referential integrity between the user and server database system. - Whenever the system receives data from a client application, the data includes the
User Identifier 42. The system compares the receivedUser Identifier 42 with theUser Identifier 42 from various User Information Records to determine which user is interacting with the system. By identifying the correct User Information Record, the system can perform user specific functions including identifying the user at login, accessing database and log files to determine the user's prior activities, sending instructions to the user's client applications, and determining the user'scorresponding User Number 72. The user's activity is then recorded and retrieved from the database using thesmaller User Number 72 in order to reduce storage space while maintaining unique records for each user. - The
IP Address 50 is the user's Internet Protocol Address that is used to identify a user on the Internet. The server system uses theIP Address 74 to determine factors including the user's country of connection, Internet Service Provider, and company from which they are connecting. TheCountry Code 74 indicates the country from which the user is accessing the system, and is used for region specific functions including country, nationality, and language. For instance, by comparing the user'sCountry Code 74 with country codes associated with different messages and web sites, the server system can identify which set of messages or web sites a user will view, and the language in which the user will view them. TheLast Login 76 includes the time and date the user last connected, which is updated whenever a user connects to the system. - The User Session Record is shown in
FIG. 6 . This record is used by the server system for functions that include tracking and recording user sessions with the server system. Whenever the user connects with acommunication server 10, a User Session Record is created, and whenever the user disconnects from thecommunication server 10, the User Session Record is updated. There is one User Session Record per application per session. - Referring to
FIG. 6 , the User Session Record includes theUser Number field 72, which is an internal number used to record user specific activities, and anApplication Identifier field 82, which is the unique identification assigned to the application. The User Session Record also includes theIP Address field 50, which is the user's Internet address during the session. The User Session Record further includes aSession Start field 44 andSession End field 46, which are the session start and end times, respectively. The User Session Record also includes aSession Identifier 40, which is a unique session identification which indicates the session in which the client-server communication occurred. - Using these fields, the server system is able to track each user session and generate statistics about user sessions with the server system. The
User Number 72 andApplication Identifier 82 provides a unique user and application identification, respectively, that is used by the system to determine which user and application is communicating with the system. Whenever the system receives data from a client application, the data includes aUser Identifier 42 andApplication Identifier 82. The system retrieves the user'scorresponding User Number 72 for the receivedUser Identifier 42, and then creates a new User Session Record by recording theUser Number 72,Application Identifier 82, and aSession Number 40 in the database. By using theUser Number 72 andApplication Identifier 82 to identify which users and client applications initiate client-server sessions with the server system, the server system can thereby track user and client specific sessions, as well as generate user and client specific statistics. - In addition, the server system uses the
IP Address 50 to determine the Internet address from which the user and application communicate with the server system throughout the session. The server system can thereby determine statistics including the IP Addresses from which users communicate with the server system, and the IP Addresses from which applications communicate with the server system. - Using the Session Start 304 and Session End 306, the server system can also determine what times the user and application began and completed the client-server session. The server system can thereby determine user-specific statistics including the user session duration and peak time of use, as well as client-specific statistics including client session duration and peak time of use. The server system can also determine system-wide user and client statistics including the average user session duration, average client session duration, user session peak time of use, and client session peak time of use.
- The server system uses the
Session Identifier 40 to track individual user and client sessions. The server system can thereby maintain multiple User Session Records for identical users and client applications, and generate statistics including the aggregate number of client-server sessions for a particular user and client application, the session frequency for the user and client application, and the peak session time for the user and client application. - The Application Information Record is shown in
FIG. 7 . This record is used by the server system for functions that include defining application specific characteristics and tracking application activities. There is one Application Information Record per application. - Referring to
FIG. 7 , the Application Information Record includes theApplication Identifier field 82, which is the unique identification assigned to an application, and anApplication Name field 84, which is the textual name of the application. The Application Information Record also includes an ApplicationMessage Interval field 86, which indicates the period between messages sent from the message queue to the application, and a WelcomeWait Interval field 88, which indicates the amount of time to wait before requesting the next display message from the message queue. The Application Information Record further includes a Client QueryTime Interval field 90, which indicates the time period between application queries to the server for information. The Application Information Record also includes anApplication Version field 92, which indicates the current version of the application, along with an ApplicationUpdate URL field 94, which indicates the web address for updating the application. - Using these fields, the server system is able to track each application's activities and customize the presentation of information to the user based on the application. The
Application Identifier 82 provides a unique application identification that is used by the system to determine which application is communicating with the system. Whenever the system receives data from a client application, the data includes anApplication Identifier 82. The system compares the receivedApplication Identifier 82 with theApplication Identifier 82 from various Application Information Records to determine which application is interacting with the system. By identifying the correct Application Information Record, the system can perform application specific functions including processing application requests for information or instructions, accessing the database and log files to determine application characteristics, generating application specific instructions, and sending application specific instructions and messages. - The
Application Name 84 allows a simple textual name to be associated with the application. TheApplication Message Interval 86,Welcome Wait Interval 88, and ClientQuery Time Interval 90 control how often messages are sent to the application, how long the application waits before requesting additional messages, and how often the application requests new instructions from the server system, respectively. TheApplication Version 92 indicates the current version of the application, and is compared with the version of the user's client application to determine if updates to the user's application are available. If updates are available, the download server then prompts the user to download the updated version of the application from the web address specified in theApplication Update URL 94, or from thedownload servers 8. - The Application Navigation Record is shown in
FIG. 8 . This record is used for functions including defining the primary web address the application initially accesses when the application is run. There is one Application Navigation Record per client application per country. - Referring to
FIG. 8 , the Application Navigation Record includes theApplication Identifier field 82, which is the unique identification assigned to the application. The Application Navigation Record also includes aNavigation URL field 102, which indicates the web address for the application to access when the user runs the application, and theCountry Code field 74, which indicates the user country for which theNavigation URL 102 applies. - Using these fields, the system determines the initial web address and web information to present to the client application. When a user runs a client application, the server system receives data which includes an
Application Identifier 82 andCountry Code 74. The server compares this information with theApplication Identifier 82 andCountry Code 74 in the Application Navigation Records to determine the correct Application Navigation Record. Upon determining the correct Application Navigation Record, the system sends theNavigation URL 102 to the client application, which is loaded as the application's initial web address. - The Application Customization Record is shown in
FIG. 9 . This record contains application parameters that are related to user behavior. There are multiple Application Customization Records per application per user behavior. - Referring to
FIG. 9 , the Application Customization Record includes theApplication Identifier field 82, which is the unique identification assigned to the application, and aBehavior Type field 112, which is the user's behavior type. The Application Customization Record also includes aTag Name field 310 andValue Name field 312, which provide a textual information tag and an associated value, respectively, for the application. - Using these fields, the server system can customize user client applications based on the user's behavior type. The server system receives the
Application Identifier 82 andBehavior Type 112 from user client applications, which it compares with theApplication Identifier 82 andBehavior Type 112 to determine the appropriate Application Customization Record. The server system then sendsTag Name 310 andValue Name 312 information, based on the user's behavior, to the user client application, thereby customizing the user client application. TheTag Name 310 is a specific parameter for the client application, and theValue Name 312 is the parameter's corresponding custom value. Thus, the server system identifies the application and user behavior, and then sends custom tags and tag values to client applications, thereby customizing the application parameters based on the user behavior type. - The User Behavior Information Record is shown in
FIG. 10 . This record contains weighted information about the user's behavior that is used for functions including determining the configuration of user client applications and dynamically configuring user client applications. There is one record per user per client application. - Referring to
FIG. 10 , the User Behavior Information Record includes theUser Number field 72, which is an internal number used to record user specific activities. The User Behavior Information Field also includes aBehavior Type field 112, which indicates information about the user's type of interests, and aWeight field 114, which indicates the significance or weighting of theBehavior Type 112. - Using these fields, the system records various user activity information, thereby creating a data source representing the user's activity preferences. As a user accesses different web sites, their corresponding user client applications communicate the user's
User Identification 42, the URL the user is visiting, and the user's activity at the URL to the server system. The server system uses the received User Identification to identify the user performing the activity, and processes the received user URL and activity information to determine the user's behavior, as well as the significance of the user's behavior. The server system records the user's behavior and the significance of the behavior in a User Behavior Information Record, using theUser Number 72,User Behavior Type 112, andWeight 114 to indicate the user, type of activity the user is performing, and the significance of the user's activity, respectively. The server system then uses this information, along with information from other User Behavior Information Records, to perform custom user functions including generating instructions for user client applications, customizing web information appearance, and determining messages to send to the user. - The User URL Information Record is shown in
FIG. 11 . This record includes user URL tracking information that the server system uses as a database to generate user behavior information. There is one User URL Information Record per user per session per URL. - Referring to
FIG. 11 , the User URL Information Record includes theUser Number field 72, which is an internal number used to record user specific activities, and aSession Identifier field 40, which identifies the session of the user for the URL. The User URL Information Record also includes aDomain field 320 andPage field 322, which are the domain and page portions of the URL, respectively. The User URL Information Record further includes aPage Type field 324, which identifies the type of URL, as well as aDuration field 326, which records the amount of time the user spent at the URL. - Using these fields, the server system records URLs visited by users, thereby creating a database from which the server system generates user behavior information. As a user accesses different web sites, their corresponding user client applications communicate the user's
User Identification 42,User Session Identifier 40 and the URL the user is visiting. The server system uses the received User Identification to identify the user performing the activity, and splits the received user URL into itsDomain 320 andPage 322 portions. The server system then records the user, session, URL domain name, an URL page name using theUser Number 72,Session Identifier 40,Domain 320, andPage 322, respectively. The server system then records the page type for the URL, such as sports, finance, and news under thePage Type 324, and the duration of time the user was at the URL underDuration 326. - The server system uses the User URL Information Records to generate user behavior statistics and customize user client applications. The server system determines user specific activities using the
User Number 72, and generates user specific behavior statistics using theDomain 320,Page 322,Page Type 324, andDuration 326 fields. These user specific behavior statistics include the total and average number of times the user visited a URL, the total and average duration the user spent at a URL, the peak times when the user visited the URL, and the types of pages the user visited. - The server system also determines URL specific activities using the Domain 230 and
Page 322, and generates URL specific behavior statistics using theUser Number 72,Page Type 324, andDuration 326 fields. These URL specific behavior statistics include the total and average number of times that users visit a URL, the total and average amount of time users spend at a URL, the peak times when users visit a URL, and the types of URLs that user's visit. - The User Application Information Record is shown in
FIG. 12 . This record includes information about client applications the user has downloaded. There is one User Application Information Record per user per client application. - Referring to
FIG. 12 , the User Application Information Record includes theUser Number field 72, which is an internal number used to record user specific activities, and theApplication Identifier field 82, which is the unique identification assigned to an application. The User Application Information Record also includes anApplication Version field 92, which is the user's current version of the client application, and aDownload Date field 122, which is the date the user downloaded the application. The User Application Information Record further includes aLast Login field 124, which is the last date and/or time the user used the application, along with a LastMessage Id field 126, which indicates the last message displayed to the user in connection with this application. - Using these fields, the server system can track, update, and service client applications downloaded and installed by the user. The system compares the
User Number 72 from the User Application Record with theUser Number 72 from various User Information Records to determine the user. The system also compares theApplication Identifier 82 from the User Application Record with theApplication Identifier 82 from various Application Information Records to determine the application. The system is thereby able to determine the user and the correct User Information Record, as well as the application and the correct Application Information Record. - After determining the user and application, the server system compares the
Application Version 92 from the User Application Information Record with theApplication Version 92 from the Application Information Record to determine if a more recent version of the user's client application exists. If a more recent version exists, the user is prompted to update their application from the web site specified in theApplication Update URL 94 specified in the Application Information Record, or from thedownload servers 8. - The system records the date the client application was downloaded by the user in the
Download Date 122, and records the last date the user logged into the server system inLast Login 124. The system also records the last message the user was sent from the message queues in theLast Message Id 126, and is thereby able to determine the next appropriate message to send to the user from the message queue. - The Application Tracking Record is shown in
FIG. 13 . This record contains information about application use and application events on a daily basis. There is one Application Tracking Record per application per event type per day. There may be multiple Application Tracking Records for an application depending on, for example, the different types of events. - Referring to
FIG. 13 , the Application Tracking Record includes theApplication Identifier field 82, which is the unique identification assigned to an application, and aDay Year field 132, which is the date representation of the day and year of the current record. The Application Tracking Record also includes anEvent Code field 134, which indicates a particular type of event for an application, as well as aCount field 136, which indicates the number of times theEvent Code 134 occurred in connection with the application. - Using these fields, the system records application activities, thereby tracking the application activity and providing a database to customize instructions. When a client application sends
Application Identifier 82 andEvent Code 134 information to the server system, the system compares the receivedApplication Identifier 82, the receivedEvent Code 134, and thecurrent date DayYear 132 with theApplication Identifier 82,Event Code 134, andDayYear 132 from various Application Tracking Records. After identifying the correct Application Tracking Record, the server system records the activity by incrementing theCount 136 field. By recording numerous records for different dates, applications, and activities, the system is able to perform functions including tracking all application activities, generating statistics based on the application, activity, date, or a combination of these fields, and creating instructions based on these statistics. - The Message Queue Record is shown in
FIG. 14 . This record includes the list of messages to display to a user. There is one Message Queue Record per application per country. - Referring to
FIG. 14 , the Message Queue Record includes theApplication Identifier field 82, which is the unique identification assigned to an application, and aBehavior Type field 112, which is the user behavior for which the messages in the queue will be sent to the user. The Message Queue Record also includes aMessage Number field 152, which is a sequential number assigned to every message, aMessages field 154, which indicates the list of messages to be sent to the user, and aCountry Code field 74, which indicates the country for which the messages in the queue are tailored. The Message Queue Record further includes aURL field 156, indicating a fully qualified web address to send to the user. The Message Queue Record also includes aBrowser Mode field 158, Which indicates whether the browser window will use a small dialog window or a full window to display the messages sent from the queue, and aPopup Mode field 160, which indicates whether the browser will make the message window popup or pulse the application icon whenever a message is received. The Message Queue Record further includes aBrowser Width field 162 and aBrowser Height field 164, which define the width and height, respectively, of the browser window that displays the messages. - Using these fields, the server system queues and sends messages to a user client application. The process begins when a client application requests messages from the server system according to the
Welcome Wait Interval 88 specified in the Client Information Record. Included in the request is aUser Identifier 42 andApplication Identifier 82, which the system compares with theUser Identifier 42 of various User Information Records to determine the correct User Information Record. By identifying the correct User Information record, the system is able to determine the user'sUser Number 72 andCountry Code 74. The system then compares theApplication Identifier 82 and the user'sCountry Code 76 with theApplication Identifier 82 andCountry Code 74 from the various Message Queue Records to select a group of appropriate Message Queue Record(s) with different Behavior Types 310. - The system also compares the user's
User Number 72 with theUser Number 72 of different User Behavior Information Records to determine the user'sdifferent Behavior Types 112 andWeights 114. The system processes the user's Behavior Types 112 andWeights 114 to determine which record(s) from the group of appropriate Message Queue Record(s) should be sent to the user based on their behavior. If theBehavior Type 112 specified in the Message Queue record is “ALL,” then that record is appropriate to send to the user regardless of hisBehavior Types 112 andWeights 114. - After determining the correct Message Queue Record(s), the server
system queues Messages 154 to send to the client application. The interval at which the server system sends the messages is defined by theApplication Message Interval 86 specified in the appropriate Application Information Record. TheMessage Number 152 is compared with theLast Message Id 126 to determine the next message to send the user. TheURL 156 is also sent to the user, which is displayed by the client application to provide the user with additional information. - When the client application receives a message from the server system, it displays the message for the user. The
Browser Width 162,Browser Height 164,Browser Mode 158, andPopup Mode 160 control the message appearance when it is displayed. TheBrowser Width 162 andHeight 164 control the message width and height in the browser window. TheBrowser Mode 158 andPopup Mode 160 control full window versus small dialog box display, and instant message popup versus pulse icon notification of the user, respectively. - The server system tracks user activity by generating Activity Log Files that record user activities.
FIG. 15 shows the format of the Activity Log Files generated by the application servers. These files can be combined to generate a report on all user activities with the application servers and generate statistics about user and system activity. - Referring to
FIG. 15 , the Activity Log File includes aTime field 172, which is the time the Activity Log file was created, and theUser Identifier field 42, which is the unique user identification assigned to each user. The Activity Log File also includes aUser IP field 174, which is the user's last internet connection address, and anActivity field 176, which specify various descriptions for different user activities. The Activity Log File further includes theActivity Info 1field 178 andActivity Info 2field 180, which are the first two entries illustrative of the activity information entries recorded in the log file. - Using these fields, user activity records are generated and recorded in log files. When the server system receives information from user client applications, it identifies the time the log file was created, user, application, internet address from which the user is connected, and activity the user's client application is executing. The time, user identification, and internet connection address information are stored in the
Time 172,User Identifier 42, andUser IP 174 fields, respectively. - The
Activity field 176 includes one or more shorthand notations for different user activities. Typical notations include POPUP (user received a popup text message), CLICK (user selected an application icon to bring up a dialog box), NAV (user visited a web site), SESSION (user end-of-session actions), HELP (user selected help), FIRSTTIME (user downloaded software for the first time), AGREE (user agreed to terms and conditions), DISAGREE (user disagreed to terms and conditions, and REINSTALL (user downloaded and installed software over the existing version). - Following the
Activity list 176, a number of Activity Information entries, indicated byActivity Info 1 178 andActivity Info 2 180, list the user's activity. Each entry contains a shorthand notation of the activity from theActivity list 176, followed by the data upon which the activity was taken. For instance,Activity Info 1 178 shows POPUP and SESSION notations followed by entries. This information indicates the user received a popup message, the message received was from the document “document number,” and that the user started the session at “start time of session.”Activity Info 2 180 shows POPUP and session notations followed by entries. This information indicates the user received a popup message, the message received was a web page specified by “document URL,” and that the session duration was for “duration of session” time. - Once generated, these log files are then used by the system for functions including generating user statistics, generating activity statistics, and creating instructions for user client applications based on prior activity history. The system merely examines the log files, determines the prior activity taken by the user, and then tailors client and system activities according to the user's prior history.
- Referring now to
FIG. 1 , the server system includes anExternal Interface 14 that allows it to interface withother systems 16. The details of theExternal Interface 14 are shown inFIG. 16 . Referring toFIG. 16 , the External Interface includes five separate layers which are the Application Program Interface (API) andNotification layer 194, Transaction Tracking andSecurity layer 196, Real Time Transmission andQueuing layer 198,Filtering layer 200, and TCP/IP layer 202. These layers allowexternal applications 192 to be treated as external plug-ins 204 to the server system. -
External applications 192 initially couple to the external interface via the API andNotification layer 194, which includes Content, Database, Tracking, and System APIs. Content APIs include functions for external applications to send web pages and messages to the communication servers, such as setting the delivery time, country, and behavior type for content to send to the user, whereas Database APIs include functions for external applications to access thesystem database 10 and retrieve user information. Tracking APIs include functions for external applications to access tracking information, including the type of users who view the external application's published content, and System APIs include functions for external applications to register and un-register with the server system, establish and end sessions with the server system, and send and receive status information from the server system. The notification callback is used to notify asynchronous external applications when their requests have been completed by the server system. - The information from external applications then proceeds to the Transaction Tracking and
Security layer 196, which manages the flow of information from external applications to the server system. Communication between external applications and the server system take place in transactions, wherein external applications send requests to the server system, which acknowledges the requests and responds with the requested information. Thislayer 196 includes Transaction Tracking functions, which manage these transactions between external applications and the server systern, and Security functions, which perform encryption and security functions for these transactions. - Following is the Real-Time Transmission and
Queuing layer 198, which carries out the requested transactions in real-time and/or by queuing external application requests. This layer includes Real-Time functions, which process real-time transactions prior to queuing transactions during the external application-server session, and Queuing functions, which process transactions within a single or multiple external application-server sessions. - Next is the
Filtering layer 200, which includes functions to optimize and validate data from the external applications. When external application data is sent to theFiltering layer 200, real-time data is sent prior to queued data, and System API data is sent ahead of Content, Database, and Tracking API data. The TCP/IP layer 202 is the standard protocol layer used to send the filtered, encrypted, and compressed external application data to the rest of the server system. - All communication between the server system and
user client applications 2 takes place via themessage broker 300 shown inFIG. 17 . Referring toFIG. 17 , themessage broker 300 includesMessage Interface 212, Message Transaction 214, and HTTP-TCP/IP 216 layers. These layers are packaged as a unit and installed with the desktop system. - The
Message Interface layer 212 is the client-based API used byclient applications 2, and includes functions required for client application communication with the communication servers. TheMessage Interface layer 212 receivesclient application 2 requests and sends them to the Message Transaction layer 214, which manages the flow of information fromclient applications 220 to the server system. Communication between theclient application 2 and the server system take place in transactions, whereinclient applications 2 send requests to the server system, which acknowledges the requests and responds with the requested information. This layer 214 includes functions that manage these transactions client applications and the server system. The HTTP-TCP/IP layer 216 permits the information to safely penetrate firewalls and receive support from proxy servers, and includes HTTP functions, which enable communication with proxy servers andweb browsers 220, as well as TCP/IP functions, which enable communication over the Internet and other networked systems. TheTask Bar 218 is the dynamic task bar that can be customized by the messages received through the message broker. - The message broker monitors the system for a valid Internet connection and, once connected, communicates with the communication servers to receive information including instructions, software updates, and behavior configuration parameters. If the Internet connection is lost, the message broker sits idle awaiting a valid connection, caching information to be sent to the server system upon reconnecting.
- Web display applications are standalone user client programs that install in the user's taskbar tray and provide functions including popup messages, menu items, and invoking web browsers to display specific URLs. Referring to
FIG. 18 , these applications install in numerous locations, such as shortcuts on thedesktop 232, in theprogram files menu 234, in thestart menu 236, and as atray icon 238. The appearance of each application'stray icon 238 changes based on different factors including the Internet connection status and information received by the application. Applications also self configure based on the user's behavior. - The extent of application self configuration and browser customization is shown by
FIG. 19 , which displays portions of theweb browser window 248 that are dynamically reconfigured by the server system, includingweb browser toolbars 242,web address windows 244, andmessaging windows 246. Referring toFIG. 19 , the webbrowser toolbar component 242 extends the web browser to include additional toolbars. It includes buttons, input fields, pull-down menus, and user interface elements available on the user's computer. Aweb address window 244 displays preferred user web sites. Amessaging window 246 receives messages from the content servers and displays them to the user. - As the user's behavior and the web site address changes, the
web browser 248,toolbar 242,web address window 244, andmessaging window 246 components execute instructions generated by the server system and dynamically reconfigure the information they display. The server system also updates these components periodically with the most recent information available. The custom server instructions are based on information including the user's preferences, prior activity, current activity, application activity, and other external information. All this information is stored in the server system's database and log files and used by the server system to generate instructions that modify thebrowser window 248,toolbar 242,web address window 244, andmessaging window 246. - The desktop taskbar application client is shown in
FIG. 20 . Referring toFIG. 20 , thedesktop taskbar application 252 runs within thetaskbar 254 and provides information to the user that has been previously chosen via a web display application. Thedesktop taskbar application 252 receives instructions from the communications server via the message broker on what information to display. As the user's behavior and the web site address changes, thedesktop taskbar application 252 executes instructions generated by the server system and dynamically reconfigures the information it displays. The server system also updates thedesktop taskbar application 252 periodically with the most recent information available. The custom server instructions are based on information including the user's preferences, prior activity, current activity, application activity, and other external information. All this information is stored in the server system's database and log files and used by the server system to generate instructions that modify thedesktop taskbar application 252. - According to the present invention, the server system optimizes the appearance of web site information by dynamically configuring client application software in order to optimally present web site information according to factors including the user's history and preferences.
User client applications 2 communicate withcommunication servers 10 to request configuration information, which thecommunication servers 10 return to theuser client applications 2, thereby configuring theuser client applications 2. -
User client applications 2 record URLs that the user accesses, and the user's activities at those URLs, in order to customize the presentation of web site information. In addition to tracking true URLs for web sites on the Internet, the client-server system can also track user activity for locations that are in the URL format, but are not URLs for Internet web sites. Such URL format locations may include networked files and other resources, which are not connected to the Internet, but which include information whose presentation the user desires the server system to customize. Thus, users who view information with a web browser, and who run the appropriateuser client application 2, are not limited to customizing content on Internet web sites, but can also customize the presentation of information that is not at an Internet address, but whose location is still in the URL format. - Customization of the user's web browser takes place on both the client and server side, which first collect URL addresses for the web sites the user visits, and then customize the user's web browser to optimally present information according to factors including the user's preferences and history. On the client side,
user client applications 2 register with the user's web browser(s), thereby allowing theclient applications 2 to intercept URLs requested by the user, and measure the time a user spends at a URL. Theclient application 2 collects this information and sends it to the server system using an API from themessage broker 300, which separates, stores, and dispenses the information to the server system in batches. Themessage broker 300 also counts and removes duplicate information, as well as compressing the information, prior to sending it to the server system.Client applications 2 that display URLs but do not register with the user's web browser, such as the desktop system and intelligent toolbars, also send URL information to the server system via themessage broker 300. - On the server side,
communication servers 10 collect URL information sent byclient applications 2, and store the information in thedatabase 18 and log files 20. This information is analyzed to determine the user's behavior and then used to customize the user'sclient application 2. - For customization,
user client applications 2 request custom configuration information from the server system through themessage broker 300. This custom configuration information may include graphics, links, chat information, and other information that is used byclient applications 2 to configure themselves.Client applications 2 can also send a request through themessage broker 300, asking the server system to notify theclient applications 2 when they should change their configuration by requesting new custom configuration information. - On the server side,
communication servers 10 process URLs sent by theclient applications 2 using batch and/or real-time methods. Batch methods are used to recalculate user behavior formulas across a range of users in thedatabase 18, whereas real-time methods are used on a per-user basis after the server system receives URL information sent byuser client applications 2. The server system checks the database for new information pertinent to the customization information, uses any new information and the behavior formulas to generate new custom configuration information, and sends the new custom configuration information to theclient application 2. Thus, asclient applications 2 request new custom configuration information, the server system generates new custom configuration information and sends it to theclient applications 2. - Server analysis to generate custom configuration information includes a number of steps. First, the server system performs a number of data counts based on factors including the current session, prior sessions, prior days, prior weeks, and prior months, thereby calculating a plurality of running totals or counts. The number of prior sessions, days, weeks, and months are assigned and configured by the server system. URL totals or counts are counted by domain name only, and the URL count result determines the style of web site the user prefers to view. Page counts for URLs are counted up to a defined number of nested levels, where each level is a slash that separates a portion of the URL domain name. Total time counts are also performed within each counting set according to the total time the user spent at a particular URL in the current session, prior sessions, prior days, prior weeks, and prior months.
- After performing the counting step, the server system next performs the weighting step. In the weighting step, each running total is assigned a numerical weighting factor, which is multiplied by the running total results to adjust the relevance of particular running totals. After weighting these running totals or counts, the results are further adjusted according to the amount of time the user spent at each domain and page, thereby generating a plurality of running total scores.
- The next step is the style and behavior determination step, in which the server system determines the user's behavior based on the running total scores. To determine the user's preferred style, the server system takes the highest running total score, which indicates the top weighted and adjusted web site, and compares it with the database records for a particular user to determine the client application style the user prefers. If the user does not use a
client application 2 for the web site corresponding to the highest running total score, the server may determine the top running total score is inapplicable, and use the next highest running total score to determine the user's preferred style. Thus, theclient application 2 will present web site information to the user according to the style of the highest running total score, unless there is noclient application 2 for that running total score, in which case theclient application 2 may resort to the next best style according to the next highest running total score. - The server system determines the user's behavior by internal and external examination of data that includes running total scores, and other extracted information. Relevant data used by the server system to determine user behavior includes keywords within a web page or URL, keywords within the host portion of a URL, known motifs of a URL domain name, and known motifs of a web page within a specific URL domain name. By determining the motif of particular web site domain names and pages, the server system adjusts custom configuration information sent to
client applications 2 to reflect those motifs accessed by the user. - According to the present invention herein described, a number of features will be apparent to those skilled in the art. One feature of the present invention is the ability for a single client application to support multiple users with separate user histories. The client-server system tracks client activity on a per user-per application basis. Thus, multiple users can share a single client application by using separate login identifications which are assigned unique user identifiers. Each user's activity history and customization will be unique because the single application will have multiple unique user identifiers.
- Another feature of the present invention is the ability to use different varieties of client applications from a single user. The client-server system tracks client activity on a per user-per application basis. Thus, a single user can use multiple client applications that are assigned separate client identifiers. Each client application's activity history and customization will be unique because the single user will have multiple unique application identifiers for the user's client applications.
- An additional feature of the present invention is that multiple client applications can be developed that track a single web site, because the system tracks user activity on a per user-per client basis. Different client application varieties may be developed that have unique features and capabilities such as functionality and speed, thereby making certain client applications preferable for certain users. For example, a client application that contains less functionality but greater speed may be preferable to users who value efficiency, whereas another client application that has extended functionality but less speed may be preferable to users that value presentation and detail. Yet both client applications can be used to track and customize a single web site, because the client-server system tracks activities on a per user-per application basis, rather than a per user-per web site basis.
- A further feature of the present invention is that a single user can install and use multiple client applications that track the same web site, because the client-server system tracks activities on a per user-per application basis. Thus, a single user can download and install multiple client applications that are tailored for uses such as speed or functionality even though both client applications track the same web site. The user then runs the appropriate client application according to their current need, and separate activity histories and customization results are generated for each client application.
- Another feature of the present invention is that the client-server system can support multiple instantiations or profiles of identical client applications for a single user. By adding a client application instantiation/profile field under the appropriate records and log files, multiple instances of the same client program can be tracked independently by the client-server system. Such a system would track client activities on a per user-per client-per instance/profile basis. Each instantiation or profile would have its own unique user history and corresponding customization features. Thus, a user could install multiple instances of identical client application, or load separate profiles of an identical client application, and the server system would generate separate activity history and customization for each client instance or profile.
- A further feature of the present invention is the ability to send users custom messages directly from a web site based on the user's activity history. The external interface permits web site owners to broadcast messages to different users according to the each user's interests. These messages may include promotional information, advertisements, news, and other information that is generated by the web site. The external interface also provides connections into other systems including ad servers, chat, instant messaging, and other databases and systems that enhance the ability of the system to provide the user with relevant information during their online and offline session. These external systems may collect user information from the system, send information to the system, publish content to the system for distribution and send information to the system, including music, video clips and special offers.
- An additional feature of the present invention is the ability to provide statistical information to different web sites based on the user's activity information. Different user records and log files can be used to determine features including the number of users visiting a web site, the amount of time users are at a web site, the web site's most accessed features, and the activities users execute at the web site. This information can be provided to web site owners as feedback for the owners to make changes to the web site, thereby making the web site more attractive to users.
- Other features of the present invention include its ability to dynamically configure the user web-browsing environment to provide the most effective and efficient web browsing experience by presenting the user with information relevant to their current subject. The system can also record areas and subject matter the that the user visits and provides the user with ancillary information via the client software interface. The user can further be notified asynchronously of promotions or other information that pertains to their browsing habits. Thus, the user receives information based not only on the direct web sites the user has visited, but additional information related to the subject matter of the web sites the user has visited.
- An additional feature of the present invention is that the client components are integrated into the browser and desktop providing the user with information whenever they are connected to the Internet. The system provides both a client software interface and server interface for expanding the user's experience through additional augmenting software. Thus, the client and server session detect when a user is online or offline and make adjusts to the client presentation based on heuristics at the server.
- While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.
Claims (59)
1. A method for dynamically providing information to a user via a visual display associated with a user computer, the method comprising the following steps:
assigning the user a user identification code;
assigning an application code to at least a first website and a second website to be viewed by said user;
recording the user's activity associated with said first and second websites by monitoring said user identification code and said application code;
determining the user's viewing preference associated with said first website based on the user's activity associated with said first website;
determining the user's viewing preference associated with said second website based on the user's activity associated with said second website; and
dynamically adjusting the user's display in accordance with the user's preference associated with the website being viewed by the user.
2. The method of claim 1 , further comprising the step of downloading from a system server a display application for each website where the user's activity is to be recorded.
3. (canceled)
4. (canceled)
5. The method of claim 1 , wherein the recording step comprises the further step of recording a URL associated with the website being viewed by said user.
6. The method of claim 1 , wherein said visual display includes a browser function and said adjusting step adjusts the browser.
7. The method of claim 1 , further comprising the step of generating a user information record associated with each user, the user information record including the user identification code, an IP address field indicating the last internet address from which the user communicated, a country code field indicating the country from which the user last communicated, and a last login field indicating the last time that the user communicated.
8. (canceled)
9. The method of claim 1 , further comprising the step of generating a user session record associated with a communication session with the user, the user session record including the user identification code or a similar unique identifier associated with the user, the application code associated with a website, an IP address field indicating the last internet address from which the user communicated, session timing information, and a unique session identification code.
10. (canceled)
11. (canceled)
12. (canceled)
13. The method of claim 1 , further comprising the step of generating a session identifier for tracking application activities, the session identifier including the application code associated with the website and an application name field indicating the textual name associated with the website.
14. (canceled)
15. The method of claim 1 , further comprising the step of generating an application navigation record indicating the primary location the process initially accesses when the process is first executed, the application navigation record including the application code, a navigation URL field indicating a web address to be initially accessed upon initial execution, a country code field indicating the user's country for which the URL navigation field is applicable.
16. The method of claim 1 , further comprising the step of generating an application customization record which includes application parameters related to user behavior, the application customization record including the application code, a user behavior type indicator, and a tag name field and value name field which provide a textual information tag and an associated value, respectively, for the application.
17. (canceled)
18. The method of claim 1 , further comprising the step of generating a user behavior information record indicating weighted information about the user's behavior, the user behavior information record including the user identification code or a similar unique identifier associated with the user, a behavior type field indicating information about the user's type of interests, and a weight field indicating the appropriate weighting or significance of each user behavior type.
19. (canceled)
20. The method of claim 1 further comprising the step of generating a user URL information record which indicates user URL tracking information used to generate user behavior information, the user URL information record including the user identification code or a similar unique identifier associated with the user, a session identifier which identifies the session of the user for a particular URL, a domain field and page field associated with the particular URL, a page type field which identifies the type of URL, and a duration field which indicates an amount of time the user spent at a particular URL.
21. (canceled)
22. (canceled)
23. (canceled)
24. The method of claim 1 , further comprising the step of generating a user application information record indicating information associated with client applications the user has downloaded, the user application information record including the user identification code or a similar unique identifier associated with the user, the application code for each particular application downloaded by the user, an application version field identifying the current version of each particular application, a download date field indicating the date the user downloaded the particular application.
25. (canceled)
26. (canceled)
27. (canceled)
28. The method of claim 1 , further comprising the step of generating an application tracking record which contains information regarding application use, the application tracking record including the user identification code or a similar unique identifier associated with the user, a date field representing the date of a particular record, an event code field indicating a particular type of event for each application, and a count field indicating the number of times a particular event has occurred for a particular application.
29. (canceled)
30. The method of claim 1 , further comprising the step of generating a message queue record indicating a list of messages to be displayed to the user, the message queue record including the user identification code or a similar unique identifier associated with the user, a behavior type field indicating a user behavior for which messages in the queue will be transmitted to the user, a message number field indicating a sequential number assigned to each message, a messages field which indicates the list of messages to be transmitted to the user, and a URL field indicating a web address to be transmitted to the user.
31. (canceled)
32. (canceled)
33. (canceled)
34. The method of claim 1 , further comprising the step of generating an activity log file which records user activities, the activity log file including a time field indicating when the activity log file was created, the user identification code or a similar unique identifier associated with the user, a user IP field indicating the user's last internet connection address, and an activity field indicating a description for a particular user activity.
35. (canceled)
36. (canceled)
37. (canceled)
38. (canceled)
39. (canceled)
40. The method of claim 1 , further comprising the step of optimizing the display of website information by dynamically configuring the client application in order to present website information in accordance with the user's history and preferences.
41. The method of claim 1 , further comprising the step of tracking user activity in connection with locations that are specified in URL format but which are not URL locations.
42. The method of claim 41 , wherein said locations that are specified in URL format include one of networked files and networked resources.
43. (canceled)
44. (canceled)
45. The method of claim 1 , further comprising the steps of performing at least one data count based on the user's prior usage history, and weighting the at least one data count to adjust the relevance of the at lease one data count to produce a running total score for at least one website viewed by the user.
46. (canceled)
47. (canceled)
48. (canceled)
49. (canceled)
50. (canceled)
51. (canceled)
52. (canceled)
53. The method of claim 1 , further comprising the step of transmitting customized messages to a user in accordance with the user's usage.
54. The method of claim 53 , wherein the customized messages include at least one of promotional information, advertisements, and news.
55. A method for dynamically providing information to a user via a visual display associated with a user computer, the method comprising the following steps:
(a) at the user computer, requesting from a remote server configuration information associated with a website being viewed by said user;
(b) reconfiguring the visual display in accordance with the configuration information;
(c) transmitting usage information associated with the website being viewed by the user to the remote server; and
(d) repeating steps (a), (b), and (c) for each website being viewed by the user.
56. A computer readable medium encoded with processing instructions for performing a method for dynamically providing information to a user via a visual display associated with a user computer, the method comprising:
assigning the user a user identification code;
assigning an application code to at least a first website and a second website to be viewed by said user;
recording the user's activity associated with said first and second websites by monitoring said user identification code and said application code;
determining the user's viewing preference associated with said first website based on the user's activity associated with said first website;
determining the user's viewing preference associated with said second website based on the user's activity associated with said second website; and
dynamically adjusting the user's display in accordance with the user's preference associated with the website being viewed by the user.
57. A computer readable medium encoded with processing instructions for performing a method for dynamically providing information to a user via a visual display associated with a user computer, the method comprising:
(a) at the user computer, requesting from a remote server configuration information associated with a website being viewed by said user;
(b) reconfiguring the visual display in accordance with the configuration information;
(c) transmitting usage information associated with the website being viewed by the user to the remote server; and
(d) repeating steps (a), (b), and (c) for each website being viewed by the user.
58. (canceled)
59. (canceled)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/110,527 US20050188318A1 (en) | 2000-11-30 | 2005-04-20 | Method and apparatus for providing dynamic information to a user via a visual display |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/728,613 US6957390B2 (en) | 2000-11-30 | 2000-11-30 | Method and apparatus for providing dynamic information to a user via a visual display |
US11/110,527 US20050188318A1 (en) | 2000-11-30 | 2005-04-20 | Method and apparatus for providing dynamic information to a user via a visual display |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/728,613 Continuation US6957390B2 (en) | 2000-11-30 | 2000-11-30 | Method and apparatus for providing dynamic information to a user via a visual display |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050188318A1 true US20050188318A1 (en) | 2005-08-25 |
Family
ID=24927561
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/728,613 Expired - Fee Related US6957390B2 (en) | 2000-11-30 | 2000-11-30 | Method and apparatus for providing dynamic information to a user via a visual display |
US11/110,527 Abandoned US20050188318A1 (en) | 2000-11-30 | 2005-04-20 | Method and apparatus for providing dynamic information to a user via a visual display |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/728,613 Expired - Fee Related US6957390B2 (en) | 2000-11-30 | 2000-11-30 | Method and apparatus for providing dynamic information to a user via a visual display |
Country Status (3)
Country | Link |
---|---|
US (2) | US6957390B2 (en) |
AU (1) | AU2002219916A1 (en) |
WO (1) | WO2002045069A1 (en) |
Cited By (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003037A1 (en) * | 2002-06-27 | 2004-01-01 | Fujitsu Limited | Presence administration method and device |
US20040054784A1 (en) * | 2002-09-16 | 2004-03-18 | International Business Machines Corporation | Method, system and program product for tracking web user sessions |
US20040104929A1 (en) * | 2002-12-02 | 2004-06-03 | Tatung Co., Ltd. | Method of establishing a customized webpage desktop |
US20040135812A1 (en) * | 2003-01-10 | 2004-07-15 | Tatung Co., Ltd. | Method of establishing a re-configurable taskbar |
US20050097088A1 (en) * | 2003-11-04 | 2005-05-05 | Dominic Bennett | Techniques for analyzing the performance of websites |
US20050119975A1 (en) * | 1999-02-05 | 2005-06-02 | O'donnell Michael | Automated licensing and access to distribution information for works of authorship |
US20050216846A1 (en) * | 2004-03-26 | 2005-09-29 | Mika Kalenius | Normal versus small screen rendering with given URL |
US20050278258A1 (en) * | 2004-06-14 | 2005-12-15 | O'donnell Michael | User software for facilitating copyright licensing and compliance |
US20060015614A1 (en) * | 2001-05-02 | 2006-01-19 | Microsoft Corporation | Page-view recording with click-thru tracking |
US20060259469A1 (en) * | 2005-05-12 | 2006-11-16 | Fu-Sheng Chiu | Intelligent adaptive programming based on collected dynamic market data and user feedback |
US20070124297A1 (en) * | 2005-11-29 | 2007-05-31 | John Toebes | Generating search results based on determined relationships between data objects and user connections to identified destinations |
US20070130518A1 (en) * | 2005-12-01 | 2007-06-07 | Alefo Interactive Ltd. | Method and apparatus for a personalized web page |
US20080155386A1 (en) * | 2006-12-22 | 2008-06-26 | Autiq As | Network discovery system |
US7412374B1 (en) | 2002-01-30 | 2008-08-12 | Novell, Inc. | Method to dynamically determine a user's language for a network |
US20080256207A1 (en) * | 2006-12-28 | 2008-10-16 | Canon Kabushiki Kaisha | Information processing apparatus, method of controlling information processing apparatus, program for control method, and recording medium for program |
WO2009093145A2 (en) * | 2008-01-24 | 2009-07-30 | Wi- Tech S.A. De C. V. | System and method of monitoring computer usage |
US20090287781A1 (en) * | 2008-05-19 | 2009-11-19 | International Business Machines Corporation | Grouping messages using patterns in a messaging system |
US20090310594A1 (en) * | 2008-06-17 | 2009-12-17 | Nintendo Co., Ltd. | Data communication system, information processing apparatus and storage medium having stored thereon information processing program |
US20090313580A1 (en) * | 2008-06-17 | 2009-12-17 | Nintendo Co., Ltd. | Information processing apparatus, information processing system, and storage medium having stored thereon information processing program |
US7657548B2 (en) | 2002-09-20 | 2010-02-02 | Novell, Inc. | Method for dynamically distributing items for changes based on group membership |
US7660843B1 (en) * | 2003-01-21 | 2010-02-09 | Novell, Inc. | Method and apparatus for dynamically delivering a gadget |
US20100042652A1 (en) * | 1999-02-05 | 2010-02-18 | O'donnell Michael | System for tracking distribution for internet-distributed works of authorship |
US20100058205A1 (en) * | 2008-09-04 | 2010-03-04 | Motorola, Inc. | Reconfigurable multiple-screen display |
US20100161540A1 (en) * | 2008-12-19 | 2010-06-24 | Nikolay Anisimov | Method for Monitoring and Ranking Web Visitors and Soliciting Higher Ranked Visitors to Engage in Live Assistance |
US20100159898A1 (en) * | 2008-12-19 | 2010-06-24 | Openpeak, Inc. | Services platform for networked devices that provide telephony and digital media services |
US20100161712A1 (en) * | 2008-12-18 | 2010-06-24 | Sap Ag | Business application address determination |
US20100306672A1 (en) * | 2009-06-01 | 2010-12-02 | Sony Computer Entertainment America Inc. | Method and apparatus for matching users in multi-user computer simulations |
US7890639B1 (en) | 2002-01-30 | 2011-02-15 | Novell, Inc. | Method and apparatus for controlling access to portal content from outside the portal |
US7987421B1 (en) | 2002-01-30 | 2011-07-26 | Boyd H Timothy | Method and apparatus to dynamically provide web content resources in a portal |
US20110307541A1 (en) * | 2010-06-10 | 2011-12-15 | Microsoft Corporation | Server load balancing and draining in enhanced communication systems |
US8214295B2 (en) | 1999-02-05 | 2012-07-03 | Icopyright, Inc. | Internet system for facilitating human user advisement and licensing of copyrighted works of authorship |
WO2012061047A3 (en) * | 2010-10-25 | 2012-07-12 | Openpeak Inc. | Creating distinct user spaces through user identifiers |
WO2012061046A3 (en) * | 2010-10-25 | 2012-07-12 | Openpeak Inc. | Creating distinct user spaces through mountable file systems |
US20120239879A1 (en) * | 2005-10-18 | 2012-09-20 | Norihiko Kawakami | Storage system for managing a log of access |
US20130055403A1 (en) * | 2005-01-25 | 2013-02-28 | Whitehat Security, Inc. | System for detecting vulnerabilities in web applications using client-side application interfaces |
US20130055405A1 (en) * | 2011-08-24 | 2013-02-28 | Netqin Mobile (Beijing) Co., Ltd. | Method and system for mobile information security protection |
US8695060B2 (en) | 2011-10-10 | 2014-04-08 | Openpeak Inc. | System and method for creating secure applications |
WO2014092810A1 (en) * | 2012-12-13 | 2014-06-19 | Flextronics Ap, Llc | Programming user behavior reporting |
US8863198B2 (en) | 2012-08-17 | 2014-10-14 | Flextronics Ap, Llc | Television having silos that animate content source searching and selection |
US8898133B2 (en) * | 2011-12-20 | 2014-11-25 | Yahoo! Inc. | User behavior-driven background cache refreshing |
US8938547B1 (en) | 2014-09-05 | 2015-01-20 | Openpeak Inc. | Method and system for data usage accounting in a computing device |
US20150149917A1 (en) * | 2010-03-26 | 2015-05-28 | Salesforce.Com, Inc. | Methods and systems for providing time and date specific software user interfaces |
US9100390B1 (en) | 2014-09-05 | 2015-08-04 | Openpeak Inc. | Method and system for enrolling and authenticating computing devices for data usage accounting |
US9106538B1 (en) | 2014-09-05 | 2015-08-11 | Openpeak Inc. | Method and system for enabling data usage accounting through a relay |
CN105164662A (en) * | 2013-03-15 | 2015-12-16 | 艾新顿公司 | Use of method overrides for dynamically changing visible page content |
US9232013B1 (en) | 2014-09-05 | 2016-01-05 | Openpeak Inc. | Method and system for enabling data usage accounting |
US9274669B1 (en) * | 2010-04-19 | 2016-03-01 | Amazon Technologies, Inc. | Customizing user interfaces for multiple different clients |
US9350818B2 (en) | 2014-09-05 | 2016-05-24 | Openpeak Inc. | Method and system for enabling data usage accounting for unreliable transport communication |
US20170052870A1 (en) * | 2014-05-30 | 2017-02-23 | Hewlett Packard Enterprise Development Lp | Evaluating user experience |
US20180011855A1 (en) * | 2016-07-11 | 2018-01-11 | Hewlett Packard Enterprise Development Lp | Calculating user experience scores |
US10130872B2 (en) | 2012-03-21 | 2018-11-20 | Sony Interactive Entertainment LLC | Apparatus and method for matching groups to users for online communities and computer simulations |
US10186002B2 (en) | 2012-03-21 | 2019-01-22 | Sony Interactive Entertainment LLC | Apparatus and method for matching users to groups for online communities and computer simulations |
US10310699B1 (en) * | 2014-12-08 | 2019-06-04 | Amazon Technologies, Inc. | Dynamic modification of browser and content presentation |
US11115711B2 (en) | 2012-08-17 | 2021-09-07 | Flextronics Ap, Llc | Thumbnail cache |
US11153392B2 (en) * | 2019-12-03 | 2021-10-19 | The Nielsen Company (Us), Llc | Methods and apparatus for session building from ping-level data |
US11223581B2 (en) * | 2019-03-19 | 2022-01-11 | Servicenow, Inc. | Virtual agent portal integration of two frameworks |
US11283851B2 (en) * | 2016-07-19 | 2022-03-22 | Google Llc | Persisting state of a streaming application |
US11368760B2 (en) | 2012-08-17 | 2022-06-21 | Flextronics Ap, Llc | Applications generating statistics for user behavior |
US20240171465A1 (en) * | 2020-08-12 | 2024-05-23 | Huawei Technologies Co., Ltd. | Communication method and communication apparatus |
Families Citing this family (173)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001037129A1 (en) * | 1999-11-17 | 2001-05-25 | Bayshore Capital Inc. | Method and apparatus for automated transaction processing |
CA2299150A1 (en) * | 2000-02-23 | 2001-08-23 | Hummingbird Communications Ltd | A system and method for providing real-time information to a web browser |
US6704031B1 (en) * | 2000-04-07 | 2004-03-09 | America Online, Inc. | Toolbar tracking |
US7475404B2 (en) | 2000-05-18 | 2009-01-06 | Maquis Techtrix Llc | System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching |
US8086697B2 (en) * | 2005-06-28 | 2011-12-27 | Claria Innovations, Llc | Techniques for displaying impressions in documents delivered over a computer network |
US7037886B2 (en) * | 2000-06-01 | 2006-05-02 | Ecolab Inc. | Method for manufacturing a molded detergent composition |
US7801905B1 (en) * | 2003-11-25 | 2010-09-21 | Prabhdeep Singh | Knowledge archival and recollection systems and methods |
MXPA03006025A (en) * | 2001-01-02 | 2005-02-14 | Delta Air Lines Inc | Exchanging electronic messages between a host computer system and a distributed computer system. |
US7028033B2 (en) * | 2001-01-02 | 2006-04-11 | Hall Aluminum Llc | Method and apparatus for simplified access to online services |
AU2002258769A1 (en) * | 2001-04-09 | 2002-10-21 | America Online Incorporated | Server-based browser system |
GB2375030B (en) * | 2001-04-27 | 2005-05-11 | Ibm | Changing user interface following difficulty in use |
US7278108B2 (en) * | 2001-08-10 | 2007-10-02 | Danger, Inc. | System and method of displaying multiple pending notifications in a single window |
US7346843B2 (en) * | 2001-09-18 | 2008-03-18 | International Business Machines Corporation | Low-latency, incremental rendering in a content framework |
US7127503B2 (en) * | 2001-10-10 | 2006-10-24 | Juniper Networks, Inc. | Computer networking system, device, and method for improved speed in web page rendering |
US8521827B2 (en) | 2001-10-18 | 2013-08-27 | Carhamm Ltd., Llc | Presentation of information to end-users |
US7346548B2 (en) * | 2001-10-25 | 2008-03-18 | Goldman Sachs & Co. | System, method, apparatus and means evaluating historical network activity |
US8091042B2 (en) * | 2001-11-15 | 2012-01-03 | Siebel Systems, Inc. | Apparatus and method for displaying selectable icons in a toolbar for a user interface |
US20030115091A1 (en) * | 2001-11-16 | 2003-06-19 | Gateway, Inc. | Remote out-of-box experience |
US20030120560A1 (en) * | 2001-12-20 | 2003-06-26 | John Almeida | Method for creating and maintaning worldwide e-commerce |
US8037091B2 (en) * | 2001-12-20 | 2011-10-11 | Unoweb Inc. | Method of using a code to track user access to content |
US7206791B2 (en) * | 2002-01-17 | 2007-04-17 | International Business Machines Corporation | System and method for managing and securing meta data |
US8590013B2 (en) * | 2002-02-25 | 2013-11-19 | C. S. Lee Crawford | Method of managing and communicating data pertaining to software applications for processor-based devices comprising wireless communication circuitry |
US20070055937A1 (en) * | 2005-08-10 | 2007-03-08 | David Cancel | Presentation of media segments |
US10296919B2 (en) * | 2002-03-07 | 2019-05-21 | Comscore, Inc. | System and method of a click event data collection platform |
US9092788B2 (en) * | 2002-03-07 | 2015-07-28 | Compete, Inc. | System and method of collecting and analyzing clickstream data |
US20080189408A1 (en) * | 2002-10-09 | 2008-08-07 | David Cancel | Presenting web site analytics |
US8095589B2 (en) | 2002-03-07 | 2012-01-10 | Compete, Inc. | Clickstream analysis methods and systems |
US9129032B2 (en) * | 2002-03-07 | 2015-09-08 | Compete, Inc. | System and method for processing a clickstream in a parallel processing architecture |
US20030216929A1 (en) * | 2002-05-16 | 2003-11-20 | International Business Machines Corporation | Method, system and program product for presenting web content according to a determined learning style |
US7225462B2 (en) * | 2002-06-26 | 2007-05-29 | Bellsouth Intellectual Property Corporation | Systems and methods for managing web user information |
US20040015537A1 (en) * | 2002-07-15 | 2004-01-22 | Richard Doerksen | Handheld client framework system |
US7353460B2 (en) * | 2002-08-06 | 2008-04-01 | Robert Tu Consulting Inc. | Web site navigation under a hierarchical menu structure |
US8381091B2 (en) * | 2002-09-16 | 2013-02-19 | International Business Machines Corporation | Real-time method, system and program product for collecting web form data |
US7890451B2 (en) * | 2002-10-09 | 2011-02-15 | Compete, Inc. | Computer program product and method for refining an estimate of internet traffic |
US7853684B2 (en) * | 2002-10-15 | 2010-12-14 | Sas Institute Inc. | System and method for processing web activity data |
US7603341B2 (en) | 2002-11-05 | 2009-10-13 | Claria Corporation | Updating the content of a presentation vehicle in a computer network |
US7949765B2 (en) * | 2002-12-02 | 2011-05-24 | Sap Aktiengesellschaft | Data structure for analyzing user sessions |
US7269643B2 (en) * | 2002-12-17 | 2007-09-11 | Mediapulse, Inc. | Web site visit quality measurement system |
US8683016B1 (en) | 2002-12-20 | 2014-03-25 | Versata Development Group, Inc. | Data recording components and processes for acquiring selected web site data |
US7359935B1 (en) * | 2002-12-20 | 2008-04-15 | Versata Development Group, Inc. | Generating contextual user network session history in a dynamic content environment |
US7565425B2 (en) * | 2003-07-02 | 2009-07-21 | Amazon Technologies, Inc. | Server architecture and methods for persistently storing and serving event data |
US20050197998A1 (en) * | 2003-07-11 | 2005-09-08 | Asbury Mark R. | Dynamic database SQL script execution through JDBC |
US20050021651A1 (en) * | 2003-07-24 | 2005-01-27 | International Business Machines Corporation | Method and system for identification and presentation of statistical usage data for messaging systems |
US7506260B2 (en) * | 2003-10-31 | 2009-03-17 | Yahoo! Inc. | Method and system of providing browser functionality through a browser button |
US8255514B2 (en) | 2003-11-04 | 2012-08-28 | Covenant Eyes, Inc. | Internet use monitoring system and method |
US8170912B2 (en) * | 2003-11-25 | 2012-05-01 | Carhamm Ltd., Llc | Database structure and front end |
US20050114382A1 (en) * | 2003-11-26 | 2005-05-26 | Lakshminarayan Choudur K. | Method and system for data segmentation |
US7287228B2 (en) * | 2003-12-05 | 2007-10-23 | International Business Machines Corporation | On-demand and incremental application adaptation |
US7451131B2 (en) * | 2003-12-08 | 2008-11-11 | Iac Search & Media, Inc. | Methods and systems for providing a response to a query |
US20060230040A1 (en) * | 2003-12-08 | 2006-10-12 | Andy Curtis | Methods and systems for providing a response to a query |
US7181447B2 (en) * | 2003-12-08 | 2007-02-20 | Iac Search And Media, Inc. | Methods and systems for conceptually organizing and presenting information |
US7249148B2 (en) * | 2004-02-19 | 2007-07-24 | International Business Machines Corporation | System and method for adaptive user settings |
US7444633B2 (en) * | 2004-03-05 | 2008-10-28 | International Business Machines Corporation | Federating legacy/remote content into a central network console |
US7493563B2 (en) * | 2004-03-05 | 2009-02-17 | International Business Machines Corporation | Using content aggregation to build administration consoles |
US8010553B2 (en) * | 2004-04-05 | 2011-08-30 | George Eagan | Knowledge archival and recollection systems and methods |
US8327290B2 (en) | 2004-04-06 | 2012-12-04 | International Business Machines Corporation | User task interface in a web application |
US7636922B2 (en) * | 2004-05-03 | 2009-12-22 | Microsoft Corporation | Generic user interface command architecture |
US7509650B2 (en) * | 2004-05-20 | 2009-03-24 | International Business Machines Corporation | Enhance browsing of messages in a message queue |
US20060031465A1 (en) * | 2004-05-26 | 2006-02-09 | Motorola, Inc. | Method and system of arranging configurable options in a user interface |
US20060107219A1 (en) * | 2004-05-26 | 2006-05-18 | Motorola, Inc. | Method to enhance user interface and target applications based on context awareness |
US8572233B2 (en) * | 2004-07-15 | 2013-10-29 | Hewlett-Packard Development Company, L.P. | Method and system for site path evaluation using web session clustering |
US8285855B2 (en) * | 2004-08-02 | 2012-10-09 | Microsoft Corporation | System, method and user interface for network status reporting |
US8255413B2 (en) | 2004-08-19 | 2012-08-28 | Carhamm Ltd., Llc | Method and apparatus for responding to request for information-personalization |
US8078602B2 (en) | 2004-12-17 | 2011-12-13 | Claria Innovations, Llc | Search engine for a computer network |
US9632665B2 (en) | 2004-09-08 | 2017-04-25 | Universal Electronics Inc. | System and method for flexible configuration of a controlling device |
US7941786B2 (en) * | 2004-09-08 | 2011-05-10 | Universal Electronics Inc. | Configurable controlling device and associated configuration distribution system and method |
US11687217B2 (en) | 2004-09-08 | 2023-06-27 | Universal Electronics Inc. | System and method for flexible configuration of a controlling device |
US7743012B2 (en) * | 2004-09-08 | 2010-06-22 | Universal Electronics Inc. | Configurable controlling device and associated configuration upload and download system and method |
US8099660B1 (en) * | 2004-09-30 | 2012-01-17 | Google Inc. | Tool for managing online content |
US7610400B2 (en) * | 2004-11-23 | 2009-10-27 | Juniper Networks, Inc. | Rule-based networking device |
US7693863B2 (en) | 2004-12-20 | 2010-04-06 | Claria Corporation | Method and device for publishing cross-network user behavioral data |
CN1822557B (en) * | 2005-01-24 | 2010-09-15 | 广州市资源软件有限公司 | Method and system start IM at back-end through web |
US20070162545A1 (en) * | 2005-12-24 | 2007-07-12 | Liu Albert C | Method and system for initiating an instant conversation at backend or at front-end over internet |
US7975000B2 (en) * | 2005-01-27 | 2011-07-05 | Fmr Llc | A/B testing of a webpage |
US20060184899A1 (en) * | 2005-02-11 | 2006-08-17 | Research In Motion Limited | System and method for context specific content handling |
US20060200469A1 (en) * | 2005-03-02 | 2006-09-07 | Lakshminarayanan Chidambaran | Global session identifiers in a multi-node system |
US8073866B2 (en) | 2005-03-17 | 2011-12-06 | Claria Innovations, Llc | Method for providing content to an internet user based on the user's demonstrated content preferences |
US20060242296A1 (en) * | 2005-04-07 | 2006-10-26 | Woolard Leamon M | Method of adding new users to a web based portal server |
US7627656B1 (en) * | 2005-05-16 | 2009-12-01 | Cisco Technology, Inc. | Providing configuration information to an endpoint |
US9330134B2 (en) * | 2005-05-31 | 2016-05-03 | Fairwarning Ip, Llc | User identity mapping system and method of use |
US7770068B2 (en) * | 2005-06-01 | 2010-08-03 | Neustar, Inc. | Systems and methods for website monitoring and load testing via simulation |
US20060277294A1 (en) * | 2005-06-07 | 2006-12-07 | Dimitri Kanevsky | Computer management system |
US7996391B2 (en) * | 2005-06-20 | 2011-08-09 | Google Inc. | Systems and methods for providing search results |
JP2007004605A (en) * | 2005-06-24 | 2007-01-11 | Brother Ind Ltd | Communication system, client, server, and program |
WO2007002727A2 (en) * | 2005-06-28 | 2007-01-04 | Claria Corporation | Method for providing advertising content to an internet user based on the user's demonstrated content preferences |
US9105028B2 (en) | 2005-08-10 | 2015-08-11 | Compete, Inc. | Monitoring clickstream behavior of viewers of online advertisements and search results |
US7653617B2 (en) * | 2005-08-29 | 2010-01-26 | Google Inc. | Mobile sitemaps |
US7631270B2 (en) * | 2005-09-16 | 2009-12-08 | Microsoft Corporation | Network connectivity and wireless status in a notification area |
US8571999B2 (en) | 2005-11-14 | 2013-10-29 | C. S. Lee Crawford | Method of conducting operations for a social network application including activity list generation |
US8392963B2 (en) * | 2005-11-28 | 2013-03-05 | Imperva, Inc. | Techniques for tracking actual users in web application security systems |
JP2009521064A (en) * | 2005-12-09 | 2009-05-28 | イーバディー ホールディング ベースローテン フェンノートシャップ | Contact list display system and method |
JP4552147B2 (en) * | 2006-01-27 | 2010-09-29 | ソニー株式会社 | Information search apparatus, information search method, and information search program |
US8849980B2 (en) * | 2006-02-06 | 2014-09-30 | International Business Machines Corporation | Apparatus, system, and method for monitoring computer system components |
KR100834622B1 (en) * | 2006-06-26 | 2008-06-02 | 삼성전자주식회사 | Method for providing a virtual messenger service and the system therefor |
US20080052629A1 (en) * | 2006-08-26 | 2008-02-28 | Adknowledge, Inc. | Methods and systems for monitoring time on a web site and detecting click validity |
US8201223B2 (en) * | 2006-11-03 | 2012-06-12 | Joanne Walker | Systems and methods for computer implemented treatment of behavorial disorders |
US8131562B2 (en) * | 2006-11-24 | 2012-03-06 | Compressus, Inc. | System management dashboard |
CN101201827B (en) * | 2006-12-14 | 2013-02-20 | 阿里巴巴集团控股有限公司 | Method and system for displaying web page |
US8620952B2 (en) * | 2007-01-03 | 2013-12-31 | Carhamm Ltd., Llc | System for database reporting |
US20080319991A1 (en) * | 2007-01-08 | 2008-12-25 | Lsr Technologies | System for Searching Network Accessible Data Sets |
US7424471B2 (en) * | 2007-01-08 | 2008-09-09 | Lsr Technologies | System for searching network accessible data sets |
US20080177600A1 (en) * | 2007-01-09 | 2008-07-24 | Mccarthy Michael Sean | Methods and systems for measuring online chat performance |
US9043711B2 (en) * | 2007-01-31 | 2015-05-26 | International Business Machines Corporation | Mirrored file manager |
US10289259B2 (en) | 2007-02-13 | 2019-05-14 | Visual Targeting Corporation | Method for defining a presentation format targetable to a demographic |
US8473586B2 (en) * | 2007-02-13 | 2013-06-25 | Visual Targeting Corporation | Method for determining aesthetic preferences to define a style guide and transforming a presentation based thereon |
US20080250316A1 (en) * | 2007-04-04 | 2008-10-09 | Honeywell International Inc. | Mechanism to improve a user's interaction with a computer system |
US20080250323A1 (en) * | 2007-04-04 | 2008-10-09 | Huff Gerald B | Method and apparatus for recommending an application-feature to a user |
US8122360B2 (en) | 2007-06-27 | 2012-02-21 | Kosmix Corporation | Automatic selection of user-oriented web content |
US8271543B2 (en) * | 2008-01-28 | 2012-09-18 | Cisco Technology, Inc. | Creation of context for communications based on previous interactions |
US20090199133A1 (en) * | 2008-02-05 | 2009-08-06 | Microsoft Corporation | Generating a destination list utilizing usage data |
US9612847B2 (en) | 2008-02-05 | 2017-04-04 | Microsoft Technology Licensing, Llc | Destination list associated with an application launcher |
US10269024B2 (en) * | 2008-02-08 | 2019-04-23 | Outbrain Inc. | Systems and methods for identifying and measuring trends in consumer content demand within vertically associated websites and related content |
US20090249188A1 (en) * | 2008-03-27 | 2009-10-01 | International Business Machines Corporation | Method for adaptive transcription of web pages |
US9454455B2 (en) | 2008-04-29 | 2016-09-27 | International Business Machines Corporation | Method for deriving intelligence from activity logs |
US9495275B2 (en) | 2008-04-29 | 2016-11-15 | International Business Machines Corporation | System and computer program product for deriving intelligence from activity logs |
US8510262B2 (en) * | 2008-05-21 | 2013-08-13 | Microsoft Corporation | Promoting websites based on location |
US8180771B2 (en) | 2008-07-18 | 2012-05-15 | Iac Search & Media, Inc. | Search activity eraser |
US9223469B2 (en) * | 2008-08-22 | 2015-12-29 | Intellectual Ventures Fund 83 Llc | Configuring a virtual world user-interface |
US8090794B1 (en) * | 2008-08-25 | 2012-01-03 | Intuit Inc. | Technique for customizing displayed content |
US8839117B1 (en) * | 2008-08-25 | 2014-09-16 | Nintendo Of America Inc. | Internet browser |
US8276193B2 (en) * | 2008-10-02 | 2012-09-25 | International Business Machines Corporation | System for online compromise tool |
US9026918B2 (en) * | 2008-10-16 | 2015-05-05 | Accenture Global Services Limited | Enabling a user device to access enterprise data |
US8478881B2 (en) * | 2008-11-25 | 2013-07-02 | International Business Machines Corporation | System and method for transferring large amount of data in web service transaction |
US20100153866A1 (en) * | 2008-12-11 | 2010-06-17 | Accenture Global Services Gmbh | Method and system for modifying the execution of a native application running on a portable electronic device |
US8055638B2 (en) * | 2008-12-11 | 2011-11-08 | Microsoft Corporation | Providing recent history with search results |
US8060524B2 (en) * | 2008-12-11 | 2011-11-15 | Microsoft Corporation | History answer for re-finding search results |
AU2012258338B2 (en) * | 2008-12-11 | 2014-09-25 | Accenture Global Services Limited | Method and system for modifying the execution of a native application running on a portable electronic device |
US20100153884A1 (en) * | 2008-12-12 | 2010-06-17 | Yahoo! Inc. | Enhanced web toolbar |
US8868722B2 (en) | 2008-12-17 | 2014-10-21 | Microsoft Corporation | Monitoring activity on a computer |
US20100159872A1 (en) * | 2008-12-19 | 2010-06-24 | Nbc Universal, Inc. | Mobile device website visitor metric system and method |
US20100332531A1 (en) * | 2009-06-26 | 2010-12-30 | Microsoft Corporation | Batched Transfer of Arbitrarily Distributed Data |
US20100332550A1 (en) * | 2009-06-26 | 2010-12-30 | Microsoft Corporation | Platform For Configurable Logging Instrumentation |
US8392380B2 (en) * | 2009-07-30 | 2013-03-05 | Microsoft Corporation | Load-balancing and scaling for analytics data |
US20110029516A1 (en) * | 2009-07-30 | 2011-02-03 | Microsoft Corporation | Web-Used Pattern Insight Platform |
US10198414B2 (en) * | 2009-09-10 | 2019-02-05 | Usablenet Inc. | Methods for optimizing interaction with a form in a website page and systems thereof |
US20110083079A1 (en) * | 2009-10-02 | 2011-04-07 | International Business Machines Corporation | Apparatus, system, and method for improved type-ahead functionality in a type-ahead field based on activity of a user within a user interface |
US9576251B2 (en) * | 2009-11-13 | 2017-02-21 | Hewlett Packard Enterprise Development Lp | Method and system for processing web activity data |
US20110119454A1 (en) * | 2009-11-17 | 2011-05-19 | Hsiang-Tsung Kung | Display system for simultaneous displaying of windows generated by multiple window systems belonging to the same computer platform |
US20110153612A1 (en) * | 2009-12-17 | 2011-06-23 | Infosys Technologies Limited | System and method for providing customized applications on different devices |
US20150074561A1 (en) * | 2010-05-07 | 2015-03-12 | Google Inc. | Customizable themes for browsers and web content |
US20120124487A1 (en) * | 2010-11-11 | 2012-05-17 | Microsoft Corporation | Issuing behavioral and contextual notifications |
KR101164999B1 (en) * | 2010-12-07 | 2012-07-13 | 주식회사에이메일 | System for offering service information respond of mobile application analysis and method therefor |
US20120198342A1 (en) | 2011-01-28 | 2012-08-02 | International Business Machines Corporation | Automatic generation of task scripts from web browsing interaction history |
JP2012199647A (en) * | 2011-03-18 | 2012-10-18 | Konica Minolta Business Technologies Inc | Image processing apparatus, image processing system, and program for setting the image processing apparatus |
EP2710465A1 (en) | 2011-05-09 | 2014-03-26 | Google, Inc. | Identifying applications of interest based on application market log data |
EP2710487A4 (en) | 2011-05-09 | 2015-06-17 | Google Inc | Generating application recommendations based on user installed applications |
EP2710466A1 (en) | 2011-05-09 | 2014-03-26 | Google, Inc. | Identifying applications of interest based on application metadata |
CN103930871B (en) * | 2011-05-09 | 2019-07-09 | 谷歌有限责任公司 | Recommend to apply to mobile device based on installation history |
US9665656B2 (en) * | 2011-08-18 | 2017-05-30 | International Business Machines Corporation | Automated service solution delivery |
WO2013097243A1 (en) | 2011-12-31 | 2013-07-04 | Thomson Licensing | Method and apparatus for providing web pages |
US8954580B2 (en) | 2012-01-27 | 2015-02-10 | Compete, Inc. | Hybrid internet traffic measurement using site-centric and panel data |
US9686152B2 (en) * | 2012-01-27 | 2017-06-20 | Microsoft Technology Licensing, Llc | Techniques for tracking resource usage statistics per transaction across multiple layers of protocols |
US9900395B2 (en) | 2012-01-27 | 2018-02-20 | Comscore, Inc. | Dynamic normalization of internet traffic |
US20130332267A1 (en) * | 2012-06-06 | 2013-12-12 | Google Inc. | Selecting content based on data analysis |
KR101542592B1 (en) * | 2012-07-13 | 2015-08-07 | 네이버 주식회사 | Method of Managing Toolbar Button Specialized for Each Domain |
US9329755B2 (en) * | 2012-08-16 | 2016-05-03 | Opera Software Ireland Limited | Mobile device toolbar architecture |
US9542061B2 (en) * | 2012-09-17 | 2017-01-10 | Harman International Industries, Incorporated | Graphical user interface sizing and arrangement system |
US20140181709A1 (en) * | 2012-12-21 | 2014-06-26 | Nokia Corporation | Apparatus and method for using interaction history to manipulate content |
US20150046787A1 (en) * | 2013-08-06 | 2015-02-12 | International Business Machines Corporation | Url tagging based on user behavior |
US9244522B2 (en) | 2013-08-30 | 2016-01-26 | Linkedin Corporation | Guided browsing experience |
US9753743B2 (en) | 2013-12-05 | 2017-09-05 | Entit Software Llc | Identifying a common action flow |
US9378123B2 (en) * | 2013-12-31 | 2016-06-28 | International Business Machines Corporation | Testing of transaction tracking software |
US10769644B2 (en) * | 2014-03-11 | 2020-09-08 | Adobe Inc. | Cross-domain identity service |
JP6481299B2 (en) * | 2014-09-12 | 2019-03-13 | 日本電気株式会社 | Monitoring device, server, monitoring system, monitoring method and monitoring program |
US10788958B2 (en) | 2014-12-19 | 2020-09-29 | International Business Machines Corporation | Personalization of a web application |
US10740831B1 (en) * | 2015-02-09 | 2020-08-11 | Amazon Technologies, Inc. | Method, medium, and system for context based configuration of content |
US10002361B2 (en) | 2015-02-27 | 2018-06-19 | Esquify, Inc. | Remote supervision of client device activity |
US10104152B2 (en) * | 2016-04-28 | 2018-10-16 | TeamMate Licensing B.V. | Inter-application communication and integration broker |
US10937041B2 (en) * | 2016-07-29 | 2021-03-02 | Popdust, Inc. | Forward context browsing |
CN111523072B (en) * | 2020-04-20 | 2023-08-15 | 咪咕文化科技有限公司 | Page access data statistics method and device, electronic equipment and storage medium |
EP4268095A4 (en) | 2021-02-23 | 2024-06-19 | Samsung Electronics Co., Ltd. | Method of displaying web pages and browser display system |
WO2022181950A1 (en) * | 2021-02-23 | 2022-09-01 | Samsung Electronics Co., Ltd. | Method of displaying web pages and browser display system |
US11418571B1 (en) | 2021-07-29 | 2022-08-16 | Servicenow, Inc. | Server-side workflow improvement based on client-side data mining |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717923A (en) * | 1994-11-03 | 1998-02-10 | Intel Corporation | Method and apparatus for dynamically customizing electronic information to individual end users |
US5717860A (en) * | 1995-09-20 | 1998-02-10 | Infonautics Corporation | Method and apparatus for tracking the navigation path of a user on the world wide web |
US5727129A (en) * | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5892917A (en) * | 1995-09-27 | 1999-04-06 | Microsoft Corporation | System for log record and log expansion with inserted log records representing object request for specified object corresponding to cached object copies |
US5897622A (en) * | 1996-10-16 | 1999-04-27 | Microsoft Corporation | Electronic shopping and merchandising system |
US5930801A (en) * | 1997-03-07 | 1999-07-27 | Xerox Corporation | Shared-data environment in which each file has independent security properties |
US5991735A (en) * | 1996-04-26 | 1999-11-23 | Be Free, Inc. | Computer program apparatus for determining behavioral profile of a computer user |
US6009410A (en) * | 1997-10-16 | 1999-12-28 | At&T Corporation | Method and system for presenting customized advertising to a user on the world wide web |
US6014638A (en) * | 1996-05-29 | 2000-01-11 | America Online, Inc. | System for customizing computer displays in accordance with user preferences |
US6085242A (en) * | 1999-01-05 | 2000-07-04 | Chandra; Rohit | Method for managing a repository of user information using a personalized uniform locator |
US6133912A (en) * | 1998-05-04 | 2000-10-17 | Montero; Frank J. | Method of delivering information over a communication network |
US6138155A (en) * | 1997-03-21 | 2000-10-24 | Davis; Owen | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6223215B1 (en) * | 1998-09-22 | 2001-04-24 | Sony Corporation | Tracking a user's purchases on the internet by associating the user with an inbound source and a session identifier |
US20010029527A1 (en) * | 2000-03-15 | 2001-10-11 | Nadav Goshen | Method and system for providing a customized browser network |
US6353834B1 (en) * | 1996-11-14 | 2002-03-05 | Mitsubishi Electric Research Laboratories, Inc. | Log based data architecture for a transactional message queuing system |
US6418471B1 (en) * | 1997-10-06 | 2002-07-09 | Ncr Corporation | Method for recording and reproducing the browsing activities of an individual web browser |
US6572622B1 (en) * | 1999-10-18 | 2003-06-03 | Bernd Schäfer | Bone plate |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052730A (en) * | 1997-01-10 | 2000-04-18 | The Board Of Trustees Of The Leland Stanford Junior University | Method for monitoring and/or modifying web browsing sessions |
US6572662B2 (en) * | 1998-05-15 | 2003-06-03 | International Business Machines Corporation | Dynamic customized web tours |
-
2000
- 2000-11-30 US US09/728,613 patent/US6957390B2/en not_active Expired - Fee Related
-
2001
- 2001-11-30 AU AU2002219916A patent/AU2002219916A1/en not_active Abandoned
- 2001-11-30 WO PCT/US2001/044577 patent/WO2002045069A1/en not_active Application Discontinuation
-
2005
- 2005-04-20 US US11/110,527 patent/US20050188318A1/en not_active Abandoned
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717923A (en) * | 1994-11-03 | 1998-02-10 | Intel Corporation | Method and apparatus for dynamically customizing electronic information to individual end users |
US5717860A (en) * | 1995-09-20 | 1998-02-10 | Infonautics Corporation | Method and apparatus for tracking the navigation path of a user on the world wide web |
US5892917A (en) * | 1995-09-27 | 1999-04-06 | Microsoft Corporation | System for log record and log expansion with inserted log records representing object request for specified object corresponding to cached object copies |
US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5991735A (en) * | 1996-04-26 | 1999-11-23 | Be Free, Inc. | Computer program apparatus for determining behavioral profile of a computer user |
US6014638A (en) * | 1996-05-29 | 2000-01-11 | America Online, Inc. | System for customizing computer displays in accordance with user preferences |
US5727129A (en) * | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
US5897622A (en) * | 1996-10-16 | 1999-04-27 | Microsoft Corporation | Electronic shopping and merchandising system |
US6353834B1 (en) * | 1996-11-14 | 2002-03-05 | Mitsubishi Electric Research Laboratories, Inc. | Log based data architecture for a transactional message queuing system |
US5930801A (en) * | 1997-03-07 | 1999-07-27 | Xerox Corporation | Shared-data environment in which each file has independent security properties |
US6138155A (en) * | 1997-03-21 | 2000-10-24 | Davis; Owen | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6418471B1 (en) * | 1997-10-06 | 2002-07-09 | Ncr Corporation | Method for recording and reproducing the browsing activities of an individual web browser |
US6009410A (en) * | 1997-10-16 | 1999-12-28 | At&T Corporation | Method and system for presenting customized advertising to a user on the world wide web |
US6133912A (en) * | 1998-05-04 | 2000-10-17 | Montero; Frank J. | Method of delivering information over a communication network |
US6223215B1 (en) * | 1998-09-22 | 2001-04-24 | Sony Corporation | Tracking a user's purchases on the internet by associating the user with an inbound source and a session identifier |
US6085242A (en) * | 1999-01-05 | 2000-07-04 | Chandra; Rohit | Method for managing a repository of user information using a personalized uniform locator |
US6572622B1 (en) * | 1999-10-18 | 2003-06-03 | Bernd Schäfer | Bone plate |
US20010029527A1 (en) * | 2000-03-15 | 2001-10-11 | Nadav Goshen | Method and system for providing a customized browser network |
Cited By (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100042652A1 (en) * | 1999-02-05 | 2010-02-18 | O'donnell Michael | System for tracking distribution for internet-distributed works of authorship |
US20050119975A1 (en) * | 1999-02-05 | 2005-06-02 | O'donnell Michael | Automated licensing and access to distribution information for works of authorship |
US8214295B2 (en) | 1999-02-05 | 2012-07-03 | Icopyright, Inc. | Internet system for facilitating human user advisement and licensing of copyrighted works of authorship |
US20060015614A1 (en) * | 2001-05-02 | 2006-01-19 | Microsoft Corporation | Page-view recording with click-thru tracking |
US20060136586A1 (en) * | 2001-05-02 | 2006-06-22 | Microsoft Corporation | Page-View Recording with Click-Thru Tracking |
US7536459B2 (en) * | 2001-05-02 | 2009-05-19 | Microsoft Corporation | Page-view recording with click-thru tracking |
US7543059B2 (en) | 2001-05-02 | 2009-06-02 | Microsoft Corporation | Page-view recording with click-thru tracking |
US7890639B1 (en) | 2002-01-30 | 2011-02-15 | Novell, Inc. | Method and apparatus for controlling access to portal content from outside the portal |
US7412374B1 (en) | 2002-01-30 | 2008-08-12 | Novell, Inc. | Method to dynamically determine a user's language for a network |
US7987421B1 (en) | 2002-01-30 | 2011-07-26 | Boyd H Timothy | Method and apparatus to dynamically provide web content resources in a portal |
US8200755B2 (en) * | 2002-06-27 | 2012-06-12 | Fujitsu Limited | Presence administration method and device |
US20040003037A1 (en) * | 2002-06-27 | 2004-01-01 | Fujitsu Limited | Presence administration method and device |
US7600020B2 (en) * | 2002-09-16 | 2009-10-06 | International Business Machines Corporation | System and program product for tracking web user sessions |
US7389343B2 (en) * | 2002-09-16 | 2008-06-17 | International Business Machines Corporation | Method, system and program product for tracking web user sessions |
US20040054784A1 (en) * | 2002-09-16 | 2004-03-18 | International Business Machines Corporation | Method, system and program product for tracking web user sessions |
US7657548B2 (en) | 2002-09-20 | 2010-02-02 | Novell, Inc. | Method for dynamically distributing items for changes based on group membership |
US7188315B2 (en) * | 2002-12-02 | 2007-03-06 | Tatung Co., Ltd. | Method of establishing a customized webpage desktop |
US20040104929A1 (en) * | 2002-12-02 | 2004-06-03 | Tatung Co., Ltd. | Method of establishing a customized webpage desktop |
US20040135812A1 (en) * | 2003-01-10 | 2004-07-15 | Tatung Co., Ltd. | Method of establishing a re-configurable taskbar |
US7660843B1 (en) * | 2003-01-21 | 2010-02-09 | Novell, Inc. | Method and apparatus for dynamically delivering a gadget |
US20050097088A1 (en) * | 2003-11-04 | 2005-05-05 | Dominic Bennett | Techniques for analyzing the performance of websites |
US20050216846A1 (en) * | 2004-03-26 | 2005-09-29 | Mika Kalenius | Normal versus small screen rendering with given URL |
US20050278258A1 (en) * | 2004-06-14 | 2005-12-15 | O'donnell Michael | User software for facilitating copyright licensing and compliance |
US20130055403A1 (en) * | 2005-01-25 | 2013-02-28 | Whitehat Security, Inc. | System for detecting vulnerabilities in web applications using client-side application interfaces |
US8893282B2 (en) * | 2005-01-25 | 2014-11-18 | Whitehat Security, Inc. | System for detecting vulnerabilities in applications using client-side application interfaces |
US20060259469A1 (en) * | 2005-05-12 | 2006-11-16 | Fu-Sheng Chiu | Intelligent adaptive programming based on collected dynamic market data and user feedback |
US20120239879A1 (en) * | 2005-10-18 | 2012-09-20 | Norihiko Kawakami | Storage system for managing a log of access |
US8732129B2 (en) * | 2005-10-18 | 2014-05-20 | Hitachi, Ltd. | Storage system for managing a log of access |
US7895223B2 (en) | 2005-11-29 | 2011-02-22 | Cisco Technology, Inc. | Generating search results based on determined relationships between data objects and user connections to identified destinations |
US20070124297A1 (en) * | 2005-11-29 | 2007-05-31 | John Toebes | Generating search results based on determined relationships between data objects and user connections to identified destinations |
US8868586B2 (en) | 2005-11-29 | 2014-10-21 | Cisco Technology, Inc. | Generating search results based on determined relationships between data objects and user connections to identified destinations |
US20070124296A1 (en) * | 2005-11-29 | 2007-05-31 | John Toebes | Generating search results based on determined relationships between data objects and user connections to identified destinations |
US20110106830A1 (en) * | 2005-11-29 | 2011-05-05 | Cisco Technology, Inc. | Generating search results based on determined relationships between data objects and user connections to identified destinations |
US7912941B2 (en) * | 2005-11-29 | 2011-03-22 | Cisco Technology, Inc. | Generating search results based on determined relationships between data objects and user connections to identified destinations |
US8224833B2 (en) | 2005-11-29 | 2012-07-17 | Cisco Technology, Inc. | Generating search results based on determined relationships between data objects and user connections to identified destinations |
US20070130518A1 (en) * | 2005-12-01 | 2007-06-07 | Alefo Interactive Ltd. | Method and apparatus for a personalized web page |
US20080155386A1 (en) * | 2006-12-22 | 2008-06-26 | Autiq As | Network discovery system |
US9197447B2 (en) | 2006-12-28 | 2015-11-24 | Canon Kabushiki Kaisha | Information processing apparatus, method of controlling information processing apparatus, program for control method, and recording medium for program |
US20080256207A1 (en) * | 2006-12-28 | 2008-10-16 | Canon Kabushiki Kaisha | Information processing apparatus, method of controlling information processing apparatus, program for control method, and recording medium for program |
US8291087B2 (en) * | 2006-12-28 | 2012-10-16 | Canon Kabushiki Kaisha | Information processing apparatus and method to facilitate administration of web e-mail |
WO2009093145A3 (en) * | 2008-01-24 | 2009-12-30 | Wi- Tech S.A. De C. V. | System and method of monitoring computer usage |
WO2009093145A2 (en) * | 2008-01-24 | 2009-07-30 | Wi- Tech S.A. De C. V. | System and method of monitoring computer usage |
US20090287781A1 (en) * | 2008-05-19 | 2009-11-19 | International Business Machines Corporation | Grouping messages using patterns in a messaging system |
US20090310594A1 (en) * | 2008-06-17 | 2009-12-17 | Nintendo Co., Ltd. | Data communication system, information processing apparatus and storage medium having stored thereon information processing program |
US20090313580A1 (en) * | 2008-06-17 | 2009-12-17 | Nintendo Co., Ltd. | Information processing apparatus, information processing system, and storage medium having stored thereon information processing program |
US8520570B2 (en) | 2008-06-17 | 2013-08-27 | Nintendo Co., Ltd. | Data communication system, information processing apparatus and storage medium having stored thereon information processing program |
US8762888B2 (en) * | 2008-06-17 | 2014-06-24 | Nintendo Co., Ltd. | Information processing apparatus, information processing system, and storage medium having stored thereon information processing program |
US20100058205A1 (en) * | 2008-09-04 | 2010-03-04 | Motorola, Inc. | Reconfigurable multiple-screen display |
US20100161712A1 (en) * | 2008-12-18 | 2010-06-24 | Sap Ag | Business application address determination |
US8661103B2 (en) * | 2008-12-18 | 2014-02-25 | Sap Ag | Business application address determination |
US9519906B2 (en) * | 2008-12-19 | 2016-12-13 | Genesys Telecommunications Laboratories, Inc. | Method for monitoring and ranking web visitors and soliciting higher ranked visitors to engage in live assistance |
WO2010080322A3 (en) * | 2008-12-19 | 2010-09-16 | Genesys Telecommunications Laboratories, Inc. | Ranking web visitors and soliciting higher ranked visitors to engage in live assistance |
WO2010080322A2 (en) * | 2008-12-19 | 2010-07-15 | Genesys Telecommunications Laboratories, Inc. | Method for monitoring and ranking web visitors and soliciting higher ranked visitors to engage in live assistance |
US20100159898A1 (en) * | 2008-12-19 | 2010-06-24 | Openpeak, Inc. | Services platform for networked devices that provide telephony and digital media services |
US20100161540A1 (en) * | 2008-12-19 | 2010-06-24 | Nikolay Anisimov | Method for Monitoring and Ranking Web Visitors and Soliciting Higher Ranked Visitors to Engage in Live Assistance |
US20100306672A1 (en) * | 2009-06-01 | 2010-12-02 | Sony Computer Entertainment America Inc. | Method and apparatus for matching users in multi-user computer simulations |
US10819800B2 (en) | 2010-03-26 | 2020-10-27 | Salesforce.Com, Inc. | Methods and systems for providing time and date specific software user interfaces |
US20150149917A1 (en) * | 2010-03-26 | 2015-05-28 | Salesforce.Com, Inc. | Methods and systems for providing time and date specific software user interfaces |
US9948721B2 (en) * | 2010-03-26 | 2018-04-17 | Salesforce.Com, Inc. | Methods and systems for providing time and date specific software user interfaces |
US9274669B1 (en) * | 2010-04-19 | 2016-03-01 | Amazon Technologies, Inc. | Customizing user interfaces for multiple different clients |
US9998452B1 (en) | 2010-04-19 | 2018-06-12 | Amazon Technologies, Inc. | Customizing user interfaces for multiple different clients |
US20110307541A1 (en) * | 2010-06-10 | 2011-12-15 | Microsoft Corporation | Server load balancing and draining in enhanced communication systems |
US9836616B2 (en) | 2010-10-25 | 2017-12-05 | Openpeak Llc | Creating distinct user spaces through user identifiers |
WO2012061046A3 (en) * | 2010-10-25 | 2012-07-12 | Openpeak Inc. | Creating distinct user spaces through mountable file systems |
US9122885B1 (en) | 2010-10-25 | 2015-09-01 | Openpeak, Inc. | Creating distinct user spaces through user identifiers |
US8650658B2 (en) | 2010-10-25 | 2014-02-11 | Openpeak Inc. | Creating distinct user spaces through user identifiers |
WO2012061047A3 (en) * | 2010-10-25 | 2012-07-12 | Openpeak Inc. | Creating distinct user spaces through user identifiers |
US8856959B2 (en) | 2010-10-25 | 2014-10-07 | Openpeak Inc. | Creating distinct user spaces through user identifiers |
US8914893B2 (en) * | 2011-08-24 | 2014-12-16 | Netqin Mobile (Beijing) Co. Ltd. | Method and system for mobile information security protection |
US20130055405A1 (en) * | 2011-08-24 | 2013-02-28 | Netqin Mobile (Beijing) Co., Ltd. | Method and system for mobile information security protection |
US8695060B2 (en) | 2011-10-10 | 2014-04-08 | Openpeak Inc. | System and method for creating secure applications |
US9165139B2 (en) | 2011-10-10 | 2015-10-20 | Openpeak Inc. | System and method for creating secure applications |
US9135418B2 (en) | 2011-10-10 | 2015-09-15 | Openpeak Inc. | System and method for creating secure applications |
US8898133B2 (en) * | 2011-12-20 | 2014-11-25 | Yahoo! Inc. | User behavior-driven background cache refreshing |
US10186002B2 (en) | 2012-03-21 | 2019-01-22 | Sony Interactive Entertainment LLC | Apparatus and method for matching users to groups for online communities and computer simulations |
US11285383B2 (en) | 2012-03-21 | 2022-03-29 | Sony Interactive Entertainment LLC | Apparatus and method for matching groups to users for online communities and computer simulations |
US10835816B2 (en) | 2012-03-21 | 2020-11-17 | Sony Interactive Entertainment LLC | Apparatus and method for matching groups to users for online communities and computer simulations |
US10130872B2 (en) | 2012-03-21 | 2018-11-20 | Sony Interactive Entertainment LLC | Apparatus and method for matching groups to users for online communities and computer simulations |
US9066040B2 (en) | 2012-08-17 | 2015-06-23 | Flextronics Ap, Llc | Systems and methods for providing video on demand in an intelligent television |
US9106866B2 (en) | 2012-08-17 | 2015-08-11 | Flextronics Ap, Llc | Systems and methods for providing user interfaces in an intelligent television |
US9167187B2 (en) | 2012-08-17 | 2015-10-20 | Flextronics Ap, Llc | Systems and methods for providing video on demand in an intelligent television |
US9118864B2 (en) | 2012-08-17 | 2015-08-25 | Flextronics Ap, Llc | Interactive channel navigation and switching |
US9172896B2 (en) | 2012-08-17 | 2015-10-27 | Flextronics Ap, Llc | Content-sensitive and context-sensitive user interface for an intelligent television |
US9185323B2 (en) | 2012-08-17 | 2015-11-10 | Flextronics Ap, Llc | Systems and methods for providing social media with an intelligent television |
US9185325B2 (en) | 2012-08-17 | 2015-11-10 | Flextronics Ap, Llc | Systems and methods for providing video on demand in an intelligent television |
US9185324B2 (en) | 2012-08-17 | 2015-11-10 | Flextronics Ap, Llc | Sourcing EPG data |
US9191708B2 (en) | 2012-08-17 | 2015-11-17 | Jamdeo Technologies Ltd. | Content-sensitive user interface for an intelligent television |
US9191604B2 (en) | 2012-08-17 | 2015-11-17 | Flextronics Ap, Llc | Systems and methods for providing user interfaces in an intelligent television |
US9118967B2 (en) | 2012-08-17 | 2015-08-25 | Jamdeo Technologies Ltd. | Channel changer for intelligent television |
US9215393B2 (en) | 2012-08-17 | 2015-12-15 | Flextronics Ap, Llc | On-demand creation of reports |
US11782512B2 (en) | 2012-08-17 | 2023-10-10 | Multimedia Technologies Pte, Ltd | Systems and methods for providing video on demand in an intelligent television |
US11474615B2 (en) | 2012-08-17 | 2022-10-18 | Flextronics Ap, Llc | Systems and methods for providing user interfaces in an intelligent television |
US11368760B2 (en) | 2012-08-17 | 2022-06-21 | Flextronics Ap, Llc | Applications generating statistics for user behavior |
US9232168B2 (en) | 2012-08-17 | 2016-01-05 | Flextronics Ap, Llc | Systems and methods for providing user interfaces in an intelligent television |
US9237291B2 (en) | 2012-08-17 | 2016-01-12 | Flextronics Ap, Llc | Method and system for locating programming on a television |
US9247174B2 (en) | 2012-08-17 | 2016-01-26 | Flextronics Ap, Llc | Panel user interface for an intelligent television |
US9264775B2 (en) | 2012-08-17 | 2016-02-16 | Flextronics Ap, Llc | Systems and methods for managing data in an intelligent television |
US9271039B2 (en) | 2012-08-17 | 2016-02-23 | Flextronics Ap, Llc | Live television application setup behavior |
US11150736B2 (en) | 2012-08-17 | 2021-10-19 | Flextronics Ap, Llc | Systems and methods for providing user interfaces in an intelligent television |
US9301003B2 (en) | 2012-08-17 | 2016-03-29 | Jamdeo Technologies Ltd. | Content-sensitive user interface for an intelligent television |
US11119579B2 (en) | 2012-08-17 | 2021-09-14 | Flextronics Ap, Llc | On screen header bar for providing program information |
US9363457B2 (en) | 2012-08-17 | 2016-06-07 | Flextronics Ap, Llc | Systems and methods for providing social media with an intelligent television |
US9369654B2 (en) | 2012-08-17 | 2016-06-14 | Flextronics Ap, Llc | EPG data interface |
US9374546B2 (en) | 2012-08-17 | 2016-06-21 | Flextronics Ap, Llc | Location-based context for UI components |
US9380334B2 (en) | 2012-08-17 | 2016-06-28 | Flextronics Ap, Llc | Systems and methods for providing user interfaces in an intelligent television |
US9414108B2 (en) | 2012-08-17 | 2016-08-09 | Flextronics Ap, Llc | Electronic program guide and preview window |
US9426515B2 (en) | 2012-08-17 | 2016-08-23 | Flextronics Ap, Llc | Systems and methods for providing social media with an intelligent television |
US9426527B2 (en) | 2012-08-17 | 2016-08-23 | Flextronics Ap, Llc | Systems and methods for providing video on demand in an intelligent television |
US9432742B2 (en) | 2012-08-17 | 2016-08-30 | Flextronics Ap, Llc | Intelligent channel changing |
US9167186B2 (en) | 2012-08-17 | 2015-10-20 | Flextronics Ap, Llc | Systems and methods for managing data in an intelligent television |
US11115711B2 (en) | 2012-08-17 | 2021-09-07 | Flextronics Ap, Llc | Thumbnail cache |
US9686582B2 (en) | 2012-08-17 | 2017-06-20 | Flextronics Ap, Llc | Systems and methods for managing data in an intelligent television |
US9820003B2 (en) | 2012-08-17 | 2017-11-14 | Flextronics Ap, Llc | Application panel manager |
US8863198B2 (en) | 2012-08-17 | 2014-10-14 | Flextronics Ap, Llc | Television having silos that animate content source searching and selection |
US10506294B2 (en) | 2012-08-17 | 2019-12-10 | Flextronics Ap, Llc | Systems and methods for providing user interfaces in an intelligent television |
US9077928B2 (en) | 2012-08-17 | 2015-07-07 | Flextronics Ap, Llc | Data reporting of usage statistics |
US9055255B2 (en) | 2012-08-17 | 2015-06-09 | Flextronics Ap, Llc | Live television application on top of live feed |
US10051314B2 (en) | 2012-08-17 | 2018-08-14 | Jamdeo Technologies Ltd. | Method and system for changing programming on a television |
US9055254B2 (en) | 2012-08-17 | 2015-06-09 | Flextronics Ap, Llc | On screen method and system for changing television channels |
US9021517B2 (en) | 2012-08-17 | 2015-04-28 | Flextronics Ap, Llc | Systems and methods for providing video on demand in an intelligent television |
US10341738B1 (en) | 2012-08-17 | 2019-07-02 | Flextronics Ap, Llc | Silo manager |
WO2014092810A1 (en) * | 2012-12-13 | 2014-06-19 | Flextronics Ap, Llc | Programming user behavior reporting |
CN105164662A (en) * | 2013-03-15 | 2015-12-16 | 艾新顿公司 | Use of method overrides for dynamically changing visible page content |
US10725891B2 (en) * | 2014-05-30 | 2020-07-28 | Micro Focus Llc | Evaluating user experience |
US20170052870A1 (en) * | 2014-05-30 | 2017-02-23 | Hewlett Packard Enterprise Development Lp | Evaluating user experience |
US9106538B1 (en) | 2014-09-05 | 2015-08-11 | Openpeak Inc. | Method and system for enabling data usage accounting through a relay |
US9232012B1 (en) | 2014-09-05 | 2016-01-05 | Openpeak Inc. | Method and system for data usage accounting in a computing device |
US9100390B1 (en) | 2014-09-05 | 2015-08-04 | Openpeak Inc. | Method and system for enrolling and authenticating computing devices for data usage accounting |
US10943198B2 (en) | 2014-09-05 | 2021-03-09 | Vmware, Inc. | Method and system for enabling data usage accounting through a relay |
US10410154B2 (en) | 2014-09-05 | 2019-09-10 | Vmware, Inc. | Method and system for enabling data usage accounting through a relay |
US9350818B2 (en) | 2014-09-05 | 2016-05-24 | Openpeak Inc. | Method and system for enabling data usage accounting for unreliable transport communication |
US8938547B1 (en) | 2014-09-05 | 2015-01-20 | Openpeak Inc. | Method and system for data usage accounting in a computing device |
US9232013B1 (en) | 2014-09-05 | 2016-01-05 | Openpeak Inc. | Method and system for enabling data usage accounting |
US10310699B1 (en) * | 2014-12-08 | 2019-06-04 | Amazon Technologies, Inc. | Dynamic modification of browser and content presentation |
US10475090B2 (en) * | 2016-07-11 | 2019-11-12 | Micro Focus Llc | Calculating user experience scores |
US20180011855A1 (en) * | 2016-07-11 | 2018-01-11 | Hewlett Packard Enterprise Development Lp | Calculating user experience scores |
US11283851B2 (en) * | 2016-07-19 | 2022-03-22 | Google Llc | Persisting state of a streaming application |
US11463498B2 (en) * | 2016-07-19 | 2022-10-04 | Google Llc | Persisting state of a streaming application |
US11223581B2 (en) * | 2019-03-19 | 2022-01-11 | Servicenow, Inc. | Virtual agent portal integration of two frameworks |
US11943177B2 (en) | 2019-03-19 | 2024-03-26 | Servicenow, Inc. | Virtual agent portal integration of two frameworks |
US11153392B2 (en) * | 2019-12-03 | 2021-10-19 | The Nielsen Company (Us), Llc | Methods and apparatus for session building from ping-level data |
US20240171465A1 (en) * | 2020-08-12 | 2024-05-23 | Huawei Technologies Co., Ltd. | Communication method and communication apparatus |
Also Published As
Publication number | Publication date |
---|---|
US6957390B2 (en) | 2005-10-18 |
WO2002045069A1 (en) | 2002-06-06 |
AU2002219916A1 (en) | 2002-06-11 |
US20020063735A1 (en) | 2002-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6957390B2 (en) | Method and apparatus for providing dynamic information to a user via a visual display | |
US8775603B2 (en) | Method and system for testing variations of website content | |
US8782200B2 (en) | System and method for optimizing website visitor actions | |
US6654725B1 (en) | System and method for providing customized advertising on the World Wide Web | |
US5796952A (en) | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database | |
US6330592B1 (en) | Method, memory, product, and code for displaying pre-customized content associated with visitor data | |
EP2332063B1 (en) | Uniquely identifying network-distributed devices without explicitly provided device or user identifying information | |
US6959319B1 (en) | System and method for automatically personalizing web portals and web services based upon usage history | |
US8078607B2 (en) | Generating website profiles based on queries from webistes and user activities on the search results | |
US6718365B1 (en) | Method, system, and program for ordering search results using an importance weighting | |
US20010037359A1 (en) | System and method for a server-side browser including markup language graphical user interface, dynamic markup language rewriter engine and profile engine | |
EP2068241A2 (en) | System and method for dynamically generating user interfaces for network client devices | |
WO2014204901A1 (en) | System and method for providing recommended content | |
US20050177785A1 (en) | Client-side pricing agent for collecting and managing product price information over the internet | |
JP2004021817A (en) | Server and server program | |
KR20010111966A (en) | Web site search system and its operation method whose search result includes advertisement | |
WO2001050299A2 (en) | System and method for incremental disclosure of personal information to content providers | |
US20010016906A1 (en) | Process for personalized access to the internet network | |
JPH11167535A (en) | Program distribution method | |
Hardaha et al. | Data Mashup for Improving the Performance of Global Network | |
Rugaber et al. | Problems modeling web sites and user behavior | |
KR20010103973A (en) | Web browsing system having user's own event information with auto updating functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |