US2015215152A1PendingUtilityA1

Timer services

Assignee: METASWITCH NETWORKS LTDPriority: Jan 24, 2014Filed: Jan 23, 2015Published: Jul 30, 2015
Est. expiryJan 24, 2034(~7.5 yrs left)· nominal 20-yr term from priority
H04L 12/1881H04L 67/10H04L 67/16H04L 7/0008H04L 41/02H04L 12/1886H04L 67/1095H04L 67/51H04L 67/56H04L 69/28G06F 8/65G06F 11/2041
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Measures for providing timer services in a network including a cluster of nodes responsible for providing timer services to clients. At a given node in the cluster, a request to provide a timer is received from a client. Configuration of a primary replica of the requested timer on a first node in the cluster to pop after a first time has elapsed is initiated. A first timer replication message is transmitted to a second node in the cluster, the first timer replication message indicating that the second node should configure a first backup replica of the requested timer. A second timer replication message is transmitted to a third node in the cluster, the second timer replication message indicating that the third node should configure a second backup replica of the requested timer. Popping of the primary, first backup or second backup timer replicas includes initiating callback of a given client.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of providing timer services in a network, the method comprising:
 at a given node in a cluster of network nodes which are responsible for providing timer services to clients in the network, receiving, from a client, a request to provide a timer;   at the given node, initiating configuration of a primary replica of the requested timer on a first node in the cluster to pop after a first time has elapsed, the popping of the primary timer replica comprising initiating callback of a given client;   at the given node, transmitting a first timer replication message to a second node in the cluster, the first timer replication message indicating that the second node should configure a first backup replica of the requested timer, the first timer replication message being operable to allow the second node to derive that it should configure the first backup replica of the requested timer to pop after the first time plus a first skew time have elapsed, the popping of the first backup timer replica comprising initiating callback of the given client; and   at the given node, transmitting a second timer replication message to a third node in the cluster, the second timer replication message indicating that the third node should configure a second backup replica of the requested timer, the second timer replication message being operable to allow the third node to derive that it should configure the second backup replica of the requested timer to pop after the first time plus a second skew time have elapsed, the second skew time being greater than the first skew time, the popping of the second backup timer replica comprising initiating callback of the given client.   
     
     
         2 . The method of  claim 1 , wherein the given node comprises the first node and the initiation of configuration of the primary replica comprises configuring a primary replica of the requested timer on the first node to pop after a first time has elapsed. 
     
     
         3 . The method of  claim 1 , wherein the given node comprises a different node to the first node and the initiation of configuration of the primary replica comprises transmitting a further timer replication message to the first node, the further timer replication message indicating that the first node should configure a primary replica of the requested timer, the further timer replication message being operable to allow the first node to derive that it should configure the primary replica of the requested timer to pop after the first time. 
     
     
         4 . The method of  claim 1 , comprising generating an ordered list of identifiers for nodes in the cluster which are to provide replicas of the requested timer, the ordered list comprising an identifier for the first node at the top of the list, an identifier for the second node in the middle of the list, and an identifier for the third node at the bottom of the list,
 wherein the first and second timer replication messages comprise the ordered list.   
     
     
         5 . The method of  claim 3 , comprising generating an ordered list of identifiers for nodes in the cluster which are to provide replicas of the requested timer, the ordered list comprising an identifier for the first node at the top of the list, an identifier for the second node in the middle of the list, and an identifier for the third node at the bottom of the list,
 wherein the first and second timer replication messages comprise the ordered list, and   wherein the further timer replication message comprises the ordered list.   
     
     
         6 . The method of  claim 4 , wherein the first timer replication message is operable to allow the second node to derive that it should configure the first backup replica of the requested timer to pop after the first time plus a first skew time have elapsed on the basis of the position of the second node in the ordered list, or
 wherein the first timer replication message is operable to allow the second node to derive that it should configure the first backup replica of the requested timer to pop after the first time plus a first skew time have elapsed on the basis of the second node being positioned above the third node in the ordered list, or   wherein the first timer replication message is operable to allow the second node to derive that it should configure the first backup replica of the requested timer to pop after the first time plus a first skew time have elapsed on the basis of the second node being positioned below the first node in the ordered list.   
     
     
         7 . The method of  claim 4 , wherein the second timer replication message is operable to allow the third node to derive that it should configure the second backup replica of the requested timer to pop after the first time plus a second skew time have elapsed, wherein the second skew time is greater than the first skew time, on the basis of the position of the third node in the ordered list, or
 wherein the second timer replication message is operable to allow the third node to derive that it should configure the second backup replica of the requested timer to pop after the first time plus a second skew time have elapsed, wherein the second skew time is greater than the first skew time, on the basis of the third node being positioned below the second node in the ordered list, or   wherein the second timer replication message is operable to allow the third node to derive that it should configure the first backup replica of the requested timer to pop after the first time plus a second skew time have elapsed, wherein the second skew time is greater than the first skew time, on the basis of the third node being positioned below the first node in the ordered list.   
     
     
         8 . The method of  claim 1 , wherein the popping of the primary timer replica comprises the first node notifying the second and third nodes that they should not pop their respective configured timer replicas, or
 wherein the popping of the first backup timer replica comprises notifying the first and third nodes that they should not pop their respective configured timer replicas, or   wherein the popping of the second backup timer replica comprises notifying the first and second nodes that they should not pop their respective configured timer replicas.   
     
     
         9 . The method of  claim 1 , comprising selecting a unique identifier for the requested timer and notifying the client of the selected unique identifier. 
     
     
         10 . The method of  claim 9 , wherein one or more of the first, second and/or further timer replication messages comprise the selected unique identifier. 
     
     
         11 . The method of  claim 9 , comprising receiving an update request for the timer, the update request comprising the notified unique identifier. 
     
     
         12 . The method of  claim 11 , comprising reconfiguring the primary timer replica according to the received update request. 
     
     
         13 . The method of  claim 11 , comprising:
 transmitting a first timer update message to the second node, the first timer update message indicating that the second node should reconfigure the first backup timer replica according to the received update request; and   transmitting a second timer update message to the third node, the second timer update message indicating that the third node should reconfigure the second backup timer replica according to the received update request.   
     
     
         14 . The method of  claim 11 , wherein the update request comprises a request to apply one or more changes to the replicas of the timer configured on the first, second and third nodes, or
 wherein the update request comprises a request to delete the replicas of the timer configured on the first, second and third nodes.   
     
     
         15 . The method of  claim 1 , comprising selecting a unique identifier for the requested timer and deterministically selecting the first, second and third nodes from the cluster to configure the primary replica and first and second backup replicas of the timer on respectively on the basis of the selected unique identifier. 
     
     
         16 . The method of  claim 1 , comprising configuring the primary replica of the timer to pop recurrently a given number of times after successive multiples of the first time elapse. 
     
     
         17 . The method of  claim 16 , wherein the first timer replication message indicates that the second node should configure the first backup timer replica to pop recurrently the given number of times after the first skew time plus successive multiples of the first time plus elapse and the second timer replication message indicates that the third node should configure the second backup timer replica to pop recurrently the given number of times after the second skew time plus successive multiples of the first time elapse. 
     
     
         18 . The method of  claim 16 , comprising in response to receipt of the timer provision request, determining the given number of recurrences, or
 wherein the timer provision request indicates the given number of recurrences.   
     
     
         19 . The method of  claim 1 , comprising, in response to receipt of the timer provision request, determining the number of required replicas of the requested timer and/or the first time of the requested timer, or
 wherein the number of required replicas of the requested timer and/or the first time of the requested timer are indicated in the timer provision request.   
     
     
         20 . The method of  claim 1 , wherein the network comprises a cluster of clients including the given client and the timer provision request is received from the given client, or
 wherein the network comprises a cluster of clients including the given client and the timer provision request is received from a different client to the given client in the cluster of clients.   
     
     
         21 . The method of  claim 1 , wherein the network comprises a cluster of clients including the given client,
 wherein the client cluster is co-located with the cluster of network nodes responsible for providing timer services in the network, and   wherein the timer provision request specifies that callback in relation to the requested timer should be initiated at the given client local to the first node; or   wherein the network comprises a cluster of clients including the given client, and   wherein the timer provision request comprises a uniform resource locator (URL) at which callback in relation to the requested timer of the given client in the cluster should be initiated.   
     
     
         22 . The method of  claim 21 , wherein the URL is operable to select the given client from the cluster of clients on the basis of:
 load balancing within the cluster, or an arbitrary choice of client within the cluster.   
     
     
         23 . The method of  claim 1 , comprising:
 storing at the first node, time data indicating the time of receipt of the timer provision request and/or the last time a client requested an update to the configured timer; and   including the stored time data in the first and second timer replication messages.   
     
     
         24 . The method of  claim 1 , comprising:
 configuring the primary replica of the requested timer on the first node with a predetermined maximum runtime length, which, if reached, will trigger a delete operation for the primary timer replica configured on the first node; and   including configuration of the predetermined maximum runtime length and associated delete operation trigger in the first and second timer replication messages in order to apply corresponding configuration to the first and second backup replicas of the timer configured on the second and third nodes respectively.   
     
     
         25 . The method of  claim 1 , comprising:
 receiving a request to delete the replicas of the timer configured on the first, second and third nodes; and   delaying deletion of the primary replica of the timer configured on the first node until after a predetermined time has elapsed.   
     
     
         26 . The method of  claim 25 , comprising:
 transmitting a first timer delete message to the second node, the first timer delete message indicating that the second node should delete the first backup replica of the timer configured on the second node after the predetermined time has elapsed; and   transmitting a second timer delete message to the third node, the second timer update message indicating that the third node should delete the second backup replica of the timer configured on the third node after the predetermined time has elapsed.   
     
     
         27 . The method of  claim 1 , wherein one or more of the first, second and/or further timer replication messages comprise a start time for the timer. 
     
     
         28 . The method of  claim 1 , wherein two of more of the first, second and further replication messages comprise the same content. 
     
     
         29 . The method of  claim 1 , wherein two of more of the first, second and further replication messages comprise the same message. 
     
     
         30 . The method of  claim 1 , wherein two of more of the first, second and further replication messages are transmitted using a multicast transmittal mechanism. 
     
     
         31 . A system for use in providing timer services in a network, the system comprising at least one memory including computer program code; and
 at least one processor in data communication with the at least one memory, wherein the at least one processor is configured to:   at a given node in a cluster of network nodes which are responsible for providing timer services to clients in the network, receive, from a client, a request to provide a timer;   at the given node, initiate configuration of a primary replica of the requested timer on a first node in the cluster to pop after a first time has elapsed, the popping of the primary timer replica comprising initiating callback of a given client;   at the given node, transmit a first timer replication message to a second node in the cluster, the first timer replication message indicating that the second node should configure a first backup replica of the requested timer, the first timer replication message being operable to allow the second node to derive that it should configure the first backup replica of the requested timer to pop after the first time plus a first skew time have elapsed, the popping of the first backup timer replica comprising initiating callback of the given client; and   at the given node, transmit a second timer replication message to a third node in the cluster, the second timer replication message indicating that the third node should configure a second backup replica of the requested timer, the second timer replication message being operable to allow the third node to derive that it should configure the second backup replica of the requested timer to pop after the first time plus a second skew time have elapsed, the second skew time being greater than the first skew time, the popping of the second backup timer replica comprising initiating callback of the given client.   
     
     
         32 . A non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed by a processor, cause a computing device to perform a method of providing timer services in a network, the method comprising:
 at a given node in a cluster of network nodes which are responsible for providing timer services to clients in the network, receiving, from a client, a request to provide a timer;   at the given node, initiating configuration of a primary replica of the requested timer on a first node in the cluster to pop after a first time has elapsed, the popping of the primary timer replica comprising initiating callback of a given client;   at the given node, transmitting a first timer replication message to a second node in the cluster, the first timer replication message indicating that the second node should configure a first backup replica of the requested timer, the first timer replication message being operable to allow the second node to derive that it should configure the first backup replica of the requested timer to pop after the first time plus a first skew time have elapsed, the popping of the first backup timer replica comprising initiating callback of the given client; and   at the given node, transmitting a second timer replication message to a third node in the cluster, the second timer replication message indicating that the third node should configure a second backup replica of the requested timer, the second timer replication message being operable to allow the third node to derive that it should configure the second backup replica of the requested timer to pop after the first time plus a second skew time have elapsed, the second skew time being greater than the first skew time, the popping of the second backup timer replica comprising initiating callback of the given client.

Join the waitlist — get patent alerts

Track US2015215152A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.