Method and system for object-oriented management of multi-dimensional data
First Claim
1. A method in a computer system for managing a plurality of types of enterprise portfolio data, the portfolio data having investment items, the computer system defining an object type to correspond to each of the plurality of types of portfolio data, each object type defining a plurality of attributes, comprising:
- for each investment item, instantiating an object as an instance of the object type that corresponds to the investment item, the instantiated object containing a plurality of attributes; and
setting values of the plurality of attributes of the instantiated object based upon data associated with the investment item, wherein at least one of the investment items is a financial investment item that reflects financial investment data and at least another one of the investment items is a project management item that reflects project related data and the instantiated objects that correspond to the financial investment item and the project management item are managed as interchangeable items.
17 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for managing and analyzing multi-dimensional data are provided. Example embodiments provide a Meta-Object Data Management System “MODMS,” which enables users to arrange and to rearrange the hierarchical relationships of the data on an ad-hoc basis and allows the data to be analyzed using any set of attributes (dimensions) while the system is running. The MODMS represents heterogeneous data in a normalized (standardized) fashion using an object type management system that allows the arbitrary coercion of one type of object into another different type of object and automatically resolves attribute dependencies. In one embodiment, the MODMS comprises an object type management subsystem; a meta-object instantiation subsystem; one or more data repositories that hold, for example, the data used to populate objects and object type definitions; and an input/output interface. These components cooperate to allow the creation, management, and analysis of relationships between many different types of single and multi-dimensional data. In one embodiment, the MODMS is used to implement an enterprise portfolio management system.
101 Citations
236 Claims
-
1. A method in a computer system for managing a plurality of types of enterprise portfolio data, the portfolio data having investment items, the computer system defining an object type to correspond to each of the plurality of types of portfolio data, each object type defining a plurality of attributes, comprising:
for each investment item, instantiating an object as an instance of the object type that corresponds to the investment item, the instantiated object containing a plurality of attributes; and
setting values of the plurality of attributes of the instantiated object based upon data associated with the investment item, wherein at least one of the investment items is a financial investment item that reflects financial investment data and at least another one of the investment items is a project management item that reflects project related data and the instantiated objects that correspond to the financial investment item and the project management item are managed as interchangeable items. - View Dependent Claims (2, 3, 4, 5, 6, 7, 112)
-
8. A computer-readable memory medium containing instructions to control a computer processor to manage a plurality of types of enterprise portfolio data, the portfolio data having investment items, the computer system defining an object type to correspond to each of the plurality of types of portfolio data, each object type defining a plurality of attributes, by:
for each investment item, instantiating an object as an instance of the object type that corresponds to the investment item, the instantiated object containing a plurality of attributes; and
setting values of the plurality of attributes of the instantiated object based upon data associated with the investment item, wherein at least one of the investment items is a financial investment item that reflects financial investment data and at least another one of the investment items is a project management item that reflects project related data and the instantiated objects that correspond to the financial investment item and the project management item are managed as interchangeable items. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. An portfolio management system for managing portfolios of investment items, comprising:
-
an object type management system that defines types of investments for which objects can be instantiated and a plurality of attributes that are associated with each type;
an object instantiation system that is structured to;
instantiate an object as an instance of the object type that corresponds to an investment item, the instantiated object containing a plurality of attributes; and
set values of the plurality of attributes of the instantiated object based upon data associated with the investment item, wherein at least one of the investment items is a financial investment item that reflects financial investment data and at least another one of the investment items is a project management item that reflects project related data and the instantiated objects that correspond to the financial investment item and the project management item are managed as interchangeable items. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer system for managing and analyzing enterprise portfolio data, comprising:
-
a portfolio manager component that is structured to add to a portfolio representation structure items that correspond to transactions on the portfolio data; and
a portfolio analyzer component that is structured to present a plurality of views of the portfolio data as represented by the portfolio representation structure, wherein the views dynamically calculate and present multi-dimensional characterizations of the portfolio data while items are added using the portfolio manager. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method in a computer system for representing, managing, and analyzing investments of an organization, comprising:
-
instantiating a hierarchy of object instances, each object instance representing an investment of the organization, at least two object instances representing data from different categories of investments;
receiving a request to display data from a plurality of the object instances according to an attribute specification; and
displaying the object instances of the plurality of object instances that match the attribute specification, in a manner that is in accordance with the attribute specification, so that multi-dimensional views of the matching objects are computed and displayed dynamically. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
-
63. A computer-readable memory medium containing instructions for controlling a computer system to represent, manage, and analyze investments of an organization, by:
-
instantiating a hierarchy of object instances, each object instance representing an investment of the organization, at least two object instances representing data from different types of investments;
receiving a request to display data from a plurality of the object instances according to an attribute specification; and
displaying the object instances of the plurality of object instances that match the attribute specification, in a manner that is in accordance with the attribute specification, so that multi-dimensional views of the matching objects are computed and displayed dynamically. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81)
-
-
82. A portfolio management system for representing, managing, and analyzing investments of an organization, comprising:
-
a portfolio management component that is structured to instantiate a hierarchy of object instances according to received data, each object instance representing an investment of the organization, at least two object instances representing data from different types of investments; and
a portfolio analysis component that is structured to receive a request to display data from a plurality of the object instances according to an attribute specification; and
display the object instances of the of the plurality of object instances that match the attribute specification in a manner that is in accordance with the attribute specification, so that multi-dimensional views of the matching objects are computed and displayed dynamically. - View Dependent Claims (83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100)
-
-
101. A method in a computer system for normalizing the representation of diverse data entities, each data entity being associated with an entity type that defines a plurality of associated attributes, and each data entity having an associated plurality of attribute values that correspond to the plurality of attributes associated with the entity type, comprising:
-
instantiating a meta-object to represent one of the diverse data entities;
storing a type indicator in the meta-object to indicate a first entity type; and
storing values for a plurality of attributes of the meta-object in a single data variable, such that the plurality of attributes of the meta-object are determined based upon the entity type indicated by the stored type indicator and the values that are stored are based upon the plurality of attribute values associated with the represented data entity. - View Dependent Claims (102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128)
-
-
129. A computer-readable memory medium containing instructions for controlling a computer processor to normalize the representation of diverse data entities, each data entity being associated with a type that defines a plurality of attributes that are associated with the type of data entity, and each entity having a plurality of attribute values that correspond to the plurality of attributes associated with the type of data entity, by:
-
instantiating a meta-object to represent one of the diverse data entities;
storing a type indicator in the meta-object to indicate a first entity type; and
storing values for a plurality of attributes of the meta-object in a single data variable, such that the plurality of attributes of the meta-object are determined based upon the entity type indicated by the stored type indicator and the values that are stored are based upon the plurality of attribute values associated with the represented data entity. - View Dependent Claims (130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151)
-
-
152. An object type management system for canonically representing diverse data entities, each having different collections of attributes, comprising:
-
a plurality of object type definitions, each definition associated with a plurality of attributes and corresponding to a one of the diverse data entities; and
an instantiation mechanism that is structured to instantiate a meta-object for a designated data entity;
store an indication of the object type definition that is associated with the designated data entity;
storing, in a single field of the meta object, for each of the attributes associated with the indicated object type definition, an indication of the associated attribute and a value that is based upon the designated data entity. - View Dependent Claims (153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172)
-
-
173. A method in a computer system for creating a dynamic hierarchy of objects, wherein the hierarchy is defined by a containment structure of instantiated objects instead of object class definitions, comprising:
-
defining a plurality of object classes, each class defining a plurality of attributes;
instantiating a first object of a first class, the first object having a set of attributes as defined by the first class;
instantiating a second object of a second class as a child object of the first object in the hierarchy, the second object having a second set of attributes as defined by the second class, wherein the values of the set of attributes of the second object are used to calculate the values of the set of attributes of the first object; and
instantiating a third object of the first class as a child object of the second object in the hierarchy, the third object having a set of attributes as defined by the first class, wherein the values of the set of attributes of the third object are used to calculate the values of the set of attributes of the second object. - View Dependent Claims (174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186)
-
-
187. A computer-readable memory medium containing instructions for controlling a computer processor to create a dynamic hierarchy of objects, wherein the hierarchy is defined by a containment structuring of instantiated objects instead of object class definitions, by:
-
defining a plurality of object classes, each class defining a plurality of attributes;
instantiating a first object of a first class, the first object having a set of attributes as defined by the first class;
instantiating a second object of a second class as a child object of the first object in the hierarchy, the second object having a second set of attributes as defined by the second class, wherein the values of the set of attributes of the second object are used to calculate the values of the set of attributes of the first object; and
instantiating a third object of the first class as a child object of the second object in the hierarchy, the third object having a set of attributes as defined by the first class, wherein the values of the set of attributes of the third object are used to calculate the values of the set of attributes of the second object. - View Dependent Claims (188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200)
-
-
201. A computer system for creating a dynamic hierarchy of objects, wherein the hierarchy is defined by the containment of instantiated objects instead of object class definitions, comprising:
-
a plurality of object class definitions including a first class and a second class, each class defining a plurality of attributes; and
an instantiation mechanism that is structured to instantiate a first object of a first class, the first object having a set of attributes as defined by the first class;
instantiate a second object of a second class as a child object of the first object in the hierarchy, the second object having a second set of attributes as defined by the second class, wherein the values of the set of attributes of the second object are used to calculate the values of the set of attributes of the first object; and
instantiate a third object of the first class as a child object of the second object in the hierarchy, the third object having a set of attributes as defined by the first class, wherein the values of the set of attributes of the third object are used to calculate the values of the set of attributes of the second object. - View Dependent Claims (202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214)
-
-
215. A method in a computer system for creating a storage repository of serialized data using tags, comprising:
-
allocating a portion of memory to store a plurality of attribute name and associated value pairs; and
for each pair of the plurality of attribute and associated value pairs, creating a tagged attribute pair by, storing in the allocated memory a beginning tag that indicates the attribute name of the pair;
storing, after the beginning tag, the value associated with the pair; and
storing after the value, an ending tag that indicates that there is no more data associated with the pair. - View Dependent Claims (216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227)
-
-
228. A data processing machine comprising a computer processor and a memory, the memory containing a representation of structured data that is manipulated by the computer processor according to a computer program, the structured data being stored in serialized form in the memory as:
a collection of tagged attribute name and associated value pairs, each tagged pair being stored as;
a beginning tag that indicates the name of the attribute;
the associated value; and
an ending tag that indicates the end of the tagged pair. - View Dependent Claims (229, 230, 231, 232, 233, 234, 235, 236)
Specification