Sharing of Generic Single-user Application without Interference in a Cluster Abstract.

advertisement
2012 International Conference on Software and Computer Applications (ICSCA 2012)
IPCSIT vol. 41 (2012) © (2012) IACSIT Press, Singapore
Sharing of Generic Single-user Application without Interference in a
Cluster
Chen Guo, Cenzhe Zhu and Teng Tiow Tay
Electrical and Computer Engineering Department, National University of Singapore
Abstract. With increasing performance of general purpose computer and high speed communication,
cluster computing is becoming a promising research area. The trend in current computer technology also
points towards decreasing hardware and connection cost whereas software cost remains high and is now a
larger fraction of the overall computing budget. Application sharing is becoming a promising solution to
effectively reduce the overall cost of today’s computing. In this paper, we propose a novel application
sharing architecture for generic application sharing in a standard local area network. A middleware on top of
the operating system implements multiple-user management and resource management and provides a single
client view for the server. We provide a technique to extend single user software license for multiple user
usage and resolve the problem of working on proprietary operating systems. An App Share tool has been
implemented based on Microsoft Windows operating system. Performance has been evaluated on CPU
loading with multiple concurrent sessions. Our cluster application sharing system supports generic
applications, demonstrates good scalability and features true application sharing.
Keywords: application sharing, cluster computing, peer-to-peer, remote access, Windows operating
system
1. Introduction
Cluster computing is emerging as a result of availability of powerful computers and high-performance
networks. It is becoming a promising research area in computer science and technology [1]. Cluster creates a
single system image of resources on different personal computers in a local area network, and offers high
system availability and reliability through the redundancy of resources. Surveys show that the utilization of
CPU cycles of desktop workstations is generally less than 10% [2], and thus a computer is in general able to
provide services and resources for other users without adversely affecting its owner [8]. Moreover, the
current computer technology trend is that hardware and connection cost decrease whereas the cost of the
software remains high and is becoming a larger fraction of the overall computing budget [2]. The diverging
cost for software and hardware and the low usage of network and computer resources are the motivations of
software/application sharing. Furthermore, as software tends to be priced on the basis of the number of
copies installed, and thus if the software is rarely used, the organization can decide to purchase only a single
copy, have it installed on a given computer and then allows anyone who wants to use that application to
access it from where they are, instead of having to use the application only from the computer in which the
application is installed.
The main goal of our research is to design and implement a generic application sharing architecture as a
standard communication interface for application sharing in a clustering system. We provide a technique to
extend a single user software resource for multiple user usage. And our research aims to provide true
application sharing with good usability and scalability. A middleware on top of operating system is in charge
of the multiple-user management and resource management. It connects to the application server via only
one connection channel and behaves as an agent to coordinate multiple users’ assessments. A peer-to-peer
application sharing tool called App Share is implemented based on Microsoft Windows operating system.
101
Performancce evaluationn has been im
mplemented and analyseed on CPU loading
l
whenn a host shaares multiplee
concurrent sessions.
s
This paaper is organnized as folllows. In Seection 2, wee describe thhe system deesign of an applicationss
sharing cluster. In Secttion 3, we present
p
the methodology
m
y and implem
mentation off the App Sh
hare tool onn
Windows operating
o
sysstem to support concurreent applicatio
on sharing seessions. In S
Section 4, wee discuss thee
performance of App Shaare tool. In thhe last Sectioon, we provide concludinng remarks.
2. System
m Overviiew
2.1. Appp Share Cluustering System
Fig. 1 Cluster sysstem
As show
wn in Fig.1, each node with
w App Shaare in the clu
uster is calleed a peer. It ccan act as an
n applicationn
provider or//and as an appplication coonsumer. Alll these comp
puters are connnected via a high speed
d Local Areaa
Network. Computers
C
wiith App Sharre installed foorm a clusterr within the LAN
L
to facillitate all the handshaking
h
g,
message excchanging andd remote connnections thaat are exclusiive for App Share
S
users.
2.2. Appp Share Toool
Fig. 2 "Aggent" in betweeen clients and
d server operatting system
As illusstrated in Figg. 2, our Appp Share tool is
i on top of application
a
s
server
OS annd as an “ageent” betweenn
the client and
a server. Only one master
m
sessioon logs in to
t the appliccation server and accesses the hostt
Windows OS
O via termiinal service. All the taskks are carriees out by thhe “agent” fo
for multiple clients from
m
remote and local compuuters. It handdles tasks froom multiple clients and passes
p
them to the serverr. Therefore,,
the server sees
s
only onee remote dessktop sessionn and does work
w
for the “agent” onlyy. And the “agent” takess
over the reesponsibility of negotiattion with rem
mote clientss, forwards the input evvents to serrver OS andd
redirects thee display datta back to thee respective clients. Therrefore, it cann share singlee-user application amongg
multiple clieents withoutt violating anny licensing terms.
t
Fig.3 shows the syystem archittecture desiggn model of App Sharre tool. Sharring Permission Settingg
component allows the user
u to configgure which applications
a
to
t be offeredd for sharing via the Appllication Pooll
102
Managemennt. Query Seending is cappable of creaating a query
y for applicaation. Requesst Listening has an openn
port listeninng to the requuests broadcasted in the cluster.
c
Requ
uest Listeninng periodicallly processes the requestss
in the list by
b verifying whether all the relevantt conditions are met. When
W
all condditions are met,
m the Appp
Share Cliennt will launchh a remote session.
s
In thhe initializatiion phase, App
A Share cliient establish
hes a remotee
connection session withh session maanager in Appp Share Serv
ver. User sesssion is an abbstract venuee on an Appp
u
Once thhe user session moves to an establisshed state, user
u
interactss
Share Serveer that is asssigned to a user.
with the serrver and appllications from
m within thiss venue.
Figg. 3 System arrchitecture mo
odel of App Shhare
In the communicatio
c
on phase, keeyboard and mouse
m
input events are sent
s from thee App Share Client to thee
remote enddpoint on the App Sharre Server whhile graphic update data are receivved from an
n establishedd
graphics chhannel and iss sent to the display adappter of the App
A Share Client. [7] In App Share Server,
S
Dataa
stream conntroller is inn charge of multiplexinng and de-m
multiplexing the clients' and serverr's traffic. Itt
maintains thhe smooth exxecution of multiple
m
remoote user sessions of App Share system
m.
3. Impleementatioon of a Deemonstratting Systeem
App Shhare tool is the
t applicatioon to realizee the proposed peer-to-ppeer applicatiion sharing system. It iss
implementeed on Windoows XP 32-bbit operating system [5] in
i a LAN ennvironment. W
We have im
mplemented a
clustering syystem using multicast appproach.
After a new user session is creaated, a new client is added to data streeam controlller for startin
ng additionall
application.. There are thhree major prrogramming modules insside data streeam controlleer, namely th
he scheduler,,
MUX and DEMUX.
D
Annd there are two importaant control signals: Allocated Client IID and Focu
used Win ID..
Each client has at most one focusedd window. Data
D stream controller
c
keeeps track off the focused
d window ID
D
for each cllient. Accordding to the allocated cliient informaation determ
mined by thee scheduler, data stream
m
controller seends over thee focus winddow informattion to Serveer then follow
wed by the cllient's input events.
e
Fig. 4 Data
D stream co
ontroller
103
As shown in Fig. 4 above, data stream controller is in charge of multiplexing and de-multiplexing the
clients' and server's traffic. It maintains smooth executions of multiple remote user sessions of App Share
system.
Allocated client is the control signal for the steam multiplexer and de-multiplexer. At a time only one
client is enabled to transmit its input events and to receive the graphic updates from server. The allocated
client is determined by a scheduler. Clients' input events in the global channel including mainly the keyboard
and mouse inputs are buffered in an event queue of each client respectively. Currently our implementation of
the scheduler uses a round-robin scheduling algorithm which assigns time slices to each client in equal
portions and in circular order and handles all clients' events without priority. Each client may have one or
more applications running from the same sever, but at a time there is only one window focused by the client.
A focused window is the window the client is operating on currently.
Focused window information is extracted from the network packet flow of the virtual channel in RDP [3].
The channel ID is determined by the negotiation between client and server during the RDP connection
sequence. Focused window information is carried in the virtualChannelData field with the format "focus,
win ID, flags". [4] The channel data is directed by the terminal service in Windows OS to the Server
endpoint for further process. If it comes to a client's turn by the scheduler, its "focus, Win ID" will be send to
Server via virtual channel by App Share Server. And subsequently, the input events of the client will be
forwarded to operating system by App Share Server.
4. Results and Discussion
The single user licensing problem [6] of application sharing is solved in our current approach App Share
by establishing only one RDP connection accessed by a master login of App Share Server. The App Share
Server sits in between the App Share client and Server OS as a broker. So, when a client want to launch a
remote application from the Server, the application will be open under the same user account which is the
one established by App Share Server. Therefore, with our application sharing tool, as long as there is one
user license for the software, it can be shared among multiple clients without violating any licensing terms.
The user interface of App Share and the screen shot of configuration of share/un-share an application are
shown in Fig. 5 below.
Fig. 5 Screen shots of the demonstrated App Share
Our test bed is set up in a LAN consisting of ten computers with App Share system and identical system
environment configurations. All PCs are Pentium 4 3.0GHz machines with 512MB physical memory running
Windows XP professional SP3. The performance evaluation is mainly focused on describing the impact of
increasing the number of remote application sessions on the memory consumption of a host computer
running App Share.
In the experiment we test on a single host machine running multiple remote application sessions of
WordPad.exe. This analysis helps us to evaluate the memory performance of the computer and determine the
maximum concurrent session to be accepted on the machine. This testing is conducted using a host computer
with App Share tool deployed. The performance data is obtained through the performance analysis tool
implemented in Windows Task Manager. We have use a control session as a reference whereby the data is
104
captured whhen no remotte session is taking placee. The data iss being recorrded every tiime an additiional remotee
session is laaunched from
m a client com
mputer and the
t result is shown
s
below
w.
The loaad analysis off App Share tool (Fig. 6)) shows that additional reemote desktoop connection
n results in a
linear increase of the coommit chargge on host coomputer. Thee increment of
o commit charge is very
y small withh
increasing number
n
of concurrent
c
reemote sessioons. In addittion, the avaailable physiical memory
y of the hostt
computer iss almost nott affected byy the multiple remote seessions. Thiss is because there is only one RDP
P
connection established and maintainned by App Share Serveer. Then eacch additionall application launched att
host compuuter is invokeed by Server in the same way as using
g cmd.exe att host compuuter. As a result, startingg
a new application sesssion, the opperating systtem only alllocates the necessary m
memory reso
ource to thee
application process runnning within the
t same user. The operating system does
d
not neeed to reserve the memoryy
for multiplee RDP sessioons which connsumes mucch more mem
mory than witthin one RDP
P connection
n session.
Load perrformance
e analysis
Memory (KB)
400000
300000
200000
Availaable physical
memo
ory
Total kernel memory
100000
Paged
d kernel memo
ory
Total commit chargge
0
0
2
4
6
8
No. of Re
emote Sessions on Host Co
omputer
10
F 6 Memoryy performancee analysis on App
Fig.
A Share too
ol with multiplle concurrent rremote sessions
5. Concllusion
We havve designed and implem
mented a noovel generic application sharing arcchitecture ass a standardd
communicaation interfacce for applicaation sharingg in a clusterring system. We providee a techniquee to extend a
single user licensed sooftware resouurce for muultiple user usage
u
withouut modifyingg the operatting system..
w
inteerfering with
h each otherr
Furthermoree, applicatioons are acceessed remoteely by multiiple clients without
including thhe owner application.
a
O cluster application sharing sysstem supporrts generic applications,
Our
a
,
demonstratees good scalaability and feeatures true application
a
sh
haring.
6. Referrences
[1] Buyya, R. (2000). A Proposal for Creating
C
a Coomputing Reseearch Repositoory (CoRR, htttp://www.arX
Xiv.org/) on
Cluster Computing. Monash
M
Univeersity, Melbouurne, Australia.
N
d Cluster Com
mputing. Retrieved on 10 Feeb 2012, from
m University off Southern
[2] Hwang,, K. (2000). Network-Based
Californnia: http://ww
ww-classes.uscc.edu/engr/ee-s/657h/clusterrbasic.pdf
[3] Window
ws Terminal Service.
S
Retrieeved on 10 Feeb, 2012, from
m
www.m
microsoft.com//windowsservver2003/technoologies/termin
nalservices/deefault.mspx
[4] SeamlessRDP. Retrieeved on 10 Feeb, 2012, from
m Cendio Thin
nLinc: http://w
www.cendio.coom/seamlessrd
dp/
S
2003 Terminal
T
Serviices, Microsofft Corporationn. Retrieved on 10 Feb,
[5] Techniccal Overview of Windows Server
2012, frrom http://ww
ww.microsoft.ccom/windowssserver2003/teechinfo/overviiew/termserv.mspx
[6] Licensee Terms. Retriieved on 10 Feeb, 2012, from
m Microsoft:
www.m
microsoft.com//About/Legal//EN/US/IntelllectualProperty
y/UseTerms/D
Default.aspx
[7] MSDN. MS-RDPBC
CGR. Retrieved on 10 Feb, 2012,
2
from Reemote Desktop Protocol: Basic Connectivity and
Graphiccs Remoting Specification:
S
http://msdn.m
microsoft.com
m/en-us/libraryy/cc240445(v=
=prot.10).aspx
x
[8] Omer, B.,
B & Henningg, S. (2008). BASS
B
Applicaation Sharing System. 10th IEEE Internattional Symposium on
Multim
media.
105
Download