# US 2014/0195599 A1 · System and method for redirecting client-side storage operations

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

- Number: US 2014/0195599 A1
- Document ID: US20140195599A1
- Status: Published application
- Kind: A1
- Application number: 14/180,599
- Filed: 2014-02-14
- Published: 2014-07-10
- Earliest claimed: 2009-11-03
- Assignees: Oto Technologies, LLC
- Applicants: Oto Technologies, LLC
- Inventors: Richard J. Walsh; Alfredo C. Issa
- Web page: https://patentgrep.com/patent/US20140195599A1

## CPC

- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/564: Enhancement of application control based on intercepted application data
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and apparatus for redirecting client-side storage operations to one or more remote storage devices. An HTTP message generated by a web server includes one or more client-side storage operations. Based on defined criteria, the client-side storage operations are replaced with remote storage instructions to generate a modified HTTP message. The modified HTTP message is sent towards the client device. A user agent on the client device receives the HTTP message and executes the remote storage instructions. The storage operations are implemented on the remote storage devices rather than on the client.

## Claims

### Claim 1

A method for modifying an HTTP message, comprising:
receiving an HTTP message from a server addressed to a user agent executing on a client device;
detecting in the HTTP message a client-side storage operation directed to the client device, the client-side storage operation directing the client device to store data on the client device;
translating the client-side storage operation into remote storage instructions based on a defined criteria, wherein the remote storage instructions direct the client device to store the data on a remote storage device; and
modifying the HTTP message to generate a modified HTTP message wherein the client-side storage operation is replaced with the remote storage instructions.

### Claim 2 (depends on 1)

The method of claim 1 wherein the remote storage instructions further comprise:
a plurality of remote storage device identifiers, each of the plurality of remote storage device identifiers identifying a corresponding remote storage device, and for each of the remote storage device identifiers, at least one remote storage command implementing the client-side storage operation on the corresponding remote storage device.

### Claim 3 (depends on 1)

The method of claim 1 further comprising sending the modified HTTP message toward the user agent.

### Claim 4 (depends on 3)

The method of claim 3 wherein the remote storage instructions further comprises a remote storage proxy identifier identifying a remote storage proxy.

### Claim 5 (depends on 4)

The method of claim 4 further comprising receiving, by the remote storage proxy, the remote storage instructions from the user agent.

### Claim 6 (depends on 5)

The method of claim 5 further comprising sending, by the remote storage proxy, a remote storage command to a remote storage device.

### Claim 7 (depends on 1)

The method of claim 1 wherein the remote storage instructions comprise a reference to a file stored on a device other than the client device, and wherein the file identifies a plurality of remote storage devices, and for each of the plurality of remote storage devices, at least one remote storage command implementing the client-side storage operation on the respective remote storage device.

### Claim 8 (depends on 7)

The method of claim 7 wherein the remote storage instructions comprise a digitally signed JavaScript file.

### Claim 9 (depends on 1)

The method of claim 1 wherein the defined criteria comprises a current location of the client device.

### Claim 10 (depends on 1)

The method of claim 1 wherein the defined criteria comprises a type of service identified in the HTTP message.

### Claim 11 (depends on 1)

The method of claim 1 wherein the defined criteria comprises a type of data associated with the client-side storage operation.

### Claim 12 (depends on 1)

The method of claim 1 wherein the defined criteria comprises a source of data associated with the client-side storage operation.

### Claim 13

An apparatus comprising:
a communications interface adapted to communicate with a network; and
a redirection module coupled to the communications interface and adapted to:
receive an HTTP message from a server addressed to a user agent executing on a client device;
detect in the HTTP message a client-side storage operation directed to the client device, the client-side storage operation directing the client device to store data on the client device;
translate the client-side storage operation into remote storage instructions based on a defined criteria, wherein the remote storage instructions direct the client device to store the data on a remote storage device; and
modify the HTTP message to generate a modified HTTP message wherein the client-side storage operation is replaced with the remote storage instructions.

### Claim 14 (depends on 13)

The apparatus of claim 13 wherein the apparatus comprises a network element, and wherein the redirection module is further adapted to send the modified HTTP message toward the client device.

### Claim 15 (depends on 13)

The apparatus of claim 13 wherein the apparatus comprises the client device.

### Claim 16

A computer program product comprising a non-transitory computer usable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for modifying an HTTP message, said method comprising:
receiving an HTTP message from a server addressed to a user agent executing on a client device;
detecting, in the HTTP message, a client-side storage operation directed to the client device, the client-side storage operation directing the client device to store data on the client device;
translating the client-side storage operation into remote storage instructions based on a defined criteria, wherein the remote storage instructions direct the client device to store the data on a remote storage device; and
modifying the HTTP message to generate a modified HTTP message wherein the client-side storage operation is replaced with the remote storage instructions.

### Claim 17 (depends on 16)

The computer program product of claim 16 wherein the remote storage instructions further comprise a remote storage proxy identifier identifying a remote storage proxy.

### Claim 18 (depends on 16)

The computer program product of claim 16 wherein the defined criteria comprises a current location of the client device.

### Claim 19

A method for modifying an HTTP message, comprising:
receiving an HTTP message from a server addressed to a user agent executing on a client device;
detecting in the HTTP message a client-side storage operation directed to the client device, the client-side storage operation directing the client device to store data on the client device;
translating the client-side storage operation into remote storage instructions based on a defined criteria, the remote storage instructions directing the client device to store the data on a remote storage device; and
modifying the HTTP message to generate a modified HTTP message wherein the client-side storage operation is replaced with the remote storage instructions such that when executed by the client device the data is stored on the remote storage device instead of the client device.
