Systems and methods for performing load balancing and message routing for short message peer to peer protocol

US9538345B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9538345-B2
Application numberUS-201514607854-A
CountryUS
Kind codeB2
Filing dateJan 28, 2015
Priority dateJan 28, 2015
Publication dateJan 3, 2017
Grant dateJan 3, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present disclosure is directed to systems and methods for performing load balancing and message routing by a device intermediary to a plurality of short message peer to peer (SMPP) clients and a plurality of SMPP servers. The device can receive a request from an SMPP client to establish an SMPP session, replace a first sequence identifier in the request with a second sequence identifier generated by the device, and store a mapping of the second sequence identifier to the first sequence identifier. The device can select an SMPP server to forward the request with the second sequence identifier and receive a response from the SMPP server with the second sequence identifier. The device can identify, from the mapping, the first sequence identifier and the connection to the SMPP client using the second sequence identifier to forward the SMPP response with the first sequence identifier.

First claim

Opening claim text (preview).

What is claimed: 1. A method for performing load balancing and message routing by an intermediary device, the method comprising: receiving, by a device intermediary to a plurality of short message peer to peer (SMPP) clients and a plurality of SMPP servers, a request from an SMPP client to establish an SMPP session, the request including a first sequence identifier of the SMPP client; replacing, by the device, the first sequence identifier in the request with a second sequence identifier generated by the device; the device storing a mapping of the second sequence identifier to the first sequence identifier and a connection between the device and the SMPP client; selecting, by the device based on at least utilization of the plurality of SMPP servers, an SMPP server from the plurality of SMPP servers to forward the request with the second sequence identifier; receiving, by the device, a response from the SMPP server with the second sequence identifier; and identifying, by the device, from the mapping, the first sequence identifier and the connection to the SMPP client using the second sequence identifier to forward the SMPP response with the first sequence identifier. 2. The method of claim 1 , further comprising: receiving, by the device, an SMPP message from the SMPP client; identifying, by the device, from the mapping, the SMPP server from the plurality of SMPP servers and a second connection to the SMPP server; and forwarding, by the device, the SMPP message to the SMPP server. 3. The method of claim 2 , wherein identifying the connection to the SMPP server further comprises re-using an existing connection to the SMPP sever or establishing a new connection to the SMPP server. 4. The method of claim 2 , further comprising: receiving, by the device, a modification request from the SMPP client to modify a status of the SMPP message, the modification request including an SMPP message identifier; identifying, by the device, from the mapping, the SMPP server that received the SMPP message using the SMPP message identifier; and forwarding, by the device, the modification request to the SMPP server. 5. The method of claim 4 , wherein the modification request includes at least one of: cancel the SMPP message, replace the SMPP message, or request a status update for the SMPP message. 6. The method of claim 1 , further comprising: receiving, by the device, a first packet of an SMPP message, wherein the SMPP message includes a plurality of packets and each packet includes an SMPP message identifier; establishing, by the device, an entry in the mapping for the SMPP message; selecting, by the device, the SMPP server from the plurality of SMPP servers based on the utilization of the plurality of SMPP servers; and forwarding, by the device, the first packet of the SMPP message to the selected SMPP server. 7. The method of claim 6 , further comprising: receiving, by the device, a second packet of the SMPP message, wherein the second packet of the SMPP message includes the SMPP message identifier; identifying, by the device, from the mapping, the SMPP server using the SMPP message identifier and the second connection to the SMPP server; and forwarding, by the device, the second packet of the SMPP message to the SMPP server. 8. The method of claim 1 , further comprising: receiving, by the device, an SMPP message from the SMPP server, the SMPP message including a destination address; identifying, by the device, a cluster of SMPP clients based on an address range of the cluster; selecting, by the device, the SMPP client in the cluster; and forwarding, by the device, the SMPP message to the SMPP client in the cluster. 9. The method of claim 8 , further comprising: queuing, by the device, the SMPP message until the SMPP client of the plurality of SMPP clients with an address range corresponding to the destination address is available. 10. A system for performing load balancing and message routing by an intermediary device, the system comprising: a device intermediary to a plurality of short message peer to peer (SMPP) clients and a plurality of SMPP servers, the device configured to: receive a request from an SMPP client to establish an SMPP session, the request including a first sequence identifier of the SMPP client; replace the first sequence identifier in the request with a second sequence identifier generated by the device; the device storing a mapping of the second sequence identifier to the first sequence identifier and a connection between the device and the SMPP client; select an SMPP server from the plurality of SMPP servers to forward the request with the second sequence identifier based on at least utilization of the plurality of SMPP servers; receive a response from the SMPP server with the second sequence identifier; and identify, from the mapping, the first sequence identifier and the connection to the SMPP client using the second sequence identifier to forward the SMPP response with the first sequence identifier. 11. The system of claim 10 , wherein the device is further configured to: receive an SMPP message from the SMPP client; identify from the mapping, the SMPP server from the plurality of SMPP servers and a second connection to the SMPP server; and forward the SMPP message to the SMPP server. 12. The system of claim 11 , wherein the device is further configured to re-use an existing connection to the SMPP sever or establish a new connection to the SMPP server. 13. The system of claim 11 , wherein the device is further configured to: receive a modification request from the SMPP client to modify a status of the SMPP message, the modification request including an SMPP message identifier; identify from the mapping, the SMPP server that received the SMPP message using the SMPP message identifier; and forward the modification request to the SMPP server. 14. The system of claim 13 , wherein the modification request includes at least one of: cancel the SMPP message, replace the SMPP message, or request a status update for the SMPP message. 15. The system of claim 10 , wherein the device is further configured to: receive a first packet of an SMPP message, wherein the SMPP message includes a plurality of packets and each packet includes an SMPP message identifier; establish an entry in the mapping for the SMPP message; select the SMPP server from the plurality of SMPP servers based on the utilization of the plurality of SMPP servers; and forward the first packet of the SMPP message to the selected SMPP server. 16. The system of claim 15 , wherein the device is further configured to: receive a second packet of the SMPP message, wherein the second packet of the SMPP message includes the SMPP message identifier; identify, from the mapping, the SMPP server using the SMPP message identifier and the second connection to the SMPP server; and forward the second packet of the SMPP message to the SMPP server. 17. The system of claim 10 , wherein the device is further configured to: receive an SMPP message from the SMPP server, the SMPP message including a destination address; identify a cluster of SMPP clients based on an address range of the cluster; select the SMPP client in the cluster; and forward the SMPP message to the SMPP client in the cluster. 18. The system of claim 17 , wherein the device is further configured to: queuing, by the device, the SMPP message until the SMPP client of the plurality of SMPP clients with an address range corresponding to the destination address is available.

Assignees

Inventors

Classifications

  • Load balancing or load distribution (transferring a connection for handling the traffic H04W36/22; wireless traffic scheduling H04W72/12) · CPC title

  • Electricity · mapped topic

  • H04W4/14Primary

    Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD] · CPC title

  • to or through Device to Device [D2D] links, e.g. direct-mode links · CPC title

  • Message addressing, e.g. address format or anonymous messages, aliases · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9538345B2 cover?
The present disclosure is directed to systems and methods for performing load balancing and message routing by a device intermediary to a plurality of short message peer to peer (SMPP) clients and a plurality of SMPP servers. The device can receive a request from an SMPP client to establish an SMPP session, replace a first sequence identifier in the request with a second sequence identifier gen…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04W4/14. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 03 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).