US20070276940A1 - Systems and methods for user identification, user demographic reporting and collecting usage data using biometrics - Google Patents
Systems and methods for user identification, user demographic reporting and collecting usage data using biometrics Download PDFInfo
- Publication number
- US20070276940A1 US20070276940A1 US11/836,075 US83607507A US2007276940A1 US 20070276940 A1 US20070276940 A1 US 20070276940A1 US 83607507 A US83607507 A US 83607507A US 2007276940 A1 US2007276940 A1 US 2007276940A1
- Authority
- US
- United States
- Prior art keywords
- data
- user
- response
- request
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Definitions
- the present invention relates to systems and methods useful in identifying a computer user and the user's demographic and other user specific information from his or her activities on the computer, particularly from the user's activities on a network, as well as differentiating between user requested data and automatically generated data.
- identification information relating to the computer or the software may be available over the network, and user input information, such as a login name, might be available at times.
- user input information such as a login name
- this information may not identify the actual user and user identification does not always accompany requests for webpages, and the like.
- user identification information is provided in a communication, such as when using AOL and CompuServe, this information is generally limited to a user's e-mail address or a user name, rather than an actual name or user's identity.
- a user-defined profile is available as well. However, this limited information is not available and does not often provide enough useful information about the user, particularly when the user may have multiple accounts each with their own distinct user-defined profile, for instance. It is particularly disadvantageous when trying to derive user demographic information for market research.
- the granularity of market research largely depends on the accuracy of the consumer demographics being reported with the consumer's market activities.
- Internet-activity monitoring includes a server-side consumer data collection strategy in which an individual Internet content provider (“website”) monitors and collects data about each consumer who has requested data from (“visited”) the website, and then compiles this data about all the consumers who have visited that website.
- website Internet content provider
- data collection directly from an Internet consumer's computer has also been proposed, i.e., client-side data collection.
- client-side data collection Such systems commonly involve installing a software application onto the consumer's computer, which operates at the same time as Internet browser application software. The software then collects data about the consumer's Internet usage, e.g., which websites the consumer has visited. The data is then uploaded to a data-collecting computer on the Internet.
- Yet another strategy is to have the user's Internet-activity pass through an intermediary domain having server or servers which monitor all of a user's activities by tracking and filtering the requests and replies between the user and content providing servers and proxy servers, as detailed in U.S. patent application Ser. No. 09/532,890, filed Mar. 22, 2000, herein incorporated by reference.
- a challenge for each of server-side, client side and intermediary server-side systems is to collect and relate data about the consumer, such as age, income level, marital status, and other demographic, economic, and personal information to the user's activities, which would allow the data to be compared with consumer databases from other sources, without noticeably affecting the user's experience.
- a method of collecting data relating to a user's usage, including transactions, over a network typically includes the user utilizing a computing device to send and receive data sets over the network, the computing device having an address on the network, the data sets including data representative of the address of the computing device on the network, comprising: directing all data sets from the computing device to a known domain; assigning a unique identifier to the computing device using a data field in an HTTP request header; readdressing data sets sent from the computing device to indicate that the data sets originated in the known domain; recording at least part of the data sets; and sending the readdressed data onto the network.
- a method the user is identified from a group of users by either or both her keystroke dynamics or by monitoring for keywords upon which a user demographic dictionary is built.
- a method wherein user requested content is differentiated from automatically generated or server side directed content is differentiated from automatically generated or server side directed content.
- FIG. 1 schematically illustrates a prior network configuration.
- FIG. 2 schematically illustrates an exemplary implementation of a system.
- FIG. 3 schematically illustrates a portion of the system illustrated in FIG. 2 .
- FIGS. 4, 4A , 4 B and 5 diagrammatically illustrate flowcharts of steps of methods, as further described below.
- FIGS. 6 and 6 A- 6 O illustrate a user demographic reporter, as further described below.
- FIG. 7 schematically illustrates a performance monitoring and analysis configuration, as further described below.
- FIG. 8 diagrammatically illustrates steps of methods, as further described below.
- the present invention relates inter alia to systems and methods useful for collecting data indicative or representative of a specific Internet user's activity.
- An intermediary domain is established with proxy servers and data servers to which all of a single Internet user's activity is routed, which enables all of the activity to be filtered and data to be collected about specific types of activity and stored on the data servers.
- the intermediary domain is established on the Internet for example, and by simply instructing the user's Internet browser to route all Internet traffic from the user through the intermediary domain, the intermediary domain can perform whatever data collection is desired without incurring perceptible delays in webpage retrieval and the like.
- Enrollment in the system may be voluntary on the part of the individual Internet user, and the enrolled Internet user would be provided some incentive in return for allowing the system to have all of that user's Internet traffic routed through the system's domain. Furthermore, specific information about the Internet user could be gathered as a prerequisite for enrollment, which enriches the data collected about that user's Internet usage habits and permits inter-database comparisons.
- Systems of the present invention allow server-side data collection at a single domain. All of the Internet traffic of a single Internet user is monitored. Therefore, for a single user, data can be collected indicative of usage of all sites while maintaining data integrity and completeness. Different from client-side systems, the intermediary systems and methods demand less computing resources, and fewer resources for a customer service center. Furthermore, when websites change the formats of their webpages, only the data resident in intermediary domain need be updated, which can dramatically reduce costs.
- PC personal computers
- an understanding of the use and function of general purpose computing devices including what have come to be referred to as “personal computers” (“PC”), is assumed, as those of ordinary skill in the art are skilled in their use and function.
- an understanding of the use and function of commercially available operating systems which control some of the functions of general purpose computing devices, as well as with commercially available application software such as Netscape® Navigator® (Netscape Communications Corp., Mountain View, Calif.; http://www.netscape.com), Microsoft® Internet Explorer® (Microsoft Corp., Redmond, Wash.; http://www.microsoft.com), and proxy server application software, is assumed.
- a natural person who uses a computer is referred to as a “user” or a “consumer”.
- FIG. 1 illustrates a prior network configuration 10 over which a consumer is able to retrieve data and information, and send data and information, for a number of purposes.
- a PC should be broadly interpreted to encompass any device capable of communication over the Internet via a browser, including general purpose computers, Internet ready telephones and other wireless communication devices, Internet enabled TV's and auxiliary devices, etc.
- the configuration 10 includes a PC 12 , which is in communication, either wired or wireless, with data input elements 14 such as a keyboard and pointing device.
- the PC 12 includes appropriate communications hardware and volatile and non-volatile memory elements (not illustrated) in or on which are stored an operating system and application software which allow a user to send and receive data, and to present that data in a form which is understandable to the user.
- Such software includes application software commonly referred to as a “browser”, such as Netscape, Internet Explorer and AOL.
- the PC 12 can also function as a local, internal proxy server.
- the PC 12 is connected to a wired or wireless communications line 16 which is connected to a computer or computing device 18 .
- the computer 18 can be a general purpose computer which includes application software which controls the computer to function as a data server, and which is usually remote from the PC 12 .
- the computer 18 or its owner, can be an “Internet server provider” (“ISP”), for which line 16 includes telephone, coaxial cable, or similar links between the PC 12 and the computer 18 .
- ISP Internet server provider
- the computer 18 can also be located on a private network, e.g., a local area network or LAN, and includes application software controlling the computer 18 to function at least as a firewall, proxy server, or both.
- the computer 18 is connected to what is commonly referred to as the World Wide Web or the Internet (together “WWW”, not illustrated) through a communications line 20 .
- FIG. 1 presents a very simple representation of the WWW, which is much more distributed than is illustrated in FIG. 1 .
- Also in communication with the WWW are a plurality (only three are illustrated) of content data servers 22 , 24 , 26 , (i.e., in the language of the WWW, websites), which have stored therein data or information 28 , 30 , 32 , (e.g., webpages) respectively.
- TCP/IP Transmission Control Protocol/Internet Protocol
- IP Internet Protocol
- the computer is assigned a set of addresses at a certain class level (A, B, C, etc.), and all of the addresses within that set are routed to that computer.
- A, B, C, etc. class level
- each of the computers within the private network can be assigned a unique IP address in the set assigned to the proxy server.
- the computers assigned IP addresses within the set define an “intranet”, because the IP addresses are all within the address set assigned to the proxy server.
- the most widely used part of the Internet is the World Wide Web (often called “the Web”). Its outstanding feature is hypertext, a method of instant cross-referencing.
- a proxy server is a server that acts as an intermediary between a workstation user and the Internet so that the enterprise can ensure security, administrative control, and caching service.
- a proxy server is associated with or part of a gateway server that separates the enterprise network from the outside network and a firewall server that protects the enterprise network from outside intrusion.
- a proxy server receives a request for an Internet service (such as a Web page request) from a user. If it passes filtering requirements, the proxy server, assuming it is also a cache server, looks in its local cache of previously downloaded Web pages. If it finds the page, it returns it to the user without needing to forward the request to the Internet.
- the proxy server acting as a client on behalf of the user, uses one of its own IP addresses to request the page from the server out on the Internet.
- the proxy server relates it to the original request and forwards it on to the user.
- proxy server is invisible; all Internet requests and returned responses appear to be directly with the addressed Internet server. (The proxy is not quite invisible; its IP address has to be specified as a configuration option to the browser or other protocol program.)
- An advantage of a proxy server is that its cache can serve all users. If one or more Internet sites are frequently requested, these are likely to be in the proxy's cache, which will improve user response time. In fact, there are special servers called cache servers.
- cache servers there are special servers called cache servers.
- a proxy can also do logging.
- the functions of proxy, firewall, and caching can be in separate server programs or combined in a single package. Different server programs can be in different computers. For example, a proxy server may be in the same machine with a firewall server or it may be on a separate server and forward requests through the firewall.
- requests for data from one computer to another computer within the same assigned set of IP addresses are considered secure, because the request and the data sent in reply do not get passed to any computer not assigned an IP address within the set.
- a request for data is addressed to a computer not within the set of IP addresses, the request must pass to computers which are assigned IP addresses not within the set assigned to the same person or entity, and are therefore considered insecure. This latter insecure request for data passes over the Internet, because it is passed to computers with IP addresses not in the same assigned set as the originating computer.
- IP Internet protocol
- CIDR interdomain routing
- the user launches and uses the browser software to request data from a specified machine, such as a server 22 on the WWW, by entering the uniform resource locator (URL) designation for the machine, and preferably the specific data file on that machine, such as data 28 .
- the data representing this request for data is communicated to the computer 18 , which processes the request data to be sent out onto the WWW, typically in the form of multiple data packets, including the IP address for the PC 12 .
- the servers 22 , 24 , or 26 usually are not directly connected to computer 18 , and each data packet can take a different route from computer 18 to server 22 .
- each packet Upon being communicated to server 22 , each packet is reassembled with the other packets to reconstruct the original data request from the user.
- the server 22 retrieves data 28 , and processes the data for the return trip across the WWW to the user's PC 12 , typically in the same manner as the user's data request.
- the browser software running on the PC 12 then reassembles the data packets to reconstruct data 28 , and presents it to the user in a particular, usually an understandable form, and can be either static or dynamic, i.e., can itself include instructions for controlling the PC 12 .
- data 28 can include software instructions, such as instructions scripted in JavaTM (Sun Microsystems, Inc., Palo Alto, Calif.; http://www.javasoft.com) which are executed on the PC 12 .
- the data file 28 oftentimes includes data that results in a form being generated by the PC 12 and displayed to the user.
- the user enters information into the form using the keyboard 14 , and sends the filled-out form back to the server 22 , including data representing what the user would like to buy, and payment information, such as credit card information.
- FIG. 2 schematically illustrates an exemplary system 100 in accordance with one implementation of the present invention.
- the system 100 includes an intermediary domain 102 , e.g., a domain on a network, which includes one or more computers and associated hardware, firmware, and software, which together function as a domain on the WWW.
- the intermediary domain 102 is operatively in the path between the PC 12 (and the computer 18 ) and all other machines on the WWW, so that all of the data that is sent to and from the PC 12 is routed through the intermediary domain 102 .
- the intermediary domain 102 is on the public (WWW) side of the computer 18 , and is therefore not necessarily in direct communication with either computer 18 or any of servers 22 , 24 , 26 .
- the intermediary domain 102 includes at least one, and preferably a plurality of machines 102 x , each with associated hardware, firmware, and software as discussed above.
- Each machine 102 x (X[1, N], wherein N is a positive integer) has a unique IP address within the intermediary domain 102 , and therefore can be located together or distributed throughout the WWW.
- FIG. 3 schematically illustrates an exemplary implementation of a configuration of the intermediary domain 102 .
- the intermediary domain 102 includes at least one, and preferably numerous (only three are illustrated) proxy servers 104 , 106 , 108 , and at least one, and preferably numerous (only three are illustrated) data servers 110 , 112 , 114 , which are in communication with the proxy servers.
- the data servers 110 , 112 , 114 can be Structured Query Language (SQL) servers.
- the proxy servers 104 , 106 , 108 include proxy server application software which allow the PC 12 to route requests for data through the intermediary domain 102 .
- the PC 12 is therefore aliased within the intermediary domain 102 , which requires all of the data which is sent from the PC 12 onto the WWW and all of the data from the WWW which is intended for the PC 12 to be copied, processed as by a filter 116 , and stored within the intermediary domain 102 on data servers 110 , 112 , 114 .
- a complete copy of all data addressed for the PC 12 is copied within the intermediary domain 102 , and is filtered.
- the filter 116 can be constructed to retain all of the data, or to retain portions of the data in servers 110 , 112 , and 114 .
- a proxy server 104 receives data 28 from the server 22 , readdresses the data to the PC 12 based on an unique identifier (see below) at the IP address assigned (either statically or dynamically) to the PC 12 , and transmits the readdressed data 28 back into the WWW. Data 28 is then collected by the gateway server 18 , and transmitted to the PC 12 , as discussed above.
- the intermediary domain 102 is not an ISP or proxy server gateway from a private network.
- the intermediary domain 102 is another domain on the WWW through which consumer/PC-specific data is routed, and includes a proxy server gateway onto the public WWW network.
- the intermediary domain 102 is an ISP to which the PC 12 directly connects, i.e., includes computer 18 .
- FIG. 4 diagrammatically illustrates a flow chart of steps of methods in accordance with the following description.
- data representative of Internet consumers' individual identity can be a valuable product in itself.
- the quality of the data e.g., statistical significance and error, greatly impacts how valuable the data is to a party wanting to know about a particular consumer's habits.
- Methods in accordance with the present invention collect and generate data which is extremely complete for an individual user, and therefore can be very useful by itself or when correlated with other data about that user, or other consumers that share characteristics with the user. Furthermore, in implementations of the present invention that do not rely on client-side data collection, but instead utilize server-side data collection, the impact on the performance of the individual consumer's PC 12 is minimal, and does not require repeated software updating as with prior systems which were resident on the PC 12 .
- an Internet consumer is registered so that the consumer's PC 12 can be uniquely identified (Step 200 ) in an exemplary system.
- incentives may be offered to the consumer in exchange for routing all of that consumer's Internet data so that it can be monitored.
- the exact nature of the compensation can vary, and can include money, products, services and the like. Additionally or alternatively, the compensation can be in the form of faster Internet access or other value-added services to the consumer. For example, when using system 100 described above, data can be delivered to the PC 12 in compressed form from the intermediary domain 102 .
- the consumer Because of the decrease in required bandwidth required for transmitting compressed data, the consumer experiences an overall increase in data transfer rates between the intermediary domain 102 and PC 12 , even when factoring in decompression of the data by computer 12 .
- the retransmission of compressed data can be an incentive for the Internet consumer to agree to proxy all of their Internet data through the intermediary domain 102 .
- the intermediary domain 102 compresses data to be sent to the PC 12 , resulting in faster net times between the PC requesting data and that data being delivered to the PC 12 .
- the intermediary domain 102 can include a set of logical instructions, e.g., software, which compresses data according to a known compression routine, e.g., the Gzip compression routine.
- the Internet consumer receives the benefit of faster net data transmission without the need to intervene in the process of decompressing the data with a separate decompression application or tool.
- the particular compression protocol used to compress and decompress the data can be any of the numerous known data compression protocols, such a “zip”, “uuencode”, “tar”, “lzh”, “MIME”, “ARC”, “Binhex”, “sit”, “hqx”, etc., within the spirit and scope of the present invention, the protocol being selected so that the browser application running on the PC 12 includes logic to automatically decompress data which has been compressed according to that algorithm.
- virus screening elimination of pop-up, pop-under and other forms of unsolicited advertisements, parental controls, e-mail virus screening, firewall protections can be offered and in some instances, offered such that the level and combination of services are selected by the user.
- the intermediary domain 102 can perform proxy caching, including hierarchical caching, of webpages and entire websites of predetermined interest.
- proxy caching including hierarchical caching, of webpages and entire websites of predetermined interest.
- the decision to participate i.e., to contract with the service provider, is voluntary, and some consumers may elect not to participate.
- Those who choose to participate supply the service provider with information about themselves; the exact data can vary, and could include demographic, socio-economic, geographic, and any other information commonly collected in market research studies.
- Such information can include, but is not limited to user age, user income level, user education level, household size, time of transmission of the data set, location of computing device, date of transmission of the data set, currency paid, type of product purchased, type of service purchased, network address of the intended recipient of a data set, click-through address, banner advertisement impression, and permission e-mail received, and combinations thereof.
- the consumer is provided with a small application software applet which adjusts the browser application running on the consumer's computer so that it proxies to the service provider's proxy server, i.e., so that it redirects all of the consumer's outbound data to the intermediary domain 102 .
- the applet will reset the browser to proxy to the intermediary domain 102 .
- Publicly available browsers are provided with the ability to do this “reset” operation.
- the applet can be directly downloaded, shipped via a diskette, CD-ROM, or the like, or manually installed or modified by a technician who visits the consumer (Step 202 ).
- a database record is built based on the data set supplied by the consumer (Step 204 ).
- a unique identifier is assigned to the consumer (Step 206 ).
- each PC 12 can be dynamically assigned an IP address by the computer 18 , the intermediary domain 102 must first be provided with unique identifying information about the PC 12 to differentiate it from other computers which are similarly proxied through the intermediary domain 102 .
- This information may be identifying information provided by a component (either software or hardware) of PC 12 , such as by a “cookie” returned to the intermediary domain 102 , a “digital certificate” returned to the intermediary domain 102 , CPU chip identifying information (as has recently been commercially available in Pentium® III class chips from Intel Corp., Santa Clara, Calif.; http://www.intel.com), or other unique identifying information.
- identifying information or data can be included in each data packet, such as in the header portion of each packet, so that each packet uniquely identifies each the PC 12 from which it originated.
- one or more fields in the packet header can include unique identifying information. Changing the value that is contained in any particular field of a packet header to include such identifying information is contemplated.
- the language field value for example, can be changed so that it is, or includes in addition to a language code, a unique identifier such as an alphanumeric string, or more than one alphanumeric string, after one or more language codes which preserves the function of the language tag.
- the alphanumeric strings can also be used to encode information, including demographic or other user specific information about the user, or users of the browser, to make data collection and processing simpler.
- This change in the data field can be readily achieved by changing the browser's preferences to include the unique identifier, which can be performed manually through the application tools provided with the browser. Alternatively, this change can be achieved by executing a series of logical instructions, as embodied in software, on the PC 12 , either distributed via a disc or other memory device or downloaded over the network. Further, initiation routines in the browser software can reset the data field to include this identification information at each software initiated. Any other field in a packet header can be used instead of, or in addition to, the language field.
- This mechanism of branding the browser with a unique identification is carried out through a method including the following steps.
- This method of identifying a computer device or the PC 12 on a network 10 , 100 includes the steps of establishing a connection between the PC 12 and the network. While of course this can involve connecting the PC 12 to the Internet, for example, it could additionally or alternatively involve connecting to any other public or private network using data formats that include header fields.
- a computer such as a data server on a network, can provide instructions to the PC 12 to alter a data field in the header portion of a communications protocol in a browser program on the computing device to include identification data unique to the computing device on the network.
- these instructions can be disseminated through computer readable, tangible media such as magnetic or optical disks, or any suitable storage media, or can be followed by a user to configure the computing device or PC.
- the method also includes transmitting the data field from the PC 12 over the network with requests for data and parsing the data field to extract the identification data in the modified data field.
- the computing device or PC 12 is then identified from the extracted identification data. This identification can take place at the intermediary domain 102 or at other content servers 22 , 24 , 26 . It can take place at a gateway server 18 within the enterprise, or even on the PC 12 , if desirable.
- modified data strings added to a header data field could be used to encode information, such as to separate groups of users in a panel of monitored users for market research purposes or to encode specific user identification or demographic information, for instance.
- the first and/or second halves of a computer identification code could be used to identify each user's or potential user's age, income bracket and other identifying demographic information, perhaps without specifically identifying the individuals.
- a specific user can be identified from a set of possible users by employing the characteristics of the user's input device activities, i.e., either his keystrokes or his mouse clicks.
- Identifiable characteristics of the user's input activities such as the dwell time on the keys, the time between keystrokes, patterns and/or vectors derived through key combinations can be used to uniquely identify a single user because of that particular user's mannerisms in using the input device.
- key combinations can include two or three letter digraphs (e.g., “ea”, “ht”, “tp”, double clicking, etc.) or trigraphs.
- the technique of user authentication through monitoring keystroke dynamics has been structured.
- the present invention overcomes these problems by not only developing statistical models of the habitual patterns for purposes of comparison to fresh inputs from a user to determine identity, but also to develop statistical models during individual online sessions, for instance.
- the input device dynamics may indicate with 70% certainty that the user is a particular member of a family.
- the statistical data becomes more refined leading to a statistical probability of identification approaching unity, i.e., 100%.
- the analysis of the input device dynamics can assist in identifying a user name for instance, as belonging to a given member of a family. Also, if a group member is using a browser under a user name normally associated with another group member, then this can be determined and the collected data attributed to the correct person in the group.
- the input device patterns can be quantified in any number of ways, such as those articulated in the above-cited articles, including measuring the timing between keystrokes and clicks, common typing errors, such as habitually typing “teh” for “the”, etc., and/or combinations of these measure characteristics.
- vectors can be determined based on the timing between input device entries and statistically processed.
- the user's usage can be tied to an actual user, rather than just the identity of the machine or logon identification. Further, it is entirely possible that a single user would have multiple screen names or multiple users can use the same screen name. This user identification from the input device activities helps differentiate the users without requiring additional interaction with the user to thereby provide more accurate information and allow action of Internet activities. Additionally, if the input device dynamics does not match any of the known users of a household for instance, then the usage can be allocated to a guest or generally an unknown user.
- the input device dynamics can also be implemented to identify traits to early distinguish users. Some users may be early distinguished, e.g., between a slow typing user and a fast typing user, and the processing shortened to look for this one trait thereby avoiding further processing when that trait serves the purpose of the invention.
- the present invention involves a method of identifying a user of a computer device or PC 12 having at least one input device 14 .
- the computer device can be connected to a network.
- the method includes the step of, as shown in FIG. 4A , monitoring at least one characteristic of input device operation by a user to provide data on at least one mannerism of the user in operating the input device (Step 206 - 1 ).
- This can be done in the PC 12 , or on the network at another location such as the intermediary domain 102 by, for instance, transmitting from the PC 12 to the intermediary domain 102 an indication of the keystrokes or clicks against a time line or simply annotating the keystrokes with relative timing, for instance.
- the time vectors between keystrokes can be calculated in real time on the PC 12 through the use of suitable software.
- the data on the mannerism or mannerisms of the user in operating the input device are accumulated to provide accumulated mannerism data for a given session, as shown in Step 206 - 3 of FIG. 4A .
- the accumulated mannerism data are compared (at Step 206 - 4 ) to a database of mannerisms of at least one user over multiple sessions or in a “training” session when a user is asked to type in certain keystroke combinations, for instance, (in Step 206 - 2 ) to provide a comparison result, as shown in FIG. 4A .
- an indication of an identity of a user can be provided using the input device of the computer based on said comparison result, as shown in Step 206 - 5 of FIG. 4A .
- the measured or monitored mannerism can be measuring time between successive, predefined input device entries and/or dwell time on individual input device entries.
- the method includes supplementing the data accumulated over multiple sessions with the data accumulated over a given session after a user associated with the multiple session data has been identified, as shown in FIG. 4A at Step 206 - 6 .
- the consumer's entire Internet data will be routed to the service provider 102 .
- the intermediary domain 102 can then copy or otherwise monitor the data (Step 208 ), and pass on the data into the Internet (Step 210 ) without impacting the overall data transfer rate from the consumer to the data's intended destination.
- the service provider has predetermined the formats of the webpages for a set of domains, websites, and/or webpages that are of interest to the service provider. Thus, Internet traffic directed to or coming from these destinations/sources is monitored, and the data of interest filtered and collected.
- the service provider retrieves a copy of the particular webpages of interest, and determines the specific data format that the webpage includes. This determination of webpage formats can be performed manually or by an automated process, as will be readily apparent to one of ordinary skill in the art. As most webpages are formatted so as to conform with publicly known, standardized data transfer protocols (e.g., http, hypertext transfer protocol) or known scripting languages (cgi, JavaTM), determining the data format of most webpages will be well within the skill of one skilled in the art.
- standardized data transfer protocols e.g., http, hypertext transfer protocol
- known scripting languages cgi, JavaTM
- the service provider When the service provider is routed a copy of a webpage from either the consumer or a website, the service provider is able to copy the data contained in the webpage. By knowing the data format used by that website in creating the webpage, the service provider is then able to extract from the data the exact information detailing what sort of Internet transaction the consumer has just engaged in.
- the intermediary domain 102 does not impede the transaction, but merely extracts the data about the transaction, and passes the data on to the intended recipient.
- the extracted data is then filtered for data elements of interest to the service provider, such as the date and time of the transaction, URL of a click-through (e.g., on a banner ad), amount of money spent, type and number of items bought, delivery method, and so on (Step 212 ).
- the data record for that particular consumer is then updated with the information (Step 214 ).
- the service provider can generate a database of consumer Internet activity of great detail about any single consumer's habits, any class of consumers differentiated based on any common characteristic in the database, any single domain, website, or webpage, and/or any class of domains, websites, or webpages which share a common characteristic in the database.
- a measure or metric can be established and generated from the data collected by the service provider, such as a dollar per thousand hits on a particular webpage (“$/K metric”) (Step 216 ).
- the $/K metric therefore can indicate how much money is generated or received per one thousand times the particular webpage is served to any person on the Internet.
- the $/K metric provides a useful measure for an Internet content provider and/or an Internet advertiser of how to price advertising rates, or how much to pay for Internet advertising, respectively, based on the cost per thousand hits (CPM) versus the revenue generated by the Internet advertiser per thousand hits (RPM).
- a log of Internet activity (“weblog”) can be generated from the data collected by the service provider (Step 218 ).
- the weblog can include a listing of the particular URLs visited by consumers, separate from the data indicating the consumers' transaction habits.
- user-requested content might be an article from the Wall Street Journal.
- content servers 22 , 24 and 26 will provide additional instructions in the HTML code which is returned to the client. These additional instructions cause the browser software to automatically generate URL requests, the replies to which typically take the form of pop-up advertisements, pop-under advertisements, banners, etc. This information is not requested by the user and therefore does not necessarily reflect the user's interest.
- the present invention includes the ability to monitor the traffic and segregate the information requested by the user from the information automatically generated at the server side.
- the present invention monitors for the activation of a keystroke or mouse click, for instance. If within a predetermined number of microseconds (representing the delay in processing the request in the browser software), a URL (e.g., http:/www.comscore.com) is generated, then that URL is distinguished from other URL requests. In this event, a special code is appended to the URL request, such as an action code (AC) as used in one implementation of the present system. This action code AC is appended to the URL request at the local proxy within the PC 12 . However, for a monitoring mechanism it can be implemented at the gateway proxy 18 , for instance.
- a URL e.g., http:/www.comscore.com
- the local proxy within the PC 12 then transmits the URL plus the action code AC to the intermediary domain 102 .
- the intermediary domain 102 notes the URL request as special, strips off the additional code AC and forwards the URL to a content server 22 , 24 , 26 , for normal processing.
- the content server 22 , 24 , 26 then returns an HTML file perhaps with an imbedded URL request, for instance.
- the proxy servers at the intermediary domain 102 log and count the URL request and returned content as user requested content.
- the HTML is forwarded to the client PC 18 , generally compressed in accordance with other aspects of the present invention.
- the HTML request is received at the local proxy within the PC 12 and forwarded to the browser software for parsing and display. During the parsing operation, the browser may automatically generate further URL requests from the HTML code representing pop-up ads, pop-under ads, and other types of content not specifically requested by the user. This automatically generated URL request is then sent to the local proxy.
- the URL request is forwarded to the intermediary domain 102 without an additional code AC.
- This URL may be logged at the intermediary domain 102 because monitoring what content reaches the user is of interest, but it is not counted as user requested information.
- the URL is then forwarded from the intermediary domain 102 onto a content server 22 , 24 , 26 where the process of returning HTML codes to the intermediary domain 102 , then onto the local proxy of the PC 12 , in the normal course.
- the monitoring and filtering of the URL request and reply HTML in accordance with this aspect of the invention can take place within the PC 12 .
- a URL request is preceded within so many milliseconds by an enter key keystroke or mouse click, that URL can be recorded together with an additional code to signify that it was a user generated request.
- the HTML reply returns to the computer, the content can be logged and counted as user requested content.
- the present invention can be employed within the content server insofar as the PC 12 can append the code to distinguish a user generated URL request, as opposed to an automatically generated URL request, although the usefulness of the invention may be diminished insofar as it is the content servers 22 , 24 , 26 that generally provide the automatically generated URL's in the first place.
- this aspect of interstitial traffic monitoring greatly facilitates the improved accuracy of the information used in monitoring traffic by differentiating between user requested content and automatically generated content. This is particularly useful when identifying dwell times insofar as the user may only be interested in the requested content while additional pop-up ads are being displayed.
- This aspect of the present invention can also be used in other endeavors, such as the elimination of pop-up ads and pop-under ads or otherwise elimination of display of any non-user requested information.
- Further filtering of the automatically generated URL requests may be necessary insofar as the requested content may have imbedded URL requests in the HTML file for additional content desired by the user, such as a photograph accompanying an article, for instance.
- This additional filtering can be in the form of checking the automatically generated URL's against a database of URL's known to provide only advertisements and other content not generally requested by users.
- secure Internet transfer protocols can be used between an Internet consumer and an Internet content provider while still monitoring and collecting data about the user's Internet activities.
- an Internet consumer initially requests a secure webpage, the consumer is sent an encryption key to enable encryption and decryption of webpages sent respectively to and from that website.
- other machines on the Internet are unable (in theory) to effectively interpret the data passing between the Internet consumer and the website when in a secure mode.
- a proxy server of the intermediary domain 102 can include two servers: proxy server 106 for transferring encrypted data to and from the PC 12 , and the proxy server 108 for transferring encrypted data to and from server 22 (for example).
- servers 106 and 108 may be the same proxy server functioning as described above.
- server 106 can negotiate and pass its own encryption key to the PC 12 (Step 252 ), thus initiating a secure session with computer 12 .
- the original request from the PC 12 bearing the unique identifier for the consumer on the intermediary domain 102 (Step 254 ) is passed back into the Internet by server 108 to be received by computer 22 (Step 256 ).
- the computer 22 and server 108 negotiate an encryption key for the data 28 , and the encryption key is passed back to server 108 , bearing the consumer's unique identifier in the intermediary domain 102 (Step 258 ).
- server 108 When encrypted data 28 is sent by the computer 22 and received by server 108 (Step 260 ), the server 108 decodes the data using its encryption key (Step 262 ). The server 108 passes the decoded data to a second proxy server 106 , which readdresses the data for delivery to PC 12 at its IP address from gateway computer 18 and encrypts the data using the encryption key held by proxy server 106 (Step 264 ). Thus, proxy server 106 securely transfers data to and from computer 12 , proxy server 108 securely transfers data to and from computer 22 for the consumer, and servers 106 and 108 exchange the decoded data. In one implementation of the present system, servers 106 and 108 are the same server which performs the operations and functions described above. According to another implementation, proxy servers 106 and 108 are different servers, which separately perform the operations and functions described above.
- UMR User Demographic Reporting
- the identity of a machine used to surf may be determined based on an indicator known as ‘browser_idc’, or a modified language tag as identified above.
- the identity of the actual demographic characteristics of who is surfing may be determined.
- UDR leverages three primary sources of data that currently maintain some or all of several User Demographic Reporting indicators.
- Step 606 a By processing these data sources and providing logic that matches each indicator to a specific member within a household for instance, a complete demographic scope of surfing behavior is maintained throughout a user monitoring system in accordance with the present invention.
- Step 606 b Herein, users are grouped together in households, but it will be understood that the groupings can be with respect to businesses, within businesses or virtually any grouping of people however determined.
- the UDR indicators may include: first name, last name, email, login/screen name, gender, and birth year, for example, but can include additional or different information that might be of particular interest.
- First name, email and login/screen name tend to be unique within a given household or other user group.
- Gender and birth year supply the two main demographic breaks in which surfing activity is reported.
- the last name acts as a statistical measure and validation for other UDR indicators within a given household.
- the first name is the driver behind other indicators—as it primarily identifies a person within a household.
- other critical indicators such as email and login/screen name follow a set of logical rules that can match on a first name within the household.
- Gender and birth year act as supplement indicators that provide support to the other critical elements.
- gender and birth year are the two final demographic breaks that each site session is assigned.
- UDR Form Data comes from monitoring sites for when a user enters personal information such as on a form or online sweepstakes entry.
- Three sources may be brought together as one master UDR “Dictionary” that contains any UDR information for each member within the household. Non-members of the household or user group may also be maintained within this “Dictionary” as “dummy” members, because the goal is not to portray the size of a household, but to identify the person who was surfing during a site session.
- Secondary sources of data may serve as supplements to the primary sources.
- Such secondary sources include: a name-pseudonym and name-gender lookup table that may allow several pseudonyms to match on one first name currently registered within a database of panelists and to identify the gender of members or “dummy” members when no gender is present in any of the three sources, but a first name is presented to us.
- a second supplemental source includes a tool that scrapes the screen name for when a user logs into AOL and/or CompuServe.
- a large number of online home population use AOL and/or CompuServe, and this tool enables capture of the login for AOL/CompuServe users.
- This may supplement the UDR Form Data source with login/screen name collection.
- the AOL/CompuServe screen names may be ultimately collected within the UDR Form Data once the tool captures the screen name from a user's sign-in.
- other screen names viewed using a complex Java script may be collected via decrypting sources and ultimately collected within the UDR Form Data once decrypted. Such an example is the Yahoo! screen name.
- the UDR indicators undergo extensive matching and updating processes in order to effectively identify an individual surfing during a given site session.
- Primary and supplement data sources may remain apart from any “live” registration or production databases so as not to affect other reportable data and therefore stores in a separate database containing the UDR “Dictionary”.
- the UDR “Dictionary” is built and maintained from the primary sources (also supplemented by the secondary sources mentioned above) into one master normalized table that is handed off to information processes. From these efforts, the specific demographics for each user session can be reported, for instance, by age and/or gender.
- the registry data is a primary source of User Demographic Reporting (UDR) that may match against other forms of inputs.
- UDR User Demographic Reporting
- Five UDR indicators have been selected in this exemplary implementation as ways to personally match a person to a user and site session: first name, last name, email, gender and birth year.
- the browser_idc and person-Id are carried over to distinguish members within each household (browser_idc).
- the ‘person_id’ is generated from combining a ‘panelist_id’ and a ‘member_id’; both found within the registration database.
- a separate database may serve as a replica to the primary registration database that may house only the five UDR indicators and their corresponding browser_idc and person_id. This replica is called the UDR “Dictionary” herein.
- the UDR “Dictionary” may maintain known indicators for each person within the household.
- the UDR indicators may represent UDR information collected from the registration database, transaction data and the UDR Form Data process (further described, infra). Thus, the “Dictionary” may maintain known unique values for each UDR indicator per member within each household.
- member “john” might have two different email addresses and both of which are maintained within the UDR “Dictionary” for “john”.
- the initial load of registry data extracts only those current active households (browser_idc) and members within the household in addition to their corresponding UDR indicators in an implementation where this processing occurs at the server side. This processing, however, can take place on the client side.
- UDR “Dictionary” serves as a subset of data from the primary registration database containing only the five (5) UDR indicators and corresponding browser_idc and person_id for current active households.
- UDR indicators and household information (browser_idc, person_id) from an initial registration database (which is a mirror of the primary registration database) into a UDR “Dictionary” as described above.
- the “Dictionary” is a normalized view of the registration database information and thus creating a separate row/record for each UDR indicator for each person within the household.
- the result is a normalized table stored on a data server with the following fields: panelist_id, member_id, browser_idc, string_type, string, match, source.
- Panelist_id and member_id may make up the person_id; browser_idc represents the household identifier; string_type represents the type of UDR indicator (first name, last name, etc.); string represents the value within the registration database for that ‘string_type’; match may act as a counter that tracks the number of hits per string by string_type within the household; and source represents the original source of the string for that string type. In this case, the source may be ‘registration database’, symbolized as ‘r’.
- UDR indicator first name, last name, etc.
- match may act as a counter that tracks the number of hits per string by string_type within the household
- source represents the original source of the string for that string type.
- the source may be ‘registration database’, symbolized as ‘r’.
- a daily update may be implemented that identifies any new households (browser_idc) from the most recent site sessions matched to the registration database that do not currently exist in the UDR “Dictionary”. This daily update may further enhance the “Dictionary” as a good representation of current active households and corresponding household members.
- the transaction data is a way to leverage the transactional information (both ecommerce and non-ecommerce data) into the UDR process. Since several transaction types collect UDR indicators (mostly name and email), it is important that this information is extracted to enhance the UDR “Dictionary” and to further increase the user/site session match based on the UDR indicators.
- the UDR information from the transaction data may be extracted by pulling browser_idc and their matching UDR indicators. It is possible to collect the following UDR indicators within the transaction data: first name, last name, email and date of birth/birth year in some of the more recent non-ecommerce transaction types. Each indicator searches through the UDR “Dictionary” for a match based on the browser_idc and UDR value.
- FIG. 6B diagrams the matched scenario.
- the end result may be added match counts for each collected UDR indicator within the transaction data.
- the initial load of the transaction data and update to the UDR “Dictionary” may incorporate historical raw transaction records within the systems. This includes ecommerce and non-ecommerce transaction types.
- This process may begin by loading the historical raw transaction data for transactions.
- the data loads into a raw table on a database (‘im_UDR’ database) with the following fields: url_key, browser_idc, string_type, string, source.
- Url_key representing the distinct address of the page from the servers; browser_idc representing the distinct household; string_type representing the UDR indicator (first name, last name or email); string representing the actual value for the UDR indicator; source representing the origin of the string by string type (e.g., “2” for transaction data).
- the string types and corresponding strings are matched against the UDR “Dictionary” for each browser_idc.
- the “match” field within the UDR “Dictionary” is incremented by one for that string and string type.
- a new person_id may be created within the UDR “Dictionary”, thus creating a new member for that browser_idc and setting the “match” counter to one for that specific UDR value and string type—and creating a “source” indicator of “2” for transaction data.
- Diagrammed in FIG. 6D is how the transaction data is matched to the UDR “Dictionary”.
- the first name collected in the transaction data is matched against a name-pseudonym lookup that identifies any pseudonyms for a specific first name—and vice versa.
- a name-pseudonym lookup that identifies any pseudonyms for a specific first name—and vice versa.
- the name “john” that is collected in a transaction record is looked up in the name-pseudonym table for “john” as the first name and pulls out any corresponding nicknames (johnny, jon, etc.).
- the name “john” is looked up in the name-pseudonym for “john” as a pseudonym and pulls out any corresponding first names johnathan, jonathan, etc).
- the string within the UDR “Dictionary” remains static unless a higher ranking source captures the string (first name for example) and matches it in the UDR “Dictionary” through the name-pseudonym lookup—at that point the string is replaced with the string collected from the higher-ranking source. For example, if “jon” had been collected from the registration database and a record already existed in the UDR “Dictionary” for “Jonathan” that had a source code of “t” for transaction; then “jonathan” may be replaced with “Jon” since the registration database serves as a higher ranking source than the transaction data.
- the end result of the transaction data load and update process is a system that continually adds hit counts to the UDR “Dictionary” for string and string types by browser_idc. It also serves as a way to artificially add members to the browser_idc (household) within the UDR “Dictionary” while not updating the actual registration database and thus increasing the overall coverage to the site and user sessions for each person surfed. It may allow us to not remain dependent solely upon the registration database because the assumption is, we do not care if they are an actual member of the household or just a guest purchasing an item on the household's computer—all we care about is who (UDR indicators) was surfing during that session.
- Keyword Name first_name, fname, last_name, lname, first, last Email email, user email, recipient_email, member- email Login/Screenname login, account name, signin, screenname Gender gender, sex, male, female, int_gender Date of birth dob, birthday, birthyear, b_year, b_month
- the collection of these keywords and corresponding values may be captured at the proxy level or client level and then undergo some series of business rules/logic that weeds out useless data and sorts the raw records into a workable model.
- the processed data may then be matched to the registration database to identify the member within the household to which it belongs. If no match exists, a “dummy” person is created within the matched browser_idc. This match to the registration database and addition of “dummy” members may occur in a staging area within the local systems—not to interfere with the actual registration database.
- a process sorts the “string types” based on the single-character value and parses out the string into a workable table that allows for an easy update into the “staged” registration database.
- the sorting process creates an individual record for each occurrence of a string type and matches it to the corresponding page's url_idc, browser_idc and event_time.
- the end result of the sorting looks like this: url_idc browser_idc event_time type parameter value sample sample sample sample n first_name Someone sample sample sample n last_name Else sample sample sample sample n current_last_name New sample sample sample sample e email test@testing.com
- ‘type’ is the “‘string type’” of the match
- ‘parameter’ is the assigned post/query keyword
- ‘value’ is the entry on the form by the user.
- Each record then matches based on browser_idc to the staged registration database (the “Dictionary”) and looks for a match on any of the values for each parameter. When a match occurs, the remaining values for the same person are inserted into the “Dictionary” and a counter is tagged for each parameter increasing by one. So, if in the “Dictionary” the following information is available: Panelist_id browser_idc string_type string match sample sample 1 someone 1 sample sample 2 else 1
- the first name drives the identification of a person to other demographic breaks. It can be identified in email addresses, login/screen name entries, matched to various pseudonyms and in most cases a gender can be applied to a first name.
- First name collects in three primary sources: registration database, transaction data and the UDR Form Data.
- the first name collected from the registration database may update the UDR “Dictionary” for each member within a household where first name is not ⁇ NULL> or not “Member”.
- the first name is also updated to the UDR “Dictionary” from the transaction data and UDR Form Data when presented.
- FIG. 6F is an example of a pseudonym match.
- FIG. 6G is an example of how the name-gender match can be applied.
- An additional panelist_id/member_id is generated for “michael” and updated with “M” as gender (if the name is not found within the name-gender lookup (ambiguous names), then only the name is added to the “Dictionary”, and gender is left blank). See FIG. 6H .
- Panelist_id/member_id for “michael” is generated as a “dummy” id and applies to the given session. The system is then able to identify the gender of this session, but not age.
- the first name can be matched against other UDR indicators such as email and login/screen name following some basic logical rules.
- This process and set of logical rules are defined in more detail within the “Email” and “Login/Screen Name” sections of this document.
- the email address serves as three functions: 1. because of its uniqueness, the email can identify a person whereas a common indicator such as ‘address’ cannot; 2. the prefix to an email address (everything before the “@” sign) can be identified as a unique login/screen name for that person; 3. the first initial-last name of a person may search within the email prefix for updating the UDR “Dictionary” by identifying a first name. Therefore, in addition to its use as identifying a person when no other demographic information is presented during a site session, the email address can add UDR ‘strings’ for a given member within the household so as to help identify the person in later sessions based solely on a login/screen name or email prefix.
- FIG. 6I is an example.
- FIG. 6I illustrates that whenever someone on the computer with the same browser_idc as “George Bush signs on to AOL as “elephant”, the system identifies that as a login/screen name for “george bush” and assigns him that session. Without the email “breakout” of its prefix, the screen name, “elephant” is identified as a “dummy” person to the household and if no other UDR indicators are matched during the session, the session becomes un-identified. This scraping of the email's prefix occurs when transaction and UDR Form Data for email is presented/collected.
- the first non-numeric character within the email prefix is labeled as “first initial” and the last set of non-numeric character values is matched against persons' last names within the household.
- the second logical step may use the “first initial-last name” match to identify a person within the household.
- the original email presented/collected is updated to that person's member_id within the household for string type “3” (email), and the email prefix is updated to string type “4” (login/screen name) as his/her login/screen name.
- FIG. 6J and FIG. 6K show a real-world example of how the email can serve these multi-functions. End Result: panelist_id/member_id for “george” is applied to the session solely based on the login/screen name, “elephant” which would otherwise not identify anyone specifically within the household.
- the system can match an email based on a first initial-last name combination, as shown in FIG. 6L .
- the login and/or screen name is an identifier that a person enters when signing on to a particular online service such as an ISP, Internet email system or possibly a subscription service like wsj.com (Wall Street Journal).
- a particular online service such as an ISP, Internet email system or possibly a subscription service like wsj.com (Wall Street Journal).
- ISPs Internet email services or ISPs that offer email accounts may use the login and/or screen name as the user's email address prefix (e.g. a screen name of “johndoe” for AOL may assign an email address of “johndoe@aol.com” for this person).
- the login and/or screen name can apply a logic that distinguishes a first and/or last name within the household for a login/screen name that is otherwise unmatched in the UDR “Dictionary”.
- the login/screen name serves three purposes: 1. to uniquely identify a site session with a member of the household when no other UDR information is presented during a session and the unique login/screen name is found within the UDR “Dictionary”; 2. to identify which member of the household a unique login/screen name belongs based on a first name or first initial-last name logic; and 3. create an additional “forced” email address for the person by applying a domain level logic.
- the login/screen name generates additional UDR strings in addition to its primary function of identifying the person surfing during his/her session.
- FIG. 6M illustrates how an additional email record is generated when a login/screen name is collected and matched within the UDR “Dictionary”.
- an email address is created for that person in the event “gwbush@msn.com” is collected either through a transaction or UDR Form Data record in the future.
- the login/screen name can apply a similar set of rules. Two logical steps occur when the collected login/screen name does not match in the UDR “Dictionary”: 1.
- the login/screen name matches against email prefixes within that household to identify the person; or 2. the login/screen name uses the first non-numeric character as the “first initial” and the last set of non-numeric character values as the “last name”; together the combination matched against the person's last name within the household and identifies a person's first name from the first letter matched to the login/screen name's first initial.
- the original login/screen name presented/collected is updated to that person's member_id within the household for string type “4” (login/screen name), and the mail (string_type “4) is added as an additional record by appending the “@” sign followed by “domain.com”.
- 6N is an example of a real-world example of how the login/screen name logic applies.
- the end result is that the panelist_id/member_id for “george” is applied to the session solely based on the login/screen name, “elephant” which would otherwise not identify anyone specifically within the household.
- Login/Screen Name can use the first initial-last name rule (UDR Form Data record collected through hotmail.com) as shown in FIG. 6O .
- an additional email address is created for “george” in order to identify “george” to any future sessions where only“gwbush@hotmail.com” is collected.
- Gender is one of the two other demographic breaks used in identifying user and site sessions.
- the process to update gender is much simpler than some of the other UDR indicators (first name, email or login/screen name).
- gender There are a few logical rules that apply when collecting gender—which is described within this section. Only two of the three primary sources collect gender: the registration database and the UDR Form Data.
- the initial gender update may originate from the registration database.
- the gender for that member may be loaded into the UDR “Dictionary” as either “m” for male or “f” for female.
- the first name if available is searched through the name-gender lookup table and a matching gender to the member's first name is applied. If no first name is available for the member and no gender is offered within the registration database—then no gender is applied to that member_id within the given household.
- gender is collected through the UDR Form Data as string type “g” (translated to “5” when applied in the UDR “Dictionary”.
- a database located on a data server stores the collected values for “gender” entries.
- the gender is then grouped with other UDR information collected either in the same URL record or within a given site session so as to match the UDR information to the “Dictionary” and update the gender. If the gender for the matched member_id already exists, then the “match” counter for that string_type (gender) is incremented by one. If the gender for the matched member_id does not already exist, then the gender indicator is applied in the “Dictionary” and the “match” counter for that string_type (gender) is set to “1”.
- FIG. 6P illustrates either example.
- Gender is one of the UDR indicators that can be easily updated to any member_id within a household for those members who have first names.
- gender is not as unique within a household as first name, email, login/screen name or even the birth year, it becomes difficult to match a session to a specific member within the household when gender is the only UDR indicator presented during the session.
- the system is able to identify one of the two final demographic breaks (gender) for the given session, updating the “Dictionary” to apply gender for a specific person is virtually impossible when more than one member of the same gender exists in the household.
- FIG. 6Q illustrates an example of how a “gender” item goes unmatched within the household for a specific member_id. The end result is that the process cannot match this gender to anyone in the household because it is inconclusive as to whom the record belongs.
- the gender can be used in combination with other UDR indicators to match on a specific member_id within a household. For example, if the gender and birth year were collected within a session, and the birth year exists within the UDR “Dictionary” for a specific member_id, then the gender can be updated to that person where gender currently did not exist for such member_id. The same logic can be used when gender is combined with login/screen name, email address and obviously first name.
- the birth year is the second final demographic break that matches each surfer to a given user and site session. Much like the gender, birth year is very simple to update and includes straightforward logic as opposed to some of the more complex indicators such as: first name, email and login/screen name. Also, birth year is a more unique indicator as opposed to gender, and matching birth year to a person within a given household is more dynamic because the likelihood of two or more members within a household of having the same birth year is less likely than two or more members with the same gender. birth year was chosen as the “birth” UDR indicator because it keeps logic and matching simple and the data type can remain more stable—one does not have different forms of data to manipulate (e.g., translating “Jul. 7, 1985” or “Jul. 7, 1985” or “Jul.
- the first step is for the string to identify the last 4 numeric characters of the string that is not broken up by any spaces or other non-numeric characters. Once these four numeric characters are identified, a “first 2-digit” validation occurs: the first two numeric characters must be a 19 or a 20. If this is true, then the characters are retained and updated to the UDR “Dictionary”. If the validation returns false, then the last two digits are retained and a 19 is pre-appended.
- the next logical step (if the last numeric characters do not exist without a space or other non-numeric character breaking the string) is to identify the last two numeric characters and pre-append a “19” to the beginning of the two numeric characters. Once this logic of stripping/parsing the birth year from any date of birth record occurs, then updating the UDR “Dictionary” is simple.
- the “match” counter is incremented by one, and the session can be applied to this particular member_id. If no match occurs within the UDR “Dictionary”, then the birth year has to be used in conjunction with other collected UDR indicators that occurred during the same url record or session. For example, if birth year and first name, “john” are collected form the UDR Form Data, and “john” is found within the given household in the UDR “Dictionary”; then the collected birth year can be added to “john”. This follows the same for when birth year is collected in conjunction with other UDR indicators such as: email, login/screen name and gender.
- the UDR “Dictionary” is a table that makes up UDR indicators for every member for every household. These indicators are collected from the Registration database, Transaction data (both ecommerce and non-ecommerce data), and the UDR Form Data. This table may remain on a data server and may be called “UDR_registration”, for instance. On a daily basis, this table is handed off to build their UDR “Streamids” process that matches the “Dictionary” information to real URLs during site and user sessions. Due to the size of the UDR “Dictionary” and it's subject to “extra” members from miscellaneous collected UDR Form data, the handoff may be a filtered “Dictionary”.
- the filtered “Dictionary” may include UDR indicators for members within the household where the source is a “1” or a “2”. Therefore, UDR indicators derived from the registration database and from the transaction data may be part of the filtered “Dictionary”. In addition, UDR indicators for members within the household with a source of “3” and the match (which is a field that tracks the ‘count’ of hits for a particular UDR indicator for each UDR string type for each member within the household) is greater than five (5).
- the idea of the ‘single member household’ data is to identify those households who are assumed to be one member deep and thus force that member to be assigned to any user session during which his/her household surfed and no other UDR data was scanned.
- a ‘single member household’ is assumed to be any household by which only one person uses the computer/machine for Internet (other than email) purposes.
- Various data sources and assumptions are utilized in order to build this set of households and ‘single members’ for the efforts mentioned above. This section may outline the different methodologies used to build this data set as logic has changed over time. There are 3 methodologies described below.
- This methodology essentially looks at every household and each member's source of record. The process counts up the total number of member_ids within each household that have a source of 1 (registration data). Finally, only those households where exactly one member has a source of 1 are then passed off to the stream ids process that may force user sessions in the DW for these households when not other UDR data was scanned during the session. The member_id that contained a source of I is used as the default ‘person_id’ in the DW for user_session assignment.
- the process to create a set of households and default member_ids for this methodology uses actual self-reporting of data as seen in the registration database.
- the process may first take active households in the registration database that are reported as a work or school machine.
- the collapsed members are utilized.
- the collapsed member_id (a.k.a PLI_ID or master_id) that has the most number of collapsible ‘persons’ is used as the default member_id for this set of ‘single member households’. This is because it is assumed that a collapsed member_id with many collapsible ‘persons’ is said to be the most frequent of ‘persons’ within the household.
- the process to create a set of households and default member_ids for this methodology uses actual self-reporting of data as seen in the registration database in addition to those households whom completed the registration process and only one member of the household is in the registration database (i.e., single member registrants for multi-member households).
- the first step of the process uses methodology 1 's logic.
- the second step of the process may identify those households within the registration database that completed the registration process (this is identified by using a field within the ‘machine’ table of the registration server that flags each household as having completed or not completed the registration process). Using these households, the process then identifies those households where only one member_id has a source 1 (registration).
- This set of households are combined with step 1 to create a final set of ‘single member households’.
- the same logic used in methodology 2 is used for methodology 3 to identify the default person_id.
- This methodology includes methodology 2 and a subset of methodology 1 .
- the database generated can include data regarding consumer's demographics and the like, the database can be easily mined for data records having web hits on a particular website. This information is particularly valuable to that website's competitors, as it gives an indication of who is visiting the website, and what those individuals' characteristics are. Such “competitive intelligence” can be marketed and sold to a wide variety of parties, and in particular to the particular website's competitors.
- an electronic commerce (“e-commerce”) or retail price index can be generated from the service provider's database, based on any electronic retailer's (“e-tailer”) data, mined from the database (Step 220 ). That is, the prices of particular products can be retrieved from the database, and the relationships between time and price can be generated to provide an indication of the true market price for an item or service, or of the condition of a market as a whole.
- the service provider's database can be further analyzed or mined to extract data relating to the amount of revenue a particular website generates over a particular time period or a particular number of website hits (Step 222 ). Based on the sample size for the particular website of interest, and therefore within a known confidence interval based on known rules of statistical analysis, the service provider will be able to provide revenue projections over a given period of time for the website well in advance of the end of any particular time period or number of Internet visits.
- revenue predictions for a business are very useful tools for pricing securities for that merchant, and therefore the service provider can market and sell such revenue predictions to parties interested in knowing this information before release of the actual revenue reports by the website owner to the rest of the securities market.
- sales forecasts can be used by the Internet merchant for inventory control and just-in-time warehousing and delivery.
- the database can also be analyzed for data representative of the frequency a particular website is visited (Step 224 ).
- the data filtering performed on the raw Internet data received by the service provider can include tabulating the number of times a domain, website, or webpage is served to a consumer. By comparing this number to the number of times a purchase was made, a measure of the particular consumer's purchasing propensity can be generated, as well as the average amount spent per visit and per transaction. These measures can be marketed to e-tailers, or provided back to the consumer. Similarly, by retrieving from the database usage at a single website across the database, cross-selling success can be measured (Step 226 ).
- the database can be mined for transactions, for instance, between the particular e-tailer and consumers for product A, and the e-tailer's success in also selling product B to that same consumer set can be extracted.
- the success of the e-tailer to cross-sell products A and B can be readily extracted, and that information can be marketed and sold to competing e-tailers.
- More traditional market research data can also be easily mined from the service provider's database of Internet consumer activity. For example, a particular e-tailer's total market share in a particular class of goods or services can be determined by extracting data of all transactions, for instance, in that class attributable to the particular e-tailer, as well as all transactions, for instance, for goods or services in the class. Similarly, for a particular consumer, the loyalty or share of the consumer's spending (“wallet”) spent at a particular e-tailer or for a particular product type can be easily extracted. The percentage of the entire consumer sample pool who visited or bought goods or services a specified number of times from a particular site can be determined, which represent the trial and repeat rates for both visiting and purchasing.
- the database can be used to provide data records for a particular consumer characteristic, such as education level (Step 228 ).
- This data set can be compared to broad demographic data sets including indicators of education level, to predict the overall probability of a certain Internet activity, such as buying a product or viewing a video, by persons at that education level for the entire population represented by the broad demographic data set (Step 230 ).
- Other comparisons of the service provider's database to other databases will be readily appreciated by one of ordinary skill in the art, to generate profiling data on a certain population's Internet activities.
- the typical web server 708 ( FIG. 7 ) does a good job of providing content requested by users. However, most web servers do not provide the content as efficiently as possible. In addition, most web servers do not provide the system administrator 710 with enough log information to clearly understand the performance of the website.
- the present invention addresses the performance and logging shortfalls of the typical web server 708 by providing a network appliance or device 706 (which can be the intermediary domain 102 ) that sits between the web server 708 and the browser 704 .
- the user 702 requests content from the web server 708 as described above, however, the device 706 intercepts the request. By intercepting the request, the device 706 can log detailed information about the request.
- the device 706 requests the content from the web server 708 and receives the response on behalf of the web browser 704 .
- the device 706 Once the device 706 has the response from the web sewer 708 , it optimizes the content where possible by providing HTML compression, for instance. In addition to the optimization, the device 706 can insert script into the response that will direct the browser 704 to report information about the request from the client perspective.
- the device 706 encapsulates server-side performance information in the outgoing message.
- the client browser 704 combines client side statistics with the server side data and sends the combined package to a central server ( 707 , FIG. 8 ) for processing and storage.
- the client processing is performed using browser 704 based code (VBScript, JavaScript), and the data is sent back to the central server 707 via one or more transparent GIF requests.
- the request begins by establishing a TCP connection between the browser 704 and the web server 708 .
- the device 706 intercepts this request and accepts the connection on behalf of the web server 708 .
- the browser 704 sends a request for the page and, optionally, requests the connection be kept alive.
- the device 706 checks to see if the user 702 has a cookie issued by the device. If so, it parses the cookie, saves it for future reference, and strips it from the HTTP header. If not, it creates a new unique identifier for the user 702 and saves it.
- the device 706 establishes a connection to the web server.
- the device 706 forwards the user's request to the web server.
- the web server 708 sends the requested page and logs the request.
- the web server 708 may close the connection. It is possible that the web server 708 will close the connection even if the device 706 requested that the connection be kept alive.
- the device 706 adds its cookie to the HTTP header and includes the unique identifier from step 3.
- the device 706 may insert client script to evaluate the page performance from the browser.
- the device 706 will compress the content.
- the device 706 will return the modified response to the browser.
- the browser 704 will request additional information from the web server. This information may be an image, applet, or other content served by the server.
- the browser 704 may use an existing connection already established with the server or it may open a new one.
- the browser 704 sends the request for the additional content.
- the device 706 checks to see if the user 702 has a cookie issued by the device. If so, it parses the cookie and saves it for future reference and strips it from the HTTP header. If not, it creates a new unique identifier for the user 702 and saves it.
- the device 706 establishes a connection to the web server.
- the device 706 forwards the user's request to the web server.
- the web server 708 sends the requested item and logs the request.
- the web server 708 may close the connection. It is possible that the web server 708 will close the connection even if the device 706 requested that the connection be kept alive.
- the device 706 adds its cookie to the HTTP header and includes the unique identifier from step 16.
- the device 706 will return the modified response to the browser.
- step 9 the browser 704 will gather statistics about the page as it loads.
- the Browser 704 will open a connection to the central server 707 to send the statistics.
- the central server 707 will intercept this request and accept.
- the browser 704 will send the statistics to the central server 707 by requesting a URL and including the statistics in the request.
- the central server 707 will parse the statistics and store the information in the Central Data Store.
- the device 706 will send a canned response to the browser.
- a system administrator 710 reviews logs, as follows:
- the system administrator reviews the web server 708 logs.
- the system administrator updates content and tunes performance based on the information derived from the web server 708 logs and system information.
- the system may enhance the user 702 experience by providing HTML compression and by maintaining connections even when the web server 708 does not support it. From the system administrator's point of view, the system may provide a significant amount of new information that can be used to evaluate the web server's 708 performance. Most importantly, the present invention provides information from the browser 704 about the time it took to render the entire page as well as the load times for individual items on the page. This information can be used in conjunction with other statistics such as abandonment to determine if page, or individual item, performance is the root of the problem.
- the device 706 will insert code at the beginning and end of every target html page served through the device.
- the code inserted will contain server side data.
- the client side statistics are combined with the server side information and one or more transparent GIF requests are made to the central server.
- the central server 707 collects the information coming from the browser 704 and sends back a 1-pixel transparent GIF.
- the logged information is processed at the central server 707 and makes its way into the data store.
- the page performance, in aggregate or detail form, is available to the users of a reporting system.
- the following records may be passed from the client to the server as part of the single pixel GIF request.
- the size of the request from the browser is the size of the request from the browser.
- the size of the response returned from the web server is the size of the response returned from the web server.
- a 2 byte status indicator for the device 706 that can be used to report system status.
- the HTTP Protocol used for the connection is The HTTP Protocol used for the connection.
- the size of the response from the device 706 to the browser 704 including the client script and the compression.
- the results are stored in the statistics log.
- the data contained within the request is divided in to one row per component, such as an image or applet, and one row for the pages itself.
- the unique id of the user 702 assigned by the system is the unique id of the user 702 assigned by the system.
- the central server 707 provides a web interface for the performance reports.
- Apparatuses embodying these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor.
- a process embodying these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output.
- the techniques may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
- Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language.
- Suitable processors include, by way of example, both general and special purpose microprocessors.
- a processor may receive instructions and data from a read-only memory and/or a random access memory.
- Storage devices suitable for tangibly embodying computer program instructions and data include forms of non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM).
- semiconductor memory devices such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices
- magnetic disks such as internal hard disks and removable disks
- magneto-optical disks magneto-optical disks
- CD-ROM Compact Disc Read-Only Memory
Abstract
Description
- Priority is claimed to copending U.S. Non-Provisional application Ser. No. 09/532,890 filed on Mar. 22, 2000, and U.S. Provisional Application Nos. 60/355,785, filed on Feb. 12, 2002 and 60/353,993, filed on Feb. 5, 2002, the entirety of each being herein incorporated by reference.
- 1) Field of the Invention
- The present invention relates to systems and methods useful in identifying a computer user and the user's demographic and other user specific information from his or her activities on the computer, particularly from the user's activities on a network, as well as differentiating between user requested data and automatically generated data.
- 2) Brief Description of the Related Art
- Knowing the actual identity of a computer user can be invaluable for many reasons. As explained herein below, when a user accesses the Internet, for example, identification information relating to the computer or the software may be available over the network, and user input information, such as a login name, might be available at times. However, this information may not identify the actual user and user identification does not always accompany requests for webpages, and the like. Even when user identification information is provided in a communication, such as when using AOL and CompuServe, this information is generally limited to a user's e-mail address or a user name, rather than an actual name or user's identity. Sometimes a user-defined profile is available as well. However, this limited information is not available and does not often provide enough useful information about the user, particularly when the user may have multiple accounts each with their own distinct user-defined profile, for instance. It is particularly disadvantageous when trying to derive user demographic information for market research.
- The granularity of market research largely depends on the accuracy of the consumer demographics being reported with the consumer's market activities.
- Consumer decision-making has been a focus for many years. Companies that are attempting to meet a particular need in the marketplace, or that are attempting to find out how products or services are being received by the consumer, will often conduct market research to attempt to quantify attributes or characteristics of a particular consumer segment. If performed well, the data extracted from this research can inform companies about how their and others' products or services are perceived and bought by purchasers or potential purchasers in the marketplace, and how the companies' products or services can be changed to achieve the companies' business goals.
- Traditionally, this information is segregated into demographic categories, such as age, gender, martial status, income bracket, education level, etc. A problem common to general protocols for performing consumer-oriented market research is collating consumers' activities and spending habits to the consumers' demographic profiles. Surveys, whether in person, by mail or the Internet, usually include inquiries about a person's relevant demographic information when inquiring about the person's buying habits and/or the market research information. However, for Internet-activity monitoring, the process of asking the user to provide this information is cumbersome.
- Internet-activity monitoring includes a server-side consumer data collection strategy in which an individual Internet content provider (“website”) monitors and collects data about each consumer who has requested data from (“visited”) the website, and then compiles this data about all the consumers who have visited that website.
- Alternatively, or additionally, data collection directly from an Internet consumer's computer has also been proposed, i.e., client-side data collection. Such systems commonly involve installing a software application onto the consumer's computer, which operates at the same time as Internet browser application software. The software then collects data about the consumer's Internet usage, e.g., which websites the consumer has visited. The data is then uploaded to a data-collecting computer on the Internet.
- Yet another strategy is to have the user's Internet-activity pass through an intermediary domain having server or servers which monitor all of a user's activities by tracking and filtering the requests and replies between the user and content providing servers and proxy servers, as detailed in U.S. patent application Ser. No. 09/532,890, filed Mar. 22, 2000, herein incorporated by reference.
- A challenge for each of server-side, client side and intermediary server-side systems is to collect and relate data about the consumer, such as age, income level, marital status, and other demographic, economic, and personal information to the user's activities, which would allow the data to be compared with consumer databases from other sources, without noticeably affecting the user's experience.
- According to a first exemplary implementation, a method of collecting data relating to a user's usage, including transactions, over a network typically includes the user utilizing a computing device to send and receive data sets over the network, the computing device having an address on the network, the data sets including data representative of the address of the computing device on the network, comprising: directing all data sets from the computing device to a known domain; assigning a unique identifier to the computing device using a data field in an HTTP request header; readdressing data sets sent from the computing device to indicate that the data sets originated in the known domain; recording at least part of the data sets; and sending the readdressed data onto the network.
- According to a second exemplary implementation, a method the user is identified from a group of users by either or both her keystroke dynamics or by monitoring for keywords upon which a user demographic dictionary is built.
- According to a third exemplary implementation, a method wherein user requested content is differentiated from automatically generated or server side directed content.
- Still other features, and attendant advantages of the present invention will become apparent to those skilled in the art from a reading of the following detailed description of implementations constructed in accordance therewith, taken in conjunction with the accompanying drawings.
- The invention of the present application will now be described in more detail with reference to preferred implementations of the apparatus and method, given only by way of example, and with reference to the accompanying drawings.
-
FIG. 1 schematically illustrates a prior network configuration. -
FIG. 2 schematically illustrates an exemplary implementation of a system. -
FIG. 3 schematically illustrates a portion of the system illustrated inFIG. 2 . -
FIGS. 4, 4A , 4B and 5 diagrammatically illustrate flowcharts of steps of methods, as further described below. -
FIGS. 6 and 6 A-6O illustrate a user demographic reporter, as further described below. -
FIG. 7 schematically illustrates a performance monitoring and analysis configuration, as further described below. -
FIG. 8 diagrammatically illustrates steps of methods, as further described below. - Referring to the drawing figures, like reference numerals designate identical or corresponding elements throughout the several figures.
- 1) Exemplary System Configuration
- The present invention relates inter alia to systems and methods useful for collecting data indicative or representative of a specific Internet user's activity. An intermediary domain is established with proxy servers and data servers to which all of a single Internet user's activity is routed, which enables all of the activity to be filtered and data to be collected about specific types of activity and stored on the data servers. The intermediary domain is established on the Internet for example, and by simply instructing the user's Internet browser to route all Internet traffic from the user through the intermediary domain, the intermediary domain can perform whatever data collection is desired without incurring perceptible delays in webpage retrieval and the like. Enrollment in the system may be voluntary on the part of the individual Internet user, and the enrolled Internet user would be provided some incentive in return for allowing the system to have all of that user's Internet traffic routed through the system's domain. Furthermore, specific information about the Internet user could be gathered as a prerequisite for enrollment, which enriches the data collected about that user's Internet usage habits and permits inter-database comparisons.
- Systems of the present invention allow server-side data collection at a single domain. All of the Internet traffic of a single Internet user is monitored. Therefore, for a single user, data can be collected indicative of usage of all sites while maintaining data integrity and completeness. Different from client-side systems, the intermediary systems and methods demand less computing resources, and fewer resources for a customer service center. Furthermore, when websites change the formats of their webpages, only the data resident in intermediary domain need be updated, which can dramatically reduce costs.
- Throughout the present application, an understanding of the use and function of general purpose computing devices, including what have come to be referred to as “personal computers” (“PC”), is assumed, as those of ordinary skill in the art are skilled in their use and function. Furthermore, an understanding of the use and function of commercially available operating systems which control some of the functions of general purpose computing devices, as well as with commercially available application software such as Netscape® Navigator® (Netscape Communications Corp., Mountain View, Calif.; http://www.netscape.com), Microsoft® Internet Explorer® (Microsoft Corp., Redmond, Wash.; http://www.microsoft.com), and proxy server application software, is assumed. Throughout the present application, a natural person who uses a computer is referred to as a “user” or a “consumer”.
-
FIG. 1 illustrates aprior network configuration 10 over which a consumer is able to retrieve data and information, and send data and information, for a number of purposes. For purposes of this application, a PC should be broadly interpreted to encompass any device capable of communication over the Internet via a browser, including general purpose computers, Internet ready telephones and other wireless communication devices, Internet enabled TV's and auxiliary devices, etc. Theconfiguration 10 includes aPC 12, which is in communication, either wired or wireless, withdata input elements 14 such as a keyboard and pointing device. The PC 12 includes appropriate communications hardware and volatile and non-volatile memory elements (not illustrated) in or on which are stored an operating system and application software which allow a user to send and receive data, and to present that data in a form which is understandable to the user. Such software includes application software commonly referred to as a “browser”, such as Netscape, Internet Explorer and AOL. The PC 12 can also function as a local, internal proxy server. - The
PC 12 is connected to a wired orwireless communications line 16 which is connected to a computer orcomputing device 18. Thecomputer 18 can be a general purpose computer which includes application software which controls the computer to function as a data server, and which is usually remote from thePC 12. Thecomputer 18, or its owner, can be an “Internet server provider” (“ISP”), for whichline 16 includes telephone, coaxial cable, or similar links between thePC 12 and thecomputer 18. Thecomputer 18 can also be located on a private network, e.g., a local area network or LAN, and includes application software controlling thecomputer 18 to function at least as a firewall, proxy server, or both. - The
computer 18 is connected to what is commonly referred to as the World Wide Web or the Internet (together “WWW”, not illustrated) through acommunications line 20.FIG. 1 presents a very simple representation of the WWW, which is much more distributed than is illustrated inFIG. 1 . Also in communication with the WWW are a plurality (only three are illustrated) ofcontent data servers information - Technically, what distinguishes the Internet is its use of a set of protocols called TCP/IP (Transmission Control Protocol/Internet Protocol). Two recent adaptations of Internet technology, the intranet and the extranet, also make use of the TCP/IP protocol. When a person or organization has a computer connected to the public portion of the Internet, the computer is assigned an Internet Protocol (IP) address, which uniquely identifies that computer. Typically, however, the computer is assigned a set of addresses at a certain class level (A, B, C, etc.), and all of the addresses within that set are routed to that computer. If that computer is a proxy server (see discussion below) for a private network of computers, then each of the computers within the private network can be assigned a unique IP address in the set assigned to the proxy server. Thus, the computers assigned IP addresses within the set define an “intranet”, because the IP addresses are all within the address set assigned to the proxy server. The most widely used part of the Internet is the World Wide Web (often called “the Web”). Its outstanding feature is hypertext, a method of instant cross-referencing.
- In an enterprise that uses the Internet, a proxy server is a server that acts as an intermediary between a workstation user and the Internet so that the enterprise can ensure security, administrative control, and caching service. A proxy server is associated with or part of a gateway server that separates the enterprise network from the outside network and a firewall server that protects the enterprise network from outside intrusion. A proxy server receives a request for an Internet service (such as a Web page request) from a user. If it passes filtering requirements, the proxy server, assuming it is also a cache server, looks in its local cache of previously downloaded Web pages. If it finds the page, it returns it to the user without needing to forward the request to the Internet. If the page is not in the cache, the proxy server, acting as a client on behalf of the user, uses one of its own IP addresses to request the page from the server out on the Internet. When the page is returned, the proxy server relates it to the original request and forwards it on to the user.
- To the user, the proxy server is invisible; all Internet requests and returned responses appear to be directly with the addressed Internet server. (The proxy is not quite invisible; its IP address has to be specified as a configuration option to the browser or other protocol program.) An advantage of a proxy server is that its cache can serve all users. If one or more Internet sites are frequently requested, these are likely to be in the proxy's cache, which will improve user response time. In fact, there are special servers called cache servers. A proxy can also do logging. The functions of proxy, firewall, and caching can be in separate server programs or combined in a single package. Different server programs can be in different computers. For example, a proxy server may be in the same machine with a firewall server or it may be on a separate server and forward requests through the firewall.
- Thus, requests for data from one computer to another computer within the same assigned set of IP addresses are considered secure, because the request and the data sent in reply do not get passed to any computer not assigned an IP address within the set. When a request for data is addressed to a computer not within the set of IP addresses, the request must pass to computers which are assigned IP addresses not within the set assigned to the same person or entity, and are therefore considered insecure. This latter insecure request for data passes over the Internet, because it is passed to computers with IP addresses not in the same assigned set as the originating computer.
- Functionally, when a consumer using a
PC 12 wants to retrieve data (e.g., a webpage) from a website on the WWW, the user utilizes the application software on thePC 12 to be assigned an Internet protocol (IP) address (including a classless interdomain routing, CIDR, address), i.e., to open a connection to the WWW. The user then launches and uses the browser software to request data from a specified machine, such as aserver 22 on the WWW, by entering the uniform resource locator (URL) designation for the machine, and preferably the specific data file on that machine, such asdata 28. The data representing this request for data is communicated to thecomputer 18, which processes the request data to be sent out onto the WWW, typically in the form of multiple data packets, including the IP address for thePC 12. - The
servers computer 18, and each data packet can take a different route fromcomputer 18 toserver 22. Upon being communicated toserver 22, each packet is reassembled with the other packets to reconstruct the original data request from the user. Theserver 22 then retrievesdata 28, and processes the data for the return trip across the WWW to the user'sPC 12, typically in the same manner as the user's data request. The browser software running on thePC 12 then reassembles the data packets to reconstructdata 28, and presents it to the user in a particular, usually an understandable form, and can be either static or dynamic, i.e., can itself include instructions for controlling thePC 12. For example,data 28 can include software instructions, such as instructions scripted in Java™ (Sun Microsystems, Inc., Palo Alto, Calif.; http://www.javasoft.com) which are executed on thePC 12. - Thus, when a consumer using the
PC 12 wants to place an order for a product or service that is offered through amerchant using server 22 on the WWW, the user requests a particular data file 28 from theserver 22. The data file 28 oftentimes includes data that results in a form being generated by thePC 12 and displayed to the user. The user enters information into the form using thekeyboard 14, and sends the filled-out form back to theserver 22, including data representing what the user would like to buy, and payment information, such as credit card information. -
FIG. 2 schematically illustrates anexemplary system 100 in accordance with one implementation of the present invention. For purposes of brevity, individual elements included in thesystem 100, which have been described above with reference toFIG. 1 will not be described further. Thesystem 100 includes anintermediary domain 102, e.g., a domain on a network, which includes one or more computers and associated hardware, firmware, and software, which together function as a domain on the WWW. In general, theintermediary domain 102 is operatively in the path between the PC 12 (and the computer 18) and all other machines on the WWW, so that all of the data that is sent to and from thePC 12 is routed through theintermediary domain 102. As schematically illustrated in FIG. 2, however, theintermediary domain 102 is on the public (WWW) side of thecomputer 18, and is therefore not necessarily in direct communication with eithercomputer 18 or any ofservers - The
intermediary domain 102 includes at least one, and preferably a plurality ofmachines 102 x, each with associated hardware, firmware, and software as discussed above. Each machine 102 x (X[1, N], wherein N is a positive integer) has a unique IP address within theintermediary domain 102, and therefore can be located together or distributed throughout the WWW. -
FIG. 3 schematically illustrates an exemplary implementation of a configuration of theintermediary domain 102. Theintermediary domain 102 includes at least one, and preferably numerous (only three are illustrated)proxy servers data servers data servers proxy servers PC 12 to route requests for data through theintermediary domain 102. ThePC 12 is therefore aliased within theintermediary domain 102, which requires all of the data which is sent from thePC 12 onto the WWW and all of the data from the WWW which is intended for thePC 12 to be copied, processed as by afilter 116, and stored within theintermediary domain 102 ondata servers PC 12 is copied within theintermediary domain 102, and is filtered. Thefilter 116 can be constructed to retain all of the data, or to retain portions of the data inservers - Thus, when machines such as
servers PC 12, because it has been routed through theintermediary domain 102 and readdressed with an IP address within theintermediary domain 102, data sent by aserver 22 which was requested by the user of thePC 12 is addressed to the Internet user “in care of” theintermediary domain 102. Aproxy server 104 receivesdata 28 from theserver 22, readdresses the data to thePC 12 based on an unique identifier (see below) at the IP address assigned (either statically or dynamically) to thePC 12, and transmits the readdresseddata 28 back into the WWW.Data 28 is then collected by thegateway server 18, and transmitted to thePC 12, as discussed above. Importantly, theintermediary domain 102 is not an ISP or proxy server gateway from a private network. Theintermediary domain 102 is another domain on the WWW through which consumer/PC-specific data is routed, and includes a proxy server gateway onto the public WWW network. According to some implementations, theintermediary domain 102 is an ISP to which thePC 12 directly connects, i.e., includescomputer 18. - 2) Collecting Market Research Data
- The present invention also relates to methods of collecting data about computer user habits, preferences, uses, and the like, and methods of using this data. Other systems can be used without departing from the spirit and scope of the present invention.
FIG. 4 diagrammatically illustrates a flow chart of steps of methods in accordance with the following description. - As discussed above, data representative of Internet consumers' individual identity (rather than the computer's), the consumer's behavior, including (but not exclusively) what choices the consumer makes, why particular characteristics of a product or service are important, what products or services a consumer has considered and decides not to purchase, and how much money a consumer is willing to pay and has paid for a product or service, can be a valuable product in itself. The quality of the data, e.g., statistical significance and error, greatly impacts how valuable the data is to a party wanting to know about a particular consumer's habits.
- Methods in accordance with the present invention collect and generate data which is extremely complete for an individual user, and therefore can be very useful by itself or when correlated with other data about that user, or other consumers that share characteristics with the user. Furthermore, in implementations of the present invention that do not rely on client-side data collection, but instead utilize server-side data collection, the impact on the performance of the individual consumer's
PC 12 is minimal, and does not require repeated software updating as with prior systems which were resident on thePC 12. - Initially, an Internet consumer is registered so that the consumer's
PC 12 can be uniquely identified (Step 200) in an exemplary system. To encourage consumers to participate in the monitoring activity, incentives may be offered to the consumer in exchange for routing all of that consumer's Internet data so that it can be monitored. The exact nature of the compensation can vary, and can include money, products, services and the like. Additionally or alternatively, the compensation can be in the form of faster Internet access or other value-added services to the consumer. For example, when usingsystem 100 described above, data can be delivered to thePC 12 in compressed form from theintermediary domain 102. Because of the decrease in required bandwidth required for transmitting compressed data, the consumer experiences an overall increase in data transfer rates between theintermediary domain 102 andPC 12, even when factoring in decompression of the data bycomputer 12. Thus, the retransmission of compressed data can be an incentive for the Internet consumer to agree to proxy all of their Internet data through theintermediary domain 102. - Commercially available browser software, such as Navigator® and Internet Explorer®, include decompression software which can be configured to automatically decompress compressed data upon receipt by the
PC 12. Thus, according to one implementation of the present invention, theintermediary domain 102 compresses data to be sent to thePC 12, resulting in faster net times between the PC requesting data and that data being delivered to thePC 12. By way of example and not of limitation, theintermediary domain 102 can include a set of logical instructions, e.g., software, which compresses data according to a known compression routine, e.g., the Gzip compression routine. As the browser software running on thePC 12 can both recognize and decompress Gzip compressed data, the Internet consumer receives the benefit of faster net data transmission without the need to intervene in the process of decompressing the data with a separate decompression application or tool. The particular compression protocol used to compress and decompress the data can be any of the numerous known data compression protocols, such a “zip”, “uuencode”, “tar”, “lzh”, “MIME”, “ARC”, “Binhex”, “sit”, “hqx”, etc., within the spirit and scope of the present invention, the protocol being selected so that the browser application running on thePC 12 includes logic to automatically decompress data which has been compressed according to that algorithm. - Additionally or alternatively, virus screening, elimination of pop-up, pop-under and other forms of unsolicited advertisements, parental controls, e-mail virus screening, firewall protections can be offered and in some instances, offered such that the level and combination of services are selected by the user.
- Also by way of example, the
intermediary domain 102 can perform proxy caching, including hierarchical caching, of webpages and entire websites of predetermined interest. Thus, when a consumer requests a webpage which has been cached in theintermediary domain 102, the data is served to the consumer much faster than if an original copy of the requested webpage were requested and passed through to the consumer. - Of course, the decision to participate, i.e., to contract with the service provider, is voluntary, and some consumers may elect not to participate. Those who choose to participate supply the service provider with information about themselves; the exact data can vary, and could include demographic, socio-economic, geographic, and any other information commonly collected in market research studies. Such information can include, but is not limited to user age, user income level, user education level, household size, time of transmission of the data set, location of computing device, date of transmission of the data set, currency paid, type of product purchased, type of service purchased, network address of the intended recipient of a data set, click-through address, banner advertisement impression, and permission e-mail received, and combinations thereof.
- Furthermore, the consumer is provided with a small application software applet which adjusts the browser application running on the consumer's computer so that it proxies to the service provider's proxy server, i.e., so that it redirects all of the consumer's outbound data to the
intermediary domain 102. If the service provider is utilizingsystem 100, described above, the applet will reset the browser to proxy to theintermediary domain 102. Publicly available browsers are provided with the ability to do this “reset” operation. The applet can be directly downloaded, shipped via a diskette, CD-ROM, or the like, or manually installed or modified by a technician who visits the consumer (Step 202). - A database record is built based on the data set supplied by the consumer (Step 204). A unique identifier is assigned to the consumer (Step 206).
- 2a) Exemplary Unique Browser Identification Information
- Because each
PC 12 can be dynamically assigned an IP address by thecomputer 18, theintermediary domain 102 must first be provided with unique identifying information about thePC 12 to differentiate it from other computers which are similarly proxied through theintermediary domain 102. This information may be identifying information provided by a component (either software or hardware) ofPC 12, such as by a “cookie” returned to theintermediary domain 102, a “digital certificate” returned to theintermediary domain 102, CPU chip identifying information (as has recently been commercially available in Pentium® III class chips from Intel Corp., Santa Clara, Calif.; http://www.intel.com), or other unique identifying information. - In one implementation of the present invention, identifying information or data can be included in each data packet, such as in the header portion of each packet, so that each packet uniquely identifies each the
PC 12 from which it originated. By way of example and not of limitation, one or more fields in the packet header can include unique identifying information. Changing the value that is contained in any particular field of a packet header to include such identifying information is contemplated. Again by way of example and not of limitation, the language field value, for example, can be changed so that it is, or includes in addition to a language code, a unique identifier such as an alphanumeric string, or more than one alphanumeric string, after one or more language codes which preserves the function of the language tag. The alphanumeric strings can also be used to encode information, including demographic or other user specific information about the user, or users of the browser, to make data collection and processing simpler. This change in the data field, for example, can be readily achieved by changing the browser's preferences to include the unique identifier, which can be performed manually through the application tools provided with the browser. Alternatively, this change can be achieved by executing a series of logical instructions, as embodied in software, on thePC 12, either distributed via a disc or other memory device or downloaded over the network. Further, initiation routines in the browser software can reset the data field to include this identification information at each software initiated. Any other field in a packet header can be used instead of, or in addition to, the language field. - In summary, this mechanism of branding the browser with a unique identification is carried out through a method including the following steps. This method of identifying a computer device or the
PC 12 on anetwork PC 12 and the network. While of course this can involve connecting thePC 12 to the Internet, for example, it could additionally or alternatively involve connecting to any other public or private network using data formats that include header fields. A computer, such as a data server on a network, can provide instructions to thePC 12 to alter a data field in the header portion of a communications protocol in a browser program on the computing device to include identification data unique to the computing device on the network. Alternatively, these instructions can be disseminated through computer readable, tangible media such as magnetic or optical disks, or any suitable storage media, or can be followed by a user to configure the computing device or PC. - The method also includes transmitting the data field from the
PC 12 over the network with requests for data and parsing the data field to extract the identification data in the modified data field. The computing device orPC 12 is then identified from the extracted identification data. This identification can take place at theintermediary domain 102 or atother content servers gateway server 18 within the enterprise, or even on thePC 12, if desirable. - Additionally, the modified data strings added to a header data field could be used to encode information, such as to separate groups of users in a panel of monitored users for market research purposes or to encode specific user identification or demographic information, for instance. For example, in a household that might have multiple users on a single machine, the first and/or second halves of a computer identification code could be used to identify each user's or potential user's age, income bracket and other identifying demographic information, perhaps without specifically identifying the individuals.
- 2b) User Identification from User Mannerisms in Input Device Activities
- A specific user can be identified from a set of possible users by employing the characteristics of the user's input device activities, i.e., either his keystrokes or his mouse clicks. Identifiable characteristics of the user's input activities, such as the dwell time on the keys, the time between keystrokes, patterns and/or vectors derived through key combinations can be used to uniquely identify a single user because of that particular user's mannerisms in using the input device. For instance, key combinations can include two or three letter digraphs (e.g., “ea”, “ht”, “tp”, double clicking, etc.) or trigraphs. The technique of user authentication through monitoring keystroke dynamics has been structured. See, Monrose and Rubin, “Authentication via Keystroke Dynamics,” Proceedings of the ACM Conference on Computer and Communications Security, pp. 48-56, Apr. 1-4, 1997, Zurich, Switzerland; Gramacy and McKenna, “User Authentication Using Keystroke Dynamics,” CS290×F2001, Security and Cryptography Final Project; U.S. Pat. No. 4,621,334 to Garcia and U.S. Pat. No. 4,805,222 to Young et al., each of these articles and patents being herein incorporated by reference. These documents explore using these techniques to determine user identity at an initial access to privileged resources, and indicate that the performance can be problematic because the input of login names and passwords may not provide enough information to accurately identify users based on habitual patterns in their typing rhythm. The present invention overcomes these problems by not only developing statistical models of the habitual patterns for purposes of comparison to fresh inputs from a user to determine identity, but also to develop statistical models during individual online sessions, for instance. In this way, at an initial stage, the input device dynamics may indicate with 70% certainty that the user is a particular member of a family. As the session progresses, the statistical data becomes more refined leading to a statistical probability of identification approaching unity, i.e., 100%.
- As will be appreciated, particularly when dealing with a preset number of potential users, e.g., father, mother, daughter and son, the analysis of the input device dynamics can assist in identifying a user name for instance, as belonging to a given member of a family. Also, if a group member is using a browser under a user name normally associated with another group member, then this can be determined and the collected data attributed to the correct person in the group.
- The input device patterns can be quantified in any number of ways, such as those articulated in the above-cited articles, including measuring the timing between keystrokes and clicks, common typing errors, such as habitually typing “teh” for “the”, etc., and/or combinations of these measure characteristics.
- For example, vectors can be determined based on the timing between input device entries and statistically processed.
- In this way, the user's usage can be tied to an actual user, rather than just the identity of the machine or logon identification. Further, it is entirely possible that a single user would have multiple screen names or multiple users can use the same screen name. This user identification from the input device activities helps differentiate the users without requiring additional interaction with the user to thereby provide more accurate information and allow action of Internet activities. Additionally, if the input device dynamics does not match any of the known users of a household for instance, then the usage can be allocated to a guest or generally an unknown user.
- The input device dynamics can also be implemented to identify traits to early distinguish users. Some users may be early distinguished, e.g., between a slow typing user and a fast typing user, and the processing shortened to look for this one trait thereby avoiding further processing when that trait serves the purpose of the invention.
- In light of the above, the present invention involves a method of identifying a user of a computer device or
PC 12 having at least oneinput device 14. The computer device can be connected to a network. The method includes the step of, as shown inFIG. 4A , monitoring at least one characteristic of input device operation by a user to provide data on at least one mannerism of the user in operating the input device (Step 206-1). This can be done in thePC 12, or on the network at another location such as theintermediary domain 102 by, for instance, transmitting from thePC 12 to theintermediary domain 102 an indication of the keystrokes or clicks against a time line or simply annotating the keystrokes with relative timing, for instance. The time vectors between keystrokes can be calculated in real time on thePC 12 through the use of suitable software. - The data on the mannerism or mannerisms of the user in operating the input device are accumulated to provide accumulated mannerism data for a given session, as shown in Step 206-3 of
FIG. 4A . At some point, either in real time or later, the accumulated mannerism data are compared (at Step 206-4) to a database of mannerisms of at least one user over multiple sessions or in a “training” session when a user is asked to type in certain keystroke combinations, for instance, (in Step 206-2) to provide a comparison result, as shown inFIG. 4A . Then, an indication of an identity of a user can be provided using the input device of the computer based on said comparison result, as shown in Step 206-5 ofFIG. 4A . - It should be noted that the measured or monitored mannerism can be measuring time between successive, predefined input device entries and/or dwell time on individual input device entries. Also, the method includes supplementing the data accumulated over multiple sessions with the data accumulated over a given session after a user associated with the multiple session data has been identified, as shown in
FIG. 4A at Step 206-6. - To return to
FIG. 4 , after assigning the unique identifier inStep 206, as described above, the consumer's entire Internet data will be routed to theservice provider 102. Theintermediary domain 102 can then copy or otherwise monitor the data (Step 208), and pass on the data into the Internet (Step 210) without impacting the overall data transfer rate from the consumer to the data's intended destination. According to one aspect of the invention, the service provider has predetermined the formats of the webpages for a set of domains, websites, and/or webpages that are of interest to the service provider. Thus, Internet traffic directed to or coming from these destinations/sources is monitored, and the data of interest filtered and collected. As other websites become of interest to the service provider, for example because consumers visit their sites, the service provider retrieves a copy of the particular webpages of interest, and determines the specific data format that the webpage includes. This determination of webpage formats can be performed manually or by an automated process, as will be readily apparent to one of ordinary skill in the art. As most webpages are formatted so as to conform with publicly known, standardized data transfer protocols (e.g., http, hypertext transfer protocol) or known scripting languages (cgi, Java™), determining the data format of most webpages will be well within the skill of one skilled in the art. - When the service provider is routed a copy of a webpage from either the consumer or a website, the service provider is able to copy the data contained in the webpage. By knowing the data format used by that website in creating the webpage, the service provider is then able to extract from the data the exact information detailing what sort of Internet transaction the consumer has just engaged in.
- 3) Filtering and Processing Collected Data
- Notably, the
intermediary domain 102 does not impede the transaction, but merely extracts the data about the transaction, and passes the data on to the intended recipient. Referring toFIG. 4 , the extracted data is then filtered for data elements of interest to the service provider, such as the date and time of the transaction, URL of a click-through (e.g., on a banner ad), amount of money spent, type and number of items bought, delivery method, and so on (Step 212). The data record for that particular consumer is then updated with the information (Step 214). As will be readily appreciated by one of ordinary skill in the art, when more than one consumer has her Internet data routed through the service provider, the service provider can generate a database of consumer Internet activity of great detail about any single consumer's habits, any class of consumers differentiated based on any common characteristic in the database, any single domain, website, or webpage, and/or any class of domains, websites, or webpages which share a common characteristic in the database. - The foregoing description regarding data collection also applies to “push” and “broadcast” Internet technologies that operate on the same principle of the Internet consumer requesting data and the content server delivering data to the Internet consumer.
- Several specific implementations of methods in accordance with the present invention will now be described. While the following are specific implementations of methods according to the present invention, the present invention is not limited to the specific methods described herein.
- A measure or metric can be established and generated from the data collected by the service provider, such as a dollar per thousand hits on a particular webpage (“$/K metric”) (Step 216). The $/K metric therefore can indicate how much money is generated or received per one thousand times the particular webpage is served to any person on the Internet. The $/K metric provides a useful measure for an Internet content provider and/or an Internet advertiser of how to price advertising rates, or how much to pay for Internet advertising, respectively, based on the cost per thousand hits (CPM) versus the revenue generated by the Internet advertiser per thousand hits (RPM). Furthermore, while a single Internet merchant can generate its own CPM and RPM values based on the $/K metric, that Internet merchant does not have the data to compare to its competitor's CPM and RPM. Thus, the service provider practicing methods in accordance with the present invention will be able to market and sell $/K metric data to Internet merchant competitors without relying on the merchants themselves for the data.
- In another aspect of the invention, a log of Internet activity (“weblog”) can be generated from the data collected by the service provider (Step 218). The weblog can include a listing of the particular URLs visited by consumers, separate from the data indicating the consumers' transaction habits.
- 3a) Interstitial Traffic Monitoring
- As illustrated in
FIG. 4B , as part of the process of generating a web log of the data collected by the service provider, as shown inStep 218 ofFIG. 4 , it is valuable to distinguish between user-requested content and content that is automatically generated. For instance, user-requested content might be an article from the Wall Street Journal. Typically when replying to a request for content (e.g., URL),content servers - The present invention includes the ability to monitor the traffic and segregate the information requested by the user from the information automatically generated at the server side.
- As illustrated in
FIG. 4B , the present invention monitors for the activation of a keystroke or mouse click, for instance. If within a predetermined number of microseconds (representing the delay in processing the request in the browser software), a URL (e.g., http:/www.comscore.com) is generated, then that URL is distinguished from other URL requests. In this event, a special code is appended to the URL request, such as an action code (AC) as used in one implementation of the present system. This action code AC is appended to the URL request at the local proxy within thePC 12. However, for a monitoring mechanism it can be implemented at thegateway proxy 18, for instance. - The local proxy within the
PC 12 then transmits the URL plus the action code AC to theintermediary domain 102. At this time, theintermediary domain 102 notes the URL request as special, strips off the additional code AC and forwards the URL to acontent server - The
content server intermediary domain 102 log and count the URL request and returned content as user requested content. Thereafter, the HTML is forwarded to theclient PC 18, generally compressed in accordance with other aspects of the present invention. The HTML request is received at the local proxy within thePC 12 and forwarded to the browser software for parsing and display. During the parsing operation, the browser may automatically generate further URL requests from the HTML code representing pop-up ads, pop-under ads, and other types of content not specifically requested by the user. This automatically generated URL request is then sent to the local proxy. Because it was not preceded by the activation of the enter key or mouse click within so many milliseconds, it is identified as not being an automatically generated URL request. Therefore, the URL request is forwarded to theintermediary domain 102 without an additional code AC. This URL may be logged at theintermediary domain 102 because monitoring what content reaches the user is of interest, but it is not counted as user requested information. The URL is then forwarded from theintermediary domain 102 onto acontent server intermediary domain 102, then onto the local proxy of thePC 12, in the normal course. - It is noted that the monitoring and filtering of the URL request and reply HTML in accordance with this aspect of the invention can take place within the
PC 12. Stated differently, when a URL request is preceded within so many milliseconds by an enter key keystroke or mouse click, that URL can be recorded together with an additional code to signify that it was a user generated request. Thereafter, when the HTML reply returns to the computer, the content can be logged and counted as user requested content. - It should also be noted that the present invention can be employed within the content server insofar as the
PC 12 can append the code to distinguish a user generated URL request, as opposed to an automatically generated URL request, although the usefulness of the invention may be diminished insofar as it is thecontent servers - As can be seen, this aspect of interstitial traffic monitoring greatly facilitates the improved accuracy of the information used in monitoring traffic by differentiating between user requested content and automatically generated content. This is particularly useful when identifying dwell times insofar as the user may only be interested in the requested content while additional pop-up ads are being displayed.
- This aspect of the present invention can also be used in other endeavors, such as the elimination of pop-up ads and pop-under ads or otherwise elimination of display of any non-user requested information. Further filtering of the automatically generated URL requests may be necessary insofar as the requested content may have imbedded URL requests in the HTML file for additional content desired by the user, such as a photograph accompanying an article, for instance. This additional filtering can be in the form of checking the automatically generated URL's against a database of URL's known to provide only advertisements and other content not generally requested by users.
- 3b) Two-Step Encrypted Communications
- According to yet another aspect of the present invention, secure Internet transfer protocols can be used between an Internet consumer and an Internet content provider while still monitoring and collecting data about the user's Internet activities. As readily appreciated by one of ordinary skill in the art, when an Internet consumer initially requests a secure webpage, the consumer is sent an encryption key to enable encryption and decryption of webpages sent respectively to and from that website. Thus, other machines on the Internet are unable (in theory) to effectively interpret the data passing between the Internet consumer and the website when in a secure mode.
- Systems in accordance with the present invention accommodate secure/encrypted communications while still monitoring Internet usage and enabling data collection, as diagrammatically illustrated in
FIG. 5 . For example, a proxy server of theintermediary domain 102 can include two servers:proxy server 106 for transferring encrypted data to and from thePC 12, and theproxy server 108 for transferring encrypted data to and from server 22 (for example). As will be readily apparent to one of ordinary skill in the art,servers intermediary domain 102 receives a request for an encrypted webpage from the PC 12 (Step 250),server 106 can negotiate and pass its own encryption key to the PC 12 (Step 252), thus initiating a secure session withcomputer 12. The original request from thePC 12 bearing the unique identifier for the consumer on the intermediary domain 102 (Step 254) is passed back into the Internet byserver 108 to be received by computer 22 (Step 256). Thecomputer 22 andserver 108 negotiate an encryption key for thedata 28, and the encryption key is passed back toserver 108, bearing the consumer's unique identifier in the intermediary domain 102 (Step 258). - When
encrypted data 28 is sent by thecomputer 22 and received by server 108 (Step 260), theserver 108 decodes the data using its encryption key (Step 262). Theserver 108 passes the decoded data to asecond proxy server 106, which readdresses the data for delivery toPC 12 at its IP address fromgateway computer 18 and encrypts the data using the encryption key held by proxy server 106 (Step 264). Thus,proxy server 106 securely transfers data to and fromcomputer 12,proxy server 108 securely transfers data to and fromcomputer 22 for the consumer, andservers servers proxy servers - 4) User Demographic Reporting
- User Demographic Reporting (UDR) matches each user session to a specific demographic break, such as age and gender. The identity of a machine used to surf may be determined based on an indicator known as ‘browser_idc’, or a modified language tag as identified above. (Step 604) In addition, the identity of the actual demographic characteristics of who is surfing may be determined. (Step 606)
- Specifically, in one implementation, UDR leverages three primary sources of data that currently maintain some or all of several User Demographic Reporting indicators. (Step 606 a) By processing these data sources and providing logic that matches each indicator to a specific member within a household for instance, a complete demographic scope of surfing behavior is maintained throughout a user monitoring system in accordance with the present invention. (Step 606 b) Herein, users are grouped together in households, but it will be understood that the groupings can be with respect to businesses, within businesses or virtually any grouping of people however determined.
- The UDR indicators may include: first name, last name, email, login/screen name, gender, and birth year, for example, but can include additional or different information that might be of particular interest. First name, email and login/screen name tend to be unique within a given household or other user group. Gender and birth year supply the two main demographic breaks in which surfing activity is reported. The last name acts as a statistical measure and validation for other UDR indicators within a given household. In this exemplary implementation, the first name is the driver behind other indicators—as it primarily identifies a person within a household. As such, other critical indicators such as email and login/screen name follow a set of logical rules that can match on a first name within the household. Gender and birth year act as supplement indicators that provide support to the other critical elements. In addition, gender and birth year are the two final demographic breaks that each site session is assigned.
- Three primary sources of data include: the registration database, the transaction data (both ecommerce and non-ecommerce transactions) and a data source known as UDR Form Data herein with respect to this exemplary implementation. The UDR Form Data comes from monitoring sites for when a user enters personal information such as on a form or online sweepstakes entry. Three sources may be brought together as one master UDR “Dictionary” that contains any UDR information for each member within the household. Non-members of the household or user group may also be maintained within this “Dictionary” as “dummy” members, because the goal is not to portray the size of a household, but to identify the person who was surfing during a site session.
- Other secondary sources of data may serve as supplements to the primary sources. Such secondary sources include: a name-pseudonym and name-gender lookup table that may allow several pseudonyms to match on one first name currently registered within a database of panelists and to identify the gender of members or “dummy” members when no gender is present in any of the three sources, but a first name is presented to us.
- A second supplemental source includes a tool that scrapes the screen name for when a user logs into AOL and/or CompuServe. A large number of online home population use AOL and/or CompuServe, and this tool enables capture of the login for AOL/CompuServe users. This may supplement the UDR Form Data source with login/screen name collection. The AOL/CompuServe screen names may be ultimately collected within the UDR Form Data once the tool captures the screen name from a user's sign-in. In addition, other screen names viewed using a complex Java script may be collected via decrypting sources and ultimately collected within the UDR Form Data once decrypted. Such an example is the Yahoo! screen name.
- In summary, the UDR indicators undergo extensive matching and updating processes in order to effectively identify an individual surfing during a given site session. Primary and supplement data sources may remain apart from any “live” registration or production databases so as not to affect other reportable data and therefore stores in a separate database containing the UDR “Dictionary”.
- The UDR “Dictionary” is built and maintained from the primary sources (also supplemented by the secondary sources mentioned above) into one master normalized table that is handed off to information processes. From these efforts, the specific demographics for each user session can be reported, for instance, by age and/or gender.
- 4a) The Primary Sources (Data Inputs): Registration Database. Transaction Data, UDR Form Data
-
- 4a1) Registration Database
- The registry data is a primary source of User Demographic Reporting (UDR) that may match against other forms of inputs. Five UDR indicators have been selected in this exemplary implementation as ways to personally match a person to a user and site session: first name, last name, email, gender and birth year. In addition, the browser_idc and person-Id are carried over to distinguish members within each household (browser_idc).
- The ‘person_id’ is generated from combining a ‘panelist_id’ and a ‘member_id’; both found within the registration database. In order for the registration data to be used in a workable and updateable manner without the risk of tampering with the primary registration database, a separate database may serve as a replica to the primary registration database that may house only the five UDR indicators and their corresponding browser_idc and person_id. This replica is called the UDR “Dictionary” herein. The UDR “Dictionary” may maintain known indicators for each person within the household. The UDR indicators may represent UDR information collected from the registration database, transaction data and the UDR Form Data process (further described, infra). Thus, the “Dictionary” may maintain known unique values for each UDR indicator per member within each household.
- For example, member “john” might have two different email addresses and both of which are maintained within the UDR “Dictionary” for “john”. The initial load of registry data (the registrants) extracts only those current active households (browser_idc) and members within the household in addition to their corresponding UDR indicators in an implementation where this processing occurs at the server side. This processing, however, can take place on the client side.
- These households and corresponding UDR indicators load into the UDR “Dictionary” and are then updated with new households daily. The updates only occur to the “Dictionary”. The primary registration database is not updated during this process; only extractions of data occur to the registration database. Thus the UDR “Dictionary” serves as a subset of data from the primary registration database containing only the five (5) UDR indicators and corresponding browser_idc and person_id for current active households.
- This process involves the extraction of UDR indicators and household information (browser_idc, person_id) from an initial registration database (which is a mirror of the primary registration database) into a UDR “Dictionary” as described above. The “Dictionary” is a normalized view of the registration database information and thus creating a separate row/record for each UDR indicator for each person within the household. Each UDR indicator is assigned a “string_type” value represented as a single character value: first name=f, last name=n, email=e, gender=g, birth year=b.
- The result is a normalized table stored on a data server with the following fields: panelist_id, member_id, browser_idc, string_type, string, match, source. Panelist_id and member_id may make up the person_id; browser_idc represents the household identifier; string_type represents the type of UDR indicator (first name, last name, etc.); string represents the value within the registration database for that ‘string_type’; match may act as a counter that tracks the number of hits per string by string_type within the household; and source represents the original source of the string for that string type. In this case, the source may be ‘registration database’, symbolized as ‘r’. Thus, for a record with more than one UDR indicators available may normalize to the example shown in
FIG. 6A . - Only those UDR indicators that are not <NULL> for the member within the household are extracted—so, if a member has the first name and last name populated, only those two indicators are extracted and populated into the UDR “Dictionary”—the remaining indicators that are <NULL> (email, gender, birth year) do not get loaded into the “Dictionary” for that specific member. However, these indicators potentially could get updated with the extraction of other sources (transaction data and UDR Form Data as outlined in the sections below).
- One exception to this rule is possibly gender—which can be identified by matching the member's first name to the name-gender lookup table and therefore, populating the gender string type for this particular member. This could later be changed, however, if another gender is identified for this person through the UDR Form Data as outlined in the UDR Form Data section below. Despite <NULL> values being ignored during the load process, the person_id (panelist_id and member_id) are still transferred over to the UDR “Dictionary” to serve as a holding place for when UDR indicators are identified via the other two sources of data (transaction and UDR Form Data) and then fill in the holes for the members who have no UDR information associated with them. Once the initial load of the current active registrants are populated into the UDR “Dictionary”, a daily update may be implemented that identifies any new households (browser_idc) from the most recent site sessions matched to the registration database that do not currently exist in the UDR “Dictionary”. This daily update may further enhance the “Dictionary” as a good representation of current active households and corresponding household members.
- 4a2) Transaction Data
- The transaction data is a way to leverage the transactional information (both ecommerce and non-ecommerce data) into the UDR process. Since several transaction types collect UDR indicators (mostly name and email), it is important that this information is extracted to enhance the UDR “Dictionary” and to further increase the user/site session match based on the UDR indicators. The UDR information from the transaction data may be extracted by pulling browser_idc and their matching UDR indicators. It is possible to collect the following UDR indicators within the transaction data: first name, last name, email and date of birth/birth year in some of the more recent non-ecommerce transaction types. Each indicator searches through the UDR “Dictionary” for a match based on the browser_idc and UDR value. When a match occurs, the “match” counter within the UDR “Dictionary” may be incremented by one. When a match does not occur, a new member is created within the UDR “Dictionary”, but not the initial registration database.
FIG. 6B diagrams the matched scenario. - The end result may be added match counts for each collected UDR indicator within the transaction data. The initial load of the transaction data and update to the UDR “Dictionary” may incorporate historical raw transaction records within the systems. This includes ecommerce and non-ecommerce transaction types.
- This process may begin by loading the historical raw transaction data for transactions. The data loads into a raw table on a database (‘im_UDR’ database) with the following fields: url_key, browser_idc, string_type, string, source. Url_key representing the distinct address of the page from the servers; browser_idc representing the distinct household; string_type representing the UDR indicator (first name, last name or email); string representing the actual value for the UDR indicator; source representing the origin of the string by string type (e.g., “2” for transaction data). The string types are collected through the transaction data representing several transaction types: first name (string type=1), last name (string type=2), date of birth/birth year (string_type=4) and email (string type=3). In the event multiple string types are captured for the same transaction record, a separate row is generated for each captured string as shown in
FIG. 6C . - Once the transaction data is loaded into a database, the string types and corresponding strings are matched against the UDR “Dictionary” for each browser_idc. When a match occurs, the “match” field within the UDR “Dictionary” is incremented by one for that string and string type. When a match does not occur, a new person_id may be created within the UDR “Dictionary”, thus creating a new member for that browser_idc and setting the “match” counter to one for that specific UDR value and string type—and creating a “source” indicator of “2” for transaction data. Diagrammed in
FIG. 6D is how the transaction data is matched to the UDR “Dictionary”. - For matched on first name, another step takes place during the transition from the transaction data to the update of the UDR “Dictionary”. The first name collected in the transaction data is matched against a name-pseudonym lookup that identifies any pseudonyms for a specific first name—and vice versa. For example the name “john” that is collected in a transaction record is looked up in the name-pseudonym table for “john” as the first name and pulls out any corresponding nicknames (johnny, jon, etc.). And vice-versa, the name “john” is looked up in the name-pseudonym for “john” as a pseudonym and pulls out any corresponding first names johnathan, jonathan, etc). The list of possible names and pseudonyms identified on “john” are then matched against the UDR “Dictionary” for a match (by its corresponding browser_idc), and if a match exists, the ‘string’ in the UDR “Dictionary” is retained and the ‘match’ field is incremented by one. Below is an example as shown in
FIG. 6E . - Therefore, the string within the UDR “Dictionary” remains static unless a higher ranking source captures the string (first name for example) and matches it in the UDR “Dictionary” through the name-pseudonym lookup—at that point the string is replaced with the string collected from the higher-ranking source. For example, if “jon” had been collected from the registration database and a record already existed in the UDR “Dictionary” for “Jonathan” that had a source code of “t” for transaction; then “jonathan” may be replaced with “Jon” since the registration database serves as a higher ranking source than the transaction data.
- The end result of the transaction data load and update process is a system that continually adds hit counts to the UDR “Dictionary” for string and string types by browser_idc. It also serves as a way to artificially add members to the browser_idc (household) within the UDR “Dictionary” while not updating the actual registration database and thus increasing the overall coverage to the site and user sessions for each person surfed. It may allow us to not remain dependent solely upon the registration database because the assumption is, we do not care if they are an actual member of the household or just a guest purchasing an item on the household's computer—all we care about is who (UDR indicators) was surfing during that session.
- 4a3) UDR Form Data Process:
- The “name=value” pair may identify users based on personal level information that is entered online by the panelist. This typically occurs when a user fills out a form online, submits a request or other occurrences that would call for the user to enter personal level information such as their name, email, gender, login/screen name or date of birth. An analysis was done on major sites that ask for personal level information (sweepstakes sites, form filling sites, registration sites, etc.) to identify how these occurrences are captured through the proxies. Essentially, the occurrence of someone entering his or her first name, for example, is captured through the representation of a ‘keyword’ that is assigned by the domain to acknowledge this to be a ‘first name’ value. The analysis built a set of keywords based on the tested domains for each of the five personal level categories (name, email, login/screen name, gender and date of birth). The assumption is that these are common keywords not only used by these major sites, but other sites across the Internet world. Some keywords include:
Category Keyword Name first_name, fname, last_name, lname, first, last Email email, user email, recipient_email, member- email Login/Screenname login, account name, signin, screenname Gender gender, sex, male, female, int_gender Date of Birth dob, birthday, birthyear, b_year, b_month - The collection of these keywords and corresponding values may be captured at the proxy level or client level and then undergo some series of business rules/logic that weeds out useless data and sorts the raw records into a workable model. The processed data may then be matched to the registration database to identify the member within the household to which it belongs. If no match exists, a “dummy” person is created within the matched browser_idc. This match to the registration database and addition of “dummy” members may occur in a staging area within the local systems—not to interfere with the actual registration database.
- This process scans the XML files at the proxy level for specific keywords in the post or query data. These keywords are assigned terms by the site for when someone fills out a form by entering data or selecting pre-determined values. Once the user fills out the online form and “submits” the form, a series of “post” and/or “query” data is returned that is not viewed by the user but viewed through the proxies and each keyword is followed by an “=” sign followed by the value entered by the user. So, a simple online form might return a url string that looks like this:
- http://www.domain.com/url_directory/url_page.asp?first_name=Someone&last_name=Else&title—Mrs.¤t_last_name=New&email=testing@testing.com&verify_email=testing@testing.com&zip=22015&password=testing
- What the process does is scan these URLs and pulls out the full post or query data string (everything after the “?”) when the string contains one of the keywords. The page's demographic information is also extracted (e.g. browser_idc, url_id, time_id, domain_name, url_host, etc). Each match on one of the keywords is tagged with a single-character value that identifies a specific post or query data value as a match. There are five (5) single character values representing the five different categories of UDR data (name, email, gender, login/screen name and date of birth). These five categories are as follows:
Single-Character Value String Type n: name e: email l: login/screenname g: gender b: date of birth - For each string type, several keywords may exist. Once the scanning process identifies a url's post or query data matching on one of the keywords, the resulting post/query string that gets loaded into a data server looks like:
- n: first_name=Someone&n:last_name=Else&title=Mrs.&n:current_last_name=New&e:email=testing=testing@com&verify_email=testing@testing.com&zip=22015&password=testing
- Once this data is loaded into a processor, an extraction or sorting process occurs. A process sorts the “string types” based on the single-character value and parses out the string into a workable table that allows for an easy update into the “staged” registration database. The sorting process creates an individual record for each occurrence of a string type and matches it to the corresponding page's url_idc, browser_idc and event_time. The end result of the sorting looks like this:
url_idc browser_idc event_time type parameter value sample sample sample n first_name Someone sample sample sample n last_name Else sample sample sample n current_last_name New sample sample sample e email test@testing.com - Where ‘type’ is the “‘string type’” of the match, ‘parameter’ is the assigned post/query keyword and ‘value’ is the entry on the form by the user. Each record then matches based on browser_idc to the staged registration database (the “Dictionary”) and looks for a match on any of the values for each parameter. When a match occurs, the remaining values for the same person are inserted into the “Dictionary” and a counter is tagged for each parameter increasing by one. So, if in the “Dictionary” the following information is available:
Panelist_id browser_idc string_type string match sample sample 1 someone 1 sample sample 2 else 1 - Note: “match” is the counter that keeps track of the number of hits per value per string. Since we are separating first and last name in the “Dictionary”, ‘f’ has been assigned to represent first name and ‘n’ represents last name—in the raw “name=value” pair process, “n” represents either first or last name. Then when the process matches the collected “name=value” pairs and matches them to the registration database the end result of the “Dictionary” looks like this:
Panelist_id browser_idc string_type string match sample sample 1 someone 2 sample sample 2 else 2 sample sample 2 new 1 sample sample 3 test@testing.com 1 - 4a4) The User Demographic Reporting (UDR) Indicator:
- Firt Name, Last Name, Email, Login/Screen Name, Gender and Birth Year
- 4a4i) UDR Indicator 1: First Name
- The first name drives the identification of a person to other demographic breaks. It can be identified in email addresses, login/screen name entries, matched to various pseudonyms and in most cases a gender can be applied to a first name. First name collects in three primary sources: registration database, transaction data and the UDR Form Data. The first name collected from the registration database may update the UDR “Dictionary” for each member within a household where first name is not <NULL> or not “Member”. The first name is also updated to the UDR “Dictionary” from the transaction data and UDR Form Data when presented. First names collected from these two sources undergo a name-pseudonym match for possible pseudonyms in addition to a name-gender match for updating the gender portion of the “Dictionary”.
FIG. 6F is an example of a pseudonym match. -
FIG. 6G is an example of how the name-gender match can be applied. An additional panelist_id/member_id is generated for “michael” and updated with “M” as gender (if the name is not found within the name-gender lookup (ambiguous names), then only the name is added to the “Dictionary”, and gender is left blank). SeeFIG. 6H . End result: panelist_id/member_id for “michael” is generated as a “dummy” id and applies to the given session. The system is then able to identify the gender of this session, but not age. - Furthermore, the first name can be matched against other UDR indicators such as email and login/screen name following some basic logical rules. This process and set of logical rules are defined in more detail within the “Email” and “Login/Screen Name” sections of this document.
- 4a4ii) UDR Indicator 3: Email
- The email address serves as three functions: 1. because of its uniqueness, the email can identify a person whereas a common indicator such as ‘address’ cannot; 2. the prefix to an email address (everything before the “@” sign) can be identified as a unique login/screen name for that person; 3. the first initial-last name of a person may search within the email prefix for updating the UDR “Dictionary” by identifying a first name. Therefore, in addition to its use as identifying a person when no other demographic information is presented during a site session, the email address can add UDR ‘strings’ for a given member within the household so as to help identify the person in later sessions based solely on a login/screen name or email prefix.
FIG. 6I is an example. -
FIG. 6I illustrates that whenever someone on the computer with the same browser_idc as “George Bush signs on to AOL as “elephant”, the system identifies that as a login/screen name for “george bush” and assigns him that session. Without the email “breakout” of its prefix, the screen name, “elephant” is identified as a “dummy” person to the household and if no other UDR indicators are matched during the session, the session becomes un-identified. This scraping of the email's prefix occurs when transaction and UDR Form Data for email is presented/collected. As the email gets collected, a match for that email is searched within the UDR “Dictionary” and when found, the ‘match’ counter for that string_type is incremented by one for that string (email address) and the prefix of the email is parsed and generates a login/screen name (string_type ‘4’) for that person (if the same login/screen name already exists then the ‘match’ counter for that string_type is incremented by one). If no match for the presented/collected email is found within the UDR “Dictionary” two logical steps occur: 1. the email prefix is parsed and matched against string_type “4” (login/screen name) within that household to identify the person to which the email belongs; and 2. if no login/screen name match exists within that household, then the first non-numeric character within the email prefix is labeled as “first initial” and the last set of non-numeric character values is matched against persons' last names within the household. The second logical step may use the “first initial-last name” match to identify a person within the household. When a match occurs as a result of either two logical steps, the original email presented/collected is updated to that person's member_id within the household for string type “3” (email), and the email prefix is updated to string type “4” (login/screen name) as his/her login/screen name.FIG. 6J andFIG. 6K show a real-world example of how the email can serve these multi-functions. End Result: panelist_id/member_id for “george” is applied to the session solely based on the login/screen name, “elephant” which would otherwise not identify anyone specifically within the household. - Thereafter, the system can match an email based on a first initial-last name combination, as shown in
FIG. 6L . End Result: panelist_id/member_id for “george” is applied to the session solely based on the unmatched email address, gwbush@whitehouse.com. (gwbush@whitehouse.com is also updated to the UDR “Dictionary” as string_type ‘3’ for “george” and a login/screen name (string type 6) is created in the dictionary as “gwbush” in consideration for future email and/or login/screen name matches—thus the first initial/last name logic need only apply once.) - 4a4iii) UDR Indicator 4: Login/Screen Name
- The login and/or screen name is an identifier that a person enters when signing on to a particular online service such as an ISP, Internet email system or possibly a subscription service like wsj.com (Wall Street Journal). In addition, several internet email services or ISPs that offer email accounts may use the login and/or screen name as the user's email address prefix (e.g. a screen name of “johndoe” for AOL may assign an email address of “johndoe@aol.com” for this person). Also, the login and/or screen name can apply a logic that distinguishes a first and/or last name within the household for a login/screen name that is otherwise unmatched in the UDR “Dictionary”. For this, the login/screen name serves three purposes: 1. to uniquely identify a site session with a member of the household when no other UDR information is presented during a session and the unique login/screen name is found within the UDR “Dictionary”; 2. to identify which member of the household a unique login/screen name belongs based on a first name or first initial-last name logic; and 3. create an additional “forced” email address for the person by applying a domain level logic. Much like the ‘email’ address, the login/screen name generates additional UDR strings in addition to its primary function of identifying the person surfing during his/her session.
- The example of
FIG. 6M illustrates how an additional email record is generated when a login/screen name is collected and matched within the UDR “Dictionary”. By simply adding the “@” sign after the login/screen name and ending it with “domain.com”, an email address is created for that person in the event “gwbush@msn.com” is collected either through a transaction or UDR Form Data record in the future. Similar to the email logic of leveraging the prefix to create a unique login/screen name for that person and to identify the person based on the first initial-last name logic, the login/screen name can apply a similar set of rules. Two logical steps occur when the collected login/screen name does not match in the UDR “Dictionary”: 1. the login/screen name matches against email prefixes within that household to identify the person; or 2. the login/screen name uses the first non-numeric character as the “first initial” and the last set of non-numeric character values as the “last name”; together the combination matched against the person's last name within the household and identifies a person's first name from the first letter matched to the login/screen name's first initial. When a match occurs as a result of either two logical steps, the original login/screen name presented/collected is updated to that person's member_id within the household for string type “4” (login/screen name), and the mail (string_type “4) is added as an additional record by appending the “@” sign followed by “domain.com”.FIG. 6N is an example of a real-world example of how the login/screen name logic applies. The end result is that the panelist_id/member_id for “george” is applied to the session solely based on the login/screen name, “elephant” which would otherwise not identify anyone specifically within the household. - Login/Screen Name can use the first initial-last name rule (UDR Form Data record collected through hotmail.com) as shown in
FIG. 6O . End result: panelist_id/member_id for “george” applies to the session solely based on the login/screen name of “gwbush”. Also, an additional email address is created for “george” in order to identify “george” to any future sessions where only“gwbush@hotmail.com” is collected. - 4a4iv) UDR Indicator 5: Gender
- Gender is one of the two other demographic breaks used in identifying user and site sessions. The process to update gender is much simpler than some of the other UDR indicators (first name, email or login/screen name). However, there are a few logical rules that apply when collecting gender—which is described within this section. Only two of the three primary sources collect gender: the registration database and the UDR Form Data.
- First, the initial gender update may originate from the registration database. For each member of the household, the gender for that member may be loaded into the UDR “Dictionary” as either “m” for male or “f” for female. However, if a member within the registration database has a <NULL> entry for gender, then the first name (if available) is searched through the name-gender lookup table and a matching gender to the member's first name is applied. If no first name is available for the member and no gender is offered within the registration database—then no gender is applied to that member_id within the given household.
- Second, gender is collected through the UDR Form Data as string type “g” (translated to “5” when applied in the UDR “Dictionary”. Based on a set of keywords that identifies when a person enters gender information within “form” data (post and/or query_data), a database located on a data server stores the collected values for “gender” entries. The gender is then grouped with other UDR information collected either in the same URL record or within a given site session so as to match the UDR information to the “Dictionary” and update the gender. If the gender for the matched member_id already exists, then the “match” counter for that string_type (gender) is incremented by one. If the gender for the matched member_id does not already exist, then the gender indicator is applied in the “Dictionary” and the “match” counter for that string_type (gender) is set to “1”.
FIG. 6P illustrates either example. - Gender is one of the UDR indicators that can be easily updated to any member_id within a household for those members who have first names. However, because gender is not as unique within a household as first name, email, login/screen name or even the birth year, it becomes difficult to match a session to a specific member within the household when gender is the only UDR indicator presented during the session. Though the system is able to identify one of the two final demographic breaks (gender) for the given session, updating the “Dictionary” to apply gender for a specific person is virtually impossible when more than one member of the same gender exists in the household.
FIG. 6Q illustrates an example of how a “gender” item goes unmatched within the household for a specific member_id. The end result is that the process cannot match this gender to anyone in the household because it is inconclusive as to whom the record belongs. - However, the gender can be used in combination with other UDR indicators to match on a specific member_id within a household. For example, if the gender and birth year were collected within a session, and the birth year exists within the UDR “Dictionary” for a specific member_id, then the gender can be updated to that person where gender currently did not exist for such member_id. The same logic can be used when gender is combined with login/screen name, email address and obviously first name.
- 4a4v) UDR Indicator 6: Birth Year
- The birth year is the second final demographic break that matches each surfer to a given user and site session. Much like the gender, birth year is very simple to update and includes straightforward logic as opposed to some of the more complex indicators such as: first name, email and login/screen name. Also, birth year is a more unique indicator as opposed to gender, and matching birth year to a person within a given household is more dynamic because the likelihood of two or more members within a household of having the same birth year is less likely than two or more members with the same gender. Birth year was chosen as the “birth” UDR indicator because it keeps logic and matching simple and the data type can remain more stable—one does not have different forms of data to manipulate (e.g., translating “Jul. 7, 1985” or “Jul. 7, 1985” or “Jul. 7, 1985” to “07-07-1985”). Rather, the logic primarily strips unnecessary data only to retain the birth year. And in the case of birth years collected in 2-digit format, the
prefix Raw date of birth collected Final load to UDR “Dictionary” 07/07/85 1985 Jul. 7, 1985 1985 - The first step is for the string to identify the last 4 numeric characters of the string that is not broken up by any spaces or other non-numeric characters. Once these four numeric characters are identified, a “first 2-digit” validation occurs: the first two numeric characters must be a 19 or a 20. If this is true, then the characters are retained and updated to the UDR “Dictionary”. If the validation returns false, then the last two digits are retained and a 19 is pre-appended. The next logical step (if the last numeric characters do not exist without a space or other non-numeric character breaking the string) is to identify the last two numeric characters and pre-append a “19” to the beginning of the two numeric characters. Once this logic of stripping/parsing the birth year from any date of birth record occurs, then updating the UDR “Dictionary” is simple.
- If a match within the household exists for such a birth year, then the “match” counter is incremented by one, and the session can be applied to this particular member_id. If no match occurs within the UDR “Dictionary”, then the birth year has to be used in conjunction with other collected UDR indicators that occurred during the same url record or session. For example, if birth year and first name, “john” are collected form the UDR Form Data, and “john” is found within the given household in the UDR “Dictionary”; then the collected birth year can be added to “john”. This follows the same for when birth year is collected in conjunction with other UDR indicators such as: email, login/screen name and gender.
- 4b) UDR “Dictionary”
- As detailed in previous sections, the UDR “Dictionary” is a table that makes up UDR indicators for every member for every household. These indicators are collected from the Registration database, Transaction data (both ecommerce and non-ecommerce data), and the UDR Form Data. This table may remain on a data server and may be called “UDR_registration”, for instance. On a daily basis, this table is handed off to build their UDR “Streamids” process that matches the “Dictionary” information to real URLs during site and user sessions. Due to the size of the UDR “Dictionary” and it's subject to “extra” members from miscellaneous collected UDR Form data, the handoff may be a filtered “Dictionary”. The filtered “Dictionary” may include UDR indicators for members within the household where the source is a “1” or a “2”. Therefore, UDR indicators derived from the registration database and from the transaction data may be part of the filtered “Dictionary”. In addition, UDR indicators for members within the household with a source of “3” and the match (which is a field that tracks the ‘count’ of hits for a particular UDR indicator for each UDR string type for each member within the household) is greater than five (5).
- 4c) Single Member Households
- The idea of the ‘single member household’ data is to identify those households who are assumed to be one member deep and thus force that member to be assigned to any user session during which his/her household surfed and no other UDR data was scanned. First, a ‘single member household’ is assumed to be any household by which only one person uses the computer/machine for Internet (other than email) purposes. Various data sources and assumptions are utilized in order to build this set of households and ‘single members’ for the efforts mentioned above. This section may outline the different methodologies used to build this data set as logic has changed over time. There are 3 methodologies described below.
- 1) This methodology essentially looks at every household and each member's source of record. The process counts up the total number of member_ids within each household that have a source of 1 (registration data). Finally, only those households where exactly one member has a source of 1 are then passed off to the stream ids process that may force user sessions in the DW for these households when not other UDR data was scanned during the session. The member_id that contained a source of I is used as the default ‘person_id’ in the DW for user_session assignment.
- 2) The process to create a set of households and default member_ids for this methodology uses actual self-reporting of data as seen in the registration database. The process may first take active households in the registration database that are reported as a work or school machine. Secondly, active households in the registration database that are self-reported as “one-member households” (i.e., How many people are residing in your household?=1) are added to the work/school set of active households. This then creates the total number of households to be used when forcing a default member id into the user session table(s). In order to generate the default member id for each ‘single member household’ for this methodology, the collapsed members are utilized. Essentially, the collapsed member_id (a.k.a PLI_ID or master_id) that has the most number of collapsible ‘persons’ is used as the default member_id for this set of ‘single member households’. This is because it is assumed that a collapsed member_id with many collapsible ‘persons’ is said to be the most frequent of ‘persons’ within the household.
- 3) The process to create a set of households and default member_ids for this methodology uses actual self-reporting of data as seen in the registration database in addition to those households whom completed the registration process and only one member of the household is in the registration database (i.e., single member registrants for multi-member households). The first step of the process uses
methodology 1's logic. The second step of the process may identify those households within the registration database that completed the registration process (this is identified by using a field within the ‘machine’ table of the registration server that flags each household as having completed or not completed the registration process). Using these households, the process then identifies those households where only one member_id has a source 1 (registration). This set of households are combined withstep 1 to create a final set of ‘single member households’. In order to generate the default member id for each ‘single member household’ for this methodology, the same logic used inmethodology 2 is used formethodology 3 to identify the default person_id. This methodology includesmethodology 2 and a subset ofmethodology 1. - 5) Data Mining
- Because the database generated can include data regarding consumer's demographics and the like, the database can be easily mined for data records having web hits on a particular website. This information is particularly valuable to that website's competitors, as it gives an indication of who is visiting the website, and what those individuals' characteristics are. Such “competitive intelligence” can be marketed and sold to a wide variety of parties, and in particular to the particular website's competitors.
- In yet another aspect of the invention, an electronic commerce (“e-commerce”) or retail price index, herein termed “EPI”, can be generated from the service provider's database, based on any electronic retailer's (“e-tailer”) data, mined from the database (Step 220). That is, the prices of particular products can be retrieved from the database, and the relationships between time and price can be generated to provide an indication of the true market price for an item or service, or of the condition of a market as a whole.
- Referring again to
FIG. 4 , the service provider's database can be further analyzed or mined to extract data relating to the amount of revenue a particular website generates over a particular time period or a particular number of website hits (Step 222). Based on the sample size for the particular website of interest, and therefore within a known confidence interval based on known rules of statistical analysis, the service provider will be able to provide revenue projections over a given period of time for the website well in advance of the end of any particular time period or number of Internet visits. As will be readily appreciated by one of ordinary skill in the art, revenue predictions for a business are very useful tools for pricing securities for that merchant, and therefore the service provider can market and sell such revenue predictions to parties interested in knowing this information before release of the actual revenue reports by the website owner to the rest of the securities market. Furthermore, sales forecasts can be used by the Internet merchant for inventory control and just-in-time warehousing and delivery. - The database can also be analyzed for data representative of the frequency a particular website is visited (Step 224). For example, the data filtering performed on the raw Internet data received by the service provider can include tabulating the number of times a domain, website, or webpage is served to a consumer. By comparing this number to the number of times a purchase was made, a measure of the particular consumer's purchasing propensity can be generated, as well as the average amount spent per visit and per transaction. These measures can be marketed to e-tailers, or provided back to the consumer. Similarly, by retrieving from the database usage at a single website across the database, cross-selling success can be measured (Step 226). For example, for an e-tailer that sells products A and B, the database can be mined for transactions, for instance, between the particular e-tailer and consumers for product A, and the e-tailer's success in also selling product B to that same consumer set can be extracted. Thus, the success of the e-tailer to cross-sell products A and B can be readily extracted, and that information can be marketed and sold to competing e-tailers.
- More traditional market research data can also be easily mined from the service provider's database of Internet consumer activity. For example, a particular e-tailer's total market share in a particular class of goods or services can be determined by extracting data of all transactions, for instance, in that class attributable to the particular e-tailer, as well as all transactions, for instance, for goods or services in the class. Similarly, for a particular consumer, the loyalty or share of the consumer's spending (“wallet”) spent at a particular e-tailer or for a particular product type can be easily extracted. The percentage of the entire consumer sample pool who visited or bought goods or services a specified number of times from a particular site can be determined, which represent the trial and repeat rates for both visiting and purchasing.
- Profiling or generating scoring models can also be facilitated by the service provider practicing methods in accordance with still another aspect of the present invention. For example, the database can be used to provide data records for a particular consumer characteristic, such as education level (Step 228). This data set can be compared to broad demographic data sets including indicators of education level, to predict the overall probability of a certain Internet activity, such as buying a product or viewing a video, by persons at that education level for the entire population represented by the broad demographic data set (Step 230). Other comparisons of the service provider's database to other databases will be readily appreciated by one of ordinary skill in the art, to generate profiling data on a certain population's Internet activities.
- Because of the particular systems and processes of the system described herein, statistically significant consumer data can be gathered at extremely low costs per panelist when compared with prior systems.
- 6. Performance Monitoring and Analysis
- The typical web server 708 (
FIG. 7 ) does a good job of providing content requested by users. However, most web servers do not provide the content as efficiently as possible. In addition, most web servers do not provide thesystem administrator 710 with enough log information to clearly understand the performance of the website. - The present invention addresses the performance and logging shortfalls of the
typical web server 708 by providing a network appliance or device 706 (which can be the intermediary domain 102) that sits between theweb server 708 and thebrowser 704. In this case, theuser 702 requests content from theweb server 708 as described above, however, thedevice 706 intercepts the request. By intercepting the request, thedevice 706 can log detailed information about the request. Thedevice 706 requests the content from theweb server 708 and receives the response on behalf of theweb browser 704. Once thedevice 706 has the response from theweb sewer 708, it optimizes the content where possible by providing HTML compression, for instance. In addition to the optimization, thedevice 706 can insert script into the response that will direct thebrowser 704 to report information about the request from the client perspective. - The
device 706 encapsulates server-side performance information in the outgoing message. Theclient browser 704 combines client side statistics with the server side data and sends the combined package to a central server (707,FIG. 8 ) for processing and storage. The client processing is performed usingbrowser 704 based code (VBScript, JavaScript), and the data is sent back to thecentral server 707 via one or more transparent GIF requests. - The following, with reference to
FIGS. 7 and 8 , describe the solution where theweb user 702 requests a page. - 1. The request begins by establishing a TCP connection between the
browser 704 and theweb server 708. Thedevice 706 intercepts this request and accepts the connection on behalf of theweb server 708. - 2. Once the connection is accepted, the
browser 704 sends a request for the page and, optionally, requests the connection be kept alive. - 3. The
device 706 checks to see if theuser 702 has a cookie issued by the device. If so, it parses the cookie, saves it for future reference, and strips it from the HTTP header. If not, it creates a new unique identifier for theuser 702 and saves it. - 4. The
device 706 establishes a connection to the web server. - 5. The
device 706 forwards the user's request to the web server. - 6. The
web server 708 sends the requested page and logs the request. - 7. The
web server 708 may close the connection. It is possible that theweb server 708 will close the connection even if thedevice 706 requested that the connection be kept alive. - 8. The
device 706 adds its cookie to the HTTP header and includes the unique identifier fromstep 3. - 9. If the content type is “text/html”, the
device 706 may insert client script to evaluate the page performance from the browser. - 10. If the content type is “text/*”, the
device 706 will compress the content. - 11. The
device 706 will return the modified response to the browser. - 12. If the
browser 704 requested that the connection is kept alive, thedevice 706 will leave the connection open. Otherwise, the connection will be closed. - 13. For each item on the page, the
browser 704 will request additional information from the web server. This information may be an image, applet, or other content served by the server. Thebrowser 704 may use an existing connection already established with the server or it may open a new one. - 14. The
browser 704 sends the request for the additional content. - 15. The
device 706 checks to see if theuser 702 has a cookie issued by the device. If so, it parses the cookie and saves it for future reference and strips it from the HTTP header. If not, it creates a new unique identifier for theuser 702 and saves it. - 16. The
device 706 establishes a connection to the web server. - 17. The
device 706 forwards the user's request to the web server. - 18. The
web server 708 sends the requested item and logs the request. - 19. The
web server 708 may close the connection. It is possible that theweb server 708 will close the connection even if thedevice 706 requested that the connection be kept alive. - 20. The
device 706 adds its cookie to the HTTP header and includes the unique identifier fromstep 16. - 21. The
device 706 will return the modified response to the browser. - 22. If the
browser 704 requested that the connection is kept alive, thedevice 706 will leave the connection open. Otherwise, the connection will be closed. - 23. If client script was included in step 9, the
browser 704 will gather statistics about the page as it loads. - 24. The
Browser 704 will open a connection to thecentral server 707 to send the statistics. Thecentral server 707 will intercept this request and accept. - 25. The
browser 704 will send the statistics to thecentral server 707 by requesting a URL and including the statistics in the request. - 26. The
central server 707 will parse the statistics and store the information in the Central Data Store. - 27. The
device 706 will send a canned response to the browser. - 28. The connection will close.
- Thereafter, a
system administrator 710 reviews logs, as follows: - 1. The system administrator reviews the
web server 708 logs. - 2. The system administrator reviews the
detailed web server 708 logs from thecentral server 707. - 3. The system administrator updates content and tunes performance based on the information derived from the
web server 708 logs and system information. - The system may enhance the
user 702 experience by providing HTML compression and by maintaining connections even when theweb server 708 does not support it. From the system administrator's point of view, the system may provide a significant amount of new information that can be used to evaluate the web server's 708 performance. Most importantly, the present invention provides information from thebrowser 704 about the time it took to render the entire page as well as the load times for individual items on the page. This information can be used in conjunction with other statistics such as abandonment to determine if page, or individual item, performance is the root of the problem. - The
device 706 will insert code at the beginning and end of every target html page served through the device. The code inserted will contain server side data. Once the html/JavaScript is fully processed by theclient browser 704, the client side statistics are combined with the server side information and one or more transparent GIF requests are made to the central server. Thecentral server 707 collects the information coming from thebrowser 704 and sends back a 1-pixel transparent GIF. The logged information is processed at thecentral server 707 and makes its way into the data store. The page performance, in aggregate or detail form, is available to the users of a reporting system. - The following records may be passed from the client to the server as part of the single pixel GIF request.
- 6a) Server-side performance information
-
- The IP address of the server the client is connecting to.
- The time the first byte of the clients request is received by the device.
- The time the first byte of the web server's 708 response is received by the device.
- The content type returned from the server.
- The time to complete the connection between the
device 706 and the web server.
- The time the clients request was completely received by the device.
- The time the web server's 708 response is completely received by the device.
- The time that the
device 706 sent the complete response after processing the filters. - The size of the request from the browser.
- The size of the response returned from the web server.
- A 2 byte status indicator for the
device 706 that can be used to report system status. - The HTTP Protocol used for the connection.
- The HTTP Method of the connection.
- The HTTP Status returned from the server.
- Specifies whether or not the
device 706 compressed the content prior to sending it to the browser. - The size of the response from the
device 706 to thebrowser 704 including the client script and the compression. - 6b) Client-Side Performance Information
- When a
browser 704 reports page load statistics, the results are stored in the statistics log. The data contained within the request is divided in to one row per component, such as an image or applet, and one row for the pages itself. - 6b1) Page Statistics
- The unique id of the
user 702 assigned by the system. - Counter that keeps track of the number of visits the
user 702 has made to the web site. - The referrer page sent from the browser.
- The time at which the data is sent to the central server.
- The time the
browser 704 received all the HTML. - The time the
browser 704 loaded the entire page. - The status of the item.
- 6b2. Component Statistics
- The unique identification of the
user 702 assigned by the system. - Counter that keeps track of the number of visits the
user 702 has made to the web site. - Type of component.
- The time at which the TCP connection is requested.
- The name of the item.
- The status of the item.
- Offset from page load start for when this component was requested.
- The time to load the component.
- The Size of the component if available.
- 6e)
Central Server User 702 Interface - The
central server 707 provides a web interface for the performance reports. - In conclusion, it is emphasized that the described systems, methods, and techniques may be implemented in digital electronic circuitry, computer hardware, firmware, software, or in combinations of these elements. Apparatuses embodying these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor. A process embodying these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output. The techniques may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor may receive instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include forms of non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM). Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits). It may be understood that various modifications may be made without departing from the spirit and scope of the claims. For example, advantageous results still could be achieved if steps of the disclosed techniques were performed in a different order and/or if components in the disclosed systems were combined in a different manner and/or replaced or supplemented by other components. Accordingly, other implementations are within the scope of the following claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/836,075 US20070276940A1 (en) | 2000-03-22 | 2007-08-08 | Systems and methods for user identification, user demographic reporting and collecting usage data using biometrics |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/532,890 US7181412B1 (en) | 2000-03-22 | 2000-03-22 | Systems and methods for collecting consumer data |
US35399302P | 2002-02-05 | 2002-02-05 | |
US35578502P | 2002-02-12 | 2002-02-12 | |
US10/358,376 US7260837B2 (en) | 2000-03-22 | 2003-02-05 | Systems and methods for user identification, user demographic reporting and collecting usage data usage biometrics |
US11/836,075 US20070276940A1 (en) | 2000-03-22 | 2007-08-08 | Systems and methods for user identification, user demographic reporting and collecting usage data using biometrics |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/358,376 Continuation US7260837B2 (en) | 2000-03-22 | 2003-02-05 | Systems and methods for user identification, user demographic reporting and collecting usage data usage biometrics |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070276940A1 true US20070276940A1 (en) | 2007-11-29 |
Family
ID=38750802
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/358,376 Expired - Lifetime US7260837B2 (en) | 2000-03-22 | 2003-02-05 | Systems and methods for user identification, user demographic reporting and collecting usage data usage biometrics |
US11/836,075 Abandoned US20070276940A1 (en) | 2000-03-22 | 2007-08-08 | Systems and methods for user identification, user demographic reporting and collecting usage data using biometrics |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/358,376 Expired - Lifetime US7260837B2 (en) | 2000-03-22 | 2003-02-05 | Systems and methods for user identification, user demographic reporting and collecting usage data usage biometrics |
Country Status (1)
Country | Link |
---|---|
US (2) | US7260837B2 (en) |
Cited By (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060173950A1 (en) * | 2005-01-28 | 2006-08-03 | Roberto Longobardi | Method and system for delivering information with caching based on interest and significance |
US20060248186A1 (en) * | 2005-04-27 | 2006-11-02 | Smith Richard J | Network management and administration |
US20080256235A1 (en) * | 1999-08-06 | 2008-10-16 | Lim Or Sim | Network resource monitoring and measurement system and method |
US20090222302A1 (en) * | 2008-03-03 | 2009-09-03 | Yahoo! Inc. | Method and Apparatus for Social Network Marketing with Consumer Referral |
US20090325602A1 (en) * | 2008-06-27 | 2009-12-31 | Yahoo! Inc. | System and method for presentation of media related to a context |
US20100082427A1 (en) * | 2008-09-30 | 2010-04-01 | Yahoo! Inc. | System and Method for Context Enhanced Ad Creation |
US20100185509A1 (en) * | 2009-01-21 | 2010-07-22 | Yahoo! Inc. | Interest-based ranking system for targeted marketing |
US20100241745A1 (en) * | 2009-03-17 | 2010-09-23 | Kindsight, Inc. | Character differentiation based on pattern recognition |
US20100250727A1 (en) * | 2009-03-24 | 2010-09-30 | Yahoo! Inc. | System and method for verified presence tracking |
US20100251270A1 (en) * | 2009-03-31 | 2010-09-30 | Comscore, Inc. | Selective Mobile Metering |
US20110087780A1 (en) * | 2009-09-11 | 2011-04-14 | Comscore, Inc. | Determining client system attributes |
US8024317B2 (en) | 2008-11-18 | 2011-09-20 | Yahoo! Inc. | System and method for deriving income from URL based context queries |
US8032508B2 (en) | 2008-11-18 | 2011-10-04 | Yahoo! Inc. | System and method for URL based query for retrieving data related to a context |
US8055675B2 (en) | 2008-12-05 | 2011-11-08 | Yahoo! Inc. | System and method for context based query augmentation |
US8060492B2 (en) | 2008-11-18 | 2011-11-15 | Yahoo! Inc. | System and method for generation of URL based context queries |
US8069142B2 (en) | 2007-12-06 | 2011-11-29 | Yahoo! Inc. | System and method for synchronizing data on a network |
FR2961645A1 (en) * | 2010-06-17 | 2011-12-23 | Kindsight Inc | User characteristics identifying device for e.g. digital TV, has memory providing instructions to be executed by processor, where instructions store record of set of user characteristics |
US8108778B2 (en) | 2008-09-30 | 2012-01-31 | Yahoo! Inc. | System and method for context enhanced mapping within a user interface |
US8166016B2 (en) | 2008-12-19 | 2012-04-24 | Yahoo! Inc. | System and method for automated service recommendations |
US8166168B2 (en) | 2007-12-17 | 2012-04-24 | Yahoo! Inc. | System and method for disambiguating non-unique identifiers using information obtained from disparate communication channels |
US8271506B2 (en) | 2008-03-31 | 2012-09-18 | Yahoo! Inc. | System and method for modeling relationships between entities |
US8281027B2 (en) | 2008-09-19 | 2012-10-02 | Yahoo! Inc. | System and method for distributing media related to a location |
US8307029B2 (en) | 2007-12-10 | 2012-11-06 | Yahoo! Inc. | System and method for conditional delivery of messages |
US8364611B2 (en) | 2009-08-13 | 2013-01-29 | Yahoo! Inc. | System and method for precaching information on a mobile device |
US8386506B2 (en) | 2008-08-21 | 2013-02-26 | Yahoo! Inc. | System and method for context enhanced messaging |
US8402356B2 (en) | 2006-11-22 | 2013-03-19 | Yahoo! Inc. | Methods, systems and apparatus for delivery of media |
US8538811B2 (en) | 2008-03-03 | 2013-09-17 | Yahoo! Inc. | Method and apparatus for social network marketing with advocate referral |
US8560390B2 (en) | 2008-03-03 | 2013-10-15 | Yahoo! Inc. | Method and apparatus for social network marketing with brand referral |
US8583668B2 (en) | 2008-07-30 | 2013-11-12 | Yahoo! Inc. | System and method for context enhanced mapping |
US8589486B2 (en) | 2008-03-28 | 2013-11-19 | Yahoo! Inc. | System and method for addressing communications |
US8594702B2 (en) | 2006-11-06 | 2013-11-26 | Yahoo! Inc. | Context server for associating information based on context |
US8671154B2 (en) | 2007-12-10 | 2014-03-11 | Yahoo! Inc. | System and method for contextual addressing of communications on a network |
US8706406B2 (en) | 2008-06-27 | 2014-04-22 | Yahoo! Inc. | System and method for determination and display of personalized distance |
US8745133B2 (en) | 2008-03-28 | 2014-06-03 | Yahoo! Inc. | System and method for optimizing the storage of data |
US8762285B2 (en) | 2008-01-06 | 2014-06-24 | Yahoo! Inc. | System and method for message clustering |
US8769099B2 (en) | 2006-12-28 | 2014-07-01 | Yahoo! Inc. | Methods and systems for pre-caching information on a mobile computing device |
US8813107B2 (en) | 2008-06-27 | 2014-08-19 | Yahoo! Inc. | System and method for location based media delivery |
US20140281893A1 (en) * | 2013-03-15 | 2014-09-18 | Robert Peter Borland | Methods and apparatus to measure feature usage on websites |
US8892495B2 (en) | 1991-12-23 | 2014-11-18 | Blanding Hovenweep, Llc | Adaptive pattern recognition based controller apparatus and method and human-interface therefore |
US8914629B2 (en) | 2012-01-30 | 2014-12-16 | The Nielsen Company (Us), Llc | Intercepting encrypted network traffic for internet usage monitoring |
US8914342B2 (en) | 2009-08-12 | 2014-12-16 | Yahoo! Inc. | Personal data platform |
US8918761B1 (en) * | 2008-12-05 | 2014-12-23 | Amazon Technologies, Inc. | Elastic application framework for deploying software |
US9110903B2 (en) | 2006-11-22 | 2015-08-18 | Yahoo! Inc. | Method, system and apparatus for using user profile electronic device data in media delivery |
US9185435B2 (en) | 2013-06-25 | 2015-11-10 | The Nielsen Company (Us), Llc | Methods and apparatus to characterize households with media meter data |
US9224172B2 (en) | 2008-12-02 | 2015-12-29 | Yahoo! Inc. | Customizable content for distribution in social networks |
US9277265B2 (en) | 2014-02-11 | 2016-03-01 | The Nielsen Company (Us), Llc | Methods and apparatus to calculate video-on-demand and dynamically inserted advertisement viewing probability |
US9507778B2 (en) | 2006-05-19 | 2016-11-29 | Yahoo! Inc. | Summarization of media object collections |
US9535563B2 (en) | 1999-02-01 | 2017-01-03 | Blanding Hovenweep, Llc | Internet appliance system and method |
US9600484B2 (en) | 2008-09-30 | 2017-03-21 | Excalibur Ip, Llc | System and method for reporting and analysis of media consumption data |
US9626685B2 (en) | 2008-01-04 | 2017-04-18 | Excalibur Ip, Llc | Systems and methods of mapping attention |
US9706345B2 (en) | 2008-01-04 | 2017-07-11 | Excalibur Ip, Llc | Interest mapping system |
US9805123B2 (en) | 2008-11-18 | 2017-10-31 | Excalibur Ip, Llc | System and method for data privacy in URL based context queries |
US20180130093A1 (en) * | 2011-09-14 | 2018-05-10 | Collective, Inc. | System and Method for Targeting Advertisements |
US10074093B2 (en) | 2008-01-16 | 2018-09-11 | Excalibur Ip, Llc | System and method for word-of-mouth advertising |
US10219039B2 (en) | 2015-03-09 | 2019-02-26 | The Nielsen Company (Us), Llc | Methods and apparatus to assign viewers to media meter data |
US10223701B2 (en) | 2009-08-06 | 2019-03-05 | Excalibur Ip, Llc | System and method for verified monetization of commercial campaigns |
US10230803B2 (en) | 2008-07-30 | 2019-03-12 | Excalibur Ip, Llc | System and method for improved mapping and routing |
US10791355B2 (en) | 2016-12-20 | 2020-09-29 | The Nielsen Company (Us), Llc | Methods and apparatus to determine probabilistic media viewing metrics |
US10834214B2 (en) | 2018-09-04 | 2020-11-10 | At&T Intellectual Property I, L.P. | Separating intended and non-intended browsing traffic in browsing history |
Families Citing this family (313)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181508B1 (en) * | 2000-11-09 | 2007-02-20 | Oki Data Americas, Inc. | System and method for communicating, monitoring and configuring a device operatively connected to a network |
US10296919B2 (en) | 2002-03-07 | 2019-05-21 | Comscore, Inc. | System and method of a click event data collection platform |
US8095589B2 (en) * | 2002-03-07 | 2012-01-10 | Compete, Inc. | Clickstream analysis methods and systems |
US9710852B1 (en) | 2002-05-30 | 2017-07-18 | Consumerinfo.Com, Inc. | Credit report timeline user interface |
US9400589B1 (en) | 2002-05-30 | 2016-07-26 | Consumerinfo.Com, Inc. | Circular rotational interface for display of consumer credit information |
US7509686B2 (en) * | 2003-02-03 | 2009-03-24 | Checco John C | Method for providing computer-based authentication utilizing biometrics |
US9412123B2 (en) | 2003-07-01 | 2016-08-09 | The 41St Parameter, Inc. | Keystroke analysis |
FI20031358A0 (en) * | 2003-09-22 | 2003-09-22 | Xortec Oy | Method for remote control of a web browser |
US10999298B2 (en) * | 2004-03-02 | 2021-05-04 | The 41St Parameter, Inc. | Method and system for identifying users and detecting fraud by use of the internet |
US20060010072A1 (en) * | 2004-03-02 | 2006-01-12 | Ori Eisen | Method and system for identifying users and detecting fraud by use of the Internet |
US7853533B2 (en) * | 2004-03-02 | 2010-12-14 | The 41St Parameter, Inc. | Method and system for identifying users and detecting fraud by use of the internet |
JP3925869B2 (en) * | 2004-05-27 | 2007-06-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Apparatus, method, and program for transferring structured document including a plurality of document elements |
US7512984B2 (en) * | 2004-06-01 | 2009-03-31 | Imera Systems, Inc. | Distributed and scalable instant multimedia communication system |
US20060161621A1 (en) * | 2005-01-15 | 2006-07-20 | Outland Research, Llc | System, method and computer program product for collaboration and synchronization of media content on a plurality of media players |
US7489979B2 (en) * | 2005-01-27 | 2009-02-10 | Outland Research, Llc | System, method and computer program product for rejecting or deferring the playing of a media file retrieved by an automated process |
US20060229058A1 (en) * | 2005-10-29 | 2006-10-12 | Outland Research | Real-time person-to-person communication using geospatial addressing |
US20070189544A1 (en) * | 2005-01-15 | 2007-08-16 | Outland Research, Llc | Ambient sound responsive media player |
US20060195361A1 (en) * | 2005-10-01 | 2006-08-31 | Outland Research | Location-based demographic profiling system and method of use |
US7562117B2 (en) * | 2005-09-09 | 2009-07-14 | Outland Research, Llc | System, method and computer program product for collaborative broadcast media |
US7542816B2 (en) * | 2005-01-27 | 2009-06-02 | Outland Research, Llc | System, method and computer program product for automatically selecting, suggesting and playing music media files |
US20060173556A1 (en) * | 2005-02-01 | 2006-08-03 | Outland Research,. Llc | Methods and apparatus for using user gender and/or age group to improve the organization of documents retrieved in response to a search query |
US20060184800A1 (en) * | 2005-02-16 | 2006-08-17 | Outland Research, Llc | Method and apparatus for using age and/or gender recognition techniques to customize a user interface |
US20070276870A1 (en) * | 2005-01-27 | 2007-11-29 | Outland Research, Llc | Method and apparatus for intelligent media selection using age and/or gender |
US20060173828A1 (en) * | 2005-02-01 | 2006-08-03 | Outland Research, Llc | Methods and apparatus for using personal background data to improve the organization of documents retrieved in response to a search query |
US20060179056A1 (en) * | 2005-10-12 | 2006-08-10 | Outland Research | Enhanced storage and retrieval of spatially associated information |
US20060179044A1 (en) * | 2005-02-04 | 2006-08-10 | Outland Research, Llc | Methods and apparatus for using life-context of a user to improve the organization of documents retrieved in response to a search query from that user |
US20060212324A1 (en) * | 2005-02-22 | 2006-09-21 | Transparency Software, Inc. | Graphical representation of organization actions |
US20060200496A1 (en) * | 2005-02-22 | 2006-09-07 | Transparency Software, Inc. | Organization action incidents |
US20060190488A1 (en) * | 2005-02-22 | 2006-08-24 | Transparency Software, Inc. | System and method for determining information related to user interactions with an application |
US7797320B2 (en) * | 2005-03-15 | 2010-09-14 | Hyperion Solutions Corporation | Dimensionality reduction |
US20060253210A1 (en) * | 2005-03-26 | 2006-11-09 | Outland Research, Llc | Intelligent Pace-Setting Portable Media Player |
US20060223637A1 (en) * | 2005-03-31 | 2006-10-05 | Outland Research, Llc | Video game system combining gaming simulation with remote robot control and remote robot feedback |
US20060223635A1 (en) * | 2005-04-04 | 2006-10-05 | Outland Research | method and apparatus for an on-screen/off-screen first person gaming experience |
US20060256008A1 (en) * | 2005-05-13 | 2006-11-16 | Outland Research, Llc | Pointing interface for person-to-person information exchange |
US8175889B1 (en) | 2005-04-06 | 2012-05-08 | Experian Information Solutions, Inc. | Systems and methods for tracking changes of address based on service disconnect/connect data |
DE102005017909A1 (en) * | 2005-04-18 | 2006-10-19 | Westfaliasurge Gmbh | Method for providing animal-specific data, e.g. of milk, comprises taking samples from animal at sampling station and using barcodes as animal ID, sampling data ID and sample ID which are applied to animal, station and sample container |
US20060241864A1 (en) * | 2005-04-22 | 2006-10-26 | Outland Research, Llc | Method and apparatus for point-and-send data transfer within an ubiquitous computing environment |
US20060256007A1 (en) * | 2005-05-13 | 2006-11-16 | Outland Research, Llc | Triangulation method and apparatus for targeting and accessing spatially associated information |
US20060259574A1 (en) * | 2005-05-13 | 2006-11-16 | Outland Research, Llc | Method and apparatus for accessing spatially associated information |
US20070150188A1 (en) * | 2005-05-27 | 2007-06-28 | Outland Research, Llc | First-person video-based travel planning system |
US20060271286A1 (en) * | 2005-05-27 | 2006-11-30 | Outland Research, Llc | Image-enhanced vehicle navigation systems and methods |
US20080032719A1 (en) * | 2005-10-01 | 2008-02-07 | Outland Research, Llc | Centralized establishment-based tracking and messaging service |
US20060186197A1 (en) * | 2005-06-16 | 2006-08-24 | Outland Research | Method and apparatus for wireless customer interaction with the attendants working in a restaurant |
US20070050844A1 (en) * | 2005-08-26 | 2007-03-01 | Pierre Lebel | Methods, systems and computer program products for monitoring a browsing session |
US7917148B2 (en) * | 2005-09-23 | 2011-03-29 | Outland Research, Llc | Social musical media rating system and method for localized establishments |
US8176101B2 (en) * | 2006-02-07 | 2012-05-08 | Google Inc. | Collaborative rejection of media for physical establishments |
US7577522B2 (en) * | 2005-12-05 | 2009-08-18 | Outland Research, Llc | Spatially associated personal reminder system and method |
US7586032B2 (en) * | 2005-10-07 | 2009-09-08 | Outland Research, Llc | Shake responsive portable media player |
US20070083323A1 (en) * | 2005-10-07 | 2007-04-12 | Outland Research | Personal cuing for spatially associated information |
US20060227047A1 (en) * | 2005-12-13 | 2006-10-12 | Outland Research | Meeting locator system and method of using the same |
US11301585B2 (en) | 2005-12-16 | 2022-04-12 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US8938671B2 (en) | 2005-12-16 | 2015-01-20 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US20070075127A1 (en) * | 2005-12-21 | 2007-04-05 | Outland Research, Llc | Orientation-based power conservation for portable media devices |
US8151327B2 (en) * | 2006-03-31 | 2012-04-03 | The 41St Parameter, Inc. | Systems and methods for detection of session tampering and fraud prevention |
US7941525B1 (en) * | 2006-04-01 | 2011-05-10 | ClickTale, Ltd. | Method and system for monitoring an activity of a user |
US20070240230A1 (en) * | 2006-04-10 | 2007-10-11 | O'connell Brian M | User-browser interaction analysis authentication system |
US9817963B2 (en) | 2006-04-10 | 2017-11-14 | International Business Machines Corporation | User-touchscreen interaction analysis authentication system |
US8650080B2 (en) * | 2006-04-10 | 2014-02-11 | International Business Machines Corporation | User-browser interaction-based fraud detection system |
US20070261109A1 (en) * | 2006-05-04 | 2007-11-08 | Martin Renaud | Authentication system, such as an authentication system for children and teenagers |
WO2007149341A2 (en) * | 2006-06-14 | 2007-12-27 | Agent Science Technologies, Inc. | System to associate a demographic to a user of an electronic system |
US8051468B2 (en) * | 2006-06-14 | 2011-11-01 | Identity Metrics Llc | User authentication system |
US8949406B2 (en) * | 2008-08-14 | 2015-02-03 | International Business Machines Corporation | Method and system for communication between a client system and a server system |
US8583772B2 (en) * | 2008-08-14 | 2013-11-12 | International Business Machines Corporation | Dynamically configurable session agent |
US8127000B2 (en) | 2006-06-30 | 2012-02-28 | Tealeaf Technology, Inc. | Method and apparatus for monitoring and synchronizing user interface events with network data |
US8868533B2 (en) | 2006-06-30 | 2014-10-21 | International Business Machines Corporation | Method and apparatus for intelligent capture of document object model events |
WO2008008473A2 (en) * | 2006-07-11 | 2008-01-17 | Agent Science Technologies, Inc. | Behaviormetrics application system for electronic transaction authorization |
US8788321B2 (en) * | 2006-09-05 | 2014-07-22 | Thomas Publishing Company | Marketing method and system using domain knowledge |
WO2008030510A2 (en) * | 2006-09-06 | 2008-03-13 | Nexplore Corporation | System and method for weighted search and advertisement placement |
US8843754B2 (en) * | 2006-09-15 | 2014-09-23 | Identity Metrics, Inc. | Continuous user identification and situation analysis with identification of anonymous users through behaviormetrics |
US8452978B2 (en) * | 2006-09-15 | 2013-05-28 | Identity Metrics, LLC | System and method for user authentication and dynamic usability of touch-screen devices |
US20080104128A1 (en) * | 2006-10-24 | 2008-05-01 | Drayer Jay A | system and method for secure, anonymous, and pertinent reposting of private blog posting, etc. |
US7991733B2 (en) * | 2007-03-30 | 2011-08-02 | Knewco, Inc. | Data structure, system and method for knowledge navigation and discovery |
US8285656B1 (en) | 2007-03-30 | 2012-10-09 | Consumerinfo.Com, Inc. | Systems and methods for data verification |
US8042055B2 (en) * | 2007-08-31 | 2011-10-18 | Tealeaf Technology, Inc. | Replaying captured network interactions |
US9060012B2 (en) * | 2007-09-26 | 2015-06-16 | The 41St Parameter, Inc. | Methods and apparatus for detecting fraud with time based computer tags |
US8127986B1 (en) | 2007-12-14 | 2012-03-06 | Consumerinfo.Com, Inc. | Card registry systems and methods |
US9990674B1 (en) | 2007-12-14 | 2018-06-05 | Consumerinfo.Com, Inc. | Card registry systems and methods |
US8386293B2 (en) * | 2008-04-03 | 2013-02-26 | American Spirit Data Solutions, Llc | Initial content customization apparatus and method |
US8312033B1 (en) | 2008-06-26 | 2012-11-13 | Experian Marketing Solutions, Inc. | Systems and methods for providing an integrated identifier |
CN101616101B (en) * | 2008-06-26 | 2012-01-18 | 阿里巴巴集团控股有限公司 | Method and device for filtering user information |
US9390384B2 (en) | 2008-07-01 | 2016-07-12 | The 41 St Parameter, Inc. | Systems and methods of sharing information through a tagless device consortium |
US9256904B1 (en) | 2008-08-14 | 2016-02-09 | Experian Information Solutions, Inc. | Multi-bureau credit file freeze and unfreeze |
US8156203B2 (en) | 2008-09-15 | 2012-04-10 | Microsoft Corporation | Dye injected request generation |
US8433785B2 (en) * | 2008-09-16 | 2013-04-30 | Yahoo! Inc. | System and method for detecting internet bots |
US8549163B2 (en) * | 2008-09-18 | 2013-10-01 | Jonathan M. Urdan | Passive parameter based demographics generation |
US8060424B2 (en) | 2008-11-05 | 2011-11-15 | Consumerinfo.Com, Inc. | On-line method and system for monitoring and reporting unused available credit |
US20100192069A1 (en) * | 2009-01-23 | 2010-07-29 | Cisco Technology, Inc. | Differentiating a User from Multiple Users Based on a Determined Pattern of Accessing a Prescribed Network Destination |
US8997191B1 (en) * | 2009-02-03 | 2015-03-31 | ServiceSource International, Inc. | Gradual template generation |
US8856269B2 (en) * | 2009-02-20 | 2014-10-07 | Ca, Inc. | System and method for identifying a masked IP address |
US9112850B1 (en) | 2009-03-25 | 2015-08-18 | The 41St Parameter, Inc. | Systems and methods of sharing information through a tag-based consortium |
US8930818B2 (en) * | 2009-03-31 | 2015-01-06 | International Business Machines Corporation | Visualization of website analytics |
US9934320B2 (en) | 2009-03-31 | 2018-04-03 | International Business Machines Corporation | Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions |
US8521908B2 (en) * | 2009-04-07 | 2013-08-27 | Verisign, Inc. | Existent domain name DNS traffic capture and analysis |
US9292612B2 (en) * | 2009-04-22 | 2016-03-22 | Verisign, Inc. | Internet profile service |
US8589698B2 (en) * | 2009-05-15 | 2013-11-19 | International Business Machines Corporation | Integrity service using regenerated trust integrity gather program |
US20110016240A1 (en) * | 2009-07-14 | 2011-01-20 | Andrew Jesse Mills | Measuring and Analyzing Behavioral and Mood Characteristics in Order to Verify the Authenticity of Computer Users Works |
US10546332B2 (en) | 2010-09-21 | 2020-01-28 | Visa International Service Association | Systems and methods to program operations for interaction with users |
US9841282B2 (en) | 2009-07-27 | 2017-12-12 | Visa U.S.A. Inc. | Successive offer communications with an offer recipient |
US9443253B2 (en) | 2009-07-27 | 2016-09-13 | Visa International Service Association | Systems and methods to provide and adjust offers |
US8266031B2 (en) | 2009-07-29 | 2012-09-11 | Visa U.S.A. | Systems and methods to provide benefits of account features to account holders |
US20110035280A1 (en) | 2009-08-04 | 2011-02-10 | Visa U.S.A. Inc. | Systems and Methods for Targeted Advertisement Delivery |
US20110035278A1 (en) | 2009-08-04 | 2011-02-10 | Visa U.S.A. Inc. | Systems and Methods for Closing the Loop between Online Activities and Offline Purchases |
US9342835B2 (en) | 2009-10-09 | 2016-05-17 | Visa U.S.A | Systems and methods to deliver targeted advertisements to audience |
US9031860B2 (en) | 2009-10-09 | 2015-05-12 | Visa U.S.A. Inc. | Systems and methods to aggregate demand |
US8595058B2 (en) | 2009-10-15 | 2013-11-26 | Visa U.S.A. | Systems and methods to match identifiers |
US20110093324A1 (en) | 2009-10-19 | 2011-04-21 | Visa U.S.A. Inc. | Systems and Methods to Provide Intelligent Analytics to Cardholders and Merchants |
US8676639B2 (en) | 2009-10-29 | 2014-03-18 | Visa International Service Association | System and method for promotion processing and authorization |
US8626705B2 (en) | 2009-11-05 | 2014-01-07 | Visa International Service Association | Transaction aggregator for closed processing |
US20110125565A1 (en) | 2009-11-24 | 2011-05-26 | Visa U.S.A. Inc. | Systems and Methods for Multi-Channel Offer Redemption |
US8935797B1 (en) | 2010-02-25 | 2015-01-13 | American Express Travel Related Services Company, Inc. | System and method for online data processing |
US8639567B2 (en) | 2010-03-19 | 2014-01-28 | Visa U.S.A. Inc. | Systems and methods to identify differences in spending patterns |
US8738418B2 (en) | 2010-03-19 | 2014-05-27 | Visa U.S.A. Inc. | Systems and methods to enhance search data with transaction based data |
US20110227831A1 (en) * | 2010-03-21 | 2011-09-22 | Andrew Jesse Mills | Determining Properties of Fingers via Keystroke Dynamics |
US9697520B2 (en) | 2010-03-22 | 2017-07-04 | Visa U.S.A. Inc. | Merchant configured advertised incentives funded through statement credits |
US9049247B2 (en) | 2010-04-01 | 2015-06-02 | Cloudfare, Inc. | Internet-based proxy service for responding to server offline errors |
US9634993B2 (en) | 2010-04-01 | 2017-04-25 | Cloudflare, Inc. | Internet-based proxy service to modify internet responses |
US9471926B2 (en) | 2010-04-23 | 2016-10-18 | Visa U.S.A. Inc. | Systems and methods to provide offers to travelers |
US8359274B2 (en) | 2010-06-04 | 2013-01-22 | Visa International Service Association | Systems and methods to provide messages in real-time with transaction processing |
US20120221675A1 (en) * | 2010-06-08 | 2012-08-30 | Tynt Multimedia Inc. | System and method for inferring user intent within a network resource |
US8533532B2 (en) | 2010-06-23 | 2013-09-10 | International Business Machines Corporation | System identifying and inferring web session events |
WO2011163060A2 (en) | 2010-06-23 | 2011-12-29 | Managed Audience Share Solutions LLC | Methods, systems, and computer program products for managing organized binary advertising asset markets |
US8781896B2 (en) | 2010-06-29 | 2014-07-15 | Visa International Service Association | Systems and methods to optimize media presentations |
US8307006B2 (en) | 2010-06-30 | 2012-11-06 | The Nielsen Company (Us), Llc | Methods and apparatus to obtain anonymous audience measurement data from network server data for particular demographic and usage profiles |
US8931058B2 (en) | 2010-07-01 | 2015-01-06 | Experian Information Solutions, Inc. | Systems and methods for permission arbitrated transaction services |
US8744956B1 (en) | 2010-07-01 | 2014-06-03 | Experian Information Solutions, Inc. | Systems and methods for permission arbitrated transaction services |
FR2962876A1 (en) * | 2010-07-16 | 2012-01-20 | Mediametrie | Audience or website utilization measuring system for e.g. advertising market, has storing unit processing audience measurement data related to Internet requests, where data includes phone and/or panelist and web server identifiers |
EP2596434A4 (en) * | 2010-07-20 | 2017-12-13 | Freeband Technologies, Inc. | Application activity system |
US9760905B2 (en) | 2010-08-02 | 2017-09-12 | Visa International Service Association | Systems and methods to optimize media presentations using a camera |
US9972021B2 (en) | 2010-08-06 | 2018-05-15 | Visa International Service Association | Systems and methods to rank and select triggers for real-time offers |
US8886773B2 (en) | 2010-08-14 | 2014-11-11 | The Nielsen Company (Us), Llc | Systems, methods, and apparatus to monitor mobile internet activity |
US8910259B2 (en) | 2010-08-14 | 2014-12-09 | The Nielsen Company (Us), Llc | Systems, methods, and apparatus to monitor mobile internet activity |
US9679299B2 (en) | 2010-09-03 | 2017-06-13 | Visa International Service Association | Systems and methods to provide real-time offers via a cooperative database |
US10055745B2 (en) | 2010-09-21 | 2018-08-21 | Visa International Service Association | Systems and methods to modify interaction rules during run time |
US9477967B2 (en) | 2010-09-21 | 2016-10-25 | Visa International Service Association | Systems and methods to process an offer campaign based on ineligibility |
US9092797B2 (en) | 2010-09-22 | 2015-07-28 | The Nielsen Company (Us), Llc | Methods and apparatus to analyze and adjust demographic information |
CN105760782B (en) | 2010-09-22 | 2019-01-15 | 尼尔森(美国)有限公司 | Monitor the method being exposed by the media and server |
US11869024B2 (en) | 2010-09-22 | 2024-01-09 | The Nielsen Company (Us), Llc | Methods and apparatus to analyze and adjust demographic information |
WO2012054646A2 (en) | 2010-10-19 | 2012-04-26 | The 41St Parameter, Inc. | Variable risk engine |
US9558502B2 (en) | 2010-11-04 | 2017-01-31 | Visa International Service Association | Systems and methods to reward user interactions |
US8484186B1 (en) | 2010-11-12 | 2013-07-09 | Consumerinfo.Com, Inc. | Personalized people finder |
US9147042B1 (en) | 2010-11-22 | 2015-09-29 | Experian Information Solutions, Inc. | Systems and methods for data verification |
US10476873B2 (en) | 2010-11-29 | 2019-11-12 | Biocatch Ltd. | Device, system, and method of password-less user authentication and password-less detection of user identity |
US10949757B2 (en) | 2010-11-29 | 2021-03-16 | Biocatch Ltd. | System, device, and method of detecting user identity based on motor-control loop model |
US10586036B2 (en) | 2010-11-29 | 2020-03-10 | Biocatch Ltd. | System, device, and method of recovery and resetting of user authentication factor |
US10069852B2 (en) | 2010-11-29 | 2018-09-04 | Biocatch Ltd. | Detection of computerized bots and automated cyber-attack modules |
US9450971B2 (en) * | 2010-11-29 | 2016-09-20 | Biocatch Ltd. | Device, system, and method of visual login and stochastic cryptography |
US10834590B2 (en) | 2010-11-29 | 2020-11-10 | Biocatch Ltd. | Method, device, and system of differentiating between a cyber-attacker and a legitimate user |
US20190158535A1 (en) * | 2017-11-21 | 2019-05-23 | Biocatch Ltd. | Device, System, and Method of Detecting Vishing Attacks |
US10395018B2 (en) | 2010-11-29 | 2019-08-27 | Biocatch Ltd. | System, method, and device of detecting identity of a user and authenticating a user |
US10474815B2 (en) | 2010-11-29 | 2019-11-12 | Biocatch Ltd. | System, device, and method of detecting malicious automatic script and code injection |
US10404729B2 (en) | 2010-11-29 | 2019-09-03 | Biocatch Ltd. | Device, method, and system of generating fraud-alerts for cyber-attacks |
US10728761B2 (en) | 2010-11-29 | 2020-07-28 | Biocatch Ltd. | Method, device, and system of detecting a lie of a user who inputs data |
US9477826B2 (en) * | 2010-11-29 | 2016-10-25 | Biocatch Ltd. | Device, system, and method of detecting multiple users accessing the same account |
US11223619B2 (en) | 2010-11-29 | 2022-01-11 | Biocatch Ltd. | Device, system, and method of user authentication based on user-specific characteristics of task performance |
US10747305B2 (en) | 2010-11-29 | 2020-08-18 | Biocatch Ltd. | Method, system, and device of authenticating identity of a user of an electronic device |
US10970394B2 (en) | 2017-11-21 | 2021-04-06 | Biocatch Ltd. | System, device, and method of detecting vishing attacks |
US11269977B2 (en) | 2010-11-29 | 2022-03-08 | Biocatch Ltd. | System, apparatus, and method of collecting and processing data in electronic devices |
US9483292B2 (en) * | 2010-11-29 | 2016-11-01 | Biocatch Ltd. | Method, device, and system of differentiating between virtual machine and non-virtualized device |
US10897482B2 (en) | 2010-11-29 | 2021-01-19 | Biocatch Ltd. | Method, device, and system of back-coloring, forward-coloring, and fraud detection |
US10949514B2 (en) | 2010-11-29 | 2021-03-16 | Biocatch Ltd. | Device, system, and method of differentiating among users based on detection of hardware components |
US11210674B2 (en) | 2010-11-29 | 2021-12-28 | Biocatch Ltd. | Method, device, and system of detecting mule accounts and accounts used for money laundering |
US10164985B2 (en) | 2010-11-29 | 2018-12-25 | Biocatch Ltd. | Device, system, and method of recovery and resetting of user authentication factor |
US10776476B2 (en) | 2010-11-29 | 2020-09-15 | Biocatch Ltd. | System, device, and method of visual login |
US10917431B2 (en) | 2010-11-29 | 2021-02-09 | Biocatch Ltd. | System, method, and device of authenticating a user based on selfie image or selfie video |
US10298614B2 (en) * | 2010-11-29 | 2019-05-21 | Biocatch Ltd. | System, device, and method of generating and managing behavioral biometric cookies |
US9621567B2 (en) * | 2010-11-29 | 2017-04-11 | Biocatch Ltd. | Device, system, and method of detecting hardware components |
US10069837B2 (en) * | 2015-07-09 | 2018-09-04 | Biocatch Ltd. | Detection of proxy server |
US10621585B2 (en) | 2010-11-29 | 2020-04-14 | Biocatch Ltd. | Contextual mapping of web-pages, and generation of fraud-relatedness score-values |
US10055560B2 (en) | 2010-11-29 | 2018-08-21 | Biocatch Ltd. | Device, method, and system of detecting multiple users accessing the same account |
US10685355B2 (en) | 2016-12-04 | 2020-06-16 | Biocatch Ltd. | Method, device, and system of detecting mule accounts and accounts used for money laundering |
US10037421B2 (en) | 2010-11-29 | 2018-07-31 | Biocatch Ltd. | Device, system, and method of three-dimensional spatial user authentication |
US10032010B2 (en) | 2010-11-29 | 2018-07-24 | Biocatch Ltd. | System, device, and method of visual login and stochastic cryptography |
US10262324B2 (en) | 2010-11-29 | 2019-04-16 | Biocatch Ltd. | System, device, and method of differentiating among users based on user-specific page navigation sequence |
US10083439B2 (en) | 2010-11-29 | 2018-09-25 | Biocatch Ltd. | Device, system, and method of differentiating over multiple accounts between legitimate user and cyber-attacker |
CA3122203A1 (en) | 2010-12-20 | 2012-06-28 | The Nielsen Company (Us), Llc | Methods and apparatus to determine media impressions using distributed demographic information |
US10007915B2 (en) | 2011-01-24 | 2018-06-26 | Visa International Service Association | Systems and methods to facilitate loyalty reward transactions |
JP6066096B2 (en) | 2011-02-22 | 2017-01-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method, system, and computer program for on-page manipulation and real-time replacement of content |
US10438299B2 (en) | 2011-03-15 | 2019-10-08 | Visa International Service Association | Systems and methods to combine transaction terminal location data and social networking check-in |
CN106156363B (en) | 2011-03-18 | 2019-08-09 | 尼尔森(美国)有限公司 | The method and apparatus for determining media impression |
TWI451742B (en) * | 2011-04-14 | 2014-09-01 | Chunghwa Telecom Co Ltd | Secure login method |
US8285808B1 (en) * | 2011-05-20 | 2012-10-09 | Cloudflare, Inc. | Loading of web resources |
WO2012162671A1 (en) | 2011-05-25 | 2012-11-29 | Comscore, Inc. | Combining measurements based on beacon data |
KR20120133508A (en) * | 2011-05-31 | 2012-12-11 | 주식회사 케이티 | System and method for providing in-app service |
US9665854B1 (en) | 2011-06-16 | 2017-05-30 | Consumerinfo.Com, Inc. | Authentication alerts |
US9124920B2 (en) | 2011-06-29 | 2015-09-01 | The Nielson Company (Us), Llc | Methods, apparatus, and articles of manufacture to identify media presentation devices |
US8594617B2 (en) | 2011-06-30 | 2013-11-26 | The Nielsen Company (Us), Llc | Systems, methods, and apparatus to monitor mobile internet activity |
US9483606B1 (en) | 2011-07-08 | 2016-11-01 | Consumerinfo.Com, Inc. | Lifescore |
US10223707B2 (en) | 2011-08-19 | 2019-03-05 | Visa International Service Association | Systems and methods to communicate offer options via messaging in real time with processing of payment transaction |
US9106691B1 (en) | 2011-09-16 | 2015-08-11 | Consumerinfo.Com, Inc. | Systems and methods of identity protection and management |
US9466075B2 (en) | 2011-09-20 | 2016-10-11 | Visa International Service Association | Systems and methods to process referrals in offer campaigns |
US10380617B2 (en) | 2011-09-29 | 2019-08-13 | Visa International Service Association | Systems and methods to provide a user interface to control an offer campaign |
US8738516B1 (en) | 2011-10-13 | 2014-05-27 | Consumerinfo.Com, Inc. | Debt services candidate locator |
US8930530B2 (en) * | 2011-10-28 | 2015-01-06 | Sap Se | Mobile and browser application performance management |
US8918903B1 (en) * | 2011-11-08 | 2014-12-23 | Symantec Corporation | Systems and methods for performing authentication validation |
US10290018B2 (en) | 2011-11-09 | 2019-05-14 | Visa International Service Association | Systems and methods to communicate with users via social networking sites |
US10754913B2 (en) | 2011-11-15 | 2020-08-25 | Tapad, Inc. | System and method for analyzing user device information |
US8538333B2 (en) | 2011-12-16 | 2013-09-17 | Arbitron Inc. | Media exposure linking utilizing bluetooth signal characteristics |
US9477966B2 (en) | 2011-12-22 | 2016-10-25 | Adobe Systems Incorporated | Accurately estimating the audience of digital content |
US8442859B1 (en) | 2011-12-23 | 2013-05-14 | Managed Audience Share Solutions LLC | Methods, systems, and computer program products for optimizing liquidity and price discovery in advertising markets |
WO2013106785A2 (en) * | 2012-01-11 | 2013-07-18 | Bazaarvoice, Inc. | Identifying and assigning metrics to influential user generated content |
US10497022B2 (en) | 2012-01-20 | 2019-12-03 | Visa International Service Association | Systems and methods to present and process offers |
US9015255B2 (en) | 2012-02-14 | 2015-04-21 | The Nielsen Company (Us), Llc | Methods and apparatus to identify session users with cookie information |
US9633201B1 (en) | 2012-03-01 | 2017-04-25 | The 41St Parameter, Inc. | Methods and systems for fraud containment |
US10672018B2 (en) | 2012-03-07 | 2020-06-02 | Visa International Service Association | Systems and methods to process offers via mobile devices |
US9521551B2 (en) | 2012-03-22 | 2016-12-13 | The 41St Parameter, Inc. | Methods and systems for persistent cross-application mobile device identification |
US8719356B2 (en) | 2012-04-17 | 2014-05-06 | Return Path, Inc | Methods, systems, and computer readable media for monitoring deliverability of electronic mail based on subscriber and seed deliverability data |
US9853959B1 (en) | 2012-05-07 | 2017-12-26 | Consumerinfo.Com, Inc. | Storage and maintenance of personal data |
CN104380653B (en) | 2012-06-08 | 2017-07-11 | 诺基亚技术有限公司 | For the secret protection of participatory sensing system |
AU2013204865B2 (en) | 2012-06-11 | 2015-07-09 | The Nielsen Company (Us), Llc | Methods and apparatus to share online media impressions data |
EP2880619A1 (en) | 2012-08-02 | 2015-06-10 | The 41st Parameter, Inc. | Systems and methods for accessing records via derivative locators |
US9245428B2 (en) | 2012-08-02 | 2016-01-26 | Immersion Corporation | Systems and methods for haptic remote control gaming |
AU2013204953B2 (en) | 2012-08-30 | 2016-09-08 | The Nielsen Company (Us), Llc | Methods and apparatus to collect distributed user information for media impressions |
US9635094B2 (en) | 2012-10-15 | 2017-04-25 | International Business Machines Corporation | Capturing and replaying application sessions using resource files |
US9270760B2 (en) * | 2012-10-15 | 2016-02-23 | Google Inc. | Cross-platform child mode for applications |
US9536108B2 (en) | 2012-10-23 | 2017-01-03 | International Business Machines Corporation | Method and apparatus for generating privacy profiles |
US9621446B2 (en) | 2012-10-26 | 2017-04-11 | Comscore, Inc. | Combining measurements based on beacon data |
US9177067B2 (en) | 2012-11-04 | 2015-11-03 | Walter J. Kawecki, III | Systems and methods for enhancing user data derived from digital communications |
US9654541B1 (en) | 2012-11-12 | 2017-05-16 | Consumerinfo.Com, Inc. | Aggregating user web browsing data |
US9535720B2 (en) | 2012-11-13 | 2017-01-03 | International Business Machines Corporation | System for capturing and replaying screen gestures |
WO2014078569A1 (en) | 2012-11-14 | 2014-05-22 | The 41St Parameter, Inc. | Systems and methods of global identification |
US10474735B2 (en) | 2012-11-19 | 2019-11-12 | Acoustic, L.P. | Dynamic zooming of content with overlays |
US8856894B1 (en) | 2012-11-28 | 2014-10-07 | Consumerinfo.Com, Inc. | Always on authentication |
US9916621B1 (en) | 2012-11-30 | 2018-03-13 | Consumerinfo.Com, Inc. | Presentation of credit score factors |
US10255598B1 (en) | 2012-12-06 | 2019-04-09 | Consumerinfo.Com, Inc. | Credit card account data extraction |
US10360627B2 (en) | 2012-12-13 | 2019-07-23 | Visa International Service Association | Systems and methods to provide account features via web based user interfaces |
US10878448B1 (en) | 2013-03-13 | 2020-12-29 | Adobe Inc. | Using a PID controller engine for controlling the pace of an online campaign in realtime |
US11120467B2 (en) | 2013-03-13 | 2021-09-14 | Adobe Inc. | Systems and methods for predicting and pricing of gross rating point scores by modeling viewer data |
US11010794B2 (en) | 2013-03-13 | 2021-05-18 | Adobe Inc. | Methods for viewer modeling and bidding in an online advertising campaign |
US10007926B2 (en) | 2013-03-13 | 2018-06-26 | Adobe Systems Incorporated | Systems and methods for predicting and pricing of gross rating point scores by modeling viewer data |
US9503536B2 (en) | 2013-03-14 | 2016-11-22 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor media presentations |
US9406085B1 (en) | 2013-03-14 | 2016-08-02 | Consumerinfo.Com, Inc. | System and methods for credit dispute processing, resolution, and reporting |
US9870589B1 (en) | 2013-03-14 | 2018-01-16 | Consumerinfo.Com, Inc. | Credit utilization tracking and reporting |
US10102570B1 (en) | 2013-03-14 | 2018-10-16 | Consumerinfo.Com, Inc. | Account vulnerability alerts |
US9301173B2 (en) | 2013-03-15 | 2016-03-29 | The Nielsen Company (Us), Llc | Methods and apparatus to credit internet usage |
US10356579B2 (en) | 2013-03-15 | 2019-07-16 | The Nielsen Company (Us), Llc | Methods and apparatus to credit usage of mobile devices |
US9633322B1 (en) | 2013-03-15 | 2017-04-25 | Consumerinfo.Com, Inc. | Adjustment of knowledge-based authentication |
US10614481B1 (en) | 2013-03-15 | 2020-04-07 | Comscore, Inc. | System and method for measuring the relative and absolute effects of advertising on behavior based events over time |
US10664936B2 (en) | 2013-03-15 | 2020-05-26 | Csidentity Corporation | Authentication systems and methods for on-demand products |
US9697533B2 (en) | 2013-04-17 | 2017-07-04 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor media presentations |
US10685398B1 (en) | 2013-04-23 | 2020-06-16 | Consumerinfo.Com, Inc. | Presenting credit score information |
US9560149B2 (en) | 2013-04-24 | 2017-01-31 | The Nielsen Company (Us), Llc | Methods and apparatus to create a panel of media device users |
US9519914B2 (en) | 2013-04-30 | 2016-12-13 | The Nielsen Company (Us), Llc | Methods and apparatus to determine ratings information for online media presentations |
US9721147B1 (en) | 2013-05-23 | 2017-08-01 | Consumerinfo.Com, Inc. | Digital identity |
US10068246B2 (en) | 2013-07-12 | 2018-09-04 | The Nielsen Company (Us), Llc | Methods and apparatus to collect distributed user information for media impressions |
US9313294B2 (en) | 2013-08-12 | 2016-04-12 | The Nielsen Company (Us), Llc | Methods and apparatus to de-duplicate impression information |
US9443268B1 (en) | 2013-08-16 | 2016-09-13 | Consumerinfo.Com, Inc. | Bill payment and reporting |
US10333882B2 (en) | 2013-08-28 | 2019-06-25 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate demographics of users employing social media |
US10902327B1 (en) | 2013-08-30 | 2021-01-26 | The 41St Parameter, Inc. | System and method for device identification and uniqueness |
US9332035B2 (en) | 2013-10-10 | 2016-05-03 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US10489754B2 (en) | 2013-11-11 | 2019-11-26 | Visa International Service Association | Systems and methods to facilitate the redemption of offer benefits in a form of third party statement credits |
US10325314B1 (en) | 2013-11-15 | 2019-06-18 | Consumerinfo.Com, Inc. | Payment reporting systems |
US9477737B1 (en) | 2013-11-20 | 2016-10-25 | Consumerinfo.Com, Inc. | Systems and user interfaces for dynamic access of multiple remote databases and synchronization of data based on user rules |
US9614920B1 (en) | 2013-12-04 | 2017-04-04 | Google Inc. | Context based group suggestion and creation |
US9391947B1 (en) * | 2013-12-04 | 2016-07-12 | Google Inc. | Automatic delivery channel determination for notifications |
US9628576B1 (en) * | 2013-12-04 | 2017-04-18 | Google Inc. | Application and sharer specific recipient suggestions |
US10956947B2 (en) | 2013-12-23 | 2021-03-23 | The Nielsen Company (Us), Llc | Methods and apparatus to measure media using media object characteristics |
US9852163B2 (en) | 2013-12-30 | 2017-12-26 | The Nielsen Company (Us), Llc | Methods and apparatus to de-duplicate impression information |
US9237138B2 (en) | 2013-12-31 | 2016-01-12 | The Nielsen Company (Us), Llc | Methods and apparatus to collect distributed user information for media impressions and search terms |
US20150193816A1 (en) | 2014-01-06 | 2015-07-09 | The Nielsen Company (Us), Llc | Methods and apparatus to correct misattributions of media impressions |
US10147114B2 (en) | 2014-01-06 | 2018-12-04 | The Nielsen Company (Us), Llc | Methods and apparatus to correct audience measurement data |
GB2539588A (en) | 2014-03-13 | 2016-12-21 | Nielsen Co Us Llc | Methods and apparatus to compensate impression data for misattribution and/or non-coverage by a database proprietor |
US9953330B2 (en) | 2014-03-13 | 2018-04-24 | The Nielsen Company (Us), Llc | Methods, apparatus and computer readable media to generate electronic mobile measurement census data |
USD759689S1 (en) | 2014-03-25 | 2016-06-21 | Consumerinfo.Com, Inc. | Display screen or portion thereof with graphical user interface |
USD760256S1 (en) | 2014-03-25 | 2016-06-28 | Consumerinfo.Com, Inc. | Display screen or portion thereof with graphical user interface |
US10304114B2 (en) * | 2014-03-25 | 2019-05-28 | Ebay Inc. | Data mesh based environmental augmentation |
USD759690S1 (en) | 2014-03-25 | 2016-06-21 | Consumerinfo.Com, Inc. | Display screen or portion thereof with graphical user interface |
US10419379B2 (en) | 2014-04-07 | 2019-09-17 | Visa International Service Association | Systems and methods to program a computing system to process related events via workflows configured using a graphical user interface |
US9892457B1 (en) | 2014-04-16 | 2018-02-13 | Consumerinfo.Com, Inc. | Providing credit data in search results |
US10373240B1 (en) | 2014-04-25 | 2019-08-06 | Csidentity Corporation | Systems, methods and computer-program products for eligibility verification |
US10354268B2 (en) | 2014-05-15 | 2019-07-16 | Visa International Service Association | Systems and methods to organize and consolidate data for improved data storage and processing |
US10650398B2 (en) | 2014-06-16 | 2020-05-12 | Visa International Service Association | Communication systems and methods to transmit data among a plurality of computing systems in processing benefit redemption |
US10311464B2 (en) | 2014-07-17 | 2019-06-04 | The Nielsen Company (Us), Llc | Methods and apparatus to determine impressions corresponding to market segments |
US10438226B2 (en) | 2014-07-23 | 2019-10-08 | Visa International Service Association | Systems and methods of using a communication network to coordinate processing among a plurality of separate computing systems |
US10453100B2 (en) | 2014-08-26 | 2019-10-22 | Adobe Inc. | Real-time bidding system and methods thereof for achieving optimum cost per engagement |
US20160063539A1 (en) | 2014-08-29 | 2016-03-03 | The Nielsen Company (Us), Llc | Methods and apparatus to associate transactions with media impressions |
US10810607B2 (en) | 2014-09-17 | 2020-10-20 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor media presentations |
US10091312B1 (en) | 2014-10-14 | 2018-10-02 | The 41St Parameter, Inc. | Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups |
US11210669B2 (en) | 2014-10-24 | 2021-12-28 | Visa International Service Association | Systems and methods to set up an operation at a computer system connected with a plurality of computer systems via a computer network using a round trip communication of an identifier of the operation |
US9762688B2 (en) | 2014-10-31 | 2017-09-12 | The Nielsen Company (Us), Llc | Methods and apparatus to improve usage crediting in mobile devices |
CN104539514B (en) * | 2014-12-17 | 2018-07-17 | 广州酷狗计算机科技有限公司 | Information filtering method and device |
US20160189182A1 (en) | 2014-12-31 | 2016-06-30 | The Nielsen Company (Us), Llc | Methods and apparatus to correct age misattribution in media impressions |
US11423420B2 (en) | 2015-02-06 | 2022-08-23 | The Nielsen Company (Us), Llc | Methods and apparatus to credit media presentations for online media distributions |
US9691085B2 (en) | 2015-04-30 | 2017-06-27 | Visa International Service Association | Systems and methods of natural language processing and statistical analysis to identify matching categories |
US10237616B2 (en) | 2015-05-15 | 2019-03-19 | Comscore, Inc. | Audio correlation for viewership determination |
US9870486B2 (en) | 2015-05-28 | 2018-01-16 | The Nielsen Company (Us), Llc | Methods and apparatus to assign demographic information to panelists |
GB2539705B (en) | 2015-06-25 | 2017-10-25 | Aimbrain Solutions Ltd | Conditional behavioural biometrics |
US10380633B2 (en) | 2015-07-02 | 2019-08-13 | The Nielsen Company (Us), Llc | Methods and apparatus to generate corrected online audience measurement data |
US10045082B2 (en) | 2015-07-02 | 2018-08-07 | The Nielsen Company (Us), Llc | Methods and apparatus to correct errors in audience measurements for media accessed using over-the-top devices |
US9838754B2 (en) | 2015-09-01 | 2017-12-05 | The Nielsen Company (Us), Llc | On-site measurement of over the top media |
US10205994B2 (en) | 2015-12-17 | 2019-02-12 | The Nielsen Company (Us), Llc | Methods and apparatus to collect distributed user information for media impressions |
US11616825B2 (en) * | 2015-12-18 | 2023-03-28 | Aetna Inc. | System and method of aggregating and interpreting data from connected devices |
EP3400661A4 (en) | 2016-01-06 | 2019-04-24 | TVision Insights, Inc. | Systems and methods for assessing viewer engagement |
US11540009B2 (en) | 2016-01-06 | 2022-12-27 | Tvision Insights, Inc. | Systems and methods for assessing viewer engagement |
US10270673B1 (en) | 2016-01-27 | 2019-04-23 | The Nielsen Company (Us), Llc | Methods and apparatus for estimating total unique audiences |
US9872072B2 (en) | 2016-03-21 | 2018-01-16 | Google Llc | Systems and methods for identifying non-canonical sessions |
US10210459B2 (en) | 2016-06-29 | 2019-02-19 | The Nielsen Company (Us), Llc | Methods and apparatus to determine a conditional probability based on audience member probability distributions for media audience measurement |
GB2552032B (en) | 2016-07-08 | 2019-05-22 | Aimbrain Solutions Ltd | Step-up authentication |
US10198122B2 (en) | 2016-09-30 | 2019-02-05 | Biocatch Ltd. | System, device, and method of estimating force applied to a touch surface |
US10579784B2 (en) | 2016-11-02 | 2020-03-03 | Biocatch Ltd. | System, device, and method of secure utilization of fingerprints for user authentication |
US11430434B1 (en) * | 2017-02-15 | 2022-08-30 | Amazon Technologies, Inc. | Intelligent privacy protection mediation |
US10909554B2 (en) * | 2017-03-24 | 2021-02-02 | Verizon Patent And Licensing Inc. | Analyzing big data to determine a data plan |
WO2018195391A1 (en) | 2017-04-20 | 2018-10-25 | Tvision Insights, Inc. | Methods and apparatus for multi-television measurements |
US10397262B2 (en) | 2017-07-20 | 2019-08-27 | Biocatch Ltd. | Device, system, and method of detecting overlay malware |
US11151599B2 (en) | 2017-11-03 | 2021-10-19 | The Nielsen Company (Us), Llc | Methods for determining advertisement usage by proxy log data |
US10911234B2 (en) | 2018-06-22 | 2021-02-02 | Experian Information Solutions, Inc. | System and method for a token gateway environment |
US20200074541A1 (en) | 2018-09-05 | 2020-03-05 | Consumerinfo.Com, Inc. | Generation of data structures based on categories of matched data items |
US11315179B1 (en) | 2018-11-16 | 2022-04-26 | Consumerinfo.Com, Inc. | Methods and apparatuses for customized card recommendations |
US11164206B2 (en) * | 2018-11-16 | 2021-11-02 | Comenity Llc | Automatically aggregating, evaluating, and providing a contextually relevant offer |
US11238656B1 (en) | 2019-02-22 | 2022-02-01 | Consumerinfo.Com, Inc. | System and method for an augmented reality experience via an artificial intelligence bot |
US11907350B2 (en) | 2020-09-30 | 2024-02-20 | Mastercard Technologies Canada ULC | User identification with blended response from dual-layer identification service |
CA3194317A1 (en) * | 2020-09-30 | 2022-04-07 | Mastercard Technologies Canada ULC | User identification with input profile record |
CN114528536A (en) * | 2020-10-30 | 2022-05-24 | 伊姆西Ip控股有限责任公司 | Method, apparatus and program product for keystroke pattern analysis |
US11606353B2 (en) | 2021-07-22 | 2023-03-14 | Biocatch Ltd. | System, device, and method of generating and utilizing one-time passwords |
Citations (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1000000A (en) * | 1910-04-25 | 1911-08-08 | Francis H Holton | Vehicle-tire. |
USRE31951E (en) * | 1980-12-24 | 1985-07-16 | Npd Research, Inc. | Market survey data collection method |
US4621334A (en) * | 1983-08-26 | 1986-11-04 | Electronic Signature Lock Corporation | Personal identification apparatus |
US4805222A (en) * | 1985-12-23 | 1989-02-14 | International Bioaccess Systems Corporation | Method and apparatus for verifying an individual's identity |
US5751450A (en) * | 1996-05-22 | 1998-05-12 | Medar, Inc. | Method and system for measuring color difference |
US5835712A (en) * | 1996-05-03 | 1998-11-10 | Webmate Technologies, Inc. | Client-server system using embedded hypertext tags for application and database development |
US5870546A (en) * | 1996-02-21 | 1999-02-09 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link reference |
US5897616A (en) * | 1997-06-11 | 1999-04-27 | International Business Machines Corporation | Apparatus and methods for speaker verification/identification/classification employing non-acoustic and/or acoustic models and databases |
US5918014A (en) * | 1995-12-27 | 1999-06-29 | Athenium, L.L.C. | Automated collaborative filtering in world wide web advertising |
US5941957A (en) * | 1997-10-06 | 1999-08-24 | Ncr Corporation | Dependable web page synchronization mechanism |
US5945988A (en) * | 1996-06-06 | 1999-08-31 | Intel Corporation | Method and apparatus for automatically determining and dynamically updating user preferences in an entertainment system |
US5983348A (en) * | 1997-09-10 | 1999-11-09 | Trend Micro Incorporated | Computer network malicious code scanner |
US5987454A (en) * | 1997-06-09 | 1999-11-16 | Hobbs; Allen | Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource |
US6006197A (en) * | 1998-04-20 | 1999-12-21 | Straightup Software, Inc. | System and method for assessing effectiveness of internet marketing campaign |
US6006260A (en) * | 1997-06-03 | 1999-12-21 | Keynote Systems, Inc. | Method and apparatus for evalutating service to a user over the internet |
US6018619A (en) * | 1996-05-24 | 2000-01-25 | Microsoft Corporation | Method, system and apparatus for client-side usage tracking of information server systems |
US6049821A (en) * | 1997-01-24 | 2000-04-11 | Motorola, Inc. | Proxy host computer and method for accessing and retrieving information between a browser and a proxy |
US6062474A (en) * | 1997-10-02 | 2000-05-16 | Kroll; Mark William | ATM signature security system |
US6073241A (en) * | 1996-08-29 | 2000-06-06 | C/Net, Inc. | Apparatus and method for tracking world wide web browser requests across distinct domains using persistent client-side state |
US6094673A (en) * | 1998-01-16 | 2000-07-25 | Aspect Communications | Method and apparatus for generating agent scripts |
US6141759A (en) * | 1997-12-10 | 2000-10-31 | Bmc Software, Inc. | System and architecture for distributing, monitoring, and managing information requests on a computer network |
US6141694A (en) * | 1997-09-16 | 2000-10-31 | Webtv Networks, Inc. | Determining and verifying user data |
US6193153B1 (en) * | 1997-04-16 | 2001-02-27 | Francis Lambert | Method and apparatus for non-intrusive biometric capture |
US6205432B1 (en) * | 1998-06-05 | 2001-03-20 | Creative Internet Concepts, Llc | Background advertising system |
US6225995B1 (en) * | 1997-10-31 | 2001-05-01 | Oracle Corporaton | Method and apparatus for incorporating state information into a URL |
US6256644B1 (en) * | 1997-05-29 | 2001-07-03 | Koichi Shibayama | Control system for storing data in accordance with predefined characteristics thereof |
US6256737B1 (en) * | 1999-03-09 | 2001-07-03 | Bionetrix Systems Corporation | System, method and computer program product for allowing access to enterprise resources using biometric devices |
US6263371B1 (en) * | 1999-06-10 | 2001-07-17 | Cacheflow, Inc. | Method and apparatus for seaming of streaming content |
US20010014868A1 (en) * | 1997-12-05 | 2001-08-16 | Frederick Herz | System for the automatic determination of customized prices and promotions |
US6389403B1 (en) * | 1998-08-13 | 2002-05-14 | International Business Machines Corporation | Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system |
US6421724B1 (en) * | 1999-08-30 | 2002-07-16 | Opinionlab, Inc. | Web site response measurement tool |
US20020099605A1 (en) * | 2000-10-06 | 2002-07-25 | Searchcactus, Llc | Search engine with demographic-based advertising |
US6438125B1 (en) * | 1999-01-22 | 2002-08-20 | Nortel Networks Limited | Method and system for redirecting web page requests on a TCP/IP network |
US20020116266A1 (en) * | 2001-01-12 | 2002-08-22 | Thaddeus Marshall | Method and system for tracking and providing incentives for time and attention of persons and for timing of performance of tasks |
US20020124074A1 (en) * | 1997-01-09 | 2002-09-05 | Jeffrey C. Levy | Monitoring of remote data access on a public computer network |
US6449739B1 (en) * | 1999-09-01 | 2002-09-10 | Mercury Interactive Corporation | Post-deployment monitoring of server performance |
US20030083938A1 (en) * | 2001-10-29 | 2003-05-01 | Ncr Corporation | System and method for profiling different users having a common computer identifier |
US6567854B1 (en) * | 1999-10-21 | 2003-05-20 | Genuity Inc. | Internet service delivery via server pushed personalized advertising dashboard |
US6678685B2 (en) * | 2000-01-26 | 2004-01-13 | Familytime.Com, Inc. | Integrated household management system and method |
US6684194B1 (en) * | 1998-12-03 | 2004-01-27 | Expanse Network, Inc. | Subscriber identification system |
US6694431B1 (en) * | 1999-10-12 | 2004-02-17 | International Business Machines Corporation | Piggy-backed key exchange protocol for providing secure, low-overhead browser connections when a server will not use a message encoding scheme proposed by a client |
US6839680B1 (en) * | 1999-09-30 | 2005-01-04 | Fujitsu Limited | Internet profiling |
US6883032B1 (en) * | 2000-02-02 | 2005-04-19 | Lucent Technologies Inc. | Method and system for collecting data on the internet |
US7092296B2 (en) * | 1992-07-06 | 2006-08-15 | Hitachi, Ltd. | Nonvolatile semiconductor memory |
US7146505B1 (en) * | 1999-06-01 | 2006-12-05 | America Online, Inc. | Secure data exchange between date processing systems |
US7243129B1 (en) * | 1997-02-11 | 2007-07-10 | Worldwide Creative Techniques, Inc. | Method and apparatus for customization of information content provided to a requestor over a network using anonymous demographic data stored on a demographic server |
Family Cites Families (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4355372A (en) | 1980-12-24 | 1982-10-19 | Npd Research Inc. | Market survey data collection method |
US4603232A (en) | 1984-09-24 | 1986-07-29 | Npd Research, Inc. | Rapid market survey collection and dissemination method |
US5060140A (en) | 1986-01-16 | 1991-10-22 | Jupiter Technology Inc. | Universal programmable data communication connection system |
US4954699A (en) | 1988-04-13 | 1990-09-04 | Npd Research, Inc. | Self-administered survey questionnaire and method |
US5023929A (en) | 1988-09-15 | 1991-06-11 | Npd Research, Inc. | Audio frequency based market survey method |
US4958284A (en) | 1988-12-06 | 1990-09-18 | Npd Group, Inc. | Open ended question analysis system and method |
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 |
US5781913A (en) * | 1991-07-18 | 1998-07-14 | Felsenstein; Lee | Wearable hypermedium system |
US5550928A (en) | 1992-12-15 | 1996-08-27 | A.C. Nielsen Company | Audience measurement system and method |
US5557686A (en) * | 1993-01-13 | 1996-09-17 | University Of Alabama | Method and apparatus for verification of a computer user's identification, based on keystroke characteristics |
US5481294A (en) | 1993-10-27 | 1996-01-02 | A. C. Nielsen Company | Audience measurement system utilizing ancillary codes and passive signatures |
US5488408A (en) | 1994-03-22 | 1996-01-30 | A.C. Nielsen Company | Serial data channel metering attachment for metering channels to which a receiver is tuned |
CA2119970A1 (en) | 1994-03-25 | 1995-09-26 | Michael A. Lyons | Program monitoring system |
US5526427A (en) | 1994-07-22 | 1996-06-11 | A.C. Nielsen Company | Universal broadcast code and multi-level encoded signal monitoring system |
US5594934A (en) | 1994-09-21 | 1997-01-14 | A.C. Nielsen Company | Real time correlation meter |
US5737025A (en) | 1995-02-28 | 1998-04-07 | Nielsen Media Research, Inc. | Co-channel transmission of program signals and ancillary signals |
US5737026A (en) | 1995-02-28 | 1998-04-07 | Nielsen Media Research, Inc. | Video and data co-channel communication system |
US5887140A (en) * | 1995-03-27 | 1999-03-23 | Kabushiki Kaisha Toshiba | Computer network system and personal identification system adapted for use in the same |
US5715399A (en) | 1995-03-30 | 1998-02-03 | Amazon.Com, Inc. | Secure method and system for communicating a list of credit card numbers over a non-secure network |
US6185514B1 (en) | 1995-04-17 | 2001-02-06 | Ricos International, Inc. | Time and work tracker with hardware abstraction layer |
US5675510A (en) | 1995-06-07 | 1997-10-07 | Pc Meter L.P. | Computer use meter and analyzer |
US6026368A (en) | 1995-07-17 | 2000-02-15 | 24/7 Media, Inc. | On-line interactive system and method for providing content and advertising information to a targeted set of viewers |
US5710887A (en) | 1995-08-29 | 1998-01-20 | Broadvision | Computer system and method for electronic commerce |
US5850249A (en) | 1995-10-12 | 1998-12-15 | Nielsen Media Research, Inc. | Receiver monitoring system with local encoding |
US5970469A (en) | 1995-12-26 | 1999-10-19 | Supermarkets Online, Inc. | System and method for providing shopping aids and incentives to customers through a computer network |
US5872850A (en) | 1996-02-02 | 1999-02-16 | Microsoft Corporation | System for enabling information marketplace |
US5862325A (en) | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5848396A (en) | 1996-04-26 | 1998-12-08 | Freedom Of Information, Inc. | Method and apparatus for determining behavioral profile of a computer user |
US5889548A (en) | 1996-05-28 | 1999-03-30 | Nielsen Media Research, Inc. | Television receiver use metering with separate program and sync detectors |
US6070145A (en) | 1996-07-12 | 2000-05-30 | The Npd Group, Inc. | Respondent selection method for network-based survey |
US6381632B1 (en) * | 1996-09-10 | 2002-04-30 | Youpowered, Inc. | Method and apparatus for tracking network usage |
US6058381A (en) | 1996-10-30 | 2000-05-02 | Nelson; Theodor Holm | Many-to-many payments system for network content materials |
US6052730A (en) * | 1997-01-10 | 2000-04-18 | The Board Of Trustees Of The Leland Stanford Junior University | Method for monitoring and/or modifying web browsing sessions |
US5961593A (en) * | 1997-01-22 | 1999-10-05 | Lucent Technologies, Inc. | System and method for providing anonymous personalized browsing by a proxy system in a network |
US6138162A (en) | 1997-02-11 | 2000-10-24 | Pointcast, Inc. | Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request |
US6421733B1 (en) | 1997-03-25 | 2002-07-16 | Intel Corporation | System for dynamically transcoding data transmitted between computers |
WO1998058334A1 (en) * | 1997-06-16 | 1998-12-23 | Doubleclick Inc. | Method and apparatus for automatic placement of advertising |
KR19990009965A (en) * | 1997-07-14 | 1999-02-05 | 정명식 | User authentication method using typing pattern |
US6128624A (en) | 1997-11-12 | 2000-10-03 | Ncr Corporation | Collection and integration of internet and electronic commerce data in a database during web browsing |
US6286046B1 (en) | 1997-12-22 | 2001-09-04 | International Business Machines Corporation | Method of recording and measuring e-business sessions on the world wide web |
US6327619B1 (en) | 1998-07-08 | 2001-12-04 | Nielsen Media Research, Inc. | Metering of internet content using a control |
US20010020242A1 (en) | 1998-11-16 | 2001-09-06 | Amit Gupta | Method and apparatus for processing client information |
JP2002539741A (en) | 1999-03-12 | 2002-11-19 | ネツトレーテイングス・インコーポレイテツド | Method and apparatus for measuring user access to video data |
US6081900A (en) * | 1999-03-16 | 2000-06-27 | Novell, Inc. | Secure intranet access |
US6594638B1 (en) | 1999-04-07 | 2003-07-15 | Netstakes, Inc. | On-line method and apparatus for collecting demographic information about a user of a world-wide-web site and dynamically selecting questions to present to the user |
US6567857B1 (en) | 1999-07-29 | 2003-05-20 | Sun Microsystems, Inc. | Method and apparatus for dynamic proxy insertion in network traffic flow |
US6606581B1 (en) | 2000-06-14 | 2003-08-12 | Opinionlab, Inc. | System and method for measuring and reporting user reactions to particular web pages of a website |
US6704787B1 (en) | 1999-12-03 | 2004-03-09 | Intercard Payments, Inc. | Date of birth authentication system and method using demographic and/or geographic data supplied by a subscriber that is verified by a third party |
US20020069368A1 (en) | 1999-12-07 | 2002-06-06 | Keith Hines | Data farming of network access |
US6856963B1 (en) * | 2000-01-11 | 2005-02-15 | Intel Corporation | Facilitating electronic commerce through automated data-based reputation characterization |
EP1252735B1 (en) | 2000-01-12 | 2011-08-24 | Jupiter Media Metrix, Inc. | System and method for estimating prevalence of digital content on the world-wide-web |
CA2298358A1 (en) | 2000-02-11 | 2001-08-11 | Pixel Systems Inc. | Method and apparatus for the display of selected images at selected times |
US7080077B2 (en) * | 2000-07-10 | 2006-07-18 | Oracle International Corporation | Localized access |
AUPR215400A0 (en) | 2000-12-18 | 2001-01-25 | Traffion Technologies Pty Ltd | A method and apparatus for facilitating the capture, trade and optimisation of network user attention in terms of traffic across a network |
AU2002305137A1 (en) | 2001-04-06 | 2002-10-21 | Predictive Media Corporation | Method and apparatus for identifying unique client users from user behavioral data |
US7149704B2 (en) | 2001-06-29 | 2006-12-12 | Claria Corporation | System, method and computer program product for collecting information about a network user |
US20030033432A1 (en) | 2001-08-08 | 2003-02-13 | Simpson Shell S. | Web based imaging service that converts web pages into content on behalf of another web site |
US7251625B2 (en) | 2001-10-02 | 2007-07-31 | Best Buy Enterprise Services, Inc. | Customer identification system and method |
US20030076305A1 (en) | 2001-10-22 | 2003-04-24 | Allen Stephen D. | Keystroke recording device with integral time and date function |
AU2003210825A1 (en) | 2002-02-05 | 2003-09-02 | Comscore Networks, Inc. | Systems and methods for user identification, user demographic reporting and collecting usage data |
-
2003
- 2003-02-05 US US10/358,376 patent/US7260837B2/en not_active Expired - Lifetime
-
2007
- 2007-08-08 US US11/836,075 patent/US20070276940A1/en not_active Abandoned
Patent Citations (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1000000A (en) * | 1910-04-25 | 1911-08-08 | Francis H Holton | Vehicle-tire. |
USRE31951E (en) * | 1980-12-24 | 1985-07-16 | Npd Research, Inc. | Market survey data collection method |
US4621334A (en) * | 1983-08-26 | 1986-11-04 | Electronic Signature Lock Corporation | Personal identification apparatus |
US4805222A (en) * | 1985-12-23 | 1989-02-14 | International Bioaccess Systems Corporation | Method and apparatus for verifying an individual's identity |
US7092296B2 (en) * | 1992-07-06 | 2006-08-15 | Hitachi, Ltd. | Nonvolatile semiconductor memory |
US5918014A (en) * | 1995-12-27 | 1999-06-29 | Athenium, L.L.C. | Automated collaborative filtering in world wide web advertising |
US5870546A (en) * | 1996-02-21 | 1999-02-09 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link reference |
US5835712A (en) * | 1996-05-03 | 1998-11-10 | Webmate Technologies, Inc. | Client-server system using embedded hypertext tags for application and database development |
US5751450A (en) * | 1996-05-22 | 1998-05-12 | Medar, Inc. | Method and system for measuring color difference |
US6018619A (en) * | 1996-05-24 | 2000-01-25 | Microsoft Corporation | Method, system and apparatus for client-side usage tracking of information server systems |
US5945988A (en) * | 1996-06-06 | 1999-08-31 | Intel Corporation | Method and apparatus for automatically determining and dynamically updating user preferences in an entertainment system |
US6073241A (en) * | 1996-08-29 | 2000-06-06 | C/Net, Inc. | Apparatus and method for tracking world wide web browser requests across distinct domains using persistent client-side state |
US20020124074A1 (en) * | 1997-01-09 | 2002-09-05 | Jeffrey C. Levy | Monitoring of remote data access on a public computer network |
US6049821A (en) * | 1997-01-24 | 2000-04-11 | Motorola, Inc. | Proxy host computer and method for accessing and retrieving information between a browser and a proxy |
US7243129B1 (en) * | 1997-02-11 | 2007-07-10 | Worldwide Creative Techniques, Inc. | Method and apparatus for customization of information content provided to a requestor over a network using anonymous demographic data stored on a demographic server |
US6193153B1 (en) * | 1997-04-16 | 2001-02-27 | Francis Lambert | Method and apparatus for non-intrusive biometric capture |
US6256644B1 (en) * | 1997-05-29 | 2001-07-03 | Koichi Shibayama | Control system for storing data in accordance with predefined characteristics thereof |
US6006260A (en) * | 1997-06-03 | 1999-12-21 | Keynote Systems, Inc. | Method and apparatus for evalutating service to a user over the internet |
US5987454A (en) * | 1997-06-09 | 1999-11-16 | Hobbs; Allen | Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource |
US5897616A (en) * | 1997-06-11 | 1999-04-27 | International Business Machines Corporation | Apparatus and methods for speaker verification/identification/classification employing non-acoustic and/or acoustic models and databases |
US5983348A (en) * | 1997-09-10 | 1999-11-09 | Trend Micro Incorporated | Computer network malicious code scanner |
US6141694A (en) * | 1997-09-16 | 2000-10-31 | Webtv Networks, Inc. | Determining and verifying user data |
US6062474A (en) * | 1997-10-02 | 2000-05-16 | Kroll; Mark William | ATM signature security system |
US5941957A (en) * | 1997-10-06 | 1999-08-24 | Ncr Corporation | Dependable web page synchronization mechanism |
US6225995B1 (en) * | 1997-10-31 | 2001-05-01 | Oracle Corporaton | Method and apparatus for incorporating state information into a URL |
US20010014868A1 (en) * | 1997-12-05 | 2001-08-16 | Frederick Herz | System for the automatic determination of customized prices and promotions |
US6141759A (en) * | 1997-12-10 | 2000-10-31 | Bmc Software, Inc. | System and architecture for distributing, monitoring, and managing information requests on a computer network |
US6094673A (en) * | 1998-01-16 | 2000-07-25 | Aspect Communications | Method and apparatus for generating agent scripts |
US6006197A (en) * | 1998-04-20 | 1999-12-21 | Straightup Software, Inc. | System and method for assessing effectiveness of internet marketing campaign |
US6205432B1 (en) * | 1998-06-05 | 2001-03-20 | Creative Internet Concepts, Llc | Background advertising system |
US6389403B1 (en) * | 1998-08-13 | 2002-05-14 | International Business Machines Corporation | Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system |
US6684194B1 (en) * | 1998-12-03 | 2004-01-27 | Expanse Network, Inc. | Subscriber identification system |
US6438125B1 (en) * | 1999-01-22 | 2002-08-20 | Nortel Networks Limited | Method and system for redirecting web page requests on a TCP/IP network |
US6256737B1 (en) * | 1999-03-09 | 2001-07-03 | Bionetrix Systems Corporation | System, method and computer program product for allowing access to enterprise resources using biometric devices |
US7146505B1 (en) * | 1999-06-01 | 2006-12-05 | America Online, Inc. | Secure data exchange between date processing systems |
US6263371B1 (en) * | 1999-06-10 | 2001-07-17 | Cacheflow, Inc. | Method and apparatus for seaming of streaming content |
US6421724B1 (en) * | 1999-08-30 | 2002-07-16 | Opinionlab, Inc. | Web site response measurement tool |
US6449739B1 (en) * | 1999-09-01 | 2002-09-10 | Mercury Interactive Corporation | Post-deployment monitoring of server performance |
US6839680B1 (en) * | 1999-09-30 | 2005-01-04 | Fujitsu Limited | Internet profiling |
US6694431B1 (en) * | 1999-10-12 | 2004-02-17 | International Business Machines Corporation | Piggy-backed key exchange protocol for providing secure, low-overhead browser connections when a server will not use a message encoding scheme proposed by a client |
US6567854B1 (en) * | 1999-10-21 | 2003-05-20 | Genuity Inc. | Internet service delivery via server pushed personalized advertising dashboard |
US6678685B2 (en) * | 2000-01-26 | 2004-01-13 | Familytime.Com, Inc. | Integrated household management system and method |
US6883032B1 (en) * | 2000-02-02 | 2005-04-19 | Lucent Technologies Inc. | Method and system for collecting data on the internet |
US20020099605A1 (en) * | 2000-10-06 | 2002-07-25 | Searchcactus, Llc | Search engine with demographic-based advertising |
US20020116266A1 (en) * | 2001-01-12 | 2002-08-22 | Thaddeus Marshall | Method and system for tracking and providing incentives for time and attention of persons and for timing of performance of tasks |
US20030083938A1 (en) * | 2001-10-29 | 2003-05-01 | Ncr Corporation | System and method for profiling different users having a common computer identifier |
Cited By (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892495B2 (en) | 1991-12-23 | 2014-11-18 | Blanding Hovenweep, Llc | Adaptive pattern recognition based controller apparatus and method and human-interface therefore |
US9535563B2 (en) | 1999-02-01 | 2017-01-03 | Blanding Hovenweep, Llc | Internet appliance system and method |
US20080256235A1 (en) * | 1999-08-06 | 2008-10-16 | Lim Or Sim | Network resource monitoring and measurement system and method |
US7953791B2 (en) | 1999-08-06 | 2011-05-31 | The Nielsen Company (Us), Llc. | Network resource monitoring and measurement system and method |
US7822748B2 (en) | 2005-01-28 | 2010-10-26 | International Business Machines Corporation | Method and system for delivering information with caching based on interest and significance |
US7490080B2 (en) * | 2005-01-28 | 2009-02-10 | International Business Machines Corporation | Method for delivering information with caching based on interest and significance |
US20090157806A1 (en) * | 2005-01-28 | 2009-06-18 | International Business Machines Corporation | Method and System for Delivering Information with Caching Based on Interest and Significance |
US20060173950A1 (en) * | 2005-01-28 | 2006-08-03 | Roberto Longobardi | Method and system for delivering information with caching based on interest and significance |
US20060248186A1 (en) * | 2005-04-27 | 2006-11-02 | Smith Richard J | Network management and administration |
US8161558B2 (en) | 2005-04-27 | 2012-04-17 | Hewlett-Packard Development Company, L.P. | Network management and administration |
US9507778B2 (en) | 2006-05-19 | 2016-11-29 | Yahoo! Inc. | Summarization of media object collections |
US8594702B2 (en) | 2006-11-06 | 2013-11-26 | Yahoo! Inc. | Context server for associating information based on context |
US9110903B2 (en) | 2006-11-22 | 2015-08-18 | Yahoo! Inc. | Method, system and apparatus for using user profile electronic device data in media delivery |
US8402356B2 (en) | 2006-11-22 | 2013-03-19 | Yahoo! Inc. | Methods, systems and apparatus for delivery of media |
US8769099B2 (en) | 2006-12-28 | 2014-07-01 | Yahoo! Inc. | Methods and systems for pre-caching information on a mobile computing device |
US8069142B2 (en) | 2007-12-06 | 2011-11-29 | Yahoo! Inc. | System and method for synchronizing data on a network |
US8307029B2 (en) | 2007-12-10 | 2012-11-06 | Yahoo! Inc. | System and method for conditional delivery of messages |
US8799371B2 (en) | 2007-12-10 | 2014-08-05 | Yahoo! Inc. | System and method for conditional delivery of messages |
US8671154B2 (en) | 2007-12-10 | 2014-03-11 | Yahoo! Inc. | System and method for contextual addressing of communications on a network |
US8166168B2 (en) | 2007-12-17 | 2012-04-24 | Yahoo! Inc. | System and method for disambiguating non-unique identifiers using information obtained from disparate communication channels |
US9706345B2 (en) | 2008-01-04 | 2017-07-11 | Excalibur Ip, Llc | Interest mapping system |
US9626685B2 (en) | 2008-01-04 | 2017-04-18 | Excalibur Ip, Llc | Systems and methods of mapping attention |
US8762285B2 (en) | 2008-01-06 | 2014-06-24 | Yahoo! Inc. | System and method for message clustering |
US10074093B2 (en) | 2008-01-16 | 2018-09-11 | Excalibur Ip, Llc | System and method for word-of-mouth advertising |
US8554623B2 (en) | 2008-03-03 | 2013-10-08 | Yahoo! Inc. | Method and apparatus for social network marketing with consumer referral |
US20090222302A1 (en) * | 2008-03-03 | 2009-09-03 | Yahoo! Inc. | Method and Apparatus for Social Network Marketing with Consumer Referral |
US8538811B2 (en) | 2008-03-03 | 2013-09-17 | Yahoo! Inc. | Method and apparatus for social network marketing with advocate referral |
US8560390B2 (en) | 2008-03-03 | 2013-10-15 | Yahoo! Inc. | Method and apparatus for social network marketing with brand referral |
US8745133B2 (en) | 2008-03-28 | 2014-06-03 | Yahoo! Inc. | System and method for optimizing the storage of data |
US8589486B2 (en) | 2008-03-28 | 2013-11-19 | Yahoo! Inc. | System and method for addressing communications |
US8271506B2 (en) | 2008-03-31 | 2012-09-18 | Yahoo! Inc. | System and method for modeling relationships between entities |
US8706406B2 (en) | 2008-06-27 | 2014-04-22 | Yahoo! Inc. | System and method for determination and display of personalized distance |
US20090325602A1 (en) * | 2008-06-27 | 2009-12-31 | Yahoo! Inc. | System and method for presentation of media related to a context |
US8452855B2 (en) | 2008-06-27 | 2013-05-28 | Yahoo! Inc. | System and method for presentation of media related to a context |
US9158794B2 (en) | 2008-06-27 | 2015-10-13 | Google Inc. | System and method for presentation of media related to a context |
US8813107B2 (en) | 2008-06-27 | 2014-08-19 | Yahoo! Inc. | System and method for location based media delivery |
US9858348B1 (en) | 2008-06-27 | 2018-01-02 | Google Inc. | System and method for presentation of media related to a context |
US8583668B2 (en) | 2008-07-30 | 2013-11-12 | Yahoo! Inc. | System and method for context enhanced mapping |
US10230803B2 (en) | 2008-07-30 | 2019-03-12 | Excalibur Ip, Llc | System and method for improved mapping and routing |
US8386506B2 (en) | 2008-08-21 | 2013-02-26 | Yahoo! Inc. | System and method for context enhanced messaging |
US8281027B2 (en) | 2008-09-19 | 2012-10-02 | Yahoo! Inc. | System and method for distributing media related to a location |
US9600484B2 (en) | 2008-09-30 | 2017-03-21 | Excalibur Ip, Llc | System and method for reporting and analysis of media consumption data |
US20100082427A1 (en) * | 2008-09-30 | 2010-04-01 | Yahoo! Inc. | System and Method for Context Enhanced Ad Creation |
US8108778B2 (en) | 2008-09-30 | 2012-01-31 | Yahoo! Inc. | System and method for context enhanced mapping within a user interface |
US8032508B2 (en) | 2008-11-18 | 2011-10-04 | Yahoo! Inc. | System and method for URL based query for retrieving data related to a context |
US8024317B2 (en) | 2008-11-18 | 2011-09-20 | Yahoo! Inc. | System and method for deriving income from URL based context queries |
US8060492B2 (en) | 2008-11-18 | 2011-11-15 | Yahoo! Inc. | System and method for generation of URL based context queries |
US9805123B2 (en) | 2008-11-18 | 2017-10-31 | Excalibur Ip, Llc | System and method for data privacy in URL based context queries |
US9224172B2 (en) | 2008-12-02 | 2015-12-29 | Yahoo! Inc. | Customizable content for distribution in social networks |
US11175913B2 (en) | 2008-12-05 | 2021-11-16 | Amazon Technologies, Inc. | Elastic application framework for deploying software |
US9817658B2 (en) * | 2008-12-05 | 2017-11-14 | Amazon Technologies, Inc. | Elastic application framework for deploying software |
US8918761B1 (en) * | 2008-12-05 | 2014-12-23 | Amazon Technologies, Inc. | Elastic application framework for deploying software |
US20150106787A1 (en) * | 2008-12-05 | 2015-04-16 | Amazon Technologies, Inc. | Elastic application framework for deploying software |
US8055675B2 (en) | 2008-12-05 | 2011-11-08 | Yahoo! Inc. | System and method for context based query augmentation |
US10564960B2 (en) | 2008-12-05 | 2020-02-18 | Amazon Technologies, Inc. | Elastic application framework for deploying software |
US8166016B2 (en) | 2008-12-19 | 2012-04-24 | Yahoo! Inc. | System and method for automated service recommendations |
US20100185509A1 (en) * | 2009-01-21 | 2010-07-22 | Yahoo! Inc. | Interest-based ranking system for targeted marketing |
US8150974B2 (en) | 2009-03-17 | 2012-04-03 | Kindsight, Inc. | Character differentiation system generating session fingerprint using events associated with subscriber ID and session ID |
US20100241745A1 (en) * | 2009-03-17 | 2010-09-23 | Kindsight, Inc. | Character differentiation based on pattern recognition |
US20100250727A1 (en) * | 2009-03-24 | 2010-09-30 | Yahoo! Inc. | System and method for verified presence tracking |
US8150967B2 (en) * | 2009-03-24 | 2012-04-03 | Yahoo! Inc. | System and method for verified presence tracking |
US20100251270A1 (en) * | 2009-03-31 | 2010-09-30 | Comscore, Inc. | Selective Mobile Metering |
US10223701B2 (en) | 2009-08-06 | 2019-03-05 | Excalibur Ip, Llc | System and method for verified monetization of commercial campaigns |
US8914342B2 (en) | 2009-08-12 | 2014-12-16 | Yahoo! Inc. | Personal data platform |
US8364611B2 (en) | 2009-08-13 | 2013-01-29 | Yahoo! Inc. | System and method for precaching information on a mobile device |
US9767464B2 (en) * | 2009-09-11 | 2017-09-19 | Comscore, Inc. | Determining client system attributes |
US11341510B2 (en) | 2009-09-11 | 2022-05-24 | Comscore, Inc. | Determining client system attributes |
US20110087780A1 (en) * | 2009-09-11 | 2011-04-14 | Comscore, Inc. | Determining client system attributes |
FR2961645A1 (en) * | 2010-06-17 | 2011-12-23 | Kindsight Inc | User characteristics identifying device for e.g. digital TV, has memory providing instructions to be executed by processor, where instructions store record of set of user characteristics |
US11270341B2 (en) * | 2011-09-14 | 2022-03-08 | Zeta Global Corp. | System and method for targeting advertisements |
US11887158B2 (en) | 2011-09-14 | 2024-01-30 | Zeta Global Corp. | System and method for targeting advertisements |
US20180130093A1 (en) * | 2011-09-14 | 2018-05-10 | Collective, Inc. | System and Method for Targeting Advertisements |
US8914629B2 (en) | 2012-01-30 | 2014-12-16 | The Nielsen Company (Us), Llc | Intercepting encrypted network traffic for internet usage monitoring |
US9621543B2 (en) | 2012-01-30 | 2017-04-11 | The Nielsen Company (Us), Llc | Intercepting encrypted network traffic for internet usage monitoring |
US20140281893A1 (en) * | 2013-03-15 | 2014-09-18 | Robert Peter Borland | Methods and apparatus to measure feature usage on websites |
US9185435B2 (en) | 2013-06-25 | 2015-11-10 | The Nielsen Company (Us), Llc | Methods and apparatus to characterize households with media meter data |
US9277265B2 (en) | 2014-02-11 | 2016-03-01 | The Nielsen Company (Us), Llc | Methods and apparatus to calculate video-on-demand and dynamically inserted advertisement viewing probability |
US9774900B2 (en) | 2014-02-11 | 2017-09-26 | The Nielsen Company (Us), Llc | Methods and apparatus to calculate video-on-demand and dynamically inserted advertisement viewing probability |
US9544632B2 (en) | 2014-02-11 | 2017-01-10 | The Nielsen Company (Us), Llc | Methods and apparatus to calculate video-on-demand and dynamically inserted advertisement viewing probability |
US10757480B2 (en) | 2015-03-09 | 2020-08-25 | The Nielsen Company (Us), Llc | Methods and apparatus to assign viewers to media meter data |
US11516543B2 (en) | 2015-03-09 | 2022-11-29 | The Nielsen Company (Us), Llc | Methods and apparatus to assign viewers to media meter data |
US11785301B2 (en) | 2015-03-09 | 2023-10-10 | The Nielsen Company (Us), Llc | Methods and apparatus to assign viewers to media meter data |
US10219039B2 (en) | 2015-03-09 | 2019-02-26 | The Nielsen Company (Us), Llc | Methods and apparatus to assign viewers to media meter data |
US10791355B2 (en) | 2016-12-20 | 2020-09-29 | The Nielsen Company (Us), Llc | Methods and apparatus to determine probabilistic media viewing metrics |
US11778255B2 (en) | 2016-12-20 | 2023-10-03 | The Nielsen Company (Us), Llc | Methods and apparatus to determine probabilistic media viewing metrics |
US10834214B2 (en) | 2018-09-04 | 2020-11-10 | At&T Intellectual Property I, L.P. | Separating intended and non-intended browsing traffic in browsing history |
US11228655B2 (en) | 2018-09-04 | 2022-01-18 | At&T Intellectual Property I, L.P. | Separating intended and non-intended browsing traffic in browsing history |
US11652900B2 (en) | 2018-09-04 | 2023-05-16 | At&T Intellectual Property I, L.P. | Separating intended and non-intended browsing traffic in browsing history |
Also Published As
Publication number | Publication date |
---|---|
US20040015714A1 (en) | 2004-01-22 |
US7260837B2 (en) | 2007-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10447564B2 (en) | Systems for and methods of user demographic reporting usable for identifiying users and collecting usage data | |
US7260837B2 (en) | Systems and methods for user identification, user demographic reporting and collecting usage data usage biometrics | |
US7493655B2 (en) | Systems for and methods of placing user identification in the header of data packets usable in user demographic reporting and collecting usage data | |
US7181412B1 (en) | Systems and methods for collecting consumer data | |
US7120590B1 (en) | Electronically distributing promotional and advertising material based upon consumer internet usage | |
US8626563B2 (en) | Enhancing sales leads with business specific customized statistical propensity models | |
US7136860B2 (en) | System and method to determine the validity of an interaction on a network | |
US8135607B2 (en) | System and method of enhancing leads by determining contactability scores | |
US7752236B2 (en) | Systems and methods of enhancing leads | |
US6883032B1 (en) | Method and system for collecting data on the internet | |
US20030028605A1 (en) | Signaling apparatus and method | |
CA2474815C (en) | Systems and methods for user identification, user demographic reporting and collecting usage data | |
US20020184041A1 (en) | Automated customer survey using the web | |
EP1131737A1 (en) | Method and apparatus for processing client information | |
WO2008057853A2 (en) | Systems and methods of enhancing leads | |
AU762696B2 (en) | Signalling apparatus and method | |
KR20090006478A (en) | System and method for processing information and program recording medium | |
KR20020040146A (en) | An electronic mail marketing service system and a method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: COMSCORE NETWORKS, INC., VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ABRAHAM, MAGID;BROWN, MICHAEL;HEYMAN, STEVE;REEL/FRAME:019684/0758 Effective date: 20030806 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., MARYLAND Free format text: SECURITY AGREEMENT;ASSIGNORS:COMSCORE, INC.;RSC THE QUALITY MEASUREMENT COMPANY;CSWS, INC.;REEL/FRAME:026551/0900 Effective date: 20110630 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: CSWS, INC., VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AND TRADEMARKS;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:031692/0418 Effective date: 20130926 Owner name: COMSCORE, INC., VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AND TRADEMARKS;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:031692/0418 Effective date: 20130926 Owner name: RSC THE QUALITY MEASUREMENT COMPANY, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AND TRADEMARKS;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:031692/0418 Effective date: 20130926 |