# US 10,397,224 B2 · Network personal digital video recorder system (NPDVR)

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

- Number: US 10,397,224 B2
- Document ID: US10397224B2
- Status: Granted
- Kind: B2
- Application number: 15/181,158
- Filed: 2016-06-13
- Published: 2016-12-15
- Granted: 2019-08-27
- Earliest claimed: 1999-11-04
- Assignees: Oath Inc.
- Applicants: Oath Inc.
- Inventors: Brett O'Brien; Sean Whiteley; Lucas McGregor; Martin Hald
- Web page: https://patentgrep.com/patent/US10397224B2

## CPC

- H04L 63/10: {for controlling access to devices or network resources}
- G06F 16/10: File systems; File servers
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/953: Querying, e.g. by the use of web search engines
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04N 7/17336: {Handling of requests in head-ends}
- H04N 21/23103: {using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers (storage management G06F3/0604; allocation of resources considering the load in multiprogramming arrangements G06F9/505; techniques for rebalancing the load in a distributed system G06F9/5083; access to distributed or replicated servers, e.g. load balancing, in data networks H04L67/1001)}
- H04N 21/25866: {Management of end-user data (customer care in data networks H04L41/5077)}
- H04N 21/2747: Remote storage of video programmes received via the downstream path, e.g. from the server
- H04N 21/4147: PVR [Personal Video Recorder] (H04N5/76 takes precedence {; arrangements for broadcast with accumulation-type receivers H04H20/40})
- H04N 21/4753: {for user identification, e.g. by entering a PIN or password (cryptographic authentication protocols H04L9/32; networks authentication protocols H04L63/08)}
- H04N 21/6125: {involving transmission via Internet (transmission by internet of broadcast information H04H60/82)}
- Y10S 707/99931: Database or file accessing
- Y10S 707/99934: Query formulation, input preparation, or translation
- Y10S 707/99938: Concurrency, e.g. lock management in shared database
- Y10S 707/99945: Object-oriented database structure processing
- Y10S 707/99952: Coherency, e.g. same view to multiple users
- Y10S 707/99953: Recoverability
- 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)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

The Shared Internet Storage Resource provides Internet-based file storage, retrieval, access, control, and manipulation for a user. Additionally, an easy-to-use user interface is provided both for a browser or stand-alone application. The entire method provides means by which users can establish, use, and maintain files on the Internet in a manner remote from their local computers yet in a manner that is similar to the file manipulation used on their local computers. A high capacity or other storage system is attached to the Internet via an optional internal network that also serves to generate and direct metadata regarding the stored files. A web server using a CGI, Java®-based, or other interface transmits and retrieves TCP/IP packets or other Internet information through a load balancer/firewall by using XML to wrap the data packets. File instructions may be transmitted over the Internet to the Shared Resource System. The user's account may be password protected so that only the user may access his or her files. On the user's side, a stand-alone client application or JavaScript object interpreted through a browser provide two means by which the XML or other markup language data stream may be received and put to use by the user. Internet-to-Internet file transfers may be effected by directly downloading to the user's account space.

## Claims

### Claim 1

A computer-implemented method comprising the following operations performed by at least one processor:
receiving, from a client system, a request to transfer a first file stored on a host server to a database system, wherein the transfer request is transmitted to a proxy server for isolating the transfer request via a proxy server process, wherein the transfer request is further transmitted to a load balancer for transmitting the transfer request to a least-loaded host server, wherein the transfer request includes an identifier that identifies the first file and an identifier of a user of the client system, and wherein the database system being located remotely from the host server and the client system;
transferring, using a communications network, the first file from the host server to the database system, the database system being adapted to store the first file in a storage area allocated to the identified user of the client system;
receiving, from the client system, a request to access the first file stored on the database system, the request to access the first file including authentication data associated with the user;
verifying the authenticating data associated with the user; and
permitting, in response to verifying the user, the client system to access the first file stored on the database system.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the authentication data associated with the user comprises a user name and password.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the identifier that identifies the first file specifies a location of the first file.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising the operations of:
monitoring a status of the transfer request; and
reporting the status to the user.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the status is at least one of complete, incomplete, and transfer error.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein permitting the client system to access the first file further comprises:
permitting the user to download the first file stored on the database system to the client system.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein permitting the client system to access the first file further comprises:
permitting the user to share the first file stored on the database system with other users.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the first file is transferred from the host server to the database system using a faster transfer speed than that provided by a direct transfer from the host server to the client system.

### Claim 9

An apparatus comprising:
at least one processor; and
a storage device comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform the following operations:
receiving, from a client system, a request to transfer a first file stored on a host server to a database system, wherein the transfer request is transmitted to a proxy server for isolating the transfer request via a proxy server process, wherein the transfer request is further transmitted to a load balancer for transmitting the transfer request to a least-loaded host server, wherein the transfer request includes an identifier that identifies the first file and an identifier of a user of the client system, and wherein the database system being located remotely from the host server and the client system;
transferring, using a communications network, the first file from the host server to the database system, the database system being adapted to store the first file in a storage area allocated to the identified user of the client system;
receiving, from the client system, a request to access the first file stored on the database system, the request to access the first file including authentication data associated with the user;
verifying the authenticating data associated the user; and permitting, in response to verifying the user, the client system to access the first file stored on the database system.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the authentication data associated with the user comprises a user name and password.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the identifier that identifies the first file specifies a location of the first file.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein the at least one processor further performs the following operation:
monitoring a status of the transfer request; and
reporting the status to the user.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the status is at least one of complete, incomplete, and transfer error.

### Claim 14 (depends on 9)

The apparatus of claim 9, wherein permitting the client system to access the first file further comprises:
permitting the user to download the first file stored on the database system to the client system.

### Claim 15 (depends on 9)

The apparatus of claim 9, wherein permitting the client system to access the first file further comprises:
permitting the user to share the first file stored on the database system with other users.

### Claim 16 (depends on 9)

The apparatus of claim 9, wherein the first file is transferred from the host server to the database system using a faster transfer speed than that provided by a direct transfer from the host server to the client system.

### Claim 17

A tangible, non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:
receiving, from a client system, a request to transfer a first file stored on a host server to a database system, wherein the transfer request is transmitted to a proxy server for isolating the transfer request via a proxy server process, wherein the transfer request is further transmitted to a load balancer for transmitting the transfer request to a least-loaded host server, wherein the transfer request includes an identifier that identifies the first file and an identifier of a user of the client system, and wherein the database system being located remotely from the host server and the client system;
transferring, using a communications network, the first file from the host server to the database system, the database system being adapted to store the first file in a storage area allocated to the identified user of the client system;
receiving, from the client system, a request to access the first file stored on the database system, the request to access the first file including authentication data associated with the user;
verifying the authenticating data associated the user; and permitting, in response to verifying the user, the client system to access the first file stored on the database system.

### Claim 18 (depends on 17)

The medium of claim 17, wherein the authentication data associated with the user comprises a user name and password.

### Claim 19 (depends on 17)

The medium of claim 17, wherein the instructions further cause the at least one processor to perform operations comprising:
monitoring a status of the transfer request; and
reporting the status to the user.

### Claim 20 (depends on 19)

The medium of claim 19, wherein the status is at least one of complete, incomplete, and transfer error.
