The blogosphere has been busy discussing recent patent applications from Microsoft and Apple. In many cases, these applications have been discussed as if they had already been issued by the USPTO, which they have not. The Microsoft application addresses techniques for ensuring that advertising in video objects is seen before the non-advertising content is displayed. The Apple application (actually, the second of two this year with similar specifications, the first is this one from January 4th), enables code to be injected at run time into an executable. This technique can be used to bind an operating system or application to a particular hardware or software platform.
20070294773, "Offline Playback Of Advertising Supported Media," assigned to Microsoft.
Abstract
Enforcing rendering of advertisements and other predetermined media content in connection with playback of download selected media content. Playback of selected media content is made conditional on acquistion of a locally cached playback token in response to playback of the predetermined content. The playback token may be implemented as a digital rights management (DRM) license acquired from a local cache in response to playback of the predetermined content. Another aspect involves a downloading ads or other predetermined content with associated playback tokens in a local cache.
20070288886, "Run-Time Code Injection To Perform Checks," assigned to Apple.
Abstract
A digital rights management system permits an application owner to cause code to be injected into the application's run-time instruction stream so as to restrict execution of that application to specific hardware platforms. In a first phase, an authorizing entity (e.g., an application owner or platform manufacturer) authorizes one or more applications to execute on a given hardware platform. Later, during application run-time, code is injected that performs periodic checks are made to determine if the application continues to run on the previously authorized hardware platform. If a periodic check fails, at least part of the application's execution string is terminated--effectively rendering the application non-usable. The periodic check is transparent to the user and difficult to circumvent.