IP Library Granted Patent US 7,873,737
Granted Patent B2
US 7,873,737 · App. 12/166,088 · Granted Jan 18, 2011

Method and system for restricting access to user resources

Assignee: At Home Bondholders' Liquidating Trust
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 7,873,737
App. No.
12/166,088
Granted
Jan 18, 2011
Kind
B2
Abstract

A user's set top box (STB), or other client, executes a shell and has an application program interface (API) by which certain features of the client can be controlled. The client is in communication with a walled garden proxy server (WGPS), which controls access to a walled garden. The walled garden contains links to one or more servers providing network-based services. The client sends a request to the WGPS to access a service provided by a site in the garden. To provide the service, the site sends the client a message containing code calling a function in the API. The WGPS traps the message from the site and looks up the site in a table to determine the access control list (ACL) for the site. The ACL is a bit-map that specifies which functions of the client's API can be invoked by code from the site. The WGPS includes the ACL in the header of the hypertext transport protocol (HTTP) message to the client. The shell receives the message and extracts the ACL. The shell uses the ACL to determine whether the code has permission to execute any called functions in the API. If the code lacks permission, the shell stops execution and sends a message to the site indicating that the site lacks permission. Otherwise, the shell allows the code to call the function.

Claims (41)

1. A computer program product comprising:

a non-transitory computer usable storage medium having computer executable code embodied therein for managing access to an application program interface (API) comprising a plurality of functions, the computer executable code comprising:

a first module for receiving a message containing code calling a function in the API associated with television viewing privileges and an access control list (ACL) indicating API function execution rights of an originator of the message;

a second module for determining whether the ACL indicates that the originator of the message has the right to execute the called function associated with television viewing privileges; and

a third module for sending a response to the originator of the message indicating whether the code successfully called the function in the API associated with television viewing privileges.

2. The computer program product of claim 1 , wherein the ACL indicating API function execution rights comprises:

a value identifying API functions that can be executed by the originator of the message.

3. The computer program product of claim 1 , wherein the ACL indicating API function execution rights comprises:

a value restricting the API functions that can be executed by the originator of the message based on time.

4. The computer program product of claim 1 , wherein the function in the API is associated with pay-per-view (PPV) television viewing privileges.

5. The computer program product of claim 1 , wherein the function in the API is associated with determining television viewing privileges of a particular television viewer of a plurality of television viewers.

6. A computer program product comprising:

a non-transitory computer usable storage medium having computer executable code embodied therein for passing messages from a server to a client, the computer executable code comprising:

a first module for receiving a message containing code calling a function in an API associated with television viewing privileges from the server intended for the client;

a second module for determining permissions of the server with respect to the client;

a third module for including the determined permissions with the message; and

a fourth module for passing the message and the determined permissions to the client.

7. The computer program product of claim 6 , wherein the second module comprises:

a module for determining an identity of the server originating the message;

a module for determining a user agent of the client; and

a module for retrieving the permissions of the server from a permissions table using the determined identity and user agent.

8. The computer program product of claim 7 , wherein the permissions table is stored in a database and the module for retrieving the permissions of the server comprises:

a module for interfacing with the database to access the permissions table.

9. The computer program product of claim 6 , wherein the third module comprises:

a module for adding a hypertext transport protocol (HTTP) header specifying the determined permissions to the message.

10. The computer program product of claim 6 , further comprising:

a fifth module for scanning the message from the server for potential security violations.

11. The computer program product of claim 10 , further comprising:

a sixth module for removing headers identified as potential security violations from the message.

12. A system for managing access to an application program interface (API) comprising a plurality of functions, comprising:

a processor for executing computer program code;

a non-transitory computer-readable storage medium storing executable computer program code comprising:

a first module for receiving a message containing code calling a function in the API associated with television viewing privileges and an access control list (ACL) indicating API function execution rights of an originator of the message;

a second module for determining whether the ACL indicates that the originator of the message has the right to execute the called function associated with television viewing privileges; and

a third module for sending a response to the originator of the message indicating whether the code successfully called the function in the API associated with television viewing privileges.

13. The system of claim 12 , wherein the ACL indicating API function execution rights comprises:

a value identifying API functions that can be executed by the originator of the message.

14. The system of claim 12 , wherein the ACL indicating API function execution rights comprises:

a value restricting the API functions that can be executed by the originator of the message based on time.

15. The system of claim 12 , wherein the function in the API is associated with pay-per-view (PPV) television viewing privileges.

16. The system of claim 12 , wherein the function in the API is associated with determining television viewing privileges of a particular television viewer of a plurality of television viewers.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2010
From: AT HOME LIQUIDATING TRUST
To: AT HOME BONDHOLDERS' LIQUIDATING TRUST
Reel/Frame 024555/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2010
From: AT HOME GENERAL UNSECURED CREDITORS' LIQUIDATING TRUST AND THE CONTESTED CLAIMS RESERVE
To: AT HOME BONDHOLDERS' LIQUIDATING TRUST
Reel/Frame 024555/0800 →
BANKRUPTCY COURT ORDER Recorded Jun 1, 2010
From: AT HOME CORPORATION
To: AT HOME LIQUIDATING TRUST
Reel/Frame 024468/0259 →
Continuity (4)
Continuation 1083654400 · Apr 30, 2004
Continuation 0942777800 · Oct 26, 1999
Continuation In Part 0881158600 · Mar 5, 1997
Related Publication 20080271159A1 · Oct 30, 2008