A DEVICE REGISTRATION MECHANISM

Abstract: An automated device recordation and registration process for automatically registering, on a remote computer, an embedded device is described. The registration process includes a feature detection process for detecting feature information associated with a device to be registered. A transmission process transmits the feature information to a remote computer at a known address using a self-describing computer language. A registration process registers the device by storing the feature information on the remote computer.

Description: A Device Registration Mechanism TECHNICAL FIELD This invention relates to remote device registration, and more particularly to automated remote device registration which automatically transmits pertinent data to a remote computer. BACKGROUND Intelligent devices are employed in various areas today. These devices are utilized in building control and automation systems, power generation systems, industrial controls, and so forth. When these devices are deployed in the field, they often need to communicate with a remote computer system, which monitors information from these devices or controls the devices themselves. The proliferation of the Internet, home networks, and wireless technology are some of the driving forces behind the increased use of these devices, as the cost of connecting them is dropping quickly. When configuring these devices, the user must manually register them once they are connected to the network that attaches the device to the remote computer. As the use and number of these devices increase, an automatic method of registering these devices and establishing communication is needed, as it is not feasible to manually maintain device information. SUMMARY According to an aspect of this invention, an automated device recordation and registration process for automatically registering, on a remote computer, an embedded device includes a feature detection process for detecting feature information associated with a device to be registered. A feature transmission process transmits the feature information to a remote computer at a known address using a self-describing computer language. A registration process registers the device by storing the feature information on the remote computer. One or more of the following features may be included. The self-describing computer language includes extensible Markup Language (XML). The known address is a Uniform Resource Locator (URL). The known address is a Transmission Control Protocol/Internet Protocol (TCP/IP) address. The feature information includes a device type and a device instance. The device type is a model number and the device instance is a serial number. The remote computer includes a database for storing the feature information. The device registration process includes a device registration status process for examining the database to determine if the device was previously registered on the remote computer and initiating the registration process if the device is not registered. The remote computer resides on a distributed computing network and the feature transmission process transmits the feature information to the remote computer via the distributed computing network. The distributed computing network is the Internet. The device is connected to the distributed computing network via a direct network connection. The device is connected to the distributed computing network via a dial-up network connection. The device is connected to the distributed computing network via a wireless network connection. One or more of the following features may be included. The device includes embedded software which controls the device's functionality, where the embedded software has a specific version identifier associated with it. The database stores a software update, having a specific version identifier associated with it, for the embedded software of the device, where the software update is the newest version of embedded software available for the device. The device registration process includes a software comparison process for comparing the version identifier of the software update to the version identifier of the embedded software of the device to determine if the embedded software of the device needs to be updated. The device registration process includes a software update process, responsive to the software comparison process determining that the embedded software needs to be updated, for updating the embedded software residing on the device with the software update. One or more of the following features may be included. The feature information includes system information concerning the location, ownership, and configuration of the 5 device. The device registration process includes a system information interface for allowing the owner of the device to configure the system information. The device includes a HyperText Transfer Protocol (HTTP) device web server and the system information interface is a software application residing on the device web server, where the owner of the device can edit the system information of the device by accessing the o system information interface via a remote web client. The device registration process includes a system information transmission process for fransmitting the system information to the remote computer using the self-describing computer language and for storing the system information on the database of the remote computer. The system information transmission process includes a system information comparison process for 5 comparing the system information on the remote computer to the system information on the device to determine if the database on the remote computer needs to be updated with the system information on the device. The system information transmission process includes a system information upload process, responsive to the system information comparison process determining that the system information on the database needs to be o updated, for updating the system information on the database with the system information on the device. One or more of the following features may be included. The device includes a device web client and the remote computer includes a HyperText Transfer Protocol (HTTP) remote web server. The remote computer includes an application logic to 5 interface the remote web server and the database. The feature transmission process utilizes the device web client to upload the feature information from the device to the remote web server, where the application logic transfers the feature information from the remote web server to the database. The device includes a device mail client and the remote computer includes a Simple Mail Transfer Protocol (SMTP) remote mail server. The remote computer includes an application logic to interface the remote mail server and the database. The feature transmission process utilizes the device mail client to upload the feature information from the device to the remote mail server, where the application logic transfers the feature information from the remote mail server to the database. According to a further aspect of this invention, a computer implemented method for registering, on a remote computer, a device embedded in an apparatus, includes detecting feature information associated with a device to be registered. The method transmits the feature information to a remote computer at a known address using a self- describing computer language. The method registers the device by storing the feature information on the remote computer. One or more of the following features may be included. The computer implemented method further includes examining the database to determine if the device was previously registered on the remote computer and initiating the registration process if the device is not registered. The computer implemented method includes comparing the version identifier of the software update to the version identifier of the embedded software of the device to determine if the embedded software of the device needs to be updated. The computer implemented method includes updating the embedded software residing on the device with the software update if it is determined that the embedded software needs to be updated. The computer implemented method further includes transmitting the system information to the remote computer using the self-describing computer language and storing the system information on the database of the remote computer. The computer implemented method further includes comparing the system information on the remote computer to the system information on the device to determine if the database on the remote computer needs to be updated with the system information on the device. The computer implemented method further includes updating the system information on the database with the system information on the device, if it is determined that the system information on the database needs to be updated. According to a further aspect of this invention, a computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by the processor, cause that processor to detect feature information associated with a device to be registered. The computer program product transmits the 5 feature information to a remote computer at a known address using a self-describing computer language. The computer program product registers the device by storing the feature information on the remote computer. According to a further aspect of this invention, a processor and memory are configured to detect feature information associated with a device to be registered. The o processor and memory transmit the feature information to a remote computer at a known address using a self-describing computer language. The processor and memory register the device by storing the feature information on the remote computer. One or more advantages can be provided from the above. The user may quickly and easily register numerous devices. The user can configure devices without having to 5 manually establish a communication link between the devices and the remote computer. The user can register devices without having to manually enter device-specific information into the remote computer. The devices may be automatically reconfigured with updated software packages. The user may remotely administer all devices using a standard web browser. o The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims. DESCRIPTION OF DRAWINGS 5 FIG. 1 is a diagrammatic view of the device registration process; FIG. 2 is a flow chart of the device registration method; FIG. 3. is a diagrammatic view of another embodiment of the device registration process, including a processor and a computer readable medium, and a flow chart showing a sequence of steps executed by the processor; and FIG. 4. is a diagrammatic view of another embodiment of the device registration process, including a processor and memory, and a flow chart showing a sequence of steps executed by the processor and memory. Like reference symbols in the various drawings indicate like elements. DETAILED DESCRIPTION Referring to Fig. 1, there is shown an automated device recordation and registration process 10 for automatically registering, on a remote computer 12, an embedded device 14. Process 10 typically resides on and is incorporated into device 14. Device 14 is connected to a distributed computing network 16. Link 17, which connects device 14 to distributed computing network 16, can be any form of network connection, such as: a dial-up network connection via a modem (embedded into device 14); a direct network connection via a network interface card (embedded into device 14); a wireless network connection via any form of wireless communication chipset (embedded into device 14); and so forth. Distributed computing network 16 could be the Internet, an intranet, an extranet, a local area network (LAN), a wide area network (WAN), or any other form of network. Process 10 includes feature detection process 18 for detecting feature information 20 associated with the device 14 to be registered. Feature information 20 is stored in device 14 on any standard memory storage device (not shown), such as: random access memory; read only memory; a hard disk drive; etc. This standard memory storage device is incorporated into device 14. Feature information 20 can include many different pieces of information which are associated with device 14 itself. For example: a device type 22 may specify the device name or model number (e.g. "OCD 950" or "HimaLaya") of device 14; a device instance 24 may specify a serial number of device 14; and system information 26 may specify various pieces of device or owner specific information (e.g. owner name, device location, device software version, device configuration, installed device options, installed device peripherals, etc.). Process 10 includes a feature transmission process 28 for transmitting feature information 20 to remote computer 12 which resides at a known address on distributed computing network 16. This known address can be in the form of a Uniform Resource Locator (URL) address (e.g. www.remotecomputer.com) or a Transmission Control Protocol / Internet Protocol (TCP/IP) address (e.g. 209.6.72.87). This known address is included in feature information 20. Feature transmission process 28 transmits feature information 20 to remote computer 12 using a self-describing computer language, such as extensible Markup Language (XML). Remote computer 12 is typically a network server residing on distributed computing network 16. A registration process 30 registers device 14 by sending feature information 20 to remote computer 12 where it is stored. Remote computer 12 can store feature information 20 on any standard memory storage device (not shown), such as: random access memory; read only memory; hard disk drives; RAID (redundant array of independent disks) arrays; etc. This standard memory storage device is incorporated into remote computer 12. Remote computer 12 includes database 32 for storing feature information 20. Database 32 is typically a relational database such as Oracle™, Sybase™, or Access™. Registration process 30 typically encompasses remote computer 12 establishing or updating a record 34 on database 32 for device 14, where record 34 includes feature information 20, namely device type 22, device instance 24 and system information 26 (shown, for illustrative purposes, as "T, I, S" in record 34). Process 10 includes a device registration status process 36 for examining database 32 to determine if device 14 was previously registered on remote computer 12. As device 14 includes a device instance 24 (typically a serial number), device registration status process 36 will examine database 32 to see if a record 34 exists on database 32 for device 14. In the event that device 14 has not been registered on database 32 (or the information on database 32 is incorrect/outdated), device registration status process 36 will initiate registration process 30 to register device 14 on database 32. This process 36 can be instituted at various times to ensure that device 14 is registered on database 32. For example, each time device 14 is powered-up (i.e. the device power is turned on), device registration status process 36 can determine whether device 14 is registered on remote computer 12. Accordingly, whenever a device 14 is initially installed and powered-up, registration is automatic; as device registration status process 36 will communicate over distributed computing network 16 and check remote computer 12 to determine if device 14 is registered on database 32. This results in a system in which registration is automatic. Device 14 includes embedded software 38 which controls the functionality of device 14. Device 14 can be any of a large number of possibilities. Typical examples of device 14 might be: valve actuators in industrial controls; damper actuators in building automation systems; switch actuators in power generation systems; and so forth. Accordingly, the functionalities that embedded software 38 in these particular devices 14 would control are: the opening and closing of the valve; the opening and closing of the damper; and the opening or closing of the switch, respectively. As with most software packages, a software version number 40 is associated with embedded software 38 to facilitate easy software version comparison. Database 32 stores a software update 42 having a specific software version number 44 associated with it, where software update 42 is the newest version of embedded software 40 available for device 14. Software comparison process 46 compares the version identifier 40 of embedded software 38 to the version identifier 44 of software update 42 to determine if the software update is newer (e.g. has a higher or newer version identifier) than the embedded software 38 installed on device 14. In the event that software comparison process 46 determines that software update 42 is newer than embedded software 38, embedded software 38 will be updated with software update 42. Software update process 48, which is initiated in response to software comparison process 46 determining that embedded software 38 needs to be updated, retrieves software update 42 from remote computer 12 via distributed computing network 16. Accordingly, software update 42 is installed of device 14 by software update process 48 and embedded software 38 is either deleted, deactivated, or overwritten. Device 14 includes a HyperText Transfer Protocol (HTTP) device web server 50. System information interface 52 resides on device web server 50 and is written in a language executable by device web server 50 (e.g. CGI, ISAPI, Java Servlets, ASP, and so forth). System information interface 52 allows the owner 54 of device 14 to access and edit system information 26 via some form of remote web client 56 executed on remote workstation 57. Examples of remote web client 56 would be any form of web browser (e.g. Microsoft Internet Explorer™, Netscape Navigator™, and so forth), or any form of custom application interface which allows owner 54 to access and modify system information 26 stored on device 14. Whenever user 54 modifies system information 26 via system information interface 52, system information transmission process 54 transmits this "newly modified" system information 26 from device 14 to remote computer 12 for storing in database 32. System information transmission process 54 transmits system information 26 to remote computer 12 using a self-describing computer language, such as extensible Markup Language (XML). System information transmission process 54 includes system information comparison process 56 for comparing system information 26 stored on device 14 to the system information (shown a "S" in item 34) stored on database 32 of remote computer 12 to determine if database 32 needs to be updated. As system information 26 is "owner editable" by owner 54, in the event that the system information on device 14 differs from the system information of database 32, database 32 needs to be updated with system information 26. System information transmission process 54 includes a system information upload process 58. In the event that system information comparison process 56 determines that the system information on device 14 varies from the system information on database 32, system information upload process 58 transmits system information 26 from device 14 to remote computer 12 via distributed computing network 16. Accordingly, system information 26 is stored on database 32 of remote computer 12 and the "outdated" system information is either deleted, deactivated, or overwritten. Device 14 includes a device web client 60 and remote computer 12 includes a HyperText Transfer Protocol (HTTP) remote web server 62. Application logic 64 interfaces remote web server 62 and database 32. Feature transmission process 28 utilizes device web client 60 to upload feature information 20 from device 14 to remote web server 62. Application logic 64 transfers feature information 20 from remote web server 62 to database 32. Device 14 includes a device mail client 66 and remote computer 12 includes a Simple Mail Transfer Protocol (SMTP) remote mail server 68. Application logic 64 interfaces remote mail server 68 and database 32. Feature transmission process 28 utilizes device mail client 66 to upload feature information 20 from device 14 to remote mail server 68. Application logic 64 transfers feature information 20 from remote mail server 68 to database 32. Now referring to Fig. 2, there is shown a method 100 for registering, on a remote computer, a device embedded in an apparatus. A feature detection process detects 102 feature information associated with a device to be registered. A feature transmission process transmits 104 that feature information to a remote computer at a known address using a self-describing computer language. The self-describing computer language includes extensible Markup Language (XML) and the known address can be a Uniform Resource Locator (URL), a Transmission Control Protocol Internet Protocol (TCP/IP) address, and so forth. A registration process then registers 106 the device by storing the feature information on the remote computer. The remote computer includes a database for storing this feature information. The feature information can include many different pieces of information associated with the device itself, such as: a device type which specifies the device name or model number (e.g. "OCD 950" or "HimaLaya") of a device; a device instance which specifies a serial number of the device or some other unique identifier (such as a UUID Universally Unique Identifier); and system information which specifies various pieces of device or owner specific information (e.g. owner name, device location, device software version, etc.). A device registration status process examines 108 the database to determine if the device was previously registered on the remote computer. If the device is not registered, the device registration status process initiates 110 the registration process. The device includes embedded software which controls the device's functionality, where the embedded software has a specific version identifier associated with it. The database of the remote computer stores a software update, which has a specific version identifier associated with it, for the embedded software of the device. This software update is the newest version of embedded software available for the device. A software comparison process compares 112 the version identifier of the software update to the version identifier of the embedded software of the device to determine if the embedded software of the device needs to be updated. If it is determined that the embedded software needs to be updated, a software update process updates 114 the embedded software residing on the device with the software update. A system information interface allows the owner of the device to configure the system information. A system information transmission process transmits 116 the system information to the remote computer using the self-describing computer language. The system information transmission process then stores 118 the system information on the database of the remote computer. A system information comparison process makes a comparison 120 between the system information on the remote computer and the system information on the device to determine if the database on the remote computer needs to be updated with the system information on the device. If it is determined that the system information on the database needs to be updated, a system information upload process updates 122 the system information on the database with the system information on the device Now referring to Fig. 3, there is shown a computer program product 150 which is stored and executed on a device to be automatically registered on a remote computer. Computer program product resides on a computer readable medium 152 having a plurality of instructions 154 stored thereon. When executed by processor 156, instructions 154 cause processor 156 to detect 158 feature information associated with a device to be registered. Computer program product 150 transmits 160 the feature information to a remote computer at a known address using a self-describing computer language, and registers 162 the device by storing the feature information on the remote computer. Typically embodiments of computer readable medium 152 are: hard drive 164; optical drive 166; random access memory 168; tape drive 170; RAID array 172; and read only memory 174. Now referring to Fig. 4, there is shown a processor 200 and memory 202 configured to detect 204 feature information associated with a device to be registered. Processor 200 and memory 202 transmits 206 the feature information to a remote computer at a known address using a self-describing computer language, and registers 208 the device by storing the feature information on the remote computer. Processor 200 and memory 202 may be incorporated into a personal computer 210, a programmable logic controller 212, a single board computer 214, or an array of network servers 216. A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. WHAT IS CLAIMED IS:

Claims: 1. An automated device recordation and registration process for automatically registering, on a remote computer, an embedded device, comprising: a feature detection process for detecting feature information associated with a device to be registered; a feature transmission process for transmitting said feature information to a remote computer at a known address using a self-describing computer language; and a registration process for registering said device by storing said feature information on said remote computer. 2. The device registration process of claim 1 wherein said self-describing computer language comprises extensible Markup Language (XML). 3. The device registration process of claim 1 wherein said known address is a Uniform Resource Locator (URL). 4. The device registration process of claim 1 wherein said known address is a Transmission Control Protocol Internet Protocol (TCP/IP) address. 5. The device registration process of claim 1 wherein said feature information comprises a device type and a device instance. 6. The device registration process of claim 5 wherein said device type is a model number and said device instance is a serial number. 7. The device registration process of claim 1 wherein said remote computer includes a database for storing said feature information. 8. The device registration process of claim 7 including a device registration status process for examining said database to determine if said device was previously registered on said remote computer and initiating said registration process if said device is not registered. 9. The device registration process of claim 8 wherein said remote computer resides on a distributed computing network and said feature transmission process transmits said feature information to said remote computer via said distributed computing network. 10. The device registration process of claim 9 wherein said distributed computing network is the Internet. ' 11. The device registration process of claim 9 wherein said device is connected to said distributed computing network via a direct network connection. 12. The device registration process of claim 9 wherein said device is connected to said distributed computing network via a dial-up network connection. 13. The device registration process of claim 9 wherein said device is connected to said distributed computing network via a wireless network connection. 14. The device registration process of claim 9 wherein said device includes embedded software which controls said device's functionality, where said embedded software has a specific version identifier associated with it. 15. The device registration process of claim 14 wherein said database stores a software update, having a specific version identifier associated with it, for said embedded software of said device, where said software update is the newest version of embedded software available for said device. 16. The device registration process of claim 15 including a software comparison process for comparing said version identifier of said software update to said version identifier of said embedded software of said device to determine if said embedded software of said device needs to be updated. 17. The device registration process of claim 16 including a software update process, responsive to said software comparison process determining that said embedded software needs to be updated, for updating said embedded software residing on said device with said software update. 18. The device registration process of claim 7 wherein said feature information includes system information concerning the location, ownership, and configuration of said device. 19. The device registration process of claim 18 including a system information interface for allowing the owner of said device to configure said system information. 20. The device registration process of claim 19 wherein said device includes a HyperText Transfer Protocol (HTTP) device web server and said system information interface is a software application residing on said device web server, where the owner of said device can edit said system information of said device by accessing said system information interface via a remote web client. 21. The device registration process of claim 19 including a system information transmission process for transmitting said system information to said remote computer using said self-describing computer language and for storing said system information on said database of said remote computer. 22. The device registration process of claim 21 wherein said system information transmission process includes a system information comparison process for comparing the system information on said remote computer to the system information on said device to determine if said database on said remote computer needs to be updated with said system information on said device. 23. The device registration process of claim 22 wherein said system information transmission process includes a system information upload process, responsive to said system information comparison process determining that said system information on said database needs to be updated, for updating said system information on said database with said system information on said device. 24. The device registration process of claim 7 wherein said device includes a device web client and said remote computer includes a HyperText Transfer Protocol (HTTP) remote web server. 25. The device registration process of claim 24 wherein said remote computer includes an application logic to interface said remote web server and said database. 26. The device registration process of claim 25 wherein said feature transmission process utilizes said device web client to upload said feature information from said device to said remote web server, where said application logic transfers said feature information from said remote web server to said database. 27. The device registration process of claim 7 wherein said device includes a device mail client and said remote computer includes a Simple Mail Transfer Protocol (SMTP) remote mail server. 28. The device registration process of claim 27 wherein said remote computer includes an application logic to interface said remote mail server and said database. 29. The device registration process of claim 28 wherein said feature transmission process utilizes said device mail client to upload said feature information from said device to said remote mail server, where said application logic transfers said feature information from said remote mail server to said database. 30. A computer implemented method for registering, on a remote computer, a device embedded in an apparatus, comprising: detecting feature information associated with a device to be registered; transmitting said feature information to a remote computer at a known address using a self-describing computer language; and registering said device by storing said feature information on said remote computer. 31. The computer implemented method of claim 30 wherein said self-describing computer language comprises extensible Markup Language (XML). 32. The computer implemented method of claim 30 wherein said known address is a Uniform Resource Locator (URL). 33. The computer implemented method of claim 30 wherein said known address is a Transmission Control Protocol/Internet Protocol (TCP/IP) address. 34. The computer implemented method of claim 30 wherein said feature information comprises a device type and a device instance. 35. The computer implemented method of claim 34 wherein said device type is a model number and said device instance is a serial number. 36. The computer implemented method of claim 30 wherein said remote computer includes a database for storing said feature information. 37. The computer implemented method of claim 36 further comprising: examining said database to determine if said device was previously registered on said remote computer; and initiating said registration process if said device is not registered. 38. The computer implemented method of claim 36 wherein said device includes embedded software which controls said device's functionality, where said embedded software has a specific version identifier associated with it. 39. The computer implemented method of claim 38 wherein said database stores a soflware update, having a specific version identifier associated with it, for said embedded software of said device, where said software update is the newest version of embedded software available for said device. 40. The computer implemented method of claim 39 further comprising: comparing said version identifier of said software update to said version identifier of said embedded software of said device to determine if said embedded software of said device needs to be updated. 41. The computer implemented method of claim 40 further comprising: updating said embedded software residing on said device with said software update if it is determined that said embedded software needs to be updated. 42. The computer implemented method of claim 30 wherein said feature information includes system information concerning the location, ownership, and configuration of said device. 43. The computer implemented method of claim 42 including a system information interface for allowing the owner of said device to configure said system information. 44. The computer implemented method of claim 43 further comprising: transmitting said system information to said remote computer using said self-describing computer language; and storing said system information on said database of said remote computer. 45. The computer implemented method of claim 44 further comprising: comparing the system information on said remote computer to the system information on said device to determine if said database on said remote computer needs to be updated with said system information on said device. 46. The computer implemented method of claim 45 further comprising: updating said system information on said database with said system information on said device if it is determined that said system information on said database needs to be updated. 47. A computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by the processor, cause that processor to: detect feature information associated with a device to be registered; transmit said feature information to a remote computer at a known address using a self-describing computer language; and register said device by storing said feature information on said remote computer. 8. A processor and memory configured to: detect feature information associated with a device to be registered; transmit said feature information to a remote computer at a known address using a self-describing computer language; and register said device by storing said feature information on said remote computer.

Inventors: CALDER DALE E, HANSEN JAMES R, CALDER, DALE, E., HANSEN, JAMES, R.
Applicants: CALDER DALE E, EMATION INC, HANSEN JAMES R, CALDER, DALE, E., EMATION, INC., HANSEN, JAMES, R.
Application year: 2001
Main classification: G06F9
IPC codes: G06F9, G06F13, G06F15, H04L29