WO2001055876A9 - Web-based appliance - Google Patents

Web-based appliance

Info

Publication number
WO2001055876A9
WO2001055876A9 PCT/US2001/002737 US0102737W WO0155876A9 WO 2001055876 A9 WO2001055876 A9 WO 2001055876A9 US 0102737 W US0102737 W US 0102737W WO 0155876 A9 WO0155876 A9 WO 0155876A9
Authority
WO
WIPO (PCT)
Prior art keywords
computer system
web browser
local
user
web
Prior art date
Application number
PCT/US2001/002737
Other languages
French (fr)
Other versions
WO2001055876A1 (en
Inventor
Wim Andre Coekaerts
Original Assignee
New Internet Comp Company
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New Internet Comp Company filed Critical New Internet Comp Company
Priority to AU2001233049A priority Critical patent/AU2001233049A1/en
Publication of WO2001055876A1 publication Critical patent/WO2001055876A1/en
Publication of WO2001055876A9 publication Critical patent/WO2001055876A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Definitions

  • the present invention relates to computer systems and, more specifically, to a web-based appliance.
  • the magnitude of the expenses associated with maintaining a computer system is due in part to the fact that most computer systems are composed of numerous layers of general purpose components, even though the actual use of all layers is directed to a single specific application.
  • a company may purchase a computer system for the sole purpose of handling the company's accounting.
  • the actual workstations purchased for this purpose will typically be general purpose machines that provide all of the hardware services required to be able to handle any application. Many of these services are completely irrelevant for the actual use to which the machine will be directed.
  • the machines may come equipped with built-in "three-dimensional" sound capabilities that will never be utilized while the machines are used for accounting.
  • the general purpose machines that are to implement the accounting system will typically come installed with a general purpose operating system. Similar to general purpose hardware, general purpose operating systems attempt to provide services to address all possible needs of all possible types of software. For example, general purpose operating systems employ complex I/O techniques for handling I/O intensive applications, complex techniques to support computation intensive applications, and complex communication techniques to support communication intensive applications. Many of those services may not be required by the specific context, such as accounting, in which the operating system may actually be used.
  • Surfing the Internet involves sending requests to and receiving responses from servers that belong to the world- wide network known as the Internet.
  • Use of the Internet is becoming pervasive both as a hobby and as a critical business tool.
  • users frequently experience crashes due to the complex interactions between the various general purpose elements of the computer.
  • users that use a computer for the sole purpose of accessing the Internet are forced to learn and master the complexities of each of those general purpose components. For example, users must learn how to navigate through the interface provided by the general purpose operating system to configure and customize the system, and to navigate through the file system interface provided by the operating system to launch the appropriate Internet access application.
  • a web-based appliance, and techniques employed by the web-based appliance, are provided to simplify network usage and reduce the cost and complexity of owning a computer system.
  • a technique for facilitating the interaction between a user and a computer system includes, upon startup of the computer system, the computer system automatically launching a browser application that generates a user interface on a display of the computer system. At all times that the computer system is running, user interaction with software on the computer system is restricted to interaction through the user interface generated by the browser application.
  • a message that has not been requested by the web browser is delivered to the web browser.
  • the message causes the web browser to display the information on the user interface.
  • the computer system includes a local web server that is configured to only respond to requests locally originated by the web browser.
  • the local web server supplies the information to the web browser for display to the user in response to requests issued to the local web server by the web browser.
  • FIG. 1 is a block diagram of a web-based appliance according to an embodiment of the invention.
  • FIG. 2 is a block diagram of a computer system that may be used to implement embodiments of the invention.
  • FIG. 1 illustrates a web-based appliance 100 according to an embodiment of the invention.
  • a web-based appliance is similar to other appliances, such as toasters, stoves, and televisions, in that it is relatively inexpensive, easy to use, and easy to learn to use.
  • These aspects of the web-based appliance are particularly valuable in that services provided by the web-based appliance (e.g., providing access to resources available on a network, such as the Internet) are currently provided by computers that are generally so complex that they are prone to frequent failure.
  • the web-based appliance includes an operating system that automatically launches a web browser 102, such as Netscape Navigator, at start-up.
  • the browser thus launched serves as the sole interface 110 between the user and the web-based appliance.
  • local system management, browsing the Internet, and all other activities to which the appliance may be directed are performed through the web browser interface 110.
  • Local system management is done through a server process running in the background that takes requests from the browser and executes binaries or scripts to make changes to the system.
  • the server process is a local web server 104 (also referred to as an "HTTP server” or "listener").
  • the local web server 104 acts as the underlying application server and system management console.
  • the browser senses as the user interface to the local web server.
  • the browser and the local server process on the appliance are separate applications. Consequently, each of the two applications may be upgraded independent of the other application, as shall be described in greater detail hereafter.
  • the browser serves as the sole interface to the local server, users are presented with a single screen that handles everything. From the user's point of view, no new applications are started, no new windows are used, etc. In contrast, conventional operating systems use a windowing system or many consoles that display different applications, with no single consistent user interface.
  • Linux is used as the operating system, windows as the graphics interface, Apache as the local web surfer, and Netscape Navigator as the web browser.
  • the resulting system is portable and locally disconnected (client- server). This allows upgrades to be performed easily on the sub components, and makes the appliance easy to manage, consistent and user friendly.
  • the appliance boots from a CD-ROM disk.
  • the web browser and the local web server are started.
  • the local web server retrieves, or dynamically generates, a start-up HTML document and supplies the document to the web browser.
  • the web browser displays the document ' to the user. Because all of these actions are performed automatically upon start-up, the first interface presented to the user is the start-up document as displayed by the web browser.
  • system settings are accessed and set through the web browser.
  • one set of options displayed on the start-up web page may correspond to system settings.
  • the user-interface control that is associated with a particular system setting (e.g., a hyperlink on the web page)
  • a message is sent to the local web server.
  • a user may select a hyperlink associated with the system settings for the network connection.
  • a message is sent to the local web server.
  • the local web server may respond to the message in a variety of ways.
  • the local web server may respond to the message by executing a script or machine-executable program 108, by dynamically generating and delivering to the web browser a web page, or by delivering a pre-generated web page to the web browser.
  • the web server responds to the selection of a "set-up network connection" hyperlink by retrieving and presenting to the user a pre-generated web page.
  • the "set-up network connection" page may include, for example, a variety of controls for receiving information about the network connection. After using the controls to specify the appropriate connection information, the user may select a control to send the specified information in a message to the local web server.
  • the local web server may respond to that message by executing a script that performs whatever interaction with the operating system and other programs is necessary to configure the network connection as specified. After executing the script that makes the appropriate settings, the web server may send a static or dynamically generated web page to the browser to indicate that the settings have been adjusted as specified.
  • the system settings are durably stored so that they do not have to be re-entered every time a user starts the web appliance.
  • the system further includes durable re-writeable memory, such as FLASH memory.
  • the system configuration data 106 is stored in the durable re-writeable memory so that it may be revised without needing to be re-entered every time the system is restarted.
  • the local web server used to facilitate the interaction between the user and all of the local components of the appliance is dedicated to performing that service to that user.
  • the local web server does not process messages initiated by web browsers other than the locally-executing web browser. Consequently, the local resources that are managed through the local web server are secured against outside influences.
  • a user of the appliance causes the browser application 102 to send messages to remote servers through the network connection 112.
  • the operating system employed by the web appliance may be streamlined, with the code and complexity associated with functions not required for supporting web browsing removed.
  • the code and functions that provide support for floppy drives may be removed.
  • functions that are configured to generate system-related messages to the user are revised to either suppress the display of superfluous information, or to cause the information to be displayed by sending a message to the local web server to cause the local web server to generate and deliver a web page that contains the information to the web browser.
  • system messages are delivered to the user by pushing a web page to the web browser (delivered to the browser without first having been requested by the browser).
  • the web appliance may be configured with a daemon that monitors the connection to the
  • the daemon responds to the break by sending a message to the web browser to display a web document that indicates that the connection to the Internet was broken.
  • the web page thus delivered may be dynamically generated, and contain information about the specific event that caused generation of the message (e.g., the time at which the connection was broken).
  • a script is used to display a web page to a user in response to a system event.
  • the script starts a separate instance of the web browser, and the separate instance of the web browser pushes a web page to the web browser instance that is currently displaying information to the user.
  • Computer system 200 includes a bus 202 or other communication mechanism for communicating information, and a processor 204 coupled with bus 202 for processing information.
  • Computer system 200 also includes a main memory 206, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 202 for storing information and instructions to be executed by processor 204.
  • Main memory 200 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 204.
  • Computer system 206 further includes a read only memory (ROM) 208 or other static storage device coupled to bus 202 for storing static information and instructions for processor 204.
  • a storage device 210 such as a magnetic disk or optical disk, is provided and coupled to bus 202 for storing information and instructions.
  • Computer system 200 may be coupled via bus 202 to a display 212, such as a cathode ray tube (CRT), for displaying information to a computer user.
  • a display 212 such as a cathode ray tube (CRT)
  • An input device 214 is coupled to bus 202 for communicating information and command selections to processor 204.
  • cursor control 216 is Another type of user input device
  • cursor control 216 such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 204 and for controlling cursor movement on display 212.
  • This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y) that allows the device to specify positions in a plane.
  • the invention is related to the use of computer system 200 for implementing the techniques described herein. According to one embodiment of the invention, those techniques are implemented by computer system 200 in response to processor 204 executing one or more sequences of one or more instructions contained in main memory 206. Such instructions may be read into main memory 206 from another computer-readable medium, such as storage device 210. Execution of the sequences of instructions contained in main memory 206 causes processor 204 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
  • Non- volatile media includes, for example, optical or magnetic disks, such as storage device 210.
  • Volatile media includes dynamic memory, such as main memory 206.
  • Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 202. Transmission media can also take the form of acoustic or light waves such as those generated during radio-wave and infra-red data communications.
  • Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD- ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM any other memory chip or cartridge, a carrier wave as described hereinafter or any other medium from which a computer can read.
  • Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 204 for execution.
  • the instructions may initially be carried on a magnetic disk of a remote computer.
  • the remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem.
  • a modem local to computer system 200 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal.
  • An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 202.
  • Bus 202 carries the data to main memory 206 from which processor 204 retrieves and executes the instructions.
  • the instructions received by main memory 206 may optionally be stored on storage device 210 either before or after execution by processor 204.
  • Computer system 200 also includes a communication interface 218 coupled to bus 202.
  • Communication interface 218 provides a two-way data communication coupling to a network link 220 that is connected to a local network 222.
  • communication interface 218 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • communication interface 218 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN.
  • LAN local area network
  • Wireless links may also be implemented.
  • communication interface 218 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • Network link 220 typically provides data communication through one or more networks to other data devices.
  • network link 220 may provide a connection through local network 222 to a host computer 224 or to data equipment operated by an Internet Service Provider (ISP) 226.
  • ISP 226 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 228.
  • Internet 228 uses electrical electromagnetic or optical signals that carry digital data streams.
  • the signals through the various networks and the signals on network link 220 and through communication interface 218, which carry the digital data to and from computer system 200 are exemplary forms of carrier waves transporting the information.
  • Computer system 200 can send messages and receive data, including program code, through the network(s), network link 220 and communication interface 218.
  • a server 230 might transmit a requested code for an application program through Internet 228, ISP 226, local network 222 and communication interface 218.
  • ISP 226, local network 222 and communication interface 218 In accordance with the invention, one such downloaded application implements the techniques described herein.
  • the received code may be executed by processor 204 as it is received, and/or stored in storage device 210, or other non- volatile storage for later execution. In this manner, computer system 200 may obtain application code in the form of a carrier wave.

Abstract

A web-based appliance (100), and techniques employed by the web-based appliance (100), are described. A technique for facilitating the interaction between a user and a computer system. The technique includes the computer system automatically launching a browser application (102) that generates a user interface (110) on a display of the computer system. As the computer system is running, user interaction with software (108) on the computer system is restricted to interaction through the user interface (110). Another technique requires information to be communicated to the user, a message that has not been requested by the web browser is delivered to the web browser. The message causes the web browser to display the information on the user interface (110). The computer system includes a local web server (104) that is configured to only respond to requests locally originated by the web browser. The local web server (104) supplies the information to the web browser for display to the user in response to requests issued to the local web server (104) by the web browser.

Description

WEB-BASED APPLIANCE
Field of Invention
The present invention relates to computer systems and, more specifically, to a web-based appliance.
BACKGROUND OF THE INVENTION Inevitably, companies that invest in computer systems discover that the cost of owning a computer system is far greater than the price of the initial hardware and software purchases. Even relatively small computer systems, consisting of a handful of workstations networked together, frequently encounter problems that can consume an exorbitant amount of time and money. To prevent such problems, and to address such problems when they occur, many companies hire full time information service (IS) professionals. Frequently, the size of a company's in-house IS department grows until it consumes a disproportionate amount of the company's resources and profits.
The magnitude of the expenses associated with maintaining a computer system is due in part to the fact that most computer systems are composed of numerous layers of general purpose components, even though the actual use of all layers is directed to a single specific application. For example, a company may purchase a computer system for the sole purpose of handling the company's accounting. However, the actual workstations purchased for this purpose will typically be general purpose machines that provide all of the hardware services required to be able to handle any application. Many of these services are completely irrelevant for the actual use to which the machine will be directed. For example, the machines may come equipped with built-in "three-dimensional" sound capabilities that will never be utilized while the machines are used for accounting.
The general purpose machines that are to implement the accounting system will typically come installed with a general purpose operating system. Similar to general purpose hardware, general purpose operating systems attempt to provide services to address all possible needs of all possible types of software. For example, general purpose operating systems employ complex I/O techniques for handling I/O intensive applications, complex techniques to support computation intensive applications, and complex communication techniques to support communication intensive applications. Many of those services may not be required by the specific context, such as accounting, in which the operating system may actually be used.
One application for which general purpose computers are used is referred to as "surfing the Internet." Surfing the Internet involves sending requests to and receiving responses from servers that belong to the world- wide network known as the Internet. Use of the Internet is becoming pervasive both as a hobby and as a critical business tool. When a general purpose computer is used to access the Internet, users frequently experience crashes due to the complex interactions between the various general purpose elements of the computer. In addition, users that use a computer for the sole purpose of accessing the Internet are forced to learn and master the complexities of each of those general purpose components. For example, users must learn how to navigate through the interface provided by the general purpose operating system to configure and customize the system, and to navigate through the file system interface provided by the operating system to launch the appropriate Internet access application.
SUMMARY OF THE INVENTION
A web-based appliance, and techniques employed by the web-based appliance, are provided to simplify network usage and reduce the cost and complexity of owning a computer system. According to one aspect of the invention, a technique for facilitating the interaction between a user and a computer system includes, upon startup of the computer system, the computer system automatically launching a browser application that generates a user interface on a display of the computer system. At all times that the computer system is running, user interaction with software on the computer system is restricted to interaction through the user interface generated by the browser application.
According to another aspect of the invention, in response to an occurrence of an event within the computer system that requires information to be communicated to the user, a message that has not been requested by the web browser is delivered to the web browser. The message causes the web browser to display the information on the user interface.
According to another aspect of the invention, the computer system includes a local web server that is configured to only respond to requests locally originated by the web browser. The local web server supplies the information to the web browser for display to the user in response to requests issued to the local web server by the web browser.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
FIG. 1 is a block diagram of a web-based appliance according to an embodiment of the invention; and
FIG. 2 is a block diagram of a computer system that may be used to implement embodiments of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Embodiments of web-based appliances, and techniques employed by the web-based appliances, are described hereafter. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
OVERVIEW FIG. 1 illustrates a web-based appliance 100 according to an embodiment of the invention. A web-based appliance is similar to other appliances, such as toasters, stoves, and televisions, in that it is relatively inexpensive, easy to use, and easy to learn to use. These aspects of the web-based appliance are particularly valuable in that services provided by the web-based appliance (e.g., providing access to resources available on a network, such as the Internet) are currently provided by computers that are generally so complex that they are prone to frequent failure.
According to one embodiment, the web-based appliance includes an operating system that automatically launches a web browser 102, such as Netscape Navigator, at start-up. The browser thus launched serves as the sole interface 110 between the user and the web-based appliance. Thus, local system management, browsing the Internet, and all other activities to which the appliance may be directed are performed through the web browser interface 110.
Local system management is done through a server process running in the background that takes requests from the browser and executes binaries or scripts to make changes to the system. According to one embodiment, the server process is a local web server 104 (also referred to as an "HTTP server" or "listener").
The local web server 104 acts as the underlying application server and system management console. The browser senses as the user interface to the local web server. According to one embodiment, the browser and the local server process on the appliance are separate applications. Consequently, each of the two applications may be upgraded independent of the other application, as shall be described in greater detail hereafter. Because the browser serves as the sole interface to the local server, users are presented with a single screen that handles everything. From the user's point of view, no new applications are started, no new windows are used, etc. In contrast, conventional operating systems use a windowing system or many consoles that display different applications, with no single consistent user interface.
According to one embodiment, Linux is used as the operating system, windows as the graphics interface, Apache as the local web surfer, and Netscape Navigator as the web browser. The resulting system is portable and locally disconnected (client- server). This allows upgrades to be performed easily on the sub components, and makes the appliance easy to manage, consistent and user friendly.
START-UP: According to one embodiment, the appliance boots from a CD-ROM disk. As part of the boot-up process, the web browser and the local web server are started. The local web server retrieves, or dynamically generates, a start-up HTML document and supplies the document to the web browser. The web browser displays the document'to the user. Because all of these actions are performed automatically upon start-up, the first interface presented to the user is the start-up document as displayed by the web browser.
INTERACTION: All interaction with the appliance is performed through the interface provided by the web browser, and by pages displayed by the web browser. Consequently, the user does not have to learn and use a separate operating system or file system user interface.
* UPGRADES: Even though all interaction with the operating system is performed through the browser, the browser remains a completely separate program. Consequently, upgrades can be performed in a modular fashion. For example, a user may switch to a new version of a web browser, or to an entirely different web browser, without upgrading or affecting the operation of the local web server or operating system. Similarly, the operating system or web server may be upgraded without changing the web browser. SYSTEM SETTINGS: While web appliances may be dramatically simplified relative to general purpose computer systems, there may still be a few user-adjustable system settings. For example, a web appliance may allow the user to set any of the following settings: - configuration for a network interface
- configuration for a modem
- user id/password settings for remote sites
- configuration of the "look and feel" of the browser (e.g., the color scheme used by the browser) According to one aspect of the invention, system settings are accessed and set through the web browser. For example, one set of options displayed on the start-up web page may correspond to system settings. When the user selects the user-interface control that is associated with a particular system setting (e.g., a hyperlink on the web page), a message is sent to the local web server. For example, a user may select a hyperlink associated with the system settings for the network connection. In response to selection of the hyperlink, a message is sent to the local web server. The local web server may respond to the message in a variety of ways. For example, the local web server may respond to the message by executing a script or machine-executable program 108, by dynamically generating and delivering to the web browser a web page, or by delivering a pre-generated web page to the web browser.
For the purpose of explanation, it shall be assumed that the web server responds to the selection of a "set-up network connection" hyperlink by retrieving and presenting to the user a pre-generated web page. The "set-up network connection" page may include, for example, a variety of controls for receiving information about the network connection. After using the controls to specify the appropriate connection information, the user may select a control to send the specified information in a message to the local web server. The local web server may respond to that message by executing a script that performs whatever interaction with the operating system and other programs is necessary to configure the network connection as specified. After executing the script that makes the appropriate settings, the web server may send a static or dynamically generated web page to the browser to indicate that the settings have been adjusted as specified. DURABLE MEMORY: According to one embodiment, the system settings are durably stored so that they do not have to be re-entered every time a user starts the web appliance. In an embodiment that runs software off read-only memory (e.g., a CDROM), the system further includes durable re-writeable memory, such as FLASH memory. The system configuration data 106 is stored in the durable re-writeable memory so that it may be revised without needing to be re-entered every time the system is restarted.
DEDICATED LOCAL WEB SERVER: According to one aspect of the invention, the local web server used to facilitate the interaction between the user and all of the local components of the appliance (e.g., the operating system) is dedicated to performing that service to that user. Specifically, the local web server does not process messages initiated by web browsers other than the locally-executing web browser. Consequently, the local resources that are managed through the local web server are secured against outside influences. To access resources outside the appliance, a user of the appliance causes the browser application 102 to send messages to remote servers through the network connection 112.
STREAMLINED OPERATING SYSTEM: According to one embodiment, the operating system employed by the web appliance may be streamlined, with the code and complexity associated with functions not required for supporting web browsing removed. For example, for an appliance that employs for non-volatile memory only FLASH memory and a CD-ROM, the code and functions that provide support for floppy drives may be removed. In addition, functions that are configured to generate system-related messages to the user are revised to either suppress the display of superfluous information, or to cause the information to be displayed by sending a message to the local web server to cause the local web server to generate and deliver a web page that contains the information to the web browser.
SYSTEM MESSAGES: According to one embodiment, system messages are delivered to the user by pushing a web page to the web browser (delivered to the browser without first having been requested by the browser). For example, the web appliance may be configured with a daemon that monitors the connection to the
Internet. If the connection is broken, the break is detected by the daemon. The daemon responds to the break by sending a message to the web browser to display a web document that indicates that the connection to the Internet was broken. The web page thus delivered may be dynamically generated, and contain information about the specific event that caused generation of the message (e.g., the time at which the connection was broken).
According to one technique, a script is used to display a web page to a user in response to a system event. In one embodiment, the script starts a separate instance of the web browser, and the separate instance of the web browser pushes a web page to the web browser instance that is currently displaying information to the user.
HARDWARE OVERVIEW Figure 2 is a block diagram that illustrates a computer system 200 upon which an embodiment of the invention may be implemented. Computer system 200 includes a bus 202 or other communication mechanism for communicating information, and a processor 204 coupled with bus 202 for processing information. Computer system 200 also includes a main memory 206, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 202 for storing information and instructions to be executed by processor 204. Main memory 200 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 204. Computer system 206 further includes a read only memory (ROM) 208 or other static storage device coupled to bus 202 for storing static information and instructions for processor 204. A storage device 210, such as a magnetic disk or optical disk, is provided and coupled to bus 202 for storing information and instructions.
Computer system 200 may be coupled via bus 202 to a display 212, such as a cathode ray tube (CRT), for displaying information to a computer user. An input device 214, including alphanumeric and other keys, is coupled to bus 202 for communicating information and command selections to processor 204. Another type of user input device is cursor control 216, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 204 and for controlling cursor movement on display 212. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y) that allows the device to specify positions in a plane.
The invention is related to the use of computer system 200 for implementing the techniques described herein. According to one embodiment of the invention, those techniques are implemented by computer system 200 in response to processor 204 executing one or more sequences of one or more instructions contained in main memory 206. Such instructions may be read into main memory 206 from another computer-readable medium, such as storage device 210. Execution of the sequences of instructions contained in main memory 206 causes processor 204 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 204 for execution. Such a medium may take many fonns, including but not limited to, non- volatile media, volatile media, and transmission media. Non- volatile media includes, for example, optical or magnetic disks, such as storage device 210. Volatile media includes dynamic memory, such as main memory 206. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 202. Transmission media can also take the form of acoustic or light waves such as those generated during radio-wave and infra-red data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD- ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM any other memory chip or cartridge, a carrier wave as described hereinafter or any other medium from which a computer can read.
Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 204 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 200 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 202. Bus 202 carries the data to main memory 206 from which processor 204 retrieves and executes the instructions. The instructions received by main memory 206 may optionally be stored on storage device 210 either before or after execution by processor 204.
Computer system 200 also includes a communication interface 218 coupled to bus 202. Communication interface 218 provides a two-way data communication coupling to a network link 220 that is connected to a local network 222. For example, communication interface 218 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 218 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 218 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. Network link 220 typically provides data communication through one or more networks to other data devices. For example, network link 220 may provide a connection through local network 222 to a host computer 224 or to data equipment operated by an Internet Service Provider (ISP) 226. ISP 226 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 228. Local network 222 and Internet 228 both use electrical electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 220 and through communication interface 218, which carry the digital data to and from computer system 200 are exemplary forms of carrier waves transporting the information.
Computer system 200 can send messages and receive data, including program code, through the network(s), network link 220 and communication interface 218. In the Internet example, a server 230 might transmit a requested code for an application program through Internet 228, ISP 226, local network 222 and communication interface 218. In accordance with the invention, one such downloaded application implements the techniques described herein.
The received code may be executed by processor 204 as it is received, and/or stored in storage device 210, or other non- volatile storage for later execution. In this manner, computer system 200 may obtain application code in the form of a carrier wave.
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense.

Claims

Claims:
What is claimed is: 1. A method of interaction between a user and a computer system, the method comprising the steps of: upon startup of the computer system the computer system automatically launching a browser application that generates a user interface on a display of said computer system: and at all times that said computer system is running, restricting user interaction with software on said computer system to interaction through the user interface generated by said browser application.
2. The method of Claim 1 further comprising the steps of: presenting to said user through said user interface a web page that includes controls for setting local system settings: and modifying local system settings in response to user input received through interaction with said controls.
3. The method of Claim 2 wherein the step of modifying local system setting includes the steps of: receiving, at a local web server running on said computer system, a message generated by said browser application in response to said user input; and the local web server responding to said message by initiating execution of a process on said computer system that modifies said local system settings.
4. The method of Claim 2 wherein the step of modifying said local system settings includes modifying data stored in FLASH memory within said computer system.
5. A method of interaction between a user and a computer system the method comprising the steps of: executing a web browser on said computer system, said web browser generating a user interface on a display of said computer system; and in response to an occurrence of an event within the computer system that requires information to be communicated to the user, delivering to the web browser a message that has not been requested by said web browser, said message causing said web browser to display said information on said user interface.
6. The method of Claim 5 wherein: the web browser is a first web browser instance on said computer system: the method further includes the step of executing a script on said computer system; and the step of delivering the message to the web browser is performed by the computer system performing the following steps in response to execution of the script: starting a separate instance of a web browser, and causing said separate instance to push a web page to said first web browser instance.
7. The method of Claim 5 wherein the message is delivered to the web browser in response to a break in a connection between said computer system and a network.
8. A method for supplying information to a user of a computer system, the method comprising the steps of: executing, within the computer system a web browser: executing, within the computer system, a local web server that is configured to only respond to requests locally originated by said web browser; and said local web server supplying said information to said web browser for display to said user in response to requests issued to said local web server by said web browser.
9. The method of Claim 8 wherein the method further includes upgrading within the computer system one of the web browser and local web server without upgrading within the computer system the other of the web browser and local web server.
10. A computer system configured to: automatically launch a browser application upon startup of the computer system, wherein the browser application generates a user interface on a display of said computer system and restrict, at all times that said computer system is running, user interaction with software on said computer system to interaction through the user interface generated by said browser application.
11. The computer system of Claim 10 wherein: the computer system presents to a user, through said user interface, a web page that includes controls for setting local system settings and local system settings of said computer system are modified in response to user input received through interaction with said controls.
12. The computer system of Claim 11 further comprising a local web server, wherein the local web server is configured to: receive a message generated by said browser application in response to said user input; and respond to said message by initiating execution of a process on said computer system that models said local system settings.
13. The computer system of Claim 11 further including FLASH memory, wherein the local system settings are modified modifying data stored in FLASH memory within said computer system.
14. A computer system configured to: execute a web browser that generates a user interface on a display of said computer system; and respond to an occurrence of an event within the computer system that requires information to be communicated to the user by delivering to the web browser a message that has not been requested by said web browser, said message causing said web browser to display said information on said user interface.
15. The computer system of Claim 14 wherein the web browser is a fast web browser instance, the system further including a second web browser instance capable of pushing web pages to the first web browser instance.
16. The computer system of Claim 14 wherein the message is delivered to the web browser in response to a break in a connection between said computer system and a network.
17. A computer system comprising: a web browser; and a local web server that is configured to only respond to requests locally originated by said web browser: wherein said local web server supplies information to said web browser for display to a user in response to requests issued to said local web server by said web browser.
18. The computer system of Claim 17 wherein the web browser is independent of said local web server, whereby one of the web browser and local web server can be upgraded without upgrading the other of the web browser and local web server.
19. A computer-readable medium carrying instructions for facilitating interaction between a user and a computer system, the instructions including instructions for performing the steps of: upon startup of the computer system, the computer system automatically launching a browser application that generates a user interface on a display of said computer system; and at all times that said computer system is running, restricting user interaction with software on said computer system to interaction through the user interface generated by said browser application.
20. The computer-readable medium of Claim 19 further comprising instructions for performing the steps of: presenting to said user through said user interface a web page that includes controls for setting local system settings; and modifying local system settings in response to user input received through interaction with said controls.
21. The computer-readable medium of Claim 20 wherein the step of modifying local system setting includes the steps of: receiving, at a local web server running on said computer system, a message generated by said browser application in response to said user input; and the local web server responding to said message by initiating execution of a process on said computer system that modifies said local system settings.
22. The computer-readable medium of Claim 20 wherein the step of modifying said local system settings includes modifying data stored in FLASH memory within said computer system.
23. A computer-readable medium carrying instructions for facilitating interaction between a user and a computer system, the instructions including instructions for performing the steps of: executing a web browser on said computer system, said web browser generating a user interface on a display of said computer system; and in response to an occurrence of an event within the computer system that requires information to be communicated to the user, delivering to the web browser a message that has not been requested by said web browser, said message causing said web browser to display said information on said user interface.
24. The computer-readable medium of Claim 23 wherein: the instructions further include instructions for executing a local web server on said computer system, and the step of delivering the message to the web browser is performed by the local web server.
25. The computer-readable medium of Claim 23 wherein the message is delivered to the web browser in response to a break in a connection between said computer system and a network.
26. A computer-readable medium carrying instructions for supplying information to a user of a computer system, the instructions including instructions for performing the steps of: executing, within the computer system, a web browser, executing, within the computer system, a local web server that is configured to only respond to requests locally originated by said web browser; and said local web server supplying said information to said web browser for display to said user in response to requests issued to said local web server by said web browser.
PCT/US2001/002737 2000-01-26 2001-01-26 Web-based appliance WO2001055876A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001233049A AU2001233049A1 (en) 2000-01-26 2001-01-26 Web-based appliance

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49146300A 2000-01-26 2000-01-26
US09/491,463 2000-01-26

Publications (2)

Publication Number Publication Date
WO2001055876A1 WO2001055876A1 (en) 2001-08-02
WO2001055876A9 true WO2001055876A9 (en) 2002-10-31

Family

ID=23952332

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/002737 WO2001055876A1 (en) 2000-01-26 2001-01-26 Web-based appliance

Country Status (2)

Country Link
AU (1) AU2001233049A1 (en)
WO (1) WO2001055876A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903653B2 (en) 2009-06-23 2014-12-02 Uniloc Luxembourg S.A. System and method for locating network nodes

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8087092B2 (en) 2005-09-02 2011-12-27 Uniloc Usa, Inc. Method and apparatus for detection of tampering attacks
GB2484268A (en) 2010-09-16 2012-04-11 Uniloc Usa Inc Psychographic profiling of users of computing devices
GB2507202B (en) * 2011-04-11 2014-11-19 Bluecava Inc Thick client and thin client integration
AU2012100463B4 (en) 2012-02-21 2012-11-08 Uniloc Usa, Inc. Renewable resource distribution management system
TWI523464B (en) 2014-01-27 2016-02-21 台達電子工業股份有限公司 Network card capable of searching ability, monitoring device including the network card and searching method used for the network card and the monitoring device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144990A (en) * 1996-12-23 2000-11-07 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
US5983262A (en) * 1997-05-20 1999-11-09 Intel Corporation Method and apparatus for persisting browsing information
US6175864B1 (en) * 1997-06-30 2001-01-16 Netscape Communications Corporation Method and apparatus for storyboard scripting of application programs running on a computer system
US6044372A (en) * 1997-07-18 2000-03-28 Dazel Corporation Method and apparatus for publishing information to a communications network and enabling subscriptions to such information
US6185600B1 (en) * 1997-12-08 2001-02-06 Hewlett-Packard Company Universal viewer/browser for network and system events using a universal user interface generator, a generic product specification language, and product specific interfaces

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903653B2 (en) 2009-06-23 2014-12-02 Uniloc Luxembourg S.A. System and method for locating network nodes

Also Published As

Publication number Publication date
WO2001055876A1 (en) 2001-08-02
AU2001233049A1 (en) 2001-08-07

Similar Documents

Publication Publication Date Title
US10007539B2 (en) On-demand cloning of virtual machines
US7797525B2 (en) Operating system installation
US8732284B2 (en) Data serialization in a user switching environment
TWI336861B (en) Method and apparatus for virtualization of appliances
US5734831A (en) System for configuring and remotely administering a unix computer over a network
US6073163A (en) Method and apparatus for enabling web-based execution of an application
EP0996892B1 (en) Automatic regeneration of user data from a network
US6944859B2 (en) System and method for automatically installing data on a handheld computer
US20100306773A1 (en) Instant on Platform
US9965294B2 (en) Methods, devices, and systems for establishing, setting-up, and maintaining a virtual computer infrastructure
US20060156315A1 (en) Method, computer-readable medium and apparatus for providing a graphical user interface in a client-server environment
US20010034711A1 (en) Distributed operating network and method for using and implementing same
US20020109717A1 (en) Customizing a graphical user interface of a host application
EP1380194A2 (en) System and method for printing over networks via a print server
CN103718161A (en) Web application architecture
JP2009524121A (en) Dynamic billboard service before system operation
WO2001055876A9 (en) Web-based appliance
CN114389936A (en) Cross-cloud multi-cluster deployment operation and maintenance method, system, processor and storage medium
KR101856924B1 (en) Operating method of launching application for controlling emulator
US20240004673A1 (en) Processing method and processing device
WO2003044662A1 (en) Incrementally increasing or decreasing the available functionalities of a computer program
JP2003228429A (en) Information processing apparatus
KR101836749B1 (en) Operating method of launching application for controlling emulator
CN116860149A (en) Responsive data front-end data model building method
JP2009169953A (en) Web launching system and web launching method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1-13, DESCRIPTION, REPLACED BY NEW PAGES 1-12; PAGES 14-21, CLAIMS, REPLACED BY NEW PAGES 13-19; PAGES 1/2-2/2, DRAWINGS, REPLACED BY NEW PAGES 1/2-2/2; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP