US20040103426A1 - Tracking end-user content viewing and navigation - Google Patents

Tracking end-user content viewing and navigation Download PDF

Info

Publication number
US20040103426A1
US20040103426A1 US10/303,154 US30315402A US2004103426A1 US 20040103426 A1 US20040103426 A1 US 20040103426A1 US 30315402 A US30315402 A US 30315402A US 2004103426 A1 US2004103426 A1 US 2004103426A1
Authority
US
United States
Prior art keywords
content
user
web
data
recited
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.)
Granted
Application number
US10/303,154
Other versions
US7506355B2 (en
Inventor
Edward Ludvig
Jay Logue
Bruce Jenks
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/303,154 priority Critical patent/US7506355B2/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LUDVIG, EDWARD A., JENKS, BRUCE, LOGUE, JAY D.
Publication of US20040103426A1 publication Critical patent/US20040103426A1/en
Application granted granted Critical
Publication of US7506355B2 publication Critical patent/US7506355B2/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/86Arrangements characterised by the broadcast information itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/29Arrangements for monitoring broadcast services or broadcast-related services
    • H04H60/31Arrangements for monitoring the use made of the broadcast services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Definitions

  • the invention relates to identifying end-user interactive content viewing and navigation in a distributed computing environment.
  • a content reference document for communication to a data warehouse is generated during transcoding of Web content.
  • the content reference document includes contextual characteristics of Web content interface pages and links.
  • the contextual characteristics identify, for example, the links within scope of respective ones of the interface pages.
  • Substantially unique identifiers (IDs) in the content reference document map the contextual characteristics to specific ones of the interface pages and links.
  • the Transcoded source content representing the Web content is communicated to a client. Responsive to end-user presentation and navigation of interface items provided by the transcoded source content, the client records corresponding ones of the IDs to a log for subsequent uploading to the data warehouse.
  • the data warehouse uses the content reference document to map particular ones of the contextual characteristics to corresponding log recorded ID(s). In this manner, specific ones of the interface pages and the links of interest to the end-user are identified.
  • FIG. 1 shows an exemplary computing environment for tracking end-user content viewing and navigation information in a distributed computing environment.
  • FIG. 4 is a block diagram of an exemplary event tracking log.
  • the event tracking log is used by the client device to cache a substantially minimal amount of end-user content presentation and selection event-based information at the client.
  • FIG. 2 is a block diagram showing further aspects of the exemplary computing environment of FIG. 1.
  • FIG. 2 shows one implementation of the content distribution facility (CDF) portion of FIG. 1.
  • CDF is designed as a cable-head-end to broadcast digital and optionally analog content to subscribers.
  • FIG. 3 shows an alternate implementation of exemplary computing environment of FIG. 1.
  • FIG. 3 shows an exemplary computing environment with a data center for aggregation of client logging information from clients coupled to any number of client subnets.
  • FIG. 5 shows an exemplary client of FIGS. 1 and 3 to generate and distribute event logs of FIG. 4 to a remote third party entity such as a data center or a data warehousing server.
  • FIG. 6 shows an exemplary procedure to track end-user content viewing and navigation in a distributed computing environment.
  • FIG. 1 shows an exemplary computing environment 100 or IS architecture for tracking end-user interactive content viewing and use.
  • the methods and systems described herein are operational with numerous other general purpose or special purpose computing system environments or configurations.
  • the exemplary computing environment is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of systems and methods described herein. Additionally, the exemplary computing environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the computing environment.
  • Examples of well known computing systems and/or component configurations that may be suitable for use in the exemplary computing environment 100 include, but are not limited to, hand-held devices, multiprocessor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, portable communication devices, and the like. Additionally, an alternate implementation of the exemplary computing environment 100 is described below in reference to FIG. 3.
  • computing environment 100 represents a distributed IS architecture to meet the needs of operators in capturing, aggregating, storing, and reporting end-user content use.
  • the components of the exemplary environment are scalable such that many external data sources and content distribution facilities may participate. Additionally, as described below, since a client records only compact information in response to end-user content use, end user content presentation and navigation can be tracked on substantially all clients, even those with limited processing, memory, and/or data storage resources.
  • one or more Content Distribution Facilities (CDFs) 102 download Web content 104 from external data source(s) 106 over network 108 .
  • Web content is authored using standard and well known creation tools, for example, creation tools provided in an HTML authoring tool.
  • Web content represents walled garden Web content, any associated hypertext links exhibiting transitive closure (i.e., navigation from the walled garden is constrained).
  • the external data source(s) distribute the Web content to facilitate functionality of IS architecture 100 .
  • external data source(s) 104 represent a Web server and any number of other types of network servers such as an EPG server, a VOD server, and so on.
  • CDF Content Distribution Facility 102 transcodes downloaded Web content 104 to extract structure, image, and hypertext link identification data, from each source page of the Web content.
  • this extraction is accomplished with an Internet Explorer browser control, which dynamically transcodes the Web content into a set of MPEG still images and corresponding interaction model metadata.
  • the interaction model is used to mimic the interactive browsing experience that an end-user would typically experience if the end-user were browsing the non-transcoded Web content with a Web browser.
  • the browsing experience is mimicked because the end-user does not use a Web browser to browse transcoded Web content. This is in part because the transcoded source content does not include any HTML or hypertext links, which are required for Web browser utilization. Rather, the metadata for each transcoded still identifies locations of hotspots. Hotspot locations in the stills correspond to what were originally interactive controls and/or navigable links within the Web content.
  • the metadata further identifies navigable links to other stills, and indicates response(s) to user inputs (e.g., highlighting underlying portions of the video plane displayed on client 118 ) based on cursor position.
  • a gateway component (access control server 204 of FIG. 2) in the CDF 102 generates and assigns a page identifier (ID) for each respective page of Web content 104 .
  • the gateway component further generates and assigns a respective link ID for each navigational link on a page of Web content.
  • the page identifiers (IDs) “globally unique identifiers” (GUIDs). This means that no one page of Web content will have a page ID equivalent to any other page of Web content.
  • the link IDs could also be implemented as GUIDs, in this implementation, the link IDs corresponding to any one particular page are unique only within scope of the particular page.
  • the generated page and link IDs are inserted into the metadata for transferring to the client.
  • contextual characteristics are extracted from the Web content 104 and inserted into a content reference document 110 .
  • Such contextual characteristics include customizable and extensible content author and/or administrative specific tracking information. For instance, a content author can insert additional information into the Web content to identify pages, images within each page, and links within each page for the purpose of supporting data warehousing.
  • the transcoding process maps the extracted contextual characteristics to specific ones of the page and link IDs that were generated and assigned to the Web content.
  • TABLE 1 illustrates an exemplary content referencing document 110 presented in an XML data format.
  • Exemplary elements of the content reference document 110 of TABLE 1 include, for instance, the following:
  • PAGE_INSTANCE_IDENTIFIER(s) (i.e., generated and assigned page IDs) is a substantially unique identifier, or GUID assigned by the CDF gateway device (access control server 204 of FIG. 2).
  • MASTER_URL is the master Universal Resource Locator (URL) for the Web content 104 (FIG. 1).
  • TRANSCODE_TIME is the timestamp generated by the download/transcode server 216 (FIG. 2) at transcode time.
  • PICTURE_QUALITY and PICTURE_PRIORITY are attributes assigned by the source content developer and extracted by the download and transcode server 216 from the HTML source page.
  • APPLICATION_ID the DVB application ID assigned to the iWGP 120 . This is an MPEG server configuration parameter.
  • TRACKING_DATA contains information extracted by the server 216 from the Web content 104 regarding a Web page as a whole, an image or links within the page, and so on.
  • the source content author has a substantial amount of freedom to put whatever type of information that is considered to be relative to tracking for parsing into the content referencing document.
  • IMAGE is a tag used to identify context information corresponding to any one of potentially many images present in a page of Web content.
  • the content reference document is populated with information extracted from the source Web content regarding each image on a Web page. Such information can be just about any type of information of interest to Web content authors and administrators.
  • LINK is a tag used to identify one of the potentially many URL or navigable links (e.g., a hypertext link) present on a page of Web content.
  • the link may reference content within or outside of a Web page.
  • the content reference document contains information extracted from the source content regarding each link on a page.
  • Images may themselves be hotspots and therefore may have a link ID (“LINK_IDENTIFER”), as in the case of the second image in the sample content reference document of TABLE 1. If an image contains no link, then the link ID is an empty string.
  • the CDF 102 sends content reference document 110 to a data center that includes at least data warehousing server 114 .
  • the extracted contextual characteristics of the content reference document 110 are not included into the metadata portion of the transcoded source content 120 that is sent to the client for end-user presentation and navigation.
  • CDF 102 broadcasts transcoded source content 120 (stills and interaction model metadata) over network 122 to any number of clients 118 .
  • the CDF can alternatively broadcast signals to client devices via wireless means such as so-called “wireless cable” broadcasts, digital satellite communication, and so on.
  • the network includes any combination of terrestrial, satellite, and/or digital hybrid/fiber coax networks.
  • the clients include, for example, computing devices with processors coupled to memory such as volatile and non-volatile memory.
  • a client is a set-top box either coupled to or incorporated into a television viewing device.
  • a navigator application 124 on a client 118 decodes, presents, and facilitates navigation of the rich interactive interface content provided by received transcoded source content 120 (e.g., an iWGP).
  • transcoded source content 120 e.g., an iWGP.
  • the end-user is only “logically” viewing and navigating corresponding Web content. This is because the end-user is not really viewing and navigating the Web content, rather the end-user is actually presenting and selecting respective ones of the still images and hotspots as defined by the interaction model metadata (the stills, hotspots, and interaction model having been transcoded or generated from and representing the Web content).
  • the navigator 124 records corresponding ones of the page and link IDs as indicated by the interaction model metadata. These page and link IDs are recorded to an event tracking log 126 . When a hot spot is selected, the page ID is recorded along with the link ID to identify the particular page on which the link resides. This is because, in this implementation, even though page IDs are globally unique, link IDs are only unique within the scope of the page to which they correspond.
  • the client 118 uploads the event tracking log 126 to the data warehouse server.
  • the client e.g., part of an opt-in subscriber base
  • Such criteria include, for example, threshold use of client logging memory, time and/or activity based criteria, and so on.
  • the uploaded event tracking log is represented as one or more electronic messages 130 .
  • Event tracking logs 126 are relatively small in size and do not require very much bandwidth to send to the data warehouse 114 . This is in part because they do not include Web page or navigable link context information with respect to the page and link IDs that have been recorded. (Such context information is in the content reference document 110 maintained by the data warehouse). Accordingly, data throughput limitations of communications pathways over which event tracking logs are communicated are not likely to be overextended.
  • the data warehousing server 114 reconciles the logged page and link ID(s) to with corresponding contextual characteristics from the content reference document 110 to generate a report 116 . Since context of the event tracking log data is not provided by the client 118 , but rather by the data warehouse, client(s) do not need to utilize valuable processing, memory, and/or data resources to maintain, map, and distribute such contextual information.
  • the report 116 represents collected, organized, and persisted client content viewing/navigation activities at one or more client(s) 118 .
  • the content reference document 110 is essentially a table of contents for the transcoded Web content 120 .
  • the data warehouse 114 can implement flexible, extensible, and configurable end-user content presentation and navigation tracking business models when generating a report 116 .
  • a single page ID is written by the client to the event tracking log 126 .
  • the data warehouse can identify each other element encapsulated by the particular Web page identified by the page ID.
  • Such other elements include all of the images and navigable links on the particular Web page, along with the context information corresponding to each of these elements.
  • the data warehouse can specify that an “implied impression” has been made for each link and image represented by the particular transcoded still.
  • the data warehouse 114 includes an embedded Web server 132 to provide a Web service to publish report(s) 116 to external sources such as authorized end-users, applications, etc.
  • the data warehouse serves as an information source providing added value for administrative entities, source content suppliers, and so on.
  • CDF 102 of FIG. 1 is described in this exemplary implementation as dynamically transcoding Web content 104 to MPEG stills and interaction model metadata (transcoded source content 120 ), such dynamic conversion is only one example of a suitable procedure to obtain MPEG stills and metadata to logically present Web content to an end-user.
  • the CDF may receive manually generated stills and interaction model metadata from an external data source 106 that can be used at a set-top box for mimicking presentation and behavior models of Web content.
  • Techniques to manually generate stills and metadata is described in U.S. Pat. No. 6,317,885 to Fries, titled “Interactive Entertainment and Information System Using Television Set-top Box”, commonly assigned hereto, and which is hereby incorporated by reference.
  • the stills and metadata are manually generated, the content author must also insert substantially unique page and link IDs into the interaction model metadata, and generate a content reference document 110 having the same page and link IDs mapped to content characteristics, as described above.
  • FIG. 2 is a block diagram showing further aspects of the exemplary computing environment of FIG. 1.
  • FIG. 2 shows one implementation of the content distribution facility (CDF) 102 of FIG. 1.
  • the CDF is designed as a cable-head-end to broadcast digital and optionally analog content to subscribers.
  • CDF 102 contains local area network (LAN) 202 , including an access control server 204 for controlling the operation of CDF components over communication path 206 (e.g., an Intranet implementing Ethernet).
  • the access control server is a gateway between external data source(s) 106 (FIG. 1) and the CDF.
  • a satellite integrated receiver/encoder 208 receives and encodes digital television programming signals such as those originating from microwave broadcasts received via satellite antenna (dish) 210 .
  • the MPEG2-encoded transport streams are received by an intermediate frequency to radio frequency (IF/RF) up-converter 212 .
  • the frequency up-converter modulates the MPEG2-encoded transport streams onto analog channels and injects the signals onto the broadcast network, which in this implementation is illustrated as HFC network 122 (FIG. 1).
  • Transcoding server 216 is coupled across communication path 206 (e.g., Ethernet) to local LAN 202 .
  • the transcoding server includes processor 220 coupled to memory 222 .
  • the memory includes volatile (i.e., random access memory (RAM)) and/or non-volatile memory.
  • the memory comprises program modules 224 and program data 226 .
  • Program modules typically include routines, programs, objects, components, and so on, for performing particular tasks or implementing particular abstract data types.
  • the processor is configured to fetch and execute computer program instructions from the program modules portion of memory, and further configured to fetch data from program data portion of the memory while executing the program modules.
  • program modules 224 include Web content transcoding module 232 , which is often referred to below simply as the “transcoding module”, and other program modules 236 such as an operating system to provide a run-time environment.
  • the transcoding module transcodes Web content 104 into stills and corresponding interaction model metadata, which collectively represent transcoded source content 120 .
  • the transcoding module extracts contextual characteristics from the Web content and maps these extracted features to corresponding ones of the page and/or link IDs; the page and link IDs were generated and assigned to respective ones of the pages and links by the access control server 204 .
  • the mapped contextual characteristics form the content reference document 110 .
  • the transcoding module 232 delivers the transcoded source content 120 to carousel file system 218 for subsequent injection over broadcast network 122 to the clients 118 (FIG. 1).
  • the transcoding module forwards the generated content reference document(s) 110 to the data warehousing server 114 (FIG. 1) for subsequent reconciling with event tracking log(s) 126 (FIG. 1) that are subsequently received by the data warehouse from one or more clients 118 .
  • FIG. 3 shows an alternate implementation of the exemplary computing environment 100 of FIG. 1.
  • FIG. 3 shows an exemplary IS architecture 300 with end-to-end logging via data center 302 for tracking and aggregation of end-user content use information from clients 118 coupled to any number of client subnets 304 .
  • the same numbers are used throughout the drawings to reference like features and components.
  • the substantially similar components are described as a group by referring to only the first three (3) digits of each component type.
  • the data center 302 is coupled to multiple content distribution facilities (“CDFs”) 102 , as show by CDFs 102 - 1 and 102 - 2 of FIG. 3.
  • CDFs content distribution facilities
  • the data center 302 includes, for example, a registration server 318 , an aggregating server 312 , a data warehousing server 114 , and a client activity logger (CAL) server 316 .
  • the registration server 318 maintains subscriber configuration data, which for example, includes identities (e.g., IP address and unit ID) of opt-in clients 118 , client association(s) with various CDF 102 and application elements (e.g., an ID associated to a unique upstream and downstream path, a gateway subnet mask, and so on).
  • the registration server may import at least portions of this data from a Multiple Systems Operator (MSO) for provision to other components.
  • MSO Multiple Systems Operator
  • each CDF 102 includes the following respective components: an access control device or gateway 204 , a transcoding server 216 , and a notification server 308 .
  • one or more CDFs 102 of FIG. 3 may include data reception and broadcast infrastructure such as described above with respect to FIG. 2.
  • Transcoding servers 216 of FIG. 3 perform Web content 104 (FIG. 1) transcoding and content reference document 110 (FIGS. 1 and 2) generation and distribution as described above with respect to FIGS. 1 and 2, with the exception that the content reference document is communicated to aggregating server 312 for subsequent distribution to the data warehouse server 114 .
  • a centralized aggregating server allows the data center 302 to collect content reference document(s) 110 ) created by one or more transcoding servers 216 in a single location for provisioning the data warehouse.
  • each CDF 102 includes a respective notification server 308 to provide reliable communication channel(s) between data center 302 and client(s) 118 .
  • Notification server 308 supports one-way and request-response messaging between data center 302 and respective clients 118 coupled to the associated subnet(s). It enforces bandwidth and time window constraints for each service channel.
  • Notification server uses a pool of dispatchers, where each dispatcher serializes requests for all clients serviced by a CDF 102 . This provides an optimized usage of bandwidth and at the same time avoids collisions.
  • Each notification server 308 is coupled to and communicates with respective client(s) 118 via a respective gateway 204 .
  • Client activity logger (CAL) 316 in the data center 302 works in conjunction with notification servers 308 to upload and record one or more client activity logs 126 for import into the data warehouse 114 .
  • CAL polls at least a portion of clients 118 to request upload of their respective activity logs via a respective notification server. This action is performed by sending a single asynchronous upload request to the respective notification server(s) 308 for its associated opt-in clients.
  • the client 118 uploads the event tracking log(s) 126 to the notification server 308 via a respective gateway 204 .
  • the notification server forwards such responses the CAL server 316 .
  • CAL then sends the response(s) directly to the data warehouse after first decrypting the payload (if necessary) and hashing the MAC address.
  • the data warehouse reconciles the recorded event tracking log IDs to with data in the content reference document 110 to provide contextual information to the actual Web content of interest to the end-user.
  • the reconciled end-user content use activities are made available to authorized end-users and applications by the data warehouse.
  • the client can also be configured to automatically upload event tracking log according to some criteria such as upon reaching a threshold amount of client logging memory use, a periodic time-based criteria, activity based criteria, and so on.
  • the CAL 316 provides additional services via respective ones of the notification servers 308 .
  • CAL or the notification server may initiate service requests to one or more of the client(s) 118 .
  • Such service requests include, for instance, commands to: enable/disable logging at the client, set the desired size of the event tracking log, verify client MAC address, topology reset (forces client 118 to re-register with notification server 308 (FIG. 3)), flush the event tracking log, and so on.
  • each service request is processed by the client in a FIFO order.
  • Client response(s) such as success/failure status, log reports, and so on, are sent back to the requestor.
  • FIG. 4 shows a block diagram of an exemplary client event tracking log 126 .
  • the event tracking log is used by the client device to cache a substantially minimal amount of end-user content presentation and selection event-based information at the client.
  • the event tracking log includes, for example, header 402 and one or more log entries 404 (e.g., 404 - 1 through 404 -N).
  • the size of the event tracking log can be programmatically increased and decreased.
  • the header includes information used by the data warehouse 114 (FIGS. 1 and 3), notification server 308 (FIG. 3), and/or aggregating server 312 (FIG. 3)) and information used by client 118 (i.e., log manager 510 of FIG. 5) for state and event tracking log management.
  • the header includes, for example, the following information: (a) time of the most recent system (client 118 ) boot; (b) time when the logging buffer was created; (c) time when a first log entry 404 was discarded due to event tracking log overflow; (d) time when a last log entry was discarded due to event tracking log overflow; and (e) total count of log entries discarded; log format version, base system time.
  • Client 118 concatenates log entries 404 to the end of event tracking log 126 as data is logged.
  • Each log entry includes, for example tag(s) 406 , time stamp 408 , and data 410 .
  • the tag data field consists of a set of data specific to each log entry. This data is used to both identify the particular application and version (i.e., a program module 506 of FIG. 5) logging the data, and to characterize data 410 .
  • Such data characterizations include, for example, an application index, a data class indication, a data type indication, and a data size indication.
  • the application index of the tag data field contains a reference to the application index in the client's log manager's application lookup table (i.e., “other data 520 of FIG. 5).
  • the application lookup table includes, for example, an application ID to identify the specific program module and version that is tracking end-user content use. This application ID is used by both the client's log manager (i.e., log manager 510 of FIG. 5) and data warehouse 114 (FIGS. 1 and 3).
  • the data class indication of the tag data field 406 is used for applications to indicate the specific type of information/event(s) being logged.
  • a walled garden implementation e.g., navigator 124 presenting transcoded source content 120
  • the data type indication of the tag data field 406 indicates whether data 410 indicates application specific information (e.g., a channel change or an error such as a failed channel change).
  • the data size of the tag data field indicates the size of data 410 .
  • Time stamp 408 is the least significant word in the 32-bit time stamp of the log entry. Combining this low-order word with the upper 16-bits provided by the base time identified in header 402 (or most recent base time (MSW) entry) provides an absolute log time reference.
  • Data 410 is the data specific to the particular log entry and will generally follow a pre-defined data format for the specific application tracking the user events (i.e., a program module 506 ) and type or class of information being logged (application defined/specific).
  • FIG. 5 shows an exemplary client 118 (FIGS. 1 and 3) to generate and distribute event logs 126 (FIG. 4) to a remote third party entity such as a data center or a data warehousing server. Since the event logs consist of only a minimal amount of event-based information such as numeric page and link IDs, the event logs are reconciled by the third party entity in view of contextual characteristics of Web content that is mapped by the third party entity to such page and link IDs. To this end, the client represents a source of logging data for the third party entity.
  • Clients may be respectively implemented as one or combinations of different types of data servers such as set-top boxes, HTML gateways, content and advertisement targeting systems, hand-held devices, multiprocessor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, portable communication devices, and so on.
  • data servers such as set-top boxes, HTML gateways, content and advertisement targeting systems, hand-held devices, multiprocessor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, portable communication devices, and so on.
  • Each client 118 includes processor 502 coupled to memory 504 .
  • the memory includes volatile (i.e., random access memory (RAM)) and/or non-volatile memory.
  • the memory includes program modules 506 and program data 508 .
  • Program modules typically include routines, programs, objects, components, and so on, for performing particular tasks or implementing particular abstract data types.
  • the processor is configured to fetch and execute computer program instructions from the program modules portion of the memory, and further configured to fetch data from the program data portion of the memory while executing the program modules.
  • Program modules 506 include navigator 124 , log manager 510 , and other program modules 512 such as an operating system to provide a run-time environment on client 118 .
  • the log manager exposes application programming interface (API) 516 to allow registered applications to log end-user content viewing, navigation, and use events to tracked event log 126 (see also, FIGS. 1 and 4).
  • API application programming interface
  • a registered application is manually or programmatically registered/identified in a configuration data file (e.g., see “other data” 520 ).
  • Such registered applications include the navigator, ad manager 214 , and so on.
  • Tracked events include transcoded source content 120 viewing, navigation, user click-through, advertising page views and impressions, games usage data, detailed television viewing information, and/or the like.
  • the log manager Responsive to receiving a poll request 128 (FIG. 1) from a data warehouse server 114 (FIG. 1) or other server (e.g., notification server 308 of FIG. 3), the log manager uploads or commits the tracked events stored in event tracking log 126 the requesting server.
  • log manager 510 turns off logging operations (does not track end-user content use events). At this point, the log manager may free any allocated logging buffers (E.g., log entry 404 of FIG. 4), and thereby, increase the amount of memory available for use by other applications.
  • the cease logging request may originate, for example, via user request forwarded from a program module such as from navigator 124 or any “other module” 514 .
  • data warehousing server 114 FIG. 1
  • data center 302 FIG.
  • log manager 510 may be directed to cease logging operations via API 516 and/or via poll request 128 (FIG. 1)
  • the log manager may be directed to start or resume logging operations. This can be accomplished via API 516 and/or responsive to receipt of a start/resume logging request (one variety of poll request message 128 of FIG. 1). Responsive to being directed to start/resume logging operations, the log manager stores received end-user content use events to event tracking log 126 .
  • API 516 further provides for dynamically creating, flushing and increasing or decreasing the size of event tracking log(s) 126 at run-time.
  • log manager 510 responsive to receiving an up-load request, log manager 510 passes current event tracking log (event tracking log) 126 to an external agent such as notification server 308 (FIG. 3) for subsequent uploading to data warehousing server 114 (FIGS. 1 and 3). At this point, the log manager creates a new event tracking log 126 for newly received end-user content viewing/navigation event storage.
  • FIG. 6 shows an exemplary procedure 600 to track end-user content viewing and navigation.
  • transcoding, client logging and data warehousing operations are described with respect to FIG. 6.
  • substantially unique page and link IDs are generated and assigned to respective ones of Web content pages and navigable links. In one implementation, this operation is performed responsive to receipt of Web content 104 (FIG. 1) by a gateway 204 (FIGS. 2 and 3) in a content distribution facility 102 (FIGS. 1, 2, and 3 ).
  • the Web content is transcoded into stills and interaction model metadata (i.e., transcoded source content 120 of FIGS. 1 and 2).
  • the stills represent respective Web page images.
  • the interaction model metadata identifies hotspot locations and interaction information corresponding to each navigable link on a Web page.
  • a content reference document 110 (FIGS. 1 - 2 and TABLE 1) is generated from the Web content during transcoding operations.
  • the content reference document maps contextual meaning/characteristics to each of the stills and hotspots in the transcoded Web content 120 (FIGS. 1 and 2). This mapping is accomplished by association of the contextual meaning to corresponding ones of the generated page and link IDs (block 602 ).
  • the transcoded source content is distributed to one or more client computing devices 118 (FIGS. 1 and 5).
  • the interaction model metadata includes the generated page and link IDs, the metadata does not include the contextual characteristics that were extracted from the Web content for insertion into the content reference document during transcoding operations.
  • the metadata sent to the client includes only that minimal amount of information needed by the client to present and navigate the stills and hotspots in the transcoded source content.
  • the content reference document 110 (FIGS. 1 and 2) is communicated to the data warehouse 114 (FIGS. 1 and 3).
  • the client subsequent to receiving the transcoded source content 120 (FIGS. 1 and 2), and responsive to end user presentation of a still and/or selection of a hotspot, the client the client 118 (FIGS. 1, 3, and 5 ) logs corresponding ones of the page and/or link IDs to event tracking log 126 (FIGS. 1 and 4).
  • the stills and hotspots are supplied at the client via respective portions of the transcoded source content.
  • the client uploads the event tracking log to a data warehouse 114 (FIGS. 1 and 3).
  • the client uploads the event tracking log automatically according to any number of upload criteria and/or responsive to receipt of a polling request 128 (FIG. 1).
  • the client uploads the event tracking log to the data warehouse via notification 308 and aggregating servers 312 (FIG. 3).
  • data warehouse 114 receives the event tracking log from the client 118 (FIGS. 1, 3, and 5 ).
  • the data warehouse reconciles each page and link ID in the event tracking log to corresponding ones of the contextual characteristics in the content reference document 110 (FIGS. 1, 2, and Table 1). This reconciled information indicates exactly those Web pages and navigable links of that were of interest to the end-user. Since the logged page and link IDs are reconciled with meaning at the data warehouse, content authors and administrators can track end-user navigation and presentation of Web content without concern of overextending the client's processing, memory, and/or data storage resources.
  • the data warehouse 114 (FIGS. 1 and 3) generates a report 116 (FIG. 1) from reconciled end-user content use information.
  • the data warehousing server provides external computer access to the report, for example, via an embedded Web server 132 (FIG. 1) and a corresponding Web service.

Abstract

Systems, apparatus, and methods to track end-user content viewing and navigation in a distributed computing environment are described. In one aspect, a document for communication to a data warehouse is generated during transcoding of Web content. The document includes characteristics of Web content interface pages and links. The characteristics identify the links within scope of respective ones of the interface pages. Identifiers (IDs) in the document map the characteristics to specific ones of the interface pages and links. Transcoded source content representing the Web content is communicated to a client. Responsive to end-user presentation and navigation of the transcoded source content, the client records corresponding ones of the IDs to a log for subsequent uploading to the data warehouse. The data warehouse maps particular ones of the characteristics to corresponding log recorded ID(s) to identify specific ones of the interface pages and the links of interest to the end-user.

Description

    RELATED APPLICATIONS
  • This patent application is related to U.S. application Ser. No. 10/262,325, titled “Systems and Methods for Dynamic Conversion of Web Content to an Interactive Walled Garden Program”, filed Sep. 20, 2002, commonly assigned hereto, and hereby incorporated by reference.[0001]
  • TECHNICAL FIELD
  • The invention relates to identifying end-user interactive content viewing and navigation in a distributed computing environment. [0002]
  • BACKGROUND
  • Information is always in demand. However, access to accurate and timely information that may have been merely desirable in the past has become vital in today's global marketplace. Businesses are requiring broader access to information as a means of supporting decision-making processes and to facilitate extended relationships with customers, suppliers, and partners. This information must be gathered from various systems and sources, and stored and organized so that is easily accessible to those who need it, when they need it. Conceptually, a data warehouse is a clearing house for storing and accessing such information. [0003]
  • Ideally, when gathering data warehouse information, communication pathway data throughput limitations are not surpassed, and computing resources of client devices used to provide the information are not overextended. Such computing resources include, for example, processing, memory, and data storage resources. Unfortunately, existing techniques to gather end-user content viewing and navigation information for data warehouses do not typically meet such ideal goals. Instead such existing techniques often overextend communication path data throughput limitations and/or computing resources on resource constrained client devices used to provide such information to the data warehouse. [0004]
  • SUMMARY
  • Systems, apparatus, and methods to track end-user content viewing and navigation in a distributed computing environment are described. In one aspect, a content reference document for communication to a data warehouse is generated during transcoding of Web content. The content reference document includes contextual characteristics of Web content interface pages and links. The contextual characteristics identify, for example, the links within scope of respective ones of the interface pages. Substantially unique identifiers (IDs) in the content reference document map the contextual characteristics to specific ones of the interface pages and links. The Transcoded source content representing the Web content is communicated to a client. Responsive to end-user presentation and navigation of interface items provided by the transcoded source content, the client records corresponding ones of the IDs to a log for subsequent uploading to the data warehouse. The data warehouse uses the content reference document to map particular ones of the contextual characteristics to corresponding log recorded ID(s). In this manner, specific ones of the interface pages and the links of interest to the end-user are identified. [0005]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The same numbers are used throughout the drawings to reference like features and components. [0006]
  • FIG. 1 shows an exemplary computing environment for tracking end-user content viewing and navigation information in a distributed computing environment. [0007]
  • FIG. 4 is a block diagram of an exemplary event tracking log. The event tracking log is used by the client device to cache a substantially minimal amount of end-user content presentation and selection event-based information at the client. [0008]
  • FIG. 2 is a block diagram showing further aspects of the exemplary computing environment of FIG. 1. In particular, FIG. 2 shows one implementation of the content distribution facility (CDF) portion of FIG. 1. In this implementation, the CDF is designed as a cable-head-end to broadcast digital and optionally analog content to subscribers. [0009]
  • FIG. 3 shows an alternate implementation of exemplary computing environment of FIG. 1. In particular, FIG. 3 shows an exemplary computing environment with a data center for aggregation of client logging information from clients coupled to any number of client subnets. [0010]
  • FIG. 5 shows an exemplary client of FIGS. 1 and 3 to generate and distribute event logs of FIG. 4 to a remote third party entity such as a data center or a data warehousing server. [0011]
  • FIG. 6 shows an exemplary procedure to track end-user content viewing and navigation in a distributed computing environment. [0012]
  • DETAILED DESCRIPTION
  • An Exemplary Computing Environment [0013]
  • FIG. 1 shows an [0014] exemplary computing environment 100 or IS architecture for tracking end-user interactive content viewing and use. The methods and systems described herein are operational with numerous other general purpose or special purpose computing system environments or configurations. The exemplary computing environment is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of systems and methods described herein. Additionally, the exemplary computing environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the computing environment.
  • Examples of well known computing systems and/or component configurations that may be suitable for use in the [0015] exemplary computing environment 100 include, but are not limited to, hand-held devices, multiprocessor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, portable communication devices, and the like. Additionally, an alternate implementation of the exemplary computing environment 100 is described below in reference to FIG. 3.
  • As shown in FIG. 1, [0016] computing environment 100 represents a distributed IS architecture to meet the needs of operators in capturing, aggregating, storing, and reporting end-user content use. The components of the exemplary environment are scalable such that many external data sources and content distribution facilities may participate. Additionally, as described below, since a client records only compact information in response to end-user content use, end user content presentation and navigation can be tracked on substantially all clients, even those with limited processing, memory, and/or data storage resources.
  • To this end, one or more Content Distribution Facilities (CDFs) [0017] 102 (e.g., cable head-end facilities) download Web content 104 from external data source(s) 106 over network 108. Web content is authored using standard and well known creation tools, for example, creation tools provided in an HTML authoring tool. Web content represents walled garden Web content, any associated hypertext links exhibiting transitive closure (i.e., navigation from the walled garden is constrained). The external data source(s) distribute the Web content to facilitate functionality of IS architecture 100. To this end, external data source(s) 104 represent a Web server and any number of other types of network servers such as an EPG server, a VOD server, and so on.
  • Content Distribution Facility (CDF) [0018] 102 transcodes downloaded Web content 104 to extract structure, image, and hypertext link identification data, from each source page of the Web content. In one implementation, this extraction is accomplished with an Internet Explorer browser control, which dynamically transcodes the Web content into a set of MPEG still images and corresponding interaction model metadata.
  • The interaction model is used to mimic the interactive browsing experience that an end-user would typically experience if the end-user were browsing the non-transcoded Web content with a Web browser. The browsing experience is mimicked because the end-user does not use a Web browser to browse transcoded Web content. This is in part because the transcoded source content does not include any HTML or hypertext links, which are required for Web browser utilization. Rather, the metadata for each transcoded still identifies locations of hotspots. Hotspot locations in the stills correspond to what were originally interactive controls and/or navigable links within the Web content. The metadata further identifies navigable links to other stills, and indicates response(s) to user inputs (e.g., highlighting underlying portions of the video plane displayed on client [0019] 118) based on cursor position.
  • When such stills and metadata are dynamically generated, they are collectively encapsulated/referred to as an “interactive Walled Garden Program” (iWGP). Exemplary techniques for dynamically generating “interactive Walled Garden Programs” (iWGPs) from downloaded [0020] Web content 104 are described in U.S. patent application Ser. No. 10/262,325, titled “Systems and Methods for Dynamic Conversion of Web Content to an Interactive Walled Garden Program”, filed on Sept. 20, 4002, commonly assigned hereto, and hereby incorporated by reference.
  • Responsive to receiving Web content [0021] 104 (FIG. 1) a gateway component (access control server 204 of FIG. 2) in the CDF 102 generates and assigns a page identifier (ID) for each respective page of Web content 104. The gateway component further generates and assigns a respective link ID for each navigational link on a page of Web content. The page identifiers (IDs) “globally unique identifiers” (GUIDs). This means that no one page of Web content will have a page ID equivalent to any other page of Web content. Although the link IDs could also be implemented as GUIDs, in this implementation, the link IDs corresponding to any one particular page are unique only within scope of the particular page. The generated page and link IDs are inserted into the metadata for transferring to the client.
  • During the [0022] CDF 102 transcoding process, contextual characteristics are extracted from the Web content 104 and inserted into a content reference document 110. Such contextual characteristics include customizable and extensible content author and/or administrative specific tracking information. For instance, a content author can insert additional information into the Web content to identify pages, images within each page, and links within each page for the purpose of supporting data warehousing. The transcoding process maps the extracted contextual characteristics to specific ones of the page and link IDs that were generated and assigned to the Web content.
  • TABLE 1 illustrates an exemplary [0023] content referencing document 110 presented in an XML data format.
    TABLE 1
    AN EXEMPLARY iWGP CONTENT REFERENCE DOCUMENT
    - <HTML_GW_TRANSCODED_PAGE>
    <PAGE_INSTANCE_IDENTIFIER>A4BD71E0-772C-40F6-9BCE-
    F6DAFC5346F3</PAGE_INSTANCE_IDENTIFIER>
    <MASTER_URL>www.msn.com/walledgraden</MASTER_URL>
    <TRANSCODE_TIME>04/30/2002 17:38:00</TRANSCODE_TIME>
    <PICTURE_QUALITY>HI</PICTURE_QUALITY>
    <PICTURE_PRIORITY>MED</PICTURE_PRIORITY>
    <APPLICATION_ID>OrgID.AppID</APPLICATION_ID>
    <TRACKING_DATA>NC=132 WW=AB QQ=R2D2</TRACKING_DATA>
    - <IMAGE>
    <LINK LINK_IDENTIFIER=””>
    <SOURCE_URL>www.msn.com/specials/summertime.gif</SOURCE_URL>
    <TRACKING_DATA>RR=ABC EE=347</TRACKING_DATA>
    </IMAGE>
    - <IMAGE>
    <LINK_IDENTIFIER=”1”>
    <SOURCE_URL>www.msn.com/specials/beachware.gif</SOURCE_URL>
    <TRACKING_DATA>RR=ABC EE=3413</TRACKING_DATA>
    </IMAGE>
    - <LINK LINK_IDENIFIER=”0”>
    <TRACKING_DATA >RR=ABE EE=2304</TRACKING_DATA>
    <LINK_HREF>www.msn.com/specials/umbrellaspecial.htm</LINK_HREF>
    </LINK>
    - <LINK LINK_IDENTIFIER=”1”>
    <TRACKING_DATA>RR=ABQ EE=9304</TRACKING_DATA>
    <LINK_HREF>www .msn.com/specials/suntanoil.htm</LINK_HREF>
    </LINK>
    </HTML_GW_TRANSCODED_PAGE>
  • Exemplary elements of the [0024] content reference document 110 of TABLE 1 include, for instance, the following:
  • PAGE_INSTANCE_IDENTIFIER(s) (i.e., generated and assigned page IDs) is a substantially unique identifier, or GUID assigned by the CDF gateway device ([0025] access control server 204 of FIG. 2).
  • MASTER_URL is the master Universal Resource Locator (URL) for the Web content [0026] 104 (FIG. 1).
  • TRANSCODE_TIME is the timestamp generated by the download/transcode server [0027] 216 (FIG. 2) at transcode time.
  • PICTURE_QUALITY and PICTURE_PRIORITY are attributes assigned by the source content developer and extracted by the download and transcode [0028] server 216 from the HTML source page.
  • APPLICATION_ID the DVB application ID assigned to the [0029] iWGP 120. This is an MPEG server configuration parameter.
  • TRACKING_DATA contains information extracted by the [0030] server 216 from the Web content 104 regarding a Web page as a whole, an image or links within the page, and so on. The source content author has a substantial amount of freedom to put whatever type of information that is considered to be relative to tracking for parsing into the content referencing document.
  • IMAGE is a tag used to identify context information corresponding to any one of potentially many images present in a page of Web content. During Web content transcoding operations, the content reference document is populated with information extracted from the source Web content regarding each image on a Web page. Such information can be just about any type of information of interest to Web content authors and administrators. [0031]
  • LINK is a tag used to identify one of the potentially many URL or navigable links (e.g., a hypertext link) present on a page of Web content. The link may reference content within or outside of a Web page. The content reference document contains information extracted from the source content regarding each link on a page. Images may themselves be hotspots and therefore may have a link ID (“LINK_IDENTIFER”), as in the case of the second image in the sample content reference document of TABLE 1. If an image contains no link, then the link ID is an empty string. [0032]
  • The [0033] CDF 102 sends content reference document 110 to a data center that includes at least data warehousing server 114. As described below, the extracted contextual characteristics of the content reference document 110 are not included into the metadata portion of the transcoded source content 120 that is sent to the client for end-user presentation and navigation.
  • [0034] CDF 102 broadcasts transcoded source content 120 (stills and interaction model metadata) over network 122 to any number of clients 118. For instance, the CDF can alternatively broadcast signals to client devices via wireless means such as so-called “wireless cable” broadcasts, digital satellite communication, and so on. The network includes any combination of terrestrial, satellite, and/or digital hybrid/fiber coax networks. The clients include, for example, computing devices with processors coupled to memory such as volatile and non-volatile memory. In one implementation, a client is a set-top box either coupled to or incorporated into a television viewing device.
  • A [0035] navigator application 124 on a client 118 decodes, presents, and facilitates navigation of the rich interactive interface content provided by received transcoded source content 120 (e.g., an iWGP). When an end-user at the client views and navigates transcoded source content, the end-user is only “logically” viewing and navigating corresponding Web content. This is because the end-user is not really viewing and navigating the Web content, rather the end-user is actually presenting and selecting respective ones of the still images and hotspots as defined by the interaction model metadata (the stills, hotspots, and interaction model having been transcoded or generated from and representing the Web content).
  • As the end-user presents respective stills and selects individual hotspots, the [0036] navigator 124 records corresponding ones of the page and link IDs as indicated by the interaction model metadata. These page and link IDs are recorded to an event tracking log 126. When a hot spot is selected, the page ID is recorded along with the link ID to identify the particular page on which the link resides. This is because, in this implementation, even though page IDs are globally unique, link IDs are only unique within the scope of the page to which they correspond.
  • The [0037] client 118 uploads the event tracking log 126 to the data warehouse server. In one implementation, the client (e.g., part of an opt-in subscriber base) uploads the event tracking log automatically according to any number of upload criteria or responsive to receipt of a polling request 128. Such criteria include, for example, threshold use of client logging memory, time and/or activity based criteria, and so on. The uploaded event tracking log is represented as one or more electronic messages 130.
  • Event tracking logs [0038] 126 are relatively small in size and do not require very much bandwidth to send to the data warehouse 114. This is in part because they do not include Web page or navigable link context information with respect to the page and link IDs that have been recorded. (Such context information is in the content reference document 110 maintained by the data warehouse). Accordingly, data throughput limitations of communications pathways over which event tracking logs are communicated are not likely to be overextended.
  • Subsequent to receiving the uploaded [0039] event tracking log 130, the data warehousing server 114 reconciles the logged page and link ID(s) to with corresponding contextual characteristics from the content reference document 110 to generate a report 116. Since context of the event tracking log data is not provided by the client 118, but rather by the data warehouse, client(s) do not need to utilize valuable processing, memory, and/or data resources to maintain, map, and distribute such contextual information.
  • The [0040] report 116 represents collected, organized, and persisted client content viewing/navigation activities at one or more client(s) 118. This means that the data warehouse 114 can aggregate the event tracking logs to generate compilations of end-user activities from any number of client devices. Additionally, the content reference document 110 is essentially a table of contents for the transcoded Web content 120. Thus, the data warehouse 114 can implement flexible, extensible, and configurable end-user content presentation and navigation tracking business models when generating a report 116.
  • For example, responsive to end-user presentation of a particular transcoded still, a single page ID is written by the client to the [0041] event tracking log 126. When reconciling the information in the event tracking log with contextual characteristics from the content reference document, the data warehouse can identify each other element encapsulated by the particular Web page identified by the page ID. Such other elements include all of the images and navigable links on the particular Web page, along with the context information corresponding to each of these elements. With such comprehensive information, the data warehouse can specify that an “implied impression” has been made for each link and image represented by the particular transcoded still.
  • In this exemplary implementation, the [0042] data warehouse 114 includes an embedded Web server 132 to provide a Web service to publish report(s) 116 to external sources such as authorized end-users, applications, etc. In this manner, the data warehouse serves as an information source providing added value for administrative entities, source content suppliers, and so on.
  • Although [0043] CDF 102 of FIG. 1 is described in this exemplary implementation as dynamically transcoding Web content 104 to MPEG stills and interaction model metadata (transcoded source content 120), such dynamic conversion is only one example of a suitable procedure to obtain MPEG stills and metadata to logically present Web content to an end-user. For instance, the CDF may receive manually generated stills and interaction model metadata from an external data source 106 that can be used at a set-top box for mimicking presentation and behavior models of Web content. Techniques to manually generate stills and metadata is described in U.S. Pat. No. 6,317,885 to Fries, titled “Interactive Entertainment and Information System Using Television Set-top Box”, commonly assigned hereto, and which is hereby incorporated by reference. However, if the stills and metadata are manually generated, the content author must also insert substantially unique page and link IDs into the interaction model metadata, and generate a content reference document 110 having the same page and link IDs mapped to content characteristics, as described above.
  • An Exemplary Content Distribution Facility [0044]
  • FIG. 2 is a block diagram showing further aspects of the exemplary computing environment of FIG. 1. In particular, FIG. 2 shows one implementation of the content distribution facility (CDF) [0045] 102 of FIG. 1. In this implementation, the CDF is designed as a cable-head-end to broadcast digital and optionally analog content to subscribers. CDF 102 contains local area network (LAN) 202, including an access control server 204 for controlling the operation of CDF components over communication path 206 (e.g., an Intranet implementing Ethernet). In this implementation, the access control server is a gateway between external data source(s) 106 (FIG. 1) and the CDF.
  • A satellite integrated receiver/[0046] encoder 208, receives and encodes digital television programming signals such as those originating from microwave broadcasts received via satellite antenna (dish) 210. In turn, the MPEG2-encoded transport streams are received by an intermediate frequency to radio frequency (IF/RF) up-converter 212. The frequency up-converter modulates the MPEG2-encoded transport streams onto analog channels and injects the signals onto the broadcast network, which in this implementation is illustrated as HFC network 122 (FIG. 1).
  • [0047] Transcoding server 216 is coupled across communication path 206 (e.g., Ethernet) to local LAN 202. The transcoding server includes processor 220 coupled to memory 222. The memory includes volatile (i.e., random access memory (RAM)) and/or non-volatile memory. The memory comprises program modules 224 and program data 226. Program modules typically include routines, programs, objects, components, and so on, for performing particular tasks or implementing particular abstract data types. The processor is configured to fetch and execute computer program instructions from the program modules portion of memory, and further configured to fetch data from program data portion of the memory while executing the program modules.
  • In this implementation, [0048] program modules 224 include Web content transcoding module 232, which is often referred to below simply as the “transcoding module”, and other program modules 236 such as an operating system to provide a run-time environment. The transcoding module transcodes Web content 104 into stills and corresponding interaction model metadata, which collectively represent transcoded source content 120. During the transcoding process, the transcoding module extracts contextual characteristics from the Web content and maps these extracted features to corresponding ones of the page and/or link IDs; the page and link IDs were generated and assigned to respective ones of the pages and links by the access control server 204. The mapped contextual characteristics form the content reference document 110.
  • The [0049] transcoding module 232 delivers the transcoded source content 120 to carousel file system 218 for subsequent injection over broadcast network 122 to the clients 118 (FIG. 1). The transcoding module forwards the generated content reference document(s) 110 to the data warehousing server 114 (FIG. 1) for subsequent reconciling with event tracking log(s) 126 (FIG. 1) that are subsequently received by the data warehouse from one or more clients 118.
  • FIG. 3 shows an alternate implementation of the [0050] exemplary computing environment 100 of FIG. 1. In particular, FIG. 3 shows an exemplary IS architecture 300 with end-to-end logging via data center 302 for tracking and aggregation of end-user content use information from clients 118 coupled to any number of client subnets 304. As in the previous described figures, the same numbers are used throughout the drawings to reference like features and components. Where multiple substantially similar types of components are illustrated (e.g., at least two of a particular server type, etc.), the substantially similar components are described as a group by referring to only the first three (3) digits of each component type. For instance, in the implementation of FIG. 3, the data center 302 is coupled to multiple content distribution facilities (“CDFs”) 102, as show by CDFs 102-1 and 102-2 of FIG. 3.
  • The [0051] data center 302 includes, for example, a registration server 318, an aggregating server 312, a data warehousing server 114, and a client activity logger (CAL) server 316. The registration server 318 maintains subscriber configuration data, which for example, includes identities (e.g., IP address and unit ID) of opt-in clients 118, client association(s) with various CDF 102 and application elements (e.g., an ID associated to a unique upstream and downstream path, a gateway subnet mask, and so on). The registration server may import at least portions of this data from a Multiple Systems Operator (MSO) for provision to other components. Each of the other data center components is now described with respect to the operations of the different components in each of the one or more CDFs 306.
  • In this implementation, each [0052] CDF 102 includes the following respective components: an access control device or gateway 204, a transcoding server 216, and a notification server 308. Additionally, although not shown in FIG. 3, one or more CDFs 102 of FIG. 3 may include data reception and broadcast infrastructure such as described above with respect to FIG. 2. Transcoding servers 216 of FIG. 3 perform Web content 104 (FIG. 1) transcoding and content reference document 110 (FIGS. 1 and 2) generation and distribution as described above with respect to FIGS. 1 and 2, with the exception that the content reference document is communicated to aggregating server 312 for subsequent distribution to the data warehouse server 114. A centralized aggregating server allows the data center 302 to collect content reference document(s) 110) created by one or more transcoding servers 216 in a single location for provisioning the data warehouse.
  • In this implementation, each [0053] CDF 102 includes a respective notification server 308 to provide reliable communication channel(s) between data center 302 and client(s) 118. Notification server 308 supports one-way and request-response messaging between data center 302 and respective clients 118 coupled to the associated subnet(s). It enforces bandwidth and time window constraints for each service channel. Notification server uses a pool of dispatchers, where each dispatcher serializes requests for all clients serviced by a CDF 102. This provides an optimized usage of bandwidth and at the same time avoids collisions. Each notification server 308 is coupled to and communicates with respective client(s) 118 via a respective gateway 204.
  • Client activity logger (CAL) [0054] 316 in the data center 302 works in conjunction with notification servers 308 to upload and record one or more client activity logs 126 for import into the data warehouse 114. In one implementation, based upon a configured polling schedule, CAL polls at least a portion of clients 118 to request upload of their respective activity logs via a respective notification server. This action is performed by sending a single asynchronous upload request to the respective notification server(s) 308 for its associated opt-in clients.
  • Responsive to receiving such a request, the [0055] client 118 uploads the event tracking log(s) 126 to the notification server 308 via a respective gateway 204. The notification server forwards such responses the CAL server 316. CAL then sends the response(s) directly to the data warehouse after first decrypting the payload (if necessary) and hashing the MAC address. The data warehouse reconciles the recorded event tracking log IDs to with data in the content reference document 110 to provide contextual information to the actual Web content of interest to the end-user. The reconciled end-user content use activities are made available to authorized end-users and applications by the data warehouse.
  • It can be appreciated that rather than polling the client to request upload of an event tracking log, the client can also be configured to automatically upload event tracking log according to some criteria such as upon reaching a threshold amount of client logging memory use, a periodic time-based criteria, activity based criteria, and so on. [0056]
  • The CAL [0057] 316 provides additional services via respective ones of the notification servers 308. For example, CAL or the notification server may initiate service requests to one or more of the client(s) 118. Such service requests include, for instance, commands to: enable/disable logging at the client, set the desired size of the event tracking log, verify client MAC address, topology reset (forces client 118 to re-register with notification server 308 (FIG. 3)), flush the event tracking log, and so on. In this implementation, each service request is processed by the client in a FIFO order. Client response(s) such as success/failure status, log reports, and so on, are sent back to the requestor.
  • FIG. 4 shows a block diagram of an exemplary client [0058] event tracking log 126. The event tracking log is used by the client device to cache a substantially minimal amount of end-user content presentation and selection event-based information at the client. The event tracking log includes, for example, header 402 and one or more log entries 404 (e.g., 404-1 through 404-N). The size of the event tracking log can be programmatically increased and decreased. The header includes information used by the data warehouse 114 (FIGS. 1 and 3), notification server 308 (FIG. 3), and/or aggregating server 312 (FIG. 3)) and information used by client 118 (i.e., log manager 510 of FIG. 5) for state and event tracking log management. The header includes, for example, the following information: (a) time of the most recent system (client 118) boot; (b) time when the logging buffer was created; (c) time when a first log entry 404 was discarded due to event tracking log overflow; (d) time when a last log entry was discarded due to event tracking log overflow; and (e) total count of log entries discarded; log format version, base system time.
  • [0059] Client 118 concatenates log entries 404 to the end of event tracking log 126 as data is logged. Each log entry includes, for example tag(s) 406, time stamp 408, and data 410. The tag data field consists of a set of data specific to each log entry. This data is used to both identify the particular application and version (i.e., a program module 506 of FIG. 5) logging the data, and to characterize data 410. Such data characterizations include, for example, an application index, a data class indication, a data type indication, and a data size indication. The application index of the tag data field contains a reference to the application index in the client's log manager's application lookup table (i.e., “other data 520 of FIG. 5). The application lookup table includes, for example, an application ID to identify the specific program module and version that is tracking end-user content use. This application ID is used by both the client's log manager (i.e., log manager 510 of FIG. 5) and data warehouse 114 (FIGS. 1 and 3).
  • The data class indication of the [0060] tag data field 406 is used for applications to indicate the specific type of information/event(s) being logged. For example, a walled garden implementation (e.g., navigator 124 presenting transcoded source content 120) may wish to denote some log entries 404 as page views while denoting other entries as click-throughs to facilitate filtering and sorting at data warehouse 114 (FIGS. 1 and 3). The data type indication of the tag data field 406 indicates whether data 410 indicates application specific information (e.g., a channel change or an error such as a failed channel change). The data size of the tag data field indicates the size of data 410.
  • [0061] Time stamp 408 is the least significant word in the 32-bit time stamp of the log entry. Combining this low-order word with the upper 16-bits provided by the base time identified in header 402 (or most recent base time (MSW) entry) provides an absolute log time reference.
  • [0062] Data 410 is the data specific to the particular log entry and will generally follow a pre-defined data format for the specific application tracking the user events (i.e., a program module 506) and type or class of information being logged (application defined/specific).
  • An Exemplary Client Logging Architecture [0063]
  • FIG. 5 shows an exemplary client [0064] 118 (FIGS. 1 and 3) to generate and distribute event logs 126 (FIG. 4) to a remote third party entity such as a data center or a data warehousing server. Since the event logs consist of only a minimal amount of event-based information such as numeric page and link IDs, the event logs are reconciled by the third party entity in view of contextual characteristics of Web content that is mapped by the third party entity to such page and link IDs. To this end, the client represents a source of logging data for the third party entity. Clients may be respectively implemented as one or combinations of different types of data servers such as set-top boxes, HTML gateways, content and advertisement targeting systems, hand-held devices, multiprocessor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, portable communication devices, and so on.
  • Each [0065] client 118 includes processor 502 coupled to memory 504. The memory includes volatile (i.e., random access memory (RAM)) and/or non-volatile memory. The memory includes program modules 506 and program data 508. Program modules typically include routines, programs, objects, components, and so on, for performing particular tasks or implementing particular abstract data types. The processor is configured to fetch and execute computer program instructions from the program modules portion of the memory, and further configured to fetch data from the program data portion of the memory while executing the program modules.
  • [0066] Program modules 506 include navigator 124, log manager 510, and other program modules 512 such as an operating system to provide a run-time environment on client 118. The log manager exposes application programming interface (API) 516 to allow registered applications to log end-user content viewing, navigation, and use events to tracked event log 126 (see also, FIGS. 1 and 4). A registered application is manually or programmatically registered/identified in a configuration data file (e.g., see “other data” 520). Such registered applications include the navigator, ad manager 214, and so on. Tracked events include transcoded source content 120 viewing, navigation, user click-through, advertising page views and impressions, games usage data, detailed television viewing information, and/or the like. Responsive to receiving a poll request 128 (FIG. 1) from a data warehouse server 114 (FIG. 1) or other server (e.g., notification server 308 of FIG. 3), the log manager uploads or commits the tracked events stored in event tracking log 126 the requesting server.
  • Responsive to receiving a cease logging request (one variety of [0067] poll request message 128 of FIG. 1), log manager 510 turns off logging operations (does not track end-user content use events). At this point, the log manager may free any allocated logging buffers (E.g., log entry 404 of FIG. 4), and thereby, increase the amount of memory available for use by other applications. The cease logging request may originate, for example, via user request forwarded from a program module such as from navigator 124 or any “other module” 514. In one implementation, data warehousing server 114 (FIG. 1) or data center 302 (FIG. 3) may send the cease logging request when client 118 is not expected to upload log data to the back-end servers, either because the end-user has not opted-in for logging, because it has been decided that the client will not take part in a particular log polling sample, and so on.
  • Just as [0068] log manager 510 may be directed to cease logging operations via API 516 and/or via poll request 128 (FIG. 1), the log manager may be directed to start or resume logging operations. This can be accomplished via API 516 and/or responsive to receipt of a start/resume logging request (one variety of poll request message 128 of FIG. 1). Responsive to being directed to start/resume logging operations, the log manager stores received end-user content use events to event tracking log 126.
  • [0069] API 516 further provides for dynamically creating, flushing and increasing or decreasing the size of event tracking log(s) 126 at run-time. In one implementation, responsive to receiving an up-load request, log manager 510 passes current event tracking log (event tracking log) 126 to an external agent such as notification server 308 (FIG. 3) for subsequent uploading to data warehousing server 114 (FIGS. 1 and 3). At this point, the log manager creates a new event tracking log 126 for newly received end-user content viewing/navigation event storage.
  • An Exemplary Procedure [0070]
  • FIG. 6 shows an [0071] exemplary procedure 600 to track end-user content viewing and navigation. For purposes of discussion, transcoding, client logging and data warehousing operations are described with respect to FIG. 6. At block 602, substantially unique page and link IDs are generated and assigned to respective ones of Web content pages and navigable links. In one implementation, this operation is performed responsive to receipt of Web content 104 (FIG. 1) by a gateway 204 (FIGS. 2 and 3) in a content distribution facility 102 (FIGS. 1, 2, and 3). At block 604, the Web content is transcoded into stills and interaction model metadata (i.e., transcoded source content 120 of FIGS. 1 and 2). The stills represent respective Web page images. The interaction model metadata identifies hotspot locations and interaction information corresponding to each navigable link on a Web page.
  • At [0072] block 604, a content reference document 110 (FIGS. 1-2 and TABLE 1) is generated from the Web content during transcoding operations. The content reference document maps contextual meaning/characteristics to each of the stills and hotspots in the transcoded Web content 120 (FIGS. 1 and 2). This mapping is accomplished by association of the contextual meaning to corresponding ones of the generated page and link IDs (block 602). At block 606, the transcoded source content is distributed to one or more client computing devices 118 (FIGS. 1 and 5). Although, the interaction model metadata includes the generated page and link IDs, the metadata does not include the contextual characteristics that were extracted from the Web content for insertion into the content reference document during transcoding operations. Thus, the metadata sent to the client includes only that minimal amount of information needed by the client to present and navigate the stills and hotspots in the transcoded source content. At block 608, the content reference document 110 (FIGS. 1 and 2) is communicated to the data warehouse 114 (FIGS. 1 and 3).
  • At [0073] block 610, subsequent to receiving the transcoded source content 120 (FIGS. 1 and 2), and responsive to end user presentation of a still and/or selection of a hotspot, the client the client 118 (FIGS. 1, 3, and 5) logs corresponding ones of the page and/or link IDs to event tracking log 126 (FIGS. 1 and 4). The stills and hotspots are supplied at the client via respective portions of the transcoded source content. At block 612, the client uploads the event tracking log to a data warehouse 114 (FIGS. 1 and 3). The client uploads the event tracking log automatically according to any number of upload criteria and/or responsive to receipt of a polling request 128 (FIG. 1). In one implementation, the client uploads the event tracking log to the data warehouse via notification 308 and aggregating servers 312 (FIG. 3).
  • At [0074] block 614, data warehouse 114 (FIGS. 1 and 3) receives the event tracking log from the client 118 (FIGS. 1, 3, and 5). At block 616, the data warehouse reconciles each page and link ID in the event tracking log to corresponding ones of the contextual characteristics in the content reference document 110 (FIGS. 1, 2, and Table 1). This reconciled information indicates exactly those Web pages and navigable links of that were of interest to the end-user. Since the logged page and link IDs are reconciled with meaning at the data warehouse, content authors and administrators can track end-user navigation and presentation of Web content without concern of overextending the client's processing, memory, and/or data storage resources.
  • At [0075] block 618, the data warehouse 114 (FIGS. 1 and 3) generates a report 116 (FIG. 1) from reconciled end-user content use information. At block 620, the data warehousing server provides external computer access to the report, for example, via an embedded Web server 132 (FIG. 1) and a corresponding Web service.
  • CONCLUSION
  • Systems, apparatus, and methods for tracking end-user content use in a distributed computing environment are described Although the systems, apparatus, and methods have been described in language specific to structural features and methodological operations, the subject matter as defined in the appended claims are not necessarily limited to the specific features or operations described. Rather, the specific features and operations are disclosed as exemplary forms of implementing the claimed subject matter. [0076]

Claims (65)

1. In a distributed computing environment, a method to track end-user Web content viewing and navigation, the method comprising:
generating a document for communication to a data warehouse, the document being generated during Web content transcoding operations, the document comprising: contextual characteristics of Web content interface pages, links within scope of respective ones of the interface pages, and identifiers (IDs) to map the contextual characteristics to specific ones of the interface pages and links; and
distributing transcoded source content representing the Web content to a client, the client being responsive to end-user presentation and navigation of the transcoded source content by recording corresponding ones of the IDs to a log for subsequent uploading to the data warehouse, the data warehouse being configured to map particular ones of the contextual characteristics to corresponding log recorded ID(s) to identify specific ones of the interface pages and the links of interest to the end-user.
2. A method as recited by claim 1, wherein the contextual characteristics comprise content author specific tracking information, and wherein the method further comprises reconciling the content author specific tracking information with the IDs recorded in the log to provide added value to content authors.
3. A method as recited by claim 1, wherein the IDs in the log do not provide enough information by themselves to reconcile end-user content viewing and navigation at the client.
4. A method as recited in claim 1, wherein the contextual characteristics comprise one or more of a master URL for a page of the interface pages, a source URL for an image embedded in the page, a link URL for a link within scope of the page, and a private identifier for an object on the page, context of the private identifier only being understood by a content author or administrative entity.
5. A method as recited in claim 1, wherein the interface pages are HTML Web pages.
6. A method as recited in claim 1, wherein the distributed computing environment is an interactive television entertainment system.
7. A method as recited in claim 1, wherein the client is a Cable television set-top box that is provisioned by a headend.
8. A method as recited in claim 1, wherein the method further comprises polling the client to cause the client to upload the log to the data warehouse.
9. A computer-readable medium comprising computer-program instructions to track end-user content viewing and navigation, the computer-program instructions comprising instructions executable by a processor for:
identifying, by the content distributor, content characteristics of images and hypertext links in Web content; and
distributing, by the content distributor, stills and metadata corresponding to the Web content to a client, the metadata comprising substantially unique identifiers (IDs) that map to respective ones of the images and links, the client being configured, responsive to end-user presentation and navigation of interface objects provided by the stills and metadata, to record corresponding ones of the identifiers to a log, the client further being configured to upload the log to a data warehouse for reconciling the corresponding ones in view of the content characteristics to determine Web content of interest to the end-user.
10. A computer-readable medium as recited in claim 9, wherein the client is further configured to map the corresponding ones of the identifiers to actual Web content of interest the end-user.
11. A computer-readable medium as recited in claim 9, wherein the content characteristics comprise a master URL for the Web content, a source URL for an image on a Web page, a link URL for a link on the Web page, and tracking data.
12. A computer-readable medium as recited in claim 9, wherein the distributed computing environment is an interactive television entertainment system.
13. A computer-readable medium as recited in claim 9, wherein the client is a set-top box.
14. A computer-readable medium as recited in claim 9, further comprising computer-program instructions for polling the client to cause the client to upload the log to the data warehouse.
15. A transcoding server for tracking end-user content viewing and navigation, transcoding server comprising:
a processor; and
a memory coupled to the processor, the memory comprising computer-program instructions executable by the processor for:
identifying content characteristics of Web content; and
distributing data representing the Web content to a client device, the client device being configured, responsive to presentation and navigation of interface objects provided by the data, to record identifiers to a log identifiers, the identifiers substantially uniquely identifying respective ones of the interface objects presented and/or navigated by the end-user, the client device further being configured to upload the log to a data warehouse, the data warehouse being configured to reconcile the identifiers in view the content characteristics to determine Web content of interest to the end-user.
16. A transcoding server as recited in claim 15, wherein the content characteristics comprise a master URL for the Web content, a source URL for an image on a Web page, a link URL for a link on the Web page, and tracking data.
17. A transcoding server as recited in claim 15, wherein the transcoding server is in a head-end of an interactive television entertainment system.
18. A transcoding server as recited in claim 15, wherein the client device is a Cable television set-top box that is provisioned by a headend.
19. A transcoding server as recited in claim 15, further comprising computer-program instructions for polling the client to cause the client to upload the log to the data warehouse.
20. In a distributed computing environment, a computing device to track end-user Web content viewing and navigation at a remote client, the computing device comprising:
means for generating a document for communication to a data warehouse, the document comprising: contextual characteristics of interface pages, links within scope of respective ones of the interface pages, and identifiers (IDs) to map the contextual characteristics to specific ones of the interface pages and links; and
means for distributing data representing the interface pages and corresponding link interaction models to the remote client, responsive to end-user presentation and navigation of the data, the remote client being configured to record corresponding ones of the IDs to a log for subsequent uploading to the data warehouse, the data warehouse being configured to map particular ones of the contextual characteristics to corresponding log recorded ID(s) to identify specific ones of the interface pages and the links of interest to the end-user.
21. In a distributed computing environment, a method to track end-user content viewing and navigation, the method comprising:
receiving transcoded source content comprising stills and hotspots and identifiers to uniquely identity each still and each hotspot;
responsive to end-user presentation a still of the stills, logging a corresponding identifier of the identifiers to an event log;
responsive to end-user selection of a hotspot of the hotspots, recording a corresponding a corresponding identifier of the identifiers to the event log; and
communicating the event log to a data warehousing server for correlation of identifiers in the event log to contextual characteristics of specific portions of Web content represented by the transcoded source content, such a correlation identifying at least actual Web page(s) and/or Hypertext link(s) of interest to the end-user.
22. A method as recited in claim 21, wherein the client is a Cable television set-top box provisioned by a headend.
23. A method as recited in claim 21, wherein recording and logging further comprise:
communicating an event to an exposed client logging application, the event corresponding to end-user selection and/or presentation of a hotspot or a still, the event providing data to substantially uniquely identify the hotspot or the still with respect to each different hotspot of the hotspots and each different still of the stills; and
responsive to receiving the event, storing the data to the event log.
24. A method as recited in claim 21, wherein communicating the event log is performed automatically according to one or more upload criteria, and/or performed responsive to receiving a request for upload.
25. A computer-readable medium comprising computer-program instructions to track end-user content viewing and navigation, the computer-program instructions executable by a processor for:
receiving transcoded source content comprising stills and hotspots and identifiers to uniquely identity each still and each hotspot;
responsive to end-user presentation a still of the stills, logging a corresponding identifier of the identifiers to an event log;
responsive to end-user selection of a hotspot of the hotspots, recording a corresponding a corresponding identifier of the identifiers to the event log; and
communicating the event log to a data warehousing server for correlation of identifiers in the event log to contextual characteristics of specific portions of Web content represented by the transcoded source content, such a correlation identifying Web page(s) and/or Hypertext link(s) of interest to the end-user.
26. A computer-readable medium as recited in claim 25, wherein the client is a Cable television set-top box provisioned by a headend.
27. A computer-readable medium as recited in claim 25, wherein the computer-program instructions for recording and logging further comprise instructions for:
communicating an event to an exposed client logging application, the event corresponding to end-user selection and/or presentation of a hotspot or a still, the event providing data to substantially uniquely identify the hotspot or the still with respect to each different hotspot of the hotspots and each different still of the stills; and
responsive to receiving the event, storing the data to the event log.
28. A computer-readable medium as recited in claim 25, wherein the computer program instructions further comprise instructions for:
receiving an upload request from a data center comprising the data warehouse; and
responsive to receiving the upload request, uploading the event log to the data center.
29. A computer-readable medium as recited in claim 28, wherein the upload request was communicated to the client computing device via an aggregation server in the data center, the aggregation server collecting client event tracking logs from multiple client domains for distribution to the data warehousing server.
30. In a distributed computing environment, a client computing device to track end-user content viewing and navigation of Web content, the client computing device comprising:
a processor; and
a memory coupled to the processor, the memory comprising computer—program instructions executable by the processor for:
receiving transcoded source content comprising stills and hotspots and identifiers to uniquely identity each still and each hotspot;
responsive to end-user presentation a still of the stills, logging a corresponding identifier of the identifiers to an event log;
responsive to end-user selection of a hotspot of the hotspots, recording a corresponding a corresponding identifier of the identifiers to the event log; and
communicating the event log to a data warehousing server for correlation of identifiers in the event log to contextual characteristics of specific portions of Web content represented by the transcoded source content, such a correlation identifying Web page(s) and/or navigable link(s) of interest to the end-user.
31. A client computing device as recited in claim 30, wherein the client is a Cable television set-top box provisioned by a headend.
32. A client computing device as recited in claim 30, wherein the computer-program instructions for recording and logging further comprise instructions for:
communicating an event to an exposed client logging application, the event corresponding to end-user selection and/or presentation of a hotspot or a still, the event providing data to substantially uniquely identify the hotspot or the still with respect to each different hotspot of the hotspots and each different still of the stills; and
responsive to receiving the event, storing the data to the event log.
33. A client computing device as recited in claim 30, wherein the computer program instructions further comprise instructions for:
receiving an upload request from a data center comprising the data warehouse; and
responsive to receiving the upload request, uploading the event log to the data center.
34. In a distributed computing environment, a computing device to assist a data warehousing server to track end-user content viewing and navigation of content at the computing device, the computing device comprising:
means for receiving transcoded source content comprising stills and hotspots and identifiers to uniquely identity each still and each hotspot;
responsive to end-user presentation a still of the stills, means for logging a corresponding identifier of the identifiers to an event log;
responsive to end-user selection of a hotspot of the hotspots, means for recording a corresponding a corresponding identifier of the identifiers to the event log; and
means for communicating the event log to the data warehousing server for correlation of identifiers in the event log to contextual characteristics of specific portions of Web content represented by the transcoded source content, such a correlation identifying Web page(s) and/or Hypertext link(s) of interest to the end-user.
35. In a distributed computing environment, a method to track end-user content viewing and navigation on a remote client device, the method comprising:
receiving, by a data warehousing server, a content reference document from a content distribution facility, the content reference document providing a table-of-contents for a set of Web content, the table-of-contents comprising Web content page and link IDs, a list of Web content images, and Web content meta-tags;
receiving, by the data warehousing server, a list of logged page IDs and logged link IDs from the remote client device, the logged page and the logged link IDs corresponding to stills and hotspots viewed and/or selected by the end-user at the remote client computing device, the logged pages and link IDs representing at least a subset of the page and link IDs in the content reference document; and
mapping the logged page IDs and the logged link IDs to corresponding ones of the page IDs and links IDs in the content reference document, the mapping identifying specific Web pages and navigable links from the Web content of interest to the user.
36. A method as recited in claim 35, wherein mapping further comprises:
determining that a specific Web page of the Web content was of interest to the end-user; and
responsive to determining that the specific Web page was of interest, crediting the specific Web page and each element encapsulated by the specific Web page with a respective impression, encapsulated Web page elements comprising one or more of corresponding image(s) and corresponding navigable links.
37. A method as recited in claim 35, wherein the meta-tags comprise application specific tracking information that is relevant to a Web content author or administrator.
38. A method as recited in claim 35, wherein the stills and hotspots represent an interactive Walled Garden Program.
39. A method as recited in claim 35, after the operation of mapping, the method further comprising providing a requestor with a report indicating the specific Web pages and navigable links of interest to the user.
40. A computer-readable medium comprising computer-program instructions to track end-user content viewing and navigation, the computer-program instructions comprising instructions executable by a processor for:
receiving, by a data warehousing server, a content reference document from a content distribution facility, the content reference document providing a table-of-contents for a set of Web content, the table-of-contents comprising Web content page and link IDs, a list of Web content images, and Web content meta-tags;
receiving, by the data warehousing server, a list of logged page IDs and logged link IDs from the remote client device, the logged page and the logged link IDs corresponding to stills and hotspots viewed and/or selected by the end-user at the remote client computing device, the logged pages and link IDs representing at least a subset of the page and link IDs in the content reference document; and
mapping the logged page IDs and the logged link IDs to corresponding ones of the page IDs and links IDs in the content reference document, the mapping identifying specific Web pages and navigable links from the Web content being of interest to the user.
41. A computer-readable medium as recited in claim 40, wherein mapping further comprises:
determining that a specific Web page of the Web content was of interest to the end-user; and
responsive to determining that the specific Web page was of interest, crediting the specific Web page and each element encapsulated by the specific Web page with a respective impression, encapsulated Web page elements comprising one or more of corresponding image(s) and corresponding navigable links.
42. A computer-readable medium as recited in claim 40, wherein the meta-tags comprise application specific tracking information that is relevant to a Web content author or administrator.
43. A computer-readable medium as recited in claim 40, wherein the stills and hotspots represent an interactive Walled Garden Program.
44. A computer-readable medium as recited in claim 40, after the computer-program instructions for mapping, the computer-program instructions further comprising instructions for providing a requestor with a report indicating the specific Web pages and navigable links of interest to the user.
45. A computer-readable medium as recited in claim 40, after the computer-program instructions for mapping, the computer-program instructions further comprising instructions for:
aggregating specific Web pages and navigable links of interest to multiple end-users into a report; and
providing the report to a requestor.
46. In a distributed computing environment, a data warehousing server to track end-user content viewing and navigation on a remote client device, the data warehousing server comprising:
means for receiving a content reference document from a content distribution facility, the content reference document providing a table-of-contents for a set of Web content, the table-of-contents comprising Web content page and link IDs, a list of Web content images, and Web content meta-tags;
means for receiving a list of logged page IDs and logged link IDs from the remote client device, the logged page and the logged link IDs corresponding to stills and hotspots viewed and/or selected by the end-user at the remote client computing device, the logged pages and link IDs representing at least a subset of the page and link IDs in the content reference document; and
means for mapping the logged page IDs and the logged link IDs to corresponding ones of the page IDs and links IDs in the content reference document, the mapping identifying specific Web pages and navigable links from the Web content being of interest to the user.
47. A method for tracking user Web content viewing and navigation, the method comprising:
identifying, by a content distributor, content characteristics of Web content interface pages and corresponding hypertext links; and
distributing, by the content distributor, data corresponding to the Web content to a remote client;
responsive to user presentation and selection of interface objects provided by the data, recording by the remote client corresponding ones of a group of identifiers to a log, the corresponding ones being used to substantially uniquely identify presented and selected ones of the interface objects;
uploading, by the remote client, the log to a data warehouse; and
reconciling, by the data warehouse, identifiers recorded in the log in view of the content characteristics to determine Web content of interest to the user.
48. A method as recited in claim 47, wherein the distributed computing environment is an interactive television network.
49. A method as recited in claim 47, wherein the content characteristics are a content reference document comprising one or more of a master URL for accessing a Web page, an image URL to access an image of the Web page, a link URL for navigating from/within the Web page, and proprietary Web content tracking information.
50. A method as recited in claim 47, wherein reconciling further comprises:
determining that a specific Web page of the Web content was of interest to the end-user; and
responsive to determining that the specific Web page was of interest, crediting the specific Web page and each element encapsulated by the specific Web page with a respective impression, encapsulated Web page elements comprising one or more of corresponding image(s) and corresponding navigable links.
51. A method as recited in claim 47, wherein the data represent is an interactive Walled Garden Program.
52. A method as recited in claim 47, after reconciling, the method further comprising providing a requestor with a report indicating specific Web pages and navigable links of interest to one or more users.
53. A computer-readable medium comprising computer-program instructions to track end-user content viewing and navigation, the computer-program instructions comprising instructions executable by a processor for:
identifying, by a content distributor, content characteristics of Web content interface pages and corresponding hypertext links; and
distributing, by the content distributor, data corresponding to the Web content to a remote client;
responsive to user presentation and selection of interface objects provided by the data, recording by the remote client corresponding ones of a group of identifiers to a log, the corresponding ones being used to substantially uniquely identify presented and selected ones of the interface objects;
uploading, by the remote client, the log to a data warehouse; and
reconciling, by the data warehouse, identifiers recorded in the log in view of the content characteristics to determine Web content of interest to the user.
54. A computer-readable medium as recited in claim 53, wherein the distributed computing environment is an interactive television network.
55. A computer-readable medium as recited in claim 53, wherein the content characteristics are a content reference document comprising one or more of a master URL for accessing a Web page, an image URL to access an image of the Web page, a link URL for navigating from/within the Web page, and proprietary Web content tracking information.
56. A computer-readable medium as recited in claim 53, wherein the data represent is an interactive Walled Garden Program.
57. A computer-readable medium as recited in claim 53, wherein the computer-program instructions for reconciling further comprise instructions for:
determining that a specific Web page of the Web content was of interest to the end-user; and
responsive to determining that the specific Web page was of interest, crediting the specific Web page and each element encapsulated by the specific Web page with a respective impression, encapsulated Web page elements comprising one or more of corresponding image(s) and corresponding navigable links.
58. A computer-readable medium as recited in claim 53, after the computer-program instructions for reconciling, the computer-program instructions further comprising instructions for providing a requestor with a report indicating specific Web pages and navigable links of interest to one or more users.
59. A computer-readable medium as recited in claim 53, wherein the computer-program instructions for uploading are executed responsive to receipt by the remote client of an upload request from a transcoding server, a notification server, an aggregating server, or the data warehouse.
60. A system for tracking end-user content viewing and navigation, the system comprising:
means for identifying content characteristics of Web content interface pages and corresponding hypertext links; and
means for distributing data corresponding to the Web content to a remote client;
responsive to user presentation and selection of interface objects provided by the data, means for recording by the remote client corresponding ones of a group of identifiers to a log, the corresponding ones being used to substantially uniquely identify presented and selected ones of the interface objects;
means for uploading the log to a device other than the remote client; and
means for reconciling at the device identifiers recorded in the log in view of the content characteristics to determine Web content of interest to the user.
61. A content reference data structure for tracking, by a data warehouse, end-user content viewing and navigation at a client computing device, the content reference data structure comprising:
at least one page instance identifier data field for substantially uniquely identifying a presented MPEG still representing a transcoded Web page;
at least one link instance identifier data field for substantially uniquely identifying a selected hotspot, the selected hotspot representing a hypertext link in the transcoded Web page; and
a master URL data field to identify a World Wide Web address of a Web version of the transcoded Web page.
62. A content reference data structure as recited in claim 61, further comprising a transcode time data field to indicate when the transcoded Web page was converted from Web content to a still and interaction model metadata.
63. A content reference data structure as recited in claim 61, further comprising a tracking data field to provide a source content author that is associated with a Web version of the transcoded Web page, an input area for specifying application and/or end-user tracking information to be reconciled by the data warehouse.
64. A content reference data structure as recited in claim 61, further comprising an image information data field to indicate information extracted from a Web version of the transcoded Web page.
65. A content reference data structure as recited in claim 61, wherein the content reference data structure is for tracking end-user content viewing and navigation of walled garden Web content presented at a client computing device in form of multiple MPEG stills and interaction model metadata.
US10/303,154 2002-11-22 2002-11-22 Tracking end-user content viewing and navigation Expired - Fee Related US7506355B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/303,154 US7506355B2 (en) 2002-11-22 2002-11-22 Tracking end-user content viewing and navigation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/303,154 US7506355B2 (en) 2002-11-22 2002-11-22 Tracking end-user content viewing and navigation

Publications (2)

Publication Number Publication Date
US20040103426A1 true US20040103426A1 (en) 2004-05-27
US7506355B2 US7506355B2 (en) 2009-03-17

Family

ID=32324934

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/303,154 Expired - Fee Related US7506355B2 (en) 2002-11-22 2002-11-22 Tracking end-user content viewing and navigation

Country Status (1)

Country Link
US (1) US7506355B2 (en)

Cited By (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116494A1 (en) * 2001-02-05 2002-08-22 Bryan Kocol Web page link-tracking system
US20040243920A1 (en) * 2003-05-29 2004-12-02 Kabushiki Kaisha Toshiba Document input/output journal management system and method
US20050044350A1 (en) * 2003-08-20 2005-02-24 Eric White System and method for providing a secure connection between networked computers
US20050204022A1 (en) * 2004-03-10 2005-09-15 Keith Johnston System and method for network management XML architectural abstraction
US20050204169A1 (en) * 2004-03-10 2005-09-15 Tonnesen Steven D. System and method for detection of aberrant network behavior by clients of a network access gateway
US20050204031A1 (en) * 2004-03-10 2005-09-15 Keith Johnston System and method for comprehensive code generation for system management
US20060265345A1 (en) * 2005-05-20 2006-11-23 Microsoft Corporation System and method for URL virtualization and mapping
US20060271946A1 (en) * 2005-05-24 2006-11-30 Richard Woundy Method and system of monitoring media units
US20070016665A1 (en) * 2005-07-14 2007-01-18 Grid Nova, Inc. Commercial extensions to web services
US20070294721A1 (en) * 2006-06-20 2007-12-20 Sbc Knowledge Ventures, Lp System and method of providing supplemental video content related to targeted advertisements in a video stream
US20080109841A1 (en) * 2006-10-23 2008-05-08 Ashley Heather Product information display and product linking
US20080172681A1 (en) * 2005-09-26 2008-07-17 James Lawrence Donald Methods and apparatus for metering computer-based media presentation
US20080235368A1 (en) * 2007-03-23 2008-09-25 Sunil Nagaraj System and method for monitoring network traffic
US20090006471A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Exposing Specific Metadata in Digital Images
US20090006474A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Exposing Common Metadata in Digital Images
US20090265243A1 (en) * 2005-12-24 2009-10-22 Brad Karassner System and method for creation, distribution and tracking of advertising via electronic networks
US7665130B2 (en) 2004-03-10 2010-02-16 Eric White System and method for double-capture/double-redirect to a different location
US20100121905A1 (en) * 2008-10-24 2010-05-13 Mcknight Thomas R Visual Content Detection for Computer-Delivered Advertisement Exposure Measurements
US20100121907A1 (en) * 2008-10-24 2010-05-13 Mcknight Thomas R Cooperative Measurement Technique for the Determination of Internet Web Page Exposure and Viewing Behavior
GB2465477A (en) * 2008-11-18 2010-05-26 Thomas R Mcknight Detecting display of content, such as a web page, using identifier codes
US20100153836A1 (en) * 2008-12-16 2010-06-17 Rich Media Club, Llc Content rendering control system and method
US20100153544A1 (en) * 2008-12-16 2010-06-17 Brad Krassner Content rendering control system and method
US20100169977A1 (en) * 2008-12-31 2010-07-01 Tandberg Television, Inc. Systems and methods for providing a license for media content over a network
US20100313161A1 (en) * 2009-06-09 2010-12-09 Le Chevalier Vincent Electronic paper display device event tracking
US20110082719A1 (en) * 2009-10-07 2011-04-07 Tokoni Inc. System and method for determining aggregated tracking metrics for user activities
US20110145398A1 (en) * 2009-12-10 2011-06-16 Sysomos Inc. System and Method for Monitoring Visits to a Target Site
US20110219444A1 (en) * 2004-03-10 2011-09-08 Patrick Turley Dynamically adaptive network firewalls and method, system and computer program product implementing same
US20120017249A1 (en) * 2009-04-03 2012-01-19 Kazunori Ozawa Delivery system, delivery method, conversion apparatus, and program
US8117639B2 (en) 2002-10-10 2012-02-14 Rocksteady Technologies, Llc System and method for providing access control
US20120284665A1 (en) * 2008-01-03 2012-11-08 International Business Machines Corporation Remote active window sensing and reporting feature
US20130024804A1 (en) * 2011-07-20 2013-01-24 International Business Machines Corporation Navigation History Tracking In a Content Viewing Environment
US8402157B2 (en) 2003-08-14 2013-03-19 Rich Media Worldwide, Llc Internet-based system and method for distributing interstitial advertisements
US8543710B2 (en) 2004-03-10 2013-09-24 Rpx Corporation Method and system for controlling network access
JP2014039301A (en) * 2006-04-12 2014-02-27 United Video Properties Inc Interactive media content distribution using separate back channel communications network
WO2012015657A3 (en) * 2010-07-28 2014-03-27 Aol Inc. Systems and methods for managing electronic content
US20140089105A1 (en) * 2005-12-12 2014-03-27 Ebay Inc. Method and system for proxy tracking of third party interactions
US20140214752A1 (en) * 2013-01-31 2014-07-31 Facebook, Inc. Data stream splitting for low-latency data access
US20140282117A1 (en) * 2013-03-15 2014-09-18 Comcast Cable Communications, Llc Active Impression Tracking
US9098571B2 (en) 2011-01-24 2015-08-04 Aol Inc. Systems and methods for analyzing and clustering search queries
US20170323326A1 (en) * 2016-05-03 2017-11-09 Eric Kim Method and systems for determining programmatically expected performances
US20170339435A1 (en) * 2012-07-05 2017-11-23 Comcast Cable Communications, Llc Media Content Redirection
US20180184133A1 (en) * 2015-06-15 2018-06-28 Piksel, Inc. Providing streamed content responsive to request
US10021433B1 (en) * 2015-10-16 2018-07-10 Tribune Broadcasting Company, Llc Video-production system with social-media features
US20180219957A1 (en) * 2014-08-11 2018-08-02 Hewlett-Packard Development Company, L.P. Media hotspot payoffs with alternatives lists
US10083242B2 (en) * 2010-07-30 2018-09-25 International Business Machines Corporation System and method for data-driven web page navigation control
US20190050378A1 (en) * 2017-08-11 2019-02-14 Microsoft Technology Licensing, Llc Serializable and serialized interaction representations
US10362371B2 (en) * 2015-05-26 2019-07-23 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
US10380602B2 (en) 2005-12-24 2019-08-13 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US10380597B2 (en) 2005-12-24 2019-08-13 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US20190313163A1 (en) * 2018-04-05 2019-10-10 Tvu Networks Corporation Remote cloud-based video production system in an environment where there is network delay
US10581957B2 (en) 2013-01-31 2020-03-03 Facebook, Inc. Multi-level data staging for low latency data access
US20200145701A1 (en) * 2016-12-30 2020-05-07 Tivo Solutions Inc. Advanced trick-play modes for streaming video
US10671245B2 (en) 2017-03-29 2020-06-02 Microsoft Technology Licensing, Llc Collection and control of user activity set data and activity set user interface
US10693748B2 (en) 2017-04-12 2020-06-23 Microsoft Technology Licensing, Llc Activity feed service
US10732796B2 (en) 2017-03-29 2020-08-04 Microsoft Technology Licensing, Llc Control of displayed activity information using navigational mnemonics
US10853220B2 (en) 2017-04-12 2020-12-01 Microsoft Technology Licensing, Llc Determining user engagement with software applications
US11195210B2 (en) 2019-08-06 2021-12-07 Duration Media LLC Technologies for content presentation
US11204760B2 (en) 2020-02-20 2021-12-21 Share Edge, Llc Online activity monitoring
US11212431B2 (en) 2018-04-06 2021-12-28 Tvu Networks Corporation Methods and apparatus for remotely controlling a camera in an environment with communication latency
US11443329B2 (en) 2005-12-24 2022-09-13 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US11463747B2 (en) 2018-04-05 2022-10-04 Tvu Networks Corporation Systems and methods for real time control of a remote video production with multiple streams
CN115473839A (en) * 2021-06-11 2022-12-13 北京字跳网络技术有限公司 Data processing method, device and equipment based on buried point and storage medium
US11580088B2 (en) 2017-08-11 2023-02-14 Microsoft Technology Licensing, Llc Creation, management, and transfer of interaction representation sets
US11625741B2 (en) * 2012-07-05 2023-04-11 Share Edge, Llc Systems and methods of sharing promotional information
US11741492B1 (en) 2012-07-05 2023-08-29 Share Edge, Llc Workflow management system for tracking event objects associated with entities and secondary entities
US11910044B1 (en) * 2022-06-30 2024-02-20 Amazon Technologies, Inc. Systems and methods for switching the processing of a live content stream to another datacenter
US20240095400A1 (en) * 2019-11-04 2024-03-21 Hewlett-Packard Development Company, L.P. Anonymization protocols
US11960878B2 (en) 2023-02-21 2024-04-16 Share Edge, Llc Online activity monitoring

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073941A1 (en) * 2002-09-30 2004-04-15 Ludvig Edward A. Systems and methods for dynamic conversion of web content to an interactive walled garden program
US9357256B2 (en) * 2002-12-11 2016-05-31 Broadcom Corporation Third party media channel access in a media exchange network
US7930384B1 (en) * 2003-01-24 2011-04-19 Google, Inc. Encoding ad and/or ad serving information in a click URL
US20040210927A1 (en) * 2003-04-21 2004-10-21 Bahr Charles C. Multicasting systems using distributed user authentication
US8051178B2 (en) * 2003-11-05 2011-11-01 Benefits Technologies, L.L.C. Apparatus and method for remotely sharing information and providing remote interactive assistance via a communications network
US20090119216A1 (en) * 2005-08-05 2009-05-07 Livio Dalla Valle System for rental or sale of multimedia files
US9781071B2 (en) * 2006-06-28 2017-10-03 Nokia Technologies Oy Method, apparatus and computer program product for providing automatic delivery of information to a terminal
US8301784B2 (en) * 2008-01-04 2012-10-30 Csr Technology Inc. Transcoding content for maximizing playback abilities in a switch enabled device
US20110282769A1 (en) * 2009-05-08 2011-11-17 Mcnulty John F Method and System for Quantifying Interactions with Digital Content
US8898217B2 (en) * 2010-05-06 2014-11-25 Apple Inc. Content delivery based on user terminal events
TW201229459A (en) * 2011-01-05 2012-07-16 E Lead Electronic Co Ltd Navigation method with increased accuracy
US9762428B2 (en) 2012-01-11 2017-09-12 Bazaarvoice, Inc. Identifying and assigning metrics to influential user generated content

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215483B1 (en) * 1998-06-17 2001-04-10 Webtv Networks, Inc. Combining real-time and batch mode logical address links
US6311197B2 (en) * 1996-06-03 2001-10-30 Webtv Networks, Inc. Method for downloading a web page to a client for efficient display on a television screen
US6317885B1 (en) * 1997-06-26 2001-11-13 Microsoft Corporation Interactive entertainment and information system using television set-top box
US6338094B1 (en) * 1998-09-08 2002-01-08 Webtv Networks, Inc. Method, device and system for playing a video file in response to selecting a web page link
US20020026642A1 (en) * 1999-12-15 2002-02-28 Augenbraun Joseph E. System and method for broadcasting web pages and other information
US20020059644A1 (en) * 2000-04-24 2002-05-16 Andrade David De Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US6392664B1 (en) * 1998-11-30 2002-05-21 Webtv Networks, Inc. Method and system for presenting television programming and interactive entertainment
US20030041159A1 (en) * 2001-08-17 2003-02-27 David Tinsley Systems and method for presenting customizable multimedia presentations
US20030070170A1 (en) * 2001-09-07 2003-04-10 Eric Lennon Method and apparatus providing an improved electronic program guide in a cable television system
US20050097622A1 (en) * 1998-06-17 2005-05-05 Microsoft Corporation Television/Internet terminal user interface
US20050114881A1 (en) * 1998-09-11 2005-05-26 Philyaw Jeffry J. Method and apparatus for tracking user profile and habits on a global network
US20060053437A1 (en) * 2001-10-18 2006-03-09 Bruner David W Secure method for providing, verifying, and clearing negotiable discount coupons utilizing a distributed processing network
US20060271958A1 (en) * 1998-06-26 2006-11-30 Hitachi, Ltd. TV program selection support system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311197B2 (en) * 1996-06-03 2001-10-30 Webtv Networks, Inc. Method for downloading a web page to a client for efficient display on a television screen
US6317885B1 (en) * 1997-06-26 2001-11-13 Microsoft Corporation Interactive entertainment and information system using television set-top box
US20050097622A1 (en) * 1998-06-17 2005-05-05 Microsoft Corporation Television/Internet terminal user interface
US6215483B1 (en) * 1998-06-17 2001-04-10 Webtv Networks, Inc. Combining real-time and batch mode logical address links
US20060271958A1 (en) * 1998-06-26 2006-11-30 Hitachi, Ltd. TV program selection support system
US6338094B1 (en) * 1998-09-08 2002-01-08 Webtv Networks, Inc. Method, device and system for playing a video file in response to selecting a web page link
US20050114881A1 (en) * 1998-09-11 2005-05-26 Philyaw Jeffry J. Method and apparatus for tracking user profile and habits on a global network
US6392664B1 (en) * 1998-11-30 2002-05-21 Webtv Networks, Inc. Method and system for presenting television programming and interactive entertainment
US20020026642A1 (en) * 1999-12-15 2002-02-28 Augenbraun Joseph E. System and method for broadcasting web pages and other information
US20020059644A1 (en) * 2000-04-24 2002-05-16 Andrade David De Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US20030041159A1 (en) * 2001-08-17 2003-02-27 David Tinsley Systems and method for presenting customizable multimedia presentations
US20030070170A1 (en) * 2001-09-07 2003-04-10 Eric Lennon Method and apparatus providing an improved electronic program guide in a cable television system
US20060053437A1 (en) * 2001-10-18 2006-03-09 Bruner David W Secure method for providing, verifying, and clearing negotiable discount coupons utilizing a distributed processing network

Cited By (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116494A1 (en) * 2001-02-05 2002-08-22 Bryan Kocol Web page link-tracking system
US20090172159A1 (en) * 2001-02-05 2009-07-02 Omniture, Inc. Web Page Link-Tracking System
US7502994B2 (en) * 2001-02-05 2009-03-10 Omniture, Inc. Web page link-tracking system
US8122336B2 (en) * 2001-02-05 2012-02-21 Adobe Systems Incorporated Web page link-tracking system
US8484695B2 (en) 2002-10-10 2013-07-09 Rpx Corporation System and method for providing access control
US8117639B2 (en) 2002-10-10 2012-02-14 Rocksteady Technologies, Llc System and method for providing access control
US20040243920A1 (en) * 2003-05-29 2004-12-02 Kabushiki Kaisha Toshiba Document input/output journal management system and method
US8402157B2 (en) 2003-08-14 2013-03-19 Rich Media Worldwide, Llc Internet-based system and method for distributing interstitial advertisements
US8738796B2 (en) 2003-08-14 2014-05-27 Rich Media Worldwide, Llc Internet-based system and method for distributing interstitial advertisements
US20050044350A1 (en) * 2003-08-20 2005-02-24 Eric White System and method for providing a secure connection between networked computers
US8381273B2 (en) 2003-08-20 2013-02-19 Rpx Corporation System and method for providing a secure connection between networked computers
US8429725B2 (en) 2003-08-20 2013-04-23 Rpx Corporation System and method for providing a secure connection between networked computers
US8543710B2 (en) 2004-03-10 2013-09-24 Rpx Corporation Method and system for controlling network access
US8397282B2 (en) 2004-03-10 2013-03-12 Rpx Corporation Dynamically adaptive network firewalls and method, system and computer program product implementing same
US7665130B2 (en) 2004-03-10 2010-02-16 Eric White System and method for double-capture/double-redirect to a different location
US20050204022A1 (en) * 2004-03-10 2005-09-15 Keith Johnston System and method for network management XML architectural abstraction
US20050204031A1 (en) * 2004-03-10 2005-09-15 Keith Johnston System and method for comprehensive code generation for system management
US8543693B2 (en) 2004-03-10 2013-09-24 Rpx Corporation System and method for detection of aberrant network behavior by clients of a network access gateway
US8019866B2 (en) 2004-03-10 2011-09-13 Rocksteady Technologies, Llc System and method for detection of aberrant network behavior by clients of a network access gateway
US20050204169A1 (en) * 2004-03-10 2005-09-15 Tonnesen Steven D. System and method for detection of aberrant network behavior by clients of a network access gateway
US20110219444A1 (en) * 2004-03-10 2011-09-08 Patrick Turley Dynamically adaptive network firewalls and method, system and computer program product implementing same
US20090300177A1 (en) * 2004-03-10 2009-12-03 Eric White System and Method For Detection of Aberrant Network Behavior By Clients of a Network Access Gateway
US7536391B2 (en) * 2005-05-20 2009-05-19 Microsoft Corporation System and method for URL virtualization and mapping
US20060265345A1 (en) * 2005-05-20 2006-11-23 Microsoft Corporation System and method for URL virtualization and mapping
WO2006127858A3 (en) * 2005-05-24 2009-05-22 Comcast Cable Holdings Llc Method and system of monitoring media units
WO2006127858A2 (en) * 2005-05-24 2006-11-30 Comcast Cable Holdings, Llc Method and system of monitoring media units
US20060271946A1 (en) * 2005-05-24 2006-11-30 Richard Woundy Method and system of monitoring media units
US20070016665A1 (en) * 2005-07-14 2007-01-18 Grid Nova, Inc. Commercial extensions to web services
US7908316B2 (en) * 2005-07-14 2011-03-15 Grid Nova, Inc. Commercial extensions to web services
US20080172681A1 (en) * 2005-09-26 2008-07-17 James Lawrence Donald Methods and apparatus for metering computer-based media presentation
US9209917B2 (en) 2005-09-26 2015-12-08 The Nielsen Company (Us), Llc Methods and apparatus for metering computer-based media presentation
US10521827B2 (en) * 2005-12-12 2019-12-31 Ebay Inc. Method and system for proxy tracking of third party interactions
US11803878B2 (en) 2005-12-12 2023-10-31 Ebay Inc. Method and system for proxy tracking of third party interactions
US20140089105A1 (en) * 2005-12-12 2014-03-27 Ebay Inc. Method and system for proxy tracking of third party interactions
US11004090B2 (en) 2005-12-24 2021-05-11 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US11741482B2 (en) 2005-12-24 2023-08-29 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US20090265243A1 (en) * 2005-12-24 2009-10-22 Brad Karassner System and method for creation, distribution and tracking of advertising via electronic networks
US11468453B2 (en) 2005-12-24 2022-10-11 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US11443329B2 (en) 2005-12-24 2022-09-13 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US10380597B2 (en) 2005-12-24 2019-08-13 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US10380602B2 (en) 2005-12-24 2019-08-13 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
JP2014039301A (en) * 2006-04-12 2014-02-27 United Video Properties Inc Interactive media content distribution using separate back channel communications network
US20070294721A1 (en) * 2006-06-20 2007-12-20 Sbc Knowledge Ventures, Lp System and method of providing supplemental video content related to targeted advertisements in a video stream
US20080109841A1 (en) * 2006-10-23 2008-05-08 Ashley Heather Product information display and product linking
US20080235368A1 (en) * 2007-03-23 2008-09-25 Sunil Nagaraj System and method for monitoring network traffic
US10992762B2 (en) * 2007-03-23 2021-04-27 Verizon Media Inc. Processing link identifiers in click records of a log file
US9912766B2 (en) * 2007-03-23 2018-03-06 Yahoo Holdings, Inc. System and method for identifying a link and generating a link identifier for the link on a webpage
US20180176313A1 (en) * 2007-03-23 2018-06-21 Oath, Inc. System and method for monitoring network traffic
US8775474B2 (en) 2007-06-29 2014-07-08 Microsoft Corporation Exposing common metadata in digital images
US20090006471A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Exposing Specific Metadata in Digital Images
US20090006474A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Exposing Common Metadata in Digital Images
US8918527B2 (en) * 2008-01-03 2014-12-23 International Business Machines Corporation Remote active window sensing and reporting feature
US9706001B2 (en) 2008-01-03 2017-07-11 International Business Machines Corporation Remote active window sensing and reporting feature
US20120284665A1 (en) * 2008-01-03 2012-11-08 International Business Machines Corporation Remote active window sensing and reporting feature
US20100121905A1 (en) * 2008-10-24 2010-05-13 Mcknight Thomas R Visual Content Detection for Computer-Delivered Advertisement Exposure Measurements
US20100121907A1 (en) * 2008-10-24 2010-05-13 Mcknight Thomas R Cooperative Measurement Technique for the Determination of Internet Web Page Exposure and Viewing Behavior
GB2465477A (en) * 2008-11-18 2010-05-26 Thomas R Mcknight Detecting display of content, such as a web page, using identifier codes
US20100153836A1 (en) * 2008-12-16 2010-06-17 Rich Media Club, Llc Content rendering control system and method
US8356247B2 (en) 2008-12-16 2013-01-15 Rich Media Worldwide, Llc Content rendering control system and method
US9824074B2 (en) 2008-12-16 2017-11-21 Rich Media Club, Llc Content rendering control system for a pre-defined area of a content page
US20100153544A1 (en) * 2008-12-16 2010-06-17 Brad Krassner Content rendering control system and method
US8185477B2 (en) * 2008-12-31 2012-05-22 Ericsson Television Inc. Systems and methods for providing a license for media content over a network
US20100169977A1 (en) * 2008-12-31 2010-07-01 Tandberg Television, Inc. Systems and methods for providing a license for media content over a network
US20120017249A1 (en) * 2009-04-03 2012-01-19 Kazunori Ozawa Delivery system, delivery method, conversion apparatus, and program
US20100313161A1 (en) * 2009-06-09 2010-12-09 Le Chevalier Vincent Electronic paper display device event tracking
US8255820B2 (en) * 2009-06-09 2012-08-28 Skiff, Llc Electronic paper display device event tracking
US20110082719A1 (en) * 2009-10-07 2011-04-07 Tokoni Inc. System and method for determining aggregated tracking metrics for user activities
US8843619B2 (en) * 2009-12-10 2014-09-23 Sysomos Inc. System and method for monitoring visits to a target site
US20110145398A1 (en) * 2009-12-10 2011-06-16 Sysomos Inc. System and Method for Monitoring Visits to a Target Site
WO2012015657A3 (en) * 2010-07-28 2014-03-27 Aol Inc. Systems and methods for managing electronic content
US10083242B2 (en) * 2010-07-30 2018-09-25 International Business Machines Corporation System and method for data-driven web page navigation control
US9098571B2 (en) 2011-01-24 2015-08-04 Aol Inc. Systems and methods for analyzing and clustering search queries
US20130024804A1 (en) * 2011-07-20 2013-01-24 International Business Machines Corporation Navigation History Tracking In a Content Viewing Environment
US10582230B2 (en) * 2012-07-05 2020-03-03 Comcast Cable Communications, Llc Media content redirection
US20180338165A1 (en) * 2012-07-05 2018-11-22 Comcast Cable Communications, Llc Media Content Redirection
US11783357B2 (en) 2012-07-05 2023-10-10 Share Edge, Llc Syndicated sharing of promotional information
US11741492B1 (en) 2012-07-05 2023-08-29 Share Edge, Llc Workflow management system for tracking event objects associated with entities and secondary entities
US11625741B2 (en) * 2012-07-05 2023-04-11 Share Edge, Llc Systems and methods of sharing promotional information
US11539989B2 (en) * 2012-07-05 2022-12-27 Comcast Cable Communications, Llc Media content redirection
US11076178B2 (en) * 2012-07-05 2021-07-27 Comcast Cable Communications, Llc Media content redirection
US20170339435A1 (en) * 2012-07-05 2017-11-23 Comcast Cable Communications, Llc Media Content Redirection
US9900628B2 (en) * 2012-07-05 2018-02-20 Comcast Cable Communications, Llc Media content redirection
US10581957B2 (en) 2013-01-31 2020-03-03 Facebook, Inc. Multi-level data staging for low latency data access
US20140214752A1 (en) * 2013-01-31 2014-07-31 Facebook, Inc. Data stream splitting for low-latency data access
US10223431B2 (en) * 2013-01-31 2019-03-05 Facebook, Inc. Data stream splitting for low-latency data access
KR20150114965A (en) * 2013-01-31 2015-10-13 페이스북, 인크. Data stream splitting for low-latency data access
KR101885688B1 (en) * 2013-01-31 2018-08-06 페이스북, 인크. Data stream splitting for low-latency data access
US11614846B2 (en) 2013-03-15 2023-03-28 Comcast Cable Communications, Llc Active impression tracking
US20140282117A1 (en) * 2013-03-15 2014-09-18 Comcast Cable Communications, Llc Active Impression Tracking
US10705669B2 (en) * 2013-03-15 2020-07-07 Comcast Cable Communications, Llc Active impression tracking
US10742749B2 (en) * 2014-08-11 2020-08-11 Hewlett-Packard Development Company, L.P. Media hotspot payoffs with alternatives lists
US20180219957A1 (en) * 2014-08-11 2018-08-02 Hewlett-Packard Development Company, L.P. Media hotspot payoffs with alternatives lists
US11095959B2 (en) * 2015-05-26 2021-08-17 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
US10362371B2 (en) * 2015-05-26 2019-07-23 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
US10674234B2 (en) * 2015-05-26 2020-06-02 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
US20180184133A1 (en) * 2015-06-15 2018-06-28 Piksel, Inc. Providing streamed content responsive to request
US10567822B2 (en) * 2015-06-15 2020-02-18 Piksel, Inc. Providing streamed content responsive to request
US10021433B1 (en) * 2015-10-16 2018-07-10 Tribune Broadcasting Company, Llc Video-production system with social-media features
US10592917B2 (en) * 2016-05-03 2020-03-17 Cox Automotive, Inc. Method and systems for determining programmatically expected performances
US20170323326A1 (en) * 2016-05-03 2017-11-09 Eric Kim Method and systems for determining programmatically expected performances
US11627350B2 (en) * 2016-12-30 2023-04-11 Tivo Solutions Inc. Advanced trick-play modes for streaming video
US20230269409A1 (en) * 2016-12-30 2023-08-24 Tivo Solutions Inc. Advanced trick-play modes for streaming video
US20200145701A1 (en) * 2016-12-30 2020-05-07 Tivo Solutions Inc. Advanced trick-play modes for streaming video
US10732796B2 (en) 2017-03-29 2020-08-04 Microsoft Technology Licensing, Llc Control of displayed activity information using navigational mnemonics
US10671245B2 (en) 2017-03-29 2020-06-02 Microsoft Technology Licensing, Llc Collection and control of user activity set data and activity set user interface
US10853220B2 (en) 2017-04-12 2020-12-01 Microsoft Technology Licensing, Llc Determining user engagement with software applications
US10693748B2 (en) 2017-04-12 2020-06-23 Microsoft Technology Licensing, Llc Activity feed service
US11580088B2 (en) 2017-08-11 2023-02-14 Microsoft Technology Licensing, Llc Creation, management, and transfer of interaction representation sets
US20190050378A1 (en) * 2017-08-11 2019-02-14 Microsoft Technology Licensing, Llc Serializable and serialized interaction representations
US11463747B2 (en) 2018-04-05 2022-10-04 Tvu Networks Corporation Systems and methods for real time control of a remote video production with multiple streams
US11317173B2 (en) * 2018-04-05 2022-04-26 Tvu Networks Corporation Remote cloud-based video production system in an environment where there is network delay
US10966001B2 (en) * 2018-04-05 2021-03-30 Tvu Networks Corporation Remote cloud-based video production system in an environment where there is network delay
US20190313163A1 (en) * 2018-04-05 2019-10-10 Tvu Networks Corporation Remote cloud-based video production system in an environment where there is network delay
US11212431B2 (en) 2018-04-06 2021-12-28 Tvu Networks Corporation Methods and apparatus for remotely controlling a camera in an environment with communication latency
US11587126B2 (en) 2019-08-06 2023-02-21 Duration Media LLC Technologies for content presentation
US11195210B2 (en) 2019-08-06 2021-12-07 Duration Media LLC Technologies for content presentation
US20240095400A1 (en) * 2019-11-04 2024-03-21 Hewlett-Packard Development Company, L.P. Anonymization protocols
US11604639B2 (en) 2020-02-20 2023-03-14 Share Edge, Llc Online activity monitoring
US11204760B2 (en) 2020-02-20 2021-12-21 Share Edge, Llc Online activity monitoring
CN115473839A (en) * 2021-06-11 2022-12-13 北京字跳网络技术有限公司 Data processing method, device and equipment based on buried point and storage medium
US11910044B1 (en) * 2022-06-30 2024-02-20 Amazon Technologies, Inc. Systems and methods for switching the processing of a live content stream to another datacenter
US11960878B2 (en) 2023-02-21 2024-04-16 Share Edge, Llc Online activity monitoring

Also Published As

Publication number Publication date
US7506355B2 (en) 2009-03-17

Similar Documents

Publication Publication Date Title
US7506355B2 (en) Tracking end-user content viewing and navigation
CN103379362B (en) VOD method and system
US8566872B2 (en) Broadcasting system and program contents delivery system
KR100931362B1 (en) Mobile television electronic service guide delivery system
US7761899B2 (en) Systems and methods for packaging, distributing and managing assets in digital cable systems
US20040002896A1 (en) Collection of behavior data on a broadcast data network
US20090125559A1 (en) Method, apparatus and system for creating interest information
JP2006511989A (en) Video on demand management system and method
US20030097408A1 (en) Communication method for message information based on network
US20020087969A1 (en) Interactive TV audience estimation and program rating in real-time using multi level tracking methods, systems and program products
US20020112247A1 (en) Method and system for creation, delivery, and presentation of time-synchronized multimedia presentations
US20150172731A1 (en) Methods and apparatus for providing alternate content
US20040221319A1 (en) Application streamer
CN101159868A (en) Apparatus for receiving adaptive broadcast signal and method thereof
CN101129004B (en) System and method for providing RSS content in a broadcast system
KR20130100342A (en) Systems and methods for providing a network link between broadcast content and content located on a computer network
KR102443060B1 (en) Information processing devices and information processing methods
MX2014012335A (en) Method and system for uniformly marking and identifying placement opportunity locations for facilitating accelerated decision resolution.
CN101184261B (en) Multi-network oriented multimedia information providing and receiving method and system
MX2014012110A (en) Accelerating advertising decision resolution.
KR100653203B1 (en) Personalized recommendation service method in a TV-anytime operation
EP3509310B1 (en) Delivery device, delivery method, receiver, receiving method, program, and content delivery system
KR20170136935A (en) Apparatus and method for providing broadcasting service information in a broadcasting system
CA2321462C (en) Digital interactive delivery system for tv/multimedia/internet with on-demand applications
JPH11306068A (en) Device and method for transmission, device and method for reception and system and method for transmission/ reception

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LUDVIG, EDWARD A.;LOGUE, JAY D.;JENKS, BRUCE;REEL/FRAME:013954/0877;SIGNING DATES FROM 20021122 TO 20030311

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034541/0477

Effective date: 20141014

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20210317