Experiment No. 1: Aim: Theory

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

EXPERIMENT NO.

1
AIM: To study the concept of Server Farming.

THEORY: A server farm or server cluster is a collection of computer servers usually


maintained by an enterprise to accomplish server needs far beyond the capability of one
machine. Server farms often consist of thousands of computers which require a large amount of
power to run and keep cool. At the optimum performance level, a server farm has enormous
costs associated with it, both financially and environmentally. Server farms often have backup
servers, which can take over the function of primary servers in the event of a primary server
failure. Server farms are typically collocated with the network switches and/or routers which
enable communication between the different parts of the cluster and the users of the cluster. The
computers, routers, power supplies, and related electronics are typically mounted on 19-inch
racks in a server room or data center.

Applications
Server farms are commonly used for cluster computing. Many modern supercomputers comprise
giant server farms of high-speed processors connected by either Gigabit Ethernet or custom
interconnects such as Infiniband or Myrinet. Web hosting is a common use of a server farm; such
a system is sometimes collectively referred to as a web farm. Other uses of server farms include
scientific simulations (such as computational fluid dynamics) and the rendering of 3D computer
generated imagery. Server farms are increasingly being used instead of or in addition
to mainframe computers by large enterprises, although server farms do not yet reach the same
reliability levels as mainframes. Because of the sheer number of computers in large server farms,
the failure of an individual machine is a commonplace event, and the management of large server
farms needs to take this into account by providing support for redundancy, automatic failover,
and rapid reconfiguration of the server cluster.

Performance
The performance of the largest server farms (thousands of processors and up) is typically limited
by the performance of the data center's cooling systems and the total electricity cost rather than
by the performance of the processors. Computers in server farms run 24/7 and consume large

1
amounts of electricity, for this reason, the critical design parameter for both large and continuous
systems tends to be performance per watt rather than cost of peak performance or (peak
performance / (unit * initial cost)). Also, for high availability systems that must run 24/7 (unlike
supercomputers that can be power-cycled to demand, and also tend to run at much higher
utilizations), there is more attention placed on power saving features such as variable clock-
speed and the ability to turn off both computer parts, processor parts, and entire computers
(WoL and virtualization) according to demand without bringing down services.

CONCLUSION:

2
EXPERIMENT NO. 2
AIM: To study the concept of Hadoop.
THEORY: Hadoop is designed to efficiently process large volumes of information by
connecting many commodity computers together to work in parallel. The theoretical 1000-CPU
machine described earlier would cost a very large amount of money, far more than 1,000 single-
CPU or 250 quad-core machines. Hadoop will tie these smaller and more reasonably priced
machines together into a single cost-effective compute cluster.

COMPARISON TO EXISTING TECHNIQUES


Performing computation on large volumes of data has been done before, usually in a distributed
setting. What makes Hadoop unique is its simplified programming model which allows the user
to quickly write and test distributed systems, and its efficient, automatic distribution of data and
work across machines and in turn utilizing the underlying parallelism of the CPU cores.
Grid scheduling of computers can be done with existing systems such as Condor. But Condor
does not automatically distribute data: a separate SAN must be managed in addition to the
compute cluster. Furthermore, collaboration between multiple compute nodes must be managed
with a communication system such as MPI. This programming model is challenging to work
with and can lead to the introduction of subtle errors.

DATA DISTRIBUTION
In a Hadoop cluster, data is distributed to all the nodes of the cluster as it is being loaded in. The
Hadoop Distributed File System (HDFS) will split large data files into chunks which are
managed by different nodes in the cluster. In addition to this each chunk is replicated across
several machines, so that a single machine failure does not result in any data being unavailable.
An active monitoring system then re-replicates the data in response to system failures which can
result in partial storage. Even though the file chunks are replicated and distributed across several
machines, they form a single namespace, so their contents are universally accessible.
Data is conceptually record-oriented in the Hadoop programming framework. Individual input
files are broken into lines or into other formats specific to the application logic. Each process
running on a node in the cluster then processes a subset of these records. The Hadoop framework

3
then schedules these processes in proximity to the location of data/records using knowledge from
the distributed file system. Since files are spread across the distributed file system as chunks,
each compute process running on a node operates on
on a subset of the data. Which data operated
on by a node is chosen based on its locality to the node: most data is read from the local disk
straight into the CPU, alleviating strain on network bandwidth and preventing unnecessary
network transfers. This strategy
rategy of moving computation to the data,, instead of moving the data to
the computation allows Hadoop to achieve high data locality which in turn results in high
performance.

Figure 1.1: Data is distributed across nodes at load time.

MAPREDUCE: ISOLATED PROCESSES


Hadoop limits the amount of communication which can be performed by the processes, as each
individual record is processed by a task in isolation from one another. While this sounds like a
major limitation at first, it makes the whole framework much
much more reliable. Hadoop will not run
just any program and distribute it across a cluster. Programs must be written to conform to a
particular programming model, named "MapReduce."

4
In MapReduce, records are processed in isolation by tasks called Mappers. The he output from the
Mappers is then brought together into a second set of tasks called Reducers,, where results from
different mappers can be merged together.

Figure 1.2: Mapping and reducing tasks run on nodes where individual records of data are
already present.
Separate nodes in a Hadoop cluster still communicate with one another. However, in contrast to
more conventional distributed systems where application developers explicitly marshal byte
streams from node to node over sockets or through MPI buffers, communication in Hadoop is
performed implicitly.. Pieces of data can be tagged with key names which inform Hadoop how to
send related bits of information to a common destination node. Hadoop internally manages all of
the data transfer and cluster topology
opology issues.
By restricting the communication between nodes, Hadoop makes the distributed system much
more reliable. Individual node failures can be worked around by restarting tasks on other
machines. Since user-level
level tasks do not communicate explicitly
explicitly with one another, no messages
need to be exchanged by user programs, nor do nodes need to roll back to pre pre-arranged
5
checkpoints to partially restart the computation. The other workers continue to operate as though
nothing went wrong, leaving the challenging aspects of partially restarting the program to the
underlying Hadoop layer.

FLAT SCALABILITY
One of the major benefits of using Hadoop in contrast to other distributed systems is its flat
scalability curve. Executing Hadoop on a limited amount of data on a small number of nodes
may not demonstrate particularly stellar performance as the overhead involved in starting
Hadoop programs is relatively high. Other parallel/distributed programming paradigms such as
MPI (Message Passing Interface) may perform much better on two, four, or perhaps a dozen
machines. Though the effort of coordinating work among a small number of machines may be
better-performed by such systems, the price paid in performance and engineering effort (when
adding more hardware as a result of increasing data volumes) increases non-linearly.
A program written in distributed frameworks other than Hadoop may require large amounts of
refactoring when scaling from ten to one hundred or one thousand machines. This may involve
having the program be rewritten several times; fundamental elements of its design may also put
an upper bound on the scale to which the application can grow.
Hadoop, however, is specifically designed to have a very flat scalability curve. After a Hadoop
program is written and functioning on ten nodes, very little--if any--work is required for that
same program to run on a much larger amount of hardware. Orders of magnitude of growth can
be managed with little re-work required for your applications. The underlying Hadoop platform
will manage the data and hardware resources and provide dependable performance growth
proportionate to the number of machines available.

CONCLUSION:

6
EXPERIMENT NO. 3
AIM: To study the concept of Virtualization using VM-Ware.

THEORY: Following are few reasons why you might want to think about virtualization for
your environment.

 Run multiple operation systems on one server. For example, instead of having development-
server and QA-server, you can run both development and QA on a single server.
 You can have multiple flavours of OS on one server. For example, you can run 2 Linux OS,
1 Windows OS on a single server.
 Multiple OS running on the server shares the hardware resources among them. For example,
CPU, RAM, network devices are shared among development-server and QA-server running
on the same hardware.
 Allocate hardware resources to different applications based on the utilization. For example, if
you have 8GB of RAM on the server, you can assign less RAM to one virtual machine (2GB
to development-server) and more RAM (6GB to QA-server) to another virtual machine that
is running on that server
 High availability and business continuity. If VMware is implemented properly, you can
migrate a virtual machine from one server to another server quickly without any downtime.
 This reduces the operational cost and power consumption. For example, instead of buying
and running two servers, you will be using only one server and run both development and
QA on it.
On a high level, there are two ways for you to get started on the virtualization using VMware
products. Both of these are available for free from VMware.

1. VMware Server
VMware Server runs on top of an existing host operating system (either Linux or Windows).
This is a good option to get started, as you can use any of the existing hardware along with it’s
OS. VMware server also support 64-bit host and guest operating system. You also get VMware
Infrastructure web access management interface and Virtual Machine console.

7
Fig: Virtual Machine running on top of VMware Server

2. VMware ESXi
VMware ESXi is based on the hypervisor architecture. VMware ESXi runs directly on the
hardware without the need of any host operating system, which makes is extremely effective in
terms of performance. This is the best option to implement VMware for production usage.

Following are some of the key features of VMware ESXi:

 Memory compression, over commitment and deduplication.


 built-in high available with NIC teaming and HBA multipathing.
 Intelligent CPU virtualization
 Highly compatible with various servers hardware, storage and OS.
 Advanced security with VMSafe, VMKernel protection and encryption.
 Easy management using vsphere client, vCenter server and command line interface

8
Fig: Virtual Machine running on top of VMware ESXi

CONCLUSION:

9
EXPERIMENT NO. 4
AIM: .Study of Google docs.

THEORY:
Google Docs is a free, web-based office suite offered by Google within its Google Drive service.
It was formerly a storage service as well, but has since been replaced by Google Drive. It allows
users to create and edit documents online while collaborating with other users live. Google Docs
combines the features of Write and Spreadsheets with a presentation program incorporating
technology designed by Tonic Systems.

Data storage of files was introduced on January 12, 2010 with 1 GB of free space. On April 24,
2012, Google launched Google Drive which supplants Google Docs. Google Drive incorporates
the Google Docs office suite into itself alongside providing improved storage functionality.

FEATURES
Google Docs is Google's "software as a service" office suite. Documents, spreadsheets,
presentations can be created with Google Docs, imported through the web interface, or sent via
email. Documents can be saved to a user's local computer in a variety of formats
(ODF, HTML, PDF, RTF, Text, Office Open XML). Documents are automatically saved to
Google's servers, and a revision history is automatically kept so past edits may be viewed
(although this only works for adjacent revisions, and there is currently no way to find and isolate
changes in long documents). Documents can be tagged and archived for organizational purposes.
The service is officially supported on recent versions of the Firefox, Internet
Explorer, Safari and Chrome browsers running on Microsoft Windows, Apple OS X, and Linux
operating systems.

Google Docs serves as a collaborative tool for editing documents in real time. Documents can be
shared, opened, and edited by multiple users simultaneously. Users cannot be notified of
changes, but the application can notify users when a comment or discussion is made or replied
to, facilitating collaboration. There is no way to highlight changes made by a particular editor in
real time during a writing session, nor a way to jump to the changes made. However, an editor's
current position is represented with an editor-specific color/cursor, so if another editor happens
to be viewing that part of the document they can see edits as they occur. Also, the revision
10
history included in the service allows users to see the additions made to a document, with each
author distinguished by color, but the entire document must be manually searched to find these
changes. The revision history feature only displays one edit at a time, i.e. only adjacent revisions
can be compared and users cannot control how frequently revisions are saved. The application
supports two ISO standard document formats: Open Document (for both opening and exporting)
and Office Open XML (for opening only). It also includes support for viewing proprietary
formats such as .doc and .xls.

Google Docs is one of many cloud computing document-sharing services. The majority of
document-sharing services require user fees. (Google Docs is free for individuals, but has fees
for business starting at $5/month.) Its popularity amongst businesses is growing due to enhanced
sharing features and accessibility. In addition, Google Docs has enjoyed a rapid rise in popularity
among students and educational institutions.

In September 2009, an equation editor was added which supports the LaTeX format; however,
Google Docs lacks an equation numbering feature.

A simple find and replace tool is available; there was no ability to do the search in a reverse
direction in the original release, but a later version allowed reverse search and reverse replace.

Google Cloud Connect is a plug-in for Windows Microsoft Office 2003, 2007 and 2010 that can
automatically store and synchronize any Microsoft Word document, Power Point presentation,
or Excel spreadsheet to Google Docs in Google Docs or Microsoft Office formats. The Google
Doc copy is automatically updated each time the Microsoft Office document is saved. Microsoft
Office documents can be edited offline and synchronized later when online. Google Cloud Sync
maintains previous Microsoft Office document versions and allows multiple users to collaborate
by working on the same document at the same time. However, Google Cloud Connect has been
discontinued as of April 30, 2013, as Google Drive achieves all of the above tasks, with better
results.

Google Spreadsheets and Google Sites also incorporate Google Apps Script to write code within
documents in a similar way to VBA in Microsoft Office. The scripts can be activated either by
user action or by a trigger in response to an event.

11
Google Forms and Google Drawings have been added to the Google Docs suite. Google Forms is
a tool that allows collecting information from users via a personalized survey or quiz. The
information is then collected and automatically connected to a spreadsheet with the same name.
The spreadsheet is populated with the survey and quiz responses.

Google Drawings allows users to collaborate creating, sharing, and editing images or drawings.
Google Drawings can be used for creating charts, diagrams, designs, flow-charts, etc. It contains
a subset of the features in Google Slides but with different templates. Its features include laying
out drawings precisely with alignment guides, snap to grid, auto distribution, and inserting
drawings into other Google documents, spreadsheets, or presentations.

On May 15, 2012, Research tool was introduced in Google Docs. This allows users to easily
access Google Search through a sidebar while editing a document.

On March 11, 2014, Google introduced add-ons for Google Docs and Sheets which allow users
to use third-party applications installed from the add-on stores to get additional features within
the main services.

CONCLUSION:

12
EXPERIMENT NO. 5
AIM: Study of collaboration using Google presentation.

THEORY: Google docs enable faculty and students to collaborate more efficiently and
effectively on papers, spreadsheets, and presentations.
Educational Objectives: To facilitate collaboration, provide timely feedback to help student
teams improve their work and to monitor student progress.
Ways to Facilitate Collaboration
Team projects
Several people can collaborate simultaneously. There’s never a need to keep track of several
versions of documents. The revision history features allows one to revert to previous versions of
the document, if needed. This also encourages more accountability since each “collaborator” on
the Google Doc can see exactly what they contributed. The auto-save feature ensures their work
will never be lost.
Providing feedback on team projects

Using the comments feature, you can add feedback in-text or in the margin of the Document.
This way, you can give feedback in your own timeframe and don’t have to worry about
coordinating group meetings. You can also hold “online office hours” using the chat function if
you wish to talk to students about their work.
Full class collaboration

Share a Google Doc with the whole class to coordinate group projects and presentation signups.
Or, create a venue for interactive brainstorming. Encourage students to share their work with the
class to allow others to see their ideas and get feedback.
Create

To create a document, spreadsheet, or presentation, sign into Google Docs@ABC From ABC
Links. Click the “Create” button, and select Document.
Edit

13
A new window will open with your document in it. You will immediately be able to edit the
document. It can be renamed by selecting “File” and then “Rename,” or simply clicking on
“Untitled document” at the top of the document.
Share

Click “Share” in the upper right hand corner to start collaborating. Anyone you share with will
be able to edit, rename, format, and contribute to the document (unless you specify that they can
only view it). Sharing settings allow you to decide whether other people can edit or simply view
the document. Once you’ve typed in the email addresses of everyone you’d like to share the
document with, you can click “Add message” if you Would like to say something about what
you’ve just shared.
Comment

The comments feature makes it easy to see who is making suggestions. Any comments or
changes will appear in real-time for everyone to see.

CONCLUSION:

14
EXPERIMENT NO. 6
AIM: Study of scheduling and task management using Google calendar.

THEORY: Are you a Google Apps for Business or Education user? You are if you see
Rooms, etc. link in the Add Guests box when you're creating a Calendar event. If you have
the Rooms, etc.

Got a conference room, office hours, or a basketball court that you want to make available to
others? Google Calendar makes it easy for you to share your available resources with the "Auto-
accept invitations" feature. To learn more about this feature and the different acceptance levels,
please visit what’s "Auto-accept invitations"?

For assistance enabling this feature, we've provided sample instructions to create a resource
calendar for "Conference Room B."

To enable the "Auto-accept invitations that do not conflict" level, please refer to the following
steps:

1. Create a secondary calendar named "Conference Room B."


2. In the calendar list on the left, click on the down-arrow button next to "Conference Room
B," select Calendar settings and scroll down to the "Auto-accept invitations" section.
3. Select Auto-accept invitations that do not conflict.
4. Click Save.
5. Click the down-arrow next to the calendar you created and select Share this calendar.
6. Enter the email addresses of the users with whom you wish to grant access to your resource.
7. Select the desired shared permission level.
8. Click Save.

To enable the "Automatically add all invitations to this calendar" level, please follow the
instructions below:

1. Create a secondary calendar named "Conference Room B."


2. In the calendar list on the left, click on the down-arrow button next to "Conference Room
B," select Calendar settings and scroll down to the "Auto-accept invitations" section.

15
3. Select Automatically add all invitations to this calendar.
4. Click Save.
5. Share the calendar's email address with those who don't have access to the calendar. (You
can find the calendar's email address in the "Calendar Address" section of the individual
Calendar Settings page.)
6. If you'd also like to allow others to view events on this calendar, click on the down-arrow
next to the calendar you created and select Share this calendar.
7. Enter the email addresses of the users with whom you wish to grant access to your resource.
8. Select the desired shared permission level.
9. Click Save.

Please note that the "Auto-accept invitations" feature only works on secondary calendars at this
time.

CONCLUSION:

16
EXPERIMENT NO. 7
AIM: Study of cloud based photo sharing using Flickr.

THEORY:
1. We want to help people make their photos available to the people who
matter to them.
Maybe they want to keep a blog of moments captured on their camera phone, or maybe they
want to show off their best pictures or video to the whole world in a bid for web celebrity. Or
maybe they want to securely and privately share photos of their kids with their family across the
country. Flickr makes all these things possible and more!

To do this, we want to get photos and video into and out of the system in as many ways as we
can: from the web, from mobile devices, from the users' home computers and from whatever
software they are using to manage their content. And we want to be able to push them out in as
many ways as possible: on the Flickr website, in RSS feeds, by email, by posting to outside blogs
or ways we haven't thought of yet. What else are we going to use those smart refrigerators for?

2. We want to enable new ways of organizing photos and video.


Once you make the switch to digital, it is all too easy to get overwhelmed with the sheer number
of photos you take or videos you shoot with that itchy trigger finger. Albums, the principal way
people go about organizing things today, are great -- until you get to 20 or 30 or 50 of them.
They worked in the days of getting rolls of film developed, but the "album" metaphor is in
desperate need of a Florida condo and full retirement.

Part of the solution is to make the process of organizing photos or videos collaborative. In Flickr,
you can give your friends, family, and other contacts permission to organize your stuff - not just
to add comments, but also notes and tags. People like to ooh and ahh, laugh and cry, make
wisecracks when sharing photos and videos. Why not give them the ability to do this when they
look at them over the internet? And as all this info accretes as metadata, you can find things so
much easier later on, since all this info is also searchable.

Flickr continues to evolve in myriad ways, all of which are designed to make it easier and better.
Check out the Flickr Blog to stay apprised of the latest developments. The fact that you've read

17
to the end of this entire document and are hanging out at the bottom of this page with nothing but
this silly text to keep you company is proof of a deep and abiding interest on your part.

CONCLUSION:

18
EXPERIMENT NO. 8
AIM: Study of web based communication tools using Gmail Google talk and Skype.

THEORY:
FEATURES
Gmail was originally launched with 1 GB of storage space.

On April 1, 2005, the first anniversary of Gmail, the limit was doubled to 2 GB. Georges Harik,
the product management director for Gmail, stated that Google would "keep giving people more
space forever."

On April 24, 2012, Google announced the increase of free storage in Gmail from 7.5 GB to 10
GB ("and counting") as part of the launch of Google Drive.

On May 13, 2013 Google announced the overall merge of storage across Gmail, Google Drive,
and Google+ Photos allowing users 15 GB of free storage between the three services.

Users can buy additional storage, shared between Gmail, Google Drive and Google+ Photos,
through a monthly subscription plan. Storage of up to 15 GB is free, and paid plans are available
for up to 30 TB.

Gmail Labs

The Gmail Labs feature, introduced on June 5, 2008, allows users to test new or experimental
features of Gmail, such as bookmarking of important email messages or custom keyboard
shortcuts. Users can enable or disable Labs features selectively and provide feedback about each
of them. This allows Gmail engineers to obtain user input about new features to improve them
and also to assess their popularity and whether they merit developing into regular Gmail features.
All Labs features are experimental and are subject to termination at any time.

Tabbed inbox

In mid-2013, Google updated the Gmail inbox with tabs which allow the application to
categorize the user's emails. The five tabs are: Primary, Social, Promotions, Updates, and
Forums. These tabs also appear in Gmail's mobile version. In addition to customization options,
the entire update can be disabled, allowing users to return to the traditional inbox structure.

19
Spam filter

Gmail's spam filtering features a community-driven system: when any user marks an email
as spam, this provides information to help the system identify similar future messages for all
Gmail users. Users may tune the system to allow mail marked as spam to be handled in particular
ways.

Gmail Mobile

Gmail Mobile is a version of Google's Gmail email service. It was released on December 16,
2005, and is available in more than 40 languages. It is a free service, developed to provide access
to Gmail from mobile devices such as cell phones, or smart phones. Gmail Mobile offers many
of the features as Gmail delivered effectively to smaller, mobile screens.

On September 22, 2009 Google added push support to its Gmail service using Google
Sync for iPhone and iPod Touch platforms.

Social Network Integration

On February 9, 2010, Google commenced their new service, Google Buzz, which integrated with
Gmail allowing users to share links and media, as well as status updates. Buzz was launched with
an automatic opt-in, causing uproar in the Gmail community which led Google to quickly undo
its initial moves. Buzz was discontinued in December 2011 in favor of Google+.

Google+, which was launched on June 28, 2011 as Google's latest social networking application,
integrates further into Gmail than Google Buzz: Google+ profile icons appear in the headers of
emails received in Gmail and Google+ circles appear in the Contacts section. As of August
2012, Google+ Hangouts allows multi-user videoconferencing for users, replacing Gmail's video
chat function.

As of January 2014, Gmail allows users to send emails to people who have Google+ accounts,
even if they don't have each other's email addresses.

Google Drive integration

Gmail integrates with Google Drive to allow users to view files received as attachments in
supported formats using the Google Drive viewer. Also, attachments are previewed within the

20
message itself, and clicking on the preview opens up a full-screen view of the file. Users can also
save the attachments directly to Google Drive.

Google Voice in Gmail chat

In August 2010, Google released a plug in that provides integrated telephone service within
Gmail's Google Chat interface. This service initially lacked an official name, with Google
referring to it as "Google Voice in Gmail chats" and also "Call Phones in Gmail", but is now
called Google Video and Voice Chat. The service allows people to make free calls from their
Gmail account to U.S. and Canada, at least through the end of 2012. Gmail account users can
also call other countries on a fee basis. The service logged over 1 million calls in 24 hours on 26
August 2010.

Google Voice multi-way videoconferencing (with support for document sharing) is now
integrated with Google+ Hangouts.

Gmail Search

Gmail incorporates a search bar for searching emails. The search bar can also search contacts,
files stored in Google Drive, events from Google Calendar, and Google Sites. It can also make
web searches via Google Search. On May 21, 2012, Gmail improved the search functionality to
include auto-complete predictions from the user's emails. As with a web search, Gmail's search
functionality does not support searching for word fragments (also known as 'substring search'),
although it does perform partial-string stemming (e.g. searching for 'month' will turn up an email
that includes the term 'months').

Language input

As of October 2013, Gmail supports handwriting input for 75 languages after Google introduced
the Transliteration, Input Method Editor (IME), and Virtual Keyboard input tools to Gmail's
settings. The update allows Gmail users to switch between over 100 virtual
keyboards and transliterations that support languages such as Hebrew, Thai, and Arabic.

Money transfer and payment options

At the Google I/O 2013 conference, held on May 15, 2013, Google announced a feature that
allows Gmail users to send money as email attachments via Google Wallet. Google then
explained in a blog post:
21
Google Wallet is now integrated with Gmail, so you can quickly and securely send money to
friends and family directly within Gmail — even if they don’t have a Gmail address. It’s free to
send money if your bank account is linked to Google Wallet or using your Google Wallet
balance, and low fees apply to send money using your linked credit or debit card.

Google planned to roll out the feature "over the coming months" following the announcement.

Prior to the launch of the email attachment feature, the corporation's plan to introduce a physical
Google Wallet card was publicized in 2012, but the project was abandoned due to logistical
problems and following the departure of the head of the Wallet team in early May
2013. Following the Google I/O announcement, Google then reintroduced the card product in the
US on November 21, 2013 as a debit card for Wallet accounts (the initial concept was a unifying
card that could represent all of the user's credit cards)—the Digital Trends website described it as
"essentially a standard debit card that you can use to pay with things using your Google
balance." As of December 2013, the card was free to obtain and the shipping period was around
14 days.

Google Talk:

Google Talk is an instant messaging service that provides both text and voice
communication. The instant messaging service is colloquially known as "gtalk" or "gchat" to its
users, although Google does not endorse this name.
Google Talk is also the name of the client applications previously offered by Google to use the
service. Google Talk applications were available for Microsoft Windows (XP, Server
2003, Vista, and Windows 7), Android, Blackberry, and Chrome OS operating systems. A
Google Talk web app had also been previously available for Android. In 2013, Google replaced
Google Talk client software offerings with those of Google+ Hangouts.
Because the Google Talk servers communicate with clients using an open protocol, Extensible
Messaging and Presence Protocol XMPP, the service can also be used with any other client that
supports XMPP. Such clients are available for a number of operating systems not supported by
the Google Talk client.
Google Talk used extensions to XMPP for voice/video signaling and peer-to-peer
communication. As of August 2012, Google Talk’s implementation differs slightly from the draft
XMPP Jingle specifications. In 2012, Google had stated that an update was under way. Since
May 2013, support for the XMPP instant messaging protocol is dropped

22
SKYPE:
Skype is a free voice-over-IP service and instant messaging client, currently developed by
the Microsoft Skype Division. The name was derived from "sky" and "peer".

Skype was first released in August 2003. It was created by Janus Friis (Denmark) and Niklas
Zennström (Sweden) in cooperation with Ahti Heinla, Priit Kasesalu, and Jaan Tallinn (Estonia),
who supplied the backend which was also used in Kazaa. Skype had 663 million registered users
as of the end of 2010.[18] It was bought by Microsoft in 2011 for $8.5 billion. Microsoft's Skype
division headquarters is in Luxembourg, but most of the development team and 44% of the
overall employees of the division are still situated in Tallinn and Tartu, Estonia.

The service allows users to communicate with peers by voice using a microphone, video by
using a webcam, and instant messaging over the Internet. Phone calls may be placed to recipients
on the traditional telephone networks. Calls to other users within the Skype service are free of
charge, while calls to landline telephones and mobile phones are charged via a debit-based user
account system. Skype has also become popular for its additional features, including file transfer,
and videoconferencing. Competitors include SIP and H.323-based services, such
as Linphone and Google Hangouts.

Unlike most other VoIP services, Skype is a hybrid peer-to-peer and client–server system. It
makes use of background processing on computers running Skype software, and this is reflected
in Skype's original proposed name of Sky Peer-to-Peer.

CONCLUSION:

23
EXPERIMENT NO. 9
AIM: Implementation of chat application using JAVA.

THEORY: A client/server system is intended to demonstrate how to build applications using


just the streams available in the standard API. The chat uses TCP/IP sockets to communicate,
and can be embedded easily in a Web page.
Building a chat client

We start with a simple graphical chat client. It takes two command-line parameters -- the server
name and the port number to connect to. It makes a socket connection and then opens a window
with a large output region and a small input region.

Figure 1: Example result

The Chat Client interface

After the user type’s text into the input region and hits Return, the text is transmitted to the
server. The server echoes back everything that is sent by the client. The client displays
everything received from the server in the output region. When multiple clients connect to one
server, we have a simple chat system.

CONCLUSION:

24
EXPERIMENT NO. 10
AIM: Study of Windows cloud based services (Window Azure).

THEORY: Windows Azure Compute is the heart of Windows Azure, providing the online
processing time and hosting environments for your applications in the cloud. It is exposed
through hosted services deployable as a package to an Azure datacentre. This package provides
an organizational and security boundary for a related set of Compute resources.

1. It is an organizational boundary because the compute and connectivity resources used by the
hosted service are specified in its service model.
2. It is a security boundary because only compute resources in the hosted service can have direct
connectivity to other compute resources in the service.
A hosted service comprises a set of one or more roles, each of which provides specific
functionality for the service. A role is a logical construct made physical through the deployment
of one or more instances hosting the services provided by the role. More on roles in a moment.

Each instance is hosted in a virtual machine (VM) providing a guaranteed level of compute –
cores, memory, local disk space – to the instance. Based on your application requirements, you
subscribe to a Compute instance representing a virtual server with a given specification, as
shown in Table 1. Windows Azure offers various instance sizes from Small with one core to
Extra-Large with eight cores. The other compute parameters scale similarly with instance size.

An Extra-Small instance providing a fraction of a core on a shared infrastructure is currently in


beta.

Compute Instance Size CPU Memory Instance Storage I/O Performance Cost per hour

Extra Small 1.0 GHz 768 MB 20 GB Low $0.05

Small 1.6 GHz 1.75 GB 225 GB Moderate $0.12

Medium 2 x 1.6 GHz 3.5 GB 490 GB High $0.24

Large 4 x 1.6 GHz 7 GB 1,000 GB High $0.48

25
Compute Instance Size CPU Memory Instance Storage I/O Performance Cost per hour

Extra Large 8 x 1.6 GHz 14 GB 2,040 GB High $0.96

Table 1: Windows Azure Compute Instance Specifications and Pricing


A role is the scalability unit for a hosted service since its horizontal and vertical scaling
characteristics are specified at the role level. All instances of a role have the same instance size,
specified in the service definition for the hosted service, but different roles can have different
instance sizes. However, the power of cloud computing comes not from vertical scaling through
changing the instance size, which is inherently limited, but from horizontal scaling through
varying the number of instances of a role. Furthermore, while the instance size is fixed when the
role is deployed the number of instances can be varied as needed following deployment. It is the
elastic scaling – up and down – of instance numbers that provide the central financial benefit of
cloud computing. Windows Azure provides three types of role:

 Web role
 Worker role
 VM role
Web roles and worker roles are central to the PaaS model of Windows Azure. The primary
difference between them is that IIS is turned on and configured for a web role – and IIS is
sufficiently privileged that other web servers cannot be hosted on a web role. However, other
web servers can be hosted on worker roles. Otherwise, there is little practical difference between
web roles and worker roles.
Web roles and worker roles serve respectively as application-hosting environments for IIS
websites and long-running applications. The power of PaaS comes from the lifecycle of role
instances being managed by Windows Azure. In the event of an instance failure Windows Azure
automatically restarts the instance and, if necessary, recycles it and spins a new VM. Similarly,
updates to the operating system of the VM can be handled automatically. Windows Azure also
automates role upgrades so that instances of a role are upgraded in groups allowing the role to
continue providing its services albeit with a reduced service level.

Windows Azure provides two features supporting modifications to the role environment:
elevated privileges and start-up tasks. When running with elevated privilege, an instance has full

26
administrative control of the VM and can perform modifications to the environment that would
be disallowed under the default limited privilege. Note that in a web role this privilege escalation
applies only to the process hosting the role entry point and does not apply to the separate process
hosting IIS. This limits the risk in the event of a website being compromised. A start-up task is a
script that runs on instance start-up and which can be used, for example, to ensure that any
required application is installed on the instance. This verification is essential due to the stateless
nature of an instance, since any application installed on an instance is lost if the instance is
reimaged or moved to a new VM.

The VM role exists solely to handle situations where even the modifications to a web or worker
role possible using start-up tasks and elevated privileges are insufficient. An example would be
where the installation of an application in a start-up task takes too long or requires human
intervention. Deployment to a VM role requires the creation and uploading of an appropriately
configured Windows Server 2008 guest OS image. This image can be configured as desired up to
and including the installation of arbitrary software – consistent with any licensing requirements
of that software. Once deployed, Windows Azure manages the lifecycle of role instances just as
it does with other role types. Similarly to the other role types, VM roles host applications – the
difference being that for a VM role the application is a Windows Server 2008 guest OS. For VM
roles, it is particularly important to be aware of the statelessness of the instance. Any changes to
an instance of a VM role are lost when the instance is reimaged or moved.

Data Storage Options


Windows Azure provides supports various forms of permanent storage with differing
capabilities.

 The Windows Azure Storage service provides cost-effective storage for up to 100 terabytes per
storage account.
 SQL Azure provides a hosted version of SQL Server scaling up to 50 gigabytes. It is very much
the intent that applications use both of these, as needed, with relational data stored in SQL Azure
and large-scale data stored in Windows Azure Storage. Both Windows Azure Storage and SQL
Azure are shared services with scalability limits to ensure that all users of the services get
satisfactory performance. The Windows Azure Storage Service supports blobs, queues, tables
and VHDs.

27
 Azure Blob supports the storage of blobs (Binary Large Objects, such as text or images) in a
simple two-level hierarchy of containers and blobs.
 Azure Queue supports the storage of messages in queues. These are best-effort FIFO queues
intended to support the asynchronous management of multi-step tasks such as when an image
uploaded by a web role instance is processed by a worker role instance.
 Azure Table is the Windows Azure implementation of a NoSQL database supporting the storage
of large amounts of data. This data is schema less to the extent that each entity inserted into a
table in Azure Table carries its own schema.
 Azure Drive uses a blob containing an appropriately created virtual hard disk (VHD) to provide
the backing store for an NTFS drive mounted on a compute instance. This provides the
appearance of locality for persistent storage attached to a compute instance.
The definitive way to access the Azure Storage Service is through a REST ful interface. The
Windows Azure SDK provides a Storage Client library which provides a high-level .NET
wrapper to the RESTful interface. For Azure Table, this wrapper uses WCF Data Services. Other
than to Azure Blob containers and blobs configured for public access, all storage operations
against the Azure Storage Service are authenticated with two factor authentication involving the
storage account name and key.
SQL Azure is essentially a hosted version of Microsoft SQL Server exposing many but not all of
its features. Connections to SQL Azure use the same TDS protocol used with SQL Server.
Individual databases can be up to 50GB in size. The storage of larger datasets can be achieved
through sharing (the distribution of data across several databases) which can also aid throughput.
Microsoft has announced the development of SQL Azure Federation services which will
essentially automate the sharing process for SQL Azure. All operations against SQL Azure must
be authenticated using SQL Server authentication.

Windows Azure also supports two types of volatile storage

 Local storage on an instance


 Windows Azure AppFabric Caching service
Local storage for an instance can be configured in the service model to provide space on the
local file system that can be used as desired by the instance. Local storage can be configured to
attempt a best attempt survival upon instance recycle but it does not survive instance reimaging.

28
The Windows Azure AppFabric Caching service essentially provides a managed version of the
Windows Server AppFabric Caching service (Velocity). It provides the core functionality of this
service including central caching of data with a local cache providing high-speed access to it.
The Windows Azure AppFabric Caching service also supports the caching of ASP.NET session
state for web roles.

Connectivity
Windows Azure supports various forms of connectivity;

 Input endpoints
 Internal endpoints
 Windows Azure AppFabric Service Bus
 Windows Azure Connect
A hosted service can expose between one and five input endpoints to the public internet. All
input endpoints use the single virtual IP address associated with the hosted service but each input
endpoint uses a different port. The virtual IP address assigned to the hosted service is unlikely to
change during the lifetime of the service but this is not guaranteed. All access to an input
endpoint is load-balanced across all instances of whichever role is configured to handle that
endpoint. A CNAME record can be used to map one or more vanity (custom) domains to the
domain name of the hosted service provided by Windows Azure. These vanity domains can be
handled by a web role and used to expose different websites to different domains.

An internal endpoint is exposed by instances of a role only to other instances inside the same
hosted service. Internal endpoints are not visible outside the service. These endpoints are not
load balanced.

The Windows Azure AppFabric Service Bus provides a way to expose web services through a
public endpoint in a Windows Azure data centre and consequently avoid compromising a
corporate firewall. The physical endpoint of the service can remain private and, indeed, can
remain behind a corporate firewall. The Windows Azure AppFabric Service Bus can be
configured to attempt the fusion of the client request to the public endpoint with the services
connection to the public endpoint and thereby allow a direct connection between the client and
the service.

29
Windows Azure Connect supports the creation of a virtual private network (VPN) between on-
premises computers and hosted services in a Windows Azure datacentre. This allows for hybrid
services with, for example, a web role exposing a website where the backing store is a SQL
Server database residing in a corporate data centre. This allows a company to retain complete
control of its data while gaining the benefit of using Windows Azure hosted services for its
public-facing services. Windows Azure Connect also facilitates the remote administration of
instances in a hosted service.

CONCLUSION:

30

You might also like