Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND APPARATUSES FOR PROVIDING TIMING FUNCTIONALITY
Document Type and Number:
WIPO Patent Application WO/2017/055927
Kind Code:
A1
Abstract:
An objective of the invention is to provide methods and apparatuses for providing timing functionality for a system where processing is separated from data. The invention introduces a cloud timer at least including a first node and a second node. The first node is configured to receive a timer start request from a worker, the timer start request including an identifier of a timer, an expiration time, and an identifier of a notified object; and the second node is configured to, in response to reaching the expiration time of the timer, send a timer expiration notification to a network entity corresponding to the identifier of the notified. Compared with the prior art, the invention does not compromise the design principle of the Worker-State model; besides, a starter of the timer may designate an object to be notified when the timer is expired and information carried in the timer expiration notification, which compensates the drawbacks in the prior art. In addition, the design of cloud timer adopts a principle of multi-node redundant backup, which conforms to the design concept of a cloud computing environment.

Inventors:
NIE FEI (CN)
WANG CHUNLEI (CN)
Application Number:
PCT/IB2016/001536
Publication Date:
April 06, 2017
Filing Date:
September 28, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALCATEL LUCENT (FR)
International Classes:
H04L29/06; G06F1/04; G06F9/50
Foreign References:
US20150078237A12015-03-19
Other References:
None
Attorney, Agent or Firm:
BERTHIER, Karine (FR)
Download PDF:
Claims:
I/We Claim:

1. A method of providing, in a cloud timer, timing functionality for a system where processing is separated from data, the system including a worker pool, a cloud database, and the cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the method comprising steps of:

A. receiving, by the cloud timer, a start timer request from one worker, the timer start request including an identifier of a timer, an expiration time, and an identifier of a notified object;

B. sending, by the cloud timer, an acknowledgement message of successfully starting the timer to the worker; and

C. in response to reaching the expiration time of the timer, sending, by the cloud timer, a timer expiration notification to a network entity corresponding to the identifier of the notified object.

2. The method according to claim 1, wherein the timer start request further includes information related to the timer, and the timer expiration notification further includes the information related to the timer. 3. The method according to claim 1, wherein the identifier of the notified object includes an identifier of at least one network entity, each network entity corresponding to a different priority; and

wherein the step C further comprises: sending, by the cloud timer, the timer expiration notification to a network entity with a lower priority after failing to send the timer expiration notification to a network entity with a higher priority.

4. The method according to claim 3, wherein the identifier of the notified object at least includes an identifier of the worker and an identifier of the worker pool including the worker, the priority of the worker being higher than the priority of the worker pool.

5. The method according to claim 1, claim 2, claim 3, or claim 4, wherein the step A further comprises: receiving, by a first node in the cloud timer, the timer start request from the worker;

wherein the method further comprises the following steps between the step A and the step B:

determining, by the first node, N nodes in the cloud timer for starting the timer according to a preset algorithm and a preset redundant number N, where N>1, and

sending, by the first node, a timer start request to the N nodes to indicate the N nodes to start the timer; and

wherein the step B further comprises sending, by the first node, an acknowledgement message of successfully starting the timer to the worker, and the step C further comprises:

in response to reaching the expiration time of the timer in a second node of the N nodes, sending, by the second node, a timer cancelling request to the remaining (N-l) nodes to indicate the remaining (N-l) nodes to cancel the timer, and

sending, by the second node, the timer expiration notification to the network entity corresponding to the identifier of the notified object.

6. A method for facilitating, in a worker, provision of timing functionality for a system where processing is separated from data, the system including a worker pool, a cloud database, and a cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the method comprising steps of:

sending, by the worker, a timer start request to the cloud timer, the timer start request including an identifier of a timer, an expiration time, and an identifier of a notified object; and in response to an acknowledgement message of successfully starting the timer from the cloud timer, sending a request for adding data to the cloud database, the request for adding data including information of data to be added.

7. A method for facilitating, in a worker, provision of timing functionality for a system where processing is separated from data, the system including a worker pool, a cloud database, and a cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the method comprising steps of:

receiving, by the worker, a timer expiration notification from the cloud timer, the timer expiration notification including information related to the timer; and

sending, by the worker, a data operation request to the cloud database based on the information related to the timer.

8. A cloud timer for providing timing functionality for a system where processing is separated from data, the system including a worker pool, a cloud database, and the cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the cloud timer at least including a first node and a second node;

the first node being configured to receive a timer start request from one worker, the timer start request including an identifier of a timer, an expiration time, and an identifier of a notified object, and to send an acknowledgement message of successfully starting the timer to the worker; and

the second node being configured, in response to reaching the expiration time of the timer, to send a timer expiration notification to a network entity corresponding to the identifier of the notified object.

9. The cloud timer according to claim 8, wherein the timer start request further includes information related to the timer, and the timer expiration notification further includes the information related to the timer.

10. The cloud timer according to claim 8, wherein the identifier of the notified object includes an identifier of at least one network entity, each network entity corresponding to a different priority; and

wherein the second node sends the timer expiration notification to a network entity with a lower priority after failing to send the timer expiration notification to a network entity with a higher priority.

11. The cloud timer according to claim 8, wherein the identifier of the notified object at least includes an identifier of the worker and an identifier of the worker pool including the worker, the priority of the worker being higher than the priority of the worker pool.

12. The cloud timer according to claim 8, claim 9, claim 10, or claim 11, wherein the first node is further configured to:

determine N nodes in the cloud timer for starting the timer according to a preset algorithm and a preset redundant number N, where N>1, and

send a timer start request to the N nodes to indicate the N nodes to start the timer; and wherein the second node is one of the N nodes and is configured to

in response to reaching the expiration time of the timer in the second node, send a timer cancelling request to the remaining (N-1) nodes to indicate the remaining (N-1) nodes to cancel the timer.

13. An apparatus for facilitating, in a worker, provision of timing functionality for a system where processing is separated from data, the system including a worker pool, a cloud database, and a cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the apparatus comprising:

first sending means for the processing to send a timer start request to the cloud timer, the timer start request including an identifier of a timer, an expiration time, and an identifier of a notified object; and

second sending means for, in response to an acknowledgement message of successfully starting the timer from the cloud timer, sending a request for adding data to the cloud database, the request for adding data including information of data to be added.

14. An apparatus for facilitating, in a worker, provision of timing functionality for a system where processing is separated from data, the system including a worker pool, a cloud database, and a cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the apparatus comprising:

receiving means for receiving a timer expiration notification from the cloud timer, the timer expiration notification including information related to the timer; and third sending means for sending a data operation request to the cloud database based on the information related to the timer.

Description:
METHODS AND APPARATUSES FOR PROVIDING

TIMING FUNCTIONALITY TECHNOLOGY

The present invention relates to the field of communication technologies, and more specifically to a technology of providing timing functionality.

BACKGROUND

[0001] In traditional applications where processing and data are inseparable, a timer is a local resource. Fig. 1(a) illustrates a schematic diagram of a traditional application model. As illustrated in Fig. 1(a), in traditional applications, a timer, a service logic, and state information are together embedded in each application instance. The traditional application has a relatively poor elasticity, i.e., it is hard to change the size and location of the application. However, in a cloud computing environment, elasticity is a feature a cloud application must have. Without elasticity, the application cannot enjoy various advantages of the cloud computing environment.

[0002] At present, there is a solution that can enhance elasticity of a traditional application, i.e., evolving a traditional application model into a Worker-State model. Fig. 1(b) illustrates a schematic diagram of a Worker-State model. It is seen that in the Worker-State model, processing and data are separated. State information in the traditional application is stored in an elastic cloud database that may support big data. The state information here does not only refer to narrow state -related information; instead, it broadly refers to all user data. Further, a service logic in the traditional application is implemented by a worker, and all service logics are placed in a worker pool. The worker here actually refers to processing. Then, how the timer in a traditional application is implemented in such a Worker-State model?

[0003] In the prior art, there are mainly two schemes of implementing a timer in a Worker-State model:

[0004] First Kind: implemented in a cloud database

[0005] When a worker inserts data into a cloud database, an expiration interval will be set for the data. When the interval arrives, the data will be automatically deleted. The cloud database that implements this solution may also be divided into two types:

Type 1 : not send a Data Delete notification message to the worker When the data are deleted, the cloud database will not send a notification message to the worker. The Cassandra cloud database just adopts this approach.

Type 2: send a Data Delete notification message to the worker

The worker may subscribe a Data Delete event. When the data is deleted, the cloud database will send a notification message to the worker. The Redis cloud database just employs this manner.

[0006] Both of the methods of implementing a timer in a cloud database have their drawbacks. In the Worker-State model, such an occasion always occurs: the worker needs to obtain a notification of timer expiration, e.g., the S-CSCF (Serving - Call Session Control Function) in the IMS system needs to obtain a notification of UE registration expiration. It is apparent that the first type of cloud databases cannot meet such needs. As to the second type of cloud database, although it may send a Data Delete notification message to the worker, the notification message is only for informing that the data has been deleted, without any information about the data. This will result in that no complete data is used for notifying the S-CSCF of UE registration expiration. Moreover, the notification message can only be sent to a worker that previously subscribed the notification message, while in the Worker-State model, it always occurs that when the timer is expiration, the worker that previously subscribed the notification message already does not exist, such that the notification message cannot be successfully sent.

[0007] Second Kind: Implementation with Assistance from the Worker

[0008] In this scheme, the timer is started by a worker, and the correspondence relationship between the timer and the worker is saved in the cloud database.

[0009] When the worker is relocated, the timer may also be relocated along therewith. For example, if a worker X of a session SI is deleted after completing worker of a request message Reql, when the session SI generates a request message Req2, the worker Y will process the request message 2. However, the timer TimerX started by the worker X is not expiration yet; the worker Y knows, by querying a cloud database, that the timer for starting the worker X is TimerX; the worker Y will restart the timer TimerX and update the cloud database: updating the corresponding relationship between the worker X and the timer TimerX to the correspondence relationship between the worker Y and the timer TimerX. The above scenario is referred to as timer relocation.

[0010] This scheme also has the following drawbacks: [0011] 1) Retaining a timer at the worker side violates a design principle that the worker in the Worker-State model is disordered; while in some occasions, the work cannot completely release the resources even when the worker completed the work, because the timer started thereby is still running, which will undoubtedly cause resource waste.

[0012] 2) Because it is needed to save and update, in the cloud database, the corresponding relationship between timer and worker, this increases system complexity.

[0013] 3) Due to presence of timer relocation, the timer accuracy will be lowered.

[0014] It is seen that the prior art does not provide a technical solution that can solve the timer issues in the Worker-State model.

SUMMARY

[0015] An objective of the present invention is to provide methods and apparatuses of providing timing functionality for a system where processing is separated from data.

[0016] According to a first aspect of the present invention, there is provided a method of providing, in a cloud timer, timing functionality for a system where processing is separated from data, the system including a worker pool, a cloud database, and the cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the method comprising steps of: A. receiving, by the cloud timer, a timer start request from one worker, the timer start request including an identifier of a timer, an expiration time, and an identifier of a notified object; B. sending, by the cloud timer, an acknowledgement message of successfully starting the timer to the worker; C. in response to reaching the expiration time of the timer, sending, by the cloud timer, a timer expiration notification to a network entity corresponding to the identifier of the notified object.

[0017] Preferably, the timer start request further includes information related to the timer, and the timer expiration notification further includes the information related to the timer.

[0018] Preferably, the identifier of the notified object includes an identifier of at least one network entity, each network entity corresponding to a different priority; the step C further comprises: sending, by the cloud timer, the timer expiration notification to a network entity with a lower priority after failing to send the timer expiration notification to a network entity with a higher priority.

[0019] Preferably, the identifier of the notified object at least includes an identifier of the worker and an identifier of the worker pool including the worker, the priority of the worker being higher than the priority of the worker pool.

[0020] Preferably, the step A further comprises: receiving, by a first node in the cloud timer, the timer start request from the worker; and the method further comprises the following steps between the step A and the step B: determining, by the first node, N nodes in the cloud timer for starting the timer according to a preset algorithm and a preset redundant number N, where N>1; and sending, by the first node, a timer start request to the N nodes to indicate the N nodes to start the timer; the step B further comprises: sending, by the first node, an acknowledgement message of successfully starting the timer to the worker; the step C further comprises: in response to reaching the expiration time of the timer in a second node of the N nodes, sending, by the second node, a timer cancelling request to the remaining (N-l) nodes to indicate the remaining (N-l) nodes to cancel the timer; and sending, by the second node, the timer expiration notification to the network entity corresponding to the identifier of the notified object.

[0021] According to a second aspect of the present invention, there is provided a method of facilitating provision of timing functionality for a system where processing is separated from data in the worker, the system including a worker pool, a cloud database, and a cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the method comprising steps of: sending, by the worker, a timer start request to the cloud timer, the timer start request including an identifier of a timer, an expiration time, and an identifier of a notified object; and in response to an acknowledgement message of successfully starting the timer from the cloud timer, sending a request for adding data to the cloud database, the request for adding data including information of data to be added.

[0022] According to a third aspect of the present invention, there is provided a method of facilitating provision of timing functionality for a system where processing is separated from data in the worker, the system including a worker pool, a cloud database, and a cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the method comprising steps of: receiving, by the worker, a timer expiration notification from the cloud timer, the timer expiration notification including information related to the timer; and sending, by the worker, a data operation request to the cloud database based on information related to the timer.

[0023] According to a fourth aspect of the present invention, there is provided a cloud timer for providing timing functionality for a system where processing is separated from data, the system including a worker pool, a cloud database, and the cloud timer, the worker pool consisting of at least one worker, the cloud timer consisting of at least one node, the cloud timer at least including one first node and one second node; the first node being configured to receive a timer start request from one worker, the timer start request including an identifier of a timer, an expiration time, and an identifier of a notified object; and to send an acknowledgement message of successfully starting the timer to the worker; the second node being configured, in response to reaching the expiration time of the timer, to send a timer expiration notification to a network entity corresponding to the identifier of the notified object.

[0024] Preferably, the timer start request further includes information related to the timer, and the timer expiration notification further includes information related to the timer.

[0025] Preferably, the identifier of the notified object includes an identifier of at least one network entity, each network entity corresponding to a different priority; and the second node sends the timer expiration notification to a network entity with a lower priority after failing to send the timer expiration notification to a network entity with a higher priority.

[0026] Preferably, the identifier of the notified object at least includes an identifier of the worker and an identifier of the worker pool including the worker, the priority of the worker being higher than the priority of the worker pool.

[0027] Preferably, the first node is further configured to: determine N nodes in the cloud timer for starting the timer according to a preset algorithm and a preset redundant number N, where N>1, and send a timer start request to the N nodes to indicate the N nodes to start the timer. The second node is one of the N nodes and is configured to, in response to reaching the expiration time of the timer in the second node, send a timer cancelling request to the remaining (N-l) nodes to indicate the remaining (N-l) nodes to cancel the timer.

[0028] According to a fifth aspect of the present invention, there is provided an apparatus of facilitating providing timing functionality for a system where processing is separated from data in the worker, the system including a worker pool, a cloud database, and a cloud timer, the worker pool consisting of at least one worker, the cloud timer comprising at least one node, the apparatus comprising: first sending means for the worker to send a timer start request to the cloud timer, the timer start request including an identifier of a timer, an expiration time, and an identifier of a notified object; and second sending means for, in response to an acknowledgement message of successfully starting the timer from the cloud timer, sending a request for adding data to the cloud database, the request for adding data including information of data to be added.

[0029] According to a sixth aspect of the present invention, there is provided an apparatus of facilitating providing timing functionality for a system where processing is separated from data in the worker, the system including a worker pool, a cloud database, and a cloud timer, the worker pool consisting of at least one worker, the cloud timer comprising at least one node, the apparatus comprising: receiving means for receiving a timer expiration notification from the cloud timer, the timer expiration notification including information related to the timer; and third sending means for sending a data operation request to the cloud database according to information related to the timer.

[0030] The present invention newly introduces a cloud timer into a system where processing is separated from data so as to implement timing functionality. Compared with the prior art, the present invention has the following advantages: 1) not compromising the design principle of the Worker-State model; it is not needed to save data and timers at the processing side, such that the worker may focus more on processing logic without extra addition of auxiliary processing regarding the timer; besides, no complexity is added at the data side. 2) A starter of the timer may designate an object to notify when the timer is expiration, which is very flexible in implementation and also avoids a scenario of failing to send the timer expiration notification n, thereby avoiding potential system bugs. 3) The starter of the timer may designate information carried in the timer expiration notification, which facilitates subsequent processing of relevant network elements. 4) The design of cloud timer adopts a principle of multi-node redundant backup, which conforms to the design concept of a cloud computing environment. 5) Compared with a timer implemented with assistance of processing, the present invention avoids timer relocation and thus enhances the accuracy.

BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Other features, objectives, and advantages of the present invention will become more apparent by reading the detailed depiction of the non-limiting embodiments with reference to the accompanying drawings:

[0032] Fig. 1 (a) illustrates a schematic diagram of a traditional application model;

[0033] Fig. 1(b) illustrates a schematic diagram of a Worker-State model;

[0034] Fig. 2 illustrates an application scenario diagram according to one embodiment of the present invention;

[0035] Fig. 3 illustrates a process schematic diagram of providing timing functionality to a system where processing is separated from data according to one embodiment of the present invention;

[0036] Fig. 4 illustrates an apparatus schematic diagram of facilitating providing of timing functionality in worker X according to one embodiment of the present invention;

[0037] Fig. 5 illustrates an apparatus schematic diagram of facilitating providing of timing functionality in worker Y according to one embodiment of the present invention.

[0038] Same or similar reference numerals in the drawings represent same or similar components.

DETAILED DESCRIPTION

[0039] Hereinafter, the present invention will be described in further detail with reference to the accompanying drawings.

[0040] Fig. 2 illustrates an application scenario diagram according to one embodiment of the present invention. The embodiment illustrates a system where processing is separated from data in a cloud computing environment. The system includes a worker pool 201, a cloud timer 202, and a cloud database 203. The worker pool 201 consists of at least one worker, as illustrated in the figure, comprising worker 1, worker 2, and worker P. The cloud timer consists of at least one node.

[0041] Wherein, the cloud timer 202 is a network entity newly introduced in the present invention. Generally, the cloud timer is a logic functional body comprising a plurality of distributed nodes that have the same capabilities, i.e., the functions they may perform are identical. In the cloud computing environment, these nodes may be virtual machines (VM). For the sake of reliability, a same timer may be started simultaneously at multiple nodes, thereby avoiding a single-point failure. The cloud timer 202 is designed based on a No-SQL database (i.e., cloud database); therefore, the number of nodes in the cloud timer 202 may be dynamically adjusted.

[0042] The cloud timer 202 is a separate entity which is independent from the worker pool 201 and the cloud database 203. However, because its design is similar to the cloud database, it may also be embedded into the cloud database 203 in actual implementation. [0043] Fig. 3 illustrates a process schematic diagram of providing timing functionality for a system where processing is separated from data according to one embodiment of the present invention.

[0044] In the embodiment, the session S 1 has a plurality of transactions during its existence, where transaction Tl corresponds to request 1, while transaction Tn corresponds to request n. The worker X is for processing request 1, while worker Y is for processing request n. Both of the worker X and worker Y are in the worker pool 201.

[0045] The cloud timer 202 comprises node Nl, node N2, node N3, node N4, and node N5. The 5 nodes have the same capabilities.

[0046] The process starts from step S301.

[0047] In step S301, the worker X sends a timer start request to the cloud timer 202, wherein the timer start request comprises an identifier Timer 1 of a timer, an expiration time corresponding to the timer, and an identifier of a notified object.

[0048] A notified object here refers to an object to which the cloud timer 202 should be notified when the timer Timerl exceeds. It may be seen that different from the prior art, the worker X may designate an object who should be notified when the timer is expiration. This object may be worker X or other entity. In this way, the object to which the cloud timer 202 should be notified when the timer Timerl is expiration might not be the entity that initially started the timer Timerl, such that the implementation will be very flexible.

[0049] In another embodiment, the identifier of the notified object includes an identifier of at least one network entity, each network entity corresponding to a different priority. In this way, when the timer Timerl is expiration, if the cloud timer 202 fails in sending a timer expiration notification to a network entity with a higher priority, it will then send the timer expiration notification to a network entity with a lower priority, thereby reducing a failure rate.

[0050] In another embodiment, the identifier of the notified object at least comprises an identifier of the worker X and an identifier of the worker pool 201 where the worker X is located; besides, the priority of the worker X is higher than the priority of the worker pool 201. In this way, when the timer Timerl is expiration, the worker X already does not exist, such that the cloud timer 202 fails in sending the timer expiration notification to the worker X, and then the cloud timer 202 will send the timer expiration notification to the worker pool 201.

[0051] In a further embodiment, node Nl in the cloud timer 202 receives the timer start request. Then, the node Nl determines N nodes that start the timer Timerl according to a preset algorithm and a preset redundant number N (N>1).

[0052] The algorithm here may be a consistent Hash algorithm. The redundant number N here refers to a preset number of nodes in the cloud timer 202 which simultaneously start a timer. Meanwhile, it is mainly intended to avoid single-point failures to start a same timer simultaneously in multiple nodes. This is also a common method in the cloud computing environment.

[0053] In the present embodiment, the algorithm preset in the cloud timer 202 is a Hash algorithm, and the redundant number is preset to 3. The node Nl determines that the three nodes for starting the timer Timerl to be node N2, node N3, and node N4 according to the Hash algorithm and the redundant number 3.

[0054] Then, in step S302, the node Nl sends a timer start request to the determined N nodes (i.e., node N2, node N3, and node N4), to indicate the node N2, node N3, and node N4 to start the timer Timerl . The node N2, node N3, and node N4, after receiving the timer start request, will start the timer Timerl, respectively. In other words, the node N2, node N3, and node N4 will simultaneously run the timer Timerl .

[0055] These N nodes know the remaining N-l nodes that simultaneously run the timer Timerl .

[0056] Then, in step S303, the cloud timer 202 sends a acknowledgement message of successfully starting the timer to the worker X. Specifically, the node Nl in the cloud timer 202 sends the acknowledgement message of successfully starting the timer to the worker X.

[0057] After the worker X receives the acknowledgement of successfully starting the timer, in step S304, the worker X sends a request for adding data to the cloud database 203, the request for adding data including information of the data to be added by the worker X to the cloud database 203.

[0058] After a period of time, the expiration time of the timer Timerl is reached. Although the node N2, node N3, and node N4 are simultaneously running the timer Timerl, the time when they receive the message is different, or due to reasons like network delay or processing speed, the same timer Timerl running on the 3 nodes is always asynchronous, and there is always a timer Timerl in one node is expiration first.

[0059] In step S305, the node N4 with the timer Timerl being expiration first in the N nodes sends a timer cancelling request to the remaining N-l nodes, for indicating the remaining N-l nodes to cancel the timer Timerl running thereon. As illustrated in the figure, the node N4 will send a timer cancelling request to node N2 and node N3; after receiving the message, the node N2 and node N3 will cancel the timer Timerl running thereon.

[0060] Then, in step S306, the cloud timer 202 sends a timer expiration notification to a network entity corresponding to the identifier of the notified object. Specifically, node N4 in the cloud timer 202 sends a timer expiration notification to a network entity corresponding to the identifier of the notified object.

[0061] In the embodiment, the identifier of the notified object includes an identifier of the worker X and an identifier of the worker pool 201 where the worker X is located; besides, the priority of the worker X is higher than the priority of the worker pool 201. However, at this point, the worker X has already been deleted because it has completed its task; and the node N4 fails in sending the timer expiration notification to worker X; therefore, the node N4 will send the timer expiration notification to the worker pool 201 again. After receiving the notification, the worker pool will send the notification to the worker Y; the notification comprises a timer identifier, i.e., the identifier of the timer Timerl .

[0062] In another embodiment, the timer start request in step S301 further comprises information related to the timer Timerl . Such related information may be: an address of the notified object, keywords of data corresponding to the timer Timerl, a function to the executed by the notified object when the timer Timerl is expiration, etc. Correspondingly, the timer expiration notification in step S306 also includes the information related to the timer Timerl . In this way, the starter of the timer may decide the information that needs to be brought back when the timer is expiration.

[0063] After receiving the timer expiration notification, the worker Y knows that the timer Timerl is expiration.

[0064] Then, in step S307, the worker Y will send a data operation request to the cloud database 203. According to the information (e.g., keywords of data corresponding to the timer Timerl) related to the timer Timerl included in the timer expiration notification, the worker Y may determine data related to the timer Timerl, the request being for operating the data related to the timer Timerl . These data may be data added by the worker X into the cloud database 203 in step S304. These operations include, but not limited to, search, delete, etc.

[0065] In some cases, e.g., request 1 is a Register message initiated by the SIP terminal for registration, when the worker Y receives the notification that the timer Timerl is expiration, it will notify the terminal, i.e., the request n is a Notify message; then, the worker Y will directly delete the data added by the worker X into the cloud database 203.

[0066] However, in some cases, e.g., request 1 is an Invite message initiated for the SIP terminal to establish a session, when the worker Y receives the notification that the timer Timer 1 is expiration, the worker Y will retrieve the data added by the worker X into the cloud database 203, and then checks whether the session is still valid, i.e., the request n is an Update message; the worker Y sends the Update message to the terminal to perform a heartbeat detection to the session.

[0067] It should be noted that although the functions performed by Node Nl, node N2, node N3, node N4 and node N5 in the embodiment above are somewhat different, each node has the same capabilities. This may greatly avoid occurrence of a single-point failure. For the same node, the functions actually performed in different transaction processing might be somewhat different.

[0068] Fig. 4 illustrates an apparatus schematic diagram of facilitating providing timing functionality in the worker X according to one embodiment of the present invention. The apparatus 400 comprises: first sending means 401 and second sending means 402.

[0069] Hereinafter, a working process of the apparatus 400 may be described in detail with reference to Figs. 2 and 3.

[0070] First, the sending means 401 sends a timer start request to the cloud timer 202, wherein the timer start request comprises an identifier Timer 1 of a timer, an expiration time corresponding to the timer, and an identifier of a notified object.

[0071] A notified object here refers to an object to which the cloud timer 202 should be notified when the timer Timerl exceeds. It may be seen that different from the prior art, the worker X may designate an object which should be notified when the timer is expiration. This object may be worker X or other entity. In this way, the object to which the cloud timer 202 should be notified when the timer Timerl is expiration might not be the entity that initially started the timer Timerl, such that the implementation will be very flexible.

[0072] In another embodiment, the identifier of the notified object includes an identifier of at least one network entity, each network entity corresponding to a different priority. In this way, when the timer Timerl is expiration, if the cloud timer 202 fails in sending a timer expiration notification to a network entity with a higher priority, it will then send the timer expiration notification to a network entity with a lower priority, thereby reducing a failure rate.

[0073] In another embodiment, the identifier of the notified object at least comprises an identifier of the worker X and an identifier of the worker pool 201 where the worker X is located; besides, the priority of the worker X is higher than the priority of the worker pool 201. In this way, when the timer Timerl is expiration, the worker X already does not exist, such that the cloud timer 202 fails in sending the timer expiration notification to the worker X, and then the cloud timer 202 will send the timer expiration notification to the worker pool 201.

[0074] Then, the second means 402, in response to an acknowledgement message of successfully starting the timer from the cloud timer 202, sends a request for adding data to the cloud database, the request for adding data including information of the data to be added by the worker X into the cloud database 203.

[0075] Fig. 5 illustrates an apparatus schematic diagram of facilitating providing timing functionality in the worker Y according to one embodiment of the present invention. The apparatus 500 comprises: receiving means 501 and third sending means 502.

[0076] Hereinafter, a working process of the apparatus 500 will be described in detail with reference to Figs. 2 and 3.

[0077] First, the receiving means 501 receives a timer expiration notification from the cloud time 202, the timer expiration notification including a timer identifier, i.e., identifier of the timer Timerl, and information related to the timer Timerl . Such related information may be: address of the notified object, keywords of data corresponding to the timer Timerl, function to the executed by the notified object when the timer Timerl is expiration, etc.

[0078] After receiving the timer expiration notification, the worker Y knows that the timer Timerl is expiration.

[0079] Then, the third sending means 502 will send a data operation request to the cloud database 203. According to the information (e.g., keywords of data corresponding to the timer Timerl) related to the timer Timerl included in the timer expiration notification, the worker Y may determine data related to the timer Timerl, the request being for operating the data related to the timer Timerl . These data may be data added by the worker X into the cloud database 203 in step S304. These operations include, but not limited to, search, delete, etc.

[0080] In some cases, e.g., request 1 is a Register message initiated by the SIP terminal for registration, when the worker Y receives the notification that the timer Timerl is expiration, it will notify the terminal, i.e., the request n is a Notify message; then, the worker Y will directly delete the data added by the worker X into the cloud database 203.

[0081] However, in some cases, e.g., request 1 is an Invite message initiated for the SIP terminal to establish a session, when the worker Y receives the notification that the timer Timer 1 is expiration, the worker Y will retrieve the data added by the worker X into the cloud database 203, and then checks whether the session is still valid, i.e., the request n is an Update message; the worker Y sends the Update message to the terminal to perform a heartbeat detection to the session.

[0082] It should be noted that the present disclosure may be implemented in software or a combination of software and hardware; for example, it may be implemented by a dedicated integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In an embodiment, the software program of the present disclosure may be executed by a processor so as to implement the above steps or functions. Likewise, the software program of the present disclosure (including relevant data structure) may be stored in a computer readable recording medium, for example, a RAM memory, a magnetic or optical driver, or a floppy disk, and similar devices. Besides, some steps of functions of the present disclosure may be implemented by hardware, for example, a circuit cooperating with the processor to execute various functions or steps.

[0083] Additionally, part of the present invention may be applied as a computer program product, e.g., computer program instructions which, when being executed by the computer, may invoke or provide the methods and/or technical solutions of the present invention through operations of the computer. Further, program instructions invoking the methods of the present invention may be stored in a fixed or mobile recording medium, and/or transmitted by broadcasting or data flows in other signal carrying media, and/or stored in a working memory of a computer device run according to the program instructions. Here, one embodiment according to the present invention comprises an apparatus that comprises a memory for storing computer program instructions and a processor for executing the program instructions, wherein, the computer program instructions, when being executed by the processor, trigger the apparatus to execute the methods and/or technical solutions according to a plurality of embodiments of the present invention.

[0084] To those skilled in the art, it is apparent that the present disclosure is not limited to the details of the above exemplary embodiments, and the present disclosure may be implemented with other forms without departing from the spirit or basic features of the present disclosure. Thus, in any way, the embodiments should be regarded as exemplary, not limitative; the scope of the present disclosure is limited by the appended claims, instead of the above depiction. Thus, all variations intended to fall into the meaning and scope of equivalent elements of the claims should be covered within the present disclosure. No reference signs in the claims should be regarded as limiting the involved claims. Besides, it is apparent that the term "comprise/comprising/include/including" does not exclude other units or steps, and singularity does not exclude plurality. A plurality of units or means stated in the apparatus claims may also be implemented by a single unit or means through software or hardware. Terms such as the first and the second are used to indicate names, but do not indicate any particular sequence.