IP Library Granted Patent US 9,537,968
Granted Patent B1
US 9,537,968 · App. 13/733,788 · Granted Jan 3, 2017

Communication of socket protocol based data over a storage protocol based interface

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 9,537,968
App. No.
13/733,788
Granted
Jan 3, 2017
Kind
B1
Abstract

Data communication includes: in a transmit mode: encapsulating first socket protocol based data into first storage protocol based data; receiving a first storage protocol based read request via a storage protocol based interface; and sending the first storage protocol based data in response to the first storage protocol based read request. In a receive mode: receiving a first storage protocol based write request that includes second storage protocol based data, wherein second socket protocol based data is encapsulated within the second storage protocol based data; and processing the first storage protocol based write request to obtain the second socket protocol based data.

Claims (66)

1. An electronic device without a user interface for provisioning the electronic device to communicate with a remote server, the electronic device comprising:

a storage protocol based interface configured to connect to a host, wherein the storage protocol based interface includes a Universal Serial Bus (USB) connection and the host is configured to connect to the remote server and act as a proxy to facilitate data exchange between the electronic device and the remote server; and

one or more processors coupled to the storage protocol based interface, configured to:

in a transmit mode:

encapsulate first socket protocol based data into first storage protocol based data;

receive a first storage protocol based read request from the host via the storage protocol based interface; and

send the first storage protocol based data to the host in response to the first storage protocol based read request;

in a receive mode:

receive a first storage protocol based write request from the host that includes second storage protocol based data, wherein second socket protocol based data is encapsulated within the second storage protocol based data; and

process the first storage protocol based write request to obtain the second socket protocol based data, the second socket protocol based data comprising configuration information for a selected network that is available to the electronic device; and

connect with the selected network via a network interface using the configuration information;

wherein the electronic device does not include a user interface that allows a human user to directly interact with the electronic device.

2. The electronic device of claim 1 , wherein:

the first storage protocol based data is received by the host;

the first socket protocol based data is extracted from the first storage protocol based data by the host; and

the first socket protocol based data is sent to the remote server by the host.

3. The electronic device of claim 1 , wherein encapsulating the first socket protocol based data into the first storage protocol based data includes:

placing the socket protocol based data into one or more fixed-sized blocks;

and adding one or more headers to the one or more fixed-sized blocks.

4. The electronic device of claim 1 , wherein according to an extended version of the storage based protocol, the one or more processors are configured to perform reads and writes at one or more predefined locations.

5. The electronic device of claim 1 , further comprising a storage comprising a designated read area and a designated write area; and wherein:

the read request is directed to the designated read area; and

the write request is directed to the designated write area.

6. The electronic device of claim 1 , wherein the second socket protocol based data includes a request to obtain information pertaining to available network connections.

7. A method of data communication, comprising:

at an electronic device without a user interface for provisioning the electronic device to communicate with a remote server, wherein the electronic device includes a storage protocol based interface configured to connect to a host, the storage protocol based interface includes a Universal Serial Bus (USB) connection, and the host is configured to connect to the remote server and act as a proxy to facilitate data exchange between the electronic device and the remote server:

in a transmit mode:

encapsulating first socket protocol based data into first storage protocol based data;

receiving a first storage protocol based read request from the host via the storage protocol based interface; and

sending the first storage protocol based data to the host in response to the first storage protocol based read request;

in a receive mode:

receiving a first storage protocol based write request from the host that includes second storage protocol based data, wherein second socket protocol based data is encapsulated within the second storage protocol based data; and

processing the first storage protocol based write request to obtain the second socket protocol based data, the second socket protocol based data comprising configuration information for a selected network that is available to the electronic device; and

connecting with the selected network via a network interface using the configuration information.

8. The method of claim 7 , wherein:

the first storage protocol based data is received by the host;

the first socket protocol based data is extracted from the first storage protocol based data by the host; and

the first socket protocol based data is sent to the remote server by the host.

9. The method of claim 7 , wherein encapsulating the first socket protocol based data into the first storage protocol based data includes:

placing the socket protocol based data into one or more fixed-sized blocks;

and adding one or more headers to the one or more fixed-sized blocks.

10. The method of claim 7 , wherein according to an extended version of the storage based protocol, the method performs reads and writes at one or more predefined locations.

11. The method of claim 7 , wherein the electronic device includes a storage comprising a designated read area and a designated write area, and wherein:

the read request is directed to the designated read area; and

the write request is directed to the designated write area.

12. A non-transitory computer readable storage medium storing one or more programs configured for execution by an electronic device without a user interface for provisioning the electronic device to a remote server, wherein the electronic device has one or more processors, memory, and a storage protocol based interface configured to connect to a host, the storage protocol based interface includes a Universal Serial Bus (USB) connection, and the host is configured to connect to the remote server and act as a proxy to facilitate data exchange between the electronic device and the remote server, the one or more programs comprising instructions for:

in a transmit mode:

encapsulating first socket protocol based data into first storage protocol based data;

receiving a first storage protocol based read request from the host via the storage protocol based interface; and

sending the first storage protocol based data to the host in response to the first storage protocol based read request;

in a receive mode:

receiving a first storage protocol based write request from the host that includes second storage protocol based data, wherein second socket protocol based data is encapsulated within the second storage protocol based data; and

processing the first storage protocol based write request to obtain the second socket protocol based data, the second socket protocol based data comprising configuration information for a selected network that is available to the electronic device; and

connecting with the selected network via a network interface using the configuration information;

wherein the electronic device does not include a user interface that allows a human user to directly interact with the electronic device.

13. The computer readable storage medium of claim 12 , wherein:

the first storage protocol based data is received by the host;

the first socket protocol based data is extracted from the first storage protocol based data by the host; and

the first socket protocol based data is sent to the remote server by the host.

14. The computer readable storage medium of claim 12 , wherein encapsulating the first socket protocol based data into the first storage protocol based data includes:

placing the socket protocol based data into one or more fixed-sized blocks;

and adding one or more headers to the one or more fixed-sized blocks.

15. The computer readable storage medium of claim 12 , wherein according to an extended version of the storage based protocol, the one or more programs are further configured to perform reads and writes at one or more predefined locations.

16. The computer readable storage medium of claim 12 , wherein the electronic device includes a storage comprising a designated read area and a designated write area, and wherein:

the read request is directed to the designated read area; and

the write request is directed to the designated write area.

Assignments (4)
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044141/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2014
From: DROPCAM, INC.
To: NEST LABS, INC.
Reel/Frame 033553/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2014
From: NEST LABS, INC.
To: GOOGLE INC.
Reel/Frame 033554/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2013
From: KIRKBY, RONALD LOREN; DUFFY, GREGORY R.
To: DROPCAM, INC.
Reel/Frame 030137/0059 →