The present application claims priority under 35 U.S.C. §119(b) to European Patent Application 11172530.5, filed on Jul. 4, 2011, the contents of which are fully incorporated herein by reference.
Generally, this disclosure relates to the field of data communication. More specifically, the disclosure relates to the field of data communication between a terminal and an application server, for example for machine-to-machine (M2M) communication.
In existing data transfer environments, devices (also called “terminals”) are sometimes required to transmit data to servers over the network, and vice versa. The establishment of data connections in fixed and mobile networks is, generally, device-originated. For example, Packet Data Protocol (PDP) context, which represents one type of data connection in GSM and UMTS networks, is set up by user terminals. Also most IP middle boxes, like firewalls and Network Address Translators, rely on initiation of a data session by the device.
Such devices may be applied in the field of machine-to-machine (M2M) communication as currently being standardized in 3GPP (see e.g. TS 22.368). While in many M2M applications it is sufficient that the M2M device initiates establishment of a communication path between the M2M device and the M2M server, there are also applications where the M2M server is required to be able to initiate the communication.
An example of an M2M server initiating communication with the device is a smart electricity metering application. Normally, the meter may report meter readings at the end of every month. But when e.g. a customer changes to a different electricity provider, the M2M server needs to be able to trigger the meter to request the meter readings at the specific end-of-contract date.
To set up a connection from the server side, the server needs to inform the device that the device should set up a connection. This process is called triggering. There are different methods of triggering which all have in common the fact that the trigger merely provides a request to the device to set up a connection to a server, possibly indicating an address of the server (e.g. APN, IP address or FQDN), if the address of the server for the data connection that the device has to set up was not pre-configured in the terminal. In response to the trigger message, the device will start setting up a data connection to the server.
It is an object of the present disclosure to provide improved methods and systems for establishing a server-initiated communication path between a terminal and a server.
To that end, a method for triggering at least one terminal to establish a communication path between the terminal and a server is disclosed. The method includes transmitting a trigger message to the terminal, the trigger message including timing information indicating when the communication path between the at least one terminal and the server is to be established.
The present disclosure is based on the recognition that, until now, the server had no influence on the timing of when the terminal should set up a communication path to the server. Once the server transmitted the trigger message to the terminal, it was up to the terminal to decide when the connection will be set up. Such a configuration may become especially problematic when a batch of terminals would be triggered all at once. Because each of the terminals typically does not have information about what the other terminals are doing, a situation may occur that all the terminals that were triggered at once start setting up connections to the server simultaneously, thereby providing an excessive load on system's processing and communications' resources. The present disclosure may help mitigate or avoid this situation by including timing information in a trigger message provided to the terminal, the timing information specifying when the terminal should establish the connection to the server. Providing such timing information to the terminal allows the terminal to share with the server at least some of the control over when the connection is set up. As a result, the server is able to manage when different terminals set up their connections in response to the trigger messages. Such a centralized management of the different terminals within the system makes the system more efficient since the server typically has a much broader overview of what is happening in the system (e.g. the server has an overview on how many terminals were triggered at what time and what else is happening in the system). By inserting the timing information in the trigger messages, the server is able to utilize its knowledge to control the timing of individual terminals setting up their connections. For example, when a large number of terminals were triggered at once, the server would be able to spread the occurrences of individual terminals setting up their connection over time.
The centralized management also reduces the potential for conflicts between the different terminals within the system.
Alternatively, the functionality described above may be implemented not in the server but in some intermediate network node (e.g. a network gateway). As long as the timing information as to when the communication path between the terminal and the server should be established is provided to the terminal by some entity that has a broader overview of the system rather than being decided on exclusively by the terminal, the overall system benefits.
As used herein, the term “communication path,” in context of a terminal setting up a communication path to a server, refers to a path or a channel for communicating data (typically, user data) between the terminal and the server, at least part of which includes at least one data connection, typically between the terminal and some intermediate network node such as a network gateway, over which the terminal and the network gateway can exchange data according to one or more protocols such as e.g. PDP context or UMTS bearer described in 3GPP TS 23.060 or EPS bearer described in 3GPP TS 23.401. Persons skilled in the art will recognize that the term “network gateway” refers to an intermediate network node adapted to function as a gateway between a mobile network and an external packet data network such as e.g. internet or corporate packet data network. In existing GPRS/UMTS networks, the Gateway GPRS Support Node (GGSN) acts as the network gateway, while in LTE network, the PDN Gateway (P-GW) node is the network gateway.
The disclosed solution is, although not being limited to this field, especially advantageous for M2M communications because M2M communications typically involves hundreds, thousands or millions of terminals that may need to set up communication paths with a server. Although the relationship of the number of terminals to the number of servers with which these terminals may set up communication is not always N:1, as a single terminal may communicate with more than one server, the number of terminals, typically, is still significantly larger than the number of servers. Consequently, any single server would still benefit from having control of the timing as to when the various terminals set up communication paths to this server.
An example of M2M communications involves collecting information by a server from e.g. smart electricity meters at the homes of a large customer base. Other examples include surveillance systems, sensors, etc. that can be equipped with communication modules that may support various types of advanced data connections to a server. Also, mobile navigation terminals and payment terminals are examples of M2M applications. The presented solution provides for efficient server-based initiation of establishing a communication path between the terminal and the server for such applications.
In various embodiments, timing information included in a trigger message may include one or more of a time delay, a time window, and an instruction for the terminal to randomly select time for establishing the communication path between the terminal and the server. Other examples of information which may be indicative of the time when the communication path should be established may be envisioned and are within the scope of the present disclosure.
In an example embodiment, the trigger message may be transmitted to a plurality of terminals, e.g. using group addressing or by broadcasting the trigger message over a plurality of base stations, the terminals being located in the coverage area of these base stations.
As described above, the communication path established between the terminal and the server may include at least one data connection, e.g. between the terminal and a network gateway, set up according to a set of parameters, depending on what type of communication is required between the terminal and the server. In an embodiment, the trigger message may further include connection information indicating a first type of the data connection in such a communication path between the terminal and the server.
The set of parameters, commonly referred to in the art as “QoS parameters” or “QoS profile,” include parameters such as e.g. maximum bitrate, guaranteed bitrate, allocation set up, time out limit, and queue configuration. Some examples of the types of data connections include a best effort connection, a conversational connection, or a streaming connection. For different types of data connection, different sets of QoS parameters are required. For example, a conversational data connection may have strict requirements as to the delay and jitter in order to enable voice communica-communication, while in a streaming connection the delay may be not so important.
Thus, the data connection between the terminal and the network gateway may be viewed as a “tunnel” set up between the terminal and the gateway. When the server (or some other entity outside of the tunnel, i.e. in the external data packet network) then needs to send an IP packet to the terminal, the server would use an IP address that is routed to the network gateway. From there, the IP packet is “tunneled” through the data connection, to the terminal. Vice versa, when routing IP packets from the terminal to entities in the external network, the IP packets are “tunneled” through the data connection from the terminal to the network gateway without the need to know IP addresses of intermediate nodes in the tunnel. The overall communication path between the terminal and the server may include one or more of such “tunnels.” Then, between the network gateway and the server, a conventional IP routing of the Packet Data Network may be used.
Of course, embodiments are possible where the entire communication path between the terminal and the server may be a “tunnel” in that the entire communication path may need to be set up according to some set of parameters defining the type of data connection (i.e., the “at least one data connection” recited in claim 1 is actually the entire communication path between the terminal and the server). Also embodiments are possible where there is a concatenation of tunnels, e.g. one tunnel from the terminal to the network gateway and another tunnel from the gateway to the server. In such embodiments, QoS parameters in both tunnels may either be derived from same QoS indication or there may be different QoS indications. In one particular implementation, the tunnel between the network gateway and the server (and the associated QoS parameters) would not necessarily be set up by providing indication of the type of this tunnel in a trigger message. All of such embodiments are also included within the scope of the present disclosure and it is understood that a person skilled in the art would recognize what set of parameters (i.e., not necessarily the QoS parameters described above) would be the most appropriate in specifying the type(s) of such data connection(s).
Providing information to the terminal as to what type of connection the terminal should establish in the trigger message, i.e. before the terminal sets up the communication path including that data connection, avoids the terminal setting up a wrong type of data connection and allows significantly decreasing the number of messages exchanged between the server and the terminal. As a result, processing resources of the system may be preserved and inefficient bandwidth usage may be reduced.
Allowing the server to influence what kind of data connection the terminal will set up will become more and more important as the technology and the various applications develop, where inherently more versatile types of data connections would be required and supported by the terminals. For example, a video surveillance application would need bearers that have a suitable QoS for a video stream.
In various embodiments, the connection information may include e.g. part or all of a QoS profile or a QoS Class Identifier (QCI). The QCI may be in the form of a number that indicates which set of QoS parameters should be used for setting up a data connection. For example, a QCI equal to 1 may imply all QoS parameters needed for a conversational type of data connection. An advantage of using QCI is that it is much smaller than the QoS profile and, therefore, is much easier to transport in a trigger message. The QCI is particularly advantageous for applications where the trigger message is sent over a broadcast channel. Of course, other examples of information which may be indicative of the type of connection (i.e. of the range of QoS parameters of the requested data connection or whether a Circuit Switched or Packet Switched connection is used) may be envisioned and are within the scope of the present disclosure.
In other embodiments, a server and a terminal for use in the above methods are also disclosed.
Still further, an intermediate network node configured for use in the above methods and/or with the above terminal is disclosed. Such an intermediate network node may be communicatively connected to the terminal and the server, either directly or via other intermediate nodes, and the trigger message generated at the server may be sent to the intermediate network node before being transmitted by the node to the terminal. Such an intermediate network node may be a network gateway for communicating user data between the terminal and the server, such as e.g. GGSN or P-GW nodes described above, or it may be a network gateway for communicating control data, such as e.g. a machine-type communication gateway (MTC GW), described in greater detail below.
In the embodiments where the server is configured to include the connection information in the trigger message, the intermediate network node may be configured to determine whether the first type of data connection is supported by the terminal and/or allowed for the terminal. Upon positive determination, the intermediate network node may be configured to transmit the trigger message further, to the terminal. Upon negative determination, the intermediate network node may be configured to update the trigger message by replacing the information indicating the first type of data connection with information indicating a second type of data connection. Alternatively, upon negative determination, the intermediate network node may be configured to stop the transmission of the trigger message to the terminal, possibly informing the server to that effect. Such functionality may ensure that trigger messages provided to the terminal include requests for only the type of data connection that is actually supported by and/or allowed for the terminal, according e.g. to terminal's subscription.
In the embodiments where the server may be a server configured to send a trigger message without including timing information according to the present disclosure, the intermediate network node may be configured to implement the methods described herein by adding the timing information and, optionally, the connection information to the trigger message received from the server. This may be beneficial because the intermediate network node may be the entity that has information as to when the data connection should be established and/or what types of data connections are supported by and allowed for the terminal, according e.g. to terminal's subscription.
In various embodiments, more than one intermediate network node may be used to transmit trigger messages. For example, in one embodiment, a trigger message may first be transmitted from a server to a first intermediate network node, such as e.g. a control plane gateway, and then transmitted from the first intermediate network node to a second intermediate network note, such as e.g. a user plane gateway, before being transmitted to the terminal. Such embodiments may be advantageous in case an earlier established data connection can be used to transport the trigger message. Furthermore, it may enable entities (e.g. SGSN, S-GW, MME, GGSN, P-GW) involved in the subsequent set up of the data connection to already prepare on the basis of information in the trigger message.
Also, the present disclosure relates to a non-transitory computer readable medium having stored instructions for performing the various functions described herein. The disclosure also provides for a data carrier for such software portions and to a telecommunications system comprising at least a server and a terminal as described above. In one embodiment, a non-transitory computer-readable medium having stored therein instructions executable by a processor to cause a telecommunications system to perform functions to trigger at least one terminal to establish a communication path between the at least one terminal and a server is disclosed. The functions comprise transmitting a trigger message to the at least one terminal. The trigger message comprises timing information indicating when the communication path between the at least one terminal and the server is to be established. In another embodiment, a non-transitory computer-readable medium having stored therein instructions executable by a processor to cause a telecommunications system to perform functions to establish a communication path between a terminal and a server is disclosed. The functions include receiving a trigger message. The trigger message includes timing information indicating when the communication path between the terminal and the server is to be established. The functions also include establishing the communication path between the terminal and the server according to the timing information.
Hereinafter, embodiments of the disclosure will be described in further detail. It should be appreciated, however, that these embodiments may not be construed as limiting the scope of protection for the present disclosure.
Various exemplary embodiments are described herein with reference to the following drawings, wherein like numerals denote like entities. The drawings described are schematic and non-limiting.
In the drawings:
In the telecommunications network of
The lower branch of
For a GSM/EDGE radio access network (GERAN), the RAN comprises a Base Station Controller (BSC) connected to a plurality of Base Station Transceivers (BTSs), both not shown. For a UMTS radio access network (UTRAN), the RAN comprises a Radio Network Controller (RNC) connected to a plurality of NodeBs, also not shown. The GGSN and the SGSN may be conventionally connected to a Home Location Register (HLR) that contains subscription information of the terminals 3. In the figure, the HLR is combined with an authentication center (AuC) for authenticating terminals 3 in the network.
The upper branch in
The GGSN node of the GPRS and UMTS networks and the P-GW node of the LTE network act as user plane gateways between a mobile network and the external data network 4, providing functions such as e.g. QoS policy enforcing, usage metering, and IP address allocation. All of the networks illustrated in
Of course, functionality of a user plane gateway and a control plane gateway may be combined in a single node or distributed among a larger number of nodes than illustrated in
As shown in
In the context of the server directly transmitting the trigger message to the terminal, the term “directly” is used only to differentiate the embodiment illustrated in
The trigger message TM1 may be formed by including at least timing information specifying the time at which the terminal 3 should establish the communication path with the server 2. Since at least a part of the communication path includes at least one data connection of a particular type, the timing information specifies when the terminal 3 should start setting up the data connection. In response to receiving the trigger message with the timing information, the terminal 3 would delay establishing the communication path/data connection until a time that the terminal 3 determines on basis of the timing information.
In one embodiment, the timing information may be included in the trigger message in the form of a delay time, e.g. instructing the terminal 3 to delay establishing of the communication path/data connection by one hour (measured e.g. from the time of receipt of the trigger message or from the time stamp indicating when the trigger message was sent by the server 2). For example, the timing information may instruct the terminal 3 to establish the communication path after a delay of 75 seconds or after a delay of 13 min 15 seconds (i.e., the timing information would specify the delay exactly, up to the couple of seconds).
The timing information may also instruct the terminal 3 to establish the communication path at 07:35:35 (i.e. at some specific time).
In another embodiment, the timing information may be in the form of a time window, e.g. instructing the terminal 3 to establish the communication path/data connection between 16:00 and 17:00 or in a smaller time window, between 03:45:15 and 03:45:45.
In yet another embodiment, the timing information may instruct the terminal 3 to select the time at which to establish a communication path/data connection at random. This embodiment may be particularly beneficial in situations when the trigger message is sent to a group of terminals, e.g. using group addressing, where each terminal would randomize the time of response to the trigger message.
One or more of the exemplary illustrations of possible types of timing information provided above may be combined with one another. For example, the embodiment of timing information instructing the terminal 3 to select the time at which to establish a communication path/data connection at random may be combined with providing delay time or window time so that e.g. the timing information may instruct the terminal 3 to select some random time in a particular time window (e.g. random time between 02:00 and 04:00) for establishing a communication path/data connection. In another example, the timing information may instruct the terminal 3 to randomize time for establishing the communication path between now and one hour. Alternatively, the timing information providing both a time delay and a time window is possible where the timing information would indicate the delay together with the duration, instructing the terminal 3 to establish the communication path after a delay of e.g. 15 minutes during the time window of 1 hour. Such an embodiment may be beneficial because, unlike providing absolute time indications, providing time delay and time window information does not require synchronization between all nodes concerned (possibly also taking into account time zones and summer time). In yet another example, the timing information may include two delays, e.g. instructing the terminal to establish the communication path from 15 minutes from now until from 30 minutes from now.
The timing information may be used to spread network load when a trigger is sent to a group of terminals (i.e., the terminals may randomize their load) and/or to spread network load when triggers are sent to individual devices (i.e., the server may randomize the loads of the terminals).
Further, the timing information in the trigger message may instruct the terminal 3 to do something before the terminal 3 would start sending its data to the server 2, e.g. to start recording data and send data after 4 days or to record data between July 1st 13:00 and July 4th 15:00 and then send data.
As the foregoing examples illustrates, timing information may relate to times from a few seconds to multiple days.
Other types of timing information indicating at what time the terminal 3 should or should not establish the communication path/data connection may be envisioned and are intended to be within the scope of the present disclosure.
The trigger message TM1 may also include information that is typically included in conventional trigger messages, such as the identity of the terminal 3, the identity of the application, and/or a request counter associated to this request allowing to detect duplicated requests, to correlate requests with their acknowledgement and to allow the application to cancel a request. The trigger message TM1 may also, optionally, include the IP address (or Fully Qualified Domain Name) and/or port numbers of the application server 2 with which the terminal 3 is triggered to establish a data connection, an urgency request indication, a validity timer allowing to remove triggers that are stored in the network when the terminal 3 cannot be reached (e.g. with SMS), the area where triggering needs to be sent, and/or a limited amount of application specific information (e.g. to instruct the terminal 3 to do something before establishing a communication path with the server 2).
Upon receiving the trigger message TM1, the terminal 3 is configured to obtain the timing information from the message, then, based on the obtained timing information, determine at which time the communication path with the server 2 should be established, and, finally, establish the communication path at the determined time. To that end, the terminal 3 may include a processing unit capable of extracting the timing information from the trigger message and determining the time when the communication path should be established, and a communications module for establishing the requested communication path. At least part of the functionality of the processing unit and/or the communications module of the terminal 3 may be included within a (U)SIM within the terminal 3.
In
In the embodiment illustrated in
In the embodiment illustrated in
In all of the embodiments illustrated in
In such embodiments, upon receiving the trigger message including not only the timing information but also the connection information, the terminal 3 may obtain the connection information from the message and may establish a communication path to the server 2, the communication path comprising the data connection of the type specified in the message.
The intermediate node 5 may receive from the server a trigger message TM2 that includes not only the timing information, but also the connection information, as described above.
The intermediate node 5 may be configured to extract the connection information from the received trigger message TM2 and may check whether the particular QoS profile identified by the connection information is supported by the terminal 3 and/or allowed by the subscription of the terminal 3. This may be done by e.g. checking with HSS containing subscriber's information.
If the intermediate node 5 determines that the type of connection identified in TM2 is supported by and allowed for the terminal 3, the intermediate node 5 may transmit the trigger message TM2 further, to the terminal 3. Otherwise, the intermediate node 5 may either stop the transmission of the trigger message to the terminal 3 (possibly communicate to the server 2 that the transmission of the trigger message TM2 has been interrupted), update the trigger message by deleting the connection information from the trigger message, or overwrite the connection information in TM2 specifying the type of connection requested by the server 2 with the most appropriate connection information specifying the type of connection that would be supported by and allowed for the terminal 3. In the last two cases, the intermediate node 5 would then transmit the updated trigger message TM2′ to the terminal 3.
For example, the intermediate node 5 may comprise a MTC GW configured to check with HSS to see what the default QoS profile for the subscription of the terminal 3 is and may insert the appropriate QoS identification in the subsequent trigger signaling.
A configuration illustrated in
In one embodiment, the first intermediate node 6 may include a control plane gateway, such as e.g. MTC GW, while the second intermediate node 7 may include a user plane gateway, such as e.g. P-GW.
In various embodiments illustrated in
Similar to the server 2 and the terminal 3, each of the intermediate network nodes 5, 6, and 7 illustrated in
As shown in
In one embodiment, the MTC GW may be configured to decide which triggering mechanism to choose, e.g. based on status information from the network. In other embodiments, the M2M server may be the decision point on which trigger method to use. That may be advantageous because the M2M server typically has most knowledge about the particular application, the M2M devices associated with that application, and the kind of triggering mechanisms these devices would support.
In all of the triggering mechanisms illustrated in
In LTE network, there is no native SMS support and text messaging is implemented using IMS instant messaging. So, where in LTE SMS-based triggering may be difficult, an alternative may be to use SIP Messages.
The identification used in the trigger message may be any application level identifier and may be completely transparent to the mobile network. For example, a smart metering application may use serial numbers of the electricity meters. The identification in the trigger message may also identify a group of M2M devices. This allows for an efficient way to trigger a batch of M2M devices to do e.g. a software upgrade. In such a case, including the timing information within the trigger message, as described in the present disclosure, may allow spreading the response to the trigger message out in time and mitigating or preventing that a too large group of M2M devices will try to connect to the M2M server simultaneously.
The final of the five trigger mechanisms is illustrated in
One embodiment of the disclosure may be implemented as a program product for use with a computer system. The program(s) of the program product define functions of the embodiments (including the methods described herein) and can be contained on a variety of, preferably non-transitory, computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory, flash memory) on which alterable information is stored. The computer program may be run on the processing units described herein.
Triggering with time indicators provides the possibility to allow for communication with devices at moments when those devices are usually in standby mode and this provides the advantage of saving battery life. For example, in order to save battery life, a mobile client might be in suspend mode for the largest part of the day, only waking up at certain moments in time (for example every night at 03:00) during which it listens to the broadcast channel. In some cases, it is useful and advantageous to not only be able to communicate with these devices during these ‘waking hours’ as such, but also outside these fixed timeslots. An example of this might be if a server is scheduled to communicate with the device at, for example, 16:00 to check the status of the device at that time. In order to allow for this scenario, a trigger might be sent to the device during its regularly scheduled waking hours. Included in this trigger would be a time indicator ordering the device to wake up and set up a data connection at 16:00 the following day to allow for communication with the server. The advantage of this embodiment is that it allows for a device to be in power-down mode for the largest part of the day, thereby saving battery life, while maintaining the flexibility of being able to communicate with the device at whatever time period is required by the server, thereby allowing for flexibility of maintenance.
Although triggering itself uses network resources, triggering can be used to reduce costs. Depending on the time of day, triggering a mobile client might be more expensive than at other times. For example, triggering a mobile client during working hours, when there is a lot of network traffic, might be more expensive than triggering the same mobile client during the night, when network load is low. However, in some cases it might be necessary to have a mobile client set up a data connection at a certain or precise point in time, for example to read out the temperature at exactly 12:00 in the afternoon.
In this case, including a time indicator in the trigger message might be a cost-efficient solution. In the above example, the server might send the trigger message during off-peak low-cost night hours, but include a time indicator that informs the mobile client to set up a data connection at 12:00 in the afternoon when it would be expensive to send the trigger. Costs are reduced by separating the trigger and the eventual data connection and this allows for a more cost-efficient method of sending triggers to mobile devices.
In some cases, a mobile client might only be allowed to contact the network during a specified timeslot (a ‘grant access time window’). Outside these timeslots, the mobile client will immediately be rejected once it tries to attach to the network.
One of the drawbacks of this method is that in some cases it might be useful from a server-side perspective to want to communicate with a device outside this specified timeslot. In other words, in some cases the network might want to request a device to disobey the grant access time window that was given to the device by the network. However, if a device knows that it is not allowed to contact the network during a given period of time, it doesn't make sense for the device to have its cellular radio turned on, so it is not possible for the network to notify the mobile client of the request to disobey its grant access time window at a certain instant in time to contact the network.
In this case, a Trigger with Time Indicator might be sent to the mobile client during the time period it is attached to the network (the grant access time window). Included in this trigger might be a time indicator that contains a time outside the mobile client's grant access time window and therefore informs the device that may disobey its grant access time window at that point in time to contact the network.
The above detailed description describes various features and functions of the disclosed systems, devices, and methods with reference to the accompanying figures. While various aspects and embodiments have been disclosed herein, other aspects and embodiments are possible. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
11172530.5 | Jul 2011 | EP | regional |