Method of integrating software application programs using an attributive data model database
First Claim
1. A method for creating a data structure for access by a plurality of application programs, said application programs being executed by a data processor which also creates said data structure in a memory coupled to the data processor, said data structure being created from application data originating in said application programs and including a plurality of node data and node data descriptors, and said method comprising the steps, executed by said data processor, of:
- (a) creating a different one of a plurality of attribute data objects for each of said node data;
(b) organizing said attribute data objects hierarchically according to a being-held relationship by choosing from said plurality of attribute data objects for each of said attribute data objects, a holder data object such that a hierarchical being-held relationship exists between each attribute data object and a single holder data object;
(c) establishing non-hierarchical relationships for selected ones of said attribute data objects created from node data associated with at least one of said node data descriptors by choosing, from said attribute data objects, referent data objects for said selected attribute data objects such that the chosen referent data object reflects a node data descriptor of the node data for which a corresponding selected attribute data object was created, said selected attribute data objects being called relation data objects and the attribute data objects without referent data objects being called element data objects;
(d) creating an apex data object with which at least one of said attribute data objects has a being-held relationship, said apex data object having no being-held relationship with any of said attribute data objects;
(e) creating an attribute file for said attribute data objects;
(f) entering each of said attribute data objects into said attribute file;
(g) entering holding pointers for each of said attribute data objects, the holding pointer of each attribute data object indicating the one of said attribute data objects having a being-held relationship with that attribute data object; and
(h) entering referent pointers into said attribute file, said referent pointers reflecting said non-hierarchical relationships between said attribute data objects.
2 Assignments
0 Petitions
Accused Products
Abstract
A common data structure for access by several application programs is created from a single primitive data element or attribute data object. The attribute data objects can be extracted from node data and node data descriptors in the application program'"'"'s databases. The attribute data objects are arranged in an attribute file in accordance with certain rules which impose a hierarchical organization upon the attribute data objects. Nonhierarchical relationships may also be used to represent the node data descriptors. The simplicity of the attribute data objects and their lack of limitations make them well suited for use with a wide variety of application programs'"'"' databases.
-
Citations
44 Claims
-
1. A method for creating a data structure for access by a plurality of application programs, said application programs being executed by a data processor which also creates said data structure in a memory coupled to the data processor, said data structure being created from application data originating in said application programs and including a plurality of node data and node data descriptors, and said method comprising the steps, executed by said data processor, of:
-
(a) creating a different one of a plurality of attribute data objects for each of said node data; (b) organizing said attribute data objects hierarchically according to a being-held relationship by choosing from said plurality of attribute data objects for each of said attribute data objects, a holder data object such that a hierarchical being-held relationship exists between each attribute data object and a single holder data object; (c) establishing non-hierarchical relationships for selected ones of said attribute data objects created from node data associated with at least one of said node data descriptors by choosing, from said attribute data objects, referent data objects for said selected attribute data objects such that the chosen referent data object reflects a node data descriptor of the node data for which a corresponding selected attribute data object was created, said selected attribute data objects being called relation data objects and the attribute data objects without referent data objects being called element data objects; (d) creating an apex data object with which at least one of said attribute data objects has a being-held relationship, said apex data object having no being-held relationship with any of said attribute data objects; (e) creating an attribute file for said attribute data objects; (f) entering each of said attribute data objects into said attribute file; (g) entering holding pointers for each of said attribute data objects, the holding pointer of each attribute data object indicating the one of said attribute data objects having a being-held relationship with that attribute data object; and (h) entering referent pointers into said attribute file, said referent pointers reflecting said non-hierarchical relationships between said attribute data objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
15. The method according to 14 wherein said first file is said dictionary file.
-
30. In a data processing system including at least one central processor executing a plurality of application programs and also including a memory containing a data structure common to said application programs, said common data structure containing a plurality of attribute data objects each having hierarchical being-held relationships with a single other one of said attribute data objects or with an apex, wherein selected ones of said attribute data objects have non-hierarchical relationships, and wherein each of said attribute data objects has an associated memory area including pointers to memory areas for other ones of said attribute data object which have said being-held relationship with that attribute data object, a method for adding a desired one of said attribute data objects to said data structure comprising the steps, executed by said central processor, of:
-
creating a memory area for said desired attribute data object; locating, as a holder attribute data object, the one of said attribute data objects with which said desired attribute data object has a being-held relationship; adding in the memory area for said holder attribute data object, a pointer to the memory area of said desired attribute data object; and linking said desired attribute data object with other ones of said attribute data objects having a being-held relationship with said holder attribute data object.
-
-
31. In a data processing system including at least one central processor executing a plurality of application programs and also including a memory containing a data structure common to said application programs, said common data structure containing a data structure with a plurality of attribute data objects each having hierarchical being-held relationships with a single other one of said attribute data objects or with an apex, wherein selected ones of said attribute data objects have non-hierarchical relationships with others of said attribute data objects, and wherein each of said attribute data objects has an associated memory area, a method for creating a desired non-hierarchical relationship between a given one of said attribute data objects and a referent one of said attribute data objects comprising the steps, executed by said central processor, of:
-
determining a location of said referent attribute data object; accessing the memory area for said given attribute data object; and placing a pointer to said referent attribute data object location in said memory area of said given attribute data object. - View Dependent Claims (32)
-
-
33. In a data processing system including at least one central processor executing a plurality of application programs and also including a memory containing a data structure common to said application programs, said common data structure containing a data structure with a plurality of attribute data objects each having hierarchical being-held relationships with a single holder one of said attribute data objects or with an apex, wherein selected ones of said attribute data objects have non-hierarchical relationships, and wherein each of said attribute data objects has an associated memory area containing
sequence pointers to the ones of said attribute data elements having a being-held relationship with the same holder one of said attribute data objects, a holder pointer to said holder one of said attribute data objects, and referent pointers to any of said referent ones of said attribute data objects with which that attribute data object has a non-hierarchical relationship, a method for erasing a memory area for a desired one of said attribute data objects comprising the steps, executed by said central processor, of: -
locating said memory area for said desired attribute data object; erasing said referent pointers; locating the memory area for said holder attribute data object; erasing the one of said holder pointers for said desired attribute data object; adjusting said sequence pointer to remove any pointers to said desired attribute data object; and erasing the memory areas for all containment tree ones of said attribute data objects which have a being-held relationship with said desired attribute data object or which have a being-held relationship with another one of said containment tree attribute data objects.
-
-
34. In a data processing system including at least one central processor executing a plurality of application programs and also including a memory containing a data structure common to said application programs, said common data structure containing a data structure with a plurality of attribute data objects each having hierarchical being-held relationships with a single other one of said attribute data objects or with an apex, wherein selected ones of said attribute data objects have non-hierarchical relationships with referent others of said attribute data objects, and wherein each of said attribute data objects has an associated memory area, containing referent pointers to any of said referent ones of said attribute data objects with which that attribute data object has a non-hierarchical relationship, said associated memory area for each of said referent attribute data objects containing a non-hierarchical relationship pointer to that attribute data object having a non-hierarchical relationship with that referent attribute data object, a method for erasing a desired non-hierarchical relationship between a given one of said attribute data objects and a referent one of said attribute data objects comprising the steps, executed by said central processor, of:
-
locating the memory area for said given attribute data object; locating the referent pointer to said given referent attribute data object in the memory area for said given attribute data object; locating said given referent attribute data object using said referent pointer; locating the non-hierarchical relationship pointer to said given attribute data object in the memory area for said referent attribute data object; erasing said non-hierarchical relationship pointer; and erasing said referent pointer.
-
-
35. A method for managing different versions of a data structure stored in a memory system containing a master data file, which is used for updating the data structure to create a new version of said data structure, and a secondary file, from which the different versions of said data structure can be accessed, said master data file being divided into a series of pages, and said secondary file being composed of a plurality of slots each large enough to contain one of said pages of said master data file, the method comprising the steps of:
-
generating a new version of said data structure to modify zero or more of the pages in said master data file; creating a new version block for each new version of said data structure, said new version block containing information about the new version of said data structure; creating, for each of the pages of said master data file which is modified in generating said new version of said data structure, a corresponding and unique switch block; copying into said secondary file, each of the pages from said master data file which have been modified in said new version of said data structure; and entering into each of said switch blocks an identifier for the page corresponding to that switch block, the version during which that page was modified, and the slot in the secondary file into which that modified page has been copied. - View Dependent Claims (36)
-
-
37. A memory system for storing and maintaining different versions of a data structure, said memory system comprising:
-
master data file means for creating a new version of said data structure, said master data file means being divided into a series of pages and containing the most recent version of said data structure; secondary file means, coupled to said master data file means, for holding different versions of said data structure for external access, said secondary file means containing a plurality of slots each large enough to hold one of said pages of said master data file means; and data base control file means, coupled to said master data file means and to said secondary file means, for storing information necessary for the management of said memory system, said data base control file means including a plurality of version blocks each containing information about a different version of said data structure, and a plurality of switch blocks, each corresponding to one of said versions of said data structure and to a page in said data structure which was modified during the corresponding version, said switch blocks each containing an identifier for the page corresponding to that switch block, the version during which that page was modified, and the slot in said secondary file means into which that modified page has been copied. - View Dependent Claims (38)
-
-
39. A memory system coupled to a central processor and containing a data structure including an apex, a plurality of elements each corresponding to a different node datum in an application program executed by said central processor, hierarchical holding relationships among said elements, and non-hierarchical relations for said elements, said hierarchical holding relationships in said data structure being restricted such that for each of said elements, only one other element or said apex has a holding relationship with that element, said memory system comprising:
-
element storage means for containing information about each of said elements, said element storage means including a header portion containing identifying information about said elements, holding pointers identifying the elements for which each of said element has one of said holding relationships, and relation identifiers specifying said non-hierarchical relations; and apex storage means for containing information about said apex, said apex storage means including identifier information for said apex, and element pointers to the elements having one of said holding relationships with said apex. - View Dependent Claims (40, 41, 42)
-
-
43. A data processing system for maintaining and providing access to a common data structure, said data processing system comprising:
-
a central processor executing a plurality of application programs which exchange data via said common data structure, said common data structure including an apex, a plurality of elements each corresponding to a different node datum in an application program executed by said central processor, hierarchical holding relationships among said elements, and non-hierarchical relations for said elements, said hierarchical holding relationships in said data structure being restricted such that for each of said elements, only one other element or said apex has a holding relationship with that element; a memory being coupled to said central processor and containing said common data structure, said memory including element storage means for containing information about each of said elements, said element storage means further including a header portion containing identifying information about said elements, holding pointers identifying the elements for which each of said element has one of said holding relationships, and relation identifiers specifying said non-hierarchical relations, and apex storage means for containing information about said apex, said apex storage means further including identifier information for said apex, and element pointers to the elements having one of said holding relationships with said apex.
-
-
44. A data processing system for maintaining and providing access to a common data structure, said data processing system comprising:
-
a plurality of central processors simultaneously executing a plurality of application programs which exchange data via said common data structure, said common data structure including an apex, a plurality of elements each corresponding to a different node datum in an application program executed by said central processors, hierarchical holding relationships among said elements, and non-hierarchical relations for said elements, said hierarchical holding relationships in said data structure being restricted such that for each of said elements, only one other element or said apex has a holding relationship with that element; a memory system being coupled to said central processors and containing said common data structure, said memory system including element storage means for containing information about each of said elements, said element storage means further including a header portion containing identifying information about said elements, holding pointers identifying the elements for which each of said element has one of said holding relationships, and relation identifiers specifying said non-hierarchical relations, and apex storage means for containing information about said apex, said apex storage means further including identifier information for said apex, and element pointers to the elements having one of said holding relationships with said apex.
-
Specification