throbber

`
`UNITED STATES PATENT AND TRADEMARK OFFIGE
`
`UNITTED STATES DEPARTMENT OF COMMERCE
`United States Patent and Trademark Office
`Address: COMMISSIONER FOR PATENTS
`Q. Box 1450
`Alexandria, Virginia 22313-1450
`www.uspto.gov
`
`APPLICATION
`NUMBER
`
`FILING or
`371(c) DATE
`
`GRP ART
`UNIT
`
`
`
`
`
`FIL
`
`61/500,316
`
`06/23/2011
`
`FEE REC'D
`
`110
`
`47654
`BAINWOOD HUANG & ASSOCIATES LLC
`
`2 CONNECTOR ROAD
`
`WESTBOROUGH, MA 01581
`
`ATTY.DOCKET.NO
`
`ITOT CLAIMSJIND CLAIMS
`
`1082-018
`
`CONFIRMATION NO. 7568
`
`FILING RECEIPT
`
`AE000000048585270
`
`Date Mailed: 07/07/2011
`
`It will not be examined for patentability and will
`Receipt is acknowledged of this provisional patent application.
`become abandonednotlater than twelve monthsafter its filing date. Any correspondence concerning the application
`mustinclude the following identification information: the U.S. APPLICATION NUMBER, FILING DATE, NAME OF
`APPLICANT, and TITLE OF INVENTION. Feestransmitted by checkor draft are subject to collection. Please verify
`the accuracy of the data presented on this receipt. If an error is noted on this Filing Receipt, please submit
`a written request for a Filing Receipt Correction. Please provide a copy of this Filing Receipt with the
`changes noted thereon. If you received a "Notice to File Missing Parts" for this application, please submit
`any corrections to this Filing Receipt with your reply to the Notice. When the USPTO processesthe reply
`to the Notice, the USPTO will generate another Filing Receipt incorporating the requested corrections
`
`Applicant(s)
`
`Kevin J. Ma, Nashua, NH;
`Robert Hickey, Bedford, MA;
`Paul Tweedale, Andover, MA;
`Powerof Attorney:
`James Thompson--36699
`
`If Required, Foreign Filing License Granted: 07/05/2011
`The country code and number of your priority application, to be usedfor filing abroad under the Paris Convention,
`is US 61/500,316
`Projected Publication Date: None, application is not eligible for pre-grant publication
`Non-Publication Request: No
`Early Publication Request: No
`** SMALL ENTITY **
`Title
`
`METHOD AND SYSTEM FOR SECURE OVER-THE-TOP LIVE VIDEO DELIVERY
`
`PROTECTING YOUR INVENTION OUTSIDE THE UNITED STATES
`
`Since the rights granted by a U.S. patent extend only throughoutthe territory of the United States and have no
`effect in a foreign country, an inventor who wishes patent protection in another country must apply for a patent
`in a specific country or in regional patent offices. Applicants may wish to consider the filing of an international
`application under the Patent Cooperation Treaty (PCT). An international (PCT) application generally has the same
`effect as a regular national patent application in each PCT-member country. The PCT process simplifies the filing
`page 1 of 3
`
`

`

`of patent applications on the same invention in member countries, but does notresult in a grantof "an international
`patent" and doesnoteliminate the needof applicantsto file additional documents and fees in countries where patent
`protection is desired.
`
`Almost every country has its own patent law, and a person desiring a patent in a particular country must make an
`application for patent in that country in accordancewith its particular laws. Since the laws of many countries differ
`in various respects from the patent law of the United States, applicants are advised to seek guidance from specific
`foreign countries to ensure that patent rights are not lost prematurely.
`
`Applicants also are advised that in the case of inventions madein the United States, the Director of the USPTO must
`issue a license before applicants can apply for a patent in a foreign country. Thefiling of a U.S. patent application
`serves as a request for a foreign filing license. The application's filing receipt contains further information and
`guidance asto the status of applicant's license for foreign filing.
`
`Applicants may wish to consult the USPTO booklet, "General Information Concerning Patents”(specifically, the
`section entitled "Treaties and Foreign Patents") for more information on timeframes and deadlinesfor filing foreign
`patent applications. The guide is available either by contacting the USPTO Contact Center at 800-786-9199, or it
`can be viewed on the USPTO website at http://“www.uspto.gov/web/offices/pac/doc/general/index.html.
`
`For information on preventing theft of your intellectual property (patents, trademarks and copyrights), you may wish
`to consult the U.S. Government website, http:/Avww.stopfakes.gov. Part of a Department of Commerceinitiative,
`this website includes self-help "toolkits" giving innovators guidance on how to protectintellectual property in specific
`countries such as China, Korea and Mexico. For questions regarding patent enforcementissues, applicants may
`call the U.S. Governmenthotline at 1-866-999-HALT (1-866-999-4158).
`
`LICENSE FOR FOREIGN FILING UNDER
`
`Title 35, United States Code, Section 184
`
`Title 37, Code of Federal Regulations, 5.11 & 5.15
`
`GRANTED
`
`if the phrase "IF REQUIRED, FOREIGN FILING
`The applicant has been granted a license under 35 U.S.C. 184,
`LICENSE GRANTED"followed by a date appears on this form. Such licenses are issuedin all applications where
`the conditions for issuance of a license have been met, regardless of whether or not a license may be required as
`set forth in 37 CFR 5.15. The scope andlimitations of this license are set forth in 37 CFR 5.15(a) unless an earlier
`license has been issued under 37 CFR 5.15(b). The license is subject to revocation upon written notification. The
`date indicatedis the effective date of the license, unless an earlier license of similar scope has been granted under
`37 CFR 5.13 or 5.14.
`
`This licenseis to be retained by the licensee and maybe usedat any time onor after the effective date thereof unless
`it is revoked. This license is automatically transferred to any related applications(s) filed under 37 CFR 1.53(d). This
`license is not retroactive.
`
`The grantof a license doesnot in any way lessen the responsibility of a licensee for the security of the subject matter
`as imposed by any Governmentcontract or the provisions of existing laws relating to espionage and the national
`security or the export of technical data. Licensees should apprise themselvesof current regulations especially with
`respect to certain countries, of other agencies, particularly the Office of Defense Trade Controls, Department of
`page 2 of 3
`
`

`

`State (with respect to Arms, Munitions and Implements of War (22 CFR 121-128)); the Bureau of Industry and
`Security, Department of Commerce (15 CFR parts 730-774); the Office of Foreign AssetsControl, Department of
`Treasury (31 CFR Parts 500+) and the Department of Energy.
`
`NOT GRANTED
`
`No license under 35 U.S.C. 184 has been granted at this time, if the phrase "IF REQUIRED, FOREIGN FILING
`LICENSE GRANTED" DOESNOTappear on this form. Applicant maystill petition for a license under 37 CFR 5.12,
`if a license is desired before the expiration of 6 months from thefiling date of the application. If 6 months has lapsed
`from thefiling date of this application and the licensee has not received any indication of a secrecy order under 35
`U.S.C. 181, the licensee mayforeign file the application pursuant to 37 CFR 5.15(b).
`
`page 3 of 3
`
`

`

`TITLE:
`
`Method and System for Secure Over-the-Top Live Video Delivery
`
`Attorney Docket No. 1082-018
`
`ABSTRACT:
`
`A methodis provided for managing key rotation and secure key distribution in over-the-top
`delivery of content. The method provided supports supplying a first content encryption key to a
`content packaging engine for encryption ofa first portion of a video stream. Oncethefirst
`content encryption key has expired, a second content encryption key is provided to the content
`packaging engine for encryption of a second portion of a video stream. The method further
`providesfor notification of client devices of imminent key changes, as well as support for secure
`retrieval of new keys by client devices. A system is also specified for implementing a client and
`server infrastructure in accordance with the provisions of the method.
`
`CLAIMS:
`
`1. A method for managingthe secure distribution of content, the method comprising the
`following steps: generating a first content encryption key; providinga first encryption
`key to a packaging server; encrypting content using the first encryption key; providing
`the first content encryption key to a license server; expiring the first content encryption
`key, generating a second content encryption key; providing the second content encryption
`key to the packaging server; encrypting subsequent content with the new content
`encryption key; providing the second content encryption key to the license server;
`notifying client devices of the content encryption key expiration; and providing the
`appropriate content encryption keysto the client.
`2. The method of claim 1, wherein the contentis audio/video content.
`3. The method of claim 1, wherein the encryption algorithms include AES128, HC128, and
`RC4.
`4. The method of claim 1, wherein the content encryption keys are generated using strong
`entropy sources.
`5. The method of claim 1, wherein the content encryption key is provided to the packaging
`server through a secure interface.
`6. The method of claim 5, further comprising: using SSL to secure the interface.
`7. The method of claim 5, further comprising: pushing a content encryption keyto the
`packaging server whenthe license server determines expiration of the previous key is
`
`necessary.
`8. The method of claim 5, further comprising: pushing a content encryption key and
`predetermined expiration time to the packaging server.
`
`

`

`Attorney Docket No. 1082-018
`
`The methodof claim 8, further comprising: pushing the content encryption key and
`predetermined expiration time only in response to a request for a new content encryption
`key from the packaging server.
`The methodof claim 9, further comprising: the packaging server requesting a new key in
`anticipation of the expiration of its current key.
`The method of claim 1, wherein the client is notified at session initiation of the fixed
`period for content key expiration.
`The method of claim 1, wherein the client is notified in real-time content key expiration.
`The method of claim 12, further comprising: the packaging serverinserting a key change
`notification into a content encryption metadata headeras part of the unencrypted portion
`of the encryptedfile.
`The method of claim 13, further comprising: the header being a PlayReady header.
`The method of claim 12, further comprising: the packaging serverinserting a key change
`notification into a content manifestfile.
`The method of claim 15, further comprising: the manifest file being an m3u8file.
`The method of claim 15, further comprising: the manifest file being an IIS Smooth
`Streaming manifestfile.
`The method of claim 12, further comprising: the packaging serverinserting a key change
`notification into the file name of the segmentfiles being generated.
`The method of claim 1, wherein the content encryption key is provided to the license
`server through a secure interface.
`The method of claim 19, further comprising: using SSL to secure the interface.
`The method of claim 1, wherein, content encryption keys for a given media are versioned
`The method of claim 21, further comprising: using monotonically increasing integer
`values.
`The method of claim 22, further comprising: maintaining a direct correlation between the
`version and the content segment numberor duration
`The method of claim 1, wherein the license server distributes content encryption keys and
`content encryption key expiration information to clients using a secure channel.
`The methodof claim 24, further comprising: using SSL to secure the interface.
`The method of claim 21, further comprising: providing the client with the two most
`recently generated content encryption keys.
`The method of claim 26, further comprising: returning content encryption keys and
`expiration information only whenthe client requestsit.
`The methodof claim 27, further comprising: verifying client identity and content rights
`before returning content encryption key or expiration information.
`The method of claim 21, further comprising: allowing clients to request any previous
`content encryption key and expiration information.
`
`10.
`
`11.
`
`12.
`
`13.
`
`14.
`
`15.
`
`16.
`
`17.
`
`18.
`
`19.
`
`20.
`
`21.
`
`22.
`
`23.
`
`24.
`
`25.
`
`26.
`
`27.
`
`28.
`
`29.
`
`

`

`Attorney Docket No. 1082-018
`
`30. The method of claim 21, further comprising: allowing clients to only request a fixed
`numberof most recently generated content encryption keys and expiration information.
`31. The method of claim 3, further comprising: resetting the initialization vector when the
`content encryption key is rotated.
`32. [insert apparatus claims here].
`
`BACKGROUND:
`
`This invention relates in general to over-the-top (OTT) media delivery and morespecifically to
`encryption key rotation for live streaming media.
`
`Ascontent delivery models move away from streamingdistribution over private networksto
`Web-based delivery of files over the public Internet, referred to as over-the-top (OTT) delivery,
`traditional content protection paradigms must be modified to support new delivery protocols,
`e.g., HTTP Live Streaming. Forlive streaming content with long or indefinite durations, use of a
`single encryption key for the entire duration increases the probability that the key may be
`compromised. Traditional key rotation schemesusedin private multiple system operator (MSO)
`and mobile network operator (MNO)distribution networks, where physical security protects the
`key distribution path, do not extend to use over the public Internet, where communications
`channels are more susceptible to attack. Furthermore, the encryption used with nascent segment-
`based HTTPdistribution protocols (e.g., HTTP Live Streaming, Silverlight Smooth Streaming,
`MPEG/3GP Dynamic Adaptive Streaming over HTTP (DASH), etc.) also differs from traditional
`streaming techniques. Encryption of non-segmented contentis typically performed using a
`single encryption key using a single continuous passover the content, from start to finish. For
`segment-based formats, each segment may use the same content encryption key. Though the
`content encryption key may be salted with a unique initialization vector (IV) for each segment,
`the IV is not random and doesnot provide the samesecurity as key rotation. New methodsare
`required for the managementof key rotation and key distribution to ensure security for OTT
`content delivery.
`
`SUMMARY:
`
`Methods and apparatus are disclosed for managing the distribution of a plurality of content
`encryption keys for use in the protection oflive streaming content. A workflow management
`system, referred to herein as a workflow manager,is responsible for managing the acquisition of
`source content from a content management system, preparation of the content, including, but not
`limited to, transcoding of the content into different encodings(e.g., different bitrates, frame rates,
`resolutions, sample rates, codecs, etc.), storing the transcoded contentin different formats(e.g.,
`3GP, segmented 3GP, MP4, fragmented MP4, MPEG-TS, segmented MPEG-TS, RTP, etc.), and
`encrypting the different formats, so that the content is suitable for delivery to a plurality of client
`devices over a plurality of network infrastructures. The prepared contentis then uploaded to a
`
`

`

`Attorney Docket No. 1082-018
`
`CDNfor delivery to clients. The invention includes provisions for managing when content
`encryption keys expire, distributing content encryption keys to packaging engines, and
`distributing content encryption keysto clients.
`
`In the preparation and distribution of content, specifically video content, modern protocols(e.g.,
`HTTPLive Streaming, Silverlight Smooth Streaming, MPEG/3GP Dynamic Adaptive Streaming
`over HTTP (DASH), etc.) employ segment-based rate adaptation to deal with fluctuations in
`bandwidth, whereby segment boundaries provide natural demarcation points for switching
`bitrates. Another example of a protocol andfile format suitable for segment-basedrate
`adaptation is described in PCT Application No. PCT/US2010/027893 filed March 19, 2010, and
`entitled, Method for Scalable Live Streaming Delivery for Mobile Audiences. Yet another
`example of a protocol and file format suitable for segment-based rate adaptation is described in
`PCT Application No. PCT/US2010/028309 filed March 23, 2010, and entitled, Method and
`System for Efficient Streaming Video Dynamic Rate Adaptation. There are many protocols and
`methods for generating segmented content, as should be knownto those skilled in the art. Any
`of these segmentation methodsare suitable for use in accordance with provisionsofthe
`invention. For segment-based formats (e.g., segmented 3GP, fragmented MP4, segmented
`MPEG-TS, etc.), each segmentis independently playable, and therefore needs to be
`independently encrypted and decryptable. Segmentsare typically of a fixed duration and, in the
`case of video content, begin with a key-frame and contain no inter-segmentreferences.
`Segmentation is performed on each ofthe different encoding generated by the transcoder, by
`parsing the resultant encoding and determining segment boundaries. In one embodiment
`segment boundaries are based on a fixed numberof bytes of data. In another embodiment
`segment boundaries are based on a fixed number of video key frames.
`
`Segments are encrypted on segment boundaries using the current content encryption key and
`current initialization vector (IV). In one embodiment, the IV maybe a simple incrementing
`integer value. In another embodiment, the IV may be a pseudo-random stream of bits produced
`by a pseudo-random numbergenerator or stream cipher. Though the IV provides some
`additional cryptographic strength, it is not random. The generation of new strongly random
`values for use as content encryption keys and the rotation of content encryption keys provides
`protection from content encryption keys being compromisedin long lived streams. In one
`embodiment, IVsare reinitialized whenever a content encryption key is rotated. In another
`embodiment, IVsare not reinitialized when content encryption keysare rotated.
`
`In one embodimentthe workflow manager generates content encryption keys with a fixed
`duration lifespan on a fixed periodic basis. In one embodiment, the content encryption keys may
`be generated using weak sources of entropy (e.g., processor or wall clock time, /dev/urandom,
`etc). In another embodiment, the content encryption keys may be generated using strong sources
`of entropy (e.g., hardware sources whichrely on electrical static or radioactive decay,
`/dev/random/, etc.). There are many waysto generate random numbers, as should be knownto
`
`-4-
`
`

`

`Attorney Docket No. 1082-018
`
`those skilled in the art. Any method for generating random numbers maybe used in accordance
`with provisions of this method. The workflow managerdistributes the content encryption keys
`and content encryption key lifespan to both a license server and content packaging engine,
`referred to herein as a packager. Thefixed duration lifespan is directly correlated to a fixed
`period of the live content. The changing of content encryption keys based on the fixed period of
`the live content is referred to herein as rotation. A history of individual content encryption keys
`and the order in which they were generated is maintained. Each content encryption key in the
`history is assigned a unique identifier which is referred to herein as the content encryption key
`identifier. In one embodiment, the content encryption key identifiers are selected based on the
`wall clock time offset from the beginning ofthe live stream. In another embodiment, the content
`encryption key identifiers are selected based on a segment numberof the prepared content. In
`one embodimentthe segment boundaries are based on a fixed numberofbytes of data. In
`another embodimentthe segment boundaries are based on a fixed numberof video key frames.
`The content packaging engineis responsible for encrypting the associated content using the
`content encryption key. In one embodiment, the packager recognizes the imminentend to the
`fixed duration lifespan and requests a new content encryption key from the workflow manager.
`The license server is responsible for distributing content encryption keys to clients. In one
`embodiment, the license server also distributes fixed duration lifespan information to clients. In
`one embodiment, wheninitiating playback of the stream, the client requests the current content
`encryption key, the next future content encryption key, and the fixed duration lifespan ofthe
`keys. The client uses the content encryption keys to decrypt the associated content.
`
`In one embodiment, the workflow manager mayinitiate content encryption key rotation at any
`time, outside of the fixed duration lifespan of the existing key. The workflow manageris
`responsible for notifying the packager of the key rotation request. The packageris responsible
`for selecting when the new keyshall be applied and notifying the workflow manager. In one
`embodiment, the point at which the keyis applied is based on the wall clock time offset from the
`beginning ofthe live stream. In another embodiment, the point at which the keyis applied is
`based on a segment numberof the prepared content. In one embodiment the segment boundaries
`are based on a fixed numberofbytes of data. In another embodiment the segment boundaries are
`based on a fixed number of video key frames. The workflow manageris then responsible for
`notifying the license server of the new content encryption key, the content encryption key
`identifier of the new content encryption key, and the lifespan of the new content encryption key.
`In one embodiment, content encryption key identifiers are selected based on the fixed period of
`the live content. In one embodiment, the content encryption key identifiers are selected based on
`the wall clock time offset from the beginning ofthe live stream. In another embodiment, the
`content encryption key identifiers are selected based on a segment numberof the prepared
`content. In one embodiment the segment boundaries are based on a fixed numberofbytes of
`data. In another embodiment the segment boundaries are based on a fixed numberof video key
`frames. The packageris responsible for providing in-bandnotification to the client for the key
`
`

`

`Attorney Docket No. 1082-018
`
`change. In one embodiment,the notification is embedded in a manifestfile that describes the
`encrypted content. In another embodiment, the notification is embedded in the segmentfile
`nameof the encrypted content. In another embodiment, the notification is embeddedin a header
`prepended to the encrypted content. In one embodiment, the header may be a Microsoft
`PlayReady header. In another embodiment, the header may be an MPEG/3GP DASHheader. In
`another embodiment, the header may be a proprietary segment format header.
`
`These provisions together with the various ancillary provisions and features which will become
`apparentto those artisans possessing skill in the art as the following description proceedsare
`attained by devices, assemblies, systems and methods of embodiments of the present invention,
`various embodiments thereof being shown with reference to the accompanying drawings, by way
`of example only, wherein:
`
`FIGURES:
`
`e
`
`e
`
`FIG. 1 is a block diagram of a system which is capable of conducting content encryption
`key rotations procedures, in accordance with various embodiments of the invention;
`FIG. 2 is a flow chart showing a method for performing content encryption key rotation,
`in accordance with an embodimentof the present invention; and
`e FIG. 3 isaflow chart showing another method for detecting content encryption key
`rotation, in accordance with an embodimentof the present invention.
`
`
`
`DETAILED DESCRIPTION:
`
`In the description herein for embodiments of the present invention, numerousspecific details are
`provided, such as examples of components and/or methods, to provide a thorough understanding
`of embodiments of the present invention. One skilled in the relevant art will recognize, however,
`that an embodimentofthe invention can be practiced without one or moreofthe specific details,
`or with other apparatus, systems, assemblies, methods, components, materials, parts, and/or the
`like. In other instances, well-knownstructures, materials, or operations are not specifically
`shownordescribed in detail to avoid obscuring aspects of embodiments of the present invention.
`
`In FIG. 1 is a block diagram 100 for one embodimentofthe present invention. The workflow
`manager (WFM)102 is responsible for initiating ingestion and preparation oflive content. In
`one embodiment, preparation includes transcoding audio and videointo a plurality of encodings
`using different codecs, bitrates ,frame rates, sample rates, and resolutions. The transcoded
`content is then written into a plurality of output files. In one embodiment,a plurality of output
`files contain the same transcoded content encapsulated in different container formats (e.g., 3GP,
`MP4, MPEG-TS, WMV, MOV,etc.). In one embodiment, the prepared output files are
`segmentedinto fixed duration segmentfiles (e.g., MPEG-TS segments, fragmented MP4
`segments, 3GP DASH segments, etc.). In one embodiment, the outputfiles, both segmented and
`un-segmented, are encrypted using standard encryption protocols (e.g., AES-128, HC-128, RC4,
`
`-6-
`
`

`

`Attorney Docket No. 1082-018
`
`etc.) . In one embodiment, IVs for the encryption protocolare reinitialized by the packager 104
`whenevera content encryption key is rotated. In another embodiment, IVs for the encryption
`protocol are not reinitialized when content encryption keysare rotated. In one embodiment,all
`preparation steps are performed by a single content packaging server 104, referred to herein as a
`packager. In another embodiment, individual preparation steps (e.g., transcoding, segmentation,
`encryption, etc.) may be performed acrossdifferent physical content packaging servers 104. The
`packager 104 which performsencryption acquires content encryption keys from the workflow
`manger 102. In one embodiment the WFM 102 and packager 104 reside in the same physical
`server. In another embodiment, the WFM 102 and packager 104 reside in different physical
`servers in the same data center. In another embodiment, the WFM 102 and packager 104 reside
`in different physical servers in remote data centers.
`
`It will be appreciated that the term "server" used herein refers to a general-purpose or special-
`purpose computer, generally including memory,input/output circuitry, and instruction
`processing logic along with interconnections such as one or more high-speed data buses
`connecting those components together. Many aspects of the disclosed techniques can be
`embodiedas software executing on one or more server computers. Similarly, a "client" herein is
`a computerized device (also including the above components) capable of receiving content from
`a network connection and decoding and rendering the content on a display or similar output
`device. So-called smartphonesare specifically included within the definition of client as used
`herein.
`
`The WFM 102 receives an ingestion request from the content management system (CMS) 112.
`The CMSspecifies a security profile. In one embodiment, the security profile includes content
`encryption information, including cipher specification and content encryption key expiration
`policies. The WFM 102 generates an initial content encryption key and assignsit a content
`encryption key identifier. In one embodiment, the content encryption key identifieris initially set
`to zero andall future content encryption key identifiers are based onarelative offset to the initial
`content encryption key identifier. In one embodiment, the content encryption key identifiers are
`based off the wall clock time offset from the time the initial content encryption key identifier was
`generated. In another embodiment, the content encryption key identifiers are based off of
`segment numbers, as produced by the packager 104 during segmentation.
`In one embodiment
`the segment boundaries are based on a fixed numberof bytes of data. In another embodimentthe
`segment boundaries are based on a fixed numberof video key frames.
`
`The WFM 102 then initiates content preparation by assigning a packager 104 to begin acquiring
`the source content and performing transcoding and segmentation as required. The WFM 102
`providesthe initial content encryption key and lifespan of the key to the packager 104
`responsible for encryption of the prepared outputs. The packager 104 encrypts the content using
`the initial content encryption key until it expires. In one embodiment, the expiration timeis
`based on a relative wall clock time offset to the time preparation was started. In another
`
`-7-
`
`

`

`Attorney Docket No. 1082-018
`
`embodiment, the content encryption key identifiers are based off of segment numbers,as
`producedby the packager 104 during segmentation. As described above, segmentation detects
`segment boundaries and assignsa fixed amountof data to each individual segment. In one
`embodiment the segment boundaries are based on a fixed numberof bytes of data. In another
`embodiment the segment boundaries are based on a fixed numberof video key frames. In one
`embodiment, before the content encryption key expires, the packager 104 requests a new key
`from the WFM 102. In one embodiment, the new content encryption key has the same lifespan
`as the previous content encryption key. The new content encryption key is made available by the
`WFM 102to the packager 104 before the previous content encryption key has expired to allow
`for uninterrupted encryption.
`
`Encrypted content is uploaded by the packager 104 to a content delivery network (CDN) 108,
`from which it mayberetrieved by clients 110. In one embodiment, manifestfiles are also
`uploaded by the packager 104 to the CDN 108. The clients 110 mustfirst obtain the content
`encryption keys from the license server 106, before they may decrypt and render encrypted
`content. In one embodiment, clients 110 retrieve content encryption keys using HTTPS. In one
`embodiment, clients 110 are verified by the license server 106 using client certificate
`verification. In another embodiment, clients 110 are verified using login credentials. The
`license server 106 is notified of new content encryption keys by the WFM 102asthey are
`generated. In one embodiment, the license server 106 stores the content encryption key, content
`encryption key identifier, content encryption key lifespan (or expiration), and the location ofthe
`encrypted content. In one embodiment, the information is stored as an encrypted token in a
`database. In one embodiment the WFM 102 andlicense server 106 reside in the same physical
`server. In another embodiment, the WFM 102 andlicense server 106 reside in different physical
`servers in the same data center. In another embodiment, the WFM 102 and license server 106
`reside in different physical servers in remote data centers. In one embodiment, the license server
`106 registers client devices 110 and verifies the right of each client device 110 to view the
`content. If the client 110 has the right to view the content, the license server 106 provides the
`content encryption key, content encryption key lifespan (or expiration), and the location ofthe
`encrypted content.
`
`In one embodiment, the WFM 102 mayissue a new unsolicited content encryption key to the
`packager 104. In one embodiment, the WFM 102 pushes the new content encryption key to the
`packager 104 when the current content encryption key is nearing the endofits lifespan. The new
`content encryption key is pushed aheadofthe current content key expiration and the packager
`104 waits until the current content encryption key has expired before applying the new content
`encryption key. In another embodiment, the WFM 102 pushes the new content encryption key to
`the packager 104 when the current content encryption key is deemedto be no longersecure(e.g.,
`if the content encryption key has been compromised). The packager 104 waits until the next
`available encryption boundary before applying the new content encryption key, and then notifies
`
`

`

`Attorney Docket No. 1082-018
`
`the WFM 102 ofthe exact boundary at whichit expired the previous content encryption key. In
`one embodiment, the encryption boundary is a segment boundary. In one embodimentthe
`segment boundaries are based on a fixed numberof bytes of data. In another embodimentthe
`segment boundaries are based on a fixed numberof video key frames.
`
`In one embodiment, the lifespan of the new content encryption keyis aligned to the periodic
`boundaries of the previous content encryption keys. In one embodiment, the expi

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket