Claims
- 1. A method of device maintenance, comprising:
determining that maintenance should be performed on a target device; automatically selecting a maintenance process including at least one maintenance task to effect said maintenance; automatically managing said maintenance process on a maintenance server separate from said target device, said maintenance server adapted to manage maintenance processes for a plurality of devices, said managing including at least monitoring the execution of said process; and automatically performing at least one said maintenance-related task to effect at least a portion of said maintenance of said target device.
- 2. A method according to claim 1, wherein automatically managing comprises automatically recording an effect of said maintenance process on said target device.
- 3. A method according to claim 2, wherein automatically managing comprises modifying said maintenance process by said maintenance server in response to said effect.
- 4. A method according to claim 1, wherein automatically managing comprises controlling a time duration of said maintenance process by said maintenance server.
- 5. A method according to claim 1, wherein automatically managing comprises generating a series of maintenance tasks by said maintenance server.
- 6. A method according to claim 1, wherein at least two of said plurality of devices are located at a same site.
- 7. A method according to claim 1, wherein at least two of said plurality of devices are located at different, unassociated, sites.
- 8. A method according to claim 1, wherein at least part of said maintenance server is located at a same site as said target device.
- 9. A method according to claim 1, wherein at least part of said maintenance server is located at a different site from said target device.
- 10. A method according to claim 9, wherein said maintenance server and said target device are separated by a firewall.
- 11. A method according to claim 1, wherein said maintenance server comprises a centralized server.
- 12. A method according to claim 1, wherein said maintenance server comprises a plurality of distributed components.
- 13. A method according to claim 12, wherein said plurality of distributed components is arranged in a hierarchical structure.
- 14. A method according to claim 1, wherein said determining is performed by said maintenance server.
- 15. A method according to claim 1, wherein said selecting is performed by said maintenance server.
- 16. A method according to claim 1, wherein said performing is performed by said maintenance server.
- 17. A method according to claim 1, wherein at least one of said performing, said selecting, and said determining is performed by at least two physically separated components that cooperate as a distributed system.
- 18. A method according to claim 1, wherein each of said performing, said selecting, and said determining is performed by a non-distributed component.
- 19. A method according to claim 1, wherein said determining is performed by said target device or a dedicated agent associated with said target device.
- 20. A method according to claim 1, wherein said performing is performed by said target device or a dedicated agent associated with said target device.
- 21. A method according to claim 1, wherein at least one of said determining, said selecting and said performing is performed by a site server associated with a plurality of devices located at a same site as said target device.
- 22. A method according to claim 21, wherein at least two of said determining, said selecting and said performing is performed by said site server.
- 23. A method according to claim 1, wherein said performing comprises manually performing a task.
- 24. A method according to claim 1, wherein said performing comprises automatically performing said at least one task.
- 25. A method according to claim 1, wherein said selecting comprises selecting from a plurality of available maintenance processes.
- 26. A method according to claim 1, wherein said selecting comprises tailoring a maintenance processes.
- 27. A method according to claim 1, wherein said selecting comprises selecting in response to a previous maintenance history of said target device.
- 28. A method according to claim 1, wherein said maintenance process comprises acquiring data from said target device and then diagnosing a fault based on said data.
- 29. A method according to claim 1, wherein said maintenance process comprises iteratively acquiring data from said target device and analyzing said data to determine additional data useful for diagnosing said target device.
- 30. A method according to claim 1, wherein said maintenance process comprises testing at least one potential repair method on said target device to select a desirable repair method and then applying said repair method on said target device.
- 31. A method according to claim 1, wherein said maintenance process comprises testing at least one potential repair method on a different device from said target device to select a desirable repair method for said target device and then applying said repair method on said target device.
- 32. A method according to claim 1, wherein said determining comprises analyzing a log acquired by said target device, when said target device detects a potentially problematic operational state.
- 33. A method according to claim 32, wherein said log is stored by a site server associated with a plurality of devices located at a same site as said target device, and available for use even if said target device is crashed.
- 34. A method according to claim 1, wherein determining that maintenance should be performed comprises receiving an alert to a fault condition of said target device.
- 35. A method according to claim 34, wherein said alert is provided for action with a set of data associated with said alert.
- 36. A method according to claim 35, wherein said data is stored in a distributed manner.
- 37. A method of device maintenance, comprising:
determining, by a target device, that maintenance-related tasks generated specifically for the target device by a separate entity, may be available for said target device; and seeking by said target device of the maintenance-related tasks; and performing of said maintenance-related tasks by said target device to effect maintenance of said target device.
- 38. A method according to claim 37, wherein said seeking comprises polling a mailbox in which a maintenance provider deposits maintenance tasks.
- 39. A method according to claim 38, comprising depositing a response to said task in said mailbox by said target device.
- 40. A method according to claim 38, comprising depositing device data in said mailbox by said target device.
- 41. A method according to claim 40, wherein said target device data comprises log data collected based on an task previously collected by said target device as a result of a previous seek.
- 42. A method according to claim 40, comprising analyzing said target device data remotely from said target device.
- 43. A method according to claim 40, comprising generating a further maintenance related task by said entity, in response to said target device data.
- 44. A method according to claim 41, wherein said data is sufficient for diagnosis of said target device without retrieving additional data from said target device.
- 45. A method according to claim 37, wherein said mailbox is a personal mailbox for said target device.
- 46. A method according to claim 37, wherein said entity that generates said maintenance-related tasks comprises an automatic maintenance server.
- 47. A method according to claim 37, wherein said seeking comprises seeking at a communication server.
- 48. A method according to claim 37, wherein said seeking comprises seeking via a site server associated with a plurality of devices located at a same site as said target device.
- 49. A method according to claim 37, wherein said seeking comprises seeking via a dedicated agent associated with said target device.
- 50. A method according to claim 37, wherein said target device is protected by a firewall from said entity.
- 51. A method according to claim 50, wherein said seeking uses a protocol that bypasses said firewall.
- 52. A method according to claim 51, wherein said protocol comprises a HTTP protocol.
- 53. A method according to claim 51, comprising emulating a device maintenance protocol that is normally blocked by said firewall, using said seeking.
- 54. A method according to claim 53, wherein said protocol comprises at least one of Telnet, SNMP and CMIP.
- 55. A method of device maintenance, comprising:
providing a maintenance network including a user site and a multi-device servicing site that provides maintenance to at least one target device in said user site; selecting, by a user, a degree of access of maintenance functions of said servicing site to at least one of maintenance-related information of said target device and commanding said target device to perform a maintenance-related task; and setting said degree of access.
- 56. A method according to claim 55, wherein said setting comprises setting at said target device.
- 57. A method according to claim 55, wherein said setting comprises setting at a site server associated with a plurality of devices located at a same site as said target device.
- 58. A method according to claim 55, wherein said setting comprises setting at a communication server that mediates communication between said user site and servicing site.
- 59. A method according to claim 55, comprising enforcing conformance with said degree of access by an entity associated with said user site.
- 60. A method according to claim 59, wherein said entity comprises a site server associated with a plurality of devices located at a same site as said target device.
- 61. A method according to claim 59, wherein said entity comprises a dedicated agent associated with said target device.
- 62. A method according to claim 59, wherein said enforcing comprises blocking data arriving from said target device.
- 63. A method according to claim 59, wherein said enforcing comprises blocking tasks sent to said target device.
- 64. A method according to claim 59, wherein said enforcing comprises faking device data.
- 65. A method according to claim 55, wherein said provided maintenance comprises automated maintenance.
- 66. A method according to claim 55, wherein said provided maintenance comprises manual maintenance.
- 67. A method according to claim 55, wherein said maintenance network comprises an online network.
- 68. A method according to claim 55, wherein said maintenance network comprises an offline network.
- 69. A method according to claim 55, wherein said degree of access comprises allowing said servicing site to view maintenance-related information from said target device.
- 70. A method according to claim 55, wherein said degree of access comprises allowing said servicing site to set parameters in said target device.
- 71. A method according to claim 55, wherein said degree of access comprises allowing said servicing site to access a maintenance protocol supported by said target device.
- 72. A method according to any of claims 1-71, wherein said target device comprises a home appliance.
- 73. A method according to any of claims 1-71, wherein said target device comprises a telecommunication network device.
- 74. A method according to any of claims 1-71, wherein said target device comprises a computer network device.
- 75. A method according to any of claims 1-71, wherein said target device comprises a computer device.
- 76. A method according to any of claims 1-71, wherein said maintenance-related task comprises an instruction to patch software on said target device.
- 77. A method according to any of claims 1-71, wherein said maintenance-related task comprises at least one diagnosis rule.
- 78. A method according to any of claims 1-71, wherein said maintenance-related task comprises an instruction to collect information on said target device.
- 79. A method according to claim 78, wherein said task includes a collection profile.
- 80. A method according to any of claims 1-71, wherein said maintenance-related task comprises an instruction to collect information on said target device.
- 81. A method according to any of claims 1-71, wherein said maintenance comprises preventive maintenance.
- 82. A method according to any of claims 1-71, wherein said maintenance comprises diagnosing a fault condition.
- 83. A method according to any of claims 1-71, wherein said maintenance comprises repairing a fault condition.
- 84. A maintenance configuration adapted for carrying out the method of any of claims 171, comprising:
at least one target device at a user site; at least one site server associated with a plurality of devices at said user site; and a maintenance server that provides maintenance for said target device.
- 85. A method of device maintenance, comprising:
providing a log of data produced by a target device, said log including indications of internal states of said target device, said internal states comprises at least an identification of an execution location within software on said device; and analyzing said indications of internal states to detect pre-fault events that indicate a fault state of said target device.
- 86. A method according to claim 85, wherein said indicated fault state comprises a current fault state.
- 87. A method according to claim 85, wherein said indicated fault state comprises an upcoming fault state.
- 88. A method according to claim 85, wherein said log includes values of parameters of said device.
- 89. A method according to claim 85, wherein said indications include a profile of an execution path of said software.
- 90. A method according to claim 85, comprising filtering said log to form a meta log.
- 91. A method according to claim 90, wherein said filtering comprises identifying internal device states based on said log.
- 92. A method according to claim 85, wherein said analyzing comprises comparing two logs.
- 93. A method according to claim 92, wherein said logs are from a same device, at different times.
- 94. A method according to claim 92, wherein said logs are from different devices.
- 95. A method according to claim 94, comprising generating operational instructions for a different device, to collect a log for said comparing.
- 96. A method according to claim 95, wherein said operational instruction comprises a fault causing instruction.
- 97. A method according to claim 95, wherein said operational instruction comprises an instruction designed to recreate a fault situation of said target device on said different device.
- 98. A method of device maintenance, comprising:
providing a plurality of similarly configured devices at a plurality of sites belonging to unrelated users; detecting a state in a target one of said devices, said state being unknown to an automatic maintenance server that provides maintenance for said target device; and activating a second one of said target devices to obtain data useful in at least one of diagnosing and treating said unknown state.
- 99. A method according to claim 98, wherein said unknown state comprises a fault state.
- 100. A method according to claim 98, wherein said activating comprises activating to collect operational parameters of said target device.
- 101. A method according to claim 98, wherein said activating comprises attempting to repeat said unknown state on said second device.
- 102. A method according to claim 98, wherein said activating comprises attempting to avoid said unknown state on said second device.
- 103. A method according to claim 98, wherein said activating comprises attempting to correct said unknown state on said second device.
- 104. A method of device maintenance, comprising:
providing a maintenance network including a user site and a multi-device servicing site that provides maintenance to at least one target device in said user site; defining a set of data for a plurality of parameters of said target device; collecting data at said device responsive to said defined set; sending said collected data by said target device to said servicing site in response to a single event; and performing maintenance on a device, by said servicing site, responsive to said set.
- 105. A method according to claim 104, wherein said event comprises a user request for said defined set.
- 106. A method according to claim 104, wherein said event comprises a request by a site server associated with a plurality of devices at said site.
- 107. A method according to claim 106, wherein said request is generated by said site server in response to an alert to a fault state in said target device.
- 108. A method according to claim 107, wherein said target device generates said alert.
- 109. A method according to claim 104, wherein said defining comprises downloading a definition to said target device.
- 110. A method according to claim 104, wherein said defining comprises defining at least two different sets for at least two different fault conditions.
- 111. A method of displaying device data for a maintenance viewer, comprising:
receiving target device data including values for a plurality of parameters associated with the device; automatically analyzing said target device data, resulting in an indication of a subset of said parameters that are of interest; generating a display in which said subset is emphasized.
- 112. A method according to claim 111, wherein analyzing comprises applying at least one analysis rule.
- 113. A method according to claim 111, comprising requesting said target device data from said target device in accordance with a predefined device collection profile.
- 114. A method according to claim 111, comprising requesting said target device data from said target device in accordance with an device collection profile defined for the display task.
- 115. A method according to claim 111, wherein said subset consists of fewer than five parameters.
- 116. A method according to claim 111, wherein said subset consists of a single parameter.
- 117. A method according to claim 111, wherein said subset identifies a fault condition.
- 118. A method according to claim 111, wherein said subset identifies a cause of a fault condition.
- 119. A method according to claim 111, wherein said subset identifies a result of a fault condition.
- 120. A method according to claim 111, wherein generating comprises selecting from a plurality of predefined displays.
- 121. A method according to claim 111, wherein generating comprises generating a new display format.
- 122. A method according to claim 111, comprising automatically requesting additional device data in response to said analysis, for enhancing said display.
- 123. A method of updating of executing software, comprising:
providing a target device having an executing software including a plurality of code sections between which sections execution passes; providing a replacement code patch to said target device; automatically estimating when a section is not executing and others sections are executing; and automatically replacing code in said not executing section with said replacement code patch.
- 124. A method according to claim 123, wherein replacing comprises replacing an entire code section.
- 125. A method according to claim 123, wherein replacing comprises replacing a single code instruction.
- 126. A method according to claim 123, wherein replacing comprises replacing a data section.
- 127. A method according to claim 123, wherein replacing comprises adding a call to a function associated with maintenance of said target device.
- 128. A method according to claim 123, wherein replacing comprises repairing said target device.
- 129. A method according to claim 123, wherein replacing comprises replacement by operational software of said target device.
- 130. A method according to claim 123, wherein replacing comprises replacement by a maintenance agent of said target device.
- 131. A method according to claim 123, comprising further estimating that said replacement will not affect correct execution of other sections.
- 132. A method according to claim 123, wherein estimating comprises estimating based on a previously determined execution profile for said target device.
- 133. A method according to claim 123, wherein estimating comprises estimating based on a previously determined execution profile for a different device.
- 134. A method of managing data in a distributed support network, comprising:
providing a maintenance network including a user site and a multi-device servicing site that provides maintenance to at least one target device in said user site; collecting and transmitting a collection comprising at least one of data and maintenance-related information from a plurality of different components of said maintenance network to a server, at least said collecting being initiated by said server; and maintaining said target device using said collection.
- 135. A method according to claim 134, wherein said server performs maintenance of said target device.
- 136. A method according to claim 134, wherein said server manages a maintenance process for said target device.
- 137. A method according to claim 134, wherein said server manages comprises a site server associated with a plurality of devices located at a same site as said target device.
- 138. A method according to claim 134, wherein said server is included in said servicing site.
- 139. A method according to claim 134, wherein collecting comprises requesting data or information from said components when needed by said server.
- 140. A method according to claim 134, wherein said maintenance related information comprises at least one of a set of diagnosis rules and a log collection definition.
- 141. A method according to claim 140, wherein said different components are arranged in a hierarchy and wherein said information is retrieved from a higher level member of said hierarchy.
- 142. A method according to claim 134, wherein said data comprises device data.
- 143. A method according to claim 142, wherein said different components are arranged in a hierarchy and wherein said target device data is retrieved from a lower level member of said hierarchy.
- 144. A method according to claim 142, wherein said data was previously retrieved from said target device for reasons other than the need of said server.
- 145. A method according to claim 142, wherein part of said data is stored in multiple locations in said network.
- 146. A method according to claim 142, wherein said data is managed separately from a maintenance process of said target device.
- 147. A method according to claim 134, comprising forwarding a maintenance request to a component of said network, with a link to data associated with said network, wherein said collecting comprises following said link.
RELATED APPLICATIONS
[0001] This application claims the benefit under 119 (e) of U.S. provisional patent application No. 60/182,211, filed on Feb. 14, 2000 and U.S. provisional applications Nos. 60/264,729 and 60/264,730, filed on Jan. 30, 2001. This application is a continuation-in-part of U.S. patent application Ser. No. 09/654,925, filed on Sep. 5, 2000 and titled “SYSTEM AND METHOD FOR SUPPORT OF EMBEDDED DEVICES”. This application is also related to an application titled “EMBEDDED DEVICE MONITORING AGENT”, filed on even date with the instant application as a PCT application in the Israel receiving office, and which designates the US. The disclosures of all of these applications are incorporated herein by reference.
PCT Information
Filing Document |
Filing Date |
Country |
Kind |
PCT/IL01/00144 |
2/14/2001 |
WO |
|