Limited TCP/IP implementation using minimal resources
First Claim
Patent Images
1. A method for operating a server to handle a request from a client to control an appliance, said method comprising:
- storing at said server one or more predefined input templates each associated with a connection state between said server and said client, and a plurality of response templates;
receiving at said server a packet via a network interface from said client, said server implemented in a microcontroller of the appliance;
determining a current connection state between said server and said client;
comparing the received packet with said one or more predefined input templates associated with the current connection state;
if the received packet matches said one or more predefined input templates extracting variables from the received packet;
selecting one of said plurality of response templates based on the matched predefined input template;
inserting said extracted variables into said selected response template;
transmitting said selected response template from said server to said client;
wherein said connection state is based on progress within a predefined interaction between said server and said client, said predefined interaction following a protocol fully implemented by said client but not by said server.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for providing a highly useful partial implementation of a network protocol using limited processing and memory resources are provided. This allows network nodes embedded in simple devices such as light switches, thermostats, etc. to be reached using conventional open standard network protocols such as TCP/IP. A representative application is remotely adjusting a house thermostat by accessing a web page.
-
Citations
21 Claims
-
1. A method for operating a server to handle a request from a client to control an appliance, said method comprising:
-
storing at said server one or more predefined input templates each associated with a connection state between said server and said client, and a plurality of response templates; receiving at said server a packet via a network interface from said client, said server implemented in a microcontroller of the appliance; determining a current connection state between said server and said client; comparing the received packet with said one or more predefined input templates associated with the current connection state; if the received packet matches said one or more predefined input templates extracting variables from the received packet; selecting one of said plurality of response templates based on the matched predefined input template; inserting said extracted variables into said selected response template; transmitting said selected response template from said server to said client; wherein said connection state is based on progress within a predefined interaction between said server and said client, said predefined interaction following a protocol fully implemented by said client but not by said server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. Apparatus for operating a server to handle a request from a client to control an appliance, said apparatus comprising:
-
a network interface that communicates with said client via a network; a memory system that stores one or more predefined input templates each associated with a connection state between said server and said client, and a plurality of response templates; and a processor configured to determine a current connection state between said server and said client, compare a received packet with said one or more predefined input templates associated with the current connection state, extract variables from the received packet if the received packet matches said one or more predefined input templates, select one of said plurality of response templates based on the matched predefined input template, insert said extracted variables into said selected response template, and transmit said selected response template from said server to said client, wherein said processor is implemented in a microcontroller of the appliance and said connection state is based on progress within a predefined interaction between said server and said client, said predefined interaction following a protocol fully implemented by said client but not by said server. - View Dependent Claims (13, 14, 15)
-
-
16. Apparatus for operating a server to handle a request from a client to control an appliance, said apparatus comprising:
-
memory for storing at said server one or more predefined input templates each associated with a connection state between said server and said client, and a plurality of response templates; means for receiving at said server a packet from said client, said server implemented in a microcontroller of the appliance; means for determining a current connection state between said server and the client; means for comparing the received packet with said one or more predefined input templates associated with the current connection state; means for extracting variables from the received packet if the received packet matches said one or more predefined input templates; means for selecting one of said plurality of response templates based on the matched predefined input template; means for inserting said extracted variables into said selected response template; and means for transmitting said response from said server to said client; wherein said connection state is based on progress within a predefined interaction between said server and said client, said predefined interaction following a protocol fully implemented by said client but not by said server. - View Dependent Claims (17, 18)
-
-
19. A computer-readable medium storing computer executable instructions for operating a server to handle a request from a client to control an appliance, said computer-readable medium configured for storing one or more predefined input template each associated with a connection state between said server and said client and a plurality of response templates said instructions are executed to perform the steps of;
-
receiving at said server a packet from said client, said server implemented in a microcontroller of the appliance; determining a current connection state between said server and said client; comparing the received packet with said one or more predefined input templates associated with the current connection state; extracting variables from the received packet if the received packet matches said one or more predefined input templates; selecting one of said plurality of response templates based on the matched predefined input template; inserting said extracted variables into said selected response template; and transmitting said response from said server to said client; wherein said connection state is based on progress within a predefined interaction between said server and said client said predefined interaction following a protocol fully implemented by said client but not by said server. - View Dependent Claims (20, 21)
-
Specification