IP Library Granted Patent US 8,539,072
Granted Patent B1
US 8,539,072 · App. 13/470,814 · Granted Sep 17, 2013

Generation of a targeted advertisement in an untrusted sandbox based on a psuedonym

Inventor: David A. Harrison (San Francisco, CA)
Assignee: Free Stream Media, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,539,072
App. No.
13/470,814
Granted
Sep 17, 2013
Kind
B1
Abstract

Particular embodiments permit a computer program running within a security sandbox to discover and communicate with networked services for example print servers, or remote control programming interfaces for TVs, stereos, and game boxes. The sandbox allows the computer program to originate unicast connections to a limited set of hosts but otherwise provides no access to the network. Particular embodiments may require no prior install, zero configuration, no account names or passwords, and yet resists spam. This is achieved by using centralized global infrastructure to coordinate the communications rather than local multicast, anycast, or datalink broadcast.

Claims (37)

1. A method of a trusted sandbox, the method comprising:

transmitting a discovery request that includes a first public internet protocol (IP) address for a trusted sandbox to a discovery service;

receiving, from the discovery service, information about a service offered by a first device including at least one of a globally unique identifier for the service offered by the first device, a name for the service, a private address of the service and a second public IP address for the first device in response to the discovery service determining the first public IP address and the second public IP address are identical;

transmitting the name of the service offered by the first device to an untrusted sandbox;

facilitating a communication of a service request from the untrusted sandbox to the first device using the private address for the first device; and

facilitating a generation of a targeted advertisement in the untrusted sandbox based on a pseudonym derived from a hardware address of a user of the untrusted sandbox and an associated behavior of the user in communicating with the first device.

2. The method of claim 1 , further comprising:

replacing the globally unique identifier for the service offered by the first device with a locally unique identifier that is local in scope to the untrusted sandbox; and

wherein transmitting the name further comprises transmitting the locally unique identifier corresponding to the service offered by the first device to the untrusted sandbox.

3. The method of claim 2 , wherein the service request includes the locally unique identifier to identify the service for the trusted sandbox and a payload.

4. The method of claim 1 , further comprising issuing an access token received from the first device to the untrusted sandbox that uniquely identifies the untrusted sandbox; and

wherein service requests from the untrusted sandbox are forwarded to the first device contingent upon the service requests including the access token.

5. The method of claim 1 , wherein the globally unique identifier uniquely identifies the service offered by the first device if at least one of the second public IP address and a port for the first device changes.

6. The method of claim 1 , further comprising receiving permission from the service offered by the first device to communicate the arbitrary messages.

7. The method of claim 1 , wherein at least one of a multicast, a multicast domain name system (MDNS), a simple service discovery protocol (SSDP) and a service location protocol (SLP) is used to discover information about the service.

8. The method of claim 1 , further comprising:

forwarding the service request to a global message queue associated with the service offered by the first device that stores the service request as a message.

9. The method of claim 1 , wherein a network address translator to translate the first public IP address for the trusted sandbox and to generate the second public IP address for the first device by mapping at least one first private IP address to an IP address on the network address translator's public-facing network interface.

10. The method of claim 1 , wherein the discovery request specifies a type of service.

11. The method of claim 1 , further comprising querying a policy database to determine access restrictions for a first content provider website associated with the untrusted sandbox.

12. The method of claim 1 , further comprising caching the information about the service offered by the first device in the trusted sandbox for reuse on a second content provider website.

13. A system for communicating arbitrary messages, the system comprising:

a processor; and

a trusted sandbox stored on a memory and executed by the processor, the trusted sandbox for transmitting a discovery request that includes a first public internet protocol (IP) address for the trusted sandbox to a discovery service for receiving, from the discovery service, information about a service offered by a first device including at least one of a globally unique identifier for the service offered by the first device, a name for the service, a private address of the service and a second public IP address for the first device in response to the discovery service determining the first public IP address and the second public IP address are identical, for transmitting the name of the service offered by the first device to an untrusted sandbox, for facilitating a communication of a service request from the untrusted sandbox to the first device using the private address for the first device and for facilitating a generation of a targeted advertisement in the untrusted sandbox based on a pseudonym derived from a hardware address of a user of the untrusted sandbox and an associated behavior of the user in communicating with the first device.

14. The system of claim 13 , wherein the trusted sandbox replaces the globally unique identifier for the service offered by the first device with a locally unique identifier that is local in scope to the untrusted sandbox and transmits the name and the locally unique identifier corresponding to the service offered by the first device to the untrusted sandbox.

15. The system of claim 14 , further comprising:

the untrusted sandbox that is coupled to the trusted sandbox, the untrusted sandbox for including the locally unique identifier to identify the service for the trusted sandbox and a payload in the service request.

16. The system of claim 13 , wherein the trusted sandbox issues an access token received from the first device to the untrusted sandbox that uniquely identifies the untrusted sandbox and forwards service requests from the untrusted sandbox to the first device contingent upon the service requests including the access token.

17. The system of claim 13 , wherein the trusted sandbox receives permission from the service offered by the first device to communicate the arbitrary messages.

18. The system of claim 13 , wherein at least one of a multicast, a multicast domain name system (MDNS), a simple service discovery protocol (SSDP) and a service location protocol (SLP) is used to discover information about the service.

19. The system of claim 13 , wherein the trusted sandbox forwards the service request to a global message queue associated with the service offered by the first device that stores the service request as a message.

20. A computer program product comprising a non-transitory computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform steps comprising:

transmitting a discovery request that includes a first public internet protocol (IP) address for a trusted sandbox to a discovery service;

receiving, from the discovery service, information about a service offered by a first device including at least one of a globally unique identifier for the service offered by the first device, a name for the service, a private address of the service and a second public IP address for the first device in response to the discovery service determining the first public IP address and the second public IP address are identical;

transmitting the name of the service offered by the first device to an untrusted sandbox;

facilitating a communication of a service request from the untrusted sandbox to the first device using the private address for the first device; and

facilitating a generation of a targeted advertisement in the untrusted sandbox based on a pseudonym derived from a hardware address of a user of the untrusted sandbox and an associated behavior of the user in communicating with the first device.

Assignments (6)
CHANGE OF NAME Recorded Nov 19, 2025
From: FREE STREAM MEDIA CORP.
To: SAMBA TV, INC.
Reel/Frame 073635/0837 →
SECURITY INTEREST Recorded Nov 13, 2025
From: SAMBA TV, INC.
To: HORIZON TECHNOLOGY FINANCE CORPORATION
Reel/Frame 073562/0068 →
RELEASE OF SECURITY INTEREST Recorded Oct 8, 2025
From: FPP FINANCE LLC
To: SAMBA TV, INC., PREVIOUSLY KNOWN AS FREE STREAM MEDIA CORP.
Reel/Frame 072515/0816 →
CHANGE OF NAME Recorded Sep 24, 2025
From: FREE STREAM MEDIA CORP.
To: SAMBA TV, INC.
Reel/Frame 072943/0417 →
SECURITY INTEREST Recorded Jan 10, 2020
From: FREE STREAM MEDIA CORP.
To: FPP FINANCE LLC
Reel/Frame 051478/0837 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2012
From: HARRISON, DAVID A.
To: FREE STREAM MEDIA, INC.
Reel/Frame 028582/0332 →
Continuity (2)
Continuation 12592377 · Nov 23, 2009
Provisional Application 61118286 · Nov 26, 2008