IP Library Granted Patent US 6,938,044
Granted Patent B1
US 6,938,044 · App. 10/035,742 · Granted Aug 30, 2005

Tracking usage of resources of a database system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,938,044
App. No.
10/035,742
Granted
Aug 30, 2005
Kind
B1
Abstract

A database system is capable of storing data according to a user-defined data type (UDT). Usage of the user-defined data type is tracked, with an indication of the tracked usage provided to enable calculation of royalty to be paid. Optionally, usage of methods associated with the user-defined data type and/or user-defined functions is tracked. Alternatively, or in addition to, usage of other database system resources are also tracked.

Claims (72)

1. A process for use in a database system, comprising:

receiving a query for data in the database system;

determining if one or more resources are accessed in response to the query;

tracking an amount of usage of the accessed one or more resources; and

storing an indication of the tracked amount of usage.

2. The process of claim 1 , further comprising communicating the indication to a routine for calculating a royalty.

3. The process of claim 1 , wherein determining if the one or more resources are accessed comprises determining if at least one of a user-defined data type, user-defined data type method, and user-defined function is accessed.

4. The process of claim 1 , wherein storing the indication comprises storing the indication in a data dictionary.

5. An article comprising at least one storage medium containing instructions that when executed cause a database system to:

receive a query for data in the database system;

determine if one or more resources are accessed in response to the query;

track an amount of usage of the accessed one or more resources; and

store an indication of the tracked amount of usage.

6. The article of claim 5 , wherein the instructions when executed cause the database system to further communicate the indication to a routine for calculating a royalty.

7. The article of claim 5 , wherein the instructions when executed cause the database system to determine if the one or more resources are accessed by determining if at least one of a user-defined data type, user-defined data type method, and user-defined function is accessed.

8. The article of claim 5 , wherein the instructions when executed cause the database system to store the indication in a data dictionary.

9. A process for use in a database system, comprising:

storing data according to a user-defined data type in the database system;

tracking usage of the user-defined data type; and

storing an indication of the tracked usage.

10. The process of claim 9 , further comprising communicating the indication to a routine for calculating a royalty.

11. The process of claim 9 , further comprising providing a flag to indicate whether usage of the user-defined data type is to be tracked.

12. The process of claim 11 , further comprising accessing the flag in response to a query for creating a table that contains an attribute according to the user-defined data type.

13. The process of claim 12 , further comprising receiving the query, the query comprising a Structured Query Language CREATE TABLE statement.

14. The process of claim 11 , wherein providing the flag comprises storing the flag in a table of a data dictionary.

15. The process of claim 14 , further comprising:

storing data according to second user-defined data type; and

storing a second flag associated with the second user-defined data type in the table to indicate whether to track usage of the second user-defined data type.

16. The process of claim 11 , wherein providing the flag comprises providing the flag having a state set to one of at least two values, a first value indicating tracking of usage of the user-defined data type, and a second value indicating tracking of usage of the user-defined data type and methods associated with the user-defined data type.

17. The process of claim 9 , further comprising:

providing a method associated with the user-defined data type;

tracking usage of the method; and

storing a second indication of the tracked usage of the method.

18. The process of claim 17 , wherein storing the indications comprises storing the indications in a data dictionary.

19. The process of claim 18 , wherein storing the indications comprises storing the indications in respective tables in the data dictionary, the tables comprising a first table containing information defining the user-defined data type, and a second table containing information defining the method.

20. The process of claim 17 , further comprising:

providing a user-defined function; and

tracking usage of the user-defined function.

21. The process of claim 20 , further comprising:

associating an authorization code with at least one of the user-defined data type, method, and user-defined function; and

using the authorization code to determine if access of the at least one user-defined data type, method, and user-defined function is allowed.

22. An article comprising at least one storage medium containing instructions that when executed cause a database system to:

track usage of a user-defined data type object, the user-defined data type object comprising at least one of a user-defined data type attribute and a user-defined data type method; and

store an indication of usage of the user-defined data type object.

23. The article of claim 22 , wherein the instructions when executed cause the database system to further communicate the indication to a module for calculating royalty based on the indication of usage.

24. The article of claim 22 , wherein the indication comprises a count, and wherein the instructions when executed cause the database system to further increment the count each time a table is created containing the user-defined data type attribute.

25. The article of claim 22 , wherein the indication comprises a count, and wherein the instructions when executed cause the database system to further increment the count each time the user-defined data type method is invoked.

26. The article of claim 22 , wherein the instructions when executed cause the database system to store the indication in a data dictionary.

27. The article of claim 26 , wherein the instructions when executed cause the database system to further provide a flag in the data dictionary to indicate that usage of the user-defined data type object is to be tracked.

28. The article of claim 27 , wherein the instructions when executed cause the database system to further access the flag each time a table containing the user-defined data type attribute is created.

29. The article of claim 27 , wherein the instructions when executed cause the database system to further access the flag each time the user-defined data type method is invoked.

30. The article of claim 29 , wherein the instructions when executed cause the database system to further track usage of a user-defined function.

31. A database system, comprising:

a storage subsystem to store a table; and

a controller adapted to:

create the table containing an attribute according to a user-defined data type; and

update an indication representing usage of the user-defined data type in response to creating the table.

32. The database system of claim 31 , wherein the controller is adapted to further:

create a second table containing another attribute according to the user-defined data type, and

update the indication in response to creating the second table.

33. The database system of claim 32 , wherein the indication comprises a count incremented by the controller.

34. The database system of claim 31 , the storage subsystem to store a data dictionary,

the indication contained in the data dictionary.

35. The database system of claim 34 , wherein the data dictionary further contains a flag indicating that the user-defined data type is to be tracked.

36. The database system of claim 31 , wherein the controller is adapted to further:

create a second table containing an attribute according to a second user-defined data type, and

update a second indication representing usage of the second user-defined data type in response to creating the second table.

37. The database system of claim 31 , further comprising plural access modules to access plural portions of the table in parallel.

38. The database system of claim 31 , further comprising a method associated with the user-defined data type,

the controller adapted to track usage of the method.

39. The database system of claim 38 , wherein the controller is adapted to track usage of the method by incrementing a count in response to each innovation of the method.

40. The database system of claim 38 , further comprising a user-defined function, the controller adapted to track usage of the user-defined function.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2007
From: NCR CORPORATION
To: TERADATA US, INC.
Reel/Frame 020540/0786 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2001
From: MILBY, GREGORY H.
To: NCR CORPORATION
Reel/Frame 012443/0036 →