EyeOS- Secured Cloud Solution

Embed Size (px)

Citation preview

  • 8/13/2019 EyeOS- Secured Cloud Solution

    1/45

    EyeOS Secured Cloud

    1. INTRODUCTIONThis project is an introduction to the application development for the EyeOS Web

    Operating System. Some PHP knowledge is required , and it is not necessary to have experience

    in programming with CSS, JavaScript or XHTML, although knowing these technologies will

    help you understand better EyeOS and its internal functioning.

    1.1 What is EyeOSFrom a technical point of view, EyeOS is a platform for web applications, created with

    the idea to make easy the application development. There are currently a lot of web-related

    technologies, such as PHP, XHTML, CSS and JavaScript, so it is required to master a lot of

    languages and understanding numerous concepts to be able to create web applications. In

    addition, every web browser has a different interpretation of the code and every PHP version and

    configuration works slightly different from the others. EyeOS intends to cover those and other

    problems derived from the web development, offering the programmers a homogeneous platform

    to develop their web applications, using only PHP code and leaving to the system the resource

    management, the communication with the browser, the security, etc. All you need is a web

    browser, Internet access and EyeOS is there for you, always, all the time. EyeOS is one of the

    few that is not only provided for free as a service complete with online storage, but is also open

    source under AGPL3, so you can install it on your own server. EyeOS is built on PHP and uses a

    combination of web standard technologies such as HTML, JavaScript and CSS to create the UI.

    This means that it will run on any standards compliant browser. By itself, it doesnt require any

    extra plug-in in order to work. All it needs is a PHP 5 capable server, which is the common

    denominator for just about any hosting package it doesnt even require a database.

    EyeOS is all about entering work and entertainment in a single place. EyeOS is about

    removing compatibility issues between applications and operating systems and taking your life

    everywhere. EyeOS is available in 30 translations. And is used privatively and professionally

    throughout the world rather it is used for public environments, schools, small and large

    companies alike or a way to share data with your family. EyeOS has a use in our digital life era.

    Department of CE 1

  • 8/13/2019 EyeOS- Secured Cloud Solution

    2/45

    EyeOS Secured Cloud

    Figure 1: Centering work and entertainment in a single place

    1.2 EyeOS basic structureBefore studying the EyeOS components, we must know its basic structure. The platform is

    created over a client-server architecture, in which EyeOS is the server, and the client is usually a

    web browser.

    CLIENT SERVER

    Figure 2: EyeOS Basic Structure

    1.3 The KernelThe first step we must take to know EyeOS is the study of its kernel. Since EyeOS is a

    Microkernel-Based Platform, the kernel is only thought to unify the system services. In other

    words, EyeOS has many services for specific tasks, and the kernel is responsible for its

    communication and location.

    Department of CE 2

  • 8/13/2019 EyeOS- Secured Cloud Solution

    3/45

    EyeOS Secured Cloud

    Kernel

    Services Applications

    Figure 3: Kernel

    1.4 System ServicesThe Services in EyeOS perform low-level tasks. For example, the applications do not

    manipulate files directly: instead of that, they use a service designed for that purpose. Thus,

    security is guaranteed since the services apply restrictions to the applications' requests. The only

    form to communicate with a service is the kernel, must be used.

    Service( ) takes 3 arguments :

    service( string $servicename , string $functionName [, array $params] );

    The first argument specifies the name of the service to call. In EyeOS there are eight

    services, and they will be studied later. The second argument corresponds to the function to call,

    given that a service is a collection of functions and we must specify what function we want to

    use. For example, if we are using the filesystem manager service, we need to specify if we want

    to copy, delete or create a file. The third and last argument is an array containing the parameters

    passed to the function. For example, if we are using the filesystem manager service, we need to

    tell it which file we want to delete.

    1.5 LibrariesThe libraries in EyeOS are similar to the services. They too are called using the kernel, but

    unlike the services, they do not handle low level tasks (such as files, users or processes), instead

    they make the development of applications easier, making available sets of functions the

    applications might need. EyeOS includes lots of libraries .

    Department of CE, 3

  • 8/13/2019 EyeOS- Secured Cloud Solution

    4/45

    EyeOS Secured Cloud

    Libraries can be used by any application. For example:

    eyeZip allows to work with ZIP files (extract, compress...)

    eyeURL allows to request URLs

    eyeXML allows to work with XML files (read, write...)

    The way to use a library is very similar to that of a service, being the only difference the fact that

    the reqLib( ) function is used instead of service( ). reqLib( ) takes the same arguments as

    service( ) :

    reqLib( string $libName , string $functionName [, array $params] );

    Thefirst argumentis the name of the library to use, such as EyeZip.

    The second argument corresponds to the function to use, such as ExtractZip (of EyeZip). The

    third and last argument are the parameters passed to the called function.

    1.6 EyeOS Code OrganisationIt is important to know how EyeOS is organized to be able to develop applications for. In

    EyeOS everything has its right place to be put on. The EyeOS directory tree can be summarized

    as:

    EyeOS/accounts - Information and credentials about the users.

    EyeOS/apps/ - Directory where the applications are located.

    EyeOS/extern/ - Files visible from the exterior, such as CSS stylesheets, images, etc.

    EyeOS/extras/ - Extra files.

    EyeOS/groups/ - Groups directories..

    EyeOS/i18n/ - I18n and EyeOS translation directory.

    EyeOS/log/ - System logs directory..

    EyeOS/system/ - Contains the services, libraries, kernel and globalconfigurations.

    EyeOS/tmp/ - Directory where files are stored temporarily.

    EyeOS/users/ - Users' directory where all their documents and files are stored.

    Department of CE, 4

  • 8/13/2019 EyeOS- Secured Cloud Solution

    5/45

    EyeOS Secured Cloud

    2. HISTORY

    Establishment:In 2005, a group of young people worked together and put all their efforts in

    a new project, a new open source web desktop.

    EyeOS: August 1, 2005:

    The first publicly available EyeOS version was released as EyeOS0.6.0. At the time, it greatly

    participated in creating the definition of a Web Operating System and acted as a concept.

    Quickly, a worldwide community of developers took part in the project and helped improve it by

    translating, testing and developing it.

    June 4, 2007:

    After two years of development, the EyeOS Team published EyeOS1.0. Compared with previous

    versions, EyeOS 1.0 introduced a completereorganizatio technologies, like eyeSoft, a portage-

    based web software installation system. Moreover, EyeOS also included the EyeOSToolkit, a set

    of libraries allowing easy and fast development of new webApplications.

    July 2, 2007:

    With the release of the 1.1 version, EyeOS changed its license andmigrated from GNUGPL

    Version 2 to Version3.October 29, 2007:1.2version was launched with full integration

    compatibility with Microsoft Wordfiles.

    January 15, 2008:

    EyeOS 1.5 Gala was liberated. The first version that supported both Microsoft Office and

    OpenOffice.org file formats for documents, presentations and spreadsheets. It also had the ability

    to import and export documents in both formats using Server Side Scripting.

    April 25, 2008:

    EyeOS 1.6 included many improvements such as synchronization with local computers, drag and

    drop, a mobile version and more.

    Department of CE, 5

  • 8/13/2019 EyeOS- Secured Cloud Solution

    6/45

    EyeOS Secured Cloud

    January 7, 2009:

    EyeOS 1.8 Lars featured a completely rewritten file manager and anew sound API to develop

    mediarich applications.

    April 1, 2009:

    1.8.5 Version incorporated a new default theme and some re written apps like the

    Word Processor and the Address Book.

    2.1 Associated TechnologiesWith the increasing use of high-speed Internet technologies during the past few years, the

    concept of cloud computing has become more popular. In Cloud Computing, users work with

    Web-based, rather than local, storage and software. These applications are accessible via a

    browser and look and act like desktop programs .With this approach, users can work with their

    applications from multiple computers. In addition, organizations can more easily control

    corporate data and reduce malware infections. Also, cloud computing makes collaboration easier

    and can reduce platform-incompatibility problems. Now, a growing number of organizations areadding to the cloud concept by releasing commercial and open source Web-based operating

    systems. While the idea is not new, the proliferation of users and applications distributed over

    the Web, including those at scattered corporate sites has made it more interesting, relevant, and,

    vendors hope, commercially viable. The Web OS goes beyond basic desktop functionality. It

    also includes many of a traditional OSs capabilities, including a file system, file management,

    and productivity and communications applications. As is the case with Web-based applications,

    the Web OS functions across platforms from any device with Internet access. In addition,

    distributed groups can collaborate via the technology

    Driving the WebOS:

    The WebOS which functions much like a traditional operating system, although it doesnt

    include drivers for computer hardware is becoming a subject of increasing interest. One

    contributing factor is Internet technologies increasing bandwidth, which enables the faster

    Department of CE, 6

  • 8/13/2019 EyeOS- Secured Cloud Solution

    7/45

    EyeOS Secured Cloud

    movement of applications and data via the Internet to and from WebOSs. The feasibility of

    technologies that could be used in Web-based operating systems, such as a file system that

    identifies data by URLs, a location-independent resource-naming system ,and secure remote

    execution .EyeOS is an IBM Partner World vendor that uses open source software to create

    virtual Linux desktop services that run natively on Linux in a LAMP stack. EyeOS can be used

    to create a desktop platform that is suitable to run and manage diverse end user desktops in a

    central location from a server platform. The application itself is PHP based and runs on Linux

    platforms. When run on Linux on a System z server, many EyeOS desktop images can be

    supported by one Linux guest. This is in contrast to most desktops, where each desktop client

    requires a Linux guest in the System z to support it. For many System customers, EyeOS

    provides a simple, cost-effective way to transform delivery of services to a cloud model, an

    approach that is both easy to get started with and that scales over time and volume. There are

    also a number of server solutions available. System z has strong virtualization and management

    capabilities. The z/VM hypervisor provides proven technology for serving virtual clients. Our

    results validate how well System z virtualization scales up and out in this virtual desktop

    environment. For businesses that plan on implementing cloud solutions in the near future,

    System z should be considered as an integral part of the solution architecture .The objective ofthis project was to demonstrate that System z can host a large number of workstations, provision

    these systems quickly, and manage these virtual clients efficiently.

    2.2 Technology

    With so many different Web operating systems either currently available or in

    development, it should come as no surprise that programmers use different approaches to achieve

    the same effect. While the goal of a Web OS is to provide an experience similar to using a

    desktop OS, there are no hard and fast rules for how to make that happen. The two most popular

    approaches rely on Flash technologies or Asynchronous JavaScript and XML (AJAX)

    technologies. Flash is a set of technologies that enable programmers to create interactive Web

    pages. It's a technology that uses vector graphics. Vector graphics record image data as a

    collection of shapes and lines rather than individual pixels, which allows computers to load Flash

    images and animation faster than pixel-based graphics. Flash files stream over the Internet,

    Department of CE, 7

  • 8/13/2019 EyeOS- Secured Cloud Solution

    8/45

    EyeOS Secured Cloud

    which means the end user accessing the file doesn't have to wait for the entire file to download to

    his or her computer before accessing parts of it. With Flash-based programs like online

    streaming video player, this means you can start watching a film clip without having to

    download it first. More than 98 percent of all computers connected to the Internet have a Flash

    player installed. That makes flash an attractive approach for many programmers. They can create

    a Web OS knowing that the vast majority of computer users will be able to access it without

    having to download additional software. AJAX technologies rely on hypertext mark up language

    (HTML), the JavaScript programming language, Cascading Style Sheets (CSS) and eXtensible

    Mark up Language (XML).It's a browser technology. The HTML language is a collection of

    mark up tags programmers use on text files that tell Web browsers how to display the text file as

    a Web page.CSS is a tool that gives programmers more options when tweaking a Web site's

    appearance. Programmers can create a style sheet with certain attributes such as font style and

    colour, and then apply those styles across several Web pages at once. Java Script is a

    programming language that allows applications to send information back and forth between

    servers and browsers.XML is a mark up language, which means programmers us e it to describe

    the structure of information within a file and how it relates to other information. The

    "asynchronous" aspect of AJAX means that AJAX applications transfer data between servers andbrowsers in small bits of information as needed. The alternative is to send an entire Web page to

    the browser every time something changes, which would significantly slow down the user's

    experience. With sufficient skill and knowledge, a programmer can create an AJAX application

    with the same functions as a desktop application. Like Flash, most computers can run AJAX

    applications. That's because AJAX isn't a new programming language but rather a way to use

    established Web standards to create new applications. As long as an application programmer

    includes the right information in an application's code, it should run fine on any major Web

    browser. Some well known Web applications based on AJAX include Google Calendar and

    Gmail. A Sample of Web Operating System There are more than a dozen Web operating systems

    in various stages of completion. They include:

    EyeOS

    AstraNOS

    DestkopOnDemand

    Department of CE, 8

  • 8/13/2019 EyeOS- Secured Cloud Solution

    9/45

    EyeOS Secured Cloud

    3. ARCHITECTURE

    Fig 4: Architecture overview

    EyeOS kernel uses a structure divided into 4 layers:

    Kernel: unified system services.

    Services: lower-level functions.

    library services: higher-level functions

    Applications: can call functions from any layer

    Department of CE, 9

  • 8/13/2019 EyeOS- Secured Cloud Solution

    10/45

    EyeOS Secured Cloud

    3.1 Service MMAP Vital component in the communications of the application.

    route messages to the client application.

    Automated service.

    3.2 Service VFS It is the EyeOS file system.

    implement security systems.

    Concatenate 32 random characters.

    virtual and real functions.

    Provides application development.

    3.3 Service - VFS file content

    Internally creates two files for each file (virtual functions):

    File information

    3.4Service EyexGet the XML messages and respond in the same format to the browser

    Figure 5: Working of EyeX in kernel

    Department of CE, 10

  • 8/13/2019 EyeOS- Secured Cloud Solution

    11/45

    EyeOS Secured Cloud

    3.5 Service - Proc

    Process Management:

    Launch.

    Finish.

    List.

    etc.

    Process defines important variables for the application: myPid

    myPid : identifies every process.

    Checksum : identifies the process in the client-server communication.

    3.6 Client-server communication.EyeOS use a two-tier architecture in which one machine acts as both application and presentation

    server. The client is the second tier. The application server hosts virtual machines that run

    programs and push them to a presentation server, which manages the client connection. The thin

    client runs the application and passes user input back to the application server.

    Client-side

    EyeOS makes use of several technologies on the client (browser) side:

    XHTML and CSS are used to display the user interface. The content, however, is created

    and changed dynamically by the local JavaScript engine, which uses the DOM for this

    task.

    The local engine handles communication with the server asynchronously, using AJAX.

    Client and server communicate via XML requests/responses. The client always initiates

    communication. Each server response specifies a series of tasks to the client engine (e.g.

    creating a widget, changing a value of a component, executing JavaScript code embedded

    in the message, etc.).

    Not all interactions require communication with the server. JavaScript is used to provide

    client-side-only interactions

    Department of CE, 11

  • 8/13/2019 EyeOS- Secured Cloud Solution

    12/45

  • 8/13/2019 EyeOS- Secured Cloud Solution

    13/45

    EyeOS Secured Cloud

    4. BASIC SERVICES

    There are 8 services in EyeOS, which are:

    extern

    eyeX

    log

    mmap

    proc

    sec

    um

    vfs

    They are located in the EyeOS/system/services/ directory.

    4.1 VFS, Virtual File System

    One of the most important services in EyeOS is VFS, which is the responsible of providing

    functions to work with files and directories. Absolutely no operation with files must be

    performed directly using PHP functions such as fopen and unlink(). The VFS service must

    always be used in these operations. VFS guarantees that a user is unable to read or edit another

    user's files. If an application executed by a user requests VFS to read a file over which the user

    does not have enough permissions, VFS will return false and will activate the error code

    VFS_INSUFFICIENT_PERMISSIONS

    Thus, it's VFS that ensures the security and not the applications. The applications do notneed to worry whether the user has enough permissions on a file. The VFS internal work is done

    in a modular way. This means that the VFS functioning can be modified using new modules. The

    default module is the virtual module, although it can be specified which module to use changing

    the value of the VFS_MODULEparameter on the settings.php file. The virtual module uses two

    files for every file the user creates. One file is used to store the content of the file and other file is

    used to store information about it using the XML format. In addition, the virtual module

    .

    Department of CE, 13

  • 8/13/2019 EyeOS- Secured Cloud Solution

    14/45

    EyeOS Secured Cloud

    concatenates a 32 character length random string to every file name, making it impossible to

    guess from the outside the name of a file.

    For example, if we call VFS with the virtual module to create a file:

    service('vfs','create',array('file.txt'));

    The system will actually create two files, being one called:

    file.txt_[RANDOM_STRING].eyeFile,

    which will store the content of the new file. And another called:

    file.txt_[RANDOM_STRING].eyeInfo,

    which will contain information about the new file, suchas its author, its real name (file.txt) and

    the creation date. VFS always manages these low-level tasks. For example, if we want to delete

    the file called file.txt we just need to call VFS once and both files will be deleted:

    service('vfs','delete',array('file.txt'));

    If we want to open the file to read it:

    $fp = service('vfs','open',array('file.txt','r'));

    And from here we can use the file resource $fpusing fread(), fwrite()and fclose()from PHP.

    The opening modes of VFS open are the same as the fopen()function used in PHP. Apart from

    this method using pairs of files, the virtual module has methods to deal with normal files which

    do not use the eyeInfo and eyeFile pairs. These methods are called real methods. The real

    methods work exactly like the virtual ones, but their name is preceded with the prefix real_. Let's

    see an example:

    service('vfs','real_create',array('file.txt'));

    every user has a home directory to work in. Inside every home directory there are:

    conf/ - the configuration files are stored here as real files with XML format.

    files/ - the virtual files (using eyeInfo and eyeFile) are stored here, and are visible to the

    userfrom the File Manager.

    The form to decide whether to use a virtual or a real method is as simple as thinking: Do

    I need to work with a user's file or with a configuration file? One detail to bear in mind is that

    the real functions do not have the same restrictions as the virtual ones. The virtual functions have

    permissions to read and write the files in the files/ directory of a user's home, and to create files

    Department of CE, 14

  • 8/13/2019 EyeOS- Secured Cloud Solution

    15/45

    EyeOS Secured Cloud

    in the groups' directories where the user belongs .Inside a group's directory, the virtual functions

    can only edit and delete files that belong to the user. The real functions have permissions to

    create and edit files everywhere in a user's home (including files/, conf/, etc), but they have no

    read nor write permissions on the group's folders. These restrictions exist for security reasons. It

    would be dangerous that real files of groups could be altered, so they can only be accessed with

    virtual functions.

    4.2 UM, User ManagerThe UM service manages the users in the system and provides the methods necessary forregistering, logging in, obtaining the path to a user's home, etc. One important characteristic is

    that UM provides a global variable accessible at any place, called $currentUser, which

    contains the username of the current user

    4.3 MMAP Message MappingBefore introducing MMAP, we must first get to know the communication between the client and

    the server. The EyeOS applications reside in the server, storing and processing the data in it,

    being for the client the medium to visualize and interact with the application. For example, the

    client is responsible of displaying a window, or sending a message to the server indicating a

    button has been clicked. The communication between the client and the server is done via

    messages. A message is a petition made by the client to the server, sending or asking certain

    information. Now that we know what a message is, we can move on and explain how MMAP

    takes part in this process.

    MMAP is responsible for routing every received message in the server to the applications. A

    good comparison could be made with a postal system. When a mail arrives to the post central, it

    is classified according to its addressee, and finally it is delivered by the postman. MMAP would

    do the parts of organizing and delivery, since it classifies and transmits the message to the

    applications.

    Department of CE, 15

  • 8/13/2019 EyeOS- Secured Cloud Solution

    16/45

    EyeOS Secured Cloud

    Messages Application A

    Client App A Application B

    App BMMAP

    Application C

    App C

    Figure 6: Structure of MMAP

    As a final note, you must know that MMAP is an automated service: it does not require any

    interaction with the developer at all. Nevertheless, it is important to know how to receive

    its messages,.

    4.4 PROC

    PROC is responsible for the process managing, and provides methods to launch, end, list

    processes, etc. When an application is launched with PROC, two very important variables for the

    application development are defined: myPid and checknum. myPid is a unique 4 characters

    length numerical value that identifies every process and checknum, just like myPid, is a unique

    number, although it is 8 characters length and identifies every process in the client-server

    communication. In this application, application app1 executes the application app2 and then

    it terminates itself.

    global $myPid;//Pid of application app1

    $pid =$myPid;//We store the pid in another variable

    service('proc','launch',array('app2'); //We call launch, indicating the name of the application

    to open

    service('proc','close',array($pid); //We call close indicating the pid of app1

    PROC provides a wide variety of process managing methods, not limited to launching or closing

    Department of CE, 16

  • 8/13/2019 EyeOS- Secured Cloud Solution

    17/45

    EyeOS Secured Cloud

    applications. For example, the findPidByName() function, locates a given process with specified

    pid and returns the name of its application name.

    4.5 EyeXThe Mmap service manages the messages coming from the client. All messages have a

    response in XML format, which is interpreted by the browser. The response XML contains basic

    orders to modify the interface of the client. For example, we create a button that creates a new

    window when it is clicked:

    BROWSER SERVER

    BROWSERSERVER

    Figure 7:Structure of EyeX

    In the first case, the message goes from the browser to the server. In the second case, the

    response to the message includes the orders for the browser to create a new window. The EyeX

    service is the responsible for managing the response XML sent by the server. The applications

    request EyeX basic operations, such as creating windows or showing an image, and it is EyeX

    that transforms those orders in an XML message. For example, we can use EyeX to create a

    message box in the browser, just calling EyeX with service():

    service('eyeX','messageBox',array('content'=>'This is a message'));

    4.6 Extern, external file manage

    The extern service allows the client to download files from the server. Those files must be,

    located inside the extern/ directory. Extern allows to create URLs accessible from the outside

    allowing to host images, CSS files, JavaScript files, etc. Its working is very simple: if we want to

    Department of CE, 17

  • 8/13/2019 EyeOS- Secured Cloud Solution

    18/45

    EyeOS Secured Cloud

    get a file called style.css inside of a directory called 'test' located in EyeOS/extern/ we just should

    use the URL:

    index.php?extern=test/style.css

    This service exists to allow the developers to use images, stylesheets and other files in their

    applications, without worrying about the EyeOS/ directory is not visible from the outside.

    4.7 LogLog does not require any interaction with the developer. It works autonomously registering the

    system's activity to log files, annotating the time and user of every action. Its presence does not

    reverberate at all at the time of building applications.

    4.8 SecSec is another autonomous system service, although it reverberates on the developers, unlike the

    log service. Sec is responsible of making EyeOS run in a secure environment. To do that, it

    disables PHP's magic_quotes and register_globals when initiating. Thus it's not necessary to

    worry whether these options are enabled or not: you will always see them disabled.

    Department of CE, 18

  • 8/13/2019 EyeOS- Secured Cloud Solution

    19/45

    EyeOS Secured Cloud

    5.HOW AN APPLICATION WORKS

    5.1 Preparing the environmentAll projects must be developed in an adequate environment. If, for example we are developing

    an application for GNU/Linux, it is better to use a GNU/Linux environment, otherwise the task

    would become quite a bothersome task. Let's see which requirements our environment should

    have:

    Subversion Client: we will need it to download the latest EyeOS code.

    Apache2 Server: the only server officially supported.

    PHP 5: the required version since EyeOS 1.2 and above.

    PHP Editor: any suitable text editor is valid.

    Our ideal environment is a personal preference: not everybody feels comfortable with the same

    applications. The EyeOS team uses all the same environment, which we thoroughfully

    recommend:

    Official Subversion Client: http://subversion.tigris.org

    IDE Eclipse PDT.

    A Unix-like OS: OpenBSD, FreeBSD, GNU/Linux etc.

    Mozilla Firefox 2.X.

    Firebug Extension

    ANEC (Add n edit cookies) Extension.

    5.2 Downloading the code

    The EyeOS code is in a Subversion (our Version Control system) server, and it is organized

    as follows:

    trunk: contains stable and secure code, and it is the main EyeOS working branch.

    unstable: contains applications that do not match the EyeOS quality standard.

    tags: contains the freezed code for each version released.

    Department of CE, 19

  • 8/13/2019 EyeOS- Secured Cloud Solution

    20/45

    EyeOS Secured Cloud

    5.3 Structure of an applicationOne important thing you should know to manage in EyeOS is the structure of an application.

    The directory and files tree of an application is as follows:

    EyeOS/apps/ -Directory that contains the PHP code of each application

    EyeOS/apps/Application/-Application's main directory

    EyeOS/apps/Application/apps.eyecode -Initializing and ending code of an application

    EyeOS/apps/Application/events.eyecode -Event reception code

    EyeOS/extern/apps/Application -Main directory for the external resources of an application.

    The files and directorios marked in bold are required for an application to work properly.

    5.4 Initializing and ending of an application

    The initialization and ending of an application is contained in the apps.eye code file.

    This file contains two functions:

    ApplicationName_run: function called by PROC when launching an application.

    ApplicationName_end: function called by PROC when terminating an application in case itexists.

    The only required function in this file is the _run function. Its use varies enormouslydepending

    of the kind and size of the application. A graphical application normally uses it to initialize the

    User Interface, but non-graphical and small applications concentrate all their code in this

    function.

    5.5 EventsAn event is described as an interaction by the user with the interface of our application. For

    example, when a user clicks a button an event is produced. The generated information of every

    event is sent to the server in the form of a message. As we explained above, the responsible part

    of treating those messages is the MMAP service. MMAP is able to deliver every message thanks

    to the fact that each message contains the checknum of the addressee application and the name of

    the event. To deliver the message, MMAP finds a file named events. Eyecode in the directory of

    Department of CE, 20

  • 8/13/2019 EyeOS- Secured Cloud Solution

    21/45

    EyeOS Secured Cloud

    the addressee application and tries to call a function named ApplicationName_on_EventName,

    passing as an argument the body of the message. An example of a valid event function would be:

    function eyeNotify_on_reciveNewMessage($params){

    if(!$params) {

    return false;

    }

    service('eyex','messageBox',array('content'=>'New message recived'));

    }

    eyeNotify: name of the application to which the message is addressed.

    reciveNewMessage: name of the event received.

    $params: parameters sent from the client.

    5.6 ExternUsing extern in our application is very easy. We only have to place the file we want to access inextern/apps/ApplicationName/ and then use a URL to the file . The use of extern in an

    application is quite useful since it allows to load icons, CSS files, images,etc

    Department of CE, 21

  • 8/13/2019 EyeOS- Secured Cloud Solution

    22/45

    EyeOS Secured Cloud

    6. FEATURES

    6.1 File Sharing Platform

    With EyeOS you can manage and save your files with a synchronization between your

    computer and a virtual network drive connected with EyeOS..

    Fast access to your information from any device with a web browser;

    You can create workgroups, managing user profiles and groups

    Blackboard to send messages between users and members of your groups; Work

    collaboratively with the same document at the same moment

    Allows an EyeOS platform to connect with the end users outside the system by allowing

    any EyeOS user to share his/her files with everyone, getting a simple

    URL for any file which should be shared;

    Files links can also be sent via e-mail;

    Files can also be shared with a password protection and only for certain groups of users;

    6.2 The Base ApplicationsEyeOS comes by default with applications to create and work with Office files (with a

    word processor and a spreadsheet program), calendar, diary, email (with POP3/IMAP support)

    and much more. EyeOS aims to be a great stable suite for comfortable online work, both

    individually and with other users simultaneously.

    6.3 Better, Easier Development

    Making EyeOS 2.0 applications is easier than ever. The GUI (graphical user interface) is

    completely implemented in JavaScript, and the system is based on OOP (object-oriented

    programming) and can be expanded or modified by adding classes and methods. The new store

    methods (GenericDao) allow you to save and retrieve data from the database transparently: it is

    not necessary to know SQL. Creating RIA (rich Internet applications) is easy and fast. Now

    EyeOS is a framework that combines JavaScript and PHP: there is no quicker and easier way to

    create a RIA.

    Department of CE, 22

  • 8/13/2019 EyeOS- Secured Cloud Solution

    23/45

    EyeOS Secured Cloud

    6.4 RIA Framework

    EyeOS is not only a web desktop with its own valuable applications; it has been designed

    from the beginning to enable easy development and creation of new applications. EyeOS 2.0 is

    the perfect development framework for quick and easy creation of rich Internet applications. It

    has been completely developed with open technology and widely accepted standards such as

    PHP, MySQL, JavaScript, log4php, PHPUnit, OpenOffice and others, enabling the system to

    function on a common web server without any modifications, and using any standard browser

    without any additionalplug-ins installed.

    6.5 Open Source

    It is simple to access the EyeOS code, because it follows an open development model with a

    public SVN, version control system, which tracks the development of the project. Furthermore,

    all of the EyeOS code is documented so that you can start using it from day one.

    6.6 Develop Easily

    Learning to program in EyeOS is quick and easy. And once it is done, you dont have to

    worry about the system at all! Thus, it is very easy to create an application. EyeOS hasbeen

    designed as a totally extensible system so that anyone can create an application using PHP and

    JavaScript and integrate it into the system. Its free software model and free license mean that the

    software can be adapted without problems.

    6.7 EyeOS as the Cloud ComputingWorking together IBM and EyeOS are making available a sample virtual Linux desktop

    Work load for the Solution Edition for Cloud Computing. Clients who choose to the

    EyeOS sample workload can:

    Accelerate the learning process for cloud computing with an open source software

    workload.

    Understand the anatomy of cloud images the contain operating systems, middleware and

    applications.

    Increase the speed to value for the Solution Edition for Cloud Computing.

    Department of CE, 23

  • 8/13/2019 EyeOS- Secured Cloud Solution

    24/45

    EyeOS Secured Cloud

    7.EXTRASUblquity : Access your documents, files and applicationsfrom anywhere and any device.

    Flexibility : From the small business to the big corporation. Also for individual use, there is

    an EyeOS for you!

    Integration : The EyeOS architecture makes easier and faster the integration of any web

    application that you use

    Simplicity : From its first steps. EyeOS has been planned and created to be intuitive and easy

    to use.

    Collaboration : Share files and edit them in a real-timecollaboration suite with other users.

    Privacy: Decide where your files are: You can have your ownEyeOS server!

    Security: Control your EyeOS. You are who manage rolesand permissions for each user.

    Low costs: All in one in a single platform: the best way to optimize time and resources.

    Department of CE, 24

  • 8/13/2019 EyeOS- Secured Cloud Solution

    25/45

    EyeOS Secured Cloud

    8. STRUCTURE AND API

    For developers, EyeOS provides the EyeOS Toolkit, a set of libraries and functions to

    develop applications for EyeOS. Using the integrated Portage-based EyeSoft system, one can

    create their own repository for EyeOS and distribute applications through it. Each core part of

    the desktop is its own application, using Javascript to send server commands as the user

    interacts. As actions are performed using Ajax (such as launching an application), it sends event

    information to the server. The server then sends back tasks for the client to do in XML format,

    such as drawing a widget.

    On the server, EyeOS uses XML files to store information. This makes it simple for a user

    to set up on the server, as it requires zero configuration other than the account information for the

    first user, making it simple to deploy. To avoid bottlenecks that flat files present, each user's

    information and settings are stored in different files, preventing resource starvation from

    occurring.

    Department of CE, 25

  • 8/13/2019 EyeOS- Secured Cloud Solution

    26/45

    EyeOS Secured Cloud

    9. WHAT IS THE "EYEOS TOOLKIT"?

    The EyeOS toolkit consists in a group of Widgets, which are PHP+AJAX classes prepared

    to receive instructions and communicate with the application. Making an application is as simple

    as choosing your widgets, grouping them through the addFriend method and adding events to

    them (e.g. what should the application do when a button is clicked).

    The system will automatically call the events when they are fired, add the app to the Processes

    table so it can run in multiple instances (e.g. two or more opened documents in a text editor), and

    protect the app against external attacks.

    Please note that EyeOS Toolkit comes by default with any version of EyeOS. It's not visible, it's

    just under the hood. It lets you to create your apps using it. You will learn more about the EyeOS

    toolkit and how to use it on the EyeOS Developers Manual.

    9.1 How the Toolkit works

    Every visual element of an application has a class that represents it: in other words, every widget

    is a class. With this model, adding a widget in our application is as easy as instantiating a class.

    All the classes of the Toolkit take as an argument an indexed array when they are instantiated.

    This array contains parameters shared in common with other widgets and specific parameters for

    each widget. The common parameters of all widgets are:

    name the name given to the widget, such as 'window1', 'button2', etc. This name will be

    usedto refer to the widget in the application

    father the father of the widget. In other words, the widget inside of which this widget is

    placed.

    If, for example we create a window in our application and want to create a button inside the

    window, we must indicate the name of the window as the father of the button. The background is

    a layer called eyeApps, which is the father of all windows that are not placed inside another

    window.

    Department of CE, 26

  • 8/13/2019 EyeOS- Secured Cloud Solution

    27/45

    EyeOS Secured Cloud

    X the horizontal coordinate with regard to its father.

    Y the vertical coordinate with regard to its father.

    Horiz this flag specifies the form in which the horizontal (X) coordinates are taken. If it is

    set to 0 (the default value) the pixels are counted from the left. If set to 1, the pixels

    are counted from the right.

    Vert exactly like Horiz, but with the vertical (Y) coordinates.

    The use of horiz and vert is justified: we may want to stick some element to the right or down

    border of a window, and those flags eliminate the need to calculate the size of the window to

    place the element.

    Cent this key is used to center widgets. When it is set to 0 (the default value) nothing is

    changed. If it is set to 1, it makes the horizontal and vertical coordinates (X and

    Y,respectively) given be ignored, and centers the widget at the center of the father. If

    set to 2, the widget is centered horizontally, and when it is set to 3 it is centered

    vertically. Aside from these parameters in the array, each widget has its own specific

    parameters. We will se an example using a window widget to see this

    $myWindow = new Window(array( 'name'=>'Window1', 'father'=>'eyeApps',

    'cent'=>1, 'width'=>600, 'height'=>500, 'title'=>'Example1', ));

    $myWindow->show();

    This example creates a window with a 600x500 pixels size, centered in the screen and with a

    title called 'Example1'.

    9.2 The JavaScript side and the PHP side

    Since EyeOS is executed in the server using PHP and it is visualized in the client, using XHTML

    and Javascript, it is necessary a mechanism to communicate both parts.

    Department of CE, 27

  • 8/13/2019 EyeOS- Secured Cloud Solution

    28/45

    EyeOS Secured Cloud

    An EyeOS application could be defined this way:

    Javascript +XHTML PHP

    Figure 8:EyeOS Application

    The PHP side is where the classes reside, and in the Javascript side there is a system to draw the

    widgets, although the programmer does not need to deal with it. To communicate both sides,

    Messages are used. They normally consist of Ajax calls that are made by the system when the

    user interacts with some part of an application. For example, if the user clicks a button, it emits a

    message, an Ajax call to the server, telling it the button is pressed. The most interesting part of

    this process is that it occurs automatically, and the programmer only has to worry about creating

    the widgets and managing the events in a free way

    .

    9.3 Messages

    The messages in EyeOS are the way to call the events of an application. Those events,

    normally being Ajax calls to the server have 3 parameters (although the programmer does not

    need to deal with it, since it is automatically handled by EyeOS). The first parameter is the

    checknum, a unique random number assigned to every application that lets EyeOS know to

    which application a message is directed to.The second parameter is the signal, which is the name

    of the event of the application. As said above, with each message received, EyeOS tries to

    execute a function from the events.eyecode file called applicationName_on_signal. Most widgets

    capable of sending messages use their name as the signal to send. However, their constructor

    allows to specify a key named 'signal' to set the name of the signal sent to a desired value.

    $myButton = new Button(array('name'=>'Button1', 'signal'=>'doSignal' 'caption'=>'Click me!',

    'father'=>'Window1', 'x'=>30, 'y'=>3

    Department of CE, 28

  • 8/13/2019 EyeOS- Secured Cloud Solution

    29/45

    EyeOS Secured Cloud

    This example creates a button with the text Click me!, that will produce the event 'doSignal'

    when clicked. In addition, the messages have a third param, which is their value. This value is

    the content of the widget that produces the event. For example, a textbox that sends a signal

    when you enter the text on it would send its text. This parameter lets the PHP side to stay

    coordinated with the values of the Javascript/XHTML side.

    9.4 Serialization

    In EyeOS, the serialization consists in storing all the widgets of an application in the user's

    session so that the widgets remain available when an event is triggered. Let's see an example: We

    create a textbox and a button, and we want to change the text of the textbox to the string 'Hello,

    World!' every time the button is clicked.

    $myTextbox = new Textbox(array( 'name'=>'textBox', 'width'=>212, 'father'=>'Window1',

    'x'=>30, 'y'=>50 ));

    $myTextbox->show();

    $myButton = new Button(array('name'=>'button1', 'caption'=>'Change text',

    'father'=>'Window1', 'x'=>120, 'y'=>90, 'signal'=>'change' ));

    $myButton->show();

    Now we have the two elements drawn in the window (named Window1). Now we make that

    when the message 'change' is received, the event of the events.eyecode file changes the text

    inside the textbox:

    function ejemplo1_on_change($params=null) { $textBox->setText('Hello, world!');

    Since we gave the textbox the name 'textBox' when we created it, we can access this textbox just

    by referring it with this name. This way, we can access and modify the textbox using its class

    methods. Serializing affects the memory of the server. We may be interested in drawing widgets

    without serializing them.

    Department of CE, 29

  • 8/13/2019 EyeOS- Secured Cloud Solution

    30/45

  • 8/13/2019 EyeOS- Secured Cloud Solution

    31/45

    EyeOS Secured Cloud

    9.5 Friends

    The friends concept in EyeOS is a way to tie widgets so that an event on a widget causes another

    widget to refresh its content. As we saw above, when a widget produces an event, it includes in

    the message its new content so that the PHP can have its most recent content. However, we may

    want the widget to update the content of other widgets when producing an event. For example, in

    an application with a button and a textbox, we want to retrieve the content of the textbox when

    the button is pressed. To update the content of that textbox when the button is pressed, we must

    make the textbox a friend of the button. Let's see an example:

    $myTextbox = new Textbox(array( 'name'=>'textBox', 'width'=>212, 'father'=>'Window1',

    'x'=>30, 'y'=>50 ));

    $myTextbox->show();

    $myButton = new Button(array( 'name'=>'button1', 'caption'=>'Change',

    'father'=>'Window11', 'x'=>120, 'y'=>90, 'signal'=>'change'));

    $myButton->addFriend($myTextbox); //Now the textbox is a friend of the button

    $myButton->show();

    This way, in the events.eyecode file, we can retrieve the content of the textbox this way:

    function example_on_change($params=null) {

    $text = $textBox->text;

    }

    Now $textcontains the text of the textbox at the moment of clicking the button.

    Department of CE, 31

  • 8/13/2019 EyeOS- Secured Cloud Solution

    32/45

    EyeOS Secured Cloud

    10.GROUPS

    Every user is member of at least one group, normally the public group. Each group has a folder

    with its name inside the groups/ directory where all the shared files between the group members

    are stored. Currently there are few functions for group managing, although both the UM and

    VFS services offer some interesting ones:

    um_getCurrentGroups: returns a list of all existing groups.

    vfs_real_getDirContent_group : returns the contents of the folders of a group.

    The files stored in a group do not have any type of restriction to the other members. For example,

    user A can delete a file of user B in the group.

    Department of CE, 32

  • 8/13/2019 EyeOS- Secured Cloud Solution

    33/45

    EyeOS Secured Cloud

    11. SHARING YOUR WORK WITH EYEOS COMMUNITY

    EyeOS is an Open Source web operating system and applications platform, and aims to be the

    strongest free, open source web development platform out there. This can only be possible with

    the work of thousands of people who do release they work as OpenSource and share it with the

    rest of the EyeOS community. There are lots of available licenses outthere. We recommend to

    use the GNU ones, but you are free to choose whats the best Open Source license for your work.

    For this reason, we aim you to release your work (from your very first application to a full

    system of applications and system tweaks) in the EyeOS Applications Community:

    http://www.EyeOS-apps.org

    Department of CE, 33

  • 8/13/2019 EyeOS- Secured Cloud Solution

    34/45

    EyeOS Secured Cloud

    12. APPLICATIONS

    12.1 Application Areas

    EyeOS provides system for the users where they work with EyeOS and all itsapplications,

    including Office and PIM ones.EyeOS provides a toolkit to create newapplications easily.

    EyeOS can provide schools and universities with a full web platform where students,teachers and

    parents will have a personal yet collaborative desktop to work and,communicate between

    themselves and get organized inside and outside the school.With a private server, EyeOS can

    provide city councils, public library networks, freeInternet points and other public environments

    the perfect system for their users to have aweb place to work and communicate with the network

    managers, registering once andusing it from every point.One of the main triggers and great

    acceptance of people with regard to this service is itsavailability online, which has no

    dependencies and has a strong security system,achieving thus be an ideal application for storing

    content. This action may be useful for those who travel frequently, for schools that want a

    centralized storage and available for intranets and business in general and so on.; Even could be

    used in any future as a serviceto replace the need for a harddisk Among the most typical uses are

    highlightedSchools: There is a Web system that brings a personal space for each teacher and

    student,which can be leveraged to work collaboratively.Also it is best accessed from

    anywhereyou have Internet access.Public places may be in libraries or on points that have open

    WiFi, allowing users toconnect to have the same meeting place on the Web.Social Organizations

    and Companies:Contacts, personal files and communications to which members can access

    businesses andorganizations large and small.

    12.2 Industry Relevance

    EyeOS at CeBIT 2010

    EyeOS at CeBIT (Hannover, Germany) explaind and showd EyeOS, Cloud Computingand why

    it is necessary to move operating systems and desktops to the cloud. CeBIT isone of the

    worlds foremost tradeshow for the digital industry and the No. 1 annualmeeting point for ICT

    buyers, sellers, developers and users from around the globe.EyeOS is growing up with customers

    Department of CE, 34

  • 8/13/2019 EyeOS- Secured Cloud Solution

    35/45

    EyeOS Secured Cloud

    who are looking for a solution on the cloud for itscompany and they are starting to see EyeOS as

    an important player to make the finalchoice. Therefore our structure has been increased to attend

    their demands. We offer specific programming, branded installation, training and support to the

    people/customerswho want to customize or personalize our product for their companies. We are

    alsoincreasing our official partners list, to improve our Professional Network, and to be ableto

    offer local services at a wide variety of places.

    EyeOS and IBM Working together - where EyeOS will be the Sample Workload of the new

    System Z serie Solution Editionfor Cloud Computing. System Z is the IBM brand used to

    produce their mainframeservers, used worldwide by governments, big companies and thousands

    of organizations.EyeOS was approved and introduced to the IBMs Global SolutionDirectory

    It also represents its expansion as a powerful, scalable platform working withone of the biggest

    IT corporations in the world.EyeOS is designed to access a specific set of applications installed

    on the virtual desktop.Using the system, an organization could provide employees with

    productivityapplications, its own custom applications, and access to proprietary data. The ability

    toaccess these through a single Web-based operating system saves users from needing passwords

    to different Web-based services. It also allows the applications to be morecompatible witheachother.IBM is beginning to sell EyeOS pre-installed on its high end servers, but this is not to

    sayits will not come onto notebooks and netbooks. The idea is to get people interesting inusing

    EyeOS to get them comfortable with cloud computing in their business, so when thetime comes,

    they can transition that familiarity to home notebooks. partnership with GMV, which will deliver

    new and exciting projects based on the OpenKnowledge, by joining the experience and expertise

    from GMV and the Open SourceEyeOS Web Desktop Platform to provide enterprise-ready Web

    Desktop Solutions,expanding the EyeOS usageworldwide.

    12.3. Research and Development

    SCOPE

    The Goals ofEyeOS:

    Being able to work from everywhere, regardless of whether or not you are using a full-featured,

    modern computer, a mobile gadget, or a completely obsolete PC.Sharing resources easily

    Department of CE, 35

  • 8/13/2019 EyeOS- Secured Cloud Solution

    36/45

    EyeOS Secured Cloud

    between different work centres at company, or working fromdifferent places and countries on the

    same projects.Always enjoying the same applications with the same open formats, and forgetting

    theusual compatibility problems between office suites and traditional operating systems.Being

    able to continue working if you have to leave your local computer or if it justcrashes, without

    losing data or time: Just log in to your EyeOS from another place andcontinueworking.A Web

    OS runs on any Internet enabled computer or device. This is important for mobileworkers or

    people who dont have their own computers and must work out of Internetcafes, libraries, or

    schools. Also, Web OS users can work, log out, and then log in later from a different computer.

    In addition, because the same Web OS can run on differentcomputers, the technology facilitates

    collaboration among multiple work centres. Thetraditional OS runs on only one computer.

    Extensions such as the Network File System away for different machines to import and export

    local files and remote desktop a way tocontrol one computer by using another device allow

    easier access to information frommultiple locations and better user collaboration. However, these

    techniques are limited toa set of machines on the same network or specific computers that have

    been linked.WithaWeb OS, users can store, find, and otherwise manage files and services,such as

    calendarsand email, from a Web desktop. And storing applications, files, and services on an OS

    providers servers, rather than on the users computer, makes them harder for a PC or laptop thiefto use.Web OS users dont have to back up or archive work because the providers remote server

    handles these functions.The technology also promises to reduce userside long-term computer and

    device costs because much of the heavy processing is concentrated in providers remote servers,

    SunWeb OS operates across platforms, it eliminates compatibility issues between

    applicationsand operating systems. Thus, the same Web OS will run on a Windows, Mac, or

    Linuxmachine. Application developers create an application only once for a Web OS, rather than

    many times for each of the traditional operating systems. And system administratorshave to

    deploy an application only once for a given Web OS. They can then easilydistribute it online to

    users. Because the Web OS and its applications are generally basedin servers that can be

    monitored and secured from one location, they provide centralizedmalware protection.

    12.4. Convergence Of Technology

    EyeOS is an open source web desktop following the cloud computing concept. It ismainly

    written in PHP, XML, and Javascript. It acts as a platform for web applicationswritten using the

    Department of CE, 36

  • 8/13/2019 EyeOS- Secured Cloud Solution

    37/45

    EyeOS Secured Cloud

    EyeOS Toolkit. It includes a Desktop environment with 67 applicationsand system utilities. It is

    accessible by portable devices via its mobile front edu. EyeOSlets you upload your files and

    work with them no matter where you are. It containsapplications like Word Processor, Address

    Book, PDF reader, and many more developed by thecommunity.For developers, EyeOS provides

    the EyeOS Toolkit, a set of libraries and functions todevelop applications for EyeOS. Using the

    integrated Portage-based eyeSoft system,anyone can create their own repository for EyeOS and

    distribute applications through it.Each core part of the desktop is its own application, using

    javascript to send server commands as the user interacts. As actions are performed using ajax

    (such as launchingan application), it sends event information to the server. The server then sends

    back tasksfor the client to do in XML format, such as drawing a widget.On the server, EyeOS

    usesXML files to store information. This makes it simple for a user to set up EyeOS on aserver,

    as it requires zero configuration other than the account information for the firstuser, making it

    simple to deploy. To avoid bottlenecks, that flat files present, each user information and settings

    are stored in different files, preventing resource starvation from occurring.

    12.5. Future Technology

    EyeOS 2.0 for developers

    EyeOS 2.0 is a development framework for creating RIAs quickly and easily. It has been fully

    developed using open technology and widely accepted standards, such as PHP,MySQL,

    javascript, qooxdoo, log4php, phpunit, OpenOffice and others, allowing thesystem to work on a

    common web server without any modification, and any standard browser, without needing to

    install additional plugins.EyeOS 2.0 is much faster than EyeOS 1.x, since it gives much more

    prominence toJavaScript. We have completely eliminated the PHP code which is not used for

    businesslogic. As a result, the client needs to make fewer requests to the server, and makes

    themonly when needs persistence of data or specific business logic.EyeOS 2.0 has also added a

    cache system on the client side to eliminate server requests,even when these are for data

    persistence.The logical architecture of the system remainsvery similar to EyeOS 1.x, however,

    everything has been rewritten from scratch usingdesign patterns with object-oriented

    programming, where for example, each system service kernel singleton component.

    Department of CE, 37

  • 8/13/2019 EyeOS- Secured Cloud Solution

    38/45

    EyeOS Secured Cloud

    The future of computers

    With software like EyeOS etc. computer processors, memory and disk space are becoming less

    and less important for the average user. Computer specifications will startto drop as will cost.

    Smaller laptops will start to become dumb terminals as all processingand the fun stuff is done by

    the EyeOS server.

    Department of CE, 38

  • 8/13/2019 EyeOS- Secured Cloud Solution

    39/45

    EyeOS Secured Cloud

    13. MARKET VIEW

    The idea behind EyeOS is that the whole system lives in the web browser. The client must

    have only a web browser to work with EyeOS and all its applications, including Office and PIM

    ones. This applies to for both modern and obsolete PCs.

    There are no license costs with EyeOS: Its Free, Open Source Software. Special

    programming, Support & Maintenance up to 24x7, Training and adaptation are offered as

    professional services. EyeOS work with private and public companies that are looking for an

    internal intranet: big companies that would like to offer a virtual desktop to their customers,

    small and big administrations, and the education world EyeOS for Education.

    Free Internet Access Points Resources Management Internet & Access Providers Servers

    Management EyeOS Mobile Professional Meetings Manager Available Services. These are the

    projects that have under consideration and working effectively by keeping in mind to give the

    best cloud service. The free public server for everyone that has already reached 4,00,000 users.

    EyeOS provides Support Packs for both Open Source and Commercial Edition customers.

    Whether you are trying EyeOS for the first time or deploying a mission-critical application, we

    have a plan that meets your needs and budget.

    Who would like to have a full EyeOS environment with more space, more allowed upload max

    file size, the ability of managing users and groups and installing new applications there hasnt

    been an officially offered option before.

    Were today starting to offer full EyeOS servers, with the following specs:

    From 5 GB to 40 GB of space

    Unlimited number of users

    EyeOS bundled with everything necessary to run inside. The specs and configurations

    have been prepared by the EyeOS Team.

    Office support enabled and working from the first moment. There is a separated server

    (outside the EyeOS servers) only for Office, so the office files conversion is specially fast

    Department of CE, 39

  • 8/13/2019 EyeOS- Secured Cloud Solution

    40/45

    EyeOS Secured Cloud

    even in the smallest servers, since its done in a much more powerful server inside the

    network.

    A maximum upload file sized of 1000 MB (you can basically upload almost every file

    you want to your EyeOS and keep it online, directly with eyeUpload or through eyeSync

    for Windows, Mac and Linux).

    Every single server is inside a Virtualized Private Server environment: Your data will be

    safe and protected against others access.

    You will have the root account inside your EyeOS Server: This means being able to

    install new applications, creating work groups, enabling or disabling the possibility to

    allow people to create accounts, assigning a maximum space quota per every user.

    Department of CE, 40

  • 8/13/2019 EyeOS- Secured Cloud Solution

    41/45

    EyeOS Secured Cloud

    14.APPLICATION DOMAIN EyeOS provides system for the users where they work with EyeOS and all its

    applications, including Office and PIM ones. EyeOS provides a toolkit to create new

    applications easily.

    EyeOS can provide schools and universities with a full web platform where students,

    teachers and parents will have a personal yet collaborative desktop to work and,

    communicate between themselves and get organized inside and outside the school. With a private server, EyeOS can provide city councils, public library networks, free

    Internet points and other public environments the perfect system for their users to have a

    web place to work and communicate with the network managers, registering once and

    using it from every point.

    One of the main triggers and great acceptance of people with regard to this service is its

    availability online, which has no dependencies and has a strong security system,

    achieving thus be an ideal application for storing content. This action may be useful for

    those who travel frequently, for schools that want a centralized storage and available for

    intranets and business in general and so on.; Even could be used in any future as a service

    to replace the need for a hard disk

    Figure 9 : Application domains

    Department of CE, 41

  • 8/13/2019 EyeOS- Secured Cloud Solution

    42/45

    EyeOS Secured Cloud

    Among the most typical uses are highlighted

    Schools: There is a Web system that brings a personal space for each teacher and

    student, which can be leveraged to work collaboratively. Also it is best accessed

    from anywhere you have Internet access.

    Public places may be in libraries or on points that have open WiFi, allowing users

    to connect to have the same meeting place on the Web. Social Organizations and

    Companies: Contacts, personal files and communications to which members can

    access businesses and organizations large and small.

    Department of CE, 42

  • 8/13/2019 EyeOS- Secured Cloud Solution

    43/45

    EyeOS Secured Cloud

    15.ADVANTAGES & DISADVANTAGES

    15.1 Advantages Portability,

    Decentralization,

    Availability.

    15.2 Disadvantages

    Safety,

    Need for fast connection performance,

    Isolation of the host system.

    Department of CE, 43

  • 8/13/2019 EyeOS- Secured Cloud Solution

    44/45

    EyeOS Secured Cloud

    16.CONCLUSION It is designed for developers without experience to develop web applications.

    Communication with the user through events.

    Creation of the interface using widgets.

    Advantages: Portability, decentralization, availability.

    Disadvantages: safety, need for fast connection performance, isolation of the host system.

    Worldwide availability: As its available through internet

    Requires only browser: A browser with java support is more than enough

    Dynamic content and design: Interface can be customized according your needs,

    windows are floating so that they can be repositioned

    Extensive list applications: Office applications, multimedia applications, network

    applications and chat applications etc. are available.

    Remote storage facility: Through the file browser you can store files over the internet and

    edit them as you want.

    Browser and Platform independent: All browsers and all operating systems are

    supported.

    Rich text editing facility

    Department of CE, 44

  • 8/13/2019 EyeOS- Secured Cloud Solution

    45/45

    EyeOS Secured Cloud

    17. REFERENCES

    1. http://www.openwebosproject.org.

    2. http://www.engineersgarage.com/articles/web-operating-system-webos.

    3. http://www.zdnet.com/blog/web2explorer.

    4. K. Arnold and J. Gosling. The Java Programming Language. Addison Wesley, 1997.

    5. http://www.ncsa.uiuc.edu/General/CC/CCMetacomputer.html.

    6. http://www.sun.com/smi/Press/sunflash/mncrs-profile.html.

    7. F. Reynolds. Evolving an operating system for the Web. IEEE Computer.

    8. H. Unger, H. Unger, and G. Hipper. LYDIA {load sharing for PVM applications in a

    workstation cluster. In Proceedings of PDCS'97, Washington, DC, 1997.