|
Abstract
The bandwidths of networks are increasing
overwhelmingly these days. So we need better computer
systems, network architectures and software which can
effectively use the available bandwidth to the maximum. This
text is about an operating system that can use the high
bandwidth to its maximum.
DynaOS is an operating system that uses remote
storage for its working. This seminar is intended to share
an overall picture of the system with as much details as
possible. This seminar explains the features, design, user
interface and other details of the system.
DynaOS has many advantages over today’s computer
operating systems. The main feature of DynaOS is that it
uses remote storage not only for user files, but for
operating system files too. So a computer that needs to boot
from DynaOS does not need any software or operating system
inside it. It just haves to have a connection to the
internet or any other private network that can host DynaOS.
The system can then download the system files from the boot
server in the network and then can access the personal files
of the user stored in the server.
CONTENTS
| No: |
Topic |
| 1 |
Introduction |
| 2 |
DynaOS |
| 2.1 |
History and Background |
| 2.2 |
Present Scenario |
| 2.4 |
What
is DynaOS? |
| 2.5 |
Implementation |
| 2.6 |
Packages in DynaOS |
| 3 |
General Behaviour |
| 4 |
Setup
Required |
| 5 |
Technical Framework |
| 6 |
Advantages |
| 7 |
Disadvantages |
| 8 |
Legal Issues |
| 9 |
Conclusion |
| 10 |
References |
1. Introduction
Remote storage is getting popular among internet and
corporate users due to the availability of high bandwidth of
computer networks. The bandwidths between computer networks
are increasing and the costs are reducing. For instance,
according to a news, the internet connectivity in Japan is
made available to the normal people for a cost as low as
Rupees 90.00 (2$) per month. This is for a broadband
connection with a speed of 70Mbps using VDSL technology.
The speed specified above has a peculiarity. It is
comparable to the speed of a current day hard disk (with
5400-7200 rpm). So this is a historical point in the history
of computing. The point where network bandwidth can match
the bandwidth of a local hard disk and at the same time be
affordable to the common man. There are so many services
already in the internet which provide remote storage for
users. The storage space provided by these services is from
200 Megabytes to unlimited. Some of the services are paid
services while some others are free of cost.
All these points mentioned above predicts a future
for computing where remote storage may be the buzzword. This
conclusion led to the evolution of the central idea on which
this seminar is rooted. The seminar discusses a new breed of
operating system called DynaOS.
DynaOS is an operating system that uses remote
storage for its working. This seminar is intended to share
an overall picture of the system with as much details as
possible. This seminar explains the features, design, user
interface and other details of the system.
2. DynaOS
2.1 History and Background
Client
A client is a computer system that accesses a
(remote) service on another computer by some kind of
network. The term was first applied to devices that were not
capable of running their own stand-alone programs, but could
interact with remote computers via a network. These dumb
terminals were clients of the time-sharing mainframe
computer.
The client-server model is still used today on the
Internet, where a user may connect to a service operating on
a remote system through the internet protocol suite. Web
browsers are clients that connect to web servers and
retrieve web pages for display. Most people use e-mail
clients to retrieve their e-mail from their internet service
provider's mail storage servers. Online chat uses a variety
of clients, which vary depending on the chat protocol being
used. Game Clients usually refer to the software that is the
game in only multiplayer online games for the computer.
Increasingly, existing large client applications are being
switched to websites, making the browser a sort of universal
client. This avoids the hassle of downloading a large piece
of software onto any computer you want to use the
application on. An example of this is the rise of webmail.
Clients are generally classified as "fat clients", "thin
clients", or "hybrid clients".
| |
Local storage |
Local processing |
| Fat Client |
Yes |
Yes |
| Hybrid Client |
No |
Yes |
| Thin Client |
No |
No |
Fat client
A fat client (also known as a thick client or rich
client) is a client that performs the bulk of any data
processing operations itself, and does not necessarily rely
on the server. The fat client is most common in the form of
a personal computer, as the personal computers or laptops
can operate independently. Programming environments for rich
clients include Curl, Delphi, Droplets, Java, win32 and X11.
Thin client
A thin client is a minimal sort of client. Thin
clients use the resources of the host computer. A thin
client's job is generally just to graphically display
pictures provided by an application server, which performs
the bulk of any required data processing. Programming
environments for thin clients include JavaScript/AJAX
(client side automation), ASP, JSP and PHP (server side HTML
generation).
Hybrid client
A hybrid client is a mixture of the above two client
models. Similar to a fat client, it processes locally, but
relies on the server for storage data. This approach offers
features from both the fat client (multimedia support, high
performance) and the thin client (high manageability,
flexibility).
2.2 Present Scenario
Now in India, the government is planning to
implement Fiber-To-The-Home (FTTH) technology, which offers
very high transfer rates to the end user, compared to VDSL,
and has no distance limitations like VDSL. Meaning, the
bandwidth limitation issue, sooner or later, is going to be
an issue of the past.
There are many points that favor the arrival of DynaOS. Some
of the main and influential points are:
• Bandwidth is no more a problem.
• Remote storage is growing popular.
• Web applications are getting more sophisticated.
• Data availability is a big problem.
2.3 What is DynaOS?
The term “DynaOS” is the short form of Dynamic Operating
system. So DynaOS is a Dynamic Operating System.
It’s like a web application
The entire system can be compared to the working of
a web application where it delivers the right content to the
user depending upon the type of user and his privileges. The
user can then play around in the interface given to him/her.
Consider Gmail as a mail client application (like Ms
Outlook), but unlike Outlook it’s always there in the net
ready to use. You don’t have to use the same system for
accessing your personal mails. Consider a guy using Outlook
to check mail from net cafes, who need to setup his
connection to the mail server every time before reading his
mails. Normally no one will be trying that kind of a thing
to check mails on a regular basis and outlook is not
targeting that kind of users. But on the other side, in
Gmail you get almost all the features supported by outlook
like clients, accessible from anywhere in the world, always
up, running and up to date with the latest version, of
course no offline reading of messages.
Imagine getting both the things at a place. Gmail is
successful because they are using brilliant JavaScript to
create that user friendly interface and features like
conversation, chat, etc at a reasonable download time. It
happens like the software is downloaded from the server,
each time, before it is run. And this works of course
because the total size of the scripts and HTML that Gmail
uses to create the interface is not too large.
Think about downloading and running an application
like Ms Outlook each time for checking mails. It was not
actually possible in the past, considering the bandwidth
requirements. But, what if, the bandwidth is not a problem?
DynaOS is an operating system which is designed to give
users full advantage of the bandwidth they have, and the
bandwidth that is poised to be available to users all around
the world in a short while.
2.4 Implementation
To implement the system, the user must posses a
computer with an NIC having a provision for plugging a boot
ROM in it. This boot ROM will contain the basic program for
finding a boot server, supplying authentication information
collected from user to the boot server, get the system files
from the boot server that are either not present in the
local cache or newer than the cache and transfer the control
to the system file(s) downloaded.
The basic diagram of the network model of DynaOS is given
below:

Figure 1.1
The server must posses an OS for itself. It must
also possess system files for the client. The server must
also contain highly sophisticated account management system.
The main system file will then take control of the system
and will download additional system files based on checking
the version of the files or checking if the files in cache
are corrupted or not. When the necessary system files are
loaded, the user configuration files and user data files
will be downloaded as needed and the system will be ready to
use. So the entire process goes like this:
Booting
The major steps of the booting process are:
• Authentication
• Get system files
• Get user files
• Share processing power
The most significant difference of this model comes
at the time of booting itself. The booting process is rather
complicated. It can be compared to the booting process of
diskless nodes or the working of a web application where it
delivers the appropriate content and/or the custom user
interface to the user, but still there are a lot of
differences. The booting will be via the NIC (Network
Interface Card) in your PC. Knowledge of the working of
diskless nodes can be helpful in understanding this concept
in more detail.
There will be boot ROM in the NIC containing some
loading program that when executed broadcasts requests to
network for getting an IP address and a bootable HDD. When
it gets an IP and a bootable drive, it boots from there. The
situation is somewhat like that here also. But little more
complicated tasks are included like authentication and
booting from a custom image provided by the boot server.
Definitions of Boot Server and Boot Client
The boot client is the machine which is trying to boot.
The boot server is the
machine which provides all software resources for the boot
client for booting.
Steps in System
Booting
(1) POST (Power-On Self Test) completed.
(2) BIOS identifies the loader in the boot ROM and transfer
control to it.
(3) The boot program in ROM loads and collects
authentication information from user (a universal user ID
and password).
(4) It checks if a boot server is available by making
broadcast requests.
(5) If no boot server is found:
(5.1) The system tries to boot to the cache (created during
last boot) in the local storage.
(5.2) It invokes the basic system files in cache and gives
authentication information to it.
(5.3) If the system files loaded from cache authenticates
the user (checking stored authentication info of previous
users booted in that machine) the system boots from the
local cache, but with a lot of limitations and threats like
corrupted files. In this mode, it works like current day PC
operating systems like Microsoft Windows.
(5.4) If the system files loaded from cache rejects
authentication, the boot loader comes back to the user
authentication section.
(6) If a boot server accepts request:
(6.1) It sends the authentication information to the boot
server, along with information like NIC physical address and
all.
(6.2) If the server authenticates user the boot process
continues with downloading of system files and user
preferences.
(6.3) If the server rejects authentication, the boot loader
comes back to the user authentication section.
(7) System booted.
What does the boot server do?
The boot server, getting a broadcasted request from
a boot client, sees if the system is safe to boot (server is
not overloaded, has no corrupted files and other security
and network issues), then acknowledges the request, giving
the client an IP address and all if necessary.
Then the server authenticates the user checking the
information with the directory stored either locally or a
remote. If the authentication information is correct, and
the server is safe to boot at the instant, the server
collects the user privileges and preferences from the
directory and supplies system files according to that. It
can also supply data stored in its storage for user as per
request. Normally the user configuration files, application
settings and personal files (like address book) will be
stored in remote storage servers. The user can make use of
the local storage too, for huge files and all, but will not
be accessible globally.
The server will be able to control the client at any
point, with the user’s permission. For example the server
can ask the client to shutdown or reboot, because it found a
fatal bug in the system file it supplied. The Root boot
sever can thus ask all the systems to update a particular
file that is updated in the system. The user at the client
can reject such orders from the boot server but this may
cause the boot server to disconnect the client, leaving it
to work like a stand alone machine with further boot clients
under it.
The boot client can act as a boot server once it’s
booted up. The hierarchy can be compared to a family, where,
a parent is giving commands to his grown up children and the
children normally obeying it. If the child decides to
disobey, the parent will rethink about caring the child as
before. The child will also become a parent once it’s grown
up.
2.5 Packages in DynaOS
A package is a collection of programs, executables,
libraries, related resources and sub packages. There are
three types of packages:
1. Private
2. Protected
3. Public
Each type of package has its own properties and privileges.
Packages are used mainly t implement security and
authenticity to users and files.
Each type of package is described briefly below:
Private
All the programs and executables that are used by
the server and only by the server fall in to this category.
The server is not willing to share it to any machine
connected to it (boot clients, other servers, siblings) or
inherit it to the clients booting from it.
Protected
This type of programs is given to the boot clients
booting from the server. Normally the DynaOS Kernel falls in
to this category. There are exceptions when a DynaOS loaded
machine decides not to allow booting from it but provide
other service or stay as stand alone machine. Certain
applications like a company’s internal information system
can also fall in to this type.
Public
Here come items that are given to every one.
Normally a DynaOS loaded machine in web server mode will
provide the public documents and executables in this type.
In DynaOS world, there will be no websites serving static
HTML documents but every website will be providing a very
interactive web application!!!
3. General Behaviour
DynaOS is an online operating system that makes use
of remote storage. It acts as any usual operating system and
provides all the functionalities of a complete operating
system. The user interface and usage of DynaOS will be
similar to that existing in any modern day operating system.
DynaOS needs high speed broadband network to operate
on. It can manage any number of clients by the mechanism of
giving the functionality of a boot server to a client which
completed it booting procedure.
All the user files including settings and
preferences will be stored remotely. Each user will have to
pay a certain amount as fee for using DynaOS. The amount
will be calculated according to the usage of DynaOS and
other softwares installed in the DynaOS.
4. Setup Required
For implementing DynaOS in a large scale, at least the
following are required:
(1) A server loaded with DynaOS
The server must at least be having 1 Terabytes of secondary
storage memory to cater to the needs of the users. It must
also be able to process a large number of user requests at
the same time.
(2) The server must be connected to a high speed network
(3) The network must have a bandwidth of at least 50Mbps.
Even if the bandwidth of the network is lesser than this
specified amount, DynaOS may work, but the bandwidth
specified is the minimum required for optimum performance.
(4) Clients that are connected to the network are also
required.
(5) The clients and the server must be able to send or
receive data in the network at least at the rate of 50Mbps.
(6) The clients must have a Network Interface Card (NIC) in
them. There must be provision in the NIC to plug in a boot
ROM into it.
(7) The Boot ROM containing a lightweight program to connect
to the boot server, authenticate the user and download the
initial system files should be plugged into the NIC.
5. Technical Framework
DynaOS contains a network of servers and clients.
There will be a root boot server. The clients boot from this
root boot server. After booting, a client can act as a boot
server. So some other new client can boot from this boot
server. This gives a distributed nature to DynaOS.
The clients may be connected to the servers using
DHCP (Dynamic Host Configuration Protocol). After
establishing a connection to the server, the client may use
any reliable protocol (e.g.: TCP/IP) to communicate with the
server.
6. Advantages of using DynaOS
• Reliable
"Always ready to run"
DynaOS can boot in any client from the root boot
servers or from other boot servers. Whenever a client boots
into DynaOS, after the system files are downloaded, the
client becomes a boot server which can provide system files
for other computers which want to boot into DynaOS.
• Up-to-date
“Push or Pull”
The operating system downloads the latest files from
the boot server during booting and executes it. So the
operating system running on a client is always up-to-date.
Even after downloading the system files from the server, the
client can check whether the files have been modified in the
server after the last download. If the files have been
modified, the client downloads the new and updated files
from the server. Also, if some critical change has been made
on any file in the server by the developers or any security
flaw has been fixed, the server can inform this to the
client and the files can be updated in the client to. Thus
updating of files can take place by the pull of the client
or the push of the server.
• Virus safe
“Be good… for good”
No user can push a virus or worm to the system since
the DynaOS servers are protected by firewalls. Also the user
who tries to introduce any malicious program into the system
can be identified with the user ID and can be caught. Latest
antivirus software can be installed in DynaOS so that
viruses can be prevented and cured. The antivirus software
can be updated in the system frequently and the user need
not search for the latest updates of the antivirus software.
• Computing power sharing
“Stay idle…Make money”
Users of DynaOS can make money by renting the
processing power of their computers to other users who are
in need of more processing power. There will be users who
have low end computers which are not able to do the
processing they require. These users may benefit from this
feature of DynaOS. Also, users who need to do many heavy
scientific or mathematical calculations may need processing
power. Some users may require processing power for image
processing or video editing. Whatever may be the reason,
users can get enough processing power they need from the
computers that are sitting idle in the DynaOS network.
• No piracy
“Keeping pirates at bay”
You cannot get DynaOS in a compact disc or any other
removable storage medium. So chances of piracy are rare.
Also, even if a cracker is able to get a copy of DynaOS
system files in some removable storage medium, he will only
be having the system files from some client. So when he
tries to boot from the copy he has, the system files will
try to connect to the server and boot from there. So
actually, even the concept of piracy is invalid in DynaOS.
• Cheap
“Don’t buy, just rent”
Since a large number of users will be using DynaOS,
the cost will be very less per person. DynaOS does not have
the concept of buying software. You just rent software for
some time and you pay according to the time used and the
software used. Many major softwares are having a big price
tag because of the losses occurring to the developers of it
due to piracy. Since there is no piracy in DynaOS, all
softwares in it will be very low priced.
• All software is available
“Everything is here”
All major software will be available in DynaOS.
DynaOS prevents piracy and that will be a very big point
concerning developers of other software. Since they get very
high profit by renting their software through DynaOS, they
will develop the software for DynaOS platform.
• Universally accessible online desktop for users
“Always with you”
Each user has a unique user ID and password.
Whenever he enters using his credentials, he gets his
personal desktop. This is irrespective of the computer he
uses or his location. So for users there is no need of
carrying their files with them. They can access their data
from anywhere in the world.
• Less storage required
“Link them up”
Since DynaOS does not create separate system files
for each user, the total storage space required is very less
compared to other networking mechanisms. Also for files
which are used for entertainment (music, pictures and
movies), the same file is not stored for each user. Only one
copy is stored in the server. For all users using the file,
links will be placed instead of the actual file.
• Low cost of ownership/maintenance
“Low cost system”
A DynaOS client can have a secondary memory (usually
hard disks) with less memory and speed since no data is to
be stored in the local storage. Also, since all the software
is available in DynaOS, there is no need to purchase
software from the market spending huge amount of money.
Users only need to pay money as they use. Thus total cost of
ownership is reduced. Also, since maintenance of DynaOS is
done by the DynaOS team, the user need not do any
maintenance work and so the maintenance costs are also
reduced.
7. Disadvantages
DynaOS is an operating system that needs high
bandwidth. Thus it may not be useful in low bandwidth
scenarios. Other flaws in the system must be exposed by
detailed study by experts in the field of computers and
networking.
8. Legal Issues
Copyright laws in all the territories using DynaOS
must be followed while using DynaOS. This poses a great
challenge for the developers since the law in different
places may be different. Sharing copyrighted files live
video clips, movies and music must be strictly filtered.
Also usage of copyrighted software must be monitored.
Another issue that may arise is the issue of privacy. Many
people will be prevented from using DynaOS by the fear of
privacy issues. A good comprehensive privacy policy must be
maintained to solve this problem.
9. Conclusion
This concept can be considered as nothing more than
a day dream. But if handled seriously, I believe that it has
got the potential to revolutionize the world of computers
and thus the world we live in. As discussed earlier, flaws
in the system must be exposed and handled correctly to
develop the concept of DynaOS.
10. References
1.
http://www.dynaos.blogspot.com/.
This is the basic text containing the text and ideas about
DynaOS. Text written by Faiz VP, a former student of RIT.
2.
http://www.wikipedia.org/. The
details about clients, thin clients, thick clients etc were
taken from the Wikipedia website.
Author:
Niyaz PK
|