Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Do you really want to delete this prezi?
Neither you, nor the coeditors you shared it with will be able to recover it again.
Make your likes visible on Facebook?
You can change this under Settings & Account at any time.
Shanawar Hasnainon 8 April 2014
Transcript of WebOS Prezi
A Global Cache Coherent File System
Cache coherent access to the global name space for unmodified application
A fully file system interface supporting arbitrary file/directory operations
Performance comparable to standard file systems for cache access
Block on Semaphore
Fill in Request
The performance of WebFS relative to the performance of NFS on the modiﬁed Andrew Benchmark suite
Network File System (NFS) is a distributed file system that allows files to be accessed by client computers over a network as easily as if the files were located on clients’ local disks.
Index.html AboutUs.html Index.html AboutUs.html
Root directory is defined to contain all HTTP/WebFS sites and is initially empty
When access one HTTP/WebFS site -> system checks for the presence of first a WebFS and second an HTTP server.
webFS is mounted on /http
WebFS cache coherence policies
Examples of Cache Coherrent Policy
Internet Chat: Append Only
General File Sharing: Last Writer Wins
Stock Ticker: Multicast Updates
The choice of caching policy for application correctness, performance, and development use.
WebFS allows read access to the existing HTTP namespace
Request the contents of a directory containing a pre-determined filename, but HTTP returns the contents of the file rather than the contents of the directory
WebFS must address is the limited file statistics exported by HTTP when providing directory information
WebFS HTTP limitations
Uses Public Key Cryptography
Each file is associated with ACL (Access control lists) -> enumerate users who read, write or excurse permission on individual files
Users are uniquely identified by their public keys
Operating System: provide common services to applications: IO, communication, storage.
With multiprogramming: include abstracting shared resource.
Local Area Network: birth of Network OS to provide access to network resources.
We need similar services for Wide Area Network distributed applications.
World Wide Web is the most widely used applications on the Internet.
Web made geographically distributed read-only data easy to use, but geographically distributed computing resources are not.
The result is that wide area applications that require access to remote CPU cycles, memory, or disk must be programmed in an ad hoc and application-specific manner.
A framework for supporting applications that are geographically distributed, highly available, incrementally scalable, and dynamically reconfiguring.
A global namespace
Remote process execution
Authentication and security
Web OS versus tradition single PC OS
Web OS PC OS
Technology AJAX +FLASH c /assembly
Built on any other OS directly on hardware
Internet online on browser Offline is ok
Application installed on server installed on local disk
Security volatile safe
File System wide areas file system ntfs,fat32,ext2,ext3
Core-apps include the following Enyo 1.0 applications: accounts, calculator, calendar, clock, contacts, email, and memos, and the Node.js-based services required to run them.
Open webOS Architecture
application framework emphasizing modularity
The luna-sysmgr GitHub repository is here. It contains the webOS System Manager, which is a key webOS component responsible for:
Managing the application and service interface for physical devices, such as keys, accelerometer and vibrator.
Managing the running of applications and passing of messages between applications.
Managing the installation and removal of applications.
Managing display and notify applications and services.
Managing the sharing of system resources between different applications and services.
Managing the dock mode status.
Managing the security policy and access to a locked device.
Providing for the display of notifications.
Providing for system menus.
Providing for the coordinated rendering of applications.
Rendering webOS card view, lock screen, status bar, system menus, virtual keyboard, notifications, and launcher, in addition to other system management features that are viewable in the System Manager User Interface.
WebAppMgr is provided by System Manager and is responsible for running Enyo applications.
To provide the best overall system performance, client applications must be able to dynamically locate the server able to deliver the highest quality of service.
Resource discovery includes mapping a service name to multiple servers, an algorithm for balancing load among available servers, and maintaining enough state to perform fail-over if a server becomes unavailable
These operations are performed through Smart Clients.
Wide Area File System:
To support replication and wide-scale sharing, WebOS provides a cache coherent wide area file system.
WebOS extends to wide area applications running in a secure HTTP name space the same interface, caching, and performance of existing distributed file systems.
Security and Authentication:
To support applications operating across organizational boundaries, WebOS defines a model of trust providing both security guarantees and an interface for authenticating the identity of principals.
A key enabling feature is fine-grained control of capabilities provided to remote processes executing on behalf of principals.
In WebOS, executing a process on a remote node should be as simple as the corresponding local operation.
The underlying system is responsible for authenticating the identity of the requester and determining if the proper access rights are held.
First, a service name must be mapped onto the replicated service representatives.
Next, a load balancing decision must be made to determine which server is able to deliver the best performance.
Finally, enough state is maintained to perform fail over if a service provider becomes unavailable.
Round Robin algorithm and many open source software like HAproxy is used for load balancing. Load balancing across the wide area is achieved by instructing users to access a particular “mirror site” based on their location.
To distribute load across servers, techniques such as HTTP redirect or DNS Aliasing can be used to send user requests to individual machines.
Smart Clients enable extensions of server functionality to be dynamically loaded onto the client machine.
Java’s portability and availability in all major Internet browsers allow distributing these extensions as Java applets.
Naming, load balancing, and fail over are performed from the perspective of the client.
Smart Client architecture
The GUI thread presents the service interface and passes user requests to the Director Thread.
The Director is responsible for picking a service provider likely to provide best service to the user. The decision is made in a service-specific manner. In this case, the nearest mirror site is chosen.
Bootstrapping Applet Retrieval
How smart clients retrieve applets on browser .
Fast internet access .
Not able to access all computational resources .
Step 1: users transfer some portion of their access rights to webOS server when attempting to access a remote resource
Step 2: WebOS servers communicate using SSL
Step 3: The remote server checks if the proper
credentials are held in local ACL’s
Transfer of Rights
Principals register with web os and control the transfer of portions
of their rights to servers acting on their behalf
A webOS server can recursively transfer rights to a second server by signing the appropriate transfer certificate if has a transfer right.
Principals transfer rights by creating a transfer certificate
What is a Transfer Certificate?
The dictionary defines certificate as an official
So what simple facts make up a transfer certificate?
Target WebOS Server
Access Control Lists (ACLs) are employed to describe the principals and groups privileged to access particular resources
Two types of ACLs are
Process Execution ACL
Check for a valid timestamp
Proper authority of the requesting web browser
Check its local ACL’s
Goals: safety and fairness
As simple as forking a process on the local processor.
Using scheduling mechanism of local operating
system to allocate fairness
Using resource manager is responsible for jobs requests
from remote sites
Rent-A-Server allows sites to deal with peak loads
Benefits for Rent-A-Server:
Transparent End-to-End Availability
Secure Coherent Data Access
Safe Remote Execution
WebOS actually is as simple as it seems so it has found its usage in various domains like Thin TV's and gears.
It has a bright prospect in the near future with its innovative infiniteness.
Security & Authentication
Server sends a copy of its asymmetric public key.
Browser creates a symmetric session key and encrypts it with the server’s asymmetric public key.
Server decrypts the asymmetric public key with its asymmetric private key to get the symmetric session key.
Server and Browser now encrypt and decrypt all transmitted data with the symmetric session key. This allows for a secure channel because only the browser and the server know the symmetric session key, and the session key is only used for that session. If the browser was to connect to the same server the next day, a new session key would be created