Presentation is loading. Please wait.

Presentation is loading. Please wait.

Module 7: Download manager 3.0. Powering a Better Internet © 2011 Akamai Objectives After completing this module, you will be able to: identify how software.

Similar presentations


Presentation on theme: "Module 7: Download manager 3.0. Powering a Better Internet © 2011 Akamai Objectives After completing this module, you will be able to: identify how software."— Presentation transcript:

1 Module 7: Download manager 3.0

2 Powering a Better Internet © 2011 Akamai Objectives After completing this module, you will be able to: identify how software downloads are categorized. identify the features of DLM 3.0. describe how DLM NetSession works. describe how DLM 3.0 can be integrated into your site or application. describe the NetSession client behavior on end user devices.

3 Powering a Better Internet © 2011 Akamai Akamai Download Manager 3.0 A feature upgrade to existing DLM - available as an add-on module for ESD Includes existing DLM features (ActiveX Control / Java Applet) and also a JavaScript web-based download manager Benefits: Improved user experience Improved download completions and installs Protection against file corruption Overcomes browser limitations

4 Powering a Better Internet © 2011 Akamai Download Manager 3.0 Features Customizable User Interface (UI) Embeds in web page End-User controls (Start/Stop/Pause/Resume) Background download support Simple installation Cross-platform support Integrates with all Akamai features Built on Akamai’s NetSession Interface

5 Powering a Better Internet © 2011 Akamai DLM Feature Comparison CapabilitiesNetSession DLM ActiveX and Java Applet DLM Fully Customizable UI√x Persistent Client Service√x Browser Only Clientx√ Byte-Range Corruption Prevention√x Integration with Download Analytics √x Authentication Support√√ HTTPSUp to 10GBUp to 2GB only Multi-Language Support√√ C API for application integration√x

6 Powering a Better Internet © 2011 Akamai Brand Control Example

7 Powering a Better Internet © 2011 Akamai Akamai NetSession Architecture Overview Akamai NetSession Client Akamai NetSession Client Internet Host OS (Windows & OS X) Host OS (Windows & OS X) Akamai Edge Delivery Akamai Edge Delivery Customer Web Page DLM.js Akamai Edge Location Akamai Edge Server Control Plane Server HTTP Local host Interface Customer Application C API Windows Runs as a network service With admin privilege Starts/stops with system startup/shutdown NetSession Client platform Listens on localhost:9421 Downloads content Mac OS X Runs as a Daemon With user privilege Starts/stops with user login/logout

8 Powering a Better Internet © 2011 Akamai Why is it needed? Overcome browser limitations File integrity issues with larger files Inelegant end user experience Complexity of user device environment Limited end user reporting Performance/cost of large file delivery OS: Windows and Mac Web Browser Web-Enabled Desktop Application Akamai NetSession Interface Client-side Delivery API Additional APIs (Future) End User PC or Device Key Features: One-time install for all functionality Advanced protection against file corruption Removes 2GB browser file size limitation Enhanced user behavior reporting Enhanced user controls System Resources: CPU, hard drive, RAM, network Download Management API NetSession -Akamai’s client-side framework

9 Powering a Better Internet © 2011 Akamai NetSession Client Operation Client runs as persistent service on end user machines Accessed by browser or application via localhost HTTP (JSON) Only shares files end user has downloaded via NetSession Secure connection to control plane using standard openssl Akamai auto-updates client DLL when new versions ready Makes 3 parallel HTTP range requests up to 256KB each, or up to 40 parallel UDP chunk requests of 1 KB each SHA-1 content integrity check of 256 KB has blocks Yields faster, more reliable downloads, fewer wasted bytes Full end-to-end integrity from content provider to consumer [ DLM demo ]http://client.akamai.com/doc/dlmmultiexample.html

10 Powering a Better Internet © 2011 Akamai End user Client Customer origin server Edge server (ghost) http Control Plane http TCP Clients connect to the Akamai Client Control Plane Controls client behavior Validates content integrity Enables NAT traversal Client can fetch content from a source server via HTTP byte range requests Or from peers via UDP End user Client UDP Akamai NetSession System Overview

11 Powering a Better Internet © 2011 Akamai 1.Client sends search to CN to get file information CN returns file size, full file SHA-1, RSMD filename CN returns zero or more peers registered for an object (DLM CP Codes are “Edge Only” so zero peers) End user Client Content Source http 3.Client range requests to ghost Up to 3 parallel HTTP range requests KB depending on speed (4s) Hash blocks scheduled sequentially Client sends DLM state reporting messages to source URL NetSession DLM Request to Ghost RSMD Cache 2.Client pulls RSMD from NetStorage RSMD contains for SHA-1 hash of each 256 KB “hash block” computed by control plane Required before download can be Complete http Connection Node (CN)

12 Powering a Better Internet © 2011 Akamai Key Control Plane Functions CN maintains permanent connection Required to tell clients to connect to each other Clients publish their content state (ADD, DELETE) CA acquires content from origin (ghost) Triggered by ADD or SEARCH for unknown URL Fetch full object twice unless Content-MD5 matches Compute 256KB hash blocks, publish RSMD file in ACS Core CPMD of all objects in ACS prevents reacquisition (maps URL to object size, full file SHA-1/RSMD filename) DN holds list of available objects List of peers that have send ADD for each object DN iterates by locality scope when CN does a SEARCH

13 Powering a Better Internet © 2011 Akamai Client A TCP 1.Client A gets peers from Control Plane Includes Client B (and 39 other clients) 2.Control Plane tells Client B to connect Uses established Client-CN connection Gives Client A’s public IP and port 3.STUN protocol facilitates connection Client A fetches content from peers via UDP … Client B UDP Peer to Peer Operation Overview STUN Server (RFC 3489) CN

14 Powering a Better Internet © 2011 Akamai DLM Supported Platforms Operating System Windows Server 2003(32-bit) Windows Server 2008(64-bit) Windows XP 32-bit (SP2 and SP3) Windows Vista 32-bit (SP1 and SP2) Windows XP 64-bit Windows Vista 64-bit Mac OSX NOT Supported: Linux Windows 95/98/ME Unix/Solaris Browsers IE 6,7,8 Firefox 2.x Firefox 3.x (Tested up to 3.5) Safari on Mac (Tested up to 3.1.2) Google Chrome (Tested up to 1.0)

15 Powering a Better Internet © 2011 Akamai DLM 3.0 – Demonstration

16 Powering a Better Internet © 2011 Akamai DLM 3.0 Demonstration – Adobe Download Workflow

17 Powering a Better Internet © 2011 Akamai User clicks Try to begin the download process. Adobe Download Workflow

18 Powering a Better Internet © 2011 Akamai User is prompted to login to the site or create a new account. Adobe Download Workflow DLM 3.0 supports all authentication options that Akamai provides. In this case, Adobe is setting a session cookie on login that is verified when the download request is made.

19 Powering a Better Internet © 2011 Akamai User selects a language and clicks Download. Adobe Download Workflow

20 Powering a Better Internet © 2011 Akamai A pop-up window displays even with pop-up blockers enabled. Adobe Download Workflow Text (HTML) in pop-up is customizable. JavaScript on page detects if NetSession client is installed on end user system and if not, whether installation is supported. If not supported, a direct download link will appear. Best Practice: Use a name relevant to your product in place of “Akamai Download Manager Installer”.

21 Powering a Better Internet © 2011 Akamai Adobe Download Workflow Best Practice: Use a relevant name for the downloadable exe file. In this case: “AkamaiDownloadManagerInstaller.exe File Download window for IE File Download window for Firefox

22 Powering a Better Internet © 2011 Akamai Adobe Download Workflow The NetSession client is installed on end user systems.

23 Powering a Better Internet © 2011 Akamai Adobe Download Workflow Software download begins. End user is prompted to specify a location and create a folder into which files will be downloaded. By default, downloaded files are stored in Akamai cache directory on end user systems. DLM can be configured to allow users to specify location of download. In case of multiple files, users can specify location and folder name. In case of single file, users can specify location and file name. Best Practice: Do not setup the option to allow users to specify download locations on their systems. This will allow you to control where files are located on end user systems.

24 Powering a Better Internet © 2011 Akamai Adobe Download Workflow In case of multiple files, the order in which files are downloaded is configurable. Download progress can be tracked and the time remaining can be specified. The exe file is set to be downloadable only after download of.7z file is complete. Download progress is tracked and the time remaining is specified. End users have the ability to pause downloads at any time.

25 Powering a Better Internet © 2011 Akamai Adobe Download Workflow On pausing the download, the Pause button is replaced by Play or Resume.

26 Powering a Better Internet © 2011 Akamai Adobe Download Workflow If download is cancelled, a Resume Download shortcut icon appears on end user desktops to allow them to resume the download from where they stopped it. For cancelled downloads, you can display a shortcut on end user desktops. Users can resume downloading from where they stopped by clicking this shortcut. Name of shortcut is customizable. Best Practice: Name the shortcut such that it is unique for all versions of the software being downloaded..

27 Powering a Better Internet © 2011 Akamai Adobe Download Workflow Once the download is complete, user clicks Install Now to install the software. Another configurable option is to allow users to begin installation of software from within your site once download is complete.

28 Powering a Better Internet © 2011 Akamai Lesson 3: DLM 3.0 Integration

29 Powering a Better Internet © 2011 Akamai DLM 3.0 Integration Akamai provides two APIs to integrate DLM 3.0 into your site or application: 1.JavaScript API 2.C-API

30 Powering a Better Internet © 2011 Akamai JavaScript API Library - Overview Used to embed the Akamai Download Manager into web pages Uses the Akamai NetSession Interface as its download engine JavaScript API and NetSession Interface support peer-to-peer download capability Consists of: two JavaScript functions for creating DLM objects a helper object for coordinating communication between DLM objects and the NetSession Interface

31 Powering a Better Internet © 2011 Akamai Integrating the JavaScript API To include the JavaScript API in your web page: 1.Set your Akamai supplied CP Code and include the Akamai DLM JavaScript in the section at the top of your web page: DLMCID=NNNN; where NNNNN is your Akamai CP code 2.Add the following lines for each download object you want to deliver: Download 1 Download 2

32 Powering a Better Internet © 2011 Akamai 3.Just below the links include the following div element and JavaScript to instantiate the DLM objects. The div can be put wherever you want the DLM to appear but the JavaScript has to appear after the div tag: var dlm1 = new DLM(1234, 'http://example.com/my-dl- 1.exe', {"openOnComplete":false}, "dlm-container", "client-download-1"); var dlm2 = new DLM(1234, 'http://example.com/my-dl- 2.exe', {"downloadName":"File 2", "downloadPath":"prompt"}, "dlm-container", "client- download-2"); Integrating the JavaScript API (Cont…)

33 Powering a Better Internet © 2011 Akamai DLM 3.0 Basic Options Options that can be passed into DLM include: downloadName - A string that specifies the name of the download that will appear in the DLM downloadPath - A string that could be set to "prompt" to force the DLM to ask for the location where the downloaded file will be saved openOnComplete - A Boolean value (true or false) specifying whether the file is going to be open immediately after the download completes Note: Refer to the DLM Integration guide for a list of all the options that are available.

34 Powering a Better Internet © 2011 Akamai DLM 3.0 Options - Demonstration You can view demonstrations of the impact of many of the configurable DLM parameters and options and copy sample code from:

35 Powering a Better Internet © 2011 Akamai DLM 3.0 Authentication Options Options to enable downloads of objects requiring some kind of authentication: Cookiestring basicauth_username and basicauth_password Queryauth

36 Powering a Better Internet © 2011 Akamai DLM 3.0 Authorization - Demonstration

37 Powering a Better Internet © 2011 Akamai Download Optimization Service DLM3 Coding and Consulting API Coding Best Practices Co-Development from UI Templates DLA Consulting Ensure Acquisition of Relevant Data Up to one review per month Ongoing Maintenance 8 hours PS/month ESD Config Maintenance

38 Powering a Better Internet © 2011 Akamai DLM and NetSession Client - Review DLM Downloads content from the Akamai edge Billing Models: Monthly fee DLM Downloads content from the Akamai edge Billing Models: Monthly fee NetSession Client Core Download Management Capabilities Performs file integrity checking Provides a JavaScript API Provides a C-API NetSession Client Core Download Management Capabilities Performs file integrity checking Provides a JavaScript API Provides a C-API

39 Powering a Better Internet © 2011 Akamai Client Behavior on End User Device On Windows XP, the client will install in: C:\Program Files\Common Files\Akamai\ NetSession client files stored on end user systems include: client.ini debug.log data.dat AdminTool.exe Users can block or remove the NetSession client causing downloads to fail. A good practice, is to ensure that the application can fall back to a direct download from an Akamai edge server.

40 Powering a Better Internet © 2011 Akamai Client Behavior on End User Device On Windows XP, the client will install in: C:\Program Files\Common Files\Akamai\ NetSession client files stored on end user systems include: o client.ini: user’s NetSession Client configuration file o debug.log: the log file for client session events o data.dat: record of data events, such as how many bytes have been received by or sent from this client o AdminTool.exe: command line utility to obtain information on current NetSession download activities Users can block or remove the NetSession client causing downloads to fail A good practice, is to ensure that the application can fall back to a direct download from an Akamai edge server


Download ppt "Module 7: Download manager 3.0. Powering a Better Internet © 2011 Akamai Objectives After completing this module, you will be able to: identify how software."

Similar presentations


Ads by Google