YouServ: A Web Hosting and Content Sharing Tool for the Masses



Similar documents
YouServ: A Web-Hosting and Content Sharing Tool for the Masses *

WhatsUp Gold v16.3 Installation and Configuration Guide

Repeater. BrowserStack Local. browserstack.com 1. BrowserStack Local makes a REST call using the user s access key to browserstack.

Overlay Networks. Slides adopted from Prof. Böszörményi, Distributed Systems, Summer 2004.

App Orchestration 2.0

How To Plan A Desktop Workspace Infrastructure

Interwise Connect. Working with Reverse Proxy Version 7.x

SHARPCLOUD SECURITY STATEMENT

How To Use Netscaler As An Afs Proxy

Authentication Methods

NEFSIS DEDICATED SERVER

Administrator Guide. v 11

Agenda. How to configure

Disaster Recovery White Paper

REQUIREMENTS AND INSTALLATION OF THE NEFSIS DEDICATED SERVER

Single Sign-on (SSO) technologies for the Domino Web Server

RSA SecurID Ready Implementation Guide

Initial Setup of Microsoft Outlook 2011 with IMAP for OS X Lion

App Orchestration 2.5

Flexible Identity Federation

Securing access to Citrix applications using Citrix Secure Gateway and SafeWord. PremierAccess. App Note. December 2001

Single Sign-On Implementation Guide

TIBCO Spotfire Platform IT Brief

Chapter 1 - Web Server Management and Cluster Topology

PROPALMS TSE 6.0 March 2008

An Analysis of Propalms TSE and Microsoft Remote Desktop Services

Deploying RSA ClearTrust with the FirePass controller

Web Hosting Getting Started Guide

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Feature and Technical Overview

Deploying F5 with Microsoft Active Directory Federation Services

Mobile Device Management Version 8. Last updated:

Enterprise Knowledge Platform

How To Secure Your Data Center From Hackers

Kerberos and Single Sign On with HTTP

Bosch Video Management System

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

Deploying F5 with VMware View and Horizon View

OneLogin Integration User Guide

Enterprise Solution for Remote Desktop Services System Administration Server Management Server Management (Continued)...

Millbeck Communications. Secure Remote Access Service. Internet VPN Access to N3. VPN Client Set Up Guide Version 6.0

Web Application Hosting Cloud Architecture

Purpose-Built Load Balancing The Advantages of Coyote Point Equalizer over Software-based Solutions

VMware Identity Manager Connector Installation and Configuration

Configuring SonicWALL TSA on Citrix and Terminal Services Servers

Load Balancing Web Applications

BlackBerry Enterprise Server for Microsoft Office 365 preinstallation checklist

User Manual. Onsight Management Suite Version 5.1. Another Innovation by Librestream

Remote Application Server Version 14. Last updated:

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

MICROSOFT OFFICE 365 MIGRATION 2013/05/13

Test Case 3 Active Directory Integration

Experian Secure Transport Service

Installation Procedure SSL Certificates in IIS 7

Remote Application Server Version 14. Last updated:

Configuring Single Sign-On for Documentum Applications with RSA Access Manager Product Suite. Abstract

How to configure Enterprise Cloud

KEMP LoadMaster. Enabling Hybrid Cloud Solutions in Microsoft Azure

Single Sign On for ShareFile with NetScaler. Deployment Guide

DEPLOYMENT GUIDE Version 1.1. Deploying F5 with Oracle Application Server 10g

Architecture and Data Flow Overview. BlackBerry Enterprise Service Version: Quick Reference

What's New in BlackBerry Enterprise Server 5.0 SP4 for Novell GroupWise

INTEGRATE SALESFORCE.COM SINGLE SIGN-ON WITH THIRD-PARTY SINGLE SIGN-ON USING SENTRY A GUIDE TO SUCCESSFUL USE CASE

Sophos UTM Web Application Firewall for Microsoft Exchange connectivity

ShoreTel Advanced Applications Web Utilities

Configuration Guide BES12. Version 12.2

Authentication and Single Sign On

Configuration Guide BES12. Version 12.3

FileMaker Server 15. Getting Started Guide

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

DreamFactory on Microsoft SQL Azure

SSL VPN Technology White Paper

Setting Up Resources in VMware Identity Manager

RSA SecurID Ready Implementation Guide

Centova Cast. Reseller Usage Guide. Published May 04, 2015 Copyright 2015, Centova Technologies Inc. Centova Technologies Inc.

Controlling Web Access with BMC Web Access Manager WHITE PAPER

BlackBerry Enterprise Service 10. Universal Device Service Version: Administration Guide

Implementation Guide SAP NetWeaver Identity Management Identity Provider

WINDOWS AZURE NETWORKING

Entrust Managed Services PKI. Configuring secure LDAP with Domain Controller digital certificates

USER GUIDE. Lightweight Directory Access Protocol (LDAP) Schoolwires Centricity

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

IBM WEBSPHERE LOAD BALANCING SUPPORT FOR EMC DOCUMENTUM WDK/WEBTOP IN A CLUSTERED ENVIRONMENT

Kerberos and Single Sign-On with HTTP

FTP Service Reference

Global Server Load Balancing

2X HTML5 Gateway v10.6

Agenda. Federation using ADFS and Extensibility options. Office 365 Identity overview. Federation and Synchronization

Administering Jive for Outlook

DEPLOYMENT GUIDE Version 1.2. Deploying F5 with Oracle E-Business Suite 12

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP LTM SYSTEM WITH MICROSOFT WINDOWS SERVER 2008 TERMINAL SERVICES

Table of Contents. OpenDrive Drive 2. Installation 4 Standard Installation Unattended Installation

Workday Mobile Security FAQ

Flexible Identity Federation

How To Prepare For The Second Data Center On Payware Connect For A Second Time

Rights Management Services

P309 - Proofpoint Encryption - Decrypting Secure Messages Business systems

RemotelyAnywhere Getting Started Guide

Transcription:

YouServ: A Web Hosting and Content Sharing Tool for the Masses Roberto Bayardo IBM Almaden Research Center Joint work with Rakesh Agrawal, Daniel Gruhl, and Amit Somani

Goal Allow people to easily share as much stuff on the web as they please with little to no cost.

Solution Provide a system and software (called YouServ) that users run to serve content on the web with their own machines. Not just a webserver, but a webserving community: users cooperatively improve availability (through site replication/mirroring) users cooperatively liberate firewalled content (through P2P proxying/relaying) access to specific content can be restricted by simply listing who in the community can access it (through communal single sign-on). site always available at the same URL regardless of physical location of content

Alternatives Run your own webserver software (e.g. Apache httpd, Microsoft IIS, etc..) Centralized Storage (e.g. free or paid hosting services) Other P2P apps (Napster, Gnutella, XDegrees, Freenet, etc...)

YouServ vs. Centralized Storage Cheaper. Uses storage, compute power, & bandwidth you already have. Easier. Download & install, login, you're good to go. Shared files always local (for disconnected operation). Functions geared towards effective file sharing (e.g. built in ZIP function for easily sharing multi-file content). More private Fewer restrictions (e.g. some hosting services forbid MP3's) Automatic load distribution Know exactly who is accessing what, and when.

YouServ vs. other P2P Apps With other P2P apps, accessing content requires: you install special client software, or you install a special purpose browser plugin, or you route through (semi)centralized web proxy With YouServ, ALL content is ALWAYS served directly from the peers via standard web protocols (DNS + HTTP)

Deployment Details Running in IBM for about 1 year (though many important features were completed more recently) Any IBM employee can use it to publish. Anyone on IBM Intranet can access content. Deployed at Carnegie Mellon University last month. Anyone with a cmu.edu e-mail address can publish. Anyone on the internet can access (secured) content. http://youserv.com/

Usage (IBM) 3400+ unique individuals have published a site with userv. 1300+ of those sites were available in the last week. 800+ sites available simultaneously during peak hours, 400+ on weeknights, 300+ on weekends. Used quite differently than typical webserver software: many users share NO html content, only files: digital photos presentations, papers, work documents live video feeds from their offices!...

How does it work? 4 system components YouServ Coordinator (centralized) YouServ Dynamic DNS (centralized) YouServ Peer Nodes (end user publishers) Browsers (end users accessing YouServ content) 3 access scenarios Peer node is online: Standard site access Peer node is offline: Peer-hosted site access Peer node is firewalled: Proxied site access

Scenario 1: Standard (online node) Peer Node (Joe) [IP: 9.1.2.3] YouServ 1 2 Determine that Joe Login is reachable dyndns 3 Register IP Address 9.1.2.3 for Joe's site. YouServ Coordinator

Scenario 1: Standard (online node) Browser http://joe.youserv.com 3 HTTP Request 4 HTTP Response Peer Node (Joe) [IP: 9.1.2.3] Resolve 1domain to IP 2 Address Return 9.1.2.3 dyndns

Scenario 2: Peer Hosted 2 Peer Node (Alice) [IP: 9.1.2.4] Check if Alice is available to serve replica of Joe's site 3 Provide site summary Peer Node (Joe) [IP: 9.1.2.3] 1 YouServ Logout dyndns 4 Register 9.1.2.4 for Joe's site YouServ Coordinator

Scenario 2: Peer Hosted 1 Browser http://joe.youserv.com dyndns 2 3 4 HTTP Request, HOST=joe.youserv.com Resolve domain to IP Address Return 9.1.2.4 HTTP Response from replica of Joe's site Peer Node (Alice) [IP: 9.1.2.4]

Replication Details Replication Details Peers themselves are almost entirely responsible for replica maintenance. Coordinator's role is only to notify peers of presence and provide authenticating tokens for peers to communicate. Terminology: Replicator: Peer who replicates some other peer's site Master: Peer whose site is being replicated. A replicator periodically compares a "site summary" to that of the master. Also serves to detect when a master site is unavailable, at which point the replicator will initiate replica failover.

Replication Details If site summary fails to match, the replicator will initiate a phase for determining precisely which files and folders need to be updated or deleted. Files that are new or have changed are downloaded via HTTP GET (in their entirety).

Scenario 3: Proxied firewall 1 YouServ Login 2 Peer Node (Bob) [IP: 0.1.0.1] Fail to connect back to Bob Request proxy 3 4 Return Joe's contact info 5 Establish persistent proxy connection Request IP 6update to 9.1.2.3 Peer Node (Joe) [IP: 9.1.2.3] dyndns 7 Register IP address 9.1.2.3 for Bob's site YouServ Coordinator

Scenario 3: Proxied Browser http://bob.youserv.com Resolve 1domain to IP 2 Address dyndns 3 HTTP Request Return 9.1.2.3 6 HTTP Response 4 Peer Node (Joe) [IP: 9.1.2.3] Check HOST header, forward request Peer Node (Bob) [IP: 0.1.0.1] 5 Return Content

Add'l Proxying Details Coordinator maintains list of "good" proxy candidates Responsive connection Consistently available Location of proxy is heursitically determined by login ID. (E.g. "@us.ibm.com => US, @aus.ibm.com => Australia). Coordinator always tries to refer a user to a good candidate that is also proximal.

Access Control & Authentication in YouServ Accessing secure content across multiple YouServ sites should be seamless. Don't want to require sites assign their own accounts and passwords to secure content. Accessing secure content should not require YouServ sites to be trusted. Don't want sites to directly receive a single-signon password to avoid password stashing.

Authentication Authentication provided via single sign on scheme similar to Microsoft Passport. Passwords are never directed to individual YouServ sites. Passwords are only validated through a secure authentication server over SSL. After signing in once with your password, you can authenticate with any YouServ site with a single click (until browser session ends).

Single Sign-on Authentication 6 Browser is goes back to Joe's site with his (encrypted) userid in URL parameter. Browser http://joe.youserv.com 2 HTTP Request 3 Redirect Peer Node (Joe) 5Redirect 4 Sign in w/ Login ID (over SSL) 1 Provide 3DES session key encrypted with Coordinator's public RSA key upon login. YouServ Coordinator

Scalability Potential Bottlenecks: DNS & Coordinator Coordinator: validates passwords (low bandwidth, easy to scale) Monitors availability Availability assitance provided by replicator peers polling their masters. DNS: Low bandwidth highly optimized nameservers (BIND), easy to distribute Existing services known to be highly scalable and cheap to operate (some funded by donations alone).

Desktop Integration

Application Integration

Future Plans Search capability While YouServ sites can be indexed in the "standard" way by search index crawlers... YouServ sites are more dynamic than typical sites Many YouServ sites still quite transient Routing based search methods are still not very good. Limited horizon bandwidth hog theoretical log/root(n) approaches not proven in practice How can we provide fast, effective, up to date search over YouServ content?

Future Plans Plugin API for adding services to YouServ servers Allow extending the functionality without access to kernel code. Similar to WinAmp skins, but for function, not for appearance. Open source?

In Closing... YouServ: an end-user P2P application with uses other than piracy :-) Everyone should be able to easily publish whatever they want and as much as they want on the web. Key challenge: engineering the system to work within the constraints imposed by standard browser software and web protocols. Limitations are becoming painful. Will protocols (and implementations) have to start evolving to get much further?