Patent ID: 8484651

Claim:
A method of administering a distributed priority queue structure, the distributed priority queue structure comprising a tree having nodes storing one or more data items having a priority, one of the nodes storing a data item with a highest priority in the tree comprising a current root node, at least one pointer pointing to the current root node, each node connected directly to a given node comprising a subtree node of the given node, and all nodes connected to the given node through the subtree node comprising a subtree of the given node, the method comprising: removing the highest priority item from the current root node to create a temporary root node; determining for each subtree connected to the temporary root node a subtree priority comprising the priority of the highest priority data item in the each subtree; determining as the highest priority subtree connected to the temporary root node the subtree connected to the temporary root node having the highest subtree priority; determining whether any of the one or more data items stored at the temporary root node has a higher priority than the highest subtree priority; if any of the one or more data items stored at the temporary root node has a priority higher than the highest subtree priority, defining the temporary root node as the current root node; and if none of the one or more data items stored at the temporary root node has a priority higher than the highest subtree priority, changing the direction of the pointer between the temporary root node and the highest priority subtree to point to the subtree node of the highest priority subtree, and defining the subtree node of the highest priority subtree as the new temporary root node.