Sign up & Download
Sign in

Web-based Software Management System

by Sungjoo Kang, Moon Young Chung, Kyong I Ku, Won Young Kim, Wan Choi
mnetskkuackr (2008)

Cite this document (BETA)

Available from mnet.skku.ac.kr
Page 1
hidden

Web-based Software Management System

Web-based Software Management System

Sungjoo Kang, Moon Young Chung, Kyong I Ku, Won Young Kim, Wan Choi
Electronics and Telecommunications Research Institute, Dae-jeon, Korea
{sjkang | mchung | kiku | wykim | wchoi}@etri.re.kr


Abstract  In this paper1, we propose a web-based software
management system (WebSMS) for providing the device-
independent software execution environment to users. We
classify software into three types based on the software execution
mechanism – local software, streaming software and portable
software. The proposed system merges heterogeneous software
execution modules and provides web-based interface. And it
minimizes the dependencies among components and provides
seamless software using interface for users.

Keywords  Software Management System, Software
Execution Mechanism, Unified Interface, Ruby on Rails

1 Introduction

People use computers for a variety of uses. They create
documents with Open Office, make a presentation with
Microsoft PowerPoint, or watch a movie with GOM Player.
They also connect to the web site with Fire Fox web browser
or communicate with each other through MSN Messenger. In
other words, people use computing devices for doing
something with contents by executing software. We
summarize this in one sentence, “User manages contents using
software on devices.”
In this paper, we use four key components – user, content,
software and device for explaining the objective of the system.
We first analyze relations and dependencies among key
components and design a web-based software management
system (WebSMS) that minimizes dependency of components.
This system unifies several heterogeneous software execution
mechanisms and provides them for user in a web-based
interface.
We introduce several software execution mechanisms. First
of them is local software execution. In common case of using
software, user installs software in the computing device. Then
the user can use that software until he uninstalls it. Second
type is the software streaming. Software streaming is one of
the ASP (Application Service Providing) solution that allows
the execution of stream-enabled software on desktop, even
while the transmission of the full software program from the
server may still be in progress [1][2]. Third thing is executing
the portable software. There are several researches and
products about this software distribution solution. Klik[3]
creates self-contained packages of the original application
downloadable from the web with a single click. SVS

1 This work was supported by the IT R&D program of MIC/IITA.
[2007-S-015-01, Development of a Personalized SW Service
Platform on Movable Disk Devices]

(Software Virtualization Solution)[4] which is developed by
Altiris also provides the solutions that repackaging the
common software to portable one.
In this paper, we propose the web-based software
management system (WMS) that merges these software
execution methods and provides device-independent software
execution environment. Device-independent means that user
can execute software or contents at any time regardless of the
installation of the software for the content in that device. This
can be possible by unifying module and interface of the system.
User connects this system through the web browser, because
the system is web-based system which has the web server and
database management system in it. Then the user can see the
list of software of the local system and contents on the storage
device. These lists are based upon the information of the
database that is pre-analyzed data by the digging module. This
module analyzes the list of software and registered (and
well-known) extensions of the local system and records them
on the database when the WMS operates first time. So if a user
request for the execution of the content through the web
browser, the WMS system firstly finds the software which can
execute the content that the user selects. Then the system
provides the software by the most suitable software execution
method. Maybe the system will execute the local software if
the software is installed in the local computing device. But if
there is no suitable software to execute content on the local
machine, the system will take the software from the remote
software streaming server, or find whether the portable
software exists on the portable storage device. In addition, the
user can use software and contents without a perception about
the software execution mechanism, by the web-based interface.
Ultimately this system will contribute to provide the
device-independent software execution environment and to
seamless software using interface for users.
The rest of the paper is organized as follows. Section 2
introduces the components and their dependencies. In Section
3, we present the design of web-based software management
system. Section 4 shows the implementation of the system and
section 5 concludes the paper.

2 Components and Dependencies

2.1 Key Components
We use four key components for explaining the system.
First component is User. User is the one who uses computing
device. They use one or more computers in their works.
Additionally, we assume that the user has one portable storage
device. User creates contents using software and stores them
in the storage of the computers or the portable device.
ISBN 978-89-5519-136-3 -1755- Feb. 17-20, 2008 ICACT 2008
Page 2
hidden
Software, the second component, is the program that is
executed alone or with contents. In common case, software is
installed in the storage device and running on the memory of
the computing device.
Third component is Content, which is data file made by user
with software. Content has the unique extension (ex. doc, exe,
txt, mp3). This is the information of the related software that
can execute the content, or sometimes the type of the content.
Contents can be stored in the PC’s hard disk drive or portable
USB memory stick.
We divide the last component, Device, into two types;
computing device and storage device. Computing device (or
computer) is the machine which can execute software. On the
other hand, the storage device can’t execute software, but it
stores contents or software in it. And using the portable
storage device, contents can be moved from one computer to
another.

2.2 Dependencies
Dependencies are limitations that the one cannot do
anything without the other. We find that there are several
dependencies among key components. Table 1 summarizes
the dependencies.
Table 1. Dependencies among key comopnents
ID Dependency
Dep1 Software must be installed (or copied) in the computing
device.
Dep2 Content can be executed when its software is installed in
the computing device.
Dep3 User must use solution-dependent software execution
interface.
Dep4 Software can not be carried with the portable storage
device.

Dep1 is a dependency between software and device.
Commonly, it is obvious that software must be installed in the
computer system for using it. But some technologies like
software streaming and software virtualization make it
possible to use software without an installation. Dep2 is a
dependency among content, software and computing device.
In short, if the software for content is not installed in the local
computing device, content file cannot be open. Dep3 is the one
for a user. Although there are several software execution
mechanisms provide the method to execute software without
an installation, the user executes them through their own
interface. Dep4 is a dependency between software and a
portable storage device. Ordinary, software is installed in the
storage device that is attached to the computing device.
Although it is possible to install software in the portable
device, that software cannot be executed on the other
computing device.

3 Web-based Software Management System

3.1 Case Study
In this section, we assume the situation for happening
dependencies and design the web-based software management
system which minimizes the dependencies using unified
software execution module and interface. Let’s assume
following cases.

Case #1: User (U1) has totally three computing device at the
home (D1), the office (D2) and the laptop (D3), respectively.
And he always carries the portable USB memory device (D4).
He has eight content files (C1~C8). They are scattered on the
devices and some of them are overlapped. And he installed
several software (S1~S5) in the computing devices. All of the
software is not installed in all computing devices. Figure 1
shows the situation.



Figure 1. Situation of the Case #1 (without the proposed system)

In the figure 1, we easily find the dependencies between
content and software (Dep2) . When the user wants to open the
content C1 (C1.s1 means S1 is essential for C1) of the USB
device D4 at the home (D1), it opens well because there is
software S1 is installed in the device D1. But if the user tries to
open C5 on the USB at the home, it doesn’t open because of
the absence of S3 in the D1. If he wants to use the content C5
at the home, he must install the suitable software S3 in the D1
(Dep1). But he will face to the same situation, when he tries to
open the content C5 at the device D3. Let’s assume that if he
installs S3 in the USB device D4 when D4 is attached to D1. In
this case, it runs well somehow at the D1, but it can’t run at the
D3 because the information of the installation is stored in the
device D1 (Dep4).



Figure 2. Situation of the Case #2 (with the proposed system)

Case #2: All the components are same as case 1, but there is
the proposed system between user and other components. The
ISBN 978-89-5519-136-3 -1756- Feb. 17-20, 2008 ICACT 2008
Page 3
hidden
system provides the software execution interface to user and
manages the information of the contents and software of each
device. Also it merges the three software execution
mechanism.

3.2 Software Execution Mechanism
In this subsection, we will examine more about the software
execution mechanism and find the way to merge them in the
next subsection. There are three software execution methods –
local software execution, creating and executing portable
software, and software streaming. Differences among three
methods are the form of the executable code, the stored
location of the software, and the way to find the location of the
executable code.
Local software is installed by the installation tool that is
produced by the software developer. During the installation,
the information of the software is recorded in the ‘registry’.
This information includes the way to run software, the location
of the installed software, and the relation between software
and executions of the content, and so on. The installed
software commonly is stored in the program files directory of
the storage device. Because the information in the ‘registry’
and the installed software itself are tightly coupled, the copied
software that are just copied from one computer’s program
directory to the other computer do not execute well.
The key technology of the portable software execution is to
make the installed software portable. The portable-enabled
software is repackaged software from the installed software.
And portable software execution engine creates the virtual
registry of the software that has the information of the installed
software.
The software streaming enables [5] a user to execute
applications without an installation. The main components of
the software streaming are the streaming-enabled software, the
streaming server and the client engine. The streaming-enabled
software is converted software from the installed software that
can be transmitted by the streaming method. The streaming
server and the client engine communicate with each other to
provide the software streaming technology.

3.3 System Design
We design the web-base software management system
(WebSMS) that provides merged software execution
mechanism and unified software execution interface to user.
Figure 3 shows the concept of WebSMS.
Each software execution mechanism has its own execution
module. WebSMS merges the execution modules of each
software execution mechanism. Figure 4 shows the system
design.
When the system operates first time, digging module
analyzes the system registry and extracts the lists of software
that are installed in the local system. Also it finds the
information that which extensions are registered in the local
system. These are recorded in the database.
WebSMS Service provides web pages to users. If a user
requests for the software that is listed on the web page, then
WebSMS Service queries the software. If the software is the
local software, then WebSMS calls the Local Software
Execution Module. To execute the local software, it is
necessity for the execution path of the software. This
information is already stored in the database by the analyzing
process of the digging module.



Figure 3. Concept of WebSMS

If the requested software is the streaming software,
WebSMS queries the software’s ID and reports it to Streaming
Software Execution Module. Then, this module connects to
the streaming server, and takes the streaming software by the
streaming protocol. The case of using the portable software is
the same.


Figure 4. System Design

If a user requests for the content that is listed on the web
page, then WebSMS Service queries the extensions of the
content and finds the profit software to execute that content. If
the software is installed in the local system, WebSMS Service
executes it first. If the software is not in the local software, the
system will query whether the software exists on the streaming
server or the portable storage device or not.

4 Implementation
4.1 Web-based System: Ruby On Rails
The proposed system is a web-based system. So the
implementation of the system is divided two sides; client and
server. Client side programming is related to the user interface.
We use ext-js library for client side programming [6]. Server
ISBN 978-89-5519-136-3 -1757- Feb. 17-20, 2008 ICACT 2008
Page 4
hidden
side programming is the data processing and functions related
with the user’s requests. We deploy the Ruby On Rails (RoR)
web development framework [7]. RoR deploy the
Model-View-Controller (MVC) paradigm to develop the agile
web program. We design and implement our system under the
philosophy of the MVC paradigm.
The advantage of the web-based system is as follows. First,
the system is platform independent. The server side program
can be operated on any vender’s web server. Second, the client
program is unnecessary. Most of the computer has at least one
web browser. Client side program that follows the W3C
standard can be run on any web browser.

4.2 Data Modeling
We first define the data model. The role of the model in
MVC is managing the input and output of data from/to
database. Table 2 shows data model of the WebSMS.
Table 2. Data Model
Model Description Data
Users The one who use the system id, password, name,
history, etcs.
Hosts The list of computing device that
the system ever attached
id, name, history,
etcs.
Currenthost The computing device that the
system is attached
host_id, size, path,
etcs.
Softwares The list of software of the system
knows
id, name, type, path,
history, etcs.
Executions The execution path of the
software
software_id,
priority,
extension_id, , etcs.
Extensions The list of extensions of the
system knows
extension, host_id, ,
etcs.
Yourfiles The list of contents that the
system has
name, extension,
history, etcs.


4.3 Controller
Controller takes a role for processing the request of the user
through the web browser. When the web browser requests data
by calling URL, the controller prepares the requested web
page and data and transmits it to the web browser. Table 3
shows the controller of the WebSMS.
Table 3. Controller
Controller Description
software_data makes the list of executable software
center_data receive the list of streaming software from the server
search_result shows the result of searching software by user
launchHostApp launch Local Software Execution Module when the
requested software is the local software
launchStreamingApp launch Streaming Software Execution Module when
the requested software is the streaming software
launchPortableApp launch Portable Software Execution Module when
the requested software is the portable software
launchFile analyze the extension of the contents and find the
suitable software execution mechanism

4.4 View and User Interface
View provides the user interface of the system. Figure 5
shows the screen shot of the WebSMS (product name:
YouFree [8]). User sees all of the software that he can execute
and requests the executing it through the web browser.



Figure 5. User Interface of the WebSMS service

5 Conclusion
In this work, we proposed a web-based software
management system (WebSMS) for providing seamless
software using interface for user. We first classify the
components (User, Software, Content and Device) of the
possible scenario when we use software and content with
many computing devices. Then we find that there are several
dependencies that current system can not solve. To minimize
the dependencies, we deploy three types of software execution
mechanism – local software execution, software streaming
and portable software execution. WebSMS merges them into
the single system and provides web-based interface to users.
Because the proposed system is web-based system, the system
is platform independent, and the only program required in the
client is web-browser. The implementation of the works shows
that the system minimizes the dependencies among
components and provides seamless software using interface
for users.

REFERENCES
[1] P. Kuacharoen, V. J. Mooney and V. K. Madisetti, “Efficient Execution
of Large Applications on Portable and Wireless Clients,” Proceedings of
the Mobility Conference & Exhibition, Aug. 2004.
[2] T. Pavlidis, “Fundamentals of X programming: graphical user interfaces
and beyond,” New York, NY, Kluwer Academic, 1999.
[3] klik - Linux Software Download, http://klik.atekon.de
[4] Software Virtualization Solution, http://www.altiris.com/Products/
SoftwareVirtualizationSolution.aspx
[5] S. Kang, K. Ku, J. Shim, S. Hur, S. Ju and W. Choi, “Performance
Evaluation of Software Streaming Server Architecture for Massive
Users”, International Conference on Advanced Communication
Technology, Feb, 2006
[6] Ext JS – JavaScriptLibrary, http://extjs.com
[7] D. Thomas, D. Hansson, L. Breedt, M. Clark, T. Fuchs and A. Schwarz,
“Agile Web Development with Rails: A Pragmatic Guide”, Pragmatic
Bookshelf, July, 2005


ISBN 978-89-5519-136-3 -1758- Feb. 17-20, 2008 ICACT 2008

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

4 Readers on Mendeley
by Discipline
 
 
by Academic Status
 
75% Student (Master)
 
25% Professor
by Country
 
25% United Kingdom
 
25% South Africa
 
25% Finland