Department of Computer Engineering, Dezful Branch, Islamic Azad University, Dezful, Iran
Received date: November 2011; Revised date: January 2012; Accepted date: February 2012
Visit for more related articles at Global Journal of Technology and Optimization
Web OS is a virtual desktop on the web, accessible via a browser that provided user access to operating system to manage and organize its data free from hardware in every place easily. Using semantic web technology in Web OS is a new approach that can be used in order to increase of quality configuration of resource management as well as resource allocation. Resource management is the efficient and impressive strategy which can be apply for positioning of Web OS resources on occasion. Load balancing is considered as the main challenge in the resource management domain. So, it can play a challenging, complicated, and significant role in the performance of web OS. In this paper, the effects of semantic technology in order to improve resource management in common web operating systems are studied. In addition, we show how annotating web OS resources can increase the quality of resource management status as well as the fault tolerant in front of Web OS files.
Web Operating System, Semantic, Ontology, Cloud computing, Resource management
An operating system (OS) is a set of programs that manage resources and prepare public and mediocre services for application software. The operating system is the most important type of system software . Nowadays, a novel kind of distributed operating system , called web OS, is introduced. The Web OS goes through fundamental desktop usefulness. It also contains many of a traditional OS’s capabilities, containing a file system, file management, and creativeness and communications applications . Web OS is intended in order to make ready for in advance the environment similar to typical operating system such as Windows or Linux. The expression “Web OS” was coined by Vahdat et.al  as research project at university of California at Berkley which becomes a commercial project since 1999. However we use the term “Web OS” as shortened form of “Web operating System”.
Lately, a new and strange generation of Web OS is presented that tries to use the benefit of semantic technology in web OS so that caused better arrangement, navigation and search abilities and also increases the value of fault tolerance. By adding a building block in web OS architecture to store some semantic information about the resources and user activities, this approach will use these data to make better resource management, giving services to users in terms of their personal interests and also enhanced fault tolerance in web OS. In this paper, we study the effects of semantic technology in order to improve using of resource management in common web OS.
Each node, called warehouse, in our semantic web OS model is connected to ontology. Ontology explains and clarifies a vocabulary of terms. Terms represent a concept that is related for the field addressed by ontology. A warehouse may make clear its appropriate ontology and announce some concepts in that ontology similar with concepts of a classifier’s ontology. Nodes mix resources stored in warehouses and they classify these resources under their suitable ontology. With this strategy eductive engine will allocate related resource in a warehouse that has the most related resource with specific resource. This paper is organized into these parts: in next section we take a brief look at web operating system. In section III we take a brief look at semantic web technology and we propose semantic web operating system and study the previous works in this field. In section IV we take a comparison of web operating system and semantic web operating system. In section V the conclusion of this work is presented and finally the future works is presented in section VI.
A. Introduction to Web operating system
In the recent years, using of high-speed Internet technology has grown a lot. So, could computing become more acceptable . Cloud computing is a technology that utilizes the internet and remote servers to sustain data and information. Cloud computing permits consumers to take advantage of applications without installation and access their personal files at any computer with internet access . Cloud computing is on demand access to resources that are stored other than user own data center, paid in full via monthly subscription which is very low in cost, and accessed over the web. The whole OS can be shifted to the web using the concept of Cloud Computing i.e. a web OS based on cloud. If we consider this situation the users can run all webbased applications that achieve files from the server by using a browser as the interface with comfortably and effective way, which only needs a system with minimum formation with an internet connection . Cloud computing is a model of processing management which can be used in different environments. Actually, there is no force to utilize cloud computing in web OS, but it can use this model of processing. Web operating system is a virtual desktop PC on the web that is accessible through a web browser and it has a user interface similar to typical PC user interface and it gives the ability to user to manage and organize his/her data from anywhere of the world. The main purpose of Web OS is to give a platform which allows the user to be useful from the computational potential proposed by the web. It’s intended is to make ready for use to all sites of the network resources to carry out computations for which local resources are missing. The web OS is intended to make possible the user to make a request for a service without having any previous familiarity and understanding about the service and to have it complete within his desired parameters .
B. Architecture of web operating system
Here are the building blocks of a general web operating system:
Warehouse is a computer or server that has different resource and processing wherewithal.
It is anything that can be hosted and maintained by computer such as file, printer, etc. The main component of resources in web operating system can point to Resource server, Resource set (to management of shared resources) and user interface.
iii. Eductive engine:
Allocating of resources between different servers is the main goal of this part . In Figure 1 the association between resource, warehouse and eductive engine and also the trend and routine of this process is shown.
In eductive engine after receiving the user request, proceeds to diagnosis the suitable available resource between its surrounding resources. This selection is done based on the following conditions: (1) the warehouse has the desired resource and (2) the wherewithal of that warehouse has the adequate quality for servicing or not. Eductive engine take a search between its surrounding and its near warehouse’s resources to detect the most adequate warehouse. It is possible for a warehouse to pass user request to another warehouse till finally find the most adequate warehouse. RCU and RRCU are subsections that are located in this part. One of the most important parts of resource management is finding resources. So some adequate detecting strategy is needed. Two typical searching strategies are available: The broadcast strategy and the serial request strategy .
The broadcast strategy provides a sort of parallel approach to the searching process. The requesting machine submits the request to each machine in the list. Each of these machines then sends messages back to the requesting machine. If the list contains n machines, 2n messages will be generated, so the network load is high. In the serial request strategy the requesting machine sends one message containing the list of the remaining machines to one of the machines from the list. If the service is available on this machine, a positive answer is directly sent back to the requesting machine. So the generated network load is much less than in the first case. On the other hand, the respond time is much higher than in the first case and any communication problems or long transfer times directly influence the respond time . In resource allocation load balancing should also be considered. It means none of the warehouses are overwhelmed and the network traffic is low . The resources should be distributed steady between the warehouses. There are two typical approaches for implementing load balancing on the web: the DNS approaches and the connection router .
In this section, we survey how to use the semantic web approach in web operation system.
A. Semantic web
Nowadays, semantic technology is used in many fields such as knowledge management, electronic commerce, web services, grid environment, cloud computing etc. Tim Berners lee, known as the father of the web, has proposed the idea of semantic web. In 2001, he paints his perspective to propose his innovation as follow : “As semantic web is development the daily typical of our work is will be done by some machine that will talk to each other.” In fact the aim of semantic web is adding the ability of the content processing to the machine . Semantic is composed of 4 components : Metadata, Ontology, logic and Semantic agents. Ontology is the main part of semantic web and provides the ability of defining concepts and relations among objects and puts some constraint on the concepts with the aid of some semantic languages such as RDFS and OWL and provides to have deduction processing on those structures.
In this paper our aim of using semantic technology in web operating system is to have a better resource allocation and management and organization and navigation.
B. Recent approaches
Distributed processing and web servers are doing their jobs with the aid of intelligent agents. Intelligent agents are some independent software that input data from environment and produce desirable output. By combining semantic web technology and intelligent agent, semantic intelligent agents will be created.
With the emergence of semantic technology, many attempts have been made to use this technology in daily personal computer functionality with the aim of increasing the usage. By annotating of user’s files and resources, some semantic data about resources can be created. HyperSD  and DBin  are two recent researches using these data. HyperSD is a semantic desktop browser that gives the possibility to access for hypermedia and hyper data with adding metadata to the resources. Accessing to these data is provided through a browser and user can access to some data that is similar or related to his/her data.
DBin is a tool for creating semantic p2p and use semantic for p2p communities. These semantic information are stored in OWL format and this information is hidden from the users. DBin acts typically as a file sharing system. In DBin every resources is annotated periodically. Consider a scenario: At first the user select his interested topic and join to the semantic p2p group, resources will be annotating based on the user history and his activity. For example a user that selected his favorite signer, his favorite music will be found from his annotated data.
With observing some instance of current web operating systems it is obviously clear that their functionality is very similar to Active directory. It means that users have private space run some applications, but the thing that is different is they use the power processing of servers. With the using of semantic technologies in web operating system, the better allocating of resources and services are provided to users by annotating resources. By using this semantic information, we may easily discover the related or similar resources. In case of a problem occurs for a resource (i.e. file) it is possible to use the similar resource, so the fault tolerance will be increased. In this part we overview the works that is done about this topic. We should pay attention that because Web OSs tend to mimic traditional computer desktop applications this kind of operating system is also called “Web desktop” or “Webtop”.
J.Bao and L.Ding et.al  with using semantic wiki try to propose a social webtop. In this scheme with using the web, users can store and organize their data or they can share their data with the other users. Wikis are the aggregate of web pages that allow users to add content to web pages with an explorer. Usually these pages are some structured pages and tied linked text. Semantic wiki is composed of current wiki and semantic web that increased the function and performance of both technologies. Semantic wiki with using the language for displaying formal information proceeds to lineament of current information in wiki pages, thus it makes the relation between text content and a model of knowledge. So the content of wiki pages will be readable and even understandable for machine. In fact semantic wiki provides the ability of creating and maintaining of formal displaying of information (ontology) simultaneously and in a share manner for users. Semantic wiki is divided into two categories, Wiki ontology and semantic wiki based on text content .
Semantic wiki in this scheme is not only a typical general purpose tool to manage the content of wiki, but it is a work environment for creating social web desktop application. This architecture is composed of three layers: data layer wiki layer and application layer. Figure 2 shows the structure of web desktop architecture based on semantic wiki.
In data layer, the documents and resources of ordinary wiki, RDF triples parsed from wiki articles, and imported online data such as Google Map is placed. In wiki layer, wiki scripting languages (such as semantic query and parser function) is placed. It hides many details of the data layer, e.g., whether data is stored in a relational database, an internal triple store, or an external triple store. Application layer provides social webtop applications, developed using wiki scripts, for normal web users to generate or consume information as desktop applications. This scheme provides a high ability to manage and share resource for users. To surmount this aim annotated resource based on available ontology and inference regulations are used. A sample of a usage inference can be as follow:
[Bob member of TwoGroup] and [Twogroup part of RPI] → [Bob member of RPI]
Riad, Elminir and Sabbeh et.al  proposed a scheme that is the mixture of web operating system and semantic web with the name “semantic web operating system”. In this work the Ontology is used to annotate user’s resources and presents a SOA-based framework of a web operating system. As it shows in Figure 3 this architecture consists mainly of tree layers, application layer, service layer and data layer. Whenever user Logs into system using portal, application layer passes request to transaction manager which first authenticates and authorizes user, then work together with personalization manager to regenerate user's personalized desktop. Whenever user requests a resource, application layer passes request to transaction manager which initializes the corresponding application as well as requesting the associated resource from resource locator which works together with resource manager to locate and retrieve resource. We should pay attention that semantic web's success depends on the availability of web pages annotated with metadata. These metadata are relevant keywords associated with a piece of information describing the content. In this scheme every file is a resource (email, images, etc) and all resources are identified using URI. Each resource is annotated based on its related ontology. This annotation makes better indexing and retrieval of resources.
Figure 4 shows sample ontology for annotating the file contents. Here are some examples of RDF triples based on the ontology:
a) Person → has an → Event
b) Person → Create → File → is a → Image
To create ontology it is possible to use the user’s activities. In this way the architecture of created ontology is contained of the user’s used ontology, relevant word associated with each resource, the number of its usage by user etc. in the continuation this system with using the data from user’s log it annotated them. Thus with using the user’s last behavior and user’s treatment, a collection of semantic data will be achieved that is understandable by machine. In fact in this way in resources and process managing field, the management will be done based on each process or resource content and the type of users.
Based on the nature of web, web resources is scattered across several servers and warehouses. This decentralization of resources is the reason of the existence of a resource locator. Resource locator is responsible for locating resources. Whenever Transaction manager sends a request for a resource to resource locator, it determines resource location using the centralized resource location index, then works together with resource manager which retrieves the required resource and sends it back to the transaction manager. In this scheme data layer contains user profile, user log file, annotated resources and finally file system ontology and application ontology.
C. Resource allocation in semantic web operating system
A successful web operating system resource allocation mostly depends on the quality of the available information about resources. The way this information is catch, collected and arranged plays a adequate role in resource management. All of these tasks is built around the available resources and applications metadata.
Metadata design can affect the execution of tasks in different and adequate ways. Ontology can increase the quality of information about resource. It makes domain knowledge reusable. Beneficial web operating system ontology should comprise a scientific classification of concepts, properties, and basic assumptions which can be reused in different situations by other elements. Allocation rules are derived using an inference engine that is using the semantic depictions of available resources. The ontology describes the entities related to the resource allocation process within a service provider, where the different resources are appointed to the tasks submitted to the system depending on their necessities. It describes resources and relations between them in order to describe how the usage of provider’s resources by the requester’s tasks can be matched. In spite of it was designed for resource usage harmony, it presents many similarities with resource allocation process and some classes which can be shared. The most important part using semantics in the resource allocation is annotation of the semantic statement of all the entities engaged with it. In the semantically improved resource allocator, this task is done by the resource manager.
For giving strong and rapid and enrich resource management, warehouses can divided into groups based on the semantics of its resources. All groups will be organized hierarchically. Subsequently, these groups will be divided into smaller groups. Then the groups will be related that they have the same semantic relations between the resources of warehouses. Before allocate the resources to a warehouse, it should first be checked the main group (specific warehouse), and if the free space is not found in the warehouse, related groups should be checked and allocate the resource to the warehouse will be done if the warehouse has adequate free space. In this grouping, the warehouse with higher related semantic resources is selected as the super group.
The most important function of web operating system is based on managing of user’s desirable utility software. This function is based on user’s fancy. Thus understanding and recognizant of user’s function based on their profile or log file and merging semantic into resource content can have some benefit in managing of user’s access to resources.
In this way with adding semantic and annotating resources by some semantic language such as RDF, similar resources can be used too. In web operating system, resources are decentralized so it seems with using resource locator that has the index of resources in centralized manner and has the accessibility of annotated resources, the election of most adequate warehouse will be done with more precision due to clustering of resources by their semantic content. Increasing of precision and velocity and speed of selecting most adequate warehouse are two claims that need to implemented and simulated and affirmed. The complexity of adding semantic data has its affect in performance and velocity and it is one of the semantic technology side effect and problem. However some solution have proposed for that but about web operating system with grouping and clustering nodes and putting the similar resources in a specific group of warehouse this two items can be enhanced. By annotating resources some warehouses that have similar resources can be identified and due to some problems the access to the desirable resource is restricted, some similar resources can be used instead and thus the fault tolerant of system can be increased. It should be attention that finding related and associated files is cognizable and understandable, but for the other type of resources, it affects the whole scenario. Table 1 shows the differences.
Web operating system is one of the functionality of distributed system which provides the access to operating system free from the location, and there is no matter user is connecting by PC or other gadgets (like smart phones). In fact it is not depended to the hardware. Adding semantic metadata is a way to uniform data and make an associate between them. In normal situation data processing machine stores data that get from environment and will process them, but the goal of semantic web is that have an understandable format of data for machine (for example machine can understand who is created a file that is stored in a specific warehouse, in which way it has transmitted to the another warehouse, what is the domain of its content, which warehouses have the similar ones, …). In this way it can be possible to find the whole files that are related with a specific topic that had emailed by a special person. It should be considered at the moment the different aspects of semantic web functionality are more outweigh than performance aspects. Although patching semantic notion together with some instruction like indexes, resource management in distributed system like grid, definitely will increase the performance too.
The outlook of this study is the employment of semantic as a fuzzy parameter for resource allocation. We expect that this parameter will increase the quality of resource allocation for web operating system.
Our preliminary study shows that the distance of eductive engine to warehouse, allocated space of each warehouse which related to load balancing and the availability of annotated resources are three important fuzzy parameters which can be used in our approach. We plan to extend this study and apply it to our model in near future.
Make the best use of Scientific Research and information from our 700 + peer reviewed, Open Access Journals