Register or Login To Download This Patent As A PDF
| United States Patent Application |
20010034780
|
| Kind Code
|
A1
|
|
Venkatraman, Chandrasekar
;   et al.
|
October 25, 2001
|
Embedding web access functionality into a device for user interface
functions
Abstract
Web access functionality is embedded in a device to enable low cost widely
accessible and enhanced user interface functions for the device. A web
server in the device provides access to the user interface functions for
the device through a device web page. A network interface in the device
enables access to the web page by a web browser such that a user of the
web browser accesses the user interface functions for the device through
the web page.
| Inventors: |
Venkatraman, Chandrasekar; (Fremont, CA)
; Morgan, Jeffrey A.; (Cupertino, CA)
|
| Correspondence Address:
|
HEWLETT-PACKARD COMPANY
Intellectual Property Administration
P.O. Box 272400
Fort Collins
CO
80528-9599
US
|
| Serial No.:
|
865347 |
| Series Code:
|
09
|
| Filed:
|
May 24, 2001 |
| Current U.S. Class: |
709/218; 709/229 |
| Class at Publication: |
709/218; 709/229 |
| International Class: |
G06F 015/16 |
Claims
What is claimed is:
1. A web access mechanism embedded in a device, comprising: web server
that generates a device web page wherein the device web page provides a
set of user interface functions for the device; network interface that
enables access to the device web page by a web Browser such that a user
of the web browser accesses the user interface functions for the device
through the device web page.
2. The web access mechanism of claim 1, wherein the web server receives an
HTTP command via the network interface and then generates an HTML file
that defines the device web page in response to the HTTP command.
3. The web access mechanism of claim 2, wherein the HTTP command specifies
a URL corresponding to the device.
4. The web access mechanism of claim 3, wherein the HTML file contains a
set of information pertaining to the device.
5. The web access mechanism of claim 3, wherein the HTML file contains 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.
6. The web access mechanism of claim 3, wherein the HTML file contains a
hyperlink to an external web page that specifies additional information
pertaining to the device.
7. A device, comprising: processor that generates a device web page
wherein the device web page provides a set of user interface functions
for the device and includes a set of information pertaining to the
device; memory for storing the device web page; input/output circuitry
that enables communication via a communication path such that a web
browser accesses the device web page via the communication path.
8. The device of claim 7, wherein the processor receives an HTTP command
via the input/output circuitry and then generates an HTML file that
defines the device web page in response to the HTTP command.
9. The device of claim 8, wherein the HTTP command specifies a URL
corresponding to the device.
10. The device of claim 8, wherein the HTML file contains 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.
11. The device of claim 8, wherein the HTML file defines a set of
graphical mechanisms for controlling a set of predetermined functions for
the device.
12. The device of claim 8, wherein the HTML file contains a hyperlink to
an external web page that specifies additional information pertaining to
the device.
13. A user interface method for a device, comprising the steps of:
generating a device web page within the device wherein the device web
page provides a set of user interface functions for the device; 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.
14. The method of claim 13, 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.
15. The method of claim 14, wherein the HTTP command specifies a URL
corresponding to the device.
16. The method of claim 14, wherein the HTML file contains a set of
information pertaining to the device.
17. The method of claim 14, wherein the HTML file contains 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.
18. The method of claim 14, wherein the HTML file contains a hyperlink to
an external web page that specifies additional information pertaining to
the device.
19. A user interface apparatus embedded in a device, comprising: means for
generating a device web page within the device wherein the device web
page provides a set of user interface functions for the device; means for
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.
20. The apparatus of claim 19, wherein the means for generating a device
web page includes means for generating an HTML file that defines the
device web page in response to an HTTP command generated by the web
browser.
21. The apparatus of claim 20, wherein the HTTP command specifies a URL
corresponding to the device.
22. The apparatus of claim 20, wherein the HTML file contains a set of
information pertaining to the device.
23. The apparatus of claim 20, wherein the HTML file contains 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.
24. The apparatus of claim 20, wherein the HTML file contains a hyperlink
to an external web page that specifies additional information pertaining
to the device.
25. A system, comprising: device having an embedded web server that
generates a device web page wherein the device web page provides a set of
user interface functions for the device and includes a set of information
pertaining to the device, the device also having a network interface that
enables access to the device web page via a communication network; web
browser coupled to the communication network wherein a user of the web
browser accesses the user interface functions for the device through the
device web page.
26. The system of claim 25, wherein the web server in the device receives
an HTTP command via the communication network and the network interface
and then generates an HTML file that defines the device web page in
response to the HTTP command.
27. The system of claim 26, wherein the HTTP command specifies a URL
corresponding to the device.
28. The system of claim 26, wherein the HTML file contains a set of URLs
that control a set of predetermined functions for the device such that
the user of the web browser selects the URLs to control the predetermined
functions of 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.
29. The system of claim 26, wherein the HTML file contains a hyperlink to
an external web page located elsewhere on the communication network that
specifies additional information pertaining to the device.
30. The system of claim 25, wherein the communication network comprises a
home-based communication network.
31. The system of claim 25, wherein the communication network comprises a
large-organization communication network.
32. The system of claim 25, wherein the communication network comprises
the world wide web of the Internet.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of Invention
[0002] 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.
[0003] 2. Art Background
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
SUMMARY OF THE INVENTION
[0009] A solution for providing widely accessible, low cost, and enhanced
user interface functions for a device is disclosed. The solution involves
embedding 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 may be
implemented with existing circuitry in a device, 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.
[0010] 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.
[0011] 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.
[0012] Other features and advantages of the present invention will be
apparent from the detailed description that follows.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The present invention is described with respect to particular
exemplary embodiments thereof and reference is accordingly made to the
drawings in which:
[0014] FIGS. 1a-1b illustrate a device with embedded web access
functionality that provides device-specific user interface functions
through a device web page;
[0015] FIG. 2 shows a home-based network that enables a web browser to
access the user interface functions through the device web page;
[0016] FIG. 3 illustrates an example device web page for a printer device;
[0017] FIG. 4 shows a large organization network or intranet that enables
access to the device web pages of differing devices;
[0018] FIG. 5 illustrates access to device web pages through the Internet
world-wide web.
DETAILED DESCRIPTION
[0019] FIG. 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).
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] FIG. 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] In yet another embodiment, the web server functions of the device
10 are implemented with a state machine.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] FIG. 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] In one embodiment, the information for the web page 18 is
periodically updated by the processor 200 and is stored 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.
[0044] 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.
[0045] 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.
[0046] The following is an example HTML file that defines the web page 18
in an embodiment wherein the device 10 is a printer device.
1
<TITLE>Printer Home Page</TITLE>
<H1>home page for device 10</H1>
<HR>
The following information pertains to
the device 10 which in this
example
is a printer
<table border>
<caption> Printer with a URL </caption>
<TR>
<TD>Printer Name</TD>Portdv9</TD>
</TR>
<TR>
<TD>Administrator</Tl>-
<TD>Mr. John Doe</TD>
</TR>
<TR>
<TD>Location</TD><TD>Building 1U</TD>
</TR>
</TABLE>
<P>
<A HREF
= "http://www.hpsc.com"> Service Contract</A>
<P>
<A HREF = "http://www.hpsupl.com"> Supplies
ordering</A>
<P>
<A HREF =
"http://www.hpl.hp.com"> Future
Products</A>
<P>
<HR>
[0047] FIG. 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.
[0048] 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 the printer
including a printer name, an administrator, and a location for the
printer.
[0049] 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.
[0050] 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.
[0051] FIG. 4 shows a large organization network 80 that enables access to
the device web pages of the device 10 and 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.
[0052] 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.
[0053] 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.
[0054] FIG. 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.
[0055] 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.
[0056] 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.
[0057] 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 the present invention is defined by the
appended claims.
* * * * *