Data storage and retrieval system with optimized categorization of information items based on category selection
First Claim
1. A method of categorizing information items in a computer implemented data storage and retrieval system, wherein each of said information items is associated with at least one property, comprising:
- applying a global property ordering to each list of properties required for membership in each corresponding one of a currently defined set of categories;
generating, a tree structure providing an index, wherein said tree structure indexes said currently defined set of categories based on said properties required for membership in corresponding ones of said categories, wherein said tree structure includes a plurality of nodes, each node being associated with an individual property and a list of categories, wherein said nodes are ordered within said tree structure based on said global property ordering, and wherein each category in said category list for each node is a category that requires the property associated with the node as well as the properties associated with all ancestor nodes of the node in the up direction for membership in that category;
receiving an input one of said information items;
selecting a subset of said defined set of categories to be checked by ordering all properties associated with said input information item into an ordered property list based on said global property ordering and traversing said tree structure according to said ordered property list, wherein said traversing is limited to subtrees of said tree structure having nodes associated with properties in said ordered property list, wherein subtrees of said tree structure having nodes not associated with properties in said ordered property list are not traversed; and
categorizing said information item based on said selected subset of categories by checking the properties in said ordered list of properties to determine whether conditions for membership in each of said selected subset of categories are met, wherein conditions for membership in those categories not within said selected subset of categories are not checked.
6 Assignments
0 Petitions
Accused Products
Abstract
A data storage and retrieval system with optimized categorization of information items using intelligent category selection, based on the information items that are to be checked for category membership. The set of categories for which an information item may be a candidate member is determined, and only that set of categories is checked for membership of the information item during the categorization process. The determination of which categories an information item can be a candidate member of is based on the properties defined for that information item, which are compared to the properties checked for category membership of specific categories. A category index tree may be built and maintained to support efficient determination of which categories a given information item may be a candidate member of. The efficiency of categorization provided by the disclosed techniques enables the disclosed system to maintain category definitions indefinitely with minimal performance impact.
-
Citations
10 Claims
-
1. A method of categorizing information items in a computer implemented data storage and retrieval system, wherein each of said information items is associated with at least one property, comprising:
-
applying a global property ordering to each list of properties required for membership in each corresponding one of a currently defined set of categories; generating, a tree structure providing an index, wherein said tree structure indexes said currently defined set of categories based on said properties required for membership in corresponding ones of said categories, wherein said tree structure includes a plurality of nodes, each node being associated with an individual property and a list of categories, wherein said nodes are ordered within said tree structure based on said global property ordering, and wherein each category in said category list for each node is a category that requires the property associated with the node as well as the properties associated with all ancestor nodes of the node in the up direction for membership in that category; receiving an input one of said information items; selecting a subset of said defined set of categories to be checked by ordering all properties associated with said input information item into an ordered property list based on said global property ordering and traversing said tree structure according to said ordered property list, wherein said traversing is limited to subtrees of said tree structure having nodes associated with properties in said ordered property list, wherein subtrees of said tree structure having nodes not associated with properties in said ordered property list are not traversed; and categorizing said information item based on said selected subset of categories by checking the properties in said ordered list of properties to determine whether conditions for membership in each of said selected subset of categories are met, wherein conditions for membership in those categories not within said selected subset of categories are not checked. - View Dependent Claims (2, 3, 4)
-
-
5. A computer system for categorizing information items in a data storage and retrieval system, wherein each of said information items is associated with at least one property, said system including a computer readable memory having program code stored thereon, said program code comprising:
-
program code for applying a global property ordering to each list of properties required for membership in each corresponding one of a currently defined set of categories; program code for generating a tree structure providing an index, wherein said tree structure indexes said currently defined set of categories based on said properties required for membership in corresponding ones of said categories, wherein said tree structure includes generating a plurality of nodes, each node being associated with an individual property and a list of categories, wherein said nodes are ordered within said tree structure based on said global property ordering, and wherein each category in said category list for each node is a category that requires the property associated with the node as well as the properties associated with all ancestor nodes of the node in the up direction for membership in that category; program code for receiving an input one of said information items; program code for selecting a subset of said defined set of categories to be checked by ordering all properties associated with said input information item into an ordered property list based on said global property ordering, and traversing said tree structure according to said ordered property list, wherein said traversing is limited to subtrees of said tree structure having nodes associated with properties in said ordered property list, wherein subtrees of said tree structure having nodes not associated with properties in said ordered property list are not traversed; and program code for categorizing said information item based on said selected subset of categories by checking the properties in said ordered list of properties to determine whether conditions for membership in each of said selected subset of categories are met, wherein conditions for membership in those categories not within said selected subset of categories are not checked. - View Dependent Claims (6, 7, 8)
-
-
9. A computer program product including a computer readable memory, said computer readable memory having a computer program for categorizing information items in a data storage and retrieval system stored thereon, wherein each of said information items is associated at least one property, said computer program comprising:
-
program code for applying a global property ordering to each list of properties required for membership in each corresponding one of a currently defined set of categories; program code for generating a tree structure providing an index, wherein said tree structure indexes said currently defined set of categories based on said properties required for membership in corresponding ones of said categories, wherein said tree structure includes generating a plurality of nodes, each node being associated with an individual property and a list of categories, and wherein said nodes are ordered within said tree structure based on said global property ordering, and wherein each category in said category list for each node is a category that requires the property associated with the node as well as the properties associated with all ancestor nodes of the node in the up direction for membership in that category; program code for receiving an input one of said information items; program code for selecting a subset of said defined set of categories to be checked by ordering all properties associated with said input information item into an ordered property list based on said global property ordering, and traversing said tree structure according to said ordered property list, wherein said traversing is limited to subtrees of said tree structure having nodes associated with properties in said ordered property list, wherein subtrees of said tree structure having nodes not associated with properties in said ordered property list are not traversed; and program code for categorizing said information item based on said selected subset of categories by checking the properties in said ordered list of properties to determine whether conditions for membership in each of said selected subset of categories are met, wherein conditions for membership in those categories not within said selected subset of categories are not checked.
-
-
10. A computer system including at least one processor and a computer readable storage medium, wherein said computer readable medium has stored thereon program code for categorizing information items in a data storage and retrieval system stored on said computer readable medium, wherein each of said information items is associated at least one property, wherein said program code for categorizing information items comprises:
-
means for applying a global property ordering to each list of properties required for membership in each corresponding one of a currently defined set of categories; means for generating a tree structure providing an index, wherein said tree structure indexes said currently defined set of categories based on said properties required for membership in corresponding ones of said categories, wherein said tree structure includes generating a plurality of nodes, each node being associated with an individual property and a list of categories, wherein said nodes are ordered within said tree structure based on said global property ordering, and wherein each category in said category list for each node is a category that requires the property associated with the node as well as the properties associated with all ancestor nodes of the node in the up direction for membership in that category; means for receiving an input one of said information items; means for selecting a subset of said defined set of categories to be checked by ordering all properties associated with said input information item into an ordered property list based on said global property ordering, and traversing said tree structure according to said ordered property list, wherein said traversing is limited to subtrees of said tree structure having nodes associated with properties in said ordered property list, wherein subtrees of said tree structure having nodes not associated with properties in said ordered property list are not traversed; and means for categorizing said information item based on said selected subset of categories by checking the properties in said ordered list of properties to determine whether conditions for membership in each of said selected subset of categories are met, wherein conditions for membership in those categories not within said selected subset of categories are not checked.
-
Specification