Backend polling based on nonzero SIP subscribe expiration
AssigneeT-Mobile USA, Inc.
InventorsHsin-Fu Henry Chiang, Adrian Synal
Life of this patent
Estimating the term…
Abstract
Methods and computing systems may cause SIP backend polling based on nonzero SIP subscribe expiration. A SIP server receives from a SIP client a Session Initiation Protocol (SIP) subscribe message indicating a nonzero expiration time. Based at least on receipt of the subscribe message indicating a nonzero expiration time, the SIP server initiates a backend polling session to a backend server. The SIP server receives, via the backend polling session, state information and provides the state information to the SIP client.
Claims16
A computing system comprising:
- one or more processors;
- memory;
- and
- one or more program modules stored on the memory and executable by the one or more processors to:
- receive from a computing device a Session Initiation Protocol (SIP) subscribe message, the SIP subscribe message indicating a nonzero expiration time and requesting state information;
- determine at least one backend server, of a plurality of backend servers, the at least one backend server being determined based at least in part on the requested state information included in the SIP subscribe message indicating the nonzero expiration time;
- determine to utilize a backend polling mechanism with the at least one backend server based at least on:
- i) the nonzero expiration time being less than or equal to a predetermined expiration threshold, the predetermined expiration threshold being determined by a machine learning algorithm that utilizes a likelihood of not receiving updates to an initial state information as a criteria to determine the predetermined expiration threshold, and ii) a first characteristic of the computing device matching at least one of a second characteristic of a predetermined list of characteristics, the first characteristic of the computing device including at least one of a computing device operating system type, a computing device operating system version, or a computing device manufacturer, wherein a SIP polling subscribe message indicating a zero expiration time is transmitted to the at least one backend server when utilizing the backend polling mechanism;
- transmit to the at least one backend server the SIP polling subscribe message indicating the zero expiration time to obtain the requested state information one-time;
- receive the requested state information from the at least one backend server;
- and
- provide the requested state information to the computing device.
A method of operating a server, the method comprising:
- receiving from a Session Initiation Protocol (SIP) client a SIP subscribe message, the SIP subscribe message indicating a nonzero expiration time and requesting state information;
- determining at least one backend server, of a plurality of backend servers, the at least one backend server being determined based at least in part on requested state information included in the SIP subscribe message indicating the nonzero expiration time;
- determining to initiate a backend polling session to a with the at least one backend server based at least on:
- i) the nonzero expiration time being less than or equal to a predetermined threshold time, the predetermined threshold time being determined by a machine learning algorithm that utilizes a likelihood of not receiving updates to an initial state information as a criteria to determine the predetermined threshold time, and ii) a first characteristic of the SIP client matching at least one of a second characteristic of a predetermined list of characteristics, the first characteristic of the SIP client including at least one of a client device operating system type, a client device operating system version, or a client device manufacturer, wherein a SIP polling subscribe message indicating a zero expiration time is transmitted to the at least one backend server to initiate the backend polling session;
- transmitting to the at least one backend server the SIP polling subscribe message indicating the zero expiration time to obtain the requested state information one-time;
- receiving, via the backend polling session, the requested state information;
- and
- providing the requested state information to the SIP client.
Non-transitory computer-readable media storing instructions executable by one or more processors to perform acts comprising:
- receiving a request from a client device to establish a Session Initiation Protocol (SIP) subscription, the request indicating a session timeout greater than zero and requesting state information;
- establishing the SIP subscription with the client device;
- determining at least one backend server, of a plurality of backend servers, the at least one backend server being determined based at least in part on the requested state information included in the request indicating a session timeout greater than zero;
- determining to initiate, with the at least one backend server, a backend polling subscription having a timeout equal to zero based at least on:
- i) the session timeout greater than zero being less than or equal to a predetermined expiration threshold, the predetermined expiration threshold being determined by a machine learning algorithm that utilizes a likelihood of not receiving updates to an initial state information as a criteria to determine the predetermined expiration threshold, and ii) a first characteristic of the client device matching at least one of a second characteristic of a predetermined list of characteristics, the first characteristic of the client device including at least one of a client device operating system type, a client device operating system version, a model number of the client device, or a client device manufacturer, wherein a SIP polling subscribe message indicating the timeout equal to zero is transmitted to the at least one backend server to initiate the backend polling subscription;
- transmitting to the at least one backend server the SIP polling subscribe message indicating the timeout equal to zero to obtain the requested state information one-time;
- obtaining the requested state information from the at least one backend server;
- and
- providing, to the client device via the SIP subscription, the requested state information obtained from the at least one backend server via the backend polling subscription.
Dependencies are inferred from the claim text.