Selective locking of operations on joint and disjoint sets
Abstract
A management controller in a distributed network switch may operate on sets of ports such that sets of ports containing a same port are processed serially, and sets that do not contain any of the same ports can be processed in parallel. When receiving a set of ports for processing, the management controller organizes the ports into lanes that each correspond to a unique port. If any of the lanes overlap, subsequent port sets are blocked from proceeding until the lanes of preceding port sets are cleared. If no lanes overlap, the sets may be deemed disjoint, and subsequent port sets may be processed in parallel.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method for managing a shared resource comprising a plurality of objects, the method comprising:
receiving a first operation specifying a first set of objects of the plurality of objects; inserting the first operation in a queue comprising a plurality of lanes corresponding to the plurality of objects, wherein the lanes that correspond to the first set of objects receive a first entry associated with the first set of objects; performing the first operation on the first set of objects; receiving a second operation specifying a second set of objects of the plurality of objects; inserting the second operation in the queue, wherein the lanes that correspond to the second set of objects receive a second entry associated with the second set of objects; determining whether at least one of the lanes that correspond to the second set of objects contains the first entry associated with the first set of objects that precedes the second entry; and responsive to determining none of the lanes that correspond to the second set of objects contains the first entry that precedes the second entry, performing, by operation of one or more processors, the second operation on the second set of objects in parallel with the first operation.
2 . The method of claim 1 , further comprising
responsive to determining at least one of the lanes that correspond to the second set of objects contains the first entry that precedes the second entry, waiting until completion of the first operation to perform the second operation.
3 . The method of claim 1 , further comprising:
responsive to completion of the first operation, removing the first entry associated with the first set of objects from the lanes of the queue; and performing the second operation serially with the first operation.
4 . The method of claim 3 , further comprising:
receiving a third operation specifying a third set of objects, wherein the third set of objects is disjoint from the first set of objects; inserting the third operation in the queue, wherein the lanes that correspond to the third set of objects receive a third entry associated with the third set of objects; and responsive to determining at least one of the lanes that correspond to the third set of objects contains a preceding entry, waiting until the preceding entry is removed from the lane to perform the third operation.
5 . The method of claim 1 , wherein the plurality of objects comprises a plurality of ports of a distributed network switch, each port configured for establishing connections according to a predefined interface.
6 . The method of claim 5 , wherein the first operation comprises an operation to establish a connection between an upstream port of the plurality of ports and a downstream port of the plurality of ports.
7 . The method of claim 5 , wherein the first operation comprises an operation to modify a configuration setting of the first set of ports.Join the waitlist — get patent alerts
Track US2015205645A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.