# US 8,543,511 B2 · System and method for specifying and processing legality expressions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,511 B2
- Document ID: US8543511B2
- Status: Granted
- Kind: B2
- Application number: 10/424,785
- Filed: 2003-04-29
- Published: 2004-03-11
- Granted: 2013-09-24
- Earliest claimed: 2002-04-29
- Assignees: ContentGuard Holdings, Inc.
- Applicants: Xin Wang
- Inventors: Xin Wang
- Web page: https://patentgrep.com/patent/US8543511B2

## CPC

- G06Q 10/00: Administration; Management
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06Q 10/10: Office automation; Time management
- G06Q 40/00: Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q 50/184: {Intellectual property management}
- G07C 9/20: involving the use of a pass
- G06F 2221/2137: Time limited access, e.g. to a computer or data
- G06F 2221/2153: Using hardware token as a secondary aspect
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE

## Abstract

A system and method are provided for specifying a legality expression for use in a system for processing the legality expression. The system and method include providing a legality expression language, including at least one of a duty element specifying an obligation that a principal must perform an act, a ban element specifying a prohibition that a principal must not perform an act, an intent element specifying an intention that a principal wants to perform an act, and a claim element specifying an assertion that a principal does perform an act. The system and method further include interpreting by the system a legality expression specified using the legality expression language.

## Claims

### Claim 1

A computer-implemented method executed by one or more computing devices for specifying a legality expression for use in a system for processing said legality expression, said method comprising:
selecting, by at least one of the one or more computing devices, at least one digital data element from a legality expression language, including at least one of,
a duty element specifying an obligation that a principal must perform an act,
a ban element specifying a prohibition that a principal must not perform an act, and
a claim element specifying an assertion that a principal does perform an act;
determining, by at least one of the one or more computing devices, at least one attribute value for the at least one data element;
transforming, by at least one of the one or more computing devices, the at least one digital data element and the at least one attribute to create a legality expression; and
recording, by at least one of the one or more computing devices, the legality expression in a form that can be interpreted by the system for processing legality expressions to thereby permit the system to enforce the legality expression.

### Claim 2 (depends on 1)

The method of claim 1, wherein the legality expression language further includes an intent element specifying an intention that a principal wants to perform an act.

### Claim 3 (depends on 2)

The method of claim 2, comprising:
enforcing by said system said legality expression.

### Claim 4 (depends on 2)

The method of claim 2, comprising:
providing in said legality expression language a grant element specifying a permission that a principal may perform an act; and
enforcing by said system said legality expression.

### Claim 5 (depends on 4)

The method of claim 4, comprising:
selecting in said legality expression language,
respective principal elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying the respective principals,
respective resource elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying a resource associated with the respective acts, and
respective condition elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying a condition associated with the respective acts.

### Claim 6 (depends on 4)

The method of claim 4, comprising:
selecting in said legality expression language respective event elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying respective events for triggering said obligation, said prohibition, said permission, said intention, and said assertion.

### Claim 7 (depends on 4)

The method of claim 4, selecting in said legality expression language respective act elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying the respective acts.

### Claim 8 (depends on 4)

The method of claim 4, wherein transforming the at least one digital data element and the at least one attribute to create a legality expression comprises:
associating said grant element, said duty element, said ban element, said claim element, and said intent element with a clause element of said legality expression language.

### Claim 9 (depends on 8)

The method of claim 8, wherein transforming the at least one digital data element and the at least one attribute to create a legality expression comprises:
associating said clause element with a promise element of said legality expression language, said promise element specifying a promise in said legality expression; and
associating said clause element with an issuer element of said legality expression language, said issuer element specifying an issuer of said clause.

### Claim 10 (depends on 2)

The method of claim 2, comprising:
specifying at least one signer of a contract specified using said legality expression with a signer element associated with said legality expression.

### Claim 11 (depends on 2)

The method of claim 2, comprising:
specifying a license associated with a contract specified using said legality expression with a license element associated with said legality expression.

### Claim 12 (depends on 2)

The method of claim 2, comprising:
specifying metadata associated with a contract specified using said legality expression with a metadata element associated with said legality expression.

### Claim 13 (depends on 2)

The method of claim 2, comprising:
basing said legality expression language on a grammar based language.

### Claim 14 (depends on 8)

The method of claim 8, wherein transforming the at least one digital data element and the at least one attribute to create a legality expression comprises:
specifying with one or more of said claim elements a preference policy specifying a preference for one of processing and accepting respective one or more of said clause elements.

### Claim 15 (depends on 14)

The method of claim 14, wherein said preference policy includes said preference based on an order of occurrence of said one or more of said clause elements.

### Claim 16 (depends on 14)

The method of claim 14, wherein said preference policy includes said preference based on issuance times of said one or more of said clause elements.

### Claim 17 (depends on 14)

The method of claim 14, wherein said preference policy includes said preference based on issuers of said one or more of said clause elements.

### Claim 18 (depends on 14)

The method of claim 14, wherein said preference policy includes said preference based on a type of said one or more of said clause elements.

### Claim 19 (depends on 14)

The method of claim 14, wherein said preference policy includes said preference based on a combination of at least two of an order of occurrence of said one or more of said clause elements, issuance times of said one or more of said clause elements, issuers of said one or more of said clause elements, and a type of said one or more of said clause elements.

### Claim 20 (depends on 8)

The method of claim 8, wherein transforming the at least one digital data element and the at least one attribute to create a legality expression comprises:
establishing a trust relationship, including,
specifying in said claim element that a principal trusts a resource comprising an issuer of a clause based on said act element comprising a trust element.

### Claim 21 (depends on 8)

The method of claim 8, wherein transforming the at least one digital data element and the at least one attribute to create a legality expression comprises:
establishing a binding relationship, including,
specifying in said claim element that a principal binds to a resource comprising a signer of a contract based on said act element comprising a bind element.

### Claim 22 (depends on 8)

The method of claim 8, wherein transforming the at least one digital data element and the at least one attribute to create a legality expression comprises:
establishing a trust relationship, including,
specifying in said claim element that a principal trusts a resource comprising a clause based on said act element comprising a trust element.

### Claim 23 (depends on 8)

The method of claim 8, wherein transforming the at least one digital data element and the at least one attribute to create a legality expression comprises:
establishing a binding relationship, including,
specifying in a claim element that a principal binds to a resource comprising a clause based on said act element comprising a bind element.

### Claim 24 (depends on 8)

The method of claim 8, comprising:
providing query-driven processing, including,
submitting a clause as a query, and a context including one or more of said claim elements,
matching said clause against one or more clauses in a contract that are valid in said context, and
outputting clauses in said contract that match said query and are valid in said context as a query response.

### Claim 25 (depends on 8)

The method of claim 8, comprising:
providing context-driven processing, including,
submitting a context in response to a trigger, said context including one or more claim elements,
matching one or more clauses in a contract that are valid in said context, and
outputting clauses in said contract that are valid in said context.

### Claim 26 (depends on 14)

The method of claim 14, comprising:
providing conflict or multiplicity driven processing, including,
submitting two or more clauses having conflict or multiplicity,
resolving said conflict or multiplicity based on a context and said preference policy, said context including one or more claim elements, and
outputting resolved clauses as a resolution result.

### Claim 27 (depends on 8)

The method of claim 8, comprising:
providing query-driven processing, including,
submitting a clause as a query, and a context including one or more of said claim elements,
matching said clause against one or more clauses in a contract that are valid in said context, and
outputting clauses in said contract that match said query and are valid in said context as a query response;
providing context-driven processing, including,
submitting a context in response to a trigger, said context including one or more claim elements,
matching one or more clauses in a contract that are valid in said context, and
outputting clauses in said contract that are valid in said context;
providing conflict or multiplicity driven processing, including,
submitting two or more clauses having conflict or multiplicity from at least one of said query response and said valid clauses,
resolving said conflict or multiplicity based on a context and said preference policy, said context including one or more claim elements, and
outputting resolved clauses as a resolution result; and
performing an act specified in said act element based on said resolution result.

### Claim 28

At least one non-transitory computer-readable medium having a computer readable legality expression stored thereon for use in a system for processing said legality expression, said legality expression comprising:
at least one digital data element from a legality expression language, including at least one of:
a duty element specifying an obligation that a principal must perform an act,
a ban element specifying a prohibition that a principal must not perform an act, and
a claim element specifying an assertion that a principal does perform an act,
wherein at least one attribute corresponds to the at least one digital data element, and the at least one element and the at least one attribute form said legality expression, said legality expression being recorded thereon in a tangible form that can be interpreted by the system for processing legality expressions to thereby permit the system to enforce the legality expression.

### Claim 29 (depends on 28)

The at least one non-transitory computer-readable medium of claim 28, wherein the legality expression language further includes an intent element specifying an intention that a principal wants to perform an act.

### Claim 30 (depends on 29)

The at least one non-transitory computer-readable medium of claim 29, whereby a computer system can enforce at least one of said obligation based on said duty element by verifying that said principal has performed said act, and said prohibition based on said ban element by verifying that said principal has not performed said act.

### Claim 31 (depends on 29)

The at least one non-transitory computer-readable medium of claim 29, comprising:
a grant element specifying a permission that a principal may perform an act, whereby a computer system can enforce at least one of said permission based on said grant element by verifying that said principal may perform said act, said intention based on said intent element by verifying that said principal wants to perform said act, and said assertion based on said claim element by verifying that said principal does perform said act.

### Claim 32 (depends on 31)

The at least one non-transitory computer-readable medium of claim 31, comprising:
respective principal elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying the respective principals;
respective resource elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying a resource associated with the respective acts; and
respective condition elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying a condition associated with the respective acts.

### Claim 33 (depends on 31)

The at least one non-transitory computer-readable medium of claim 31, comprising:
respective event elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying respective events for triggering said obligation, said prohibition, said permission, said intention, and said assertion.

### Claim 34 (depends on 31)

The at least one non-transitory computer-readable medium of claim 31, comprising:
respective act elements as attributes associated with said duty element, said ban element, said grant element, said intent element, and said claim element, and specifying the respective acts.

### Claim 35 (depends on 31)

The at least one non-transitory computer-readable medium of claim 31, comprising:
a clause element associated with said grant element, said duty element, said ban element, said claim element, and said intent element.

### Claim 36 (depends on 35)

The at least one non-transitory computer-readable medium of claim 35, comprising:
a promise element associated said clause element and specifying a promise in said legality expression; and
associating said clause element with an issuer element of said legality expression language, said issuer element specifying an issuer of said clause.

### Claim 37 (depends on 29)

The at least one non-transitory computer-readable medium of claim 29, comprising:
a signer element specifying at least one signer of a contract specified using said legality expression.

### Claim 38 (depends on 29)

The at least one non-transitory computer-readable medium of claim 29, comprising:
a license element specifying a license associated with a contract specified using said legality expression.

### Claim 39 (depends on 29)

The at least one non-transitory computer-readable medium of claim 29, comprising:
a metadata element specifying metadata associated with a contract specified using said legality expression.

### Claim 40 (depends on 29)

The at least one non-transitory computer-readable medium of claim 29, wherein said legality expression is based on a legality expression language.

### Claim 41 (depends on 40)

The at least one non-transitory computer-readable medium of claim 40, wherein said legality expression language comprises a grammar based language.

### Claim 42 (depends on 2)

The method of claim 2, comprising:
providing in said legality expression language a validity interval element specifying a time interval during which said legality expression is valid.

### Claim 43 (depends on 29)

The at least one non-transitory computer-readable medium of claim 29, comprising:
a validity interval element specifying a time interval during which said legality expression is valid.

### Claim 44 (depends on 3)

The method of claim 3, comprising:
enforcing said obligation based on said duty element by verifying that said principal has performed said act.

### Claim 45 (depends on 3)

The method of claim 3, comprising:
enforcing said prohibition based on said ban element by verifying that said principal has not performed said act.

### Claim 46 (depends on 4)

The method of claim 4, comprising:
enforcing said permission based on said grant element by verifying that said principal may perform said act.

### Claim 47 (depends on 4)

The method of claim 4, comprising:
enforcing said intention based on said intent element by verifying that said principal wants to perform said act.

### Claim 48 (depends on 4)

The method of claim 4, comprising:
enforcing said assertion based on said claim element by verifying that said principal does perform said act.
