`Approved fro use through 10/31/2002. OMB 0651-0031
`US. Patent and Trademark Office: US. DEPARTMENT OF COMMERCE
`= a
`l—-‘*=
`l—‘= 2 Under the Paperwork Reduction Act of 1995; no persons are required to respond to a collection of information unless it contains a valid OMB control number.
`:5 E‘ D
`PROVISIONAL APPLICA TION FOR PA TENT CO VER SHEET
`2E ,C:
`I
`This is a request for filing a PROVISIONAL APPLICATION FOR PATENT under 37 CFR 1.53(c).
`= m
`D=
`
`
`1NVENTOR(S)
`l-—‘ =“ ‘
`Residence
`E '1'!
`
`
`Given Name (first and middle [if any])
`= 3
`(City and either State or Foreign Country)
`Xin
`Los Angeles, California
`
`Thomas
`Culver City, California
`
`Eddie
`Rancho Palos Verdes, California
`
`
`
`
`
`CORRESPONDENCE ADDRESS
`
`' Please type a plus sign (+) inside this box —>
`
`[+]
`
`Family Name or Surname
`
`O =
`{-t
`=——‘
`=
`mg: —§d
`mu: 5—0
`:3,“ En
`
`
`
`
`
`Additional inventors are being named on the Page 2 separately numbered sheets attached hereto
`
`TITLE OF THE INVENTION (280 characters max)
`State of Rights: Controlling And Validating State Information of Rights And Conditions
`
`
`
`Direct all correspondence to:
`I] Customer Number
`
`Place Customer Number
`22204
`I
`Bar Code Label here
`
`
` OR
`
`
`'2' Firm or
`fin
`.
`Marc S K“ an
`Individual Name
`NIXON PEABODY LLP
`Address
`
`Address
`8180 Greensboro Drive
`
`
`
`
`
`
`
`
`
`Specification
`Number ofPages
`El CD(s), Number 1:]
`Number ofSheets |:| El Other (specify) |::
`
`
`
`El Applicant claims small entity status. Se 37 CFR 1.27.
`A check or money order is enclosed to cover the filing fees
`The Commissioner is hereby authorized to
`
`
`1 943 80
`charge filing fees or credit any overpayment
`to Deposit Account Number: _
`
`El Payment by credit card. Form PTO-2038 is attached.
`The invention was made by an agency of the United States Government or under a contract with an agency of the United States
`
`
`Government.
`
`
`Respectfully ”amid/ed,
`Date
`11/20/2001
`
`Type Customer Number here
`
`ENCLOSED APPLICATION PARTS (check all that apply)
`
`(703)790—9110
`
`(703)883-0370
`
`Country
`
`
`
`I] Drawing(s)
`
`El Application Data Sheet. See 37 CFR 1.76
`METHOD OF PAYMENT OF FILING FEES FOR THIS PROVISIONAL APPLICATION FOR PATENT
`
`FILING FEE
`AMOUNT ($)
`$160.00
`
`
`
`No.
`
`
`
`
`
`El Yes, the name of the US. Government agency and the Government contract number are:
`/
`
`SIGNATURE
`
`REGISTRATION NO.
`(ifappropriate)
`
`TYPED or PRINTED NAMEMann
`
`Docket Number:
`
`TELEPHONE 703-790-9110
`USE ONLY FOR FILING A PROVISIONAL APPLICATION FOR PA TENT
`This collection of information is required by 37 CFR l 51 The information is used by the public to file (and by the PTO to process) a provrsional application Confidentiality is governed by 35
`U.S.C. 122 and 37 CFR 1 14 This collection is estimated to take 8 hours to complete, including gathering, preparing, and submitting the complete prowsmnal application to the PTO Time Will
`vary depending upon the indiVidual case Any comments on the amount oftime you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief
`Information Officer, U S Patent and Trademark Office, U S Department of Commerce, Washington, D C 20231 DO NOT SEND FEES 0R COMPLETED FORMS TO THIS ADDRESS
`SEND TO Box PrOViSional Application, Commissmner for Patents, Washington, D C 20231
`NVA205524.1
`
`Petitioner Apple Inc. - EX. 1019, p. 1
`
`3 5 ’2 12
`
`111325-93
`
`Petitioner Apple Inc. - Ex. 1019, p. 1
`
`
`
`Additional inventors:
`
`Page 2
`
`—EWJ_Residence
`
`Given Name (first and middle [if any])
`Family Name or Surname
`(City and either State or Foreign Country)
`
`
`
`Charles
`Gilliam
`Darien, Connecticut
`Manuel
`Downey, California
`
`
`
`Guillermo
`Torrance, California
`
`
`
`Michael
`Downey, California
`
`
`Thahn
`Huntington Beach, California
`
`
`Bijan
`Germantown, Maryland
`
`
`
`
`
`
`
`NVA205524.1
`
`Petitioner Apple Inc. - EX. 1019, p. 2
`
`Petitioner Apple Inc. - Ex. 1019, p. 2
`
`
`
`Inventors: Xin Wang; Thomas DeMartini; Eddie Chen; Charles P. Gilliam; Manuel
`Ham; Guillermo Lao; Michael Raley; Thahn Ta; Bijan Tadayon
`
`State of Rights: Controlling and Validating State Information of Rights
`and Conditions
`
`INTRODUCTION
`
`A system to control and validate state information as it relates to rights and conditions. The novelty is the
`ability to share, distribute, or control state information of rights as these rights are moved from one trusted
`system to another trusted system. The state information is controlled and validated by plug-in
`components that are part of a system framework.
`
`DESCRIPTION
`
`This application is related to US patents 5,629,980, 5,634,012, 5,638,443, and 5,715,403, filed on
`November 23, 1994, the disclosures of which are incorporated herein by reference) deal with the rights
`associated with the digital content. These will be the basis of our systems and methods described below.
`However, the concept of rights and permission for access can be extended (generalized) to cover the
`“State Of the Rights."
`
`This application relates to how to initialize, update, reference, share, and transfer state information on
`rights. This state information is needed to keep track of usage history and to grant, verify, and transfer in
`a general access control or authorization context that involves rights enforcement and delegation.
`in
`order to enforce and delegate the rights, one has to know the state of the rights or their usage history.
`
`This includes the state of variables in a rights language (to specify, track, and store the state), which can
`be implemented as an extension to a rights language (or other grammars) such as XrML, in a system
`similar to the ones described in our previous patents and applications.
`
` For example, when a person starts to view a video file, this event constitutes state information that can be
`
`
`
`tracked. In this case, the time and date are examples of state information that can be stored. This
`information can then be used by the system to determine subsequent requests to access the video file. If
`the person wishes to play the video file, the system can evaluate the state information to determine if the
`person has exceeded the agreed upon rental period Of, say, two days. Another example is that a system
`wants to know the number of times an e—book has been copied, or by whom it was copied, or from where
`or to where it was copied. Another example is when somebody listens to a music CD. The usage is
`tracked as to how many times and which songs were played, which songs were copied, which songs
`were forwarded to a friend, and which songs were used in a super-distribution scheme.
`In a super-
`distribution scheme, it tracks where the song has been, who buys the song next, how many copies,
`geographical distribution, users’ habits, and users‘ statistics, such as age and gender, if those data are
`available and authorized for use in this manner.
`
`This can affect controlling usage Of the original and its copies, future pricing in dynamic pricing schemes,
`distribution methods, user’s habits, user’s preferences, advertising focuses, marketing budgets, and
`general DRM policy. Thus, this can save money or other resources for businesses in terms of future
`plans, resource allocations, or better focusing marketing efforts.
`
`In terms of usage history, one may want to know who delegated or transferred the right to whom, who
`was the middleman, fees involved, or when (for any or all of the transactions/ transfers). This can be
`related to (and useful for) security, surveillance, court order, marketing scheme, and payment schemes to
`
`ContentGuard Confidential
`NVA205482.1
`
`Page 1 Of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 3
`
`Petitioner Apple Inc. - Ex. 1019, p. 3
`
`
`
`multiple owners/ distributors. This can be used to prevent or monitor the usage of some items by some
`individuals for the sake of security. The usage history can be used in legal proceedings as a proof of
`distribution or usage by some entities.
`
`For example, this can be used for the case of multiple owners of a piece of work, or for the case of
`owners of a compilation or the combination of separate pieces of work, for which each owner has some
`contribution and some specific right in the final product, such as a movie with multiple actors/ actresses,
`voice-over actors, union employees, and a producer, or for the case of a multimedia encyclopedia with
`multiple contributors for pictures and text, or for the case of a market report having multiple authors for
`different chapters, or co-authors of a book with different percentages of contribution in terms of material in
`the book and corresponding different rights in the final product and royalty proceedings, to keep track of,
`for example, how many users have used which part of the book or market report, to compensate,
`aggregate, and keep track of micro-payments to each owner or right holder, based on the pre-determined
`agreements and contracts, reflected in the rights and conditions, and recorded by keeping track of the
`history and state of the rights. This recording or history can be audited by a third party or a CPA, to make
`sure that the conditions, payments, and rights abide to the pre—determined agreements, licenses, and
`contracts.
`
`In this
`The usage history can be stored in a trusted repository, possibly in a trusted third-party system.
`case, accessing and updating the usage history may require its own rights management or authorization
`mechanisms and policies. The history can be provided to marketing firms, including the cases involving
`fee or other conditions, pending the proper right and permission granted to the warehouse, for the
`distribution, by the proper authority. The information can be aggregated or averaged, and can be
`exchanged with others, for example, for medical or statistical purposes, such as to the NIH or US Census
`Bureau, provided that appropriate rights of access and/ or aggregation were given.
`
` State of Rights system major functions are to manage, validate and monitor the state and usage—history
`
`
`STATE OF RIGHTS SYSTEM
`
`of rights. The system is built around a State of Rights Framework and consists of both State Controller
`and State Validator. The State of Rights Framework provides an abstract layer to encapsulate all the
`state related functions provided by the system. The Framework also functions as an infrastructure to
`manage all components and their corporation within the system. The design of the framework is based on
`the plug-in concepts to provide the flexibility to incorporate different implementation for both State
`Controller and State Validator. Within the framework, the State Controller is responsible to manage both
`the current value and usage history for state of rights and the State Validator is responsible to validate
`and monitor the state of rights while a given rights is being exercised. The following diagram outlines the
`basic components of the State of Rights system:
`
`..
`.
`3“”
`
`ContentGuard Confidential
`NVA205482.1
`
`Page 2 of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 4
`
`Petitioner Apple Inc. - Ex. 1019, p. 4
`
`
`
`State of Rights
`System
`
`State Vplidation
`:
`Config. APls
`1
`State manipulation
`: Validate and Monitor
`1
`Register, Query
`I
`Upda e, Transfer
`
`State of nghts
`Framework
`
`
`
`State Controller/
`Remote Repository
`
`Controller
`
`Local Repository
`
`Remote State
`Validator/
`gem-cc
`
`I
`
`
`
`
`
`State of rights is a collection of state variables associated with a given rights. Example of state variables
`are defined in “Processing Rules for XrML Conditions, Preconditions, and Rights" such as max count,
`time interval, fee etc... However state variables are not limited for those defined in the document but
`cover all information that affect the status and usage history of a rights. Each state variable require a
`different way to represent its value. Given a rights R, granted to a principle P then the state of rights
`associated with [RF] is a set of state variables {st ...sn}. State of rights is changed when any state
`variable in the state of rights changes its value and the collection of change in state of rights is called
`usage history. With the above definition the basic structure of a state of rights consists of the rights, the
`principle -who granted the rights, and the set of state variables. The current value of state variables called
`current state of rights or state of rights.
`
`STATE OF RIGHTS FRAMEWORK
`The Framework is the main component that manages all the State Controllers and State Validators, and
`also provides the interfaces to the application to manage and validate state of rights. The Framework is
`designed to allow different implementations of both State Controllers and State Valldators to be
`configured and plugged-in.
`
`State manipulation APls — This is a set of APls to initialize, query, update and transfer state of rights.
`State of rights is a collection of the current value of state variables. The basic structure for state variable
`includes the set of values from which the state is valid and a method and parameters needed to obtain
`the current value of the state variables. Like state variables their values can be represented by any data
`structure or language that describe their current value.
`In this invention we use both XrML2.0 to define
`the state variables and its extension to define the value of the state variable. However the representation
`of the state variables and its values are not limited to XrML2.0. The following example shows how the
`state variable is defined.
`
`<sx: trackQuery>
`<sx:stateReference>
`<uddi>
`<servi ceKey>
`<uuid>lF8903BO—FC03 -4C5b—A445—AAFCCECOlllll</uuid>
`</serviceKey>
`</uddi>
`</sx: sta teReference>
`
`ContentGuard Confidential
`NVA205482.1
`
`Page 3 of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 5
`
`Petitioner Apple Inc. - Ex. 1019, p. 5
`
`
`
`<sx:nothreThan>9</sx:nothreThan>
`</sx:trackQuery>
`
`The above example describes the state variable of the print rights that allows no more than 9 copies of
`the document to be printed. In the example “trackQuery” element defines the state variable for Print
`rights, the “stateReference” element defines the method and parameter to obtain and update the value of
`the state variable, and the “notMoreThan” element defined the value of the state variable as a constraint
`for the Print rights.
`
`STATE QUERY
`The state query API for state variable requires an input that contains the state variable to be queried and
`the value of the response. The value of the response for the state query can be the state value, state
`history or both. The following example describes the input using XrML2.0 format.
`
`<stateQuery>
`<sx:trackQuery>
`<sx:stateReference>
`<uddi>
`
`<serviceKey>
`<uuid>lF8903BO—FCO3—4c5b-A445—AAFCCEC0111ll</uuid>
`</serviceKey>
`</uddi>
`</sx:stateReference>
`<sanothreThan>9</sx:nothreThan>
`</sx:trackQuery>
`
`<response type=”va1ue”>
`
` </stateQuery>
` <stateQuery>
`
`“r
`a.
`
`To serve the state query request or any state related the State of Rights Framework will determine what
`State Controller is responsible for this request and then locates, authenticates and loads the State
`Controller and passes the request to the State Controller for process. State Controller can process the
`request locally or send the request to the remote server for process depending on the target state
`variable. Once the request is processed the response is then returned to the requester via the State of
`Rights Framework. The following example describes how the response is.
`
`<sx:trackQuery>
`<sx:stateReference>
`<uddi>
`<serviceK€y>
`<uuid>lF8903BO—FC03—4C5b—A445—AAFCCEC01llll</uuid>
`</serviceKey>
`</uddi>
`</sx:stateReference>
`<sx:nothreThan>9</sx:nothreThan>
`</sx:trackQuery>
`<sessionID>m</sessionID>
`<stateController>
`
`<id>m</id>
`</stateController>
`<statevalue>8</statevalue>
`<dsig:signature>
`</dsig:signature>
`</stateQuery>
`
`ContentGuard Confidential
`NVA2054821
`
`Page 4 of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 6
`
`Petitioner Apple Inc. - Ex. 1019, p. 6
`
`
`
`The returned response to the state query contains the original query, current value of the state variable if
`available, current status of the state variable or the state history, State Controller identification, session id
`and digital signature of the response. The digital signature is to guarantee the integrity of the response
`and the State Controller is used by the State Validator to challenge the response during the state
`validation process.
`
`The following diagram describes the process for the state query.
`
`<<diagram>>
`
`STATE UPDATE
`State can only be updated based on the prior response of the state query provided that the “sessionlD” in
`the state query’s response is valid. Thus the application must query the current value of the state variable
`to obtain the state variable and the valid session id in order to update the target state variable. Updating
`the value of state variable will change the current value of the state variable to the new value. There are
`many constraints imposed on updating the value of the state variable:
`
`The rights from which its state variable is updated are still valid prior to the update request.
`The new value of the state variable after updating must be a valid value allowed for the state variable. For
`example if the maximum print copy (state variable) is 4 and the current print copy is 3 (current value of
`state variable) then request for 2 more copies (update value) will be rejected since the value of the state
`variable after updating is not a valid value.
`The principle and the application request for the update must be authorized to do so.
`
`Like the state query, the State of Rights Framework will identify, authenticate and load the State
`Controller to serve the updating request. Following is the example of how the updating request and
`response.
`
`<stateUpdate>
`<stateQuery>
`<sx:traCkQuery>
`<sx:stateReference>
`<uddi>
`
`<serviceKey>
`<uuid>lF8903B0—FC03 —4C5b-A445~AAFCCECOlllll</uuid>
`</serviceKey>
`</uddi>
`</sx:stateReference>
`<sx:nothreThan>9</sx:nothreThan>
`</sx:trackQuery>
`<sessionID>m</sessionID>
`<stateController>
`<id>m</id>
`</stateController>
`<stateValue>8</stateVa1ue>
`<dsig:signature>
`
`</dsig:signature>
`</stateQuery>
`<updateva1ue>1</updateValue>
`</stateUpdate>
`
`The following diagram describes the process of update the state of rights
`
`<<diagram>>
`
`
`
`
`
`
`ContentGuard Confidential
`NVA205482.1
`
`Page 5 of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 7
`
`Petitioner Apple Inc. - Ex. 1019, p. 7
`
`
`
`STATE TRANSFER
`State transfer is similar to the state update in term of state management. The main different between the
`two is that how the state history for state variable is kept. State transfer has the same constraint as the
`state update and the following constraint
`
`The recipient (principle) from which the state of rights is transferred to and the repository to keep the
`transferred state must be authorized before the transfer occurs.
`
`Once the state is transferred the current value of the state variable and its history are updated according
`to the transfer. If the rights from which its states are transferred become expired as the result of the state
`transfer than the transfer is called complete transfer otherwise partial transfer.
`
`The following diagram describes the process of transfer the state of rights.
`
`<<diagram>>
`
`State validation APls — The State of Rights system manages the set of State Validators and provides
`the set of APls to the application to verify each state variable individually or the state of rights. Remember
`that state of rights is the collection of state variables associated with a given rights. The State of Rights
`Framework will select and load the State Validator for each of the state variable. Once the State Validator
`is selected and loaded, the State of Rights Framework then passes the request to the target State
`Validator and wait for the result. The State of Rights system may concurrently execute all the State
`Validators at one or sequentially execute one at a time depending on the dependency between state
`variables and the configuration of the State of Rights system.
`
`The following diagram describes process of validation of state of rights
`
` <<diagram>>
`
`
`3‘
`
` STATE CONTROLLER
`State Controller is a plug—in component that manages the state for a given state variable. Basic structure
`of a State Controller consists of a software component that implements the set of state manipulate APIs
`defined by the State of Rights Framework, a protocol to interact with the persistent storages or services to
`store, update and query for the current value and the history of the state variable. The location of the
`persistent storage or service that manages the state variable is transparent to the State of Rights
`Framework.
`
`STATE VALlDATOR
`State Validator is also a plug-in component that is responsible to verify the state variable given a state
`query’s response. Each State Validator is a software component that implements the set of interfaces
`defined by the State of Rights Framework. Like State Controller the State Validator may operate locally or
`send the request to the remove server for verification. Upon receiving the request for validation for a
`state variable, the State of Rights Framework examines the state query response and then selects,
`authenticates and loads the State Validator and passes the state query’s response to the State Validator.
`Depend on the configurable policy and information stored in the state query the State Validator may
`accept or challenge the information stored in both the state query and response. Once the information
`stored in the state query and response are verified, the validation process is just simple as to compare
`the current value of the state variable with the set of possible values of the state variable.
`
`ContentGuard Confidential
`NVA205482.1
`
`Page 6 of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 8
`
`Petitioner Apple Inc. - Ex. 1019, p. 8
`
`
`
`APPENDIX 1 -- PROCESSING RULES FOR XRML CONDITIONS, PRECONDITIONS, AND RIGHTS
`
`This appendix describes the rules for evaluating preconditions and conditions, and interpreting rights.
`
`GLOSSARY AND NOTATION
`Business model: A commonly understood and practiced way that contents can be access, used and
`priced during the entire life cycle of content. It may be specified by multiple sets Of rights and their
`associated conditions and obligations. Business models are notjust only expressing rights for individuals
`to consume content, but also for expressing rights for individuals to distribute, loan, and sell the content.
`
`Condition: Something that must exist or be fulfilled before a right can be exercised or granted.
`
`Content life cycle: The entire time period Of content existence. It includes all phases across the content
`distribution and consumption value chain, like content creation, manipulation, search, access, storage,
`delivery, use and disposal.
`
`Context: The system environment in which a right is exercised. it includes system information (e.g.,
`system identification, physical location, digital domain, and system clock), and user information (e.g., user
`identification and credentials).
`
`Granted right: A right that has been transferred from its owner or distributor to someone else.
`
`Intent: A user’s desire to access or use a digital content.
`
`Obligation: A course of action that a person or entity is bound to perform when exercising a granted digital
`right. Examples include payment transaction, usage tracking and content watermarking.
`
`Offered right: A right that is made available by its owner or distributor for granting or transferring to
`someone else.
`
`State: The information that records the status of how a right is exercised. it includes the number of times
`that the right has been exercised, the time the right is first exercised, and how long the right has been
`exercised.
`
`Given a condition expression C, a state S, and a context X, the expression [[ C, S, X 1] denotes the three-
`value, { T, F, l}, Of the condition C evaluated within the state S and context X. The evaluation may also
`return a list of Obligations O that needs to be fulfilled, and a list Of error messages E in case there are
`processing errors associated with the evaluation. The meaning of the symbols in the three-value
`expression are T=true, F=false, and J_=undefined.
`
`Given a right R, an intent l, a state S, and a context X, the expression G[[ R, l, S, X ]] denotes the result Of
`whether or not to grant the right R for the intent | within the state S and context X. The evaluation process
`verifies whether or not the intent | matches the right R and if the preconditions for granting the right R are
`satisfied.
`
`Given a right R, an intent l, a state S and a context X, the expression P[[ R, l, S, X ]] denotes the result Of
`whether or not to permit exercising the right R for the intent l within the state S and context X. The
`evaluation process verifies whether or not the intent | matches the right R and if the conditions for
`exercising the right R are satisfied.
`
`EVALUATION OF CONDITIONS AND PRECONDITIONS
`
`ATOMIC CONDITIONS
`
`ContentGuard Confidential
`NVA205482.1
`
`Page 7 of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 9
`
`
`
`
`
`
`
`
`nun—n..—umimI—‘W
`
`Petitioner Apple Inc. - Ex. 1019, p. 9
`
`
`
`Atomic conditions are those conditions that do not contain any other conditions and are used to construct
`listed conditions and named conditions. In the following table, the returned obligation 0 represents a fee
`that must be paid when t > F.
`
`ATOMIC CONDITION
`C
`
`unit u
`
`time unit u
`Principal p
`
`
`RETURNED
`TRUTH
`OBLIGATION
`EVALUATION
`0
`E
`[[C, 3, X1]
`
`,
`_t c
`s ——
`SW
`“‘3“ “ —-
`
`
`
`
`
`STATE
`
`
`
`moments
`
`CONTEXT
`X
`
`ERROR
`MESSAGE
`
`
`
`in time unit u
`
`User
`
`P satisfies p-—--
`
`L-
`
`Security level I
`
`
`
`
`
`System
`security
`level L
`lama— PaidfeeF —— Maxm—F) —
`Per use fee ffor n
`Paid fee F for m - F 2f *m/n —_
`
`Interval fee ffor time
`Paid fee F for m
`F 2 f*m/u
`Max( 0, f*m/u -— F ) -
`- —
`Metered fee with rate r
`Paid fee F for m
`F 2 r* m/u +
`Max( 0, r* m/u +
`
`
`per time unit u by time metered time
`(r*b/u) I(m-
`(r*b/u) I(m-
`Umt b
`Wits
`u*Lm/uJ)/b_l
`u*Lm/u.l)/bI )
`
`
`-_—-
`
`
`_—-
`domain D
`
`
`Table 1 -- Atomic Conditions Table
`
`
`
`LISTED ATOMIC CONDITIONS
`A listed atomic condition is a list of atomic conditions, when it is defined.
`
`
`
`
`
`LISTCONDITION
`STATE
`CONTEXT
`TRUTH EVALUATION
`OBLIGATION
`ERROR
`
`S
`X
`[[ C, S, X ]]
`0
`MESSAGE
`E
`
`
`
`
`
`-- [[p"S’Pl]°R‘["2’S'P -
`
`Principal list {p1,
`
`p2,
`pn}
`
`
`
`”'“S’LWRWZ’S'”—-
`Security level list
`
`security level L OR
`{l1, l2,
`In}
`
`
`
`-— l""s'”lOR“'2'S’”l _-
`Location list {l1,
`
`
`OR...OR[[ln,S,L]]
`
`l2, ..., In}
`
`System [[d1, 8, D ]] OR [[ d2, 8, D—domain D
`
`
`
`
`
`Domain list {d1 ,
`
`
`
`]] OR
`OR [[ dn, S, D ]]
`d2,
`dn}
`
`
`
`————mm—
`_ —_ MaX(0.f*m/n—F)
`
`
`
`
`_
`
`
`
`
`Table 2 -- Listed Atomic Conditions Table
`
`
`
`
`
`__—
`
`Max( 0, r* m/u +
`
`(r*b/u)I(m-u*Lm/uJ)/bI
`
`)
`
`credential P
`
`]] OR
`
`OR [[ pn, S, P ]]
`
`
`
`OR [[ In, S, L]]
`
`__
`
`--
`
`
`
`ContentGuard Confidential
`NVA205482.1
`
`Page 8 of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 10
`
`Petitioner Apple Inc. - Ex. 1019, p. 10
`
`
`
`NAMED CONDITIONS
`Named conditions are conditions associated with elements MAXCOUNT, TIME, ACCESS, FEE,
`TERRITORY and TRACK.
`
`
`
`NAMED CONDITION
`STATE
`CONTEXT
`TRUTH
`OBLIGATION
`ERROR
`
`C
`S
`X
`EVALUATION
`O
`.
`MESSAGE
`[[ C, S. X I]
`
`
`_——_
`TIme T
`Starting
`[[ T, (s, t), c]]
`
`moments,
`
`Elapsed time t
`
`[[ p, S, P ]] OR [[
`
`
`
`
`
`Access with
`principal list p and
`security level list I
`
`Feef
`
`
`
`
`
`
`F, (F, n), or (F,
`m), where F =
`paid fee, n =
`counts, m =
`time units
`
`User
`credential P,
`
`system
`
`security level
`
`L
`
`
`[[ f, F, X ]] OR [[ f,
`
`(F, H). X 1] OR I[ f,
`
`(F. m). X 1]
`
`
`System local
`[[ I, S, L]] OR [[ l,
`Territory with
`L and System S, D 1]
`location list I and
`
`domain D
`domain list d
` Any agent in I that is
`
`
`Tracking
`
`
`Track with principal
`also in L is alive for
`agent list L
`list I, by time unit b,
`
`
`performing track every
`and parameter list p
`
`b time units
`
`
`Table 3-- Named Conditions Table
`
`CONDITION LISTS AND PRECONDITION LISTS
`Condition lists and precondition lists are lists of conditions and preconditions, respectively.
`
`CONDITION 0R
`PRECONDITION LIST
`c
`Condition list {01, 02, Union of
`cn}
`states 31, 52,
`sn
`Union of
`states $1, $2,
`sn
`
`Precondition list {C1,
`02,
`cn}
`
`xn]]
`
`STATE
`3
`
`OBLIGATION
`O
`
`ERROR
`MESSAGE
`
`CONTEXT
`X
`
`Union of
`contexts x1, x2,
`xn
`Union of
`contexts x1, x2,
`...,xn
`
`TRUTH EVALUATION
`[[ c, s, X ]]
`.
`[[ c1, 51, x1 ]] AND [[ c2, 32,
`x2]] AND
`AND [[ cn, sn,
`xn ]]
`[[ c1, 31, x1 ]] AND [[ c2, s2,
`x2 ]] AND
`AND [[ cn, sn,
`
`
`
`
`Table 4 -- Condition and Precondition Lists
`
`RIGHTS GRANTING
`Rights granting is a process of verifying if all required preconditions for an intent right or rights group that
`is requested for granting are satisfied. intent can be an individual right or a rights group. In case where
`multiple rights or rights groups are requested, rights granting should be considered one by one for each
`requested individual right or rights group.
`
`ContentGuard Confidential
`NVA205482.1
`
`Page 9 of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 11
`
`Petitioner Apple Inc. - Ex. 1019, p. 11
`
`
`
`
`INTENT
`
`
`
`
`
`CONTEXT
`
`STATE
`
`
`
`RIGHTS
`R
`
`
`GRANTING EVALUATION
`OBLIGATION
`G[[ R, I, S, X ]]
`
`
`
`
`precondition list p,
`
`
`condition list c
`
`I"— I AND [[ p, S, X ]]
`Union of
`Union of
`Right | and
`Rights group 9 with id i,
`
`
`contextsX, AND G[[((,r1 p1, c1), N,
`states S, S1,
`
`
`
`rights group id
`precondition list p,
`
`|’
`
`
`
`
`x1, X2.
`31 x1 1] AND G[[ (r2 p2
`32,. .,Sn
`condition list 0, and
`Xn
`c2), N, 82, X2 ]] AND
`
`
`
`rights list {(r1, p1, c1),
`
`AND G[[ (rn, pn, on), N,
`
`
`(r2, p2, 02),
`(rn, pn,
`
`
`
`
`
`Sn, Xn 1]
`
`
`
`
`
`cn)}
`
`Union of
`Union of
`
`G[[ 91, (l, l'), 81, X1 ]] OR
`
`Right id l and
`
`Rights groups list {g1,
`
`
`
`
`contexts X,
`states 81, 82,
`G[[ g2, (l, l’), S2, X2]]
`rights group id
`
`
`g2,
`gn}
`
`
`
`Sn
`l’
`OR... OR G[[ gn, (l, l’),
`X1, X2,
`
`
`
`
`
`
`Xn
`
`Sn, Xn]]
`
`
`
`
`Union of
`Union of
`
`[I P, S, X]] AND G[[ I, (N,
`
`
`
`Right id l and
`All rights with
`
`
`
`
`
`
`contexts X,
`i, N’), S’, X’ ]]
`
`states 8, 8'
`
`
`
`rights group id
`precondition list p,
`X’
`
`l’
`
`
`condition 0, and rights
`
`groups listl
`
`
`Union of
`Union of
`
`
`
`l= iAND [[p,S,X]]AND
`
`
`Rights group
`Rights group 9 with id i,
`
`
`
`
`id |
`contexts X,
`states 8, S1,
`G[[ (r1, p1, c1), r1, S1, X1
`
`
`precondition list p,
`
`
`
`X1, X2,
`]] AND G[[ (r2, p2, c2), r2,
`82, ..., Sn
`condition list c, and
`
`
`
`Xn
`82, X2 ]] AND
`AND G[[
`
`
`
`rights list {(r1, p1 , c1),
`
`(rn, pn, on), m, Sn, Xn ]]
`
`(r2, p2, c2), ..., (rn, pn,
`
`
`cnl}
`
`
`Union of
`Union of
`
`
`
`G[[g1, l, S1, X1 ]] OR G[[
`
`Rights group
`Rights groups list {g1,
`
`
`id l
`contexts X,
`states S1, S2,
`92, l, 82, X2]] OR... OR
`
`
`
`
`g2,
`gn}
`
`
`
`X1, X2,
`G[[gn, l, Sn, Xn ]]
`., Sn
`
`
`
`
`
`
`Xn
`
`
`Union of
`Union of
`
`
`[[ p, S, X]] AND G[[ I, I,
`
`
`Rights group
`
`All rights with
`
`
`id l
`contexts X,
`S’, X' ]]
`
` states 8, 8’
`
`
`
`precondition list p,
`
`X!
`condition 0, and rights
`
`
`groups list I
`Table 5 -- Rights Granting Table
`
`
`
`
`
`RIGHTS PERMISSION
`Rights permission is a process of verifying if all required conditions for an intent right are satisfied.
`Different from rights granting, an intent for rights permission can only be an individual right. In case where
`multiple rights are requested, rights permission should be considered one by one for each requested
`individual right.
`
`ContentGuard Confidential
`NVA205482.1
`
`Page 10 of 11
`
`November 20, 2001
`
`Petitioner Apple Inc. - EX. 1019, p. 12
`
`Petitioner Apple Inc. - Ex. 1019, p. 12
`
`
`
`
`RIGHTS
`INTENT
`STATE
`CONTEXT
`
`R
`I
`S-
`X
`
`
`
`PERMISSION EVALUATION
`ERROR
`
`P[[ R, I, S, X ]]
`MESSAGE
`E
`
`State S
`
`Context X
`
`N = n AND [[ c, S, X ]]
`
`
`
`
`
`
`
`All rights with precondition list
`p, condition 0, and rights
`groups listl
`
`
`Right
`id l
`
`Right id i with precondition list
`Right
`p, condition list 0
`id |
`Rights group 9 with id i,
`[[ c, S, X ]] AND ( P[[ (r1, p1,
`Union of
`Right
`Union of
`precondition list p, condition
`01), I, S1, X1 ]] OR P[[ (r2, p2,
`contexts X,
`id |
`states S,
`
`
`
`
`
`list 0, and rights list {(r1, p1,
`S1, S2,
`X1, X2,
`62), l, 82, X2]] OR
`OR P[[
`
`
`
`
`
`01), (r2, p2, c2),
`Sn
`Xn
`(rn, pn, on), I, Sn, Xn ]])
`(rn, pn,
`
`
`
`
`cn)}
`
`
`
`
`
`
`Rights groups list {g1, g2,
`Right
`Union of
`Union of
`P[[ 91, l, S1, X1 ]] OR P[[ 92,
`
`
`
`gn}
`id l
`states S1,
`contexts X,
`l, 82, X2 ]] OR... OR P[[ gn, I,
`
`
`
`
`
`
`82,
`Sn
`X1, X2,
`Sn,Xn]]
`
`
`
`
`
`Xn
`
`
`
`
`
`Union of
`Union of
`
`contexts X,
`states S,
`X’
`S’
`
`
`
`[[ p, S, X ]] AND G[[ l,
`]]
`
`l, S’, X’
`
`
`
`Table 6 -- Rights Permissions Table
`
`THE 3-VALUE AND AND OR TRUTH TABLES
`The symbols in the following tables co