A computer appliance is a
home appliance
A home appliance, also referred to as a domestic appliance, an electric appliance or a household appliance, is a machine which assists in household functions such as cooking, cleaning and food preservation.
Appliances are divided into three ty ...
with software or
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
that is specifically designed to provide a specific computing resource. Such devices became known as ''appliances'' because of the similarity in role or management to a
home appliance
A home appliance, also referred to as a domestic appliance, an electric appliance or a household appliance, is a machine which assists in household functions such as cooking, cleaning and food preservation.
Appliances are divided into three ty ...
, which are generally ''closed and sealed'', and are not serviceable by the user or owner. The hardware and software are delivered as an integrated product and may even be pre-configured before delivery to a customer, to provide a turn-key solution for a particular application. Unlike general purpose
computer
A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
s, appliances are generally not designed to allow the customers to change the software and the underlying
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
, or to flexibly reconfigure the hardware.
Another form of appliance is the
virtual appliance
A virtual appliance is a pre-configured virtual machine image, ready to run on a hypervisor; virtual appliances are a subset of the broader class of software appliances. Installation of a software appliance on a virtual machine and packaging that i ...
, which has similar functionality to a dedicated hardware appliance, but is distributed as a software
virtual machine
In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
image for a
hypervisor
A hypervisor (also known as a virtual machine monitor, VMM, or virtualizer) is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is calle ...
-equipped device.
Overview
Traditionally,
software applications run on top of a general-purpose
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
, which uses the hardware resources of the computer (primarily memory, disk storage, processing power, and networking bandwidth) to meet the computing needs of the user. The main issue with the traditional model is related to complexity. It is complex to integrate the operating system and applications with a hardware platform, and complex to support it afterwards.
By tightly constraining the variations of the hardware and software, the appliance becomes easily deployable, and can be used without nearly as wide (or deep) IT knowledge. Additionally, when problems and errors appear, the supporting staff very rarely needs to explore them deeply to understand the matter thoroughly. The staff needs merely training on the appliance management software to be able to resolve most of problems.
In all forms of the computer appliance model, customers benefit from easy operations. The appliance has exactly one combination of hardware and operating system and application software, which has been pre-installed at the factory. This prevents customers from needing to perform complex integration work, and dramatically simplifies troubleshooting. In fact, this "turnkey operation" characteristic is the driving benefit that customers seek when purchasing appliances.
To be considered an appliance, the (hardware) device needs to be integrated with software, and both are supplied as a package. This distinguishes appliances from "home grown" solutions, or solutions requiring complex implementations by integrators or
Value-added reseller A value-added reseller (VAR) is a company that adds features or services to an existing product, then resells it (usually to end-users) as an integrated product or complete "turn-key" solution. This practice occurs commonly in the electronics or IT ...
s (VARs).
The appliance approach helps to
decouple the various systems and applications, for example in the data center. Once a resource is decoupled, in theory it can be also centralized to become shared among many systems, centrally managed and optimized, all without requiring changes to any other system.
Tradeoffs of the computer appliance approach
The major disadvantage of deploying a computer appliance is that since they are designed to supply a specific resource, they most often include a customized operating system running over specialized hardware, neither of which are likely to be compatible with the other systems previously deployed. Customers lose flexibility.
One may believe that a proprietary embedded operating system, or operating system within an application, can make the appliance much more secure from common cyber attacks. However, the opposite is true.
Security by obscurity
Security through obscurity (or security by obscurity) is the reliance in security engineering on design or implementation secrecy as the main method of providing security to a system or component.
History
An early opponent of security through o ...
is a poor security decision, and appliances are often plagued by security issues as evidenced by the proliferation of
IoT devices.
Types of appliances
The variety of computer appliances reflects the wide range of computing resources they provide to applications. Some examples:
;Storage appliances: provide massive amounts of storage and additional higher level functionality (ex:
Disk mirroring
In data storage, disk mirroring is the replication of logical disk volumes onto separate physical hard disks in real time to ensure continuous availability. It is most commonly used in RAID 1. A mirrored volume is a complete logical representat ...
and
Data striping
In computer data storage, data striping is the technique of segmenting logically sequential data, such as a file, so that consecutive segments are stored on different physical storage devices.
Striping is useful when a processing device request ...
) for multiple attached systems using the transparent local
storage area networks computer paradigm.
;Network appliances: are general purpose
routers which provide
firewall
Firewall may refer to:
* Firewall (computing), a technological barrier designed to prevent unauthorized or unwanted communications between computer networks or hosts
* Firewall (construction), a barrier inside a building, designed to limit the spre ...
protection,
Transport Layer Security
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securi ...
(TLS),
messaging
A message is a discrete unit of communication intended by the source for consumption by some recipient or group of recipients. A message may be delivered by various means, including courier, telegraphy, carrier pigeon and electronic bus.
...
, access to specialized networking protocols (like the
ebXML
Electronic Business using eXtensible Markup Language, commonly known as e-business XML, or ebXML (pronounced ee-bee-ex-em-el, 'bi,eks,em'el as it is typically referred to, is a family of XML based standards sponsored by OASIS and UN/CEFACT whose m ...
Message Service) and bandwidth
multiplexing
In telecommunications and computer networking, multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share a scarce resource - a ...
for the multiple systems they front-end.
;
Backup and disaster recovery appliance
In information technology, a backup, or data backup is a copy of computer data taken and stored elsewhere so that it may be used to restore the original after a data loss event. The verb form, referring to the process of doing so, is " back up", ...
s: computer appliances that are integrated backup software and backup targets, sometimes with hypervisors to support local DR of protected servers. They are often a gateway to a full DRaaS solution.
;
Firewall- and
Security appliance A security appliance is any form of server appliance that is designed to protect computer networks from unwanted traffic.
Types of Security Appliances
* Active devices block unwanted traffic. Examples of such devices are firewalls, anti virus sca ...
s: computer appliances that are designed to protect computer networks from unwanted traffic.
;IIoT and MES Gateway appliances: Computer appliances that are designed to translate data bidirectionally between control systems and enterprise systems. Proprietary, embedded, firmware applications running on the appliance use point-to-point connections to translate data between field devices in their native
automation protocol
This is a list of communication protocols used for the automation of processes (industrial or otherwise), such as for building automation, power-system automation, automatic meter reading, and vehicular automation.
Process automation protocols ...
s and
MES systems through their
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
s,
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
, or
REST
Rest or REST may refer to:
Relief from activity
* Sleep
** Bed rest
* Kneeling
* Lying (position)
* Sitting
* Squatting position
Structural support
* Structural support
** Rest (cue sports)
** Armrest
** Headrest
** Footrest
Arts and entert ...
ful interfaces.
;
Anti-spam appliances
Anti-spam appliances are software or hardware devices integrated with on-board software that implement e-mail spam filtering and/or anti-spam for instant messaging (also called "spim") and are deployed at the gateway or in front of the mail server ...
: for
e-mail spam
Email spam, also referred to as junk email, spam mail, or simply spam, is unsolicited messages sent in bulk by email (spamming).
The name comes from a Monty Python sketch in which the name of the canned pork product Spam is ubiquitous, unavoida ...
;
Software appliance
A software appliance is a software application combined with just enough operating system (JeOS) to run optimally on industry-standard hardware (typically a server) or in a virtual machine. It is a software distribution or firmware that impleme ...
s: a software application that might be combined with
just enough operating system
Just enough operating system (JeOS, pronounced "juice" according to SUSE) is a paradigm for customizing operating systems to fit the needs of a particular application such as for a software appliance. The platform only includes the operating syste ...
(JeOS) for it to run on industry standard hardware or in a virtual machine. In essence, the software distribution or the firmware that is running a computer appliance.
;
Virtual machine appliances: consist of a "hypervisor style" embedded operating system running on appliance hardware. The hypervisor layer is matched to the hardware of the appliance, and cannot be varied by the customer, but the customer may load other operating systems and applications onto the appliance in the form of virtual machines.
Consumer appliances
Aside from its deployment within data centers, many computer appliances are directly used by the general public. These include:
*
Digital video recorder
A digital video recorder (DVR) is an electronic device that records video in a digital format to a disk drive, USB flash drive, SD memory card, SSD or other local or networked mass storage device. The term includes set-top boxes with direct to d ...
*
Residential gateway
A residential gateway is a small consumer-grade gateway which bridges network access between connected local area network (LAN) hosts to a wide area network (WAN) (such as the Internet) via a modem, or directly connects to a WAN (as in EttH), wh ...
*
Network-attached storage
Network-attached storage (NAS) is a file-level (as opposed to block-level storage) computer data storage server connected to a computer network providing data access to a heterogeneous group of clients. The term "NAS" can refer to both the tech ...
(NAS)
*
Video game console
A video game console is an electronic device that Input/output, outputs a video signal or image to display a video game that can be played with a game controller. These may be home video game console, home consoles, which are generally placed i ...
Consumer uses stress the need for an appliance to have easy installation, configuration, and operation, with little or no technical knowledge being necessary.
Appliances in industrial automation
The world of
industrial automation
Automation describes a wide range of technologies that reduce human intervention in processes, namely by predetermining decision criteria, subprocess relationships, and related actions, as well as embodying those predeterminations in machines ...
has been rich in appliances. These appliances have been hardened to withstand temperature and vibration extremes. These appliances are also highly configurable, enabling customization to meet a wide variety of applications. The key benefits of an appliance in automation are:
# Reduced
downtime
The term downtime is used to refer to periods when a system is unavailable.
The unavailability is the proportion of a time-span that a system is unavailable or offline.
This is usually a result of the system failing to function because of an un ...
- a failed appliance is typically replaced with a COTS "
commercial off-the-shelf
Commercial off-the-shelf or commercially available off-the-shelf (COTS) products are packaged or canned (ready-made) hardware or software, which are adapted aftermarket to the needs of the purchasing organization, rather than the commissioning of ...
" replacement and its task is quickly and easily reloaded from a backup.
# Highly scalable - appliances are typically targeted solutions for an area of a plant or process. As the requirements change, scalability is achieved through the installation of another appliance. Automation concepts are easily replicated throughout the enterprise by standardizing on appliances to perform the needed tasks, as opposed to the development of custom automation schemes for each task.
# Low TCO (
total cost of ownership
Total cost of ownership (TCO) is a financial estimate intended to help buyers and owners determine the direct and indirect costs of a product or service. It is a management accounting concept that can be used in full cost accounting or even ecolog ...
) - appliances are developed, tested and supported by automation product vendors and undergo a much broader level of quality testing than custom designed automation solutions. The use of appliances in automation reduce the level of testing needed in each individual application.
# Reduced design time - appliances perform specific functions and although they are highly configurable, they are typically self documenting. This enables appliance based solutions to be transferred from engineer to engineer with minimal need for training and documentation.
Types of automation appliances:
# PLC (programmable logic controller) -
Programmable logic controller
A programmable logic controller (PLC) or programmable controller is an industrial computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, machines, robotic devices, or any activity tha ...
s are appliances that are typically used for discrete control and offer a wide range of Input and Output options. They are configured through standardized programming languages such as IEC-1131.
# SLC (single loop controller) -
Single loop controllers are appliances that monitor an input variable and effect change on a control output (manipulated variable) to hold the input variable to a setpoint.
# PAC (programmable automation controller) - Programmable automation controllers are appliances that embody properties of both PLCs and SLCs enabling the integration of both analog and discrete control.
# Universal gateway - A
universal gateway {{unreferenced, date=January 2014
A universal gateway is a device that transacts data between two or more data sources using communication protocols specific to each. Sometimes called a universal protocol gateway, this class of product is designed ...
appliance has the ability to communicate with a variety of devices through their respective
communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer scien ...
s, and will affect data transactions between them. This in increasingly important as manufacturing strives to improve agility, quality, production rates, production costs and reduce downtime through enhanced M2M (
machine to machine Machine to machine (M2M) is direct communication between devices using any communications channel, including wired and wireless.
Machine to machine communication can include industrial instrumentation, enabling a sensor or meter to communicate th ...
) communications.
# EATMs (Enterprise Appliance Transaction Modules) - Enterprise appliance transaction modules are appliances that affect data transactions from plant floor automation systems to enterprise business systems. They communicate to plant floor equipment through various vendor automation protocols, and communicate to business systems through database communication protocols such as JMS (
Java Message Service
The Jakarta Messaging API (formerly Java Message Service or JMS API) is a Java application programming interface (API) for message-oriented middleware. It provides generic messaging models, able to handle the producer–consumer problem, that can ...
) and SQL (
Structured Query Language).
Internal structure
There are several
design patterns
''Design Patterns: Elements of Reusable Object-Oriented Software'' (1994) is a software engineering book describing software design patterns. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword ...
adopted by computer appliance vendors, a few of which are shown below. Since the whole concept of an appliance rests on keeping such implementation details away from the end user, it is difficult to match these patterns to specific appliances, particularly since they can and do change without affecting external capabilities or performance.
# Special chip - the vendor builds an
ASIC
An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficien ...
, without any separate "software" or operating system. The appliance has a limited interface, usually terminal console or web-based, to allow some basic configuration by the IT staff. The manufacturer often provides some way of accessing deeper configuration mechanisms.
Azul Systems
Azul Systems, Inc. develops runtimes ( JDKs, JVMs) for executing Java-based applications. Founded in March 2002, Azul Systems is headquartered in Sunnyvale, California
Products Azul Platform Prime (Formerly Zing)
Azul produces ''Platform ...
' Vega 3 Java Compute Appliance is an example; special hardware modifications to the chip enable Java application scaling.
# Special software kernel - the vendor uses or creates a general-purpose computer, and designs a new operating system that integrates the application into the operating system.
Cisco's IOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
is an example; the Unix-like operating system has firewall functions and network/firewall configuration commands built into it. Sometimes, the device is also sealed, so the consumer has no access to reinstall the operating system or replace it with another operating system. The consumer may also be restricted to a small group of configuration commands, while the more detailed and lower level functions of the operating system are only available to the vendor. The more this "locked down" approach is carried out, the closer this type of device comes to appearing like an ASIC device.
# Specialized application - off-the-shelf computers and operating systems are used, but the user interface and "box" are designed so the user cannot access anything on the computer, except for the application interface that the vendor has created. Since the underlying computing architecture is locked down and essentially invisible, it becomes difficult to discern that the device really functions on top of general purpose hardware and operating systems. Linux, and
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
to a lesser degree, has become the operating system of choice for this type of appliance. Recently the term
software appliance
A software appliance is a software application combined with just enough operating system (JeOS) to run optimally on industry-standard hardware (typically a server) or in a virtual machine. It is a software distribution or firmware that impleme ...
has also been used to describe such a pre-packaged, black-box combination.
# Virtual appliance - here the hardware itself has disappeared entirely and become a so-called
virtual appliance
A virtual appliance is a pre-configured virtual machine image, ready to run on a hypervisor; virtual appliances are a subset of the broader class of software appliances. Installation of a software appliance on a virtual machine and packaging that i ...
(also known as a virtual software appliance) using any one of a number of
virtual machine
In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
technologies. Within this virtual machine is essentially the same stack of software plus the operating system as in the "specialized application" alternative.
Sometimes, these techniques are mixed. For example, a
VPN
A virtual private network (VPN) extends a private network across a public network and enables users to send and receive data across shared or public networks as if their computing devices were directly connected to the private network. The be ...
appliance might contain a limited access software firewall running on Linux, with an encryption ASIC to speed up VPN access.
Some computer appliances use
solid state storage
A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies to store data persistently, typically using flash memory, and functioning as secondary storage in the hierarchy of computer storage. It is a ...
, while others use a hard drive to load an operating system. Again, the two methods might be mixed—an ASIC print server might allow an optional hard drive for job queueing, or a Linux-based device may encode Linux in
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
, so that a hard drive is not needed to load the operating system.
See also
*
Automotive navigation system
An automotive navigation system is part of the automobile controls or a third party add-on used to find direction in an automobile. It typically uses a satellite navigation device to get its position data which is then correlated to a position on ...
*
Green computing
Green computing, green IT, or ICT sustainability, is the study and practice of environmentally sustainable computing or IT.
The goals of green computing are similar to green chemistry: reduce the use of hazardous materials, maximize energy effici ...
*
Hardware acceleration
Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU). Any transformation of data that can be calcula ...
*
Information appliance
An information appliance (IA) is an appliance that is designed to easily perform a specific electronic function such as playing music, photography, or editing text.
Typical examples are smartphones and personal digital assistants (PDAs). Inf ...
*
Linux devices
*
Personal digital assistant
A personal digital assistant (PDA), also known as a handheld PC, is a variety mobile device which functions as a personal information manager. PDAs have been mostly displaced by the widespread adoption of highly capable smartphones, in partic ...
(PDA)
*
Plug computer
A plug computer is an external device, often configured for use in the home or office as a compact computer. The name is derived from the small configuration of such devices; they are often enclosed in an AC power plug or AC adapter.
Descript ...
*
Smartphone
A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
*
Software appliance
A software appliance is a software application combined with just enough operating system (JeOS) to run optimally on industry-standard hardware (typically a server) or in a virtual machine. It is a software distribution or firmware that impleme ...
*
Middlebox
A middlebox is a computer networking device that transforms, inspects, filters, and manipulates traffic for purposes other than packet forwarding. Examples of middleboxes include firewalls, network address translators (NATs), load balancers, and ...
References
External links
ARC Advisory Group Comments on Enterprise Appliance Transaction ModulesComputing Appliances - The Monash Report, Dec 2006
{{DEFAULTSORT:Appliance, computer
Classes of computers
&
Software distribution
Hardware virtualization
Networking hardware