A method is provided for providing application data. The method includes a network node receiving at least one application identifier (App-ID) associated with at least a first user equipment (ue) and a second ue; the network node requesting to receive notifications of updates to application data associated with the at least one App-ID; the network node configuring a broadcast entity to transmit application data associated with the at least one App-ID; and the network node sending configuration data to the first and second ues for receiving application data from the broadcast entity.
|
1. A method for providing application data, the method comprising:
receiving, at a network node, a first session initiation protocol (sip) message comprising at least one application identifier (App-ID) and at least one user ID associated with the at least one App-ID, wherein the at least one App-ID identifies at least one application in which at least a first user equipment (ue) and a second ue are both interested, wherein the at least one user ID identifies at least one of the first ue or the second ue, and wherein the network node receives the first sip message from the first ue or the second ue;
sending, by the network node, a second sip message requesting to receive notifications of updates to application data associated with the at least one App-ID;
configuring, by the network node, a broadcast entity to transmit updated application data associated with the at least one App-ID; and
sending, by the network node, configuration data to the first and second ues for receiving the updated application data from the broadcast entity.
11. A network node comprising:
a memory comprising instructions; and
a processor coupled to the memory and configured to execute the instructions such that the network node:
receives a first session initiation protocol (sip) message comprising at least one application identifier (App-ID) and at least one user ID associated with the at least one App-ID, wherein the at least one App-ID identifies at least one application in which at least a first user equipment (ue) and a second ue are both interested, wherein the at least one user ID identifies at least one of the first ue or the second ue, and wherein the network node receives the first sip message from the first ue or the second ue;
sends a second sip message requesting to receive notifications of updates to application data associated with the at least one App-ID;
configures a broadcast entity to transmit updated application data associated with the at least one App-ID; and
sends configuration data to the first and second ues for receiving the updated application data from the broadcast entity.
17. A non-transitory computer-readable medium comprising instructions executable by a processor such that when executed, cause the processor to implement a method on a network node, the method comprising:
receiving, at the network node, a first session initiation protocol (sip) message comprising at least one application identifier (App-ID) and at least one user ID associated with the at least one App-ID, wherein the at least one App-ID identifies at least one application in which at least a first user equipment (ue) and a second ue are both interested, wherein the at least one user ID identifies at least one of the first ue or the second ue, and wherein the network node receives the first sip message from the first ue or the second ue;
sending, by the network node, a second sip message requesting to receive notifications of updates to application data associated with the at least one App-ID;
configuring, by the network node, a broadcast entity to transmit updated application data associated with the at least one App-ID; and
sending, by the network node, configuration data to the first and second ues for receiving the updated application data from the broadcast entity.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
receiving, by the network node, location information associated with the first and second ues in response to the network node sending a request to a Location Services (LCS) entity for the location information, wherein the request includes at least a first user ID and a second user ID associated with the first ue and the second ue, respectively; and
determining, by the network node, the locations of the first and second ues based on the location information received from the LCS entity,
wherein the network node comprises a content manager, a mission critical (MC) push-to-talk (MCPTT) server, a group communication service (GCS) server, an MCData Server, an MCVideo server, a location management server or any combination thereof.
8. The method of
9. The method of
10. The method of
12. The network node of
13. The network node of
14. The network node of
15. The network node of
16. The network node of
18. The non-transitory computer-readable medium of
19. The non-transitory computer-readable medium of
20. The non-transitory computer-readable medium of
21. The non-transitory computer-readable medium of
22. The non-transitory computer-readable medium of
23. The non-transitory computer-readable medium of
receiving, by the network node, location information associated with the first and second ues in response to the network node sending a request to a Location Services (LCS) entity for the location information, wherein the request includes at least a first user ID and a second user ID associated with the first ue and the second ue, respectively; and
determining, by the network node, the locations of the first and second ues based on the location information received from the LCS entity,
wherein the network node comprises a content manager, a mission critical push-to-talk (MCPTT) server, a group communication service (GCS) server, an MCData Server, an MCVideo server, a location management server, or any combination thereof.
|
As telecommunications technology has evolved, more advanced network access equipment has been introduced that can provide services that were not possible previously. This network access equipment might include systems and devices that are improvements of the equivalent equipment in a traditional wireless telecommunications system. Such advanced network access equipment may be included in evolving wireless communications standards, such as long-term evolution (LTE), LTE Advanced (LTE-A), 5G, etc. For example, in an LTE system the advanced network access equipment might include an Evolved Universal Terrestrial Radio Access Network (E-UTRAN) node B (eNB). In various wireless communications systems, the advanced network access equipment may include a base station, a wireless access point, or a similar component operable as an access node according to a corresponding wireless communications standard. Any such component will be referred to herein as an eNB, but it should be understood that such a component is not necessarily an eNB. Such a component may also be referred to herein as an access node or base station.
As used herein, the term “user equipment” (UE) can refer to mobile devices such as mobile telephones, personal digital assistants, handheld or laptop computers, and similar devices that have telecommunications capabilities. Such a UE might comprise a wireless device (also known as a Mobile Equipment (ME)) and its associated Universal Integrated Circuit Card (UICC) that includes a Subscriber Identity Module (SIM) application, a Universal Subscriber Identity Module (USIM) application, or a Removable User Identity Module (R-UIM) application or might comprise the device itself without such a card. The term “UE” may also refer to devices that have similar capabilities but that are not transportable, such as fixed line telephones, desktop computers, or set-top boxes. The term “UE” can also refer to any hardware, firmware, or software component that can terminate a Session Internet Protocol (SIP) session.
Services that might be provided by LTE-based equipment can include broadcasts or multicasts of television programs, streaming video, streaming audio, streaming data and other multimedia content. One such service is referred to as multimedia broadcast multicast services, which is specified by the Third Generation Partnership Project (3GPP) as MBMS. However, it is to be understood that as used herein, the term “MBMS” may refer more broadly to any suitable type of broadcast and/or multicast services (i.e., not necessarily to those specified by 3GPP). A broadcast or multicast service might be transmitted throughout a single cell or throughout several contiguous or overlapping cells. A set of cells receiving a broadcast or multicast service can be referred to as a service area. A service area and a region under the control of a central control entity do not necessarily coincide. For example, a central control entity might specify that a first subset of cells under its control will deliver a first MBMS and that a second subset of cells under its control will deliver a second MBMS.
When multiple cells overlap, a UE within the overlapped region can receive transmissions from multiple eNBs. Moreover, when a UE receives substantially identical data from a plurality of eNBs, the transmissions from the eNBs can augment one another to provide a signal of significantly higher quality than would be the case if only one eNB were transmitting the signal. That is, a higher signal-to-noise ratio can be achieved when substantially the same data is transmitted at substantially the same time on substantially the same resource with substantially the same modulation and coding. A region in which a plurality of substantially identical signals are present is known as a single frequency network, or SFN. In the case where all of the eNBs in a service area are transmitting an MBMS with substantially identical signals, the service area can be referred to as a multicast/broadcast single-frequency network (MBSFN).
For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
It should be understood at the outset that although illustrative implementations of one or more embodiments of the present disclosure are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
As used throughout the specification, claims, and figures, the acronyms below have the following definitions. Unless stated otherwise, all terms are defined by and follow the standards set forth by the Third Generation Partnership Program (3GPP) technical specifications or by the OMA (Open Mobile Alliance).
I. Multimedia Broadcast Multicast Service (MBMS)
MBMS is a 3GPP broadcast technology similar to CBS, but MBMS allows an operator to deliver more data intensive content (e.g., video) to a group of recipients. MBMS is supported by GERAN, UTRAN and E-UTRAN. MBMS over E-UTRAN is referred to as E-MBMS, which is described in 3GPP TS 36.300. MBMS supports two basic basic transmission modes for delivering IP packets: broadcast and multicast.
The broadcast mode is a unidirectional point-to-multipoint transmission of multimedia data (e.g. text, audio, picture, video) and can be used to deliver IP packets to all terminals in a certain area or a whole network. If the broadcast mode is used, a transmission bearer is set up for all cells in which the service should be available and is continuously transmitting as long as the service is up and running. In broadcast mode, MBMS does not require an uplink connection and can thus be used like other “downlink-only” broadcast technologies such as Digital Video Broadcasting-Handheld (DVB-H) and Digital multimedia broadcasting (DMB). Data that is broadcast may be encrypted, e.g., for pay television and subscription-based television services.
The multicast mode operates similar to IP multicasting and allows the unidirectional point-to-multipoint transmission of multimedia data (e.g. text, audio, picture, video) from a single source point to a multicast group. For example, a terminal that wants to receive information related to particular multicast channels “joins” one or more content channels, i.e., the terminal expresses interest in receiving content associated with the joined channel(s). This information is processed in the routing layer of a core network and is used for optimizing the data delivery path such that over connections shared by receivers of the same multicast channels, data is transmitted just once.
One drawback of multicasting is that additional delay may be incurred when switching from one channel to another. Therefore, MBMS multicasting is less suitable for mobile TV services, which usually require a low TV channel switching delay. MBMS multicasting is mainly applied for downloading data or podcast services. MBMS services may be made available to all devices capable of receiving MBMS services, or to one or more sub-groups of such devices. In the latter case, MBMS content may be encrypted.
While only one content provider 110 is depicted in
The MBMS-GW 125 is configured to receive MBMS traffic from the BM-SC 105 and forward the received MBMS traffic to one or more network nodes (not shown) located in access networks such as UTRAN 140, E-UTRAN 145, GERAN (not shown), and the like. Examples of network nodes include, but are not limited to, a NodeB, an eNodeB (eNB), a BTS, a BSC, an RNC, an access point, and the like. The network nodes deployed in UTRAN 140 and E-UTRAN 145 are configured to transmit MBMS data over an air interface to UE 150A and UE 150B, respectively, each of which may comprise an MBMS transceiver (Rx/Tx) for receiving/transmitting data associated with the MBMS service.
The BM-SC 105 may also use Session and Transmission Functions 210 to provide data transmission related functions including data encryption. The Session and Transmission Function 210 may be subdivided into MBMS Delivery and Associated Delivery Functions 210A and 210B. The MBMS Delivery Function 210A may deliver files via MBMS Download services or streams via MBMS Streaming service, while the Associated Delivery Function 210B may add auxiliary procedures such as file repair or reception reporting. The BM-SC 105 may further use an MBMS Key Management Function 215 to provide authorized terminals (e.g., terminals subscribed to a particular MBMS service) with the necessary keys to decrypt multimedia files, MBMS data streams, etc.
II. MBMS Encryption and Digital Rights Management (DRM) for MBMS
MBMS encryption is described in 3GPP TS 33.246. The basic keying mechanism used for MBMS encryption is based upon Generic Bootstrapping Architecture (GBA), which is described in 3GPP TS 33.220.
The purpose of DRM is to prevent unauthorized redistribution of digital media and restrict the ways consumers can copy purchased content. An architecture for DRM for MBMS has been developed by OMA and is specified in OMA-AD-BCAST-V1_1-20131029-A. One component of this architecture is the smartcard. For 3GPP based systems, the generation of keys is based upon GBA.
III. Mission Critical Services
In 3GPP, multiple 3GPP Mission Critical (MC) services are defined e.g. Mission Critical Push-To-Talk (MCPTT), Mission Critical Video (MCVideo), Mission Critical Data (MCData), etc. MC services are a 3GPP global initiative to support such functionality as push to talk functionality (MCPTT e.g. a “walkie-talkie” like service), video sharing and access to videos stored in the network (MCVideo), and for MCData the sending/receiving Short Data Service messaging (SDS) and File Delivery (FD). Currently, MC services are defined to run over LTE networks, and are for organisations such as government agencies (e.g., security, police, fire and rescue services) as well as commercial organisations such as utility and transportation companies. MC service signalling (e.g. call signalling, session signalling, message signalling, file transfer signalling, streaming signalling, etc) is based on a SIP based core network, which may but need not be a 3GPP IMS core network. MC service servers (e.g. MCPTT Server, MCVideo Server, MCData Server, etc) typically handle most of the MC service signalling and the MC service logic. A location management server receives and stores user location data/information, provides user location information to MC service servers, and may acquire location information provided by PLMN operators. In some deployment scenarios, commercial PLMN operators may operate the IMS SIP core network for a Public Safety agency's MC service while the MC service application layer MC service Server (which could be an MCPTT Server, an MCVideo Server, an MCData Server, location management server, etc) and other application layer network entities may either be operated by the Public Safety agency or a Public Safety Service provider such as the USA First Responders Network Authority (FirstNet). Some Public Safety communications are considered highly sensitive not only in terms of the actual media communication (e.g., voice, video, messaging, data stream, files, etc), but also in terms of the identities of the parties involved in a call and the nature of that call.
As previously mentioned, MBMS provides a mechanism to broadcast data to users, or deliver content to users via point-to-point (P2P). The mechanism is such that users (e.g., UEs 150A and 150B) register their interest in data, which is then delivered to the users at that point in time. A network entity (e.g., BM-SC 105) may decide if a broadcast or P2P mechanism should be used to deliver the data to the users. MBMS generally uses efficient radio resources (e.g., bandwidth) to deliver data from a single source entity to multiple users. However, significant resources may be wasted when many user subscribers start downloading a large amount of identical data (e.g., podcasts, video clips, application updates, etc.) in a P2P arrangement e.g., where users are spread out geographically. Such depletion of resources may even risk denial of service/reduced throughput to other subscribers or of services used by an operator's subscribers.
Existing MBMS announcement mechanisms do not define the details needed for scenarios where the content to be conveyed may be a firmware or software update. One solution might involve extending the DM Client Management Object (MO) to include the uniform resource locator (URL) of the MBMS server where it is to receive updates from an MBMS Server instead of from a DM Server. However, there may be at least a few limitations with this solution. For example, a device interested in receiving the update may not be within the MBMS coverage area. Alternatively, the device may be within the appropriate MBMS coverage area, but not at the relevant time in which the update is to be delivered.
Moreover, while MBMS provides broadcast and multicast services along with a discovery mechanism that can be interactive, an interface to a variety of clients has yet to be defined. In addition, existing MBMS mechanisms do not specify configuration of MBMS services or of applications via DM over MBMS. Further, while MBMS security DRM for MBMS is based upon GBA, there are few, if any, known deployments of GBA. There is currently little to no interest in using GBA, as GBA is considered a cost prohibitive solution from the operator community standpoint (e.g., the price per subscriber is relatively costly). GBA may be considered an option for technologies such as OMA Secure User Plane Location (SUPL), but deployments of that technology have used other mechanisms than GBA.
Embodiments of the present disclosure provide solutions to efficiently deliver content when there are a sufficient number of users in a service area that are interested in content. In cases where such content is not time sensitive, a broadcast mechanism may be used to deliver the content to those users rather than using a P2P mechanism. For example, assume there is a new software update for an Engine Management Unit (EMU) or Engine Control Unit (ECU) of a plurality of cars of the same model/configuration, each car belonging to a different user. If the new software update is not time-critical, a broadcast mechanism may be used to deliver such data when there are a sufficient number of those cars in a geographical area. As another example, assume there are a number of MC-service users (e.g., firemen) interested in a common file (e.g., description of a building on fire or a map with directions to the building), the file may be delivered to those MC service users via a broadcast mechanism rather than a P2P mechanism. Embodiments of the present disclosure further provide a solution for securely broadcasting content to users.
The following discussion provides additional details regarding the embodiments described above. For the purpose of clarity, it is to be understood that any one of the embodiments disclosed herein (or one or more aspects thereof) may be combined with any one or more of the other embodiments disclosed herein (or one or more aspects thereof) to provide a new embodiment within the scope of the present disclosure.
III. Content Delivery Via MBMS
As used in the following description, claims, and/or figures, the terms below have the following definitions.
Area Identifier
Temporary Mobile Group Identity (TMGI)
App-ID
An identifier that may indicate a specific
application, a software load, a file, file type,
or video type. See also Data Store (infra).
Content Manager
Also known as Content Provider. May comprise a
Network Node 2 (infra), an MCPTT Server, Group
Communication Service (GCS) server, MCVideo
Server, MCData Server, location management
server, etc. This function manages requests from
User identities for App-IDs for which the User
identities would like to receive data. The
content manager requests location information
for those user identities, the state of the data
associated with the App-ID, and when the data is
ready to be delivered and there are sufficient
user identities in a geographical area, the
content manager requests a broadcast entity
(e.g., BM-SC) to deliver that data.
Device ID
Examples include, but are not necessarily
limited to, an IMEI, a MAC address, a personal
identification number (PIN), etc. This ID could
also be wild carded.
Data
May include any type of data, such as, but not
limited to, control data, media data, user data,
metadata, application data, configuration data, etc.
Data Store
This may include Network Node 1 and/or a server
that comprises data (e.g., files, applications,
firmware updates, etc.). Data Store may be
combined with the Content Manager. In the
context of MC service data, Data Store may
comprise the MCData Server. Data Store comprises
zero to number N of data items (N is a positive
integer greater than one), each data item having
a corresponding Application ID.
Download Session
An MBMS session announcement specific to the
Announcement
delivery of a file in download (by opposition to
streaming).
Encryption
Examples include, but are not limited to, keys,
Information
certificates, etc.
Identity
May comprise a Public identity (ID), a Public
User ID, a Private ID, a Private user ID, an
identity of a device, or any combination(s)
thereof. The identity may be wild carded.
LCS
An entity configured to provide location
information. May comprise an SCEF that obtains
location information from an entity called LCS.
Network
One or N number of network nodes, e.g., Network
Node 1, Network 2, . . . , Network Node N (N is
a positive integer greater than one). Network
nodes may be implemented as a single node or a
collection of nodes.
Public User ID
Examples include, but are not limited to, an
MSISDN, email address, SIP URI, Tel URI, etc.
The property of this identity is that it is
known to the public. May also be known as a
Public User Identity.
Private User ID
Examples include, but are not limited to, an
IMSI, SIP URI, etc. The property of this
identity is that it is only known to the network
and device. May also be known as a Private User
Identity or Private ID.
User Identity
May comprise the Public User ID and/or Private
User ID. This identity may be wild carded.
UE
A device that communicates wirelessly or using a
fixed communication (e.g., Ethernet or the
like). This device may or may not comprise a
UICC. May also be known as a device.
UICC
UICC information may be located either on a
removal module or in internal memory. UICC
comprises applications or profiles that are used
by the UE.
Wild Carded
Denotes that a given identity comprises one or
more alphanumeric characters implying that one
or more respective character spaces may comprise
any alphanumeric character. Also denotes that
the length of a given identity is less than
traditionally associated with that identity
(e.g., implies that the remainder of that
identity may comprise anything). Further, a wild
carded identity may comply with other now known
or later developed wild card mechanisms.
It is to be understood that when an indicator is received by an element in one message and subsequently used in another message, the indicator used in the subsequent message may be modified by the element. As a non-limiting example, assume a UE receives a user identity such as an international mobile subscriber identity (IMSI) in the format of “1234567890,” the UE may send that user identity in a modified format such as “1234567890@domain.com”.
Among other things, the following solutions describe a concept where a “content manager” receives notifications from devices that are interested in receiving specific data (referred herein as Application IDs or App-IDs). The content manager may then determine an efficient way to download such data when a sufficient number of devices have registered an interest in a particular application and are located in a geographical area that allows MBMS to be used for delivering that data.
The steps associated with one embodiment of the foregoing concept are pictorially represented in the flow diagram 300 of
At step 0, a UE 310 may send an affiliation message expressing interest in certain data to a Content Manager 330, which may be implemented by the Content Provider 110 depicted in
As a non-limiting example, the affiliation message may request to receive updates for applications installed on the UE 310, or to receive notifications when such updates become available for delivery to the UE 310. As another non-limiting example, the affiliation message may inform the Content Manager 330 that the UE 310 is interested in receiving a particular data file, such as, but not limited to, one or more pictures (e.g., JPEG) files, videos, documents, spreadsheets, presentations, applications installed on the UE 310, etc. As used herein, this particular data file may also be known as application data.
In some aspects, the affiliation message may specify delivery time(s) and/or location(s) at which the UE 310 prefers receiving certain types of data, e.g., after business hours and/or when the UE 310 is in a specific location (garage, parks at the supermarket, at the dealership, etc.) where location(s) can be specified via GPS coordinates, CellID, Location/Routing area ID, waypoint, address (e.g. 123 Main Street), etc. For example, the UE 310 may specify that it prefers receiving certain data (e.g., application updates) as soon as possible or during a particular timeframe (e.g., hours in which the user of the UE 310 is typically sleeping). At step 1, the Content Manager 330 may send the UE 310 an OK message acknowledging receipt of the affiliation message.
In an embodiment, the affiliation message sent at step 0 may comprise a SIP message such as a SIP Register or Publish message.
In some aspects, the data may be structured such that for any App-ID, one device (or user) ID or many device (or user) IDs may be associated with that App-ID. For example, multiple user identities may exist if the UE 310 is capable of supporting multiple user profiles. One or more such user identities may include at least one different Public User ID than associated with an identity used to access a network. Additionally or alternatively, one or more such user identities may include a Group ID and/or a Default ID. For example, a Group-ID may be used to indicate that users (e.g., group members) within a particular group are interested in data associated with an App-ID for that group. A Default-ID may be used to identify any Public User identity interested in data associated with an App-ID.
Turning again to
The Publish message may comprise N number of App-IDs corresponding to certain applications and N number of device (or user) IDs corresponding to each UE 310 (N is any positive integer equal to or greater than one). Like the affiliation message in step 0, data in the Publish message may be structured such that for any given App-ID, one user identity or multiple user identities may be associated with that App-ID. Moreover, one or more such user identities may comprise Group-IDs and/or Default-IDs.
The Content Manager 330 may be configured to store the data received in the Publish message from the Data Store 320. The Content Manager 330 may also be configured to determine whether any particular device (or user) ID received in the Publish message is a Group ID or a Default ID. For example, the Content Manager 330 may make this determination by examining information provisioned within the Content Manager 330 or by accessing an external database (or a group manager having access thereto) capable of providing the identities within a particular group. If a particular device (or user) ID received in the Publish message matches an ID provisioned in the Content Manager 330 or provided by the external database, the Content Manager 330 may ascertain that the particular device (or user) ID is a Group ID or a Default ID.
At step 3, the Content Manager 330 may send the Data Store 320 an OK message acknowledging receipt of the Publish message sent in step 2. At step 4, the Content Manager 330 may decide to request notifications from the Data Store 320. As previously mentioned, steps 0 and 1 are independent of steps 2 and 3. Therefore, step 4 may occur after step 0, after step 2, or after both steps 0 and 2. According to one implementation, step 4 may take place after the Content Manager 330 has received a predetermined number of messages in step 0 and/or step 2. The message sent to the Data Store 320 at step 4 may comprise a SIP Subscribe message comprising at least one App-ID and/or at least one status element associated with the at least one App-ID.
The at least one status element may specify whether or not the Data Store 320 is requested to send the Content Manager 330 notifications (or certain types of notifications) when there is a change in the status of application data associated with the at least one App-ID. For example, one status element may request that the Data Store 320 send the Content Manager 330 notifications when application data for applications associated with App-IDs listed in the Subscribe message are updated, while another status element may request the Data Store 320 to send notifications only when the updated application data are ready for transmission to the intended recipient(s). In some cases, a status element may indicate that the Data Store 320 is not required to send the Content Manager 330 any notifications associated with an App-ID listed in the Subscribe message. In such cases, the notification(s) associated with the App-ID may be deleted.
At step 5, the Data Store 320 may send the Content Manager 330 an OK message acknowledging receipt of the Subscribe message. For each App-ID listed in the Subscribe message, the Data Store 320 may record the type of notification based on the status element associated with that App-ID. If a notification for a particular App-ID has previously been requested by the Content Manager 330, the Data Store 320 shall update the notification if a status element in the received Subscribe message indicates that the Content Manager 330 is requesting a different type of notification for that particular App-ID. In cases where a status element indicates that notifications for a particular App-ID is not required, the Data Store 320 shall delete the notification for that particular App-ID.
After sending the OK message in step 5, the Data Store 320 may monitor application data associated with each App-ID for which the Content Manager 330 has requested notifications. Application data may be populated in storage (e.g., a database, data structure, storage, memory, or the like) within the Data Store 320. Additionally or alternatively, application data may be populated in a remote database (not shown) accessible to the Data Store 320. At step 6, the Data Store 320 may send the Content Manager 330 a notification upon detecting a status change in application data associated with one or more App-IDs. The notification in step 6 may comprise a SIP Notify message comprising one or more App-IDs and status change(s) associated with the one or more App-IDs (e.g., an indication that application data associated with an App-ID has been updated or deleted). At step 7, the Content Manager 330 may send the Data Store 320 an OK message acknowledging receipt of the Notify message.
Upon learning of the status change(s) associated with the one or more App-IDs listed in the SIP Notify message from step 6, the Content Manager 330 may proceed to determine a location of each UE 310 that expressed an interest in receiving application data associated with the one or more listed App-IDs (e.g., user/device IDs provided in the Publish message at step 0, the Affiliation message at step 2, and/or the Subscribe message at step 4). For example, if the status change(s) associated with the one or more App-IDs is/are not time-sensitive, it might be more efficient to broadcast the corresponding application data to each UE 310 using a broadcast technology e.g., MBMS rather than delivering that data using a P2P mechanism. Thus, the Content Manager 330 may first need to locate each UE 310 so that updated application data may be broadcasted when a sufficient number of UEs are within a certain geographical area at a certain time.
To this end, the Content Manager 330 may send a Request message to at least one LCS entity 340 at step 8. The LCS entity 340 may comprise any suitable entity configured to provide location information such as, but not limited to, a GMLC. At step 8, the Content Manager 330 may communicate with the LCS entity 340 to exchange location information of each UE 310 corresponding to the device (or user) IDs provided in step 0, step 2, and/or step 4. As previously discussed, the Content Manager 330 may possess or obtain all identities within a particular group. Thus, in situations where a Group ID was provided in step(s) 0, 2, and/or 4, the Content Manager 330 may utilize all Public User IDs within that group to request location information for those identities from, e.g., the LCS entity 340. The Content Manager 330 may request such location information as described herein using any suitable procedures such as, but not limited to, those defined by 3GPP TS 23.271, 3GPP TS 24.379, Internet Key Exchange Protocol Version 2 (IKEv2), OMA Secure User Plane Location (OMA SUPL), etc.
In some cases, location information may comprise Cell IDs corresponding to certain geographic areas, where the Cell IDs may then be mapped into MBMS service area identities. Additionally or alternatively, the Content Manager 330 may request location information from a SCEF. The SCEF (not shown) may comprise or be connected to the LCS entity 340; or the SCEF may be a separate entity configured to monitor and provide the Content Manager 330 with notifications of certain events regarding one or more UEs 310. If location information is sought for a UE 310 that is not connected to a network, the Content Manager 330 may request that the location information be provided when the presence of that UE 310 becomes available. Additionally or alternatively, the Content Manager 330 may request to be informed when that UE 310 is detected in one or more specific locations.
According to one implementation, the Data Store 320 and/or the Content Manager 330 may request the media data that is associated with an App-ID data to be sent over a unique identifier (e.g., TMGI or Flow ID). In this implementation, the Content Manager 330 may optionally send a broadcast entity such as the BM-SC 105 a Notification message using a TMGI in step 8′. Sending the Notification message in step 8′ may trigger an Activate MBMS Bearer procedure 500 between the Content Manager 330 and the BM-SC 105, such as shown in
At step 9, the Content Manager 330 may send the Data Store 320 a notification such as, but not limited to, a SIP INFO message, a SIP message, a SIP Publish message, a Diameter message, or the like. The notification message sent at step 9 may include (i) one or more App-IDs for which the Data Store 320 may send updated application data; and (ii) MBMS configuration information such as, but not limited to, an IP address of the BM-SC 105, a port number associated with the IP address, security mechanism (e.g., DTLS or IKE/IPSec), etc.
At step 10, the Data Store 320 may send the Content Manager 330 a message comprising encryption data. The encryption data may include any of the following: (i) an encryption algorithm to be used to decipher a data stream (e.g., updated application data); (ii) an encryption key to be used to decipher the data stream; and/or (iii) App-ID(s)—the App-ID identifies to the Content Manager 330 which App-IDs will use the specific TMGI/Flow ID that was included in step 9 of the flow diagram 300. If the Content Manager 330 determines that the App-IDs received in the message at step 10 do not match all App-IDs sent in the notification at step 9, the Content Manager 330 may repeat steps 8/8′ and 9.
At step 11, the Data Store 320 may send/stream application data to the BM-SC 105 using the IP address and the port number received in the notification from the Content Manager 330 at step 9. The Data Store 320 may also use the security mechanism received in the notification at step 9. Pursuant to 3GPP standards, the BM-SC 105 may be configured to stream application data received from the Data Store 320 on the MBMS bearer associated with the IP address and port number.
In an embodiment, steps 9, 10, and 11 may be combined into a single step or two steps. For example, rather than the Data Store 320 sending encryption data and application data to the Content Manager 330 and the BM-SC 105 at steps 10 and 11 (respectively), the Data Store 320 may send that encryption and application data to the Content Manager 330, which may then stream the data.
At step 12, the Content Manager 330 may send a notification to each UE 310 that has expressed an interest in receiving application data to be streamed by the BM-SC 105. The notification may comprise, e.g., a SIP Notify message comprising any of the following: (i) MBMS information (e.g., service description, TMGI, Flow ID(s), etc.); (ii) the encryption algorithm to be used to decipher the data stream; (iii) the encryption key to be used to decipher the data stream; (iv) App-ID(s) to be found on the Flow ID(s); and/or instructions for receiving the data stream.
In an alternative implementation, the Content Manager 330 may send each UE 310 a message including a URL at step 12. Each UE 310 may use the URL to retrieve data referenced by the URL (e.g., using a HTTP GET request method). The URL may point to a particular network entity such as an external database, e.g., Network Node 3 (not shown in
At step 14, the BM-SC 105 may send/stream the application data received at step 11 over the appropriate MBMS bearer to the UE 310. The BM-SC 105 may be configured to determine whether to send/stream application data to UEs 310 over unicast connections, broadcast/multicast connections, or a combination thereof. To receive application data from the BM-SC 105 at step 14, each UE 310 shall (i) listen to the general purpose MBMS subchannel defined in the “m=application” media line in the “application/sdp” MIME body (specified at paragraph 7 of the procedure 600 in
In some implementations, application data to be streamed by the BM-SC 105 may comprise software downloads intended for vehicles (e.g., an EMU update for certain types of cars). In such implementations, it might be desirable to have the software downloaded while the vehicles are stationary. Thus, the Content Manager 330 may coordinate with the UE 310 or LCS (location services) in each vehicle to ensure that software downloads occur while those vehicles are parked. Additionally or alternatively, the Content Manager 330 may be configured to schedule software downloads to vehicles based on a release date, release data and/or a number of vehicles available to receive the software downloads.
For example, a vehicle manufacturer may specify that vehicles should download a new software within a certain timeframe such as 12 weeks after releasing the new software. During the initial stages such as week 1, the Content Manager 330 may delay scheduling broadcasts of the new software to vehicles until a sufficient number of vehicles are available (e.g., only when 10 vehicles are gathered in a certain geographical area). During the later stages such as week 10, the Content Manager 330 may schedule broadcasts of the new software to vehicles when there are less vehicles (e.g., even if only 5 vehicles are gathered together). In the final stages such as week 12, the Content Manager 330 may schedule broadcasts to any number of vehicles as well as schedule unicast downloads to individual vehicles.
In some scenarios, it might be desirable for the Content Manager 330 to schedule MBMS broadcasts of time-sensitive content (e.g., MC service data). For instance, assume the UE 310 is part of a group of users such as firemen, and the Data Store 320 informs the Content Manager 330 at step 6 that there is updated application data (e.g., a file describing a location of a fire incident) associated with a Group ID corresponding to the firemen. In this scenario, the Content Manager 330 may coordinate with the Data Store 320, LCS entity 340, and BM-SC 105 to ensure that the firemen receive the updated application data as soon as possible. Ideally, the updated application data would be broadcasted to the UE 310 of each fireman at substantially the same time. However, a few of those UEs 310 might be located in an area where the updated application data cannot be broadcasted using MBMS. In such cases, the Content Manager 330 may schedule delivery of the updated application data to those UEs 310 via unicast, while scheduling a broadcast of the updated application data to as many other UEs 310 as possible (i.e., such that these UEs simultaneously receive the updated application data over a common MBMS channel).
In some aspects, the at least one App-ID may identify the data requested by the UE 310. As a non-limiting example, the App-ID may identify an application that the UE 310 would like to download. As another non-limiting example, the App-ID may identify data related to data already stored on the UE 310 e.g., a firmware upgrade or an update to an application on the UE 310. In one implementation, the Data Store 320 may have access to a database (not shown) comprising a mapping of device (or user) identifiers to App-IDs. According to this implementation, step 1 may be optional as the Data Store 320 may discern what data the UE 310 should download based on the database. For example, if new software such as an update to an existing application on the UE 310 becomes available, the Data Store 320 would know that data needs to be downloaded.
Upon receiving the message sent from the UE 310 at step 1, the Data Store 320 may send a message to a Content Manager 330 at step 2. In some implementations, the Content Manager 330 may be integrated with the Content Provider 110 from
At step 3, the Data Store 320 may optionally send the UE 310 a message including the access token from step 2 and an address of the Content Manager 330, e.g., an IP address, URL, FQDN, etc. At step 4, the UE 310 may optionally send the Content Manager 330 a notification request comprising the access token received in step 3. The notification request may also comprise a Private ID sent in the message at step 1. If no Private ID was sent in step 1 or if the Data Store 320 does not have access to a stored Private ID, that Private ID may be included in the notification request sent to the Content Manager 330 in step 4. In some implementations, the notification request may include numerous Private IDs such as a Private ID applicable to the Data Store 320 and at least another Private ID applicable to an access network that the UE 310 is currently using (e.g., cellular network). Upon receiving the notification request from the UE 310, the Content Manager 330 may validate the access token received at step 4 against the access token received at step 2.
At step 5, the Content Manager 330 may optionally send the UE 310 an OK message acknowledging receipt of the notification request. Steps 6 to 14 are substantially the same as steps 6 to 14 in
The various methods or operations described herein may be implemented by a network element. An example network element is shown with regard to
Further, the various methods or operations described herein may be implemented by a communications device (e.g., UE 310, Data Store 320, Content Manager 330, LCS entity 340, BM-SC 105, etc.). An example of a communications device is described below with regard to
Where the communications device 3200 is enabled for two-way communication, it may incorporate a communication subsystem 3211, including a receiver 3212 and a transmitter 3214, as well as associated components such as one or more antenna elements 3216 and 3218, local oscillators (LOs) 3213, and a processing module such as a digital signal processor (DSP) 3220. The particular design of the communication subsystem 3211 may be dependent upon the communication network 3219 in which the communications device 3200 is intended to operate.
Network access may also vary depending upon the type of network 3219. In some networks, network access is associated with a subscriber or user of the communications device 3200. The communications device 3200 may use a RUIM or a SIM card in order to operate on a network. The SIM/RUIM interface 3244 is typically similar to a card slot into which a SIM/RUIM card may be inserted. The SIM/RUIM card may have memory and may hold many key configurations 3251 and other information 3253, such as identification and subscriber-related information.
When network registration or activation procedures have been completed, the communications device 3200 may send and receive communication signals over the network 3219. As illustrated, the network 3219 may comprise multiple base stations communicating with the communications device 3200.
Signals received by antenna 3216 through communication network 3219 are input to receiver 3212, which may perform such common receiver functions as signal amplification, frequency down conversion, filtering, channel selection, and the like. Analog to digital (A/D) conversion of a received signal allows more complex communication functions, such as demodulation and decoding to be performed in the DSP 3220. In a similar manner, signals to be transmitted are processed, including modulation and encoding for example, by DSP 3220 and are input to transmitter 3214 for digital to analog (D/A) conversion, frequency up conversion, filtering, amplification, and transmission over the communication network 3219 via antenna 3218. DSP 3220 not only processes communication signals but also provides for receiver and transmitter control. For example, the gains applied to communication signals in receiver 3212 and transmitter 3214 may be adaptively controlled through automatic gain control algorithms implemented in DSP 3220.
The communications device 3200 generally includes a processor 3238 which controls the overall operation of the device. Communication functions, including data and voice communications, are performed through communication subsystem 3211 in cooperation with the processor 3238. Processor 3238 also interacts with further device subsystems such as the display 3222, flash memory 3224, random access memory (RAM) 3226, auxiliary input/output (I/O) subsystems 3228, serial port 3230, one or more user interfaces such as keyboards or keypads 3232, speaker 3234, microphone 3236, one or more other communication subsystems 3240 such as a short-range communications subsystem, and any other device subsystems generally designated as 3242. While the other communication subsystems 3240 and device subsystems 3242 are depicted as separate components in
Some of the illustrated subsystems perform communication-related functions, whereas other subsystems may provide “resident” or on-device functions. Notably, some subsystems, such as keyboard 3232 and display 3222, for example, may be used for both communication-related functions, such as entering a text message for transmission over a communication network, and device-resident functions, such as a calculator or task list.
Operating system software used by the processor 3238 may be stored in a persistent store such as flash memory 3224, which may instead be a read-only memory (ROM) or similar storage element (not shown). The operating system, specific device applications, or parts thereof, may be temporarily loaded into a volatile memory such as RAM 3226. Received communication signals may also be stored in RAM 3226.
As shown, flash memory 3224 may be constituted by different areas for both computer programs 3258 and program data storage 3250, 3252, 3254, and 3256. These different storage types indicate that each program may allocate a portion of flash memory 3224 for their own data storage use. Processor 3238, in addition to its operating system functions, may enable execution of software applications on the communications device 3200. A predetermined set of applications that control basic operations, including at least data and voice communication applications for example, may typically be installed on the communications device 3200 during manufacturing. Other applications may be installed subsequently or dynamically.
Applications and software may be stored on any computer-readable storage medium. The computer-readable storage medium may be tangible or in a transitory/non-transitory medium such as optical (e.g., CD, DVD, etc.), magnetic (e.g., tape), or other memory currently known or developed in the future.
One software application may be a personal information manager (PIM) application having the ability to organize and manage data items relating to the user of the communications device 3200 such as, but not limited to, e-mail, calendar events, voice mails, appointments, and task items. One or more memory stores may be available on the communications device 3200 to facilitate storage of PIM data items. Such a PIM application may have the ability to send and receive data items via the wireless network 3219. Further applications may also be loaded onto the communications device 3200 through the network 3219, an auxiliary I/O subsystem 3228, serial port 3230, short-range communications subsystem(s) 3240, or any other suitable subsystem(s) 3242, and installed by a user in the RAM 3226 or a non-volatile store (not shown) for execution by the processor 3238. Such flexibility in application installation may increase the functionality of the communications device 3200 and may provide enhanced on-device functions, communication-related functions, or both. For example, secure communication applications may enable electronic commerce functions and other such financial transactions to be performed using the communications device 3200.
In a data communication mode, a received signal such as a text message or web page download may be processed by the communication subsystem 3211 and input to the processor 3238, which may further process the received signal for output to the display 3222, or alternatively to an auxiliary I/O device 3228.
A user of the communications device 3200 may also compose data items, such as email messages for example, using the keyboard 3232, which may be a physical or on-screen/virtual complete alphanumeric keyboard or telephone-type keypad, among others, in conjunction with the display 3222 and possibly an auxiliary I/O device 3228. Such composed items may then be transmitted over a communication network 3219 through the communication subsystem 3211.
For voice communications, overall operation of the communications device 3200 is similar, except that received signals may typically be output to a speaker 3234 and signals for transmission may be generated by a microphone 3236. Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, may also be implemented on the communications device 3200. Although voice or audio signal output may be accomplished primarily through the speaker 3234, display 3222 may also be used to provide an indication of the identity of a calling party, the duration of a voice call, or other voice call-related information, for example.
Serial port 3230 may be implemented in a personal digital assistant (PDA)-type device for which synchronization with a user's desktop computer (not shown) may be desirable, but such a port is an optional device component. Such a port 3230 may enable a user to set preferences through an external device or software application and may extend the capabilities of the communications device 3200 by providing for information or software downloads to the communications device 3200 other than through a wireless communication network 3219. The alternate download path may, for example, be used to load an encryption key onto the communications device 3200 through a direct and thus reliable and trusted connection to thereby enable secure device communication. Serial port 3230 may further be used to connect the device to a computer to act as a modem.
Other communications subsystems 3240, such as a short-range communications subsystem, are further optional components which may provide for communication between the communications device 3200 and different systems or devices, which need not necessarily be similar devices. For example, one or more other subsystems 3240 may include an infrared device and associated circuits and components or a Bluetooth™ communication module to provide for communication with similarly enabled systems and devices. Subsystems 3240 may further include non-cellular communications such as WiFi, WiMAX, near field communication (NFC), Bluetooth, ProSe (Proximity Services) (e.g., sidelink, PC5, D2D, etc.) and/or radio frequency identification (RFID). The other communications subsystem(s) 3240 and/or device subsystem(s) 3242 may also be used to communicate with auxiliary devices such as tablet displays, keyboards or projectors.
The communications device 3200 and other components described above might include a processing component that is capable of executing instructions related to the actions described above.
The processor 3310 executes instructions, codes, computer programs, or scripts that it might access from the network connectivity devices 3320, RAM 3330, ROM 3340, or secondary storage 3350 (which might include various disk-based systems such as hard disk, floppy disk, or optical disk). While only one CPU 3310 is shown, multiple processors may be present. Thus, while instructions may be discussed as being executed by a processor, the instructions may be executed simultaneously, serially, or otherwise by one or multiple processors. The processor 3310 may be implemented as one or more CPU chips.
The network connectivity devices 3320 may take the form of modems, modem banks, Ethernet devices, universal serial bus (USB) interface devices, serial interfaces, token ring devices, fiber distributed data interface (FDDI) devices, wireless local area network (WLAN) devices, radio transceiver devices such as code division multiple access (CDMA) devices, GSM radio transceiver devices, universal mobile telecommunications system (UMTS) radio transceiver devices, LTE radio transceiver devices, new generation radio transceiver devices, worldwide interoperability for microwave access (WiMAX) devices, and/or other well-known devices for connecting to networks. These network connectivity devices 3320 may enable the processor 3310 to communicate with the Internet or one or more telecommunications networks or other networks from which the processor 3310 might receive information or to which the processor 3310 might output information. The network connectivity devices 3320 might also include one or more transceiver components 3325 capable of transmitting and/or receiving data wirelessly.
The RAM 3330 might be used to store volatile data and perhaps to store instructions that are executed by the processor 3310. The ROM 3340 is a non-volatile memory device that typically has a smaller memory capacity than the memory capacity of the secondary storage 3350. ROM 3340 might be used to store instructions and perhaps data that are read during execution of the instructions. Access to both RAM 3330 and ROM 3340 is typically faster than to secondary storage 3350. The secondary storage 3350 is typically comprised of one or more disk drives or tape drives and might be used for non-volatile storage of data or as an over-flow data storage device if RAM 3330 is not large enough to hold all working data. Secondary storage 3350 may be used to store programs that are loaded into RAM 3330 when such programs are selected for execution.
The I/O devices 3360 may include liquid crystal displays (LCDs), touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, printers, video monitors, or other well-known input/output devices. Also, the transceiver 3325 might be considered to be a component of the I/O devices 3360 instead of or in addition to being a component of the network connectivity devices 3320.
The following are incorporated herein by reference for all purposes: 3GPP TS TS 24.379, 3GPP TS 23.271, 3GPP TS 23.468, 3GPP TS 23.179, 3GPP TS 23.379, 3GPP TS 23.280, 3GPP TS 23.281, 3GPP TS 23.282, 3GPP TS 26.346, 3GPP TS 22.280, 3GPP TS 22.281, 3GPP TS 22.179, 3GPP TS 22.282, 3GPP TS 36.300, 3GPP TS 23.246, 3GPP TS 33.220, IETF RFC 5996, IETF RFC 7651, OMA SUPL, OMA-TS-DM_Server Delegation_Protocol-V1_3-20121009-C.
In an embodiment, a method for providing application data is provided. The method includes a network node receiving at least one application identifier (App-ID) associated with at least a first user equipment (UE) and a second UE, and requesting to receive notifications of updates to application data associated with the at least one App-ID. The method also includes the network node configuring a broadcast entity to transmit application data associated with the at least one App-ID, and the network node sending configuration data to the first and second UEs for receiving application data from the broadcast entity.
In another embodiment, a network node is provided. The network node comprises a memory comprising instructions and a processor coupled to the memory. The processor is configured to execute the instructions such that the network node receives at least one application identifier (App-ID) associated with at least a first user equipment (UE) and a second UE; requests to receive notifications of updates to application data associated with the at least one App-ID; configures a broadcast entity to transmit application data associated with the at least one App-ID; and sends the first and second UEs configuration data for receiving application data from the broadcast entity.
In yet another embodiment, a computer-readable medium is provided. The computer-readable medium comprises instructions that, when executed by a processor cause a network node to implement a method. The method includes the network node receiving at least one application identifier (App-ID) associated with at least a first user equipment (UE) and a second UE, and requesting to receive notifications of updates to application data associated with the at least one App-ID. The method also includes the network node configuring a broadcast entity to transmit application data associated with the at least one App-ID, and the network node sending configuration data to the first and second UEs for receiving application data from the broadcast entity.
While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods may be embodied in many other specific forms without departing from the scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
Also, techniques, systems, subsystems and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component, whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.
Buckley, Adrian, Russell, Nicholas James, Barrett, Stephen John
Patent | Priority | Assignee | Title |
10555202, | Feb 20 2019 | Oracle International Corporation | Methods, systems, and computer readable media for monitoring internet of things (IoT) device state through service capability exposure function (SCEF) |
10742744, | Apr 08 2019 | Oracle International Corporation | Methods, systems, and computer readable media for monitoring lightweight machine to machine (LWM2M) internet of things (IoT) devices through service capability exposure funtion (SCEF) T8 interface |
10819636, | Jun 26 2019 | Oracle International Corporation | Methods, systems, and computer readable media for producer network function (NF) service instance wide egress rate limiting at service communication proxy (SCP) |
10945120, | Feb 27 2019 | Oracle International Corporation | Methods, systems, and computer readable media for dynamically provisioning and using public land mobile network (PLMN) location mappings in service capability exposure function (SCEF) or network exposure function (NEF) |
10972368, | May 17 2019 | Oracle International Corporation | Methods, systems, and computer readable media for providing reduced signaling internet of things (IoT) device monitoring |
11381955, | Jul 17 2020 | Oracle International Corporation | Methods, systems, and computer readable media for monitoring machine type communications (MTC) device related information |
11438447, | Jul 03 2018 | TELEFONAKTIEBOLAGET LM ERICSSON PUBL | First node, communication device, and methods performed thereby for handling positioning information |
11895080, | Jun 23 2021 | Oracle International Corporation | Methods, systems, and computer readable media for resolution of inter-network domain names |
Patent | Priority | Assignee | Title |
8578005, | Aug 13 2008 | Sprint Spectrum LLC | Systems and methods for providing update notifications to mobile devices using mobile-IP extensions |
20120221739, | |||
20120263089, | |||
20140227976, | |||
20170150332, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 09 2017 | BlackBerry Limited | (assignment on the face of the patent) | / | |||
Jul 28 2017 | BARRETT, STEPHEN JOHN | BLACKBERRY UK LIMITED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043900 | /0241 | |
Aug 07 2017 | RUSSELL, NICHOLAS JAMES | BLACKBERRY UK LIMITED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043900 | /0241 | |
Sep 01 2017 | BUCKLEY, ADRIAN | BlackBerry Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043900 | /0185 | |
Sep 14 2017 | BLACKBERRY UK LIMITED | BlackBerry Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043623 | /0512 | |
Sep 14 2017 | BlackBerry Corporation | BlackBerry Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043623 | /0467 | |
Mar 20 2023 | BlackBerry Limited | OT PATENT ESCROW, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 063471 | /0474 | |
Mar 20 2023 | BlackBerry Limited | OT PATENT ESCROW, LLC | CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT | 064806 | /0669 | |
May 11 2023 | OT PATENT ESCROW, LLC | Malikie Innovations Limited | NUNC PRO TUNC ASSIGNMENT SEE DOCUMENT FOR DETAILS | 064015 | /0001 | |
May 11 2023 | OT PATENT ESCROW, LLC | Malikie Innovations Limited | CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT | 064807 | /0001 | |
May 11 2023 | BlackBerry Limited | Malikie Innovations Limited | NUNC PRO TUNC ASSIGNMENT SEE DOCUMENT FOR DETAILS | 064066 | /0001 |
Date | Maintenance Fee Events |
Feb 06 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 06 2022 | 4 years fee payment window open |
Feb 06 2023 | 6 months grace period start (w surcharge) |
Aug 06 2023 | patent expiry (for year 4) |
Aug 06 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 06 2026 | 8 years fee payment window open |
Feb 06 2027 | 6 months grace period start (w surcharge) |
Aug 06 2027 | patent expiry (for year 8) |
Aug 06 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 06 2030 | 12 years fee payment window open |
Feb 06 2031 | 6 months grace period start (w surcharge) |
Aug 06 2031 | patent expiry (for year 12) |
Aug 06 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |