IP Library Granted Patent US 10,069,937
Granted Patent B2
US 10,069,937 · App. 14/310,324 · Granted Sep 4, 2018

Retrieving data from a server

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 10,069,937
App. No.
14/310,324
Granted
Sep 4, 2018
Kind
B2
Abstract

A system includes a server and a controller embedded in a device. Both the server and the embedded controller are capable of communicating over a computer network. The embedded controller sends a command to the server over the computer network that identifies an instance of the device. In response, the server identifies the instance of the device based on the command, retrieves data that is specific to the instance of the device, and sends the data to the embedded controller over the computer network.

Claims (37)

1. A method performed by a controller embedded in a device for retrieving data from a server, comprising:

sending a command to the server that identifies an instance of the device, the command comprising a HyperText Transfer Protocol (HTTP) command, the HTTP command comprising code identifying one or more operational parameters for the device, the command also comprising information identifying the instance of the device, wherein sending the command comprises polling the server to determine if the server contains one or more updated values for the one or more operational parameters;

receiving, from the server and in response to the command, data that is based on the instance of the device, the data comprising the one or more updated values for the one or more operational parameters that are specific to the instance of the device, and the data identifying a uniform resource identifier (URI) identifying a Web site associated with the device, the Web site storing additional operational parameters for the device;

retrieving the additional operational parameters from the Web site using the URI; and

configuring the device based on at least one of the additional operational parameters or the one more updated values to thereby effect operation of the device;

wherein the device is on a first network and the server is on a second network, the controller having an Internet Protocol (IP) address on the first network that is not recognizable by the server on the second network.

2. The method of claim 1 , wherein the code comprises a self-describing computing language in which fields of the code are associated with variables and corresponding values of the variables.

3. The method of claim 1 , wherein operations for sending, receiving, retrieving, and configuring are performed by a Web client application executing on the controller, the Web client application accessing a database to obtain information identifying the one or more operational parameters for the device.

4. The method of claim 1 , wherein the one or more operational parameters comprises at least one of settings or control instructions for configuring the device.

5. The method of claim 1 , further comprising determining a value of a new parameter based on at least one of the additional operational parameters or the one or more updated values, the new parameter being different from at least one of the additional operational parameters or the one or more updated values;

wherein configuring is performed to configure the device based on the new parameter.

6. The method of claim 1 , wherein the information identifying the instance of the device comprises at least one of data identifying: a type of the device, a common name for the device, a manufacturer of the device, a model name of the device, a model number of the device, a serial number of the device, or a universal unique identifier for the device.

7. The method of claim 1 , wherein the HTTP command comprises one of a GET command or a POST command.

8. The method of claim 1 , wherein the data that is based on the instance of the device received by the controller is part of a reply from the server, the reply comprising a digital signature of the server, the controller authenticating the digital signature to authenticate the reply.

9. The method of claim 1 , wherein the data comprises values of one or more operational parameters for the device that are not identified in the command sent to the server by the controller.

10. One or more non-transitory machine-readable storage media storing instructions that are executable by a controller embedded in a device to perform operations for retrieving data from a server, the operations comprising:

sending a command to the server that identifies an instance of the device, the command comprising a HyperText Transfer Protocol (HTTP) command, the HTTP command comprising code identifying one or more operational parameters for the device, the command also comprising information identifying an instance of the device, wherein sending the command comprises polling the server to determine if the server contains one or more updated values for the one or more operational parameters;

receiving, from the server and in response to the command, data that is based on the instance of the device, the data comprising the one or more updated values for the one or more operational parameters that are specific to the instance of the device, and the data identifying a uniform resource identifier (URI) identifying a Web site associated with the device, the Web site storing additional operational parameters for the device;

retrieving the additional operational parameters from the Web site using the URI; and

configuring the device based on at least one of the additional operational parameters or the one or more updated values to thereby affect operation of the device;

wherein the device is on a first network and the server is on a second network, the controller having an Internet Protocol (IP) address on the first network that is not recognizable by the server on the second network.

11. The one or more non-transitory machine-readable storage media of claim 10 , wherein the code comprises a self-describing computing language in which fields of the code are associated with variables and corresponding values of the variables.

12. The one or more non-transitory machine-readable storage media of claim 10 , wherein operations for sending, and receiving, retrieving, and configuring are performed by a Web client application executing on the controller, the Web client application accessing a database to obtain information identifying the one or more operational parameters for the device.

13. The one or more non-transitory machine-readable storage media of claim 10 , wherein the one or more operational parameters comprises at least one of settings or control instructions for configuring the device.

14. The one or more non-transitory machine-readable storage media of claim 10 , wherein the operations comprise determining a value of a new parameter based on at least one of the additional operational parameters or the one or more updated values, the new parameter being different from at least one of the additional operational parameters or the one or more updated values; and

wherein configuring is performed to configure the device based on the new parameter.

15. The one or more non-transitory machine-readable storage media of claim 10 , wherein the information identifying the instance of the device comprises at least one of data identifying: a type of the device, a common name for the device, a manufacturer of the device, a model name of the device, a model number of the device, a serial number of the device, or a universal unique identifier for the device.

16. The one or more non-transitory machine-readable storage media of claim 10 , wherein the HTTP command comprises one of a GET command or a POST command.

17. The one or more non-transitory machine-readable storage media of claim 10 , wherein the data that is based on the instance of the device received by the controller is part of a reply from the server, the reply comprising a digital signature of the server, and wherein the operations comprise authenticating the digital signature to authenticate the reply.

18. The one or more non-transitory machine-readable storage media of claim 10 , wherein the data comprises values of one or more operational parameters for the device that are not identified in the command sent to the server by the controller.

19. A system comprising:

a server on a first network; and

a controller embedded in a device, the device being on a second network that is different from the first network, the controller having an Internet Protocol (IP) address on the second network that is not recognizable by the server on the first network, the controller being programmed to perform operations comprising:

sending a command to the server that identifies an instance of the device, the command comprising a HyperText Transfer Protocol (HTTP) command, the HTTP command comprising code identifying one or more operational parameters for the device, the command also comprising information identifying an instance of the device, wherein sending the command comprises polling the server to determine if the server contains one or more updated values for the one or more operational parameters;

receiving, from the server and in response to the command, data that is based on the instance of the device, the data comprising the one or more updated values for the one or more operational parameters that are specific to the instance of the device, and the data identifying a uniform resource identifier (URI) identifying a Web site associated with the device, the Web site storing additional operational parameters for the device;

retrieving the additional operational parameters from the Web site using the URI; and

configuring the device based on at least one of the additional operational parameters or the one or more updated values to thereby affect an operation of the device.

Assignments (7)
SECURITY INTEREST Recorded Sep 13, 2018
From: PTC INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 047480/0888 →
SECURITY INTEREST Recorded Nov 4, 2015
From: PTC INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037046/0930 →
MERGER Recorded Sep 2, 2015
From: AXEDA CORPORATION
To: PTC INC.
Reel/Frame 036478/0694 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2014
From: HANSEN, JAMES R.
To: AXEDA SYSTEMS OPERATING COMPANY, INC.
Reel/Frame 033350/0880 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2014
From: AXEDA SYSTEMS OPERATING COMPANY, INC.
To: AXEDA CORPORATION
Reel/Frame 033350/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2014
From: HANSEN, JAMES R.
To: AXEDA SYSTEMS OPERATING COMPANY, INC.
Reel/Frame 033343/0230 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2014
From: AXEDA SYSTEMS OPERATING COMPANY, INC.
To: AXEDA CORPORATION
Reel/Frame 033343/0276 →