Nanoservices—a programming design pattern for managing the state of fine-grained object instances
Abstract:
Subscriber-managed nanoservices enable the states of multiple instances of an object to be contemporaneously updated without requiring an object-wide mutex or per-instance dedicated threads. A separate subscriber-managed nanoservice is implemented for each object instance. Each subscriber-managed nanoservice includes a first function that adds requests to update state of an object instance to a FIFO queue and provides a lock to only one subscriber thread at a time. Each subscriber-managed nanoservice includes a second function that combines queued requests and performs object instance state updates response to calls from the lock-holding subscriber thread. Each subscriber-managed nanoservice functions independently so multiple instances of an object can be contemporaneously updated. Further, it is not necessary to have a dedicated thread for management of each object instance because the subscriber threads call the functions.
Information query
Patent Agency Ranking
0/0