[go: up one dir, main page]

HK1165062B - System and method for delivering sponsored landmark and location labels - Google Patents

System and method for delivering sponsored landmark and location labels Download PDF

Info

Publication number
HK1165062B
HK1165062B HK12105742.6A HK12105742A HK1165062B HK 1165062 B HK1165062 B HK 1165062B HK 12105742 A HK12105742 A HK 12105742A HK 1165062 B HK1165062 B HK 1165062B
Authority
HK
Hong Kong
Prior art keywords
relevance
user
location
tags
sponsored
Prior art date
Application number
HK12105742.6A
Other languages
Chinese (zh)
Other versions
HK1165062A (en
Inventor
西蒙.金
克里斯多佛.希金斯
马克.戴维斯
Original Assignee
Excalibur Ip, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Excalibur Ip, Llc filed Critical Excalibur Ip, Llc
Publication of HK1165062A publication Critical patent/HK1165062A/en
Publication of HK1165062B publication Critical patent/HK1165062B/en

Links

Description

System and method for delivering sponsored landmarks and location tags
Technical Field
The invention relates to selecting advertisements based on landmark and location data.
Background
Many location systems (e.g., GPS systems, vehicle navigation systems) operate with human-readable textual representations of user locations (e.g., Street addresses (e.g., 1200 Main Street)). However, few location systems are able to correctly identify the current address of a user. This is due in part to inaccuracies in location sensing and in part to the lack of precision or completeness in the underlying geographic data used in reverse geocoding techniques. As a result, some location systems simply report that the user is at a certain latitude and longitude (e.g., latitude 43.1234, longitude 21.2345) or may report that the user is at a certain "pseudo" address (e.g., 1200 Main Street, where 1200 Main Street does not actually exist), or may report that the user is near a certain location rather than at a certain location. For example, if user "a" is at a certain longitude and latitude and that longitude and latitude are reported in the underlying geographic data as being at the same longitude and latitude as, for example, the empire country building, some location systems report that user "a" is close to the empire country building. In most urban environments, users will often be near a large number of businesses or landmarks, so location system reports listing landmarks near the user's location or within some proximity of the user's location may report too much information. Conventional filtering techniques, including those employed within so-called "geo-models," can reduce the amount of location information presented to a user, yet it is desirable to make a "best" selection of landmarks presented to the user. The present invention addresses ranking of landmarks or businesses within an uncertainty region, and the present disclosure presents techniques for constructing and ranking sponsored landmarks (sponsoliddmark) and location tags (location labels) to produce a set of "best" landmarks to report. In addition, combining sponsored content with the technology disclosed herein may result in an improvement in performance (e.g., number of impressions, number of clicks, number of promotional downloads, actual sales, etc.) of the sponsor's campaign, and thus may increase revenue.
Other features and advantages of the invention will be apparent from the accompanying drawings and from the detailed description that follows.
Disclosure of Invention
A method for constructing a geo-location service reply (e.g., "you are close to Bob's cafe" or "go one block north to Bob's cafe") to serve to a client system (e.g., user's mobile phone, smartphone, GPS terminal) based on landmark-related relevance factors (e.g., whether the user's location is close to a known landmark or sponsored location). The system receives a user's geo-location service request (e.g., "where i am") and, in turn, constructs one or more response candidates to service the user's geo-location service request. Candidate replies are then scored based on relevance factors (e.g., whether the candidate location relates to the user's most recent geo-service query, whether there are sponsored landmarks in general proximity, etc.), and the highly scored geo-service replies are sent to the user's client terminal. In some cases, more than one relevance factor is considered (e.g., proximity relevance, visibility relevance, familiarity relevance, etc.).
Drawings
The novel features believed characteristic of the invention are set forth in the appended claims. However, for the purpose of illustration, several embodiments of the invention are set forth in the following drawings.
FIG. 1A shows a schematic representation of a system, including a network environment in which some embodiments operate;
FIG. 1B is a flow diagram of a method for responding to a geographic location request according to some embodiments;
FIG. 2A presents a system implementing possible techniques for analyzing user geographic location data, in accordance with some embodiments;
FIG. 2B presents a system implementing a possible technique for selecting a relevant response according to some embodiments;
FIG. 2C presents a system implementing a possible technique for returning relevant responses to a user, in accordance with some embodiments;
FIG. 2D presents a system implementing possible techniques for assembling advertisements and tags to users, in accordance with some embodiments;
FIG. 3 illustrates a conceptual model of one embodiment of the W4 engine;
FIG. 4 illustrates the use of sliders to affect quantitative scoring in accordance with some embodiments;
FIG. 5 illustrates a possible analysis component of one embodiment of W4;
FIG. 6 illustrates one embodiment of a W4 engine showing different components within the sub-engine shown in FIG. 5;
FIG. 7 is a diagrammatic representation of a machine in the exemplary form of a computer system within which a set of instructions may be executed;
FIG. 8 is a diagrammatic representation of several computer systems in the exemplary form of a client server network within which environment a communication protocol may be executed.
Detailed Description
In the following description, for purposes of explanation, numerous details are set forth. However, it will be recognized by one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the description of the present invention with unnecessary detail.
Mobile phones and other mobile devices have proliferated to the point where most people in many developed countries carry at least one mobile device. Additionally, such mobile devices are capable of geo-location awareness (geo-location aware). Thus, the demand for so-called geo-location services continues to increase, and mobile users (hereinafter referred to as "users") have increasingly high expectations for such services. Although the mobile device described above, or any device declared by the user as a location platform ("UDLP"), together with the network service provider, is able to identify the user's location in longitude and latitude with some accuracy (e.g., within a radius of 10 meters or so). However, knowing only the longitude and latitude is of limited help to the user; landmark names or photographs are likely to be much more useful to the user than longitude and latitude. However, in most urban environments, at any given moment, a user will be close to many landmarks and businesses — all located within a very close distance. Merely listing candidates (e.g., alphabetically, or by category) may also be of no help to the user, as the mobile device can only reasonably display a relatively small amount of information at any given time.
Embodiments of the invention disclosed herein take into account relevance to the user, which may include relevance factors relating to the location of the business (e.g., "Bob's coffee shop"). Such relevance (e.g., spatial relevance, temporal relevance, social relevance, topical relevance, keywords, or other relevance factors) allows advertisers or business owners to pay to have their businesses featured within the context of a geo-location service, and such advertisers may want to have their brands associated with nearby landmarks. Of course, techniques are provided herein to rank or score relevance factors and other factors so as to render a reasonable set of choices from a larger set of many nearby landmarks within the system-and in so doing, not significantly reduce the accuracy of the geographic service information returned to the user. As a result, real-world businesses pay to associate relevant reference location tags for nearby locations. This is similar to sponsored search results for a given query, as real-world businesses pay to associate relevant advertisements to search query results. In addition to returning tags and sponsored tags, the system may also return directions from an arbitrary location to a sponsored landmark (e.g., "go two blocks north from koxta to Bob's coffee shop"). Thus, the end user of the system gains the benefit of having a reliable human understandable location tag, while at the same time the advertiser gains a new way to find "qualified potential customers" (e.g., people who are looking for a coffee shop and standing right in front of Bob's coffee shop, or just standing right in front of Bob's coffee shop). Operators of geocoding services have gained even more utility due to better user experience.
Embodiments of the present invention create a new form of geo-location services and sponsored advertisements that incorporate reverse geo-coding (location) requests from UDLPs (hereinafter "user devices"). Typically, the location of the user may be made available to the network. An application server on the network may then use the location information in conjunction with other information to present highly relevant information back to the user. In particular, the information returned to the user may include a common name for a well-known landmark (e.g., "empire building") or a name for a well-known business (e.g., "starbucks"). However, the techniques disclosed herein provide an alternative model for guiding users based on relevance factor matching (possibly in conjunction with a real-time bidding market). A real-time bidding market organized as an electronic bid phrase auction may include any combination of local and national advertisers for both the landmark and sponsored story tags. Additionally, the techniques for guiding the user may include specialized tags (e.g., text tags, audio tags, video tags, media tags, text tags translated into any one or more languages, or images, sounds, videos, and/or other media) and the tags selected for guiding the user may be selected from generic tags (e.g., "empire state building") and/or from sponsored tags (e.g., "starbucks at the century plant entrance" of empire state building ") and delivered to the user in a targeted manner.
Of course, any number of techniques for targeting users may be used, including user preferences (e.g., text messages are preferred over e-mail), user permissions (e.g., user permissions track locations, user permissions use previously captured user profile data or user behavior data), and/or any other user information for that matter. Similarly, any number of techniques for delivering information to a user may be used, including text messaging, as well as text pages, pushed media, road segment by road navigation instructions, links, web page displays, streaming media, interactive media, and so forth.
Individually and in combination, the techniques disclosed herein connect users to useful geo-location schemes based on real-world landmarks and real-world businesses and other real-world entities (hereinafter "RWEs") so that users can more easily and efficiently utilize geocoded information provided by and to real-world UDLPs. Some embodiments of the invention include a sponsored search advertising marketplace system, along with advertiser accounts and campaign management functions (e.g., a maximum bid system for sponsored events). Other embodiments make information from (or related to) a user's geo-location request available to dynamically construct or otherwise tag content for a response to the geo-location request.
The diagram 100 of fig. 1A illustrates a possible scenario involving a mobile user and the user's interaction with a network that provides one or more services for delivering sponsored landmarks and location tags. As shown in the figureShown in position L0The pedestrian user at (a) requests a geographic location service from the network 150. In response to a user's request, the network 150 analyzes the user's geographic location against a database of landmarks and sponsored locations, which may include one or more dedicated servers 160, 165. Such analysis may also include operations for forming a bidding marketplace 155 and performing a real-time auction. Once the network 150 returns the information to the user, the user may utilize the returned information. Such information may include sponsorship information, such as "you are across a city park pool-this is brought to you by Mike sports equipment store" (see area 120). Alternatively, it may include non-sponsored geographic location information, such as "you are at the east boundary of a city park". Depending on the density of the user's locations, it may even include geographical information about neighboring locations, e.g. "you are only two blocks from Bob's coffee shop" (see region 130). Continuing with this scenario, the user walks to location L1(at Bob's coffee shop direction) and requests the geo-location service again. The network may again form a new bidding market 175 based on the new geographic location (see area 110) and may again perform the real-time auction. At least partially associated with the geographic location L1Relevant such results are returned to the user. Such results may be general, such as "you have only one street from Bob's coffee shop," or may be more user specific (e.g., "get your favorite french bread coffee at Bob's coffee shop") or even user customized, possibly including real-time, road-by-road directions to Bob's coffee shop. In fact, the user-customized results described above may use (or may not use, as described below) any kind of information available from the user, the user's profile, the user's behavior, or any other data used in the process of relevance matching. The user continues to interact with the network and the network responds as long as the user continues to make requests for geo-location services (e.g., from within the area 140).
Considering now in somewhat more detail the various features of the system described within the context of FIG. 1A, it should be noted that the bid markets 155, 175 may be spontaneously formed if a user requests geographic services from a particular location. Even though the spontaneous auction may have only a single winner (sponsor), the sponsor's advertisement is not necessarily selected. Other criteria of relevance factors, which may take into account a range of user data, may be included in any filtering and scoring operation in order to determine a set of most relevant results (and not necessarily just the highest bidder-specified results) to return to the user. In some embodiments, the system operates without knowledge of the user profile or characteristics (e.g., anonymous geocoding), and in these cases all qualified advertisers are included in the marketplace for sponsored events.
The system and scenario described above may be generalized to method 1B00 as shown in fig. 1B. The steps shown include: (a) receiving a user's geo-location service request 1B10, (B) analyzing the user geo-location data 1B20, (c) constructing a correlation response 1B30, and (d) returning the correlation response to the user 1B 40.
In some embodiments, as implied in operation 1B10, the geo-request comes from a user (e.g., from a cell phone, or other UDLP), where the user replies to the geo-coding service request, and the system calculates the actual location via one or more techniques (e.g., via GPS, cell triangulation, etc.) to create a base location. Various techniques may then be applied to analyze the user's base geographic location 1B 20. The geographic location typically yields a point location with an accuracy that is compliant with positioning techniques (e.g., via GPS, cell triangulation, etc.), and thus typically the base location is extended outward to encompass a wider geographic coverage area. Of course, wider may mean wider in the range of some fraction of the resolution of the geolocation technique, or it may mean wider in the range of multiples of the resolution of the geolocation technique. The expansion of geographic coverage may continue outward until an upper coverage limit is reached or until a sufficient number of advertisers associated with the covered area are populated into the initial advertiser candidate set. Operation 1B30 constructs a relevant response to create a set of candidate responses that may include sponsored responses (e.g., "only 50 feet from Bob's coffee shop") and/or non-sponsored responses (e.g., "you are 2 blocks east of a city park"). Of course, in the event that enough sponsors (advertisers) are populated in the initial set of candidate advertisers (i.e., in operation 1B 20), then a spontaneous bidding market may be created using the user's geographic location as a bidding characteristic. Those skilled in the art will immediately recognize that an autonomous market can be created and bidding can be completed in seconds or with little effort. Once the bid is complete, the advertiser is ranked according to a weighted distance, and may also be ranked based on the bid and past performance models to generate a winner (and possibly a list of the top ranked ones) for the request/event. In operation 1B40, the correlation results are returned to the user. The results returned to the user may include text, images, audio, video, or any combination thereof, and the user's location may be designated as "near," or "beside," or "near street corner next to," or "immediately adjacent," or "behind," or "outside," or "in front of," or "in the middle," or "opposite street" of, "in", "at," north, "south," left, "right," or "right" of, and so on. These results may be stored in the memory of the computer, or it may be stored in a cache or perhaps a non-volatile medium, or it may be stored in a message that is communicated to the requesting user over a network or bus.
FIG. 2A presents a system 2A00 that implements a possible technique for analyzing user geographic location data. Of course, system 2A00 may be implemented in any of the contexts of FIGS. 1A-1B. As shown, the operations of FIG. 2A may be performed sequentially, or they may be performed in parallel, or some combination thereof. As mentioned above, due toThe geographic location typically yields a point location, with accuracy dependent on positioning technology (e.g., via GPS, cell triangulation, etc.), so the base location is typically extended outward to encompass a wider geographic coverage area. One possible technique of extending around a point geographic location is to extend radially from the point to include an area sufficient to cover at least one additional landmark or tagged location. For example, if the user's geographic location is at location L0Then the region may be expanded to include the locations of all landmarks and/or tape flags as shown in region 110. Of course, such an area defined by the geographic location points of the included landmarks may result in an irregular shape (as shown at area 110). In some cases, there may be a large number of landmarks and few or even zero sponsored (tagged) locations. In contrast, there may be a large number of sponsored locations and few or even zero common landmarks. Thus, separate operations 2a10 and 2a20 are defined such that a neighborhood may be defined (using a larger radius) to include at least one location of each type in the set of candidate locations. Conversely, in high density locations, a neighborhood may be defined (using a smaller radius) to include enough few locations of each type in the set of candidate locations. After at least one location of each type is so identified, operation 2a30 may retrieve database records relating to any/all locations in the candidate set. Such retrievals, or a subset thereof, may then be stored 2a40 for use by other operations. It should be emphasized that while there are a variety of services and databases that supply location data, one technique for populating a location database that may be used in embodiments includes data that is self-populated by a sponsor or advertiser. The value of the self-filling concept can be understood by recognizing the following facts: defining a sponsored or advertising campaign for use with the techniques described herein may result in populating locations that are not only important to the sponsor/advertiser but are not explicitly found in the location data supplied above. For example, a chain of coffee shops may publish their more recent set of store locations as sponsored locations than are readily available from a common data source, such as a local business association. Of course, it is possible that the landmark database mayIs completely populated with sponsored locations and in such cases the location data supplied above may not be needed. It is likely that some sponsored landmarks will be businesses themselves, but in other cases businesses may sponsor well-known public landmarks (e.g., "berkeley's people park, across the street in Raleigh pub"). In the case of a common landmark, the system can learn the relative attention ranking (popularity) of a particular landmark by simply ranking the number of sponsors competing/bidding for that particular landmark compared to the number of sponsors competing/bidding for other landmarks.
Fig. 2B presents a system 2B00 that implements a possible technique for selecting a relevant response. Of course, system 2B00 may be implemented in any of the contexts of FIGS. 1A-2A. As shown, the operations of FIG. 2B may be performed sequentially, or they may be performed in parallel, or some combination thereof. At a minimum, the system 2B00 can access the information about the candidate location prepared in operation 2a 40. In some cases, the information retrieved in operation 2B10 may be the exact same set of candidate information as prepared in operation 2a 40. In other cases, the candidate set of information prepared in operation 2a40 may be used within additional database operations (e.g., join or project). For example, the set of candidate information prepared in operation 2a40 may not contain any temporal information, such as news items or announcements of some event that occurred at or near a certain geographic location during a certain date or a certain duration of time; however, connections or projections may create such associations.
As introduced in operation 2B20, a pre-filter may be applied. In fact, the composition of the candidate may trigger rules that resolve apparent ties or conflicts (e.g., if there are multiple Bob's coffee shop locations in the user's vicinity, then filter out all but the nearest). A wide variety of pre-filtering techniques are possible and contemplated, including classification and comparison, and heuristics to eliminate duplicates or ties, or other conflicts. As an example, one sponsor, such as a wine dealer, may express a desire to be excluded from a bidding market resulting from a geographic request received at a time and location consistent with a bingo line of anti-alcohol consumption. The meaning of any operation that performs pre-filtering can be understood when the following is considered: this pre-filtering operation is at least partially intended to support sponsor campaign exclusion-so advertisements in a sponsor's campaign that a sponsor wants to exclude (pre-filtering) are not brought to a spontaneous bidding market. More generally, in some embodiments, advertisers may limit the types or categories of users they want to compete for in the auction. To this end, advertisers may specify demographic or other targeting data as explicit exclusions, or explicit limiting factors, or explicitly defining pass/fail criteria for a particular market that may be created by an incoming user request. As an example, a coffee shop may set up a campaign setting such that the bid amount during the hours of around three morning and afternoon is higher than during lunch hours. In addition, the campaign settings for a particular location may expressly exclude participation in bidding during times when a coffee shop at the particular location is closed.
Operation 2B30 is for submitting candidate and pre-filtered market participants to an auction. Of course, such keyword or keyword auctions are well known. The focus of this operation in the context of system 2B00 is simply to form an electronic bid key and/or bid phrase market, holding an auction, and from which at least one winner (or sometimes multiple, in the case of a tie) is generated and possibly a series of top-ranked ones. Similarly, for advertisers having multiple locations within an area, the location-specific techniques implemented in system 2B00 and more generally in system 1B00 provide an efficient way to balance and increase traffic to multiple locations by adjusting advertising spending in areas with lower actual store traffic in real time.
In some embodiments, the system selects relevant candidates for eventual return to the user by pre-filtering the list of possible advertisers in the marketplace using a user profile or user interest profile or other user data, or post-re-ranking the list based on user preferences or other weighting factors found in the user data (see operation 2B 40). In some cases, user data (e.g., user profiles, user permissions, user behavior, or any other user-related data) may be used to apply indicated or inferred preferences for any advertiser within the eligible market over other advertisers. Generally, an advertiser is qualified for consideration if the advertiser satisfies the geographic constraints of the request and is qualified for a particular market and time period, and the user's profile data does not disqualify the advertiser.
Typically, in a traditional online keyword auction, a "best" spot within a particular industry is provided for bidding in the auction, and the advertisement of the winner is placed in the "best" spot. In some cases, factors other than monetization are included in the placement. In particular, operations to satisfy a user's request for a geographic location service may reasonably include one or more factors other than monetization, such as factors similar to spatial correlation. Indeed, in some cases, it may not be reasonable or at least not particularly relevant to present certain responses. For example, Bob's coffee shop may be the highest bidder in a particular auction, and this is reasonable from a perspective because Bob's coffee shop is "just on the river-shore". However, if the user requesting the geo-location service is walking and the bridge crossing the river is closed for foot traffic, it is almost certainly irrelevant for the user because the user cannot easily reach Bob's coffee shop. It is also almost certainly irrelevant to the sponsor of Bob's coffee shop, as the user cannot easily reach Bob's coffee shop, so presenting the advertisement locally at that time would be unlikely to cause the desired user action. Of course, the above is just one example. More generally, the listing of bidders and the inherent monetary relevance factors can be combined with other relevance factors intended to produce highly relevant placements within the context of a geo-services application. As shown in operation 2B40, reasonable and contemplated criteria to consider for ranking/scoring include visibility (e.g., line of sight visibility, size/prominence of signage or addresses, attention ranking, etc.), W4 relevance factors, i.e., who/when/where/what relevance (e.g., social relevance, temporal relevance, spatial relevance, topical relevance), familiarity (how well known the locations of landmarks or tags are), and additional monetary relevance factors (e.g., how are the winning bids calculated in absolute value.
The concept of familiarity in the context of scoring operations goes beyond common definitions and can be viewed as a model that intersects any or all of social relevance, temporal relevance, spatial relevance, topic relevance. For example, a landmark between multiple users in a certain social group that have known or shared its tag may be ranked as more familiar to the user group than a tag that is not shared. Similarly, the landmark "girl's joint concert" may be more familiar to students on the campus than "american bank ATM", even though the physical geographic location returned by the geo-locator system may be the same. Additionally, from the advertiser's perspective, the advertiser may create campaigns to build awareness or familiarity of the advertiser's brand to particular placemarks, e.g., the candy manufacturer "Ghirardelli" has long established a campaign to associate the brand name with a location called "Pier 39," and such campaigns may be extended to advertisements in conjunction with geo-location services. Further, familiarity with a particular location or landmark may achieve a higher value based on aggregated user data. For example, if many users always make a request for "where my friends are" often from a location commonly referred to as "Hachiko", system 2C00 may consider the location and mark "Hachiko" as familiar. In other words, people "vote with feet," and this behavior can be used in the context of ranking/scoring operations.
The notion of visibility in the context of scoring operations goes beyond common definitions and may include characteristics of simple absolute visibility (e.g., eiffel tower), or characteristics of learned visibility (e.g., learned over time based on user behavior), or the use of 3D models, and/or line-of-sight calculations, or the use of street-level images, or even attention ranking. Temporal information may also affect visibility. For example, the Rockpherler-centered Christmas tree is an excellent landmark during the 12 month period, and is not used as a landmark at other times of the year. Similarly, illuminated neon lights may be valid landmarks during nighttime or times when a business is open; monuments may be visible from the road when not obscured by leaves in winter; but at other times these landmarks may be low scoring or may be useless. Additionally, brand recognition may affect visibility-a 20 foot high golden dome is widely recognized as being associated with a brand, while local coffee shop signs, even of similar size, may not leave the same visible impression. The relationship between audience rating and brand awareness is also influential; foreign visitors may not have the same brand awareness as local people, so the personal brand or landmark visibility is at least partially a function of the past personal experience. For example, a physical space-time path collected by the proxy device may show several repeated visits to a particular landmark, location, or brand-associated location, and this data may be used to increase the weight of these locations as potential responses to the user's request in the future. Landmarks, locations, and brands that are included within or are the subject of a communication may also affect the personal visibility of the location to the user, so communications about a location or landmark are relevant even if the user has not physically visited a location in the past. In some embodiments, the real-time location of other users may also be used to affect visibility in a manner that is known to or near to locations or landmarks that are preferred to other users known to the requesting user.
The notion of spatial relevance in the context of scoring operations goes beyond the notion of distance only, and may include personalized distance. In one embodiment, the calculation of the personalized distance between two real-world entities may begin with the determination of one or more routes between the two real-world entities. One or more routes may be selected based on a travel model of user preferences. For example, a person may prefer to walk or use public transportation rather than drive a car. The route selection may simply select the shortest available route. The route selection may also reflect future travel preferences such as avoidance of highways, toll booths, school zones, construction zones, and the like. Given a known route, a spatial distance may then be determined for the route. In one embodiment, the spatial distance is the length of the route. In another embodiment, the time to travel to the destination may be considered a form of spatial distance. Spatial distance can be corrected with spatial factors that are not directly related to distance. Such spatial factors may relate to additional spatial dimensions such as height, altitude, floors on a building, and the like. Such factors may relate to physical attributes of the route or entities having locations on or near the route. For example, if one looks at a landscape or a visually stimulating ambient environment, a route with a bay or sea or horizon may be more desirable. A route may be considered less desirable if a portion of the route is known to be in poor physical condition or is under construction. Spatial factors may also include the additional dimension of the speed (i.e., direction and velocity) of the user or other entity. Spatial factors may also include environmental conditions associated with the physical location, such as local antenna conditions. The spatial distance may then be further corrected using temporal, social, and topical factors.
Temporal factors may be generally defined as factors relating to how the passage of time affects the desirability of a route and the mode of transportation. The most fundamental temporal factor is the time taken to travel a route. Travel time on a route may be estimated based on average travel times historically associated with the route. Alternatively, the travel time may be more accurately determined by monitoring the average speed and travel time from a real-time monitor or sensor. Such sensors may be stationary sensors specifically installed along a major thoroughfare on which they travel for monitoring traffic flow. Such a sensor may also be a user device, such as a cellular telephone or GPS, whose location is continuously monitored and thus can be used to determine the speed of travel of an individual user device whose physical location is known. In one embodiment, the data used to determine travel time on a route may be a combination of many data sources from multiple sensor networks. Such travel times may be useful, but may be enhanced by combination with historical travel time data accumulated over a period of time. For example, on fridays, people may have historically left the office earlier, and on the major route out of town, traffic encounters between 6:00PM and 7:00PM may be predicted to slow down by 15 to 20 minutes. Thus, a traffic speed of 5:45PM may provide an overly optimistic estimate of travel time between 6:00PM and 7:00PM for people with commutes of typically 30 minutes. Travel time may also be affected by weather conditions. Thus, when it comes to rain, traffic on the major route out of town may historically experience a30 minute slowdown. Thus, if rain is predicted or if rain is beginning, the travel time for such routes may be adjusted accordingly. Travel time may also be affected by local events. For example, starting at 7:00PM for a particular date, a concert may have been ordered at a large venue in the downtown area. Historical data may indicate that traffic is slowing near the venue during the concert, increasing commute time by 10 minutes. The temporal factors may also include temporal data relating to the start and end points of the route. For example, if the destination of the route is a restaurant or retail location, the route is undesirable if the location is closed before the route is traversed. This route may also be undesirable if the time waiting at the restaurant for seating exceeds, for example, 30 minutes. If an event is scheduled to occur at a location at a particular time, such as live music starting at 10PM, a route to the location after 10:00PM may be undesirable. Temporal factors may also include temporal data relating to a particular person. For example, if a person has an appointment, an early arrival route for the appointment is desirable. If a person is typically engaged in a particular activity at home, such as watching a particular television show, a route may be undesirable if it takes the person to a location away from home, such as a restaurant, and the location is so far away that the person will not be able to arrive at home before the show is played. Thus, the time taken to traverse a route, as informed by real-time and historical data, and the effect of such travel time on simultaneous events may be determined for a particular route or set of routes. The spatial distance, travel time, and events affected by travel time may be displayed separately in one embodiment. Alternatively, the temporal factors may be used to modify the spatial distance to create a personalized distance. The personalized distance reflects the overall desirability of the route. In one embodiment, the distance increases as the desirability of the route decreases. For example, a route that reflects a spatial distance of 10 miles may be increased to 30 miles because of slow travel time or because it is derived based on real-time travel estimates that the route will arrive late for an appointment. A route expressed as a temporal distance of 10 minutes may be increased to 30 minutes or "TL" (meaning too long) if the route is estimated to be late for an appointment based on real-time travel.
The concept of temporal relevance in the context of scoring operations goes beyond the concept of mere temporal separation. In one embodiment, the temporal factor may be used as a weighting factor or additive factor that is used to modify the spatial distance in a consistent manner. Weighting and additive factors can be used to reflect a simple continuous numerical relationship. For example, if a10 mile route is predicted to have a travel time of 30 minutes, reflecting an average speed of 20mph, while 60mph is considered an arbitrary target travel speed, a weighted distance of 30 miles may be calculated by multiplying the travel time by the target travel speed. In another example, any increment of 1 mile may be added to the spatial distance for each additional minute that one is predicted to be late for an appointment. In another embodiment, the predefined code or marker may be associated with a spatial distance, e.g., "10L" for 10 minutes late, or "TL" for too late or too long. The weighting and additive factors may additionally or alternatively be used with discrete intervals reflecting multiplicative or additive usage. For example, if one is predicted to be 1 to 10 minutes later for an appointment, a multiplier of 1.5 or a10 mile addend may be applied to the spatial distance, while if one is predicted to be 11-20 minutes later, a multiplier of 10 or a 100 mile addend may be applied to the spatial distance. The spatial distance may thus be weighted with the temporal factor in a number of ways to produce a qualitative personal distance that reflects the spatial distance of the route and also reflects the impact of the temporal factor on the desirability (or even feasibility) of the route. In one embodiment, the exact method of combining spatial distance and temporal weighting factors may be different for different people and may be customized to reflect the personality or habits of the person. Thus, people who are annoying to drive a car may give a high weight to travel time, while people who are compulsive on keeping their time may give a high weight to work or dating. In one embodiment, the user may explicitly enter such preferences. In another embodiment, such preferences may be inferred user behavior reflected by sensor data and interaction data of the user accumulated over time. Social factors may also be utilized to correct spatial distances. Sociability factors may be generally defined as factors that relate to how a person's social relationship may affect the desirability of a route. A route may be deemed more desirable if it otherwise exhibits a social relationship with the user in the vicinity of one or more individuals in the user's social network or based on spatial, temporal, or topical associations, overlaps, or degrees of separation. Such factors may be based on profile data associated with individuals in a person's social network. For example, a route through a friend's home address may be considered more desirable because it provides an opportunity to visit the friend by hand. Such factors may also be based on dynamic, real-time data associated with people in the social network. For example, if one or more friends or acquaintances are currently at a location, a route to the location may be deemed more desirable.
The concept of social relevance in the context of scoring operations goes beyond mere person-to-person connections. Social factors may also utilize interaction or transaction data associated with individuals in a person's social network. For example, if a location is a business where one or more friends or relatives often come in and go out or give favorable comments, a route to the location may be considered more desirable. In another example, a route that includes roads that are given a negative rating by friends or habitually avoided by friends may be considered less desirable. Social networking factors may also be used in a negative manner. Thus, if a person is identified within a person's social network as a person to avoid, routes that tend to avoid the person and businesses and places the person frequents may be considered preferable.
The concept of topic relevance in the context of a scoring operation goes beyond merely storing and comparing keywords. Topical factors may be generally defined to include factors that relate to known information associated with a location, a user, and other entities in the environment. Such factors may relate to human interests and preferences and how external events affect the desirability of routes. For example, the topical factors may relate to a general area around the route. For persons with great care to safety, a route through an area with a high crime rate may be considered less desirable. If a person prefers to purchase premium women's clothing, a route through an area with a high density of high-end retail stores or small stores may be more desirable. The topical factors may relate to events that occur on or near the route. For example, if a festival is occurring in a nearby area, a route through the nearby area may be more or less desirable depending on whether the person is interested in the festival. The topical factor may relate to a destination of the route. For example, if a location is a business associated with a topic of interest (or annoyance) to the user, a route to the location may be considered more desirable. For example, if a person is a blues music fan, a route to a destination associated with blues music (e.g., a blues club) may be deemed more desirable. In another example, if someone dislikes children, a route to a destination rated as a good home destination may be considered less desirable. If a location is a business that is liked by a reporter or news publication or a friend giving praise comments, then a route to that location may be deemed more desirable. For example, a route to a restaurant that is highly rated in a local publication may be considered more desirable, but if the user's best friend gives the restaurant a bad rating, the route may be considered less desirable. The topical factors may thus be weighted with any known social factors related to the subject. In one embodiment, in addition to temporal factors, sociability and topical factors may be used as weighting factors or additive factors for modifying spatial distances in a consistent manner to produce personalized distances. In one embodiment, the exact method used to combine the spatial distance and temporal weighting factors may be different for different people and may be customized to reflect the personality, habits, and preferences of the people. Note that the above described method can be extended to determine personalized distances that are not associated with a physical route or even with spatial or temporal dimensions. In one embodiment, the route is a straight line between the starting and ending locations, a relative distance with respect to the central third point, or a calculation based on location clustering, and may be adjusted by social and topical factors.
In addition to the scoring-related techniques described above, matching of advertisers to user geo-location service requests may also be accomplished without a real-time bidding market, but instead based on a certain time-bounded fixed price sponsorship period. This style of sponsorship has the effect of creating a virtual territory around the actual locations, with economic differences in requests from these locations or adjacent areas.
Other embodiments of system 2B00 take advantage of the fact that position sensing technology is of limited accuracy, while reverse geocoding (i.e., translating latitude and longitude coordinates into street addresses) is often even less accurate. That is, given this limitation, it is often more correct (if not just less accurate) to say that the user is close to (rather than at) a given location. Thus, an advertiser can include certain provisions for an incrementally higher bid in its bid based on the appropriate prepositional phrase. That is, pushing an advertisement to a drinker "just in front of Bob's coffee shop" is more likely to elicit a desired user response than a user pushing an advertisement to a side of the mall opposite Bob's coffee shop "in contact. Thus, Bob's coffee shop sponsor may bid higher for the label using the prepositional phrase "immediately before" than for the label using the prepositional phrase "on the opposite side of the store".
Referring again to FIG. 2B, operation 2B50 is for selecting a set of ranked candidates to present to the requesting user. It should be noted that the different devices (e.g., cell phone, 4-line LCD screen device, cell phone with VGA display, smart phone with touch screen, mobile PC, etc.) each have different characteristics that make it easier/more difficult to display multiple placements. Operation 2B50 is for selecting the ranked candidate placements to correspond to display characteristics of the user's device.
Returning to FIG. 1B, and in particular operation 1B40, those skilled in the art will appreciate that modern techniques for returning relevant responses to a requesting user consider a number of variables, many of which are known in the art. As such, operation 1B40 may be extended to include any number of techniques used in online ad placement, including dynamic composition of ads. Of course, even if a particular advertiser becomes the highest bidder in an auction for placement, in some embodiments, the advertisement to be placed is still selected from a group of advertisements. In fact, some advertising schemes and formats are dynamically created based on keywords or other relevance factors. The extension included in presenting a scheme or advertisement or other sponsorship information in the context of a response to a user's geographic location request may include a tag that the advertiser desires to apply to a particular location. The tag may be as simple as the usual name of a landmark (e.g., "empire's building"), or it may be the name of the sponsor (e.g., "Bob's cafe"), or it may take the form of a preposed phrase (e.g., "you are now near the best hamburger in the city-Bob's cafe"), or it may take the form of a cross-promotion phrase (e.g., "you are now near the best hamburger in the city-Just Desserts inside Bob's cafe," or "it is in close proximity to the dinmond Jim's dinner club — movie theatre"), or it may be a user-defined tag for a particular geographic location point and some uncertainty region (e.g., near "my house," or in front of "my moon house"). In further embodiments, the tags may be in the form of icons or images or video or sound or any other media, possibly including real-time data (e.g., satellite feed or street feed).
The above paragraphs illustrate the motionless position as landmarks. However, it is reasonable and contemplated to report the geographic location of moving objects or people to the user. For example, in response to a geographic location query in the form of "where my friends are", the service may return "Cindy is at Bob's coffee shop" or "Tony is near kottta". Of course, ranking the social relevance factors may be particularly important in such embodiments.
Continuing with this embodiment, the path taken by a person or moving object over time may be tracked periodically over time, or even according to a continuous tracking scheme, so that the geo-location service may respond to requests that the user wants to know when "Tony will arrive". Given this level of information and inferences, the advertiser would suggest "what do you want to buy from a grocery store — Tony is now there". Furthermore, given this level of information and inferences, the advertiser will suggest a meeting location and a promotion by event, such as "want not to be at Bob's coffee shop meeting bar, where Cindy is now. Tony may arrive there within 3 minutes ", and may even include in the response" get Bob's coffee shop beverage coupon ". As a variant, the coupon may be pushed to the user's device, or a link may be provided for the user to pull out as desired. Of course, suggestions such as "Tony may go there within 3 minutes" make assumptions or inferences about travel patterns. Similarly, the techniques used herein may take into account cost effectiveness as well as distance. For example, going from "point a" to the top of the koxter column "may take one person 5 minutes, while going from the top of the koxter column to" point a "may take only 2 minutes.
Fig. 2C presents a system 2C00 that implements a possible technique for returning a relevant response to a user. Of course, system 2C00 may be implemented in any of the contexts of FIGS. 1A-2B. The operations of FIG. 2C may be performed sequentially, or they may be performed in parallel, or some combination thereof. As shown, the system 2C00 may begin by constructing one or more advertisements selected in operation 2B50 that selects a set of ranked candidates (see operation 2C 10). Of course, as shown in the above paragraphs, any of a variety of known techniques may be used to create the advertising scheme. In addition, or possibly in lieu of presenting the above-described advertising scheme to the requesting user, the operation of constructing tab 2C20 may be invoked. The operation of constructing the tag is shown and discussed separately from the operation of constructing the advertisement, however, significant differences between the advertising scheme and the tag are not necessary for an understanding of the embodiments presented herein. Indeed, some embodiments mix any number of tags with any number of advertising or sponsorship tags. By way of example, in response to a request that the user want the geo-location service to assist in navigation (e.g., "how I go from here to Thailand restaurant"), system 2C00 may construct a response: "one block west, through Bob's coffee shop, and then two blocks further to thailand restaurants. If you get to a city park, you get too far away ". Of course, any or all of "Bob's coffee shop", "thailand restaurant" and/or "city park" may be sponsored and sponsors competing for that location may be resolved by real-time auctions. Of course, creating directions or even just a list of routes for the user may include favoring the use of more visible landmarks, or using familiar landmark route paths, or may even include somewhat longer paths, or may include a stair-step path based on the inclusion of one or more sponsored landmarks.
Continuing, system 2C00 assembles some combination of advertisements and tags in operation 2C 30. The selection of the appropriate combination of tag and advertisement may be as simple as selecting those from the first set of (prioritized) results to return (see operation 2C40) and returning only those within a certain limit (e.g., byte count limit, user preference limit, etc.), which may be associated with the user's device or with the user's profile or other user data. Alternatively, operation 2C30 of assembling the advertisement and the tag may perform some association between the advertisement and the tag (or tag and advertisement) and return the result accordingly. For example, in response to a user request for a geo-location service, system 2C00 may return: "you are close to the coyt tower-this is brought to you by the SF port administration. In the former example, the label portion is "you are close to the koxta" and the advertisement portion is "this is brought to you by the SF port service bureau". Of course, both the tag and the advertisement may be text only, or may be any other image or media, or may be presented back to the user separately, for example the results returned to the user may include "you are close to the kottta" and may also include a photograph of the kottta taken from a general vicinity of the user's geographic location. In the context of a geo-location service, it is possible that the service may have information about a particular geo-location (e.g., "you are near koxta"), but does not have any corresponding sponsors for that location. Even in such a case (at that point in time) where there is no sponsored location, the user would expect the geo-location service to return useful results. Thus, system 1B00, and more particularly system 2C00, supports sponsored landmark tagmentation and non-sponsored landmark tagmentation.
In another embodiment of system 2C00, delivery of tags consisting of only common names (e.g., "koxta") as landmark tags may be reasonably omitted from the result set, with preference given to sponsored location tags (e.g., "Bob's coffee shop is at koxta", "best thailand restaurant is close to koxta"). In another embodiment of system 2C00, the tags are constructed by using relative or aliased tags or user-aliased tags recognizable to the user or a companion of the user. For example, a tag with a landmark commonly named "James Goodhand" may be constructed from a tag that the user took an alias, such as "Shannon's football field" (referring to the user's daughter Shannon), or from a tag that the user took an alias, constructed by inference or concatenation (e.g., "you are 300 feet away from starbucks near Shannon's football field"). These user aliased labels may be constructed from explicit user input (e.g., the user enters their "home" location or labels a photograph from a location as "Shannon's football stadium") or may be inferred from time-varying data (e.g., a "home" may be inferred from a location where the user is most likely to be in the nighttime, "Joe's office" may be inferred from a location where Joseph Smith is in 9:00 to 5:00 on most days, and the label "Joe" may be known from the address book label applied by a given user as the appropriate label for Joseph Smith). Tags may also be applied via audio or visual recordings (e.g., media clips associated with landmarks or locations), and may be associated with text tags or may be tags themselves.
Fig. 2D presents a system 2D00 that implements a possible technique for assembling advertisements and tags to a user. Of course, system 2D00 may be implemented in any of the contexts of FIGS. 1A-2C. The operations of fig. 2D may be performed sequentially, or they may be performed in parallel, or some combination thereof. At a minimum, system 2D00 is used to apply a post ranking algorithm to the candidate response list. As shown, operation 2D10 establishes a discriminative weighting for a set of relevance factors (see FIG. 4). In addition to the discriminative weights applied to a particular relevance factor, a user may set preferences or discriminative weights and a continuum (continuum) that reflects the user's preference for any number of factors including, but not limited to: using a more common or branded name, using a more personalized name for the location and an aliased name. Users expressing preferences for using such branded names may become candidates for target groups in cost-per-action (CPA) advertising campaigns, where the users may be motivated to perform actions consistent with the branded CPA campaign (e.g., persuade friends to meet at starbucks instead of Joe's coffee shop next door). Or more generally, the user may be motivated to perform actions consistent with a brand's CPA activity, possibly including multiple independent tasks or multiple dependent hierarchies of tasks (e.g., buying a watch at Costco and buying a futon at Costco). In other embodiments, the cost per action concept may leverage the mobility of the user and the user's terminal. Strictly speaking, as an example, the ancient "buy-one-for-one" promotion (e.g. obtaining two servings of mocha javania cappuccino at a price of one serving) becomes much more relevant for both advertisers and consumers in the following cases: the person required to utilize the promotion (e.g., a friend who is also nearby) may be identified by the geo-service request and coordinated by personalized communications and directions to satisfy the commercial incentive or other condition of the advertiser's promotion or campaign.
Referring again to operation 2D10, such discriminative weights and preferences may be used in the calculation and rule application operations 2D20, 2D30, and 2D 40. In some embodiments, the familiarity relevance factor may be automatically increased to favor selection of tags with higher familiarity even before applying a score based on the familiarity relevance factor. In addition, considering techniques for applying heuristics and using discriminative weights for factors, advertisers may sponsor landmark visibility or familiarity based cross-promotions. For example, a hard-to-find hardware store may sponsor a promotion using a tag such as "Bing's hardware store-located across from the card base concert hall" selected from all other nearby co-located landmarks due to a high ranking on the visibility scale. As another example of a construct that includes a response to a user that involves a visibility criterion, specifically a line-of-sight visibility criterion, in response to a user request from the street such as embracero, a request to "Ghirardelli factory" may return "proceed north to Pier 39" rather than "proceed north to the cardinal concert hall" because the visibility to Pier39 is much better at the street of embracero than at Ghirardelli signage (even if the visibility of Ghirardelli signage is higher from the same nearby location on water).
Operations 2D20 and 2D30 apply quantitative and rule-based techniques to filter and rank the candidate groups. Of course, ranking in the W4 space, or in any N space that may include the W4 space, is understood in the literature as generating N-space vectors and taking the distance between the vectors to produce a quantitative measure. Similarly, the application of rule-based techniques 2D30 is used to bias or even override quantitative metrics. In some cases, some of the quantitative metrics are performed before the heuristic is applied, so general system 2D00 includes taking the quantitative metrics before and after the heuristic is applied.
Given the quantitatively ranked list of candidates (produced by operations 2D20, 2D30, 2D 40), the candidate list may then be post ranked and filtered in operation 2D50 to return a post filtered list. This operation may include filtering of the same or slightly different candidates.
Fig. 3 extends the relevance factors that can be used in ranking operations, such as that of 2B40, and introduces a possible embodiment of a system that includes an engine adapted to return relevance information including "Who" (Who), "When" (When), "Where" (Where), and "What" (What) relevance. The system 300 creates a measuring instrument equipped messaging infrastructure in the form of a global logical network cloud conceptually subdivided into networked clouds for each of 4W: who, where, what and when. In the Who cloud 302 are all users, whether they act as senders, recipients, data points or confirmation/authentication sources, as well as user agents in the form of user program processes, devices, agents, calendars, and the like. In the Where cloud 304, are all physical locations, events, sensors, or other RWEs associated with a spatial reference point or location. The When cloud 306 includes natural temporal events (i.e., events not associated with a particular location or person, such as dates, times, seasons) as well as collective user temporal events (holidays, anniversaries, elections, etc.) and user-defined temporal events (birthdays, intelligent timing programs). What cloud 308 includes all known data accessible to system 300, whether it is web or private, business or user, including, for example, environmental data such as weather and news, data generated by RWEs, information objects (one or more "IOs") and IO data, user data, models, processes, and applications. Thus, conceptually, most of the data is contained in the What cloud 308. Some entities, sensors, or data may exist in multiple clouds at different times or simultaneously. Further, some IOs and RWEs can be composite in that they combine elements from one or more clouds. Such composites can be appropriately classified to facilitate determination of associations between RWEs and IOs. For example, events consisting of location and time may be equally classified within the When cloud 306, the What cloud 308, and/or the Where cloud 304. The W4 engine 310 controls all interactions between each layer of the system 300 and is responsible for executing any approved user or application targets enabled by the system 300 operations or interoperating applications. In an embodiment, the system 300 is an open platform with standardized published APIs for requesting synchronization, disambiguation, user or topic addressing, access rights, prioritization, or other value-based ranking, intelligent scheduling, automation, and topical, social, spatial, or temporal alerts (among other operations). One function of the system 300 is to collect data about all communications and interactions conducted via the system 300, which may include storing information in objects and storing information identifying landmarks, businesses, or any other real-world entity, including corresponding relevance information (e.g., who, what, when, where information). Other data collected by the system 300 may include information about the status of any given real-world entity at any given time, such as location, operating status, monitored conditions (e.g., monitored weather conditions for a real-world entity that is a weather sensor, or the current location of a cellular tower it is based on in contact with for a real-world entity that is a cellular phone), and current status. Identifying a function of a real-world entity that is associated with or implied by its information and/or actions performed by other real-world entities may be referred to as entity extraction. Entity extraction may include simple actions such as identifying the sender and receiver of a particular information object, or may include more sophisticated analysis of data collected by the system 300 and/or available to the system 300, such as determining the time and location of a message listing an upcoming event and associating the event with the sender and receiver(s) of the message based on the context of the message, or determining that a real world entity is stuck in traffic congestion based on the correlation of the real world entity location with a co-located traffic monitor. In the illustrated embodiment, the W4 engine 310 may be one or a distributed group of computing devices, such as a general purpose Personal Computer (PC) or a dedicated server computer, that is connected to the system 300 through communications hardware and/or software. Such a computing device may be a single device or a group of devices acting together. The computing device may have any number of program modules and data files stored in local or remote mass storage devices and local memory (e.g., RAM) of the computing device. For example, as mentioned above, the computing device may include an operating system suitable for controlling the operation of a networked computer, such as the Windows XP or Windows Server operating system from Microsoft corporation. Some real world entities may also be computing devices such as, but not limited to, smart phones, web-enabled appliances, PCs, laptops, and Personal Digital Assistants (PDAs). The computing device may be connected to one or more communication networks, such as the internet, a public switched telephone network, a cellular telephone network, a satellite communication network, a wired communication network (e.g., cable television), or a private area network. The computing device may connect to any such network via a wired data connection or a wireless connection, such as a wi-fi, WiMAX (802.36), bluetooth, or cellular phone connection. The local data structures may be stored on a computer readable medium (not shown) that is coupled to or part of any of the computing devices described herein, including the W4 engine 310. For example, in one embodiment, the data backbone of the system 300 described below includes a plurality of mass storage devices that maintain information objects, metadata, and data necessary to determine the relationships between real-world entities and information objects described herein.
Fig. 4 illustrates an interface 400 that may be used to apply a distinguishing weight to any/all of the W4 factors and/or any other factor. Referring again to operation 2B40, in particular, in the context of an ad campaign, an advertiser or an advertiser's ad campaign manager may want to influence the ranking/scoring algorithm of operation 2B 40. Thus, as shown, the interface 400 may be used to apply discriminative weights to their respective visibility factors 2600, familiarity factors 2500, spatial factors 2400, temporal factors 2300, topical factors 2200, and social factors 2100 using sliders 2620, 2520, 2420, 2320, 2220, and 2120.
Fig. 5 shows a possible architecture of an embodiment of the W4 engine, where the W4 engine 502 so constructed connects, interoperates, and instruments all network participants through a series of sub-engines that perform different operations in the entity extraction process. The attribute engine 504 tracks real-world ownership, control, publishing, or other conditional rights of any RWE in any IO. Whenever the W4 engine 502 detects a new IO, for example, through the creation or transmission of a new message, a new transaction record, a new image file, or the like, ownership is assigned to the IO. The attribute engine 504 creates this ownership information and also allows this information to be determined for each IO known to the system 500. The correlation engine 506 can operate in two identities: first, identify associated RWEs and IOs and their relationships (e.g., by creating a combined graph of any combination of RWEs and IOs and their attributes, relationships, and reputations within a context or situation), and second, as a sensor resolution preprocessor for events of interest from any internal or external source. In one embodiment, the functionality of the correlation engine 506 to identify associated RWEs and IOs is accomplished by using, for example, one or more histograms to graph the available data. Relationships between RWEs, IOs and other parameters can be identified by selecting each IO, RWE and other known parameter (e.g., time, date, location, etc.) as a different bin of the histogram and mapping the available data. A histogram of all RWEs and IOs is created from which graph-based correlations can be made. As a preprocessor, the correlation engine 506 monitors information provided by RWEs to determine if any conditions are identified that can trigger actions on the part of the W4 engine 502. For example, if a delivery condition is associated with a message, when association engine 506 determines that the condition is met, it may send appropriate trigger information to W4 engine 502 that triggers delivery of the message. The attention engine 508 instruments all suitable network nodes, clouds, users, applications, or any combination thereof and includes close interaction with both the correlation engine 506 and the attribute engine 504.
FIG. 6 illustrates one embodiment of the W4 engine, showing the different components within the sub-engines described above with reference to FIG. 5. In one embodiment, the W4 engine 602 shown includes a concern engine 608, an attribute engine 604, and an affiliation engine 606 with several sub-managers based on basic functionality. The interest engine 608 includes a message fetch and generate manager 610 and a message delivery manager that work in concert with a message match manager 614 and a real-time communication manager 616 to deliver and instrument all communications on the system 600. The attribute engine 604 works within the user profile manager and in conjunction with all other modules to identify, process/validate and represent ownership and rights information related to RWEs, IOs and combinations thereof. The correlation engine 606 dumps data from its two channels (sensors and processes) into the same data backbone 620, which data backbone 620 is organized and controlled by a W4 resolution manager 622. The data backbone 620 includes aggregated and individually archived versions of data from all network operations, including user logs 624, attention rank status logs (see page rank 626), web indexes 623 and environmental logs, e-commerce and financial transaction information 630, search indexes and logs 632, sponsor content or conditions, advertising schemes, and any and all other data used in any process, IO, or event. Because of the amount of data that system 600 may store, data backbone 620 includes a number of database servers and data stores that communicate with system 600 to provide sufficient storage capacity. The data collected by the system 600 includes spatial data, temporal data, RWE interaction data, IO content data (e.g., media data), and user data (including explicitly provided and derived sociability and relationship data). Spatial data can be any data that identifies a location associated with an RWE. For example, the spatial data may include any passively collected location data, such as cell tower data, Global Packet Radio Service (GPRS) data, Global Positioning System (GPS) data, WI-FI data, personal area network data, IP address data, and data from other network access points, or actively collected location data, such as location data entered by a user.
Temporal data is time-based data (e.g., timestamps) that relate to particular times and/or events associated with a user and/or an electronic device. For example, the temporal data may be passively collected time data (e.g., time data from a clock resident on the electronic device, or time data from a network clock), or the temporal data may be actively collected time data, such as time data input by a user of the electronic device (e.g., a user-maintained calendar). Logical and IO data refer to data contained by and associated with the IO, such as time of creation, owner, associated RWE, time of last access to the IO, and so forth. For example, the IO may relate to media data. The media data may include any data related to presentable media, such as audio data, visual data, and audiovisual data. The audio data may be data relating to downloaded music, such as genre, artist, album, etc., and include data on ringtones, purchased media, playlists, shared media, etc. The visual data may relate to data of images and/or text received by the electronic device (e.g., via the internet or other network). The visual data may be data relating to images and/or text sent from and/or captured at the electronic device. The audiovisual data may be data associated with any video captured at, downloaded to, or otherwise associated with the electronic device. Media data includes media presented to a user via a network (e.g., using the internet), and includes data relating to text (e.g., search terms) and interactions with network media, such as click data (e.g., advertiser banner clicks, bookmarks, click patterns, etc.) entered and/or received by the user using the network. Thus, the media data may include data relating to the user's RSS feeds, subscriptions, group memberships, game services, reminders, and the like. The media data may include non-network activities such as image capture and/or video capture with an electronic device such as a mobile phone. The image data may include user added metadata, or other data associated with the image, such as for a photograph, the location where the photograph was taken, the direction from which it was taken, the content of the shot, and the time of day, among others. The media data may be used, for example, to derive activity information or preference information, such as culture and/or purchase preference information. Relationship data can include data relating to relationships of RWEs or IOs or additional RWEs or IOs. For example, the relationship data may include user identity data, such as gender, age, race, name, social security number, photos, and other information associated with the user's identity. The user identity information may also include an email address, a login name, and a password. Relationship data can also include data identifying explicitly associated RWEs. For example, the relationship data for a cellular telephone may indicate the user who owns the cellular telephone and the company that provides service to the telephone. As another example, the relationship data for a smart vehicle may identify the owner, a credit card associated with the owner for payment at an electronic toll booth, a user licensed to drive the vehicle, and a service booth for the vehicle. The relationship data may also include social networking data. Social network data includes data relating to any relationship explicitly defined by a user or other RWE, such as data relating to a user's friends, family, colleagues, business relationships, and so forth. The social network data may include, for example, data corresponding to an electronic address book maintained by the user. Relationship data may be correlated with, for example, location data to derive social network information, such as primary relationships (e.g., user-spouse, user-child, and user-parent relationships) and other relationships (e.g., user-friend, user-colleague, user-business partner relationships). Relationship data may also be utilized to derive, for example, activity information. The interaction data may be any data associated with a user interaction of the electronic device, whether the interaction is active or passive. Examples of interaction data include interpersonal communication data, media data, relationship data, transactional data, and device interaction data, among others. The interaction data includes communication data between any RWEs communicated via the system 600. For example, the communication data can be data associated with an incoming or outgoing Short Message Service (SMS) message, an email message, a voice call (e.g., a cellular telephone call, a voice-over-IP call), or other type of person-to-person communication related to an RWE. The communication data may be correlated with, for example, temporal data to derive information about the frequency of communications, including a centralized communication pattern, which may indicate user activity information. The interaction data may also include transactional data. The transactional data may be any data associated with a commercial transaction conducted by or at the mobile electronic device, such as vendor information, financial institution information (e.g., bank information), financial account information (e.g., credit card information), merchandise information, and cost/price information, and purchase frequency information, among others. Transactional data can be utilized, for example, to derive activity and preference information. The transactional information may also be used to deduce the types of devices and/or services that the user owns and/or may be interested in. The interaction data can also include device or other RWE interaction data. Such data includes data generated by interactions between a user on the system 600 and RWEs and interactions between RWEs and the system 600. RWE interaction data can be any data relating to an RWE's interaction with electronic devices not included in any of the aforementioned categories, such as habitual patterns associated with the use of electronic device data by other modules/applications, such as data regarding which applications are used on an electronic device and the frequency and time of using those applications.
Fig. 7 shows a diagrammatic representation of machine in the exemplary form of a computer system 700 within which a set of instructions, for causing the machine to perform any one of the methodologies discussed above, may be executed. The illustrated embodiments are merely exemplary and may be implemented in the context of one or more of fig. 1A-6. In alternative embodiments, the machine may comprise a network router, a network switch, a network bridge, Personal Digital Assistant (PDA), cellular telephone, web appliance or any machine capable of executing a sequence of instructions that specify actions to be taken by that machine.
Computer system 700 includes a processor 702, a main memory 704 and a static memory 706, which communicate with each other via a bus 708. The computer system 700 may also include a video display unit 710 (e.g., a liquid crystal display or cathode ray tube). The computer system 700 also includes an alphanumeric input device 712 (e.g., a keyboard), a cursor control device 714 (e.g., a mouse), a disk drive unit 716, a signal generation device 718 (e.g., a speaker), and a network interface device 720.
The disk drive unit 716 includes a machine-readable medium 724 on which is stored a set of instructions (i.e., software) 726 embodying any one, or all, of the methodologies described above. The software 726 is also shown to reside, completely or at least partially, within the main memory 704 and/or within the processor 702. The software 726 may also be transmitted or received over a network via the network interface device 720.
It is to be understood that embodiments of the invention may be used as or to support a software program executed upon some form of processing core (such as the CPU of a computer) or otherwise implemented or realized upon or within a machine or computer readable medium. A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes: read Only Memory (ROM); random Access Memory (RAM); a magnetic disk storage medium; an optical storage medium; a flash memory device; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); or any other type of media suitable for storing or transmitting information.
FIG. 8 is a diagrammatic representation of several computer systems (i.e., clients, content servers, advertisement servers) in the exemplary form of a client server network 800 within which environment a communication protocol may be implemented. The illustrated embodiments are merely exemplary and may be implemented in the context of one or more of fig. 1-7. As shown, client 820 can initiate a communication protocol by making a request. Such a request may be satisfied by the content server 840 alone, or it may be satisfied by the content server 840 and any number of additional content servers or ad servers 870 acting in concert. In general, any server may be capable of obtaining various forms of relevance data, performing a bidding auction (possibly in conjunction with other servers, not shown), and/or sending selected advertisements to additional servers. In addition, the operations for analyzing geographic location data, assembling candidate tags, obtaining relevance data, performing a bidding auction, selecting advertisements, constructing an advertising copy, scoring an advertising copy, and selecting an advertising copy may be performed on any server, and the decision as to which server and what relative time in the communication protocol is just a matter of convenience; such that any server (or client) can operate to perform any of the above-described tasks.
Although the present invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the present invention can be embodied in other specific forms without departing from the spirit of the invention. Accordingly, one of ordinary skill in the art will understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.

Claims (29)

1. A method for constructing one or more geo-location service replies to be provided to a client device based on relevance factors for sponsored landmarks, the method comprising:
receiving, at one or more computers from a client device over a network, a user geo-location service request;
calculating in the computer an actual location of the client device to create a base location;
determining, in the computer, the sponsored landmark in response to a user geo-location service request;
analyzing the base location in the computer to determine an initial candidate set of advertisers associated with the base location;
receiving, in the computer, one or more bids corresponding to the sponsored landmarks from one or more advertisers over the network;
filtering, at one or more computers, one or more bids corresponding to the sponsored landmarks based on predetermined rules;
constructing, at the computer, one or more response candidates to the user geo-location service request based on the sponsored landmarks, the sponsored landmarks including at least one of a public landmark location or a business location, the response candidates including geo-location tags responsive to the user geo-location service request and advertisements associated with advertiser bids corresponding to the sponsored landmarks;
scoring, at the computer, the one or more response candidates based on relevance of the advertisement to the sponsored landmark;
at the one or more computers, storing at least one of the response candidates; and
providing, at the computer, one of the response candidates to the client device over a network based on the scoring and the bidding.
2. The method of claim 1 wherein the constructing comprises concatenating at least a portion of the relevance factors with at least a portion of the initial set of advertisers.
3. The method of claim 1, wherein the constructing comprises constructing a tag with a prepositional phrase.
4. The method of claim 1, wherein the scoring uses discriminative weights to influence a scoring algorithm.
5. The method of claim 1, wherein the storing comprises at least one of: text messages, text pages, instances of pushed media, navigation instructions, links, web page displays, portions of streaming media, portions of interactive media.
6. The method of claim 1, further comprising delivering information to a user device, the information comprising at least one of: text messages, text pages, instances of pushed media, navigation instructions, links, web page displays, portions of streaming media, portions of interactive media.
7. The method of claim 1, wherein the constructing comprises at least one of: monetary relevance, visibility relevance, familiarity relevance, spatial relevance, temporal relevance, social relevance, topical relevance.
8. The method of claim 1, wherein the constructing comprises using bid phrases from an electronic auction.
9. The method of claim 1, wherein the constructing comprises constructing at least one label.
10. The method of claim 1, wherein the constructing comprises constructing at least one route description.
11. The method of claim 1, wherein the scoring comprises at least one of: monetary relevance, visibility relevance, familiarity relevance, spatial relevance, temporal relevance, social relevance, topical relevance.
12. The method of claim 1, wherein the constructing comprises at least one of: common name tags, user aliases tags, sponsorship tags, text tags, photo tags, audio tags, video tags, media tags, cross-promotion tags.
13. The method of claim 1, wherein the constructing comprises at least one of: a route by route listing, a familiar landmark route listing, a sponsored landmark route listing.
14. The method of claim 1, wherein the storing comprises storing in at least one of: memory of a computer, cache, non-volatile media, messages communicated over a bus, messages communicated over a network.
15. The method of claim 1, wherein the storing comprises storing a timestamp.
16. A system of one or more machines to implement a method for constructing one or more geo-location service replies to be provided to a client device based on relevance factors for sponsored landmarks, the system comprising:
a server for receiving a user geo-location service request from a client device over a network and calculating an actual location of the client device to create a base location;
a server for determining the sponsored landmark in response to a user geo-location service request;
a server for analyzing the base location to determine an initial candidate set of advertisers associated with the base location;
a server for receiving one or more bids from one or more advertisers corresponding to the sponsored landmarks;
a server for filtering, at one or more computers, one or more bids corresponding to the sponsored landmarks based on predetermined rules;
a server for constructing one or more response candidates to the user geo-location service request based on the sponsored landmarks, the sponsored landmarks including at least one of a public landmark location or a business location, the response candidates including geo-location tags responsive to the user geo-location service request and advertisements associated with advertiser bids corresponding to the sponsored landmarks;
a server for scoring the one or more response candidates based on relevance of the advertisement to the sponsored landmark;
a server for storing at least one of the response candidates; and
a server for providing one of the response candidates to the client device over a network based on the score and the bid.
17. The system of claim 16, wherein the constructing includes concatenating at least a portion of the relevance factors with at least a portion of the initial set of advertisers.
18. The system of claim 16, wherein the constructing comprises constructing a tag with a prepositional phrase.
19. The system of claim 16, wherein the scoring uses discriminative weights to influence a scoring algorithm.
20. The system of claim 16, wherein the memory of the computer for storing stores response candidates comprising at least one of: text messages, text pages, instances of pushed media, navigation instructions, links, web page displays, portions of streaming media, portions of interactive media.
21. The system of claim 16, further comprising a machine for delivering information to a user device, the information comprising at least one of: text messages, text pages, instances of pushed media, navigation instructions, links, web page displays, portions of streaming media, portions of interactive media.
22. The system of claim 16, wherein the constructing comprises at least one of: monetary relevance, visibility relevance, familiarity relevance, spatial relevance, temporal relevance, social relevance, topical relevance.
23. The system of claim 16, wherein the constructing comprises using bid phrases from an electronic auction.
24. The system of claim 16, wherein the configuring comprises configuring at least one tag.
25. The system of claim 16, wherein the constructing comprises constructing at least one route description.
26. The system of claim 16, wherein the scoring comprises at least one of: monetary relevance, visibility relevance, familiarity relevance, spatial relevance, temporal relevance, social relevance, topical relevance.
27. The system of claim 16, wherein the constructing comprises at least one of: common name tags, user aliases tags, sponsorship tags, text tags, photo tags, audio tags, video tags, media tags, cross-promotion tags.
28. The system of claim 16, wherein the constructing comprises at least one of: a route by route listing, a familiar landmark route listing, a sponsored landmark route listing.
29. The system of claim 16, wherein the storing comprises storing in at least one of: memory of a computer, cache, non-volatile media, messages communicated over a bus, messages communicated over a network.
HK12105742.6A 2009-02-25 2010-01-29 System and method for delivering sponsored landmark and location labels HK1165062B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/392,678 2009-02-25

Publications (2)

Publication Number Publication Date
HK1165062A HK1165062A (en) 2012-09-28
HK1165062B true HK1165062B (en) 2015-02-18

Family

ID=

Similar Documents

Publication Publication Date Title
CN102326176B (en) System and method for delivering sponsored landmark and location labels
US10230803B2 (en) System and method for improved mapping and routing
US9574899B2 (en) Systems and method for determination and display of personalized distance
US9516470B1 (en) System and method for providing advertising based on mobile device travel patterns
US8108778B2 (en) System and method for context enhanced mapping within a user interface
US8402356B2 (en) Methods, systems and apparatus for delivery of media
US9110903B2 (en) Method, system and apparatus for using user profile electronic device data in media delivery
US20120271684A1 (en) Method and System for Providing Location Targeted Advertisements
US20080120308A1 (en) Methods, Systems and Apparatus for Delivery of Media
US20130191215A1 (en) Location-based application pop up
US10055752B2 (en) Method and apparatus for performing real-time out home advertising performance analytics based on arbitrary data streams and out of home advertising display analysis
US20080120178A1 (en) Methods, Systems and Apparatus for Delivery of Media
US20150112808A1 (en) Determining relevant business locations based on travel distances
CN110569449A (en) Method and system for managing interest point media content under sponsorship
HK1165062B (en) System and method for delivering sponsored landmark and location labels
HK1165062A (en) System and method for delivering sponsored landmark and location labels
HK1158427A (en) System and method for determination and display of personalized distance