text:
US20120323694A1 - Non-invasive sampling and fingerprinting of online users and their behavior - Google Patents
Non-invasive sampling and fingerprinting of online users and their behavior Download PDF
Lucian Vlad Lita
Michael David Bigby
BLUE KAI Inc
2011-06-15 Application filed by BLUE KAI Inc filed Critical BLUE KAI Inc
2011-06-15 Priority to US13/161,373 priority Critical patent/US20120323694A1/en
2011-06-15 Assigned to BLUE KAI, INC. reassignment BLUE KAI, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BIGBY, MICHAEL DAVID, LITA, LUCIAN VLAD
2013-04-16 Assigned to BLUE KAI, INC. reassignment BLUE KAI, INC. CHANGE OF ADDRESS Assignors: BLUE KAI, INC.
2019-07-18 Application status is Pending legal-status Critical
G06Q—DATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
G06Q30/00—Commerce, e.g. shopping or e-commerce
G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
G06F9/00—Arrangements for program control, e.g. control units
G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
G06F9/44—Arrangements for executing specific programs
A system, method, apparatus, and processor readable non-transitive storage media are described for matching items in large datasets based on non-invasive fingerprints of users so that collected metric data for advertisements (media) and behavioral data may be reconciled and analyzed. Since user fingerprints may not generate a unique one to one correspondence or mapping under certain constraints, the various embodiments employ a sampling method that optimally matches the output of a random sampling of non-invasive fingerprints. The use of non-invasive fingerprints and specialized sampling enables the various embodiments to provide advanced analytics for advertising content and metric data in targeted behavior advertising campaigns. To compare impressions with user profile data, the various embodiments employ in part the time stamp dimension of user profiles to generate temporally unique persistent non-invasive fingerprints.
This application is directed to managing the online behavioral information of an audience, and more particularly, to providing audience behavioral information that can be employed as a basis for the targeting of online advertisement campaigns.
The online advertising industry uses data (in particular behavioral targeting data) to fuel advertising campaigns by optimizing ad placement, ad content, real-time bidding etc. This data is also referred to as "audience data", since it is associated with a set of users—it includes demographic data (e.g. gender, age), psychographic data (e.g. interests, opinions), geographic data (e.g. zip code, state), as well as in-market data (e.g. users being in market for luxury cars, travel to Polynesia, etc). Audience data is aggregated from multiple sources over time from users' multiple online actions and is typically organized around individual users into online user profiles. These user profiles are usually de-identified—i.e. no personal identifiable information such as name, email address, SSN is included.
The online advertising industry is results driven: ad campaign metrics are implemented and monitored constantly—behaviorally targeted advertising being the most sensitive to performance; advertisers most frequently adjust and tune the answer to the question "what user audience should a campaign target to optimize a set of key performance indicators?" Due to expected high performance, behaviorally targeted ad campaigns are bought at a premium price. This leads advertisers to plan and model the results of these campaigns in advance, even before the campaigns are commissioned.
Additionally, when advertisers run media campaigns, they track metrics such as conversion rate and effective CPM (cost per thousand impressions) rates, to determine campaign effectiveness. During a campaign, as well as after a campaign has run, the advertisers want to assess pertinent information, including: (1) how effective would a campaign be if a certain type of behavior targeting data was used, such as West Coast green shoppers, who have two or more children; (2) how effective would a campaign be if the behavior targeting data was provided by one source vs. multiple sources; and (3) analytics—what are useful characteristics of converters (users who end up reaching an end-goal, e.g. purchasing a product, visiting a website etc): e.g. converters are twice as likely to be in market for a trip to Southeast Asia, but less likely to buy a luxury automobile compared to the average web user. Answering these questions provides useful analytics in the form of actionable insights, meaningful metrics, and better campaign planning and performance optimization.
Online advertising systems have at their disposal considerable information to assist in the process of campaign planning, yet significant hurdles exist to make behavior targeting usable—for example if behavioral data is available in aggregate but cannot be linked to individual impressions or users, its usefulness is limited and its impact on ROI reduced. For example, campaign planners typically have access to (i) impression log data, which contain the individual impressions served: a unique user identifier, the impression timestamp, creative id, placement id, creative type, creative size etc. Campaign planners also leverage (ii) behavioral targeting data, which is collected and managed separately by a different set of vendors; this data also includes a unique user identifier, user's actions on multiple websites and their timestamps etc. Since the two types of data (i) and (ii) are typically collected and managed disjointly, the unique identifiers assigned to users are different and are usually not reconciled. This implies that while planners can understand in aggregate what data works best at a campaign level, they cannot drill down and segment their audiences by performance—i.e. combining impression (media) data with audience data at the individual user level.
To reconcile the two types of data, a process should allow the two sets of user id's to be comparable—e.g., provide a mapping function that correctly assigns a user id from each space to a single user. This mapping can connect a user's online actions to a set of impressions the same user is subsequently exposed to, and possibly to a set of conversions.
Currently, it is difficult to allow user identifiers to be shared, reconciled, or mapped into a common id space. Without such a process, it is difficult to: (1) assess the performance of behavior targeting data in advertising campaigns; (2) provide analytic insights regarding the types of users (profiles) who are shown impressions, click, and convert versus the rest of the user pool; and (3) optimize advertising campaigns to focus on data that leads to the best results (e.g. leading to higher conversion rates).
Typically the flow of data from collection, aggregation, decision, real time bidding, and impression occurs uni-directionally. For example, a user ID at the time of collection is matched against a user in an advertising network for the purpose of deciding how much to bid for an impression. However, the initial user ID is often not propagated further and the connection is lost, i.e., the advertising network does not know the user ID assigned by the behavioral targeting data vendor, only the user ID that it has assigned to the user.
Also, when impressions are reported back to the advertiser, the lack of an explicit unique identifier (user ID) makes it difficult for the advertiser to determine the effectiveness of the behavior targeting data. This lack of direct feedback can lead to poor planning, modeling and optimization. Additionally, the advertiser lacks advanced analytics comparing the performance of media and impressions across different audiences.
Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following drawings. In the drawings, like reference numerals refer to like parts throughout the various figures unless otherwise specified.
For a better understanding of the various embodiments, reference is made to the following Detailed Description Of The Embodiments, which is to be read in association with the accompanying drawings, wherein:
FIG. 1 illustrates an example of a system in which various embodiments may be practiced;
FIG. 2 shows an example of a mobile device;
FIG. 3 illustrates an example of a network device;
FIG. 4 shows a flowchart for an exemplary process for generating profile and impression datasets that are employed for analytics of a targeted advertising campaign; and
FIG. 5 illustrates a flowchart for an exemplary process for generating a verified profile dataset and impression dataset having fingerprints that correspond to each other in accordance with the various embodiments.
DESCRIPTION OF THE VARIOUS EMBODIMENTS
Various embodiments are described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific exemplary embodiments by which the invention may be practiced. The embodiments may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure is thorough and complete, and fully conveys the scope of the embodiments to those skilled in the art. Among other things, the various embodiments may be methods, systems, media or devices. Accordingly, the various embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.
Throughout the specification and claims, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise. The phrase "in one embodiment" as used herein does not necessarily refer to the same embodiment, though it may. Furthermore, the phrase "in another embodiment" as used herein does not necessarily refer to a different embodiment, although it may. Thus, as described below, various embodiments of the invention may be readily combined, without departing from the scope or spirit of the various embodiments.
In addition, as used herein, the term "or" is an inclusive "or" operator, and is equivalent to the term "and/or," unless the context clearly dictates otherwise. The term "based on" is not exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise. In addition, throughout the specification, the meaning of "a," "an," and "the" include plural references. The meaning of "in" includes "in" and "on."
For example embodiments, the following terms are also used herein according to the corresponding meaning, unless the context clearly dictates otherwise.
As used herein, the term audience generally refers to a collection of people who have exhibited in the past or are likely to exhibit in the future a set of online or offline behaviors and actions, have otherwise directly or indirectly communicated and/or exhibited a predisposition towards or predilection for certain products, events, or entities, and/or have directly or indirectly indicated their affinity, inclusion or exclusion in certain groups (e.g. demographic) or categories. Lack of behavior and negative affinity could also be used as defining qualities of an audience. Such people may be web users who have exhibited certain online behavior (e.g. browsing, search, purchase, Really Simple Syndication (RSS) feed, social network activity, forum posting, and the like).
The term audience may also refer to or incorporate a set of users who have visited a particular website or set of websites. Examples of audience of this type include a) people who visited a specific online bookstore website, and b) women interested in green technology who visited three pre-specified automobile comparison websites sometime in the last month. The latter example combines demographic, site-visiting, and in-market audience components. Some embodiments may enable the user requesting the audience forecast to issue queries related to their own website(s) (e.g. for retargeting purposes). For example, an audience may be defined as women between the ages of 30 and 50, who are in market for European travel, and who have visited my website A but not my website B in the last 60 days. Additionally, in some embodiments, various audience components may be pertinent to an advertising campaign, data modeling, audience analysis and optimization, and the like.
The term audience may also refer to the collection of people who see, experience, or are otherwise exposed to or potentially exposed to a campaign such as an advertising campaign, targeted behavior advertising campaign, a promotional campaign, an informational campaign, or the like. Such people may be web users who may experience a campaign through advertisements placed on web sites or other web services. Such people may also be consumers who may be exposed to advertising through virtually any medium, including but not limited to television, radio, print, physical displays, and the like. As used herein, person is a broad term that encompasses an individual who may be potentially exposed to a campaign through any medium. A person may also be referred to as a consumer or a user, which is meant broadly as a person who may purchase, express an interest in, or otherwise to exposed to information regarding a good and/or service for sale or otherwise provided at any time during the past, present and/or future.
As used herein, the term audience volume generally refers to a number of people in an audience. In some embodiments, audience volume may be an exact number of individual people. However, the invention is not so limited. In some embodiments, audience volume may be a more or less approximate count of the number of people in an audience, estimated by virtually any estimation process.
As used herein, the term category generally refers to a subject, a behavior, or a topic of data for people in an audience. For example, data for a person who purchased an SUV may be associated with a category of "SUV consumer" and/or broader categories of "automobile consumer" or "light truck consumer." Further, categories may be associated with broad category types. For example, categories related to particular markets for goods and/or services may be classified into a market or in-market type of category. Demographic type categories may include categories related to virtually any demographic statistic, including but not limited to age and gender of a person. Location type categories may be related to geographical location definitions of varying scope. For example, location type categories may include "United States residents", "west coast U.S. residents", "California residents", "Los Angeles County residents", "Burbank residents", and so forth. Seasonal category types may include categories related to particular times of year, seasons, periods of time, and the like. For example, data related to user activities during the winter may be classified in a winter category. Other types of categories may be supported by embodiments without departing from the scope or spirit of the claimed invention.
As used herein, the term "time period" may generally refer to either a contiguous or non-contiguous period of time. A time period may be specified in terms of specific time(s) of day (e.g. 1:00 pm), general time(s) of day (e.g. afternoon), date(s), day(s) of the week (e.g. Tuesday), types of day(s) of the week (e.g. weekday, weekend), month(s) of the year, season(s) of the year, holiday(s), holiday season(s), and the like. A time period may be a specified range of time (e.g. from date X to date Y), a span of time immediately prior to or before a particular date (e.g. the month prior to date X), or a span of time generally prior to a particular date (e.g. any month prior to date X). A time period may be non-contiguously defined as omitting dates (e.g. the month prior to date X except for weekend days). In general, time period as used herein may encompass virtually any description of time.
As used herein, the term "timestamp" may generally refer to a specific point in time when an action occurs. A timestamp may be specified in any human readable form (e.g. Mar. 24, 2011 11:50:03) or through Unix time or POSIX time (e.g. 1303754810), which is a format for describing specific points in time, and the like. Unix time defines time as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of Jan. 1, 1970, not counting leap seconds.
As used herein, the term "fingerprint" may generally refer to identifying strings of information sufficient to identify a particular browser (and indirectly a particular user) and assign a virtual user ID. These strings of information may include: (1) User Agent—browser version, operating system version, natural language, toolbars, and the like; (2) HTTP header—ACCEPT and the like; (3) Cookie—if enabled, those stored by the browser; (4) screen resolution; (5) time zone; (6) Fonts—types and sizes of system fonts; (7) Supercookies—FLASH, Silverlight, HTML 5 databases, or DOM global storage; and (8) IP address—IP address, its subnet, or an Autonomous System Number, and the like.
Briefly stated, various embodiments are directed toward matching items in large datasets based on non-invasive fingerprints of users so that collected metric data for advertisements (media) and behavioral data may be reconciled and analyzed. Since user fingerprints may not generate a unique one to one correspondence or mapping under certain constraints, the various embodiments employ a sampling method that optimally matches the output of a random sampling of fingerprints. The use of non-invasive fingerprints and specialized sampling enables the various embodiments to provide advanced analytics for advertising content and metric data in targeted behavior advertising campaigns. To match impressions with user profile data, the various embodiments employ in part the time stamp dimension of user profiles to generate temporally unique persistent fingerprints.
For at least some of the various embodiments, a process may be employed to construct a user profile dataset "P" over time with real time or offline user actions such as a purchase or comparison shopping, and an impression dataset "I" e.g., an advertising network impression log that may include known user IDs. The process performs a series of actions, including: (1) filtering the user profile dataset "P" for profiles that are older than a particular period of time, such five days or more; (2) computing a fingerprint "f" for each user profile p based on available information such as an IP address, browser type, operating system, plug in applications, installed fonts, and the like; (3) filtering the fingerprints and keeping those fingerprints "f" that correspond to less than "k" user profiles "p"; (4) identifying the remaining set of user profiles "Q" which contain profiles that generate unique fingerprints within a certain time period "t" and with a tolerated unique margin of "k"; (5) compute the fingerprints of a second impression dataset "I" which means that for each advertising content there is a fingerprint "g"; (6) join the two datasets "I" and "Q" and keep those impressions and profiles with fingerprints in both datasets, so that a new merged dataset "Z" includes a user profile and a set of impressions for a unique user; (7) generate an estimated confidence for the correspondence between the data set of merged profile impressions "Z" and the unique users; and (8) use the dataset "Z" for analytics that require both impressions and full user profiles.
The process listed above may be employed by various embodiments to generate a merged dataset with data and media. Many variations of this process are possible: e.g. use different elements to compute the fingerprint, use additional parameters, merge more than two datasets, merge the same dataset from multiple points in time, and the like. The process can also be extended to datasets other than impressions and data.
In the past, fingerprinting has been invasive and relatively effective, or non-invasive and relatively ineffective. For example, invasive fingerprinting often requires that a user download executable code, such as a javascript, that is run in the user's browser application to collect details about plug-in applications, clock skew, the specific system fonts available in their operating system, and the like. Based on these multiple strings of information, a fingerprint such as a hash can be computed that has a relatively high probability of being unique. This fingerprint can be used as a virtual user id, which persists even when the user clears their cookies. While accurate, downloading an application to generate a virtual user ID is invasive and can raise privacy issues, if particular details that a user may not want to share are communicated to a third party.
Non-invasive fingerprinting employs strings of information that a browser application automatically provides when requesting to load a webpage, e.g., a browser type and version, an operating system and version, and an IP address. These strings of information are not particularly informative and the corresponding fingerprint is rarely unique. For example, several thousand users might reside behind a firewall/proxy at a large corporation that employs a small number of outward facing IP addresses, and each user's desktop may be standardized with a particular version of a browser and a version of an operating system. Since the firewall IP address(es), browser version, and operating system version are likely the same for each user, their corresponding fingerprints are non-unique. As another example, users that use dynamic IP addresses and employ standard browser and operating system combinations are often not distinguishable, since the user's IP addresses can dynamically change without an external visible signal. Many large businesses and some wealthy individuals purchase static IP addresses that are reserved for their exclusive use, but that is not the case for most users.
For the various embodiments to run analytics across multiple data sources and compute statistics, the joint dataset "Z" approximately mimics a random sample (controlling for the profile age, size and the additional constraints used). If this is not the case, the conclusions drawn from the "Z" dataset may be flawed. To verify the correctness of the sampled "Z" dataset, a set of statistics can be used for comparison e.g., average profile size, frequency of a particular profile attribute, and the like. An even more rigorous conclusion can be drawn from comparing average distributions e.g., using a KL divergence.
To circumvent existing obstacles running analytics for a sampling of the "Z" database, the various embodiments may employ a combination of methodologies, including: (1) employ non-random sampling to reduce ambiguity; (2) ensure the sampling is correct by mimicking properties of the original dataset; and (3) since there are billions of impressions and user profiles to sample, even a single, second or third order of magnitude dataset reduction still yields a relatively large sample that is useful for analytics. For example, there might be 250 million user profiles in the USA to sample, and if only less than one percent is identified as unique, that is still more than a million unique user profiles to run analytics on.
A difficulty in performing analytics for the online space is matching items in large datasets based on non-invasive fingerprints. For example, let's consider two or more user profile stores that include non-invasive metadata about users' browsers (e.g., IP address, user agent information, timestamps, and the like), as opposed to invasive metadata (e.g. users' installed fonts, detailed plug-in information, clock skew, and the like). If there is no explicit user identifier in the two profile stores, it is very difficult to match them. In the past, fingerprinting techniques lead to many-to-many mappings, since fingerprints are not unique. In the extreme case, using IP addresses as fingerprints does not uniquely determine users, since very often computers connect to a network with dynamic IP addresses, or they reside behind a single-IP address proxy or firewall server. Even with additional information, in most cases, a one-to-one mapping is not achieved, and soft, probabilistic (or heuristic) matching is required i.e., with a probability x<1.0 user "a" from dataset "A" is the same as user "b" from dataset "B".
Sampling methods constrained on a set of dimensions can yield a relatively good approximation of random samples in other dimensions matching datasets (user profiles, page views, advertising impression logs, click-through streams, and the like) is usually imperfect. In most cases, the mapping between two or more datasets is many-to-many. The various embodiments employ a biased methodology that selects data points that match 1:1 and verifies that the resulting distribution emulates a true random sample. Matching online user profiles by their fingerprints is typically done in a probabilistic manner. By analyzing the type of fingerprints and pre-selecting unique fingerprints from a large enough dataset, the resulting set of matched profiles is exact (no ambiguity) and behaves like a true random sample. i.e., for all practical purposes (with a small margin of error), the statistics computed on the matched profile set mimic the statistics in a random sample.
For at least one embodiment, periodic verification of a user's unique fingerprint can be determined by regenerating both an invasive and non-invasive fingerprint for the user and comparing the results to the previously identified unique fingerprint. If one of the regenerated fingerprints is different than the unique fingerprint, then the unique fingerprint is updated with the new information. However, if both of the regenerated fingerprints are different than the previously identified unique finger print, then the unique fingerprint is discarded and not used for further analytics.
Additionally, for at least one of the various embodiments, the periodic verification of user fingerprints can be performed with a self-declared set of users that affirmatively provide their unique fingerprints instead of periodically verifying the determined non-invasive fingerprints with newly computed invasive fingerprints for a sample of the user profiles.
Furthermore, although the various embodiments are described using non-invasive fingerprints to determine unique fingerprints for the plurality of user profiles, they are not so limited. Rather, at least one of the various embodiments can employ a combination of both non-invasive fingerprints and invasive fingerprints or just invasive fingerprints for determining unique fingerprints for the plurality of user profiles.
Exemplary Operating Environment
FIG. 1 illustrates an embodiment of a system in which embodiments of the present invention may operate. However, not all of the components in the depicted system may be required to practice the invention, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of the invention.
As shown in the figure, system 100 includes client devices 102-103, mobile device (e.g. mobile client device) 104, network 120, wireless network 130, one or more audience fingerprint servers 106, one or more audience analytics servers 108, load balancers 110 and 112, data storage 114, content server 116 and data buyer server 118. Network 120 is in communication with and enables communication between each of the elements of system 100. Wireless network 130 further enables communication with wireless devices such as mobile device 104.
Client devices 102-104 may include virtually any computing device capable of receiving and sending a message over a network, and/or to and from another computing device. The set of such devices may include devices that typically connect using a wired communications medium such as personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, and the like. Further, client devices 102-104 may include any device that is capable of connecting via a wireless communication medium such as a personal digital assistant (PDA), pocket PC, wearable computer, portable computing device, mobile computing device, cell phones, smart phones, pagers, walkie talkies, radio frequency (RF) devices, infrared (IR) devices, citizen band (CB) radio devices, or any other device that is equipped to communicate over a wireless communication medium. Client devices may also include integrated devices combining one or more of the preceding devices and/or elements of one or more of the preceding devices.
Each client device within client devices 102-104 may include a browser application that is configured to send, receive, and display web pages, and the like. The browser application may be configured to receive and display graphics, text, multimedia, and the like, employing virtually any web based language, including, but not limited to Standard Generalized Markup Language (SMGL), such as HyperText Markup Language (HTML), extensible markup language (XML), a Handheld Device Markup Language (HDML), such as Wireless Markup Language (WML), WMLScript, JavaScript, and the like. Client devices 102-104 may further include a messaging application configured to send and/or receive a message to/from another computing device employing another mechanism, including, but not limited to instant messaging (IM), email, Short Message Service (SMS), Multimedia Message Service (MMS), internet relay chat (IRC), mIRC, Jabber, and the like.
Network 120 is configured to couple one computing device to another computing device, enabling them to communicate. Network 120 is enabled to employ any form of computer readable media for communicating information from one electronic device to another. Also, network 120 may include a wireless interface, and/or a wired interface, such as the Internet, in addition to local area networks (LANs), wide area networks (WANs), direct connections, such as through a universal serial bus (USB) port, other forms of computer-readable media, or any combination thereof. On an interconnected set of LANs, including those based on differing architectures and protocols, a router, switch and/or other network appliance may act as a link between LANs, enabling messages to be sent from one to another. Also, communication links within LANs typically include twisted wire pair or coaxial cable, while communication links between networks may utilize analog telephone lines, full or fractional dedicated digital lines including T1, T2, T3, and T4, Digital Signal level 3 (DS3), Optical Carrier 3 (OC3), OC12, OC48, Asynchronous Transfer Mode (ATM), Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines (DSLs), wireless links including satellite links, or other communications links known to those skilled in the art. Furthermore, remote computers and other related electronic devices could be remotely connected to either LANs or WANs via a modem and temporary telephone link. Network 120 is constructed for use with various communication protocols and technologies, including transmission control protocol/internet protocol (TCP/IP), user datagram protocol (UDP), a wireless application protocol (WAP), global system for mobile communications (GSM), code division multiple access (CDMA), time division multiple access (TDMA), general packet radio service (GPRS), ultra wide band (UWB), IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMax), and the like. In essence, network 120 includes any communication method by which information may travel between the various devices of system 100. Network 120 may further include one or more network management devices, which may include network providers, load balancers, application managers, or the like. Network management devices may manage communication sessions, tag communication traffic, place data cookies on client devices, and perform other network management operations.
Wireless network 130 may include wireless interfaces, wireless forms of communication media, and/or wireless links such as cellular networks, satellite links. These may include wireless application protocol (WAP), global system for mobile communications (GSM), code division multiple access (CDMA), time division multiple access (TDMA), general packet radio service (GPRS), ultra wide band (UWB), IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMax), and the like.
The media used to transmit information in communication links as described above may generally include any media that can be accessed by a computing device. Such computer-readable media may include non-transitory media such as computer readable storage media, which also may be referred to as processor readable storage media. Computer-readable media may also include transitory wired and/or wireless communication media, or any combination thereof. Additionally, computer-readable media typically embodies computer-readable instructions, data structures, program modules, or other data. Such data may be stored on computer readable storage media. Such data may also be communicated through communication media in a modulated data signal such as a carrier wave, data signal, or other transport mechanism and includes any information delivery media. The terms "modulated data signal," and "carrier-wave signal" includes a signal that has one or more of its characteristics set or changed in such a manner as to encode information, instructions, data, and the like, in the signal. By way of example, communication media includes wireless media such as fluids or space for acoustic, RF, infrared, and other wireless signals, and wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media.
Audience fingerprint server(s) 106, audience analytics server(s) 108, content server 116, and/or data buyer server 118 may comprise multiple computing devices, components of a single computing device, or a single device with multiple software features. In some embodiments, audience fingerprint server(s) 106 and/or audience analytics server(s) 108 may comprise a cluster of servers, such that audience analytics functionality is shared among the servers of the cluster in a load-balanced and/or parallel processing. In some embodiments, system 100 may include load balancers 110 and 112 or other network devices that manage the load balancing of tasks among audience fingerprint server(s) 106 and/or audience analytics server(s) 108 respectively.
In some embodiments, audience analytics server(s) 108 may use external data storage 114 for storing audience data. In some embodiments, audience fingerprint server(s) 106 and/or audience analytics server(s) 108 may use internal data storage for storing audience data.
Content server 116 may provide content such as web sites, online journals (e.g., blogs), photos, reviews, online services such as messaging, search, news, shopping, advertising, travel services, or virtually any other content and/or services. While providing such content or services, content server 116 may gather information about persons who access the provided content (e.g., web users, consumers and/or potential consumers), including but not limited to information such as products viewed or purchased, services viewed or purchased, articles read, content searches and the like. In some embodiments, data buyer server 118 may generally enable buyers to review, bid on, or otherwise access analytics information.
System 100 may also include data buyer server 118 that enables a data buyer or potential data buyer to use services provided by audience fingerprint server(s) 106 and/or audience analytics server(s) 108. In some embodiments, a user of data buyer server 118 may access client application(s) installed on data buyer server 118 to access services provided by audience fingerprint server(s) 106 and/or audience analytics server(s) 108, as discussed further herein. In some embodiments, a user of data buyer server 118 may access remote and/or network application(s) hosted on audience fingerprint server(s) 106 and/or audience analytics server(s) 108 to access services.
FIG. 2 shows an exemplary mobile device 200. In one embodiment, mobile device 200 is a mobile client device, such as a laptop computer. Another example of a mobile device is a PDA or a cellular telephone that is arranged to send and receive voice communications and messages such as SMS messages via one or more wireless communication interfaces. Oftentimes, mobile electronic devices are capable of personal communication by connecting to one or more wireless networks, connecting to multiple nodes of a single wireless network, communicating over one or more channels to one or more networks, or otherwise engaging in one or more communication sessions. Generally, mobile device 200 may comprise any mobile or stationary electronic device. Such devices include personal computers, laptops, palmtops, PDAs, handheld computers, cellular telephones, smart phones, pagers, radio frequency (RF) devices, infrared (IR) devices, integrated devices combining one or more of the preceding devices, and the like. Mobile device 200 may also comprise other electronic devices such as multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, wearable computers, and the like.
Mobile device 200 may include many more, or fewer, components than those shown in FIG. 2. However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention. As shown in the figure, mobile device 200 includes a central processing unit (CPU) 222 in communication with a mass memory 230 via a bus 224.
Mass memory 230 may include RAM 232, a ROM 234, and other storage means. Mass memory 230 illustrates an example of computer storage media for storage of information such as computer readable instructions, data structures, program modules or other data. Mass memory stores a basic input/output system ("BIOS") 240 for controlling low-level operation of client device 200. The mass memory also stores an operating system 241 for controlling the operation of mobile device 200. It should be appreciated that this component may include a general purpose operating system such as a version of Windows®, UNIX, or LINUX®, or a specialized mobile communication operating system such as Apple iOS®, Google Android®, Windows Mobile™, the Symbian® operating system, or the like. The operating system may include, or interface with a Java® virtual machine module that enables control of hardware components and/or operating system operations via Java application programs.
Memory 230 further includes one or more data storage units 242, which can be utilized by mobile device 200 to store data used by various programs, applications, software modules, and the like. Mass memory 230 may also include programs, applications, and/or software modules. Browser 244 may run under the control of operating system 241 to transmit, receive, render, and/or otherwise process documents of various formats (e.g. PDF, Word, Excel, and the like), markup pages such as HTML pages, XML pages, WAP pages (sometimes referred to as WAP cards), and the like, and/or multimedia content (e.g., audio, video, graphics), and any other form of content deliverable over the web.
Mass memory 230 may also include an audience fingerprint client 246 that enables a user to access information regarding audience fingerprints, provided by audience fingerprint server(s) 106, described further herein. In some embodiments, mass memory 230 may also include an audience analytics client 248 that enables a user to access audience analytics information provided by audience analytics server(s) 108. In some embodiments, a user of mobile device 200 may access audience fingerprint information through browser 244, by accessing web services hosted by audience fingerprint server(s) 106 and/or audience analytics server(s) 108. In some embodiments, access to the functionality of the audience fingerprint server(s) and/or audience analytics server(s) may be provided to the client via an API. A data buyer and/or third party may create one or more applications that employ the API to access the fingerprint and/or analytics functionality. Mass memory 230 may also include other applications 250.
Mobile device 200 may also include a processor readable storage media 228. Processor readable storage media may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information, such as computer- or processor-readable instructions, data structures, program modules, or other data. Examples of processor readable storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other media which can be used to store the desired information and which can be accessed by a computing device. Processor readable storage media may also be referred to herein as computer readable storage media.
Mobile device 200 also includes a power supply 226, one or more wireless interfaces 260, an audio interface 262, a display 264, a keypad 266, a touch interface 268, an input/output interface 272, a haptic interface 270, and a global positioning systems (GPS) transceiver 274. Power supply 226 provides power to mobile device 200. A rechargeable or non-rechargeable battery may be used to provide power. The power may also be provided by an external power source, such as an AC adapter or a powered docking cradle that supplements and/or recharges a battery.
Mobile device 200 may optionally communicate with a base station, or directly with another mobile device. Wireless interface 260 may include circuitry for coupling mobile device 200 to one or more wireless networks, and is constructed for use with one or more communication protocols and technologies including, but not limited to, TCP/IP, UDP, GSM, CDMA, TDMA, SMS, GPRS, WAP, UWB, IEEE 802.16 (WiMax), and the like.
Audio interface 262 is arranged to produce and/or receive audio signals such as the sound of a human voice, music, and the like. For example, audio interface 262 may be coupled to a speaker and microphone (not shown) to enable telecommunication with others and/or generate an audio acknowledgement for some action. Display 264 may be a liquid crystal display (LCD), gas plasma, light emitting diode (LED), or any other type of display used with a client device. Display 264 may also include a touch sensitive screen arranged to receive input from an object such as a stylus or a digit from a human hand.
Keypad 266 may comprise any input device arranged to receive input from a user. For example, keypad 266 may include a keyboard, a push button numeric dial, or the like. Keypad 266 may also include command buttons that are associated with selecting and performing changeable processes. Touch interface 268 enables a user to select items or functionality by single touches, multiple touches, and/or gestures on the surface of display 264.
Client device 200 may also include input/output interface 272 for communicating with external devices, such as a headset, or other input or output devices not shown in FIG. 2. Input/output interface 272 can utilize one or more communication technologies, such as USB, infrared, Bluetooth™, and the like. Haptic interface 270 is arranged to provide tactile feedback to a user of the client device. For example, the haptic interface may be employed to vibrate client device 200 in a particular way when another user of a client device is calling.
GPS transceiver 274 can determine the physical coordinates of client device 200 on the surface of the Earth, which typically outputs a location as latitude and longitude values. GPS transceiver 274 can also employ other geo-positioning mechanisms, including, but not limited to, triangulation, assisted GPS (AGPS), Enhanced Observed Time Difference (E-OTD), cell identifier (CI), service area identifier (SAT), enhanced timing advance (ETA), base station subsystem (BSS), or the like, to further determine the physical location of client device 200 on the surface of the Earth. It is understood that under different conditions, GPS transceiver 274 can determine a physical location within millimeters for client device 200; and in other cases, the determined physical location may be less precise, such as within a meter or significantly greater distances.
FIG. 3 shows one embodiment of a network device, according to at least one of the embodiments. Network device 300 may include many more, or fewer, components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment. Network device 300 may represent, for example, audience fingerprint server(s) 106, audience analytics server(s) 108, client devices (e.g. desktop personal computers) such as client device 102, content server 116, and/or data buyer 118 of FIG. 1.
As shown in FIG. 3, network device 300 includes processor 322 in communication with mass memory 330 via bus 324. Mass memory 330 may include RAM 332, ROM 334, and other storage means. Mass memory 330 illustrates an example of computer storage media for storage of information such as computer readable instructions, data structures, program modules or other data. Mass memory stores a basic input/output system ("BIOS") 340 for controlling low-level operation of network device 300. The mass memory also stores an operating system 341 for controlling the operation of network device 300. It should be appreciated that this component may include a general purpose operating system such as a version of Windows®, UNIX, or LINUX®, or a specialized mobile communication operating system such as Apple iOS®, Google Android®, Windows Mobile™, the Symbian® operating system, or the like. The operating system may include, or interface with a Java® virtual machine module that enables control of hardware components and/or operating system operations via Java application programs.
Memory 330 further includes one or more data storage units 342, which can be utilized by network device 300 to store programs, applications, software modules, and the like, as well as the data used by such programs, applications, and/or software modules. Programs may comprise computer executable instructions which can be executed by network device 300. Programs in mass memory 330 may include a browser application 343. Browser 343 may run under the control of operating system 341 to transmit, receive, render, and/or otherwise process documents of various formats (e.g. PDF, Word, Excel, and the like), markup pages such as HTML pages, XML pages, WAP pages (sometimes referred to as WAP cards), and the like, and/or multimedia content (e.g., audio, video, graphics), and any other form of content deliverable over the web. Mass memory 330 may also include an audience fingerprint module 344 that enables access to audience fingerprint information, provided by audience fingerprint server(s) 106, described further herein. In some embodiments, mass memory 330 may also include an audience analytics module 346 that enables access to audience analytics information provided by audience analytics server(s) 108. Mass memory 330 may also include other applications 348. Other examples of application programs include content management applications, messaging applications, schedulers, calendars, web services, transcoders, database programs, word processing programs, spreadsheet programs, and so forth. Accordingly, programs may process images, audio, video, or markup pages, enable telecommunication with another user of another electronic device, and/or other services.
Network device 300 also includes an input/output interface 360 for communicating with input/output devices such as a Joystick, mouse, wheel, touch pad, rocker switches, keypad, printer, scanner, modem, video camera, modem, and/or other input devices not specifically shown in FIG. 3. A user of server device 300 can use input/output devices to interact with a user interface that may be separate or integrated with operating system 341, and/or programs in memory 330. Interaction with the user interface includes visual interaction via a display coupled to video display adapter 354. The user interface can also include haptic interface 356, touch interface 358, pointing device interface 364, keyboard interface 366, and audio interface 362.
Network device 300 may include processor readable storage media 352. Processor readable storage media 352 can comprise one or more of an optical disc drive, flash memory drive, hard drive, a floppy disk drive, tape drive, and/or any other type of removable storage media drive. Permanent or removable processor readable storage media may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information, such as processor readable instructions, data structures, program modules, or other data. Examples of processor readable storage media include a CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAM, ROM, EEPROM, flash memory or other memory technology, or any other media which can be used to store the desired information and which can be accessed by a computing device.
Via a network communication interface unit 350, server device 300 can communicate with a wide area network such as the Internet, a local area network, a wired telephone network, a cellular telephone network, or some other communications network, such as networks 120 and/or 130 in FIG. 1.
Exemplary Processes
FIG. 4 shows a flow chart for an exemplary process 400 where profile and impression datasets are generated that are provided for analyzing a targeted advertising campaign. Moving from start block, the process steps to block 402 where a dataset of user profiles and another dataset for impressions of a targeted advertising campaign are determined. Flowing to block 404, the process generates a reduced dataset of user profiles having non-invasive fingerprints and a reduced impression dataset having non-invasive fingerprints where the fingerprints from each dataset correspond to each other. Also, at least one embodiment for the generating process at block 404 is illustrated in somewhat more detail in FIG. 5 and the corresponding discussion herein.
At block 406, the process verifies that the reduced profile dataset mimics a random sampling from the previously determined profile dataset. Advancing to block 408, the process provides the verified reduced profile dataset and the reduced impression dataset for analysis of a targeted advertising campaign. Next, the process returns to performing other actions.
FIG. 5 illustrates a flowchart for an exemplary process for generating a verified profile dataset and impression dataset having non-invasive fingerprints that correspond to each other in accordance with the various embodiments. The process shown in FIG. 5 is one embodiment of the process discussed in regard to block 404 of FIG. 4.
Moving from a start block, the process flows in two paths. The first path flows to block 502 where a profile dataset is determined based at least in part on user activity. At decision block 506, a determination is made as to whether an age of a record for each profile is greater than a determined time period "t". If negative, the process moves to block 508 where each profile record with an age less than the "t" time period is discarded. However, if the determination is affirmative, the process flows to block 510 where a non-invasive fingerprint is calculated for each profile record with greater than the "t" time period. Examples for computing such non-invasive fingerprints are discussed in further detail elsewhere in the Specification.
Advancing to block 512, a determination is made for each profile record as to the number "n" of other profile records that have the same (matching) non-invasive fingerprint. Stepping to decision block 514, a determination is made for each profile record whether it's corresponding "n" number is greater than a determined error number "k". If the determination at decision block 514 is true, the corresponding profile records is discarded by the process at block 508 as discussed above. However, if the determination is false at decision block 514 the process flows to block 516 where the profile records having the number "n" that is less than the error rate "k" and an age greater than time "t" are accumulated.
Additionally, the process has moved from the start block on the second path to block 504 where another dataset is determined based at least in part on impressions for advertisements served in a targeted advertising campaign. The process moves on the second path to block 518 where a non-invasive fingerprint for each record of the impression dataset is computed.
The process flows along the first path from block 516 and also along the second path from block 518 to block 520 where another determination is made for a reduced profile dataset having non-invasive fingerprints that correspond to a portion of the impression dataset that also has non-invasive fingerprints that correspond to those in the reduced profile dataset. Next, the process returns to performing other actions.
It should be understood that figures, and combinations of steps in the illustrations, can be implemented by computer program instructions. These program instructions may be provided to a processor to produce a machine, such that the instructions executing on the processor create a means for implementing the actions. The computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer implemented process for implementing the actions specified in the flowchart block or blocks. These program instructions may be stored on some type of machine readable media, such as processor readable non-transitive storage media, and the like
1. A method for a processor to perform actions that generate information regarding a targeted advertising campaign, the actions comprising:
determining a profile dataset having a plurality of user profile records, wherein a non-invasive fingerprint is computed for each record;
determining an impression dataset having a plurality of impression records based on advertisements served to a plurality of users, wherein a non-invasive fingerprint is computed for each impression;
generating a reduced profile dataset and a corresponding reduced impression dataset, wherein a non-invasive fingerprint computed for each record of the reduced profile dataset corresponds to another non-invasive fingerprint computed for at least one record of the reduced impression dataset; and
providing the reduced profile dataset and the reduced impression dataset for analysis of the targeted advertising campaign.
2. The method of claim 1, wherein the processor performs further actions comprising if an age of a user profile record is less than a predetermined time period, discarding the user profile record from the profile dataset.
3. The method of claim 1, wherein the processor performs further actions comprising if a non-invasive fingerprint for a user profile record matches more than a predetermined amount of other non-invasive fingerprints computed for other user profile records, the matching user profile records are discarded from the profile dataset.
4. The method of claim 1, wherein the computing of the non-invasive fingerprints comprises assigning a virtual user ID based on identifying at least one string of information sufficient to identify a browser application.
5. The method of claim 4, wherein the at least one string of information includes at least one of a browser version, operating system version, natural language, toolbar, HTTP header, Cookie, display resolution, time zone, font size, font type, supercookie, HTML 5 database, DOM global storage, IP address, IP address subnet, and an Autonomous System Number.
6. The method of claim 1, wherein the processor performs further actions comprising:
pre-selecting unique invasive fingerprints for a sample of the plurality of user profile records; and
comparing the preselected unique fingerprints to computed non-invasive fingerprints for the user profile records included in the reduced profile dataset, wherein an affirmative comparison enables a verification of the randomness of the user profile records included in the reduced profile dataset.
pre-selecting unique fingerprints affirmatively provided by a set of users from the plurality of user profiles; and
8. The method of claim 1, wherein the analysis further comprises at least one of assessing a performance of the targeted advertising campaigns, providing an actionable insight regarding users that are served advertisements, and optimization of advertisements served for the targeted advertising campaign.
9. A system for generating information regarding a targeted advertising campaign, comprising:
a server device, including:
a memory for storing data; and
a processor for executing instructions that perform actions, comprising:
determining an impression dataset having a plurality of impression records based on advertisements served to a plurality of users, wherein a non-invasive fingerprint is computed for each impression; and
a client device, including:
receiving the reduced profile dataset and the reduced impression dataset; and
generating an analysis of the targeted advertising campaign based at least in part on the received datasets.
10. The system of claim 9, wherein the server device's processor performs further actions comprising if an age of a user profile record is less than a predetermined time period, discarding the user profile record from the profile dataset.
11. The system of claim 9, wherein the server device's processor performs further actions comprising if a non-invasive fingerprint for a user profile record matches more than a predetermined amount of other non-invasive fingerprints computed for other user profile records, the matching user profile records are discarded from the profile dataset.
12. The system of claim 9, wherein the computing of the non-invasive fingerprints comprises assigning a virtual user ID based on identifying at least one string of information sufficient to identify a browser application.
13. The system of claim 12, wherein the at least one string of information includes at least one of a browser version, operating system version, natural language, toolbar, HTTP header, Cookie, display resolution, time zone, font size, font type, supercookie, HTML 5 database, DOM global storage, IP address, IP address subnet, and an Autonomous System Number.
14. The system of claim 9, wherein the server device's processor performs further actions comprising:
16. The system of claim 9, wherein the analysis further comprises at least one of assessing a performance of the targeted advertising campaigns, providing an actionable insight regarding users that are served advertisements, and optimization of advertisements served for the targeted advertising campaign.
17. A processor readable non-transitive storage media that is arranged to store instructions for generating information regarding a targeted advertising campaign, wherein a processor executing the instructions causes actions to be performed, comprising:
18. The media of claim 17, wherein the actions further comprise if an age of a user profile record is less than a predetermined time period, discarding the user profile record from the profile dataset.
19. The media of claim 17, wherein the actions further comprise if a non-invasive fingerprint for a user profile record matches more than a predetermined amount of other non-invasive fingerprints computed for other user profile records, the matching user profile records are discarded from the profile dataset.
20. The media of claim 17, wherein the computing of the non-invasive fingerprints comprises assigning a virtual user ID based on identifying at least one string of information sufficient to identify a browser application.
21. The media of claim 17, wherein the actions further comprise:
23. An apparatus for generating information regarding a targeted advertising campaign, comprising:
a processor for executing instructions that perform actions, including
24. The apparatus of claim 23, wherein the actions further comprise if an age of a user profile record is less than a predetermined time period, discarding the user profile record from the profile dataset.
25. The apparatus of claim 23, wherein the actions further comprise if a non-invasive fingerprint for a user profile record matches more than a predetermined amount of other non-invasive fingerprints computed for other user profile records, the matching user profile records are discarded from the profile dataset.
26. The apparatus of claim 23, wherein the computing of the non-invasive fingerprints comprises assigning a virtual user ID based on identifying at least one string of information sufficient to identify a browser application.
27. The apparatus of claim 23, wherein the actions further comprise:
US13/161,373 2011-06-15 2011-06-15 Non-invasive sampling and fingerprinting of online users and their behavior Pending US20120323694A1 (en)
US13/161,373 US20120323694A1 (en) 2011-06-15 2011-06-15 Non-invasive sampling and fingerprinting of online users and their behavior
US13/161,373 Pending US20120323694A1 (en) 2011-06-15 2011-06-15 Non-invasive sampling and fingerprinting of online users and their behavior
US20100321393A1 (en) * 2009-06-22 2010-12-23 Monotype Imaging Inc. Font data streaming
US20120136701A1 (en) * 2010-11-26 2012-05-31 Rohan Relan Method and system for faciliating interactive commercials in real time
US20130191521A1 (en) * 2011-11-01 2013-07-25 Dmytro Kuzmin Modifying redistribution sets of users based on expiration time
US20130215126A1 (en) * 2012-02-17 2013-08-22 Monotype Imaging Inc. Managing Font Distribution
US20130305317A1 (en) * 2012-05-10 2013-11-14 Bank Of America Corporation Creating federated associate identifiers to positively identify associates interfacing across multiple business applications
US20130332225A1 (en) * 2011-03-29 2013-12-12 Nec Corporation Risk-profile generation device
US20140074928A1 (en) * 2012-09-10 2014-03-13 Oracle International Corporation Semi-supervised identity aggregation of profiles using statistical methods
US20150066642A1 (en) * 2013-08-29 2015-03-05 Adobe Systems Incorporated Method and apparatus for enabling targeted messages based on usage of a document accessed within an internet browser
US9317777B2 (en) 2013-10-04 2016-04-19 Monotype Imaging Inc. Analyzing font similarity for presentation
US9569865B2 (en) 2012-12-21 2017-02-14 Monotype Imaging Inc. Supporting color fonts
US9626337B2 (en) 2013-01-09 2017-04-18 Monotype Imaging Inc. Advanced text editor
US9691169B2 (en) 2014-05-29 2017-06-27 Monotype Imaging Inc. Compact font hinting
US9817615B2 (en) 2012-12-03 2017-11-14 Monotype Imaging Inc. Network based font management for imaging devices
EP3117623A4 (en) * 2014-03-10 2017-11-15 Visible World Inc. Systems and methods for anonymous behavioral-based records identification
US9948744B1 (en) 2016-10-14 2018-04-17 International Business Machines Corporation Mobile device identification
US10115215B2 (en) 2015-04-17 2018-10-30 Monotype Imaging Inc. Pairing fonts for presentation
US20070239517A1 (en) * 2006-03-29 2007-10-11 Chung Christina Y Generating a degree of interest in user profile scores in a behavioral targeting system
US7523123B2 (en) * 2006-11-16 2009-04-21 Yahoo! Inc. Map-reduce with merge to process multiple relational datasets
US20090300009A1 (en) * 2008-05-30 2009-12-03 Netseer, Inc. Behavioral Targeting For Tracking, Aggregating, And Predicting Online Behavior
US20100293057A1 (en) * 2003-09-30 2010-11-18 Haveliwala Taher H Targeted advertisements based on user profiles and page profile
US20110066496A1 (en) * 2009-09-11 2011-03-17 Zengyan Zhang Combining Historical CTR and Bid Amount in Search Message Selection
US8027864B2 (en) * 2006-11-22 2011-09-27 Proclivity Systems, Inc. System and method for providing e-commerce consumer-based behavioral target marketing reports
US8069176B1 (en) * 2008-09-25 2011-11-29 Google Inc. LSH-based retrieval using sub-sampling
US8150723B2 (en) * 2009-01-09 2012-04-03 Yahoo! Inc. Large-scale behavioral targeting for advertising over a network
US8190610B2 (en) * 2006-10-05 2012-05-29 Yahoo! Inc. MapReduce for distributed database processing
US8364682B1 (en) * 2011-05-05 2013-01-29 Google Inc. Identifier mapping from joined data
US8412665B2 (en) * 2010-11-17 2013-04-02 Microsoft Corporation Action prediction and identification temporal user behavior
US8442863B2 (en) * 2010-06-17 2013-05-14 Microsoft Corporation Real-time-ready behavioral targeting in a large-scale advertisement system
US9319444B2 (en) 2009-06-22 2016-04-19 Monotype Imaging Inc. Font data streaming
US8745728B2 (en) * 2012-05-10 2014-06-03 Bank Of America Corporation Creating federated associate identifiers to positively identify associates interfacing across multiple business applications
US9654594B2 (en) * 2012-09-10 2017-05-16 Oracle International Corporation Semi-supervised identity aggregation of profiles using statistical methods
US9536252B2 (en) * 2013-08-29 2017-01-03 Adobe Systems Incorporated Method and apparatus for enabling targeted messages based on usage of a document accessed within an internet browser
US10074096B2 (en) 2014-03-10 2018-09-11 Visible World, Inc. Systems and methods for anonymous behavioral-based records identification
US10230814B2 (en) 2016-10-14 2019-03-12 International Business Machines Corporation Mobile device identification
Luo et al. 2013 Mobile targeting
US10331631B2 (en) 2019-06-25 Apparatus, systems, and methods for analyzing characteristics of entities of interest
US8447643B2 (en) 2013-05-21 System and method for collecting and distributing reviews and ratings
CN102460495B (en) 2017-03-01 Dissemination of promotional information in social networks
US8838564B2 (en) 2014-09-16 Method to increase content relevance using insights obtained from user activity updates
US8972275B2 (en) 2015-03-03 Optimization of social media engagement
US9256761B1 (en) 2016-02-09 Data storage service for personalization system
KR101336210B1 (en) 2013-12-05 Platform for mobile advertising and persistent microtargeting of promotions
US9178951B2 (en) 2015-11-03 Hot within my communities
US20120166285A1 (en) 2012-06-28 Defining and Verifying the Accuracy of Explicit Target Clusters in a Social Networking System
US20050086105A1 (en) 2005-04-21 Optimization of advertising campaigns on computer networks
KR101323233B1 (en) 2013-10-30 Keyword tracking for microtargeting of mobile advertising
US8909569B2 (en) 2014-12-09 System and method for revealing correlations between data streams
US20100241968A1 (en) 2010-09-23 Tool for embedding comments for objects in an article
US20090204478A1 (en) 2009-08-13 Systems and Methods for Identifying and Measuring Trends in Consumer Content Demand Within Vertically Associated Websites and Related Content
JP5911432B2 (en) 2016-04-27 Communication of information on the activities from another domain in the social network system
US20140136997A1 (en) 2014-05-15 Targeted advertising based on trending of aggregated personalized information streams
US8725858B1 (en) 2014-05-13 Method and system for selecting content based on a user's viral score
US20110282943A1 (en) 2011-11-17 Systems and methods for determining value of social media pages
US20110231241A1 (en) 2011-09-22 Real-time personalization of sponsored search based on predicted click propensity
EP2747014A1 (en) 2014-06-25 Adaptive system architecture for identifying popular topics from messages
US20090197582A1 (en) 2009-08-06 Platform for mobile advertising and microtargeting of promotions
US9710555B2 (en) 2017-07-18 User profile stitching
KR101923066B1 (en) 2018-11-28 Understanding effects of a communication propagated through a social networking system
US20080005313A1 (en) 2008-01-03 Using offline activity to enhance online searching
Owner name: BLUE KAI, INC., WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LITA, LUCIAN VLAD;BIGBY, MICHAEL DAVID;REEL/FRAME:026462/0338
Free format text: CHANGE OF ADDRESS;ASSIGNOR:BLUE KAI, INC.;REEL/FRAME:030228/0731
2019-01-07 STCV Information on status: appeal procedure
Free format text: NOTICE OF APPEAL FILED
Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER


Take a Break - an app that can be used to force users to take a break after a configurable time, which is helpful. The application was created after a question on AskUbuntu, where the user is asked about the application, which could help him to take a break.
With the help of Take a Break you can do exactly this – you can do so that the app will force you to take a break or simply notify you (pop-up on top of other Windows box, but you can easily close it), all depending on the "effect" that you choose in the settings, Take a Break, and, of course, if you know how to get rid of all these effects (for example, from the rotation options of the screen).
Here is how it works Take a Break: you set the work time, break time and effect. The application performs an action (effect) that you chose to break after the expiry of the working time.
Effects can be turn screen upside down, screen lock or a simple display of a notice.
Option to automatically start Take a Break at the start of the system.
For screensaver or lock screen you need to install gnome-screensaver in your system, so make sure you have installed it, if you want to use these features!
Although available are more or less similar to this application (such as Workrave, which, unfortunately, hasn't been updated since 2013 and looks abandoned), Take a Break simple and lightweight and I would say, quite effective.
If you don't want to add PPA repositories in your system, you can get the deb packages from here.
I installed onto my 17.3 system with Cinnamon, and when it went it came back from the screencover my bottom panel was gone. It appears that this has to do with incompatibilities with gnome-screensaver and the cinnamon-screensaver. As much as this was interesting to me, I uninstalled it.


You are here: Home / News / Who can value your property in an SMSF?
If you're an investor with property in a self-managed super fund, you need to get it valued every so often, but who exactly can put a price on your property?
Having property in an SMSF means adhering to rules lined out by the ATO, one of which being that financial statements and accounts need to be prepared every year, which includes the market value of any property.
But providing a valuation for that property cannot be done by yourself. In fact, knowing who can do the valuation is what Salle Dale, state director for NSW, the ACT and Queensland of Opteon calls a large grey area.
"In some instances, the ATO will list that it has to be done by a fully qualified registered valuer. In an instance where you're transferring property into your super fund and it's a related party transfer or a related party sale, you definitely have to get a fully qualified valuer to carry out the valuation," Ms Dale said to Smart Property Investment.
"In the other instances, generally the valuation can be done by a property expert or someone who's an expert in that area, and that's where the grey area comes in. That may be a real estate agent or someone who's very knowledgeable in that market but they still have to follow the ATO's guidelines on property valuation.
In order to avoid the grey area entirely, Ms Dale recommended going to a fully qualified valuer, as they would be able to "tick all the boxes".
If a valuer is used, Ms Dale said the auditor will view it as being arm's length; the valuation rule which is the purchase and sale price of fund assets reflecting market value. However, a property expert, such as a real estate agent, may break this rule.
If you decide to go down the route of the property expert and they provide an incorrect valuation, the ATO will then track you down and ask you for updated information.
"The ATO can come back and review that valuation that you get from the non-valuer expert and … ask some questions in regards to the data that the valuation was given on, because it specifically states that you have to have supportable data for your valuation," she said.
Alternatively, Ms Dale said there are products that can also provide valuation.
"It gives you piece of mind, it takes the grey area out of whether you need to have the fully qualified valuer or a property expert," she said.
Please contact us if you would like more information on how we can help you with a property valuation for your SMSF. For a free quote please email contactus@opteonsolutions.com or call 1300 40 50 60. We can't wait to help you!
This article first appeared on Smart Property Investment, written by Sasha Karen: Who can value your property in an SMSF?


In recent years the oil & gas industry has fueled the economy in Alberta to an unprecedented level. Although many Albertans have benefited from the recent boom not all residents have been so fortunate. There is a large income gap between the oilfield industry workers and those not employed in a related industry. The area most notably affecting people is the housing market.
In 2004 the average selling price of a home in Drayton Valley was $158,859, in 2007 it was $277,507 a 75% increase*. As house prices go up it starts a snowball effect of challenges for low to middle income families. It increases the amount of down payment required to purchase a home which sends many families into rental property, this lowers the vacancy rate, increases demand and in turn forces increases of rental rates. Unfortunately many families become "rent broke" and saving for such a large down payment becomes virtually impossible forcing them to stay a renter. Home ownership becomes a distant and unobtainable dream that is seemly only for the privileged minority.
For many years local businessman, Hack Hamdon, was aware of the need for affordable housing in Drayton Valley and had a dream of helping struggling families with this need. He spent many months and countless hours working with Habitat For Humanity to set up an affiliate in Drayton Valley. Unfortunately Habitat decided that the community was too small to sustain an affiliate. In February of 2007 Family Community Support Services Coordinator, Lola McGhie contacted Mr. Hamdon to discuss the housing situation. They talked about the fact that Drayton Valley is an incredibly generous community and perhaps they should try reaching to that local generosity to help address the need.
A call went out to the residents of Drayton Valley to meet and discuss the possibility of the community building a home for a family in need. The response was tremendous with more than 30 people attending the first meeting. It was obvious that the generosity of the community would again extend itself to address such a dire need.
After many meetings a dedicated group of 8 volunteers plowed forward fundraising, planning and organizing until finally on December 11, 2007 the Humans Helping Humans Housing Foundation was officially a Not for Profit Society. Again the outpouring of community spirit was overwhelming. Before long the Town of Drayton Valley awarded the Foundation with a grant close to $84,000. Business owners stepped up and donated nearly $100,000. A lot was purchased, policy was written, plans were drafted, tradesmen & neighbors volunteered. Soon a duplex project was underway. The long awaited dream is becoming a reality.
The most common barrier to home ownership is the cost of housing. This is a cascading problem. It increases the down payment required, it increases the amount of monthly payments which in turn increases the family's debt service ratio and prevents many middle income families from qualifying for a mortgage. The goal of the Foundation is to build homes at cost in order to assist low to middle income families achieve home ownership.
We are aware that to be successful there are several areas for which we must remain accountable. These are finances, construction quality, family selection and mortgage repayment.
To keep the cost of the home down the Foundation has recruited both professional and unskilled volunteers to build the home. We have had overwhelming support from the construction industry with many companies offering their services. A significant portion of building supplies have either been completely donated or sold to us at cost. Our first duplex is a well built home that is ideal for a family. The home will be sold for approximately $60,000 below market value.
We are accountable for the families that are chosen to purchase the homes. The Family Selection Committee has developed a comprehensive family selection policy that uses a points system to gauge the need of the family. A criminal record check, letters of support, employment history and a series of interviews with financial and psychological experts are some of the tools the Selection Committee uses to determine eligibility. The selection process is anonymous until the final recommendations are brought to the board for their decision.
The foundation is not only addressing the affordable housing problem, but it is creating a sense of community pride amongst those involved with the project. It has instilled an overall feeling of wellbeing amongst not only the volunteers who have gave countless hours to this project but also has created a sense of belonging for the families who have benefited. The commitment of these families as well as the countless volunteers who participated in the project is a remarkable demonstration of the Town of Drayton Valley, Pulling Together.


text:
Kim O'Connell
Vietnamese Heritage
The Arlington Table
Words & Places
A blog about writing...and history, place, preservation, and more.
Applying for a National Parks Artist's Residency
I was pleased to moderate a panel at the annual AWP Writing Conference in Washington, D.C., this past week, focusing on being an artist-in-residence in the national parks. Here is the text of a corresponding handout from the panel with information on being a national park A-I-R:
Dozens of sites in the National Park System have artist-in-residence programs, and most support writers. Some parks might have open calls for all kinds of artists to apply, whereas others might put out calls for certain types of artists, so that writers might have to wait until applications for their specific discipline are requested. Most A-I-R programs are run by the National Park Service, often with support from private donors and trusts, but some residencies are administered by educational institutions or art foundations in partnership with the park.
General information/structure:
Park A-I-R programs vary widely, but generally the resident artist will be provided lodging (doubling as work space) for a period of 2 to 4 weeks. The artist is generally expected to provide food, transportation, and any necessary supplies, although some parks might offer a stipend or per-diem to help cover food. Lodging can range from hotel-like rooms or apartments to private or rustic cabins; expect accommodations to be basic but sufficient. During the residency, some kind of public engagement is usually required of the artist, e.g. a workshop, reading, a lecture during a hike, etc.
A-I-R programs also often require that artists donate some work of art to the park after their residency. For writers, this may mean allowing their writing to enter the public domain, since the park is governed by a federal agency. However, writers would generally be free to publish their work elsewhere and to adapt the work into something fundamentally new (and thus copyrightable), as with any public domain work. Such requirements would be outlined in a contract that artists would sign prior to the residency.
Although the process will vary from park to park, generally A-I-R applications will require the following information:
* An artist's statement about your particular writing focus, your background and accomplishments
* Project proposal to be undertaken in conjunction with the residency
* Description of public program (workshop, reading, etc.)
* Resume or curriculum vitae
* Writing sample(s)
* Contact information for references who know your work and can attest to your ability to work independently in this kind of residency
** Be sure to check individual national park web sites for specific information.**
National Park Service A-I-R web site
National Park Arts Foundation
Alliance of Artists Communities
Artist-in-Residence Field Notes (for former/prospective A-I-Rs)
Remembering a Mentor and a Friend
An arrangement at the funeral of Mr. Nguyen Ngoc Bich, March 12, 2016.
It's an odd feeling, being a stranger to your own heritage, but that's a feeling I've had most of my life.
I am the daughter of an American father and a Vietnamese mother. My parents met during the war, when my father was a U.S. Army captain stationed on the base at Okinawa, Japan, where my mother had been hired to teach Vietnamese to U.S. soldiers. After a brief and passionate courtship, they married on Okinawa and moved back to the States. Unfortunately, they divorced in 1977, and my newly single father was awarded custody of my young brother and me.
Thus, I grew up fully immersed in American customs, eating burgers and hot dogs, going to public school, and hanging out at the mall. It didn't help that I was tall and white-skinned, with medium-brown hair, wholly resembling my Irish-American father. I didn't look like my Vietnamese mother at all. Even in those times when I was with my mother, when we would cook spring rolls together or visit the Vietnamese shops at Eden Center in Falls Church, Virginia, I never felt very Vietnamese.
As a child, that didn't matter that much to me. But as I got older, I began to desire a stronger connection to my Vietnamese heritage. Without that connection, it felt like I was always standing on one leg. I sought to learn more about Vietnam and the experiences of people in the Vietnamese community. When I was in graduate school at Goucher College, studying historic preservation, I began to research and write about the section of Arlington, Virginia, that had been settled by Vietnamese immigrants and refugees after the fall of Saigon and was eventually known informally as "Little Saigon."
It didn't take long for this work to lead me to meet Mr. Nguyen Ngoc Bich, whom I interviewed for my graduate school paper, as well as several other members of the local Vietnamese community. We sat in Mr. Bich's basement, surrounded by his voluminous books, photos, and papers, as he told me about his many experiences in Arlington, working for the School Board and other entities in several capacities that served the local Vietnamese population. He was an author, translator, educator, community spokesperson, lobbyist, and so much more. But most of all, I remember being impressed by his warmth, intelligence, and generosity.
Then, in 2004, Mr. Bich and I came together again to film a segment about Arlington's Little Saigon for a PBS (WETA) documentary called "Arlington: Heroes, History, and Hamburgers." Again, Mr. Bich was a sensitive, authoritative figure who offered meaningful insights about this essential time in Virginia history. His warm smile was, to me, the highlight of the segment. When I was with him, he made me feel accepted as a member of this community too. He gave me permission to stand on both legs.
Some time passed, but with the 40th anniversary of the fall of Saigon in 2015, interest in commemorating Arlington's unique Vietnamese heritage--particularly recognizing Little Saigon as the first place of refuge for Vietnamese in Virginia after the war--was growing within county government. I was honored to work with representatives from the community as well as Arlington's historic preservation, cultural affairs, and public art departments, along with gifted students from Virginia Tech, to recognize the beginning of Vietnamese resettlement in this area. It was essential that Mr. Bich be a part of this burgeoning effort. It was a real pleasure to introduce him at a commemorative event that recognized this history through the collection of oral histories and an audio tour of the former Little Saigon, as well as a public art installation. (Mr. Bich himself recorded an oral history interview that has now been transcribed and is available to researchers at the Arlington Public Library's Center for Local History.)
This year, we were about to start work together yet again on a booklet about Arlington's Vietnamese heritage, funded with a grant from the Virginia Foundation for the Humanities. Mr. Bich was to be an expert scholar on this project, and I was so pleased when he attended the kick-off meeting for this effort in January 2016. It was a shock to receive the news that Mr. Bich had passed away only about a month later.
Mr. Bich's passing is a huge loss to the Vietnamese community, as well as to the community of educators, students, historians, activists, and scholars that he has influenced both here in America as well as in Vietnam and other parts of Southeast Asia. It is also a huge loss to me personally. Mr. Bich was a generous mentor and friend who showed me what it means to be Vietnamese. Just as he helped so many people to find and hold onto their own history, Mr. Bich helped do the same for me.
Whose Life is it Anyway?
Illustration by Victo Ngai for The Washington Post.
When you have a child, you immediately make all the decisions for this other human being, deciding what they eat, what they wear, where they sleep, where they go, who they will play with, and so on. You are utterly, irrevocably in charge.
If you happen to also be a writer, this gives you a heady power. Suddenly, this is not just a child but a font of story ideas! The Internet is littered with blogs, articles, lists, status updates, tweets, and more about what curious, adorable, touching, or infuriating things our kids are doing. I bet, in most of those cases, the parents didn't ask the kids for permission to write about them. Those rambunctious toddlers didn't sign any kind of use agreements or contracts. After all, this is mommy's life we're talking about, right? These are our children! They belong to us, so therefore we can feel free to write about them as we wish.
I once thought this way too. When my son was three years old, he developed a social anxiety disorder called selective mutism (SM), wherein a child who can otherwise speak normally becomes mute in certain situations, such as school or daycare. In our case, for a while our son stopped speaking everywhere, including at home with my husband and me, and it was a very frightening and stressful time.
To process what we were going through, I started a blog, now dormant, which served as both an outlet for our experiences as well as a way to connect with other families facing this same confounding condition. When I started writing, I used my son's real name and wrote about very personal things, like embarrassing play dates where he refused to cooperate, the many times I lost patience with him, and even his bathroom habits. Later, I published a personal essay about SM on the parenting site Babble, again using my son's real name. It didn't occur to me, then, that this might be an invasion of his privacy, or that if I had told him what I was doing or allowed him any agency at all, he might have objected to my writing about him.
Things became clearer to me when my Babble piece was picked up on the front page of Yahoo News. For days, my very personal story went viral, garnering more than 1,000 comments and many shares. Although I received tons of support, I also got slammed by the usual contingent of trolls, as well as others who dismissed me as an overanxious mom making mountains out of molehills. What hurt the most was seeing people make judgments on my son, tossing his name around like a football. I felt like I had given birth to this child and then thrown him to the wolves. It was a hard lesson.
As the years passed, the invisible umbilical that ties all mothers and children together began to stretch out. My son became more and more of his own person. I began to realize that, as much as his anxiety disorder was something I was going through and processing, it was his life I was writing about. I recognized, belatedly, that he had a right to privacy. Yes, perhaps I should have felt that way all along. But I'm glad I came to that conclusion even late in the game. I stripped his name from all my previous writings about him, and I confessed to him about all I had written.
My son is now 8 years old, a talkative kid who has fully conquered selective mutism. Yet I still feel that our experience and this condition are worth writing about, so this spring I pitched an essay about him to The Washington Post. Before I did so, I asked him how he would feel if I wrote a story about him and his SM.
After considering it, he agreed, but said I couldn't use his name or his photo. I totally concurred and gave my story to the Post with these restrictions, which they thankfully abided by. My article was published both in print and online, with a lovely and poignant illustration by Victo Ngai, shown here.
When it was published, I asked my son if he wanted to read the story, and he said no. I didn't badger him about this. Perhaps he will tell his own version, in his own way, in the future, and I hope he does. But it's his choice.
Whose life is it anyway? It's his, it's mine, and it's ours. I'll keep writing, but I'll do it out in the open.
On Rejection, and Not Giving Up
Isaac Asimov once said that rejection slips are like "lacerations of the soul, if not quite inventions of the devil." I've been thinking about rejection a lot lately, in part because I recently gave a talk on this topic to the wonderful writers of the Capital Christian Writers group.
In my talk, I referenced the remarkable tenacity of cartoonist Tom Toro, who submitted 609 cartoons to The New Yorker that were all rejected. Then, finally, his 610th cartoon struck gold, and he achieved his longtime dream of being published in The New Yorker. I've posted his very funny cartoon.
I have plenty of my own rejection stories. A few years ago, I wrote a personal essay about my often-strained relationship with my mother, who is Vietnamese. I called it "The Saving Grace of Spring Rolls." I poured my heart into this story, which talked about how making my mother's beloved spring roll recipe brought us together when other things drove us apart. I believed in that story.
Over the course of three years, I submitted that story to over a dozen magazines and two writing contests. It originally was about 1,800 words long. When that didn't get me anywhere, I pared it down. When that still didn't work, I reworked it, striving to find its essence. I kept sending it out, and it kept getting rejected.
At some point, I took out a piece of paper and wrote "Never give up" on it five times, like this:
I kept that on my desk. I kept going. I didn't give up.
In November 2012, I submitted my essay to Ladies Home Journal, which had a "Story Behind the Recipe" column. By that point, my expectations were tempered. And, in predictable fashion, I heard nothing. The following February, I submitted a shorter version of my essay to the Bethesda Literary Festival writing competition in Maryland.
Finally, I caught a break. The essay earned an "honorable mention" in the competition. I was thrilled that this essay that I so believed in had finally earned some validation.
Then, one day in July, I had a phone call from an editor at Ladies Home Journal, a full eight months after I had submitted to them. The editor apologized for keeping me waiting and said she wanted to publish my spring roll story. Believe me, that call was so worth the wait. My piece appeared in Ladies Home Journal last May.
I've come to realize that rejection is simply the universe's way of telling me that I am brave and strong, and that I am pushing myself into new and possibly uncharted territory. Rejection means that I am gaining ground, not losing it. I've come to view it as my old and helpful friend.
Kim A. O'Connell
Thoughts on writing, travel, people, and places.
Selective Mutism

redpajama_set_name: RedPajamaCommonCrawl


Ecommerce photography requires accurate and consistent images. When SKT Ceramics started working with our photographer Sarah Hone, it was all about upgrading their website images.
With over 87 designs, multiple glazes, and multiple product types, there are numerous products for SKT to display online. As a small business owner, Susannah Tisue continually has a hands-on approach to both her pottery and its marketing. Participating in every step of the shoot, Susannah took some time to help us understand more about her motivations for updating her images.
Glazes and fine drawings have nuances that can quickly be lost with low-quality images. For example, the icy white glazes on many of these products actually have the slightest blue hue, and without proper lighting and composition, that detail won't reveal itself in the photo. These nuanced differences are important to show to customers online who cannot see and hold the products before purchase.
It's important to present all products consistently. Sarah does a fantastic job saving set up notes from each shoot. Everything from lighting setups to a digital grid help repeat photo compositions shoot after shoot. This lets Susannah return to OMS when she has new products and always come away with a consistent output – a process that is reminiscent of the production of her own products.
While inventory was being photographed, SKT Ceramics website manager was preparing and working on updates comfortably in our studio. The collaborative and hard-working atmosphere made for a fun day.
To view more images like these check out the SKT Ceramics website.
If you're in need of better product photography talk to an OMS photographer today.