# US 9,438,745 B2 · Program services including adaptive failover and backup services

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,745 B2
- Document ID: US9438745B2
- Status: Granted
- Kind: B2
- Application number: 14/192,988
- Filed: 2014-02-28
- Published: 2015-09-03
- Granted: 2016-09-06
- Earliest claimed: 2014-02-28
- Assignees: Verizon Patent and Licensing Inc.
- Applicants: Verizon Patent and Licensing Inc.
- Inventors: Venkata S. Adimatyam; Sameer Gavade; Tariq Roshan
- Web page: https://patentgrep.com/patent/US9438745B2

## CPC

- H04L 65/752: adapting media to network capabilities
- G06F 11/008: {Reliability or availability analysis}
- G06F 11/1458: {Management of the backup or restore process}
- G06F 11/1461: {Backup scheduling policy}
- G06F 11/1464: {for networked environments}
- G06F 11/2028: {eliminating a faulty processor or activating a spare}
- G06F 11/2038: {with a single idle spare processing component}
- H04H 20/12: Arrangements for observation, testing or troubleshooting
- H04L 65/1083: In-session procedures
- H04L 65/80: Responding to QoS
- H04M 11/08: specially adapted for optional reception of entertainment or informative matter
- H04N 17/004: {for digital television systems}
- H04N 21/4263: {involving specific tuning arrangements, e.g. two tuners}
- H04N 21/43615: {Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals (home Audio Video Interoperability [HAVI] data switching networks H04L12/2805)}
- H04N 21/4424: {Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used (error monitoring in general G06F11/30; arrangements for monitoring conditions of receiving stations in broadcast systems H04H60/32; diagnosis, testing or measuring for television receivers H04N17/04)}
- H04N 21/4425: Monitoring of client processing errors or hardware failure
- H04N 21/4432: {Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server (resetting in general G06F1/14; program loading or initiating in general G06F9/445; bootstrapping in general G06F9/4401; secure boots of computer platforms G06F21/57)}
- H04N 21/4882: {for displaying messages, e.g. warnings, reminders (arrangements for providing short real-time information to substation in data switching networks H04L12/1895)}
- H04N 21/6106: {specially adapted to the downstream path of the transmission network}
- H04N 21/6131: {involving transmission via a mobile phone network (wireless downlink channel access H04W74/006)}
- H04N 21/6181: {involving transmission via a mobile phone network (arrangements for providing broadcast or conference services to substation in data switching networks in combination with wireless systems H04L12/189; wireless uplink channel access H04W74/004)}
- H04N 21/654: Transmission by server directed to the client
- G06F 2201/81: Threshold
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04H: BROADCAST COMMUNICATION (multiplex communication H04J; pictorial communication aspects of broadcast systems H04N)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method, a device, and a non-transitory, computer-readable medium stores executable instructions to provide a program service; predict whether a disruption in the program service is to occur; generate and transmit a message, which indicates a predicted disruption of the program service, to user devices; switch to another program device, by the user devices, to receive the program service; transmit another message to the user device when the disruption is over. Additionally, a method, a device, and a non-transitory, computer-readable medium stores executable instructions to provide a failure over service that informs other user devices that an in-home server device is down, and a backup service that includes storing program service data, which includes recorded programs and user settings, on the in-home server device and a cloud device. The backup service also includes a recovery service that restores the program service data when the in-home server device is replaced.

## Claims

### Claim 1

A method comprising:
providing, by a server device and to user devices, a program service that includes a delivery of linear television programs to the user devices that are connected via communicative links, wherein the user devices include a set top box;
predicting, by the server device, whether a first disruption in the program service is to occur, wherein the first disruption corresponds to a complete loss of the program service and the predicting comprises predicting based on disruption indicators, wherein the disruption indicators include temperature of hardware resident on the server device, state of communicative links between the server device and another device, system activity logs, error logs, and hardware and software disruption signatures;
predicting, by the server device, whether a second disruption in the program service is to occur, wherein the second disruption corresponds to a degradation of the program service but not the complete loss of the program service;
generating, by the server device, a first message that indicates a predicted disruption of the program service in response to predicting the first disruption or the second disruption is to occur;
transmitting, by the server device, the first message to the user devices;
disconnecting, by the server device, the communicative links via which the program service is provided, with the user devices;
determining, by the server device, whether the server device is in a stable state;
generating, by the server device, a second message that indicates the program service is available via the server device, in response to determining that the server device is in the stable state;
transmitting, by the server device, the second message to the user devices; and
establishing, by the server device, communicative links with the user devices.

### Claim 2 (depends on 1)

The method of claim 1, wherein predicting whether the first disruption is to occur comprises:
analyzing the disruption indicators.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
identifying the disruption in the program service based on a scheduled update of the server device; and
generating the first message in response to the identifying, and wherein the first message includes a probability value indicative of a probability of the disruption to occur.

### Claim 4 (depends on 1)

The method of claim 1, wherein predicting whether the first disruption is to occur comprises:
predicting based on at least one of a Multivariate State Estimation Technique, a Markov chain-based model, or a Bayesian network model.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first message indicates a predicted time that the server device is expected to recover.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
establishing, by the user devices, communicative links with the program service via another device, in response to receiving the first message.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
rebooting, by the server device, subsequent to predicting the first disruption.

### Claim 8

A network device comprising:
tuners, wherein the tuners tune to programs;
a communication interface;
a memory, wherein the memory stores instructions; and
a processor, wherein the processor executes the instructions to:
provide, via the communication interface, a program service that includes a delivery of programs to user devices that are connected via communicative links, wherein the user devices include a set top box, and the programs include linear television programs;
predict whether a first disruption in the program service is to occur, wherein the first disruption corresponds to a complete loss of the program service and the prediction comprises to predicting based on disruption indicators, wherein the disruption indicators include temperature of hardware resident on the server device, state of communicative links between the server device and another device, system activity logs, error logs, and hardware and software disruption signatures;
predict whether a second disruption in the program service is to occur, wherein the second disruption corresponds to a degradation of the program service but not the complete loss of the program service;
generate a first message that indicates a predicted disruption of the program service in response to a prediction that the first disruption is to occur or the second disruption is to occur;
transmit, via the communication interface, the first message to the user devices;
disconnect the communicative links via which the program service is provided, with the user devices;
determine whether the network device is in a stable state;
generate a second message that indicates the program service is available via the network device in response to a determination that the network device is in the stable state;
transmit, via the communication interface, the second message to the user devices; and
establish, via the communication interface, communicative links with the user devices.

### Claim 9 (depends on 8)

The network device of claim 8, wherein, when predicting whether the first disruption is to occur, the processor further executes the instructions to:
analyze the disruption indicators.

### Claim 10 (depends on 8)

The network device of claim 8, wherein the processor further executes the instructions to:
identify the disruption in the program service based on a scheduled update of the network device; and
generate the first message in response to an identification of the disruption, and wherein the first message includes a probability value indicative of a probability of the disruption to occur.

### Claim 11 (depends on 8)

The network device of claim 8, wherein, when predicting whether the first disruption is to occur, the processor further executes the instructions to:
predict based on at least one of a Multivariate State Estimation Technique, a Markov chain-based model, or a Bayesian network model.

### Claim 12 (depends on 8)

The network device of claim 8, wherein the processor further executes the instructions to:
reboot the network device subsequent to the transmission of the first message.

### Claim 13 (depends on 8)

The network device of claim 8, wherein the first message indicates a predicted time that the network device is expected to recover.

### Claim 14 (depends on 8)

The network device of claim 8, wherein, when determining, the processor further executes the instructions to:
analyze an event log that indicates a measure performed by the network device in response to a failure; and
analyze a system activity log that indicates a current state of the network device.

### Claim 15 (depends on 8)

The network device of claim 8, wherein the network device comprises an in-home media server, and wherein the user devices include a mobile communication device.

### Claim 16

A non-transitory, computer-readable storage medium storing instructions executable by a processor of a computational device to:
provide a program service that includes a delivery of programs to user devices that are connected via communicative links, wherein the user devices include a set top box, and the programs include linear television programs;
predict whether a first disruption in the program service is to occur, wherein the first disruption corresponds to a complete loss of the program service and the prediction comprises predicting based on disruption indicators, wherein the disruption indicators include temperature of hardware resident on the server device, state of communicative links between the server device and another device, system activity logs, error logs, and hardware and software disruption signatures;
predict whether a second disruption in the program service is to occur, wherein the second disruption corresponds to a degradation of the program service but not the complete loss of the program service;
generate a first message that indicates a predicted disruption of the program service in response to a prediction that the first disruption is to occur or the second disruption is to occur;
transmit the first message to the user devices;
disconnect the communicative links via which the program service is provided, with the user devices;
determine whether the computational device is in a stable state;
generate a second message that indicates the program service is available via the computational device in response to a determination that the computational device is in the stable state;
transmit the second message to the user devices; and
establish communicative links with the user devices.

### Claim 17 (depends on 16)

The non-transitory, computer-readable storage medium of claim 16, further storing instructions executable by the processor of the computational device to:
analyze the disruption indicators.

### Claim 18 (depends on 16)

The non-transitory, computer-readable storage medium of claim 16, further storing instructions executable by the processor of the computational device to:
reboot the computational device subsequent to the transmission of the first message.

### Claim 19 (depends on 16)

The non-transitory, computer-readable storage medium of claim 16, further storing instructions executable by the processor of the computational device to:
analyze an event log that indicates a measure performed by the computational device in response to a failure; and
analyze a system activity log that indicates a current state of the computational device.

### Claim 20 (depends on 16)

The non-transitory, computer-readable storage medium of claim 16, further storing instructions executable by the processor of the computational device to:
identify the disruption in the program service based on a scheduled update of the computational device; and
generate the first message in response to an identification of the disruption, and wherein the first message includes a probability value indicative of a probability of the disruption to occur.
