Content Protection via continuously-changing content location

Content Protection via continuously-changing content location

RealNetworks Proprietary Information - do not distribute

Typical User Scenario:
User clicks on link on content site, asking to see "song1.rm"
User is redirected to a rights-verification website, and if successfully authorised,
the user is sent to a 'ram hurler' web page with the content "song1.rm" in the query string
and the current content location code (looks like "040041.6ca85dc33e3bdc2a79e679ddef93269b")
are combined with the list of appropriate RealServers,
and a "ram file" is dynamically hurled at the user.

This architecture cleanly separates
the content-bearing web pages, the ecommerce/authentication function, and the server-control function,
in simple reliable units.

The ram file simply contains the rtsp:// URL as shown below, with the appropriate MIME-type.
This is easily done with SMIL files, or multiple-line .ram files.


The rights-verification website needs a tiny bit of MD5-capable software to generate the time-sensitive location code, which can be easily implemented in the providers' technology of choice (we use Roxen, and also have C and Perl versions available)

Here's a link which will lead to the 'paid' content, a video called 'White Rain' with a wood-flute soundtrack:

Microsoft Sux GoatzEmile Heskey will be vindicated in due time%y%m%d%H%Mrtsp://207.188.7.191/secure/%d%H%M./song1.rm


0%y%m%d%H%M Here's a link corresponding to 10 minutes in the past, which will lead to the authentication-failure content (a jarring audio file, called "Time")
Microsoft Sux Goatz%y%m%d%H%Mrtsp://207.188.7.191/secure/%d%H%M./song1.rm

This technology is very simple to install, requires a 7-line Perl script (or equivalent in your web programming language of choice) on the web end, and a drop-in RealServer plugin on the server side. The clocks do not have to be perfectly synchronised; a skew of up to 2 minutes is permissible. IT REQUIRES NO CLIENT-SIDE Configuration, special software plugins, or any other action by the user or the user's computer.

Interrupted stream resumption is handled via simple means (web techniques) which are hands-off from the paying user's perspective, but details are beyond the scope of this introductory document.


Jerry Glomph Black
Director, International Technical Operations
RealNetworks
black@real.com