Concept of DynaOS - Dynamic Operating System

An OS that can boot from remote server

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:Network model of DynaOS

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