IP Library Granted Patent US 8,898,294
Granted Patent B2
US 8,898,294 · App. 13/251,636 · Granted Nov 25, 2014

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 8,898,294
App. No.
13/251,636
Granted
Nov 25, 2014
Kind
B2
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 (70)

1. A method performed by a device associated with an apparatus to report a state of the apparatus to a remote computer, the method comprising:

detecting the state of the apparatus;

generating a message that reports the state of the apparatus to the remote computer, the message comprising a HyperText Transfer Protocol (HTTP) command, 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

sending the message comprising the HTTP command to the remote computer, the HTTP command comprising a command that is configured to report the state of the apparatus using eXtensible Markup Language (XML);

wherein the device is on an internal network and the remote computer is on an external network that is separate from the internal network, and wherein, as a result, the remote computer cannot initiate communication to an address of the device on the internal network; and

wherein the state of the apparatus comprises values of two or more variables associated with the apparatus, one or more of the variables being flagged if one or more of the variables corresponds to an error condition associated with the apparatus.

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

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 is generated by inserting one or more variables into a predefined template.

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

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

8. 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.

9. 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.

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

11. The method of claim 1 , wherein the message comprises an error condition history, the error condition history indicating error conditions in the apparatus over time.

12. The method of claim 1 , further comprising queuing the message in the device prior to sending the message, the message being sent following a failure condition in a system comprising the device and/or the apparatus.

13. One or more non-transitory machine-readable media storing instructions for execution by a device associated with an apparatus to report a state of the apparatus to a remote computer, the instructions for causing the device to perform operations comprising:

detecting the state of the apparatus;

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 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

sending the message comprising the HTTP command to the remote computer, the HTTP command comprising a command that is configured to report the state of the apparatus using eXtensible Markup Language (XML);

wherein the device is on an internal network and the remote computer is on an external network that is separate from the internal network, and wherein, as a result, the remote computer cannot initiate communication to an address of the device on the internal network; and

wherein the state of the apparatus comprises values of two or more variables associated with the apparatus, one or more of the variables being flagged if one or more of the variables corresponds to an error condition associated with the apparatus.

14. The one or more non-transitory machine-readable media of claim 13 , wherein detecting the state comprises reading variables periodically from storage locations associated with the apparatus.

15. The one or more non-transitory machine-readable media of claim 13 , wherein the operations comprise:

determining the deviation in the state.

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

17. The one or more non-transitory machine-readable media of claim 13 , wherein the XML is generated by inserting one or more variables into a predefined template.

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

19. The one or more non-transitory machine-readable media of claim 13 , 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 non-transitory machine-readable media of claim 13 , 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 non-transitory machine-readable media of claim 14 , wherein the storage locations comprise register locations corresponding to hardware associated with the apparatus.

22. The one or more machine-readable media of claim 13 , wherein the message comprises an error condition history, the error condition history indicating error conditions in the apparatus over time.

23. The one or more machine-readable media of claim 13 , further comprising queuing the message in the device prior to sending the message, the message being sent following a failure condition in a system comprising the device and/or the apparatus.

24. A device associated with an apparatus for reporting a state of the apparatus to a remote computer, the device for executing instructions to perform operations comprising:

detecting the state of the apparatus;

generating a message that reports the state of the apparatus to the remote computer, the message comprising a HyperText Transfer Protocol (HTTP) command, 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

sending the message comprising the HTTP command to the remote computer, the HTTP command comprising a command that is configured to report the state of the apparatus using eXtensible Markup Language (XML);

wherein the device is on an internal network and the remote computer is on an external network that is separate from the internal network, and wherein, as a result, the remote computer cannot initiate communication to an address of the device on the internal network; and

wherein the state of the apparatus comprises values of two or more variables associated with the apparatus, one or more of the variables being flagged if one or more of the variables corresponds to an error condition associated with the apparatus.

25. The device of claim 24 , wherein detecting the state comprises reading variables periodically from storage locations associated with the apparatus;

wherein the operations comprise determining if the state of the apparatus has changed;

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 24 , wherein the HTTP command comprises a POST command; and

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.

27. The device of claim 24 , wherein the message comprises an error condition history, the error condition history indicating error conditions in the apparatus over time.

28. The device of claim 24 , wherein the operations comprise queuing the message in the device prior to sending the message, the message being sent following a failure condition in a system comprising the device and/or the apparatus.

29. A method performed by a device associated with an apparatus to report a state of the apparatus to a remote computer, the method comprising:

detecting the state of the apparatus;

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 using variables, and the message containing a code that is unique to the device or apparatus,

wherein the message is generated periodically or in response to a deviation in the state by an XML processor that obtains new variables, on which a state is to be reported, from tag management software; and

sending the message to an address of the remote computer registered with the apparatus, the HTTP command comprising a command that is configured to report the state of the apparatus using XML;

wherein the device is on an internal network and the remote computer is on an external network that is separate from the internal network, and wherein the remote computer cannot directly address the apparatus; and

wherein the state of the apparatus comprises values of two or more variables associated with the apparatus, one or more of the variables being identified by an indicator because the one or more of the variables corresponds to an error condition associated with the apparatus.

30. One or more non-transitory machine-readable media storing instructions for execution by a device associated with an apparatus to report a state of the apparatus to a remote computer, the instructions for causing the device to perform operations comprising:

detecting the state of the apparatus;

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 using variables, and the message containing a code that is unique to the device or apparatus,

wherein the message is generated periodically or in response to a deviation in the state by an XML processor that obtains new variables, on which a state is to be reported, from tag management software; and

sending the message to an address of the remote computer registered with the apparatus, the HTTP command comprising a command that is configured to report the state of the apparatus using XML;

wherein the device is on an internal network and the remote computer is on an external network that is separate from the internal network, and wherein the remote computer cannot directly address the apparatus; and

wherein the state of the apparatus comprises values of two or more variables associated with the apparatus, one or more of the variables being identified by an indicator because the one or more of the variables corresponds to an error condition associated with the apparatus.

31. A device associated with an apparatus for reporting a state of the apparatus to a remote computer, the device for executing instructions to perform operations comprising:

detecting the state of the apparatus;

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 using variables, and the message containing a code that is unique to the device or apparatus,

wherein the message is generated periodically or in response to a deviation in the state by an XML processor that obtains new variables, on which a state is to be reported, from tag management software; and

sending the message to an address of the remote computer registered with the apparatus, the HTTP command comprising a command that is configured to report the state of the apparatus using XML;

wherein the device is on an internal network and the remote computer is on an external network that is separate from the internal network, and wherein the remote computer cannot directly address the apparatus; and

wherein the state of the apparatus comprises values of two or more variables associated with the apparatus, one or more of the variables being identified by an indicator because the one or more of the variables corresponds to an error condition associated with the apparatus.

Assignments (11)
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 →
NUNC PRO TUNC ASSIGNMENT Recorded Mar 6, 2014
From: EMATION, INC.
To: AXEDA SYSTEMS OPERATING COMPANY, INC.
Reel/Frame 032398/0313 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2014
From: HANSEN, JAMES R.
To: EMATION, INC.
Reel/Frame 032361/0167 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2013
From: AXEDA SYSTEMS OPERATING COMPANY, INC.
To: AXEDA CORPORATION
Reel/Frame 030084/0411 →
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 →