Methods and apparatuses for precision interest matching are provided. More particularly, methods and systems for providing selected content to a client are provided.
Computer networks such as the Internet provide a common means for obtaining content or other information. For example, searches can be performed over the worldwide web in response to queries provided by or on behalf of a user. The results of the search can be returned to the user in the form of an ordered list. The user can then select and review items included in the list of results and/or can make further queries in order to generate additional sets of search results.
In order to generate revenue in connection with the services offered over public networks such as the Internet, websites often sell advertising space. The advertisements that are presented by a web page can be selected based on information known or inferred about the user. For example, advertisements can be selected for presentation to a user based on search queries that have been entered by the user in the past.
In an effort to provide advertisements that are more precisely targeted to the user, search engines or other websites can aggregate information about the user. Such information can include a history of searches, web pages visited, and other information obtained from the user or derived from the user's actions. However, this collection of information raises privacy concerns. In addition, the current interests of the user may not be accurately inferred from collected information, for example where the user is pursuing new or different interests. As another example, advertising about a vacation destination after the person has returned from vacation may be presented as a result of search information aggregated from prior to the user's vacation.
In connection with the delivery of relevant content, whether advertising or otherwise, to a user, it is valuable to have detailed information about the user and about the specific information or content that the user is then interested in receiving. For example, demographic information regarding the user can help advertisers or providers of content generally to provide content desired by or of interest to the user. However, many users are reluctant to provide detailed demographic information, or other information that can be used to identify the user. As a result, a user faces a choice of disclosing information about themselves or their current interests, or receiving useless content. In addition, content providers, which can include advertisers, are unable to accurately determine the current interests of the user. Content providers, both advertisers and publishers, believe they have the right to discern, collect, merge with data from other sources, aggregate and sell any data they can regarding their users and use this data to track user activity across multiple web sites and email communications, reinforcing content consumers concerns regarding privacy and security.
It is also desirable to provide targeted information and/or advertising in connection with broadcast media or content. However, the specificity with which broadcast content can be delivered is limited by the distribution systems. In particular, the granularity with which advertising or other specialized content associated with a broadcast program can be selected is limited to regions of the country for satellite distribution systems, where the regions correspond to the coverage area of the satellite. In connection with cable television distribution systems, the area generally corresponds to neighborhoods or other large areas serviced by a head end facility. Moreover, although on-demand programming systems have been developed, such systems have not been capable of automatically selecting content for individual users. For example, where such systems are used to deliver on demand content to a user (e.g., a movie) it is a whole piece of content; it is not inserted into otherwise standard content and the inserted content is not based on user controlled parameters.
Embodiments of the present invention are directed to providing systems and methods that are capable of delivering precisely selected content, based on the content provider and content consumer (publisher and user) needs, to a user while requiring that the user disclose no or limited information about themselves or their current interests to the content provider (e.g. advertiser or publisher). More particularly, embodiments of the disclosed invention include a client application that provides an interface with the user or an interface to another application through an application programming interface (API). Through this user interface or API, the user can provide personal information, and information regarding content that is relevant to the user or that the user is otherwise interested in receiving. The personal information and information about the content that the user is interested in receiving can be stored as part of one or more sets of profile information. Selected portions of the profile information can be used to generate queries that are provided to a search server. The search server can run one or more searches in response to receiving the queries. Metadata concerning the content included in search results can be returned to the client by the search server. The client application can then apply further profile information, to select items of content represented by the metadata to download to the client device.
The delivery of only selected information to a search server allows searches for desired or relevant content to be performed by the search server, while providing confidentiality or privacy. In particular, information that is considered particularly sensitive is not delivered to the search server. Moreover, at least initially, the search query information is not delivered to an advertiser or content provider at this point at all. In particular, the search server can protect the information the client device provides to the search server. The client can authorize the search server to release selected information in a non-anonymous fashion at the client's choice, for example as a condition of using the content or specific anonymous information after the fact as marketing demographics. Additionally, the search server does not retain, aggregate or otherwise keep this query data. The user can choose, via the user interface or API, to provide a controlled set of information about themselves anonymously and possibly get paid or otherwise compensated for that information. In accordance with embodiments of the present invention, information that is sensitive can be used to refine or filter the search results on the client device, and to determine the content that is actually presented to the user. In addition, because embodiments provide metadata about content, rather than the content itself, the delivery of the metadata to the client device can be performed with fewer resources than if the content itself were delivered as part of the initial search results.
In accordance with embodiments of the disclosed invention, the refinement of the search results can be performed by the client application automatically, through application of additional profile information. Moreover, after selecting particular items of content through the application of the additional profile information, the client application can download that content and store copies of the content locally. The user can then view that content at any time after the content has been downloaded. Alternatively, content can be streamed to the client device and viewed by the user at or about the time that it is received at the client device. In accordance with still other embodiments, content can be downloaded to the client device based on the initial search performed by the search server, and that content can then be filtered based on various criteria by the client application.
In addition, a client application and/or application programming interface (API) is provided to receive and manage profile information. The client application can be provided, for example, as part of or as an application running on a client device. As an example, the client device can include a set top box. Moreover, the set top box can comprise a cable converter and/or digital video recorder (DVR). The client device is interconnected to one or more data sources and/or broadcast content sources. Moreover, connections to different sources can be over different networks. For example, a connection to a data source can be over an internet protocol network, while a connection to a broadcast content source can be over a cable television network.
The profile information can be used to identify selected content. The selected content can be downloaded to the client device, and placed in storage included as part of or local to the client device. The selected content can then be maintained for at least some period of time in the data storage. Selected content that is stored and available to the client device can be deleted after it has been viewed by a user, or after a predetermined period of time has elapsed. Stored selected content can also be deleted after the occurrence of an event indicating that the selected content is no longer relevant. For example, the modification or deletion of profile information indicating an interest of an associated user in the selected content can result in the content being deleted from data storage. As further examples, an input from a user or an administrator to delete or refresh selected content can cause stored selected content to be removed.
In accordance with embodiments of the present invention, a user can be provided with specifically selected content while viewing requested content. For example, advertisements or other enhanced content that have been stored locally can be provided as part of or inserted into a requested video stream. Moreover, the requested video stream can comprise an in-progress broadcast program that is delivered to any number of viewers simultaneously, or an on-demand program delivered to the individual user in response to a request by that user. In accordance with still other embodiments, a user can be provided with programming selected in view of the user's profile information. In addition, a client device can provide different users or audiences with different content. In particular, profile information can be applied according to the current user's profile information. In this way, content that is selected for and/or appropriate for current users (viewers) can be provided. Operation of the client application and device can include receiving sign in information identifying a current user or user group.
In accordance with further embodiments of the disclosed invention, the communications, including the exchange of profile information, metadata, and content, can be performed securely, for example through the application of encryption techniques. In accordance with still further embodiments, the client application can provide notification to an authority, for example to the search server, when metadata and/or items of content are accessed by the user of the client device.
Additional features and advantages of embodiments of the present invention will become more readily apparent from the following description, particularly when taken together with the accompanying drawings.
The client device 108 may comprise a general purpose computer, such as but not limited to a laptop or desktop personal computer, a tablet computer, a smart phone, or other device capable of communications over a communication network 116 and capable of presenting content to an associated user 104. The client device 108 may also comprise a processing unit that is interconnected to an affiliated input/output device. For instance, a client device 108 can include a set-top box operated in connection with a tablet computer. The client device 108 includes and/or executes a client application 124 in connection with the identification of content and the presentation of content to the user 104. Accordingly, the client application 124 may comprise application programming stored on or accessible to the client device 108, that is executed by or on behalf of the client device 108 in connection with the identification and presentation of content. The client application 124 may operate in association with profile information 128 that is stored or maintained as one or more user profiles. As described in greater detail elsewhere herein, profile information 128 can include information that is used to locate and identify content for presentation to the user 104. The information can include server side profile information 130 that is provided to the search server 112, either directly or in the form of a query formulated locally, and a second set of information that is reserved or retained locally as client side profile information 132. More particularly, the server side profile information 130 can be used to obtain initial or rough search results, and does not need to include information that individually identifies the user 104. The client side profile information 132 can be used to select content included in the initial search results to download to the client device 108 and/or to present to the user 104. The client device can also include a content cache 134, comprising items of content 140 and/or items of enhanced content 142 identified by the search server 112 that have been downloaded to the client device 108. Information or content 140, 142 in the content cache 134 can be held on the client device 108 until it is viewed by the user 104, discarded as a result of filtering, performed on the client device 108, or until the content has become stale.
The search server 112 can include a general purpose computer or server computer. Moreover, the search server 112 may comprise one or more devices that perform functions in support of the identification and provision of content 140 and/or enhanced content 142 to a client device 108 over the communication network 116. The search server 112 can include or implement a server application 136. The server application 136 can receive queries, and/or can formulate queries based on server side profile information 130 that is provided to the search server 112 by a client device 108. Alternatively or in addition, the server application can run queries on behalf of one or more client devices 108 based on generic, or non-client device 108 sourced profile information or search criteria. The server application 136 can identify content 140 and/or enhanced content 142 by applying the search or query using various techniques. For example, the server application 136 can operate by passing a query to a publicly available search engine, such as Google™, Bing™, or Yahoo™ search, or by itself implementing a search engine function. The server application 136 can identify or collect links to content 140, 142 available through or stored on the search server 112, or on some other data source 120. For example, the server application 136 can operate to locate content on the worldwide web (WWW), in a private intranet, or in public or private databases. As described in greater detail elsewhere herein, the server application 136 can further operate to provide lists of identified content 140, 142 and metadata concerning that identified content to a client device 108. The search server 112 can also facilitate the delivery of particular items of content 140, 142 selected from lists of content 140, 142 by a client device 108 to that client device or other client devices 108. In accordance with still other embodiments, the server application 136 can perform or support administrative functions. For example, information regarding content 140, 142 downloaded to the client device 108 and/or presented by a client device 108 to an associated user 104 can be collected by the server application 136. Such information can be provided to an administration module 144. The administration module 144 can perform functions related to billing a user 104 for accessing particular items of content 140, 142, performing digital rights management functions with respect to items of content 140, 142, billing advertisers in connection with presenting particular items of content 140, 142 to a user 104, and the like.
The communication network 116 can include one or more networks capable of supporting communications between devices or nodes of the system 100, including but not limited to a client device 108, a search server 112, and a data source 120. Examples of communication networks 116 include the Internet or any wide area network (WAN), local area network (LAN), or networks in various combinations. Other examples of communication networks 116 in accordance with embodiments of the present invention include broadcast networks. As used herein, broadcast networks can include over the air broadcast systems, cable television systems, satellite television systems and digital subscriber line (DSL) networks. In addition, different communication networks 116 can share a common physical infrastructure, for at least some portion of the physical network. For instance, a client device 108 can be interconnected to a communication network 116 comprising the Internet and to a cable television system content provider, by a cable line (e.g., a coaxial transmission line) between the client device 108 and a multiple service provider or digital services provider distribution node.
A data source 120 can, for example, comprise a server computer interconnected to the search server 112 and/or the client device 108 through the communication network 116. For example, a data source 120 can comprise a website or other public or proprietary source of content 140. As a further example, a data source 120 can comprise a public or proprietary database of content 140. A data source 120 can also include a source of enhanced content 142.
In accordance with further embodiments, a media or multiple service provider (MSP) or other broadcast data source 148 can be provided. A broadcast data source 148 can be interconnected to a client device 108 through a communication network 116. As an example, a broadcast data source 148 can comprise a cable or satellite television service provider interconnected to a client device 108 through a communication network 116 comprising a cable or satellite television distribution network system respectively. The broadcast data source 148 can provide broadcast content 152 to a client device 108. As used herein, broadcast content 152 can include content that is available to multiple client devices 108 simultaneously. A particular example of broadcast content 152 therefore includes broadcast programming delivered in connection with a television channel. A broadcast content provider 148 can additionally provide audio and video on-demand (AVOD) content 156. AVOD content 156 can include content that is available to multiple individual users 104, but that is requested by an individual user 104 at the time the user 104 desires to access the AVOD content 156. Moreover, a broadcast content source 148 generally provides content 152, 156 in the form of streaming video content. Such streaming video content 152, 156 can be “live” content, or can be streamed from a stored source of content, for example using Internet Protocol television (IPTV) techniques. Moreover, the content 152, 156 from the broadcast content source 148 can include multiple forms of data or data types. For instance, content 152, 156 provided by a broadcast content source 148 can include full motion video, multiple tracks of audio, and selectable supplemental information, such as subtitles or program guides.
In accordance with still other embodiments of the present invention, a search server 112 and/or different data sources 120 and/or 148 can be provided separately, or can be provided in various combinations. For example, a broadcast content source 148 can operate as a search server 112 and can provide content 140 and enhanced content 142, in addition to broadcast 152 and on-demand 156 content. Moreover, a search server and/or other source of content 120 or 148 can be interconnected to a client device 108 through one or more communication networks 116. For example, a broadcast content source 148 can be interconnected to a client device 108 through a communication network 116 comprising an Internet protocol network, and by a communication network 116 comprising a broadcast television network. For example, a broadcast content source 148 can incorporate a search server 112 and associated components.
The processor 204 may include any processor capable of performing instructions encoded in software or firmware. In accordance with other embodiments of the present invention, the processor 204 may comprise a controller or application specific integrated circuit (ASIC) having or capable of performing instructions encoded in logic circuits. The memory 208 may be used to store programs or data, including data comprising content 140. As examples, the memory 208 may comprise RAM, SDRAM, or other solid state memory. Alternatively or in addition, data storage 212 may be provided. The data storage 212 may generally include storage for programs and data. For instance, with respect to a client device 108, data storage 212 may provide storage for a client application 124, an object or data store 228, a content cache 232, content 140 and/or enhanced content 142 (for example within the data store 228 and/or content cache 232), and key rings 236. As shown, the client application 124 can include or be associated with profile information 130 and a user interface module or function 238. Data storage 212 associated with a client device 108 can also provide storage for one or more user applications 240, communication applications 244, and/or operating system software 248. An example of a user application 240 can include a digital video recorder (DVR) application that allows specific programs available as broadcast content 152 to be stored in local data storage 212. The data storage 212 associated with the multiple service provider server 202 can include the server application 136, content 140, for example as part of one or more content databases 252, a data warehouse 256 and accounting data 260, for example maintained as part of the administration module 144, and operating system software 248.
In response to the initiation of a query, server side profile information 130 can be provided by the client application 124 on or associated with the client device 108 to the search server 112 via the one or more communication networks 116 (step 308). In response to receiving the server side profile information 130, the server application 136 initiates a search (step 312). In initiating the search, the server application 136 can provide a received query to a search engine that is implemented by the server application 136 itself, or that is provided by an affiliated or otherwise available search engine. Alternatively, the server application 136 can formulate a query that uses or that is based on server side profile information 130, and can provide that query to a search engine. In accordance with still other embodiments, the query can be formulated by and/or received from an administrator or an administration function operating on or in association with the search server 112.
At step 316, search result metadata is returned to the client device 108. The search results metadata can be collected by the server application 136 from the search results obtained by the search engine. In accordance with embodiments of the disclosed invention, the search results metadata can comprise various data concerning content 140 identified by the server application 136, such as by title, author, synopsis or other brief summary, excerpt, subject matter, classification, unique ID, date of creation, and date of an event or events to which the content 140 is related. As can further be appreciated by one of skill in the art, the metadata will typically comprise a fraction of the amount of data of the content itself. Accordingly, the metadata can be provided to a client device 108 over a communication network 116 using less bandwidth and other resources than if the full set of content 140 included in the search results were returned to the client device 108.
The client side profile information 132 is then applied to the search results metadata by the client application 124 (step 320). Alternatively or in addition, input provided by a user 104 can be applied to the search results metadata. Importantly, this additional information or search criteria is applied to the search results metadata at the client device 108. Accordingly, transmission of such client side profile information 132 across a communication network 116, and/or the release of such client side profile information 132 to the search server 112 is not required in order to refine the search results. In addition, the client device 108 is not required to be in communication with the search server 112 at the time the client side information 132 is applied. At step 324, a determination is made as to whether any items of content 140 have been selected from the search results metadata. If content has been selected, that content 140 can be downloaded (step 328). At step 332, a determination is made as to whether the process is to be continued. If the process is to be continued, it returns to step 304 to determine whether a query has been initiated. Alternatively, the process may end.
With reference now to
If the content cache 134 is not full, a request is constructed (step 416). Construction of the request can include sending server side profile information 130 to the search server 112. As described in greater detail elsewhere herein, the server side profile information 130 can include information stored as part of profile information 128 on the client device 108, information concerning content 140 that is currently being accessed by the user 104, a current location of the user 104 or client device 108, information regarding the output capabilities of the client device 108, and/or information regarding user interface display metrics, including space within a user interface 238 display that is available to display or otherwise output an advertisement or other content. At step 420, using the constructed request, one or more items of enhanced content 142, such as but not limited to an advertisement or other content, is obtained from the search server 112 or from a data source 120 identified by the search server 112. The retrieved enhanced content 142 is then downloaded and placed in an enhanced content 142 store (e.g., a local ad store) included in the local content cache 134 on the client device 108 (step 424).
At step 428, after processing a next user request or placing retrieved enhanced content 142 in the local content cache 134, a determination is made as to whether an advertisement or other enhanced content 142 needs to be displayed to the user 104. The determination as to whether an advertisement or other enhanced content 142 needs to be displayed can be made based on various parameters, including terms of use related to the content 140 selected for display or other content 140 being accessed by the user 104, or other user 104 and/or administration selected parameters. If an advertisement or other content is to be displayed, that advertisement or enhanced content 142 is selected from the local enhanced content 142 store or content cache 134 (step 432). The selected advertisement or other enhanced content 142 is then displayed as part of a page of other information or content 140 being viewed by the user 104 (step 436). If it was determined that an advertisement or other enhanced content 142 does not need to be displayed, the user 104 is simply presented with a display of the page or other content 140 accessed in response to a user request. After displaying the page of information or content 140 at step 436, or processing a next user request at step 408, the process for selecting and displaying enhanced content 142 may end.
If a match is found, a determination is made as to whether the matching enhanced content 142 has been downloaded to the content cache 232 (step 528). If the matching enhanced content 142 is not locally available, that enhanced content 142 can be downloaded, or other matching enhanced content 142 can be identified (step 532). The matching enhanced content 142 can then be obtained from the content cache 232 and is provided to the user interface 238 function of the client application 124 for rendering and display or other presentation to the user 104 through the user output 224 (step 536). After displaying the selected enhanced content 142, the process may end.
After all of the registering users 104 have provided profile information 128, a current user signs in (step 710), and that user's profile information 128 is applied to identify content for possible presentation to the signed in user 104 (step 712). Identified content 140, 142 is then downloaded to the client device 108, which in an exemplary embodiment comprises a set top box (step 716). At step 720, a determination is made as to whether an active user is present. In particular, a determination can be made as to whether a user 104 is currently watching requested content 152, 156, for example in the form of a video program (e.g., a television program) or other broadcast content 152. Moreover, the active user 104 or set of users is identified. In accordance with embodiments of the present invention, an active user 104 or set of users can be identified through a simple registration or identification process performed when the set top box or other client device 108 is activated to view broadcast content 152. A set of users can be identified by registering multiple users 104, while or prior to watching broadcast content 152. In accordance with still other embodiments, sets of users or user groups can be associated with profiles 148 that are selectively activated. For example, and without limitation, a family group can be defined and selected for use where broadcast programming is being presented to members of the family, a children's group can be defined and selected when children only are viewing content, and an adult family members group can be defined and selected when only adult family members are viewing content.
If an active user is present, at step 724, a determination is made as to whether selected content 140 or 142 is available for the active user 104 or user group. If selected content 140 or 142 is available, that content 140, 142 is presented in an available space provided in the requested content (step 728). For example, where the requested content 152, 156 is broadcast content 152 comprising a video program, the space can be provided in the form of one or more time slots at selected locations within the program. The selected content 140 or enhanced content 142, for example an advertisement, can be placed into a selected time slot. Moreover, the selected time slot can comprise a replaceable segment of broadcast 152 or AVOD 156 content, or a blank or otherwise reserved interval included in the request content 152, 156. The selected content 140 or 142 is then presented to the user 104 when the programming reaches the selected time slot. In accordance with embodiments of the present invention, information regarding available slots or whitespace within a program or other content 152 or 156 can be provided to the client application 124 as part of the broadcast 152 or 156 information. For example, such information can be provided as supplemental data or metadata. Moreover, the selected content 140 or 142 can be in the same format as the requested content 152 or 156. For example, where the requested content 152 or 156 is in the form of video content, the selected content 140 or 142 can also be streamed video. If at step 724 it is determined that selected content 140, 142 is not available, the process can return to step 716 to try to download selected content 140, 142.
At step 732, a determination can be made as to whether operation of the client device 108 and/or client application 124 to provide content is to continue. If operation is to continue, the process can return to step 712, at which point selected content for one or more users is identified. Accordingly, the process of identifying content 140 and 142 appropriate to users 104 associated with defined user profiles 128 can continue as a background operation, while the client device 108 is in operation. In accordance with still other embodiments, such collection of selected content 140, 142 can continue even when the client device 108 is powered off, at least with respect to real time user operations. If operation is to be discontinued, the process may end.
In accordance with embodiments of the present disclosure, a user can select an applicable user profile from a plurality of available profiles. This allows a user to, for example, access and/or be presented with different selected content 140, 142, based on a change in mood, a change in the set of users currently viewing content, or other change in circumstance. Alternatively or in addition, a user 104 can provide modified profile information 128 which can be applied to change the selected content 140, 142 that is presented to the user 104. Accordingly, a user 104 can provide feedback to the system to help the system 100 provide relevant and appropriate content 140 and 142.
In accordance with still other embodiments, the system 100 can operate to select and provide content to a user 104 entirely in response to information included in the user profile information 128. For example, instead of a user 104 explicitly requesting broadcast content 152 or on-demand content 156, such broadcast content 152 or on-demand content 156 can be identified by the search server 112 applying the user profile information 124 for the active user 104. Moreover, selected content 140 and/or enhanced content 142 can be presented together with the automatically selected broadcast content 152 or on-demand content 156. Accordingly, embodiments of the present invention allow for customized programming to be presented to a user 104. Advantages of such a system 100 include the ability to satisfy users 104 subscribing to multiple service provider offerings by delivering content 140, 142, 152 and/or 156 that is selected in consideration of the user's profile information 128. More particularly, the content 140, 142, 152 and/or 156 delivered to a user 104 is selected in view of the user's stated and/or inferred preferences, and therefore is likely to be of interest and/or relevant to the user 104.
In accordance with still other embodiments, in connection with selected content 140 or enhanced content 142 that is added to and/or inserted in other content, such as broadcast content 152, can be stored as part of a content cache 134 during background operations performed by the client application 124. For example, even when a client device 108 is not delivering broadcast content 152 or on-demand content 156 to a user 104, it can nonetheless be operating to store selected content 140 or enhanced content 142 for later delivery to a user 104. Moreover, such background operations can be performed with respect to multiple users 104 registered with a particular client device 108. Selected content 140, 142 stored in the content cache 134 can then be selected and presented to a user 104 as described in connection with various of the methods discussed herein.
The selected content 140, 142 stored in the content cache 134 can be replaced, entirely or in part, periodically or as required. For example, the selected content 140, 142 can be removed when that content 140, 142 is determined to have become stale. The selected content 140, 142 can also be replaced by new content on a first in first out basis. Selected content 140, 142 can also be removed from the content cache 134 in response to instructions received from a user 104 or an administrator.
The content 140, 142 maintained in the content cache 134 can be selected with respect to multiple users 104 in response to the associated user profile information 128. Alternatively or in addition, specific items of selected content 140, 142 can be maintained for possible presentation to an individual user 104.
In addition to providing selected content 140, 142 that is determined to be of interest to an active user 104, embodiments of the invention can be used to provide information that is determined to be appropriate for a user or a set of users 104. For example, when young children are viewing requested content 152 or 156, content 140 or enhanced content 142 selected by operation of the system 100 will conform to parameters stated in the applicable user profile 128 in order to limit selected content 140 or enhanced content 142 to that which is determined to be age appropriate. Accordingly, embodiments of the present invention can be used to implement and/or enforce parental or administrative rules.
Although various examples and embodiments have been described in which advertisements are selected and presented to a user, embodiments of the present invention are not limited to the selection and presentation of advertising content. Instead, embodiments of the disclosed invention can be used to select content 140 and/or enhanced content 142 wherever efficiency, security and/or privacy is a concern. More particularly, by performing an initial search using a subset of a user's profile information 128 comprising server side profile information 130, a user 104 can initiate or have initiated on their behalf the collection of an initial set of search results, without requiring that the user 104 transmit and/or otherwise disclose details of the search criteria that may compromise the security of confidential information and/or personal information. Instead, search criteria that may present security and/or privacy concerns is maintained on the client device 108, and is applied by the client application 124. In addition, the efficiency of the system 100 can remain high, because only metadata regarding content 140 and/or enhanced content 142 needs to be returned as part of an initial set of search results. In particular, the initial search results can be refined by applying client side profile information 132 to the returned metadata. Content 140 and/or enhanced content 142 identified through this process can then be downloaded where a match is found using the metadata. Embodiments of the disclosed invention can also provide relevant content 140 to a user 104 even where the user 104 didn't know to look for that content 140, based on a watch or query, and filtering performed by application of client side profile information 132.
In one exemplary scenario, embodiments of the invention can provide relevant content 140 and/or enhanced content 142 to a user 104 without compromising security or privacy concerns of the user 104. For instance, a query can be initiated on behalf of a user 104 by sending server side profile information 130 to the search server. The sending of the server side profile information 130 can be initiated when a geolocation module 226 on the client device 108 signals the client application 124 that the user 104 has entered a particular geographic region. Moreover, this can be done without sending that location information to the search server 112. The client device 108 can then be provided with metadata regarding a range of content 140, and a set or list of particular items of content 140 and/or enhanced content 142 can then be refined securely by applying client side profile information 132 at the client device 108. This client side profile information 132 can include the client device 108 location. Accordingly, a targeted search can be performed without requiring disclosure of sensitive client side profile information 132 to the search server 112 or any other device or node. For instance, the security clearance, location, mission or other information associated with the user 104 can be maintained solely on the client device 108.
In accordance with still further embodiments of the disclosed invention, a taxonomy can be applied to identify content 140 and/or enhanced content 142 that is likely relevant and therefore of interest to the user 104. In particular, a taxonomy can be used to identify characteristics of content 140 being viewed currently by a user 104, and to obtain additional content 140 and/or enhanced content 142 that is commensurate with the subject matter or other indicia of the content 140 being viewed. In this way, information in the form of content 140 and/or enhanced content 142 that is highly relevant to the current activity or interest of a user 104 can be located and delivered to that user 104.
Systems 100 and methods in accordance with embodiments of the disclosed invention allow for the delivery of profile information 132 and content 140 and/or enhanced content 142 using secure mechanisms. Accordingly, not only is security and privacy enhanced through the division of profile information 128 into server side profile information 130 and client side profile information 132, but information that is transmitted across a communication network 116, whether that information comprises profile information 128, metadata, content 140, and/or enhanced content 142, can be encrypted. Encrypted content can be accessed through the application of one or more keys, for example maintained in key rings 236, to access.
The foregoing discussion of the invention has been presented for purposes of illustration and description. Further, the description is not intended to limit the invention to the form disclosed herein. Consequently, variations and modifications commensurate with the above teachings, within the skill or knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain the best mode presently known of practicing the invention and to enable others skilled in the art to utilize the invention in such or in other embodiments and with various modifications required by the particular application or use of the invention. It is intended that the appended claims be construed to include alternative embodiments to the extent permitted by the prior art.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/543,215, filed Oct. 4, 2011, and U.S. Provisional Patent Application Ser. No. 61/567,501, filed Dec. 6, 2011, the entire disclosures of which are hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61543215 | Oct 2011 | US | |
61567501 | Dec 2011 | US |