Patent ID: 11947523
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 8:
9. A system comprising:
(a) at least one hardware processor; and
(b) a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by said at least one hardware processor to, automatically:
maintain, for each target key in a key-value computer database, a signature policy;
create a transaction candidate in the database, based on a transaction context submitted to the database by a first user, wherein the transaction candidate comprises:
a key having a name that identifies the key as a transaction candidate,
a value comprising a transaction content and a signature of the first user, wherein the transaction content comprises at least one of a read set and a write set that are configured, respectively, to read or write a value of each of one or more target keys, and
a signors list comprising: a list of additional one or more users who are required to co-sign the transaction candidate before the transaction candidate is committed in the database as a transaction, wherein the signors list is automatically computed based on the signature policies of the one or more target keys;

based on the signors list, notify the additional one or more users of the transaction candidate;
collect a signature for the transaction candidate from at least one of the additional one or more users, according to the signors list, wherein the collecting comprises receiving, from each respective user, a new transaction context that comprises:
reading the transaction candidate from the database, and writing, to the value of the transaction candidate in the database, a signature tuple comprising an identifier of the respective user and a signature of the respective user;

verify that all signatures required by the signors list have been collected; and
in response to the verification being positive, commit the transaction content of the transaction candidate.