Service plan design, user interfaces, application programming interfaces, and device management
There is provided a network message server configured to establish a secure network data connection between the network message server and a mobile end-user device, the secure network data connection supported by a socket including a socket identifier (ID) having at least one of a port address or a port number, receive a request to transmit data to one of a plurality of mobile applications a the mobile end-user device, the request including a device ID corresponding to the mobile end-user device and one of a plurality of mobile application IDs corresponding to the one of the plurality of mobile applications, and generate a network data message based on the request, the network data message including application data and the one of the plurality of mobile application IDs corresponding to the one of the plurality of mobile applications.
1 . A network message server comprising:
one or more hardware processors configured to:
establish a first network data connection between the network message server and a network application server;
establish a second network data connection between the network message server and a mobile end-user device, the second network data connection supported by a socket including a socket identifier (ID) having at least one of a port address or a port number;
register, by the network message server, a device ID for the mobile end-user device;
register, by the network message server, a plurality of mobile application IDs each having a corresponding one of a plurality of mobile applications of the mobile end-user device, wherein each of the plurality of mobile application IDs uniquely identifies the corresponding one of the plurality of mobile applications;
receive, by the network message server from the network application server via the first network data connection, a push request to push an application update to one of the plurality of mobile applications of the mobile end-user device without the mobile end-user device requesting the application update for the one of the plurality of mobile applications, the push request including the device ID corresponding to the mobile end-user device and one of the plurality of mobile application IDs corresponding to the one of the plurality of mobile applications;
generate, by the network message server, a network data message based on the push request, the network data message including the application update and the one of the plurality of mobile application IDs corresponding to the one of the plurality of mobile applications; and
transmit, by the network message server for delivery to the mobile end-user device corresponding to the device ID, via the second network data connection supported by the socket, the network data message including the application update and the one of the plurality of mobile application IDs.
2 . The network message server of claim 1 , wherein the one or more hardware processors are further configured to:
map, by the network message server and in response to the request, the device ID to the mobile end-user device, and the one of the plurality of mobile application IDs to the corresponding one of the plurality of mobile applications; and
cause, by the network message server, the corresponding one of the plurality of mobile applications to be updated using the application update.
3 . The network message server of claim 1 , wherein each of the plurality of mobile application IDs uniquely identifies, in an application layer, the corresponding one of the plurality of mobile applications.
4 . The network message server of claim 1 , wherein the one or more hardware processors are further configured to:
provide, by the network message server to the network application server, the device ID and at least one of the plurality of mobile application IDs.
5 . The network message server of claim 1 , wherein the one or more hardware processors are further configured to:
receive, by the network message server from the network application server, a second push request to push a second application update to a second one of the plurality of mobile applications of the mobile end-user device without the mobile end-user device requesting the application update for the second one of the plurality of mobile applications, the second push request including the device ID corresponding to the mobile end-user device and a second one of the plurality of mobile application IDs corresponding to the second one of the plurality of mobile applications;
generate, by the network message server, a second network data message based on the second push request, the second network data message including the second application update and the second one of the plurality of mobile application IDs corresponding to the second one of the plurality of mobile applications; and
transmit, by the network message server for delivery to the mobile end-user device corresponding to the device ID, via the second network data connection supported by the socket, the second network data message including the second application update and the second one of the plurality of mobile application IDs.
6 . The network message server of claim 1 , wherein the one or more hardware processors are further configured to:
register, by the network message server, a network application server ID for the network application server.
7 . The network message server of claim 6 , wherein transmitting the network data message for delivery to the mobile end-user device includes transmitting (i) the network data message, and (ii) the device identifier corresponding to the mobile end-user device, to the network application server corresponding to the network application server ID.
8 . The network message server of claim 6 , wherein the one or more hardware processors are further configured to:
map, by the network message server in response to the request, the network application server ID to the network application server.
9 . The network message server of claim 1 , wherein the plurality of mobile applications include a first mobile application that receives the application update in a first format, and a second mobile application that receives the application update in a second format different from the first format.
10 . The network message server of claim 1 , wherein the one or more hardware processors are further configured to:
buffer, by the network message server, multiple requests, including the request, before transmitting network data messages to mobile end-user devices, including transmitting the network data message to the mobile end-user device.
11 . A method for use by a network message server, the method comprising:
establishing a first network data connection between the network message server and a network application server;
establishing a second network data connection between the network message server and a mobile end-user device, the second network data connection supported by a socket including a socket identifier (ID) having at least one of a port address or a port number;
registering, by the network message server, a device ID for the mobile end-user device;
registering, by the network message server, a plurality of mobile application IDs each having a corresponding one of a plurality of mobile applications of the mobile end-user device, wherein each of the plurality of mobile application IDs uniquely identifies the corresponding one of the plurality of mobile applications;
receiving, by the network message server from the network application server via the first network data connection, a push request to push an application update to one of the plurality of mobile applications of the mobile end-user device without the mobile end-user device requesting the application update for the one of the plurality of mobile applications, the push request including the device ID corresponding to the mobile end-user device and one of the plurality of mobile application IDs corresponding to the one of the plurality of mobile applications;
generating, by the network message server, a network data message based on the push request, the network data message including the application update and the one of the plurality of mobile application IDs corresponding to the one of the plurality of mobile applications; and
transmitting, by the network message server for delivery to the mobile end-user device corresponding to the device ID, via the second network data connection supported by the socket, the network data message including the application update and the one of the plurality of mobile application IDs.
12 . The method of claim 11 , further comprising:
mapping, by the network message server and in response to the request, the device ID to the mobile end-user device, and the one of the plurality of mobile application IDs to the corresponding one of the plurality of mobile applications; and
causing, by the network message server, the corresponding one of the plurality of mobile applications to be updated using the application update.
13 . The method of claim 11 , wherein each of the plurality of mobile application IDs uniquely identifies, in an application layer, the corresponding one of the plurality of mobile applications.
14 . The method of claim 11 , further comprising:
providing, by the network message server to the network application server, the device ID and at least one of the plurality of mobile application IDs.
15 . The method of claim 14 , further comprising:
receiving, by the network message server from the network application server, a second push request to push a second application update to a second one of the plurality of mobile applications of the mobile end-user device without the mobile end-user device requesting the application update for the second one of the plurality of mobile applications, the second push request including the device ID corresponding to the mobile end-user device and a second one of the plurality of mobile application IDs corresponding to the second one of the plurality of mobile applications;
generating, by the network message server, a second network data message based on the second push request, the second network data message including the second application update and the second one of the plurality of mobile application IDs corresponding to the second one of the plurality of mobile applications; and
transmitting, by the network message server for delivery to the mobile end-user device corresponding to the device ID, via the second network data connection supported by the socket, the second network data message including the second application update and the second one of the plurality of mobile application IDs.
16 . The method of claim 11 , further comprising:
registering, by the network message server, a network application server ID for the network application server.
17 . The method of claim 16 , wherein transmitting the network data message for delivery to the mobile end-user device includes transmitting (i) the network data message, and (ii) the device identifier corresponding to the mobile end-user device, to the network application server corresponding to the network application server ID.
18 . The method of claim 16 , further comprising:
mapping, by the network message server in response to the request, the network application server ID to the network application server.
19 . The method of claim 11 , wherein the plurality of mobile applications include a first mobile application that receives the application update in a first format, and a second mobile application that receives the application update in a second format different from the first format.
20 . The method of claim 11 , further comprising:
buffering, by the network message server, multiple requests, including the request, before transmitting network data messages to mobile end-user devices, including transmitting the network data message to the mobile end-user device.