throbber
United States
`(19)
`a2) Patent Application Publication co) Pub. No.: US 2002/0172368 A1
`
`Peterka
`(43) Pub. Date:
`Nov.21, 2002
`
`US 20020172368A1
`
`(54)
`
`INTIAL FREE PREVIEW FOR MULTIMEDIA
`MULTICAST CONTENT
`
`Publication Classification
`
`(75)
`
`Inventor: Petr Peterka, San Diego, CA (US)
`
`Tint, Cd?ccceeceecssseneeeeceesnnseeseensnevceeeees HO4L 9/00
`(SD)
`(52) US. Ch. eects 380/278; 713/163
`
`z
`a)
`
`ABSTRACT
`
`(21) Appl. No.:
`—
`Filed:
`
`(22)
`
`10/007,120
`
`Oct. 26, 2001
`Related U.S. Application Data
`
`Correspondence Address:
`TOWNSEND AND TOWNSEND AND CREW,
`LLP
`According to one embodiment of the invention, a free
`retineonRe CENTER
`preview of a program can be provided to client computers in
`SAN FRANCISCO, CA 94111-3834 (US)
`a multicasting system. This can allow viewers in the mul-
`,
`
`(73) Assignee: General Instrument, Inc., Horsham, PA ticasting system to viewafirst portion of the program before
`deciding whetherto order the program content. According to
`another embodiment, various distribution methods can be
`accomplished using encryption keys to distribute program
`content. According to yet another embodiment, an initial
`viewing period can be provided to allow negotiation of the
`encryption keys. According to another embodiment, rules
`and conditions for providing content in a multicasting envi-
`ronment can be utilized.
`
`(60) Provisional application No. 60/243,925,filed on Oct.
`26, 2000.
`
`104
`124
`
`
`
`
`Active
`Crawling
`
`Directory
`Directory
`
`
`106
`
`Origin
`
`Server(s)
`
`
`
`
`
`External Origin
`Server(s)
`
`
`
`-, Content
`
`
` Exchange(s)
`
`
`100
`
`Computer(s)
`
`Client
`
`Google Exhibit 1005
`Google Exhibit 1005
`Google v. Ericsson
`Google v. Ericsson
`
`

`

`Patent Application Publication Nov. 21,2002 Sheet 1 of 25
`
`US 2002/0172368 Al
`
`(s)sayndwog
`
`jual[o
`
`OOL
`
`BAIOV
`
`AlopOa.Gg
`
`BuymMelg
`
`Ajo}oasIG
`
`rOLbel
`
`S)IBAIBS|ulBuC
`
`gol
`
`Bll
`
`(s)aBueyoxs
`
`jUs}UOD'-
`
`|“Bl
`
`(S)IaNl3BS
`
`
`
`
`
`")uBUOjeUIa}Xy
`
`
`
`
`
`
`

`

`Patent Application Publication Nov. 21,2002 Sheet 2 of 25
`
`US 2002/0172368 Al
`
`200
`
`\
`
`205b
`
`READABLE
`STORAGE MEDIA
`
`COMPUTER
`
`2pea
`
`
`COMPUTER
`CPU(S) OUTPUT||STORAGEINPUT
`
`
`READABLE
`DEVICES||DEVICES|;DEVICES
`
`STORAGE
`MEDIA READER
`
`201
`
`202
`
`203
`
`204
`
`208
`
`209
`
`91
`
`
`COMM.|| PROCESSING | WORKING
`
`
`SYSTEM|| ACCELERATION | MEMORY
`—So 292
`OYOTEM
`
`206
`
`207
`
`(PROGRAMS)
`
`OTHER CODE
`
`FIG. 2
`
`293
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 3 of 25
`
`US 2002/0172368 Al
`
`PROVIDE ENCRYPTED MATERIAL
`
`FOR DISTRIBUTION TO A CLIENT
`
`304
`
`PROVIDE KEY FOR USE BY CLIENT
`IN DECRYPTING FIRST PORTION OF
`THE ENCRYPTED PROGRAM
`MATERIAL BY PROVISIONING THE
`
`KEY TO THE CLIENT 300
`
`{308
`
`
`
`DISTRIBUTE FIRST PORTION OF
`
`ENCRYPTED PROGRAM MATERIAL
`TO CLIENT
`
`ALLOW CLIENT TO UTILIZE THE
`PROVIDED KEY SO AS TO OBTAIN
`
`FREE PREVIEW
`
`312
`
`316
`
`FIG. 3
`
`

`

`Patent Application Publication Nov. 21,2002 Sheet 4 of 25
`
`PROVIDE CLIENT WITH FREE
`PREVIEW KEY
`
`PROVIDE ENCRYPTED MATERIAL
`FOR DISTRIBUTION TO A CLIENT
`
`FREE PREVIEW KEY
`
`PROVIDE A CONTENT KEY
`
`ENCRYPT CONTENT KEY WITH A
`
`US 2002/0172368 Al
`
`402
`
`A0A
`
`408
`
`442
`
`PROVIDE ENCRYPTED CONTENT
`KEY TO THE CLIENTS
`
`416
`
`400
`
`UTILIZE FREE PREVIEW KEY AT
`THE CLIENT TO DECRYPT THE
`CONTENT KEY
`
`
` 424
`
`
` DISTRIBUTE FIRST PORTION OF
`
`ENCRYPTED PROGRAM MATERIAL
`
`TO CLIENTS
`
`428
`
`ALLOW CLIENT TO UTILIZE
`CONTENT KEY TO DECRYPT
`ENCRYPTED PROGRAM CONTENT
`
`AND OBTAIN FREE PREVIEW
`
`436
`
`440
`
`PROMPT USER TO PURCHASE THE
`PROGRAM MATERIAL
`
`FIG. 4
`
`

`

`Patent Application Publication Nov. 21,2002 Sheet 5 of 25
`
`US 2002/0172368 Al
`
`PROVIDE PROGRAM MATERIAL FOR
`DISTRIBUTION
`
`DISTRIBUTE A FIRST PORTION OF THE
`PROGRAM MATERIAL
`
`508
`
`512
`
` so
`
`ALLOW USER TO PURCHASE PROGRAM
`CONTENT
`
`ENCRYPT A REMAINING PORTION OF THE
`
`516
`
`PROGRAM
`
`DISTRIBUTE THE REMAINING PORTION OF
`THE PROGRAM
`
`520
`
`Fig, ~
`
`

`

`Patent Application Publication Nov. 21,2002 Sheet 6 of 25
`
`US 2002/0172368 Al
`
`PROVIDE SERVER FOR COMMUNICATION
`
`WITH A PLURALITY OF CLIENT COMPUTERS
`
`
`
`CONFIGURE THE SERVER TO PROVIDE A
`
`PROGRAM TO THE PLURALITY OF CLIENT
`
`COMPUTERS
`
`ENCRYPT FIRST PORTION OF CONTENT
`
`DISTRIBUTE FIRST PORTION OF ENCRYTPED
`CONTENT
`
`PROVIDE A FREE PREVIEW FOR THE
`PROGRAM TO THE CLIENT COMPUTERS
`
`CLIENT REQUEST ACCESS TO CONTENT
`ENCRYPTED PORTION OF THE PROGRAM
`
`
`
`PROVIDE KEY TO CLIENT FOR USE IN
`DECRYPTING AN ENCRYPTED PORTION OF
`
`THE PROGRAM
`
`PROVIDE INITIAL VIEWING PERIOD FOR A
`TIME SUFFICIENT TO ALLOW A
`PREDETERMINED NUMBEROFCLIENTS TO
`RECEIVE KEYS FOR DECRYPTING THE
`
`ENCRYPT SECOND PORTION OF CONTENT
`
`DISTRIBUTE SECOND PORTION OF
`ENCRYPTED CONTENT
`
`FIG. 6
`
`604
`
`608
`
`609
`
`610
`
`612
`
`,
`
`614
`
`616
`
`620
`
`600
`
`624
`
`628
`
`

`

`Patent Application Publication Nov. 21,2002 Sheet 7 of 25
`
`US 2002/0172368 Al
`
`at of
`REQUESTS
`
`' FRee
`PRenew
`
`PROGRAM dURATION
`
`
`
`ih AteLt ERRO Lae HeAR OEE BNOa Ore mRcreme me commeeae
`
`

`

`Patent Application Publication Nov. 21,2002 Sheet 8 of 25
`
`US 2002/0172368 Al
`
`Program Duration
`
`Numberofrequests
`
`EMM:[PK]uka
`
`Period -|allowed
`
`Initial Key Distribution
`
`KEYs:
`
`ECMs:
`
`EMMs:
`
`ECM:[CK2]pK
`
`

`

`Patent Application Publication Nov. 21,2002 Sheet 9 of 25
`
`US 2002/0172368 Al
`
`RECEIVE REQUEST FOR A CRYPTOGRAPHIC
`KEY FROM A CLIENT
`
`
`
`
`
`
`LOG THE REQUEST FOR THE KEY
`
`
`$10
`
`414
`
`
`DISTRIBUTE THE KEY TO THE CLIENT IN
`RESPONSE TO THE REQUEST
`
`
`
`$13
`
`YOO
`
`
`
`DISTRIBUTE PROGRAM CONTENT FOR
`
`DECRYPTION BY THE CLIENT UTILIZING THE[-72
`
`KEY
`BILL CLIENT BASED UPON LOG ENTRY(IES)
`
`Fig. g
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 10 of 25
`
`US 2002/0172368 Al
`
`
`
`RECEIVE REQUEST FOR A CRYPTOGRAPHIC
`KEY FROM A CLIENT
`
`LOG THE REQUEST FOR THE KEY
`
`LOG A SEGMENT OF THE PROGRAM CONTENT
`FOR WHICH THE KEY CAN BE USED
`
`ENCRYPTKEY WITH A FIRST PROGRAM
`SEGMENT KEY
`
`DISTRIBUTE KEY ENCRYPTED UNDERFIRST
`PROGRAM SEGMENTKEYAS PART OF FIRST
`MULTICAST MESSAGE
`
`
`BILL CLIENT BASED UPON LOG ENTRY(IES)
`
`ENCRYPT KEY WITH A SECOND PROGRAM
`SEGMENT KEY
`
`DISTRIBUTE KEY ENCRYPTED UNDER SECOND
`PROGRAM SEGMENT KEY AS PART OF A
`SECOND MULTICAST MESSAGE
`
`DISTRIBUTE PROGRAM CONTENT FOR
`DECRYPTION BY THE CLIENT UTILIZING THE
`KEY
`
`FIG. 9
`
`910
`
`914
`
`918
`
`900
`
`926
`
`930
`
`932
`
`934
`
`938
`
`942
`
`

`

`Patent Application Publication Nov. 21,2002 Sheet 11 of 25
`
`US 2002/0172368 Al
`
`
`
`
`
`RECEIVE REQUEST FOR FIRST KEY FROM A CLIENT
`
`
`
`CREATELIST OF CLIENTS REQUESTING A FIRST KEY
`
`
`
`DISTRIBUTE MULTICAST MESSAGE TO PLURALITY OF
`CLIENT SO AS TO DISTRIBUTE A SECOND KEY
`
`Fig: |O
`
`[fo
`
`£020.
`
`
`
`
`
`'
`
`[020
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 12 of 25
`
`US 2002/0172368 Al
`
`1110
` RECEIVE REQUESTFOR FIRST KEY FROM A CLIENT
`
`CREATE LIST OF CLIENTS REQUESTING A FIRST KEY
`
`UTILIZE A UNIQUE KEY OF EACH OF THE CLIENTS TO
`ENCRYPT THE SECOND KEY PRIOR TO DISTRIBUTING TO
`
`EACH OF THE RESPECTIVE CLIENTS
`
`DISTRIBUTE MULTICAST MESSAGE TO PLURALITY OF
`CLIENT SO AS TO DISTRIBUTE A SECOND KEY
`
`RECEIVE A MESSAGE FROM A CLIENT INDICATING THAT
`THE CLIENT IS LEAVING THE MULTICAST SESSION
`
`REMOVE THE CLIENT FROM THE LIST IN RESPONSE TO THE
`MESSAGE
`
`LOG AN ENTRY SO AS TO RECORD WHEN CLIENT LEFT THE
`SESSION AND NOTBILL CLIENT FOR ADDITIONAL CONTENT
`
`DISTRIBUTE A THIRD KEY TO PREVENT A REMOVED CLIENT
`FROM RECEIVING LATER OCCURRING CONTENT
`
`FIG. 11
`
`1120
`
`1130
`
`1140
`
`1150
`
`1160
`
`1170
`
`1180
`
`= a Oo©
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 13 of 25
`
`US 2002/0172368 Al
`
`{210
`
`DISTRIBUTE KEY TO THE CLIENT
`
`AWAIT CONFIRMATION FROM THE CLIENT THAT THE KEY
`WAS RECEIVED
`
`CONFIRMATION
`
`WAIT A PREDETERMINED PERIOD OF TIME FOR
`
`[Z40
`
`REMOVE CLIENT FROM LIST IF NO CONFIRMATIONIS
`RECEIVED
`
`Fig. IZ
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 14 of 25
`
`US 2002/0172368 Al
`
`BEGIN MULTICASTING OF PROGRAM CONTENT
`
`[310
`
`
`CREATELIST OF ACTIVE PARTICIPANTS RECEIVING THE
`
`
`PROGRAM, INCLUDING AT LEAST ONE CLIENT
`
`320
`
`
`
`
`
`
`RECEIVE MESSAGE FROM THE CLIENT INDICATING THAT
`THE CLIENT SHOULD REMAIN ON THELIST
`
`DECRYPTING PROGRAM CONTENT
`
`MULTICAST A MESSAGETO THE ACTIVE LIST OF
`PARTICIPANTS THAT INCLUDES A NEW KEY FOR
`
`{300
`
`/330
`
`{340
`
`Fig. 13
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 15 of 25
`
`US 2002/0172368 Al
`
`PROVIDE PACKET FOR USE AS AN RTP PACKET, HAVING A
`PAYLOAD PORTION AND A HEADER PORTION
`
`CREATE MODIFIED RTP PACKET
`
`[430
`
`TRANSMIT MODIFIED RTP PACKET
`
`
`
`RECEIVE MODIFIED RTP PACKET AT CLIENT
`
`,
`
`INSERT A FIXED FIELD BETWEEN HEADER AND PAYLOAD
`OPERABLE TO INDICATE A KEY CHANGE -
`
`
`
`
`
`
`
`
`
`
`
`
`
`DETERMINE FROMFIXED FIELD WHETHER KEY CHANGED
`
`REMOVEFIXED FIELD PORTION OF MODIFIED RTP PACKET
`SO AS TO RECOVER RTP PACKET
`
`
`
`PROCESS RECOVERED RTP PACKET
`
`Fig. [4
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 16 of 25
`
`US 2002/0172368 Al
`
`PROVIDE FIRST KEY TO A GROUP OF CLIENTS
`
`PROVIDE A SECOND KEY FOR USE iN DECRYPTING A FIRST
`PORTION OF THE PROGRAM CONTENT
`
`
`PROVIDE THE SECOND KEY ENCRYPTED UNDER THE
`FIRST
`KEY TO ONE OF THE PLURALITY OF CLIENTS
`
`1510
`
`1520
`
`1530
`
`(500
`
`UTILIZE THE SECOND KEYATTHE SERVERTO ENCRYPT _/
`
`THE FIRST PORTION OF THE PROGRAM CONTENT
`
`1540
`
`
`
`DISTRIBUTETHE ENCRYPTED FIRST PORTION OFTHE J
`
`PROGRAM CONTENT TO THE GROUP OF CLIENTS
`
`| PERMITTHE CLIENTWHO RECEIVEDTHE SECOND KEYTO _/
`
`DECRYPT THE ENCRYPTED PROGRAM CONTENT
`
`1550
`
`1560
`
`FIG. 15
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 17 of 25
`
`US 2002/0172368 Al
`
` J
`
`PROVIDE THE CLIENTS WITH THE FIRST KEY
`
`1605
`
`
`
`PROVIDEPROGRAM CONTENT FORMULTICASTING TO /
`
`1610
`
`PLURALITY OF CLIENTS
`
`
`
`ENCRYPT FIRST PORTION OF THE PROGRAM CONTENT
`UTILIZING A FIRST KEY SO AS TO PRODUCE AN
`ENCRYPTED FIRST PORTION OF PROGRAM CONTENT
`
`1620
`
`
`
`MULTICAST THE ENCRYPTED FIRST PORTION OF THE
`PROGRAM CONTENT TO THE PLURALITY OF CLIENTS PRIOR
`TO THE PLURALITY OF CLIENTS INDICATING AN INTENT TO
`PURCHASE
`
`ENCRYPT THE FIRST PORTION OF THE PROGRAM CONTENT
`FOR A PERIOD OF TIME SO AS TO ALLOW THE USER TO
`OBTAIN A FREE PREVIEW
`
`PROMPT USER TO PURCHASE THE PROGRAM CONTENT
`
`
`
`
`PROVIDE A GUARANTEED TIME PERIOD SO AS TO ALLOW A
`USER TO PURCHASE THE PROGRAM CONTENT WITHOUT
`INTERRUPTION OF PROGRAM SERVICE
`
`FIG. 16A
`
`1640
`
`1600
`
`1650
`
`1660
`
`1670
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 18 of 25
`
`US 2002/0172368 Al
`
`
`
`PROVIDE A SECOND KEY
`
`
`
`ENCRYPT A SECOND PORTION OF THE PROGRAM CONTENT
`WITH THE SECOND KEY
`
`PROVIDE THE SECOND KEY TO EACH OF THE CLIENTS
`THAT PURCHASED THE PROGRAM CONTENT DURING THE
`GUARANTEED TIME PERIOD
`
`PROGRAM CONTENT TO THE PLURALITY OF CLIENTS
`
`MULTICAST THE ENCRYPTED SECOND PORTION OF THE
`
`1674
`
`1680
`
`1684
`
`1690
`
`FIG. 16B
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 19 of 25
`
`US 2002/0172368 Al
`
`PROVIDE PROGRAM CONTENT FOR MULTICASTING
`
`[#10
`
`IF 20
`
`MULTICASTA FIRST PORTION OF THE PROGRAM CONTENT .
`TO A PLURALITY OF CLIENTS AT NO CHARGE
`
`PROVIDE A GUARANTEEDTIME PERIOD DURING
`
`MULTICASTING OF THE FIRST PORTION OF PROGRAM
`
`ESTIMATE A NUMBER OF CLIENTS THAT WILL PURCHASE
`THE PROGRAM CONTENT DURING THE GUARANTEED TIME
`
`.
`1240
`
`[#00
`
`PROVIDEANINITIAL KEY DISTRIBUTION PERIOD HAVING A
`DURATION LONG ENOUGHTO PROVIDE CRYPTOGRAPHIC
`KEYS TO THE PURCHASING CLIENTS SO AS TO ALLOW
`RECEPTION OF THE PROGRAM CONTENTNOTTO BE
`
`1450
`
`1730 CONTENT
`PERIOD
`INTERRUPTEDAT. THE PURCHASING CLIENTS
`ADJUST INITIAL KEY DISTRIBUTION PERIOD
`
`)
`
`| 460
`
`Fig.
`
`| +
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 20 of 25
`
`US 2002/0172368 Al
`
`
`PROVIDE PROGRAM CONTENTFORDISTRIBUTION TO A
`PLURALITY OF CLIENTS
`
`
`
`Ig2o
`
`PROVIDE A FIRST TIME PERIOD FOR PURCHASING AN
`UNINTERRUPTED VIEWING OF THE PROGRAM CONTENT
`
`lg1o
`
`RECEIVE A PURCHASE REQUEST FROM A PURCHASING
`CLIENT FOR THE PROGRAM CONTENT
`
`PROVIDE A SECOND TIME PERIOD FOR PURCHASING THE
`PROGRAM CONTENT, THE SECOND TIME PERIOD
`
`OCCURRING AFTER THE FIRST TIME PERIOD
`PROGRAM CONTENT
`THE PROGRAM CONTENT
`
`RECEIVING A PURCHASE REQUEST FROM A LATE
`PURCHASING CLIENT FOR THE PROGRAM CONTENT
`DURING THE SECOND TIME PERIOD
`
`1850
`
`DISTRIBUTING THE PROGRAM CONTENTTO THE
`PURCHASING CLIENT WITHOUT INTERRUPTION OF
`
`1860
`
`LATE PURCHASING CLIENT UNTIL THE PROGRAM CONTENT
`CAN BE DECRYPTED WITHOUT INTERRUPTING VIEWING OF
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 21 of 25
`
`US 2002/0172368 Al
`
`1920git j704
`
`
`
`
`
`ORIGIN
`AUTHORI-
`
`
`CACHING
`
`
`ZATION
`CONTENT
`
`
`SERVER
`
`
`SERVER
`CENTER
`
`
`CLrently
`
`
`1908
`
`Fig.
`
`|\9
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 22 of 25
`
`US 2002/0172368 Al
`
`ESTABLISH RULE DEFINING WHETHERCLIENTIS ENTITLED TO
`RECEIVE PROGRAM CONTENT
`
`
`
`ALLOW CLIENT TO REQUEST PROGRAM CONTENT FROM SERVER
`
`RECEIVING A REQUEST FOR THE PROGRAM CONTENT
`
`
`
`
`FORMAT DATA RECORD COMPRISING AN IDENTIFIER TO IDENTIFY
`THE PROGRAM CONTENTAND A RULE FOR THE PROGRAM
`CONTENT
`
`SIGN THE DATA RECORD
`
`
`
`UTILIZE TRUSTED THIRD PARTY TO SIGN DATA RECORD
`
`
`
`CONVEY DATA RECORD TO CLIENT
`
`CONVEY DATA RECORD TO CACHING SERVER
`
`FIG. 20A
`
`2004
`
`2008
`
`2012
`
`2016
`
`2020
`
`2000
`
`2024
`
`2028
`
`2032
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 23 of 25
`
`US 2002/0172368 Al
`
`VERIFY DATA INTEGRITY BY
`
`
`
`2036
`
`
`
`
`
`
`No
`
`
`
`IS CLIENT ENTITLED TO
`RECEIVE PROGRAM CONTENT
`2
`
`Yes
`
`DISTRIBUTE CONTENTKEY TO CLIENT
`
`DISTRIBUTE ENCRYPTED COPY OF PROGRAM MATERIAL FROM
`
`CACHING SERVER FOR USE BY CLIENTS
`
`2038
`
`2040
`
`FIG. 20B
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 24 of 25
`
`US 2002/0172368 Al
`
`OBTAIN A PROGRAM CONTENTIDENTIFIER FROM
`
`Z110
`
`2120
`
`ZI30
`
`CLIENT
`
`OBTAIN THE USER'S SELECTED PAYMENT METHOD
`
`OBTAIN THE RULE(S) ASSOCIATED WITH THE
`PROGRAM CONTENTFOR USE BY CACHING SERVER
`IN DETERMING WHETHER THE CLIENT IS ENTITLED
`TO THE PROGRAM CONTENT
`
`
`
`RECEIVE A TICKET FROM THE CLIENT COMPRISING
`ENTITLEMENT INFORMATION
`
`z140
`
`2150
`
`Z100.
`
`NO
`
`END
`
`
`
`IS CLIENT ENTITLED TO
`THE PROGRAM CONTENT?
`
`
`
`VES
`
`DIRECT OR INDIRECT
`CONVEY KEY FOR.USE BY THE CLIENTIN
`
`DECRYPTING THEPROGRAM CONTENT
`
`Z160
`
`Fic. Z|
`
`

`

`Patent Application Publication Nov. 21, 2002 Sheet 25 of 25
`
`US 2002/0172368 Al
`
`2200
`
`
`
`RULE(S)
`
`CLIENT'S
`
`
`
`
`
` AUTHENTI-
`DEFINING|RATING
`
`
`PURCHASE
`
`
`PROGRAM
`CATION
`
`ACCESS TO)
`INFORMA-
`
`
`
`
`
`PREFER-
`
`
`CONTENTID
`
`DATA
`
`
`PROGRAM
`
`
`ENCE
`
`
`CONTENT
`
`FIG. 22
`
`LOCATION
`
`OF CLIENT
`
`AUTHENTI-
`SCRIPTIONS CATION
`OF CLIENT!
`DATA
`
`FIG. 23
`
`

`

`US 2002/0172368 Al
`
`Nov. 21, 2002
`
`[0009] The free preview could, for example, take the form
`of a movie trailer prior to broadcast of the actual movie or
`[0002] This invention relates generally to the area of
`an advertisement for the program material orafirst portion
`of the actual movie.
`multicasting networks. More specifically,
`the invention
`relates to providing a preview portion of a program distrib-
`uted to clients on the network.
`
`larly, a free preview key can beutilized at the serverto either
`encrypt the first portion of the program material or encrypt
`the content key.
`
`In another embodiment a user interface can be
`[0008]
`utilized to allow the userat a client computer to purchase the
`content offered during the free preview.
`
`In another embodimentof the invention a method
`[0010]
`of multicasting program material is provided by providing
`program material for distribution to a client, distributing a
`first portion of the program material to the client in an
`unencrypted format, encrypting a remaining portion of the
`program, and distributing a remaining portion of the pro-
`gram to the client.
`
`{0011] One embodiment allows providing a key and uti-
`lizing the key to accomplish the encrypting of a remaining
`portion of the program. In addition, one embodiment may
`allow the user to purchase the program content as well as
`provide the user with a key that is operable to decrypt the
`encrypted portion of the program.
`
`[0012] Yet another embodimentof the invention provides
`a methodof providing program material to multiple clients
`in a multicast system. The method comprises providing a
`server for communication with the multiple client comput-
`ers, configuring the server to be operable to provide a
`program to the plurality of client computers, providing a free
`preview of the program to the multiple client computers, and
`during the free preview providing the multiple client com-
`puters with keys that are operable to decrypt at
`least a
`portion of the encrypted program.
`
`[0013] Another embodiment of the invention provides
`articles of manufacture having computer executable instruc-
`tions operable for performing the above-stated methods.
`
`{0014] Further embodiments of the invention will be
`apparent to those of ordinary skill in the art from a consid-
`eration of the following description taken in conjunction
`with the following drawings. Certain methods, apparatuses,
`and articles of manufacture for practicing the embodiments
`of the invention are illustrated. However,
`it should be
`understood that the invention is not limited to the details
`disclosed but includesall such variations and modifications
`as fall within the spirit of the invention and the scope of the
`issued claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0015] FIG. 1 is a block diagram of an embodimentof a
`content distribution system such as those used for multicast-
`ing program content over the internet.
`
`[0016] FIG. 2 is a block diagram of an embodimentof a
`client computer portion of the content distribution system
`shown in FIG.1.
`
`FIG.3 is a flow chartillustrating one embodiment
`[0017]
`of the invention for providing a free preview to a client.
`
`[0018] FIG. 4 is a flow chartillustrating another embodi-
`ment of the invention for providing free previewcontent.
`
`INTIAL FREE PREVIEW FOR MULTIMEDIA
`MULTICAST CONTENT
`
`CROSS-REFERENCES TO RELATED
`APPLICATIONS
`
`[0001] This application claims the benefit of U.S. Provi-
`sional Application 60/243,925, filed on Oct. 26, 2000, which
`is hereby incorporated by reference for all purposes.
`
`BACKGROUND
`
`[0003] There are a variety of systems for distributing
`content, such as audiovisual content, to users across net-
`works. One example is pay-per-view programming in which
`a user pays for a program prior to viewing it. Another
`example is subscription based programming in which a user
`pays a subscription to a service provider in order to receive
`the programming for a particular channel for a prearranged
`period of time. For example, HBO™ or SHOWTIME™are
`examples of subscription based programs in which a user
`pays a monthly fee in order to receive any programs broad-
`cast on the designated channel for those programs. There-
`fore, the user is not required to pay for each individual show
`or event that occurs on those particular channels. Rather the
`subscription payment covers all programming.
`
`[0004] With the advent of multicasting networks, program
`content such as movies and music can now bedistributed in
`multicast transmissions across networks. For example, a
`server can multicast a movie across the internet to client
`
`computers. This can be accomplished by distributing the
`content to the address of each client simultaneously. How-
`ever, no cryptographic system appears to be in place ta
`facilitate the commercialization of such transmissions.
`
`Namely, no cryptographic system appearsto be in use which
`allows a user to preview a program that will later become
`cnerypted and unavailable to the user.
`
`[0005] As a result, most multicast transmissions must be
`transmitted to a set of clients that are known ahead oftime
`to be interested in the program content. This reduces the
`commercial benefit to the program content provider in that
`the program content provider can not entice other interested
`viewers into purchasing the program by providing a free
`previewof the program.
`
`SUMMARY
`
`In one embodimentof the invention a method of
`[0006]
`multicasting program material
`is provided by providing
`encrypted program material for distribution to a client;
`providing a key for use by the client; encrypting a first
`portion of the encrypted program material; distributing the
`first portion of the encrypted program materialto the client,
`wherein the first portion of the encrypted program material
`is encrypted so that the client can decrypt
`the program
`material using the key so as to oblain a [ree preview ofthe
`program material.
`
`[0007] A content key can be provided to the client in one
`embodimentof the invention to allow the client to decrypt
`the first portion of the encrypted program material. Simi-
`
`

`

`US 2002/0172368 Al
`
`Nov. 21, 2002
`
`[0019] FIG. 5 is a flow chart illustrating an embodiment
`of the invention for distributing an unencrypted portion of a
`program and an encrypted portion of a program.
`
`[0020] FIG.6 is a flow chart illustrating an embodiment
`of the invention to allow a free preview to be displayed.
`
`[0021] FIGS. 7A and 7B are graphs showing exemplary
`distribution of cryptographic keys during portions of a
`program.
`
`[0022] FIG.8 illustrates a flow chart for distributing keys
`under one embodimentof the invention.
`
`[0023] FIG. 9 illustrates another flow chart for distribut-
`ing keys according to another embodiment of the invention.
`
`[0024] FIG. 10 illustrates a flow chart for one embodi-
`mentofthe invention in which keys are multicast to multiple
`clients.
`
`[0025] FIG. 11 illustrates a flow chart demonstrating an
`embodimentof the invention in which clients request keys
`from a server for receiving multicast content.
`
`[0026] FIG.12 illustrates an embodimentof the invention
`for distributing keys to clients in which clients can send a
`confirmation message that a key was received.
`
`[0027] FIG. 13illustrates a flow chart for an embodiment
`of the invention in whicha list of active participants receiv-
`ing a program is created and clients send confirmation
`messages indicating that they should remain on thelist.
`
`[0028] FIG. 14 illustrates a flow chart for an embodiment
`of the invention in which a modified RTP packetis created
`for signaling cryptographic key changes.
`
`[0029] FIG. 15 illustrates a flow chart according to one
`embodimentof the invention for providing a commonkey to
`clients in a multicast system.
`
`[0030] FIGS. 16A and 16B illustrate a flow chart accord-
`ing to one embodiment of the invention for providing an
`initial preview of program content.
`
`[0031] FIG. 17 illustrates a flow chart according to one
`embodiment of the invention for providing an adjustable
`initial key distribution period tor purchasing program con-
`tent.
`
`[0032] FIG. 18 illustrates a flow chart according to one
`embodiment of the invention for providing uninterrupted
`viewing by a late purchasing client for program content.
`
`[0033] FIG. 19 shows a network for use in accordance
`with one embodiment of the invention.
`
`[0034] FIGS. 20A and 20Billustrate a flow chart for
`conveying data records from an origin content server to a
`cacheing server according to one embodiment of the inven-
`tion.
`
`[0035] FIG. 21 illustrates a flow chart according to one
`embodimentof the invention which provides for determin-
`ing whethera client is entitled to program content based on
`at least one rule associated with the program content for use
`by a cacheing server.
`
`[0036] FIG. 22 illustrates a data structure according to one
`embodiment of the invention for conveying information
`from an origin content server to a cacheing server.
`
`[0037] FIG. 23 illustrates a data record according to one
`embodiment of the invention that can be provided for an
`individual client to define that particular client’s entitle-
`ments to different program content.
`
`DESCRIPTION OF THE SPECIFIC
`EMBODIMENTS
`
`[0038] Referring to FIG. 1, a block diagram of a content
`distribution system 100 is shown.In this embodiment, the
`contentdistribution system 100 includes an active directory
`104, one or more origin servers 108, one or more client
`computers 112, one or more content exchanges 116, one or
`more external origin servers 118, a network such as the
`internet 120, and a crawling directory 124. A particular
`client computer 112 is shown interacting with the active
`directory 104 to select a content object for downloading. The
`object can be played during downloadif it is a streaming
`media or can be stored for later display. The content object
`could be various types of information, such as audio, video,
`or data that is available to be downloaded from the network.
`Furthermore, it can be used for multicasting and/or unicast-
`ing.
`
`Insome embodiments,the origin servers 108 deter-
`[0039]
`mine the preferred source to direct the client computers in
`order to download content objects. The preference of the
`client computer 112 and the location of copies of the content
`object are all considerations that the origin processor 108
`can use in redirecting the client computer to a preferred
`source of information. That source can be origin processor
`108 itself or one of the content exchanges 116.
`
`[0040] Content objects of an external origin processor 118
`can be preloaded to a content exchange(s) allocated to
`provide those content objects. To decrease latency when a
`content object is requested for the first time,
`the active
`directory 104 can call the external origin processor 118 to
`determine the content objects available from the external
`origin server 118. The available content objects may be
`added to the crawling directory 124. Once the available
`content objects are known, the active directory 104 can
`request each content object from the associated content
`exchange(s) in order to cause loading of each content object
`on the associated content exchange(s). In this way, content
`objects
`can be preloaded on the
`associated content
`exchanges.
`
`(0041] FIG. 2 broadly illustrates how individual system
`clements from FIG. 1 can be implemented in a separated or
`more integrated manner within various, generally similarly
`configured processing systems. System 200 is shown com-
`prised of hardware elements that are electrically coupled via
`bus 208, including a processor 201, input device 202, output
`device 203, storage device 204, computer-readable storage
`media reader 205a, communications system 206 processing
`acceleration (e.g., DSP or special-purpose processors) 207
`and memory 209. Computer-readable storage media reader
`205a is further connected to computer-readable storage
`media 2055, the combination comprehensively representing
`remote, local, fixed and/or removable storage devices plus
`storage media, memory, etc. for temporarily and/or more
`permanently containing computer-readable
`information,
`which can include storage device 204, memory 209 and/or
`any other such accessible system 200 resource. System 200
`also comprises software elements (shown as being currently
`
`

`

`US 2002/0172368 Al
`
`Nov. 21, 2002
`
`located within working memory 291) including an operating
`system 292 and other code 293, such as programs, applets,
`data and the like.
`
`[0042] System 200 is desirable as an implementation
`alternative largely due to its extensive flexibility and con-
`figurability. Thus, for example, a single architecture might
`be utilized to implement one or more servers that can be
`further configured in accordance with currently desirable
`protocols, protocol variations, extensions, etc. However, it
`will be apparent to those skilled in the art that substantial
`variations may well be utilized in accordance with more
`specific application requirements. For example, one or more
`elements might be implemented as sub-elements within a
`system 200 component(e.g. within communications system
`206). Customized hardware might also be utilized and/or
`particular elements might be implemented in hardware,
`software (including so-called “portable software,” such as
`applets) or both. Further, while connection to other comput-
`ing devices such as network input/output devices (not
`shown) may be employed,it is to be understood that wired,
`wireless, modem and/or other connection or connections to
`other computing devices mightalso be utilized. Distributed
`processing, multiple site viewing, information forwarding,
`collaboration, remote information retrieval and merging,
`and related capabilities are each contemplated. Operating
`system utilization will also vary depending onthe particular
`host devices and/or process types (e.g. computer, appliance,
`portable device, etc.) and certainly not all system 200
`components will be required in all cases.
`
`[0043] The network of FIG. 1 can be implemented in a
`variety of ways. For example, according to one embodiment,
`we can assume the use of User Datagram Protocol (UDP)
`which can carry “Real-Time Transport Protocol’/“Real-
`Time Control Protocol” (RTP/RTCP) “Internet Group Man-
`agement Protocol” (IGMP), “Real-Time Streaming Proto-
`col”
`(RTSP)
`and
`possibly
`“Session Announcement
`Protocol”/“Session Description Protocol” (SAP/SDP). Fur-
`thermore, for purposes of multicast addressing, it can be
`assumed that multicast IP address allocation and assignment
`is transparent to any internet protocol rights management
`system. The session description can be distributed using
`either SAP protocol, RTSP ANNOUNCE commandor via
`HTTP. Also, as a business model, it can be assumed that
`pay-per-view, subscription, and pay-by-timeareall desirable
`purchase options. Furthermore, it is assumed that TV-like
`channel surfing is an expected user experience for broadcast
`like multicast distribution.
`
`[0044] The following terms used in this patent can be
`understood as follows:
`
`[0045] Content Provider—An entity that distributes con-
`tent, e.g.,
`to the caching servers while not necessarily
`consuming content.
`content
`[0046] Consumer—An entity that consumes
`obtained from a caching server and optionally redistributes
`content
`to other consumers in the system. The roles of
`consumer, caching server, and content provider can be
`viewed as a matrix of content sources and sinks, related by
`allowed behaviors and transfers.
`
`Program—Apieceofspecifically identified content
`[0047]
`with a beginning and an end.
`[0048] Service—A continuous collection of programs on
`the same stream.
`
`[0049] Ongoing Program—Aprogram that does not have
`a specifically defined beginning and end, which viewers
`usually join and leave at any time. This is suitable for “home
`shopping,”“fashion shows,” ongoing sports content, etc.
`
`[0050] Purchase Option—A mechanism allowing a client
`to purchase content.
`
`[0051] Subscription—A purchase mechanism in which the
`client registers and possibly pays for the content substan-
`tially ahead oftime. The client typically gets authorized for
`more than one program (e.g., the entire service). When only
`a single program is authorized, it is known as Call-ahead
`PPV.
`
`[0052] Pay-Per-View (PPV)—A purchase mechanism in
`which the client registers and pays for a single program or
`package at a time. ‘his mechanism can be network-enabled,
`or locally enabled. In the network-enabled case, the client
`contacts the infrastructure once a purchase is desired, and
`the infrastructure enables the purchase. This approach often
`has scaling problems, due to peak demand prior to a pro-
`gram. In the locally enabled case, often called “IPPV”, or
`“Impulse” PPV, the client itself makes the purchase locally,
`and stores a record of the purchase. At somelater time, the
`record is reported to the infrastructure systems for billing.
`This approachis effective when events are being multicast,
`for example, as there is no spike of demand hitting the
`network prior to the program start. Also,
`in the locally
`enabled case, the client can view the content immediately, as
`there are no networklatency or message exchange delays.In
`either case, PPV purchases are typically for an entire pro-
`gram, regardless of how muchis actually watched.
`
`[0053] Pay-By-Time (PBT)—A purchase mechanism in
`whichtheclient paysfor the time duration of the content that
`was actually watched. The discrete time increments may
`have different durations for different programsor services.
`PBTis limited to a small set of programs and services for
`which a viewer can tolerate random access without loss of
`
`perceived value. Some sporting and music events are of this
`type.
`
`[0054] Pay-By-Quality (PBQ)—Content maybeoffered at
`a different quality (i-e., bit rates), either as separate streams
`or as layered streams with each additional
`layer adding
`quality to the content. The client may report the highestbit
`rate it can consume and be offered to purchase the content
`at that quality or less. The server may also adjust the rate in
`real time based on the immediate state of the network. If
`
`temporary network congestion is detected, the quality of the
`content may be decreased for a certain time period and then
`resume the advertised quality. The server may keep track of
`such occurrences and report them to the billing center, which
`could charge the user less than the original price. The client
`may also adjust
`the bit rate perceived by the user,
`in
`accordance with user selection. A thumbnail program, for
`example, has value to the user but not if its cost is equal to
`a full-screen, living room viewable program.
`
`[0055] Purchase Timing—Clients may purchase contentat
`different times: Ahead of time—T

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