1 / 38

Module 7: Download manager 3.0

Module 7: Download manager 3.0. 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.

brilliant
Download Presentation

Module 7: Download manager 3.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Module 7: Download manager 3.0

  2. 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. 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. 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. DLM Feature Comparison

  6. Brand Control Example

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

  8. Akamai NetSession Interface Client-side Delivery API Additional APIs (Future) • NetSession -Akamai’s client-side framework • 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 • 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 Web Browser Web-Enabled Desktop Application Download Management API OS: Windows and Mac System Resources: CPU, hard drive, RAM, network End User PC or Device

  9. Customer origin server Edge server(ghost) End user Client End user Client Akamai NetSession System Overview • Clientsconnect to the Akamai Client Control Plane • Controls client behavior • Validates content integrity • Enables NAT traversal http Control Plane http TCP Client can fetch contentfrom a sourceserver viaHTTP byte range requests Or from peers via UDP UDP

  10. Content Source End user Client NetSession DLM Request to Ghost • 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) ConnectionNode (CN) RSMD Cache • 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 • Client range requests to ghost • Up to 3 parallel HTTP range requests • 16..256KB depending on speed (4s) • Hash blocks scheduled sequentially • Client sends DLM state reporting messages to source URL http

  11. 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

  12. CN CN Client A Client B Peer to Peer Operation Overview • Client A gets peers from Control Plane • Includes Client B (and 39 other clients) • Control Plane tells Client B to connect • Uses established Client-CN connection • Gives Client A’s public IP and port • STUN protocol facilitates connection STUN Server(RFC 3489) TCP Client A fetches contentfrom peers via UDP … UDP

  13. DLM 3.0 - Supported Platforms

  14. DLM 3.0 – Demonstration

  15. DLM 3.0 Demonstration – Adobe Download Workflow

  16. Adobe Download Workflow User clicks Try to begin the download process.

  17. Adobe Download Workflow User is prompted to login to the site or create a new account. • 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.

  18. Adobe Download Workflow User selects a language and clicks Download.

  19. Adobe Download Workflow A pop-up window displays even with pop-up blockers enabled. • 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”.

  20. Adobe Download Workflow File Download window for IE File Download window for Firefox • Best Practice:Use a relevant name for the downloadable exe file. In this case: “AkamaiDownloadManagerInstaller.exe

  21. Adobe Download Workflow The NetSession client is installed on end user systems.

  22. Adobe Download Workflow Software download begins. • 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. End user is prompted to specify a location and create a folder into which files will be downloaded. • 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.

  23. Adobe Download Workflow Download progress is tracked and the time remaining is specified. End users have the ability to pause downloads at any time. The exe file is set to be downloadable only after download of .7z file is complete. • 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.

  24. Adobe Download Workflow On pausing the download, the Pause button is replaced by Play or Resume.

  25. Adobe Download Workflow • 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.. 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.

  26. 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.

  27. Lesson 3: DLM 3.0 Integration

  28. DLM 3.0 Integration • Akamai provides two APIs to integrate DLM 3.0 into your site or application: • JavaScript API • C-API

  29. 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

  30. Integrating the JavaScript API • To include the JavaScript API in your web page: • Set your Akamai supplied CP Code and include the Akamai DLM JavaScript in the <head> section at the top of your web page: • <script>DLMCID=NNNN;</script> • <script type="text/javascript" src="http://client.akamai.com/dlm/dlm.js"></script> where NNNNN is your Akamai CP code • Add the following lines for each download object you want to deliver: • <a href="#" id="client-download-1">Download 1</a> • <a href="#" id="client-download-2">Download 2</a>

  31. Integrating the JavaScript API (Cont…) • 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: • <div id="dlm-container"></div> • <script type="text/javascript"> • 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"); • </script>

  32. 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.

  33. 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: http://client.akamai.com/demos

  34. DLM 3.0 Authentication Options • Options to enable downloads of objects requiring some kind of authentication: • Cookiestring • basicauth_username and basicauth_password • Queryauth

  35. DLM 3.0 Authorization - Demonstration

  36. Download Optimization Service

  37. DLM and NetSession Client - Review 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

  38. 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.

More Related