Patent ID: 7610286

Claim:
A method comprising: storing a database in a processing system, the database including: a list of elements, each element having a unique identifier, one or more of the elements being for inclusion in at least one bill of materials (BOM) of a plurality of bills of material (BOMs); and one or more BOM data structures for storing the plurality of BOMs, each BOM describable as a tree with each node an element of the list of elements and each branch of the tree defining a parent-child relationship, the one or more BOM data structures storing information on the parent-child relationships of the plurality of BOMs, two or more of the BOM being associated with a respective owner of the set of owners, and providing remote access to one or more elements of information in the database to one or more users, each user associated with at least one entity such that the database contain at least two BOMS having different owners, wherein the database includes confidential information of at least one of the owners such that unrestricted access to the confidential information is limited to the owner and any designate(s) of the owner, and wherein users are assigned roles with respect to different data stored in the database, such that access privileges to data and views of data to different users depends on the roles assigned to the different users.