IP Library › Granted Patent US 7,490,075
Granted Patent B2
US 7,490,075 · App. 11/041,826 · Granted Feb 10, 2009

Scaleable data itemsets and association rules

Assignee: Microsoft Corporation
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 7,490,075
App. No.
11/041,826
Granted
Feb 10, 2009
Kind
B2
Abstract

The subject invention leverages scaleable itemsets and/or association rules to provide dynamic adjustment of memory usage. This allows the subject invention to provide association rules and/or itemsets with the highest support while utilizing a bounded amount of memory. Thus, a data analysis system and/or method utilizing the subject invention can self-adjust to provide the best association rules and/or itemsets based on available system resources. One instance of the subject invention employs dynamically adjustable minimum support values for data itemsets and/or association rules to facilitate in compensating for memory availability. In yet another instance of the subject invention a prefix tree data structure is utilized to facilitate in constructing itemsets. Memory utilization is then adjusted via pruning and/or reallocation of counter vectors and/or pointer vectors and/or reallocation of nodes of the prefix tree data structure for scaleable data itemsets and/or association rules.

Claims (42)

1. A system that facilitates data analysis, comprising:

a data receiving component that receives data relating to items in a database; and

an itemset determination component that groups the items into scalable itemsets based in part on available computer resources that are dynamically determined and determines frequent itemsets with the highest support utilizing a bounded amount of memory and dynamically adjusts minimum support to limit memory utilization, the frequent itemsets dynamically determined based at least in part on one or more computer resource parameters,

wherein a memory operatively coupled to a processor retains at least one of the data receiving component or the itemset determination component.

2. The system of claim 1 , the itemset determination component utilizes a prefix tree data structure to facilitate in constructing itemsets; the itemsets based on a minimum support level.

3. The system of claim 2 further comprising:

a memory utilization component that scales the minimum support level for determining itemsets to adjust memory utilization required to store information relating to the itemsets.

4. The system of claim 3 , the memory utilization component dynamically scales the minimum support level in response to available memory.

5. The system of claim 3 , the memory utilization component adjusts memory utilization via pruning and/or reallocation of at least one counter vector and/or pointer vector and/or reallocation of at least one node of the prefix tree data structure.

6. The system of claim 5 further comprising:

a memory allocation component that ensures that vectors and/or nodes of the prefix data tree structure are allocated memory independently to allow complete memory block reallocations.

7. The system of claim 1 further comprising:

an association rule determination component that determines association rules based on, at least in part, the frequent itemsets.

8. A method for facilitating data analysis, comprising:

receiving data relating to items in a database;

receiving memory parameters to dynamically determine available memory, the memory parameters including at least one of memory type, memory speed, or memory location;

grouping the items into scalable itemsets and determining their frequencies, the scalable itemsets based in part on a dynamically adjustable minimum support value determined based on the at least one memory parameter; and

determining frequent itemsets with the highest support based at least in part on the at least one memory parameter.

9. The method of claim 8 further comprising:

dynamically adjusting minimum support to limit memory utilization.

10. The method of claim 8 further comprising:

utilizing a prefix tree data structure to facilitate in constructing itemsets; the itemsets based on a minimum support level.

11. The method of claim 10 further comprising:

scaling the minimum support level for determining itemsets to adjust memory utilization required to store information relating to the itemsets.

12. The method of claim 11 further comprising:

dynamically scaling the minimum support level in response to available memory.

13. The method of claim 11 further comprising:

adjusting memory utilization via pruning and/or reallocation of at least one counter vector and/or pointer vector and/or reallocation of at least one node of the prefix tree data structure.

14. The method of claim 13 further comprising:

allocating memory for vectors and/or nodes of the prefix data tree structure independently to allow complete memory block reallocations.

15. The method of claim 8 further comprising:

determining association rules based on, at least in part, the frequent itemsets.

16. The method of claim 9 further comprising:

determining association rules based on, at least in part, the frequent itemsets.

17. The method of claim 10 further comprising:

determining association rules based on, at least in part, the frequent itemsets.

18. A system that facilitates data analysis, comprising:

means for receiving data relating to items in a database;

means for receiving at least one memory parameter to dynamically determine available memory;

means for grouping the items into scalable itemsets, the scalable itemsets based in part on a dynamically adjustable minimum support value that is determined based on the at least one memory parameter; and

means for determining at least one of frequent itemsets with the highest support or association rules based at least in part on the at least one memory parameter,

wherein a memory operatively coupled to a processor retains at least one of the means.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2005
From: LIND, JESPER B.; MEEK, CHRISTOPHER A.; MACLENNAN, C. JAMES
To: MICROSOFT CORPORATION
Reel/Frame 015689/0219 →
Continuity (1)
Related Publication 20060167839A1 · Jul 27, 2006