US20120124090A1 - Method and System for Targeted Content Distribution Using Tagged Data Streams - Google Patents
Method and System for Targeted Content Distribution Using Tagged Data Streams Download PDFInfo
- Publication number
- US20120124090A1 US20120124090A1 US13/299,511 US201113299511A US2012124090A1 US 20120124090 A1 US20120124090 A1 US 20120124090A1 US 201113299511 A US201113299511 A US 201113299511A US 2012124090 A1 US2012124090 A1 US 2012124090A1
- Authority
- US
- United States
- Prior art keywords
- content
- tag
- user
- profile
- tags
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
Definitions
- the present invention generally relates to networked media delivery systems. More particularly, the present invention relates to a method and system for targeting content to specific users.
- Computer and television networks have become the predominant communications means by which product vendors communicate information about products to users. Such information may involve advertising, as well as other content such as titles, descriptions, and prices of products such as movies, games, and books for presentation to a user.
- an on-line mall may provide a list of such content items (e.g., books) that is presented to the user so that the user may select items in the list to purchase.
- the book titles, authors, and brief descriptions are the content items.
- Advertisements relate to another type of content that may be transmitted to users.
- a server device typically transmits the content to a client device where the content is presented to the user. Examples of server devices are the “head-end” of a cable service provider or a server computer on the Internet.
- the client device may be a television set-top-box (STB) or a client computer.
- STB television set-top-box
- targeting advertisements With respect to targeting advertisements, traditional targeting techniques focus on reaching as large an audience as possible; i.e., mass media advertising. This mass media advertising strategy seeks to reach the most number of viewers to increase the odds of contacting the ones most likely to purchase the advertised product or service. Since mass media targeting is expensive, other techniques have been developed in an attempt to not only narrow the audience but also target specific users based on an evaluation of related items. For instance, targeting techniques focus on an analysis of the readers of a particular magazine or viewers of a particular television (TV) program. Then advertisers choose whether or not to advertise in conjunction with the related item; i.e., the magazine or the TV program.
- TV television
- More recent methods of targeting content to users have typically involved the server device keeping track of what content a client device uses most and transmitting that type of content to the client device.
- various mechanisms are used to record the viewing habits of a user at a particular client computer.
- the content of the pages viewed is typically analyzed by a server computer to determine what topics are of interest to the user.
- the server places content, such as advertisements or links to other web sites, on the pages viewed by the user based on these particular topics of interest. These advertisements or links are often placed around the primary text or image in a web page and are commonly referred to as “banner ads.”
- the STB records content that is viewed by the user.
- the head-end of the cable service provider polls the STB to determine what topics are of interest to the user of the STB. Based on these topics, the head-end transmits related content; e.g., specific advertisements and the like.
- these methods involve the client device providing the server device with information about the user of the client device. For instance, in the television environment, STBs provide personal user information to the head-end of the cable service provider. Moreover, in order to target the most likely consumer, the server device should be given as much information about the user as possible. Requiring the user's private information to be sent across a network to the server device renders the private information vulnerable to theft and resale to unknown third parties. The moment a user's private information is sent from the client device, how the information is used is essentially out of the user's control. As a result, in typical advertising systems, in order for the user to receive advertisements appropriate for the user, the user must give up some portion of his/her privacy, which is not acceptable to many users.
- the personal information is gleaned via a two-way data communication method that involves multiple polling events. These polling events consume significant server resources and processing time, as well as bandwidth over the communications network. Consequently, the server interaction with the client in order to provide the user with appropriate content is inefficient.
- the present invention relates to a system and method of targeting content, such as advertisements and other content items, to particular types of users without the users divulging any private information over a network server system.
- the system and method involves a server device that tags content based on predetermined criteria and then sends the tagged content to a client device.
- the client device receives the tagged content and uses the tags to filter the content locally based on a predetermined user profile.
- the invention relates to a method of targeting content to a user based on a user profile and content tags.
- Content is delivered to the user's client device.
- Each content item has a tag identifying a classification of the content.
- the client device recognizes and evaluates the tags to score each content item based on a local user profile.
- the content that has a score meeting a predetermined threshold is identified as being appropriate for presentation to the user.
- Appropriate content may then be selected and presented to the user.
- the user profile is a set of tags describing the classifications of content that are most appropriate for the user.
- the profile may be developed based on usage history or demographic information.
- the client device may also have a tag dictionary that may be updated to correspond to a common set of tags utilized by advertisers and/or server devices.
- the invention may be implemented as a computer process, a computing system or as an article of manufacture such as a computer program product.
- the computer program product may be a computer storage medium readable by a computer system and encoding a computer program of instructions for executing a computer process.
- the computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
- FIG. 1 is an exemplary operating environment implementing an embodiment of the present invention.
- FIG. 2 is a computer system suitable for implementing an embodiment of the present invention.
- FIG. 3 is module diagram illustrating exemplary software, hardware, or firmware modules running in the computer system of FIG. 2 .
- FIG. 4 illustrates an exemplary tagged data stream that may be received and processed by the computer system of FIG. 2 and modules of FIG. 3 .
- FIG. 5 illustrates an exemplary portion of tagged content that may be used in an embodiment of the present invention.
- FIG. 6 illustrates another exemplary portion of tagged advertisement content that may be used in an embodiment of the present invention.
- FIG. 7 is a flow diagram illustrating operations carried out in a targeted content distribution system in accordance with an embodiment of the present invention.
- FIG. 8 illustrates an exemplary user interface that may be presented to a user of a client device in an embodiment of the present invention.
- FIG. 9 is a flow diagram illustrating exemplary operations that may be employed by a profile generator for maintaining a user profile, such as the profile shown in FIG. 4 .
- FIG. 10 is a flow diagram illustrating exemplary operations that may be implemented by a filtering module, such as the filtering module shown in FIG. 4 .
- FIG. 11 is a flow diagram illustrating a particular embodiment of correlating, selecting, and notifying operations, such as those shown in FIG. 10 .
- FIG. 12 is a flow diagram illustrating an exemplary process of scoring or correlating tags in accordance with an embodiment of the present invention.
- FIG. 1 illustrates an exemplary operating environment 100 employing an embodiment of the present invention.
- a server device 102 communicates with one or more client devices, such as client device 104 and/or client device 105 , via a communication network 106 .
- Server device 102 transmits media content, such as, but not limited to, video, audio, text, or executable programs, over the communication network 106 to be used by the client devices 104 and/or 105 .
- Each of the client devices 104 and/or 105 has an output device, such as a computer monitor 114 , or a television screen 116 , for presenting user-appropriate media content to the user.
- the server device 102 has memory 108 that stores media content in the form of data streams 110 , 134 , and 136 .
- the server device 102 also stores an associated tag, such as tags 112 , 130 , and 132 , with each data stream 110 , 134 , and 136 , respectively.
- Each of the tags 112 , 130 , and 132 may be unique from the others and may further be associated with user classifications such as user demographics or usage patterns.
- the tags are used by client devices 104 and 105 to filter content; i.e., to determine which data stream to provide to users at the client devices, such as 104 and 105 .
- two or more data streams are transmitted with the tags to the client devices.
- Client devices determine which of the received data streams are appropriate for the user of the client device 104 by analyzing the tag information.
- the client devices 104 and 105 have access to a user profile, such as user profile 118 and 120 that is further used to analyze the tag information to determine which content should be presented.
- the client device 104 is a computer system.
- the communication network 106 may be the Internet communicating Extensible Markup Language (XML) or Hypertext Markup Language (HTML) data to the client device 104 .
- the server device 102 is a web server or an e-commerce application server.
- the user profile 118 comprises tags corresponding to user preferences for content received from the Internet.
- the desktop computer client 104 evaluates the tag 112 and the user profile 118 to determine which data stream 110 , 134 , or 136 is most appropriate for the user. In one embodiment, if the tag 112 is highly correlated with or matches a tag in the user profile 118 , the associated data stream 110 is identified as being appropriate for presentation to the user of the desktop computer client device 104 .
- the client device 105 is a set-top-box (STB).
- the communication network 106 may be a satellite television broadcast network and the server 102 may be a head-end of a cable service provider.
- the cable service provider generally broadcasts programming, advertising, “walled garden” merchandising offers, and other content.
- the media content is broadcasted in the form of data streams 110 , 134 , and 136 and associated tags 112 , 130 , and 132 to the STB 105 .
- the STB 105 evaluates the tags 112 , 130 , and 132 and the STB user profile 120 to determine which of the data streams 110 , 134 , or 136 is most appropriate for the user of the STB 105 .
- the STB 105 presents to the user the data stream(s) that are appropriate to the user based on the user profile 120 .
- FIG. 1 depicts two types of client devices 104 , a personal desktop computer, and 105 , a television set top box (STB), it is to be understood that the client devices 104 and 105 may be any device operable to communicate via the communications network 106 , and operable to receive data streams 110 and tags 112 .
- the client device 104 may be a personal digital assistant (PDA), a laptop computer, or a cellular telephone, among others.
- the communication network 106 may be wireless network, an Ethernet, a local area network (LAN), a wide area network (WAN), or a television broadcast network, among others.
- FIG. 2 illustrates an exemplary system for implementing the invention with a computing device 200 .
- computing device 200 typically includes at least one processing unit 202 and memory 204 .
- memory 204 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two.
- This most basic configuration is illustrated in FIG. 2 by dashed line 206 .
- device 200 may also have additional features/functionality.
- device 200 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated in FIG. 2 by removable storage 208 and non-removable storage 210 .
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- the memory 204 , removable storage 208 and non-removable storage 210 are all examples of computer storage media.
- Computer storage media includes, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable ROM (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by device 200 . Any such computer storage media may be part of device 200 .
- Device 200 may also contain communications connection(s) 212 that allow the device to communicate with other devices.
- Communications connection(s) 212 is an example of communication media.
- Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media.
- wireless media such as acoustic, radio frequency (RF), infrared and other wireless media.
- RF radio frequency
- computer readable media includes both storage media and communication media.
- Device 200 may also have input device(s) 214 such as keyboard, mouse, pen, voice input device, touch input device, remote control unit, etc.
- Output device(s) 216 such as a display, speakers, printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here.
- the computing device 200 is the set-top box 105 .
- the set-top box 105 provides a control interface through which a subscriber makes viewing selections by, e.g., using a remote control unit, a keyboard, or a control panel.
- the set-top box 105 performs the following functions: (1) routes traditional broadcast signals to the connected viewing device; (2) converts media content to a selected video format (e.g., NTSC or PAL) and presents the content to the subscriber; (3) for interactive systems, exchanges messages (including display data) with the server device 102 over distribution network 106 ; (4) receives messages from a subscriber input device, such as a remote control unit; (5) translates video signals from a network-native format into a format that can be used by the viewing device; (6) inserts alphanumeric or graphical information (e.g., program guides, menus, etc.) into the video stream to overlay that information on the video image; and (7) provides graphic or audio feedback to the subscriber.
- Examples of commercially available set-top boxes 105 that satisfy these functions include an SA Explorer 2000 set-top box by Scientific Atlanta, a DCT-5000 set-top box by Motorola/General Instruments, and a Z12C set-top box by Zenith.
- FIG. 3 is a functional block diagram of a client-server system 300 employing an embodiment of the present invention.
- the client-server system 300 provides targeted content to users of the system 300 .
- the content may include advertising and non-advertising content, including, but not limited to, news, games, programming, books, and sports.
- a server 302 transmits media content to a client 304 .
- Media content sent by the server 302 is in a tagged data stream format.
- Data streams at the server 302 are tagged with tags corresponding to classifications of users. Classifications include, but are not limited to, demographics, such as viewing preferences, age, gender, location, and income.
- the tags allow the client device 304 to select among all data received by the client device so that the most appropriate content is provided to the user of the client device 304 .
- the server device 302 includes a retrieving module 306 , a receive module 308 , and a send module 310 .
- the receive module 308 receives requests from the client.
- An example of a request from the client 304 is a Hypertext Transport Protocol Request for an Internet page in on the server 302 .
- the server 302 uses a send module 310 to send multiple, tagged data streams of content to the client 304 .
- the available tagged content is retrieved from a tagged data memory 307 by the retrieving module 306 .
- the tagged data memory 307 contains tagged content items.
- Tagged content items are generally data streams with tags describing predetermined classifications such as demographics categories associated with the data streams.
- the server device 302 may obtain the tagged content items from content providers (e.g., advertisers) that tag the content based on the type of user targeted by the content providers or the server may tag the items itself
- the send module 310 receives the tagged content items from the retrieving module 306 and transmits the tagged content items to the client 304 .
- the server device 302 does not have a receive module 308 , for instance, in some cases, the server device 302 primarily broadcasts content onto a broadcast network (e.g., satellite TV).
- a broadcast network e.g., satellite TV
- an STB 105 connected to the broadcast network receives the broadcasted content, but does not need to send information back to the server device 302 .
- the send module of the client device 302 is not necessary in the broadcast TV/STB implementation.
- the STB 105 simply receives multiple, tagged data streams of content sent by the server device 302 and filters the content locally.
- the client device 304 includes a receive module 312 , which receives the transmitted tagged data streams from the server device 302 .
- the receive module 312 performs all tasks associated with receiving data from the server 302 , including detecting incoming data, and synchronizing to receive the data.
- the receive module 312 sends the tagged data to a storage module 314 , which stores the received tagged data in a tagged data memory 316 .
- the storage module 314 may store the tagged data in any arrangement in the tagged data memory 316 that is suitable for the particular implementation. For example, the storage module 314 may group certain types of content together.
- the storage module 314 may group advertising content together, games content together, movies content together, etc.
- the tagged data will be organized in the tagged data memory 316 in a way to facilitate quick and efficient access but such organization is not necessary.
- the storage module 314 may also pass certain content straight through, without storage, to a user input/output module 318 .
- the user input/output module 318 performs tasks associated with conducting media content to an output device such as a display monitor, speakers, or a printer.
- the user input/output module 318 also performs tasks associated with receiving input from a user, such as mouse clicks, keyboard entry, or remote control entry. While a user inputs data, the user input/output module 318 detects the user input and may transmit the user input to an analysis module 320 for analysis.
- the analysis module 320 evaluates user input to detect patterns in the user input. Based on the detected usage patterns, the analysis module 320 updates a user profile 322 .
- the analysis module 320 also detects events that prompt output of media content. Events that prompt output of media content are generally referred to as insertion events.
- the analysis module 320 may receive these events from the storage module 314 or the user input/output module 320 .
- An event from the storage module 314 may be an advertisement insertion event, which indicates that an ad should be displayed to the user at a predetermined time.
- An advertisement insertion event is a cue tone contained within the network TV broadcast, which may be transmitted along with other media content from the server 302 .
- insertion events that are received from the server 302 may be referred to as external or predetermined events because they arise externally from the client and indicate a predetermined time for display.
- Another type of insertion event that the analysis module 320 may detect is an internal event that arises on the client side.
- An internal insertion event is a user initiated menu selection from a STB navigator, such as the user requesting a list of available television shows, a list of games that are available to play online or the books available via the online bookstore.
- Each list of respective items offered may be tagged by the server system and filtered by the client device so as to optimize the presentation order to the user that would present the item with the highest probability of interest.
- the initial navigator menu presented on the display may be customized automatically by the client device based upon prior user behavior and profile so as to order the list of available activities or actions (e.g., preferences for television program, games, shopping, news, mail, etc), thereby presenting the user with a list best matching their probable activities.
- prior user behavior can be implemented by the client device to exhibit content in a predetermined sequence (e.g., preferred content type displayed first upon user initiation of the device).
- the user when a user turns on the user's television set and STB, the user immediately is presented with content, advertising, programming, etc which matches the user's profile.
- the user may then select a list of options of a certain type of media content. For example, the user may select that a list of games be shown from which the user can choose.
- the analysis module 320 would detect the user's selection of a list of games as an insertion event. A menu of a list of games may then be displayed so the user may select the game that he/she wants to play.
- the analysis module 320 again will receive an insertion event to insert the selected game into the output module.
- the analysis module 320 upon receiving an insertion event, accesses the storage module 314 to identify the most appropriate media content that should be displayed to the user.
- the storage module 314 transmits tagged data to the analysis module 320 , which filters the tagged data using tag information stored in the user profile 322 .
- the analysis module 320 determines which tagged data in the tagged data memory 316 most closely matches tags or tag information in the user profile 322 .
- the tagged data that most closely matches the information in the profile 322 is transmitted to the user input/output module 318 for presentation to the user.
- the content that is presented to the user is the content from the server 302 that most closely matches the user profile 322 , and is thereby the most appropriate for the user's preferences.
- the selection of the most appropriate media content to present to the user is made without transmitting to the server device 302 any or substantially little private user information.
- the media content can be targeted to a user without the user giving up his or her privacy.
- the client device 304 has a send module 324 for sending data, such as requests, to the server device 302 .
- An example of this embodiment is a client computer communicating to a server computer over the Internet, wherein the client computer sends Hypertext Transport Protocol (HTTP) requests to the server computer to browse web pages.
- HTTP Hypertext Transport Protocol
- the client device 304 need not have a send module 324 .
- an example of this embodiment is a STB 105 receiving content from a broadcast TV network.
- the STB 105 does not send requests for data.
- the server device 302 e.g., head-end of a cable service provider
- the server device 302 is constantly broadcasting content on a number of channels that the STB 105 can switch to.
- the STB 105 employs modules such as those depicted in FIG. 3 to complete many intelligent functions, including the collection, storage, exchange, and display of data.
- the STB 105 has a navigator, an operating system, and a memory buffer.
- the operating system is a computer program that, after being initially loaded into the STB 105 by a bootstrap program, manages the other programs, or applications, running on the STB 105 .
- the navigator is a software application running on top of the operating system.
- the navigator is provided by the user I/O module 318 and generates menu screens and accepts viewer menu selections such as movie orders, preview orders, or requests to enter an interactive “walled-garden” environment that may supply news, offer products, etc. Based on these selections, the navigator directs the storage module 314 to deliver the selected program, e.g., the storage module 314 plays the selected movie. In addition, the navigator records viewer selections or event data in memory, such as memory 204 . As is discussed below, the recorded viewer selections or event data may be analyzed by the analysis module 320 to detect usage patterns.
- FIG. 4 is a more detailed functional block diagram of an analysis module such as the analysis module 320 in accordance with aspects of a particular embodiment of the invention.
- the analysis module 320 includes a content insertion engine 402 , a filtering module 404 , and a profile generator 406 .
- the content insertion engine 402 receives data from the storage module 314 and the user I/O module 318 , and determines whether an insertion event occurs. By way of example, for video advertising, the insertion event may be a network cue-tone. If an insertion event does occur, the content insertion engine 402 transmits an insert command to the filtering module 404 to indicate that media content is to be inserted (i.e., presented to the user).
- the filtering module 404 accesses tagged data from the storage module 314 and tags from the profile 322 to filter out inappropriate media content stored in the tagged data memory 316 .
- the filtering module 404 determines which data in the tagged data memory 316 is appropriate for presentation to the user based upon the tagged data's level of similarity to the tags in the profile 322 . Determining the tagged data's level of similarity may be done by scoring each of the tags stored in the tagged data memory 316 . As is discussed below in more detail, scoring the tags in the tagged data memory may involve determining the tags' relative correlation to the tags in the user profile 322 .
- the filtering module 404 transmits a command to the user I/O module 318 to output the appropriate media content.
- the filtering module 404 may send a message to either the user I/O module 318 to get the appropriate content from the storage module 314 .
- the filtering module 404 may transmit a message to the storage module 314 to instruct the storage module 314 to transmit the appropriate content to the user I/O module 318 .
- the profile generator 406 receives data from the user i/o module 318 and updates the profile 322 according to inputs from the user.
- the profile generator 406 dynamically updates the profile 322 based on a history of user inputs so that when the filtering module 404 accesses the profile 322 , the filtering module 404 will filter the tagged data memory 316 based on the most recent user preferences indicated by the profile 322 .
- profiles are static, and/or predetermined Alternatively, the information is not organized.
- the profile generator 406 preferably organizes tags in the profile 322 for fast and efficient access.
- the user profile 322 is preferably stored in memory accessible by one or more microprocessors of the client device 304 .
- the memory that stores the user profile 322 can be any memory medium known in the art, including, but not limited to, Personal Computer Memory Card International Association (PCMCIA) memory, Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable ROM (EEPROM), or hard disc drive memory.
- PCMCIA Personal Computer Memory Card International Association
- RAM Random Access Memory
- ROM Read Only Memory
- EEPROM Electrically Erasable Programmable ROM
- the user profile 322 need not be stored contiguously in memory and may be separated in a memory medium accessible through a file system that maps memory locations to data.
- one or more of the modules shown in FIGS. 3-4 may be integrated on a single integrated circuit in any combination. Alternatively, they may be separately implemented in software or hardware.
- FIG. 5 illustrates a portion of tagged content 500 that may be used in an embodiment of the present invention.
- the portion of tagged content 500 includes tag/content pairs such as pair 504 including a tag, such as tag 506 , and associated content, such as content 508 .
- the content may be any type of content, including, but not limited to, advertisements, and content items containing descriptions (e.g., title, author, price, theme, etc) of content such as books, movies, games, etc.
- Each tag describes its associated content with predefined information.
- the tags 506 , 510 , and 514 have a type identifier 516 , a title identifier 518 , an age identifier 520 , a gender identifier 522 , an income identifier 524 , a location identifier 526 , and a family identifier 528 .
- the identifiers relate to 518 , 520 , 522 , 524 , 526 and 528 what type of viewer the content is appropriate for.
- the tag 510 indicates that the content 512 associated with the tag 510 is an advertisement about Budweiser® beer.
- the tag 510 further indicates that the content 512 is targeted for males from the ages 21 - 55 . Additionally, the tag 510 indicates that the viewer who is targeted may be in any income level, at any location, and have any family characteristics (e.g., kids, married, etc.).
- the tags 506 , 510 , and 514 are appended to the content 508 , 512 , and 515 , respectively by the server 302 .
- the client 304 uses the tags to determine whether the content 508 , 512 , and 515 is appropriate for the user at the client device 304 .
- the client 304 and server 302 utilize a common tag format.
- providers of content to the server device 304 tag the content before making it available to the server 304 .
- the content providers fill in the identifiers, such as type, title, age, gender, income, location, and family, with the identifying data that the provider determines is the best target audience.
- the server device 302 appends the tags to the content.
- the server device 302 is operable to determine what identifying information is most appropriate to the content and fill in each of the identifiers accordingly.
- the server device 302 has a dictionary of identifiers (e.g., type, title, age, gender, etc.) to select from.
- the tags that the client device 304 uses in the user profile 322 have the identifiers (e.g., type, title, age, gender, etc) selected from a common set of identifiers.
- the client device 304 and the server device 302 utilize a common tag format having common identifiers.
- identifiers may change. For example, another identifier, such as “Education Level”, may be added to the tag format.
- the switch to the new tag format at the server device 302 is preferably synchronized with the switch to the new tag format at the client device 304 .
- FIG. 5 illustrates exemplary identifiers in an exemplary format, it is to be understood that any identifiers may be used that effectively target users. It is envisioned, for example, that the “type” identifier may have “subtypes.” This may occur when the type is “movie.” A subtype further classifies the movie into genres such as, but not limited to, westerns, comedy, horror, drama, action, etc.
- tags may include a weight value associated with each identifier, indicating the relative importance of that identifier to the targeting of the content to users.
- FIG. 6 illustrates another exemplary portion of tagged advertisement content that may be used in an embodiment of the present invention.
- Three advertisements 608 , 612 , and 615 are shown with associated tags 606 , 610 , and 614 , respectively.
- Advertisement 608 is identified by its associated tag 606 to be an advertisement for Clinique® products and is directed to females of a middle income and from ages 21-50.
- Advertisement 612 is identified by its associated tag 610 as being an advertisement for Budweiser® products and is directed to males of from ages 21-55, of any income, location, or family arrangement.
- the advertisement 615 is identified by its associated tag 614 as being an advertisement for Blue's Clues® program for children ages 2-7, and a family arrangement with kids.
- the logical operations of the client device 304 and the server device 302 may be implemented as a sequence of computer implemented steps or program modules running on a microprocessor, such as, without limitation, a processor in a personal computer or a computer workstation. It will be understood to those skilled in the art that the client device 304 and the server device 302 of the present invention may also be implemented as interconnected machine logic circuits or circuit modules within a computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the client device 304 and the server device 302 .
- the client device 304 and the server device 302 may be implemented as software modules executed by one or more general purpose computers, such as the general purpose computer 200 illustrated in FIG. 2 . As described in greater detail below, the client device 304 may be employed to receive, store, filter, and present media content, such as movies, games, and/or advertisements. The client device 304 employs computer-readable media for carrying out the various tasks associated with targeting content to the user of the client device 304 .
- FIG. 7 is a chart illustrating operations carried out in a targeted content distribution system in accordance with an embodiment of the present invention.
- a tagging operation 704 tags content items that will be transmitted to the user of the client device 304 .
- the server device 302 may perform the tagging operation.
- an advertiser that provides content to the server device 302 may perform the tagging operation 302 .
- the tagging operation 704 involves associating tags describing relevant classifications with content items.
- a tag includes identifier information for various classifications, such as demographics.
- the tagging operation 704 may involve assigning weighting values to tag identifiers, which indicate a relative importance of each identifier.
- a tag for a beer ad may include age identification information of 21-55, with a relative weight of 1, and an income identification range of $30,000-$100,000, with a relative weight of 0.5.
- the tag indicates that targeting users in the identified income range is of less importance than targeting users in the identified age range.
- an establishing operation 708 establishes a communication connection between a client device 304 and a server device 302 .
- Establishing a communication connection may be carried out using any means known in the art.
- a client computer typically send a request (e.g., a Hypertext Transport Protocol request) to a server computer to request a particular web page identified by a Universal Resource Locator (URL).
- a request e.g., a Hypertext Transport Protocol request
- URL Universal Resource Locator
- a connection may be established in a cable television environment by a set-top-box switching to a channel or transport frequency.
- Many other methods of establishing a communication connection are known in the art and will fall within the scope of the establishing operation 708 .
- the server device 302 then sends data to the client device 304 in a sending operation 712 .
- the data includes more than one of the tagged content items that were tagged in the tagging operation 704 .
- the server may send content items using any transmission protocol known in the art, including, but not limited to, a proprietary protocol. Sending the tagged content may include encoding the tagged content items, packetizing and/or formatting the encoded tagged content items, and modulating a carrier frequency with the packetized data.
- the server may also append a unique client device identifier to the tagged content data such that a particular client device 304 is associated with the tagged content items.
- IP Internet Protocol
- each STB has a unique identifier.
- each client device 304 may be uniquely identified on the network so that the server device 302 may send tagged content items directly to each client device in the sending operation 712 .
- the tagged content items that are sent in the sending operation 712 may be any content, including advertising.
- the server device 302 may send the content items in any order applicable to the implementation. For example, in one implementation it may be most efficient for the server device 302 to send all advertisements in a group; i.e., sequentially, and then all video content items sequentially, followed by all book content items sequentially, and so on.
- the client device 304 receives the tagged content items that were sent in the sending operation 712 .
- the client device 304 is detecting data on the communication network 106 .
- the client device 304 detects tagged content items that are directed at the client device 304 , demodulate, and decode packetized or formatted tagged content items.
- the receiving operation 716 may involve synchronizing to a data signal from the server device 302 .
- the client device 304 may present one or more of the tagged content items to the user.
- the client device 304 may also cache the tagged content items in a caching operation 720 .
- the tagged content items are stored in memory that is accessible by the client device 304 for possible later presentation to the user.
- the tagged content items may be logically stored in memory in any arrangement in the caching operation 720 .
- the caching operation 720 may involve logically storing the tagged content items contiguously in memory as they are received.
- the caching operation 720 may logically group certain types of content (e.g., video content) together in memory.
- the content items are arranged logically in memory, it is to be understood that the physical locations in the memory may not follow the logical arrangement.
- the client device 304 may recognize an indication to insert one or more content items from the cache in a recognizing operation 724 .
- Inserting a content item generally refers to presenting the content item to the user.
- the manner in which the content item is presented to the user is generally related either spatially (e.g., on a display monitor) or temporally (e.g., synchronized in time) to other content that is sent to the client device 304 .
- the client device 304 may receive a cue tone from the head-end, which indicates that an advertisement is to be displayed at a designated time.
- the client device 304 may receive input from the user to display a menu of content items (e.g., games).
- the input from the user is an indication to insert one or more content items (e.g., game content items) in a menu to the user.
- the client device 304 After the client device 304 recognizes an indication to insert content, the client device 304 performs a selecting operation 728 .
- the selecting operation 728 the client device 304 evaluates the tags that were stored in the caching operation 720 based on a user profile (e.g., user profile 322 ), to determine whether one or more of the stored content items is appropriate for presentation to the user. Any method of evaluation may be employed by the client device 304 in the selecting operation 728 to select one or more appropriate content items. In one embodiment, if none of the stored content items are determined to be appropriate in the selecting operation 728 , a default content item may be presented. An exemplary method of evaluation is discussed in detail below in reference to FIGS. 10-12 . In a presenting operation 732 , the client device 304 presents to the user the one or more content items that were identified as appropriate in the selecting operation 728 .
- FIG. 8 illustrates an exemplary user interface 800 that may be presented to a user of a client device 304 in an embodiment of the present invention.
- the user interface 800 includes two menus presented to the user allowing the user to make selections.
- a content type menu 804 presents the user with four types of content from which to choose: movie content 806 , games content 808 , books content 810 , and children's programming content 812 .
- the user may select any of the items listed in the content type menu 804 to obtain a list of content items of the selected content type. As illustrated, the user chooses 816 the games content 808 .
- a games menu 818 is displayed with a list of five available and appropriate games: “Warlords” 820 , “BattleZone” 822 , “BMX Rally” 824 , “Indy Racer” 826 , and “Madden NFL” 828 .
- the user may then select one of the games listed on the games menu 818 to get more information about a particular game.
- Most relevant to the present invention is the process that occurs when the user chooses, at choose operation, 816 one of the games content item 808 .
- a content insertion event arises from the user I/O module 318 .
- the user I/O module 318 sends a message to the content insertion module 402 ( FIG. 4 ) indicating that a list of appropriate games is to be presented to the user. Additionally, the list of games will preferably be sorted in order of user preference.
- the content insertion engine 402 responds by sending a message to the filtering module 404 notifying the filtering module 404 to filter games content items and provide the most appropriate or preferred game.
- the content insertion engine 402 employs the filtering module 404 five times to obtain the five most appropriate game content items available in the tagged data memory 316 .
- the content insertion engine 402 then sends the list of five game content items to the user I/O module 318 for presentation to the user on the games content menu 818 .
- a user profile 322 is established for targeting purposes.
- FIG. 9 describes one exemplary process for establishing the user profile 322 .
- content may be targeted to all users, or all users in a particular category. This is particularly relevant to broadcast TV in which the head-end of the cable service provider may send content to everyone within a particular zip code. Thus, regardless of the user profile 322 , everyone in the zip code would be targeted.
- FIG. 9 is a flow diagram 900 illustrating exemplary steps or operations that may be employed by the profile generator 406 for generating and updating the profile 322 to correspond to user preferences.
- the user upon initial power-up may be prompted to fill out a survey to provide information about the user to the client device 304 .
- a querying operation 902 it is determined whether a survey mode has been entered.
- the survey mode may be entered any number of ways, including a determination that a survey has not yet been filled out, or the user manually selecting a survey mode. If it is determined in the querying operation 902 that the survey mode has been entered, an administering operation 904 administers a survey to the user.
- the user enters demographic or other data that correspond to the user and his/her preferences for content.
- the data entered by the user in the survey is not released from the client device 304 . Rather, the client device 304 uses the survey data to maintain the user profile 322 to provide future content to the user.
- a building operation 906 uses the demographic data entered during the administering operation 904 to generate tags corresponding to the user's selections in the administering operation 904 .
- the tags have identifier information.
- the identifier information generated in the building operation 906 associates the user's survey data with categories of common identifiers discussed in FIG. 5 .
- An updating operation 908 updates the profile 322 with tags that were generated in the building operation 906 .
- query operation 910 determines whether a manual tag input mode has been entered. Querying operation 910 , determines whether the user has selected an option for manually entering specific tags associated with media content that the user prefers (or does not prefer) to be presented. If it is determined in the querying operation 910 that a manual tag input mode has been entered, flow branches YES to presenting operation 912 which presents tag options to the user that the user may select.
- the presenting operation 912 may present tags that have been previously compiled based on tags received from the server device 302 , or the presenting operation 912 may access a directory of tags that is periodically updated in the client device 304 . After the presenting operation presents tag options to the user, the updating operation 908 updates the user profile 322 with the tags selected by the user in the presenting operation 912 .
- the detecting operation 914 may detect any selections, such as, but not limited to, mouse clicks, keyboard entry, or remote control data entry.
- the detecting operation 914 may record the user selections along with other related information such as time of entry, or duration of viewing particular content. For example, in a set-top box implementation, the detecting operation 914 may detect a user selecting a Home Box Office® (HBO®) movie “Band of Brothers”®.
- HBO® Home Box Office®
- the detecting operation 914 records when the user begins watching “Band of Brothers”® as well as when the user changes the channel to another channel, such as a football game on CBS®.
- the collection, over time, of viewing patterns and preferences builds a user profile indicating the relative interest in different genres of content programming, such as sports, movies, dramas, education, children, etc.
- Multiple levels of detail e.g., subtypes can be derived, such as specific types of sports.
- a storing operation stores a tag associated with the user selection.
- all media content, including programming, from the server device 302 includes a tag descriptive of the type of content.
- the tag may be stored for analysis, such as determining a pattern in the user's selections.
- the user profile 322 is then updated in an updating operation 918 .
- the updating operation 918 involves storing the tags of most viewed content in the user profile 322 , preferably in such a way that the tags are quickly accessible.
- operation loops back to the detecting operation 914 wherein subsequent user selections are detected.
- the detecting operation 914 , the storing operation 916 , and the updating operation 918 may be iterated indefinitely until the user turns off the client device 304 .
- FIG. 10 is a flow diagram 1000 illustrating exemplary steps or operations that may be implemented by the filtering module 404 to filter out media content received from the server device 302 that is less preferred by the user.
- a receiving operation 1002 receives a command to insert media content from the content insertion engine 402 .
- a correlating operation 1004 then correlates tags in the user profile 322 with tags from the storage module 314 to determine which tagged data from the storage module is most preferred by the user. In the correlating operation 1004 it is determined whether tags in the storage module 314 are similar to tags in the user profile 322 . In one embodiment, the correlating operation 1004 may determine a level of correlation or matching for each data stream in the storage module 314 .
- the correlating operation 1004 may determine that two tags sufficiently match if at least three identifiers in the tags are the same, even if some other identifiers are different between the tags. If the level of matching is above a predetermined threshold, the data stream may be presented to the user.
- a selecting operation 1006 selects the media content that most closely matches the user profile 322 . If the insertion command received in the receiving operation 1002 is an ad insertion command, the selecting operation 1006 preferably selects one advertisement from the storage module to be presented to the user. If more than one advertisement sufficiently matches a tag in the user profile 322 , the selecting operation 1006 may select an advertisement that has not been presented to the user recently. In a notifying operation 1008 the user I/O module 318 is notified of the media content to be presented to the user that was selected in the selecting operation 1006 .
- FIG. 11 illustrates a detailed embodiment of the correlating, selecting, and notifying operations 1004 , 1006 , and 1008 .
- the analysis module 320 searches the content in the tagged data memory 316 to determine if content is available that is appropriate for the user of the client device 304 .
- the filter module 404 retrieves a tag from the storage module 314 .
- the storage module 314 reads a tag out of the tagged data memory 316 and keeps track of the order of dispensing tags to the filter module 404 .
- the filter module 404 retrieves a tag out of the user profile 322 in another retrieving operation 1108 .
- a comparing operation 1110 the filter module 404 compares the tag from the storage module 314 to the tag from the user profile 322 to determine if the two tags meet a predetermined correlation threshold. Comparing the two tags may be accomplished using any method known in the art and depends on how the tags are encoded in the particular implementation. For example, identifiers in the tags may be encoded as single bits (either on or off). In this example, the comparing operation 1110 may perform a bit-masking operation, which is a computationally efficient way of comparing bits.
- the filter module 404 selects the tag retrieved from the storage module 314 in a selecting operation 1114 .
- the filter module requests the content associated with the selected tag from the storage module 314 and delivers the content to the user I/O module 318 .
- the filter module 404 determines whether anymore tags exist in the user profile.
- the filter module 404 reads the user profile 322 to determine if another tag is available for comparison.
- the filter module 404 retrieves the next tag from the user profile 322 in a retrieving operation 1122 .
- the comparing operation 1110 compares the next user profile tag with the tag retrieved from the storage module 314 .
- the determining operation 1126 determines whether another tag exists in the tagged data memory 316 for comparison.
- the filter module 404 may request another tag from the storage module 314 . If no more tags are in the tagged data memory 316 , the storage module 314 sends back an error message to the filter module 404 . If the storage module 314 identifies another tag in tagged data memory 316 , the storage module 314 sends the tag to the filter module 404 .
- the filter module 404 thereby retrieves the next tag in a retrieving operation 1130 . After the next tag is retrieved from the storage module 314 , operation returns to the retrieving operation 1108 wherein the first tag in the user profile is again retrieved, and the sequence of comparison and retrieval begins again.
- the correlating operation 1004 ends. If the correlating operation 1004 ends without any tags in the tagged data memory 316 meeting the correlation threshold, an error message may be sent to the user I/O module 318 .
- the user I/O module 318 can either display a message that content is not available, or the user I/O module 318 can display predetermined default content.
- FIG. 12 is a flow diagram illustrating an exemplary operations that may be employed in the comparing operation 1110 of FIG. 11 .
- Input to the operation is a tag from the tagged content memory 316 and a tag from the user profile 322 .
- the operational flow of FIG. 12 iterates through identifiers in the tag from the tagged data memory 316 and associated identifiers in the tag from the user profile 322 , determining if the identifying data for the tags matches. After all the identifiers are iterated through, a score is generated that may be used to filter the tag and/or rank the tag in terms of user preference and/or filter the content.
- a weighted average value is set equal to zero. The weighted average value is used to keep track of the score associated with the tag.
- an identifier e.g., type identifier 516 of FIG. 5
- its identifying data e.g., “Game”
- an associated type identifier and its identifying data are retrieved from the user profile tag.
- a comparing operation 1210 it is determined whether the identifying data for the two associated identifiers match. For example, if the type identifying data is “Game” in both the tags, the identifiers match.
- a scoring operation 1214 accumulates a running score associated with the tag from the tagged data memory 316 .
- the scoring operation 1214 involves calculating a weighted average of the identifiers. If, in the comparing operation 1210 , the identifier data of the tagged data memory tag does not match that of the user profile tag, and after the scoring operation 1214 , a determining operation 1226 determines if another identifier remains in the tags to be compared.
- the retrieving operation 1204 retrieves the identifier and its identifying data from the tagged data memory tag. Processing continues as before to compare the corresponding identifier data of the user profile tag. If no more identifiers remain to be processed in the determining operation 1226 , another determining operation 1230 determines if the score computed in the scoring operation 1214 is above a predetermined threshold value. If the score is not above the predetermined threshold value, a return no operation 1234 returns an indicator that the tag from the tagged data memory 316 is not sufficiently correlated to the user profile tag.
- another determining operation 1230 determines if the score computed in the scoring operation 1214 is above a predetermined threshold value. If the score is not above the predetermined threshold value, a return no operation 1234 returns an indicator that the tag from the tagged data memory 316 is not sufficiently correlated to the user profile tag.
- a return yes operation 1238 returns an indication that the tag from the tagged data memory 316 is sufficiently correlated to the user profile tag.
- the score may be returned along with the indicator. The score may be used by the calling module to sort tagged data memory tags according to preference.
- FIGS. 7-12 may be implemented in firm ware in the disc drive or in a computer connected to a disc drive. Additionally, the logical operations of the various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims attached hereto.
Abstract
Description
- This application is a continuation of U.S. Application No. 10/039,062, filed Dec. 31, 2001 (Attorney Docket 01376), now issued as U.S. Patent No. ______, and incorporated herein by reference in its entirety.
- The present invention generally relates to networked media delivery systems. More particularly, the present invention relates to a method and system for targeting content to specific users.
- Computer and television networks have become the predominant communications means by which product vendors communicate information about products to users. Such information may involve advertising, as well as other content such as titles, descriptions, and prices of products such as movies, games, and books for presentation to a user. For example, an on-line mall may provide a list of such content items (e.g., books) that is presented to the user so that the user may select items in the list to purchase. In this case, the book titles, authors, and brief descriptions are the content items. Advertisements relate to another type of content that may be transmitted to users. A server device typically transmits the content to a client device where the content is presented to the user. Examples of server devices are the “head-end” of a cable service provider or a server computer on the Internet. The client device may be a television set-top-box (STB) or a client computer. Regardless of the particular communications environment, a primary goal of product vendors in providing content to users is to reach or target those users who are most likely to purchase the products.
- With respect to targeting advertisements, traditional targeting techniques focus on reaching as large an audience as possible; i.e., mass media advertising. This mass media advertising strategy seeks to reach the most number of viewers to increase the odds of contacting the ones most likely to purchase the advertised product or service. Since mass media targeting is expensive, other techniques have been developed in an attempt to not only narrow the audience but also target specific users based on an evaluation of related items. For instance, targeting techniques focus on an analysis of the readers of a particular magazine or viewers of a particular television (TV) program. Then advertisers choose whether or not to advertise in conjunction with the related item; i.e., the magazine or the TV program. Inherent in these traditional content distribution techniques are the problems of overinclusion (targeting viewers who have no desire to purchase the product or service) and underinclusion (excluding potential consumers). Because these techniques assess consumer interest on the larger scale of program audiences instead of on an individual viewer basis, the techniques will always suffer from the squandered advertising dollars associated with overinclusion and underinclusion.
- Additionally, traditional targeting techniques leave consumers inadequately informed about products that they might want to purchase. Because of overinclusion, consumers are inundated with advertisements for unwanted products. Due to the inundation, the consumers may miss advertisements for products they actually might want. Similarly, as a result of underinclusion, consumers are simply not informed about products they might want. Thus, overinclusion and underinclusion result in consumers' wasted time and energy in becoming informed about products they are not interested in.
- More recent methods of targeting content to users have typically involved the server device keeping track of what content a client device uses most and transmitting that type of content to the client device. For example, on the Internet, various mechanisms are used to record the viewing habits of a user at a particular client computer. The content of the pages viewed is typically analyzed by a server computer to determine what topics are of interest to the user. The server places content, such as advertisements or links to other web sites, on the pages viewed by the user based on these particular topics of interest. These advertisements or links are often placed around the primary text or image in a web page and are commonly referred to as “banner ads.” As another example, in a cable television network using a STB, the STB records content that is viewed by the user. Later, the head-end of the cable service provider polls the STB to determine what topics are of interest to the user of the STB. Based on these topics, the head-end transmits related content; e.g., specific advertisements and the like.
- Unfortunately, these methods involve the client device providing the server device with information about the user of the client device. For instance, in the television environment, STBs provide personal user information to the head-end of the cable service provider. Moreover, in order to target the most likely consumer, the server device should be given as much information about the user as possible. Requiring the user's private information to be sent across a network to the server device renders the private information vulnerable to theft and resale to unknown third parties. The moment a user's private information is sent from the client device, how the information is used is essentially out of the user's control. As a result, in typical advertising systems, in order for the user to receive advertisements appropriate for the user, the user must give up some portion of his/her privacy, which is not acceptable to many users.
- Additionally, with respect to many server devices, the personal information is gleaned via a two-way data communication method that involves multiple polling events. These polling events consume significant server resources and processing time, as well as bandwidth over the communications network. Consequently, the server interaction with the client in order to provide the user with appropriate content is inefficient.
- It is with respect to these and other considerations that the present invention has been developed.
- The present invention relates to a system and method of targeting content, such as advertisements and other content items, to particular types of users without the users divulging any private information over a network server system. The system and method involves a server device that tags content based on predetermined criteria and then sends the tagged content to a client device. The client device receives the tagged content and uses the tags to filter the content locally based on a predetermined user profile.
- In one embodiment, the invention relates to a method of targeting content to a user based on a user profile and content tags. Content is delivered to the user's client device. Each content item has a tag identifying a classification of the content. The client device recognizes and evaluates the tags to score each content item based on a local user profile. The content that has a score meeting a predetermined threshold is identified as being appropriate for presentation to the user. Appropriate content may then be selected and presented to the user. Generally, the user profile is a set of tags describing the classifications of content that are most appropriate for the user. The profile may be developed based on usage history or demographic information. The client device may also have a tag dictionary that may be updated to correspond to a common set of tags utilized by advertisers and/or server devices.
- The invention may be implemented as a computer process, a computing system or as an article of manufacture such as a computer program product. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
- A more complete appreciation of the present invention and its improvements can be obtained by reference to the accompanying drawings, which are briefly summarized below, and to the following detailed description of presently preferred embodiments of the invention, and to the appended claims.
-
FIG. 1 is an exemplary operating environment implementing an embodiment of the present invention. -
FIG. 2 is a computer system suitable for implementing an embodiment of the present invention. -
FIG. 3 is module diagram illustrating exemplary software, hardware, or firmware modules running in the computer system ofFIG. 2 . -
FIG. 4 illustrates an exemplary tagged data stream that may be received and processed by the computer system ofFIG. 2 and modules ofFIG. 3 . -
FIG. 5 illustrates an exemplary portion of tagged content that may be used in an embodiment of the present invention. -
FIG. 6 illustrates another exemplary portion of tagged advertisement content that may be used in an embodiment of the present invention. -
FIG. 7 is a flow diagram illustrating operations carried out in a targeted content distribution system in accordance with an embodiment of the present invention. -
FIG. 8 illustrates an exemplary user interface that may be presented to a user of a client device in an embodiment of the present invention. -
FIG. 9 is a flow diagram illustrating exemplary operations that may be employed by a profile generator for maintaining a user profile, such as the profile shown inFIG. 4 . -
FIG. 10 is a flow diagram illustrating exemplary operations that may be implemented by a filtering module, such as the filtering module shown inFIG. 4 . -
FIG. 11 is a flow diagram illustrating a particular embodiment of correlating, selecting, and notifying operations, such as those shown inFIG. 10 . -
FIG. 12 is a flow diagram illustrating an exemplary process of scoring or correlating tags in accordance with an embodiment of the present invention. - The invention is described in detail below with reference to the figures. When referring to the figures, like structures and elements shown throughout are indicated with like reference numerals.
-
FIG. 1 illustrates an exemplary operating environment 100 employing an embodiment of the present invention. Aserver device 102 communicates with one or more client devices, such asclient device 104 and/orclient device 105, via acommunication network 106.Server device 102 transmits media content, such as, but not limited to, video, audio, text, or executable programs, over thecommunication network 106 to be used by theclient devices 104 and/or 105. Each of theclient devices 104 and/or 105 has an output device, such as acomputer monitor 114, or atelevision screen 116, for presenting user-appropriate media content to the user. - The
server device 102 hasmemory 108 that stores media content in the form of data streams 110, 134, and 136. Theserver device 102 also stores an associated tag, such astags data stream tags client devices client device 104 by analyzing the tag information. Theclient devices user profile - In one embodiment, the
client device 104 is a computer system. In this embodiment, thecommunication network 106 may be the Internet communicating Extensible Markup Language (XML) or Hypertext Markup Language (HTML) data to theclient device 104. In this embodiment theserver device 102 is a web server or an e-commerce application server. Theuser profile 118 comprises tags corresponding to user preferences for content received from the Internet. Upon receipt of adata stream 110 and its associatedtag 112, thedesktop computer client 104 evaluates thetag 112 and theuser profile 118 to determine whichdata stream tag 112 is highly correlated with or matches a tag in theuser profile 118, the associateddata stream 110 is identified as being appropriate for presentation to the user of the desktopcomputer client device 104. - In another embodiment, the
client device 105 is a set-top-box (STB). In this embodiment, thecommunication network 106 may be a satellite television broadcast network and theserver 102 may be a head-end of a cable service provider. The cable service provider generally broadcasts programming, advertising, “walled garden” merchandising offers, and other content. As mentioned above, the media content is broadcasted in the form of data streams 110, 134, and 136 and associatedtags STB 105. TheSTB 105 evaluates thetags STB user profile 120 to determine which of the data streams 110,134, or 136 is most appropriate for the user of theSTB 105. TheSTB 105 presents to the user the data stream(s) that are appropriate to the user based on theuser profile 120. - While
FIG. 1 depicts two types ofclient devices 104, a personal desktop computer, and 105, a television set top box (STB), it is to be understood that theclient devices communications network 106, and operable to receivedata streams 110 and tags 112. By way of example, and not limitation, theclient device 104 may be a personal digital assistant (PDA), a laptop computer, or a cellular telephone, among others. By way of further example, and not limitation, thecommunication network 106 may be wireless network, an Ethernet, a local area network (LAN), a wide area network (WAN), or a television broadcast network, among others. -
FIG. 2 illustrates an exemplary system for implementing the invention with acomputing device 200. In its most basic configuration,computing device 200 typically includes at least oneprocessing unit 202 andmemory 204. Depending on the exact configuration and type of computing device,memory 204 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. This most basic configuration is illustrated inFIG. 2 by dashedline 206. Additionally,device 200 may also have additional features/functionality. For example,device 200 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated inFIG. 2 byremovable storage 208 andnon-removable storage 210. - Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. The
memory 204,removable storage 208 andnon-removable storage 210 are all examples of computer storage media. Computer storage media includes, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable ROM (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed bydevice 200. Any such computer storage media may be part ofdevice 200. -
Device 200 may also contain communications connection(s) 212 that allow the device to communicate with other devices. Communications connection(s) 212 is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media. -
Device 200 may also have input device(s) 214 such as keyboard, mouse, pen, voice input device, touch input device, remote control unit, etc. Output device(s) 216 such as a display, speakers, printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here. - In one embodiment, the
computing device 200 is the set-top box 105. In this particular embodiment, the set-top box 105 provides a control interface through which a subscriber makes viewing selections by, e.g., using a remote control unit, a keyboard, or a control panel. In providing this interface, the set-top box 105 performs the following functions: (1) routes traditional broadcast signals to the connected viewing device; (2) converts media content to a selected video format (e.g., NTSC or PAL) and presents the content to the subscriber; (3) for interactive systems, exchanges messages (including display data) with theserver device 102 overdistribution network 106; (4) receives messages from a subscriber input device, such as a remote control unit; (5) translates video signals from a network-native format into a format that can be used by the viewing device; (6) inserts alphanumeric or graphical information (e.g., program guides, menus, etc.) into the video stream to overlay that information on the video image; and (7) provides graphic or audio feedback to the subscriber. Examples of commercially available set-top boxes 105 that satisfy these functions include an SA Explorer 2000 set-top box by Scientific Atlanta, a DCT-5000 set-top box by Motorola/General Instruments, and a Z12C set-top box by Zenith. -
FIG. 3 is a functional block diagram of a client-server system 300 employing an embodiment of the present invention. As discussed in more detail below, the client-server system 300 provides targeted content to users of thesystem 300. The content may include advertising and non-advertising content, including, but not limited to, news, games, programming, books, and sports. Aserver 302 transmits media content to aclient 304. Media content sent by theserver 302 is in a tagged data stream format. Data streams at theserver 302 are tagged with tags corresponding to classifications of users. Classifications include, but are not limited to, demographics, such as viewing preferences, age, gender, location, and income. The tags allow theclient device 304 to select among all data received by the client device so that the most appropriate content is provided to the user of theclient device 304. - In one embodiment, the
server device 302 includes a retrievingmodule 306, a receivemodule 308, and asend module 310. The receivemodule 308 receives requests from the client. An example of a request from theclient 304 is a Hypertext Transport Protocol Request for an Internet page in on theserver 302. In the response to the request, theserver 302 uses asend module 310 to send multiple, tagged data streams of content to theclient 304. The available tagged content is retrieved from a taggeddata memory 307 by the retrievingmodule 306. The taggeddata memory 307 contains tagged content items. Tagged content items are generally data streams with tags describing predetermined classifications such as demographics categories associated with the data streams. Theserver device 302 may obtain the tagged content items from content providers (e.g., advertisers) that tag the content based on the type of user targeted by the content providers or the server may tag the items itself Thesend module 310 receives the tagged content items from the retrievingmodule 306 and transmits the tagged content items to theclient 304. - In another embodiment, the
server device 302 does not have a receivemodule 308, for instance, in some cases, theserver device 302 primarily broadcasts content onto a broadcast network (e.g., satellite TV). In this embodiment, anSTB 105 connected to the broadcast network receives the broadcasted content, but does not need to send information back to theserver device 302. Thus, as is discussed below, the send module of theclient device 302 is not necessary in the broadcast TV/STB implementation. In this embodiment, theSTB 105 simply receives multiple, tagged data streams of content sent by theserver device 302 and filters the content locally. - The
client device 304 includes a receivemodule 312, which receives the transmitted tagged data streams from theserver device 302. The receivemodule 312 performs all tasks associated with receiving data from theserver 302, including detecting incoming data, and synchronizing to receive the data. The receivemodule 312 sends the tagged data to astorage module 314, which stores the received tagged data in a taggeddata memory 316. Thestorage module 314 may store the tagged data in any arrangement in the taggeddata memory 316 that is suitable for the particular implementation. For example, thestorage module 314 may group certain types of content together. Thestorage module 314 may group advertising content together, games content together, movies content together, etc. Preferably, the tagged data will be organized in the taggeddata memory 316 in a way to facilitate quick and efficient access but such organization is not necessary. Thestorage module 314 may also pass certain content straight through, without storage, to a user input/output module 318. - The user input/
output module 318 performs tasks associated with conducting media content to an output device such as a display monitor, speakers, or a printer. The user input/output module 318 also performs tasks associated with receiving input from a user, such as mouse clicks, keyboard entry, or remote control entry. While a user inputs data, the user input/output module 318 detects the user input and may transmit the user input to ananalysis module 320 for analysis. Theanalysis module 320 evaluates user input to detect patterns in the user input. Based on the detected usage patterns, theanalysis module 320 updates auser profile 322. - For one embodiment, the
analysis module 320 also detects events that prompt output of media content. Events that prompt output of media content are generally referred to as insertion events. Theanalysis module 320 may receive these events from thestorage module 314 or the user input/output module 320. An event from thestorage module 314 may be an advertisement insertion event, which indicates that an ad should be displayed to the user at a predetermined time. One example of an advertisement insertion event is a cue tone contained within the network TV broadcast, which may be transmitted along with other media content from theserver 302. In general, insertion events that are received from theserver 302 may be referred to as external or predetermined events because they arise externally from the client and indicate a predetermined time for display. - Another type of insertion event that the
analysis module 320 may detect is an internal event that arises on the client side. One example of an internal insertion event is a user initiated menu selection from a STB navigator, such as the user requesting a list of available television shows, a list of games that are available to play online or the books available via the online bookstore. Each list of respective items offered may be tagged by the server system and filtered by the client device so as to optimize the presentation order to the user that would present the item with the highest probability of interest. Furthermore, the initial navigator menu presented on the display may be customized automatically by the client device based upon prior user behavior and profile so as to order the list of available activities or actions (e.g., preferences for television program, games, shopping, news, mail, etc), thereby presenting the user with a list best matching their probable activities. Additionally, such prior user behavior can be implemented by the client device to exhibit content in a predetermined sequence (e.g., preferred content type displayed first upon user initiation of the device). - As a specific example, when a user turns on the user's television set and STB, the user immediately is presented with content, advertising, programming, etc which matches the user's profile. The user may then select a list of options of a certain type of media content. For example, the user may select that a list of games be shown from which the user can choose. The
analysis module 320 would detect the user's selection of a list of games as an insertion event. A menu of a list of games may then be displayed so the user may select the game that he/she wants to play. Theanalysis module 320 again will receive an insertion event to insert the selected game into the output module. Theanalysis module 320, upon receiving an insertion event, accesses thestorage module 314 to identify the most appropriate media content that should be displayed to the user. - The
storage module 314 transmits tagged data to theanalysis module 320, which filters the tagged data using tag information stored in theuser profile 322. Theanalysis module 320 determines which tagged data in the taggeddata memory 316 most closely matches tags or tag information in theuser profile 322. The tagged data that most closely matches the information in theprofile 322 is transmitted to the user input/output module 318 for presentation to the user. Thus, the content that is presented to the user is the content from theserver 302 that most closely matches theuser profile 322, and is thereby the most appropriate for the user's preferences. Advantageously, the selection of the most appropriate media content to present to the user is made without transmitting to theserver device 302 any or substantially little private user information. Thus, unlike other systems, the media content can be targeted to a user without the user giving up his or her privacy. - In one embodiment, the
client device 304 has asend module 324 for sending data, such as requests, to theserver device 302. An example of this embodiment is a client computer communicating to a server computer over the Internet, wherein the client computer sends Hypertext Transport Protocol (HTTP) requests to the server computer to browse web pages. - In another embodiment, the
client device 304 need not have asend module 324. As discussed above, an example of this embodiment is aSTB 105 receiving content from a broadcast TV network. In this embodiment, theSTB 105 does not send requests for data. Rather, the server device 302 (e.g., head-end of a cable service provider) is constantly broadcasting content on a number of channels that theSTB 105 can switch to. - With specific reference to an embodiment employing the
STB 105, theSTB 105 employs modules such as those depicted inFIG. 3 to complete many intelligent functions, including the collection, storage, exchange, and display of data. To satisfy these functions, theSTB 105 has a navigator, an operating system, and a memory buffer. The operating system is a computer program that, after being initially loaded into theSTB 105 by a bootstrap program, manages the other programs, or applications, running on theSTB 105. The navigator is a software application running on top of the operating system. The navigator is provided by the user I/O module 318 and generates menu screens and accepts viewer menu selections such as movie orders, preview orders, or requests to enter an interactive “walled-garden” environment that may supply news, offer products, etc. Based on these selections, the navigator directs thestorage module 314 to deliver the selected program, e.g., thestorage module 314 plays the selected movie. In addition, the navigator records viewer selections or event data in memory, such asmemory 204. As is discussed below, the recorded viewer selections or event data may be analyzed by theanalysis module 320 to detect usage patterns. -
FIG. 4 is a more detailed functional block diagram of an analysis module such as theanalysis module 320 in accordance with aspects of a particular embodiment of the invention. Theanalysis module 320 includes acontent insertion engine 402, afiltering module 404, and aprofile generator 406. Thecontent insertion engine 402 receives data from thestorage module 314 and the user I/O module 318, and determines whether an insertion event occurs. By way of example, for video advertising, the insertion event may be a network cue-tone. If an insertion event does occur, thecontent insertion engine 402 transmits an insert command to thefiltering module 404 to indicate that media content is to be inserted (i.e., presented to the user). In response to receiving the insert command, thefiltering module 404 accesses tagged data from thestorage module 314 and tags from theprofile 322 to filter out inappropriate media content stored in the taggeddata memory 316. Thefiltering module 404 determines which data in the taggeddata memory 316 is appropriate for presentation to the user based upon the tagged data's level of similarity to the tags in theprofile 322. Determining the tagged data's level of similarity may be done by scoring each of the tags stored in the taggeddata memory 316. As is discussed below in more detail, scoring the tags in the tagged data memory may involve determining the tags' relative correlation to the tags in theuser profile 322. Thefiltering module 404 transmits a command to the user I/O module 318 to output the appropriate media content. Thefiltering module 404 may send a message to either the user I/O module 318 to get the appropriate content from thestorage module 314. Alternatively, thefiltering module 404 may transmit a message to thestorage module 314 to instruct thestorage module 314 to transmit the appropriate content to the user I/O module 318. - The
profile generator 406 receives data from the user i/o module 318 and updates theprofile 322 according to inputs from the user. Theprofile generator 406 dynamically updates theprofile 322 based on a history of user inputs so that when thefiltering module 404 accesses theprofile 322, thefiltering module 404 will filter the taggeddata memory 316 based on the most recent user preferences indicated by theprofile 322. Alternatively profiles are static, and/or predetermined Alternatively, the information is not organized. Theprofile generator 406 preferably organizes tags in theprofile 322 for fast and efficient access. - The
user profile 322 is preferably stored in memory accessible by one or more microprocessors of theclient device 304. The memory that stores theuser profile 322 can be any memory medium known in the art, including, but not limited to, Personal Computer Memory Card International Association (PCMCIA) memory, Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable ROM (EEPROM), or hard disc drive memory. It should be understood that theuser profile 322 need not be stored contiguously in memory and may be separated in a memory medium accessible through a file system that maps memory locations to data. In practice, one or more of the modules shown inFIGS. 3-4 may be integrated on a single integrated circuit in any combination. Alternatively, they may be separately implemented in software or hardware. -
FIG. 5 illustrates a portion of taggedcontent 500 that may be used in an embodiment of the present invention. The portion of taggedcontent 500 includes tag/content pairs such aspair 504 including a tag, such astag 506, and associated content, such ascontent 508. As discussed above, the content may be any type of content, including, but not limited to, advertisements, and content items containing descriptions (e.g., title, author, price, theme, etc) of content such as books, movies, games, etc. Each tag describes its associated content with predefined information. In one embodiment, thetags type identifier 516, atitle identifier 518, anage identifier 520, agender identifier 522, anincome identifier 524, alocation identifier 526, and afamily identifier 528. The identifiers relate to 518, 520, 522, 524, 526 and 528 what type of viewer the content is appropriate for. - For example, the
tag 510 indicates that thecontent 512 associated with thetag 510 is an advertisement about Budweiser® beer. Thetag 510 further indicates that thecontent 512 is targeted for males from the ages 21-55. Additionally, thetag 510 indicates that the viewer who is targeted may be in any income level, at any location, and have any family characteristics (e.g., kids, married, etc.). Thetags content server 302. Theclient 304 uses the tags to determine whether thecontent client device 304. Theclient 304 andserver 302 utilize a common tag format. - In one embodiment, providers of content to the
server device 304 tag the content before making it available to theserver 304. The content providers fill in the identifiers, such as type, title, age, gender, income, location, and family, with the identifying data that the provider determines is the best target audience. In another embodiment, theserver device 302 appends the tags to the content. In this embodiment theserver device 302 is operable to determine what identifying information is most appropriate to the content and fill in each of the identifiers accordingly. Theserver device 302 has a dictionary of identifiers (e.g., type, title, age, gender, etc.) to select from. The tags that theclient device 304 uses in theuser profile 322 have the identifiers (e.g., type, title, age, gender, etc) selected from a common set of identifiers. Thus, theclient device 304 and theserver device 302 utilize a common tag format having common identifiers. - Over time, identifiers may change. For example, another identifier, such as “Education Level”, may be added to the tag format. When the tag format changes, the switch to the new tag format at the
server device 302 is preferably synchronized with the switch to the new tag format at theclient device 304. WhileFIG. 5 illustrates exemplary identifiers in an exemplary format, it is to be understood that any identifiers may be used that effectively target users. It is envisioned, for example, that the “type” identifier may have “subtypes.” This may occur when the type is “movie.” A subtype further classifies the movie into genres such as, but not limited to, westerns, comedy, horror, drama, action, etc. Another example of subtyping is when the type is “sports.” Subtypes of sports may be football, basketball, baseball, hockey, etc. Subtyping further targets users based on narrower classifications because theuser profile 322 may be dynamically updated to track a user's selections of subtypes. Additionally, as is discussed in more detail below, tags may include a weight value associated with each identifier, indicating the relative importance of that identifier to the targeting of the content to users. -
FIG. 6 illustrates another exemplary portion of tagged advertisement content that may be used in an embodiment of the present invention. Threeadvertisements tags Advertisement 608 is identified by its associatedtag 606 to be an advertisement for Clinique® products and is directed to females of a middle income and from ages 21-50.Advertisement 612 is identified by its associatedtag 610 as being an advertisement for Budweiser® products and is directed to males of from ages 21-55, of any income, location, or family arrangement. Theadvertisement 615 is identified by its associatedtag 614 as being an advertisement for Blue's Clues® program for children ages 2-7, and a family arrangement with kids. - In embodiments described herein, the logical operations of the
client device 304 and theserver device 302 may be implemented as a sequence of computer implemented steps or program modules running on a microprocessor, such as, without limitation, a processor in a personal computer or a computer workstation. It will be understood to those skilled in the art that theclient device 304 and theserver device 302 of the present invention may also be implemented as interconnected machine logic circuits or circuit modules within a computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing theclient device 304 and theserver device 302. The operation, structural devices, acts, and/or modules described herein may be implemented in software, in firmware, in special purpose digital logic, and/or any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims attached hereto. Furthermore, the various software routines or software modules described herein may be implemented by any means known in the art. For example, any number of computer programming languages, such as “C”, “C++”, Pascal, FORTRAN, assembly language, Java, etc., may be used. By way of further example, and not limitation, any scripting language known in the art may be used, such as Korn shell script. Furthermore, various programming approaches such as procedural, object oriented or artificial intelligence techniques may be employed. - The
client device 304 and theserver device 302 may be implemented as software modules executed by one or more general purpose computers, such as thegeneral purpose computer 200 illustrated inFIG. 2 . As described in greater detail below, theclient device 304 may be employed to receive, store, filter, and present media content, such as movies, games, and/or advertisements. Theclient device 304 employs computer-readable media for carrying out the various tasks associated with targeting content to the user of theclient device 304. -
FIG. 7 is a chart illustrating operations carried out in a targeted content distribution system in accordance with an embodiment of the present invention. Initially, atagging operation 704 tags content items that will be transmitted to the user of theclient device 304. Theserver device 302 may perform the tagging operation. Alternatively, an advertiser that provides content to theserver device 302 may perform thetagging operation 302. The taggingoperation 704 involves associating tags describing relevant classifications with content items. As discussed with respect toFIG. 5 , a tag includes identifier information for various classifications, such as demographics. The taggingoperation 704 may involve assigning weighting values to tag identifiers, which indicate a relative importance of each identifier. Thus, for example, in thetagging operation 704, a tag for a beer ad may include age identification information of 21-55, with a relative weight of 1, and an income identification range of $30,000-$100,000, with a relative weight of 0.5. In this example, the tag indicates that targeting users in the identified income range is of less importance than targeting users in the identified age range. - After the content items are tagged, an establishing
operation 708 establishes a communication connection between aclient device 304 and aserver device 302. Establishing a communication connection may be carried out using any means known in the art. By way of example, and not limitation, in an Internet environment a client computer typically send a request (e.g., a Hypertext Transport Protocol request) to a server computer to request a particular web page identified by a Universal Resource Locator (URL). As a further example, a connection may be established in a cable television environment by a set-top-box switching to a channel or transport frequency. Many other methods of establishing a communication connection are known in the art and will fall within the scope of the establishingoperation 708. - The
server device 302 then sends data to theclient device 304 in a sendingoperation 712. The data includes more than one of the tagged content items that were tagged in thetagging operation 704. The server may send content items using any transmission protocol known in the art, including, but not limited to, a proprietary protocol. Sending the tagged content may include encoding the tagged content items, packetizing and/or formatting the encoded tagged content items, and modulating a carrier frequency with the packetized data. In the sendingoperation 712, the server may also append a unique client device identifier to the tagged content data such that aparticular client device 304 is associated with the tagged content items. In a computer Internet environment, the client computer typically has a unique Internet Protocol (IP) address. In a cable television environment, each STB has a unique identifier. In general, eachclient device 304 may be uniquely identified on the network so that theserver device 302 may send tagged content items directly to each client device in the sendingoperation 712. - As discussed above, the tagged content items that are sent in the sending
operation 712 may be any content, including advertising. Theserver device 302 may send the content items in any order applicable to the implementation. For example, in one implementation it may be most efficient for theserver device 302 to send all advertisements in a group; i.e., sequentially, and then all video content items sequentially, followed by all book content items sequentially, and so on. - In a receiving
operation 716, theclient device 304 receives the tagged content items that were sent in the sendingoperation 712. Generally, theclient device 304 is detecting data on thecommunication network 106. In the receivingoperation 716, theclient device 304 detects tagged content items that are directed at theclient device 304, demodulate, and decode packetized or formatted tagged content items. Depending on the particular implementation, the receivingoperation 716 may involve synchronizing to a data signal from theserver device 302. After theclient device 304 receives the tagged content items in the receivingoperation 716, theclient device 304 may present one or more of the tagged content items to the user. Theclient device 304 may also cache the tagged content items in acaching operation 720. - In the
caching operation 720, the tagged content items are stored in memory that is accessible by theclient device 304 for possible later presentation to the user. The tagged content items may be logically stored in memory in any arrangement in thecaching operation 720. For instance, thecaching operation 720 may involve logically storing the tagged content items contiguously in memory as they are received. Alternatively, thecaching operation 720 may logically group certain types of content (e.g., video content) together in memory. However the content items are arranged logically in memory, it is to be understood that the physical locations in the memory may not follow the logical arrangement. - During operation, the
client device 304 may recognize an indication to insert one or more content items from the cache in a recognizingoperation 724. Inserting a content item generally refers to presenting the content item to the user. The manner in which the content item is presented to the user is generally related either spatially (e.g., on a display monitor) or temporally (e.g., synchronized in time) to other content that is sent to theclient device 304. In the recognizing operation 714, in a STB/TV environment, theclient device 304 may receive a cue tone from the head-end, which indicates that an advertisement is to be displayed at a designated time. Also in the STB/TV environment, theclient device 304 may receive input from the user to display a menu of content items (e.g., games). In this case, the input from the user is an indication to insert one or more content items (e.g., game content items) in a menu to the user. - After the
client device 304 recognizes an indication to insert content, theclient device 304 performs a selectingoperation 728. In the selectingoperation 728, theclient device 304 evaluates the tags that were stored in thecaching operation 720 based on a user profile (e.g., user profile 322), to determine whether one or more of the stored content items is appropriate for presentation to the user. Any method of evaluation may be employed by theclient device 304 in the selectingoperation 728 to select one or more appropriate content items. In one embodiment, if none of the stored content items are determined to be appropriate in the selectingoperation 728, a default content item may be presented. An exemplary method of evaluation is discussed in detail below in reference toFIGS. 10-12 . In a presentingoperation 732, theclient device 304 presents to the user the one or more content items that were identified as appropriate in the selectingoperation 728. -
FIG. 8 illustrates anexemplary user interface 800 that may be presented to a user of aclient device 304 in an embodiment of the present invention. Theuser interface 800 includes two menus presented to the user allowing the user to make selections. Acontent type menu 804 presents the user with four types of content from which to choose:movie content 806,games content 808,books content 810, and children'sprogramming content 812. The user may select any of the items listed in thecontent type menu 804 to obtain a list of content items of the selected content type. As illustrated, the user chooses 816 thegames content 808. When the user chooses 816 thegames content 808, agames menu 818 is displayed with a list of five available and appropriate games: “Warlords” 820, “BattleZone” 822, “BMX Rally” 824, “Indy Racer” 826, and “Madden NFL” 828. The user may then select one of the games listed on thegames menu 818 to get more information about a particular game. Most relevant to the present invention is the process that occurs when the user chooses, at choose operation, 816 one of thegames content item 808. - When the user chooses 816 the
games content item 808, a content insertion event arises from the user I/O module 318. The user I/O module 318 sends a message to the content insertion module 402 (FIG. 4 ) indicating that a list of appropriate games is to be presented to the user. Additionally, the list of games will preferably be sorted in order of user preference. Thecontent insertion engine 402 responds by sending a message to thefiltering module 404 notifying thefiltering module 404 to filter games content items and provide the most appropriate or preferred game. In one embodiment, thecontent insertion engine 402 employs thefiltering module 404 five times to obtain the five most appropriate game content items available in the taggeddata memory 316. Thecontent insertion engine 402 then sends the list of five game content items to the user I/O module 318 for presentation to the user on thegames content menu 818. - Generally, prior to filtering content in response to insertion events, a
user profile 322 is established for targeting purposes.FIG. 9 describes one exemplary process for establishing theuser profile 322. However, it is to be understood that in other embodiments, content may be targeted to all users, or all users in a particular category. This is particularly relevant to broadcast TV in which the head-end of the cable service provider may send content to everyone within a particular zip code. Thus, regardless of theuser profile 322, everyone in the zip code would be targeted. -
FIG. 9 is a flow diagram 900 illustrating exemplary steps or operations that may be employed by theprofile generator 406 for generating and updating theprofile 322 to correspond to user preferences. In the embodiment, the user upon initial power-up may be prompted to fill out a survey to provide information about the user to theclient device 304. In aquerying operation 902, it is determined whether a survey mode has been entered. The survey mode may be entered any number of ways, including a determination that a survey has not yet been filled out, or the user manually selecting a survey mode. If it is determined in thequerying operation 902 that the survey mode has been entered, an administeringoperation 904 administers a survey to the user. During the administeringoperation 904, the user enters demographic or other data that correspond to the user and his/her preferences for content. Importantly, the data entered by the user in the survey is not released from theclient device 304. Rather, theclient device 304 uses the survey data to maintain theuser profile 322 to provide future content to the user. - Using the demographic data entered during the administering
operation 904, abuilding operation 906 generates tags corresponding to the user's selections in the administeringoperation 904. As discussed above, the tags have identifier information. The identifier information generated in thebuilding operation 906 associates the user's survey data with categories of common identifiers discussed inFIG. 5 . An updatingoperation 908, updates theprofile 322 with tags that were generated in thebuilding operation 906. - If it is determined that the survey mode has not been entered in the
querying operation 902, flow branches NO to queryoperation 910, which determines whether a manual tag input mode has been entered.Querying operation 910, determines whether the user has selected an option for manually entering specific tags associated with media content that the user prefers (or does not prefer) to be presented. If it is determined in thequerying operation 910 that a manual tag input mode has been entered, flow branches YES to presenting operation 912 which presents tag options to the user that the user may select. The presenting operation 912 may present tags that have been previously compiled based on tags received from theserver device 302, or the presenting operation 912 may access a directory of tags that is periodically updated in theclient device 304. After the presenting operation presents tag options to the user, the updatingoperation 908 updates theuser profile 322 with the tags selected by the user in the presenting operation 912. - If, in the
querying operation 910, it is determined that the manual tag input mode has not been entered, flow branches NO to detectoperation 914 which begins to detect user selections. The detectingoperation 914 may detect any selections, such as, but not limited to, mouse clicks, keyboard entry, or remote control data entry. The detectingoperation 914 may record the user selections along with other related information such as time of entry, or duration of viewing particular content. For example, in a set-top box implementation, the detectingoperation 914 may detect a user selecting a Home Box Office® (HBO®) movie “Band of Brothers”®. The detectingoperation 914 records when the user begins watching “Band of Brothers”® as well as when the user changes the channel to another channel, such as a football game on CBS®. The collection, over time, of viewing patterns and preferences builds a user profile indicating the relative interest in different genres of content programming, such as sports, movies, dramas, education, children, etc. Multiple levels of detail (e.g., subtypes) can be derived, such as specific types of sports. - After the detecting
operation 914 detects a user selection, a storing operation stores a tag associated with the user selection. As discussed, all media content, including programming, from theserver device 302 includes a tag descriptive of the type of content. The tag may be stored for analysis, such as determining a pattern in the user's selections. Theuser profile 322 is then updated in an updatingoperation 918. The updatingoperation 918 involves storing the tags of most viewed content in theuser profile 322, preferably in such a way that the tags are quickly accessible. After theuser profile 322 is updated by the updatingoperation 918, operation loops back to the detectingoperation 914 wherein subsequent user selections are detected. The detectingoperation 914, the storingoperation 916, and the updatingoperation 918 may be iterated indefinitely until the user turns off theclient device 304. -
FIG. 10 is a flow diagram 1000 illustrating exemplary steps or operations that may be implemented by thefiltering module 404 to filter out media content received from theserver device 302 that is less preferred by the user. A receivingoperation 1002 receives a command to insert media content from thecontent insertion engine 402. A correlatingoperation 1004 then correlates tags in theuser profile 322 with tags from thestorage module 314 to determine which tagged data from the storage module is most preferred by the user. In the correlatingoperation 1004 it is determined whether tags in thestorage module 314 are similar to tags in theuser profile 322. In one embodiment, the correlatingoperation 1004 may determine a level of correlation or matching for each data stream in thestorage module 314. For example, the correlatingoperation 1004 may determine that two tags sufficiently match if at least three identifiers in the tags are the same, even if some other identifiers are different between the tags. If the level of matching is above a predetermined threshold, the data stream may be presented to the user. - A selecting
operation 1006 then selects the media content that most closely matches theuser profile 322. If the insertion command received in the receivingoperation 1002 is an ad insertion command, the selectingoperation 1006 preferably selects one advertisement from the storage module to be presented to the user. If more than one advertisement sufficiently matches a tag in theuser profile 322, the selectingoperation 1006 may select an advertisement that has not been presented to the user recently. In a notifyingoperation 1008 the user I/O module 318 is notified of the media content to be presented to the user that was selected in the selectingoperation 1006. -
FIG. 11 illustrates a detailed embodiment of the correlating, selecting, and notifyingoperations analysis module 320 searches the content in the taggeddata memory 316 to determine if content is available that is appropriate for the user of theclient device 304. In a retrievingoperation 1104, thefilter module 404 retrieves a tag from thestorage module 314. In this particular embodiment, thestorage module 314 reads a tag out of the taggeddata memory 316 and keeps track of the order of dispensing tags to thefilter module 404. Thefilter module 404 retrieves a tag out of theuser profile 322 in another retrievingoperation 1108. In a comparingoperation 1110, thefilter module 404 compares the tag from thestorage module 314 to the tag from theuser profile 322 to determine if the two tags meet a predetermined correlation threshold. Comparing the two tags may be accomplished using any method known in the art and depends on how the tags are encoded in the particular implementation. For example, identifiers in the tags may be encoded as single bits (either on or off). In this example, the comparingoperation 1110 may perform a bit-masking operation, which is a computationally efficient way of comparing bits. - If it is determined that the two tags retrieved in
operations filter module 404 selects the tag retrieved from thestorage module 314 in a selectingoperation 1114. In the selectingoperation 1114, the filter module requests the content associated with the selected tag from thestorage module 314 and delivers the content to the user I/O module 318. However, if the two tags compared in the comparingoperation 1110 do not meet the predetermined correlation threshold, thefilter module 404 determines whether anymore tags exist in the user profile. In a determiningoperation 1118, thefilter module 404 reads theuser profile 322 to determine if another tag is available for comparison. If so, thefilter module 404 retrieves the next tag from theuser profile 322 in a retrievingoperation 1122. After the next tag is retrieved from theuser profile 322, the comparingoperation 1110 compares the next user profile tag with the tag retrieved from thestorage module 314. - If, on the other hand, it is determined that no other tags are in the
user profile 322, flow branches NO to determineoperation 1126. The determiningoperation 1126 determines whether another tag exists in the taggeddata memory 316 for comparison. In the determiningoperation 1126, thefilter module 404 may request another tag from thestorage module 314. If no more tags are in the taggeddata memory 316, thestorage module 314 sends back an error message to thefilter module 404. If thestorage module 314 identifies another tag in taggeddata memory 316, thestorage module 314 sends the tag to thefilter module 404. Thefilter module 404 thereby retrieves the next tag in a retrievingoperation 1130. After the next tag is retrieved from thestorage module 314, operation returns to the retrievingoperation 1108 wherein the first tag in the user profile is again retrieved, and the sequence of comparison and retrieval begins again. - If it is determined that no more tags are available in the tagged
data memory 316 in the determiningoperation 1126, or after appropriate content is selected in the selectingoperation 1114, the correlatingoperation 1004 ends. If the correlatingoperation 1004 ends without any tags in the taggeddata memory 316 meeting the correlation threshold, an error message may be sent to the user I/O module 318. The user I/O module 318 can either display a message that content is not available, or the user I/O module 318 can display predetermined default content. -
FIG. 12 is a flow diagram illustrating an exemplary operations that may be employed in the comparingoperation 1110 ofFIG. 11 . Input to the operation is a tag from the taggedcontent memory 316 and a tag from theuser profile 322. In general, the operational flow ofFIG. 12 iterates through identifiers in the tag from the taggeddata memory 316 and associated identifiers in the tag from theuser profile 322, determining if the identifying data for the tags matches. After all the identifiers are iterated through, a score is generated that may be used to filter the tag and/or rank the tag in terms of user preference and/or filter the content. In aninitializing operation 1202, a weighted average value is set equal to zero. The weighted average value is used to keep track of the score associated with the tag. - In a retrieving
operation 1204, an identifier (e.g.,type identifier 516 ofFIG. 5 ) and its identifying data (e.g., “Game”) is retrieved from the tag from the taggeddata memory 316. In another retrievingoperation 1208, an associated type identifier and its identifying data are retrieved from the user profile tag. In a comparingoperation 1210 it is determined whether the identifying data for the two associated identifiers match. For example, if the type identifying data is “Game” in both the tags, the identifiers match. When the identifier data matches, ascoring operation 1214 accumulates a running score associated with the tag from the taggeddata memory 316. In one embodiment, thescoring operation 1214 involves calculating a weighted average of the identifiers. If, in the comparingoperation 1210, the identifier data of the tagged data memory tag does not match that of the user profile tag, and after thescoring operation 1214, a determiningoperation 1226 determines if another identifier remains in the tags to be compared. - If another identifier (e.g.,
title identifier 518 ofFIG. 5 ) remains for comparison, the retrievingoperation 1204 retrieves the identifier and its identifying data from the tagged data memory tag. Processing continues as before to compare the corresponding identifier data of the user profile tag. If no more identifiers remain to be processed in the determiningoperation 1226, another determiningoperation 1230 determines if the score computed in thescoring operation 1214 is above a predetermined threshold value. If the score is not above the predetermined threshold value, a return nooperation 1234 returns an indicator that the tag from the taggeddata memory 316 is not sufficiently correlated to the user profile tag. If the score is above the predetermined threshold value, areturn yes operation 1238 returns an indication that the tag from the taggeddata memory 316 is sufficiently correlated to the user profile tag. In both thereturn operations - The method steps illustrated in
FIGS. 7-12 may be implemented in firm ware in the disc drive or in a computer connected to a disc drive. Additionally, the logical operations of the various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims attached hereto.
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/299,511 US20120124090A1 (en) | 2001-12-31 | 2011-11-18 | Method and System for Targeted Content Distribution Using Tagged Data Streams |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/039,062 US8086491B1 (en) | 2001-12-31 | 2001-12-31 | Method and system for targeted content distribution using tagged data streams |
US13/299,511 US20120124090A1 (en) | 2001-12-31 | 2011-11-18 | Method and System for Targeted Content Distribution Using Tagged Data Streams |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/039,062 Continuation US8086491B1 (en) | 2001-12-31 | 2001-12-31 | Method and system for targeted content distribution using tagged data streams |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120124090A1 true US20120124090A1 (en) | 2012-05-17 |
Family
ID=21903457
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/039,062 Active 2025-06-30 US8086491B1 (en) | 2001-12-31 | 2001-12-31 | Method and system for targeted content distribution using tagged data streams |
US13/299,511 Abandoned US20120124090A1 (en) | 2001-12-31 | 2011-11-18 | Method and System for Targeted Content Distribution Using Tagged Data Streams |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/039,062 Active 2025-06-30 US8086491B1 (en) | 2001-12-31 | 2001-12-31 | Method and system for targeted content distribution using tagged data streams |
Country Status (3)
Country | Link |
---|---|
US (2) | US8086491B1 (en) |
AU (1) | AU2002361906A1 (en) |
WO (1) | WO2003058534A1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120259737A1 (en) * | 2006-03-20 | 2012-10-11 | Sms.Ac | Systems and methods for integration of a music pod system |
US20130054673A1 (en) * | 2011-08-24 | 2013-02-28 | Lg Electronics Inc. | Content device and control method thereof |
US9063631B2 (en) | 2013-03-15 | 2015-06-23 | Chad Dustin TILLMAN | System and method for cooperative sharing of resources of an environment |
US20160171109A1 (en) * | 2014-12-12 | 2016-06-16 | Ebay Inc. | Web content filtering |
US20180060028A1 (en) * | 2016-08-30 | 2018-03-01 | International Business Machines Corporation | Controlling navigation of a visual aid during a presentation |
US10110541B2 (en) * | 2013-10-17 | 2018-10-23 | International Business Machines Corporation | Optimization of posting in social networks using content delivery preferences comprising hashtags that correspond to geography and a content type associated with a desired time window |
US10386933B2 (en) | 2016-08-30 | 2019-08-20 | International Business Machines Corporation | Controlling navigation of a visual aid during a presentation |
US10936281B2 (en) | 2018-12-19 | 2021-03-02 | International Business Machines Corporation | Automatic slide page progression based on verbal and visual cues |
WO2021040767A1 (en) * | 2019-08-26 | 2021-03-04 | Acxiom Llc | Secondary tagging in a data heap |
US11128720B1 (en) | 2010-03-25 | 2021-09-21 | Open Invention Network Llc | Method and system for searching network resources to locate content |
WO2022104205A1 (en) * | 2020-11-13 | 2022-05-19 | Gifted Bill Enterprises, Llc | Gameplay evaluation method and system |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7587323B2 (en) | 2001-12-14 | 2009-09-08 | At&T Intellectual Property I, L.P. | System and method for developing tailored content |
US7739335B2 (en) * | 2000-06-22 | 2010-06-15 | Sony Corporation | Method and apparatus for providing a customized selection of audio content over the internet |
US20110178877A1 (en) | 2001-12-14 | 2011-07-21 | Swix Scott R | Advertising and content management systems and methods |
US7346552B1 (en) * | 2002-04-24 | 2008-03-18 | Cauldron Solutions, Llc | System and method for the enablement of electronic commerce in a content network |
US7818764B2 (en) * | 2002-06-20 | 2010-10-19 | At&T Intellectual Property I, L.P. | System and method for monitoring blocked content |
CA2596930A1 (en) * | 2005-02-07 | 2006-08-10 | Adzilla, Inc. | Method and system of targeting content |
CA2624868C (en) * | 2005-10-07 | 2012-09-04 | Google, Inc. | Indirect subscriptions to user-selected content feeds and top n lists of content feeds |
US7590691B2 (en) | 2005-10-07 | 2009-09-15 | Google Inc. | Indirect subscriptions to top N lists of content feeds |
JP5394229B2 (en) * | 2006-04-20 | 2014-01-22 | クゥアルコム・インコーポレイテッド | Tagging language for broadcast radio |
US8280758B2 (en) | 2006-06-19 | 2012-10-02 | Datonics, Llc | Providing collected profiles to media properties having specified interests |
US7873982B2 (en) * | 2006-06-22 | 2011-01-18 | Tivo Inc. | Method and apparatus for creating and viewing customized multimedia segments |
US7661121B2 (en) * | 2006-06-22 | 2010-02-09 | Tivo, Inc. | In-band data recognition and synchronization system |
US8230361B2 (en) | 2006-09-28 | 2012-07-24 | Google Inc. | Content feed user interface |
WO2008112663A2 (en) | 2007-03-10 | 2008-09-18 | Feeva Technology, Inc. | Method and apparatus for tagging network traffic using extensible fields in message headers |
US7861260B2 (en) | 2007-04-17 | 2010-12-28 | Almondnet, Inc. | Targeted television advertisements based on online behavior |
US8566164B2 (en) | 2007-12-31 | 2013-10-22 | Intent IQ, LLC | Targeted online advertisements based on viewing or interacting with television advertisements |
US20090049390A1 (en) * | 2007-08-17 | 2009-02-19 | Sony Computer Entertainment Inc. | Methods and apparatuses for distributing content based on profile information and rating the content |
US8060634B1 (en) | 2007-09-26 | 2011-11-15 | Google Inc. | Determining and displaying a count of unread items in content feeds |
US10025871B2 (en) | 2007-09-27 | 2018-07-17 | Google Llc | Setting and displaying a read status for items in content feeds |
GB2459640A (en) * | 2008-04-03 | 2009-11-04 | Hewlett Packard Development Co | Selecting content for delivery to a group of users comprising receiving a plurality of user identifier tags |
US9083853B2 (en) | 2008-06-02 | 2015-07-14 | Intent IQ, LLC | Targeted television advertisements associated with online users' preferred television programs or channels |
US8051444B2 (en) | 2008-06-02 | 2011-11-01 | Intent IQ, LLC | Targeted television advertisements selected on the basis of an online user profile and presented with television programs or channels related to that profile |
FR2934392B1 (en) | 2008-07-22 | 2010-08-13 | Jean Patrice Glafkides | METHOD FOR MANAGING OBJECTS ACCESSIBLE TO USERS AND COMPUTER DEVICE IMPLEMENTED BY CARRYING OUT THE METHOD |
US20100070564A1 (en) * | 2008-09-12 | 2010-03-18 | Karsten Ehms | Method and apparatus for bidirectional multiplexing of information channels |
WO2010141939A1 (en) * | 2009-06-05 | 2010-12-09 | Mozaik Multimedia, Inc. | Ecosystem for smart content tagging and interaction |
CN102118401A (en) * | 2009-12-31 | 2011-07-06 | 华为技术有限公司 | Media playing method and system, content transmission network equipment and advertisement server (AS) |
EP2369497A1 (en) * | 2010-02-22 | 2011-09-28 | Research In Motion Limited | Method, system and apparatus for distributing multimedia data |
US20110208835A1 (en) * | 2010-02-22 | 2011-08-25 | Research In Motion Limited | Method, system and apparatus for distributing multimedia data |
US8832559B2 (en) | 2010-06-25 | 2014-09-09 | LeftsnRights, Inc. | Content distribution system and method |
AU2011315836B2 (en) | 2010-10-15 | 2015-11-26 | Intent IQ, LLC | System and methods for selecting television advertisements for a set-top box requesting an advertisement without knowing what program or channel is being watched |
US8997138B2 (en) | 2010-10-15 | 2015-03-31 | Intent IQ, LLC | Correlating online behavior with presumed viewing of television advertisements |
US20120185888A1 (en) * | 2011-01-19 | 2012-07-19 | Sony Corporation | Schema for interests and demographics profile for advanced broadcast services |
KR101951500B1 (en) | 2011-08-03 | 2019-02-22 | 인텐트 아이큐, 엘엘씨 | Targeted television advertising based on profiles linked to multiple online devices |
US20130117464A1 (en) * | 2011-11-03 | 2013-05-09 | Microsoft Corporation | Personalized media filtering based on content |
WO2013184488A1 (en) | 2012-06-05 | 2013-12-12 | Almondnet, Inc. | Targeted television advertising based on a profile linked to an online device associated with a content-selecting device |
US9270515B1 (en) * | 2012-08-15 | 2016-02-23 | Google Inc. | Identifying portions of a media stream |
WO2014116286A2 (en) * | 2013-01-25 | 2014-07-31 | Adaptive Spectrum And Signal Alignment, Inc. | Method and apparatus for cloud services for enhancing broadband experience |
US10229219B2 (en) * | 2015-05-01 | 2019-03-12 | Facebook, Inc. | Systems and methods for demotion of content items in a feed |
US20160342583A1 (en) * | 2015-05-20 | 2016-11-24 | International Business Machines Corporation | Managing electronic message content |
US10067988B2 (en) | 2015-07-21 | 2018-09-04 | Uber Technologies, Inc. | User-based content filtering and ranking to facilitate on-demand services |
US10356456B2 (en) * | 2015-11-05 | 2019-07-16 | Adobe Inc. | Generating customized video previews |
US10798446B2 (en) * | 2018-01-04 | 2020-10-06 | International Business Machines Corporation | Content narrowing of a live feed based on cognitive profiling |
US20190384616A1 (en) * | 2018-06-18 | 2019-12-19 | Muthukrishnan Govindaraj | Method for displaying and changing mobile commerce elements within native application instantly without code build |
WO2020144705A1 (en) * | 2019-01-08 | 2020-07-16 | Semnox Solutions Private Limited | Method and system for managing user profile information across plurality of locations in real time |
US10987592B1 (en) | 2020-06-05 | 2021-04-27 | 12traits, Inc. | Systems and methods to correlate user behavior patterns within an online game with psychological attributes of users |
US11727424B2 (en) | 2021-06-04 | 2023-08-15 | Solsten, Inc. | Systems and methods to correlate user behavior patterns within digital application environments with psychological attributes of users to determine adaptations to the digital application environments |
US20230177205A1 (en) * | 2021-12-08 | 2023-06-08 | Solsten, Inc. | Systems and methods to facilitate management of online subject information |
US20230245175A1 (en) * | 2022-02-03 | 2023-08-03 | Solsten, Inc. | Systems and methods to identify a target audience for prospective content based on a taxonomy |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327574B1 (en) * | 1998-07-07 | 2001-12-04 | Encirq Corporation | Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner |
US7228283B1 (en) * | 2000-04-05 | 2007-06-05 | David Hornstein | Aesthetic profile collection |
Family Cites Families (313)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US677209A (en) * | 1901-02-20 | 1901-06-25 | Charles M Hall | Purified crystalline alumina. |
US3798610A (en) | 1972-12-20 | 1974-03-19 | Ibm | Multiplexed intelligence communications |
US3886302A (en) | 1974-01-28 | 1975-05-27 | Hughes Aircraft Co | Closed circuit television modem sharing system |
US4130833A (en) | 1977-04-11 | 1978-12-19 | Teleglobe Pay-Tv System, Inc. | Pay television system |
GB2027298A (en) | 1978-07-31 | 1980-02-13 | Shiu Hung Cheung | Method of and apparatus for television audience analysis |
US4598288A (en) | 1979-04-16 | 1986-07-01 | Codart, Inc. | Apparatus for controlling the reception of transmitted programs |
US4361851A (en) | 1980-01-04 | 1982-11-30 | Asip William F | System for remote monitoring and data transmission over non-dedicated telephone lines |
DE3036552C2 (en) | 1980-09-27 | 1985-04-25 | Blaupunkt-Werke Gmbh, 3200 Hildesheim | Television reception system |
IT1147780B (en) | 1980-10-27 | 1986-11-26 | Rai Radiotelevisione Italiana | PROCEDURE FOR THE SIMULTANEOUS TRANSMISSION OF MULTIPLE TELEVISION SIGNALS ON A SINGLE RADIO BRIDGE AND EQUIPMENT SUITABLE TO REALIZE THE PROCEDURE |
US4965825A (en) | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
US4566030A (en) | 1983-06-09 | 1986-01-21 | Ctba Associates | Television viewer data collection system |
US4816904A (en) | 1983-06-09 | 1989-03-28 | Control Data Corporation | Television and market research data collection system and method |
US4567591A (en) | 1983-08-01 | 1986-01-28 | Gray James S | Digital audio satellite transmission system |
JPS6096978A (en) | 1983-10-31 | 1985-05-30 | Clarion Co Ltd | Chargeable television system |
US4890322A (en) | 1984-02-23 | 1989-12-26 | American Telephone And Telegraph Company | Method and apparatus for subscription broadcast |
US4602279A (en) | 1984-03-21 | 1986-07-22 | Actv, Inc. | Method for providing targeted profile interactive CATV displays |
US4697209A (en) | 1984-04-26 | 1987-09-29 | A. C. Nielsen Company | Methods and apparatus for automatically identifying programs viewed or recorded |
US4720873A (en) | 1985-09-18 | 1988-01-19 | Ricky R. Goodman | Satellite audio broadcasting system |
US6443840B2 (en) | 1986-03-10 | 2002-09-03 | Response Reward Systems, L.C. | Evaluation of responses of participatory broadcast audience with prediction of winning contestants; monitoring, checking and controlling of wagering, and automatic crediting and couponing |
US4698670A (en) | 1986-07-14 | 1987-10-06 | Westinghouse Electric Corp. | Cable stereo apparatus |
US5208665A (en) | 1987-08-20 | 1993-05-04 | Telaction Corporation | Presentation player for an interactive digital communication system |
US4885632A (en) | 1988-02-29 | 1989-12-05 | Agb Television Research | System and methods for monitoring TV viewing system including a VCR and/or a cable converter |
US4912552A (en) | 1988-04-19 | 1990-03-27 | Control Data Corporation | Distributed monitoring system |
US5532732A (en) | 1988-12-23 | 1996-07-02 | Gemstar Development Corporation | Apparatus and methods for using compressed codes for monitoring television program viewing |
DE3901790A1 (en) | 1989-01-21 | 1990-07-26 | Gfk Gmbh | METHOD FOR THE REMOTE CONTROLLED REPLACEMENT OF A PARTICULAR PROGRAM PART OF A TELEVISION PROGRAM BY A SEPARATELY SENT PROGRAM PART FOR SPECIFIC SELECTED RECEIVER, HOUSEHOLD TERMINAL DEVICE AND THROUGH THE DRIVE DRIVE |
US5038211A (en) * | 1989-07-05 | 1991-08-06 | The Superguide Corporation | Method and apparatus for transmitting and receiving television program information |
US5155591A (en) | 1989-10-23 | 1992-10-13 | General Instrument Corporation | Method and apparatus for providing demographically targeted television commercials |
US5446919A (en) | 1990-02-20 | 1995-08-29 | Wilkins; Jeff K. | Communication system and method with demographically or psychographically defined audiences |
US5251324A (en) | 1990-03-20 | 1993-10-05 | Scientific-Atlanta, Inc. | Method and apparatus for generating and collecting viewing statistics for remote terminals in a cable television system |
US5046090A (en) | 1990-03-29 | 1991-09-03 | Gte Laboratories Incorporated | Recorded medium for video control system |
US5046092A (en) | 1990-03-29 | 1991-09-03 | Gte Laboratories Incorporated | Video control system for transmitted programs |
US5010585A (en) | 1990-06-01 | 1991-04-23 | Garcia Rafael A | Digital data and analog radio frequency transmitter |
CA2036205C (en) | 1990-06-01 | 1996-11-19 | Russell J. Welsh | Program monitoring unit |
US5191645A (en) | 1991-02-28 | 1993-03-02 | Sony Corporation Of America | Digital signal processing system employing icon displays |
US5497185A (en) | 1991-04-25 | 1996-03-05 | Le Groupe Videotron Ltee. | Remote control system for television audience data gathering |
US5173900A (en) | 1991-05-17 | 1992-12-22 | General Instrument Corporation | Method and apparatus for communicating different categories of data in a single data stream |
JP2622049B2 (en) | 1991-05-24 | 1997-06-18 | 松下電器産業株式会社 | Cable broadcasting system |
US5382970A (en) | 1991-07-19 | 1995-01-17 | Kiefl; John B. | Television viewer monitoring system including portable data meter for each viewer |
US5247347A (en) | 1991-09-27 | 1993-09-21 | Bell Atlantic Network Services, Inc. | Pstn architecture for video-on-demand services |
US5504519A (en) | 1991-10-03 | 1996-04-02 | Viscorp | Method and apparatus for printing coupons and the like |
US5404393A (en) | 1991-10-03 | 1995-04-04 | Viscorp | Method and apparatus for interactive television through use of menu windows |
US5343240A (en) | 1991-11-04 | 1994-08-30 | At&T Bell Laboratories | Bidirectional video telephony using shared channels on coaxial cable networks |
US20040261127A1 (en) | 1991-11-25 | 2004-12-23 | Actv, Inc. | Digital interactive system for providing full interactivity with programming events |
US5724091A (en) | 1991-11-25 | 1998-03-03 | Actv, Inc. | Compressed digital data interactive program system |
US6553178B2 (en) | 1992-02-07 | 2003-04-22 | Max Abecassis | Advertisement subsidized video-on-demand system |
US5436653A (en) | 1992-04-30 | 1995-07-25 | The Arbitron Company | Method and system for recognition of broadcast segments |
US5249044A (en) | 1992-05-05 | 1993-09-28 | Kohorn H Von | Product information storage, display, and coupon dispensing system |
US5287181A (en) | 1992-08-20 | 1994-02-15 | Holman Michael J | Electronic redeemable coupon system and television |
WO1994005117A1 (en) | 1992-08-14 | 1994-03-03 | Dtmf Television, Inc. | A participatory television system |
US5446490A (en) | 1992-10-23 | 1995-08-29 | At&T Corp. | Interactive television with tailored programming |
CA2147835C (en) | 1992-11-16 | 2006-01-31 | Victor A. Aijala | Method and apparatus for encoding/decoding broadcast or recorded segments and monitoring audience exposure thereto |
EP1788738B1 (en) | 1992-11-27 | 2011-11-09 | Io Research Pty. Limited | Distributed database system and database receiver thereof |
US5357276A (en) | 1992-12-01 | 1994-10-18 | Scientific-Atlanta, Inc. | Method of providing video on demand with VCR like functions |
US5410326A (en) | 1992-12-04 | 1995-04-25 | Goldstein; Steven W. | Programmable remote control device for interacting with a plurality of remotely controlled devices |
US5798785A (en) | 1992-12-09 | 1998-08-25 | Discovery Communications, Inc. | Terminal for suggesting programs offered on a television program delivery system |
US5600364A (en) | 1992-12-09 | 1997-02-04 | Discovery Communications, Inc. | Network controller for cable television delivery systems |
US5659350A (en) | 1992-12-09 | 1997-08-19 | Discovery Communications, Inc. | Operations center for a television program packaging and delivery system |
US6463585B1 (en) | 1992-12-09 | 2002-10-08 | Discovery Communications, Inc. | Targeted advertisement using television delivery systems |
US5389964A (en) | 1992-12-30 | 1995-02-14 | Information Resources, Inc. | Broadcast channel substitution method and apparatus |
JP3297914B2 (en) | 1993-01-08 | 2002-07-02 | ソニー株式会社 | Television receiver |
US5440334A (en) * | 1993-02-01 | 1995-08-08 | Explore Technology, Inc. | Broadcast video burst transmission cyclic distribution apparatus and method |
JPH08509849A (en) | 1993-02-16 | 1996-10-15 | サイエンティフィック−アトランタ・インコーポレーテッド | System and method for remote selection of subscribers and control of messages to subscribers in a cable television system |
FR2708768B1 (en) | 1993-08-05 | 1995-09-01 | Gemplus Card Int | Secure system of participation in interactive games remotely with verification of the chronology of events. |
US5377258A (en) | 1993-08-30 | 1994-12-27 | National Medical Research Council | Method and apparatus for an automated and interactive behavioral guidance system |
US5589892A (en) | 1993-09-09 | 1996-12-31 | Knee; Robert A. | Electronic television program guide schedule system and method with data feed access |
US5410344A (en) | 1993-09-22 | 1995-04-25 | Arrowsmith Technologies, Inc. | Apparatus and method of selecting video programs based on viewers' preferences |
US5481294A (en) | 1993-10-27 | 1996-01-02 | A. C. Nielsen Company | Audience measurement system utilizing ancillary codes and passive signatures |
US5698670A (en) | 1993-12-27 | 1997-12-16 | Takara Shuzo Co., Ltd. | Aureobasidins |
JP3500741B2 (en) | 1994-03-01 | 2004-02-23 | ソニー株式会社 | Channel selection method and channel selection device for television broadcasting |
US6580904B2 (en) | 1994-04-28 | 2003-06-17 | Metro One Telecommunications, Inc. | Method of providing directional assistance to a mobile telephone subscriber |
US5532735A (en) | 1994-04-29 | 1996-07-02 | At&T Corp. | Method of advertisement selection for interactive service |
US5559548A (en) * | 1994-05-20 | 1996-09-24 | Davis; Bruce | System and method for generating an information display schedule for an electronic program guide |
US5500681A (en) | 1994-05-24 | 1996-03-19 | Jones; Charles P. | Apparatus and method for generating product coupons in response to televised offers |
US5606359A (en) | 1994-06-30 | 1997-02-25 | Hewlett-Packard Company | Video on demand system with multiple data sources configured to provide vcr-like services |
US5515098A (en) | 1994-09-08 | 1996-05-07 | Carles; John B. | System and method for selectively distributing commercial messages over a communications network |
US5543911A (en) | 1994-09-13 | 1996-08-06 | Eastman Kodak Company | Method of currency or document validation by use of an anti-counterfeiting magnetic viewing strip |
US5661787A (en) | 1994-10-27 | 1997-08-26 | Pocock; Michael H. | System for on-demand remote access to a self-generating audio recording, storage, indexing and transaction system |
US5534911A (en) | 1994-11-02 | 1996-07-09 | Levitan; Gutman | Virtual personal channel in a television system |
US5724521A (en) | 1994-11-03 | 1998-03-03 | Intel Corporation | Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner |
US6029195A (en) | 1994-11-29 | 2000-02-22 | Herz; Frederick S. M. | System for customized electronic identification of desirable objects |
US5758257A (en) | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US5774170A (en) | 1994-12-13 | 1998-06-30 | Hite; Kenneth C. | System and method for delivering targeted advertisements to consumers |
US5752159A (en) | 1995-01-13 | 1998-05-12 | U S West Technologies, Inc. | Method for automatically collecting and delivering application event data in an interactive network |
US5619247A (en) | 1995-02-24 | 1997-04-08 | Smart Vcr Limited Partnership | Stored program pay-per-play |
US5600366A (en) | 1995-03-22 | 1997-02-04 | Npb Partners, Ltd. | Methods and apparatus for digital advertisement insertion in video programming |
US5699125A (en) | 1995-03-31 | 1997-12-16 | Matsushita Electric Corporation Of America | Electronic television program guide for a television system having two tuners |
US5608448A (en) | 1995-04-10 | 1997-03-04 | Lockheed Martin Corporation | Hybrid architecture for video on demand server |
US5818438A (en) | 1995-04-25 | 1998-10-06 | Bellsouth Corporation | System and method for providing television services |
DE69623170T2 (en) | 1995-04-27 | 2003-05-15 | Hitachi Ltd | Method and device for receiving and / or reproducing digital signals |
US5630119A (en) | 1995-05-05 | 1997-05-13 | Microsoft Corporation | System and method for displaying program listings in an interactive electronic program guide |
US5861906A (en) | 1995-05-05 | 1999-01-19 | Microsoft Corporation | Interactive entertainment network system and method for customizing operation thereof according to viewer preferences |
US5585838A (en) | 1995-05-05 | 1996-12-17 | Microsoft Corporation | Program time guide |
US5710815A (en) | 1995-06-07 | 1998-01-20 | Vtech Communications, Ltd. | Encoder apparatus and decoder apparatus for a television signal having embedded viewer access control data |
US5752186A (en) | 1995-06-07 | 1998-05-12 | Jeman Technologies, Inc. | Access free wireless telephony fulfillment service system |
US5740549A (en) | 1995-06-12 | 1998-04-14 | Pointcast, Inc. | Information and advertising distribution system and method |
US6026368A (en) | 1995-07-17 | 2000-02-15 | 24/7 Media, Inc. | On-line interactive system and method for providing content and advertising information to a targeted set of viewers |
US6002393A (en) | 1995-08-22 | 1999-12-14 | Hite; Kenneth C. | System and method for delivering targeted advertisements to consumers using direct commands |
US5758259A (en) | 1995-08-31 | 1998-05-26 | Microsoft Corporation | Automated selective programming guide |
US5754775A (en) | 1995-09-27 | 1998-05-19 | Intel Corporation | Method and apparatus for formulating connection addresses on a PC conferencing system supporting multiple transport type |
SE507482C2 (en) | 1995-10-09 | 1998-06-15 | Ericsson Telefon Ab L M | Redundancy communication management system and procedure |
US5850249A (en) | 1995-10-12 | 1998-12-15 | Nielsen Media Research, Inc. | Receiver monitoring system with local encoding |
US5606602A (en) | 1995-11-06 | 1997-02-25 | Summit Telecom Systems, Inc. | Bidding for telecommunications traffic |
US5778182A (en) | 1995-11-07 | 1998-07-07 | At&T Corp. | Usage management system |
US5867226A (en) | 1995-11-17 | 1999-02-02 | Thomson Consumer Electronics, Inc. | Scheduler employing a predictive agent for use in a television receiver |
US5872588A (en) | 1995-12-06 | 1999-02-16 | International Business Machines Corporation | Method and apparatus for monitoring audio-visual materials presented to a subscriber |
US5794210A (en) | 1995-12-11 | 1998-08-11 | Cybergold, Inc. | Attention brokerage |
KR100206321B1 (en) | 1995-12-20 | 1999-07-01 | 윤종용 | Method for automatic dialing using call id. |
US5838314A (en) | 1996-02-21 | 1998-11-17 | Message Partners | Digital video services system with optional interactive advertisement capabilities |
US20020049832A1 (en) | 1996-03-08 | 2002-04-25 | Craig Ullman | Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments |
US5848397A (en) | 1996-04-19 | 1998-12-08 | Juno Online Services, L.P. | Method and apparatus for scheduling the presentation of messages to computer users |
US5848396A (en) | 1996-04-26 | 1998-12-08 | Freedom Of Information, Inc. | Method and apparatus for determining behavioral profile of a computer user |
US5724607A (en) | 1996-05-08 | 1998-03-03 | Re Technology As | Method for remote control message transmission delay compensation by providing pseudo-response message based on prior received responses stored in look-up table |
JP4478214B2 (en) | 1996-05-29 | 2010-06-09 | ソニー株式会社 | Program guide control apparatus and method |
US5945988A (en) | 1996-06-06 | 1999-08-31 | Intel Corporation | Method and apparatus for automatically determining and dynamically updating user preferences in an entertainment system |
US5809481A (en) | 1996-08-08 | 1998-09-15 | David Baron | Advertising method and system |
US6427003B1 (en) | 2000-05-05 | 2002-07-30 | Joseph C. Corbett | Video caller identification systems and methods |
US6647548B1 (en) | 1996-09-06 | 2003-11-11 | Nielsen Media Research, Inc. | Coded/non-coded program audience measurement system |
US5872834A (en) | 1996-09-16 | 1999-02-16 | Dew Engineering And Development Limited | Telephone with biometric sensing device |
US5892536A (en) | 1996-10-03 | 1999-04-06 | Personal Audio | Systems and methods for computer enhanced broadcast monitoring |
US6199076B1 (en) | 1996-10-02 | 2001-03-06 | James Logan | Audio program player including a dynamic program selection controller |
US5946636A (en) | 1996-10-02 | 1999-08-31 | Ericsson Inc. | Quick-recognition visual notification system for use in radiotelephones |
US5721827A (en) | 1996-10-02 | 1998-02-24 | James Logan | System for electrically distributing personalized information |
US5796791A (en) | 1996-10-15 | 1998-08-18 | Intervoice Limited Partnership | Network based predictive dialing |
US5948061A (en) | 1996-10-29 | 1999-09-07 | Double Click, Inc. | Method of delivery, targeting, and measuring advertising over networks |
US5883942A (en) | 1996-11-20 | 1999-03-16 | Cybiotronics, Ltd. | Voice caller I.D. apparatus |
US6177931B1 (en) | 1996-12-19 | 2001-01-23 | Index Systems, Inc. | Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information |
US5991799A (en) | 1996-12-20 | 1999-11-23 | Liberate Technologies | Information retrieval system using an internet multiplexer to focus user selection |
JP4044965B2 (en) * | 1996-12-20 | 2008-02-06 | プリンストン ビデオ イメージ,インコーポレイティド | Set-top device and method for inserting selected video into video broadcast |
US5854897A (en) | 1996-12-27 | 1998-12-29 | Quantum Systems, Inc. | Network communications marketing system |
US20060031882A1 (en) | 1997-01-06 | 2006-02-09 | Swix Scott R | Systems, methods, and devices for customizing content-access lists |
US7020652B2 (en) | 2001-12-21 | 2006-03-28 | Bellsouth Intellectual Property Corp. | System and method for customizing content-access lists |
US20060253884A1 (en) | 1997-01-06 | 2006-11-09 | Gray James H | Methods and systems for network based capture of television viewer generated clickstreams |
US20060075456A1 (en) | 1997-01-06 | 2006-04-06 | Gray James Harold | Methods and systems for collaborative capture of television viewer generated clickstreams |
US8640160B2 (en) | 1997-01-06 | 2014-01-28 | At&T Intellectual Property I, L.P. | Method and system for providing targeted advertisements |
US7617508B2 (en) | 2003-12-12 | 2009-11-10 | At&T Intellectual Property I, L.P. | Methods and systems for collaborative capture of television viewer generated clickstreams |
ATE355662T1 (en) * | 1997-01-06 | 2006-03-15 | Bellsouth Intellect Pty Corp | METHOD AND SYSTEM FOR NETWORK USAGE COLLECTION |
US20100257037A1 (en) | 2001-12-14 | 2010-10-07 | Matz William R | Method and system for targeted incentives |
US7802276B2 (en) | 1997-01-06 | 2010-09-21 | At&T Intellectual Property I, L.P. | Systems, methods and products for assessing subscriber content access |
US6983478B1 (en) | 2000-02-01 | 2006-01-03 | Bellsouth Intellectual Property Corporation | Method and system for tracking network use |
US20050283401A1 (en) | 1997-01-06 | 2005-12-22 | Swix Scott R | Method and system for targeting incentives |
US7587323B2 (en) | 2001-12-14 | 2009-09-08 | At&T Intellectual Property I, L.P. | System and method for developing tailored content |
US8677384B2 (en) | 2003-12-12 | 2014-03-18 | At&T Intellectual Property I, L.P. | Methods and systems for network based capture of television viewer generated clickstreams |
US6675383B1 (en) | 1997-01-22 | 2004-01-06 | Nielsen Media Research, Inc. | Source detection apparatus and method for audience measurement |
JPH10248056A (en) | 1997-03-04 | 1998-09-14 | Sony Corp | Program data transmission confirming system |
US6542583B1 (en) | 1997-03-06 | 2003-04-01 | Avaya Technology Corp. | Caller identification verification system |
US5796952A (en) | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6177930B1 (en) | 1997-03-28 | 2001-01-23 | International Business Machines Corp. | System and method for enabling a user to move between cyclically transmitted image streams |
GB2325537B8 (en) | 1997-03-31 | 2000-01-31 | Microsoft Corp | Query-based electronic program guide |
US6339639B1 (en) | 1997-04-04 | 2002-01-15 | Daniel A. Henderson | Enhanced call-waiting with caller identification method and apparatus |
US6442263B1 (en) | 1997-04-23 | 2002-08-27 | Nortel Networks Limited | Electronic business cards |
US5982866A (en) | 1997-04-25 | 1999-11-09 | At&T Corporation | Method and apparatus for forwarding caller identification for a credit card or calling card call to an automatic number identification system of a telephone network |
US5983227A (en) | 1997-06-12 | 1999-11-09 | Yahoo, Inc. | Dynamic page generator |
AU8072798A (en) | 1997-06-16 | 1999-01-04 | Doubleclick Inc. | Method and apparatus for automatic placement of advertising |
US6353929B1 (en) | 1997-06-23 | 2002-03-05 | One River Worldtrek, Inc. | Cooperative system for measuring electronic media |
US6172674B1 (en) | 1997-08-25 | 2001-01-09 | Liberate Technologies | Smart filtering |
EP1013087A4 (en) | 1997-08-27 | 2003-01-02 | Starsight Telecast Inc | Systems and methods for replacing television signals |
US6253189B1 (en) | 1997-09-15 | 2001-06-26 | At&T Corp. | System and method for completing advertising time slot transactions |
US6134531A (en) | 1997-09-24 | 2000-10-17 | Digital Equipment Corporation | Method and apparatus for correlating real-time audience feedback with segments of broadcast programs |
US6081840A (en) * | 1997-10-14 | 2000-06-27 | Zhao; Yan | Two-level content distribution system |
US6119098A (en) * | 1997-10-14 | 2000-09-12 | Patrice D. Guyot | System and method for targeting and distributing advertisements over a distributed network |
US6005597A (en) | 1997-10-27 | 1999-12-21 | Disney Enterprises, Inc. | Method and apparatus for program selection |
US6134532A (en) | 1997-11-14 | 2000-10-17 | Aptex Software, Inc. | System and method for optimal adaptive matching of users to most relevant entity and information in real-time |
US5973683A (en) | 1997-11-24 | 1999-10-26 | International Business Machines Corporation | Dynamic regulation of television viewing content based on viewer profile and viewing history |
US20020087573A1 (en) | 1997-12-03 | 2002-07-04 | Reuning Stephan Michael | Automated prospector and targeted advertisement assembly and delivery system |
US6029045A (en) | 1997-12-09 | 2000-02-22 | Cogent Technology, Inc. | System and method for inserting local content into programming content |
JP3250509B2 (en) | 1998-01-08 | 2002-01-28 | 日本電気株式会社 | Method and apparatus for viewing broadcast program |
US6567986B2 (en) | 1998-03-12 | 2003-05-20 | Sarnoff Corporation | Method and apparatus for distributing a globally accurate knowledge of time and frequency to a plurality of a high definition television studios |
US6498841B2 (en) | 1998-03-19 | 2002-12-24 | Ameritech Corporation | Method and system for providing enhanced call waiting and caller identification |
US20010016036A1 (en) | 1998-07-24 | 2001-08-23 | Teresa Farias Latter | Method and system for providing enhanced caller identification |
US6160570A (en) | 1998-04-20 | 2000-12-12 | U.S. Philips Corporation | Digital television system which selects images for display in a video sequence |
US6530082B1 (en) | 1998-04-30 | 2003-03-04 | Wink Communications, Inc. | Configurable monitoring of program viewership and usage of interactive applications |
US6304644B2 (en) | 1998-05-06 | 2001-10-16 | Casio Communications, Inc. | Apparatus and method for cost effective caller identification and call-waiting for a multi-line telephone |
US6100916A (en) | 1998-05-20 | 2000-08-08 | Lucent Technologies Inc. | System and method for subscriber controlled signal blocking |
HUP0003423A3 (en) | 1998-05-22 | 2002-11-28 | Koninkl Philips Electronics Nv | Television signal processing device having a data block address memory for autonomously determining television program information |
KR100275590B1 (en) | 1998-05-23 | 2000-12-15 | 윤종용 | Method for transmiting caller id in amps-clp |
US6185614B1 (en) | 1998-05-26 | 2001-02-06 | International Business Machines Corp. | Method and system for collecting user profile information over the world-wide web in the presence of dynamic content using document comparators |
US6698020B1 (en) | 1998-06-15 | 2004-02-24 | Webtv Networks, Inc. | Techniques for intelligent video ad insertion |
US6480589B1 (en) | 1998-07-14 | 2002-11-12 | Samsung Electronics Co., Ltd. | CPE alert signal detector and caller identification detector using peak detection |
US6341161B1 (en) | 1998-07-24 | 2002-01-22 | Teresa Farias Latter | Method and system for providing enhanced caller identification information including tailored announcements |
US6505348B1 (en) | 1998-07-29 | 2003-01-07 | Starsight Telecast, Inc. | Multiple interactive electronic program guide system and methods |
US6438216B1 (en) | 1998-07-30 | 2002-08-20 | Siemens Information And Communication Networks, Inc. | Nonintrusive call notification method and system using content-specific information |
WO2000008839A1 (en) | 1998-07-31 | 2000-02-17 | Nazir Dosani | Method and system for communicating caller identification information between a remote site and a central monitoring station over pstn |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6202210B1 (en) | 1998-08-21 | 2001-03-13 | Sony Corporation Of Japan | Method and system for collecting data over a 1394 network to support analysis of consumer behavior, marketing and customer support |
US6496571B1 (en) | 1998-08-28 | 2002-12-17 | Lucent Technologies Inc. | Telecommunication system, method and telephone with personal caller identification capability |
US6483898B2 (en) | 1998-09-11 | 2002-11-19 | Ameritech Corporation | System and method for providing visual indication of caller and telephony platform information on customer premises equipment |
US6101246A (en) | 1998-09-16 | 2000-08-08 | Ameritech | Method of providing caller identification for calls placed over an internet |
US6650743B2 (en) | 2000-06-09 | 2003-11-18 | Ameritech Corporation | Method of providing caller identification for calls placed over an internet |
US6236975B1 (en) | 1998-09-29 | 2001-05-22 | Ignite Sales, Inc. | System and method for profiling customers for targeted marketing |
US6584490B1 (en) | 1998-10-30 | 2003-06-24 | 3Com Corporation | System and method for providing call-handling services on a data network telephone system |
US6487538B1 (en) * | 1998-11-16 | 2002-11-26 | Sun Microsystems, Inc. | Method and apparatus for local advertising |
US20020123928A1 (en) | 2001-01-11 | 2002-09-05 | Eldering Charles A. | Targeting ads to subscribers based on privacy-protected subscriber profiles |
US20020083441A1 (en) | 2000-08-31 | 2002-06-27 | Flickinger Gregory C. | Advertisement filtering and storage for targeted advertisement systems |
US6457010B1 (en) | 1998-12-03 | 2002-09-24 | Expanse Networks, Inc. | Client-server based subscriber characterization system |
US6560578B2 (en) | 1999-03-12 | 2003-05-06 | Expanse Networks, Inc. | Advertisement selection system supporting discretionary target market characteristics |
US7260823B2 (en) | 2001-01-11 | 2007-08-21 | Prime Research Alliance E., Inc. | Profiling and identification of television viewers |
US7039932B2 (en) | 2000-08-31 | 2006-05-02 | Prime Research Alliance E., Inc. | Queue-based head-end advertisement scheduling method and apparatus |
US6282713B1 (en) | 1998-12-21 | 2001-08-28 | Sony Corporation | Method and apparatus for providing on-demand electronic advertising |
US6292549B1 (en) | 1999-01-13 | 2001-09-18 | Altigen Communications, Inc. | Analog caller identification transmission method and apparatus |
USD437879S1 (en) | 1999-02-04 | 2001-02-20 | Monique Weinandt | Caller identification printer |
US6985882B1 (en) | 1999-02-05 | 2006-01-10 | Directrep, Llc | Method and system for selling and purchasing media advertising over a distributed communication network |
US20040194131A1 (en) | 1999-03-11 | 2004-09-30 | Ellis Michael D. | Television system with scheduling of advertisements |
US6496569B2 (en) | 1999-03-19 | 2002-12-17 | Ameritech Corporation | Method and system for providing enhanced caller identification and privacy management |
AU4328000A (en) | 1999-03-31 | 2000-10-16 | Verizon Laboratories Inc. | Techniques for performing a data query in a computer system |
US6816481B1 (en) | 1999-04-09 | 2004-11-09 | Sbc Technology Resources, Inc. | Internet caller identification system and method |
US6792615B1 (en) | 1999-05-19 | 2004-09-14 | New Horizons Telecasting, Inc. | Encapsulated, streaming media automation and distribution system |
US6345187B1 (en) | 1999-05-24 | 2002-02-05 | Agere Systems Guardian Corp. | Receipt of type II caller identification in multi-cordless environment |
US6463468B1 (en) | 1999-06-01 | 2002-10-08 | Netzero, Inc. | Targeted network video download interface |
US6477704B1 (en) | 1999-06-21 | 2002-11-05 | Lawrence Cremia | Method of gathering and utilizing demographic information from request-based media delivery system |
US6366772B1 (en) | 1999-07-22 | 2002-04-02 | Xircom Wireless, Inc. | Caller identification delivery in a wireless local loop or other systems |
US6845398B1 (en) | 1999-08-02 | 2005-01-18 | Lucent Technologies Inc. | Wireless multimedia player |
US6324271B1 (en) | 1999-08-17 | 2001-11-27 | Nortel Networks Limited | System and method for authentication of caller identification |
US20020056118A1 (en) * | 1999-08-27 | 2002-05-09 | Hunter Charles Eric | Video and music distribution system |
US6748058B1 (en) | 1999-08-31 | 2004-06-08 | Qwest Communications Int'l., Inc. | Caller identification system with announcement capability |
US6810527B1 (en) | 1999-09-27 | 2004-10-26 | News America, Inc. | System and method for distribution and delivery of media context and other data to aircraft passengers |
US7010492B1 (en) | 1999-09-30 | 2006-03-07 | International Business Machines Corporation | Method and apparatus for dynamic distribution of controlled and additional selective overlays in a streaming media |
US6553110B1 (en) | 1999-10-01 | 2003-04-22 | Koninklijke Philips Electronics N.V. | Selective telephone caller identification service |
US6560327B1 (en) | 1999-10-01 | 2003-05-06 | Sprint Spectrum, L.P. | Method and system for providing telecommunications services using mediated service logic |
US20020049631A1 (en) | 1999-10-12 | 2002-04-25 | Eric Williams | Process, system and computer readable medium for providing purchasing incentives to a plurality of retail store environments |
US20020009184A1 (en) | 1999-10-22 | 2002-01-24 | J. Mitchell Shnier | Call classification indication using sonic means |
US6970641B1 (en) | 2000-09-15 | 2005-11-29 | Opentv, Inc. | Playback of interactive programs |
US7000245B1 (en) | 1999-10-29 | 2006-02-14 | Opentv, Inc. | System and method for recording pushed data |
US6317488B1 (en) | 1999-11-09 | 2001-11-13 | Notify Corporation | Call waiting-caller identification notification device |
US6757691B1 (en) | 1999-11-09 | 2004-06-29 | America Online, Inc. | Predicting content choices by searching a profile database |
US6976268B2 (en) | 1999-12-10 | 2005-12-13 | Sun Microsystems, Inc. | Methods and apparatus for efficiently accessing periodically broadcast data |
AU1952301A (en) | 1999-12-10 | 2001-06-18 | Eonxchange, Llc | Automated exchange for the efficient assignment of audience items |
DE19960741A1 (en) | 1999-12-20 | 2001-06-21 | Thomson Brandt Gmbh | System for exchanging data between provider, user has provider data receiver controlled by central control unit that stores data from receiver depending on received user commands |
US6571344B1 (en) | 1999-12-21 | 2003-05-27 | Koninklijke Philips Electronics N. V. | Method and apparatus for authenticating time-sensitive interactive communications |
US20080263586A1 (en) | 1999-12-27 | 2008-10-23 | Thomas Keith C | Method and media for virtual product placement |
US7146329B2 (en) | 2000-01-13 | 2006-12-05 | Erinmedia, Llc | Privacy compliant multiple dataset correlation and content delivery system and methods |
US6434747B1 (en) * | 2000-01-19 | 2002-08-13 | Individual Network, Inc. | Method and system for providing a customized media list |
CA2399502A1 (en) | 2000-02-02 | 2001-08-09 | Worldgate Service, Inc. | System and method for transmitting and displaying targeted information |
US6714992B1 (en) * | 2000-02-25 | 2004-03-30 | Navic Systems, Inc. | Method and system for embedded network device installation |
US6845396B1 (en) * | 2000-02-25 | 2005-01-18 | Navic Systems, Inc. | Method and system for content deployment and activation |
US6510417B1 (en) | 2000-03-21 | 2003-01-21 | America Online, Inc. | System and method for voice access to internet-based information |
CA2301449A1 (en) | 2000-03-21 | 2001-09-21 | Infointeractive | Wireless telephone call manager |
US6748068B1 (en) | 2000-03-27 | 2004-06-08 | Sbc Properties, L.P. | Method and system for providing enhanced caller identification information |
US20020016964A1 (en) | 2000-03-30 | 2002-02-07 | Shuntaro Aratani | Information processing apparatus and method, data broadcasting receiving apparatus, and printer |
US6772209B1 (en) | 2000-04-06 | 2004-08-03 | International Business Machines Corporation | Efficient method for rule-based distribution and management of content in a distributed hierarchy of storage devices |
US6766524B1 (en) | 2000-05-08 | 2004-07-20 | Webtv Networks, Inc. | System and method for encouraging viewers to watch television programs |
US6826271B1 (en) | 2000-05-10 | 2004-11-30 | Lucent Technologies Inc. | Enhanced caller identification |
US7424446B2 (en) | 2000-05-26 | 2008-09-09 | Comverse Network System, Ltd. | Apparatus and method for storing predetermined multimedia information |
US20020032906A1 (en) | 2000-06-02 | 2002-03-14 | Grossman Avram S. | Interactive marketing and advertising system and method |
CA2349914C (en) | 2000-06-09 | 2013-07-30 | Invidi Technologies Corp. | Advertising delivery method |
US6785301B1 (en) | 2000-06-29 | 2004-08-31 | Cisco Technology, Inc. | Method and apparatus for conducting call waiting-caller identification in a packet switched network |
US8495679B2 (en) | 2000-06-30 | 2013-07-23 | Thomson Licensing | Method and apparatus for delivery of television programs and targeted de-coupled advertising |
US20020049967A1 (en) | 2000-07-01 | 2002-04-25 | Haseltine Eric C. | Processes for exploiting electronic tokens to increase broadcasting revenue |
US20020056109A1 (en) | 2000-07-25 | 2002-05-09 | Tomsen Mai-Lan | Method and system to provide a personalized shopping channel VIA an interactive video casting system |
WO2002009009A1 (en) | 2000-07-26 | 2002-01-31 | Cool Partners, Inc. | Method and apparatus for selecting streaming media in real-time |
US6542591B1 (en) | 2000-07-27 | 2003-04-01 | International Business Machines Corporation | Method and system for caller identification callback lists |
US6631181B1 (en) | 2000-08-10 | 2003-10-07 | International Business Machines Corporation | Method and system for allowing specification of messaging system greetings according to a caller identification |
US7225456B2 (en) | 2001-04-23 | 2007-05-29 | Sony Corporation | Gateway screen for interactive television |
US7599851B2 (en) * | 2000-09-05 | 2009-10-06 | Renee Frengut | Method for providing customized user interface and targeted marketing forum |
US6850988B1 (en) * | 2000-09-15 | 2005-02-01 | Oracle International Corporation | System and method for dynamically evaluating an electronic commerce business model through click stream analysis |
US7441260B1 (en) | 2000-09-20 | 2008-10-21 | Koninklijke Philips Electronics, N.V. | Television program recommender with automatic identification of changing viewer preferences |
US8302127B2 (en) | 2000-09-25 | 2012-10-30 | Thomson Licensing | System and method for personalized TV |
US6798879B1 (en) | 2000-10-06 | 2004-09-28 | Thomas C. Beham | Remote telephone call notification system |
US6831974B1 (en) | 2000-10-30 | 2004-12-14 | Sprint Communications Company L.P. | System and method for providing a caller identification to a called party for calls relayed through a call center |
US6631360B1 (en) | 2000-11-06 | 2003-10-07 | Sightward, Inc. | Computer-implementable Internet prediction method |
US6771755B1 (en) | 2000-11-30 | 2004-08-03 | Bellsouth Intellectual Property Corporation | Personalized caller identification in a telephone network |
US20020078443A1 (en) | 2000-12-20 | 2002-06-20 | Gadkari Sanjay S. | Presentation preemption |
US6757530B2 (en) | 2000-12-29 | 2004-06-29 | International Business Machines Corporation | System and method for providing wireless device access to scheduling applications |
US6950804B2 (en) | 2001-02-26 | 2005-09-27 | Pika Media | Systems and methods for distributing targeted multimedia content and advertising |
US20020122401A1 (en) | 2001-03-02 | 2002-09-05 | Zeng-Jun Xiang | System and method in a wireless telecommunication network for placing a voice call on hold and conducting a data session |
US20020133817A1 (en) | 2001-03-13 | 2002-09-19 | Markel Steven O. | Affinity marketing for interactive media systems |
US20020143647A1 (en) | 2001-03-30 | 2002-10-03 | Intertainer, Inc. | Subscriber management system |
JP2002312634A (en) | 2001-04-16 | 2002-10-25 | Sony Corp | Method and system for auctioning commercial message frame of broadcasting contents, and method and system for automatically sending broadcasting contents out |
US20020183098A1 (en) | 2001-04-20 | 2002-12-05 | Yung-Tang Lee | Cellular phone with caller ID light arrangement |
US20020157109A1 (en) | 2001-04-21 | 2002-10-24 | Sony Corporation | System and method for interactive television |
JP2003018283A (en) | 2001-07-05 | 2003-01-17 | Nec Corp | Caller identifying method for telephone system, and telephone system with caller identification function applied with the method |
US20030028432A1 (en) | 2001-08-01 | 2003-02-06 | Vidius Inc. | Method for the customization of commercial product placement advertisements in digital media |
DE60239067D1 (en) | 2001-08-02 | 2011-03-10 | Intellocity Usa Inc | PREPARATION OF DISPLAY CHANGES |
US7343354B2 (en) | 2001-08-10 | 2008-03-11 | Wideorbit, Inc. | Method for determining demand and pricing of advertising time in the media industry |
US7403768B2 (en) | 2001-08-14 | 2008-07-22 | At&T Delaware Intellectual Property, Inc. | Method for using AIN to deliver caller ID to text/alpha-numeric pagers as well as other wireless devices, for calls delivered to wireless network |
US8086271B2 (en) | 2001-09-12 | 2011-12-27 | Ericsson Inc. | Network architecture for mobile communication network with billing module for shared resources |
US20030110489A1 (en) | 2001-10-29 | 2003-06-12 | Sony Corporation | System and method for recording TV remote control device click stream |
US7020336B2 (en) | 2001-11-13 | 2006-03-28 | Koninklijke Philips Electronics N.V. | Identification and evaluation of audience exposure to logos in a broadcast event |
US20030092384A1 (en) | 2001-11-14 | 2003-05-15 | Ross W. Anthony | Piconetwork radiotelephone interfaces for vehicles including wireless pointing and display devices |
US20030095650A1 (en) | 2001-11-21 | 2003-05-22 | Mize Gary W. | Caller data projector |
US20030110497A1 (en) | 2001-12-11 | 2003-06-12 | Koninklijke Philips Electronics N.V. | Micro-auction on television using multiple rewards to benefit the viewer of commercials |
US7076051B2 (en) | 2001-12-12 | 2006-07-11 | International Business Machines Corporation | Promoting caller voice browsing in a hold queue |
US7212979B1 (en) | 2001-12-14 | 2007-05-01 | Bellsouth Intellectuall Property Corporation | System and method for identifying desirable subscribers |
US7444658B1 (en) | 2001-12-14 | 2008-10-28 | At&T Intellectual Property I, L.P. | Method and system to perform content targeting |
US20030115597A1 (en) | 2001-12-14 | 2003-06-19 | Koninklijke Philips Electronics N.V. | Micro-auction on television for the selection of commercials |
US20110178877A1 (en) | 2001-12-14 | 2011-07-21 | Swix Scott R | Advertising and content management systems and methods |
US20050071863A1 (en) | 2001-12-21 | 2005-03-31 | Matz William R. | System and method for storing and distributing television viewing patterns form a clearinghouse |
US6807267B2 (en) | 2001-12-21 | 2004-10-19 | Sbc Properties, Lp | Method and system for providing enhanced caller identification information for subscribers that interface via private trunk groups |
US7086075B2 (en) | 2001-12-21 | 2006-08-01 | Bellsouth Intellectual Property Corporation | Method and system for managing timed responses to A/V events in television programming |
US6560317B1 (en) | 2002-01-03 | 2003-05-06 | Intel Corporation | Receiving caller identification information with a telecommunications device for the deaf |
US20030149975A1 (en) | 2002-02-05 | 2003-08-07 | Charles Eldering | Targeted advertising in on demand programming |
DE20201823U1 (en) | 2002-02-06 | 2002-05-02 | Meiloon Ind Co | Image / sound output device with identification and volume control |
US7093932B2 (en) | 2002-02-08 | 2006-08-22 | Matsushita Electric Industrial Co., Ltd. | Ink-jet recording device and control method thereof |
US6718021B2 (en) | 2002-02-19 | 2004-04-06 | Sbc Properties, L.P. | Method and system for presenting customized call alerts in a service for internet caller identification |
US6785368B1 (en) | 2002-06-24 | 2004-08-31 | Bellsouth Intellectual Property Corporation | On-demand caller identification |
USD494953S1 (en) | 2002-11-15 | 2004-08-24 | Yousp Sales Promotions B.V. | Mobile phone caller identification display |
US7930716B2 (en) | 2002-12-31 | 2011-04-19 | Actv Inc. | Techniques for reinsertion of local market advertising in digital video from a bypass source |
US20040125929A1 (en) | 2002-12-31 | 2004-07-01 | Pope Stephen M. | Projection caller ID |
US20040193483A1 (en) | 2003-03-25 | 2004-09-30 | Alan Wolan | Methods and systems for advertising products |
CA2543017C (en) | 2003-10-17 | 2013-11-26 | Nielsen Media Research, Inc. | Portable multi-purpose audience measurement system |
US7113577B2 (en) | 2003-10-17 | 2006-09-26 | Sprint Communications Company L.P. | Caller identification employing a digital content set |
US7979877B2 (en) | 2003-12-23 | 2011-07-12 | Intellocity Usa Inc. | Advertising methods for advertising time slots and embedded objects |
US7689458B2 (en) | 2004-10-29 | 2010-03-30 | Microsoft Corporation | Systems and methods for determining bid value for content items to be placed on a rendered page |
WO2006128104A2 (en) | 2005-05-24 | 2006-11-30 | Insider Pages | Advertising systems and methods |
US20060271552A1 (en) | 2005-05-26 | 2006-11-30 | Venture Capital & Consulting Group, Llc. | Targeted delivery of content |
US20060288367A1 (en) | 2005-06-16 | 2006-12-21 | Swix Scott R | Systems, methods and products for tailoring and bundling content |
US20070038514A1 (en) | 2005-08-12 | 2007-02-15 | Macrovision Corporation | Bid-based delivery of advertising promotions on internet-connected media players |
WO2007041159A2 (en) | 2005-09-29 | 2007-04-12 | Mmi Advertising, Llc | On-line process for bidding on advertising spots |
US8566865B2 (en) | 2006-03-07 | 2013-10-22 | Sony Computer Entertainment America Llc | Dynamic insertion of cinematic stage props in program content |
US20080004962A1 (en) | 2006-06-30 | 2008-01-03 | Muthukrishnan Shanmugavelayuth | Slot preference auction |
US7994930B2 (en) | 2006-10-30 | 2011-08-09 | Sony Ericsson Mobile Communications Ab | Product placement |
US20080148311A1 (en) | 2006-12-13 | 2008-06-19 | Tischer Steven N | Advertising and content management systems and methods |
US20080147497A1 (en) | 2006-12-13 | 2008-06-19 | Tischer Steven N | Advertising and content management systems and methods |
US20080167943A1 (en) | 2007-01-05 | 2008-07-10 | O'neil Douglas R | Real time pricing, purchasing and auctioning of advertising time slots based on real time viewership, viewer demographics, and content characteristics |
-
2001
- 2001-12-31 US US10/039,062 patent/US8086491B1/en active Active
-
2002
- 2002-12-30 WO PCT/US2002/041774 patent/WO2003058534A1/en not_active Application Discontinuation
- 2002-12-30 AU AU2002361906A patent/AU2002361906A1/en not_active Abandoned
-
2011
- 2011-11-18 US US13/299,511 patent/US20120124090A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327574B1 (en) * | 1998-07-07 | 2001-12-04 | Encirq Corporation | Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner |
US7228283B1 (en) * | 2000-04-05 | 2007-06-05 | David Hornstein | Aesthetic profile collection |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120259737A1 (en) * | 2006-03-20 | 2012-10-11 | Sms.Ac | Systems and methods for integration of a music pod system |
US11128720B1 (en) | 2010-03-25 | 2021-09-21 | Open Invention Network Llc | Method and system for searching network resources to locate content |
US20130054673A1 (en) * | 2011-08-24 | 2013-02-28 | Lg Electronics Inc. | Content device and control method thereof |
US8577988B2 (en) * | 2011-08-24 | 2013-11-05 | Lg Electronics Inc. | Content device and control method thereof |
US9063631B2 (en) | 2013-03-15 | 2015-06-23 | Chad Dustin TILLMAN | System and method for cooperative sharing of resources of an environment |
US10110541B2 (en) * | 2013-10-17 | 2018-10-23 | International Business Machines Corporation | Optimization of posting in social networks using content delivery preferences comprising hashtags that correspond to geography and a content type associated with a desired time window |
US20160171109A1 (en) * | 2014-12-12 | 2016-06-16 | Ebay Inc. | Web content filtering |
US20180060028A1 (en) * | 2016-08-30 | 2018-03-01 | International Business Machines Corporation | Controlling navigation of a visual aid during a presentation |
US10386933B2 (en) | 2016-08-30 | 2019-08-20 | International Business Machines Corporation | Controlling navigation of a visual aid during a presentation |
US10936281B2 (en) | 2018-12-19 | 2021-03-02 | International Business Machines Corporation | Automatic slide page progression based on verbal and visual cues |
WO2021040767A1 (en) * | 2019-08-26 | 2021-03-04 | Acxiom Llc | Secondary tagging in a data heap |
WO2021040766A1 (en) * | 2019-08-26 | 2021-03-04 | Acxiom Llc | Primary tagging in a data stream |
US11586633B2 (en) * | 2019-08-26 | 2023-02-21 | Acxiom Llc | Secondary tagging in a data heap |
US11599544B2 (en) | 2019-08-26 | 2023-03-07 | Acxiom Llc | Primary tagging in a data stream |
WO2022104205A1 (en) * | 2020-11-13 | 2022-05-19 | Gifted Bill Enterprises, Llc | Gameplay evaluation method and system |
Also Published As
Publication number | Publication date |
---|---|
WO2003058534A1 (en) | 2003-07-17 |
US8086491B1 (en) | 2011-12-27 |
AU2002361906A1 (en) | 2003-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8086491B1 (en) | Method and system for targeted content distribution using tagged data streams | |
US7360160B2 (en) | System and method for providing substitute content in place of blocked content | |
US20050033849A1 (en) | Content blocking | |
US7698720B2 (en) | Content blocking | |
US8935722B2 (en) | Methods, systems, and products for content blocking | |
US8640160B2 (en) | Method and system for providing targeted advertisements | |
US7003792B1 (en) | Smart agent based on habit, statistical inference and psycho-demographic profiling | |
US6718551B1 (en) | Method and system for providing targeted advertisements | |
US7979881B1 (en) | System and method for identifying audio/visual programs to be recorded | |
US7962934B1 (en) | Advertisement monitoring system | |
US8695031B2 (en) | System, device, and method for delivering multimedia | |
JP4625656B2 (en) | Interactive content without triggers | |
US20080109851A1 (en) | Method and system for providing interactive video | |
MXPA01008377A (en) | System and method for tailoring television and/or electronic program guide features, such as advertising. | |
KR20050057578A (en) | Commercial recommender | |
CA2387562C (en) | Method and system for providing targeted advertisements | |
KR101102351B1 (en) | Method and system for providing custom-made broadcasting program | |
MXPA01005379A (en) | Smart agent based on habit, statistical inference and psycho-demographic profiling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BELLSOUTH INTELLECTUAL PROPERTY CORPORATION, DELAW Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MATZ, WILLIAM R.;SWIX, SCOTT R.;REEL/FRAME:027264/0704 Effective date: 20011229 |
|
AS | Assignment |
Owner name: AT&T BLS INTELLECTUAL PROPERTY, INC., DELAWARE Free format text: CHANGE OF NAME;ASSIGNOR:AT&T INTELLECTUAL PROPERTY, INC.;REEL/FRAME:030373/0427 Effective date: 20070727 Owner name: AT&T INTELLECTUAL PROPERTY, INC., TEXAS Free format text: CHANGE OF NAME;ASSIGNOR:BELLSOUTH INTELLECTUAL PROPERTY CORPORATION;REEL/FRAME:030373/0208 Effective date: 20070427 Owner name: AT&T DELAWARE INTELLECTUAL PROPERTY, INC., GEORGIA Free format text: CHANGE OF NAME;ASSIGNOR:AT&T BLS INTELLECTUAL PROPERTY, INC.;REEL/FRAME:030373/0443 Effective date: 20071101 |
|
AS | Assignment |
Owner name: AT&T INTELLECTUAL PROPERTY I, L.P., GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AT&T DELAWARE INTELLECTUAL PROPERTY, INC.;REEL/FRAME:030487/0901 Effective date: 20130503 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: HAT TRICK, SERIES 83 OF ALLIED SECURITY TRUST, CAL Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AT&T INTELLECTUAL PROPERTY I, L.P.;REEL/FRAME:040169/0863 Effective date: 20160927 |