Machine type communications (MTC) refers to machines, or devices, communicating with each other over a network. Machine type communications have wide applicability in diverse functional areas including, for example, in connection with surveillance, asset tracking, fleet tracking, remote sensing, vehicle diagnostics, and digital metering, to name a few areas. Communications between machines may be made over any suitable transport technology including, for example, fixed networks, wireless networks, or a combination of both. In one common embodiment, devices communicate over a wireless cellular network such as a 3rd Generation Partnership Project ( 3GPP) network.
The ability of 3GPP networks to provide features, which may be referred to as services, to each of several devices in a group of devices has proven particularly useful in connection with machine to machine communications. For example, the 3GPP network core provides services whereby the same message is distributed to a defined group of devices which may be, for example, user equipment (UE). Similarly, the 3GPP network provides a service whereby a defined group of devices or UEs may be policed in order to enforce a policy for a defined group of devices. In another example, the 3GPP network provides a service whereby records of chargeable events for a defined group of UEs are collected rather than being collected individually.
3GPP's capabilities in providing services to defined groups of devices has applicability to a wide variety of device installations. For example, a group of devices that run the same application or exhibit a similar behavior are often good candidates for receiving group based services. Similarly, devices that are housed in the same facility or group of facilities lend themselves to receiving services as a group. Likewise, a plurality of devices that are owned or operated by the same entity may benefit from being grouped together for purposes of receiving services. Still further, it may be operationally efficient to use 3GPP services in connection with several devices that are housed in or traveling in the same vehicle. From both a customer and network operator point of view, there is benefit in optimized handling of groups of MTC devices.
Accordingly, it is frequently the case that devices lend themselves to being serviced as a group. Furthermore, the expanded deployment of machine to machine communications in 3GPP networks will inevitably lead to the greater utilization to existing group based services and the deployment of new group based services.
Creating groups of devices for purposes of receiving services is typically accomplished by manual intervention. For example, each of the relevant machines and servicing core network devices must be individually provisioned with the appropriate information so that the relevant devices may be serviced as a group. Similarly, when modifications to an existing group of devices are needed, the impacted devices must be individually provisioned in order to implement the modifications.
Applicants have developed systems and methods for the coordinated grouping of machine devices for receipt of group based services. In the disclosed systems and methods, service layer systems such as, for example, server capability servers (SCS) manage the creation and modification of device groupings and coordinate with network layer systems, i.e., 3GPP systems, to implement the necessary grouping operations at the appropriate UEs. The service layer systems are positioned close to end user applications from a network architecture perspective and, therefore, are well situated to determine which devices should be grouped for purposes of receiving services. The network layer systems, i.e., 3GPP systems, maintain current information regarding the UEs and are able to use this information to determine whether the requested grouping may be made and, if so, the most efficient manner to physically implement the required provisioning.
In an example embodiment, a service layer system such as, for example, an SCS determines that it would be useful to create a grouping of devices or modify an existing group of devices. The SCS may determine that the grouping operation is needed in response to activities at the service layer or the application layer. For example, the SCS may receive an indication, perhaps from a user application, that a large number of sensor devices have been deployed to control and monitor an automated manufacturing line. In such a scenario, the SCS may determine that it would be useful to create a grouping of the devices for purposes of generating common communications to all devices. In alternative example, the SCS may receive information from a user application that a new sensor device is to be added to an existing manufacturing line. In such a scenario, the SCS may determine that it would be useful to add the new sensor device to an existing grouping for devices situated on the particular manufacturing line.
The SCS generates a group request for purposes of implementing the group operation. The request may be, for example, a request to create a new group of devices that may be serviced as a group. In another example embodiment, the request may be to modify an existing group of devices to add a new device. The SCS includes in the generated request any information that is needed by the network layer to perform the operation. For example, in the scenario where the request is to create a group of devices that are accessible using the 3GPP messaging service, the request may identify the particular 3GPP service that is requested along with information identifying the particular devices that are to be included in the group. In the scenario where the request is to modify an existing group of devices, the request may identify the particular group as well as the identity of the particular devices that are to be added or removed from the group. The SCS transmits the generated group request to the network layer.
The group request is received at the 3GPP network system. Processing of the request at the 3GPP network may vary depending upon the request and the configuration of the network system. Generally, however, a system within the 3GPP core network, which may be, for example, a home subscriber server (HSS) and/or machine type communication-inter-working function (MTC-IWF), determines whether the particular SCS is authorized to use the requested services and whether the UEs or devices identified in the request may be provisioned to receive the requested service.
In the instance that the appropriate 3GPP system determines that the requested service is available for use with the identified devices, the 3GPP core network system generates and transmits a group request to provision to each of the UEs that are relevant to the request. For example, in the scenario where the request is to create a new grouping of devices, the core network system transmits a provisioning request to each of the UEs that are to be included in the group. In the scenario where the request is to modify an existing group of devices, the core network system may transmit requests to only those devices that are impacted by the request such as the UEs that are being added or removed from the group. A response or answer may be received from each of the UEs to which a group provisioning request was made.
In the instance a confirmation is received from the UEs, and the initial request was to create a new group, the 3GPP system assigns a group identifier to the group. The 3GPP system then transmits a response to the service level system from which the request originated. The response includes an indication of whether the request from the service level system was successfully implemented and any information pertinent to the request such as, for example, the group identifier where the request was to create a new group.
The disclosed systems and methods contemplate that in some instances, modifications to existing groups of devices may be initiated by the network system, as opposed to in response to a request from the service layer. For example, the network system may determine that a UE that is a member of an existing group is no longer reachable, perhaps because it has been deactivated or detached from the network. The UEs, when provisioned with information creating a group, may have received data identifying events which if they were to occur should cause the UE to notify a particular system, e.g., HSS or IWF, in the network layer. Accordingly, when a UE detects an event such as the UE being detached from the network or the UE is experiencing congestion, the UE communicates the event to the designated system in the network layer.
In response to receiving notification of the event, the network layer system, e.g., HSS or IWF, sends an acknowledgment. The network layer system then determines the modifications that should be made in response to the event. The network layer system may rely upon data identifying policies for responding to the particular event. The policies may identify whether UEs should be added to or removed from the group and how to select UEs for addition or removal from the group. Upon identifying the UEs and the actions to be taken, the network layer system prepares and transmits a group provisioning requests to each of the UEs that have been identified. The network layer system receives responses from the UEs to which provisioning requests were transmitted.
Upon receiving the responses from the UEs, the network layer system determines whether a service layer system should be notified of any modifications. For example, the network layer system may determine that because the members of the group of devices have changed, the service layer system should be notified. If so, the service layer system prepares and transmits a notification to the appropriate service level system, e.g., SCS.
The disclosed systems and methods also provide for executing the group based services. Accordingly, after the service layer has communicated with the network layer to create and/or modify groups of devices for receiving particular services, the service layer may then request that the network layer actually execute the service. In an example embodiment, a service layer system such as a SCS prepares and transmits a request to execute a particular service with a particular group of devices. The request may comprise, for example, a group identifier associated with a particular service and a particular group of devices.
Upon receipt of the request, the network layer system retrieves information regarding the handling of the service specified in the request. For example, the network layer system may retrieve information regarding the UEs that are associated with the group. Using the retrieved information, the network layer system prepares and transmits requests to the UEs that are identified in the group. The UEs that receive the request respond with an answer reporting on the execution of the service at the particular UE. The network layer system aggregates the information reported by the UEs and transmits the aggregated data to the service level system from which the request originated.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description of Illustrative Embodiments. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Other features are described below.
The foregoing summary and the following additional description of the illustrative embodiments may be better understood when read in conjunction with the appended drawings. It is understood that potential embodiments of the disclosed systems and methods are not limited to those depicted.
As illustrated in
An SCS 212 may communicate with a machine type communication (MTC) interworking function (MTC-IWF) 210 via a Tsp reference point (i.e., interface) 208. The Tsp reference point 208 is an example of an interface that is used for interworking with the 3GPP evolved packet core network. Interworking refers to interfacing to the core network for purposes of exchanging information, controlling devices, monitoring devices, or communicating with devices. For example, interworking may refer to the interfacing between the SCS 212 and the core network for purposes of grouping devices and modifying existing groupings.
As further illustrated in
The SCS 212 may connect to a 3GPP network to communicate with user equipment 214, which may comprise MTC (MTC UE) application 216, the MTC-IWF 210 in the HPLMN (e.g., as defined by the boundary 218), or a SMS-SC 204 for device triggering. The SCS 212 may offer capabilities for use by one or more MTC applications on application server 220. In connection with the processing disclosed herein, the SCS 212 may communicate with MTC-IWF 210 in connection with requests to group devices for purposes of receiving 3GPP services. As discussed below, in some example embodiments, MTC-IWF 210 may communicate with home subscriber server (HSS) 116 as part of processing requests received from SCS 212. As shown, HSS 115 and MTC-IWF 210 may be communicatively coupled via S 6 m interface 232. The HSS 116 comprises a database that contains user-related and subscriber-related information. It also provides support functions in mobility management, call and session setup, user authentication and access authorization.
UE 214 may communicate through the public land mobile network (PLMN), which may include radio access network (RAN) 219, with SCS(s) 212 and/or other MTC UE(s). An MTC UE 214 may host one or more MTC applications 216. The MTC applications 216 may also be hosted on one or more as 220/222. The MTC application 216 executing on the UE 214 may be a MTC communication endpoint that may interact with SCSs 212, ASMTC applications, or other UE MTC applications. While
An application server (AS) 220/222 may also host one or more MTC applications. The MTC applications executing on an AS 220/222, which may interface with SCS(s) 212 and/or GGSN/P-GW 224 (via interfaces 228, 230), may interact with SCSs 212, MTC applications operating on UE 214, and/or other MTC applications.
The MTC inter working function (MTC-IWF) 210 provides a level of abstraction such that the SCS 212 does not need to address the internal PLMN topology. The MTC-IWF 210 may relay and/or translate signaling protocols used between itself and the SCS 212 (e.g., over the Tsp reference point 208) to support MTC functionality (e.g., MTC UE triggering) in the PLMN. For example, the SCS 212 may request that the MTC-IWF 210 send a trigger to a MTC device, which may be, for example, UE device 214. The MTC-IWF 210 may deliver the MTC trigger to the MTC device 214 via SMS. The MTC device 214, and in particular, the MTC UE application 216, based on the trigger may respond to the SCS 212. The MTC device 214 may, for example, respond with a sensor reading. In an example scenario, when the MTC device 214 responds to the SCS 212, the MTC device 214 may use a packet data network (PDN)/packet data protocol (PDP) connection to communicate with the SCS 212. The MTC device 214 may connect with the SCS 212 using an IP connection.
In an example embodiment, the MTC-IWF 210 may need to authorize an SCS 212 before the SCS 212 may establish communication with a 3GPP network. For example, when the SCS 212 makes a trigger request on the Tsp reference point 208, the MTC-IWF 210 may check whether the SCS 212 is authorized to send the trigger request and that the SCS 212 has not exceeded its quota or rate of trigger submissions.
A mobile switching center (MSC) 238 is the primary service delivery node for GSM/CDMA and is responsible for routing voice calls and SMS as well as other services (such as conference calls, FAX and circuit switched data). The MSC 238 sets up and releases the end-to-end connection, handles mobility and hand-over requirements during the call, and takes care of charging and real time pre-paid account monitoring.
A serving general packet radio service (GPRS) support node (SGSN) 234 is responsible for the delivery of data packets from and to mobile devices within its geographical service area. Its tasks include packet routing and transfer, mobility management (attach/detach and location management), logical link management, and authentication and charging functions. The location register of the SGSN stores location information (e.g., current cell, current VLR) and user profiles (e.g., IMSI, address(es) used in the packet data network) of all GPRS users registered with it.
M2M/MTC communications differ from traditional data communications that involve human interaction. For example, M2M/MTC applications that require data communication do not all have the same characteristics. Each different type of M2M/MTC application may require different types of communication services. 3GPP TS 22.368, the contents of which are hereby incorporated by reference in its entirety, identifies these different service requirements and lists different MTC features to provide these services. For example, the MTC feature ‘Low Mobility’ is intended for use with MTC devices that do not move, move infrequently, or move only within a certain region. The MTC Feature ‘Time Controlled’ is intended for use with MTC applications that can tolerate to send or receive data only during defined time intervals and avoid unnecessary signaling outside these defined time intervals. The MTC feature ‘Small Data Transmissions’ is intended for use with MTC devices that send or receive small amounts of data. The MTC feature ‘Infrequent Mobile Terminated’ is intended for use with MTC devices that mainly utilize mobile originated communications. The MTC feature ‘MTCMonitoring’ is intended for monitoring MTC device-related events. The MTC feature ‘Secure Connection’ is intended for use with MTC devices that require a secure connection between the MTC device and MTC server/MTC application server. Lastly, the MTC feature ‘Group Based’ applies to a group of MTC devices, and includes group based policy, group based addressing, etc.
In existing 3GPP networks, application layer data communication is mainly supported through the packet domain and through SMS. Several different transport mechanisms are available for use, including (i) packet domain (via the SGi and Gi reference points), (ii) short message service (SMS), (iii) multimedia messaging service (MMS), and (iv) the Non-Access Stratum (NAS).
With respect to packet domain messaging, the PGW/GGSN 224 act as the anchor point for data communication and they route user plane data through the GTP-U tunnels (PMIP may also be used in S 5/ S 8 interfaces) within the core network. 3GPP TS 23.401, the contents of which are hereby incorporated by reference herein in its entirety, defines this EPC architecture. A GTP-U tunnel provides common QoS treatment to the IP flows transported through them. Packet filters dictate the flows that are to be transported through a specified GTP-U tunnel.
SMS provides the means to transfer short text messages between a MS/UE and a SME (Short Message Entity) via a SC (Service Centre), as described in 3GPP TS 23.040, the contents of which are hereby incorporated by reference in its entirety. SMS is mainly used to exchange short text messages between users. However SMS can also be used by some higher layer applications for short data communication. SMS can also provide a store and forward mechanism. SMS is routed differently than regular user plane data and does not generally use the SGi/Gi interface path.
MMS is a service that is used to provide a rich set of content to subscribers in a multimedia messaging context. It provides a store-and-forward usage paradigm similar to SMS. However, MMS uses the packet domain user plane (SGi/Gi) to transport the multimedia messages. MMS can be considered an application level service running over the user plane. 3GPP TS 23.140, the contents of which are hereby incorporated herein by reference in its entirety, describes the MMS architecture. MMS supports the use of email addresses (RFC 2822) or MSISDN (E.164) or both to address the recipient of a multimedia message. MMS may also support the use of service provider specific addresses to address the recipient of a multimedia message.
With respect to NAS, the MTC-IWF 210 may use the T5 interface to send small data messages to the SGSN/MME and then use a NAS or RRC message to send the data to the UE.
Another existing mechanism for data transport in a 3GPP network is device triggering. Device Triggering is the means by which an SCS 212 sends information to a UE 214 via the 3GPP network to trigger the UE 214 to perform application specific actions that include initiating communication with the SCS 212. 3GPP TS 23.682, the contents of which are hereby incorporated by reference in its entirety, defines the device triggering mechanism supported by 3GPP networks. Device Triggering may be used when an IP address for the UE 214 is not available or reachable by the SCS/AS.
In order to determine if device triggering is necessary, the SCS 212 and/or AS 220 tracks the validity of the device's IP address. It is possible that the network, i.e., PDN, may re-allocate the IP address assigned to a M2M device to another UE 214 if the device has been idle for too long. In some cases, the SCS/AS may try initial communication using the device's IP address known at the SCS/AS and may detect that the IP address is invalid after the communication fails (probably based on ICMP messages). This process can be time-consuming for establishing a communication with an M2M device. Moreover, the existing device triggering approach requires the SCS/AS to determine if device triggering is needed before exchanging application data, which requires that the SCS/AS use processing resources to build a device triggering message and initiate the device triggering procedure.
A group based service, which is sometimes referred to as a group based feature or group service, is a service that is offered by a network layer for a group of devices. These services can be beneficial to service layer applications that handle a group of devices (e.g., the M2M service layer). Section 5 of 3GPP TR 23.887, the contents of which are incorporated herein by reference, describes services accessible via a 3GPP network for a group of MTC devices such as, for example, group based messaging, group based charging, group based policy control, and group based addressing and identifiers. Each of these group based services may be realized in the core network by using different methods. For example, group messaging may be achieved by cell broadcast server (CBS) or multimedia broadcast multicast service (MBMS) or other methods.
Group based messaging refers to a service whereby the 3GPP core network distributes the same message to group of UEs in an efficient manner. For example, a message may be communicated to a group of devices in a geographical area.
Group based charging refers to a service whereby the 3GPP core network retrieves charging record data for a group of UEs. The data volume of charging data records (CDRs) generated by MTC applications is often greater than the volume of actual user data transmitted. Under such circumstances, it may be beneficial to create bulk CDRs to count chargeable events for a group of devices instead of CDR creation per individual device. Accordingly, group based charging increases efficiency.
Group based policy control refers to a service whereby the 3GPP core network polices UEs in order to enforce a policy for a group of MTC devices. Group based policy control provides flexibility to the MTC application and reduces the network burden as compared to maintaining individual policies for each of the devices.
The above noted services are just a few of those that are made available to service level applications through 3GPP networks. As new group based services are introduced, new methods to support the existing and new 3GPP services are likewise developed.
For the reasons discussed above, machine to machine communications lends itself to group operations. The expanded deployment of machine to machine communications in the 3GPP network will inevitably lead to the greater utilization of existing group based services and the deployment of new group based services.
In order to efficiently utilize network group based services, intelligent decisions must be made about what devices should be part of the group. In most cases, the mobile network operator does not have enough insight about how the devices are being used to make intelligent decisions about group membership. The mobile network is not well suited to determine what devices should be grouped, when group membership should change, and when groups are no longer needed. Rather, service layer devices such as, for example, an SCS 212, are often better positioned to make such decisions. Applicants disclose herein systems and methods whereby service level systems such as SCSs dynamically coordinate with the core 3GPP mobile network to create, modify, and delete groups of MTC devices for purposes of receiving mobile network services. The SCS 212 provides the core network with information so that the core network can determine an efficient manner to provide the requested services.
It is highly likely that the service layer may want to create groups or modify the groups dynamically based on some condition or information available at the service layer. Some activities at the service layer or at the application layer may require the use of a group based service offered by 3GPP networks. Or the service layer may deem that it can perform certain services more efficiently if 3GPP group based services are used. For example, in an automated industry there may be a large number of M2M devices deployed to control and monitor the automation. The SCS 212 may want to create a group for all the sensors and controllers in a particular process area such as, for example, the electrical controllers in the assembly section so that a common command message may be delivered or a common policy may be enforced.
Similarly, when a sensor/M2M device is moved to another process area such as the packaging section, the SCS 212 may want to remove it from an existing group and add it to another group.
The M2M service layer platforms such as ETSIM2M service layer and the one M2M service layer support group operations. The M2M service layer group operations allow group operations to be performed on common services entities (CSEs), applications, devices, resources or on mixed types. The members of a group created at the service layer need not necessarily have a one to one correspondence with UEs. A group of applications or CSEs may be hosted on a single UE. For example a group of 40 applications may be hosted on 10 UEs. When a group operation is performed on this M2M group, a minimum of 10 different messages would be sent to each of the UEs. However if these UEs are grouped at the network layer, then a single message can be given to the 3GPP network and the network can employ a group communication method such as broadcasting or multicasting to deliver the message to 10 different UEs.
The groups and the group operations performed at the service layer and the network layer are different. The service layer groups (M2M groups) are formed at the service layer function/entity levels (CSFs, applications, URIs etc.) and the group operations that are performed will correspond to service layer procedures. The network layer groups do not directly correspond to service layer groups. The network layer groups are based on the group based services that are offered by the network and these groups are generally formed at the UE level. However it is also possible that the network layer groups are formed by including only a portion of the service provided to the UE. For example, a network layer group can be formed to control the DL-AMBR for a group of applications so that a group of applications do not exceed a maximum DL data rate. These applications can be hosted on different UEs. The network can configure a SDF template on each of the UEs to identify the traffic destined to that particular application and enforce the DL AMBR or other policies that are set for the application group. Hence only a portion of the traffic or only some applications on a UE 214 may be identified separately and be included in a group.
In order to utilize group based services offered by a 3GPP network, the service layer, e.g., SCS, has to first identify which network group based service that the service layer intends to use and the devices (UEs) and/or the affected portion of the service to those devices (e.g., SDFs, application IDs etc.) that are to be part of the group. Then the SCS 212 can make a request to the mobile network operation (MNO) indicating the group based service that is required and provide the list of devices and their related information for formation of the group. Group creation and the services to be provided for the group have to be coordinated between the service layer and the 3GPP network.
At block 262, the request is received at the network layer which, in an example scenario, may be a portion of the core network of a 3GPP network. The operations performed by the core network may be performed by any suitable machine or device that is part of the core network. In an example embodiment, the majority of processing relating to interfacing with the service layer and coordinating group functions is performed by a MTC-IWF 210 and/or HSS 116.
At block 264, the core network determines whether to authorize the use of the requested services by the particular service level system making the request, e.g., the SCS 212, and by the list of UEs 214 that is specified in the request.
At block 266, the core network determines which method should be employed for execution of the requested service(s). A group based service such as group messaging may be carried by the network using any of several different methods such as, for example, CBS based group messaging, MBMS based group messaging, etc. The core network selects a method for execution of the service based on the following criteria: subscription information of the identified UEs 214 and the requesting SCS 212; capabilities of the UEs 214; network condition (congestion/load on a CN node); and network policy.
Under some scenarios, the core network may also suggest that SCS 212 split the group and form sub groups. For example, if the SCS 212 requested a group to be created for group messaging and if the core network chooses the CBS method and finds that the devices are stationary and are distributed in two different LTE cells, then the core network may suggest that the SCS 212 to split the group into two. This can be beneficial for the core network and the SCS 212 as it will allow the core network to manage the group efficiently. For example, if the responses from devices in one of the subgroups are not received, then the SCS 212 can resend the message to only the relevant subgroup.
At block 268, the core network configures or provisions the identified UEs 214 using the selected method(s) and allocates one or more internal group identifier(s) associated with the provisioned service(s). The internal group identifiers are used within the core network to identify particular services and the UEs 214 associated with the service. The core network maintains the internal group identifiers for use in future processing and modification of the services.
At block 270, the core 3GPP network allocates and maintains one or more external group identifiers associated with the newly provisioned service(s). At block 272, the external group identifiers are communicated to the service level system that requested the services and is used in future communications with the service level during subsequent requests relating to the particular group service. The core network maintains a mapping of the external group identifiers to the internal group identifiers along with the UEs 214 that are associated with the internal group identifier(s).
Once a group is formed, the service level, e.g., the SCS 212, can then request that the service be implemented by providing the group ID(s), characteristics of the requested service, and information related to the provisioned service. Upon request, the core network, which may include an HSS 116 and MTC-IWF 210, carries out the requested service using the method that was chosen during the group allocation. The core network may also determine to use a different method for the execution of a group based service if the network condition has changed or if the characteristics of the requested service cannot be met with the method that was chosen during group creation. In some cases, the SCS 212 may directly perform an action on the group. For example, if a group was created for group messaging and if the SCS 212 has a direct link with the broadcast multicast—service center (BMSC) or the cell broadcast center (CBC) of the network, then the SCS 212 may directly send a group message to the BMSC or the CBC.
The SCS 212 may request to add or remove UEs 214 from the group. Accordingly, a group may be created without any members and the members added at a later time. The modification of the group can be accomplished either using dedicated group modification procedure or as part of other existing procedures (attach, TAU, detach etc.). It should also be appreciated that an SCS 212 can also request de-allocation/deletion of a group.
As discussed in detail below, the disclosed systems provide several new procedures, accessible on the Tsp 208 interface between the service layer, e.g., the SCS 212, and the network layer, e.g., MTC-IWF 210, for group creation, group management, and group servicing. The call flow for these procedures may differ depending upon whether the HSS 116 (which may be an HLR, UDR, SPR, HSS, or AAA Server) is made responsible for the group maintenance or whether the MTC-IWF 210 is responsible. In some embodiments, the HSS 116 is responsible for assigning group IDs, configuring the CN nodes, and the managing the groups. This approach may be used, for example, where the MTC-IWF 210 is implemented as a stateless entity. In other embodiments, the MTC-IWF 210 is responsible for assigning group IDs, configuring the CN nodes, and managing the group. Such an approach typically involves the MTC-IWF 210 maintaining information about the UEs 214 in the group and information about the serving nodes.
HSS Based Group Creation
Referring to
Referring to
Referring to
Referring to
Upon receiving the GPR message, the CN nodes 214 configure themselves for the service. As part of this process, a CN node may provision other CN nodes that are connected to it. For example an MME 114 may configure the wireless network base stations, e.g., evolved node Bs (eNBs), or the SGW 110 that are connected to it. The CN nodes store the local group ID allocated by the HSS 116 and may also pass it on to other nodes. The CN nodes may also explore the possibility of creating sub-groups (local groups) for the convenience of the CN and pass information about the sub-groups to HSS 116.
Referring again to
Upon receipt of the GPA messages from all of the CN nodes or after a timer expiry, the HSS 116 allocates an external group ID that is to be provided to the SCS 212. In one example embodiment, the HSS 116 may use the local group ID for creating the external group ID (localID@realm) or hide the local ID completely and allocate an external group ID and maintain the mapping to the local group ID.
Referring to
Referring to
In an example embodiment, the MTC-IWF 210 or HSS 116 may provision a DNS server with the external group ID. This allows the SCS 212 to use the services for the external group ID. For example, one SCS 212 may have created a group and passed the external group ID to other SCSs. If the other SCSs want to execute a service (e.g., send a group message) they may use the external group ID to find the appropriate MTC-IWF 210 and send the group message.
MTC-IWF Based Group Creation
Referring to
Referring to
In response to receiving the request, the MTC-IWF 210, based on the requirements of the requested service and other network status information, generates a list of candidate methods for executing the service. In some scenarios, there may be only one method for executing the service. The MTC-IWF 210 may also perform a mapping of the external group IDs to a list of UEs (if external group IDs were provided by the SCS 212 in the GCR message).
Referring again to
In response to the SIR request, the HSS 116 maps the external identifiers to internal identifiers (IMSI) and retrieves the subscription information of each of the UEs and the SCS 212. The HSS/HLR 116 determines whether the SCS 212 is authorized to form groups and to access the requested services. The HSS/HLR 116 also checks if the UEs can be authorized for the use of the requested group based service.
Referring to
Upon receipt of the message, the MTC-IWF 210 uses the received information, the condition of the network, and the contents of the GCR message (such as, for example, the requested service, characteristics of the service, number of UEs in the group, etc.) to determine a method for use in delivery of the service.
Referring to
Upon receiving the GPR message, the CN nodes configure themselves for the service. As part of this process, a CN node may provision other CN nodes that are connected to it. For example, an MME 114 may configure the eNBs or the SGW 110 that are connected to it. The CN nodes store the local group ID allocated by the MTC-IWF 210 and may also pass it on to other connected nodes. The CN Nodes may also explore the possibility of sub-groups (local groups) for the convenience of the CN and the MTC-IWF 210.
In the scenario wherein a group provisioning request is communicated to and received at a base station such as, for example, an eNB, the request may indicate, for example, that the eNB should be configured consistent with a defined grouping of machines for receiving services. More particularly, the provisioning request may comprise information identifying one or more machines that are comprised in a group of machines for receiving services and may further comprise an indication that the eNB configure itself to communicate with a group of machines including the one or more machines identified in the request. In response to the request, the eNB stores the information identifying the one or more machines comprised in the group of machines and configures itself to communicate with a group of machines including the identified one or more machines. In an example scenario, the eNB may update an existing grouping defined on the eNB that identifies machines that receive group communications from the eNB. After the eNB has configured the grouping thereon to accommodate the one or more machines identified in the group provisioning request, the eNB generates and transmits a response indicating the configuration is complete. Subsequent group communications initiated by the eNB may comprise communications with the one or more machines identified in the request.
Referring to
Referring to
Group Modification
In some instances, it may be desirable to modify the membership of a group, modify the services that are allotted for the group, or delete the group. This procedure may also be used for splitting or merging groups and can be initiated by the CN or the SCS 212. Under some circumstances, the modification of a group may leave the group empty (all the UEs/devices removed from the group). In some instances where a group does not contain any UEs, the group may not be deleted and the external group ID for the group maintained so as to allow for the addition of new members to the group at a later point in time. However, in some instances, it may be desired to actually remove the group. The group external group ID will be deleted if the GCR command type is set to DELETION_REQUEST.
SCS Initiated Group Modification
Referring to
Referring to
Referring to
Referring to
The CN nodes configure themselves and other relevant nodes connected to them based on the GPR message. Referring to
At step 6 of
At step 7 of
Referring to
Referring to
At step 3 of
At step 4, the HSS/HLR 116 generates and transmits the subscription information and its authorization response in a SIA message to the MTC-IWF 210. The answer may comprise information such as described above in connection with step 4 of
At step 5, the MTC-IWF 210 generates and transmits a GPR message to each of the affected CN nodes (those providing the group services and the new CN nodes that need to be provisioned) about the modifications in the group members and/or the services required. The CN nodes configure themselves and other relevant nodes connected to them based on the GPR message.
At step 6, the CN nodes generate and transmit a GPA message to the MTC-IWF 210 providing information about the success or failure of the group provisioning.
At step 7, the MTC-IWF 210 prepares and transmits a GCA message to inform the SCS 212 about the success or failure of the group modification procedure.
CN Initiated Group Modification
According to another aspect of the disclosed systems and methods, the core network (CN) may initiate a group modification procedure based on network conditions or events. For example, if a UEs subscription is withdrawn, or a UE 214 is detached, deactivated, or roams to another network or to another access type, or if the UE 214 attaches or activates a PDN or returns back to the HPLMN, the CN may initiate the addition or removal of the from the group.
In another example scenario wherein the CN may initiate group modification, the core network may alter the allotted services for a group in response to detecting congestion on the network. With respect to such a group modification, certain events may be handled by HSS/MTC-IWF and may not be reported to SCS 212. For example if a CBS node is congested and the HSS/MTC-IWF had earlier selected CBS method for group message delivery, then the CBS may internally choose another message delivery method for the group and may not report the event to the SCS 212. However if the service requirements cannot be satisfied with other methods, then the HSS/MTC-IWF may either request that the SCS 212 alter the service requirements or delete the group.
During group creation as described above, the HSS/MTC-IWF may explicitly configure the CN nodes about the events that will require group modifications. The HSS/MTC-IWF configures the CN nodes (using GPR/GPA procedures) about the events that the CN nodes should monitor and report to the HSS/MTC-IWF. Based on the event notifications from the CN nodes or from other events and procedures where the HSS/MTC-IWF is involved, the HSS/MTC-IWF determines if a group modification is necessary. If a group modification is needed, the HSS/MTC-IWF initiates the group modification procedure. The HSS/MTC-IWF can also communicate the occurrence of the event (e.g., UE detach) to the SCS 212 and let the SCS 212 determine if group modification is needed. This approach of HSS/-MTC-IWF providing the event notification to SCS 212 is described below in connection with
The events that the CN nodes monitor for depends on the group based service that the group has been subscribed for and the method that is selected for executing the group based service. The table below lists some of the events and the particular CN node that typically monitors that event. Many of the events are monitored by the HSS 116, in which case the HSS 116 reports the event to MTC-IWF 210 in the ‘MTC-IWF based group management’ method. The events listed below are not an exhaustive list and there may be other events that may need to be monitored. The HSS/MTC-IWF can trigger the group modification based on any event notification from any of the CN nodes.
HSS Based CN Initiated Group Modification
In an example embodiment of group modification initiated by the core network, the HSS 116 is primarily responsible for implementing the modifications to the groupings.
As shown, at step 1, a core network (CN) node detects an event, procedure, or operator provisioning in the core network. The events may be a UE related event such as an attach/detach event or a network related event such as the existence of network congestion. Where the event is one for which the core network nodes have been configured to monitor for (see table above), CN node generates and transmits a group event notification to the HSS 116.
In response to detecting the event, at step la, the core network generates and transmits a Group Event Notification Request (GEN) message to the HSS 116. At step lb, the HSS 116 sends a Group Event Notification Answer (GEA) message to acknowledge the receipt of the GEN message.
In response to receiving the GEN message, the HSS 116 determines the modifications that are necessary for the group. The HSS 116 may apply policies that have been defined in the network to determine the modifications that are needed. The policies/subscription may define if the CN is allowed to make modifications to the group. For example, the policies may define group owners (MNO or the SCS 212) for which modification is allowed, the level of modification that can be made (addition/deletion of UEs/Services), when to make the modification (events), the method selection criteria, etc.
Referring to
In response to receiving the GPR messages, each of the impacted nodes implements the requested service provisioning. Referring to
In response to receiving the GPA messages, the HSS 116 determines whether or not to inform the SCS 212. In an example embodiment, if only the method of executing a service has changed, the HSS 116 may choose not to inform the SCS 212. Similarly, in an example embodiment, if the group members and the service offered have changed, then the HSS 116 may inform the SCS 212.
In the scenario wherein the HSS 116 determines the SCS 212 should be informed, as shown at step 4, the HSS 116 generates and transmits a Group Management Notification Request (GMQ) message to the MTC-IWF 210. The message contains the modifications and/or group related notifications that require communication to the SCS 212.
At step 5, the MTC-IWF 210 generates and transmits a Group Notification Request (GNR) message to the SCS 212 indicating the modifications made to the group. In an example embodiment, the message contains a list of devices (external identifiers) that were removed or added and the list of services that have been added, reconfigured (characteristics change), or removed. In response to receiving the message, the SCS 212 may configure the service layer as needed.
Once the service layer configuration for the group modification is complete, at step 6, the SCS 212 sends a Group Notification Answer (GNA) GNA message to the MTC-IWF 210.
At step 7, the MTC-IWF 210 prepares a message communicating the information to the HSS 116 in a Group Management Notification Answer (GMN) message.
Those skilled in the art will appreciate that while the above processing involved the HSS 116 transmitting a group modification message to the SCS 212 via the MTC-IWF 210, other alternatives methods of processing may be used. For example, the message may be sent directly to the SCS 212 via the Mh interface as opposed to via the Tsp interface 208.
In the embodiment described in connection with
HSS Based CN Triggered, SCS Initiated Group Modification
Generally, the processing operates similarly to that described in connection with
On the Fly Group Membership Control
As described above, the addition and deletion of UEs into a group can be performed along with some existing UE level procedures by involving the SCS 212. But some UE level procedures such as, for example, Attach and TAU, do not involve the SCS 212. The SCS 212 may learn about a UE event (e.g., an area/location change) from user plane level procedures or from notifications from the CN (as described above in connection with
In some instances, the group modification can be made efficient by involving/informing the SCS 212 during some UE level procedures. If the SCS 212 determines that a group modification should be implemented, the CN nodes can be configured as part of the UE level procedure without invoking a separate procedure. Accordingly, group modification is accomplished on the fly instead of invoking a dedicated group modification procedure. For example, if group messaging method is used where the eNB allocates a common Group-CRNTI to the UEs of a group, and if the SCS 212 is involved during UEs attach, when the SCS 212 determines that the UE 214 should be added to a group, the HSS 116 can configure/notify the MME and the MME can configure the eNB so that the eNB adds the UE 214 to the Group-CRNTI and informs the group-CRNTI of the UE 214 as part of the attach procedure (probably in the RRC message that carries the Attach Accept). In an example scenario, the eNB may receive a request to configure itself as described above in connection with
A benefit of embedding group information with other procedures is that the group information and the CN node configuration is done on the fly as part of an existing procedure instead invoking a separate dedicated procedure mentioned above in connection with
On the Fly Group Membership Control with Attach Procedure
If the CN determines that an SCS 212 should be informed about a UE Attach procedure, then the SCS 212 may provide the grouping information for the UE 214 in its response to the attach notification. The serving nodes (i.e., MME/SGSN) can configure themselves for the group services for which the UE 214 is associated and also use the same attach procedure to configure other nodes that are involved in the attach procedure, such as the eNB/RNC.
On the Fly Group Membership Control with Attach Procedure—HSS Based
Referring to
At step 3, the MTC-IWF 210 generates and transmits an M2M Attach Request notification to the SCS 212. In an example embodiment, the request comprises the external ID and the current grouping information of the UE. In an example scenario, the SCS 212 may determine, based on its application layer functions, that the UE's grouping information needs to be updated. For example, the SCS 212 may determine to add the UE 214 to a group or remove it from a group.
At step 4, the SCS 212 generates and transmits an M2M Attach Response message comprising the updated grouping information for the UE 214 to the MTC-IWF 210. The message may comprise, for example, the External Group ID(s) to which the UE 214 should be added and/or the External Group IDs from which the UE 214 should be removed.
At step 5, the MTC-IWF 210 relays the grouping information to the HSS 116 if the SCS 212 has provided updated grouping information. This step is optional if the SCS 212 has not indicated any changes to the UE's grouping information.
At step 6, if the UE 214 is to be added or removed from a group, then the HSS configures other CN nodes substantially as described above in connection with
At step 7, the HSS 116 sends a response to the MTC-IWF 210 indicating that the group modification for the UE 214 is complete. If the serving node has to be configured, then the HS S 116 may include a transparent information element (IE) containing the group service and configuration information for the serving node that is to be forwarded to the serving node by the MTC-IWF 210.
At step 8, the MTC-IWF 210 generates and transmits an M2M Attach Response message comprising the grouping information and the transparent IE from the HSS 116. In an example scenario, if the UE 214 is added to a group that uses T5 based group messaging, then the transparent IE may contain the local group identifier to be used for identifying the group at T5 interface, the characteristics of the group bearer that needs to be established at the eNB, etc.
At step 9, the serving node configures itself and the other related nodes for the updated grouping information. For example, if the UE 214 is added to a group which uses T5 based group messaging, the MME may allocate a Group M-TMSI or add the UE 214 to be a part of the Group M-TMSI and notify the eNB about the grouping information. The eNB may allocate a Group-CRNTI to enable group messages to be sent with the G-CRNTI.
On the Fly Group Membership Control with Attach Procedure—MTC-IWF Based
The serving nodes can learn the UE's External ID and the subscription information of the UE 214 and the SCS(s) to be informed from the HSS/HLR as part of the ULA (Update Location Answer) or the ISD (Insert Subscriber Data) messages that are sent during the attach procedure. The ULA and ISD messages on the S6a and Gr interfaces may be enhanced to include this information.
At step 2, the serving nodes generate and transmit an M2M Attach Request to the MTC-IWF providing the External ID of the UE, the SCS IDs of the SCS(s) that are to be informed about the device attach, and the subscription information of the UE 214 and the SCS(s) that are to be informed. Alternatively, just the IMSI of the device may be provided.
At step 3a, the MTC-IWF 210 generates and transmits a Subscription Information Retrieval message if the received M2M Attach Request message contains just the IMSI of the device. The MTC-IWF 210 queries the HSS 116 and retrieves the External ID of the UE, SCS ID(s) that are to be informed, and the subscription information of the UE 214 and the SCS(s). At step 3b, the HSS 116 returns the requested information.
At step 4, the MTC-IWF 210 generates and transmits an M2M Attach Request notification to the SCS 212 and provides the External ID and the current grouping information of the UE.
In response, in an example scenario, the SCS 212 may determine, based on its application layer functions that the UE's grouping information needs to be updated. The SCS 212 may want to add the UE 214 to a group or remove it from a group.
At step 5, the SCS 212 generates and transmits an M2M Attach Response message that comprises the updated grouping information for the UE. It may list the External Group ID(s) to which the UE 214 should be added and/or the External Group ID(s) from which the UE 214 has to be removed.
At step 6, the MTC-IWF 210 may use the subscription information retrieved at step 3 and authorize the SCS 212 and the UE 214 for the use of the requested group services. If authorized, the MTC-IWF 210 may configure other relevant CN nodes as described above in connection with
At step 7, the MTC-IWF 210 generates and transmits an M2M Attach Response message to the serving node containing the updated grouping information and any necessary group provisioning information for the serving nodes. For example, if the UE 214 is added to a group that uses T5 based group messaging, then the message may contain the local group identifier to be used for identifying the group at T5 interface, the characteristics of the group bearer that needs to be established at the eNB, etc.
At step 8, the serving node configures itself and the other related nodes for the updated grouping information. For example, if the UE 214 is added to a group which uses T5 based group messaging, the MME may allocate a Group M-TMSI or add the UE 214 to be a part of the Group M-TMSI and notify the eNB about the grouping information. The eNB may allocate a Group-CRNTI to enable group messages to be sent with the G-CRNTI.
On the Fly Group Membership Control with TAU Procedure
During a TAU procedure (that is either executed separately or as part of handover procedure), if the CN determines that an SCS 212 should be informed (based on subscription or event monitoring request from the SCS), then the SCS 212 may provide the grouping information of the UE 214 in its response. Serving nodes such as, for example, MME/SGSN, may also configure themselves for the group services with which the UE 214 is associated and use the same TAU procedure to configure other nodes that are involved, such as the eNB/RNC.
On the Fly Group Membership Control with TAU Procedure—HSS Based
At step 13 depicted on
At step 14, the MTC-IWF 210 forwards the TAU Notification Request message to the appropriate SCS. The message comprises the old TAI, a new TAI, the External ID of the UE, and the current grouping information of the UE. The MTC-IWF 210 may also translate the TAI to a geographical area representation that can be understood by the SCS 212. In response to receiving the message, the SCS 212 may determine, based on its application layer functions, if the UE's grouping information needs to be updated. Depending upon the circumstances, the SCS 212 may want to add the UE 214 to a group or remove it from a group. For example, the UE's group ID may need to be changed due to the change in location.
At step 15, which appears on
At step 16 of
At step 17, the HSS 116 configures other CN nodes as necessary using the procedure described above in connection with
At step 18, the HSS 116 generates and transmits a Cancel Location message to the old MME/S4-SGSN. The message comprises the updated grouping information of the UE. In an embodiment, the Cancel Location message may be enhanced to carry the grouping information of the UE. The old MME/S4-SGSN configures itself based on the received grouping information.
Steps 19-21 correspond to steps 14-16 of section 5.3.3.1 in 3GPP TS 23.401.
At step 22 of
Step 23-26 comprise processing substantially as described in steps 14-16 of section 5.3.3.1 in 3GPP TS 23.401. However, according to one aspect of an embodiment, some steps such as, for example, TAU Accept may be enhanced to configure the relevant nodes for the updated grouping information such as the use of a Group-CRNTI in the eNB.
On the Fly Group Membership Control with TAU Procedure—MTC-IWF Based
At step 17, which is depicted on
At step 18, of
At step 19, the MTC-IWF 210 may perform a Subscription Information Retrieval procedure if the new MME provided did not provide the subscriber information in the TAU Notification Request. The MTC-IWF 210 queries the HSS 116 and retrieves the External ID of the UE, SCS ID(s) that are to be informed and the subscription information of the UE 214 and the SCS(s).
At step 20, the MTC-IWF 210 sends the TAU Notification Request to the SCS 212. In an example embodiment, the message comprises the old TAI, a new TAI, the External ID of the UE, and the current grouping information of the UE. The MTC-IWF 210 may also translate the TAI to a geographical area representation that can be understood by the SCS 212. According to one aspect of a potential embodiment, the SCS 212 may determine, based on its application layer functions, if the UE's grouping information needs to be updated. The SCS 212 may add the UE 214 to a group or remove it from a group. For example, the UE's group ID may be changed due to its change in location.
At step 21, the SCS 212 generates and transmits a TAU Notification Response message to the MTC-IWF 210. The message comprises the updated grouping information for the UE. In an example embodiment, the message may list the External Group ID(s) to which the UE 214 should be added and/or the External Group Ids from which the UE 214 has to be removed.
At step 22, the MTC-IWF 210 may use the subscription information retrieved in step 19 and authorize the SCS 212 and the UE 214 for the use of the requested group services. If authorized, the MTC-IWF 210 may configure other relevant CN nodes as described above in connection with
At step 23 of
Steps 24-26 comprise processing substantially as described in steps 14-16 of section 5.3.3.1 in 3GPP TS 23.401. However, according to one aspect of a potential embodiment, some steps such as, for example, TAU Accept may be enhanced to configure the relevant nodes for the updated grouping information such as, for example, the use of a Group-CRNTI in the eNB.
Group Based Services Execution
Once a group is formed either dynamically or through pre-determined means, the SCS 212 can then make use of the group based services by providing the group ID(s), characteristics of the requested service, and information related to the availed service to the network layer. If requested to execute a service, the MTC-IWF 210 carries out the requested service using the method that was chosen during the group allocation. In some circumstances, the MTC-IWF 210 may determine to use a different method if the network condition has changed or if the characteristics of the requested service cannot be met with the method that was chosen during group creation. In some scenarios, the group services may also be directly executed by the SCS 212 without contacting the MTC-IWF 210. For example, the direct execution of a group service is possible for certain types of group based services (e.g., group messaging) provided the SCS 212 has direct links with the necessary nodes (e.g., CBC, BMSC etc.).
Depending upon the provisioning of the core network, the degree to which the HSS 116 and the MTC-IWF 210 are involved in executing a service may vary.
HSS Based Group Services Execution
At step 2, the MTC-IWF 210 generates and transmits a GHR (Group Handling Request) message to the HSS 116 in order to transmit information about the delivery/handling of this service request. In an example scenario, the message comprises the information received in the preceding GAR message. Depending on the service being requested, the MTC-IWF 210 may not pass the data portion to the HSS 116. For example if group messaging is requested, then the MTC-IWF 210 need not pass the actual message contents to the HSS 116. Rather, it may just pass the details/characteristics of the service.
Upon reception of the GHR message, the HSS 116 may select one of the methods that was previously configured for the group during the group creation stage, or the HSS 116 may re-evaluate (based on policies) the method for executing the service. The HSS 116 uses the characteristics of the requested service and the current network condition to make this decision. If any of the methods that was chosen during the group creation stage is not sufficient to carry out the service, or if the network condition is not capable to support the method, then the HSS 116 may choose a different method to execute the service. The HSS 116 may also choose a different method if none of the configured methods for the group is suited for the execution of the service.
In an example embodiment, during group creation, the group may have been configured for a T4 (SMS based) method or a T5 (control plane based) method for a group message delivery. If the current group messaging characteristics is such that a large amount of data at a high data rate needs to be delivered, then the HSS 116 may determine to choose a different method such as one, for example, that employs the user plane for the delivery.
In an example embodiment, the HSS 116 may also determine to reject the GAR if the requested characteristics cannot be serviced or if the MNO policy does not allow a method re-selection.
In the scenario wherein one of the already configured methods is chosen, the HSS 116 may also determine whether the CN nodes for that method need to be re-configured to handle the characteristics provided in the GAR message. For example, if a user plane method was configured during group creation time to carry out group messaging service, and if the current characteristics require a higher data rate to be supported, then the HSS 116 may re-configure the PGW with the new QoS value to be used for the user plane tunnel(s).
At step 3, the HSS 116 generates and transmits a GPR (Group Provisioning Request) message to all the CN nodes that have to be configured (for the new method) or reconfigured in order to handle the new characteristics of the service.
At step 4, the CN nodes send a GPA (Group Provisioning Answer) message to the HSS 116.
At step 5, the HSS 116 generates and transmits a GHA (Group Handling Answer) message to the MTC-IWF 210 that contains details about the serving nodes to be contacted by the MTC-IWF 210 for the execution of the service. In some scenarios, particular services that are related to provisioning (e.g., policy or charging related services) may have already been addressed by the HSS 116 (as part of the GPR/GPA procedure), in which case, the HSS 116 may not include any serving node information. The HSS 116 may indicate that the service has been executed and the MTC-IWF 210 can skip the next two steps and send the GAA to the SCS 212.
At step 6, the MTC-IWF 210 generates and transmits a GSR (Group Servicing Request) message to the serving nodes provided by the HSS 116. In an example embodiment, the MTC-IWF 210 includes in the message the service data to be delivered or handled by the serving nodes. The MTC-IWF 210 may also include parameters for executing the service and reporting back to the MTC-IWF 210, including, for example, the time period for executing the service, the number of attempts that may be made to deliver the service, the time period for sending the report back to MTC-IWF 210, format for the report, etc.
In response to the messages, the serving nodes carry out the service as specified in the GSR message and collect data related to the service execution for reporting to the MTC-IWF 210.
At step 7, the serving nodes generate and transmit a GSA (Group Servicing Answer) message to the MTC-IWF 210 that contains a report about the service execution. For example, the message may contain the number of UEs that received a group message or the geographic areas or tracking areas in which a message was broadcasted and the success/failure of the provisioning.
Upon receipt of the messages from the serving nodes, the MTC-IWF 210 collates the reports from all the GSA messages and prepares a summary report to be sent to the SCS 212.
At step 8, the MTC-IWF 210 generates and transmits a GAA (Group Action Answer) containing the report about the execution of the service by the CN to the SCS 212.
MTC-IWF Based Group Services Execution
Upon receipt of the message, the MTC-IWF 210 chooses one of the already selected methods to execute the service or decides to use a different method. The criteria for the method selection are the same as described above in connection with step 2 of
At step 2, the MTC-IWF 210 generates and transmits a SIR message to the HSS 116 to retrieve the serving nodes and subscription information of SCS 212 and UEs. This step is optional and, in an example embodiment, may be performed only if a new method was chosen for service execution.
At step 3, the HSS 116 generates and transmits an SIA message comprising the authorization information for the SCS 212 and the UEs in order to utilize the method that was chosen by the MTC-IWF 210. The message also contains the serving node information for the method that was chosen.
At step 4, the MTC-IWF 210 generates and transmits a GPR (Group Provisioning Request) message to all the CN nodes that have to be configured (for the new method) or reconfigured to handle the new characteristics of the service.
At step 5, the CN nodes generate and transmit a GPA (Group Provisioning Answer) message to the MTC-IWF 210. Certain services that are related to provisioning (e.g., policy or charging related services) may get completed at this point and for these types of services the MTC-IWF 210 may skip the next two steps and send the GAA to the SCS 212.
At step 6, the MTC-IWF 210 generates and transmits a GSR (Group Servicing Request) message to all the serving nodes that need to execute the service. The processing is similar to that described above in connection with step 6 of
At step 7, the serving nodes generate and transmit a GSA (Group Servicing Answer) message to the MTC-IWF 210 that contains a report about the service execution. The processing is similar to that described above in connection with step 7 of
At step 8, the MTC-IWF 210 generates and transmits a GAA (Group Action Answer) message containing the report about the execution of the service by the CN. The processing is similar to that described above in connection with step 8 of
One M2M refers to a functional architecture for machine to machine communications.
Service functions provided by the common services layer that are common to the one M2M environment are referred to as Common Service Functions (CSFs).
Referring to
Grouping enables the one M2M System to perform bulk operations to multiple devices, applications, or resources. The GMG CSF 1610 manages the resources and operations associated with grouping. For example, the GMG CSF 1610 handles requests to create, query, update, and delete a group. An application or a CSE may request the creation/retrieve/update/deletion of a group as well as the addition and deletion of members of the group. The GMG CSF 1610 is able to create one or more groups in CSEs in any of the nodes in a one M2M system for a particular purpose (i.e. facilitation of access control, device management, fan-out common operations to a group of devices, etc.).
Referring again to
Different procedures have been defined in one M2M for managing the groups at the service layer. These procedures are used for managing membership verification, creation, retrieval, update and deletion of the information associated with a <group>resource as well as the bulk management of all group member resources by invoking the corresponding verbs upon the virtual resource members of a <group>resource. The table below summarizes the group management procedures used in one M2M.
Accordingly, there are different procedures that are used in the M2M service layer to form service layer groups and perform different operations on the groups such as, for example, updating the group by adding/removing members to the group. The groups that are formed at the M2M service layer are based on the M2M service layer functions and these groups may be a group of devices, applications, CSEs etc. The operations performed on these groups correspond to the M2M service layer procedures. It is the responsibility of the M2M service layer to determine how it can utilize the network layer group management functions that are described above in connection with
Other service layer group procedures may also result in the execution of the network layer group management procedure. The following table summarizes the correlation between various service layer group management procedures and the network layer group management procedures.
The Network layer group management functions can also be invoked by the NSSE based requests from other CSFs or based on operator provisioning at the service layer.
Applicants disclose systems and methods for generating and managing groups of devices for purposes of executing network level services. The concepts presented herein may be applied to different network types including personal area networks. The procedures that are defined herein are particularly well suited for personal area networks that use a PAN Coordinator. Examples of such networks are 802.15.4 based networks such as ZigBee and 6LoWPAN.
The ASN 1810 uses the Mcn interface 1530 to request that the PAN Coordinator 1820 create a group of devices. For example the group may be used to multi-cast messages to a sub-set of the devices in the network or broadcast messages to all devices in the group.
Referring to
At step 2, the ASN 1810 generates and transmits a Group Create Request to the PAN Coordinator 1820. The fields of the message may be similar to those described herein in connection the Group Control Request message (GCR) with GC-Request-Type AVP set to the value “INITIAL_REQUEST.”
At step 3, the PAN Coordinator 1820 uses the APSME-ADD-GROUP.request primitive to update its internal ZigBee Group Management Object with the details of the newly formed group.
At step 4, the ZigBee Group Management Object responds with the APSME-ADD-GROUP.confirm to indicate that the group has been formed.
At step 5, the PAN Coordinator 1820 uses the APSME-ADD-GROUP.request primitive to update the ZigBee Group Management Objects of each device that is part of the group.
At step 6, the ZigBee Group Management Objects respond with the APSME-ADD-GROUP.confirm to indicate that the group has been formed.
At step 7, the PAN Coordinator 1820 communicates the external group identifier and the service related parameters to the ASN 1810. In an example embodiment, the fields of the message are similar to what is provided in the Group Control Answer message (GCA).
Those skilled in the art will appreciate that while
According to one aspect of the disclosed systems and methods, several new messages are described as being accessible between the service layer and network layer at the Tsp interface 208 in order to support the described procedures for group based services.
The described messages and the information in these messages may be used on the Mh interface if the group management between HSS 116 and the SCS 212 is done over the Mh interface. In such a scenario, the group action messages GAR and GAA might not be applied on the Mh interface because the group action is done over the Tsp interface 208.
The following tables lists the commands and codes described herein in connection with the systems and methods for group creation and management.
GCR—Group Control Request
The GCR command is sent by the SCS 212 to the MTC-IWF 210 as part of SCS initiated group creation procedure described above in connection with
The table below lists the attribute value pairs (AVPs) in the GCR message that may be sent during different procedures.
The contents of the GCR message depend on the request type and the procedure for which it is used.
In an example embodiment, during the group modification procedure the ‘Group-Service-Details’ attribute value pair (AVP) can be used to request the addition of a new service or to provide a change in the characteristics of an existing service. Upon receiving this message, if the CN finds that the group being modified has already subscribed to the service mentioned in a ‘Group-Service’ AVP, then the CN updates the characteristics for that service and chooses a different method for executing the service.
In an example embodiment, the ‘External-Group-Identifier’ AVP becomes a mandatory AVP in the group modification procedure and should not be included during the group creation procedure.
The ‘GC-Request-Type’ AVP is set to ‘INITIAL_REQUEST’ when the SCS 212 initiates the GCR message for group creation and is set to ‘MODIFICATION_REQUEST’ when the SCS 212 sends the GCR for modifying group attributes.
GCA—Group Control Answer
In an example embodiment, the GCA command is sent by the MTC-IWF 210 to the SCS 212 as part of SCS initiated group creation procedure described above in connection with
The message may include the following AVPs:
The ‘Group-Services’ AVP contains the list of services that were accepted by the CN and the characteristics of the services that were accepted.
GNR—Group Notification Request
The GNR command is sent by the MTC-IWF 210 to the SCS 212 as part of CN initiated group modification procedure as described above in connection with
The message may include the following AVPs:
The ‘Group-Service-Details’ AVP contains the list of services that were modified or added by the CN to the group and the characteristics of the services modified/added.
The ‘Supported-Features’ AVP can be used to indicate the available group based services to the SCS 212.
GNA—Group Notification Answer
The GNA command is sent by the SCS 212 to the MTC-IWF 210 as part of the CN initiated group modification procedure as described above in connection with
The message may include the following AVPs:
The ‘Result-Code’ AVP is used to indicate the success or failure of the group modification at the service layer.
GRN—Group Related Event Notification Request
The GRN command is sent by the MTC-IWF 210 to the SCS 212 as part of the alternative CN initiated group modification procedure, described above in connection with
The message may include the following AVPs:
The ‘Group-Service-Details’ AVP may be used to indicate the changes needed to the already subscribed services.
GRA—Group Related Event Notification Answer
The GRA command is sent by the SCS 212 to the MTC-IWF 210 as part of the alternative CN initiated group modification procedure, described above in connection with
The message may include the following AVPs:
GAR—Group Action Request
The GAR command is sent by the SCS 212 to the MTC-IWF 210 as part of the group services execution procedure which is described above in connection with
The message may include the following AVPs:
The GAA command is sent by the MTC-IWF 210 to the SCS 212 as part of the group services execution procedure described above in connection with
The message may include the following AVPs:
Proposed New AVPs for the Tsp Interface
In an example embodiment, several Diameter attribute value pairs (AVPs) are defined for use in group based procedures on the Tsp reference point 208, including their types and possible flag values. The following chart provides a listing of AVPs that might be used in connection with the group processing described herein. Following the list is a more detailed explanation of each of the identified AVPs.
External-Group-Identifier
The External-Group-Identifier AVP is of type UTF8String, and contains an external group identifier for the group. The External Group Identifier has the form groupname@realm as specified in clause 2.1 of IETF RFC 4282, the contents of which are hereby incorporated herein by reference in their entirety, and have the same principles as MTC external identifiers defined in 3GPP TS 23.682, the contents of which is hereby incorporated herein by reference in its entirety. The definition for external group identifiers is discussed in 3GPP TR 23.887, the contents of which are hereby incorporated by reference herein in their entirety.
GC-Request-Type
The GC-Request-Type AVP is of type Enumerated and is used by the SCS 212 to indicate the reason for which the GCR message is initiated.
The following values are defined:
GC-Request-Number
The GC-Request-Number AVP is of type Unsigned32 and identifies this request within one session. An SCS 212 or MTC-IWF 210 can initiate multiple group based procedures simultaneously without waiting for a previous procedure to complete. The GC-Request-Number AVP is used to match the response to the corresponding request.
For example, in an example scenario, the SCS 212 may initiate a group creation procedure simultaneously to create multiple groups by sending the GCR message with GC-Request-Number set to different values. The MTC-IWF 210 ensures that the respective GCA message have the GC-Request-Number set to the same value received in the respective GCR message.
Alternately the ‘Reference-Number’ AVP defined in clause 6.4.8 3GPP TS 29.368, the contents of which are hereby incorporated herein by reference, may be re-used.
Group-Members
The Group-Members AVP is type Grouped and is used to denote the members belonging to a MTC external group. It can contain multiple instances of individual MTC external identifiers and/or multiple instances of external group identifiers.
The message may include the following AVPs:
External-Id
The External-Id AVP is of type UTF8String and contains an external identifier of the UE. 3GPP TS 23.003, the contents of which are hereby incorporated by reference herein in their entirety, provides information regarding the definition and formatting of the external identifier.
Group-Service-Details
The Group-Service-Details AVP is of type Grouped and contains the details about a group based service. It contains the service ID and the characteristics of the service.
The message may include the following AVPs:
Group-Service-Id
The Group-Service-Id is of type Enumerated and indicates a 3GPP offered group based service.
The following values are defined:
Service-Characteristics
The Service-Characteristics AVP is of type Grouped and defines the characteristics of a service being offered/requested. It is similar to a QoS to the group based service.
The message may include the following AVPs:
Group-Messaging-Characteristics
The Group-Messaging-Characteristics AVP is of type Grouped and contains the service characteristics of the group messaging service.
The message may include the following AVPs:
Group-Charging-Policy-Characteristics
The Group-Charging-Policy-Characteristics AVP is of type Grouped and contains the characteristics of the group charging and policy control feature.
The message may include the following AVPs:
Group-Actions-Monitoring-Characteristics
Group-Actions-Monitoring-Characteristics AVP is of type Grouped and contains the characteristics of the group based monitoring and actions service.
The message may include the following AVPs:
Group-Message-Type
The Group-Message-Type AVP is of type Enumerated and denotes the purpose for group messaging.
The following values are defined:
Other values can be added as per agreements between the service provider and the operator.
Group-Messaging-Data-Rate
The Group-Messaging-Data-Rate AVP is of type Unsigned32 and denotes the data rate, in number of bytes per second format, for the messaging service. It is relevant to particular type of messaging such as ‘downlink streaming’.
Group-Messaging-Frequency
The Group-Messaging-Frequency AVP is of type Unsigned32 and provides the number of messages (packets) that have to be sent in the downlink for a messaging service. This value is denoted in number packets per hour format. It may be relevant to ‘device triggering’ and ‘short messaging’ kind of services.
GM-Repetition
The GM-Repetition AVP is of type Unsigned32 and indicates the number of times a particular message has to be repeated or re-broadcasted. Certain messaging needs such as device triggering may require that the message be repeated to increase probability of maximum number devices receiving the message.
GM-Repetition-Interval
The GM-Repetition-Interval AVP is of type Unsigned32 and provides the interval duration, in seconds, between successive messaging repetitions.
GM-Maximum-Delay-Tolerance
The GM-Maximum-Delay-Tolerance AVP is of type Unsigned32 and provides the maximum amount of time that can be delayed before the delivery of a message. It is provided in the unit of seconds with a value of zero indicating immediate delivery. This attribute helps the core network in optimizing the message delivery mechanism and in scheduling the message delivery. This attribute is helpful in minimizing the effects during congestion periods.
GM-Response-Expected
The GM-Response-Expected AVP is of type Enumerated and indicates whether or not the SCS 212 is expecting a response from the UEs for the group message. This attribute helps the core network to prepare its resources to handle the uplink messages from the UEs. The core network can broadcast the downlink group message at different times in different cells/areas (as allowed by the GM-Maximum-Delay-Tolerance) or it can include a timer value and request the UEs to randomly choose a time within the time period for sending their response messages.
The following values are defined:
GM-Priority
The GM-Priority AVP is of type Unsigned32 and indicates the priority of the group message. Certain warning messages and update messages from the SCS 212 may be critical and the SCS 212 may want the core network to provide a higher priority and choose a reliable method for the delivery of these messages.
A lower value indicates higher priority.
Roamers-Inclusion
The Roamers-Inclusion AVP is of type Enumerated and indicates if the MTC-IWF 210 should make an attempt to deliver the messages or execute or configure the services for the UEs that are not currently being served by the Home-PLMN.
GCP-Type
The GCP-Type AVP is of type Enumerated and provides the purpose of for the group charging and policy service.
The following values are defined:
GAM-Type
The GAM-Type AVP is of type Enumerated and provides the purpose for the group actions and monitoring service.
The following values are defined:
Sub-Grouping-Indication
The Sub-Grouping-Indication AVP is of type Grouped and is used by the SCS 212 to indicate that the CN can perform sub-grouping if required.
The message may include the following AVPs:
Number-Of-Sub-Groups
The Number-Of-Sub-Groups AVP is of type Unsigned32 and indicates the maximum number of sub groups that the CN can create.
Minimum-SubGroup-Members
The Minimum-SubGroup-Members AVP is of type Unsigned32 and indicates the minimum number of UEs that should be present in each of the sub groups that is formed.
Sub-Group-Information
The Sub-Group-Information AVP is of type Grouped and is used by the CN to provide information related to the sub groups that were formed. It contains the external group Id of the sub group, its member list and the services configured for the sub group.
The message may include the following AVPs:
Suggested-Group-Identifier
The Suggested-Group-Identifier AVP is of type UTF8String and is used by the SCS 212 during the group creation procedure to suggest to the CN to assign a specific external group Id to the group. This AVP may be formatted similar to the External-Group-Identifier AVP and of the format ‘groupname@realm’ or it may just contain the ‘groupname’ portion.
One scenario where the SCS 212 can suggest an external group ID is when the SCS 212 has deleted a group and sometime later if it wants to create the same group, then it may suggest the CN to assign the same external group ID.
Suggested-New-Member
The Suggested-New-Member AVP is of type Grouped and is used by the CN in the GRN (alternate CN initiated group modification procedure as discussed in connection with
AVP Format:
The message may include the following AVPs:
Unavailable-Member
The Unavailable-Member AVP is of type Grouped and is used by the CN in the GRN (alternate CN initiated group modification procedure discussed in connection with
The message may include the following AVPs:
Unavailable-Service
The Unavailable-Service AVP is of type Grouped and is used by the CN in the GRN (alternate CN initiated group modification procedure discussed in connection with
The message may include the following AVPs:
Device-State*
The Device-State AVP is of type Enumerated and provides the status of a UE 214 to the SCS 212. It may have the following values:
Service-Payload
The Service-Payload AVP is of type Grouped and is used by the SCS 212 to provide the payload for the service that it wants to be executed. The payload may be data that needs to be sent to the UE 214 or some information to the core network related to a group based service.
The message may include the following AVPs:
Multiple instances of the Actions-Monitoring-Payload AVP may be present in a message to provide multiple monitoring/action events.
Group-Messaging-Payload
The Group-Messaging-Payload AVP is of type OctetString and contains the payload (the message contents) that needs to be sent to the UEs in the group. The contents may be most probably an IP packet.
Policy-Charging-Payload
The Policy-Charging-Payload AVP is of type Grouped and is used by the SCS 212 to provide the payload for the group charging and policy service. This AVP contains information about the group policy rules and charging characteristics that are to be enforced for a group.
The message may include the following AVPs:
Actions-Monitoring-Payload
The Actions-Monitoring-Payload AVP is of type Grouped and is used by the SCS 212 to provide the payload for the action and monitoring service. This AVP contains information about the events that need to be monitored and the actions that are to be performed.
The message may include the following AVPs:
Multiple instances of the Monitoring-Event AVP or the Action-To-Perform AVP may be present. This is to provide the flexibility to define multiple actions for a single event or to define multiple events causing single/multiple actions.
Group-QoS*
The Group-QoS AVP is of type Grouped and contains the QoS values that need to be applied for each member of the group. It may even be used to provide a common QoS value such as a collective DL rate wherein the sum of all the DL data rate of all the active UEs in the group may not exceed the collective DL rate.
Group-Charging-Id
The Group-Charging-Id AVP is of type OctetString and is used for charging correlation for the UEs that belong to a group.
Group-Application-Identifier
The Group-Application-identifier AVP is of type OctetString, and contains information that identifies a particular service for an AF service session. This information may be used by the PCRF to differentiate QoS for different application services for the group.
Group-Charging-Type*
The Group-Charging-Type is of type Enumerated and indicates the charging method that needs to be used.
It can identify individual charging, group charging, or both, or SCS sponsored group charging, or offline or online charging.
Group-Sponsor-Data
The Group-Sponsor-Data AVP is of type Grouped and contains details about the sponsorship such as, for example, the sponsor Id, usage threshold, etc. It may be coded similar to the Sponsored-Connectivity-Data AVP defined in clause 5.3.27 of 3GPP TS 29.214, the contents of which are hereby incorporated herein by reference in their entirety.
The message may include the following AVPs:
Monitoring-Event
The Monitoring-Event AVP is of type Grouped and contains the event that has to be monitored. The event can be for a single UE 214 or for a group of UEs. For example it can be a single UE 214 mobility event or a mobility event for a group of UEs
AVP Format:
The message may include the following AVPs:
For a single UE 214 detach, the Monitoring-Event-Id AVP may be set to detach type and the Group-Members AVP set to the UE's External-Id.
For the mobility of a group of UEs, the Monitoring-Event-Id AVP may be set to mobility type and the Group-Members AVP contain the list of External-Ids of all the UEs for which the mobility needs to be monitored. The Monitoring-Event-Data contains additional information such as the tracking area to which the mobility of the UEs need to be monitored.
For a 50% attach of a group UEs, the Monitoring-Event-Id AVP is set to attach and the Monitoring-Event-Data AVP provides the percentage 50 and the Group-Members AVP contain the list of UEs or External-Group-ID. Hence when the more than 50% of UEs are attached, an action may be performed or a notification may be sent to the SCS 212.
Actions-To-Perform
The Actions-To-Perform is of type Grouped and contains the action that has to be performed, either upon the occurrence of a monitored event or standalone. The action can be for a single UE 214 or for a group of UEs. For example it can be a detach of a single UE 214 or detach for a group of UEs
The message may include the following AVPs:
For a single UE detach, the Monitoring-Event-Id AVP is set to detach type and the Group-Members AVP is set to the UE's External-Id.
The action may be anything that can be executed by the CN and permitted by the UE's subscription info, and may range from activating a PDN or creating a dedicated bearer or changing the periodic TAU timer or the DRX timer etc.
Monitoring-Reference-Number
The Monitoring-Reference-Number AVP is of type Unsigned32 and is used to provide a reference number to a monitoring request so that the MTC-IWF 210 can include in its report which events have been configured or which events have occurred.
Monitoring-Event-Id*
The Monitoring-Event-Id AVP is of type Enumerated and mentions the type of the monitoring event. There are a lot of monitoring events possible such as, for example:
Monitoring-Event-Data*
The Monitoring-Event-Data AVP is of type grouped and contains the data related to monitoring events. This AVP may be accompanied with a Monitoring-Event-Id AVP and can provide the relevant data for that event type.
Action-Reference-Number
The Action-Reference-Number AVP is of type Unsigned32 and is used to provide a reference number for an action so that the MTC-IWF 210 can include in its report which actions have been configured or which actions have been performed.
Action-Type-Id*
The Action-Type-Id AVP is of type Enumerated and mentions the type of action that needs to be performed. There are a lot of actions that can be performed such as, for example:
Action-Type-Data*
The Action-Type-Data AVP is of type grouped and contains the data related to the action that is to be performed. This AVP may be accompanied with an Action-Type-Id AVP and can provide the relevant data for that event type such as the QoS information for a dedicated bearer.
Group-Delete-List
The Group-Delete-List AVP is of type Grouped and contains the list of groups that are removed and related information.
The message may include the following AVPs:
Deletion-Type
The Deletion-Type AVP is of type Enumerated and indicates the nature of the group removal.
The following values are defined:
Group-Id-Availability
The Group-Id-Availability AVP is of type Enumerated and indicates if the group ID is available for use by other SCSs.
The following values are defined:
Group-Unavailable-Time
The Group-Unavailable-Time AVP is of type Time and indicates the time until which the group is not available and the time until which the group services for the group cannot be used.
Group-Existence-Time
The Group-Existence-Time AVP is of type Time and indicates the time until which the group can exist and beyond which the group would be deleted. This value may be negotiated between the SCS 212 and CN.
Group-Member-Addition
The Group-Member-Addition AVP is of type Grouped and contains the external UE Id or external group ID that needs to be added to an existing group. This may be provided by the SCS 212 in a GCR message or the CN in the GNR message.
The message may include the following AVPs:
Group-Member-Removal
The Group-Member-Removal AVP is of type Grouped and contains the external UE Id or external group ID that needs to be removed from an existing group. This may be provided by the SCS 212 in a GCR message or the CN in the GNR message.
The message may include the following AVPs:
Group-Modifications-Control
The Group-Modifications-Control AVP is of type Grouped and contains the details about the modifications that can be performed on a group by a network entity. Multiple instances of this Group-Modifications-Control AVP may be present to provide the permissions/authorization for each of the network entities that are stakeholders of a group.
The message may include the following AVPs:
GMC-Entity
The GMC-Entity AVP is of type Enumerated and it indicates the type of network entity that can excise control over the modification/deletion of a group.
The following values are defined:
GMC-Type
The GMC-Type AVP is of type Unsigned32 and contains a 32 bit flag field about the permissions for the modifications of different attributes of a group.
The following values are defined:
Group-Service-Removal
The Group-Service-Removal AVP is of type Grouped and indicates the service removal from a group. Multiple instances of this AVP may be provided if multiple services are to be removed.
The message may include the following AVPs:
Available-Service*
The Available-Service AVP is of type Grouped and indicates all the group based services that are available. Multiple instances of this AVP may be provided if multiple services have become available.
The message may include the following AVPs:
Other information related to the available service may be added to this AVP such as, for example, the maximum number of UEs that the service may support, the time for which the service may be available, roaming support and other service specific parameters such as the data rate supported for messaging, etc.
Rejected-Group-Service
The Rejected-Group-Service AVP is of type Grouped and indicates the service that was rejected by the SCS 212 and is not available for use by the group. Multiple instances of this AVP may be provided if multiple services are rejected.
AVP Format:
The message may include the following AVPs:
If the service was rejected because the requested service characteristics couldn't be served, then the MTC-IWF 210 may include the ‘Acceptable-Service-Characteristics’ AVP including the acceptable value for the characteristics which caused the rejection. The ‘Acceptable-Service-Characteristics’ AVP may be coded similar to the ‘Service-Characteristics’ AVP but may include only the sub-AVPs which caused the rejection.
Acceptable-Service-Characteristics*
The Acceptable-Service-Characteristics AVP is of type Grouped and provides the acceptable values of a service characteristic parameter.
Max-Devices-Supported
The Max-Devices-Supported AVP is of type Unsigned32 and mentions the maximum number of UEs that can be supported by a group based service.
Service-Available-Time
The Service-Available-Time AVP is of type Time and mentions the time until which a group based service would be available for use by a SCS 212.
Service-Roaming-Support
The Service-Roaming-Support AVP is of type Enumerated and mentions if a service would be available for UEs that roam into other operator's network.
The following values are defined:
Group-Control-Cause*
The Group-Control-Cause AVP is of type Enumerated and contains the cause code for group control procedures. It may indicate the cause value for a service that is unavailable or for the failure of a service execution or for the rejection of group based service etc. Some cause values may apply only to specific group based procedures.
Service-Execution-Report
The Service-Execution-Report AVP is of type Grouped and is used to provide the details about the execution of group based service.
The message may include the following AVPs:
Group-Messaging-Report
The Group-Messaging-Report AVP is of type Grouped and contains the details about the execution of a group messaging service. It may provide the list users in the group to which the group message was sent, the members of the group that were unavailable, the areas in which the message was broadcasted, etc.
The message may include the following AVPs:
Other information can be added to this AVP based on the type of method that was chosen. For example, the streaming kind of messaging service may have downlink data rate, the number of messages discarded, etc. The report could be sent periodically rather than for every single packet. The CBS kind of service may even mention the number of times a messages was broadcasted (repetition number).
Group-Charging-Policy-Report
The Group-Charging-Policy-Report AVP is of type Grouped and contains the details about the execution of a group charging and policy service. It may provide the current list of users for whom the policy was applied and the list of users for whom the policy could not be applied/enforced.
The message may include the following AVPs:
Actions-Monitoring-Configuration-Report *
The Actions-Monitoring-Configuration-Report AVP is of type Grouped and contains the information about the accepted monitoring events/actions. It may also contain the rejected monitoring events/actions. The Monitoring-Reference-Number AVPs and Action-Reference-Number AVPs may be used for reporting the accepted/rejected events/actions.
This AVP is defined for use in the GAA message when an event/action is configured. A separate procedure may be need to be defined to have CN send an unsolicited report to the SCS 212 if the CN had made any actions based on a monitoring event.
Transmission-Area*
The Transmission-Area AVP is of type Grouped and mentions the area of message broadcast. It may be mentioned as a list of Tracking Areas or Geographical Areas.
Supported-Features*
The Supported-Features AVP is of type grouped and can be used to provide the list of group based features that are supported by the core network. The Available-Service AVP may be used instead of the Supported-features AVP when the some specific service related information has to be provided.
This AVP is coded as mentioned in clause 6.3.29 of 3GPP TS 29.229 the contents of which are hereby incorporated herein by reference in their entirety.
As shown in
As shown in
Exemplary M2M terminal devices 18 include, but are not limited to, tablets, smart phones, medical devices, temperature and weather monitors, connected cars, smart meters, game consoles, personal digital assistants, health and fitness monitors, lights, thermostats, appliances, garage doors and other actuator-based devices, security devices, and smart outlets.
Referring to
Similar to the illustrated M2M service layer 22, there is the M2M service layer 22′ in the Infrastructure Domain. M2M service layer 22′ provides services for the M2M application 20′ and the underlying communication network 12 ′ in the infrastructure domain. M2M service layer 22′ also provides services for the M2M gateways 14 and M2M terminal devices 18 in the field domain. It will be understood that the M2M service layer 22′ may communicate with any number of M2M applications, M2M gateways and M2M devices. The M2M service layer 22′ may interact with a service layer by a different service provider. The M2M service layer 22′ by one or more nodes of the network, which may comprises servers, computers, devices, virtual machines (e.g., cloud computing/storage farms, etc.) or the like.
Referring also to
The methods of the present application may be implemented as part of a service layer 22 and 22′. The service layer 22 and 22′ is a software middleware layer that supports value-added service capabilities through a set of Application Programming Interfaces (APIs) and underlying networking interfaces. Both ETSIM2M and one M2M use a service layer that may contain the connection methods of the present application. ETSIM2M's service layer is referred to as the Service Capability Layer (SCL) . The SCL may be implemented within an M2M device (where it is referred to as a device SCL (DSCL)), a gateway (where it is referred to as a gateway SCL (GSCL)) and/or a network node (where it is referred to as a network SCL (NSCL)). The one M2M service layer supports a set of Common Service Functions (CSFs) (i.e. service capabilities). An instantiation of a set of one or more particular types of CSFs is referred to as a Common Services Entity (CSE) which can be hosted on different types of network nodes (e.g. infrastructure node, middle node, application-specific node). Further, connection methods of the present application can implemented as part of an M2M network that uses a Service Oriented Architecture (SOA) and/or a resource-oriented architecture (ROA) to access services such as the connection methods of the present application.
In some embodiments, M2M applications 20 and 20′ may be used in conjunction with the disclosed systems and methods.. The M2M applications 20 and 20′ may include the applications that interact with the UE or gateway and may also be used in conjunction with other disclosed systems and methods.
In one embodiment, the logical entities such as SCS 212, AS 220, MTC-IWF 210, SMS-SC/GMSC/IW MSC 204, GGSN/PGW 224, RAN 219, SGW 110, SGSN 234, MME 114, MSC 238, and UE 214 may be hosted within a M2M service layer instance hosted by an M2M node, such as an M2M server, M2M gateway, or M2M device, as shown in
The M2M applications 20 and 20′ may include applications in various industries such as, without limitation, transportation, health and wellness, connected home, energy management, asset tracking, and security and surveillance. As mentioned above, the M2M service layer, running across the devices, gateways, servers and other nodes of the system, supports functions such as, for example, data collection, device management, security, billing, location tracking/geofencing, device/service discovery, and legacy systems integration, and provides these functions as services to the M2M applications 20 and 20′.
Generally, the service layers 22 and 22′ define a software middleware layer that supports value-added service capabilities through a set of Application Programming Interfaces (APIs) and underlying networking interfaces. Both the ETSIM2M and one M2M architectures define a service layer. ETSIM2M's service layer is referred to as the Service Capability Layer (SCL). The SCL may be implemented in a variety of different nodes of the ETSIM2M architecture. For example, an instance of the service layer may be implemented within an M2M device (where it is referred to as a device SCL (DSCL)), a gateway (where it is referred to as a gateway SCL (GSCL)) and/or a network node (where it is referred to as a network SCL (NSCL)). The one M2M service layer supports a set of Common Service Functions (CSFs) (i.e., service capabilities). An instantiation of a set of one or more particular types of CSFs is referred to as a Common Services Entity (CSE) which can be hosted on different types of network nodes (e.g. infrastructure node, middle node, application-specific node). The Third Generation Partnership Project ( 3GPP) has also defined an architecture for machine-type communications (MTC). In that architecture, the service layer, and the service capabilities it provides, are implemented as part of a Service Capability Server (SCS). Whether embodied in a DSCL, GSCL, or NSCL of the ETSIM2M architecture, in a Service Capability Server (SCS) of the 3GPPMTC architecture, in a CSF or CSE of the one M2M architecture, or in some other node of a network, an instance of the service layer may be implemented as a logical entity (e.g., software, computer-executable instructions, and the like) executing either on one or more standalone nodes in the network, including servers, computers, and other computing devices or nodes, or as part of one or more existing nodes. As an example, an instance of a service layer or component thereof may be implemented in the form of software running on a network node (e.g., server, computer, gateway, device or the like) having the general architecture illustrated in
Further, logical entities of the present application such as SCS 212, AS 220, MTC-IWF 210, HSS 116, SMS-SC/GMSC/IW MSC 204, GGSN/PGW 224, RAN 219, SGW 110, SGSN 234, MME 114, MSC 238, and UE 214 can be implemented as part of an M2M network that uses a Service Oriented Architecture (SOA) and/or a Resource-Oriented Architecture (ROA) to access services of the present application.
As noted above, coordinated grouping for grouped based services often involves the automated configuration of UE's and core network (CN) nodes including wireless base stations such as, for example, eNBs. Implementing a group service may involve configuring an eNB to communicate messages to a defined group of machines. A base station may be any type of device that is configured to wirelessly interface with at least one wireless remote terminal units (WRTU) to facilitate access to one or more communication networks, such as, for example, an evolved packet core, the Internet, or other network.
eNB 2100 is communicatively coupled with components of the evolved packet core (EPC). For example, eNB 2100 is communicatively coupled with serving gateway (S-GW) 2142, MME 2144, and packet data network gateway (P-GW) 2146. MME 2144, in addition to its traditional functions, may be adapted to communicate with eNB 2100 to configure the eNB 2100 as needed to implement a group service. For example, eNB 2100 may receive request to create or alter an existing grouping of nodes with which the eNB 2100 communicates. Communications between the eNB and the EPC take place over S1 interface 2140. It will be appreciated that a base station such as, for example, an eNB 2100, is implemented as a computing system that is programmed to perform the various functions as described herein, as well as those typically associated with a base station.
The processor 32 may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Array (FPGAs) circuits, any other type of integrated circuit (IC), a state machine, and the like. In general, the processor 32 may execute computer-executable instructions stored in the memory (e.g., memory 44 and/or memory 46) of the node in order to perform the various required functions of the node. For example, the processor 32 may perform signal coding, data processing, power control, input/output processing, and/or any other functionality that enables the M2M node 30 to operate in a wireless or wired environment. The processor 32 may run application-layer programs (e.g., browsers) and/or radio access-layer (RAN) programs and/or other communications programs. The processor 32 may also perform security operations such as authentication, security key agreement, and/or cryptographic operations, such as at the access-layer and/or application layer for example.
As shown in
The transmit/receive element 36 may be configured to transmit signals to, or receive signals from, other M2M nodes, including M2M servers, gateways, device, and the like. For example, in an embodiment, the transmit/receive element 36 may be an antenna configured to transmit and/or receive RF signals. The transmit/receive element 36 may support various networks and air interfaces, such as WLAN, WPAN, cellular, and the like. In an embodiment, the transmit/receive element 36 may be an emitter/detector configured to transmit and/or receive IR, UV, or visible light signals, for example. In yet another embodiment, the transmit/receive element 36 may be configured to transmit and receive both RF and light signals. It will be appreciated that the transmit/receive element 36 may be configured to transmit and/or receive any combination of wireless or wired signals.
In addition, although the transmit/receive element 36 is depicted in
The transceiver 34 may be configured to modulate the signals that are to be transmitted by the transmit/receive element 36 and to demodulate the signals that are received by the transmit/receive element 36. As noted above, the M2M node 30 may have multi-mode capabilities. Thus, the transceiver 34 may include multiple transceivers for enabling the M2M node 30 to communicate via multiple RATs, such as UTRA and IEEE 802.11, for example.
The processor 32 may access information from, and store data in, any type of suitable memory, such as the non-removable memory 44 and/or the removable memory 46. For example, the processor 32 may store session context in its memory, as described above. The non-removable memory 44 may include random-access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 46 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. In other embodiments, the processor 32 may access information from, and store data in, memory that is not physically located on the M2M node 30, such as on a server or a home computer. The processor 32 may be configured to control lighting patterns, images, or colors on the display or indicators 42 to reflect the status of an M2M service layer session migration or sharing or to obtain input from a user or display information to a user about the node's session migration or sharing capabilities or settings. In another example, the display may show information with regard to a session state. The current disclosure defines a RESTful user/application API in the one M2M embodiment. A graphical user interface, which may be shown on the display, may be layered on top of the API to allow a user to interactively establish and manage an E2E session, or the migration or sharing thereof, via the underlying service layer session functionality described herein.
The processor 32 may receive power from the power source 48, and may be configured to distribute and/or control the power to the other components in the M2M node 30. The power source 48 may be any suitable device for powering the M2M node 30. For example, the power source 48 may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel metal hydride (Ni MH), lithium-ion (Li-ion), etc.), solar cells, fuel cells, and the like.
The processor 32 may also be coupled to the GPS chipset 50, which is configured to provide location information (e.g., longitude and latitude) regarding the current location of the M2M node 30. It will be appreciated that the M2M node 30 may acquire location information by way of any suitable location-determination method while remaining consistent with an embodiment.
The processor 32 may further be coupled to other peripherals 52, which may include one or more software and/or hardware modules that provide additional features, functionality and/or wired or wireless connectivity. For example, the peripherals 52 may include an accelerometer, an e-compass, a satellite transceiver, a sensor, a digital camera (for photographs or video), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands free headset, a Bluetooth® module, a frequency modulated (FM) radio unit, a digital music player, a media player, a video game player module, an Internet browser, and the like.
In operation, CPU 91 fetches, decodes, and executes instructions, and transfers information to and from other resources via the computer's main data-transfer path, system bus 80. Such a system bus connects the components in computing system 90 and defines the medium for data exchange. System bus 80 typically includes data lines for sending data, address lines for sending addresses, and control lines for sending interrupts and for operating the system bus. An example of such a system bus 80 is the PCI (Peripheral Component Interconnect) bus.
Memories coupled to system bus 80 include random access memory (RAM) 82 and read only memory (ROM) 93. Such memories include circuitry that allows information to be stored and retrieved. ROMs 93 generally contain stored data that cannot easily be modified. Data stored in RAM 82 can be read or changed by CPU 91 or other hardware devices. Access to RAM 82 and/or ROM 93 may be controlled by memory controller 92. Memory controller 92 may provide an address translation function that translates virtual addresses into physical addresses as instructions are executed. Memory controller 92 may also provide a memory protection function that isolates processes within the system and isolates system processes from user processes. Thus, a program running in a first mode can access only memory mapped by its own process virtual address space; it cannot access memory within another process's virtual address space unless memory sharing between the processes has been set up.
In addition, computing system 90 may contain peripherals controller 83 responsible for communicating instructions from CPU 91 to peripherals, such as printer 94, keyboard 84, mouse 95, and disk drive 85.
Display 86, which is controlled by display controller 96, is used to display visual output generated by computing system 90. Such visual output may include text, graphics, animated graphics, and video. Display 86 may be implemented with a CRT-based video display, an LCD-based flat-panel display, gas plasma-based flat-panel display, or a touch-panel. Display controller 96 includes electronic components required to generate a video signal that is sent to display 86.
Further, computing system 90 may contain communication circuitry, such as for example a network adaptor 97, that may be used to connect computing system 90 to an external communications network, such as network 12 of
It is understood that any or all of the systems, methods, and processes described herein may be embodied in the form of computer executable instructions (i.e., program code) stored on a computer-readable storage medium which instructions, when executed by a machine, such as a node of an M2M network, including for example an M2M server, gateway, device or the like, perform and/or implement the systems, methods and processes described herein. Specifically, any of the steps, operations or functions described above, including the operations of the gateway, UE, UE/GW, or any of the nodes of the mobile core network, service layer or network application provider, may be implemented in the form of such computer executable instructions. Logical entities such as SCS 212, AS 220, MTC-IWF 210, HSS 116, SMS-SC/GMSC/IW MSC 204, GGSN/PGW 224, RAN 219, SGW 110, SGSN 234, MME 114, MSC 238, and UE 214 may be embodied in the form of the computer executable instructions stored on a computer-readable storage medium. Computer readable storage media include both volatile and nonvolatile, removable and non-removable media implemented in any non-transitory (i.e., tangible or physical) method or technology for storage of information, but such computer readable storage media do not includes signals. Computer readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible or physical medium which can be used to store the desired information and which can be accessed by a computer.
Accordingly, applicants have disclosed exemplary embodiments of systems and methods for the coordinated grouping of machine devices for receipt of network layer group based services. In the disclosed systems and methods, service layer systems such as, for example, server capability servers (SCS) manage the creation and modification of device groupings and coordinate with network layer systems, i.e., 3GPP systems, to implement the necessary grouping operations at the appropriate UEs. The service layer systems are positioned close to end user applications from a network architecture perspective and, therefore, are well situated to determine which devices should be grouped for purposes of receiving services. The network layer systems, i.e., 3GPP systems, maintain current information regarding the UEs and are able to use this information to determine whether the requested grouping may be made and, if so, the most efficient manner to physically implement the required provisioning in order to implement the desired groupings. Accordingly, the service layer system, i.e., SCS, coordinates group membership with the network layer, i.e., HSS and/or MTC-IWF 210, and the network layer disseminates group information through the network. In several of the disclosed embodiments, existing network layer procedures such as, for example, Attach and TAU have been extended to coordinate with the SCS and enhance group membership control. Moreover, in addition to coordinating the grouping of UEs for receipt of network layer services, applicants disclose systems and methods for the coordinated execution of network layer group based services.
It will be appreciated that while illustrative embodiments have been disclosed, the scope of potential embodiments is not limited to those explicitly set out. For example, while the system has been described with reference to a 3GPP network layer, the envisioned embodiments extend beyond implementations using a particular network layer technology. Likewise, the potential implementations extend to all types of service layer architectures, systems, and embodiments. While the illustrative embodiments refer to particular component types or 3GPP nodes, the processing may be performed by other suitable nodes. For example, where the illustrative embodiments describe processing performed by a MTC-IWF, it will be understood that the processing described as being performed by a MTC-IWF may be performed by a service capability exposure function (SCEF) or other system that is suitable.
It is understood that the entities performing the steps illustrated in
It should be understood that the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the subject matter described herein, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the subject matter described herein. In the case where program code is stored on media, it may be the case that the program code in question is stored on one or more media that collectively perform the actions in question, which is to say that the one or more media taken together contain code to perform the actions, but that—in the case where there is more than one single medium—there is no requirement that any particular part of the code be stored on any particular medium. In the case of program code execution on programmable computers, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. One or more programs that may implement or utilize the processes described in connection with the subject matter described herein, e.g., through the use of an API, reusable controls, or the like. Such programs are preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language, and combined with hardware implementations.
Although example embodiments may refer to utilizing aspects of the subject matter described herein in the context of one or more stand-alone computer systems, the subject matter described herein is not so limited, but rather may be implemented in connection with any computing environment, such as a network or distributed computing environment. Still further, aspects of the subject matter described herein may be implemented in or across a plurality of processing chips or devices, and storage may similarly be affected across a plurality of devices. Such devices might include personal computers, network servers, handheld devices, supercomputers, or computers integrated into other systems such as automobiles and airplanes.
Those skilled in the art will appreciate that the disclosed embodiments may be provided as a subscription web based solution that anyone with an internet connection may log on and begin using the system. The potential embodiments may be developed and programmed in any web based technology platform. Alternatively, a potential embodiment may be implemented as a standalone application.
In describing preferred embodiments of the subject matter of the present disclosure, as illustrated in the Figures, specific terminology is employed for the sake of clarity. The claimed subject matter, however, is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner to accomplish a similar purpose.
The following is a list of acronyms relating to machine to machine communications that may appear in the above description.
3GPP 3rd Generation Partnership Project
AAA Authentication, Authorization and Accounting
AMBR Aggregate Maximum Bit Rate
APSME Application Support Sub-Layer Management Entity
AE Application Entity
AF Application Function
AS Application Server
AVP Attribute Value Pair
BM-SC Broadcast Multicast-Service Center
BSC Base Station Controller
CBC Cell Broadcast Centre
CBE Cell Broadcast Entity
CBS Cell Broadcast Service
CDF Charging Data Function
CDR Charging Data Record
CN Core Network
CRNTI Cell Radio Network Temporary Identifier
CSE Common Services Entity
CSF Common Service Function
CTF Charging Trigger Function
DL Down Link
DNS Domain Name System
EGI External Group Identifier
E MM EPSMobility Management
eNB Evolved Node B
EPC Evolved Packet Core
EPS Evolved Packet System
ETSI European Telecommunications Standards Institute
GAA Group Action Answer
GAR Group Action Request
GBR Guaranteed Bit Rate
GC Group Control
GCA Group Control Answer
GCR Group Control Request
GEA Group Event Notification Answer
GEN Group Event Notification Request
GGSN Gateway GPRS Support Node
GHA Group Handling Answer
GHR Group Handling Request
GIA Group Information Answer
GIR Group Information Request
GMA Group Management Answer
GMG Group Management
GMN Group Management Notification Answer
GMQ Group Management Notification Request
GMR Group Management Request
GNA Group Notification Answer
GNR Group Notification Request
GPA Group Provisioning Answer
GPR Group Provisioning Request
GPRS General Packet Radio Service
GRA Group Related Event Notification Answer
GRN Group Related Event Notification Request
GSA Group Servicing Answer
GSR Group Servicing Request
GTP-C GTP Control
GTP-U GTP User
GTP GPRS Tunneling Protocol
HLR Home Location Register
HO Handover
HPLMN Home Public Land Mobile Network
HSS Home Subscriber Server
HTTP Hypertext Transfer Protocol
IANA Internet Assigned Numbers Authority
IE Information Element
IETF Internet Engineering Task Force
IMSI International Mobile Subscriber Identity
IP Internet Protocol
IP-CAN IP Connectivity Access Network
ISD Insert Subscriber Data
LS Liaison Statement
LTE Long Term Evolution
M2MMachine to Machine
MBMSMultimedia Broadcast Multicast Service
MMEMobility Management Entity
MNO Mobile Network Operator
MSMobile Station
MSCMobile Switching Center
MSISDN Mobile Subscriber Integrated Services Digital Network-Number
MTCMachine Type Communications
MTC-IWFMachine Type Communications-Inter-Working Function
NSE Network Service Entity
NSSE Network Service Exposure, Service Execution and Triggering
PAN Personal Area Network
PCC Policy and Charging Control
PCEF Policy and Charging Enforcement Function
PCRF Policy and Charging Rules Function
PDN Packet Data Network
P-GW PDN Gateway
PLMN Public Land Mobile Network
PWS Public Warning System
QCI QoS Class Identifier
QoS Quality of Service
RFC Request for Comments
RNC Radio Network Controller
SCS Services Capability Server
SDF Service Data Flow
SDO Standards Development Organization
SEES Service Exposure and Enablement Support
SGSN Serving GPRS Support Node
S-GW Serving Gateway
SIA Subscriber Information Answer
SIR Subscriber Information Request
SMS Short Message Service
SMS-SC Short Message Service-Service Centre
SPR Subscription Profile Repository
TA Tracking Area
TAI Tracking Area Identity
TAU Tracking Area Update
TMGI Temporary Mobile Group Identity
M-TMSIMME-Temporary Mobile Subscriber Identity
UDR User Data Repository
UE User Equipment
ULA Update Location Answer
URI Uniform Resource Indicator
WAP Wireless Application Protocol
6LoWPAN IPv6 over Low Power Personal Area Networks
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
This application is a continuation of U.S. patent application Ser. No. 14/793,072 filed on Jul. 7, 2015, which claims the benefit of U.S. Provisional Patent Application No. 62/021,369 filed on Jul. 7, 2014, the contents of which are hereby incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
62021369 | Jul 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14793072 | Jul 2015 | US |
Child | 16157247 | US |