Advertisement targeting through embedded scripts in supply-side and demand-side platforms
First Claim
1. A method of a client device comprising:
- constraining an executable environment in a security sandbox;
executing a sandboxed application in the constrained executable environment;
through the sandboxed application, associating with a networked media device by way of a sandbox reachable service executing on the networked media device using a communication provided by the networked media device;
applying an automatic content recognition algorithm to determine a content identifier of an audio-visual data rendered through the sandboxed application;
associating the content identifier with an advertisement data based on a semantic correlation between a metadata of the advertisement data provided by a content provider and the content identifier;
targeting the advertisement data at the networked media device based on the association of the content identifier with the advertisement data and the association between the client device and the networked media device; and
executing, through the sandboxed application, arbitrary cross-site scripts to improve targeting of the advertisement data based on embedding a script in at least one of the client device, a supply-side platform, and a data provider integrated with the supply side platform.
3 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and a system of improvement of advertisement targeting through embedded scripts in supply-side and demand-side platforms are disclosed. In one embodiment, a method of a client device includes applying an automatic content recognition algorithm to determine a content identifier of an audio-visual data. The client device then associates the content identifier with an advertisement data based on a semantic correlation between a meta-data of the advertisement provided by a content provider and/or the content identifier. The advertisement targeting may be improved when a script is embedded in the client device, a supply-side platform, and/or a data provider integrated with the supply side platform, to execute arbitrary cross-site scripts in the sandboxed application of the client device. The content identifier may be obfuscated in a manner that it is relevant to a particular demand-side platform to eliminate a need to query the provider of the content identifier on a per ad-spot basis. The demand-side platform may submit requests to the advertising exchange based on a constraint type rather than through a bidding methodology on a per advertisement spot basis.
-
Citations
51 Claims
-
1. A method of a client device comprising:
-
constraining an executable environment in a security sandbox; executing a sandboxed application in the constrained executable environment; through the sandboxed application, associating with a networked media device by way of a sandbox reachable service executing on the networked media device using a communication provided by the networked media device; applying an automatic content recognition algorithm to determine a content identifier of an audio-visual data rendered through the sandboxed application; associating the content identifier with an advertisement data based on a semantic correlation between a metadata of the advertisement data provided by a content provider and the content identifier; targeting the advertisement data at the networked media device based on the association of the content identifier with the advertisement data and the association between the client device and the networked media device; and executing, through the sandboxed application, arbitrary cross-site scripts to improve targeting of the advertisement data based on embedding a script in at least one of the client device, a supply-side platform, and a data provider integrated with the supply side platform. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
2. The method of claim 1, comprising:
-
associating the content identifier with the advertisement data generated through an advertising exchange server based on the content identifier and a public IP address associated with an application requesting the advertisement data, wherein at least one of; a provider of the content identifier receives a compensation when the advertisement data is associated with the audio-visual data based on the public IP address associated with the application requesting the advertisement data, the provider of the content identifier appends at least one of a set of content identifiers from associated clients and a viewing history from the associated clients to a plurality of advertisements and resells the advertisement data back to an advertising exchange based on the appended content identifiers, a capture infrastructure annotates the audio-visual data with at least one of a brand name and a product name by comparing entries in a master database with at least one of a closed captioning data of the audio-visual data and through application of an optical character recognition algorithm to the audio-visual data, the method further comprises requesting, through the sandboxed application, access to at least one of a microphone and a camera on the client device to capture a raw audio/video data, the capture infrastructure processes the raw audio/video data with the at least one of the brand name and the product name by comparing the entries in the master database with at least one of the raw audio/video data and through application of a sensory recognition algorithm of the raw audio/video data, the content identifier is at least one of a music identification, an object identification, a facial identification, and a voice identification, a minimal functionality comprising accessing at least one of a tuner and a stream decoder that identifies at least one of a channel and a content is found in the networked media device, the networked media device produces at least one of an audio fingerprint and a video fingerprint that is communicated with the capture infrastructure, the capture infrastructure compares the at least one of the audio fingerprint and the video fingerprint with the master database, the capture infrastructure annotates the audio-visual data with a logo name by comparing the entries in the master database with a logo data of the audio-visual data identified using a logo detection algorithm, the capture infrastructure automatically divides the audio-visual data into a series of scenes based on a semantic grouping of actions in the audio-visual data, the audio-visual data is analyzed in advance of a broadcast to determine content identifiers associated with each commercial in the audio-visual data such that advertisements are pre-inserted into the audio-visual data prior to broadcast, the capture infrastructure applies a time-order algorithm to automatically match the advertisements to the audio-visual data when a correlation pattern is identified by the capture infrastructure with other audio-visual content previously analyzed, the capture infrastructure includes a buffer that is saved to a persistent storage and for which a label is generated to facilitate identification of reoccurring sequences, a post processing operation is at least one of automated through a post-processing algorithm and a crowd-sourced operation using a plurality of users in which a turing test is applied to determine a veracity of an input, a device pairing algorithm is used in which a cookie data associated with a web page visited by a user stored on a browser on the client device is paired with the networked media device when the client device is communicatively coupled with the networked media device, a transitive public IP matching algorithm is utilized in which at least one of the client device and the networked media device communicates each public IP address with any paired entity to the capture infrastructure, a tag that is unconstrained from a same-origin policy is used to automatically load an advertisement in the browser, and the tag is at least one of an image tag, a frame, a iframe, and a script tag.
-
-
3. The method of claim 2, further comprising:
-
referencing an additional metadata comprising at least one of the content identifier and the advertisement based on a video processing algorithm, wherein the additional metadata is at least one of a title, a description, a thumbnail, a name of an individual, and a historical data, and wherein the additional metadata is determined from a browser history captured from the client device based on a capture policy, and correlating a relevance of the browser history with the at least one of the content identifier and the advertisement; automatically instantiating a connection between the sandboxed application and an unannounced device associated with the networked media device based on the determination that an IP address of a port from the unannounced device is associated with the networked media device; processing an identification data associated with the sandbox reachable service sharing a public address with the client device; determining a private address pair of the sandbox reachable service based on the identification data; establishing a communication session between the sandboxed application and the sandbox reachable service using a cross-site scripting technique of the security sandbox; appending a header of a hypertext transfer protocol to permit the networked media device to communicate with the sandboxed application as a permitted origin domain through a Cross-origin resource sharing (CORS) algorithm, wherein at least one of; the header is either one of a origin header when the CORS algorithm is applied and a referrer header in an alternate algorithm, the sandboxed application queries a MAC address of the sandbox reachable service in a common private network, the sandbox reachable service optionally verifies that the sandboxed application is in the common private network, the sandbox reachable service communicates a MAC address of the sandboxed application to the sandboxed application when the common private network is shared, the sandboxed application stores the MAC address of the sandboxed application and a unique identifier derived from the MAC address of the sandboxed application, and the sandboxed application communicates the MAC address and the unique identifier to a pairing server; and automatically regenerating the script embedded in the at least one of the client device, the supply-side platform, and the data provider integrated with the supply side platform when the common private network is shared by the sandboxed application and sandboxed reachable service based on the MAC address of the sandboxed application and the unique identifier communicated to the pairing server.
-
-
4. The method of claim 3, further comprising:
-
extending the security sandbox with a discovery algorithm and a relay algorithm through a discovery module and a relay module added to the security sandbox; and bypassing the pairing server having the discovery algorithm and the relay algorithm when establishing the communication session between the sandboxed application and the sandbox reachable service when the security sandbox is extended with the discovery algorithm and the relay algorithm through the discovery module and the relay module added to the security sandbox.
-
-
5. The method of claim 4, further comprising:
-
applying the discovery algorithm of the security sandbox to determine that the networked media device having the sandbox reachable service communicates in a shared network common to the client device and the networked media device; and applying the relay algorithm of the security sandbox to establish the communication session between the sandboxed application and the sandbox reachable service of the networked media device.
-
-
6. The method of claim 4:
wherein the discovery algorithm utilizes a protocol comprising at least one of a Bonjour®
protocol, a SSDP protocol, a LSD uTorrent®
protocol, a multicast protocol, an anycast protocol, and another Local Area Network based protocol that discovers services in a Local Area Network based on a broadcast from any one of an operating system service, the security sandbox, the client device, the sandbox reachable service, and the networked media device.
-
7. The method of claim 3, further comprising:
-
accessing the pairing server when processing the identification data associated with the sandbox reachable service sharing the public address with the client device, wherein the pairing server performs a discovery lookup of any device that has announced sharing of the public address associated with the client device, and wherein the sandbox reachable service announces itself to the pairing server prior to the establishment of the communication session between the sandboxed application and the sandbox reachable service.
-
-
8. The method of claim 7, wherein at least one of:
-
the sandbox reachable service announces an availability of the sandbox reachable service across a range of public addresses such that the sandboxed application communicates with the sandbox reachable service in any one of the range of the public addresses, the range of public addresses is known by the pairing server so that the announcement of the availability of the sandbox reachable service across the range of public addresses is unnecessary, the sandbox reachable service communicates at least one of a global unique identifier and an alphanumeric name to the pairing server along with the private address pair of the sandbox reachable service, and the private address pair includes a private IP address and a port number associated with the sandbox reachable service.
-
-
9. The method of claim 3, further comprising:
-
wherein the sandboxed application is at least one of a web page, a script, a binary executable, an intermediate bytecode, an abstract syntax tree, and an executable application in the security sandbox, wherein the sandboxed application comprises at least one of a HyperText Markup Language 5 (HTML5) application, a Javascript®
application, an Adobe®
Flash®
application, a Microsoft®
Silverlight®
application, a JQuery®
application, an Asynchronous Javascript® and
an XML (AJAX) application, andwherein an access control algorithm governs a policy through which a secondary authentication is required when establishing the communication session between the sandboxed application and the networked media device.
-
-
10. The method of claim 9, further comprising:
utilizing an exception to a same origin policy through a use of at least one of a hyperlink, a form, the script, a frame, a header, and an image when establishing the communication session between the sandboxed application and the sandbox reachable service.
-
11. The method of claim 3, further comprising:
-
eliminating a communication through a centralized infrastructure when the sandboxed application and the sandbox reachable service communicate in a shared network common to the client device and the networked media device when the connection is instantiated, the shared network being at least one of a local area network, a multicast network, an anycast network, and a multilan network; minimizing a latency in the communication session when the sandboxed application and the sandbox reachable service communicate in the shared network common to the client device and the networked media device when the connection is instantiated; and improving privacy in the communication session when the sandboxed application and the sandbox reachable service communicate in the shared network common to the client device and the networked media device when the connection is instantiated.
-
-
12. The method of claim 1,
wherein the client device and the networked media device reside on networks that are incommunicable with each other comprising at least one of a firewall separation, a different network separation, a physical separation, and an unreachable connection separation, and wherein the sandboxed application of the security sandbox of the client device and the sandbox reachable service of the networked media device communicate with each other through a relay service employed by a pairing server having a discovery module and a relay module to facilitate a trusted communication between the sandboxed application and the sandbox reachable service. -
13. The method of claim 12:
wherein the trusted communication is facilitated such that the sandboxed application never learns at least one of a private IP address and a hardware address of the networked media device when; a first Network Address Translator (NAT) device coupled with a network on which the client device operates receives communications from a public IP address of a different network on which the sandbox reachable service operates, and a second NAT device coupled with the different network on which the networked media device operates translates the private IP address of the networked media device to the public IP address visible to the sandboxed application.
-
14. The method of claim 12:
-
wherein the networked media device comprises a plurality of sandbox reachable applications including the sandbox reachable application, wherein a service agent module of the networked media device coordinates communications with a discovery module of at least one of the security sandbox and the pairing server, wherein the security sandbox is at least one of an operating system on which the sandboxed application is hosted and a browser application of the operating system, and wherein the networked media device is at least one of a television, a projection screen, a multimedia display, a touchscreen display, an audio device, and a multidimensional visual presentation device.
-
-
15. The method of claim 12, further comprising:
-
utilizing at least one of a WebSocket and a long polling service message query interface to reduce a latency of message delivery during the trusted communication between the sandboxed application and the sandbox reachable service; and optimizing a polling period between polling to be less than a timeout period of a session through the relay service.
-
-
16. The method of claim 12, further comprising:
-
initiating the relay service through at least one of a series of web pages where information is communicated using hyperlinks that point at the pairing server, and a form having a confirmation dialog that is submitted back to the pairing server, and wherein a global unique identifier is masked through the pairing server when the confirmation dialog is served from the pairing server.
-
-
17. The method of claim 1,
wherein a cookie associated with the security sandbox is used to store a remote access token on a storage of the client device, wherein the remote access token identifies at least one of a set of communicable private IP addresses and hardware addresses associated with sandbox reachable services that previously operated on a common shared network with the client device, and wherein the client device can communicate with the sandbox reachable services that previously operated on the common shared network through the remote access token. -
19. The method of claim 12, further comprising:
-
accessing a pairing server when processing an identification data associated with the sandbox reachable service of the networked device that shares a public address with the client device, wherein the pairing server performs a discovery lookup of any device that has announced that it shares the public address associated with the client device, and wherein the sandbox reachable service announces itself to the pairing server prior to establishment of a communication session between the sandboxed application and the sandbox reachable service; appending a header of a hypertext transfer protocol to permit the networked device to communicate with the sandboxed application as a permitted origin domain through a CORS algorithm, the header being either one of a origin header when the CORS algorithm is applied and a referrer header in an alternate algorithm in accordance with the client device; processing the identification data associated with the sandbox reachable service sharing the public address with the client device; determining a private address pair of the sandbox reachable service based on the identification data; and establishing the communication session between the sandboxed application and the sandbox reachable service using a cross-site scripting technique of the security sandbox, wherein the sandboxed application queries a MAC address of the sandbox reachable service in a common private network, wherein the method further comprises the sandbox reachable service optionally verifying that the sandboxed application is in the common private network, wherein the method further comprises the sandbox reachable service communicating a MAC address of the sandboxed application to the sandboxed application when the common private network is shared, wherein the sandboxed application stores the MAC address of the sandboxed application and a unique identifier derived from the MAC address of the sandboxed application, and wherein the sandboxed application communicates the MAC address and the unique identifier to the pairing server; and automatically regenerating the script embedded in the at least one of the client device, the supply-side platform, and the data provider integrated with the supply side platform when the common private network is shared by the sandboxed application and the sandbox reachable service based on the MAC address of the sandboxed application and the unique identifier communicated to the pairing server.
-
-
20. The method of claim 19, wherein the communication session is established between the sandboxed application and the sandbox reachable service in accordance with the client device:
-
extending the security sandbox with a discovery algorithm and a relay algorithm through a discovery module and a relay module added to the security sandbox; and bypassing the pairing server having a discovery algorithm and a relay algorithm when establishing the communication session between the sandboxed application and the sandbox reachable service when the security sandbox is extended with the discovery algorithm and the relay algorithm through the discovery module and the relay module added to the security sandbox.
-
-
21. The method of claim 20:
-
wherein the client device and the networked device reside on networks that are incommunicable with each other comprising at least one of a firewall separation, a different network separation, a physical separation, and an unreachable connection separation, and wherein the sandboxed application of the security sandbox of the client device and the sandbox reachable service of the networked device communicate with each other through a relay service employed by the pairing server having the discovery module and the relay module to facilitate a trusted communication between the sandboxed application and the sandbox reachable service.
-
-
22. The method of claim 21:
wherein the trusted communication is facilitated such that the sandboxed application never learns at least one of a private IP address and a hardware address of the networked device when; a first NAT device coupled with a network on which the client device operates receives communications from a public IP address of a different network on which the sandbox reachable service operates, and a second NAT device coupled with the different network on which the networked device operates translates the private IP address of the networked device to the public IP address visible to the sandboxed application.
-
23. The method of claim 21, wherein the communication session is established between the sandboxed application and the sandbox reachable service in accordance with the client device:
-
utilizing at least one of a WebSocket and a long polling service message query interface to reduce a latency of message delivery during the trusted communication between the sandboxed application and the sandbox reachable service; and optimizing a polling period between polling to be less than a timeout period of a session through the relay service.
-
-
24. The method of claim 21, wherein the communication session is established between the sandboxed application and the sandbox reachable service in accordance with the client device:
-
initiating the relay service through at least one of a series of web pages where information is communicated using hyperlinks that point at the pairing server, and a form having a confirmation dialog that is submitted back to the pairing server, wherein a global unique identifier is masked through the pairing server when the confirmation dialog is served from the pairing server.
-
-
25. The method of claim 20, wherein the communication session is established between the sandboxed application and the sandbox reachable service in accordance with the client device:
-
applying the discovery algorithm of the security sandbox to determine that the networked device having the sandbox reachable service communicates in a shared network common to the client device and the networked device; and applying the relay algorithm of the security sandbox to establish the communication session between the sandboxed application and the sandbox reachable service of the networked device.
-
-
26. The method of claim 20:
wherein the discovery algorithm utilizes a protocol comprising at least one of a Bonjour®
protocol, a SSDP protocol, a LSD uTorrent®
protocol, a multicast protocol, an anycast protocol, and another Local Area Network based protocol that discovers services in a Local Area Network based on a broadcast from any one of an operating system service, the security sandbox, the client device, the sandbox reachable service, and the networked device.
-
27. The method of claim 20:
-
wherein the networked device comprises a plurality of sandbox reachable applications including the sandbox reachable application, wherein a service agent module of the networked device coordinates communications with the discovery module of at least one of the security sandbox and the pairing server, wherein the security sandbox is at least one of an operating system on which the sandboxed application is hosted and a browser application of the operating system, and wherein the networked device is at least one of a television, a projection screen, a multimedia display, a touchscreen display, an audio device, a weather measurement device, a traffic monitoring device, a status update device, a global positioning device, a geospatial estimation device, a tracking device, a bidirectional communication device, a unicast device, a broadcast device, and a multidimensional visual presentation device.
-
-
28. The method of claim 19 wherein:
-
the pairing server performs a discovery lookup of any device that has announced sharing of the public address associated with the client device, and the method further comprises the sandbox reachable service announcing itself to the pairing server prior to the establishment of the communication session between the sandboxed application and the sandbox reachable service.
-
-
29. The method of claim 28 further comprising at least one of:
-
announcing an availability of the sandbox reachable service across a range of public addresses such that the sandboxed application communicates with the sandbox reachable service in any one of the range of the public addresses; and communicating at least one of a global unique identifier, a hardware address, and an alphanumeric name to the pairing server along with the private address pair of the sandbox reachable service, wherein the private address pair includes a private IP address and a port number associated with the sandbox reachable service.
-
-
30. The method of claim 19:
-
wherein the sandboxed application is at least one of a web page, a script, a binary executable, an intermediate bytecode, an abstract syntax tree, and an executable application in the security sandbox, wherein the sandboxed application comprises at least one of a HTML5 application, a Javascript®
application, an Adobe®
Flash®
application, a Microsoft®
Silverlight®
application, a JQuery®
application, an Asynchronous Javascript® and
an XML (AJAX) application, andwherein an access control algorithm governs a policy through which a secondary authentication is required when establishing the communication session between the sandboxed application and the networked device.
-
-
31. The method of claim 30, wherein the communication session is established between the sandboxed application and the sandbox reachable service in accordance with the client device:
utilizing an exception to a same origin policy through a use of at least one of a hyperlink, a form, the script, a frame, a header, and an image.
-
32. The method of claim 19, further comprising:
-
eliminating a communication through a centralized infrastructure when the sandboxed application and the sandbox reachable service communicate in a shared network common to the client device and the networked device when the communication session is established, the shared network being at least one of a local area network, a multicast network, an anycast network, and a multilan network; minimizing a latency in the communication session when the sandboxed application and the sandbox reachable service communicate in the shared network common to the client device and the networked device when the communication session is established; and improving privacy in the communication session when the sandboxed application and the sandbox reachable service communicate in the shared network common to the client device and the networked device when the communication session is established.
-
-
2. The method of claim 1, comprising:
-
-
18. A method of a networked device comprising:
-
associating with a client device executing a sandboxed application by way of a sandbox reachable service executing on the networked device using a communication provided by the networked device, the client device constraining an executable environment in a security sandbox and executing the sandboxed application in the constrained executable environment; applying an automatic content recognition algorithm to determine a content identifier of an audio-visual data; associating the content identifier with an advertisement data based on a semantic correlation between a metadata of the advertisement data provided by a content provider and the content identifier; targeting the advertisement data at the client device based on the association of the content identifier with the advertisement data and the association between the client device and the networked device; and improving targeting of the advertisement data in accordance with the association between the client device and the networked device based on embedding a script is in at least one of the client device, a supply-side platform, and a data provider integrated with the supply side platform to enable execution of arbitrary cross-site scripts in the sandboxed application of the client device. - View Dependent Claims (33, 34)
-
33. The method of claim 18, comprising:
-
associating the content identifier with the advertisement data generated through an advertising exchange server based on the content identifier and a public IP address associated with an application requesting the advertisement data, wherein at least one of; a provider of the content identifier receives a compensation when the advertisement data is associated with the audio-visual data based on the public IP address associated with the application requesting the advertisement data, the provider of the content identifier appends at least one of a set of content identifiers from associated clients and a viewing history from the associated clients to a plurality of advertisements and resells the advertisement data back to an advertising exchange based on the appended content identifiers, a capture infrastructure annotates the audio-visual data with at least one of a brand name and a product name by comparing entries in a master database with at least one of a closed captioning data of the audio-visual data and through application of an optical character recognition algorithm to the audio-visual data, the sandboxed application of the client device requests access to at least one of a microphone and a camera on the client device to capture a raw audio/video data, the capture infrastructure processes the raw audio/video data with the at least one of the brand name and the product name by comparing the entries in the master database with at least one of the raw audio/video data and through application of a sensory recognition algorithm of the raw audio/video data, the content identifier is at least one of a music identification, an object identification, a facial identification, and a voice identification, wherein a minimal functionality comprising accessing at least one of a tuner and a stream decoder that identifies at least one of a channel and a content is found in the networked device, the method further comprises producing, through the networked device, at least one of an audio fingerprint and a video fingerprint that is communicated with the capture infrastructure, the capture infrastructure compares the at least one of the audio fingerprint and the video fingerprint with the master database, the capture infrastructure annotates the audio-visual data with a logo name by comparing the entries in the master database with a logo data of the audio-visual data identified using a logo detection algorithm, the capture infrastructure automatically divides the audio-visual data into a series of scenes based on a semantic grouping of actions in the audio-visual data, the audio-visual data is analyzed in advance of a broadcast to determine content identifiers associated with each commercial in the audio-visual data such that advertisements are pre-inserted into the audio-visual data prior to the broadcast, the capture infrastructure applies a time-order algorithm to automatically match the advertisements to the audio-visual data when a correlation pattern is identified by the capture infrastructure with other audio-visual content previously analyzed, the capture infrastructure includes a buffer that is saved to a persistent storage and for which a label is generated to facilitate identification of reoccurring sequences, a post processing operation is at least one of automated through a post-processing algorithm and a crowd-sourced operation using a plurality of users in which a turing test is applied to determine a veracity of an input, a device pairing algorithm is used in which a cookie data associated with a web page visited by a user stored on a browser on the client device is paired with the networked device when the client device is communicatively coupled with the networked device, a transitive public IP matching algorithm is utilized in which at least one of the client device and the networked device communicates each public IP address with any paired entity to the capture infrastructure, a tag that is unconstrained from a same-origin policy is used to automatically load an advertisement in the browser, and the tag is at least one of an image tag, a frame, a iframe, and a script tag.
-
-
34. The method of claim 18:
-
wherein a cookie associated with the security sandbox is used to store a remote access token on a storage of the client device, wherein the remote access token identifies at least one of a set of communicable private IP addresses and hardware addresses associated with sandbox reachable services that previously operated on a common shared network with the client device, and the client device can communicate with the sandbox reachable services that previously operated on the common shared network through the remote access token.
-
-
33. The method of claim 18, comprising:
-
-
35. A system comprising:
-
a client device to; constrain an executable environment in a security sandbox, and execute a sandboxed application in the constrained executable environment; and a networked device to execute a sandbox reachable service thereon, the client device and the networked device are associated with each other through the sandboxed application by way of the sandbox reachable service using a communication provided by the networked device, wherein at least one of;
the networked device and the client device is configured to apply an automatic content recognition algorithm to determine a content identifier of an audio-visual data and to associate the content identifier with an advertisement data based on a semantic correlation between a metadata of the advertisement data provided by a content provider and the content identifier,wherein the at least one of the networked device and the client device is configured to target the advertisement data at a corresponding at least one of;
the client device and the networked device based on the association of the content identifier with the advertisement data and the association between the client device and the networked device, andwherein targeting of the advertisement data is improved based on embedding a script in at least one of the client device, a supply-side platform, and a data provider integrated with the supply side platform to enable execution of arbitrary cross-site scripts through the sandboxed application. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
36. The system of claim 35:
-
wherein a communication session is established between the sandboxed application and the sandbox reachable service by appending a header of a hypertext transfer protocol to permit the networked device to communicate with the sandboxed application as a permitted origin domain through a CORS algorithm, the header being either one of a origin header when the CORS algorithm is applied and a referrer header in an alternate algorithm, wherein the sandboxed application queries a MAC address of the sandbox reachable service in a common private network, wherein the sandbox reachable service optionally verifies that the sandboxed application is in the common private network, wherein the sandbox reachable service communicates a MAC address of the sandboxed application to the sandboxed application when the common private network is shared, wherein the sandboxed application stores the MAC address of the sandboxed application and a unique identifier derived from the MAC address of the sandboxed application, wherein the sandboxed application communicates the MAC address and the unique identifier to a pairing server of the system, and wherein the script embedded in the at least one of the client device, the supply-side platform, and the data provider integrated with the supply side platform is automatically regenerated when the common private network is shared by the sandboxed application and sandboxed reachable service based on the MAC address of the sandboxed application and the unique identifier communicated to the pairing server.
-
-
37. The system of claim 36, wherein the client device is configured to:
-
extend the security sandbox with a discovery algorithm and a relay algorithm through a discovery module and a relay module added to the security sandbox, and bypass the pairing server having the discovery algorithm and the relay algorithm when establishing the communication session between the sandboxed application and the sandbox reachable service when the security sandbox is extended with the discovery algorithm and the relay algorithm through the discovery module and the relay module added to the security sandbox.
-
-
38. The system of claim 37:
-
wherein the client device and the networked device reside on networks that are incommunicable with each other comprising at least one of a firewall separation, a different network separation, a physical separation, and an unreachable connection separation, and wherein the sandboxed application of the security sandbox of the client device and the sandbox reachable service of the networked device communicate with each other through a relay service employed by the pairing server having the discovery module and the relay module to facilitate a trusted communication between the sandboxed application and the sandbox reachable service.
-
-
39. The system of claim 38:
wherein the trusted communication is facilitated such that the sandboxed application never learns at least one of a private IP address and a hardware address of the networked device when; a first NAT device coupled with a network on which the client device operates receives communications from a public IP address of a different network on which the sandbox reachable service operates, and a second NAT device coupled with the different network on which the networked device operates translates the private IP address of the networked device to the public IP address visible to the sandboxed application.
-
40. The system of claim 38, wherein the client device is configured to:
-
utilize at least one of a WebSocket and a long polling service message query interface to reduce a latency of message delivery during the trusted communication between the sandboxed application and the sandbox reachable service, and optimize a polling period between polling such that it is to be less than a timeout period of a session through the relay service.
-
-
41. The system of claim 38, wherein the client device is configured to:
-
initiate the relay service through at least one of a series of web pages where information is communicated using hyperlinks that point at the pairing server, and a form having a confirmation dialog that is submitted back to the pairing server, wherein a global unique identifier is masked through the pairing server when the confirmation dialog is served from the pairing server.
-
-
42. The system of claim 37, wherein the client device is configured to:
-
apply the discovery algorithm of the security sandbox to determine that the networked device having the sandbox reachable service communicates in a shared network common to the client device and the networked device, and apply the relay algorithm of the security sandbox to establish the communication session between the sandboxed application and the sandbox reachable service of the networked device.
-
-
43. The system of claim 37:
wherein the discovery algorithm utilizes a protocol comprising at least one of a Bonjour®
protocol, a SSDP protocol, a LSD uTorrent®
protocol, a multicast protocol, an anycast protocol, and another Local Area Network based protocol that discovers services in a Local Area Network based on a broadcast from any one of an operating system service, the security sandbox, the client device, the sandbox reachable service, and the networked device.
-
44. The system of claim 37:
-
wherein the networked device comprises a plurality of sandbox reachable applications including the sandbox reachable application, wherein a service agent module of the networked device coordinates communications with the discovery module of at least one of the security sandbox and the pairing server, wherein the security sandbox is at least one of an operating system on which the sandboxed application is hosted and a browser application of the operating system, and wherein the networked device is at least one of a television, a projection screen, a multimedia display, a touchscreen display, an audio device, a weather measurement device, a traffic monitoring device, a status update device, a global positioning device, a geospatial estimation device, a tracking device, a bidirectional communication device, a unicast device, a broadcast device, and a multidimensional visual presentation device.
-
-
45. The system of claim 36, wherein:
-
the client device accesses the pairing server when processing identification data associated with the sandbox reachable service sharing a public address with the client device, the pairing server performs a discovery lookup of any device that has announced sharing of the public address associated with the client device, and the sandbox reachable service announces itself to the pairing server prior to the establishment of the communication session between the sandboxed application and the sandbox reachable service.
-
-
46. The system of claim 45, wherein the networked device is configured to at least one of:
-
announce the sandbox reachable service to a discovery module using a processor and a memory, announce an availability of the sandbox reachable service across a range of public addresses such that the sandboxed application communicates with the sandbox reachable service in any one of the range of the public addresses, communicate at least one of a global unique identifier and an alphanumeric name to the pairing server along with at least one of a hardware address associated with the networked device, a public address pair associated with the sandbox reachable service of the networked device, and a private address pair associated with the sandbox reachable service of the networked device, wherein the private address pair includes a private IP address and a port number associated with the sandbox reachable service.
-
-
47. The system of claim 36:
-
wherein the sandboxed application is at least one of a web page, a script, a binary executable, an intermediate bytecode, an abstract syntax tree, and an executable application in the security sandbox, wherein the sandboxed application comprises at least one of a HTML5 application, a Javascript®
application, an Adobe®
Flash®
application, a Microsoft®
Silverlight®
application, a JQuery®
application, an Asynchronous Javascript® and
an XML (AJAX) application, andwherein an access control algorithm governs a policy through which a secondary authentication is required when establishing the communication session between the sandboxed application and the networked device.
-
-
48. The system of claim 47, wherein the client device is configured to:
utilize an exception to a same origin policy through a use of at least one of a hyperlink, a form, the script, a frame, a header, and an image when establishing the communication session between the sandboxed application and the sandbox reachable service.
-
49. The system of claim 36, wherein the client device is configured to:
-
enable elimination of a communication through a centralized infrastructure when the sandboxed application and the sandbox reachable service communicate in a shared network common to the client device and the networked device when the communication session is established, the shared network being at least one of a local area network, a multicast network, an anycast network, and a multilan network, minimize a latency in the communication session when the sandboxed application and the sandbox reachable service communicate in the shared network common to the client device and the networked device when the communication session is established, and improve privacy in the communication session when the sandboxed application and the sandbox reachable service communicate in the shared network common to the client device and the networked device when the communication session is established.
-
-
50. The system of claim 35, wherein at least one of:
-
the system further comprises a capture infrastructure to annotate the audio-visual data with at least one of a brand name and a product name by comparing entries in a master database with at least one of a closed captioning data of the audio-visual data and through application of an optical character recognition algorithm to the audio-visual data, the system further comprises an advertising exchange server to generate an advertisement based on the content identifier of the audio-visual data and a public IP address associated with an application requesting the advertisement data, the content identifier is obfuscated in a manner relevant to a particular demand-side platform to eliminate a need to query a provider of the content identifier on a per ad-spot basis, the demand-side platform is configured to submit requests to the advertising exchange based on a constraint type rather than through a bidding methodology on a per advertisement spot basis, the provider of the content identifier receives a compensation when the advertisement data is associated with the audio-visual data based on the public IP address associated with the application requesting the advertisement data, the provider of the content appends at least one of a set of content identifiers from associated clients and a viewing history from the associated clients to a plurality of advertisements and resells the advertisement data back to an advertising exchange based on the appended content identifiers, the sandboxed application of the client device requests access to at least one of a microphone and a camera on the client device to capture a raw audio/video data, the capture infrastructure processes the raw audio/video data with the at least one of the brand name and the product name by comparing the entries in the master database with at least one of the raw audio/video data and through application of a sensory recognition algorithm of the raw audio/video data, the content identifier is at least one of a music identification, an object identification, a facial identification, and a voice identification, a minimal functionality comprising accessing at least one of a tuner and a stream decoder that identifies at least one of a channel and a content is found in the networked device, the networked device produces at least one of an audio fingerprint and a video fingerprint that is communicated with the capture infrastructure, the capture infrastructure compares the at least one of the audio fingerprint and the video fingerprint with the master database, the capture infrastructure annotates the audio-visual data with a logo name by comparing the entries in the master database with a logo data of the audio-visual data identified using a logo detection algorithm, the capture infrastructure automatically divides the audio-visual data into a series of scenes based on a semantic grouping of actions in the audio-visual data, the audio-visual data is analyzed in advance of a broadcast to determine content identifiers associated with each commercial in the audio-visual data such that advertisements are pre-inserted into the audio-visual data prior to the broadcast, the capture infrastructure applies a time-order algorithm to automatically match advertisements to the audio-visual data when a correlation pattern is identified by the capture infrastructure with other audio-visual content previously analyzed, the capture infrastructure includes a buffer that is saved to a persistent storage and for which a label is generated to facilitate identification of reoccurring sequences, a post processing operation is at least one of automated through a post-processing algorithm and a crowd-sourced operation using a plurality of users in which a turing test is applied to determine a veracity of an input, a device pairing algorithm is used in which a cookie data associated with a web page visited by a user stored on a browser on the client device is paired with the networked device when the client device is communicatively coupled with the networked device, a transitive public IP matching algorithm is utilized in which the at least one of the client device and the networked device communicates each public IP address with any paired entity to the capture infrastructure, a tag that is unconstrained from a same-origin policy is used to automatically load the advertisement in the browser, and the tag is at least one of an image tag, a frame, a iframe, and a script tag.
-
-
51. The system of claim 35:
-
wherein a cookie associated with the security sandbox is used to store a remote access token on a storage of the client device, wherein the remote access token identifies at least one of a set of communicable private IP addresses and hardware addresses associated with sandbox reachable services that previously operated on a common shared network with the client device, and wherein the client device can communicate with the sandbox reachable services that previously operated on the common shared network through the remote access token.
-
-
36. The system of claim 35:
-
Specification
- Resources
-
Current AssigneeSamba TV Incorporated
-
Original AssigneeFree Stream Media Corporation
-
InventorsHarrison, David
-
Primary Examiner(s)Ibrahim, Mohamed
-
Application NumberUS15/499,927Publication NumberTime in Patent Office452 DaysField of SearchNoneUS Class CurrentCPC Class CodesG06F 16/783 using metadata automaticall...G06F 21/10 Protecting distributed prog...G06F 21/53 by executing in a restricte...G06F 2221/033 Test or assess softwareG06F 3/14 Digital output to display d...G06Q 30/0255 based on user historyG06Q 30/0269 based on user profile or at...G08C 17/02 using a radio linkH04L 12/18 for broadcast or conference...H04L 2101/668 Internet protocol [IP] addr...H04L 61/2514 between local and global IP...H04L 61/2517 using port numbersH04L 61/256 NAT traversalH04L 61/2575 using address mapping retri...H04L 61/4511 using domain name system [DNS]H04L 61/4541 Directories for service dis...H04L 61/5007 Internet protocol [IP] addr...H04L 63/10 for controlling access to d...H04L 63/102 Entity profilesH04L 65/1069 Session establishment or de...H04L 65/61 : for supporting one-way stre...H04L 67/02 : based on web technology, e....H04L 67/10 : in which an application is ...H04L 67/141 : Setup of application sessio...H04L 67/51 : Discovery or management the...H04N 21/23424 : involving splicing one cont...H04N 21/2541 : Rights Management protectin...H04N 21/278 : Content descriptor database...H04N 21/4126 : The peripheral being portab...H04N 21/41407 : embedded in a portable devi...H04N 21/4147 : PVR [Personal Video Recorde...H04N 21/435 : Processing of additional da...H04N 21/4415 : using biometric characteris...H04N 21/466 : Learning process for intell...H04N 21/6175 : involving transmission via ...H04N 21/64322 : IPH04N 21/812 : involving advertisement dat...H04N 21/835 : Generation of protective da...H04N 21/8352 : involving content or source...H04N 21/8358 : involving watermark protect...H04N 21/84 : Generation or processing of...