Patent ID: 12254490

Like reference numbers and designations in the various drawings indicate like elements.

DETAILED DESCRIPTION

This document describes systems, methods, computer program products and mechanisms for creating a combined content item that combines content from a search result and a content item that are both associated with the same entity (e.g., brand, sponsor or other entity). For example, the search result can be one of (e.g., the first or top search result in) search results that are provided in response to a query. The content item (e.g., an advertisement) can be selected (based on being associated with the same brand) from one or more eligible content items that are also identified, based at least in part, on a received query. The combined content item that is created can be presented with the search results, e.g. as the first search result.

In some implementations, combined content items can incorporate content from content sponsors of related entities. The related entities can be related, for example, to an entity associated with a content item that matches selection criteria associated with a received request. In an example, in response to a received search query, search results responsive to the query can be identified, including identifying a first search result in a top set of search results. The first search result can be associated with a first entity. A first eligible content item (that is associated with the first entity) can be identified based on the search results for presentation along with the search results. A combined content item can be identified that is a combination of the first search result and the first eligible content item and that is to be presented as a search result responsive to the query. The combined content item can be augmented. For example, one or more entities related to the first entity can be identified, and one or more content items can be identified from an inventory of content items that are associated with the one or more identified related entities. At least one of the identified one or more content items can be selected for use in augmenting the combined content item. The selected at least one identified one or more content items can be added in whole or part to the combined content item or used as the basis for content that is augmented (e.g., actionable links).

FIG.1is a block diagram of an example environment100for delivering content. The example environment100includes a content management system110for selecting and providing content in response to requests for content. The example environment100includes a network102, such as a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof. The network102connects websites104, user devices106, content sponsors108(e.g., advertisers), publishers109, and the content management system110. The example environment100may include many thousands of websites104, user devices106, content sponsors108and publishers109.

In some implementations, in response to a request for content (e.g., a search query116), the content management system110can provide a combined content item133, e.g., as a first search result among the search results118. The content management system110can create the combined content item133, for example, by combining a top one of the search results118with one of the eligible content items131that is associated with a same brand as the top one of the search results118. In some implementations, a content item associated with a same entity (i.e., not necessarily same brand) can be combined with a search result that is associated with the same respective entity. A more detailed description as to how the combined content item133is created is included below.

The content management system110can include plural engines. A content identification engine121, for example, can evaluate terms and phrases in query (e.g., the search query116) received by the content management system110to identify content responsive to the request. The content can include at least one eligible content item (e.g., from a data store of eligible content items131, including advertisements) and search results (e.g., search results118) that are responsive to the query. In some implementations, the content identification engine121can also identify a first search result in a top set of search results that is associated with a brand. As an example, there can be several search results, and some search results can be associated with a specific brand. From the top search results that are associated with the brand and that may be ranked highest as being responsive to the search query116, for example, the content identification engine121can select a top, or best matching, search result. The at least one eligible content item that is identified can include content items that are identified for delivery along with the search results118that are responsive to the search query116.

An entity/brand determination engine122, for example, can determine when at least one of the eligible content items identified by the content identification engine121is associated with a same entity/brand as the entity/brand associated with the first (e.g., top) search result of the search results. For example, one or more of the eligible content items131can be advertisements for Example Brand shoes, which can be the same brand that is associated with a top one of the search results118.

A content item combination engine123, for example, can combine a first search result and one of the determined at least one eligible content items into a combined content item. For example, to create the combined content item133, the content item combination engine123can combine an identified one (e.g., a top-ranked one) of the search results118associated with Example Brand with one of the eligible content items131that is also associated with the brand (e.g., an advertisement for Example Brand shoes).

A request handler124, for example, can handle requests for content received by the content management system110, and in response to each request, provide one or more content items to the requestor. For example, the request for content can be a request to fill a content item slot on a web page displayed in a browser on the user device106. In response to the request for content, the request handler124can provide a content item, e.g., a shoe advertisement having characteristics that match the characteristics of an advertisement slot on the user device106. A search system112can provide initial search results118in response to received search queries116. The request handler124, for example, can combine one of the search results and one or more content items in response to the received search query116to produce integrated search results119. The integrated search results119can include, for example, the combined content item133created by the content item combination engine123. In some implementations, the combining can occur at the content management system110. In some implementations, the combining can occur at the user device106, e.g., in a browser.

The environment100can include plural data stores, which can be stored locally by the content management system110, stored somewhere else and accessible using the network102, generated as needed from various data sources, or some combination thereof. A data store of eligible content items131, for example, can include content items (e.g., advertisements) that can be selected by the content management system110in response to a content item request, such as a search query116. A data store of brands132, for example, can include information about brands that can be used (e.g., by the entity/brand determination engine122) to determine if different content items are associated with the same brand. The information can include, for example, the name of the brand and any other brand-related indicators, such as brand owner information (e.g., addresses, URLs, phone numbers), model numbers, model names, and other brand-unique and/or brand-identifying information. A data store of entities133, for example, can include information that can be used to identify one or more entities associated with a content item. The entities133can also include information that can be used to identify entities that are related to another entity. The information in the entities133can include, for example, associated with each entity: entity name(s), terms (e.g., brands, models and other terms), location information (e.g., a physical address), uniform resource locators (URLs), sponsors (e.g., content sponsors, retailers), and other entity-related information. In some implementations, a list of related entities can be stored in association with a given entity that is an entry in the entities133. Related entities can be determined in numerous ways. In some implementations, a given entity can specify related entities. In some implementations, related entities can be determined, such as by evaluating received data, such as data related to delivery of content (e.g., ads). Other methods can be used.

In some implementations, content sponsors108can be provided with an interface for defining settings for creating combined content items. For example, content sponsors108can specify whether or not they want their content items to be combined with a search result and presented to the user as a combined content item. Other settings are possible, such as settings that define the style and/or content of combined content items.

A website104includes one or more resources105associated with a domain name and hosted by one or more servers. An example website is a collection of webpages formatted in hypertext markup language (HTML) that can contain text, images, multimedia content, and programming elements, such as scripts. Each website104can be maintained by a content publisher, which is an entity that controls, manages and/or owns the website104.

A resource105can be any data that can be provided over the network102. A resource105can be identified by a resource address that is associated with the resource105. Resources include HTML pages, word processing documents, portable document format (PDF) documents, images, video, and news feed sources, to name only a few. The resources can include content, such as words, phrases, images, video and sounds, that may include embedded information (such as meta-information hyperlinks) and/or embedded instructions (such as JavaScript™ scripts).

A user device106is an electronic device that is under control of a user and is capable of requesting and receiving resources over the network102. Example user devices106include personal computers (PCs), televisions with one or more processors embedded therein or coupled thereto, set-top boxes, mobile communication devices (e.g., smartphones), tablet computers and other devices that can send and receive data over the network102. A user device106typically includes one or more user applications, such as a web browser, to facilitate the sending and receiving of data over the network102.

A user device106can request resources105from a website104. In turn, data representing the resource105can be provided to the user device106for presentation by the user device106. The data representing the resource105can also include data specifying a portion of the resource or a portion of a user display, such as a presentation location of a pop-up window or a slot of a third-party content site or webpage, in which content can be presented. These specified portions of the resource or user display are referred to as slots (e.g., ad slots).

To facilitate searching of these resources, the environment100can include a search system112that identifies the resources by crawling and indexing the resources provided by the content publishers on the websites104. Data about the resources can be indexed based on the resource to which the data corresponds. The indexed and, optionally, cached copies of the resources can be stored in an indexed cache114.

User devices106can submit search queries116to the search system112over the network102. In response, the search system112can, for example, access the indexed cache114to identify resources that are relevant to the search query116. The search system112identifies the resources in the form of search results118and returns the search results118to the user devices106in search results pages. A search result118can be data generated by the search system112that identifies a resource that is provided in response to a particular search query, and includes a link to the resource. In some implementations, the search results118include the content itself, such as a map, or an answer, such as in response to a query for a store's products, phone number, address or hours of operation. In some implementations, the content management system110can generate search results118using information (e.g., identified resources) received from the search system112. An example search result118can include a webpage title, a snippet of text or a portion of an image extracted from the webpage, and the URL of the webpage. Search results pages can also include one or more slots in which other content items (e.g., ads) can be presented. In some implementations, slots on search results pages or other webpages can include content slots for content items that have been provided as part of a reservation process. In a reservation process, a publisher and a content item sponsor enter into an agreement where the publisher agrees to publish a given content item (or campaign) in accordance with a schedule (e.g., provide 1000 impressions by date X) or other publication criteria. In some implementations, content items that are selected to fill the requests for content slots can be selected based, at least in part, on priorities associated with a reservation process (e.g., based on urgency to fulfill a reservation). As discussed above, one or more entries from the search results118can be combined with one or more eligible content items to create integrated search result119. The integrated search result119can then be delivered responsive to the received query116.

When a resource105, search results118and/or other content are requested by a user device106, the content management system110receives a request for content. The request for content can include characteristics of the slots that are defined for the requested resource or search results page, and can be provided to the content management system110.

For example, a reference (e.g., URL) to the resource for which the slot is defined, a size of the slot, and/or media types that are available for presentation in the slot can be provided to the content management system110in association with a given request. Similarly, keywords associated with a requested resource (“resource keywords”) or a search query116for which search results are requested can also be provided to the content management system110to facilitate identification of content that is relevant to the resource or search query116.

Based at least in part on data included in the request, the content management system110can select content that is eligible to be provided in response to the request (“eligible content items”). For example, eligible content items can include eligible ads having characteristics matching the characteristics of ad slots and that are identified as relevant to specified resource keywords or search queries116. In some implementations, the selection of the eligible content items can further depend on user signals, such as demographic signals and behavioral signals.

The content management system110can select from the eligible content items that are to be provided for presentation in slots of a resource or search results page based at least in part on results of an auction (or by some other selection process). For example, for the eligible content items, the content management system110can receive offers from content sponsors108and allocate the slots, based at least in part on the received offers (e.g., based on the highest bidders at the conclusion of the auction or based on other criteria, such as those related to satisfying open reservations). The offers represent the amounts that the content sponsors are willing to pay for presentation (or selection or other interaction with) of their content with a resource or search results page. For example, an offer can specify an amount that a content sponsor is willing to pay for each 1000 impressions (i.e., presentations) of the content item, referred to as a CPM bid. Alternatively, the offer can specify an amount that the content sponsor is willing to pay (e.g., a cost per engagement) for a selection (i.e., a click-through) of the content item or a conversion following selection of the content item. For example, the selected content item can be determined based on the offers alone, or based on the offers of each content sponsor being multiplied by one or more factors, such as quality scores derived from content performance, landing page scores, and/or other factors.

A conversion can be said to occur when a user performs a particular transaction or action related to a content item provided with a resource or search results page. What constitutes a conversion may vary from case-to-case and can be determined in a variety of ways. For example, a conversion may occur when a user clicks on a content item (e.g., an ad), is referred to a webpage, and consummates a purchase there before leaving that webpage. A conversion can also be defined by a content provider to be any measurable or observable user action, such as downloading a white paper, navigating to at least a given depth of a website, viewing at least a certain number of webpages, spending at least a predetermined amount of time on a website or webpage, registering on a website, experiencing media, or performing a social action regarding a content item (e.g., an ad), such as republishing or sharing the content item. Other actions that constitute a conversion can also be used.

In some implementations, conversions may be more likely to occur, for example, when a user is presented with a content item that is a combined content item containing content from a search result and content from an advertisement that is related to the search based on being associated with the same brand. For example, the user may be more likely to click on or otherwise interact with a search result if the search result contains advertisement information and other interesting features that may entice the user to interact with the search result in some way.

For situations in which the systems discussed here collect and/or use personal information about users, the users may be provided with an opportunity to enable/disable or control programs or features that may collect and/or use personal information (e.g., information about a user's social network, social actions or activities, a user's preferences or a user's current location). In addition, certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information associated with the user is removed. For example, a user's identity may be anonymized so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined.

FIG.2Ashows an example system200for creating a combined content item using information from a content item associated with a same brand. While the example discussed refers to same brand, the system can be used for creating combined content items for other entities. The content management system110can provide a combined content item202to be presented as a search result entry204aalong with other search results204. The combined content item202, for example, can include content from a first search result214a(responsive to the search query206) that is combined with content from a content item216a(also selected based at least in part on the search query206). A more detailed example follows using an example sequence of stages 1-5.

At stage 1, the content management system110, for example, can receive a search query206(e.g., “shoes”) from the user device106. In some implementations, the search query206can be received by the request handler124. The search query206can include one or more terms or phrases and can be entered, for example, by a user208in a query control210on a web page212. Other sources of the search query206are possible, and the search query206can include other selection criteria, e.g., based on the user's location, interests, device type, and/or other criteria.

At stage 2, the content identification engine121, for example, can identify search results214that are responsive to the search query206. The identified search results214can be obtained, for example, using an index such as described above with reference toFIG.1. The identified search results214can include the first search result214a, e.g., that is associated with Example Brand shoes. The identified search results214can also include other search results that may be associated with the same brand, other different brands, or no brand at all. Some search results can be associated with multiple brands.

At stage 3, the content identification engine121, for example, can also identify eligible content items216, such as advertisements or other sponsored content, that are to be presented with the search results214and that are selected, based at least in part, on the search query206. The identification can also be based on the search query206and other information and/or signals (e.g., the user's current location) that are received from the user device106or otherwise derived. The eligible content items216that are identified can include, for example, a content item216athat is one of at least one advertisement for Example Brand shoes. The eligible content items216can also include, for example, other advertisements for brands that are different from Example Brand.

At stage 4, the entity/brand determination engine122, for example, can determine (218), when at least one of the eligible content items216is associated with a same brand as the brand associated with the first search result214a. The determination218can be made, for example, using brand information accessed from brands132. The entity/brand determination engine122, for example, can make a determination as to whether one or more of the eligible content items216is associated with a same brand (e.g., Example Brand shoes) as the first search result214a. For example, the entity/brand determination engine122can determine that content item216a, e.g., an advertisement for Example Brand shoes, is associated with Example Brand shoes. In some implementations, determining that a search result (or content item) is associated with a brand can include using one or more terms, text or other information from the search result (or content item) to look up corresponding brand names in the brands132.

At stage 5, the first search result and one of the determined at least one eligible content items are combined into a combined content item, and the combined content item is provided as a search result responsive to the request (310). For example, the content item combination engine123can create the combined content item202(e.g., a single unit presentable with search results) that is a combination of the first search result214aand the content item216a, both of which are associated with the same brand (e.g., Example Brand shoes). In some implementations, a different (e.g., non-first) search result can be combined with the at least one eligible content items into a combined content item.

In some implementations, different factors can be used to decide what information to include in a combined content item. For example, content sponsors108may have preferences and/or priorities as to which features of content items are to be included, e.g., images, location information, user reviews, and other information. In some implementations, the content selected to create the combined content item can depend, at least in part, on the device type of the user associated with the query (e.g., search query206), e.g., so as to produce a combined content item that is fully viewable on the screen of whatever device the user currently has.

The request handler124, for example, can provide the combined content item202to the user device106in response to the received search query206. The combined content item202can be displayed, for example, as the search result entry204a, e.g., the first search result among the search results204.

FIG.2Bshows an example combined content item. For example, in response to the search query206(e.g., “shoes”) entered in the query control210, the content management system110has provided the search result entry204aas the first entry among the search results204. Search results204also include other search results204b. The search result entry204ain this example is a combined content item that includes content204cfrom a search result (e.g., related Example Brand shoes) matching the search query206. In this example, the content204cfor the search result includes a title223, a landing page link226, and a snippet225. The content204chas been combined into a combined content item (e.g., the search result entry204a) using content from the content item216a, (e.g., an advertisement for Example Brand shoes).

In the example shown, the search result entry204ais a combined content item that includes, from the content item216a, an advertisement image220, a visual URL222, text224, the landing page link226, a map227, a physical address228, business hours229, review information230, controls232(e.g., for obtaining map directions or writing a review), and retailer information234. Other types and formats of content can be included in a combined content item, including, for example, audio, video, animation, content obtained from social networks, and other content.

FIG.3Ais a flowchart of an example process300for creating a combined content item using information from a content item associated with a same brand. In some implementations, the content management system110can perform stages of the process300using instructions that are executed by one or more processors.FIGS.1-2Bare used to provide example structures for performing the stages of the process300.

A search query is received (302). For example, the request handler124can receive the search query206(e.g., “shoes”) from the user device106. The search query206, for example, can be entered by the user208in a query control210on the web page212.

Search results responsive to the query are identified, including identifying a first search result in a top set of search results that is associated with a brand (304). For example, the content identification engine121can identify search results214that are responsive to terms and phrases in the search query206. The identified search results214can be obtained, for example, using an index, such as described above with reference toFIG.1. The identified search results214can include the first search result214a, e.g., that is associated with Example Brand shoes. The identified search results214can also include other search results that may be associated with the same brand, other different brands, or no brand at all. In some implementations, the first search result (e.g., first search result214a) that is identified can be the top search result, e.g., the first entry of the search results118that are responsive to the query116. In some implementations, the first search result can be a search results entry that is not the top result (e.g., a second result, or a different result on a same page).

Based at least in part on the query, one or more eligible content items are identified for delivery along with the search results responsive to the query (306). As an example, the content identification engine121can identify eligible content items216, such as advertisements or other sponsored content, that are to be presented with the search results214and that are selected, at least based in part, on the search query206. The advertisements can include, for example, at least one advertisement for Example Brand shoes and other advertisements for brands that are different from Example Brand.

A determination is made when at least one of the eligible content items is associated with a same brand as the brand associated with the first search result (308). The entity/brand determination engine122, for example, can make a determination as to whether one or more of the eligible content items216is associated with a same brand (e.g., Example Brand shoes) as the first search result214a. For example, the entity/brand determination engine122can determine that content item216a, e.g., an advertisement for Example Brand shoes, is associated with Example Brand shoes. There can be other brand-related matches between the eligible content items216and other ones of the search results214.

In some implementations, determining when the at least one of the eligible content items is associated with a same brand can include determining that one content item is sponsored by an owner of the brand. For example, the entity/brand determination engine122can determine that the content item216a(e.g., the advertisement for Example Brand shoes) is owned, e.g., by Example Brand Inc., who may also be the content sponsor108for the Example Brand shoes advertisement.

In some implementations, determining when at least one of the eligible content items is associated with a same brand can include determining that one eligible content item is associated with a retailer associated with the brand. For example, one or more of the content item216a(e.g., the advertisement for Example Brand shoes) and the first search result214acan be associated with the same retailer, e.g., a retailer that corresponds to retailer information234a.

The first search result and one of the determined at least one eligible content items are combined into a combined content item, and the combined content item is provided as a search result responsive to the request (310). For example, the content item combination engine123can create the combined content item202(e.g., a single unit presentable with search results) that is a combination of the first search result214aand the content item216athat are both associated with the same Example Brand shoes brand.

In some implementations, combining includes combining a visual universal resource locator (VisURL), a title, text from the determined one eligible content item, or a link to a landing page from the determined one eligible content item into the combined content item. For example, the combined content item202that is created by the content item combination engine123can include the visual URL222, text224and a landing page link226. The combined content item202can also include content204c, which can include some or all of the first search result214a. In some implementations, there can be some overlap of content in the first search result214aand the content item216a, such as the same link to a same landing page. In some implementations, duplicative information is not included in a combined content item.

In some implementations, combining can include combining other information associated with the brand in the combination content item. For example, the combined content item202can also include a map227to one or more retail locations associated with brand retail presence, retailer information234associated with the brand and that can provide actionable links for retailers of, or associated with, the brand (e.g., Example Brand shoes). Other information can also be included, such as a physical address228, business hours229, and rating information230.

In some implementations, combining can include designating content from the at least one eligible content item that is included in the combined content item as sponsored content. For example, the content item combination engine123can specify that the combined content item202be sponsored content that is included with the search results204.

In some implementations, combined content items can be presented in a way that indicates at least a partial sponsorship. For example, combined content items can be presented for display using a special font, a special block, a different background, or some other visual different from other content items.

In some implementations, the process300can further include monetizing interactions with material that is included from the at least one eligible content item that is included in the combined content item based on user interactions with the material. For example, once the combined content item202is provided as the search result entry204a, the content management system110can monetize the search result entry204aas if it is the same content item202. In some implementations, the monetization can occur at a different rate (e.g., a special combined content item rate) than a standard rate that would apply to the content item216a.

FIG.3Bis a flowchart of an example process320for creating a combined content item using information from a content item associated with a related entity. In some implementations, the content management system110can perform stages of the process320using instructions that are executed by one or more processors.FIGS.1-2Bare used to provide example structures for performing the stages of the process320.

A search query is received (322). For example, the request handler124can receive the search query206(e.g., “shoes”) from the user device106. The search query206, for example, can be entered by the user208in a query control210on the web page212.

Search results responsive to the query are identified including a first search result in a top set of search results (324). The first search result can be associated with a first entity (e.g., a brand). As an example, the content identification engine121can identify search results214that are responsive to terms and phrases in the search query206. The identified search results214can be obtained, for example, using an index, such as described above with reference toFIG.1. The identified search results214can include the first search result214a, e.g., that is associated with Example Brand shoes. The identified search results214can also include other search results that may be associated with the same brand, other different brands, or no brand at all. In some implementations, the first search result214athat is identified can be the top search result among a top set of search results118(e.g., displayed on a first page) that are responsive to the query116. In some implementations, the first search result can be a search results entry that is not the top result (e.g., a second search results entry, or a different search results entry on a same page).

A first eligible content item is identified based on the search results for presentation along with the search results (326). The first eligible content item is associated with the first entity. As an example, the content identification engine121can identify eligible content items216, such as advertisements or other sponsored content, that are selected, at least based in part, on the search query206. From the eligible content items216, the content identification engine121can identify the content item216athat is to be presented with the search results214. The advertisements can include, for example, at least one advertisement related to the Example Brand shoes entity and other advertisements for brands that may or may not be the same as Example Brand.

In some implementations, the first eligible content item can be sponsored by an owner of the brand. For example, the owner of the brand Example Brand Shoes can be the content sponsor108associated with the content item216a.

A combined content item is identified that is a combination of the first search result and the first eligible content item and is to be presented as a search result responsive to the query (328). As an example, the content item combination engine123can create the combined content item202(e.g., a single unit presentable with search results) using the first search result214aand the content item216a.

The combined content item is augmented (330). For example, the content item combination engine123can augment the combined content item202using content from the at least one other content item, as described in the following stages.

One or more entities related to the first entity are identified (332). As an example, the entity/brand determination engine122can identify other entities133that are related to the entity associated with Example Brand shoes. The related entities can include, for example, entities that are commercially related to the brand, such as retailers for the brand (e.g., brick-and-mortar or online stores that sell Example Brand shoes).

In some implementations, identifying one or more related entities can include using a graph of related entities to determine one or more commercially related entities. For example, the entity/brand determination engine122can use one or more graphs that identify relationships among entities. Separate nodes in the graph(s), for example, can be used to represent entities. Edges on the graph(s), for example, can represent relationships between nodes, e.g., indicating that two entities are related. Other information on the nodes and edges of the graph(s) can be used, e.g., to indicate the strength of the relationships of for other purposes. Other structures besides graphs can also be used. In some implementations, knowledge graphs or other mechanisms can be used to associate various ones of products, entities, brands and other items of interest.

One or more content items are identified from an inventory of content items that are associated with the one or more identified related entities (334). For example, the content identification engine121can identify one or more eligible content items131that are associated with the related entities.

In some implementations, identifying one or more content items from an inventory of content items that are associated with the one or more identified related entities can include identifying one or more content items that are sponsored by the one or more identified related entities. For example, the content identification engine121can identify eligible content items216that are sponsored by retailers of Example Brand shoes.

At least one of the identified one or more content items is selected based on a selection criteria (336). For example, the content identification engine121can identify a particular one of the eligible content items216using selection criteria, e.g., selecting the content item216bthat is a content item related to a retailer of Example Brand shoes. Selection criteria can be the same as used when selecting the eligible content items214or can be different, such as to favor particular entity relationships over others (e.g., a preferred related entity).

In some implementations, selecting can include conducting an auction and using selection criteria that includes performance information related to either the one or more related entities or the identified one or more content items. For example, an auction can be used that can, for example, result in the selection of a content item related to a retailer of Example Brand shoes over other content items, e.g., based on click-through rates or other performance-related information associated with the content item.

Content from the selected at least one identified one or more content items is used to augment the combined content item (338). For example, the content item combination engine123can add content from the Example Brand retailer advertisement to the combined content item202.

In some implementations, augmenting can include adding a link to a landing page associated with the one or more content items. As an example, the content item combination engine123can add retailer information234, which can include clickable links to landing pages or other web pages of various retailers of Example Brand shoes.

In some implementations, augmenting can include adding a text advertisement sponsored by the one or more related entities. As an example, the content item combination engine123can add various ones of the components204c,224,228,229,230and222or other advertisement text from the content item216b.

In some implementations, augmenting can include determining a format for content to be added and adding the content in accordance with the determined format. For example, the content item combination engine123can use format information that identifies how added content is to appear in the search result entry204a.

FIG.4is a block diagram of example computing devices400,450that may be used to implement the systems and methods described in this document, as either a client or as a server or plurality of servers. Computing device400is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Computing device400is further intended to represent any other typically non-mobile devices, such as televisions or other electronic devices with one or more processors embedded therein or attached thereto. Computing device450is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, and other computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the inventions described and/or claimed in this document.

Computing device400includes a processor402, memory404, a storage device406, a high-speed controller408connecting to memory404and high-speed expansion ports410, and a low-speed controller412connecting to low-speed bus414and storage device406. Each of the components402,404,406,408,410, and412, are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate. The processor402can process instructions for execution within the computing device400, including instructions stored in the memory404or on the storage device406to display graphical information for a GUI on an external input/output device, such as display416coupled to high-speed controller408. In other implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices400may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).

The memory404stores information within the computing device400. In one implementation, the memory404is a computer-readable medium. In one implementation, the memory404is a volatile memory unit or units. In another implementation, the memory404is a non-volatile memory unit or units.

The storage device406is capable of providing mass storage for the computing device400. In one implementation, the storage device406is a computer-readable medium. In various different implementations, the storage device406may be a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory404, the storage device406, or memory on processor402.

The high-speed controller408manages bandwidth-intensive operations for the computing device400, while the low-speed controller412manages lower bandwidth-intensive operations. Such allocation of duties is an example only. In one implementation, the high-speed controller408is coupled to memory404, display416(e.g., through a graphics processor or accelerator), and to high-speed expansion ports410, which may accept various expansion cards (not shown). In the implementation, low-speed controller412is coupled to storage device406and low-speed bus414. The low-speed bus414(e.g., a low-speed expansion port), which may include various communication ports (e.g., USB, Bluetooth®, Ethernet, wireless Ethernet), may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.

The computing device400may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server420, or multiple times in a group of such servers. It may also be implemented as part of a rack server system424. In addition, it may be implemented in a personal computer such as a laptop computer422. Alternatively, components from computing device400may be combined with other components in a mobile device (not shown), such as computing device450. Each of such devices may contain one or more of computing devices400,450, and an entire system may be made up of multiple computing devices400,450communicating with each other.

Computing device450includes a processor452, memory464, an input/output device such as a display454, a communication interface466, and a transceiver468, among other components. The computing device450may also be provided with a storage device, such as a micro-drive or other device, to provide additional storage. Each of the components450,452,464,454,466, and468, are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate.

The processor452can process instructions for execution within the computing device450, including instructions stored in the memory464. The processor may also include separate analog and digital processors. The processor may provide, for example, for coordination of the other components of the computing device450, such as control of user interfaces, applications run by computing device450, and wireless communication by computing device450.

Processor452may communicate with a user through control interface458and display interface456coupled to a display454. The display454may be, for example, a TFT LCD display or an OLED display, or other appropriate display technology. The display interface456may comprise appropriate circuitry for driving the display454to present graphical and other information to a user. The control interface458may receive commands from a user and convert them for submission to the processor452. In addition, an external interface462may be provided in communication with processor452, so as to enable near area communication of computing device450with other devices. External interface462may provide, for example, for wired communication (e.g., via a docking procedure) or for wireless communication (e.g., via Bluetooth® or other such technologies).

The memory464stores information within the computing device450. In one implementation, the memory464is a computer-readable medium. In one implementation, the memory464is a volatile memory unit or units. In another implementation, the memory464is a non-volatile memory unit or units. Expansion memory474may also be provided and connected to computing device450through expansion interface472, which may include, for example, a subscriber identification module (SIM) card interface. Such expansion memory474may provide extra storage space for computing device450, or may also store applications or other information for computing device450. Specifically, expansion memory474may include instructions to carry out or supplement the processes described above, and may include secure information also. Thus, for example, expansion memory474may be provide as a security module for computing device450, and may be programmed with instructions that permit secure use of computing device450. In addition, secure applications may be provided via the SIM cards, along with additional information, such as placing identifying information on the SIM card in a non-hackable manner.

The memory may include for example, flash memory and/or MRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory464, expansion memory474, or memory on processor452.

Computing device450may communicate wirelessly through communication interface466, which may include digital signal processing circuitry where necessary. Communication interface466may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, through transceiver468(e.g., a radio-frequency transceiver). In addition, short-range communication may occur, such as using a Bluetooth®, WiFi, or other such transceiver (not shown). In addition, GPS receiver module470may provide additional wireless data to computing device450, which may be used as appropriate by applications running on computing device450.

Computing device450may also communicate audibly using audio codec460, which may receive spoken information from a user and convert it to usable digital information. Audio codec460may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of computing device450. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on computing device450.

The computing device450may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone480. It may also be implemented as part of a smartphone482, personal digital assistant, or other mobile device.

Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. Other programming paradigms can be used, e.g., functional programming, logical programming, or other programming. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.

The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular implementations of particular inventions. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

Thus, particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.