Penthera: “Cache&Carry”

Penthera’s Cache&Carry (C&C) is a software system that manages the download of very large (up to GB-sized) videos from the Cloud to a mobile device. Once downloaded, these videos are playable any time—even if the device has poor or no network connectivity.

C&C consists of two pieces: a client library (iOS+Android) for linking into an existing streaming app, plus a Cloud-based server.  The underlying technology is protected by multiple issued and pending U.S. patents.

Some popular uses for Cache&Carry are:

  • Mobile VOD: Add TV/movie “download and play later” to an existing streaming app
  • Mobile DVR: Set mobile device to automatically record your favorite shows
  • DVR Sync: Automatically sync recordings from your DVR to your mobile
  • Electronic Sell-Through (EST): Mobile pay-per-view movie/TV service
  • FastPlay™: Eliminate buffering when video playback starts
  • UltraHD Showcase: Deliver UltraHD (2K or higher) video to a retina iPad/Android device for later viewing.

Done incorrectly, a “download to mobile” component will run down the device battery, fill up the device’s storage, swamp the CPU and impact responsiveness, and stick the user with wireless data overage charges from their mobile operator.

Thankfully, that’s not how Cache&Carry works.


C&C supports multi-threaded, multi-core mobile architectures.  The engine downloads fast, using multiple threads, spawning a variable number of download processes depending on current network conditions and the device capabilities. Meanwhile, the engine avoids main thread operations that could impact overall device responsiveness.

Penthera’s proprietary engine initiates and continues downloads even when the app is not active or running.  You can use the app to “push” new TV shows/movies in the background, silently, to your users’ iPad/iPhones and Android devices.


C&C’s download engine is configurable. You set a default download policy at compile-time; individual users may override this policy on their own mobile device.  Policies include:

  • Battery Level Cutoff: Suspend downloading when the device charge drops below a specified level (e.g. 75%), or only download when the device is plugged into AC power.
  • Network Usage: Only download over WiFi, or download using both WiFi and cellular.
  • Network Quotas: Only use a fixed amount of cellular data (e.g. 200MB/week).
  • Max Storage: Don’t use more than (say) 5GB of persistent memory on the device.
  • Min Headroom: Always retain at least 1GB (say) of storage “headroom” on the device for other applications.


Cache&Carry records all relevant events, e.g. enqueue item for download, download start/stop/pause, play/pause/delete file.  The engine also records which bearer (WiFi, cellular), what network (VZW, AT&T, etc.).  The events are available in raw form or via a web services call.


The C&C system tracks which devices belong to which users, and dynamically enforces a max number of allowable devices per user for downloading.


  • Enforce “auto-deletefunctionality: asset becomes unplayable X hours after delivery, or after first play
  • Enforce asset-specific expiry date (“not playable after…”)
  • Enforce specific content embargoing (“not available until…”)


  • Enforce “save-n-episodes”: delete old episodes to make room for new ones
  • Enforce business rules: “don’t use more than X MB” and “leave at least X MB of headroom”
  • When space gets low, engine suspends downloads to maintain enough swap space for proper device behavior.


C&C can display a pop-up notification on the device home screen when new video is delivered, and/or when the asset is about to expire.  The C&C API also provides a callback mechanism to an enclosing app to monitor download progress, to enable a progress bar or some other visual indicator.


Penthera’s Fastplay™ feature enables mobile video app users to launch videos the instant they hit play, with no buffering. Fastplay relies on Penthera’s patented download technology to pre-position small segments of video on a user’s mobile device.  This eliminates the delay that frustrates users when they click the play button.


C&C can handle individual mp4 files as well every popular streaming video format, including HTTP Live Streaming (HLS), HTTP Smooth Streaming (HSS), and Dynamic Adaptive Streaming over HTTP (MPEG-DASH). C&C will download each individual fragment and create a new local manifest file. Then, the device media player can “stream” the downloaded video, fragment by fragment, direct from local disk.


C&C functions smoothly with encrypted HLS and DRM-encrypted content. C&C is internally integrated with Google’s Widevine and Apple’s FairPlay DRM, allowing rapid deployment of protected content. C&C also interoperates with most other commercial DRM systems, including Adobe Access and Microsoft PlayReady.


Retina iPad devices can support video encoded up to 2048×1536 pixels, which is 52% higher resolution than 1080p video.  This higher-resolution video can be difficult to stream reliably even over a high-quality broadband connection, but C&C can reliably download the video. This ensures perfect-quality playback, no matter what the network conditions.


The enclosing application can use the Cache&Carry API to add, remove, and insert items to download queue, and pause/resume downloads.


Episodic content: Users can subscribe to a series; new episodes automatically delivered to device when available, old ones deleted to make room.
Remote-subscribe: User can add a show to their download queue from the web (manipulate your subscriptions from another device)
Auto-subscribe: Sysadmin can remotely insert content into subscribers’ download queue (e.g. intro video, promo video, commercials)


C&C can pre-cache commercials on the mobile device for offline playout. C&C records tracking beacons associated with commercials and can support replaying these beacons to a remote ad server when the mobile device comes back online.


The Cache&Carry system package includes:

  • iOS+Android SDK (for integrating into your own apps)
  •  Documented APIs for these SDKs
  •  iOS+Android sample apps: fully-documented source code, illustrating how to use the SDK
  • Developer account on Penthera’s shared server
  • Developer access to Penthera’s sample videos

When you are ready to go live, Penthera provides a production configuration as a managed service for you. It typically takes just a couple days to integrate C&C into your existing infrastructure/app.