US20090037431A1 - System and method for maintaining metadata correctness - Google Patents

System and method for maintaining metadata correctness Download PDF

Info

Publication number
US20090037431A1
US20090037431A1 US12/072,454 US7245408A US2009037431A1 US 20090037431 A1 US20090037431 A1 US 20090037431A1 US 7245408 A US7245408 A US 7245408A US 2009037431 A1 US2009037431 A1 US 2009037431A1
Authority
US
United States
Prior art keywords
metadata
database
discovery service
crawler
product
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
Application number
US12/072,454
Inventor
Paul Martino
Gian-Paolo Musumeci
Kristopher C. Wehner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aggregate Knowledge Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US12/072,454 priority Critical patent/US20090037431A1/en
Application filed by Individual filed Critical Individual
Assigned to AGGREGATE KNOWLEDGE reassignment AGGREGATE KNOWLEDGE ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MARTINO, PAUL, MUSUMECI, GIAN-PAOLO, WEHNER, KRISTOPHER C.
Publication of US20090037431A1 publication Critical patent/US20090037431A1/en
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. reassignment MORGAN STANLEY SENIOR FUNDING, INC. INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT Assignors: AGGREGATE KNOWLEDGE INC.
Assigned to NEUSTAR, INC., AGGREGATE KNOWLEDGE, INC., ULTRADNS CORPORATION, NEUSTAR DATA SERVICES, INC., NEUSTAR INFORMATION SERVICES, INC., NEUSTAR IP INTELLIGENCE, INC., MARKETSHARE ACQUISITION CORPORATION, MARKETSHARE HOLDINGS, INC., MARKETSHARE PARTNERS, LLC reassignment NEUSTAR, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Assigned to UBS AG, STAMFORD BRANCH reassignment UBS AG, STAMFORD BRANCH SECOND LIEN PATENT SECURITY AGREEMENT Assignors: AGGREGATE KNOWLEDGE, INC., MARKETSHARE PARTNERS LLC, NEUSTAR INFORMATION SERVICES, INC., NEUSTAR IP INTELLIGENCE, INC., NEUSTAR, INC.
Assigned to BANK OF AMERICA, N.A. reassignment BANK OF AMERICA, N.A. SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AGGREGATE KNOWLEDGE, INC., MARKETSHARE PARTNERS LLC, NEUSTAR INFORMATION SERVICES, INC., NEUSTAR IP INTELLIGENCE, INC., NEUSTAR, INC.
Priority to US15/985,553 priority patent/US11144933B2/en
Priority to US17/498,191 priority patent/US11880849B2/en
Assigned to NEUSTAR, INC., AGGREGATE KNOWLEDGE, INC., MARKETSHARE PARTNERS LLC, NEUSTAR INFORMATION SERVICES, INC., NEUSTAR IP INTELLIGENCE, INC. reassignment NEUSTAR, INC. SECOND LIEN PATENT SECURITY AGREEMENT RELEASE Assignors: UBS AG, STAMFORD BRANCH
Assigned to NEUSTAR, INC., AGGREGATE KNOWLEDGE, INC., MARKETSHARE PARTNERS LLC, NEUSTAR INFORMATION SERVICES, INC., NEUSTAR IP INTELLIGENCE, INC. reassignment NEUSTAR, INC. FIRST LIEN PATENT SECURITY AGREEMENT RELEASE Assignors: BANK OF AMERICA, N.A.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Definitions

  • This invention relates generally to maintaining metadata correctness. More specifically the invention relates to maintaining metadata correctness for a set of objects subscribing to a web service.
  • Metadata is data that is used to supplement other data.
  • metadata can be used to describe information that is auxiliary to another piece of data or object.
  • Examples of data or objects include products, web pages, photographs or any other piece of data that is capable of having data associated therewith.
  • metadata could include, but is not limited to: the type of camera used, the time of day it was taken, where the picture was taken, the size of lens used and the name of the photographer.
  • metadata could include, but is not limited to: price, SKU number, manufacturer, stocking status and one or more thumbnail images.
  • this metadata is maintained by the entity that controls the object: the photographer that created the photograph or the retail outlet selling the camera, in keeping with the earlier examples. It is common for ancillary services to require access to this metadata. For example, going back to the photograph example, a search engine might need or want to provide a searchable interface to many photographs based on their metadata (“show me pictures by Ansel Adams taken after 9 p.m. in Alaska with an 8 inch lens”). Unfortunately, because the service does not maintain the metadata and any changes thereto, consistency and correctness problems may emerge.
  • a method includes a relationship server that receives a discovery service request from a client computer, the relationship server compares the metadata provided in the discovery service request against a database and a crawler retrieves updated metadata from a commerce server if the metadata provided in the discovery service request does not match the metadata stored in the database column.
  • a network in a further embodiment, includes a plurality of commerce servers, a client computer to request a page including metadata from a first of the commerce servers corresponding to a product and a relationship server to receive a content request including the metadata from the client computer, to compare the received metadata to first metadata stored in a database and to validate the metadata if the received metadata does not match the first metadata.
  • FIG. 1 is a high-level block diagram of one embodiment of a computing environment according to one embodiment of the present invention.
  • FIG. 2 is a high-level block diagram illustrating one embodiment of a functional view of a computer system.
  • FIG. 3 shows one embodiment of a screen capture depiction of a merchant's store on the World Wide Web.
  • FIG. 4 is a high-level block diagram illustrating one embodiment of a data center.
  • FIG. 5 is a flow chart illustrating one embodiment of checking the accuracy of metadata dynamically.
  • FIG. 6 is an example process of an embodiment enabling maintaining metadata correctness.
  • FIG. 7 is an embodiment for dynamically updating metadata.
  • inventive body of work is not limited to any one embodiment, but instead encompasses numerous alternatives, modifications, and equivalents.
  • inventive body of work is not limited to any one embodiment, but instead encompasses numerous alternatives, modifications, and equivalents.
  • numerous specific details are set forth in the following description in order to provide a thorough understanding of the inventive body of work, some embodiments can be practiced without some or all of these details.
  • certain technical material that is known in the related art has not been described in detail in order to avoid unnecessarily obscuring the invention.
  • a method for the dynamic validation of metadata correctness is disclosed. End user interactions are used with an object for transmitting metadata information, which allows integration of various types of metadata. Metadata is associated with an object. Each time a user interacts with an object, the current metadata associated with the object is transmitted to a web application. The web application compares the current metadata with the service provider's metadata (if any). If a change has been detected, e.g., a mismatch between the service provider's stored data and the metadata originally transmitted to the web application, the object having inconsistent metadata is tagged for subsequent re-inspection.
  • Re-inspection process implements a decoupled inspection mechanism, such as a web crawler, that retrieves the object and associated metadata directly from the owner of the metadata.
  • the metadata is inspected and, if a change is valid, the service provider's database is updated.
  • the asynchronous nature of the validation system lends an additional measure of defense by preventing a third party from forging changed metadata information records and inciting the service into generating a denial-of-service attack.
  • Embodiments of the invention may include various processes as set forth below.
  • the processes may be embodied in machine-executable instructions.
  • the instructions can be used to cause a general-purpose or special-purpose processor to perform certain steps.
  • these processes may be performed by specific hardware components that contain hardwired logic for performing the processes, or by any combination of programmed computer components and custom hardware components.
  • Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions.
  • the machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions.
  • the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
  • a remote computer e.g., a server
  • a requesting computer e.g., a client
  • a communication link e.g., a modem or network connection
  • FIG. 1 and the other figures use like reference numerals to identify like elements.
  • the client 110 in this embodiment represents a computer system that is used by an end-user to interact with the web sites 112 via the network 116 .
  • the client 110 may be, for example, a personal computer or another network-capable device, such as a personal digital assistant (PDA), a cellular telephone, a pager, a video game system, a television “set-top box” etc.
  • PDA personal digital assistant
  • the web sites 112 are locations on the network 116 that provide web pages to the clients 110 via the network 116 .
  • the web sites 112 may be, for example, media sites that primarily provide content such as news to the end-users, retailer sites that enable the end-users to purchase items, social networking sites that enable end-users to interact with other people, blogs and hybrid sites that provide a mix of these features.
  • Those of skill in the art will recognize that there are essentially an unlimited number of different types of web sites 112 with which the clients 110 can interact.
  • the web sites 112 may or may not be related or associated with each other as the present invention envisions being applicable in both cases.
  • FIG. 1 illustrates three clients 110 and three web sites 112 , other embodiments may include any number of clients 110 and web sites 112 .
  • the end-users of the clients 110 interact with the web sites 112 .
  • the interactions establish relationships. For example, an end-user may view a web page for a digital camera, and subsequently view a web page for a memory card for that camera. These actions create relationships between the end-user and the camera, and between the end-user and the memory card.
  • the information from web sites 112 are provided to the relationship server 114 .
  • the web sites 112 receive recommendations from the relationship server 114 . These recommendations are provided to the end-users, typically by including the recommendations on web pages served to the end-users' clients 110 .
  • the recommendations can be for arbitrary and/or heterogeneous items and the web sites can request that the relationship server 114 provide recommendations for only specified types of items.
  • the recommendations may include items an end-user may want to purchase, news stories the end-user may want to read, musical groups in which the end-user may have interest, discussion groups in which the end-user may want to participate, etc.
  • the relationship server 114 receives descriptions of interactions that are derived from the web sites 112 and/or clients 110 and provides recommendations based at least in part on these interactions. In one embodiment, the relationship server 114 performs collaborative filtering on the received relationships to generate the recommendations.
  • Collaborative filtering allows for filtering based on arbitrary labels, predicates, intents, and/or relationships.
  • the collaborative filtering is performed using relationships supplied by multiple web sites 112 and/or clients 110 , and the resulting recommendations are of high quality.
  • the activities of the end-users that provide personally identifiable information may be tracked across multiple web sites 112 enabling the pool of relationships on which the collaborative filtering is based to be deeper than if only single-site activities were tracked.
  • the network 116 represents the communication pathways between the clients 110 , web sites 112 , and relationship server 114 .
  • the network 116 is the Internet.
  • the network 116 can also utilize dedicated or private communications links that are not necessarily part of the Internet.
  • the network 116 uses standard communications technologies and/or protocols.
  • the network 116 can include links using technologies such as 802.11, integrated services digital network (ISDN), digital subscriber line (DSL), asynchronous transfer mode (ATM), etc.
  • the networking protocols used on the network 116 can include multiprotocol label switching (MPLS), the transmission control protocol/Internet protocol (TCP/IP), the hypertext transport protocol (HTTP), the simple mail transfer protocol (SMTP), the file transfer protocol (FTP), etc.
  • MPLS multiprotocol label switching
  • TCP/IP transmission control protocol/Internet protocol
  • HTTP hypertext transport protocol
  • SMTP simple mail transfer protocol
  • FTP file transfer protocol
  • the data exchanged over the network 116 can be represented using technologies and/or formats including the hypertext markup language (HTML), the extensible markup language (XML), the web services description language (WSDL), etc.
  • links can be encrypted using conventional encryption technologies such as the secure sockets layer (SSL), Secure HTTP and/or virtual private networks (VPNs).
  • SSL secure sockets layer
  • VPNs virtual private networks
  • the entities can use custom and/or dedicated data communications technologies instead of, or in addition to, the ones described above.
  • FIG. 2 is a high-level block diagram illustrating a functional view of a typical computer system 200 for use as one of the entities illustrated in the environment 100 of FIG. 1 according to one embodiment. Illustrated are at least one processor 202 coupled to a bus 204 . Also coupled to the bus 204 are a memory 206 , a storage device 208 , a keyboard 210 , a graphics adapter 212 , a pointing device 214 , and a network adapter 216 . A display 218 is coupled to the graphics adapter 212 .
  • the processor 202 may be any general-purpose processor such as an INTEL x86, SUN MICROSYSTEMS SPARC, or POWERPC compatible-CPU.
  • the storage device 208 is, in one embodiment, a hard disk drive but can also be any other device capable of storing data, such as a writeable compact disk (CD) or DVD, or a solid-state memory device.
  • the memory 206 may be, for example, firmware, read-only memory (ROM), non-volatile random access memory (NVRAM), and/or RAM, and holds instructions and data used by the processor 202 .
  • the pointing device 214 may be a mouse, track ball, or other type of pointing device, and is used in combination with the keyboard 210 to input data into the computer system 200 .
  • the graphics adapter 212 displays images and other information on the display 218 .
  • the network adapter 216 couples the computer system 200 to the network 108 .
  • the computer system 200 is adapted to execute computer program modules.
  • module refers to computer program logic and/or data for providing the specified functionality.
  • a module can be implemented in hardware, firmware, and/or software.
  • the modules are stored on the storage device 208 , loaded into the memory 206 , and executed by the processor 202 .
  • the types of computers 200 utilized by the entities of FIG. 1 can vary depending upon the embodiment and the processing power required for the entity.
  • the client 110 typically requires less processing power than the web site 112 and relationship server 114 .
  • the client 110 can be a personal computer, cellular telephone, etc.
  • the web site 112 and relationship server 114 computers may comprise more powerful processors and/or multiple computers working together to provide the functionality described herein.
  • the computers 200 can lack some of the features shown in FIG. 2 .
  • a blade server supporting a web site 112 may lack a keyboard, pointing device, and display.
  • the computer system 200 serving as the relationship server 114 utilizes a processor 202 and/or memory 206 having a 64-bit word size.
  • FIG. 3 shows one embodiment of a merchant store on the World Wide Web. Any object may be displayed in the merchant store.
  • a chair 301 is displayed in the storefront.
  • different retail items can be displayed or articles from media sites or information on blogs.
  • the metadata 303 is transmitted to a web application (not depicted) for validation.
  • the metadata 303 includes the items Uniform Resource Locator (“URL”) 304 , the list price 305 , today's price 306 , you save 307 and catalog # 308 .
  • the metadata 303 in one embodiment may be visible to the end user, in other embodiments the metadata 303 may be entirely invisible and in other embodiments there can be a blend of both.
  • FIG. 4 is a high-level block diagram illustrating modules within relationship server 114 according to one embodiment of the present invention.
  • Relationship server 114 includes a web application module 401 a crawler 402 and a database 403 .
  • web application module 401 a crawler 402
  • database 403 a database
  • the web application module 401 receives information from websites 112 . In a preferred embodiment information is transmitted based upon client 110 interaction with a website 300 . Furthermore, the web application module 401 stores metadata 303 received from a client 110 describing the metadata for a website 112 into database module 403 . In one embodiment, these components communicate using a network. In another embodiment, the components are collocated in a single server.
  • the database module 403 stores metadata in tables. In one embodiment, the database module 403 stores data such as prices, thumbnails and other metadata for retail items. In another embodiment, database module 403 stores data describing news stories, including titles, descriptions and summaries.
  • the crawler 402 checks the database for existing metadata 303 and updates the table based upon metadata retrieved on its own based upon communications for a website.
  • the metadata received from a client 110 is compared with the stored metadata in the database 403 by the web application module 401 . Changes to the metadata detected by the web application module 401 will then trigger the crawler 402 to verify the metadata via its own communications with the website 112 .
  • FIG. 5 is a flow chart illustrating one embodiment for checking the accuracy of metadata dynamically.
  • metadata 303 that is associated with object 301 is generated in response to a client 110 interaction with a webpage 300 .
  • the interaction with the website 300 that generates the metadata 303 is the “add to cart” action performed by a client on the webpage 300 .
  • the metadata 303 is transmitted to the web application 401 .
  • the web application subsequently loads the metadata 303 into the database 403 , which is illustrated at processing block 503 .
  • the metadata 303 is analyzed against existing information in the database.
  • the database may have a different price than the received metadata 303 , or may have no data at all.
  • the metadata 303 is flagged and placed in a verification queue 404 for verification.
  • the crawler checks queue 404 for metadata 303 that needs verification.
  • the crawler makes an HTTP request of the website 300 from where the original metadata 303 was derived and receives new metadata and the webpage (e.g., metadata specific to the crawler request).
  • the crawler compares the new metadata. to the flagged metadata . . . . If there is a difference between the flagged metadata and the new metadata the table is updated to reflect the new metadata as illustrated at processing block 508 .
  • FIG. 6 illustrates one embodiment for maintaining metadata correctness.
  • the client 110 submits a request for product information to an e-commerce web site 112 via some network 116 .
  • the web site 112 responds with an HTML-formatted web page, 650 , including a discovery service URL, 651 having encoded metadata about the product that was referenced.
  • a web browser at client 110 requests the discovery service URL 651 from the relationship server 114 .
  • the relationship server 114 checks the metadata provided in the encoded URL 651 during process 603 against a database 670 .
  • This database includes a set of columns. The columns include a unique item identifier 671 , the last time a request for this item was seen 672 , the associated metadata 673 , and a flag to indicate pending updates 674 . If the metadata provided in the encoded URL 651 matches the metadata 673 associated with the product, then the timestamp 672 is updated and no further work occurs. If the metadata does not match, however, then the pending update field 674 is set for this product. Note that the metadata provided in the URL 651 that has passed through the client 110 is not trusted in any way.
  • the relationship server 114 then returns a HTML-formatted list of recommendations 652 to the user 110 at process 605 .
  • the crawler 680 awakens and checks the database 670 for a list of all product identifiers 671 that have the pending update field 674 set.
  • it requests the product information from the e-commerce web site 112 via some network (again, not shown here).
  • the web site 112 replies with a new copy of the HTML-formatted web page 650 , again containing a directory service URL 651 which contains encoded metadata.
  • the web crawler 680 inspects the encoded metadata contained in the discovery service URL 651 . It updates the necessary entries in the database 670 , modifying the current metadata information 673 and clearing the pending update field 674 for the unique product in question.
  • FIG. 7 illustrates one embodiment of an interaction diagram describing the logical interactions of the components involved in the update of an item's metadata after validation by the crawler mechanism.
  • An end user browser 703 requests a page from a customer website 701 which describes an item with metadata.
  • the page describing the item includes a reference to the web application 702 .
  • the end user browser 703 includes a module that communicates with the web application 702 .
  • the end user browser 703 connects to the web application 702 to request content.
  • the end user browser 703 transmits a copy of the metadata describing the item to the web application 702 along with the content request.
  • the end user browser 703 makes a separate request to transmit the metadata to the web application 702 .
  • the end user browser 703 transmits logically invalid metadata to the web application 702 to force trigger a crawler refresh.
  • the web application 702 compares the metadata received from the end user browser 703 with the metadata stored in the database 706 . If the metadata differs, an identifier for the page is placed in the validation queue 705 . In one embodiment, the identifier for the page is the URL of the page. In another embodiment, the identifier for the page can be an external reference such as a database primary key.
  • the metadata validator 704 removes items from the validation queue 705 to validate. In one embodiment, the metadata validator 704 periodically polls the validation queue 705 . In another embodiment, the validation queue 705 notifies the metadata validator 704 when items are available to validate. In yet another embodiment, the web application 702 can directly notify the metadata validator 704 without using the validation queue 705 .
  • the metadata validator 704 fetches a copy of the page from the customer website 701 .
  • the metadata validator 704 executes dynamic content in the page to emulate the operation of the end user browser 703 , transmitting the metadata for the item to the web application 702 .
  • the metadata validator 704 reads the metadata from the page and transmits it to the web application 702 .
  • the web application 702 When the web application 702 receives the metadata from the metadata validator 704 , it stores the metadata values in the database 706 , overwriting any potentially existing values.

Abstract

A method is disclosed. The method includes a relationship server receiving a discovery service request from a client computer, the relationship server comparing metadata provided in the discovery service request against a database and a crawler retrieving updated metadata from a commerce server for if the metadata provided in the discovery service request does not match the metadata stored in the database column.

Description

  • This is a non-provisional application based on provisional application Ser. No. 60/962,552 filed on Jul. 30, 2007, and claims priority thereof.
  • COPYRIGHT AUTHORIZATION
  • A portion of the disclosure of this patent document may contain material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
  • FIELD OF THE INVENTION
  • This invention relates generally to maintaining metadata correctness. More specifically the invention relates to maintaining metadata correctness for a set of objects subscribing to a web service.
  • BACKGROUND
  • Metadata is data that is used to supplement other data. For example metadata can be used to describe information that is auxiliary to another piece of data or object. Examples of data or objects include products, web pages, photographs or any other piece of data that is capable of having data associated therewith. Using the photograph as an example of an object, metadata could include, but is not limited to: the type of camera used, the time of day it was taken, where the picture was taken, the size of lens used and the name of the photographer. Using a camera as an example of an object, metadata could include, but is not limited to: price, SKU number, manufacturer, stocking status and one or more thumbnail images.
  • Traditionally, this metadata is maintained by the entity that controls the object: the photographer that created the photograph or the retail outlet selling the camera, in keeping with the earlier examples. It is common for ancillary services to require access to this metadata. For example, going back to the photograph example, a search engine might need or want to provide a searchable interface to many photographs based on their metadata (“show me pictures by Ansel Adams taken after 9 p.m. in Alaska with an 8 inch lens”). Unfortunately, because the service does not maintain the metadata and any changes thereto, consistency and correctness problems may emerge.
  • Historically, these problems have been dealt with by accepting copies of the metadata, as well as incremental updates, from the owner, be it in bulk format (a dump), an explicit integration with external systems (an integration) or in a streaming format for incremental updates (a feed). These external data sources are then used to synchronize the changes in the catalog with the service's database. This approach is difficult to automate, prone to errors, time-intensive, and goes out of date due to the error prone nature of feeds and the complexity of their maintenance over time.
  • Therefore, what has been needed and heretofore unavailable is a system and method of maintaining metadata correctness that overcomes the shortcomings of the previous approaches.
  • SUMMARY
  • According to one embodiment, a method is disclosed. The method includes a relationship server that receives a discovery service request from a client computer, the relationship server compares the metadata provided in the discovery service request against a database and a crawler retrieves updated metadata from a commerce server if the metadata provided in the discovery service request does not match the metadata stored in the database column.
  • In a further embodiment, a network is disclosed. The network includes a plurality of commerce servers, a client computer to request a page including metadata from a first of the commerce servers corresponding to a product and a relationship server to receive a content request including the metadata from the client computer, to compare the received metadata to first metadata stored in a database and to validate the metadata if the received metadata does not match the first metadata.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The inventive body of work will be readily understood by referring to the following detailed description in conjunction with the accompanying drawings, in which:
  • FIG. 1 is a high-level block diagram of one embodiment of a computing environment according to one embodiment of the present invention.
  • FIG. 2 is a high-level block diagram illustrating one embodiment of a functional view of a computer system.
  • FIG. 3 shows one embodiment of a screen capture depiction of a merchant's store on the World Wide Web.
  • FIG. 4 is a high-level block diagram illustrating one embodiment of a data center.
  • FIG. 5 is a flow chart illustrating one embodiment of checking the accuracy of metadata dynamically.
  • FIG. 6 is an example process of an embodiment enabling maintaining metadata correctness.
  • FIG. 7 is an embodiment for dynamically updating metadata.
  • DETAILED DESCRIPTION
  • A detailed description of the inventive body of work is provided below. While several embodiments are described, it should be understood that the inventive body of work is not limited to any one embodiment, but instead encompasses numerous alternatives, modifications, and equivalents. In addition, while numerous specific details are set forth in the following description in order to provide a thorough understanding of the inventive body of work, some embodiments can be practiced without some or all of these details. Moreover, for the purpose of clarity, certain technical material that is known in the related art has not been described in detail in order to avoid unnecessarily obscuring the invention.
  • Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
  • It should be appreciated that embodiments of the described inventive body of work can be implemented in numerous ways, including as processes, apparatuses, systems, devices, methods, computer readable media, and/or as a combination thereof. Illustrative embodiments are described below.
  • In one embodiment, a method for the dynamic validation of metadata correctness is disclosed. End user interactions are used with an object for transmitting metadata information, which allows integration of various types of metadata. Metadata is associated with an object. Each time a user interacts with an object, the current metadata associated with the object is transmitted to a web application. The web application compares the current metadata with the service provider's metadata (if any). If a change has been detected, e.g., a mismatch between the service provider's stored data and the metadata originally transmitted to the web application, the object having inconsistent metadata is tagged for subsequent re-inspection.
  • Re-inspection process implements a decoupled inspection mechanism, such as a web crawler, that retrieves the object and associated metadata directly from the owner of the metadata. The metadata is inspected and, if a change is valid, the service provider's database is updated. The asynchronous nature of the validation system lends an additional measure of defense by preventing a third party from forging changed metadata information records and inciting the service into generating a denial-of-service attack.
  • Commonly-assigned U.S. patent application Ser. No. 11/369,562, entitled Using Cross-Site Relationships to Generate Recommendations filed Mar. 1, 2006 (“the '562 application”), which is hereby incorporated by reference in its entirety, describes embodiments of an invention related to determining recommendations by tracking interactions across multiple websites.
  • Embodiments of the invention may include various processes as set forth below. The processes may be embodied in machine-executable instructions. The instructions can be used to cause a general-purpose or special-purpose processor to perform certain steps. Alternatively, these processes may be performed by specific hardware components that contain hardwired logic for performing the processes, or by any combination of programmed computer components and custom hardware components.
  • Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
  • FIG. 1 and the other figures use like reference numerals to identify like elements. A letter after a reference numeral, such as “110A,” indicates that the text refers specifically to the element having that particular reference numeral. A reference numeral in the text without a following letter, such as “110,” refers to any or all of the elements in the figures bearing that reference numeral (e.g. “110” in the text refers to reference numerals “110A,” “110B,” and/or “110C” in the figures).
  • The client 110 in this embodiment represents a computer system that is used by an end-user to interact with the web sites 112 via the network 116. The client 110 may be, for example, a personal computer or another network-capable device, such as a personal digital assistant (PDA), a cellular telephone, a pager, a video game system, a television “set-top box” etc.
  • The web sites 112 are locations on the network 116 that provide web pages to the clients 110 via the network 116. The web sites 112 may be, for example, media sites that primarily provide content such as news to the end-users, retailer sites that enable the end-users to purchase items, social networking sites that enable end-users to interact with other people, blogs and hybrid sites that provide a mix of these features. Those of skill in the art will recognize that there are essentially an unlimited number of different types of web sites 112 with which the clients 110 can interact. The web sites 112 may or may not be related or associated with each other as the present invention envisions being applicable in both cases. Although FIG. 1 illustrates three clients 110 and three web sites 112, other embodiments may include any number of clients 110 and web sites 112.
  • The end-users of the clients 110 interact with the web sites 112. In one embodiment, the interactions establish relationships. For example, an end-user may view a web page for a digital camera, and subsequently view a web page for a memory card for that camera. These actions create relationships between the end-user and the camera, and between the end-user and the memory card. The information from web sites 112 are provided to the relationship server 114.
  • The web sites 112 receive recommendations from the relationship server 114. These recommendations are provided to the end-users, typically by including the recommendations on web pages served to the end-users' clients 110. The recommendations can be for arbitrary and/or heterogeneous items and the web sites can request that the relationship server 114 provide recommendations for only specified types of items. For example, the recommendations may include items an end-user may want to purchase, news stories the end-user may want to read, musical groups in which the end-user may have interest, discussion groups in which the end-user may want to participate, etc.
  • The relationship server 114 receives descriptions of interactions that are derived from the web sites 112 and/or clients 110 and provides recommendations based at least in part on these interactions. In one embodiment, the relationship server 114 performs collaborative filtering on the received relationships to generate the recommendations.
  • Collaborative filtering allows for filtering based on arbitrary labels, predicates, intents, and/or relationships. In one embodiment the collaborative filtering is performed using relationships supplied by multiple web sites 112 and/or clients 110, and the resulting recommendations are of high quality. Moreover, the activities of the end-users that provide personally identifiable information may be tracked across multiple web sites 112 enabling the pool of relationships on which the collaborative filtering is based to be deeper than if only single-site activities were tracked.
  • The network 116 represents the communication pathways between the clients 110, web sites 112, and relationship server 114. In one embodiment, the network 116 is the Internet. The network 116 can also utilize dedicated or private communications links that are not necessarily part of the Internet. In one embodiment, the network 116 uses standard communications technologies and/or protocols. Thus, the network 116 can include links using technologies such as 802.11, integrated services digital network (ISDN), digital subscriber line (DSL), asynchronous transfer mode (ATM), etc.
  • Similarly, the networking protocols used on the network 116 can include multiprotocol label switching (MPLS), the transmission control protocol/Internet protocol (TCP/IP), the hypertext transport protocol (HTTP), the simple mail transfer protocol (SMTP), the file transfer protocol (FTP), etc. The data exchanged over the network 116 can be represented using technologies and/or formats including the hypertext markup language (HTML), the extensible markup language (XML), the web services description language (WSDL), etc.
  • In addition, all or some of links can be encrypted using conventional encryption technologies such as the secure sockets layer (SSL), Secure HTTP and/or virtual private networks (VPNs). In another embodiment, the entities can use custom and/or dedicated data communications technologies instead of, or in addition to, the ones described above.
  • FIG. 2 is a high-level block diagram illustrating a functional view of a typical computer system 200 for use as one of the entities illustrated in the environment 100 of FIG. 1 according to one embodiment. Illustrated are at least one processor 202 coupled to a bus 204. Also coupled to the bus 204 are a memory 206, a storage device 208, a keyboard 210, a graphics adapter 212, a pointing device 214, and a network adapter 216. A display 218 is coupled to the graphics adapter 212.
  • The processor 202 may be any general-purpose processor such as an INTEL x86, SUN MICROSYSTEMS SPARC, or POWERPC compatible-CPU. The storage device 208 is, in one embodiment, a hard disk drive but can also be any other device capable of storing data, such as a writeable compact disk (CD) or DVD, or a solid-state memory device. The memory 206 may be, for example, firmware, read-only memory (ROM), non-volatile random access memory (NVRAM), and/or RAM, and holds instructions and data used by the processor 202. The pointing device 214 may be a mouse, track ball, or other type of pointing device, and is used in combination with the keyboard 210 to input data into the computer system 200. The graphics adapter 212 displays images and other information on the display 218. The network adapter 216 couples the computer system 200 to the network 108.
  • As is known in the art, the computer system 200 is adapted to execute computer program modules. As used herein, the term “module” refers to computer program logic and/or data for providing the specified functionality. A module can be implemented in hardware, firmware, and/or software. In one embodiment, the modules are stored on the storage device 208, loaded into the memory 206, and executed by the processor 202.
  • The types of computers 200 utilized by the entities of FIG. 1 can vary depending upon the embodiment and the processing power required for the entity. For example, the client 110 typically requires less processing power than the web site 112 and relationship server 114. Thus, the client 110 can be a personal computer, cellular telephone, etc.
  • The web site 112 and relationship server 114 computers, in contrast, may comprise more powerful processors and/or multiple computers working together to provide the functionality described herein. In addition, the computers 200 can lack some of the features shown in FIG. 2. For example, a blade server supporting a web site 112 may lack a keyboard, pointing device, and display. In one embodiment, the computer system 200 serving as the relationship server 114 utilizes a processor 202 and/or memory 206 having a 64-bit word size.
  • FIG. 3 shows one embodiment of a merchant store on the World Wide Web. Any object may be displayed in the merchant store. In this particular embodiment, a chair 301 is displayed in the storefront. In other embodiments, different retail items can be displayed or articles from media sites or information on blogs. When an end user decides to purchase the chair 301 by selecting an add to cart icon 302, the metadata 303 is transmitted to a web application (not depicted) for validation. In this embodiment, the metadata 303 includes the items Uniform Resource Locator (“URL”) 304, the list price 305, today's price 306, you save 307 and catalog # 308. The metadata 303 in one embodiment may be visible to the end user, in other embodiments the metadata 303 may be entirely invisible and in other embodiments there can be a blend of both.
  • FIG. 4 is a high-level block diagram illustrating modules within relationship server 114 according to one embodiment of the present invention. Relationship server 114 includes a web application module 401 a crawler 402 and a database 403. Those of skill in the art will recognize that other embodiments can have different and/or other modules than the ones described here, and that the functionalities can be distributed among the modules and/or entities illustrated in FIG. 4 in a different manner.
  • The web application module 401 receives information from websites 112. In a preferred embodiment information is transmitted based upon client 110 interaction with a website 300. Furthermore, the web application module 401 stores metadata 303 received from a client 110 describing the metadata for a website 112 into database module 403. In one embodiment, these components communicate using a network. In another embodiment, the components are collocated in a single server.
  • The database module 403 stores metadata in tables. In one embodiment, the database module 403 stores data such as prices, thumbnails and other metadata for retail items. In another embodiment, database module 403 stores data describing news stories, including titles, descriptions and summaries.
  • The crawler 402 checks the database for existing metadata 303 and updates the table based upon metadata retrieved on its own based upon communications for a website. In one embodiment, the metadata received from a client 110 is compared with the stored metadata in the database 403 by the web application module 401. Changes to the metadata detected by the web application module 401 will then trigger the crawler 402 to verify the metadata via its own communications with the website 112.
  • FIG. 5 is a flow chart illustrating one embodiment for checking the accuracy of metadata dynamically. At processing block 501 metadata 303 that is associated with object 301 is generated in response to a client 110 interaction with a webpage 300. In one embodiment, the interaction with the website 300 that generates the metadata 303 is the “add to cart” action performed by a client on the webpage 300.
  • However, in other embodiments there are a variety of interactions that could prompt the generation of metadata (e.g., viewing the object, clicking on the object, clicking on a thumbnail representation of the object or any other interaction that one of ordinary skill in the art would appreciate in light of the purpose of the invention). At processing block 502, the metadata 303 is transmitted to the web application 401. The web application subsequently loads the metadata 303 into the database 403, which is illustrated at processing block 503.
  • At processing block 504, the metadata 303 is analyzed against existing information in the database. For example, the database may have a different price than the received metadata 303, or may have no data at all. In such a case, the metadata 303 is flagged and placed in a verification queue 404 for verification. In processing block 505, the crawler checks queue 404 for metadata 303 that needs verification. In processing block 506, the crawler makes an HTTP request of the website 300 from where the original metadata 303 was derived and receives new metadata and the webpage (e.g., metadata specific to the crawler request). At processing block 507, the crawler compares the new metadata. to the flagged metadata . . . . If there is a difference between the flagged metadata and the new metadata the table is updated to reflect the new metadata as illustrated at processing block 508.
  • FIG. 6 illustrates one embodiment for maintaining metadata correctness. At process 601, the client 110 submits a request for product information to an e-commerce web site 112 via some network 116. At process 602, the web site 112 responds with an HTML-formatted web page, 650, including a discovery service URL, 651 having encoded metadata about the product that was referenced. At process 603, a web browser at client 110 requests the discovery service URL 651 from the relationship server 114.
  • At process 604, the relationship server 114 checks the metadata provided in the encoded URL 651 during process 603 against a database 670. This database includes a set of columns. The columns include a unique item identifier 671, the last time a request for this item was seen 672, the associated metadata 673, and a flag to indicate pending updates 674. If the metadata provided in the encoded URL 651 matches the metadata 673 associated with the product, then the timestamp 672 is updated and no further work occurs. If the metadata does not match, however, then the pending update field 674 is set for this product. Note that the metadata provided in the URL 651 that has passed through the client 110 is not trusted in any way.
  • The relationship server 114 then returns a HTML-formatted list of recommendations 652 to the user 110 at process 605. At process 606, the crawler 680 awakens and checks the database 670 for a list of all product identifiers 671 that have the pending update field 674 set. At process 607, for each of these items, it requests the product information from the e-commerce web site 112 via some network (again, not shown here). At process 608, the web site 112 replies with a new copy of the HTML-formatted web page 650, again containing a directory service URL 651 which contains encoded metadata.
  • Finally at process 609, the web crawler 680 inspects the encoded metadata contained in the discovery service URL 651. It updates the necessary entries in the database 670, modifying the current metadata information 673 and clearing the pending update field 674 for the unique product in question.
  • FIG. 7 illustrates one embodiment of an interaction diagram describing the logical interactions of the components involved in the update of an item's metadata after validation by the crawler mechanism.
  • An end user browser 703 requests a page from a customer website 701 which describes an item with metadata. In one embodiment, the page describing the item includes a reference to the web application 702. In another embodiment, the end user browser 703 includes a module that communicates with the web application 702.
  • The end user browser 703 connects to the web application 702 to request content. In a preferred embodiment, the end user browser 703 transmits a copy of the metadata describing the item to the web application 702 along with the content request. In another embodiment, the end user browser 703 makes a separate request to transmit the metadata to the web application 702. In yet another embodiment, the end user browser 703 transmits logically invalid metadata to the web application 702 to force trigger a crawler refresh.
  • The web application 702 compares the metadata received from the end user browser 703 with the metadata stored in the database 706. If the metadata differs, an identifier for the page is placed in the validation queue 705. In one embodiment, the identifier for the page is the URL of the page. In another embodiment, the identifier for the page can be an external reference such as a database primary key.
  • The metadata validator 704 removes items from the validation queue 705 to validate. In one embodiment, the metadata validator 704 periodically polls the validation queue 705. In another embodiment, the validation queue 705 notifies the metadata validator 704 when items are available to validate. In yet another embodiment, the web application 702 can directly notify the metadata validator 704 without using the validation queue 705.
  • When an item is received to validate, the metadata validator 704 fetches a copy of the page from the customer website 701. In a preferred embodiment, the metadata validator 704 executes dynamic content in the page to emulate the operation of the end user browser 703, transmitting the metadata for the item to the web application 702. In another embodiment, the metadata validator 704 reads the metadata from the page and transmits it to the web application 702.
  • When the web application 702 receives the metadata from the metadata validator 704, it stores the metadata values in the database 706, overwriting any potentially existing values.
  • The above description is included to illustrate the operation of the preferred embodiments and is not meant to limit the scope of the invention. The scope of the invention is to be limited only by the following claims. From the above discussion, many variations will be apparent to one skilled in the relevant art that would yet be encompassed by the spirit and scope of the invention.

Claims (23)

1. A method comprising:
a relationship server receiving a discovery service request from a client computer;
the relationship server comparing metadata provided in the discovery service request against a database; and
a crawler retrieving updated metadata from a commerce server if the metadata provided in the discovery service request does not match the metadata stored in the database column.
2. The method of claim 1, wherein the database includes a set of columns each column having associated metadata, a unique product identifier, a timestamp indicating the last time a request for an item was checked and a flag to indicate pending updates.
3. The method of claim 2, further comprising updating a timestamp if the metadata provided in the discovery service request matches the metadata stored in the database column.
4. The method of claim 3, further comprising setting the pending update flag if the metadata provided in the discovery service request does not match the metadata stored in the database column.
5. The method of claim 4, further comprising the relationship server returning a list of recommendations to the client computer.
6. The method of claim 4, further comprising:
the crawler checking the database for a list of product identifiers that have a pending update flag set;
the crawler requesting product information from one or more commerce servers for products corresponding to each of the product identifiers;
the crawler receiving metadata from the one or more commerce servers corresponding for the products corresponding to each of the product identifiers; and
the web crawler updating the database entries.
7. The method of claim 6, wherein updating the database entries comprises:
modifying current metadata information; and
clearing the pending update field for the product.
8. The method of claim 1, further comprising:
a client computer submitting a request for product information to a commerce server via a network; and
the client computer receiving a discovery service URL having encoded metadata about the product.
9. A network comprising:
a plurality of commerce servers;
a client computer to request a page including metadata from a first of the commerce servers corresponding to a product; and
a relationship server to receive a content request including the metadata from the client computer, to compare the received metadata to first metadata stored in a database and to validate the metadata if the received metadata does not match the first metadata.
10. The network of claim 9, further comprising the relationship server placing an identifier in a validation queue if the received metadata does not match the first metadata.
11. The network of claim 10, further comprising the relationship server removing the identifier from the validation queue to validate, retrieves updated metadata from the first customer server and stores the updated metadata in the database.
12. The network of claim 11, wherein the updated metadata is written over the first metadata.
13. A relationship server comprising:
a database;
a validation queue;
a web application to receive a content request including the metadata from the client computer and to compare the received metadata to first metadata stored in the database; and
a metadata validator to validate the metadata if the received metadata does not match the first metadata.
14. The network of claim 13, wherein the metadata validator places an identifier in the validation queue if the received metadata does not match the first metadata.
15. The network of claim 14, wherein the metadata validator removes the identifier from the validation queue to validate, retrieves updated metadata from a customer server and stores the updated metadata in the database.
16. An article of manufacture comprising a machine-accessible medium having associated data, wherein the data, when accessed, results in a machine performing operations comprising:
a relationship server receiving a discovery service request from a client computer;
the relationship server comparing metadata provided in the discovery service request against a database; and
a crawler retrieving updated metadata from a commerce server if the metadata provided in the discovery service request does not match the metadata stored in the database column.
17. The article of manufacture of claim 16, wherein the database includes a set of columns each column having associated metadata, a unique product identifier, a timestamp indicating the last time a request for an item was checked and a flag to indicate pending updates.
18. The article of manufacture of claim 17, wherein the data, when accessed, results in a machine performing further operations comprising updating a timestamp if the metadata provided in the discovery service request matches the metadata stored in the database column.
19. The article of manufacture of claim 18, wherein the data, when accessed, results in a machine performing further operations comprising setting the pending update flag if the metadata provided in the discovery service request does not match the metadata stored in the database column.
20. The article of manufacture of claim 19, wherein the data, when accessed, results in a machine performing further operations comprising the relationship server returning a list of recommendations to the client computer.
21. The article of manufacture of claim 19, wherein the data, when accessed, results in a machine performing further operations comprising:
the crawler checking the database for a list of product identifiers that have a pending update flag set;
the crawler requesting product information from one or more commerce servers for products corresponding to each of the product identifiers;
the crawler receiving metadata from the one or more commerce servers corresponding to each of the product identifiers; and
the web crawler updating the database entries.
22. The article of manufacture of claim 21, wherein updating the database entries comprises:
modifying current metadata information; and
clearing the pending update field for the product.
23. The article of manufacture of claim 17, further comprising:
a client computer submitting a request for product information to a commerce server via a network; and
the client computer receiving a discovery service URL having encoded metadata about the product.
US12/072,454 2007-07-30 2008-02-26 System and method for maintaining metadata correctness Abandoned US20090037431A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/072,454 US20090037431A1 (en) 2007-07-30 2008-02-26 System and method for maintaining metadata correctness
US15/985,553 US11144933B2 (en) 2007-07-30 2018-05-21 System and method for maintaining metadata correctness
US17/498,191 US11880849B2 (en) 2007-07-30 2021-10-11 System and method for maintaining metadata correctness

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US96255207P 2007-07-30 2007-07-30
US12/072,454 US20090037431A1 (en) 2007-07-30 2008-02-26 System and method for maintaining metadata correctness

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/985,553 Continuation US11144933B2 (en) 2007-07-30 2018-05-21 System and method for maintaining metadata correctness

Publications (1)

Publication Number Publication Date
US20090037431A1 true US20090037431A1 (en) 2009-02-05

Family

ID=40339097

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/072,454 Abandoned US20090037431A1 (en) 2007-07-30 2008-02-26 System and method for maintaining metadata correctness
US15/985,553 Active 2028-03-30 US11144933B2 (en) 2007-07-30 2018-05-21 System and method for maintaining metadata correctness
US17/498,191 Active US11880849B2 (en) 2007-07-30 2021-10-11 System and method for maintaining metadata correctness

Family Applications After (2)

Application Number Title Priority Date Filing Date
US15/985,553 Active 2028-03-30 US11144933B2 (en) 2007-07-30 2018-05-21 System and method for maintaining metadata correctness
US17/498,191 Active US11880849B2 (en) 2007-07-30 2021-10-11 System and method for maintaining metadata correctness

Country Status (1)

Country Link
US (3) US20090037431A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8082235B1 (en) * 2009-04-09 2011-12-20 Google Inc. Self healing system for inaccurate metadata
US20120084175A1 (en) * 2010-10-04 2012-04-05 Research In Motion Limited Method, system and mobile electronic device for purchasing media
WO2012151532A1 (en) * 2011-05-05 2012-11-08 Mario Vuksan Database system and method
US20140297604A1 (en) * 2013-03-28 2014-10-02 Ctera Networks, Ltd. Techniques for reconciling metadata and data in a cloud storage system without service interruption
US20160127479A1 (en) * 2014-10-31 2016-05-05 Qualcomm Incorporated Efficient group communications leveraging lte-d discovery for application layer contextual communication
US20170222997A1 (en) * 2016-02-01 2017-08-03 Red Hat, Inc. Multi-Tenant Enterprise Application Management
US20170364269A1 (en) * 2016-06-16 2017-12-21 EMC IP Holding Company LLC Method and apparatus for reproducing an i/o operation of a storage system
US20190278570A1 (en) * 2018-03-08 2019-09-12 Microsoft Technology Licensing, Llc Annotating Features of a Resource to Facilitate Consumption in Different Computing Environments
US10853347B2 (en) * 2017-03-31 2020-12-01 Microsoft Technology Licensing, Llc Dependency-based metadata retrieval and update

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090037431A1 (en) 2007-07-30 2009-02-05 Paul Martino System and method for maintaining metadata correctness

Citations (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4258386A (en) * 1978-07-31 1981-03-24 Cheung Shiu H Television audience measuring system
US4833308A (en) * 1986-07-24 1989-05-23 Advance Promotion Technologies, Inc. Checkout counter product promotion system and method
US4930011A (en) * 1988-08-02 1990-05-29 A. C. Nielsen Company Method and apparatus for identifying individual members of a marketing and viewing audience
US5019961A (en) * 1989-04-05 1991-05-28 Cadware, Inc. Computer apparatus and method for logical modelling
US5099319A (en) * 1989-10-23 1992-03-24 Esch Arthur G Video information delivery method and apparatus
US5117349A (en) * 1990-03-27 1992-05-26 Sun Microsystems, Inc. User extensible, language sensitive database system
US5128752A (en) * 1986-03-10 1992-07-07 Kohorn H Von System and method for generating and redeeming tokens
US5201010A (en) * 1989-05-01 1993-04-06 Credit Verification Corporation Method and system for building a database and performing marketing based upon prior shopping history
US5223924A (en) * 1992-05-27 1993-06-29 North American Philips Corporation System and method for automatically correlating user preferences with a T.V. program information database
US5227874A (en) * 1986-03-10 1993-07-13 Kohorn H Von Method for measuring the effectiveness of stimuli on decisions of shoppers
US5231494A (en) * 1991-10-08 1993-07-27 General Instrument Corporation Selection of compressed television signals from single channel allocation based on viewer characteristics
US5237620A (en) * 1989-05-01 1993-08-17 Credit Verification Corporation Check reader method and system for reading check MICR code
US5249262A (en) * 1991-05-03 1993-09-28 Intelligent Query Engines Component intersection data base filter
US5285278A (en) * 1992-05-21 1994-02-08 Holman Michael J Electronic redeemable coupon system via television
US5305196A (en) * 1989-05-01 1994-04-19 Credit Verification Corporation Check transaction processing, database building and marketing method and system utilizing automatic check reading
US5315093A (en) * 1992-02-05 1994-05-24 A. C. Nielsen Company Market research method and system for collecting retail store market research data
US5331544A (en) * 1992-04-23 1994-07-19 A. C. Nielsen Company Market research method and system for collecting retail store and shopper market research data
US5351075A (en) * 1990-03-20 1994-09-27 Frederick Herz Home video club television broadcasting system
US5410344A (en) * 1993-09-22 1995-04-25 Arrowsmith Technologies, Inc. Apparatus and method of selecting video programs based on viewers' preferences
US5446919A (en) * 1990-02-20 1995-08-29 Wilkins; Jeff K. Communication system and method with demographically or psychographically defined audiences
US5454105A (en) * 1989-06-14 1995-09-26 Hitachi, Ltd. Document information search method and system
US5515098A (en) * 1994-09-08 1996-05-07 Carles; John B. System and method for selectively distributing commercial messages over a communications network
US5537586A (en) * 1992-04-30 1996-07-16 Individual, Inc. Enhanced apparatus and methods for retrieving and selecting profiled textural information records from a database of defined category structures
US5544049A (en) * 1992-09-29 1996-08-06 Xerox Corporation Method for performing a search of a plurality of documents for similarity to a plurality of query words
US5559549A (en) * 1992-12-09 1996-09-24 Discovery Communications, Inc. Television program delivery system
US5604542A (en) * 1995-02-08 1997-02-18 Intel Corporation Using the vertical blanking interval for transporting electronic coupons
US5608447A (en) * 1994-05-27 1997-03-04 Bell Atlantic Full service network
US5619709A (en) * 1993-09-20 1997-04-08 Hnc, Inc. System and method of context vector generation and retrieval
US5621812A (en) * 1989-05-01 1997-04-15 Credit Verification Corporation Method and system for building a database for use with selective incentive marketing in response to customer shopping histories
US5632007A (en) * 1994-09-23 1997-05-20 Actv, Inc. Interactive system and method for offering expert based interactive programs
US5642485A (en) * 1989-05-01 1997-06-24 Credit Verification Corporation Method and system for selective incentive point-of-sale marketing in response to customer shopping histories
US5649186A (en) * 1995-08-07 1997-07-15 Silicon Graphics Incorporated System and method for a computer-based dynamic information clipping service
US5649114A (en) * 1989-05-01 1997-07-15 Credit Verification Corporation Method and system for selective incentive point-of-sale marketing in response to customer shopping histories
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
US5740549A (en) * 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US5754938A (en) * 1994-11-29 1998-05-19 Herz; Frederick S. M. Pseudonymous server for system for customized electronic identification of desirable objects
US5758259A (en) * 1995-08-31 1998-05-26 Microsoft Corporation Automated selective programming guide
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
US5761601A (en) * 1993-08-09 1998-06-02 Nemirofsky; Frank R. Video distribution of advertisements to businesses
US5774170A (en) * 1994-12-13 1998-06-30 Hite; Kenneth C. System and method for delivering targeted advertisements to consumers
US5774868A (en) * 1994-12-23 1998-06-30 International Business And Machines Corporation Automatic sales promotion selection system and method
US5786845A (en) * 1994-11-11 1998-07-28 News Datacom Ltd. CATV message display during the changing of channels
US5794210A (en) * 1995-12-11 1998-08-11 Cybergold, Inc. Attention brokerage
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
US5805974A (en) * 1995-08-08 1998-09-08 Hite; Kenneth C. Method and apparatus for synchronizing commercial advertisements across multiple communication channels
US5867799A (en) * 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US5918014A (en) * 1995-12-27 1999-06-29 Athenium, L.L.C. Automated collaborative filtering in world wide web advertising
US5926205A (en) * 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5930764A (en) * 1995-10-17 1999-07-27 Citibank, N.A. Sales and marketing support system using a customer information database
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6012051A (en) * 1997-02-06 2000-01-04 America Online, Inc. Consumer profiling system with analytic decision processor
US6014634A (en) * 1995-12-26 2000-01-11 Supermarkets Online, Inc. System and method for providing shopping aids and incentives to customers through a computer network
US6026370A (en) * 1997-08-28 2000-02-15 Catalina Marketing International, Inc. Method and apparatus for generating purchase incentive mailing based on prior purchase history
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US6035280A (en) * 1995-06-16 2000-03-07 Christensen; Scott N. Electronic discount couponing method and apparatus for generating an electronic list of coupons
US6038591A (en) * 1996-12-09 2000-03-14 The Musicbooth Llc Programmed music on demand from the internet
US6055573A (en) * 1998-12-30 2000-04-25 Supermarkets Online, Inc. Communicating with a computer based on an updated purchase behavior classification of a particular consumer
US6084628A (en) * 1998-12-18 2000-07-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method of providing targeted advertising during video telephone calls
US6108098A (en) * 1995-12-28 2000-08-22 Canon Kabushiki Kaisha Image processing apparatus and method
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
US6185541B1 (en) * 1995-12-26 2001-02-06 Supermarkets Online, Inc. System and method for providing shopping aids and incentives to customers through a computer network
US6216129B1 (en) * 1998-12-03 2001-04-10 Expanse Networks, Inc. Advertisement selection system supporting discretionary target market characteristics
US6236978B1 (en) * 1997-11-14 2001-05-22 New York University System and method for dynamic profiling of users in one-to-one applications
US6266649B1 (en) * 1998-09-18 2001-07-24 Amazon.Com, Inc. Collaborative recommendations using item-to-item similarity mappings
US20010014868A1 (en) * 1997-12-05 2001-08-16 Frederick Herz System for the automatic determination of customized prices and promotions
US20020095676A1 (en) * 1998-05-15 2002-07-18 Robert A. Knee Interactive television program guide system for determining user values for demographic categories
US20020099812A1 (en) * 1997-03-21 2002-07-25 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6438579B1 (en) * 1999-07-16 2002-08-20 Agent Arts, Inc. Automated content and collaboration-based system and methods for determining and providing content recommendations
US20030037041A1 (en) * 1994-11-29 2003-02-20 Pinpoint Incorporated System for automatic determination of customized prices and promotions
US6560578B2 (en) * 1999-03-12 2003-05-06 Expanse Networks, Inc. Advertisement selection system supporting discretionary target market characteristics
US20030088872A1 (en) * 1997-07-03 2003-05-08 Nds Limited Advanced television system
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US6592612B1 (en) * 2000-05-04 2003-07-15 Cardeon Corporation Method and apparatus for providing heat exchange within a catheter body
US20030154442A1 (en) * 2002-02-13 2003-08-14 Karen Papierniak Visualization tool for web analytics
US20030204447A1 (en) * 2001-10-31 2003-10-30 Dalzell Richard L. Metadata service that supports user-to-user sales via third party web pages
US20040088300A1 (en) * 2001-01-08 2004-05-06 Avery Brett Andrew Management system for a contact centre
US20040122910A1 (en) * 2002-09-26 2004-06-24 Michael Douglass Caching, clustering and aggregating UseNet server
US20050071251A1 (en) * 1998-09-18 2005-03-31 Linden Gregory D. Data mining of user activity data to identify related items in an electronic catalog
US20050144455A1 (en) * 2002-02-06 2005-06-30 Haitsma Jaap A. Fast hash-based multimedia object metadata retrieval
US20050182792A1 (en) * 2004-01-16 2005-08-18 Bruce Israel Metadata brokering server and methods
US7062410B2 (en) * 2004-06-23 2006-06-13 Intel Corporation Transistor performance analysis system
US7069272B2 (en) * 2002-10-09 2006-06-27 Blackrock Financial Management, Inc. System and method for implementing dynamic set operations on data stored in a sorted array
US7080070B1 (en) * 1999-07-02 2006-07-18 Amazon Technologies, Inc. System and methods for browsing a database of items and conducting associated transactions
US20070053513A1 (en) * 1999-10-05 2007-03-08 Hoffberg Steven M Intelligent electronic appliance system and method
US7216123B2 (en) * 2003-03-28 2007-05-08 Board Of Trustees Of The Leland Stanford Junior University Methods for ranking nodes in large directed graphs
US20070118572A1 (en) * 2005-11-21 2007-05-24 Sap Ag-Germany Detecting changes in data
US7370004B1 (en) * 1999-11-15 2008-05-06 The Chase Manhattan Bank Personalized interactive network architecture
US20080215979A1 (en) * 2007-03-02 2008-09-04 Clifton Stephen J Automatically generating audiovisual works
US7693827B2 (en) * 2003-09-30 2010-04-06 Google Inc. Personalization of placed content ordering in search results

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4566030A (en) 1983-06-09 1986-01-21 Ctba Associates Television viewer data collection system
US4972504A (en) 1988-02-11 1990-11-20 A. C. Nielsen Company Marketing research system and method for obtaining retail data on a real time basis
US5471610A (en) 1989-06-14 1995-11-28 Hitachi, Ltd. Method for character string collation with filtering function and apparatus
US5155591A (en) 1989-10-23 1992-10-13 General Instrument Corporation Method and apparatus for providing demographically targeted television commercials
US5563999A (en) 1990-10-19 1996-10-08 Moore Business Forms, Inc. Forms automation system
US5563998A (en) 1990-10-19 1996-10-08 Moore Business Forms, Inc. Forms automation system implementation
US5832457A (en) 1991-05-06 1998-11-03 Catalina Marketing International, Inc. Method and apparatus for selective distribution of discount coupons based on prior customer behavior
US5361871A (en) 1991-08-20 1994-11-08 Digicomp Research Corporation Product information system for shoppers
US5600364A (en) 1992-12-09 1997-02-04 Discovery Communications, Inc. Network controller for cable television delivery systems
AU674189B2 (en) 1993-02-23 1996-12-12 Moore North America, Inc. A method and system for gathering and analyzing customer and purchasing information
US5636346A (en) 1994-05-09 1997-06-03 The Electronic Address, Inc. Method and system for selectively targeting advertisements and programming
US6002393A (en) 1995-08-22 1999-12-14 Hite; Kenneth C. System and method for delivering targeted advertisements to consumers using direct commands
US5704017A (en) 1996-02-16 1997-12-30 Microsoft Corporation Collaborative filtering utilizing a belief network
US5848396A (en) 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
PT932398E (en) 1996-06-28 2006-09-29 Ortho Mcneil Pharm Inc USE OF THE SURFACE OR ITS DERIVATIVES FOR THE PRODUCTION OF A MEDICINAL PRODUCT FOR THE TREATMENT OF MANIAC-DEPRESSIVE BIPOLAR DISTURBLES
US6285999B1 (en) 1997-01-10 2001-09-04 The Board Of Trustees Of The Leland Stanford Junior University Method for node ranking in a linked database
US5978799A (en) 1997-01-30 1999-11-02 Hirsch; G. Scott Search engine including query database, user profile database, information templates and email facility
US6009409A (en) 1997-04-02 1999-12-28 Lucent Technologies, Inc. System and method for scheduling and controlling delivery of advertising in a communications network
US5974399A (en) 1997-08-29 1999-10-26 Catalina Marketing International, Inc. Method and apparatus for generating purchase incentives based on price differentials
US6119098A (en) 1997-10-14 2000-09-12 Patrice D. Guyot System and method for targeting and distributing advertisements over a distributed network
US6009410A (en) 1997-10-16 1999-12-28 At&T Corporation Method and system for presenting customized advertising to a user on the world wide web
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
US6160570A (en) 1998-04-20 2000-12-12 U.S. Philips Corporation Digital television system which selects images for display in a video sequence
US6327574B1 (en) 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
US6321221B1 (en) 1998-07-17 2001-11-20 Net Perceptions, Inc. System, method and article of manufacture for increasing the user value of recommendations
US6298348B1 (en) 1998-12-03 2001-10-02 Expanse Networks, Inc. Consumer profiling system
US6457010B1 (en) 1998-12-03 2002-09-24 Expanse Networks, Inc. Client-server based subscriber characterization system
US7062510B1 (en) 1999-12-02 2006-06-13 Prime Research Alliance E., Inc. Consumer profiling and advertisement selection system
US20010051901A1 (en) 2000-01-27 2001-12-13 Hager Jonathan M. Consumer shopping tool to augment retail sales
US6920478B2 (en) 2000-05-11 2005-07-19 Chikka Pte Ltd. Method and system for tracking the online status of active users of an internet-based instant messaging system
US7080139B1 (en) * 2001-04-24 2006-07-18 Fatbubble, Inc Method and apparatus for selectively sharing and passively tracking communication device experiences
US7707265B2 (en) * 2004-05-15 2010-04-27 International Business Machines Corporation System, method, and service for interactively presenting a summary of a web site
CA2524037A1 (en) * 2004-11-01 2006-05-01 John Scott System and method for providing optimized shopping list
US7698270B2 (en) 2004-12-29 2010-04-13 Baynote, Inc. Method and apparatus for identifying, extracting, capturing, and leveraging expertise and knowledge
US7797440B2 (en) * 2005-03-09 2010-09-14 Vudu, Inc. Method and system for managing objects distributed in a network
US20090037431A1 (en) 2007-07-30 2009-02-05 Paul Martino System and method for maintaining metadata correctness

Patent Citations (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4258386A (en) * 1978-07-31 1981-03-24 Cheung Shiu H Television audience measuring system
US5128752A (en) * 1986-03-10 1992-07-07 Kohorn H Von System and method for generating and redeeming tokens
US5227874A (en) * 1986-03-10 1993-07-13 Kohorn H Von Method for measuring the effectiveness of stimuli on decisions of shoppers
US4833308A (en) * 1986-07-24 1989-05-23 Advance Promotion Technologies, Inc. Checkout counter product promotion system and method
US4930011A (en) * 1988-08-02 1990-05-29 A. C. Nielsen Company Method and apparatus for identifying individual members of a marketing and viewing audience
US5019961A (en) * 1989-04-05 1991-05-28 Cadware, Inc. Computer apparatus and method for logical modelling
US5649114A (en) * 1989-05-01 1997-07-15 Credit Verification Corporation Method and system for selective incentive point-of-sale marketing in response to customer shopping histories
US5642485A (en) * 1989-05-01 1997-06-24 Credit Verification Corporation Method and system for selective incentive point-of-sale marketing in response to customer shopping histories
US5448471A (en) * 1989-05-01 1995-09-05 Credit Verification Corporation Check transaction processing, database building and marketing method and system utilizing automatic check reading
US5430644A (en) * 1989-05-01 1995-07-04 Credit Verification Corporation Check transaction processing, database building and marketing method and system utilizing automatic check reading
US5659469A (en) * 1989-05-01 1997-08-19 Credit Verification Corporation Check transaction processing, database building and marketing method and system utilizing automatic check reading
US5237620A (en) * 1989-05-01 1993-08-17 Credit Verification Corporation Check reader method and system for reading check MICR code
US5592560A (en) * 1989-05-01 1997-01-07 Credit Verification Corporation Method and system for building a database and performing marketing based upon prior shopping history
US5644723A (en) * 1989-05-01 1997-07-01 Credit Verification Corporation Method and system for selective incentive point-of-sale marketing in response to customer shopping histories
US5305196A (en) * 1989-05-01 1994-04-19 Credit Verification Corporation Check transaction processing, database building and marketing method and system utilizing automatic check reading
US5201010A (en) * 1989-05-01 1993-04-06 Credit Verification Corporation Method and system for building a database and performing marketing based upon prior shopping history
US5327508A (en) * 1989-05-01 1994-07-05 Credit Verification Corporation Method and system for building a database and performing marketing based upon prior shopping history
US5638457A (en) * 1989-05-01 1997-06-10 Credit Verification Corporation Method and system for building a database for use with selective incentive marketing in response to customer shopping histories
US5621812A (en) * 1989-05-01 1997-04-15 Credit Verification Corporation Method and system for building a database for use with selective incentive marketing in response to customer shopping histories
US5388165A (en) * 1989-05-01 1995-02-07 Credit Verification Corporation Method and system for building a database and performing marketing based upon prior shopping history
US5454105A (en) * 1989-06-14 1995-09-26 Hitachi, Ltd. Document information search method and system
US5099319A (en) * 1989-10-23 1992-03-24 Esch Arthur G Video information delivery method and apparatus
US5446919A (en) * 1990-02-20 1995-08-29 Wilkins; Jeff K. Communication system and method with demographically or psychographically defined audiences
US5351075A (en) * 1990-03-20 1994-09-27 Frederick Herz Home video club television broadcasting system
US5117349A (en) * 1990-03-27 1992-05-26 Sun Microsystems, Inc. User extensible, language sensitive database system
US5249262A (en) * 1991-05-03 1993-09-28 Intelligent Query Engines Component intersection data base filter
US5231494A (en) * 1991-10-08 1993-07-27 General Instrument Corporation Selection of compressed television signals from single channel allocation based on viewer characteristics
US5315093A (en) * 1992-02-05 1994-05-24 A. C. Nielsen Company Market research method and system for collecting retail store market research data
US5331544A (en) * 1992-04-23 1994-07-19 A. C. Nielsen Company Market research method and system for collecting retail store and shopper market research data
US5537586A (en) * 1992-04-30 1996-07-16 Individual, Inc. Enhanced apparatus and methods for retrieving and selecting profiled textural information records from a database of defined category structures
US5285278A (en) * 1992-05-21 1994-02-08 Holman Michael J Electronic redeemable coupon system via television
US5223924A (en) * 1992-05-27 1993-06-29 North American Philips Corporation System and method for automatically correlating user preferences with a T.V. program information database
US5544049A (en) * 1992-09-29 1996-08-06 Xerox Corporation Method for performing a search of a plurality of documents for similarity to a plurality of query words
US5559549A (en) * 1992-12-09 1996-09-24 Discovery Communications, Inc. Television program delivery system
US5761601A (en) * 1993-08-09 1998-06-02 Nemirofsky; Frank R. Video distribution of advertisements to businesses
US5619709A (en) * 1993-09-20 1997-04-08 Hnc, Inc. System and method of context vector generation and retrieval
US5410344A (en) * 1993-09-22 1995-04-25 Arrowsmith Technologies, Inc. Apparatus and method of selecting video programs based on viewers' preferences
US5608447A (en) * 1994-05-27 1997-03-04 Bell Atlantic Full service network
US5515098A (en) * 1994-09-08 1996-05-07 Carles; John B. System and method for selectively distributing commercial messages over a communications network
US5661516A (en) * 1994-09-08 1997-08-26 Carles; John B. System and method for selectively distributing commercial messages over a communications network
US5632007A (en) * 1994-09-23 1997-05-20 Actv, Inc. Interactive system and method for offering expert based interactive programs
US5926205A (en) * 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
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
US5786845A (en) * 1994-11-11 1998-07-28 News Datacom Ltd. CATV message display during the changing of channels
US6088722A (en) * 1994-11-29 2000-07-11 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5754939A (en) * 1994-11-29 1998-05-19 Herz; Frederick S. M. System for generation of user profiles for a system for customized electronic identification of desirable objects
US6020883A (en) * 1994-11-29 2000-02-01 Fred Herz System and method for scheduling broadcast of and access to video programs and other data using customer profiles
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
US5754938A (en) * 1994-11-29 1998-05-19 Herz; Frederick S. M. Pseudonymous server for system for customized electronic identification of desirable objects
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US20030037041A1 (en) * 1994-11-29 2003-02-20 Pinpoint Incorporated System for automatic determination of customized prices and promotions
US5774170A (en) * 1994-12-13 1998-06-30 Hite; Kenneth C. System and method for delivering targeted advertisements to consumers
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
US5774868A (en) * 1994-12-23 1998-06-30 International Business And Machines Corporation Automatic sales promotion selection system and method
US5604542A (en) * 1995-02-08 1997-02-18 Intel Corporation Using the vertical blanking interval for transporting electronic coupons
US5740549A (en) * 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US6035280A (en) * 1995-06-16 2000-03-07 Christensen; Scott N. Electronic discount couponing method and apparatus for generating an electronic list of coupons
US5649186A (en) * 1995-08-07 1997-07-15 Silicon Graphics Incorporated System and method for a computer-based dynamic information clipping service
US5805974A (en) * 1995-08-08 1998-09-08 Hite; Kenneth C. Method and apparatus for synchronizing commercial advertisements across multiple communication channels
US5758259A (en) * 1995-08-31 1998-05-26 Microsoft Corporation Automated selective programming guide
US5930764A (en) * 1995-10-17 1999-07-27 Citibank, N.A. Sales and marketing support system using a customer information database
US5794210A (en) * 1995-12-11 1998-08-11 Cybergold, Inc. Attention brokerage
US6185541B1 (en) * 1995-12-26 2001-02-06 Supermarkets Online, Inc. System and method for providing shopping aids and incentives to customers through a computer network
US6014634A (en) * 1995-12-26 2000-01-11 Supermarkets Online, Inc. System and method for providing shopping aids and incentives to customers through a computer network
US5918014A (en) * 1995-12-27 1999-06-29 Athenium, L.L.C. Automated collaborative filtering in world wide web advertising
US6108098A (en) * 1995-12-28 2000-08-22 Canon Kabushiki Kaisha Image processing apparatus and method
US5867799A (en) * 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6038591A (en) * 1996-12-09 2000-03-14 The Musicbooth Llc Programmed music on demand from the internet
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
US6012051A (en) * 1997-02-06 2000-01-04 America Online, Inc. Consumer profiling system with analytic decision processor
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
US20020099812A1 (en) * 1997-03-21 2002-07-25 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US20030088872A1 (en) * 1997-07-03 2003-05-08 Nds Limited Advanced television system
US6026370A (en) * 1997-08-28 2000-02-15 Catalina Marketing International, Inc. Method and apparatus for generating purchase incentive mailing based on prior purchase history
US6236978B1 (en) * 1997-11-14 2001-05-22 New York University System and method for dynamic profiling of users in one-to-one applications
US6871186B1 (en) * 1997-11-14 2005-03-22 New York University System and method for dynamic profiling of users in one-to-one applications and for validating user rules
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US20010014868A1 (en) * 1997-12-05 2001-08-16 Frederick Herz System for the automatic determination of customized prices and promotions
US20020095676A1 (en) * 1998-05-15 2002-07-18 Robert A. Knee Interactive television program guide system for determining user values for demographic categories
US6266649B1 (en) * 1998-09-18 2001-07-24 Amazon.Com, Inc. Collaborative recommendations using item-to-item similarity mappings
US20050071251A1 (en) * 1998-09-18 2005-03-31 Linden Gregory D. Data mining of user activity data to identify related items in an electronic catalog
US6216129B1 (en) * 1998-12-03 2001-04-10 Expanse Networks, Inc. Advertisement selection system supporting discretionary target market characteristics
US6084628A (en) * 1998-12-18 2000-07-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method of providing targeted advertising during video telephone calls
US6055573A (en) * 1998-12-30 2000-04-25 Supermarkets Online, Inc. Communicating with a computer based on an updated purchase behavior classification of a particular consumer
US6560578B2 (en) * 1999-03-12 2003-05-06 Expanse Networks, Inc. Advertisement selection system supporting discretionary target market characteristics
US7080070B1 (en) * 1999-07-02 2006-07-18 Amazon Technologies, Inc. System and methods for browsing a database of items and conducting associated transactions
US6438579B1 (en) * 1999-07-16 2002-08-20 Agent Arts, Inc. Automated content and collaboration-based system and methods for determining and providing content recommendations
US20070053513A1 (en) * 1999-10-05 2007-03-08 Hoffberg Steven M Intelligent electronic appliance system and method
US7370004B1 (en) * 1999-11-15 2008-05-06 The Chase Manhattan Bank Personalized interactive network architecture
US6592612B1 (en) * 2000-05-04 2003-07-15 Cardeon Corporation Method and apparatus for providing heat exchange within a catheter body
US20040088300A1 (en) * 2001-01-08 2004-05-06 Avery Brett Andrew Management system for a contact centre
US20030204447A1 (en) * 2001-10-31 2003-10-30 Dalzell Richard L. Metadata service that supports user-to-user sales via third party web pages
US20050144455A1 (en) * 2002-02-06 2005-06-30 Haitsma Jaap A. Fast hash-based multimedia object metadata retrieval
US20030154442A1 (en) * 2002-02-13 2003-08-14 Karen Papierniak Visualization tool for web analytics
US20040122910A1 (en) * 2002-09-26 2004-06-24 Michael Douglass Caching, clustering and aggregating UseNet server
US7069272B2 (en) * 2002-10-09 2006-06-27 Blackrock Financial Management, Inc. System and method for implementing dynamic set operations on data stored in a sorted array
US7216123B2 (en) * 2003-03-28 2007-05-08 Board Of Trustees Of The Leland Stanford Junior University Methods for ranking nodes in large directed graphs
US7693827B2 (en) * 2003-09-30 2010-04-06 Google Inc. Personalization of placed content ordering in search results
US20050182792A1 (en) * 2004-01-16 2005-08-18 Bruce Israel Metadata brokering server and methods
US7062410B2 (en) * 2004-06-23 2006-06-13 Intel Corporation Transistor performance analysis system
US20070118572A1 (en) * 2005-11-21 2007-05-24 Sap Ag-Germany Detecting changes in data
US20080215979A1 (en) * 2007-03-02 2008-09-04 Clifton Stephen J Automatically generating audiovisual works

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650161B1 (en) * 2009-04-09 2014-02-11 Google Inc. Self healing system for inaccurate metadata
US8082235B1 (en) * 2009-04-09 2011-12-20 Google Inc. Self healing system for inaccurate metadata
US10108656B1 (en) 2009-04-09 2018-10-23 Google Llc Self healing system for inaccurate metadata
US20120084175A1 (en) * 2010-10-04 2012-04-05 Research In Motion Limited Method, system and mobile electronic device for purchasing media
US9892151B2 (en) 2011-05-05 2018-02-13 Reversinglabs International, Gmbh Database system and method
WO2012151532A1 (en) * 2011-05-05 2012-11-08 Mario Vuksan Database system and method
US9405802B2 (en) 2011-05-05 2016-08-02 Reversinglabs International, Gmbh Database system and method
US20140297604A1 (en) * 2013-03-28 2014-10-02 Ctera Networks, Ltd. Techniques for reconciling metadata and data in a cloud storage system without service interruption
US9715507B2 (en) * 2013-03-28 2017-07-25 Ctera Networks, Ltd. Techniques for reconciling metadata and data in a cloud storage system without service interruption
US10003659B2 (en) * 2014-10-31 2018-06-19 Qualcomm Incorporated Efficient group communications leveraging LTE-D discovery for application layer contextual communication
US20160127479A1 (en) * 2014-10-31 2016-05-05 Qualcomm Incorporated Efficient group communications leveraging lte-d discovery for application layer contextual communication
US20170222997A1 (en) * 2016-02-01 2017-08-03 Red Hat, Inc. Multi-Tenant Enterprise Application Management
US11102188B2 (en) * 2016-02-01 2021-08-24 Red Hat, Inc. Multi-tenant enterprise application management
US20170364269A1 (en) * 2016-06-16 2017-12-21 EMC IP Holding Company LLC Method and apparatus for reproducing an i/o operation of a storage system
US10528257B2 (en) * 2016-06-16 2020-01-07 EMC IP Holding Company LLC Method and apparatus for reproducing an I/O operation of a storage system
US10853347B2 (en) * 2017-03-31 2020-12-01 Microsoft Technology Licensing, Llc Dependency-based metadata retrieval and update
US20190278570A1 (en) * 2018-03-08 2019-09-12 Microsoft Technology Licensing, Llc Annotating Features of a Resource to Facilitate Consumption in Different Computing Environments

Also Published As

Publication number Publication date
US20190066125A1 (en) 2019-02-28
US11880849B2 (en) 2024-01-23
US11144933B2 (en) 2021-10-12
US20220277318A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
US11880849B2 (en) System and method for maintaining metadata correctness
US20200186384A1 (en) Enhanced title processing arrangement
US7290285B2 (en) Systems and methods for distributing and viewing electronic documents
US11675871B2 (en) Method for detecting and analyzing site quality
US7949666B2 (en) Synchronizing distributed work through document logs
EP2433258B1 (en) Protected serving of electronic content
US20080189190A1 (en) Proxy server and api extension for online stores
US20050065812A1 (en) Certification and unique electronic seals for online entities
US20070061487A1 (en) Systems and methods for use of structured and unstructured distributed data
US20080086477A1 (en) Locally storing web-based database data
US10120849B2 (en) Document generation based on referral
US20080065406A1 (en) Designating membership in an online business community
WO2008033454A2 (en) System and method for assessing marketing data
JP2013511767A (en) Cross-platform gateway system and service
WO2012094418A1 (en) Ownership resolution system
US20090012858A1 (en) Price protection system and method
US10579720B2 (en) User information population
US20210326820A1 (en) System and method for self-publication and distribution of digital content via the internet
US20090171900A1 (en) Printer driver for transaction record storage
US20090024920A1 (en) Apparatus and method for extracting and using images from on-line forum posts and other web pages
US20110225480A1 (en) Url proxy method and apparatus
JP2004334495A (en) Server device, its control method, and program for making computer execute its control method
TWI429250B (en) Server for recording trade data in joint operation network, system and method thereof
Chausheva Calculating web page trustworthiness by exploring communities on the web
Rezgui et al. SemWebDL: A privacy-preserving Semantic Web infrastructure for digital librariesTHANKSREF="*" ID="*" This research is supported by the National Institutes of Health NLM Grant 1-R03-LM008140-01.

Legal Events

Date Code Title Description
AS Assignment

Owner name: AGGREGATE KNOWLEDGE, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MARTINO, PAUL;MUSUMECI, GIAN-PAOLO;WEHNER, KRISTOPHER C.;REEL/FRAME:021011/0930

Effective date: 20080522

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., NEW YORK

Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:AGGREGATE KNOWLEDGE INC.;REEL/FRAME:031947/0001

Effective date: 20131213

AS Assignment

Owner name: MARKETSHARE HOLDINGS, INC., VIRGINIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:043618/0826

Effective date: 20170808

Owner name: AGGREGATE KNOWLEDGE, INC., VIRGINIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:043618/0826

Effective date: 20170808

Owner name: ULTRADNS CORPORATION, VIRGINIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:043618/0826

Effective date: 20170808

Owner name: MARKETSHARE ACQUISITION CORPORATION, VIRGINIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:043618/0826

Effective date: 20170808

Owner name: NEUSTAR DATA SERVICES, INC., VIRGINIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:043618/0826

Effective date: 20170808

Owner name: NEUSTAR INFORMATION SERVICES, INC., VIRGINIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:043618/0826

Effective date: 20170808

Owner name: NEUSTAR IP INTELLIGENCE, INC., VIRGINIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:043618/0826

Effective date: 20170808

Owner name: MARKETSHARE PARTNERS, LLC, VIRGINIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:043618/0826

Effective date: 20170808

Owner name: NEUSTAR, INC., VIRGINIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:043618/0826

Effective date: 20170808

AS Assignment

Owner name: BANK OF AMERICA, N.A., NORTH CAROLINA

Free format text: SECURITY INTEREST;ASSIGNORS:MARKETSHARE PARTNERS LLC;AGGREGATE KNOWLEDGE, INC.;NEUSTAR INFORMATION SERVICES, INC.;AND OTHERS;REEL/FRAME:043633/0440

Effective date: 20170808

Owner name: UBS AG, STAMFORD BRANCH, CONNECTICUT

Free format text: SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNORS:MARKETSHARE PARTNERS LLC;AGGREGATE KNOWLEDGE, INC.;NEUSTAR INFORMATION SERVICES, INC.;AND OTHERS;REEL/FRAME:043633/0527

Effective date: 20170808

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION

AS Assignment

Owner name: NEUSTAR IP INTELLIGENCE, INC., VIRGINIA

Free format text: FIRST LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:058300/0762

Effective date: 20211201

Owner name: NEUSTAR INFORMATION SERVICES, INC., VIRGINIA

Free format text: FIRST LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:058300/0762

Effective date: 20211201

Owner name: AGGREGATE KNOWLEDGE, INC., VIRGINIA

Free format text: FIRST LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:058300/0762

Effective date: 20211201

Owner name: MARKETSHARE PARTNERS LLC, VIRGINIA

Free format text: FIRST LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:058300/0762

Effective date: 20211201

Owner name: NEUSTAR, INC., VIRGINIA

Free format text: FIRST LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:058300/0762

Effective date: 20211201

Owner name: NEUSTAR IP INTELLIGENCE, INC., VIRGINIA

Free format text: SECOND LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:UBS AG, STAMFORD BRANCH;REEL/FRAME:058300/0739

Effective date: 20211201

Owner name: NEUSTAR INFORMATION SERVICES, INC., VIRGINIA

Free format text: SECOND LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:UBS AG, STAMFORD BRANCH;REEL/FRAME:058300/0739

Effective date: 20211201

Owner name: AGGREGATE KNOWLEDGE, INC., VIRGINIA

Free format text: SECOND LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:UBS AG, STAMFORD BRANCH;REEL/FRAME:058300/0739

Effective date: 20211201

Owner name: MARKETSHARE PARTNERS LLC, VIRGINIA

Free format text: SECOND LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:UBS AG, STAMFORD BRANCH;REEL/FRAME:058300/0739

Effective date: 20211201

Owner name: NEUSTAR, INC., VIRGINIA

Free format text: SECOND LIEN PATENT SECURITY AGREEMENT RELEASE;ASSIGNOR:UBS AG, STAMFORD BRANCH;REEL/FRAME:058300/0739

Effective date: 20211201