CLOUD COMPUTING
Cloud computing describes computation, software, data access, and
storage services that do not require end-user knowledge of the physical
location and configuration of the system that delivers the services.
Parallels to this concept can be drawn with the electricity grid where end-
users consume power resources without full understanding of every
component device in the grid required to provide said service.
Cloud computing is a natural evolution of the widespread adoption
of virtualization, service-oriented architecture, autonomic and utility
computing. Details are abstracted from end-users, who no longer have
need for expertise in, or control over, the technology infrastructure "in
the cloud" that supports them.[1]
Cloud computing describes a new supplement, consumption, and
delivery model for IT services based on Internet protocols, and it typically
involves provisioning of dynamically scalable and often virtualized
resources.[2][3] It is a byproduct and consequence of the ease-of-access
to remote computing sites provided by the Internet.[4] This frequently
takes the form of web-based tools or applications that users can access
and use through a web browser as if it were a program installed locally
on their own computer.[5]
The term "cloud" is used as a metaphor for the Internet, based on
the cloud drawing used in the past to represent the telephone
network,[7] and later to depict the Internet in computer network
diagramsas an abstraction of the underlying infrastructure it
represents.[8] Typical cloud computing providers deliver
common business applications online that are accessed from
another Web service or software like a Web browser, while
the software and data are stored on servers.
Most cloud computing infrastructures consist of services delivered
through common centers and built on servers. Clouds often appear
as single points of access for consumers' computing needs.
Commercial offerings are generally expected to meet quality of
service (QoS) requirements of customers, and typically
include service level agreements (SLAs).[9]
Advanced Message Queuing Protocol
AMQP is middleware to provide a point of rendezvous between backend
systems, such as data stores and services and front end systems such
as end user applications. The first applications happen to have been in
the financial industry, i.e. trading desks, where real time order and
market data are transmitted. Though originally used inside of
enterprises, AMQP can easily be used to move messages between
organizations.
AMQP lets system architects build common messaging patterns out of a
simpler underlying model. Typical messaging patterns are: request-
response, in which messages are sent to or from specific
recipients, publish-and-subscribe, in which information is distributed to a
set of recipients according to various subscription criteria, and round-
robin, in which tasks are distributed fairly among a set of recipients.
Realistic applications combine these, e.g. round-robin for distributing
work plus request-response for sending back responses.
The protocol specification defines a binary wire protocol used between
a client and server (also known as a broker). In addition the specification
outlines a messaging queuing model and services that an
implementation provides.
The queuing model of AMQP provides for a wide range of messaging
use-cases and further refines the functions of the clients and brokers.
The function of brokers can be usefully broken into two kinds: exchanges
and message queues. Message queues store messages, and various
implementations can achieve various quality of service. For example a
slow but tornado-proof message queue would keep redundant copies in
multiple geographic regions while a fast but fragile message queue
might keep everything in a single process's RAM. To help improve
interoperability some of these aspects of the message queues are
specified in the protocol, e.g. you can state what you need asking a
message queue implementing broker to create a new queue.
The standard AMQP exchanges have no semantics for storing
messages. They route them to queues, which store them on behalf of
recipients. Exchanges implement a range of message routing
techniques: one-to-one message passing (like email to one recipient),
one-to-N (like an email list), one-to-one-of-N (like a queue for the next
open checkout), and so on. Since all exchanges accept messages from
N senders, AMQP allows all one-to-any routing to be N-to-any. The rules
that configure an exchange, known as bindings, can range from very
simple (pass everything into this message queue) to procedural
inspections of message content. AMQP allows arbitrary exchange
semantics through custom exchanges (which can queue, generate,
consume, and route messages in any way desired by the
implementation).
Thermomechanical Data Storage
In the future, the current method of magnetically storing data may
reach its limit of maximum achievable density. Hence we need a data
storage technology which has high storage capacity and is small in
size. The solution is Thermomechanical data storage.
Thermomechanical Data Storage is a data storage scheme in which
nanometer sized pits on a plastic disc represent digital data. This data
storage concept combines ultrahigh density, terabit capacity, small
form factor and high data rates. By using this concept, we will be able
to store the equivalent of 25 DVDs on a surface the size of a postage
stamp. IBM scientists have demonstrated a data storage density of a
trillion bits per square inch - 20 times higher than the densest
magnetic storage available today. IBM achieved this remarkable density
-- enough to store 25 million printed textbook pages on a surface the
size of a postage stamp -- in a research project code-named
"Millipede". Millipede uses thousands of nano-sharp tips to punch
indentations representing individual bits into a thin plastic film. The
result is akin to a nanotech version of the venerable data processing
'punch card' developed more than 110 years ago, but with two crucial
differences: the 'Millipede' technology is re-writeable, and may be able
to store more than 3 billion bits its of data in the space occupied by
just one hole in a standard punch card.