IP Library Granted Patent US 7,640,570
Granted Patent B2
US 7,640,570 · App. 11/682,225 · Granted Dec 29, 2009

Remote task scheduling for a set top box

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,640,570
App. No.
11/682,225
Granted
Dec 29, 2009
Kind
B2
Abstract

Systems and methods for remotely scheduling tasks that are transmitted to a set top box and implemented on the set top box. A task service includes a website that provides program guide data to users. From the program guide data, a user selects a task. The website generates a notification that includes the task and certain identifiers, including a set top box identifier and a sequence number. The notification is sent to a notification service, that repeatedly sends the notification to a broadcast service. The broadcast service ensures that the notification is transmitted to the set top box. The set top box detects the notification from the set top box identifier and implements the task on the set top box unless the task has been previously handled.

Claims (38)

1. In a network system where data is broadcast to a plurality of client systems that are each configured to display and render the data, a method for remotely scheduling a task for implementation on one of the client systems, the method comprising:

receiving, at a website, a login request from a user, the login request including a user identifier, the website storing program guide data;

receiving an activation code from the user at the website, the activation code including a first client system identifier, a signature of the first client system identifier and a random value;

verifying the signature to verify that the user had access to the first client system;

providing the program guide data to the user over a network, wherein the user requests a task from the program guide data that is provided to the user, the task to be performed on a first client system;

receiving the task that was requested by the user from the program guide data;

generating a notification from the requested task, wherein the notification includes the random value, task attributes, and an identifier for the first client system, as well as a sequence number that enables the first client system to determine whether the first client system has already processed the task;

sending the notification to a notification service, wherein the notification service stores the notification in a task database;

sending, by the notification service, the notification to a broadcast service, wherein the broadcast service broadcasts the notification to the plurality of client systems such that upon the first client system receiving the notification, the first client system determines that the notification is intended for the first client system by detecting that the notification includes the first client system identifier and verifies the random value included in the notification.

2. A method as defined in claim 1 , wherein providing program guide data to a user over a network comprises storing the program guide data at a website, and wherein the program guide data is obtained from a program guide data provider.

3. A method as defined in claim 1 , wherein providing program guide data to a user comprises mapping the user identifier to the first client system identifier and such that the first client system identifier is included in the notification.

4. A method as defined in claim 1 , wherein generating a notification from the selected task further comprises: determining a channel of the task, a time of the task and a duration of the task.

5. A method as defined in claim 1 , wherein generating a notification from the selected task further comprises:

determining the task attributes to be included in the notification, the task attributes including one or more of:

an extension attribute that indicates how long the task should be extended;

a keep attribute that identifies how long the task should be stored;

an conflict resolution attribute for use in conflict resolution; or

a reminder attribute that reminds the user of the task.

6. A method as defined in claim 1 , wherein sending the notification to the broadcast service is repeated by the notification service according to a schedule.

7. A method as recited in claim 1 , wherein the task attributes include a conflict resolution attribute for use in conflict resolution.

8. A method as recited in claim 1 , wherein the task attributes include a keep attribute that identifies how long the task should be stored.

9. A method as recited in claim 1 , wherein the task includes recording a program.

10. A method as recited in claim 1 , wherein the task includes deleting a program.

11. A method as recited in claim 1 , wherein the task includes setting preferences.

12. A method as recited in claim 1 , wherein the task includes altering a task.

13. A method as recited in claim 1 , wherein the task includes locking a channel.

14. A method as recited in claim 1 , wherein the task includes locking a program.

15. A computer program product comprising one or more physical storage media having computer-executable instructions for implementing the method recited in claim 1 .

16. A method for remotely instructing a set top box to record a program over a broadcast satellite signal, the method comprising:

receiving an identifier at a website from a user, the identifier uniquely identifying a first set top box, the website storing program guide data;

receiving an activation code from the user at the website, the activation code including a first set top box identifier, a signature of the first set top box identifier and a random value;

verifying the signature to verify that the user had access to the first set top box;

receiving user input at the website which selects a program that the user desires to record using the first set top box;

generating a notification that includes the random value, the identifier, and information that specifies the selected program to record, and that also includes a sequence number that distinguishes the notification from other notifications that are intended for the first set top box;

providing the notification to a broadcast service that broadcasts programming to a plurality of set top boxes, wherein each of the plurality of set top boxes includes a unique identifier;

including the notification in the programming that is broadcast using a satellite transmission to each of the plurality of set top boxes such that upon the first set top box receiving the notification, the first set top box detects that the notification is intended for the first set top box by accessing the identifier included in the notification and verifies the random value included in the notification.

17. The method of claim 16 , wherein the notification is broadcast over a particular transponder at a predefined interval.

18. The method of claim 16 , wherein the notification is broadcast over each transponder.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2016
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ZHIGU HOLDINGS LIMITED
Reel/Frame 040354/0001 →
MERGER Recorded May 12, 2016
From: WEBTV NETWORKS, INC.
To: MICROSOFT CORPORATION
Reel/Frame 038556/0396 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 018975 FRAME 0766. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 12, 2016
From: WAGNER, MARK; ROY, PAUL J; DEYONKER, AARON
To: WEBTV NETWORKS, INC.
Reel/Frame 038689/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2007
From: WAGNER, MARK; ROY, PAUL J.; DEYONKER, AARON
To: MICROSOFT CORPORATION
Reel/Frame 018975/0766 →