# US 8,474,058 B2 · Method and system for managing a data object so as to comply with predetermined conditions for usage

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

- Number: US 8,474,058 B2
- Document ID: US8474058B2
- Status: Granted
- Kind: B2
- Application number: 10/645,991
- Filed: 2003-08-21
- Published: 2004-02-26
- Granted: 2013-06-25
- Earliest claimed: 1995-02-01
- Assignees: Rovi Solutions Corporation
- Applicants: Greg Benson; Gregory H. Urich; Christopher L. Knauft
- Inventors: Greg Benson; Gregory H. Urich; Christopher L. Knauft
- Web page: https://patentgrep.com/patent/US8474058B2

## CPC

- G06F 21/6236: {between heterogeneous systems}
- 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 2211/007: Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
- G06F 2221/2103: Challenge-response
- G06F 2221/2111: Location-sensitive, e.g. geographical location, GPS
- G06F 2221/2137: Time limited access, e.g. to a computer or data
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- G06F 2221/2151: Time stamp
- Y10S 707/99939: Privileged access
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A method and a system for managing a data object so as to comply with predetermined conditions for usage of the data object. To control the usage of the data object, a set of control data, defining uses of the data object, which comply with the predetermined conditions, is created for the data object. The data object is concatenated with the user set of control data, encrypted and transferred to the user. When the user wants to use the data object, a special user program checks whether the usage complies with the control data. If so, the usage is enabled. Otherwise it is disabled.

## Claims

### Claim 1

A method comprising:
receiving at least two data packages, each data package comprising a data object and a set of control data, the set of control data for each data package including at least one usage control element defining a usage of the data object, the usage complying with a variable number of conditions, the data object and the usage control element for each data package being encrypted;
decrypting the usage control elements of the sets of control data;
examining, by use of a data processor, the usage control elements of the at least two data packages to find a match;
determining whether a data processor is capable of completing a security procedure specified in a security control element of the usage control elements, and disabling the usage when the data processor is not capable of completing the security procedure; and
performing an action specified in the sets of control data of the at least two data packages, if the usage is not disabled.

### Claim 2 (depends on 1)

The method of claim 1 additionally comprising:
updating the usage control element of each data package; and
re-encrypting each updated usage control element of each data package.

### Claim 3 (depends on 1)

The method of claim 1 wherein the at least one usage control element defining a usage of the data object corresponds to a particular kind of user.

### Claim 4 (depends on 1)

The method of claim 1 wherein the at least one usage control element defining a usage of the data object corresponds to a particular time limit for usage.

### Claim 5 (depends on 1)

The method of claim 1 wherein the at least one usage control element defining a usage of the data object corresponds to a particular geographical area for usage.

### Claim 6 (depends on 1)

The method of claim 1 wherein the at least one usage control element defining a usage of the data object corresponds to a particular kind of allowed operations.

### Claim 7 (depends on 1)

The method of claim 1 wherein the at least one usage control element defining a usage of the data object corresponds to a particular number of uses of the data object.

### Claim 8 (depends on 1)

The method of claim 1 wherein the set of control data includes an identifier, which uniquely identifies the set of control data.

### Claim 9 (depends on 1)

The method of claim 1 wherein the set of control data is concatenated to the data object.

### Claim 10 (depends on 1)

The method of claim 1 wherein the data object is sent independently of the set of control data.

### Claim 11

A method comprising:
receiving at least two data packages, each data package comprising a data object and a set of control data, the set of control data for each data package including at least one usage control element defining a usage of the data object, the usage complying with a variable number of conditions, the data object for each data package being encrypted;
examining, by use of a data processor, the usage control elements of the at least two data packages to find a match;
determining whether a data processor is capable of completing a security procedure specified in a security control element of the usage control elements, and disabling the usage when the data processor is not capable of completing the security procedure; and
performing an action specified in the sets of control data of the at least two data packages, if the usage is not disabled.

### Claim 12 (depends on 11)

The method of claim 11 wherein the at least one usage control element defining a usage of the data object corresponds to a particular kind of user.

### Claim 13 (depends on 11)

The method of claim 11 wherein the at least one usage control element defining a usage of the data object corresponds to a particular time limit for usage.

### Claim 14 (depends on 11)

The method of claim 11 wherein the at least one usage control element defining a usage of the data object corresponds to a particular geographical area for usage.

### Claim 15 (depends on 11)

The method of claim 11 wherein the at least one usage control element defining a usage of the data object corresponds to a particular kind of allowed operations.

### Claim 16 (depends on 11)

The method of claim 11 wherein the at least one usage control element defining a usage of the data object corresponds to a particular number of uses of the data object.

### Claim 17 (depends on 11)

The method of claim 11 wherein the set of control data includes an identifier, which uniquely identifies the set of control data.

### Claim 18 (depends on 11)

The method of claim 11 wherein the set of control data is concatenated to the data object.

### Claim 19 (depends on 11)

The method of claim 11 wherein the data object is sent independently of the set of control data.

### Claim 20

A system comprising:
a data processor;
a receiving module, being executable by the data processor, to receive at least two data packages, each data package comprising a data object and a set of control data, the set of control data for each data package including at least one usage control element defining a usage of the data object, the usage complying with a variable number of conditions, the data object and the usage control element for each data package being encrypted;
a decryption module to decrypt the usage control elements of the sets of control data;
a security module to examine the usage control elements of the at least two data packages to find a match, to determine whether the data processor is capable of completing a security procedure specified in a security control element of the usage control elements, and to disable the usage when the data processor is not capable of completing the security procedure; and
a usage manager module to perform an action specified in the sets of control data of the at least two data packages, if the usage is not disabled.

### Claim 21 (depends on 20)

The system of claim 20 additionally comprising:
an update module to update the usage control element of each data package; and
an encryption module to re-encrypt each updated usage control element of each data package.

### Claim 22 (depends on 20)

The system of claim 20 wherein the at least one usage control element defining a usage of the data object corresponds to a particular kind of user.

### Claim 23 (depends on 20)

The system of claim 20 wherein the at least one usage control element defining a usage of the data object corresponds to a particular time limit for usage.

### Claim 24 (depends on 20)

The system of claim 20 wherein the at least one usage control element defining a usage of the data object corresponds to a particular geographical area for usage.

### Claim 25 (depends on 20)

The system of claim 20 wherein the at least one usage control element defining a usage of the data object corresponds to a particular kind of allowed operations.

### Claim 26 (depends on 20)

The system of claim 20 wherein the at least one usage control element defining a usage of the data object corresponds to a particular number of uses of the data object.

### Claim 27 (depends on 20)

The system of claim 20 wherein the set of control data includes an identifier, which uniquely identifies the set of control data.

### Claim 28 (depends on 20)

The system of claim 20 wherein the set of control data is concatenated to the data object.

### Claim 29 (depends on 20)

The system of claim 20 wherein the data object is sent independently of the set of control data.

### Claim 30

A system comprising:
a data processor;
a receiving module, being executable by the data processor, to receive at least two data packages, each data package comprising a data object and a set of control data, the set of control data for each data package including at least one usage control element defining a usage of the data object, the usage complying with a variable number of conditions, the data object for each data package being encrypted;
a security module to examine the usage control elements of the at least two data packages to find a match, to determine whether the data processor is capable of completing a security procedure specified in a security control element of the usage control elements, and to disable the usage when the data processor is not capable of completing the security procedure; and
a usage manager module to perform an action specified in the sets of control data of the at least two data packages, if the usage is not disabled.

### Claim 31 (depends on 30)

The system of claim 30 wherein the at least one usage control element defining a usage of the data object corresponds to a particular kind of user.

### Claim 32 (depends on 30)

The system of claim 30 wherein the at least one usage control element defining a usage of the data object corresponds to a particular time limit for usage.

### Claim 33 (depends on 30)

The system of claim 30 wherein the at least one usage control element defining a usage of the data object corresponds to a particular geographical area for usage.

### Claim 34 (depends on 30)

The system of claim 30 wherein the at least one usage control element defining a usage of the data object corresponds to a particular kind of allowed operations.

### Claim 35 (depends on 30)

The system of claim 30 wherein the at least one usage control element defining a usage of the data object corresponds to a particular number of uses of the data object.

### Claim 36 (depends on 30)

The system of claim 30 wherein the set of control data includes an identifier, which uniquely identifies the set of control data.

### Claim 37 (depends on 30)

The system of claim 30 wherein the set of control data is concatenated to the data object.

### Claim 38 (depends on 30)

The system of claim 30 wherein the data object is sent independently of the set of control data.
