Patent ID: 8108360

Claim:
At one or more computer systems in a computer networking environment including a database with a plurality of interconnected database tables, a method, performed by one or more processors of the one or more computer systems, for determining a proper processing sequence for a data modification that affects data in the plurality of interconnected database tables, the method comprising: an act of receiving an indication that at least a portion of data at a first node in a first database table is to be modified according to a received update command operation, the first database table belonging to a typed dataset; an act of assigning the first database table a base height value indicating that the first database table is a base node in a search for related nodes; an act of identifying one or more other database tables within the typed dataset, wherein at least one of the one or more other database tables includes data in rows, the data in each row having one of two states: current and original; an act of determining that a node in at least one of the one or more other database tables from the typed dataset contains data that is dependent on the at least a portion of data at the first node in the first database table, wherein the act of determining includes: accessing each of the one or more other database tables within the typed data set including separately accessing the current and original data in the rows of at least one database table; detecting that a node of a database table refers to a same node in a same table; and ceasing to access the same table, wherein the ceasing avoids a circular processing loop; an act of assigning each of the at least one other accessed database table a height value different than that assigned to the base node, wherein the height value assigned to each of the at least one other accessed database table is based on the dependency of the data within the respective table on the at least a portion of data at the first node in the first database table; an act of ordering the first database table and each of the at least one other accessed database table by assigned height value; an act of applying the same received update command operation to each node to update the data at each node based on the established height value ordering and the type of update command operation received; and an act of committing the applied update command operation to each node as part of a single transaction.