ContentGuard Holdings, Inc. v. Google, Inc.
Filing
1
COMPLAINT FOR PATENT INFRINGEMENT against Google, Inc. ( Filing fee $ 400 receipt number 0540-4510268.), filed by ContentGuard Holdings, Inc.. (Attachments: # 1 Exhibit A, # 2 Exhibit B, # 3 Exhibit C, # 4 Exhibit D, # 5 Exhibit E, # 6 Exhibit F, # 7 Exhibit G, # 8 Exhibit H, # 9 Exhibit I, # 10 Exhibit J, # 11 Exhibit K, # 12 Civil Cover Sheet)(Baxter, Samuel)
Exhibit C
111111
1111111111111111111111111111111111111111111111111111111111111
US006963859B2
United States Patent
(10)
Stefik et al.
(12)
(45)
(54)
CONTENT RENDERING REPOSITORY
(75)
Inventors: Mark J. Stefik, Portola Valley, CA
(US); Peter L. Pirolli, San Francisco,
CA(US)
(73)
Assignee: ContentGuard Holdings, Inc.,
Wilmington, DE (US)
( *)
Notice:
(21)
(22)
Filed:
3,790,700
3,798,605
4,159,468
4,220,991
Prior Publication Data
US 2003/0225699 A1 Dec. 4, 2003
Related U.S. Application Data
( 63)
(51)
(52)
(58)
Continuation of application No. 09/778,006, filed on Feb. 7,
2001, now Pat. No. 6,714,921, which is a division of
application No. 08/967,084, filed on Nov. 10, 1997, now Pat.
No. 6,236,971, which is a continuation of application No.
08/344,760, filed on Nov. 23, 1994, now abandoned.
Int. Cl? ................................................ G06F 17/60
U.S. Cl. ............................. 705/51; 705/52; 705/53;
705/54; 705!55; 705!56; 705/57; 705/58;
705!59; 705!50; 380/201; 707/9; 707/104.1;
713/182; 713/183; 713/184; 713/185; 713/186
Field of Search ...................... 705!50--59; 380/201,
380/30; 707/9, 104.1; 713/182-186, 156;
235/449; 379/93
References Cited
(56)
U.S. PATENT DOCUMENTS
3,263,158 A
3,609,697 A
7/1966 Bargen et a!.
9/1971 Blevins et a!.
2/1974
3/1974
6/1979
9/1980
Nov. 8, 2005
Callais et a!.
Feistel
Barnes et a!.
Hamano et a!.
FOREIGN PATENT DOCUMENTS
EP
EP
EP
EP
EP
0
0
0
0
0
084
180
332
651
668
441
460
707
554
695
7/1983
5/1986
9/1989
5/1995
8/1995
(Continued)
OTHER PUBLICATIONS
Jan. 16, 2003
(65)
A
A
A
A
US 6,963,859 B2
(Continued)
Appl. No.: 10/345,390
Subject to any disclaimer, the term of this
patent is extended or adjusted under 35
U.S.C. 154(b) by 78 days.
Patent No.:
Date of Patent:
Weber, Robert. Digital Rights Management Technologies.
Oct. 1995. Retrieved from IDS.*
"National Semiconductor and EPR Partner for Information
Metering/Data Security Cards" Mar. 4, 1994, Press Release
from Electronic Publishing Resources, Inc.
(Continued)
Primary Examiner-James A Reagan
(74) Attorney, Agent, or Firm-Marc S. Kaufman; Nixon
Peabody, LLP
(57)
ABSTRACT
A rendering system adapted for use in a system for managing
use of content and operative to rendering content in accordance with usage rights associated with the content. The
system includes a rendering device configured to render the
content and a repository coupled to the rendering device and
operative to enforce usage rights associated with the content
and permit the rendering device to render the content in
accordance with a manner of use specified by the usage
rights.
84 Claims, 13 Drawing Sheets
US 6,963,859 B2
Page 2
U.S. PATENT DOCUMENTS
4,278,837
4,323,921
4,442,486
4,529,870
4,558,176
4,593,376
4,614,861
4,644,493
4,658,093
4,713,753
4,796,220
4,817,140
4,827,508
4,868,376
4,891,838
4,924,378
4,932,054
4,937,863
4,949,187
4,953,209
4,961,142
4,975,647
4,977,594
4,999,806
5,010,571
5,014,234
5,023,907
5,047,928
5,050,213
5,052,040
5,058,164
5,103,476
5,113,519
5,136,643
5,138,712
5,146,499
5,148,481
5,159,182
5,183,404
5,191,193
5,204,897
5,222,134
5,235,642
5,247,575
5,255,106
5,260,999
5,263,157
5,263,158
5,276,444
5,276,735
5,291,596
5,295,266
5,301,231
5,311,591
5,319,705
5,335,346
5,337,357
5,339,091
5,339,392
5,341,429
5,347,579
5,381,526
5,394,469
5,410,598
5,412,717
5,428,606
5,432,849
5,438,508
5,444,779
5,453,601
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
*
*
*
*
*
7/1981
4/1982
4/1984
7/1985
12/1985
6/1986
9/1986
2/1987
4/1987
12/1987
1!1989
3/1989
5/1989
9/1989
1!1990
5/1990
6/1990
6/1990
8/1990
8/1990
10/1990
12/1990
12/1990
3/1991
4/1991
5/1991
6/1991
9/1991
9/1991
9/1991
10/1991
4/1992
5/1992
8/1992
8/1992
9/1992
9/1992
10/1992
2/1993
3/1993
4/1993
6/1993
8/1993
9/1993
10/1993
11/1993
11/1993
11/1993
1!1994
1!1994
3/1994
3/1994
4/1994
5/1994
6/1994
8/1994
8/1994
8/1994
8/1994
8/1994
9/1994
1!1995
2/1995
4/1995
5/1995
6/1995
7/1995
8/1995
8/1995
9/1995
Best
Guillou
Mayer
Chaum
Arnold eta!.
Yolk
Pavlov eta!.
Chandra et a!.
Hellman
Beobert et a!.
Wolfe
Chandra et a!.
Shear
Lessin eta!.
Faber
Hershey et a!.
Chou eta!.
Robert eta!.
Cohen
Ryder, Sr. et a!.
Elliott et a!.
Downer eta!.
Shear
Chernow et a!.
Katznelson
Edwards, Jr.
Johnson et a!.
Wiedemer
Shear
Preston et a!.
Elmer eta!.
Waite eta!.
Johnson et a!.
Fischer
Corbin ....................... 713/200
Geffrotin
Abraham et a!.
Eisele
Aldous eta!.
LeRoux
Wyman
Waite eta!.
Wobber eta!.
Sprague et a!.
Castro
Wyman ....................... 705!59
Janis
Janis
McNair
Boebert et a!.
Mita
Hinsley et a!. ............. 718/101
Abraham et a!.
Fischer
Halter eta!.
Fabbio ....................... 711!163
Chou eta!.
Yamazaki eta!.
Risberg et a!. ............. 345/762
Stringer et a!.
Blandford
Elison
Nagel eta!.
Shear
Fischer
Moskowitz
Johnson et a!.
Wyman
Daniele
Rosen
5,455,953
5,457,746
5,473,687
5,473,692
5,499,298
5,502,766
5,504,814
5,504,818
5,504,837
5,509,070
5,530,235
5,532,920
5,534,975
5,539,735
5,563,946
5,568,552
5,621,797
5,629,980
5,633,932
5,634,012
5,638,443
5,649,013
5,655,077
5,708,717
5,734,823
5,734,891
5,737,413
5,737,416
5,745,569
5,748,783
5,757,907
5,761,686
5,765,152
5,768,426
5,825,892
5,892,900
5,910,987
5,915,019
5,917,912
5,920,861
5,940,504
5,943,422
5,949,876
5,982,891
5,999,949
6,047,067
6,112,181
6,115,471
6,138,119
6,157,721
6,185,683
6,226,618
6,233,684
6,237,786
6,240,185
6,253,193
6,266,618
6,292,569
6,301,660
6,327,652
6,330,670
6,345,256
6,363,488
6,389,402
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
B1
B1
B1
B1
B1
B1
B1
B1
B1
B1
B1
B1
B1
B1
10/1995
10/1995
12/1995
12/1995
3/1996
3/1996
4/1996
4/1996
4/1996
4/1996
6/1996
7/1996
7/1996
7/1996
10/1996
10/1996
4/1997
5/1997
5/1997
5/1997
6/1997
7/1997
8/1997
1!1998
3/1998
3/1998
4/1998
4/1998
4/1998
5/1998
5/1998
6/1998
6/1998
6/1998
10/1998
4/1999
6/1999
6/1999
6/1999
7/1999
8/1999
8/1999
9/1999
11/1999
12/1999
4/2000
8/2000
9/2000
10/2000
12/2000
2/2001
5/2001
5/2001
5/2001
5/2001
6/2001
7/2001
9/2001
10/2001
12/2001
12/2001
2/2002
3/2002
5!2002
Russell
Dolphin
Lipscomb et a!.
Davis
Narasimhalu et a!.
Boebert et a!.
Miyahara
Okano
Griffeth et a!.
Schull
Stefik eta!.
Hartrick et a!.
Stefik eta!.
Moskowitz
Cooper eta!.
Davis
Rosen
Stefik eta!.
Davis eta!.
Stefik eta!.
Stefik eta!.
Stuckey et a!.
Jones eta!.
Alasia
Saigh eta!.
Saigh
Akiyama et a!.
Cooper eta!.
Moskowitz et a!.
Rhoads
Cooper eta!.
Bloomberg
Erickson
Rhoads
Braudaway et a!.
Ginter eta!.
Ginter eta!.
Ginter eta!.
Ginter eta!.
Hallet a!.
Griswold
VanWie eta!.
Ginter eta!.
Ginter eta!.
Crandall
Rosen
Shear eta!.
Oki eta!.
Hallet a!.
Shear eta!.
Ginter eta!.
Downs eta!.
Stefik eta!.
Ginter eta!.
VanWie eta!.
Ginter eta!.
Ye eta!.
Shear eta!.
Benson
England et a!.
England et a!.
Milsted et a!.
Ginter eta!.
Ginter eta!.
FOREIGN PATENT DOCUMENTS
EP
GB
GB
JP
JP
0 725 376
2 136 175
2 236 604
62-241061
64-068835
8/1996
9/1984
4/1991
10/1987
3/1989
US 6,963,859 B2
Page 3
JP
JP
JP
JP
JP
JP
JP
JP
JP
wo
wo
wo
wo
wo
wo
wo
wo
wo
H03-282733
04-369068
05-268415
06-175794
06-215010
07-084852
07-200317
07-244639
0 715 241
wo 92/20022
wo 93/01550
wo 94/01821
wo 96/24092
wo 97/48203
wo 98/11690
wo 98/42098
wo 99/49615
wo 01/63528
* 12/1991
............. G06F/9/06
12/1992
10/1993
6/1994
8/1994
3/1995
8/1995
9/1995
6/1996
11/1992
1!1993
1!1994
8/1996
12/1997
3/1998
9/1998
9/1999
8/2001
01HER PUBLICATIONS
Weber, R., "Digital Rights Management Technology" Oct.
1995.
Flasche, U. et al., "Decentralized Processing of Documents", pp. 119-131, 1986, Comput. & Graphics, vol. 10,
No.2.
Mori, R. et al., "Superdistribution: The Concept and the
Architecture", pp. 1133-1146, 1990. The Transactions of the
IEICE, Vo. E 73, No. 7, Tokyo, JP.
Weber, R., "Metering Technologies for Digital Intellectual
Property", pp. 1-29, Oct. 1994, A Report to the International
Federation of Reproduction Rights Organizations.
Clark, P.C. et al., "Bits: A Smartcard protected Operating
System", pp. 66-70 and 94, Nov. 1994, Communications of
the ACM, vol. 37, No. 11.
Ross, P.E., "Data Guard", pp. 101, Jun. 6, 1994, Forbes.
Saigh, W.K., "Knowledge is Sacred", 1992, Video Pocket/
Page Reader Systems, Ltd.
Kahn, R.E., "Deposit, Registration and Recordation in an
Electronic Copyright Management System", pp. 1-19, Aug.
1992, Corporation for National Research Initiatives, Virginia.
Hilts, P. et al., "Books While U Wait", pp. 48-50, Jan. 3,
1994, Publishers Weekly.
Strattner, A, "Cash Register on a Chip may Revolutionaize
Software Pricing and Distribution; Wave Systems Corp.",
pp. 1-3,Apr. 1994, Computer Shopper, vol. 14, No.4, ISSN
0886-0556.
O'Conner, M., "New Distribution Option for Electronic
Publishers; iOpener Data Encryption and Metering System
for CD-ROM use; Column", pp. 1-6, Mar. 1994, CD-ROM
Professional, vol. 7, No. 2, ISSN: 1409-0833.
Willett, S., "Metered PCs: Is Your System Watching You?
Wave System beta tests new technology", pp. 84, May 2,
1994, InfoWorld.
Linn, R., "Copyright and Information Services in the Context of the National Research and Education Network", pp.
9-20, Jan. 1994, IMAintellectual Property Project Proceedings, vol. 1, Issue 1.
Perrit, Jr., H., "Permission Headers and Contract Law", pp.
27-48, Jan. 1994, IMA Intellectual Property Project Proceedings, vol. 1, Issue 1.
Upthegrove, L., "Intellectual Property Header Descriptors:
A Dynamic Approach", pp. 63-66, Jan. 1994, IMA Intellectual Property Proceedings, vol. 1, Issue 1.
Sirbu, M., "Internet Billing Service Design and prototype
Implementation", pp. 67-80, Jan. 1994, IMA Intellectual
Property Project Proceedings, vol. 1, Issue 1.
Simmell, S. et al., "Metering and Licensing of Resources:
Kala's General Purpose Approach", pp. 81-110, Jan. 1994,
IMA Intellectual Property Project Proceedings, vol. 1, Issue
1.
Kahn, R., "Deposit Registration and Recordation in an
Electronic Copyright Management System", pp. 111-120,
Jan. 1994, IMA Intellectual Property Project Proceedings,
vol. 1, Issue 1.
Tygar, J. et al., "Dyad: A System for Using Physically Secure
Coprocessors", pp. 121-152, Jan. 1994, IMA Intellectual
Property Project Proceedings, vol. 1, Issue 1.
Griswold, G., "A Method for Protecting Copyright on Networks", pp. 169-178, Jan. 1994, IMA Intellectual Property
Project Proceedings, vol. 1 Issue 1.
Nelson, T., "A Publishing and Royalty Model for Networked
Documents", pp. 257-259, Jan. 1994, IMA Intellectual
Property Project Proceedings, vol. 1, Issue 1.
Robinson, E., "Redefining Mobile Computing", pp.
238-240, 247-248 and 252, Jul. 1993, PC Computing.
Abadi, M. et al., "Authentication and Delegation with
Smart-cards", pp. 1-24, 1990, Research Report DEC Systems Research Center.
Mark Stefik, "Letting Loose the Light: Igniting Commerce
in Electronic Publication", pp. 219-253, 1996, Internet
Dreams: Archetypes, Myths, and Metaphors, IDSN
0-262-19373-6.
Mark Stefik, "Letting Loose the Light: Igniting Commerce
in Electronic Publication", pp. 2-35, Feb. 8, 1995, Internet
Dreams: Archetypes, Myths and Metaphors.
Henry H. Perritt, Jr., "Technological Strategies for Protecting Intellectual Property in the Networked Multimedia Environment", Apr. 2-3, 1993, Knowbots, Permissions
Headers & Contract Law.
* cited by examiner
U.S. Patent
Nov. 8, 2005
Sheet 1 of 13
US 6,963,859 B2
Figure 1
101
Creator Creates A
Digital Work
~~
102
Usage Rights Attached To
Oi~ital Work and
Deposited In Repository 1
,,
103
Repository 2 Initiates A
Sess1on With Repository 1
,.
104
Repository 2 Requests
Access To Digital Work for
A Stated Purpose
~·
105
1 Checks Usage
Rights of Digital Work To
Determined if Access May Be
Granted
Reposito~
Access Denied
,,
106
Repostiory 1
Terminates Session
With Error
Access Granted
107
Repository 1 Transmits
Digital Work To
Repository 2
108
Repository 1and 2 Each
Generate Billing
Information and Transmit
To Credit Server
U.S. Patent
Nov. 8, 2005
Sheet 2 of 13
US 6,963,859 B2
Figure 2
•...........•
: Master :
·: Repository :
•
Repository
Transactions
••
I
2\..
••••••••••••••••
.
•
• • •
Repository
Transactions
205
• • 1 I
. .
•
•
:
::4-!..--...'~. ............ •. .• ....
.. 202 . • •
•.•
• •
•
. .
.•.•.. .......
• .....
_.·~.....H
:Authorization ..__..·_
:
: Repository • •
204
Repository
201
••••••••••••
•
•
1-~-~-+:: Rendering :
. : Repository ::
•
.._.._....,..--...e:. 203 .
....•
••
•
••••••••••••
Agure 3
.••• ••
.
•
•
Repository
201
.....
.....
•
. .
•
•
•
Billin11
/
...
.
•
I
•
•
Transactions
302
......
Credit
Server
301
4~
.••/
..
... .. ... .•
.... Billing• .. ••:
•• ••
:
•
' •••••
,~
•
: Clearinghouse:
:
303
:
••••••••••••••••
Clearinghouse
Protocol
304
U.S. Patent
Nov. 8, 2005
US 6,963,859 B2
Sheet 3 of 13
Printer System
401
Figure 4a
r---------------------~
I
I
I
Printer
Repository
...
...
402
I
I
I
I
I
Print Device
403
I
I
--- ·------------4 ~
L--
Repository
404
Figure 4b
Multi-Function System
410
I
r------------------------------~
I
Credit
Server
414
...
-""
...
...
Display/
Execution
Repository
411
A~
L-
r+
-
Display
Engine
412
I
I
...
I
Execution
Engine
413
-----------·, ,------------Repository
415
I
I
I
I
I
I
I
I
I
____ .J
U.S. Patent
Nov. 8, 2005
40.000
20,000
0
US 6,963,859 B2
Sheet 4 of 13
80,000
60,000
so.ooo
30.000
70,000
I
10.000
I
I
Story A
510
Ad
511
90,000
StoryC
513
Story&
512
Figure 5
0
10.000
30.000
1.500
Text
614
25,000
Photo
Graphics
615
616
Figure 6
Sidebar
617
U.S. Patent
US 6,963,859 B2
Sheet 5 of 13
Nov. 8, 2005
Identifier 701
Figure 7
Starting Address 702
Descriptor
Block
(d-block)
700
length 703
Rights Portion 704
Parent Pointer 705
.
•
.
.
•
.
•
I
Child Pointer 706
Child Pointer 706
Top
d-block
Figure 8
d-block
821
(Story A)
Figure 9
I
820
d-block
822
(Ad)
d-block.
823
(Story B)
d-block
824
(Story C)
d-block
821
(Story A)
d-block
d-block
d-block
925
927
(Graphics)
(Sidebar)
(Text)
928
U.S. Patent
Nov. 8, 2005
Sheet 6 of 13
Figure 10
Right
COde
1050
Status
Information
1052
Figure 14
Right
1450
Transactional
Component
1451
Specification
Component
1452
Fees/Incentives
1454
US 6,963,859 B2
U.S. Patent
Nov. 8, 2005
Sheet 7 of 13
US 6,963,859 B2
Identifier (Magazine)
Starting Address (0)
Figure 11
Length (100,000)
root
d-block
1101
Rights Portion
(PRINT,VIEW)
Parent Pointer
Child Pointers
Identifier (Article 2)
"Starting Address
(25,001)
Starting Address (0)
Length (25,000)
Length (25,000)
Rights Portion
(PRINT,VIEW)
Parent Pointer
Rights Portion
(PRINT,VIEW)
Parent Pointer
Child Pointers
Child Pointers
d-block
1102
Identifier (Article 3) ·
Starting Address
(50,001)
Starting Address
(75,001)
Length (25,000)
Length (25,000)
Rights Portion
(VIEW)
Rights Portion
(PRINT (Fee))
Parent Potnter
Parent Pointer
Child Pointers
Child Pointers
d-b lock
1103
d-b lock
1104
U.S. Patent
US 6,963,859 B2
Sheet 8 of 13
Nov. 8, 2005
Figure 12
Processing
Means
................................L ..
.
Clock
1205
•
--+:
.
.
...
Processing ,
Element
Processor
Memory
...
.
.
.
.
.
.
""'-
·······r···r·········· ····
1202
1201
P'
: •••••••.••••••••.•••••..••••••••••• : /
.
:
:
:
Descriptor
Storage
co·ntent
Storage
.
1204
. 1203
.
.
....•· .................................•
Figure 13
User
Interface
1305
Repository Spedic
SoftWare
Function/Services
1304
Usage Transaction
Handlers
1303
Core Repository
Serv1ces/
Transaction
Handling
1302
Operating
System
1301
Identification
Certificates
1306
1200
.
External
Interface
1206
~~~~
1207
U.S. Patent
Nov. 8, 2005
Sheet 9 of 13
US 6,963,859 B2
1501 -Digital Work Rights:= (Rights*)
1502-- Right : = (Right-Code {Copy-Count} {Control-Spec} {Time-Spec}
{Access-Spec} {Fee-Spec})
1503 .._Right-Code:= Render-Code I Transport-Code I File-ManagementCode( Derivative-Works- Code I Configuration-Code
1504-Render-Code : = [Play: {Player: Player-ID} IPrint: {Printer: Printer-ID}]
1505 -Tran&port-Code: = [Copy ITransfer I Loan {Remaining-Rights:
Next-Set-of-Rights}]{(Next-Copy-Rights: Next-Set-of-Rights)}
1506 ._File-Management-Code : = Backup {Back-Up-Copy-Rights:
Next-Set-of-Rights} I Restore IDelete I Folder
I Directory {Name: Hide-Local\ Hide-Remote}
{Parts: Hide-Local I Hide-Remote}
1507--Derivative-Works-Code:= [Extract I Embed I Edit{Process:
Process-ID}] {Next-Copy-Rights:
Next-Set-of Rights}
1508-...Confiruration-Code: = Install! Unin.stall
1509-...Next-Set-of-Rights :={(Add: Set-Of-Rights)}{(Delete:
Set-Of-Rights)} {(Replace: Set-Of-Rights )}{(Keep: Set-Of-Rights)}
1510..._.Copy-Count := (Copies:positive-integer I 0 I Unlimited)
1511-Control-Spec: = (Control: {Restrictable I Unrestrictable}
{Unchargeable I Chargeable})
'1512-Time-Spec:= ({Fixed-Interval (Sliding-Interval! Meter-Time}
Until: Expiration-Date)
1513 .._Fixed-Interval:= From: Start-Time
1514-Sliding-Interval :=Interval: Use-Duration
1515-Me&er-Time: =Time-Remaining: Remaining-Use
1516 ....__Access-Spec : = ({SC: Security-Class} {Authorization: Authorization-ID*}
{Other-Authorization: Authorization-In*} {Ticket: Tick.et-ID})
1511-- Fee-Spec:= {Scheduled-Discount} Regular-F~pec IScheduled-Fee-Spec I
Markup-Spec
1518--Scheduled-Discount: = Scheduled-Discount: (Scheduled-Discount:
(Time-Spec Percentage)*)
1519--.R.egular-Fee-Spec := ({Fee: I Incentive:} [Per-Use-Spec I Metered-RateSpec I Best-Price-Spec I Call-For-Price-Spec]
{Min: Money-Unit Per: Time-Spec}{Max:
Money-Unit Per: Time-Spec} To: Account-!D)
1520-Per-Use-Spec: Per-Use: Money-unit
1521- Metered-Rate-Spec : = Metered: Money-Unit Per: Time-Spec
1522- Best-Price-Spec : Best-Price: Money-unit Max: Money-unit
=
=
1523--Call-For-Price-Spec :=Call-For -Price
1524- Scheduled-Fee-Spec:= (Schedule: (Time-Sp c Regular-Fee-Spec) )
1525-- Markup-Spec:= Markup: perc ntage To: Account-ID
Fig.15
U.S. Patent
Sheet 10 of 13
Nov. 8, 2005
REPOSITORY-1
US 6,963,859 B2
REPOSITORY·2
1601
Generate R~istration
ldenti ier
1602
1605
1603
Transmit Registration
Message
1606
1611
Decrypt Performance
Message
1607
Extract Repository-1
Identifier
Transmit Performance
Message
Transmit Nonce
Yes
1616
Repository-1
Terminate Transaction
Rep sitory- 2
Terminate Transaction
Fig.16
U.S. Patent
Sheet 11 of 13
Nov. 8, 2005
US 6,963,859 B2
REPOSITORY-1
REPOSITORY-2
Encrypt Second Key Using
Generate Timestamp
Pubhc Key of Repository-2
Exchange Message
1703
1706
Transmit Encrypted Second
Key To Repository-2
Transmit Timestamp
Exchange Message
To Repository,;.1
Generate Timestamp
Message
1708
Transmit Timestamp
Message To Repository-2
Compare Current Time With
. Time From Repository-1
Compute Adjusted
Time Delta
Fig.17
U.S. Patent
Nov. 8, 2005
US 6,963,859 B2
Sheet 12 of 13
Figure 18
SERVER
REQUESTER
t803
Server Generates Transaction
Identifier
Deuement Copy
Count For Right
1813
Determine Set
Of Remaining
Rights
1805
1817
Decrement Copies In Use For
Right By Number In Request
1818
For Metered Use, Subtract
Elapsed nme From Remaining
Use Time For Right
1819
Initiate End-Charge Financial
Transaction to Confirm Billing
U.S. Patent
US 6,963,859 B2
Sheet 13 of 13
Nov. 8, 2005
Figure 19
SERVER
(C.nceCJ
Fail
1912
Wait For Ad:
1908
New
Send
Transaction .,___ _~ Next Data
1902
19CMi
I
Commit Repart To
Credit Server
1914
I
'II
'
'II
'
I
t
''
\
~
Date
''
\
1907
Start\
1903 \I
\
\
\I
''
''t
I
Act
''
''
'~
'\
.
•..•........ ,' .•••••...•••.••••••.•.•
'
CUENT
I
I
'
'II
I
I
''
~.
W1itFor
Datil
1905
I
I
I
..•..•...•.....•
I
I
'
I
Walt for
Transaction
1904
i·············~········
I
I
Line
1.901
I
I
I
I
Act
I
I
'•
•
I
t
O.bl
Received
No More
om
Commit Report To
Credit Server
1-
19115
1909
More
O.ta
Acknowledge
1910
(C..C•OV
Fall
1913
Report Error
To Credit Server
1918
I
I
Done
1919
~
US 6,963,859 B2
1
2
provided on a medium along with the entire product. The
demos can be freely used, but in order to use the actual
product, the key must be purchased. These scheme do not
Continuation of prior application Ser. No.: 09/778,006
hinder copying of the software once the key is initially
filed Feb. 7, 2001, now U.S. Pat. No. 6,714,921; which is a
Division of U.S. Ser. No.: 08/967,084 filed Nov. 10, 1997, 5 purchased.
now U.S. Pat. No. 6,236,971 and which is a Continuation of
A system for ensuring that licenses are in place for using
U.S. Ser. No.: 08/344,760 filed Nov. 23, 1994, now abanlicensed products is described in PCT Publication WO
doned.
93/01550 to Griswold entitled "License Management System and Method." The licensed product may be any elecFIELD OF THE INVENTION
10 tronically published work but is most effective for use with
works that are used for extended periods of time such as
The present invention relates to the field of distribution
software programs. Griswold requires that the licensed prodand usage rights enforcement for digitally encoded works.
uct contain software to invoke a license check monitor at
BACKGROUND OF THE INVENTION
predetermined time intervals. The license check monitor
A fundamental issue facing the publishing and informa- 15 generates request datagrams which identify the licensee. The
request datagrams are sent to a license control system over
tion industries as they consider electronic publishing is how
an appropriate communication facility. The license control
to prevent the unauthorized and unaccounted distribution or
system then checks the datagram to determine if the datausage of electronically published materials. Electronically
gram is from a valid licensee. The license control system
published materials are typically distributed in a digital form
and recreated on a computer based system having the 20 then sends a reply datagram to the license check monitor
indicating denial or approval of usage. The license control
capability to recreate the materials. Audio and video
system will deny usage in the event that request datagrams
recordings, software, books and multimedia works are all
go unanswered after a predetermined period of time (which
being electronically published. Companies in these indusmay indicate an unauthorized attempt to use the licensed
tries receive royalties for each accounted for delivery of the
materials, e.g. the sale of an audio CD at a retail outlet. Any 25 product). In this system, usage is managed at a central
location by the response datagrams. So for example if
unaccounted distribution of a work results in an unpaid
license fees have not been paid, access to the licensed
royalty (e.g. copying the audio recording CD to another
product is terminated.
digital medium.)
It is argued by Griswold that the described system is
The ease in which electronically published works can be 30
advantageous because it can be implemented entirely in
"perfectly" reproduced and distributed is a major concern.
software. However, the system described by Griswold has
The transmission of digital works over networks is comlimitations. An important limitation is that during the use of
monplace. One such widely used network is the Internet.
the licensed product, the user must always be coupled to an
The Internet is a widespread network facility by which
computer users in many universities, corporations and gov- 35 appropriate communication facility in order to send and
receive datagrams. This creates a dependency on the comernment entities communicate and trade ideas and informamunication facility. So if the communication facility is not
tion. Computer bulletin boards found on the Internet and
available, the licensed product cannot be used. Moreover,
commercial networks such as CompuServ and Prodigy
some party must absorb the cost of communicating with the
allow for the posting and retrieving of digital information.
Information services such as Dialog and LEXIS/NEXIS 40 license server.
A system for controlling the distribution of digitally
provide databases of current, information on a wide variety
encoded books is embodied in a system available from VPR
of topics. Another factor which will exacerbate the situation
Systems, LTD. of St. Louis, Mo. The VPR system is
is the development and expansion of the National Informaself-contained and is comprised of: (1) point of sale kiosks
tion Infrastructure (the Nil). It is anticipated that, as the Nil
grows, the transmission of digital works over networks will 45 for storing and downloading of books, (2) personal storage
mediums (cartridges) to which the books are downloaded,
increase many times over. It would be desirable to utilize the
and (3) readers for viewing the book. In a purchase
Nil for distribution of digital works without the fear of
transaction, a purchaser will purchase a voucher card repwidespread unauthorized copying.
resenting the desired book. The voucher will contain suffiThe most straightforward way to curb unaccounted distribution is to prevent unauthorized copying and transmis- 50 cient information to identify the book purchased and perhaps
some demographic information relating to the sales transsian. For existing materials that are distributed in digital
action. To download the book, the voucher and the cartridge
form, various safeguards are used. In the case of software,
are inserted into the kiosk.
copy protection schemes which limit the number of copies
The VPR system may also be used as a library. In such an
that can be made or which corrupt the output when copying
is detected have been employed. Another scheme causes 55 embodiment, the kiosk manages the number of "copies" that
may be checked out at one time. Further, the copy of the
software to become disabled after a predetermined period of
book is erased from the users cartridge after a certain
time has lapsed. A technique used for workstation based
check-out time has expired. However, individuals cannot
software is to require that a special hardware device must be
loan books because the cartridges may only be used with the
present on the workstation in order for the software to run,
e.g., see U.S. Pat. No. 4,932,054 entitled "Method and 60 owners reader.
Apparatus for Protecting Computer Software Utilizing
The foregoing distribution and protection schemes operCoded Filter Network in Conjunction with an Active Coded
ate in part by preventing subsequent distribution of the work.
Hardware Device." Such devices are provided with the
While this certainly prevents unauthorized distributions, it
software and are commonly referred to as dongles.
does so by sacrificing the potential for subsequent revenue
Yet another scheme is to distribute software, but which 65 bearing uses. For example, it may be desirable to allow the
requires a "key" to enable it's use. This is employed in
lending of a purchased work to permit exposure of the work
distribution schemes where "demos" of the software are
to potential buyers. Another example would be to permit the
CONTENT RENDERING REPOSITORY
US 6,963,859 B2
3
4
creation of a derivative work for a fee. Yet another example
FIG. 2 is a block diagram illustrating the various reposiwould be to permit copying the work for a fee (essentially
tory types and the repository transaction flow between them
purchasing it). Thus, it would be desirable to provide flexin the currently preferred embodiment of the present invenibility in how the owner of a digital work may allow it to be
tion.
distributed.
5
FIG. 3 is a block diagram of a repository coupled with a
While flexibility in distribution is a concern, the owners
credit server in the currently preferred embodiment of the
of a work want to make sure they are paid for such
present invention.
distributions. In U.S. Pat. No. 4,977,594 to Shear, entitled
"Database Usage Metering and Protection System and
FIGS. 4a and 4b are examples of rendering systems as
Method," a system for metering and billing for usage of 10 may be utilized in the currently preferred embodiment of the
information distributed on a CD-ROM is described. The
present invention.
system requires the addition of a billing module to the
FIG. 5 illustrates a contents file layout for a digital work
computer system. The billing module may operate in a
as may be utilized in the currently preferred embodiment of
number of different ways. First, it may periodically comthe present invention.
municate billing data to a central billing facility, whereupon
the user may be billed. Second, billing may occur by 15
FIG. 6 illustrates a contents file layout for an individual
disconnecting the billing module and the user sending it to
digital work of the digital work of FIG. 5 as may be utilized
a central billing facility where the data is read and a user bill
in the currently preferred embodiment of the present invengenerated.
tion.
U.S. Pat. No. 5,247,575, Sprague et al., entitled "Information Distribution System", describes an information dis- 20
FIG. 7 illustrates the components of a description block of
tribution system which provides and charges only for user
the currently preferred embodiment of the present invention.
selected information. A plurality of encrypted information
FIG. 8 illustrates a description tree for the contents file
packages (IPs) are provided at the user site, via high and/or
layout of the digital work illustrated in FIG. 5.
low density storage media and/or by broadcast transmission.
Some of the IPs may be of no interest to the user. The IPs 25
FIG. 9 illustrates a portion of a description tree correof interest are selected by the user and are decrypted and
sponding to the individual digital work illustrated in FIG. 6.
stored locally. The IPs may be printed, displayed or even
FIG. 10 illustrates a layout for the rights portion of a
copied to other storage medias. The charges for the selected
description block as may be utilized in the currently preIP's are accumulated within a user apparatus and periodically reported by telephone to a central accounting facility. 30 ferred embodiment of the present invention.
The central accounting facility also issues keys to decrypt
FIG. 11 is a description tree wherein certain d-blocks have
the IPs. The keys are changed periodically. If the central
PRINT usage rights and is used to illustrate "strict" and
accounting facility has not issued a new key for a particular
"lenient" rules for resolving usage rights conflicts.
user station, the station is unable to retrieve information
from the system when the key is changed.
FIG. 12 is a block diagram of the hardware components
35
A system available from Wave Systems Corp. of
of a repository as are utilized in the currently preferred
Princeton, N.Y., provides for metering of software usage on
embodiment of the present invention.
a personal computer. The system is installed onto a computer
FIG. 13 is a block diagram of the functional (logical)
and collects information on what software is in use, encrypts
components of a repository as are utilized in the currently
it and then transmits the information to a transaction center.
From the transaction center, a bill is generated and sent to 40 preferred embodiment of the present invention.
the user. The transaction center also maintains customer
FIG. 14 is diagram illustrating the basic components of a
accounts so that licensing fees may be forwarded directly to
usage right in the currently preferred embodiment of the
the software providers. Software operating under this system
present invention.
must be modified so that usage can be accounted.
FIG. 15 lists the usage rights grammar of the currently
Known techniques for billing do not provide for billing of 45
preferred embodiment of the present invention.
copies made of the work. For example, if data is copied from
the CD-ROM described in Shear, any subsequent use of the
FIG. 16 is a flowchart illustrating the steps of certificate
copy of the information cannot be metered or billed. In other
delivery, hotlist checking and performance testing as perwords, the means for billing runs with the media rather than
the underlying work. It would be desirable to have a 50 formed in a registration transaction as may be performed in
the currently preferred embodiment of the present invention.
distribution system where the means for billing is always
transported with the work.
FIG. 17 is a flowchart illustrating the steps of session
information exchange and clock synchronization as may be
SUMMARY OF THE INVENTION
performed in the currently preferred embodiment of the
An aspect of the invention is a rendering system adapted
55 present invention, after each repository in the registration
for use in a system for managing use of content and
transaction has successfully completed the steps described in
operative to rendering content in accordance with usage
FIG. 16.
rights associated with the content. The system includes a
rendering device configured to render the content and a
FIG. 18 is a flowchart illustrating the basic flow for a
repository coupled to the rendering device and operative to
usage transaction, including the common opening and closenforce usage rights associated with the content and permit 60 ing step, as may be performed in the currently preferred
the rendering device to render the content in accordance
embodiment of the present invention.
with a manner of use specified by the usage rights.
FIG. 19 is a state diagram of server and client repositories
BRIEF DESCRIPTION OF THE DRAWINGS
in accordance with a transport protocol followed when
FIG. 1 is a flowchart illustrating a simple instantiation of 65 moving a digital work from the server to the client
the operation of the currently preferred embodiment of the
repositories, as may be performed in the currently preferred
present invention.
embodiment of the present invention.
US 6,963,859 B2
5
DETAILED DESCRIPTION OF 1HE
PREFERRED EMBODIMENT
6
software) that may be required for recreating the work. The
term composite work refers to a digital work comprised of
a collection of other digital works. The term "usage rights"
or "rights" is a term which refers to rights granted to a
TABLE OF CONTENTS
5 recipient of a digital work. Generally, these rights define
OVERVIEW
how a digital work can be used and if it can be further
RENDERING SYSTEMS
distributed. Each usage right may have one or more specified
ATTACHING USAGE RIGHTS TO A DIGITAL WORK
conditions which must be satisfied before the right may be
exercised. Appendix 1 provides a Glossary of the terms used
Resolving Conflicting Rights
10 herein.
REPOSITORIES
A key feature of the present invention is that usage rights
Repository Security Classes
are permanently "attached" to the digital work. Copies made
Repository User Interface
of a digital work will also have usage rights attached. Thus,
CREDIT SERVICES
the usage rights and any associated fees assigned by a
USAGE RIGHTS LANGUAGE
15 creator and subsequent distributor will always remain with
Copy Count Specification
a digital work.
Control Specification
The enforcement elements of the present invention are
embodied in repositories. Among other things, repositories
Time Specification
are used to store digital works, control access to digital
Security Class and Authorization Specification
20 works, bill for access to digital works and maintain the
Usage Fees and Incentives Specification
security and integrity of the system.
Examples of Sets of Usage Rights
The combination of attached usage rights and repositories
REPOSITORY TRANSACTIONS
enable distinct advantages over prior systems. As noted in
Message Transmission
the prior art, payment of fees are primarily for the initial
Session Initiation Transactions
25 access. In such approaches, once a work has been read,
Billing Transactions
computational control over that copy is gone.
Transmission Protocol
Metaphorically, "the content genie is out of the bottle and no
more fees can be billed." In contrast, the present invention
The Copy Transaction
never separates the fee descriptions from the work. Thus, the
The Transfer Transaction
30 digital work genie only moves from one trusted bottle
The Loan Transaction
(repository) to another, and all uses of copies are potentially
The Play Transaction
The Print Transaction
controlled and billable.
The Backup Transaction
FIG. 1 is a high level flowchart omitting various details
but which demonstrates the basic operation of the present
The Restore Transaction
The Delete Transaction
35 invention. Referring to FIG. 1, a creator creates a digital
The Directory Transaction
work, step 101. The creator will then determine appropriate
The Folder Transaction
usage rights and fees, attach them to the digital work, and
The Extract Transaction
store them in Repository 1, step 102. The determination of
The Embed Transaction
appropriate usage rights and fees will depend on various
The Edit Transaction
40 economic factors. The digital work remains securely in
The Authorization Transaction
Repository 1 until a request for access is received. The
request for access begins with a session initiation by another
The Install Transaction
repository. Here a Repository 2 initiates a session with
The Uninstall Transaction
DISTRIBUTION AND USE SCENARIOS
Repository 1, step 103. As will be described in greater detail
APPENDIX A GLOSSARY
45 below, this session initiation includes steps which helps to
Overview
insure that the respective repositories are trustworthy.
A system for controlling use and distribution of digital
Assuming that a session can be established, Repository 2
may then request access to the Digital Work for a stated
works is disclosed. The present invention is directed to
purpose, step 104. The purpose may be, for example, to print
supporting commercial transactions involving digital works.
The transition to digital works profoundly and fundamen- 50 the digital work or to obtain a copy of the digital work. The
purpose will correspond to a specific usage right. In any
tally changes how creativity and commerce can work. It
changes the cost of transporting or storing works because
event, Repository 1 checks the usage rights associated with
digital property is almost "massless." Digital property can
the digital work to determine if the access to the digital work
be transported at electronic speeds and requires almost no
may be granted, step 105. The check of the usage rights
warehousing. Keeping an unlimited supply of virtual copies 55 essentially involves a determination of whether a right
on hand requires essentially no more space than keeping one
associated with the access request has been attached to the
copy on hand. The digital medium also lowers the costs of
digital work and if all conditions associated with the right
alteration, reuse and billing.
are satisfied. If the access is denied, repository 1 terminates
There is a market for digital works because creators are
the session with an error message, step 106. If access is
strongly motivated to reuse portions of digital works from 60 granted, repository 1 transmits the digital work to repository
2, step 107. Once the digital work has been transmitted to
others rather than creating their own completely. This is
repository 2, repository 1 and 2 each generate billing inforbecause it is usually so much easier to use an existing stock
mation for the access which is transmitted to a credit server,
photo or music clip than to create a new one from scratch.
Herein the terms "digital work", "work" and "content"
step 108. Such double billing reporting is done to insure
refer to any work that has been reduced to a digital repre- 65 against attempts to circumvent the billing process.
sentation. This would include any audio, video, text, or
FIG. 2 illustrates the basic interactions between repository
types in the present invention. As will become apparent from
multimedia work and any accompanying interpreter (e.g.
US 6,963,859 B2
7
8
FIG. 2, the various repository types will serve different
some instances contain an ephemeral copy of a digital work
functions. It is fundamental that repositories will share a
which remains until it is printed out by the print engine 403.
core set of functionality which will enable secure and trusted
In other instances, the printer repository 402 may contain
communications. Referring to FIG. 2, a repository 201
digital works such as fonts, which will remain and can be
represents the general instance of a repository. The reposi- 5 billed based on use. This design assures that all communitory 201 has two modes of operation; a server mode and a
cation lines between printers and printing devices are
encrypted, unless they are within a physically secure boundrequester mode. When in the server mode, the repository
ary. This design feature eliminates a potential "fault" point
will be receiving and processing access requests to digital
works. When in the requester mode, the repository will be
through which the digital work could be improperly
initiating requests to access digital works. Repository 201 is 10 obtained. The printer device 403 represents the printer
general in the sense that it's primary purpose is as an
components used to create the printed output.
exchange medium for digital works. During the course of
Also illustrated in FIG. 4a is the repository 404. The
operation, the repository 201 may communicate with a
repository 404 is coupled to the printer repository 402. The
plurality of other repositories, namely authorization reposirepository 404 represents an external repository which contory 202, rendering repository 203 and master repository 15 tains digital works.
FIG. 4b is an example of a computer system as a rendering
204. Communication between repositories occurs utilizing a
repository transaction protocol 205.
system. A computer system may constitute a "multiCommunication with an authorization repository 202 may
function" device since it may execute digital works (e.g.
occur when a digital work being accessed has a condition
software programs) and display digital works (e.g. a digirequiring an authorization. Conceptually, an authorization is 20 tized photograph). Logically, each rendering device can be
a digital certificate such that possession of the certificate is
viewed as having it's own repository, although only one
required to gain access to the digital work. An authorization
physical repository is needed. Referring to FIG. 4b, a
is itself a digital work that can be moved between reposicomputer system 410 has contained therein a display/
tories and subjected to fees and usage rights conditions. An
execution repository 411. The display/execution repository
authorization may be required by both repositories involved 25 411 is coupled to display device, 412 and execution device
in an access to a digital work.
413. The dashed box surrounding the computer system 410
Communication with a rendering repository 203 occurs in
represents a security boundary within which communicaconnection with the rendering of a digital work. As will be
tions are assumed to be secure. The display/execution
described in greater detail below, a rendering repository is
repository 411 is further coupled to a credit server 414 to
coupled with a rendering device (e.g. a printer device) to 30 report any fees to be billed for access to a digital work and
a repository 415 for accessing digital works stored therein.
comprise a rendering system.
Structure of Digital Works
Communication with a master repository 205 occurs in
connection with obtaining an identification certificate. IdenUsage rights are attached directly to digital works. Thus,
tification certificates are the means by which a repository is
it is important to understand the structure of a digital work.
identified as "trustworthy". The use of identification certifi- 35 The structure of a digital work, in particular composite
digital works, may be naturally organized into an acyclic
cates is described below with respect to the registration
structure such as a hierarchy. For example, a magazine has
transaction.
various articles and photographs which may have been
FIG. 3 illustrates the repository 201 coupled to a credit
server 301. The credit server 301 is a device which accucreated and are owned by different persons. Each of the
mulates billing information for the repository 201. The 40 articles and photographs may represent a node in a hierarcredit server 301 communicates with repository 201 via
chical structure. Consequently, controls, i.e. usage rights,
billing transactions 302 to record billing transactions. Billmay be placed on each node by the creator. By enabling
ing transactions are reported to a billing clearinghouse 303
control and fee billing to be associated with each node, a
by the credit server 301 on a periodic basis. The credit server
creator of a work can be assured that the rights and fees are
301 communicates to the billing clearinghouse 303 via 45 not circumvented.
clearinghouse transactions 304. The clearinghouse transacIn the currently preferred embodiment, the file information for a digital work is divided into two files: a "contents"
tions 304 enable a secure and encrypted transmission of
information to the billing clearinghouse 303.
file and a "description tree" file. From the perspective of a
repository, the "contents" file is a stream of addressable
Rendering Systems
A rendering system is generally defined as a system 50 bytes whose format depends completely on the interpreter
comprising a repository and a rendering device which can
used to play, display or print the digital work. The descriprender a digital work into its desired form. Examples of a
tion tree file makes it possible to examine the rights and fees
for a work without reference to the content of the digital
rendering system may be a computer system, a digital audio
system, or a printer. A rendering system has the same
work. It should be noted that the term description tree as
security features as a repository. The coupling of a rendering 55 used herein refers to any type of acyclic structure used to
repository with the rendering device may occur in a manner
represent the relationship between the various components
suitable for the type of rendering device.
of a digital work.
FIG. 4a illustrates a printer as an example of a rendering
FIG. 5 illustrates the layout of a contents file. Referring to
system. Referring to FIG. 4, printer system 401 has conFIG. 5, a digital work 509 is comprised of story A 510,
tained therein a printer repository 402 and a print device 60 advertisement 511, story B 512 and story C 513. It is
assumed that the digital work is stored starting at a relative
403. It should be noted that the the dashed line defining
address of 0. Each of the parts of the digital work are stored
printer system 401 defines a secure system boundary. Communications within the boundary is assumed to be secure.
linearly so that story A 510 is stored at approximately
addresses 0-30,000, advertisement 511 at addresses
Depending on the security level, the boundary also represents a barrier intended to provide physical integrity. The 65 30,001-40,000, story B 512 at addresses 40,001-60,000 and
printer repository 402 is an instantiation of the rendering
story C 513 at addresses 60,001-SSK. The detail of story A
repository 205 of FIG. 2. The printer repository 402 will in
510 is illustrated in FIG. 6. Referring to FIG. 6, the story A
US 6,963,859 B2
9
10
510 is further broken down to show text 614 stored at
address 0-1500, soldier photo 615 at addresses 1501-10,
TABLE 1
000, graphics 616 stored at addresses 10,001-25,000 and
DIGITAL WORK STATE INFORMATION
sidebar 617 stored address 25,001-30,000. Note that the
data in the contents file may be compressed (for saving 5 Property
Value
Use
storage) or encrypted (for security).
Copies -inNumber
A counter of the number of copies of a
From FIGS. 5 and 6 it is readily observed that a digital
Use
work that are in use. Incremented when
work can be represented by its component parts as a hieranother copy is used; decremented when
archy. The description tree for a digital work is comprised of
use is completed.
Indicator of the maximum number of
a set of related descriptor blocks ( d-blocks). The contents of 10 Loan-Period Time-Units
time-units that a document can be
each d-block is described with respect to FIG. 7. Referring
loaned out
to FIG. 7, ad-block 700 includes an identifier 701 which is
Indicator that the current work is a
Loaner-Copy Boolean
a unique identifier for the work in the repository, a starting
loaned out copy of an authorized digital
work.
address 702 providing the start address of the first byte of the
Indicator of the remaining time of use
work, a length 703 giving the number of bytes in the work, 15 Remaining- Time-Units
Time
on a metered document right.
a rights portion 704 wherein the granted usage rights and
DocumentString
A string containing various identifying
their status data are maintained, a parent pointer 705 for
information about a document. The
Descr
exact format of this is not specified, but
pointing to a parent d-block and child pointers 706 for
it can include information such as a
pointing to the child d-blocks In the currently preferred
publisher name, author name, ISBN
embodiment, the identifier 701 has two parts. The first part 20
number, and so on.
is a unique number assigned to the repository upon manuRevenueRO-Descr
A handle identifying a revenue owner
for a digital work. This is used for
Owner
facture. The second part is a unique number assigned to the
reporting usage fees.
work upon creation. The rights portion 704 will contain a
Publication- Date-Descr
The date that the digital work was
data structure, such as a look-up table, wherein the various
Date
published.
information associated with a right is maintained. The 25 History-list History-Rec
A list of events recording the repostories
and dates for operations that copy,
information required by the respective usage rights is
transfer, backup, or restore a digital
described in more detail below. D-blocks form a strict
work.
hierarchy. The top d-block of a work has no parent; all other
d-blocks have one parent. The relationship of usage rights
between parent and child d-blocks and how conflicts are 30 viable alternatives but may introduce processing overhead,
resolved is described below.
e.g. the interpretation of the objects.
A special type of d-block is a "shell" d-block. A shell
Digital works are stored in a repository as part of a
d-block adds no new content beyond the content of its parts.
hierarchical file system. Folders (also termed directories and
A shell d-block is used to add rights and fee information,
sub-directories) contain the digital works as well as other
35 folders. Digital works and folders in a folder are ordered in
typically by distributors of digital works.
FIG. 8 illustrates a description tree for the digital work of
alphabetical order. The digital works are typed to reflect how
the files are used. Usage rights can be attached to folders so
FIG. 5. Referring to FIG. 8, a top d-block 820 for the digital
that the folder itself is treated as a digital work. Access to the
work points to the various stories and advertisements confolder would then be handled in the same fashion as any
tained therein. Here, the top d-block 820 points to d-block
821 (representing story A 510), d-block 822 (representing 40 other digital work As will be described in more detail below,
the advertisement 511), d-block 823 (representing story B
the contents of the folder are subject to their own rights.
512) and and d-block 824 (representing story C 513).
Moreover, file management rights may be attached to the
folder which define how folder contents can be managed.
The portion of the description tree for Story A 510 is
illustrated in FIG. 9. D-block 925 represents text 614,
Attaching Usage Rights to a Digital Work
d-block 926 represents photo 615, d-block 927 represents 45
It is fundamental to the present invention that the usage
graphics 616 by and d-block 928 represents sidebar 617.
rights are treated as part of the digital work. As the digital
The rights portion 704 of a descriptor block is further
work is distributed, the scope of the granted usage rights will
illustrated in FIG. 10. FIG. 10 illustrates a structure which
remain the same or may be narrowed. For example, when a
is repeated in the rights portion 704 for each right. Referring
digital work is transferred from a document server to a
to FIG. 10, each right will have a right code field 1001 and 50 repository, the usage rights may include the right to loan a
status information field 1002. The right code field 1001 will
copy for a predetermined period of time (called the original
contain a unique code assigned to a right. The status
rights). When the repository loans out a copy of the digital
information field 1002 will contain information relating to
work, the usage rights in the loaner copy (called the next set
the state of a right and the digital work. Such information is
of rights) could be set to prohibit any further rights to loan
indicated below in Table 1. The rights as stored in the rights 55 out the copy. The basic idea is that one cannot grant more
portion 304 may typically be in numerical order based on the
rights than they have.
The attachment of usage rights into a digital work may
right code.
The approach for representing digital works by separating
occur in a variety of ways. If the usage rights will be the
description data from content assumes that parts of a file are
same for an entire digital work, they could be attached when
contiguous but takes no position on the actual representation 60 the digital work is processed for deposit in the digital work
of content. In particular, it is neutral to the question of
server. In the case of a digital work having different usage
whether content representation may take an object oriented
rights for the various components, this can be done as the
approach. It would be natural to represent content as objects.
digital work is being created. An authoring tool or digital
In principle, it may be convenient to have content objects
work assembling tool could be utilized which provides for
that include the billing structure and rights information that 65 an automated process of attaching the usage rights.
is represented in the d-blocks. Such variations in the design
As will be described below, when a digital work is copied,
transferred or loaned, a "next set of rights" can be specified.
of the representation are possible and are
US 6,963,859 B2
11
12
The "next set of rights" will be attached to the digital work
as it is transported.
Resolving Conflicting Rights
Because each part of a digital work may have its own
usage rights, there will be instances where the rights of a
"contained part" are different from its parent or container
part. As a result, conflict rules must be established to dictate
when and how a right may be exercised. The hierarchical
structure of a digital work facilitates the enforcement of such
rules. A "strict" rule would be as follows: a right for a part
in a digital work is sanctioned if and only if it is sanctioned
for the part, for ancestor d-blocks containing the part and for
all descendent d-blocks. By sanctioned, it is meant that (1)
each of the respective parts must have the right, and (2) any
conditions for exercising the right are satisfied.
It also possible to implement the present invention using
a more lenient rule. In the more lenient rule, access to the
part may be enabled to the descendent parts which have the
right, but access is denied to the descendents which do not.
Example of applying both the strict rule and lenient is
illustrated with reference to FIG. 11. Referring to FIG. 11, a
root d-block 1101 has child d-blocks 1102-1105. In this
case, root d-block represents a magazine, and each of the
child d-blocks 1102-1105 represent articles in the magazine.
Suppose that a request is made to PRINT the digital work
represented by root d-block 1101 wherein the strict rule is
followed. The rights for the root d-block 1101 and child
d-blocks 1102-1105 are then examined. Root d-block 1101
and child d-blocks 1102 and 1105 have been granted PRINT
rights. Child d-block 1103 has not been granted PRINT
rights and child d-block 1104 has PRINT rights conditioned
on payment of a usage fee.
Under the strict rule the PRINT right cannot be exercised
because the child d-block does not have the PRINT right.
Under the lenient rule, the result would be different. The
digital works represented by child d-blocks 1102 and 1105
could be printed and the digital work represented by d-block
1104 could be printed so long as the usage fee is paid. Only
the digital work represented by d-block 1103 could not be
printed. This same result would be accomplished under the
strict rule if the requests were directed to each of the
individual digital works.
The present invention supports various combinations of
allowing and disallowing access. Moreover, as will be
described below, the usage rights grammar permits the
owner of a digital work to specify if constraints may be
imposed on the work by a container part. The manner in
which digital works may be sanctioned because of usage
rights conflicts would be implementation specific and would
depend on the nature of the digital works.
Repositories
Many of the powerful functions of repositories-such as
their ability to "loan" digital works or automatically handle
the commercial reuse of digital works-are possible because
they are trusted systems. The systems are trusted because
they are able to take responsibility for fairly and reliably
carrying out the commercial transactions. That the systems
can be responsible ("able to respond") is fundamentally an
issue of integrity. The integrity of repositories has three
parts: physical integrity, communications integrity, and
behavioral integrity.
Physical integrity refers to the integrity of the physical
devices themselves. Physical integrity applies both to the
repositories and to the protected digital works. Thus, the
higher security classes of repositories themselves may have
sensors that detect when tampering is attempted on their
secure cases. In addition to protection of the repository
itself, the repository design protects access to the content of
digital works. In contrast with the design of conventional
magnetic and optical devices-such as floppy disks,
CD-ROMs, and videotapes-repositories never allow nontrusted systems to access the works directly. A maker of
generic computer systems cannot guarantee that their platform will not be used to make unauthorized copies. The
manufacturer provides generic capabilities for reading and
writing information, and the general nature of the functionality of the general computing device depends on it. Thus, a
copy program can copy arbitrary data. This copying issue is
not limited to general purpose computers. It also arises for
the unauthorized duplication of entertainment "software"
such as video and audio recordings by magnetic recorders.
Again, the functionality of the recorders depends on their
ability to copy and they have no means to check whether a
copy is authorized. In contrast, repositories prevent access to
the raw data by general devices and can test explicit rights
and conditions before copying or otherwise granting access.
Information is only accessed by protocol between trusted
repositories.
Communications integrity refers to the integrity of the
communications channels between repositories. Roughly
speaking, communications integrity means that repositories
cannot be easily fooled by "telling them lies." Integrity in
this case refers to the property that repositories will only
communicate with other devices that are able to present
proof that they are certified repositories, and furthermore,
that the repositories monitor the communications to detect
"impostors" and malicious or accidental interference. Thus
the security measures involving encryption, exchange of
digital certificates, and nonces described below are all
security measures aimed at reliable communication in a
world known to contain active adversaries.
Behavioral integrity refers to the integrity in what repositories do. What repositories do is determined by the software
that they execute. The integrity of the software is generally
assured only by knowledge of its source. Restated, a user
will trust software purchased at a reputable computer store
but not trust software obtained off a random (insecure)
server on a network. Behavioral integrity is maintained by
requiring that repository software be certified and be distributed with proof of such certification, i.e. a digital certificate. The purpose of the certificate is to authenticate that
the software has been tested by an authorized organization,
which attests that the software does what it is supposed to do
and that it does not compromise the behavioral integrity of
a repository. If the digital certificate cannot be found in the
digital work or the master repository which generated the
certificate is not known to the repository receiving the
software, then the software cannot be installed.
In the description of FIG. 2, it was indicated that repositories come in various forms. All repositories provide a core
set of services for the transmission of digital works. The
manner in which digital works are exchanged is the basis for
all transaction between repositories. The various repository
types differ in the ultimate functions that they perform.
Repositories may be devices themselves, or they may be
incorporated into other systems. An example is the rendering
repository 205 of FIG. 2.
A repository will have associated with it a repository
identifier. Typically, the repository identifier would be a
unique number assigned to the repository at the time of
manufacture. Each repository will also be classified as being
in a particular security class. Certain communications and
transactions may be conditioned on a repository being in a
particular security class. The various security classes are
described in greater detail below.
s
10
15
20
25
30
35
40
45
so
ss
60
65
US 6,963,859 B2
13
14
As a prerequisite to operation, a repository will require
possession of an identification certificate. Identification certificates are encrypted to prevent forgery and are issued by
a Master repository. A master repository plays the role of an
authorization agent to enable repositories to receive digital
works. Identification certificates must be updated on a
periodic basis. Identification certificates are described in
greater detail below with respect to the registration transaction.
A repository has both a hardware and functional embodiment. The functional embodiment is typically software
executing on the hardware embodiment. Alternatively, the
functional embodiment may be embedded in the hardware
embodiment such as an Application Specific Integrated
Circuit (ASIC) chip.
The hardware embodiment of a repository will be
enclosed in a secure housing which if compromised, may
cause the repository to be disabled. The basic components of
the hardware embodiment of a repository are described with
reference to FIG. 12. Referring to FIG. 12, a repository is
comprised of a processing means 1200, storage system
1207, clock 1205 and external interface 1206. The processing means 1200 is comprised of a processor element 1201
and processor memory 1202. The processing means 1201,
provides controller, repository transaction, and usage rights
transaction functions for the repository. Various functions in
the operation of the repository such as decryption and/or
decompression of digital works and transaction messages
are also performed by the processing means 1200. The
processor element 1201 may be a microprocessor or other
suitable computing component. The processor memory 1202
would typically be further comprised of Read Only Memories (ROM) and Random Access Memories (RAM). Such
memories would contain the software instructions utilized
by the processor element 1201 in performing the functions
of the repository.
The storage system 1207 is further comprised of descriptor storage 1203 and content storage 1204. The description
tree storage 1203 will store the description tree for the digital
work and the content storage will store the associated
content. The description tree storage 1203 and content
storage 1204 need not be of the same type of storage
medium, nor are they necessarily on the same physical
device. So for example, the descriptor storage 1203 may be
stored on a solid state storage (for rapid retrieval of the
description tree information), while the content storage 1204
may be on a high capacity storage such as an optical disk.
The clock 1205 is used to time-stamp various time based
conditions for usage rights or for metering usage fees which
may be associated with the digital works. The clock 1205
will have an uninterruptable power supply, e.g. a battery, in
order to maintain the integrity of the time-stamps. The
external interface means 1206 provides for the signal connection to other repositories and to a credit server. The
external interface means 1206 provides for the exchange of
signals via such standard interfaces such as RS-232 or
Personal Computer Manufacturers Card Industry Association (PCMCIA) standards, or FDDI. The external interface
means 1206 may also provide network connectivity.
The functional embodiment of a repository is described
with reference to FIG. 13. Referring to FIG. 13, the functional embodiment is comprised of an operating system
1301, core repository services 1302, usage transaction handlers 1303, repository specific functions, 1304 and a user
interface 1305. The operating system 1301 is specific to the
repository and would typically depend on the type of processor being used. The operating system 1301 would also
provide the basic services for controlling and interfacing
between the basic components of the repository.
The core repository services 1302 comprise a set of
functions required by each and every repository. The core
repository services 1302 include the session initiation transactions which are defined in greater detail below. This set of
services also includes a generic ticket agent which is used to
"punch" a digital ticket and a generic authorization server
for processing authorization specifications. Digital tickets
and authorizations are specific mechanisms for controlling
the distribution and use of digital works and are described
and more detail below. Note that coupled to the core
repository services are a plurality of identification certificates 1306. The identification certificates 1306 are required
to enable the use of the repository.
The usage transactions handler 1303 comprise functionality for processing access requests to digital works and for
billing fees based on access. The usage transactions supported will be different for each repository type. For
example, it may not be necessary for some repositories to
handle access requests for digital works.
The repository specific functionality 1304 comprises
functionality that is unique to a repository. For example, the
master repository has special functionality for issuing digital
certificates and maintaining encryption keys. The repository
specific functionality 1304 would include the user interface
implementation for the repository.
Repository Security Classes
For some digital works the losses caused by any individual instance of unauthorized copying is insignificant and
the chief economic concern lies in assuring the convenience
of access and low-overhead billing. In such cases, simple
and inexpensive handheld repositories and network-based
workstations may be suitable repositories, even though the
measures and guarantees of security are modest.
At the other extreme, some digital works such as a digital
copy of a first run movie or a bearer bond or stock certificate
would be of very high value so that it is prudent to employ
caution and fairly elaborate security measures to ensure that
they are not copied or forged. A repository suitable for
holding such a digital work could have elaborate measures
for ensuring physical integrity and for verifying authorization before use.
By arranging a universal protocol, all kinds of repositories
can communicate with each other in principle. However,
creators of some works will want to specify that their works
will only be transferred to repositories whose level of
security is high enough. For this reason, document repositories have a ranking system for classes and levels of
security. The security classes in the currently preferred
embodiment are described in Table 2.
5
10
15
20
25
30
35
40
45
50
TABLE 2
55
REPOSITORY SECURITY LEVELS
Level Description of Security
0
60
65
Open system. Document transmission is unencrypted. No digital
certificate is required for identification. The security of the system
depends mostly on user honesty, since only modest knowledge may
be needed to circumvent the security measures. The repository
has no provisions for preventing unauthorized programs from
running and accessing or copying files. The system does not
prevent the use of removable storage and does not encrypt stored
files.
Minimal security. Like the previous class except that stored files
are minimally encrypted, including ones on removable storage.
US 6,963,859 B2
15
16
lar user interface will depend on the functionality that a
repository will provide.
TABLE 2-continued
Credit Servers
REPOSITORY SECURITY LEVELS
In the present invention, fees may be associated with the
5 exercise of a right. The requirement for payment of fees is
Level Description of Security
described with each version of a usage right in the usage
2 Basic security. Like the previous class except that special tools
rights language. The recording and reporting of such fees is
and knowledge are required to compromise the programming, the
performed by the credit server. One of the capabilities
contents of the repository, or the state of the clock. All digital
enabled by associating fees with rights is the possibility of
communications are encrypted. A digital certificate is provided as
identification. Medium level encryption is used. Repository
10 supporting a wide range of charging models. The simplest
identification number is unforgeable.
model, used by conventional software, is that there is a
3 General security. Like the previous class plus the requirement of
single fee at the time of purchase, after which the purchaser
special tools are needed to compromise the physical integrity of the
obtains unlimited rights to use the work as often and for as
repository and that modest encryption is used on all transmissions.
Password protection is required to use the local user interface. The
long as he or she wants. Alternative models, include metered
digital clock system cannot be reset without authorization. No
15 use and variable fees. A single work can have different fees
works would be stored on removable storage. When executing
for different uses. For example, viewing a photograph on a
works as programs, it runs them in their own address space and
display could have different fees than making a hardcopy or
does not give them direct access to any file storage or other
memory containing system code or works. They can access works
including it in a newly created work. A key to these
only through the transmission transaction protocol.
alternative charging models is to have a low overhead means
4 Like the previous class except that high level encryption is used on
20 of establishing fees and accounting for credit on these
all communications. Sensors are used to record attempts at
transactions.
physical and electronic tampering. After such tampering, the
repository will not perform other transactions until it has reported
A credit server is a computational system that reliably
such tampering to a designated server.
authorizes and records these transactions so that fees are
5 Like the previous class except that if the physical or digital
billed and paid. The credit server reports fees to a billing
attempts at tampering exceed some preset thresholds that
25 clearinghouse. The billing clearinghouse manages the finanthreaten the physical integrity of the repository or the integrity of
digital and cryptographic barriers, then the repository will save
cial transactions as they occur. As a result, bills may be
only document description records of history but will erase or
generated and accounts reconciled. Preferably, the credit
destroy any digital identifiers that could be misused if released to
server would store the fee transactions and periodically
an unscrupulous party. It also modifies any certificates of
communicate via a network with billing clearinghouse for
authenticity to indicate that the physical system has been
compromised. It also erases the contents of designated documents.
30 reconciliation. In such an embodiment, communications
Like the previous class except that the repository will attempt
with the billing clearinghouse would be encrypted for integwireless communication to report tampering and will employ noisy
rity and security reasons. In another embodiment, the credit
alarms.
server acts as a "debit card" where transactions occur in
10 This would correspond to a very high level of security. This server
would maintain constant communications to remote security
"real-time" against a user account.
systems reporting transactions, sensor readings, and attempts to
35
A credit server is comprised of memory, a processing
circumvent security.
means, a clock, and interface means for coupling to a
repository and a financial institution (e.g. a modem). The
credit server will also need to have security and authentiThe characterization of security levels described in Table
cation functionality. These elements are essentially the same
2 is not intended to be fixed. More important is the idea of
having different security levels for different repositories. It is 40 elements as those of a repository. Thus, a single device can
anticipated that new security classes and requirements will
be both a repository and a credit server, provided that it has
evolve according to social situations and changes in techthe appropriate processing elements for carrying out the
nology.
corresponding functions and protocols. Typically, however,
Repository User Interface
a credit server would be a card-sized system in the possesA user interface is broadly defined as the mechanism by 45 sian of the owner of the credit. The credit server is coupled
which a user interacts with a repository in order to invoke
to a repository and would interact via financial transactions
transactions to gain access to a digital work, or exercise
as described below. Interactions with a financial institution
usage rights. As described above, a repository may be
may occur via protocols established by the financial instiembodied in various forms. The user interface for a repositutions themselves.
In the currently preferred embodiment credit servers
tory will differ depending on the particular embodiment. The 50
associated with both the server and the repository report the
user interface may be a graphical user interface having icons
financial transaction to the billing clearinghouse. For
representing the digital works and the various transactions
example, when a digital work is copied by one repository to
that may be performed. The user interface may be a generated dialog in which a user is prompted for information.
another for a fee, credit servers coupled to each of the
The user interface itself need not be part of the repository. 55 repositories will report the transaction to the billing clearinghouse. This is desirable in that it insures that a transaction
As a repository may be embedded in some other device, the
will be accounted for in the event of some break in the
user interface may merely be a part of the device in which
the repository is embedded. For example, the repository
communication between a credit server and the billing
could be embedded in a "card" that is inserted into an
clearinghouse. However, some implementations may
available slot in a computer system. The user interface may 60 embody only a single credit server reporting the transaction
to minimize transaction processing at the risk of losing some
be combination of a display, keyboard, cursor control device
transactions.
and software executing on the computer system.
Usage Rights Language
At a minimum, the user interface must permit a user to
The present invention uses statements m a high level
input information such as access requests and alpha numeric
data and provide feedback as to transaction status. The user 65 "usage rights language" to define rights associated with
digital works and their parts. Usage rights statements are
interface will then cause the repository to initiate the suitable
interpreted by repositories and are used to determine what
transactions to service the request. Other facets of a particu-
US 6,963,859 B2
17
18
transactions can be successfully carried out for a digital
(or YYYY/MMM/DD). Note that these time and date representations may specify moments in time or units of time
work and also to determine parameters for those transacMoney units are specified in terms of dollars.
tions. For example, sentences in the language determine
Finally, in the usage rights language, various "things" will
whether a given digital work can be copied, when and how
it can be used, and what fees (if any) are to be charged for 5 need to interact with each other. For example, an instance of
a usage right may specify a bank account, a digital ticket,
that use. Once the usage rights statements are generated,
etc. Such things need to be identified and are specified herein
they are encoded in a suitable form for accessing during the
using the suffix "-ID."
processing of transactions.
The Usage Rights Grammar is listed in it's entirety in
Defining usage rights in terms of a language in combination with the hierarchical representation of a digital work 10 FIG. 15 and is described below.
Grammar element 1501 "Digital Work Rights:=
enables the support of a wide variety of distribution and fee
(Rights*)" define the digital work rights as a set of rights.
schemes. An example is the ability to attach multiple verThe set of rights attached to a digital work define how that
sions of a right to a work. So a creator may attach a PRINT
digital work may be transferred, used, performed or played.
right to make 5 copies for $10.00 and a PRINT right to make
unlimited copies for $100.00. A purchaser may then choose 15 A set of rights will attach to the entire digital work and in the
case of compound digital works, each of the components of
which option best fits his needs. Another example is that
the digital work. The usage rights of components of a digital
rights and fees are additive. So in the case of a composite
may be different.
work, the rights and fees of each of the components works
Grammar element 1502 "Right:=(Right-Code{ Copyis used in determining the rights and fees for the work as a
whole. Other features and benefits of the usage rights 20 Count} {Control-Spec} {Time-Spec} {Access-Spec} {FeeSpec})" enumerates the content of a right. Each usage right
language will become apparent in the description of distrimust specify a right code. Each right may also optionally
bution and use scenarios provided below.
specify conditions which must be satisfied before the right
The basic contents of a right are illustrated in FIG. 14.
can be exercised. These conditions are copy count, control,
Referring to FIG. 14, a right 1450 has a transactional
component 1451 and a specifications component 1452. A 25 time, access and fee conditions. In the currently preferred
embodiment, for the optional elements, the following
right 1450 has a label (e.g. COPY or PRINT) which indicate
defaults apply: copy count equals 1, no time limit on the use
the use or distribution privileges that are embodied by the
of the right, no access tests or a security level required to use
right. The transactional component 1451 corresponds to a
the right and no fee is required. These conditions will each
particular way in which a digital work may be used or
distributed. The transactional component 1451 is typically 30 be described in greater detail below.
It is important to note that a digital work may have
embodied in software instructions in a repository which
multiple versions of a right, each having the same right code.
implement the use or distribution privileges for the right.
The multiple version would provide alternative conditions
The specifications components 1452 are used to specify
and fees for accessing the digital work.
conditions which must be satisfied prior to the right being
Grammar element 1503 "Right-Code: =Renderexercised or to designate various transaction related param- 35
CodeiTransport-CodeiFile-Management-CodeiDerivativeeters. In the currently preferred embodiment, these specifiWorks-Code Configuration-Code" distinguishes each of the
cations include copy count 1453, Fees and Incentives 1454,
specific rights into a particular right type (although each
Time 1455, Access and Security 1456 and Control 1457.
right is identified by distinct right codes). In this way, the
Each of these specifications will be described in greater
detail below with respect to the language grammar elements. 40 grammar provides a catalog of possible rights that can be
associated with parts of digital works. In the following,
The usage rights language is based on the grammar
rights are divided into categories for convenience in describdescribed below. A grammar is a convenient means for
ing them.
defining valid sequence of symbols for a language. In
Grammar element 1504 "Render-Code:=[Play:{Player:
describing the grammar the notation "[albic]" is used to
indicate distinct choices among alternatives. In this example, 45 Player-ID }IPrint:{Printer:Printer-ID} ]" lists a category of
rights all involving the making of ephemeral, transitory, or
a sentence can have either an "a", "b" or "c". It must include
non-digital copies of the digital work. After use the copies
exactly one of them. The braces { } are used to indicate
are erased.
optional items. Note that brackets, bars and braces are used
Play A process of rendering or performing a digital work
to describe the language of usage rights sentences but do not
on some processor. This includes such things as playing
appear in actual sentences in the language.
50
digital movies, playing digital music, playing a video
In contrast, parentheses are part of the usage rights
game, running a computer program, or displaying a
language. Parentheses are used to group items together in
document on a display.
lists. The notation (x*) is used to indicate a variable length
list, that is, a list containing one or more items of type x. The
Print To render the work in a medium that is not further
notation (x)* is used to indicate a variable number of lists 55
protected by usage rights, such as printing on paper.
containing x.
Grammar element 1505 "Transport-Code:=
Keywords in the grammar are words followed by colons.
[(CopyiTransferiLoan{Remaining-Rights: Next-Set-ofRights}]{ (Next-Copy-Rights:Next-Set of Rights)}" lists a
Keywords are a common and very special case in the
category of rights involving the making of persistent, usable
language. They are often used to indicate a single value,
typically an identifier. In many cases, the keyword and the 60 copies of the digital work on other repositories. The optional
parameter are entirely optional. When a keyword is given, it
Next-Copy-Rights determine the rights on the work after it
often takes a single identifier as its value. In some cases, the
is transported. If this is not specified, then the rights on the
transported copy are the same as on the original. The
keyword takes a list of identifiers.
optional Remaining-Rights specify the rights that remain
In the usage rights language, time is specified in an
hours:minutes:seconds (or hh:mm:ss) representation. Time 65 with a digital work when it is loaned out. If this is not
zone indicators, e.g. PDT for Pacific Daylight Time, may
specified, then the default is that no rights can be exercised
also be specified. Dates are represented as year/month/day
when it is loaned out.
US 6,963,859 B2
19
20
Copy Make a new copy of a work
If Remaining-Rights is not specified, then there are no
rights for the original after all Loan copies are loaned out. If
Transfer Moving a work from one repository to another.
Remaining-Rights is specified, then the Keep: token can be
Loan Temporarily loaning a copy to another repository for
used to simplify the expression of what rights to keep
a specified period of time.
Grammar element 1506 "File-Management-Code:= 5 behind. A list of right codes following keep means that all of
the versions of those listed rights are kept in the remaining
Backup{Back-Up-Copy-Rights:Next-Set of
copy. This specification can be overridden by subsequent
Rights} IRestoreiDeleteiFolderiDirectory {N arne :HideDelete: or Replace: specifications.
LocaliHide-Remote }{Parts:Hide-LocaliHide-Remote }"lists
Copy Count Specification
a category of rights involving operations for file
For various transactions, it may be desirable to provide
10
management, such as the making of backup copies to protect
some limit as to the number of "copies" of the work which
the copy owner against catastrophic equipment failure.
may be exercised simultaneously for the right. For example,
Many software licenses and also copyright law give a
it may be desirable to limit the number of copies of a digital
copy owner the right to make backup copies to protect
work that may be loaned out at a time or viewed at a time.
against catastrophic failure of equipment. However, the
Grammar element 1510 "Copy-Count:=(Copies:positivemaking of uncontrolled backup copies is inherently at odds 15
integeriOunlimited)" provides a condition which defines the
with the ability to control usage, since an uncontrolled
number of "copies" of a work subject to the right. A copy
backup copy can be kept and then restored even after the
count can be 0, a fixed number, or unlimited. The copy-count
authorized copy was sold.
is associated with each right, as opposed to there being just
The File management rights enable the making and restor20 a single copy-count for the digital work. The Copy-Count
ing of backup copies in a way that respects usage rights,
for a right is decremented each time that a right is exercised.
honoring the requirements of both the copy owner and the
When the Copy-Count equals zero, the right can no longer
rights grantor and revenue owner. Backup copies of work
be exercised. If the Copy-Count is not specified, the default
descriptions (including usage rights and fee data) can be sent
1s one.
under appropriate protocol and usage rights control to other
document repositories of sufficiently high security. Further 25 Control Specification
Rights and fees depend in general on rights granted by the
rights permit organization of digital works into folders
creator as well as further restrictions imposed by later
which themselves are treated as digital works and whose
distributors. Control specifications deal with interactions
contents may be "hidden" from a party seeking to determine
between the creators and their distributors governing the
the contents of a repository.
30 imposition of further restrictions and fees. For example, a
Backup To make a backup copy of a digital work as
distributor of a digital work may not want an end consumer
protection against media failure.
of a digital work to add fees or otherwise profit by comRestore To restore a backup copy of a digital work.
mercially exploiting the purchased digital work.
Delete To delete or erase a copy of a digital work.
Grammar element 1511 "Control-Spec:=
Folder To create and name folders, and to move files and 35 (Control: {RestrictableiU nrestrictable} {U nchargeablel
Chargeable})" provides a condition to specify the effect of
folders between folders.
usage rights and fees of parents on the exercise of the right.
Directory To hide a folder or it's contents.
A digital work is restrictable if higher level d-blocks can
Grammar element 1507 "Derivative-Works-Code:
impose further restrictions (time specifications and access
[ExtractiEmbediEdit {Process:Process-ID} ]{Next-CopyRights:Next-Set-ofRights }"lists a category of rights involv- 40 specifications) on the right. It is unrestrictable if no further
restrictions can be imposed. The default setting is restricting the use of a digital work to create new works.
able. A right is unchargeable if no more fees can be imposed
Extract To remove a portion of a work, for the purposes
on the use of the right. It is chargeable if more fees can be
of creating a new work.
imposed. The default is chargeable.
Embed To include a work in an existing work.
45 Time Specification
Edit To alter a digital work by copying, selecting and
It is often desirable to assign a start date or specify some
modifying portions of an existing digital work.
duration as to when a right may be exercised. Grammar
Grammar element 1508 "Configuration-Code:=
element 1512 "Time-Spec:=( {Fixed-IntervaliSlidingInstalliUninstall" lists a category of rights for installing and
IntervaliMeter-Time} Until:Expiration-Date )" provides for
uninstalling software on a repository (typically a rendering 50 specification of time conditions on the exercise of a right.
repository.) This would typically occur for the installation of
Rights may be granted for a specified time. Different kinds
a new type of player within the rendering repository.
of time specifications are appropriate for different kinds of
Install: To install new software on a repository.
rights. Some rights may be exercised during a fixed and
predetermined duration. Some rights may be exercised for
Uninstall: To remove existing software from a repository.
Grammar element 1509 "Next-Set-of-Rights:={ (Add:Set- 55 an interval that starts the first time that the right is invoked
Of-Rights)} {(Delete:Set-Of-Rights)} {(Replace: Set-Ofby some transaction. Some rights may be exercised or are
Rights)}{(Keep:Set-Of-Rights)}" defines how rights are
charged according to some kind of metered time, which may
carried forward for a copy of a digital work. If the Nextbe split into separate intervals. For example, a right to view
Copy-Rights is not specified, the rights for the next copy are
a picture for an hour might be split into six ten minute
the same as those of the current copy. Otherwise, the set of 60 viewings or four fifteen minute viewings or twenty three
rights for the next copy can be specified. Versions of rights
minute viewings.
The terms "time" and "date" are used synonymously to
after Add: are added to the current set of rights. Rights after
Delete: are deleted from the current set of rights. If only right
refer to a moment in time. There are several kinds of time
codes are listed after Delete:, then all versions of rights with
specifications. Each specification represents some limitation
those codes are deleted. Versions of rights after Replace: 65 on the times over which the usage right applies. The
subsume all versions of rights of the same type in the current
Expiration-Date specifies the moment at which the usage
set of rights.
right ends. For example, if the Expiration-Date is "Jan. 1,
US 6,963,859 B2
21
22
1995," then the right ends at the first moment of 1995. If the
In some cases, an authorization may be required from a
source other than the document server and repository. An
Expiration-Date is specified as *forever*, then the rights are
authorization object referenced by an Authorization-ID can
interpreted as continuing without end. If only an expiration
contain digital address information to be used to set up a
date is given, then the right can be exercised as often as
5 communications link between a repository and the authoridesired until the expiration date.
zation source. These are analogous to phone numbers. For
Grammar element 1513 "Fixed-Interval:=From:Startsuch access tests, the communication would need to be
Time" is used to define a predetermined interval that runs
established and authorization obtained before the right could
from the start time to the expiration date.
be exercised.
Grammar element 1514 "Sliding-Interval:=Interval:UseFor one-time usage rights, a variant on this scheme is to
Duration" is used to define an indeterminate (or "open") 10
have a digital ticket. A ticket is presented to a digital ticket
start time. It sets limits on a continuous period of time over
agent, whose type is specified on the ticket. In the simplest
which the contents are accessible. The period starts on the
case, a certified generic ticket agent, available on all
first access and ends after the duration has passed or the
repositories, is available to "punch" the ticket. In other
expiration date is reached, whichever comes first. For
cases, the ticket may contain addressing information for
example, if the right gives 10 hours of continuous access, the 15 locating a "special-" ticket agent. Once a ticket has been
use-duration would begin when the first access was made
punched, it cannot be used again for the same kind of
and end 10 hours later.
transaction (unless it is unpunched or refreshed in the
Grammar element 1515 "Meter-Time: Timemanner described below.) Punching includes marking the
Remaining:Remaining-Use" is used to define a "meter
ticket with a timestamp of the date and time it was used.
time," that is, a measure of the time that the right is actually 20 Tickets are digital works and can be copied or transferred
between repositories according to their usage rights.
exercised. It differs from the Sliding-Interval specification in
In the currently preferred embodiment, a "punched" ticket
that the time that the digital work is in use need not be
becomes "unpunched" or "refreshed" when it is copied or
continuous. For example, if the rights guarantee three days
extracted. The Copy and Extract operations save the date
of access, those days could be spread out over a month. With
this specification, the rights can be exercised until the meter 25 and time as a proper of the digital ticket. When a ticket agent
is given a ticket, it can simply check whether the digital copy
time is exhausted or the expiration date is reached, whichwas made after the last time that it was punched. Of course,
ever comes first.
the digital ticket must have the copy or extract usage rights
Remaining-Use:= Time-Unit
attached thereto.
Start-Time:= Time-Unit
The capability to unpunch a ticket is important in the
30
Use-Duration:= Time-Unit
following cases:
All of the time specifications include time-unit specifications
A digital work is circulated at low cost with a limitation
in their ultimate instantiation.
that it can be used only once.
Security Class and Authorization Specification
A digital work is circulated with a ticket that can be used
The present invention provides for various security
once to give discounts on purchases of other works.
mechanisms to be introduced into a distribution or use 35
A digital work is circulated with a ticket (included in the
scheme. Grammar element 1516 "Access-Spec:=
purchase price and possibly embedded in the work) that
( { SC:Security-Class} { Authorization:Authorizationcan be used for a future upgrade.
ID*} { Other-Authorization:AuthorizationIn each of these cases, if a paid copy is made of the digital
ID*}{Ticket:Ticket-ID})" provides a means for restricting
work (including the ticket) the new owner would expect to
access and transmission. Access specifications can specify a 40 get a fresh (unpunched) ticket, whether the copy seller has
required security class for a repository to exercise a right or
used the work or not. In contrast, loaning a work or simply
a required authorization test that must be satisfied.
transferring it to another repository should not revitalize the
The keyword "SC:" is used to specify a minimum security
ticket.
level for the repositories involved in the access. If "SC:" is
Usage Fees and Incentives Specification
45
The billing for use of a digital work is fundamental to a
not specified, the lowest security level is acceptable.
commercial distribution system. Grammar Element 1517
The optional "Authorization:" keyword is used to specify
"Fee -Spec:= {Scheduled-Discount} Regular-Feerequired authorizations on the same repository as the work.
The optional "Other-Authorization:" keyword is used to
SpeciScheduled-Fee-SpeciMarkup-Spec" provides a range
of options for billing for the use of digital works.
specify required authorizations on the other repository in the
A key feature of this approach is the development of
50
transaction.
low-overhead billing for transactions in potentially small
The optional "Ticket:" keyword specifies the identity of a
ticket required for the transaction. A transaction involving
amounts. Thus, it becomes feasible to collect fees of only a
few cents each for thousands of transactions.
digital tickets must locate an appropriate digital ticket agent
who can "punch" or otherwise validate the ticket before the
The grammar differentiates between uses where the
transaction can proceed. Tickets are described in greater 55 charge is per use from those where it is metered by the time
detail below.
unit. Transactions can support fees that the user pays for
In a transaction involving a repository and a document
using a digital work as well as incentives paid by the right
server, some usage rights may require that the repository
grantor to users to induce them to use or distribute the digital
have a particular authorization, that the server have some
work.
authorization, or that both repositories have (possibly 60
The optional scheduled discount refers to the rest of the
different) authorizations. Authorizations themselves are
fee specification--discounting it by a percentage over time.
If it is not specified, then there is no scheduled discount.
digital works (hereinafter referred to as an authorization
object) that can be moved between repositories in the same
Regular fee specifications are constant over time. Scheduled
manner as other digital works. Their copying and transferfee specifications give a schedule of dates over which the fee
ring is subject to the same rights and fees as other digital 65 specifications change. Markup specifications are used in
works. A repository is said to have an authorization if that
d-blocks for adding a percentage to the fees already being
authorization object is contained within the repository.
charged.
US 6,963,859 B2
23
24
Grammar Element 1518 "Scheduled-Discount:=
Grammar element 1525 "Markup-Spec:=
(Scheduled-Discount:(Time-Spec Percentage)*)" A
Markup:percentage To:Account-ID" is provided for adding
Scheduled-Discount is a essentially a scheduled modifier of
a percentage to the fees already being charged. For example,
any other fee specification for this version of the right of the
a 5% markup means that a fee of 5% of cumulative fee so
digital work. (It does not refer to children or parent digital 5 far will be allocated to the distributor. A markup specificaworks or to other versions of rights.). It is a list of pairs of
tion can be applied to all of the other kinds of fee specifications. It is typically used in a shell provided by a distributimes and percentages. The most recent time in the list that
has not yet passed at the time of the transaction is the one in
tor. It refers to fees associated with d-blocks that are parts of
the current d-block. This might be a convenient specification
effect. The percentage gives the discount percentage. For
10 for use in taxes, or in distributor overhead.
example, the number 10 refers to a 10% discount.
Grammar Element 1519 "Regular-Fee-Spec:=
Examples of Sets of Usage Rights
( {Fee:IIncentive: }[Per-Use-SpeciMetered-Rate-SpeciBest((Play) (Transfer (SC: 3)) (Delete)
Price -Specl Call- For- Price -Spec] {Min: Maney- Unit
This work can be played without requirements for fee or
Per: Time-Spec} {Max: Money- Unit Per: Timeauthorization on any rendering system. It can be transferred
Spec} To:Account-ID)" provides for several kinds of fee 15 to any other repository of security level 3 or greater. It can
specifications.
be deleted.
Fees are paid by the copy-owner/user to the revenue((Play) (Transfer (SC: 3)) (Delete) (Backup) (Restore
owner if Fee: is specified. Incentives are paid by the
(Fee: Per-Use: $5 To: Account-ID-678)))
revenue-owner to the user if Incentive: is specified. If the
Same as the previous example plus rights for backup and
Min: specification is given, then there is a minimum fee to 20 restore. The work can be backed up without fee. It can be
be charged per time-spec unit for its use. If the Max:
restored for a $5 fee payable to the account described by
specification is given, then there is a maximum fee to be
Account-ID-678.
charged per time-spec for its use. When Fee: is specified,
((Play) (Transfer (SC: 3))
Account-ID identifies the account to which the fee is to be
(Copy (SC:3)(Fee: Per-Use: $5 To: Account-ID-678))
paid. When Incentive: is specified, Account-ID identifies the 25
(Delete (Incentive: Per-Use: $2.50 To: Account-IDaccount from which the fee is to be paid.
678)))
Grammar element 1520 "Per-Use-Spec:=Per-Use:MoneyThis work can be played, transferred, copied, or deleted.
unit" defines a simple fee to be paid every time the right is
Copy or transfer operations can take place only with reposiexercised, regardless of how much time the transaction
tories of security level three or greater. The fee to make a
30
takes.
copy is $5 payable to Account-ID-678. If a copy is deleted,
Grammar element 1521 "Metered-Rate-Spec:=
then an incentive of $2.50 is paid to the former copy owner.
Metered:Money-Unit Per:Time-Spec" defines a metered((Play) (Transfer (SC: 3))
rate fee paid according to how long right is exercised. Thus,
Copy (SC: 3) (Fee: Per-Use: $10 To: Account-ID-678))
the time it takes to complete the transaction determines the
Delete) (Backup) (Restore (SC: 3) (Fee: Per-Use: $5
fee.
35
To: Account-ID-678)))
Grammar element 1522 "Best-Price-Spec:=BestSame as the previous example plus fees for copying. The
Price:Money-unit Max:Money-unit" is used to specify a
work can be copied digitally for a fee of $10 payable to
best-price that is determined when the account is settled.
Account-ID-678. The repository on which the work is
This specification is to accommodate special deals, rebates,
and pricing that depends on information that is not available 40 copied or restored must be at security level 3 or greater.
((Play) (Transfer (SC: 3))
to the repository. All fee specifications can be combined with
(Copy Authorization: License-123-ID (SC: 3)))
tickets or authorizations that could indicate that the conThe digital work can be played, transferred, or copied.
sumer is a wholesaler or that he is a preferred customer, or
Copies or transfers must be on repositories of security level
that the seller be authorized in some way. The amount of
money in the Max: field is the maximum amount that the use 45 3 or greater. Copying requires the license License-123-ID
issued to the copying repository. None of the rights require
will cost. This is the amount that is tentatively debited from
fees.
the credit server. However, when the transaction is ulti((Play) (Print Printer: Printer-567-ID (Fee: Per-Use: $1
mately reconciled, any excess amount will be returned to the
To: Account-ID-678)))
consumer in a separate transaction.
This work can be played for free. It can be printed on any
Grammar element 1523 "Call-For-Price-Spec:=Call-For- 50
printer with the identifier Printer-567-ID for a fee of $1
Price" is similar to a "Best-Price-Spec" in that it is intended
payable to the account described by Account-ID-678.
to accommodate cases where prices are dynamic. A Call((Play Player: Player-876-ID) (From: 94/02/14 Until:
For-Price Spec requires a communication with a dealer to
95/02/15) (Fee: Metered: $0.01 Per: 0:1:0 Min: $0.25
determine the price. This option cannot be exercised if the
Per: 0!1/0 To: Account-ID-567))
repository cannot communicate with a dealer at the time that 55
This work can be played on any player holding the ID
the right is exercised. It is based on a secure transaction
Player-876-ID. The time of this right is from Feb. 14, 1994
whereby the dealer names a price to exercise the right and
until Feb. 15, 1995. The fee for use is one cent per minute
passes along a deal certificate which is referenced or
with a minimum of 25 cents in any day that it is used,
included in the billing process.
Grammar element 1524 "Scheduled-Fee-Spec:= 60 payable to the account described by Account-ID-567.
(Schedule:(Time-Spec Regular-Fee-Spec)*)" is used to pro((Play) (Transfer) (Delete)(Loan 2 (Delete: Transfer
vide a schedule of dates over which the fee specifications
Loan)))
change. The fee specification with the most recent date not
This work can be played, transferred, deleted, or loaned.
Up to two copies can be loaned out at a time. The loaned
in the future is the one that is in effect. This is similar to but
more general than the scheduled discount. It is more general, 65 copy has the same rights except that it cannot be transferred.
because it provides a means to vary the fee agreement for
When both copies are loaned out, no rights can be exercised
each time period.
on the original on the repository.
US 6,963,859 B2
25
26
((Play) (Transfer) (Delete) (Backup) (Restore (SC:3))
encrypted utilizing a public key encryption technique. Pub(Loan 2 Remaining-Copy-Rights: (Delete: Play
lic key encryption is a well known technique in the encrypTransfer)
tion arts. The term key refers to a numeric code that is used
Next-Set-of-Rights: (Delete: Transfer Loan)))
with encryption and decryption algorithms. Keys come in
Similar to previous example. Rights to Backup and 5 pairs, where "writing keys" are used to encrypt data and
"checking keys" are used to decrypt data. Both writing and
Restore the work are added, where restoration requires a
checking keys may be public or private. Public keys are
repository of at least security level three. When all copies of
those that are distributed to others. Private keys are mainthe work are loaned out, the remaining copy cannot be
tained in confidence.
played or transferred.
Key management and security is instrumental in the
((Play) (Transfer) (Copy) (Print) (Backup) (Restore 10
success of a public key encryption system. In the currently
(SC:3))
preferred embodiment, one or more master repositories
(Loan 1 Remaining-Copy-Rights: (Add: Play Print
maintain the keys and create the identification certificates
Backup)
used by the repositories.
Next-Set-of-Rights: (Delete: Transfer Loan)
When a sending repository transmits a message to a
(Fee: Metered: $10 Per: 1:0:0 To: Account-ID-567)) 15 receiving repository, the sending repository encrypts all of
(Loan 1 Remaining-Copy-Rights:
its data using the public writing key of the receiving reposiAdd: ((Play Player: Player-876-ID) 2 (From: 94/02/14
tory. The sending repository includes its name, the name of
Until: 95/02/15)
the receiving repository, a session identifier such as a nonce
(Fee: Metered: $0.01 Per: 0:1:0 Min: $0.25 Per: 0!1/0
(described below), and a message counter in each message.
To: Account-ID-567))))
In this way, the communication can only be read (to a high
20
The original work has rights to Play, Transfer, Copy, Print,
probability) by the receiving repository, which holds the
Backup, Restore, and Loan. There are two versions of the
private checking key for decryption. The auxiliary data is
Loan right. The first version of the loan right costs $10 per
used to guard against various replay attacks to security. If
day but allows the original copy owner to exercise free use
messages ever arrive with the wrong counter or an old
of the Play, Print and Backup rights. The second version of 25 nonce, the repositories can assume that someone is interferthe Loan right is free. None of the original rights are
ing with communication and the transaction terminated.
applicable. However a right to Play the work at the specified
The respective public keys for the repositories to be used
metered rate is added.
for encryption are obtained in the registration transaction
((Play Player: Player-Small-Screen-123-ID)
described below.
30 Session Initiation Transactions
(Embed (Fee: Per-Use $0.01 To: Account-678-ID))
(Copy (Fee: Per-Use $1.00 To: Account-678-ID)))
A usage transaction is carried out in a session between
The digital work can be played on any player with the
repositories. For usage transactions involving more than one
identifier Player-Small-Screen-123-ID. It can be embedded
repository, or for financial transactions between a repository
in a larger work. The embedding requires a modest one cent
and a credit server, a registration transaction is performed. A
registration fee to Account-678-ID. Digital copies can be 35 second transaction termed a login transaction, may also be
made for $1.00.
needed to initiate the session. The goal of the registration
transaction is to establish a secure channel between two
Repository Transactions
repositories who know each others identities. As it is
When a user requests access to a digital work, the
repository will initiate various transactions. The comb inaassumed that the communication channel between the
tion of transactions invoked will depend on the specifica- 40 repositories is reliable but not secure, there is a risk that a
non-repository may mimic the protocol in order to gain
tions assigned for a usage right. There are three basic types
illegitimate access to a repository.
of transactions, Session Initiation Transactions, Financial
Transactions and Usage Transactions. Generally, session
The registration transaction between two repositories is
initiation transactions are initiated first to establish a valid
described with respect to FIGS. 16 and 17. The steps
session. When a valid session is established, transactions 45 described are from the perspective of a "repository-!".
corresponding to the various usage rights are invoked.
registering its identity with a "repository-2". The registraFinally, request specific transactions are performed.
tion must be symmetrical so the same set of steps will be
repeated for repository-2 registering its identity with
Transactions occur between two repositories (one acting
repository-!. Referring to FIG. 16, repository-! first generas a server), between a repository and a document playback
platform (e.g. for executing or viewing), between a reposi- 50 ates an encrypted registration identifier, step 1601 and then
tory and a credit server or between a repository and an
generates a registration message, step 1602. A registration
message is comprised of an identifier of a master repository,
authorization server. When transactions occur between more
than one repository, it is assumed that there is a reliable
the identification certificate for the repository-! and an
encrypted random registration identifier. The identification
communication channel between the repositories. For
example, this could be a TCP!IP channel or any other 55 certificate is encrypted by the master repository in its private
commercially available channel that has built-in capabilities
key and attests to the fact that the repository (here
for detecting and correcting transmission errors. However, it
repository-!) is a bona fide repository. The identification
is not assumed that the communication channel is secure.
certificate also contains a public key for the repository, the
Provisions for security and privacy are part of the requirerepository security level and a timestamp (indicating a time
ments for specifying and implementing repositories and thus 60 after which the certificate is no longer valid.) The registraform the need for various transactions.
tion identifier is a number generated by the repository for
this registration. The registration identifier is unique to the
Message Transmission
session and is encrypted in repository-l's private key. The
Transactions require that there be some communication
between repositories. Communication between repositories
registration identifier is used to improve security of authenoccurs in units termed as messages. Because the communi- 65 tication by detecting certain kinds of communications based
cation line is assumed to be unsecure, all communications
attacks. Repository-! then transmit the registration message
with repositories that are above the lowest security class are
to repository-2, step 1603.
US 6,963,859 B2
27
28
Upon rece1vmg the registration message, repository-2
session information exchange and clock synchronization
steps (again from the perspective of repository-!.) Referring
determines if it has the needed public key for the master
to FIG. 17, repository-! creates a session key pair, step 1701.
repository, step 1604. If repository-2 does not have the
A first key is kept private and is used by repository-! to
needed public key to decrypt the identification certificate,
the registration transaction terminates in an error, step 1618. 5 encrypt messages. The second key is a public key used by
repository-2 to decrypt messages. The second key is
Assuming that repository-2 has the proper public key the
encrypted using the public key of repository-2, step 1702
identification certificate is decrypted, step 1605.
and is sent to repository-2, step 1703. Upon receipt,
Repository-2 saves the encrypted registration identifier, step
repository-2 decrypts the second key, step 1704. The second
1606, and extracts the repository identifier, step 1607. The
key is used to decrypt messages in subsequent communicaextracted repository identifier is checked against a "hotlist" 10
tions. When each repository has completed this step, they are
of compromised document repositories, step 1608. In the
both convinced that the other repository is bona fide and that
currently preferred embodiment, each repository will conthey are communicating with the original. Each repository
tain "hotlists" of compromised repositories. If the repository
has given the other a key to be used in decrypting further
is on the "hotlist", the registration transaction terminates in
communications during the session. Since that key is itself
an error per step 1618. Repositories can be removed from 15 transmitted in the public key of the receiving repository only
the hotlist when their certificates expire, so that the list does
it will be able to decrypt the key which is used to decrypt
not need to grow without bound. Also, by keeping a short list
subsequent messages.
of hotlist certificates that it has previously received, a
After the session information is exchanged, the repositorepository can avoid the work of actually going through the
ries must synchronize their clocks. Clock synchronization is
list. These lists would be encrypted by a master repository. 20 used by the repositories to establish an agreed upon time
base for the financial records of their mutual transactions.
A minor variation on the approach to improve efficiency
Referring back to FIG. 17, repository-2 initiates clock
would have the repositories first exchange lists of names of
synchronization by generating a time stamp exchange
hotlist certificates, ultimately exchanging only those lists
message, step 1705, and transmits it to repository-!, step
that they had not previously received. The "hotlists" are
25 1706. Upon receipt, repository-! generates its own time
maintained and distributed by Master repositories.
stamp message, step 1707 and transmits it back to
Note that rather than terminating in error, the transaction
repository-2, step 1708. Repository-2 notes the current time,
could request that another registration message be sent based
step 1709 and stores the time received from repository-!,
on an identification certificate created by another master
step 1710. The current time is compared to the time received
repository. This may be repeated until a satisfactory identification certificate is found, or it is determined that trust 30 from repository-!, step 1711. The difference is then checked
to see if it exceeds a predetermined tolerance (e.g. one
cannot be established.
minute), step 1712. If it does, repository-2 terminates the
Assuming that the repository is not on the hotlist, the
transaction as this may indicate tampering with the
repository identification needs to be verified. In other words,
repository, step 1713. If not repository-2 computes an
repository-2 needs to validate that the repository on the other
end is really repository-!. This is termed performance test- 35 adjusted time delta, step 1714. The adjusted time delta is the
difference between the clock time of repository-2 and the
ing and is performed in order to avoid invalid access to the
average of the times from repository-! and repository-2.
repository via a counterfeit repository replaying a recording
To achieve greater accuracy, repository-2 can request the
of a prior session initiation between repository-! and
time again up to a fixed number of times (e.g. five times),
repository-2. Performance testing is initiated by repository-2
generating a performance message, step 1609. The perfor- 40 repeat the clock synchronization steps, and average the
results.
mance message consists of a nonce, the names of the
A second session initiation transaction is a Login transrespective repositories, the time and the registration identiaction. The Login transaction is used to check the authenfier received from repository-!. A nonce is a generated
ticity of a user requesting a transaction. A Login transaction
message based on some random and variable information
(e.g. the time or the temperature.) The nonce is used to check 45 is particularly prudent for the authorization of financial
transactions that will be charged to a credit server. The Login
whether repository-! can actually exhibit correct encrypting
transaction involves an interaction between the user at a user
of a message using the private keys it claims to have, on a
interface and the credit server associated with a repository.
message that it has never seen before. The performance
The information exchanged here is a login string supplied by
message is encrypted using the public key specified in the
registration message of repository-!. The performance mes- 50 the repository/credit server to identify itself to the user, and
a Personal Identification Number (PIN) provided by the user
sage is transmitted to repository-!, step 1610, where it is
to identify himself to the credit server. In the event that the
decrypted by repository-! using its private key, step 1611.
user is accessing a credit server on a repository different
Repository-! then checks to make sure that the names of the
from the one on which the user interface resides, exchange
two repositories are correct, step 1612, that the time is
accurate, step 1613 and that the registration identifier cor- 55 of the information would be encrypted using the public and
private keys of the respective repositories.
responds to the one it sent, step 1614. If any of these tests
Billing Transactions
fails, the transaction is terminated per step 1616. Assuming
Billing Transactions are concerned with monetary transthat the tests are passed, repository-! transmits the nonce to
action with a credit server. Billing Transaction are carried
repository-2 in the clear, step 1615. Repository-2 then
compares the received nonce to the original nonce, step 60 out when all other conditions are satisfied and a usage fee is
required for granting the request. For the most part, billing
1617. If they are not identical, the registration transaction
transactions are well understood in the state of the art. These
terminates in an error per step 1618. If they are the same, the
transactions are between a repository and a credit server, or
registration transaction has successfully completed.
between a credit server and a billing clearinghouse. Briefly,
At this point, assuming that the transaction has not
terminated, the repositories exchange messages containing 65 the required transactions include the following:
session keys to be used in all communications during the
Registration and LOGIN transactions by which the
session and synchronize their clocks. FIG. 17 illustrates the
repository and user establish their bona-fides to a credit
US 6,963,859 B2
29
30
server. These transactions would be entirely internal in
brevity, when reference is made to checking whether the
cases where the repository and credit server are implerights exist and conditions for exercising are satisfied, it is
mented as a single system.
meant that all such checking takes place for each of the
relevant parts of the work.
Registration and LOGIN transactions, by which a credit
FIG. 18 illustrates the initial common opening and closing
server establishes its bona fides to a billing clearing- 5
steps for a transaction. At this point it is assumed that
house.
registration has occurred and that a "trusted" session is in
An Assign-fee transaction to assign a charge. The inforplace. General tests are tests on usage rights associated with
mation in this transaction would include a transaction
the folder containing the work or some containing folder
identifier, the identities of the repositories in the
10 higher in the file system hierarchy. These tests correspond to
transaction, and a list of charges from the parts of the
requirements imposed on the work as a consequence of its
digital work. If there has been any unusual event in the
being on the particular repository, as opposed to being
transaction such as an interruption of communications,
attached to the work itself. Referring to FIG. 18, prior to
that information is included as well.
initiating a usage transaction, the requester performs any
An Begin-charges transaction to assign a charge. This 15 general tests that are required before the right associated
transaction is much the same as an assign fee transacwith the transaction can be exercised, step, 1801. For
tion except that it is used for metered use. It includes
example, install, uninstall and delete rights may be implethe same information as the assign-fee transaction as
mented to require that a requester have an authorization
well as the usage fee information. The credit-server is
certificate before the right can be exercised. Another
then responsible for running a clock.
20 example is the requirement that a digital ticket be present
An End-charges transaction to end a charge for metered
and punched before a digital work may be copied to a
use. (In a variation on this approach, the repositories
requester. If any of the general tests fail, the transaction is
would exchange periodic charge information for each
not initiated, step, 1802. Assuming that such required tests
block of time.)
are passed, upon receiving the usage request, the server
A report-charges transaction between a personal credit 25 generates a transaction identifier that is used in records or
reports of the transaction, step 1803. The server then checks
server and a billing clearinghouse. This transaction is
whether the digital work has been granted the right correinvoked at least once per billing period. It is used to
pass along information about charges. On debit and
sponding to the requested transaction, step 1804. If the
credit cards, this transaction would also be used to
digital work has not been granted the right corresponding to
update balance information and credit limits as needed. 30 the request, the transaction terminates, step 1805. If the
digital work has been granted the requested right, the server
All billing transactions are given a transaction ID and are
then determines if the various conditions for exercising the
reported to the credit severs by both the server and the client.
This reduces possible loss of billing information if one of the
right are satisfied. Time based conditions are examined, step
1806. These conditions are checked by examining the time
parties to a transaction loses a banking card and provides a
check against tampering with the system.
35 specification for the the version of the right. If any of the
Usage Transactions
conditions are not satisfied, the transaction terminates per
After the session initiation transactions have been
step 1805.
completed, the usage request may then be processed. To
Assuming that the time based conditions are satisfied, the
server checks security and access conditions, step 1807.
simplify the description of the steps carried out in processing
a usage request, the term requester is used to refer to a 40 Such security and access conditions are satisfied if: 1) the
requester is at the specified security class, or a higher
repository in the requester mode which is initiating a
security class, 2) the server satisfies any specified authorirequest, and the term server is used to refer to a repository
in the server mode and which contains the desired digital
zation test and 3) the requester satisfies any specified authowork. In many cases such as requests to print or view a work,
rization tests and has any required digital tickets. If any of
the requester and server may be the same device and the 45 the conditions are not satisfied, the transaction terminates
per step 1805.
transactions described in the following would be entirely
Assuming that the security and access conditions are all
internal. In such instances, certain transaction steps, such as
satisfied, the server checks the copy count condition, step
the registration transaction, need not be performed.
1808. If the copy count equals zero, then the transaction
There are some common steps that are part of the semantics of all of the usage rights transactions. These steps are 50 cannot be completed and the transaction terminates per step
1805.
referred to as the common transaction steps. There are two
sets-the "opening" steps and the "closing" steps. For
Assuming that the copy count does not equal zero, the
server checks if the copies in use for the requested right is
simplicity, these are listed here rather than repeating them in
the descriptions of all of the usage rights transactions.
greater than or equal to any copy count for the requested
Transactions can refer to a part of a digital work, a 55 right (or relevant parts), step 1809. If the copies in use is
complete digital work, or a Digital work containing other
greater than or equal to the copy count, this indicates that
digital works. Although not described in detail herein, a
usage rights for the version of the transaction have been
exhausted. Accordingly, the server terminates the
transaction may even refer to a folder comprised of a
transaction, step 1805. If the copy count is less than the
plurality of digital works. The term "work" is used to refer
to what ever portion or set of digital works is being accessed. 60 copies in use for the transaction the transaction can continue,
Many of the steps here involve determining if certain
and the copies in use would be incremented by the number
of digital works requested in the transaction, step 1810.
conditions are satisfied. Recall that each usage right may
The server then checks if the digital work has a "Loan"
have one or more conditions which must be satisfied before
the right can be exercised. Digital works have parts and parts
access right, step 1811. The "Loan" access right is a special
have parts. Different parts can have different rights and fees. 65 case since remaining rights may be present even though all
copies are loaned out. If the digital work has the "Loan"
Thus, it is necessary to verify that the requirements are met
access right, a check is made to see if all copies have been
for ALL of the parts that are involved in a transaction For
US 6,963,859 B2
31
32
loaned out, step 1812. The number of copies that could be
FIG. 19 is a state diagram showing steps in the process of
loaned is the sum of the Copy-Counts for all of the versions
transmitting information during a transaction. Each box
of the loan right of the digital work. For a composite work,
represents a state of a repository in either the server mode
the relevant figure is the minimal such sum of each of the
(above the central dotted line 1901) or in the requester mode
components of the composite work. If all copies have been 5 (below the dotted line 1901). Solid arrows stand for transiloaned out, the remaining rights are determined, step 1813.
tions between states. Dashed arrows stand for message
The remaining-rights is determined from the remaining
communications between the repositories. A dashed mesrights specifications from the versions of the Loan right. If
sage arrow pointing to a solid transition arrow is interpreted
there is only one version of the Loan right, then the
as meaning that the transition takes place when the message
determination is simple. The remaining rights are the ones
10 is received. Unlabeled transition arrows take place unconspecified in that version of the Loan right, or none if
ditionally. Other labels on state transition arrows describe
Remaining-Rights: is not specified. If there are multiple
conditions that trigger the transition.
versions of the Loan right and all copies of all of the versions
Referring now to FIG. 19, the server is initially in a state
are loaned out, then the remaining rights is taken as the
1902 where a new transaction is initiated via start message
minimum set (intersection) of remaining rights across all of
the versions of the loan right. The server then determines if 15 1903. This message includes transaction information including a transaction identifier and a count of the blocks of data
the requested right is in the set of remaining rights, step
to be transferred. The requester, initially in a wait state 1904
1814. If the requested right is not in the set of remaining
then enters a data wait state 1905.
rights, the server terminates the transaction, step 1805.
The server enters a data transmit state 1906 and transmits
If Loan is not a usage right for the digital work or if all
copies have not been loaned out or the requested right is in 20 a block of data 1907 and then enters a wait for acknowlthe set of remaining rights, fee conditions for the right are
edgement state 1908. As the data is received, the requesters
then checked, step 1815. This will initiate various financial
enters a data receive state 1909 and when the data blocks is
transactions between the repository and associated credit
completely received it enters an acknowledgement state
server. Further, any metering of usage of a digital work will
1910 and transmits an Acknowledgement message 1911 to
commence. If any financial transaction fails, the transaction 25 the server.
terminates per step 1805.
If there are more blocks to send, the server waits until
It should be noted that the order in which the conditions
receiving an Acknowledgement message from the requester.
are checked need not follow the order of steps 1806-1815.
When an Acknowledgement message is received it sends the
At this point, right specific steps are now performed and
next block to the requester and again waits for acknowlare represented here as step 1816. The right specific steps are
30 edgement. The requester also repeats the same cycle of
described in greater detail below.
states.
The common closing transaction steps are now perIf the server detects a communications failure before
formed. Each of the closing transaction steps are performed
sending the last block, it enters a cancellation state 1912
by the server after a successful completion of a transaction.
wherein the transaction is cancelled. Similarly, if the
Referring back to FIG. 18, the copies in use value for the
requested right is decremented by the number of copies 35 requester detects a communications failure before receiving
the last block it enters a cancellation state 1913.
involved in the transaction, step 1817. Next, if the right had
If there are no more blocks to send, the server commits to
a metered usage fee specification, the server subtracts the
the transaction and waits for the final Acknowledgement in
elapsed time from the Remaining-Use-Time associated with
state 1914. If there is a communications failure before the
the right for every part involved in the transaction, step
1818. Finally, if there are fee specifications associated with 40 server receives the final Acknowledgement message, it still
commits to the transaction but includes a report about the
the right, the server initiates End-Charge financial transaction to confirm billing, step 1819.
event to its credit server in state 1915. This report serves two
purposes. It will help legitimize any claims by a user of
Transmission Protocol
An important area to consider is the transmission of the
having been billed for receiving digital works that were not
digital work from the server to the requester. The transmis- 45 completely received. Also it helps to identify repositories
sion protocol described herein refers to events occurring
and communications lines that have suspicious patterns of
after a valid session has been created. The transmission
use and interruption. The server then enters its completion
protocol must handle the case of disruption in the commustate 1916
nications between the repositories. It is assumed that interOn the requester side, when there are no more blocks to
ference such as injecting noise on the communication chan- 50 receive, the requester commits to the transaction in state
nel can be detected by the integrity checks (e.g., parity,
1917. If the requester detects a communications failure at
checksum, etc.) that are built into the transport protocol and
this state, it reports the failure to its credit server in state
are not discussed in detail herein.
1918, but still commits to the transaction. When it has
The underlying goal in the transmission protocol is to
committed, it sends an acknowledgement message to the
preclude certain failure modes, such as malicious or acci- 55 server. The server then enters its completion state 1919
dental interference on the communications channel.
The key property is that both the server and the requester
Suppose, for example, that a user pulls a card with the credit
cancel a transaction if it is interrupted before all of the data
server at a specific time near the end of a transaction. There
blocks are delivered, and commits to it if all of the data
should not be a vulnerable time at which "pulling the card"
blocks have been delivered.
There is a possibility that the server will have sent all of
causes the repositories to fail to correctly account for the 60
number of copies of the work that have been created.
the data blocks (and committed) but the requester will not
Restated, there should be no time at which a party can break
have received all of them and will cancel the transaction. In
a connection as a means to avoid payment after using a
this case, both repositories will presumably detect a comdigital work.
munications failure and report it to their credit server. This
If a transaction is interrupted (and fails), both repositories 65 case will probably be rare since it depends on very precise
timing of the communications failure. The only consequence
restore the digital works and accounts to their state prior to
the failure, modulo records of the failure itself.
will be that the user at the requester repository may want to
US 6,963,859 B2
33
34
request a refund from the credit services-and the case for
The Transfer Transaction
A Transfer transaction is a request to move copies of the
that refund will be documented by reports by both repositories.
work with the same or lesser usage rights to another reposiTo prevent loss of data, the server should not delete any
tory. In contrast with a copy transaction, this results in
transferred digital work until receiving the final acknowl- 5 removing the work copies from the server.
edgement from the requester. But it also should not use the
The requester sends the server a message to initiate the
file. A well known way to deal with this situation is called
Transfer Transaction. This message indicates the work
"two-phase commit" or 2PC.
to be transferred, the version of the transfer right to be
Two-phase commit works as follows. The first phase
used in the transaction, the destination address inforworks the same as the method described above. The server 10
mation for placing the work, the file data for the work,
sends all of the data to the requester. Both repositories mark
and the number of copies involved.
the transaction (and appropriate files) as uncommitted. The
The repositories perform the common opening transaction
server sends a ready-to-commit message to the requester.
steps.
The requester sends back an acknowledgement. The server
The server transmits the requested contents and data to the
then commits and sends the requester a commit message. 15
requester according to the transmission protocol. If a
When the requester receives the commit message, it comNext-Set-Of-Rights has been provided, those rights are
mits the file.
transmitted as the rights for the work. Otherwise, the
If there is a communication failure or other crash, the
rights of the original are transmitted. In either case, the
requester must check back with the server to determine the
Copy-Count field for the transmitted rights are set to
status of the transaction. The server has the last word on this. 20
the number-of-copies requested.
The requester may have received all of the data, but if it did
The requester records the work contents, data, and usage
not get the final message, it has not committed. The server
rights and stores the work.
can go ahead and delete files (except for transaction records)
The server decrements its copy count by the number of
once it commits, since the files are known to have been fully
copies involved in the transaction.
25
transmitted before starting the 2PC cycle.
The repositories perform the common closing transaction
There are variations known in the art which can be used
steps.
to achieve the same effect. For example, the server could use
an additional level of encryption when transmitting a work
If the number of copies remaining in the server is now
to a client. Only after the client sends a message acknowlzero, it erases the digital work from its memory.
edging receipt does it send the key. The client then agrees to 30 The Loan Transaction
pay for the digital work. The point of this variation is that it
A loan transaction is a mechanism for loaning copies of a
provides a clear audit trail that the client received the work.
digital work. The maximum duration of the loan is deterFor trusted systems, however, this variation adds a level of
mined by an internal parameter of the digital work. Works
encryption for no real gain in accountability.
are automatically returned after a predetermined time
The transaction for specific usage rights are now dis- 35 period.
cussed.
The requester sends the server a message to initiate the
The Copy Transaction
Transfer Transaction. This message indicates the work
A Copy transaction is a request to make one or more
to be loaned, the version of the loan right to be used in
independent copies of the work with the same or lesser usage
the transaction, the destination address information for
rights. Copy differs from the extraction right discussed later 40
placing the work, the number of copies involved, the
in that it refers to entire digital works or entire folders
file data for the work, and the period of the loan.
containing digital works. A copy operation cannot be used to
The server checks the validity of the requested loan
remove a portion of a digital work.
period, and ends with an error if the period is not valid.
The requester sends the server a message to initiate the
Loans for a loaned copy cannot extend beyond the
Copy Transaction. This message indicates the work to 45
period of the original loan to the server.
be copied, the version of the copy right to be used for
The repositories perform the common opening transaction
the transaction, the destination address information
steps.
(location in a folder) for placing the work, the file data
The server transmits the requested contents and data to the
for the work (including its size), and the number of
requester. If a Next-Set-Of-Rights has been provided,
50
copies requested.
those rights are transmitted as the rights for the work.
The repositories perform the common opening transaction
Otherwise, the rights of the original are transmitted, as
steps.
modified to reflect the loan period.
The server transmits the requested contents and data to the
The requester records the digital work contents, data,
client according to the transmission protocol. If a 55
usage rights, and loan period and stores the work.
Next-Set-Of-Rights has been provided in the version of
The server updates the usage rights information in the
the right, those rights are transmitted as the rights for
digital work to reflect the number of copies loaned out.
the work. Otherwise, the rights of the original are
The repositories perform the common closing transaction
transmitted. In any event, the Copy-Count field for the
steps.
copy of the digital work being sent right is set to the 60
The server updates the usage rights data for the digital
number-of-copies requested.
work. This may preclude use of the work until it is
The requester records the work contents, data, and usage
returned from the loan. The user on the requester
rights and stores the work. It records the date and time
platform can now use the transferred copies of the
that the copy was made in the properties of the digital
digital work. A user accessing the original repository
work.
65
cannot use the digital work, unless there are copies
The repositories perform the common closing transaction
remaining. What happens next depends on the order of
steps.
events in time.
US 6,963,859 B2
35
36
Case 1. If the time of the loan period is not yet
with ink on paper. However, the key aspect of "printing" in
exhausted and the requester sends the repository a
our use of the term is that it makes a copy of the digital work
Return message.
in a place outside of the protection of usage rights. As with
The return message includes the requester
all rights, this may require particular authorization certifiidentification, and the transaction ID.
5 cates.
The server decrements the copies-in-use field by the
Once a digital work is printed, the publisher and user are
number of copies that were returned. (If the numbound by whatever copyright laws are in effect. However,
printing moves the contents outside the control of repositober of digital works returned is greater than the
ries. For example, absent any other enforcement
number actually borrowed, this is treated as an
error.) This step may now make the work available 10 mechanisms, once a digital work is printed on paper, it can
be copied on ordinary photocopying machines without interat the server for other users.
vention by a repository to collect usage fees. If the printer to
The requester deactivates its copies and removes the
a digital disk is permitted, then that digital copy is outside
contents from its memory.
of the control of usage rights. Both the creator and the user
Case 2. If the time of the loan period is exhausted and
the requester has not yet sent a Return message.
15 know this, although the creator does not necessarily give
The server decrements the copies-in-use field by the
tacit consent to such copying, which may violate copyright
laws.
number digital works that were borrowed.
The requester automatically deactivates its copies of
The requester sends the server a message to initiate a Print
the digital work. It terminates all current uses and
transaction. This message indicates the work to be
erases the digital work copies from memory. One 20
played, the identity of the printer being used, the file
question is why a requester would ever return a
data for the work, and the number of copies in the
work earlier than the period of the loan, since it
request.
would be returned automatically anyway. One
The server checks the validity of the printer identification
reason for early return is that there may be a
and the compatibility of the printer identification with
metered fee which determines the cost of the loan. 25
the printer specification in the right. It ends with an
Returning early may reduce that fee.
error if these are not satisfactory.
The Play Transaction
The repositories perform the common opening transaction
A play transaction is a request to use the contents of a
steps.
work. Typically, to "play" a work is to send the digital work
The server transmits blocks of data according to the
through some kind of transducer, such as a speaker or a 30
transmission protocol.
display device. The request implies the intention that the
The requester prints the work contents, using the printer.
contents will not be communicated digitally to any other
When the printer is finished, the printer and the requester
system. For example, they will not be sent to a printer,
remove the contents from their memory.
recorded on any digital medium, retained after the transacThe repositories perform the common closing transaction
35
tion or sent to another repository.
steps.
This term "play" is natural for examples like playing
The Backup Transaction
music, playing a movie, or playing a video game. The
A Backup transaction is a request to make a backup copy
general form of play means that a "player" is used to use the
of a digital work, as a protection against media failure. In the
digital work. However, the term play covers all media and
kinds of recordings. Thus one would "play" a digital work, 40 context of repositories, secure backup copies differ from
other copies in three ways: (1) they are made under the
meaning, to render it for reading, or play a computer
control of a Backup transaction rather than a Copy
program, meaning to execute it. For a digital ticket the
transaction, (2) they do not count as regular copies, and (3)
player would be a digital ticket agent.
they are not usable as regular copies. Generally, backup
The requester sends the server a message to initiate the
play transaction. This message indicates the work to be 45 copies are encrypted.
Although backup copies may be transferred or copied,
played, the version of the play right to be used in the
depending on their assigned rights, the only way to make
transaction, the identity of the player being used, and
them useful for playing, printing or embedding is to restore
the file data for the work.
them.
The server checks the validity of the player identification
The output of a Backup operation is both an encrypted
50
and the compatibility of the player identification with
data file that contains the contents and description of a work,
the player specification in the right. It ends with an
and a restoration file with an encryption key for restoring the
error if these are not satisfactory.
encrypted contents. In many cases, the encrypted data file
The repositories perform the common opening transaction
would have rights for "printing" it to a disk outside of the
steps.
55 protection system, relying just on its encryption for security.
The server and requester read and write the blocks of data
Such files could be stored anywhere that was physically safe
as requested by the player according to the transmission
and convenient. The restoration file would be held in the
protocol. The requester plays the work contents, using
repository. This file is necessary for the restoration of a
the player.
backup copy. It may have rights for transfer between reposiWhen the player is finished, the player and the requester 60 tories.
remove the contents from their memory.
The requester sends the server a message to initiate a
backup transaction. This message indicates the work to
The repositories perform the common closing transaction
be backed up, the version of the backup right to be used
steps.
in the transaction, the destination address information
The Print Transaction
for placing the backup copy, the file data for the work.
A Print transaction is a request to obtain the contents of a 65
The repositories perform the common opening transaction
work for the purpose of rendering them on a "printer." We
use the term "printer" to include the common case of writing
steps.
US 6,963,859 B2
37
38
The server transmits the requested contents and data to the
roughly the same idea as protection codes in a conventional
requester. If a Next-Set-Of-Rights has been provided,
file system like TENEX, except that it is generalized to the
those rights are transmitted as the rights for the work.
full power of the access specifications of the usage rights
Otherwise, a set of default rights for backup files of the
language.
original are transmitted by the server.
5
The Directory transaction has the important role of passThe requester records the work contents, data, and usage
ing along descriptions of the rights and fees associated with
rights. It then creates a one-time key and encrypts the
a digital work. When a user wants to exercise a right, the
contents file. It saves the key information in a restorauser interface of his repository implicitly makes a directory
tion file.
request to determine the versions of the right that are
The repositories perform the common closing transaction 10 available. Typically these are presented to the user such as
steps.
with different choices of billing for exercising a right. Thus,
In some cases, it is convenient to be able to archive the
many directory transactions are invisible to the user and are
large, encrypted contents file to secure offline storage, such
exercised as part of the normal process of exercising all
as a magneto-optical storage system or magnetic tape. This
rights.
creation of a non-repository archive file is as secure as the 15
The requester sends the server a message to initiate a
encryption process. Such non-repository archive storage is
Directory transaction. This message indicates the file or
considered a form of "printing" and is controlled by a print
folder that is the root of the directory request and the
right with a specified "archive-printer." An archive-printer
version of the directory right used for the transaction.
device is programmed to save the encrypted contents file
The server verifies that the information is accessible to the
(but not the description file) offline in such a way that it can 20
requester.
be retrieved.
In particular, it does not return the names of any files that
The Restore Transaction
have a HIDE-NAME status in their directory specifications,
A Restore transaction is a request to convert an encrypted
and it does not return the parts of any folders or files that
backup copy of a digital work into a usable copy. A restore
have HIDE-PARTS in their specification. If the information
operation is intended to be used to compensate for cata- 25
is not accessible, the server ends the transaction with an
strophic media failure. Like all usage rights, restoration
error.
rights can include fees and access tests including authoriThe repositories perform the common opening transaction
zation checks.
steps.
The requester sends the server a message to initiate a
The server sends the requested data to the requester
Restore transaction. This message indicates the work to 30
according to the transmission protocol.
be restored, the version of the restore right for the
The requester records the data.
transaction, the destination address information for
placing the work, and the file data for the work.
The repositories perform the common closing transaction
The server verifies that the contents file is available (i.e.
steps.
a digital work corresponding to the request has been 35 The Folder Transaction
backed-up.) If it is not, it ends the transaction with an
A Folder transaction is a request to create or rename a
error.
folder, or to move a work between folders. Together with
The repositories perform the common opening transaction
Directory rights, Folder rights control the degree to which
steps.
organization of a repository can be accessed or modified
The server retrieves the key from the restoration file. It 40 from another repository.
decrypts the work contents, data, and usage rights.
The requester sends the server a message to 1mt1ate a
Folder transaction. This message indicates the folder
The server transmits the requested contents and data to the
that is the root of the folder request, the version of the
requester according to the transmission protocol. If a
Next-Set-Of-Rights has been provided, those rights are
folder right for the transaction, an operation, and data.
transmitted as the rights for the work. Otherwise, a set 45
The operation can be one of create, rename, and move
of default rights for backup files of the original are
file. The data are the specifications required for the
transmitted by the server.
operation, such as a specification of a folder or digital
work and a name.
The requester stores the digital work.
The repositories perform the common opening transaction
The repositories perform the common closing transaction 50
steps.
steps.
The Delete Transaction
The server performs the requested operation--creating a
A Delete transaction deletes a digital work or a number of
folder, renaming a folder, or moving a work between
copies of a digital work from a repository. Practically all
folders.
digital works would have delete rights.
The repositories perform the common closing transaction
55
The requester sends the server a message to initiate a
steps.
delete transaction. This message indicates the work to
The Extract Transaction
be deleted, the version of the delete right for the
A extract transaction is a request to copy a part of a digital
transaction.
work and to create a new work containing it. The extraction
The repositories perform the common opening transaction 60 operation differs from copying in that it can be used to
steps.
separate a part of a digital work from d-blocks or shells that
place additional restrictions or fees on it. The extraction
The server deletes the file, erasing it from the file system.
operation differs from the edit operation in that it does not
The repositories perform the common closing transaction
change the contents of a work, only its embedding in
steps.
The Directory Transaction
65 d-blocks. Extraction creates a new digital work.
The requester sends the server a message to initiate an
A Directory transaction is a request for information about
Extract transaction. This message indicates the part of
folders, digital works, and their parts. This amounts to
US 6,963,859 B2
39
40
the work to be extracted, the version of the extract right
size), the process-ID for the process, and the number of
copies involved.
to be used in the transaction, the destination address
information for placing the part as a new work, the file
The server checks the compatibility of the process-ID to
be used by the requester against any process-ID specidata for the work, and the number of copies involved.
fication in the right. If they are incompatible, it ends the
The repositories perform the common opening transaction 5
transaction with an error.
steps.
The repositories perform the common opening transaction
The server transmits the requested contents and data to the
steps.
requester according to the transmission protocol. If a
The requester uses the process to change the contents of
Next-Set-Of-Rights has been provided, those rights are
the digital work as desired. (For example, it can select
transmitted as the rights for the new work. Otherwise, 10
and duplicate parts of it; combine it with other inforthe rights of the original are transmitted. The Copymation; or compute functions based on the information.
Count field for this right is set to the number-of-copies
This can amount to editing text, music, or pictures or
requested.
taking whatever other steps are useful in creating a
The requester records the contents, data, and usage rights 15
derivative work.)
and stores the work. It records the date and time that
The repositories perform the common closing transaction
new work was made in the properties of the work.
steps.
The edit transaction is used to cover a wide range of kinds
The repositories perform the common closing transaction
of works. The category describes a process that takes as its
steps.
The Embed Transaction
20 input any portion of a digital work and then modifies the
An embed transaction is a request to make a digital work
input in some way. For example, for text, a process for
editing the text would require edit rights. A process for
become a part of another digital work or to add a shell
"summarizing" or counting words in the text would also be
d-block to enable the adding of fees by a distributor of the
considered editing. For a music file, processing could
work.
The requester sends the server a message to initiate an 25 involve changing the pitch or tempo, or adding
reverberations, or any other audio effect. For digital video
Embed transaction. This message indicates the work to
works, anything which alters the image would require edit
be embedded, the version of the embed right to be used
rights. Examples would be colorizing, scaling, extracting
in the transaction, the destination address information
still photos, selecting and combining frames into story
for placing the part as a a work, the file data for the
30 boards, sharpening with signal processing, and so on.
work, and the number of copies involved.
Some creators may want to protect the authenticity of
The server checks the control specifications for all of the
their works by limiting the kinds of processes that can be
rights in the part and the destination. If they are
performed on them. If there are no edit rights, then no
incompatible, the server ends the transaction with an
processing is allowed at all. A processor identifier can be
error.
included to specify what kind of process is allowed. If no
The repositories perform the common opening transaction 35 process identifier is specified, then arbitrary processors can
steps.
be used. For an example of a specific process, a photograThe server transmits the requested contents and data to the
pher may want to allow use of his photograph but may not
requester according to the transmission protocol. If a
want it to be colorized. A musician may want to allow
Next-Set-Of-Rights has been provided, those rights are
40 extraction of portions of his work but not changing of the
transmitted as the rights for the new work. Otherwise,
tonality.
the rights of the original are transmitted. The CopyAuthorization Transactions
Count field for this right is set to the number-of-copies
There are many ways that authorization transactions can
requested.
be defined. In the following, our preferred way is to simply
The requester records the contents, data, and usage rights 45 define them in terms of other transactions that we already
and embeds the work in the destination file.
need for repositories. Thus, it is convenient sometimes to
speak of "authorization transactions," but they are actually
The repositories perform the common closing transaction
made up of other transactions that repositories already have.
steps.
A usage right can specify an authorization-ID, which
The Edit Transaction
An Edit transaction is a request to make a new digital 50 identifies an authorization object (a digital work in a file of
a standard format) that the repository must have and which
work by copying, selecting and modifying portions of an
it must process. The authorization is given to the generic
existing digital work. This operation can actually change the
authorization (or ticket) server of the repository which
contents of a digital work. The kinds of changes that are
begins to interpret the authorization.
permitted depend on the process being used. Like the
As described earlier, the authorization contains a server
extraction operation, edit operates on portions of a digital 55
identifier, which may just be the generic authorization server
work. In contrast with the extract operation, edit does not
or it may be another server. When a remote authorization
effect the rights or location of the work. It only changes the
server is required, it must contain a digital address. It may
contents. The kinds of changes permitted are determined by
also contain a digital certificate.
the type specification of the processor specified in the rights.
If a remote authorization server is required, then the
In the currently preferred embodiment, an edit transaction 60
authorization process first performs the following steps:
changes the work itself and does not make a new work.
However, it would be a reasonable variation to cause a new
The generic authorization server attempts to set up the
copy of the work to be made.
communications channel. (If the channel cannot be set
up, then authorization fails with an error.)
The requester sends the server a message to initiate an
Edit transaction. This message indicates the work to be 65
When the channel is set up, it performs a registration
process with the remote repository. (If registration fails,
edited, the version of the edit right to be used in the
transaction, the file data for the work (including its
then the authorization fails with an error.)
US 6,963,859 B2
41
42
When registration is complete, the generic authorization
repository where it is no longer accessible as a work for
exercising any usage rights other than the execution of
server invokes a "Play" transaction with the remote
the software as part of repository operations in carrying
repository, supplying the authorization document as the
out other transactions.
digital work to be played, and the remote authorization
The repositories perform the common closing transaction
server (a program) as the "player." (If the player cannot 5
steps.
be found or has some other error, then the authorization
The Uninstall Transaction
fails with an error.)
An Uninstall transaction is a request to remove software
The authorization server then "plays" the authorization.
from a repository. Since uncontrolled or incorrect removal of
This involves decrypting it using either the public key
software from a repository could compromise its behavioral
of the master repository that issued the certificate or the 10
integrity, this step is controlled.
session key from the repository that transmitted it. The
The requester sends the server an Uninstall message. This
authorization server then performs various tests. These
message indicates the work to be uninstalled, the vertests vary according to the authorization server. They
sion of the Uninstall right being invoked, and the file
include such steps as checking issue and validity dates
data for the work (including its size).
of the authorization and checking any hot-lists of 15
The repositories perform the common opening transaction
known invalid authorizations. The authorization server
steps.
may require carrying out any other transactions on the
The requester extracts a copy of the digital certificate for
repository as well, such as checking directories, getting
the software. If the certificate cannot be found or the
some person to supply a password, or playing some
master repository for the certificate is not known to the
other digital work. It may also invoke some special 20
requester, the transaction ends with an error.
process for checking information about locations or
The requester checks whether the software is installed. If
recent events. The "script" for such steps is contained
the software is not installed, the transaction ends with
within the authorization server.
an error.
If all of the required steps are completed satisfactorily, the
The requester decrypts the digital certificate using the
25
authorization server completes the transaction
public key of the master repository, recording the
normally, signaling that authorization is granted.
identity of the supplier and creator, a key for decrypting
The Install Transaction
the software, the compatibility information, and a
An Install transaction is a request to install a digital work
tamper-checking code. (This step authenticates the ceras runnable software on a repository. In a typical case, the
tification of the software, including the script for unin30
requester repository is a rendering repository and the softstalling it.)
ware would be a new kind or new version of a player. Also
The requester decrypts the software using the key from
in a typical case, the software would be copied to file system
the certificate and computes a check code on it using a
of the requester repository before it is installed.
1-way hash function. If the check-code does not match
The requester sends the server an Install message. This
the tamper-checking code from the certificate, the
35
message indicates the work to be installed, the version
installation transaction ends with an error. (This step
of the Install right being invoked, and the file data for
assures that the contents of the software, including the
the work (including its size).
various scripts, have not been tampered with.)
The repositories perform the common opening transaction
The requester retrieves the instructions in the uninstallasteps.
tion script and follows them. If there is an error in this
40
The requester extracts a copy of the digital certificate for
process (such as insufficient resources), then the transthe software. If the certificate cannot be found or the
action ends with an error.
master repository for the certificate is not known to the
The repositories perform the common closing transaction
requester, the transaction ends with an error.
steps.
The requester decrypts the digital certificate using the 45 Distribution and Use Scenarios
public key of the master repository, recording the
To appreciate the robustness and flexibility of the present
identity of the supplier and creator, a key for decrypting
invention, various distribution and use scenarios for digital
the software, the compatibility information, and a
works are illustrated below. These scenarios are meant to be
tamper-checking code. (This step certifies the
exemplary rather than exhaustive.
software.)
50 Consumers as Unpaid Distributors
The requester decrypts the software using the key from
In this scenario, a creator distributes copies of his works
the certificate and computes a check code on it using a
to various consumers. Each consumer is a potential distribu1-way hash function. If the check-code does not match
tor of the work. If the consumer copies the digital work
the tamper-checking code from the certificate, the
(usually for a third party), a fee is collected and automatiinstallation transaction ends with an error. (This step 55 cally paid to the creator.
assures that the contents of the software, including the
This scenario is a new twist for digital works. It depends
various scripts, have not been tampered with.)
on the idea that "manufacturing" is just copying and is
The requester retrieves the instructions in the
essentially free. It also assumes that the consumers as
compatibility-checking script and follows them. If the
distributors do not require a fee for their time and effort in
software is not compatible with the repository, the 60 distributing the work.
installation transaction ends with an error. (This step
This scenario is performed as follows:
checks platform compatibility.)
A creator creates a digital work. He grants a Copy right
The requester retrieves the instructions in the installation
with fees paid back to himself. If he does not grant an Embed
script and follows them. If there is an error in this
right, then consumers cannot use the mechanism to act as
process (such as insufficient resources), then the trans- 65 distributors to cause fees to be paid to themselves on future
action ends with an error. Note that the installation
copies. Of course, they could negotiate side deals or trades
to transfer money on their own, outside of the system.
process puts the runnable software in a place in the
US 6,963,859 B2
43
44
Paid Distributors
Super Distributors
In another scenario, every time a copy of a digital work
This is a variation on the previous scenarios. A distributor
is sold a fee is paid to the creator and also to the immediate
can sell to anyone and anyone can sell additional copies,
distributor.
resulting in fees being paid back to the creator. However,
This scenario does not give special status to any particular 5 only licensed distributors can add fees to be paid to themdistributor. Anyone who sells a document has the right to
selves.
add a fee to the sale price. The fee for sale could be
This scenario gives distributors the right to add fees to
established by the consumer. It could also be a fixed nominal
cover their own advertising and promotional costs, without
amount that is contributed to the account of some charity.
making them be the sole suppliers. Their customers can also
This scenario is performed as follows:
10 make copies, thus broadening the channel without diminA creator creates a digital work. He grants a Copy right
ishing their revenues. This is because distributors collect
with fees to be paid back to himself. He grants an Embed
fees from copies of any copies that they originally sold. Only
right, so that anyone can add shells to have fees paid to
distributors can add fees.
themselves.
This scenario is performed similarly to the previous ones.
A distributor embeds the work in a shell, with fees 15 There are two key differences. (1) The creator only grants
specified to be paid back to himself. If the distributor is
Embed rights for people who have a Distribution license.
content to receive fees only for copies that he sells himself,
This is done by putting a requirement for a distributor's
he grants an Extract right on the shell.
license on the Embed right. Consequently, non-distributors
When a consumer buys a copy from the distributor, fees
cannot add their own fees. (2) The Distributor does not grant
are paid both to the distributor and to the creator. If he 20 Extract rights, so that consumers cannot avoid paying fees to
chooses, the consumer can extract the work from the disthe Distributor if they make subsequent copies.
tributor's shell. He cannot extract it from the creator's shell.
Consequently, all subsequent copies result in fees paid to the
He can add his own shell with fees to be paid to himself.
Distributor and the Creator.
Licensed Distribution
1-Level Distribution Fees
In this scenario, a creator wants to protect the reputation 25
In this scenario, a distributor gets a fee for any copy he
and value of his work by making certain requirements
sells directly. However, if one of his customers sells further
on its distributors. He issues licenses to distributors that
copies, he gets no further fee for those copies.
satisfy the requirements, and in turn, promises to
This scenario pays a distributor only for use of copies that
reward their efforts by assuring that the work will not
he actually sold.
be distributed over competing channels. The distribu- 30
This scenario is performed similarly to the previous ones.
tors incur expenses for selecting the digital work,
The key feature is that the distributor creates a shell which
explaining it to buyers, promoting its sale, and possibly
specifies fees to be paid to him. He puts Extract rights on the
for the license itself The distributor obtains the right to
shell. When a consumer buys the work, he can extract away
enclose the digital work in a shell, whose function is to
the distributor's shell. Copies made after that will not require
permit the attachment of usage fees to be paid to the 35 fees to be paid to the distributor.
distributor in addition to the fees to be paid to the
Distribution Trees
creator.
In another scenario, distributors sell to other distributors
This differs from the previous scenario in that it precludes
and fees are collected at each level. Every copy sold by any
the typical copy owner from functioning as a distributor,
distributor--even several d-blocks down in the chainsince the consumer lacks a license to copy the document. 40
results in a fee being paid back to all of the previous
Thus, a consumer cannot make copies, even for free. All
distributors.
copies must come initially from authorized distributors. This
This scenario is like a chain letter or value chain. Every
version makes it possible to hold distributors accountable in
contributor or distributor along the way obtains fees, and is
some way for the sales and support of the work, by conthereby encouraged to promote the sale of copies of the
trolling the distribution of certificates that enable distributors 45
digital work.
to legitimately charge fees and copy owners to make copies.
This scenario is performed similarly to the previous ones.
Since licenses are themselves digital works, the same
The key feature is that the distributor creates a shell which
mechanisms give the creators control over distributors by
specifies fees to be paid to him. He does not grant Extract
charging for licenses and putting time limits on their validrights on the shell. Consequently, all future copies that are
ity.
50
made will result in fees paid to him.
This scenario is performed as follows:
Weighted Distribution Trees
A creator purchases a digital distribution license that he
In this scenario, distributors make money according to a
will hand out to his distributors. He puts access requirements
distribution tree. The fee that they make depends on various
(such as a personal license) on the Copy and Transfer rights
on the distribution license so that only he can copy or 55 parameters, such as time since their sale or the number of
subsequent distributors.
transfer it.
This is a generalized version of the Distribution Tree
The creator also creates a digital work. He grants an
scenario, in that it tries to vary the fee to account for the
Embed right and a Copy right, both of which require the
significance of the role of the distributor.
distribution license to be exercised. He grants a Play right so
that the work can be played by anyone. He may optionally 60
This scenario is similar to the previous one. The difference is that the fee specification on the distributor's shell has
add a Transfer or Loan right, so that end consumers can do
provisions for changes in prices. For example, there could be
some non-commercial exchange of the work among friends.
a fee schedule so that copies made after the passage of time
A distributor obtains the distribution license and a number
will require lower fees to be paid to the distributor.
of copies of the work. He makes copies for his customers,
65 Alternatively, the distributor could employ a "best-price"
using his distribution license.
billing option, using any algorithm he chooses to determine
A customer buys and uses the work. He cannot make new
the fee up to the maximum specified in the shell.
copies because he lacks a distribution license.
US 6,963,859 B2
45
46
Fees for Reuse
Upgrading a Digital Work with a Vendor
In this scenario, a first creator creates a work. It is
A consumer buys a digital work together with an agreement that he can upgrade to a new version at a later date for
distributed by a first distributor and purchased by a second
a modest fee, much less than the usual purchase price. When
creator. The second creator extracts a portion of the work
and embeds in it a new work distributed by a second 5 the new version becomes available, he goes to a qualified
distributor. A consumer buys the new work from the second
vendor to make the transaction.
This scenario deals with a common situation in computer
distributor. The first creator receives fees from every transsoftware. It shows how a purchase may include future
action; the first distributor receives fees only for his sale; the
"rights." Two important features of the scenario are that the
second creator and second distributor receive fees for the
final sale.
transaction must take place at a qualified vendor, and that the
10
This scenario shows how that flexible automatic arrangetransaction can be done only once per copy of the digital
ments can be set up to create automatic charging systems
work purchased.
that mirror current practice. This scenario is analogous to
This scenario is performed as follows:
when an author pays a fee to reuse a figure in some paper.
The creator creates a digital work, an upgrade ticket, and
In the most common case, a fee is paid to the creator or
a distribution license. The upgrade ticket uses the a generic
15 ticket agent that comes with repositories. As usual, the
publisher, but not to the bookstore that sold the book.
The mechanisms for derived works are the same as those
distribution license does not have Copy or Transfer rights.
for distribution.
He distributes a bundled copies of the work and the ticket to
Limited Reuse
his distributors as well as distribution licenses.
In this scenario, several first creators create works. A
The distributor sells the old bundled work and ticket to
second creator makes a selection of these, publishing a 20 customers.
collection made up of the parts together with some new
The customer extracts the work and the ticket. He uses the
work according to the agreements until the new version
interstitial material. (For example, the digital work could be
becomes available.
a selection of music or a selection of readings.) The second
When the new work is ready, the creator gives it to
creator wants to continue to allow some of the selected
works to be extractable, but not the interstitial material.
25 distributors. The new work has a free right to copy from a
This scenario deals with fine grained control of the rights
distributor if a ticket is available.
and fees for reuse.
The consumer goes to distributors and arranges to copy
the work. The transaction offers the ticket. The distributor's
This scenario is performed as follows:
The first creators create their original works. If they grant
repository punches the ticket and copies the new version to
extraction and embedding rights, then the second creator can 30 the consumers repository.
include them in a larger collected work. The second creator
The consumer can now use the new version of the work.
creates the interstitial material. He does grant an Extract
Distributed Upgrading of Digital Works
A consumer buys a digital work together with an agreeright on the interstitial material. He grants Extract rights on
a subset of the reused material. A consumer of the collection
ment that he can upgrade to a new version at a later date for
can only extract portions that have that right. Fees are 35 a modest fee, much less than the usual purchase price. When
the new version becomes available, he goes to anyone who
automatically collected for all parts of the collection.
has the upgraded version and makes the transaction.
Commercial Libraries
This scenario is like the previous one in that the transacCommercial libraries buy works with the right to loan.
tion can only be done once per copy of the digital work
They limit the loan period and charge their own fees for use.
This scenario deals with fees for loaning rather than fees for 40 purchased, but the transaction can be accomplished without
making copies. The fees are collected by the same automatic
the need to connect to a licensed vendor.
mechanisms.
This scenario is similar to the previous one except that the
Copy right on the new work does not require a distribution
The mechanisms are the same as previous scenarios
except that the fees are associated with the Loan usage right
license. The consumer can upgrade from any repository
rather than the Copy usage right.
45 having the new version. He cannot upgrade more than once
Demo Versions
because the ticket cannot work after it has been punched. If
desired, the repository can record the upgrade transaction by
A creator believes that if people try his work that they will
want to buy it or use it. Consumers of his work can copy the
posting a zero cost bill to alert the creator that the upgrade
work for free, and play (or execute) a limited version of the
has taken place.
work for free, and can play or use the full featured version 50 Limited Printing
A consumer buys a digital work and wants to make a few
for a fee.
ephemeral copies. For example, he may want to print out a
This scenario deals with fees for loaning rather than fees
paper copy of part of a digital newspaper, or he may want to
for making copies. The fees are collected by the same
automatic mechanisms.
make a (first generation) analog cassette tape for playing in
This scenario is performed as follows:
55 his car. He buys the digital work together with a ticket
The creator creates a digital work and grants various rights
required for printing rights.
and fees. The creator grants Copy and Embed rights without
This scenario is like the common practice of people
a fee, in order to ensure widespread distribution of the work.
making cassette tapes to play in their car. If a publisher
Another of the rights is a limited play right with little or no
permits the making of cassette tapes, there is nothing to
fee attached. For example, this right may be for playing only 60 prevent a consumer from further copying the tapes.
a portion of the work. The play right can have various
However, since the tapes are "analog copies," there is a
restrictions on its use. It could have a ticket that limits the
noticeable quality loss with subsequent generations. The
number of times it is used. It could have internal restrictions
new contribution of the present invention is the use of tickets
that limit its functionality. It could have time restrictions that
in the access controls for the making of the analog copies.
invalidate the right after a period of time or a period of use. 65
This scenario is performed as follows:
The creator sells a work together with limited printing
Different fees could be associated with other versions of the
rights. The printing rights specify the kind of printer (e.g., a
Play right.
US 6,963,859 B2
47
48
kind of cassette recorder or a kind of desktop paper printer)
Rational Database Usage Charges
and also the kind of ticket required. The creator either
Online information retrieval services typically charge for
bundles a limited number of tickets or sells them separately.
access in a way that most clients find unpredictable and
If the tickets use the generic ticket agent, the consumer with
uncorrelated to value or information use. The fee depends on
the tickets can exercise the right at his convenience.
5 which databases are open, dial-up connect time, how long
the searches require, and which articles are printed out.
Demand Publishing
There are no provisions for extracting articles or
Professors in a business school want to put together
photographs, no method for paying to reuse information in
course books of readings selected from scenario studies
new works, no distinction between having the terminal sit
from various sources. The bookstore wants to be able to print
the books from digital masters, without negotiating for and 10 idly versus actively searching for data, no distinction
between reading articles on the screen and doing nothing,
waiting for approval of printing of each of the scenarios. The
and higher rates per search when the centralized facility is
copyright holders of the scenarios want to be sure that they
busy and slow servicing other clients. Articles can not be
are paid for every copy of their work that is printed.
ofiloaded to the client's machine for off-site search and
On many college campuses, the hassle of obtaining copy
clearances in a timely way has greatly reduced the viability 15 printing. To offer such billing or the expanded services, the
service company would need a secure way to account for
of preparing course books. Print shops have become much
and bill for how information is used.
more cautious about copying works in the absence of
This scenario is performed as follows:
documented permission.
The information service bundles its database as files in a
Demand Publishing is performed as follows: the creator
20 repository. The information services company assigns difsells a work together with printing rights for a fee. There can
ferent fees for different rights on the information files. For
be rights to copy (distribute) the work between bookstore
example, there could be a fee for copying a search database
repositories, with or without fee. The printing rights specify
or a source file and a different fee for printing. These fees
the kind of printer. Whenever a bookstore prints one of the
would be in addition to fees assigned by the original creator
works (either standalone or embedded in a collection), the
fee is credited to the creator automatically. To discourage 25 for the services. The fees for using information would be
different for using them on the information service compaunauthorized copying of the print outs, it would be possible
ny's computers or the client's computers. This billing disfor the printer to print tracer messages discretely on the
tinction would be controlled by having different versions of
pages identifying the printing transaction, the copy number,
the rights, where the version for use on the service compaand any other identifying information. The tracer informa30 ny's computer requires a digital certificate held locally. Fees
tion could be secretly embedded in the text itself (encoded
for copying or printing files would be handled in the usual
in the grey scale) or hidden in some other way.
way, by assigning fees to exercising those rights. The
Metered Use and Multiple Price Packages
distinction between searching and viewing information
A consumer does not know what music to purchase until
would be made by having different "players" for the differhe decides whether he likes it. He would like to be able to 35 ent functions. This distinction would be maintained on the
take it home and listen to it, and then decide whether to
client's computers as well as the service computers. Articles
purchase. Furthermore, he would like the flexibility of
could be extracted for reuse under the control of Extract and
paying less if he listens to it very infrequently.
Embed rights. Thus, if a client extracts part of an article or
This scenario just uses the capability of the approach to
photograph, and then sells copies of a new digital work
have multiple versions of a right on a digital work. Each 40 incorporating it, fees could automatically be collected both
version of the right has its own billing scheme. In this
by the information service and earlier creators and distribuscenario, the creator of the work can offer the Copy right
tors of the digital work. In this way, the information retrieval
without fee, and defer billing to the exercise of the Play
service could both offer a wider selection of services and
right. One version of the play right would allow a limited
billing that more accurately reflects the client's use of the
performance without fee-a right to "demo". Another ver- 45 information.
sian of the right could have a metered rate, of say $0.25 per
Print Spooling with Rights
hour of play. Another version could have a fee of $15.00 for
In the simplest scenario, when a user wants to print a
the first play, but no fee for further playing. When the
digital document he issues a print command to the user
consumer exercises a play right, he specifies which version
interface. If the document has the appropriate rights and the
of the right is being selected and is billed accordingly.
50 conditions are satisfied, the user agrees to the fee and the
Fees for Font Usage
document is printed. In other cases, the printer may be on a
A designer of type fonts invests several months in the
remote repository and it is convenient to spool the printing
design of special fonts. The most common way of obtaining
to a later time. This leads to several issues. The user
revenue for this work is to sell copies of the fonts to
requesting the printing wants to be sure that he is not billed
publishers for unlimited use over unlimited periods of time. 55 for the printing until the document is actually printed.
A font designer would like to charge a rate that reflects the
Restated, if he is billed at the time the print job is spooled
amount that the font is used.
but the job is canceled before printing is done, he does not
This scenario is performed as follows: the font designer
want to pay. Another issue is that when spooling is
creates a font as a digital work. He creates versions of the
permitted, there are now two times at which rights, condiPlay right that bill either for metered use or "per-use". Each 60 tions and fees could be checked: the time at which a print job
is spooled and the time at which a print is made. As with all
version of the play right would require that the player (a
print layout program) be of an approved category. The font
usage rights, it is possible to have rights that expire and to
designer assigns appropriate fees to exercise the Copy right.
have rights whose fee depends on various conditions. What
When a publisher client wants to use a font, he includes it
is needed is a means to check rights and conditions at the
as input to a layout program, and is billed automatically for 65 time that printing is actually done.
This scenario is performed as follows: A printing reposiits use. In this way, a publisher who makes little use of a font
tory is a repository with the usual repository characteristics
pays less than one who uses it a lot.
US 6,963,859 B2
49
50
plus the hardware and software to enable printing. Suppose
Description Tree:
that a user logs into a home repository and wants to spool
A structure which describes the location of content and
print jobs for a digital work at a remote printing repository.
the usage rights and usage fees for a digital work. A
The user interface for this could treat this as a request to
description tree is comprised of description blocks. Each
"spool" prints. Underneath this "spooling" request, 5 description block corresponds to a digital work or to an
interest (typically a revenue bearing interest) in a digital
however, are standard rights and requests. To support such
work.
requests, the creator of the work provides a Copy right,
Digital Work (Work):
which can be used to copy the work to a printing repository.
Any encapsulated digital information. Such digital inforIn the default case, this Copy right would have no fees
associated for making the copy. However, the Next-Set-Of- 10 mation may represent music, a magazine or book, or a
Rights for the copy would only include the Print rights, with
multimedia composition. Usage rights and fees are attached
to the digital work.
the usual fees for each variation of printing. This version of
the Copy right could be called the "print spooling" version
Distributor:
of the Copy right. The user's "spool request" is implemented
A term which refers to a party who legitimately obtains a
as a Copy transaction to put a copy of the work on the 15 copy of a digital work and offers it for sale.
Identification (Digital) Certificate:
printing repository, followed by Print transactions to create
A signed digital message that attests to the identity of the
the prints of the work. In this way, the user is only billed for
printing that is actually done. Furthermore, the rights, conpossessor. Typically, digital certificates are encrypted in the
ditions and fees for printing the work are determined when
private key of a well-known master repository.
the work is about to be printed.
20 Master Repository:
Thus, a system for enforcing the usage rights of digital
A special type of repository which issues identification
works is disclosed. While the embodiments disclosed herein
certificates and distributes lists of repositories whose integare preferred, it will be appreciate from this teaching that
rity have been compromised and which should be denied
various alternative, modifications, variations or improveaccess to digital works (referred to as repository "hotlists".)
ments therein may be made by those skilled in the art, which 25 Public Key Encryption:
are intended to be encompassed by the following claims.
A encryption technique used for secure transmission of
messages on a communication channel. Key pairs are used
Appendix A
for the encryption and decryption of messages. Typically
one key is referred to as the public key and the other is the
Glossary
30 private key. The keys are inverses of each other from the
Authorization Repository:
perspective of encryption. Restated, a digital work that is
A special type of repository which provides authorization
encryption by one key in the pair can be decrypted only by
service. An authorization may be specified by a usage right.
the other.
The authorization must be obtained before the right may be
Registration Transactions:
exercised.
35
The protocol used between repositories to established a
Billing Clearinghouse:
trusted session.
A financial institution or the like whose purpose is to
Rendering Repository:
reconcile billing information received from credit servers.
A special type of repository which is typically coupled to
The billing clearinghouse may generate bills to users or
a rendering system. The rendering repository will be typialternatively, credit and debit accounts involved in the
40 cally be embodied within the secure boundaries of a rencommercial transactions.
dering system.
Billing Transactions:
Rendering System:
The protocal used by which a repository reports billing
The combination of a rendering repository and a renderinformation to a credit server.
45 ing device. Examples of rendering systems include printing
Clearinghouse Transactions:
systems, displaying systems, general purpose computer
The protocal used between a credit server and a clearingsystems, video systems or audio systems.
house.
Repository:
Composite Digital Work:
Conceptually a set of functional specifications defining
A digital work comprised of distinguishable parts. Each of
the distinguishable parts is itself a digital work which have 50 core functionality in the support of usage rights. A repository
is a trusted system in that it maintains physical, communiusage rights attached.
cations and behavioral integrity.
Content:
Requester Mode:
The digital information (i.e. raw bits) representing a
A mode of repository where it is requesting access to a
digital work.
Copy Owner:
55 digital work.
Revenue Owners:
A term which refers to the party who owns a digital work
stored in a repository. In the typical case, this party has
A term which refers to the parties that maintain an interest
purchased various rights to the document for printing,
in collecting fees for document use or who stand to lose
revenue if illegitimate copies of the digital work are made.
viewing, transferring, or specific uses.
Creator:
60 Server Mode:
A term which refers to a party who produces a digital
A mode of a repository where it is processing an incoming
work.
request to access a digital work.
Credit Server:
Shell Description Block:
A special type of description block designating an interest
A device which collects and reports billing information
for a repository. In many implementations, this could be 65 in a digital work, but which does not add content. This will
typically be added by a distributor of a digital work to add
built as part of a repository. It requires a means for periodically communicating with a billing clearinghouse.
their fees.
US 6,963,859 B2
51
52
Transactions:
15. A rendering system as recited in claim 1 wherein said
A term used to refer to the protocols by which repositories
rendering device comprises a computer system and said
communicate.
repository comprises software executed on the computer
Usage Fees:
system.
16. A rendering system as recited in claim 1, further
A fee charged to a requester for access to a digital work. 5
comprising an execution device coupled to said repository,
Usage fees are specified within the usage rights language.
Usage Rights:
said repository being further operative to permit said execution device to execute a computer program only in a manner
A language for defining the manner in which a digital
work may be used or distributed, as well as any conditions
specified by the usage rights.
10
17. A rendering system as recited in claim 1, wherein the
on which use or distribution is premised.
content is a computer program and the manner of use is a
Usage Transactions:
manner of executing the computer program.
A set of protocols by which repositories communicate in
18. A rendering system as recited in claim 1, wherein the
the exercise of a usage rights. Each usage right has it's own
transaction steps.
manner of use is a manner of printing.
15
19. A rendering system as recited in claim 1, wherein the
What is claimed is:
manner of use is a manner of displaying.
1. A rendering system adapted for use in a distributed
system for managing use of content, said rendering system
20. A rendering system as recited in claim 1, wherein the
being operative to rendering content in accordance with
manner of use is a manner of playing.
usage rights associated with the content, said rendering
21. A rendering system as recited in claim 1, wherein the
system comprising:
20 rendering device and the repository are integrated into a
secure system having a secure boundary.
a rendering device configured to render the content; and
22. A rendering system as recited in claim 1, wherein the
a distributed repository coupled to said rendering device
rendering device and the repository are separate devices.
and including a requester mode of operation and server
23. A rendering system as recited in claim 1, wherein the
mode of operation,
25 usage rights include at least one condition that must be
wherein the server mode of operation is operative to
satisfied to exercise the manner of use, and wherein the
enforce usage rights associated with the content and
system further comprises means for communicating with an
permit the rendering device to render the content in
authorization repository for authorizing a condition.
accordance with a manner of use specified by the usage
24. A rendering system as recited in claim 1, further
rights,
30 comprising means for communicating with a master reposithe requester mode of operation is operative to request
tory for obtaining an identification certificate for the reposiaccess to content from another distributed repository,
tory.
and
25. A rendering system as recited in claim 1, further
comprising a boundary containing said repository and said
said distributed repository is operative to receive a request
to render the content and permit the content to be 35 rendering device in a secure environment.
rendered only if a manner of use specified in the request
26. A rendering system as recited in claim 23, wherein the
corresponds to a manner of use specified in the usage
condition is possession of a digital ticket.
rights.
27. A rendering as recited in claim 1, wherein the content
has plural components having usage lights associated there2. A rendering system as recited in claim 1, wherein said
rendering device is configured to render content into a 40 with and wherein said repository enforces the usage rights
for each component.
desired form.
3. A rendering system as recited in claim 1, wherein said
28. A rendering system as recited in claim 1, wherein said
repository comprises means for storing the content.
system is implemented using one or more hardware and/or
4. A rendering system as recited in claim 3 wherein said
software devices.
29. A rendering method adapted for use in a distributed
means for storing is means for storing ephemeral copies of 45
the content.
system for managing use of content, and operative to render
5. A rendering system as recited in claim 3 wherein said
content in accordance with usage rights associated with the
means for storing comprises means for storing content after
content, said method comprising:
rendering.
configuring a rendering device to render the content;
6. A rendering system as recited in claim 5 wherein the 50
configuring a distributed repository coupled to said rencontent comprises fonts.
dering device to include a requester mode of operation
7. A rendering system as recited in claim 5 wherein the
and server mode of operation;
content comprises music.
enforcing usage rights associated with the content and
8. A rendering system as recited in claim 5 wherein the
permitting the rendering device to render the content in
55
content comprises video.
accordance with a manner of use specified by the usage
9. A rendering system as recited in claim 3, wherein said
rights, when in the server mode of operation;
repository comprises removable media.
requesting access to content from another distributed
10. A rendering system as recited in claim 1, further
repository, when in the requester mode of operation;
comprising means for storing the content.
and
11. A rendering system as recited in claim 10, wherein 60
said means for storing comprises removable media.
receiving by said distributed repository a request to render
12. A rendering system as recited in claim 1 wherein said
the content and permitting the content to be rendered
rendering device comprises a printer.
only if a manner of use specified in the request corresponds to a manner of use specified in the usage rights.
13. A rendering system as recited in claim 1, wherein said
65
30. A rendering method as recited in claim 29, wherein
rendering device comprises a video system.
14. A rendering system as recited in claim 1, wherein said
said rendering device is configured to render content into a
rendering device comprises an audio system.
desired form.
US 6,963,859 B2
53
31. A rendering method as recited in claim 29, wherein
54
57. A rendering method as recited in claim 29, wherein
said repository comprises means for storing the content.
said method is implemented using a computer readable
32. A rendering method as recited in claim 31, further
medium including one or more computer readable instruccomprising storing ephemeral copies of the content.
tions embedded therein and configured to cause one or more
33. A rendering method as recited in claim 31, wherein 5 computer processors to perform said method.
said means for storing comprises means for storing content
58. A computer readable medium including one or more
after rendering.
computer readable instructions embedded therein for use in
34. A rendering method as recited in claim 33, wherein the
a distributed system for managing use of content, and
content comprises fonts.
operative to render content in accordance with usage rights
35. A rendering method as recited in claim 33, wherein the
10 associated with the content, said computer readable instruccontent comprises music.
tions configured to cause one or more computer processors
36. A rendering method as recited in claim 33, wherein the
to perform the steps of:
content comprises video.
configuring a rendering device to render the content;
37. A rendering method as recited in claim 29, further
comprising storing the content.
configuring a distributed repository coupled to said ren38. A rendering method as recited in claim 37, wherein 15
dering device to include a requester mode of operation
said means for storing comprises removable media.
and server mode of operation;
39. A rendering method as recited in claim 29, wherein
enforcing usage rights associated with the content and
said rendering device comprises a printer.
permitting the rendering device to render the content in
40. A rendering method as recited in claim 29, wherein
accordance with a manner of use specified by the usage
20
said rendering device comprises a video system.
rights, when in the server mode of operation;
41. A rendering method as recited in claim 29, wherein
requesting access to content from another distributed
said rendering device comprises an audio system.
repository, when in the requester mode of operation;
42. A rendering method as recited in claim 29, wherein
said rendering device comprises a computer system and said
and
repository comprises software executed on the computer 25
receiving by said distributed repository a request to render
system.
the content and permitting the content to be rendered
43. A rendering method as recited in claim 29, further
only if a manner of use specified in the request correcomprising:
sponds to a manner of use specified in the usage rights.
coupling an execution device to said repository; and
59. A computer readable medium as recited in claim 58,
permitting by said repository said execution device to 30 wherein said rendering device is configured to render conexecute a computer program only in a manner specified
tent into a desired form.
by the usage rights.
60. A computer readable medium as recited in claim 58,
44. A rendering method as recited in claim 29, wherein the
wherein said repository comprises means for storing the
content is a computer program and the manner of use is a
content.
manner of executing the computer program.
35
61. A computer readable medium as recited in claim 60,
45. A rendering method as recited in claim 29, wherein the
wherein said computer readable instructions are configured
manner of use is a manner of printing.
to cause the one or more computer processors to perform the
46. A rendering method as recited in claim 29, wherein the
step of storing ephemeral copies of the content.
manner of use is a manner of displaying.
62. A computer readable medium as recited in claim 60,
47. A rendering method as recited in claim 29, wherein the
40 wherein said means for storing comprises means for storing
manner of use is a manner of playing.
content after rendering.
48. A rendering method as recited in claim 29, wherein the
63. A computer readable medium as recited in claim 62,
rendering device and the repository are integrated into a
wherein the content comprises fonts.
secure system having a secure boundary.
49. A rendering method as recited in claim 29, wherein the
64. A computer readable medium as recited in claim 62,
45 wherein the content comprises music.
rendering device and the repository are separate devices.
50. A rendering method as recited in claim 29, wherein the
65. A computer readable medium as recited in claim 62,
wherein the content comprises video.
usage rights include at least one condition that must be
66. A computer readable medium as recited in claim 60,
satisfied to exercise the manner of use, and the method
wherein said repository comprises removable media.
further comprises communicating with an authorization
50
67. A computer readable medium as recited in claim 58,
repository for authorizing a condition.
51. A rendering method as recited in claim 29, further
wherein said computer readable instructions are configured
to cause the one or more computer processors to perform the
comprising communicating with a master repository for
step of storing the content.
obtaining an identification certificate for the repository.
52. A rendering method as recited in claim 29, further
68. A computer readable medium as recited in claim 58,
comprising configuring a boundary containing said reposi- 55 wherein said rendering device comprises a printer.
tory and said rendering device in a secure environment.
69. A computer readable medium as recited in claim 58,
53. A rendering method as recited in claim 50, wherein the
wherein said rendering device comprises a video system.
70. A computer readable medium as recited in claim 58,
condition is possession of a digital ticket.
54. A rendering method as recited in claim 29, wherein the
wherein said rendering device comprises an audio system.
71. A computer readable medium as recited in claim 58,
content has plural components having usage rights associ- 60
ated therewith and the method further comprises enforcing
wherein said rendering device comprises a computer system
by said repository the usage rights for each component.
and said repository comprises software executed on the
computer system.
55. A rendering method as recited in claim 31, wherein
72. A computer readable medium as recited in claim 58,
said repository comprises removable media.
56. A rendering method as recited in claim 29, wherein 65 wherein said computer readable instructions are configured
said method is implemented using one or more hardware
to cause the one or more computer processors to perform the
and/or software devices.
steps of:
US 6,963,859 B2
55
56
coupling an execution device coupled to said repository;
communicating with an authorization repository for authoand
rizing a condition.
80. A computer readable medium as recited in claim 79,
permitting by said repository said execution device to
execute a computer program only in a manner specified
wherein the condition is possession of a digital ticket.
5
by the usage rights.
81. A computer readable medium as recited in claim 58,
73. A computer readable medium as recited in claim 58,
wherein said computer readable instructions are configured
wherein the content is a computer program and the manner
to cause the one or more computer processors to perform the
of use is a manner of executing the computer program.
step of communicating with a master repository for obtain74. A computer readable medium as recited in claim 58, 10 ing an identification certificate for the repository.
wherein the manner of use is a manner of printing.
82. A computer readable medium as recited in claim 58,
75. A computer readable medium as recited in claim 58,
wherein said computer readable instructions are configured
wherein the manner of use is a manner of displaying.
to cause the one or more computer processors to perform the
76. A computer readable medium as recited in claim 58,
step of configuring a boundary containing said repository
wherein the manner of use is a manner of playing.
and said rendering device in a secure environment.
77. A computer readable medium as recited in claim 58, 15
83. A computer readable medium as recited in claim 58,
wherein the rendering device and the repository are intewherein the content has plural components having usage
grated into a secure system having a secure boundary.
rights associated therewith and said computer readable
78. A computer readable medium as recited in claim 58,
instructions are configured to cause the one or more comwherein the rendering device and the repository are separate
20 puter processors to perform the step of enforcing by said
devices.
repository the usage rights for each component.
79. A computer readable medium as recited in claim 58,
84. A computer readable medium as recited in claim 67,
wherein the usage rights include at least one condition that
wherein said means for storing comprises removable media.
must be satisfied to exercise the manner of use, and said
computer readable instructions are configured to cause the
one or more computer processors to perform the step of
* * * * *
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?