Home
Patent Search
IMT Blog
REGISTER
|
SIGN IN
United States Patent
5920861
Hall , ; et al.
July 6, 1999
Title
Techniques for defining using and manipulating rights management data structures
Abstract
A descriptive data structure provides an abstract representation of a rights management data structure such as a secure container. The abstract representation may describe, for example, the layout of the rights management data structure. It can also provide metadata describing or defining other characteristics of rights management data structure use and/or processing. For example, the descriptive data structure can provide integrity constraints that provide a way to state rules about associated information. The abstract representation can be used to create rights management data structures that are interoperable and compatible with one another. This arrangement preserves flexibility and ease of use without compromising security.
Inventors:
Hall; Edwin J.
(San Jose,
CA
)
, Shear; Victor H.
(Bethesda,
MD
)
, Tomasello; Luke S.
(San Jose,
CA
)
, Van Wie; David M.
(Sunnyvale,
CA
)
, Weber; Robert P.
(Menlo Park,
CA
)
, Worsencroft; Kim
(Los Gatos,
CA
)
, Xu; Xuejun
(Fremont,
CA
)
Assignee:
InterTrust Technologies Corp.
(Sunnyvale,
CA
)
Appl. No.:
805804
Filed:
February 25, 1997
Current U.S. Class:
707/9
707/102
707/4
Field of Search:
707/9,4,102,103
U.S. Patent Documents
3573747
April 1971
Adams et al.
3609697
September 1971
Blevins
3796830
March 1974
Smith
3798359
March 1974
Feistel
3798360
March 1974
Feistel
3798605
March 1974
Feistel
3806882
April 1974
Clarke
3829833
August 1974
Freeny, Jr.
3906448
September 1975
Henriques
3911397
October 1975
Freeny, Jr.
3924065
December 1975
Freeny, Jr.
3931504
January 1976
Jacoby
3946220
March 1976
Brobeck et al.
3956615
May 1976
Anderson et al.
3958081
May 1976
Ehrsam et al.
3970992
July 1976
Boothroyd et al.
4048619
September 1977
Forman, Jr. et al.
4071911
January 1978
Mazur
4112421
September 1978
Freeny, jr.
4120030
October 1978
Johnstone
4163280
July 1979
Mori et al.
4168396
September 1979
Best
4196310
April 1980
Forman et al.
4200913
April 1980
Kuhar et al.
4209787
June 1980
Freeny, Jr.
4217588
August 1980
Freeny, Jr.
4220991
September 1980
Hamano et al.
4232193
November 1980
Gerard
4232317
November 1980
Freeny, Jr.
4236217
November 1980
Kennedy
4253157
February 1981
Kirschner et al.
4262329
April 1981
Bright et al.
4265371
May 1981
Desai et al.
4270182
May 1981
Asija
4278837
July 1981
Best
4305131
December 1981
Best
4306289
December 1981
Lumley
4309569
January 1982
Merkle
4319079
March 1982
Best
4323921
April 1982
Guillou
4328544
May 1982
Baldwin et al.
4337483
June 1982
Guillou
4361877
November 1982
Dyer et al.
4375579
March 1983
Davida et al.
4433207
February 1984
Best
4434464
February 1984
Suzuki et al.
4442486
April 1984
Mayer
4446519
May 1984
Thomas
4454594
June 1984
Heffron et al.
4458315
July 1984
Uchenick
4462076
July 1984
Smith, III
4462078
July 1984
Ross
4465901
August 1984
Best
4471163
September 1984
Donald et al.
4484217
November 1984
Block et al.
4494156
January 1985
Kadison et al.
4513174
April 1985
Herman
4528588
July 1985
Lofberg
4528643
July 1985
Freeny, Jr.
4553252
November 1985
Egendorf
4558176
December 1985
Arnold et al.
4558413
December 1985
Schmidt et al.
4562306
December 1985
Chou et al.
4562495
December 1985
Bond et al.
4577289
March 1986
Comerford et al.
4584641
April 1986
Guglielmino
4588991
May 1986
Atalla
4589064
May 1986
Chiba et al.
4593353
June 1986
Pickholtz
4593376
June 1986
Volk
4595950
June 1986
Lofberg
4597058
June 1986
Izumi et al.
4634807
January 1987
Chorley et al.
4644493
February 1987
Chandra et al.
4646234
February 1987
Tolman et al.
4652990
March 1987
Pailen et al.
4658093
April 1987
Hellman
4670857
June 1987
Rackman
4672572
June 1987
Alsberg
4677434
June 1987
Fascenda
4680731
July 1987
Izumi et al.
4683553
July 1987
Mollier
4685056
August 1987
Barnsdale et al.
4688169
August 1987
Joshi
4691350
September 1987
Kleijne et al.
4696034
September 1987
Wiedemer
4701846
October 1987
Ikeda et al.
4712238
December 1987
Gilhousen et al.
4713753
December 1987
Boebert et al.
4740890
April 1988
William
4747139
May 1988
Taaffe
4757533
July 1988
Allen et al.
4757534
July 1988
Matyas et al.
4768087
August 1988
Taub et al.
4791565
December 1988
Dunham et al.
4796181
January 1989
Wiedemer
4799156
January 1989
Shavit et al.
4807288
February 1989
Ugon et al.
4817140
March 1989
Chandra et al.
4823264
April 1989
Deming
4827508
May 1989
Shear
4858121
August 1989
Barber et al.
4864494
September 1989
Kobus
4868877
September 1989
Fischer
4903296
February 1990
Chandra et al.
4924378
May 1990
Hershey et al.
4930073
May 1990
Cina, Jr.
4949187
August 1990
Cohen
4977594
December 1990
Shear
4999806
March 1991
Chernow et al.
5001752
March 1991
Fischer
5005122
April 1991
Griffin et al.
5005200
April 1991
Fischer
5010571
April 1991
Katznelson
5023907
June 1991
Johnson et al.
5047928
September 1991
Wiedemer
5048085
September 1991
Abraham et al.
5050213
September 1991
Shear
5091966
February 1992
Bloomberg et al.
5103392
April 1992
Mori
5103476
April 1992
Waite et al.
5111390
May 1992
Ketcham
5119493
June 1992
Janis et al.
5128525
July 1992
Stearns et al.
5136643
August 1992
Fischer
5136646
August 1992
Haber et al.
5136647
August 1992
Haber et al.
5136716
August 1992
Harvey et al.
5146575
September 1992
Nolan, Jr.
5148481
September 1992
Abraham et al.
5155680
October 1992
Wiedemer
5168147
December 1992
Bloomberg
5185717
February 1993
Mori
5201046
April 1993
Goldberg et al.
5201047
April 1993
Maki et al.
5208748
May 1993
Flores et al.
5214702
May 1993
Fischer
5216603
June 1993
Flores et al.
5221833
June 1993
Hecht
5222134
June 1993
Waite et al.
5224160
June 1993
Paulini et al.
5224163
June 1993
Gasser et al.
5235642
August 1993
Wobber et al.
5245165
September 1993
Zhang
5247575
September 1993
Sprague et al.
5260999
November 1993
Wyman
5263158
November 1993
Janis
5265164
November 1993
Matyas et al.
5276735
January 1994
Boebert et al.
5280479
January 1994
Mary
5285494
February 1994
Sprecher et al.
5301231
April 1994
Abraham et al.
5311591
May 1994
Fischer
5319705
June 1994
Halter et al.
5337360
August 1994
Fischer
5341429
August 1994
Stringer et al.
5343527
August 1994
Moore
5347579
September 1994
Blandford
5351293
September 1994
Michener et al.
5355474
October 1994
Thuraisngham et al.
5373561
December 1994
Haber et al.
5390247
February 1995
Fischer
5390330
February 1995
Talati
5392220
February 1995
Van Den Hamer et al.
5392390
February 1995
Crozier
5394469
February 1995
Nagel et al.
5410598
April 1995
Shear
5412717
May 1995
Fischer
5421006
May 1995
Jablon
5422953
June 1995
Fischer
5428606
June 1995
Moskowitz
5438508
August 1995
Wyman
5442645
August 1995
Ugon
5444779
August 1995
Daniele
5449895
September 1995
Hecht et al.
5449896
September 1995
Hecht et al.
5450493
September 1995
Maher
5453601
September 1995
Rosen
5453605
September 1995
Hecht et al.
5455407
October 1995
Rosen
5455861
October 1995
Faucher et al.
5455953
October 1995
Russell
5457746
October 1995
Dolphin
5463565
October 1995
Cookson et al.
5473687
December 1995
Lipscomb et al.
5473692
December 1995
Davis
5479509
December 1995
Ugon
5485622
January 1996
Yamaki
5491800
February 1996
Goldsmith et al.
5497479
March 1996
Hornbuckle
5497491
March 1996
Mitchell et al.
5499298
March 1996
Narasimhalu et al.
5504757
April 1996
Cook et al.
5504818
April 1996
Okano
5504837
April 1996
Griffeth et al.
5508913
April 1996
Yamamoto et al.
5509070
April 1996
Schull
5513261
April 1996
Maher
5530235
June 1996
Stefik et al.
5530752
June 1996
Rubin
5533123
July 1996
Force et al.
5534975
July 1996
Stefik et al.
5537526
July 1996
Anderson et al.
5539735
July 1996
Moskowitz
5539828
July 1996
Davis
5550971
August 1996
Brunner et al.
5553282
September 1996
Parrish et al.
5557518
September 1996
Rosen
5563946
October 1996
Cooper et al.
5568552
October 1996
Davis
5572673
November 1996
Shurts
5592549
January 1997
Nagel et al.
5606609
February 1997
Houser et al.
5613004
March 1997
Cooperman et al.
5621797
April 1997
Rosen
5629980
May 1997
Stefik et al.
5633932
May 1997
Davis et al.
5634012
May 1997
Stefik et al.
5636292
June 1997
Rhoads
5638443
June 1997
Stefik
5638504
June 1997
Scott et al.
5640546
June 1997
Gopinath et al.
5655077
August 1997
Jones et al.
5687236
November 1997
Moskowitz et al.
5689587
November 1997
Bender et al.
5692180
November 1997
Lee
5710834
January 1998
Rhoads
5740549
April 1998
Reilly et al.
5745604
April 1998
Rhoads
5748763
May 1998
Rhoads
5748783
May 1998
Rhoads
5748960
May 1998
Fischer
5754849
May 1998
Dyer et al.
5757914
May 1998
McManis
5758152
May 1998
LeTourneau
5765152
June 1998
Erickson
5768426
June 1998
Rhoads
Foreign Patent Documents
0 370 146
Nov., 1988
EP
0 456 386 A2
Nov., 1991
EP
0 469 864 A2A3
Feb., 1992
EP
0 565 314 A2
Oct., 1993
EP
0 593 305 A2
Apr., 1994
EP
0 651 554 A1
May., 1995
EP
0 668 695 A2
Aug., 1995
EP
0 695 985 A1
Feb., 1996
EP
0 696 798 A1
Feb., 1996
EP
0 725 376
Aug., 1996
EP
0 778 513 A2
Jun., 1997
EP
0 795 873 A2
Sep., 1997
EP
0 84 441
Jul., 1983
EP
0128672
Dec., 1984
EP
0180460
May., 1986
EP
0399822A2
Nov., 1990
EP
0421409A2
Apr., 1991
EP
0715243A1
Jun., 1996
EP
0715244A1
Jun., 1996
EP
0715245A1
Jun., 1996
EP
0715246A1
Jun., 1996
EP
0715247A1
Jun., 1996
EP
0749081A1
Dec., 1996
EP
1-068835
Mar., 1989
JP
2-242352
Sep., 1990
JP
2-247763
Oct., 1990
JP
2-294855
Dec., 1990
JP
2264796
Sep., 1993
GB
2294348
Apr., 1996
GB
2295947
Jun., 1996
GB
3803982A1
Jan., 1990
DE
4-369068
Dec., 1992
JP
5-181734
Jul., 1993
JP
5-257783
Oct., 1993
JP
5-268415
Oct., 1993
JP
57-726
May., 1982
JP
6-175794
Jun., 1994
JP
6-215010
Aug., 1994
JP
62-241061
Oct., 1987
JP
6225059
Aug., 1994
JP
64-68835
Mar., 1989
JP
7-056794
Mar., 1995
JP
7-084852
Mar., 1995
JP
7-141138
Jun., 1995
JP
7-200317
Aug., 1995
JP
7-200492
Aug., 1995
JP
7-244639
Sep., 1995
JP
8-137795
May., 1996
JP
8-152990
Jun., 1996
JP
8-185298
Jul., 1996
JP
9 004 79
Dec., 1984
BE
A0135422
Mar., 1985
EP
A2136175
Sep., 1984
GB
WO 85/03584
Aug., 1985
WO
WO 90/02382
Mar., 1990
WO
WO 92/06438
Apr., 1992
WO
WO 92/22870
Dec., 1992
WO
WO 93/01550
Jan., 1993
WO
WO 94/01821
Jan., 1994
WO
WO 94/03859
Feb., 1994
WO
WO 94/06103
Mar., 1994
WO
WO 94/22266
Sep., 1994
WO
WO 94/27406
Nov., 1994
WO
WO 9416395
Jul., 1994
WO
WO 9418620
Aug., 1994
WO
WO 96/00963
Jan., 1996
WO
WO 96/03835
Feb., 1996
WO
WO 96/05698
Feb., 1996
WO
WO 96/06503
Feb., 1996
WO
WO 96/13013
May., 1996
WO
WO 96/21192
Jul., 1996
WO
WO 97/03423
Jan., 1997
WO
WO 97/48203
Dec., 1997
WO
WO A8502310
May., 1985
WO
WO97/07656
Mar., 1997
WO
WO97/32251
Sep., 1997
WO
Other References
Applications Requirements for Innnovative Video Programming; How to Foster (or Cripple) Program Development Opportunities for Interactive Video Programs Delivered on Optical Media; A Challenge for the Introduction of DVD (Digital Video Disc) (Oct. 19-20, 1995, Sheraton Universal Hotel, Universal City CA). .
Argent Information Q&A Sheet, http://www.digital-watermark.com/, Copyright 1995, The DICE Company, 7 pages. .
Arneke, David, et al., New Release, AT&T, Jan. 9, 1995, AT&T encryption system protects information services, 1 page. .
AT&T Technology, vol. 9, No. 4, New Products, Systems and Services, pp. 16-19. .
Baggett, Claude, Cable's Emerging Role in the Information Superhighway, Cable Labs, 13 slides. .
Barassi, Theodore Sedgwick, Esq., The Cybernotary: Public Key Registration and Certification and Authentication of International Legal Transactions, 4 pages. .
Barnes, Hugh, memo to Henry LaMuth, subject: George Gilder articles, May 31, 1994. .
Bart, Dan, Comments in the Matter of Public Hearing and Request for Comments on the International Aspects of the National Information Infrastructure, Aug. 12, 1994. .
Baum, Michael, Worldwide Electronic Commerce: Law, Policy and Controls Conference, program details, Nov. 11, 1993. .
Bisbey, II et al., Encapsulation: An Approach to Operating System Security, Oct. 1973, pp. 666-675. .
Blom et al., Encryption Methods in Data Networks, Ericsson Technics, No. 2, 1978, Stockholm, Sweden. .
Bruner, Rick E., PowerAgent, NetBot help advertisers reach Internet shoppers, Aug. 1997 (Document from Internet). .
Cable Television and America's Telecommunications Infrastructure, National Cable Television Association, Apr. 1993. .
Caruso, Technology, Digital Commerce 2 plans for watermarks, which can bind proof of authorship to electronic works, New York Times (Aug. 1995). .
CD ROM, Introducing . . . The Workflow CD-ROM Sampler, Creative Networks, MCIMail: Creative Networks, Inc., Palo Alto, California. .
Choudhury, et al., Copyright Protection for Electronic Publishing over Computer Networks, AT&T Bell Laboratories, Murray Hill, New Jersey 07974 (Jun. 1994). .
Clark, Tim, Ad service gives cash back, www.new.com, Aug. 4, 1997, 2 pages (Document from Internet). .
Codercard, Spec Sheet--Basic Coder Subsystem, No date given. .
Communications of the ACM, Intelligent Agents, Jul. 1994, vol. 37, No. 7. .
Communications of the ACM, Jun. 1996, vol. 39, No. 6. .
Computer Systems Policy Project (CSSP), Perpsectives on the National Information Infrastructure: Ensuring Interoperability (Feb. 1994), Feb. 1994. .
Cunningham, Donna, et al., News Release, AT&T, Jan. 31, 1995, AT&T, VLSI Technology join to improve info highway security, 3 pages. .
Data Sheet, About the Digital Notary Service, Surety Technologies, Inc., 1994-95, 6 pages. .
Dempsey, et al., D-Lib Magazine, Jul./Aug. 1996 The Warwick Metadata Workshop: A Framework for the Deployent of Resource Description, Jul. 15, 1966. .
Denning et al., Data Security, 11 Computing Surveys No. 3, Sep. 1979. .
Diffie, Whitfield and Martin E. Hellman, IEEE Transactions on Information Theory, vol. 22, No. 6, Nov. 1976, New Directions in Cryptography, pp. 644-651. .
Diffie, Whitfield and Martin E. Hellman, Proceedings of the IEEE, vol. 67, No. 3, Mar. 1979, Privacy and Authentication: An Introduction to Cryptography, pp. 397-427. .
Digest of Papers, VLSI: New Architectural Horizons, Feb. 1980, Preventing Software Piracy With Crypto-Microprocessors, Robert M. Best, pp. 466-469. .
DiscStore (Electronic Publishing Resources 1991). .
Document from Internet, cgi@ncsa.uiuc.edu, CGI Common Gateway Interface, 1 page, 1996. .
DSP56000/DSP56001 Digital Signal Processor User's Manual, Motorola, 1990, p. 2-2. .
Dusse, Stephen R. and Burton S. Kaliski A Cryptographic Library for the Motorola 56000 in Damgard, I. M., Advances in Cryptology-Proceedings Eurocrypt 90, Springer-Verlag, 1991, pp. 230-244. .
Dyson, Esther, Intellectual Value, Wired Magazine, Jul. 1995, pp. 136-141 and 182-184. .
Effector Online vol. 6 No. 6, A Publication of the Electronic Frontier Foundation, 8 pages, Dec. 6, 1993. .
EIA and TIA White Paper on National Information Infrastructure,published by the Electronic Industries Association and the Telecommunications Industry Association, Washington, D.C., no date. .
Electronic Currency Requirements, XIWT (Cross Industry Working Group), no date. .
Electronic Publishing Resources Inc. Protecting Electronically Published Properties Increasing Publishing Profits (Electronic Publishing Resources 1991). .
Firefly Network, Inc., www.ffly.com, What is Firefly? Firefly revision: 41.4 Copyright 1995, 1996. .
First CII Honeywell Bull International Symposium on Computer Security and Confidentiality, Jan. 26-28, 1981, Conference Text, pp. 1-21. .
Framework for National Information Infrastructure Services, Draft, U.S. Department of Commerce, Jul. 1994. .
Framework for National Information Infrastructure Services, NIST, Jul. 1994, 12 slides. .
Garcia, D. Linda, testimony before a hearing on science, space and technology, May 26, 1994. .
Gleick, James, "Dead as a Dollar" The New York Times Magazine, Jun. 16, 1996, Section 6, pp. 26-30, 35, 42, 50, 54. .
Green paper, Intellectual Property and the National Information Infrastructure, a Preliminary Draft on the Report of the Working Group on Intellectual Property Rights, Jul. 1994. .
Greguras, Fred, Softic Symposium '95, Copyright Clearances and Moral Rights, Nov. 30, 1995 (as updated Dec. 11, 1995), 3 pages. .
Guillou, L.: Smart Cards and Conditional Access, pp. 480-490 Advances in Cryptography, Proceedings of EuroCrypt 84 (Beth et al, Ed., Springer-Verlag 1985). .
Harman, Harry H., Modern Factor Analysis, Third Edition Revised, University of Chicago Press and London, Third revision published 1976. .
Herzberg, Amir et al., Public Protection of Software, ACM Transactions on Computer Systems, vol. 5, No. 4, Nov. 1987, pp. 371-393. .
Hofmann, Jud, Interfacing the NII to User Homes, Electronic Industries Association, Consumer Electronic Bus Committee, 14 slides, no date. .
Holt, Stannie, Start-up promises user confidentiality in Web marketing service, Info World Electric, Aug. 13, 1997 (Document from Internet). .
HOTJAVA.TM.: The Security Story, 4 pages. .
IBM Technical Disclosure Bulletin, Multimedia Mixed Object Envelopes Supporting a Graduated Fee Scheme via Encryption, vol. 37, No. 03, Mar. 1994, Armonk, NY. .
IBM Technical Disclosure Bulletin, Transformer Rules for Software Distribution Mechanism-Support Products, vol. 37, No. 04B, Apr. 1994, Armonk, NY. .
IISP Break Out Session Report for Group No. 3, Standards Development and Tracking System, no date. .
Information Infrastructure Standards Panel: NII `The Information Superhighway`, Nations Bank--HGDeal--ASC X9, 15 pages. .
Invoice? What is an Invoice? Business Week, Jun. 10, 1996. .
Javasoft, Frequently Asked Questions--Applet Security, What's Java.TM.? Products and Services, Java/Soft News, Developer's Cornier, Jun. 7, 1996, 8 pages. .
Jiang, et al, A concept-Based Approach to Retrieval from an Electronic Industrialn Directory, International Journal of Electronic Commerce, vol. 1, No. 1, Fall 1996, pp. 51-72. .
Jones, Debra, Top Tech Stories, PowerAgent Introducts Firs Internet `Infomediary` to Empower and Protect Consumers, Aug. 13, 1997 3 pages (Document from Internet). .
Kelly, Kevin, Whole Earth Review, E-Money, pp. 40-59, Summer 1993. .
Kent, Protecting Externally Supplied Software In Small Computer (MIT/LCS/TR-255 Sep. 1980). .
Kohntopp, M., Sag's durch die Blume, Apr. 1996, marit@schulung.netuse.de. .
Kristol et al., Anonymous Internet Mercantile Protocol, AT&T Bell Laboratories, Murray Hill, New Jersey, Draft: Mar. 17, 1994. .
Lagoze, Carl, D-Lib Magazine, Jul./Aug. 1996, The Warwick Framework, A Container Architecture for Diverse Sets of Metadata. .
Lanza, Mike, electronic mail, George Gilder's Fifth Article--Digital Darkhorse--Newspapers, Feb. 21, 1994. .
Levy, Steven, Wired, E-Money, That's What I Want, 10 pages, Dec. 1994. .
Low et al., Anonymous Credit Cards and its Collusion Analysis, AT&T Bell Laboratories, Murray Hill, New Jersey, Oct. 10, 1994. .
Low et al., Anonymous Credit Cards, AT&T Bell Laboratories, Proceedings fo the 2nd ACM Conference on Computer and Communications Security, Fairfax, Virginia, Nov. 2-4, 1994. .
Low et al., Document Marking and Identification using both Line and Word Shifting, AT&T Bell Laboratories, Murray Hill, New Jersey, Jul. 29, 1994. .
Maclachlan, Malcolm, PowerAgent Debuts Spam-Free Marketing, TechWire, Aug. 13, 1997, 3 pages (Document from Internet). .
Maxemchuk, Electronic Document Distribution, AT&T Bell Laboratories, Murray Hill, New Jersey 07974. .
Micro Card--Micro Card Technologies, Inc., Dallas, Texas, No date given. .
Milbrandt, E., Stenanography Info and Archive, 1996. .
Mori, Ryoichi and Masaji Kawahara, The Transactions of the EIEICE, V, Superdistribution: The Concept and the Architecture, E73 (Jul. 1990), No. 7, Tokyo, Japan. .
Mossberg, Walter S., Personal Technology, Threats to Privacy On-Line Become More Worrisome, Wall Street Journal, Oct. 24, 1996. .
Negroponte, Electronic Word of Mouth, Wired Oct. 1996, p. 218. .
Negroponte, Nicholas, Telecommunications, Some Thoughts on Likely and expected Communications scenarios: A Rebutal, pp. 41-42, Jan. 1993. .
Neumann, et al., A Provably Secure Operating System: The System, Its Applications, and Proofs, Computer Science Laboratory Report CSL-116, Second Edition, SRI International (May 1980). .
New Release, Premenos Announces Templar 2.0--Next Generation Software for Secure Internet EDI, webmaster@templar.net, 1 page, Jan. 17, 1996. .
New Release, The Document Company Xerox, Xerox Announces Software Kit for Creating Working Documents With Dataglyphs, Nov. 6, 1995, Minneapolis, MN, 13 pages. .
News Release, The White House, Office of the President, Background on the Administration's Telecommunications Policy Reform Initiative, Jan. 11, 1994. .
NII, Architecture Requirements, XIWT, no date. .
Open System Environment Architectural Framework for National Information Infrastructure Services and Standards, in Support of National Class Distributed Systems, Distributed Systems Engineering Program Sponsor Group, Draft 1.0, Aug. 5, 1994. .
Pelton, Dr. Joseph N., Telecommunications, Why Nicholas Negroponte is Wrong About the Future of Telecommunication, pp. 35-40, Jan. 1993. .
Portland Software's Ziplock, Internet information, Copyright Portland Software 1996-1997, 12 pages. .
PowerAgent Inc., Proper Use of Consumer Information on the Internet White Paper, Jun. 1997, Document from Internet, 9 pages (Document from Internet). .
PowerAgent Press Releases, What the Experts are Reporting on PowerAgent, Aug. 13, 1997, 6 pages (Document from Internet). .
PowerAgent Press Releases, What the Experts are Reporting on PowerAgent, Aug. 4, 1997, 5 pages (Document from Internet). .
PowerAgent Press Releases, What the Experts are Reporting on PowerAgent, Aug. 13, 1997, 3 pages (Document from Internet). .
Premenos Corp. White Paper: The Future of Electronic Commerce, A Supplement to Midrange Systems, Internet webmaster@premenos.com, 4 pages. .
Press Release, National Semiconductor and EPR Partner For Information Metering/Data Security Cards (Mar. 4, 1994). .
Rankine, G., Thomas--A Complete Single-Chip RSA Device, Advances in Cryptography, Proceedings of Crypto 86, pp. 480-487 (A.M. Odlyzko Ed., Springer-Verlag 1987). .
Reilly, Arthur K., Standards committee T1-Telecommunications, Input to the `International Telecommunications Hearings,` Panel 1: Component Technologies of the NII/GII, no date. .
Resnick, et al., Recommender Systems,Communications of the ACM, vol. 40, No. 3, Mar. 1997,pp. 56-89. .
ROI (Personal Library Software, 1987 or 1988). .
ROI-Solving Critical Electronic Publishing Problems (Personal Library Software, 1987 or 1988). .
Rose, Lance, Cyberspace and the Legal Matrix: Laws or Confusion?, 1991. .
Rosenthal, Steve, New Media, Interactive Network: Views Get Involved, pp. 30-31, Dec. 1992. .
Rosenthal, Steve, New Media, Interactive TV: The Gold Rush Is On, pp. 27-29, Dec. 1992. .
Rosenthal, Steve, New Media, Mega Channels, pp. 36-46, Sep. 1993. .
Rothstein, Edward, The New York Times, Technology, Connections, Making th eInternet come to you, through `push` technology . . . pp. D5, Jan. 20, 1997. .
Rutkowski, Ken, PowerAgent Introduces First Internet `Infomediary` to Empower and Protect Consumers, Tech Talk News Story, Aug. 4, 1997 (Document from Internet). .
Sager, Ira (Edited by), Bits & Bytes, Business Week, Sep. 23, 1996, p. 142E. .
Schlossstein, Steven, International Economy, America: The G7's Comeback Kid, Jun./Jul. 1993. .
Schurmann, Jurgen, Pattern Classification, A Unified View of Statistical and Neural Approaches, John Wiley & Sons, Inc., 1996. .
Scnaumueller-Bichl et al., A Method of Software Protection Based on the Use of Smart Cards and Cryptographic Techniques, No date given. .
Serving the Community: A Public-Interest Vision of the National Information Infrastructure, Computer Professionals for Social Responsibility, Executive Summary, no date. .
Shear, Solutions for CD-ROM Pricing and Data Security Problems, pp. 530-533, CD ROM Yearbook 1988-1989 (Microsoft Press 1988 or 1989). .
Smith et al., Signed Vector Timestamps: A Secure Protocol for Partial Order Time, CMU-93-116, School of Computer Science Carnegie Mellon University, Pittsburgh, Pennsylvania, Oct. 1991; version of Feb. 1993. .
Special Report, The Internet: Fulfilling the Promise The Internet: Bring Order From Chaos; Lynch, Clifford, Search the Internet; Resnick, Paul, Filtering Information on the Internet; Hearst, Marti A., Interfaces for Searching the Web; Stefik, Mark, Trusted Systems; Scientific American, Mar. 1997, pp. 49-56, 62-64, 68-72, 78-81. .
Stefik, Internet Dreams: Archetypes, Myths, and Metaphors, Letting Loose the Light: Igniting Commerce in Electronic Publication, pp. 219-253, (1996) Massachusetts Institute of Technology. .
Stefik, Mark, Introduction to Knowledge Systems, Chapter 7, Classification, pp. 543-607 (1995 by Morgan Kaufmann Publishers, Inc. .
Stefik, Mark, Letting Loose the Light, Igniting Commerce in Electronic Publication, (1994, 1995) Palo Alto, California. .
Stephenson, Tom, Advanced Imaging, The Info Infrastructure Initiative: Data SuperHighways and You, pp. 73-74, May 1993. .
Sterling, Bruce, Literary freeware: Not for Commercial Use, remarks at Computers, Freedom and Privacy Conference IV, Chicago, Mar. 26, 1994. .
Struif, Bruno The Use of Chipcards for Electronic Signatures and Encryption in: Proceedings for the 1989 Conference on VLSI and Computer Peripherals, IEEE Computer Society Press, 1989, pp. 4/155-4/158. .
Suida, Karl, Mapping New Applications Onto New Technologies, Security Services in Telecommunications Networks, Mar. 8-10, 1988, Zurich. .
Templar Overview: Premenos, Internet, info@templar.net, 4 pages. .
Templar Software and Services: Secure, Reliable, Standards-Based EDI Over the Internet, Prementos, Internet info@templar.net, 1page. .
The 1:1 Future of the Electronic Marketplace: Return to a Hunting and Gathering Society, 2 pages, no date. .
The Benefits of ROI For Database Protection and Usage Based Billing (Personal Library Software, 1987 or 1988). .
The New Alexandria No. 1, Alexandria Insitute, pp. 1-12, Jul.-Aug. 1986. .
Tygar et al., Cryptography: It's Not Just For Electronic Mail Anymore, CMU-CS-93-107, School of Computer Science Carnegie Mellon University, Pittsburgh, Pennsylvania, Mar. 1, 1993. .
Tygar et al., Dyad: A System for Using Physically Secure Coprocessors, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213 (undated). .
Tygar et al., Dyad: A System for Using Physically Secure Coprocessors, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213 (May 1991). .
Valovic T., Telecommunications, The Role of Computer Networking in the Emerging Virtual Marketplace, pp. 40-44. .
Voight, Joan, Beyond the Banner, Wired, Dec. 1996, pp. 196, 200, 204. .
Vonder Haar, Steven, PowerAgent Launches Commercial Service, Inter@ctive Week, Aug. 4, 1997 (Document from Internet). .
Weber, Dr. Robert, Digital Rights Management Technologies, A Report to the International Federation of Reproduction Rights Organisations, Oct. 1995,pp. 1-49. .
Weber, Dr. Robert, Digital Rights Managements Technologies, Oct. 1995, 21 pages. .
Weber, Metering Technologies for Digital Intellectual Property, A Report to the International Federation of Reproduction Rights Organisations, pp. 1-29; Oct. 1994, Boston, MA, USA. .
Weder, Adele, Life On The Infohighway, 4 pages, no date. .
Weingart, Physical Security for the :Abyss System, IBM Thomas J. Watson Research Center, Yorktown Heights, New York 10598 (1987). .
Weitzner, Daniel J., A Statement on EFF's Open Platform Campaign as Nov., 1993, 3 pages. .
Wepin Store, Stenography (Hidden Writing) (Common Law 1995). .
White, Abyss: A Trusted Architecture for Software Protection, IBM Thomas J. Watson Research Center, Yorktown Heights, New York 10598 (1987). .
Wired 1.02, Is Advertising Really dead?, Part 2, 1994. .
World Wide Web FAQ, How can I put an access counter on my home page?, 1 page, 1996. .
XIWT Cross Industry Working Team, 5 pages, Jul. 1994. .
Yee, Using Secure Coprocessors, CMU-CS-94-149, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA15213. .
Yellin, F. Low Level Security in Java, 8 pages..~
Primary Examiner:
Amsbury; Wayne
Attorney, Agent or Firm:
Finnegan, Henderson, Farabow, Garrett & Dunner LLP
Parent Case Text
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to commonly assigned application Ser. No. 08/388,107 of Ginter et al. entitled "SYSTEMS AND METHODS FOR SECURE TRANSACTION MANAGEMENT AND ELECTRONIC RIGHTS PROTECTION," filed on Feb. 13, 1995, now abandoned; and pending application Ser. No. 08/699,712 of GINTER et al. entitled "TRUSTED INFRASTRUCTURE SUPPORT SYSTEMS, METHODS AND TECHNIQUES FOR SECURE ELECTRONIC COMMERCE ELECTRONIC TRANSACTIONS AND RIGHTS MANAGEMENT" filed on Aug. 12, 1996, now pending. The entire disclosures, including the drawings, of those prior filed specifications are incorporated by reference into this application.
Claims
We claim:
1. A distributed data processing arrangement including:
a first data processing apparatus including:
a central processing unit;
a first memory storing a descriptive data structure, said descriptive data structure including:
information regarding a first organization of elements within a secure container, said information including:
information on the organization of said elements within said secure container; and
information on the location of at least some of said elements within said secure container;
communications means by which said descriptive data structure may be communicated to a data processing apparatus different from said first data processing apparatus;
a second data processing apparatus located at a site different from the site of said first data processing apparatus, said second data processing apparatus including:
a central processing unit;
a second memory including:
a first secure container comprising at least:
data elements organized at least in part in accordance with the information contained in said descriptive data structure; and
at least one rule used to at least in part govern at least one aspect of access to or use of said data elements;
at least one of said rules requiring that information regarding at least one use of at least one of said data elements be at least temporarily recorded; and
at least one computer program designed to use at least a portion of said descriptive data structure in at least one operation on said first secure container or the contents of said first secure container;
said use including at least using said information regarding the organization of elements within said first secure container in a process of identifying and/or locating at least one of said elements; and
communications means by which said second data processing apparatus may receive at least a portion of said descriptive data structure or a copy thereof.
2. A distributed data processing arrangement as in claim 1 in which:
said application includes a browser that uses said information regarding the organization of elements within said first secure container to control, at least in part, the display of at least some information from said secure container.
3. A distributed data processing arrangement as in claim 1, in which:
said computer program is integrated into an operating system.
4. A distributed data processing arrangement as in claim 3, in which:
said operating system is compatible with at least one version of Microsoft Windows.
5. A distributed data processing arrangement as in claim 1, in which:
said descriptive data structure is contained within a second secure container;
said second secure container comprising at least:
said descriptive data structure; and
at least one rule governing at least in part at least one use of at least a portion of said descriptive data structure.
6. A distributed data processing arrangement as in claim 5, in which:
said computer program includes means for using said second container rule to govern at least one aspect of said computer program's use of said descriptive data structure.
7. A distributed data processing arrangement as in claim 6, further including:
metadata relating to the contents of said first secure container.
8. A distributed data processing arrangement as in claim 7, in which said metadata is stored in said second secure container.
9. A distributed data processing arrangement as in claim 7, in which said metadata is stored in a third secure container.
10. A distributed data processing arrangement as in claim 9, further including:
a third data processing apparatus, including:
a central processing unit;
a third memory including:
a third secure container including
said metadata; and
at least one rule used to at least in part govern at least one aspect of access to or use of said metadata; and
communications means by which said third data processing apparatus may communicate said third secure container, or a copy of said third secure container, to said second data processing apparatus.
11. A distributed data processing arrangement as in claim 1, in which:
said rules include at least one rule at least in part controlling at least one aspect of an auditing process.
12. A distributed data processing arrangement as in claim 1, in which:
said rules include at least one rule at least in part controlling at least one aspect of a budgeting process.
13. A distributed data processing arrangement as in claim 1, in which said second data processing apparatus includes a secure electronic appliance.
14. A method of using a descriptive data structure, at a first data processing arrangement located at a first site, said method comprising:
at a communications port of said first data processing arrangement, receiving a first secure container from a site remote from said first site, said first secure container comprising at least (a) content and (b) at least one rule designed to at least in part govern at least one use of or access to said content, said governance including at least a requirement that at least some information relating to said use or access be at least temporarily stored;
at said communications port, receiving a second secure container from a site remote from said first site, said second secure container comprising at least (a) a descriptive data structure including information at least in part describing or representing at least one aspect of the organization of said first secure container content; and (b) at least one rule designed to at least in part govern at least one use of or access to said descriptive data structure;
using said second container rule to gain access to at least a portion of said descriptive data structure; and
using said descriptive data structure portion in the process of making at least one use of said first secure container content.
15. A method as in claim 14, in which:
said use of said descriptive data structure portion includes using information from said descriptive data structure relating to the organization of said first secure container content.
16. A method as in claim 15, in which:
said use of said descriptive data structure portion further includes using said organization information to identify a specific portion of said first secure container content.
17. A method as in claim 16, in which:
said specific portion of said first secure container contents includes information identifying or describing at least one additional portion of said first secure container contents; and
said use of said descriptive data structure portion is followed by displaying said identification or description information.
18. A method as in claim 17, in which:
said first secure container contents identification or description information includes a title of said additional portion of said first secure container contents.
19. A method as in claim 17, in which:
said first secure container contents identification or description information includes a summary of said additional portion of said first secure container contents.
20. A method as in claim 16, in which:
said first data processing arrangement further includes a first computer program including a descriptive data structure interpreter; and
said step of using said descriptive data portion includes said first computer program making said use.
21. A method as in claim 20, in which:
said first computer program includes a browser, and
said step of using said descriptive data structure portion further includes
said browser using said descriptive data structure to identify and locate a portion of said first secure container content; and
said browser causing the display of said located first secure container content portion.
22. A method as in claim 21, in which:
said step of said browser using said descriptive data structure to identify and locate a portion of said first secure container content further includes said browser receiving an element identifier from said descriptive data structure, said element identifier identifying said first secure container content portion; and
said step of said browser causing the display of said located first secure container content portion further includes said browser accessing said first secure container content portion using said element identifier.
23. A method as in claim 22, further comprising:
following said identification, using at least one rule from said first secure container rules to access said identified first secure container content portion.
24. A method as in claim 23, further comprising:
at said communications port, receiving a third secure container including (1) metadata related to said descriptive data structure; and (2) at least one rule designed to at least in part govern at least one use of or access to said metadata; and
said step of using said descriptive data structure further including:
in said descriptive data structure, accessing a reference to said metadata;
using at least one rule from said third container to access at least a portion of said metadata; and
using said metadata in the process of using said descriptive data structure in connection with making said use of said third secure container contents.
25. A method as in claim 24, in which:
said step of using said metadata includes using information contained in said metadata to at least in part determine whether at least a portion of said first secure container content should be displayed to a user.
26. A method as in claim 25, wherein using said metadata includes:
the metadata includes information specifying that specified information must be displayed if some or all of said first secure container contents are displayed; and
said step of using said metadata includes displaying the specified information.
27. A method as in claim 26, in which:
said specified information includes information identifying at least one owner or creator of at least a portion of said first secure container content.
28. A method as in claim 24, in which:
said first secure container is received from a second data processing arrangement; and
said second secure container and said third secure container are received from a third data processing arrangement;
said second data processing arrangement and said third data processing arrangement being located at locations separate from each other, and each separate from the site at which said first data processing arrangement is located.
29. A method as in claim 14, in which:
said first secure container and said second secure container are received at said first data processing arrangement at different times.
30. A method as in claim 14, in which:
said first secure container is received from a second data processing arrangement; and
said second secure container is received from a third data processing arrangement;
said second data processing arrangement and said third data processing arrangement being located at locations separate from each other, and each separate from the site at which said first data processing arrangement is located.
31. A method as in claim 14, in which:
said governance further includes at least in part controlling at least one aspect of an auditing process.
32. A method as in claim 14, in which:
said governance further includes at least in part controlling at least one aspect of a budgeting process.
33. A method as in claim 14, in which said first data processing arrangement includes a secure electronic appliance.
34. A descriptive data structure embodied on a computer-readable medium or other logic device including the following elements:
a representation of the format of data contained in a first rights management data structure
said representation including:
element information contained within said first rights management data structure; and
organization information regarding the organization of said elements within said first rights management data structure; and
information relating to metadata, said metadata including:
metadata rules used at least in part to govern at least one aspect of use and/or display of content stored within a rights management data structure,
said metadata rules including at least one rule specifying that information relating to at least one use or display of said content be recorded and/or reported.
35. A descriptive data structure as in claim 34, in which:
said first rights management data structure comprises a first secure container.
36. A descriptive data structure as in claim 35, in which:
said first secure container comprises:
said content; and
rules at least in part governing at least one use of said content.
37. A descriptive data structure as in claim 36, wherein the descriptive data structure is stored in said first secure container.
38. A descriptive data structure as in claim 36, in which:
said metadata is stored outside said descriptive data structure; and
said information relating to metadata includes information regarding the location at which said metadata is stored.
39. A descriptive data structure as in claim 38, in which:
said metadata is stored in a second secure container.
40. A descriptive data structure as in claim 36, in which:
said metadata includes at least one display rule at least in part governing the display of at least a portion of said content.
41. A descriptive data structure as in claim 40, in which:
said content includes source information at least in part identifying an author, creator, publisher and/or owner of at least a portion of said content; and
said metadata display rule requires display of said source information under circumstances specified by said metadata display rule.
42. A descriptive data structure as in claim 35, in which:
said metadata rules include at least one creation rule at least in part governing the creation of a specific example of said first secure container.
43. A descriptive data structure as in claim 42, in which:
said metadata creation rules include at least one rule at least in part specifying at least some information which must be included with said specific example of said first secure container when said specific example is created.
44. A descriptive data structure as in claim 34, further including:
a representation of the format of data contained in a second rights management data structure,
said second rights management data structure differing in at least one respect from said first rights management data structure.
45. A descriptive data structure as in claim 44, in which:
said information regarding elements contained within said first rights management data structure includes information relating to the location of at least one such element.
46. A descriptive data structure as in claim 44, further including:
a first target data block including information relating to a first target environment in which the descriptive data structure may be used.
47. A descriptive data structure as in claim 46, further including:
a second target data block including information relating to a second target environment in which the descriptive data structure may be used,
said second target environment differing in at least one respect from said first target environment.
48. A descriptive data structure as in claim 46, further including:
a source message field containing information at least in part identifying the source for the descriptive data structure.
49. A descriptive data structure as in claim 48, in which:
said source identification information includes information relating to at least one aspect of the source environment in which said descriptive data structure was at least in part created.
50. A descriptive data structure as in claim 49, in which:
said information relating to at least one aspect of said source environment includes information relating to security present at said source environment.
51. A descriptive data structure as in claim 49, in which:
said source message field further contains a source seal.
52. A descriptive data structure as in claim 51, in which:
said source seal is encrypted based on a private key present at said source environment.
53. A descriptive data structure as in claim 52, in which:
said source seal includes a hash of at least a portion of said descriptive data structure.
54. A descriptive data structure as in claim 52, further including:
information related to a certificate from which a public key corresponding to said private key may be obtained.
55. A descriptive data structure as in claim 52, in which:
said certificate is stored in said descriptive data structure.
56. A descriptive data structure as in claim 34, in which:
said metadata rules include at least one rule at least in part controlling at least one aspect of an auditing process.
57. A descriptive data structure as in claim 34, in which:
said metadata rules include at least one rule at least in part controlling at least one aspect of a budgeting process.
58. A method of creating a first secure container, said method including the following steps;
accessing a descriptive data structure, said descriptive data structure including or addressing
organization information at least in part describing a required or desired organization of a content section of said first secure container, and
metadata information at least in part specifying at least one step required or desired in creation of said first secure container;
using said descriptive data structure to organize said first secure container contents;
using said metadata information to at least in part determine specific information required to be included in said first secure container contents; and
generating or identifying at least one rule designed to control at least one aspect of access to or use of at least a portion of said first secure container contents.
59. A method as in claim 58, in which:
said descriptive data structure is contained in a second secure container, said second secure container governed by at least one rule at least in part governing at least one use of said descriptive data structure; and
said step of accessing said descriptive data structure includes complying with said second secure container rule.
60. A method as in claim 59, in which:
said second secure container rule requires the communication of certain information to an external site; and
said step of complying with said second secure container rule includes initiating and completing said required communication.
61. A method as in claim 60, in which:
said communicated information at least in part relates to the identity of the site at which said descriptive data structure is used in the process of creation of said first secure container and/or to the identity of a user at said site.
62. A method as in claim 59 in which
said second secure container further includes said first secure container rule; and
said step of generating or identifying said first secure container rule includes accessing said first secure container rule from said second secure container.
63. A method as in claim 58, further including:
using information contained in or addressed by said descriptive data structure to at least in part identify or generate at least one rule to govern at least one aspect of access to or use of said first secure container content.
64. A method as in claim 58, in which:
said creation of said first secure container occurs at a first data processing arrangement located at a first site;
said first data processing arrangement including a communications port; and
said method further includes:
prior to said step of accessing said descriptive data structure, said first data processing arrangement receiving said descriptive data structure from a second data processing arrangement located at a second site,
said receipt occurring through said first data processing arrangement communications port.
65. A method as in claim 64, in which:
said descriptive data structure is received at said first data processing arrangement in a second secure container,
said second secure container being governed by at least one rule controlling at least in part one aspect of access to or use of at least a portion of said descriptive data structure; and
said step of accessing includes complying with said second secure container rule in order to obtain such access.
66. A method as in claim 65, further including:
including a copy of said descriptive data structure in said first secure container.
67. A method as in claim 64, further comprising:
at said first processing site, receiving said metadata through said communications port.
68. A method as in claim 67, in which,
said metadata is received separately from said descriptive data structure.
69. A method as in claim 68, in which:
said descriptive data structure includes a reference to said metadata,
a process running at said first data processing arrangement accesses said reference, and
said process requests delivery of said metadata;
said metadata being received through said first data processing arrangement communications port following said request.
70. A method as in claim 69, in which:
said metadata is received at said first data processing arrangement in a third secure container, said third secure container associated with at least one rule governing at least in part at least one aspect of access to or use of said third secure container; and
said use of said metadata in the process of creation of said first secure container occurs after a process running on said first data processing arrangement has complied with at least one requirement imposed by said third secure container rule.
71. A method as in claim 58, in which:
said specific information required to be included includes information at least in part identifying at least one owner or creator of at least a portion of said first secure container contents.
72. A method as in claim 58, in which:
said specific information required to be included includes a copyright notice.
73. A method as in claim 58, in which:
said descriptive data structure organization information includes information specifying that said first secure container contents will include at least a title and a text section referred to by said title.
74. A method as in claim 73, in which:
said descriptive data structure organization information includes information specifying that said first secure container contents will include at least one advertisement.
75. A method as in claim 74, in which:
said descriptive data structure further includes information relating to the location at which said title, said text section and said advertisement should be stored in said first secure container.
76. A method as in claim 58, in which:
at least a portion of said descriptive data structure organization information includes information specifying fields relating to at least one atomic transaction.
77. A method as in claim 76, in which:
said atomic transaction information fields include fields for offer and acceptance information.
78. A method as in claim 60, in which:
said communicated information at least in part relates to a payment required for use of said descriptive data structure.
79. A method as in claim 58, in which:
said at least one rule at least in part controls at least one aspect of an auditing process.
80. A method as in claim 58, in which:
said at least one rule at least in part controls at least one aspect of a budgeting process.
81. A method as in claim 58, in which said method is carried out at least in part on a secure electronic appliance.
82. A method of using a descriptive data structure including:
at a first data processing arrangement of a value chain participant, receiving a descriptive data structure,
said descriptive data structure including
a template for the organization of content in a secure container;
at said first data processing arrangement, creating a first secure container, said first secure container including:
content organized at least in part in accordance with said template; and
at least one rule designed to at least in part govern at least one access to or use of at least a portion of said content;
communicating said first secure container to a second data processing arrangement located at or associated with a downstream value chain participant; and
said downstream value chain participant opening said first secure container to retrieve at least a portion of said contents,
said opening step including complying with at least one requirement imposed by a first of said first container rule(s).
83. A method as in claim 82, in which:
said descriptive data structure is received at said first data processing arrangement in a second secure container;
said second secure container being associated with at least one rule governing at least in part at least one aspect of access to or use of at least a portion of said descriptive data structure; and
prior to said step of creating said first secure container, at least a portion of said descriptive data structure is accessed from said second secure container,
said access including complying with at least one requirement imposed by said second secure container rule.
84. A method as in claim 83, in which:
said first secure container further includes at least a portion of said descriptive data structure.
85. A method as in claim 83, in which:
said first secure container rule is at least in part specified by information in said descriptive data structure.
86. A method as in claim 85, in which:
said first secure container rule requires that at least one use of at least a portion of said first secure container content be directly or indirectly reported to a clearinghouse.
87. A method as in claim 86, in which:
said reporting includes a payment.
88. A method as in claim 87, further including:
prior to said step of receiving said descriptive data structure at said first data processing arrangement, communicating said descriptive data structure from a third data processing arrangement to said first data processing arrangement,
said third data processing arrangement being associated with at least one clearinghouse.
89. A method as in claim 88, further including:
prior to said step of communicating said descriptive data structure from said third data processing arrangement to said first data processing arrangement, said third data processing arrangement receiving said descriptive data structure from a fourth data processing arrangement;
said descriptive data structure being communicated from said fourth data processing arrangement to said third data processing arrangement in a third secure container,
said third secure container including said descriptive data structure,
said third secure container being associated with at least one rule governing at least one aspect of access to or use of said descriptive data structure contained in said third secure container; and
prior to communication of said descriptive data structure from said third data processing arrangement to said first data processing arrangement, at least one process at said third data processing arrangement complying with at least one requirement imposed by said third secure container rule.
90. A method as in claim 89, in which:
said step of said third data processing arrangement complying with said at least one requirement includes said third data processing arrangement packaging said descriptive data structure into said second secure container, said packaging being at least in part governed by said third secure container rule.
91. A method as in claim 90, in which:
said step of said third data processing arrangement complying with said at least one requirement includes said third data processing arrangement associating at least one rule with said second secure container.
92. A method as in claim 91, in which:
said descriptive data structure includes information relating to organization of data relating to a transaction,
said information including information regarding price.
93. A method as in claim 82, in which:
a second of said first container rules at least in part controls at least one aspect of an auditing process.
94. A method as in claim 82, in which:
a second of said first container rules at least in part controls at least one aspect of a budgeting process.
95. A method as in claim 82, in which said second data processing arrangement includes a secure electronic appliance.
96. A data processing system including:
a first data processing arrangement including:
means for creating a first descriptive data structure, said first descriptive data structure including:
information relating to the organization of data in a first secure container; and
information relating to at least one attribute of said first data processing arrangement;
said information including information relating to the level of security present at said first data processing arrangement;
means for communicating said first descriptive data structure to a second data processing arrangement;
a second data processing arrangement including:
means for receiving said first descriptive data structure from said first data processing arrangement;
means for receiving said first secure container;
means for accessing at least a portion of said descriptive data structure; and
means for using said first data processing arrangement attribute information in determining at least one use to be made of at least a portion of said first secure container.
97. A system as in claim 96, in which:
said second data processing arrangement means for using said first data processing arrangement attribute information includes
means for identifying at least one attribute of the security present at said first data processing arrangement; and
means for using said security information at least in part to specify at least one operation involving said first secure container.
98. A system as in claim 97, in which:
said first descriptive data structure includes a first target data block,
said first target data block containing information designed for a first target environment; and
said second data processing arrangement includes means for identifying and using said first target data block.
99. A system as in claim 98, in which:
said first descriptive data structure includes a second target data block;
said second target data block containing information designed for a second target environment which differs in at least one respect from said first target environment; and
said second data processing arrangement includes said first target environment but not said second target environment.
100. A system as in claim 99, in which:
said first target environment and said second target environment are incompatible in at least one respect.
101. A system as in claim 96, in which said first data processing arrangement includes a secure electronic appliance.
Description
FIELD OF THE INVENTION
This invention relates to techniques for defining, creating, and manipulating rights management data structures. More specifically, this invention provides systems and processes for defining and/or describing at least some data characteristics within a secure electronic rights management container. The present invention also provides techniques for providing rights management data structure integrity, flexibility, interoperability, user and system transparency, and compatibility.
BACKGROUND AND SUMMARY OF THE INVENTIONS(S)
People are increasingly using secure digital containers to safely and securely store and transport digital content. One secure digital container model is the "DigiBox.TM." container developed by InterTrust Technologies Corp. of Sunnyvale, Calif. The Ginter et al. patent specification referenced above describes many characteristics of this DigiBox.TM. container model--a powerful, flexible, general construct that enables protected, efficient and interoperable electronic description and regulation of electronic commerce relationships of all kinds, including the secure transport, storage and rights management interface with objects and digital information within such containers.
Briefly, DigiBox containers are tamper-resistant digital containers that can be used to package any kind of digital information such as, for example, text, graphics, executable software, audio and/or video. The rights management environment in which DigiBox.TM. containers are used allows commerce participants to associate rules with the digital information (content). The rights management environment also allows rules (herein including rules and parameter data controls) to be securely associated with other rights management information, such as for example, rules, audit records created during use of the digital information, and administrative information associated with keeping the environment working properly, including ensuring rights and any agreements among parties. The DigiBox.TM. electronic container can be used to store, transport and provide a rights management interface to digital information, related rules and other rights management information, as well as to other objects and/or data within a distributed, rights management environment. This arrangement can be used to provide an electronically enforced chain of handling and control wherein rights management persists as a container moves from one entity to another. This capability helps support a digital rights management architecture that allows content rightsholders (including any parties who have system authorized interests related to such content, such as content republishers or even governmental authorities) to securely control and manage content, events, transactions, rules and usage consequences, including any required payment and/or usage reporting. This secure control and management continues persistently, protecting rights as content is delivered to, used by, and passed among creators, distributors, repurposers, consumers, payment disagregators, and other value chain participants.
For example, a creator of content can package one or more pieces of digital information with a set of rules in a DigiBox secure container--such rules may be variably located in one or more containers and/or client control nodes--and send the container to a distributor. The distributor can add to and/or modify the rules in the container within the parameters allowed by the creator. The distributor can then distribute the container by any rule allowed (or not prohibited) means--for example, by communicating it over an electronic network such as the Internet. A consumer can download the container, and use the content according to the rules within the container. The container is opened and the rules enforced on the local computer or other InterTrust-aware appliance by software InterTrust calls an InterTrust Commerce Node. The consumer can forward the container (or a copy of it) to other consumers, who can (if the rules allow) use the content according to the same, differing, or other included rules--which rules apply being determined by user available rights, such as the users specific identification, including any class membership(s) (e.g., an automobile club or employment by a certain university). In accordance with such rules, usage and/or payment information can be collected by the node and sent to one or more clearinghouses for payment settlement and to convey usage information to those with rights to receive it.
The node and container model described above and in the Ginter et al. patent specification (along with similar other DigiBox/VDE (Virtual Distribution Environment) models) has nearly limitless flexibility. It can be applied to many different contexts and specific implementations. For example, looking at FIGS. 1A and 1B, a newspaper publisher can distribute a newspaper 102 within a container 100A. A publisher of fashion magazines 106 can distribute the fashion magazines within another container 100C. Similarly, for example, a wholesale banking environment may use yet a further container, an electronic trading system may use a still further container, and so on.
The InterTrust DigiBox container model allows and facilitates these and other different container uses. It facilitates detailed container customization for different uses, classes of use and/or users in order to meet different needs and business models. This customization ability is very important, particularly when used in conjunction with a general purpose, distributed rights management environment such as described in Ginter, et al. Such an environment calls for a practical optimization of customizability, including customizability and transparency for container models. This customization flexibility has a number of advantages, such as allowing optimization (e.g., maximum efficiency, minimum overhead) of the detailed container design for each particular application or circumstance so as to allow many different container designs for many different purposes (e.g., business models) to exist at the same time and be used by the rights control client (node) on a user electronic appliance such as a computer or entertainment device.
While supporting a high degree of flexibility has great advantages, it can produce difficulties for the average user. For example, think of the process of creating a painting. A master painter creates a painting from a blank canvas. Because the canvas was blank at the beginning, the painter was completely unconstrained. The painting could have been a landscape, a portrait, a seascape, or any other image--limited only by the painter's imagination. This flexibility allows a master painter to create a masterpiece such as the "Mona Lisa." However, great skill is required to create a pleasing image starting from a blank canvas. As a result, an inexperienced painter cannot be expected to create a good painting if he or she begins with a blank canvas.
Consider now an amateur painter just starting out. That person does not have the skill to transform a blank canvas to a pleasing image. Instead of spending years trying to acquire that skill, the amateur can go out and buy a "paint by numbers" painting kit. Instead of using a blank canvas, the amateur painter begins with a preprinted canvas that defines the image to be painted. By following instructions ("all areas labeled "12" should be painted with dark red," "all areas labeled with "26" should be painted with light blue"), the amateur can--with relatively little skill--paint a picture that is relatively pleasing to the eye. To do this, the amateur must rigidly adhere to the preprinted instructions on the canvas. Any deviations could cause the final image to come out badly.
Ease of use problems in the computer field can be analogized to the "paint by numbers" situation. If it is important for untrained and/or inexperienced users to use particular software, the system designers can predefine certain constructs and design them into the system. This technique allows inexperienced users to make use of potentially very complicated designs without having to fully understand them--but this normally strictly defines, that is severely limits, the functionality and flexibility available by use of the program. As a result, creative solutions to problems are constrained in order to provide practical value. In addition, even the experienced user can find great advantage in using previously implemented designs. Because a user can program a complex program, for example, does not mean it is appropriate or efficient to create a program for a specific purpose, even if the previously implemented program is not ideal. If the creation of a new program "costs" more to create, that is takes too much time or financial resources, the experienced user will normally use a previously implemented program, if available. Therefore, the greatest total amount of value to be realized, related to customization, is to be able to customize with great ease and efficiency so that the cost of customization will not exceed the benefits.
Uniformity, flexibility, compatibility and interoperability are other considerations that come into play in the computer field, particularly in regards to systems supporting customization. In the painting situation, the human eye can appreciate uniqueness--and the "one of a kind" nature of a masterpiece such as the Mona Lisa is a big part of what makes a painting so valuable. In contrast, it is often desirable to make uniform at least the overall layout and format of things in the computer field. It is much more efficient for a computer to know beforehand how to treat and use objects. If the computer doesn't know beforehand how to read or handle an input object, for example, then the computer and the object are said to be "incompatible", i.e., they cannot work together. Computers are said to be "interoperable" if they can work together. Incompatibility and interoperability problems can prevent one computer from talking to another computer, and can prevent you from using computer data created by someone else.
For example, in the non-computer world, a Frenchman who knows only a little English as a second language, might find it far more meaningful and efficient to describe a complex problem in his native tongue, French. But if he is speaking to a second person, an Englishman, and the Englishman does not understand French, the two are not interoperable in French, and the Frenchman must resort to the far less efficient option of speaking in English to the Englishman. Of course, this is far better than if he was trying to speak to a German who understood neither English nor French. Then the two would be not be "interoperable" in regards to discussing the problem. Similarly, because rights management containers may potentially be exchanged and used for a large number of different purposes by a large number of different users, groups, and organizations, it is very important to provide compatibility and interoperability if these different parties, each participating in one or more different rights management models, are to interoperate efficiently. For example, if a rights management container is used to distribute a newsletter and is optimized for this purpose, each reader of the newsletter must have a computer system or software that "knows" how to read the container and the newsletter it contains. Since commerce, such as distributing newsletters, needs to be as efficient and cost-effective as is feasible, it is important to optimize, that is customize, rights management containers to optimally reflect the requirements of their models and not to have unnecessary features for each respective application or class of application, since unnecessary features will require unnecessary computing overhead and/or storage space.
Different newsletter publishers may use different container formats customized to their own particular newsletters and/or content types and/or formats. A newsletter reader interested in many different newsletters may need to be able to read a large number of different formats. It normally will not efficient (or, due to security issues, may not be appropriate) simply to analyze the different containers upon delivery and "try to figure out" or otherwise discern the particular format in use.
Published standards may help achieve a level of interoperability and standards for given types of applications, but it generally takes a long time for any particular standard to achieve industry-wide acceptance and standards will need to vary widely between categories of applications. Moreover, data structure and other standards are often designed to the lowest common denominator--that is, they will carry fields and requirements not needed by some, and miss others features optimal in certain cases. There will always be applications that cannot be optimized for efficiency and/or operation if forced to use a specific standard.
Trade-offs between flexibility, ease of use and incompatibility and interoperability can be further complicated when security considerations come into play. To be effective in many electronic commerce applications, electronic container designs should be tamper-resistant and secure. One must assume that any tools widely used to create and/or use containers will fall into the hands of those trying to break or crack open the containers or otherwise use digital information without authorization. Therefore, the container creation and usage tools must themselves be secure in the sense that they must protect certain details about the container design. This additional security requirement can make it even more difficult to make containers easy to use and to provide interoperability.
The above-referenced Ginter et al. patent specification describes, by way of non-exhaustive example, "templates" that can act as a set (or collection of sets) of control instructions and/or data for object control software. See, for example, the "Object Creation and Initial Control Structures," "Templates and Classes," and "object definition file," "information" method and "content" methods discussions in the Ginter et al. specification. The described templates are, in at least some examples, capable of creating (and/or modifying) objects in a process that interacts with user instructions and provided content to create an object. Ginter et al. discloses that templates may be represented, for example, as text files defining specific structures and/or component assemblies, and that such templates--with their structures and/or component assemblies--may serve as object authoring and/or object control applications. Ginter et al. says that templates can help to focus the flexible and configurable capabilities inherent within the context of specific industries and/or businesses and/or applications by providing a framework of operation and/or structure to allow existing industries and/or applications and/or businesses to manipulate familiar concepts related to content types, distribution approaches, pricing mechanisms, user interactions with content and/or related administrative activities, budgets, and the like. This is useful in the pursuit of optimized business models and value chains providing the right balance between efficiency, transparency, productivity, etc.
The present invention extends this technology by providing, among other features, a machine readable descriptive data structure for use in association with a rights management related (or other) data structure such as a secure container. In one example, the machine readable descriptive data structure may comprise a shorthand abstract representation of the format of the data within a rights management related data structure. This abstract data representation can be used to describe a single rights management data structure, or it may be generic to a family of data structures all following the format and/or other characteristics the abstract representation defines. The abstract representation may be used to create rights management data structures, allow others (including "other" rights management nodes automatically) to read and understand such data structures, and to manipulate some or all of the data structures.
The descriptive data structure can be used as a "template" to help create, and describe to other nodes, rights management data structures including being used to help understand and manipulate such rights management data structures.
In one particularly advantageous arrangement, the machine readable descriptive data structure may be associated with one or a family of corresponding rights management data structures--and may thus be independent of any specific particular rights management data structure usage. For example, a copy of the descriptive data structure may be kept with such data structures. Alternatively, some or all of the descriptive data structure may be obtained from somewhere else (e.g., a clearinghouse or repository) and independently delivered on as-needed basis.
In accordance with one example, the machine readable descriptive data structure provides a description that reflects and/or defines corresponding structure(s) within the rights management data structure. For example, the descriptive data structure may provide a recursive, hierarchical list that reflects and/or defines a corresponding recursive, hierarchical structure within the rights management data structure. In other examples, the description(s) provided by the descriptive data structure may correspond to complex, multidimensional data structures having 2, 3 or n dimensions. The descriptive data structure may directly and/or indirectly specify where, in an associated rights management data structure, corresponding defined data types may be found. The descriptive data structure may further provide metadata that describes one or more attributes of the corresponding rights management data and/or the processes used to create and/or use it. In one example, the entire descriptive data structure might be viewed as comprising such metadata.
The machine readable descriptive data structure may or may not be, in part or in whole, protected, depending on the particular application. Some machine readable descriptive data structures may be encrypted in whole or in part, while others might be maintained in "clear" form so that they are easily accessible. Some machine readable description data structures, whether encrypted or not, may be in part or wholly protected for integrity using a cryptographic hash algorithm in combination with a secrecy algorithm to form a cryptographic seal, and/or through use of other protection techniques (including hardware, e.g., secure semiconductor and/or hardware packaging protection means). The machine readable descriptive data structures may themselves be packaged within rights management data structures, and rules (e.g., permissions records) controlling their access and use may be associated with them.
In accordance with one aspect of how to advantageously use descriptive data structures in accordance with a preferred embodiment of this invention, a machine readable descriptive data structure may be created by a provider to describe the layout of the provider's particular rights management data structure(s) such as secure containers. These descriptive data structure ("DDS") templates may be used to create containers. A choice among two or more possible DDSs may be based upon one or more classes and/or one or more classes may be based on parameter data. The DDS may be loaded and used as the layout rules for secure containers being created. The provider can keep the DDS private, or publish it so that other providers may create compatible, interoperable containers based on the same DDS.
Descriptive data structures can also be used by a container viewer, browser, reader, or any other end user application designed to work with containers. Truly generic viewers or other applications can be written that can process a container in any format at least in part by making use of descriptive data structures. Thus, a descriptive data structure can be used to at least temporarily convert and/or customize a generic viewer (or other application) into a specialized viewer (or other application) optimized around one or more classes of containers. Additionally, specialized readers may be provided to efficiently process descriptive data structures to locate key media elements (e.g., cover page, table of contents, advertiser's index, glossary, articles, unprotected preview, price, and/or rights information regarding viewing, printing, saving electronically, redistributing, related budgets and/or other parameter information, etc.).
Such specialized readers can then seamlessly, transparently, and automatically process to present the user with an easy-to-use int