Web interfacing device

Abstract: Web access functionality is embedded in a device (10) comprising a web server (14) providing access to the user interface functions for the device (10) through a device web page (18), and a network interface (12) in the device (10) enabling access to the web page (18) by a web browser (40) such that a user of the web browser (40) accesses the user interface functions for the device (10) through the web page (18).

Description: The present invention pertains to the field of user interfaces for devices. More particularly, this invention relates to embedding web access functionality into devices to provide enhanced and widely accessible user interface functions. A wide variety of devices including office equipment, home-based equipment, and lab equipment, as well as a variety of other types of devices commonly provide device specific user interface functions. Such devices may also be referred to as gadgets. Office equipment includes, for example, printers, fax machines, copiers, and various types of communication and telephony devices. Home-based devices include home entertainment equipment such as televisions and video and audio players and recorders as well as security systems, automobiles, appliances, thermostats, and hot tubs. Lab equipment includes measurement devices such as oscilloscopes, spectrum analyzers and other types of measurement equipment as well as networking equipment. The user-interface mechanisms of such devices commonly include relatively simple and low cost user input and display mechanisms. Such simple mechanisms may include, for example, light emitting elements such as LED/LCD elements as well as various types of simple input buttons or switches. Such simple mechanisms are typically constructed to be low cost to minimize the overall cost of such devices. In addition, such mechanisms are usually compact and enable relatively small sizes for such devices. Unfortunately, such simple user interface mechanisms severely limit the range and flexibility of the user interface functions provided by such devices. The user-interface functions of such a device may be enhanced by the implementation of a screen-based user interface mechanism within the device. For example, such a device may include a display screen, and a rendering processor along with appropriate software for generating a rich graphical user interface suitable for the particular type of device. However, such screen displays and rendering mechanisms are usually expensive and increase the overall cost of the device. Such high costs are typically unsuitable for lower cost devices targeted for a relatively large mass market. Moreover, display screens and associated hardware may be too bulky for the size constraints of many devices. A screen-based user interface may be provided for a device using an external computer system. For example, the device may be connected to the computer system through either a standard connection such as a serial or parallel port connection or through a specialized hardware interface. The external computer system usually executes a set of software for communication and user interface to the device. The external computer system may implement a screen-based user interface for the device. The external computer system may also execute web server software that enables external web browsers to access the computer system and in turn the user interface of the device. Unfortunately, such an external computer system greatly increases the cost of providing a screen-base user interface for a device. In addition, such prior computer system based solutions usually require the development of specialized software for each particular type of device. Moreover, such specialized software for a particular device from a particular manufacturer must typically be developed for differing types of computer system platforms. Such a variety of differing software for differing platforms greatly complicates the task of providing support for the devices. Furthermore, the development and support costs of such a variety of software usually increase the overall cost of providing a screen based user interface for such devices. The document "Java goes to controlling networked embedded systems" published in Vol 35, No.9, pages 36-37 of Computer Design in August 1996 discloses a flexible software component that developers could add to their programs to allow HTTP communication and therefore access via web browsers. Implementation of user interfaces and control/access functions are left to others. The present invention seeks to provide a solution for providing widely accessible, low cost, and enhanced user interface functions for a device According to one aspect of the present invention, there is provided a device according to claim 1. According to another aspect of the present invention, there is provided a method according to claim 6. One embodiments of the present invention embeds web access functionality into the device including a web server that provides a device web page. The device includes an embedded network interface that enables access to the device web page by a web browser. A user of the web browser accesses the user interface functions for the device through the device web page. The web server functionality is implemented using a state machine. Existing circuitry in a device may be used, such as an exiting processor, memory, and input/output circuitry that normally perform device-specific functions, thereby avoiding the extra cost and space required for dedicated web server hardware for the device. The web server functionality embedded in the device enables device user interface access via a variety of communication mechanisms including the world wide web portion of the Internet. The costs of providing screen based user interface mechanisms are exported away from the device and do not require an external computer to provide a device web server. The methods and mechanisms disclosed herein provide screen based user-friendly interfaces to a wide variety of devices without the necessity to develop expensive hardware and software applications for differing devices. The present methods and mechanisms employ web technology so that access to a device user interface is independent of the computer system platform employed and independent of the web browser software executed and independent of the location of the user. The user interface information is packaged using the Hyper-Text Markup Language (HTML) and is transported according to the Hyper-Text Transfer Protocol (HTTP). The HTML and HTTP protocols enable communication with existing web browsers independent of the platform that executes the web browser. The present techniques avoid the need of an industry-wide Application Programming Interface (API) to unify the control and use of equipment. Other features and advantages of the present invention will be apparent from the detailed description that follows. The present invention is described with respect to particular exemplary embodiments thereof and reference is accordingly made to the drawings in which: Figures 1a-1b illustrate a device with embedded web access functionality that provides device-specific user interface functions through a device web page; Figure 2 shows a home-based network that enables a web browser to access the user interface functions through the device web page; Figure 3 illustrates an example device web page for a printer device; Figure 4 shows a large organization network or intranet that enables access to the device web pages of differing devices; Figure 5 illustrates access to device web pages through the Internet world-wide web. Figure 1a illustrates a device 10 with embedded web access functionality that provides device-specific user interface functions. The device 10 includes a network interface 12 and a web server 14 along with a monitor 16. The network interface 12 enables communication via a communication path 22. The monitor 16 controls various device-specific functions of the device 10 and monitors a set of information pertaining to the device 10 via a control/monitor path 20. The web server 14 provides web server functions to web clients via the communication path 22. The web server 14 provides web server functions according to the Hyper-Text Transfer Protocol (HTTP). The web server 14 receives HTTP commands through the network interface 12 that specify a predetermined Universal Resource Locator (URL) for the device 10. The HTTP commands may be used by web clients to read information from the device 10 such as device status information. The HTTP commands may also be used to transfer information to the device 10 such as information that controls the functions or operating states of the device 10. Such HTTP commands include HTTP GET, HTTP POST, and HTTP PUT commands. In response to an HTTP command targeted for the device 10, the web server 14 generates a web page 18 that defines a set of user interface functions for the device 10. The web page 18 is a hypertext Markup Language (HTML) file. The network interface 12 transfers the web page 18 to a requesting HTTP client via the communication path 22. The web server 14 generates the web page 18 dynamically to reflect the updated state of the information pertaining to the device 10 that is maintained by the monitor 16. The web page 18 may also define control buttons according to the HTTP protocol that enable various control functions for the device 10 to be initiated from a web client via the communication path 22. The web page 18 may contain text, images, multimedia files, forms, tables or any object type supported by the HTTP and HTML protocols. In addition, the web page 18 may contain one or more URLs that specify additional web pages located within the device 10. The web page 18 may also contain one or more URLs that specify additional web pages located elsewhere, i.e. external to the device 10. The additional web pages external to the device 10 may be located, for example, on a local communication network or on the Internet world wide web. The device 10 represents a wide variety of devices including devices such as printers, fax machines, copiers, communication and telephony devices, home entertainment devices such as televisions, video and audio devices as well as appliances such as refrigerators and washing machines, security systems, automobiles, and hot tubs. The device 10 also represents a variety of measurement instruments including oscilloscopes, and spectrum analyzers and other types of measurement devices. In addition, the device 10 represents a variety of computer peripheral devices including mass storage units such as rotating media storage units. The communication path 22 represents any communication means that is capable of transferring HTML files according to the HTTP web protocol. The communication path 22 may be realized by a wide variety of communication mechanisms including local area networks, telephone lines including cellular telephone links, serial communication links, parallel communication links, power line communication links, and radio and infrared communication links. The communication path 22 may also be a direct Internet connection to the world-wide web. Figure 1b is a hardware block diagram of the device 10. The device 10 includes a processor 200, a memory 210, a set of device-specific hardware 300 along with a set of input/output circuitry 220 that enables communication via the communication path 22. The processor 200 performs device-specific functions for the device 10 in combination with the device-specific hardware 300. The processor 200 is also employed to provide web server functionality in the device 10. In one embodiment, the processor 200 stores the web page 18 in the memory 210 which may also be used to store information associated with normal device-specific functions. In one embodiment, the device 10 is a printer device wherein the processor 200 and the memory 210 preform image rendering functions and the device-specific hardware 300 includes printer hardware and associated circuitry and wherein the input/output circuitry 220 provides network access to the printer device 10. The web server functionality is embedded into the printer device 10 by providing software or firmware for the processor 200 and by utilizing space available in the memory 210 and by using the existing input/output circuitry 220 such as Ethernet circuitry to transfer HTML files. In another embodiment, the device 10 is a video player/recorder wherein the processor 200 and the memory 210 perform functions for reading video and audio information from and writing video and audio information to a storage media such as magnetic tape or an optical storage media. The device-specific hardware 300 includes media actuation hardware such as motors and magnetic heads and associated circuitry for reading and imparting information onto the storage media. The web server functionality is embedded into the video device 10 by providing software or firmware for the processor 200 and by utilizing space available in the memory 210 and by adding the input/output circuitry 220 to the video device 10. In yet another embodiment, the device 10 is a washing machine wherein the processor 200 and the memory 210 preform functions for controlling wash cycles. The device-specific hardware 300 includes hardware such as motors, valves, sensors, and associated circuitry. The web server functionality is embedded into the washing machine 10 by providing software or firmware for the processor 200 and by utilizing space available in the memory 210 and by adding the input/output circuitry to the video device 10. The web server functionality for the device 10 includes software executed by the processor 200 that services the HTTP protocol and that generates HTML formatted files. The web page 18 in one embodiment is stored in the memory 210 or may be generated on the fly. The processor 200 also executes communication software that drives the input/output circuitry 220 and provides the functionality of the network interface 12. In addition, the processor 200 executes software that performs control and information monitoring and logging functions of the monitor 16. In another embodiment, the web server functions of the device 10 are implemented on a single integrated circuit chip including a processor and memory for holding software for servicing the HTTP protocol. In such an embodiment, the hardware portion of the network interface 12 may be implemented on the same integrated circuit chip as the processor or may be external to that chip. In yet another embodiment, the web server functions of the device 10 are implemented with a state machine. In another embodiment, the device 10 is a controller module or control computer contained in an automobile. The input/output circuitry 220 such as cellular transmitter/receiver circuitry enables a web browser to access control and status information for the automobile which is contained in the web page 18. In another embodiment, the device 10 is a mass storage device such as a disk drive or CD-ROM drive. The input/output circuitry 220 such as local area network interface circuitry enables a web browser to access control and status information for the mass storage device which is contained in the web page 18. In yet another embodiment, the device 10 is a home-entertainment device such as an audio system. The input/output circuitry 220 such as infrared communication circuitry or power line communication circuitry enables a web browser such as a home computer to access control and status information for the audio system which is contained in the web page 18. The memory 210 may be a static memory such as read-only memory, a flash memory, or a disk drive or may be a volatile memory such as a random access memory. The web page may be stored in the static memory or the random access memory in the HTML format or may be generated on the fly without being stored in the device 10. Figure 2 shows a home-based network 30 that enables a web browser 40 to access the user interface functions of the device 10. The home-based network 30 may be implemented with a variety of communication mechanisms suitable for a home including power line communication links, twisted pair communication links, radio frequency communication links, and infrared communication links. The web browser 40 includes a display 42 for generating visual objects including text, images, multimedia objects, and graphical user interface objects. The web browser 40 includes a selection device 44 that enables a user to select objects and URL links rendered on the display 42. The web browser 40 may also include an audio capability that enables rendering of audio information to the user. The home-based network 30 may also enable communication among a set of devices 50-52. The devices 50-52 may include devices such as home appliances, home security systems, home entertainment devices, air-conditioning systems and hot-tubs. Any of the devices 50-52 that implement the device web page mechanisms disclosed herein may provide device specific user interface web pages to the web browser 40 via the home-based network 30. The web browser 40 may be embodied in a computer system that executes a set of web browser software. Such a computer system with web browser functionality may be realized by any one of a variety of available computer system platforms including Windows platforms, Macintosh platforms, Unix platforms as well as any other platform capable of executing web browser software that provides HTTP client functions and that renders HTML files. The web browser 40 may also be embodied in a variety of other devices that provide HTTP client functions and that render HTML files. Such devices include specialized hardware designed for television or telephone systems as well as low cost web browser devices and network computers. A user accesses and controls the user interface functions of the device 10 using the web browser 40. The user enters a URL corresponding to the device 10 into the web browser 40. In response, the web browser 40 transfers an HTTP command which includes the entered URL over the home-based network 30. The device 10 receives the HTTP command via the communication path 22 and recognizes the URL contained therein. In one embodiment, the information for the web page 18 is periodically updated by the processor 200 and is scored in HTML format in the memory 210. In such an embodiment, the processor 200 reads the web page 18 from the memory 210 in response to the HTTP command and transfers the web page 18 to the web browser 40 via the home based network 30. In an alternative embodiment, the processor 200 generates the web page 18 on the fly in response to the HTTP command from the web browser 40. In such an embodiment, the processor 200 obtains information pertaining to the device from the device-specific hardware 300 after receiving the HTTP command and recognizing the URL contained therein. The processor 200 formats the information into the HTML format that defines the web page 18 and transfers the HTML formatted information to the web browser 40 via the home based network 30. The HTML file is transferred according to the HTTP protocol which specifies the URL corresponding to the web browser 40. The web browser 40 receives the HTML file and renders the web page 18 on the display 42. The following is an example HTML file that defines the web page 18 in an embodiment wherein the device 10 is a printer device. Figure 3 illustrates the web page 18 for the example HTML file shown above wherein the device 10 is a printer. The web page 18 is rendered on the display 42 by the web browser 40 in response to the example HTML code set forth above. The web page 18 includes a page title 70, a header section 60, a set of ASCII text 62, a table section 64, and a set of hyperlinks 66-68. The page title 70 is defined by the HTML <TITLE>Printer Home Page</TITLE> coding shown above. The header section 60 is defined by the HTML code <H1>Home Page for device 10</H1> in the HTML file shown above. The ASCII text 62 is the ASCII text contained in the HTML file shown above. The table section 64 is defined with coding in the HTML file shown above and provides information pertaining to che printer including a printer name, an administrator, and a location for the printer. The hyperlinks 66-68 defined in the HTML file shown above direct the web browser 40 to other web pages for various printer support functions. For example, the hyperlink 66 "Service Contract" may be selected by the user with the selection device 44 to direct the web browser 40 to the URL "http://www.hpsc.com" for information regarding printer service contracts. Similarly, hyperlinks 67 and 68 provide links to web pages for ordering printer supplies and obtaining information for future printer products from the manufacturer of the printer device 10. The web page 18 for the printer may also include manuals, parts lists, and other associated publications. These publication may be stored within the device 10 in, for example, a nonvolatile memory, or may be referenced elsewhere via hyperlinks contained in the web page 18. These publications contain dynamic information such as updated manuals as well as new and updated software driver routines for the device 10. Figure 4 shows a large organization network 80 that enables access to the device web pages of the device 10 ard the devices 50-52. The large organization network 80 may be referred to as an Intranet and may be implemented with a variety of communication mechanisms including local area networks connected together by various types of communication links. Any one or more of a set of computer systems 90-92 coupled to the large organization network 80 may access the device web pages of the devices 10 and 50-52. The computer systems 90-92 may execute one or more of a variety of available web browser software or may have web browser functions built in. A user of one of the computer systems 90-92 enters a URL corresponding to the desired one of the devices 10 and 50-52 into the corresponding web browser application. In response, the particular web browser application as an HTTP client transfers an HTTP command that specifies the desired URL over the large organization network 80. The device specified by the HTTP command recognizes the URL contained therein. In response, the targeted device transfers an HTML file that defines its device web page via large organization network 80. The transfer of the HTML file specifies the URL of the originating HTTP client computer system from among the computer systems 90-92. The originating HTTP client computer system recognizes its URL and receives and then renders the device web page to the user. Figure 5 illustrates access to device web pages through a direct Internet connection to the world-wide web 100. The web page 18 of the device 10 may be accessed by any web client on the world-wide web 100 including the web browser 40. In addition, a communication system 102 functions as a communication bridge between the world-wide web 100 and a local area network 120 and a communication system 104 functions as a communication bridge between the world-wide web 100 and a home base network 130. As a consequence, any other HTTP clients coupled to the local area network 120 or the home-base network 130 may access the device web pages in a device 108, a device 106, or the device 10. In addition, the web browser 40 or any HTTP client on the world-wide web 100 may access the device web pages of the devices 106 and 108. The embedded web server functionality described herein enables a variety of widely accessible device interrogation and control functions for a particular device as well as for sets of devices. For example, a web page may be embedded into each washing machine of a chain of Laundromats wherein an operator from an office computer can determine the machines that require servicing and schedule daily service routing to the Laundromats accordingly. The foregoing detailed description of the present invention is provided for the purposes of illustration and is not intended to be exhaustive or to limit the invention to the precise embodiment disclosed. Accordingly, the scope of =he present invention is defined by the appended claims.

Claims: A device (10) with an embedded web access mechanism, comprising: a web server (14), the web server being arranged to generate a device web page (18) wherein the device web page (18) provides a set of user interface functions for the device (10), some of the user interface functions enabling control of functions of the device (10), the device (10) being a home appliance or automation apparatus, or an office appliance or automation appliance; and a network interface (12) arranged to enable access to the device web page (18) by a web browser (40) such that a user of the web browser (40) accesses the user interface functions for the device (10) through the device web page (18), wherein the web access mechanism is embedded in the device (10), characterised in that the web server (14) is implemented by a state machine. The device (10) of claim 1, wherein the web server (14) is arranged to receive an HTTP command via the network interface (12) and generate an HTML file that defines the device web page (18) in response to the HTTP command, the HTTP command specifying URL corresponding to the device (10). The device (10) of claim 1 or 2, wherein the HTML file may contain: a set of information pertaining to the device; a set of URLs that control a set of predetermined functions for the device (10) wherein each URL may point to a web page (18) located internal to the device (10) or a web page located external to the device (10); and, a hyperlink to an external web page that specifies additional information pertaining to the device. The device (10) of claim 1, 2 or 3, further comprising a single integrated circuit chip including a processor and memory implementing the state machine and web server. The device (10) of claim 4, wherein the single integrated chip includes at least the hardware of the network interface (12). A user interface method for a device, characterised by the steps of: operating a state machine to generate a device web page within the device wherein the device web page provides a set of user interface functions for the device, some of the user interface functions enabling control functions of the device, the device being a home appliance or automation apparatus, or an office appliance or automation appliance; providing access to the device web page from a web browser external to the device such that a user of the web browser accesses the user interface functions for the device through the device web page. The method of claim 6, wherein the step of generating a device web page includes the step of generating an HTML file that defines the device web page in response to an HTTP command received from the web browser, wherein the HTTP command specifies a URL corresponding to the device. The method of claims 6 or 7, wherein the HTML file may contain: a set of information pertaining to the device; a set of URLs that control a set of predetermined functions for the device wherein each URL may point to a web page located internal to the device or a web page located external to the device; and, a hyperlink to an external web page that specifies additional information pertaining to the device. A computer program comprising computer program code means for performing all of the steps of any of claims 6 to 8 when said program is run on a computer. A computer program as claimed in claim 9 embodied on a computer readable medium.

Inventors: MORGAN JEFFREY A, VENKATRAMAN CHANDRASEKAR, MORGAN, JEFFREY A., VENKATRAMAN, CHANDRASEKAR
Applicants: HEWLETT PACKARD CO, HEWLETT PACKARD DEVELOPMENT CO, HEWLETT-PACKARD COMPANY, HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Application year: 1997
Main classification: G06F17
IPC codes: G06F3, H04L29, H04L12, G06F9, G06F13, G08C15, H04M1