IP Library Granted Patent US 7,117,239
Granted Patent B1
US 7,117,239 · App. 09/708,384 · Granted Oct 3, 2006

Reporting the state of an apparatus to a remote computer

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 7,117,239
App. No.
09/708,384
Granted
Oct 3, 2006
Kind
B1
Abstract

The state of an apparatus is reported to a remote computer using an embedded device in the apparatus. The embedded device detects the state, generates a message that reports the state using a self-describing computer language, and sends the message to the remote computer. The remote computer receives the message and extracts the state of the embedded device from the message.

Claims (58)

1. A method performed by a device associated with an apparatus to report a state of the apparatus to a remote computer, the device having a local network address that is unknown to the remote computer, the method comprising:

detecting the state of the apparatus, wherein detecting is performed by monitoring variables associated with the apparatus, wherein monitoring comprises (a) obtaining identifiers for variables associated with the apparatus, the identifiers corresponding to storage locations for the apparatus, and (b) reading the variables from the storage locations;

generating a message that reports the state of the apparatus to the remote computer, the message comprising a HyperText Transfer Protocol (HTTP) command, the message using eXtensible Markup Language (XML) to report the state, and the message containing a code that is unique to the device or apparatus, wherein generating is performed periodically or in response to a deviation in the state, and wherein generating comprises obtaining XML tags using the identifiers and incorporating the variables into fields delimited by XML tags that correspond to the variables; and

sending the message comprising the HTTP command to the remote computer, the message comprising a one-way communication to the remote computer, wherein sending comprises sending the message once the message is generated or queuing the message and sending the message at a later time.

2. The method of claim 1 , wherein detecting the state comprises reading the variables periodically from the storage locations.

3. The method of claim 1 , further comprising determining the deviation in the state.

4. The method of claim 3 , wherein determining comprises comparing the state to a previous state of the apparatus.

5. The method of claim 1 , wherein the XML tags are part of a predefined template, the message being generated by:

inserting the one or more variables into the template.

6. The method of claim 1 , wherein the device is embedded in the apparatus.

7. The method of claim 1 , wherein the message includes past states of the apparatus.

8. The method of claim 1 , wherein the HTTP command comprises a POST command.

9. The method of claim 1 , wherein the message comprises one or more of the following: 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, and a universal unique identifier for the device.

10. The method of claim 1 , wherein the state comprises both an error condition and a measurement associated with the apparatus that is not an error condition.

11. The method of claim 1 , wherein the storage locations comprise register locations corresponding to hardware associated with the apparatus.

12. One or more machine-readable media comprising instructions for execution by a device associated with an apparatus to report a state of the apparatus to a remote computer, the device having a local network address that is unknown to the remote computer, the instructions for causing the device to:

detect the state of the apparatus, wherein detecting is performed by monitoring variables associated with the apparatus, wherein monitoring comprises (a) obtaining identifiers for variables associated with the apparatus, the identifiers corresponding to storage locations for the apparatus, and (b) reading the variables from the storage locations;

generate a message that reports the state of the apparatus to the remote computer, the message comprising a HyperText Transfer Protocol (HTTP) command, the message using eXtensible Markup Language (XML) to report the state, the message containing a code that is unique to the device or apparatus, wherein generating is performed periodically or in response to a deviation in the state, and wherein generating comprises obtaining XML tags using the identifiers and incorporating the variables into fields delimited by XML tags that correspond to the variables; and

send the message comprising the HTTP command to the remote computer, the message comprising a one-way communication to the remote computer, wherein sending comprises sending the message once the message is generated or queuing the message and sending the message at a later time.

13. The one or more machine-readable media of claim 12 , wherein detecting the state comprises reading the variables periodically from the storage locations.

14. The one or more machine-readable media of claim 12 , further comprising instructions that cause the device to:

determine the deviation in the state.

15. The one or more machine-readable media of claim 14 , wherein determining comprises comparing the state to a previous state of the apparatus.

16. The one or more machine-readable media of claim 12 , wherein the XML tars are part of a predefined template, the message being generated by:

inserting the one or more variables into the template.

17. The one or more machine-readable media of claim 12 , wherein the device is embedded in the apparatus.

18. The one or more machine-readable media of claim 12 , wherein the HTTP command comprises a POST command.

19. The one or more machine-readable media of claim 12 , wherein the message comprises one or more of the following: 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, and a universal unique identifier for the device.

20. The one or more machine-readable media of claim 12 , wherein the state comprises both an error condition and a measurement associated with the apparatus that is not an error condition.

21. The one or more machine-readable media of claim 12 , wherein the storage locations comprise register locations corresponding to hardware associated with the apparatus.

22. A device associated with an apparatus for reporting a state of the apparatus to a remote computer, the device having a local network address that is unknown to the remote computer, the device comprising circuitry configured to:

detect the state of the apparatus, wherein detecting is performed by monitoring variables associated with the apparatus, wherein monitoring comprises (a) obtaining identifiers for variables associated with the apparatus, the identifiers corresponding to storage locations for the apparatus, and (b) reading the variables from the storage locations;

generate a message that reports the state of the apparatus to the remote computer, the message comprising a HyperText Transfer Protocol (HTTP) command, the message using eXtensible Markup Language (XML) to report the state, and the message containing a code that is unique to the device or apparatus, wherein generating is performed periodically or in response to a deviation in the state, and wherein generating comprises obtaining XML tags using the identifiers and incorporating the variables into fields delimited by XML tags that correspond to the variables; and

send the message comprising the HTTP command to the remote computer, the message comprising a one-way communication to the remote computer, wherein sending comprises sending the message once the message is generated or queuing the message and sending the message at a later time.

23. The device of claim 22 , wherein detecting the state comprises reading the variables periodically from the storage locations.

24. The device of claim 22 , wherein the circuitry is configured to determine if the state of the apparatus has changed.

25. The device of claim 24 , wherein determining if the state of the apparatus has changed comprises comparing the state to a previous state of the apparatus.

26. The device of claim 22 , wherein the XML tags are part of a predefined template, the message being generated by:

inserting the one or more variables into the template.

27. The device of claim 22 , wherein the circuitry comprises memory which stores executable instructions and a processor which executes the instructions.

28. The device of claim 22 , wherein the circuitry comprises one or more of an application-specific integrated circuit and a programmable gate array.

29. The device of claim 22 , wherein the device is embedded in the apparatus.

30. The device of claim 22 , wherein the HTTP command comprises a POST command.

31. The device of claim 22 , wherein the message comprises one or more of the following: 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, and a universal unique identifier for the device.

32. The device of claim 22 , wherein the state comprises both an error condition and a measurement associated with the apparatus that is not an error condition.

33. The device of claim 22 , wherein the storage locations comprise register locations corresponding to hardware associated with the apparatus.

34. A system comprising:

a first device comprising circuitry to generate a message reporting a state of an apparatus,

the message comprising a HyperText Transfer Protocol (HTTP) command, the message using eXtensible Markup Language (XML) to report the state, and the message containing an identifier that is unique to the apparatus,

the first device having a local network address that is unknown to a second device,

wherein reporting is performed following monitoring of variables associated with the apparatus,

wherein monitoring comprises (a) obtaining identifiers for variables associated with the apparatus, the identifiers corresponding to storage locations for the apparatus, and (b) reading the variables from the storage locations,

wherein generating is performed periodically or in response to a deviation in the state, and wherein generating comprises obtaining XML tags using the identifiers and incorporating the variables into fields delimited by XML tags that correspond to the variables, and

the message comprising a one-way communication to the remote computer, the first device sending the message once the message is generated or queuing the message and sending the message at a later time; and

the second device comprising circuitry to receive the message from the first device and to relay content from the message to an external system.

35. The system of claim 34 , wherein the circuitry in the second device is configured to extract the state of the apparatus from the message.

36. The system of claim 34 , wherein the first device is embedded in the apparatus and the second device comprises a remote computer.

37. The system of claim 34 , wherein the message includes a history log providing past states of the apparatus.

Assignments (8)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE CITY PREVIOUSLY RECORDED AT REEL: 035736 FRAME: 0594. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Sep 30, 2015
From: AXEDA CORPORATION
To: PTC INC.
Reel/Frame 036724/0547 →
MERGER Recorded May 28, 2015
From: AXEDA CORPORATION
To: PTC INC.
Reel/Frame 035736/0594 →
RELEASE OF SECURITY INTEREST Recorded Aug 25, 2014
From: COMERICA BANK
To: AXEDA CORPORATION
Reel/Frame 033608/0704 →
SECURITY AGREEMENT Recorded Jul 24, 2012
From: AXEDA CORPORATION
To: COMERICA BANK
Reel/Frame 028629/0538 →
RELEASE OF SECURITY INTEREST Recorded Jul 17, 2012
From: MMV CAPITAL PARTNERS INC.
To: AXEDA CORPORATION
Reel/Frame 028563/0446 →
RELEASE OF SECURITY INTEREST Recorded Jul 16, 2012
From: SILICON VALLEY BANK
To: AXEDA CORPORATION
Reel/Frame 028558/0744 →