Reverse HTTP connections for device management outside a firewall
First Claim
1. A method for enabling a remote processor to control a device coupled to a local processor, said remote processor coupled to said local processor across a computer network, and a proxy machine operatively interposed between said local processor and said computer network to route, messages from said local processor to said computer network and, only when authorized, to route messages from said computer network to said local processor, said local processor performing a method that enables said remote processor to control operation of said device, not withstanding a presence of said proxy machine, said method comprising the steps of:
- (a) sending a message to said remote processor and authorizing said proxy machine to route a message from said remote processor to said local processor;
(b) receiving said message from said remote processor, routed by said proxy machine, indicating a command to be executed by said local processor;
(c) executing said command; and
before step (a), the step of receiving a message from an electronic mail processor, directing said local processor to initiate communication with said remote processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for enabling a remote processor to control a device coupled to a local processor, where the local processor is coupled to a computer network and a firewall is operatively interposed between the local processor and the computer network. The firewall routes messages from the local processor to the computer network, and only when authorized, routes messages from the computer network to the local processor. The local processor initiates communication with the remote processor, authorizes the firewall to pass a message from the remote processor to the local processor, and executes commands to manage the device as indicated in the message from the remote processor. The exchange of messages is continued when the message from the remote processor directs the local processor to send a next message to the remote processor. A reverse HTTP connection is established when the messages received from the remote processor are requests, and the messages sent to the remote processor are responses.
128 Citations
20 Claims
-
1. A method for enabling a remote processor to control a device coupled to a local processor, said remote processor coupled to said local processor across a computer network, and a proxy machine operatively interposed between said local processor and said computer network to route, messages from said local processor to said computer network and, only when authorized, to route messages from said computer network to said local processor, said local processor performing a method that enables said remote processor to control operation of said device, not withstanding a presence of said proxy machine, said method comprising the steps of:
-
(a) sending a message to said remote processor and authorizing said proxy machine to route a message from said remote processor to said local processor;
(b) receiving said message from said remote processor, routed by said proxy machine, indicating a command to be executed by said local processor;
(c) executing said command; and
before step (a), the step of receiving a message from an electronic mail processor, directing said local processor to initiate communication with said remote processor.- View Dependent Claims (2, 3, 4, 5, 6, 16, 18)
(d) s ending said next mess age to said remote processor and authorizing said proxy machine to route a next message from said remote processor to said local processor;
(e) receiving said next message from said remote processor indicating a next command; and
(f) executing said next command.
-
-
3. The method recited in claim 2, wherein said next message from said remote processor directs said local processor to send another message to said remote processor, said method further comprising the step of repeating steps (d), (e) and (f).
-
4. The method recited in claim 1, wherein a request is a message soliciting information, and a response is a message providing information, said message from said local processor to said remote processor is a request, and thereafter, messages from said remote processor to said local processor are requests, an d messages from said local processor to said remote processor are responses.
-
5. The method recited in claim 1, wherein said message from said local processor to said remote processor includes information regarding an operating parameter of said device, and said command directs said local processor to configure said operating parameter of said device.
-
6. The method recited in claim 1, wherein said local processor is included in said device.
-
16. The method recited in claim 1, wherein said message from said local processor to said remote processor identifies said device, and said command to be executed by said local processor is to be executed with respect to said device.
-
18. The method recited in claim 1, wherein said device comprises a peripheral device, and said executing comprises executing said command with respect to said peripheral device.
-
7. A memory media that stores a program for enabling a remote processor to control a device coupled to a local processor, said remote processor coupled to said local processor across a computer network, and a proxy machine operatively interposed between said local processor and said computer network to route messages from said local processor to said computer network and, only when authorized, to route messages from said computer network to said local processor, said remote processor being enabled to control operation of said device, notwithstanding a presence of said proxy machine, said memory media comprising:
-
(a) means for controlling said local processor to send a message identifying said device to said remote processor and to authorize said proxy machine to route a message from said remote processor to said local processor;
(b) means for controlling said local processor to receive a message from said remote processor, routed by said proxy machine, indicating a command to be executed by said local processor with respect to said identified device; and
(c) means for controlling said local processor to execute said command with respect to said identified device. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 19)
(d) means for controlling said local processor to send said next message to said remote processor and to authorize said proxy machine to route a next message from said remote processor to said local processor;
(e) means for controlling said local processor to receive said next message from said remote processor indicating a next command; and
(f) means for controlling said local processor to execute said next command.
-
-
9. The memory media recited in claim 8, wherein said next message from said remote processor directs said local processor to send another message to said remote processor, said memory media further comprising means for controlling said local processor to cause said means (d), (e) and (f) to repeat their respective actions.
-
10. The memory media recited in claim 7, wherein a request is a message soliciting information, and a response is a message providing information, said message from said local processor to said remote processor is a request, and thereafter, messages from said remote processor to said local processor are requests, and messages from said local processor to said remote processor are responses.
-
11. The memory media recited in claim 7, wherein said message from said local processor to said remote processor includes information regarding an operating parameter of said device, and said command directs said local processor to configure said operating parameter of said device.
-
12. The memory media recited in claim 7, further comprising means for controlling said local processor to receive a message from an operator directing said local processor to initiate communication with said remote processor.
-
13. The memory media recited in claim 7, further comprising means for controlling said local processor to receive a message from an electronic mail processor directing said local processor to initiate communication with said remote processor.
-
14. The memory media recited in claim 7, further comprising means for controlling said local processor to receive a message from said device directing said local processor to initiate communication with said remote processor.
-
15. The memory media recited in claim 7, wherein said local processor is included in said device.
-
19. The memory media recited in claim 7, wherein said means for controlling said local processor to execute comprises means for controlling said processor to execute said command with respect to said device comprising a peripheral device.
-
17. A memory media that stores a program for enabling a remote processor to control a device coupled to a local processor, said remote processor coupled to said local processor across a computer network, and a proxy machine operatively interposed between said local processor and said computer network to route messages from said local processor to said computer network and, only when authorized, to route messages from said computer network to said local processor, said remote processor being enabled to control operation of said device, notwithstanding a presence of said proxy machine, said memory media comprising:
-
(a) means for controlling said local processor to send a message to said remote processor and to authorize said proxy machine to route a message from said remote processor to said local processor;
(b) means for controlling said local processor to receive a message from said remote processor, routed by said proxy machine, indicating a command to be executed by said local processor; and
(c) means for controlling said local processor to execute said command;
wherein said message from said local processor to said remote processor includes information regarding an operating parameter of said device, and said command directs said local processor to configure said operating parameter of said device.- View Dependent Claims (20)
-
Specification